From 15c2de440773fef9d91d7aa5e4121d09c1698392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Mon, 15 May 2023 17:39:11 +0200 Subject: [PATCH 001/146] crypto: fix setEngine() when OPENSSL_NO_ENGINE set When OpenSSL is configured with OPENSSL_NO_ENGINE, setEngine() currently throws an internal error because the C++ binding does not export the relevant function, which causes _setEngine() to be undefined within JS. Instead, match the behavior of tls/secure-context.js and throw the existing error code ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED when OpenSSL has been configured with OPENSSL_NO_ENGINE. PR-URL: https://github.com/nodejs/node/pull/47977 Reviewed-By: Ben Noordhuis Reviewed-By: Filip Skokan Reviewed-By: Luigi Pinca Reviewed-By: Richard Lau --- lib/internal/crypto/util.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/internal/crypto/util.js b/lib/internal/crypto/util.js index 8838226c591785..cf044e804ad05a 100644 --- a/lib/internal/crypto/util.js +++ b/lib/internal/crypto/util.js @@ -44,6 +44,7 @@ const normalizeHashName = require('internal/crypto/hashnames'); const { hideStackFrames, codes: { + ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED, ERR_CRYPTO_ENGINE_UNKNOWN, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, @@ -105,6 +106,8 @@ function setEngine(id, flags) { if (flags === 0) flags = ENGINE_METHOD_ALL; + if (typeof _setEngine !== 'function') + throw new ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED(); if (!_setEngine(id, flags)) throw new ERR_CRYPTO_ENGINE_UNKNOWN(id); } From 9e381cfa890778f7241518dcfc0feca60d9a7d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Mon, 15 May 2023 19:41:29 +0200 Subject: [PATCH 002/146] doc: add heading for permission model limitations These limitations are not specific to the file system, so they should not be listed in the "File System Permissions" section. PR-URL: https://github.com/nodejs/node/pull/47989 Reviewed-By: Rafael Gonzaga Reviewed-By: Mestery Reviewed-By: Deokjin Kim Reviewed-By: Luigi Pinca --- doc/api/permissions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/api/permissions.md b/doc/api/permissions.md index cc899d418f3414..e29cbc7580e75d 100644 --- a/doc/api/permissions.md +++ b/doc/api/permissions.md @@ -539,6 +539,8 @@ Wildcards are supported too: * `--allow-fs-read=/home/test*` will allow read access to everything that matches the wildcard. e.g: `/home/test/file1` or `/home/test2` +#### Limitations and known issues + There are constraints you need to know before using this system: * Native modules are restricted by default when using the Permission Model. From ac8dd61fc34ebcd44ff7485316b776ad4dc42bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Tue, 16 May 2023 03:22:33 +0200 Subject: [PATCH 003/146] crypto: remove default encoding from cipher Refs: https://github.com/nodejs/node/pull/47182 PR-URL: https://github.com/nodejs/node/pull/47998 Reviewed-By: Filip Skokan Reviewed-By: Luigi Pinca --- lib/internal/crypto/cipher.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/internal/crypto/cipher.js b/lib/internal/crypto/cipher.js index 69be334b7e9748..a2b560d1382418 100644 --- a/lib/internal/crypto/cipher.js +++ b/lib/internal/crypto/cipher.js @@ -45,7 +45,6 @@ const { } = require('internal/crypto/keys'); const { - getDefaultEncoding, getArrayBufferOrView, getStringOption, kHandle, @@ -172,10 +171,6 @@ Cipher.prototype._flush = function _flush(callback) { }; Cipher.prototype.update = function update(data, inputEncoding, outputEncoding) { - const encoding = getDefaultEncoding(); - inputEncoding = inputEncoding || encoding; - outputEncoding = outputEncoding || encoding; - if (typeof data === 'string') { validateEncoding(data, inputEncoding); } else if (!isArrayBufferView(data)) { @@ -195,7 +190,6 @@ Cipher.prototype.update = function update(data, inputEncoding, outputEncoding) { Cipher.prototype.final = function final(outputEncoding) { - outputEncoding = outputEncoding || getDefaultEncoding(); const ret = this[kHandle].final(); if (outputEncoding && outputEncoding !== 'buffer') { From 3b94a739f2c1329ab40e3bf038633f15b164c933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Tue, 16 May 2023 11:32:17 +0200 Subject: [PATCH 004/146] doc: clarify CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED The error is not necessarily due to a client certificate engine. For example, the `privateKeyEngine` option might just as well cause this error and is independent of the client certificate. Also mention that this is likely due to a compile-time option of OpenSSL itself and not due to any particular engine. PR-URL: https://github.com/nodejs/node/pull/47976 Reviewed-By: Luigi Pinca Reviewed-By: Ben Noordhuis --- doc/api/errors.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/api/errors.md b/doc/api/errors.md index 642d2445e53931..c0952792727e53 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -861,8 +861,9 @@ size is reached when the context is created. ### `ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED` -A client certificate engine was requested that is not supported by the version -of OpenSSL being used. +An OpenSSL engine was requested (for example, through the `clientCertEngine` or +`privateKeyEngine` TLS options) that is not supported by the version of OpenSSL +being used, likely due to the compile-time flag `OPENSSL_NO_ENGINE`. From 2f5dbca690b04a529fe97f8230060bd8f5022233 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Tue, 16 May 2023 11:20:08 +0000 Subject: [PATCH 005/146] doc: mark Node.js 14 as End-of-Life MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48023 Reviewed-By: Moshe Atlow Reviewed-By: Antoine du Hamel Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Yagiz Nizipli Reviewed-By: Matthew Aitken Reviewed-By: Qingyu Deng Reviewed-By: Daeyeon Jeong Reviewed-By: Darshan Sen Reviewed-By: Tobias Nießen Reviewed-By: Deokjin Kim Reviewed-By: Michaël Zasso --- CHANGELOG.md | 51 +-------------------------------------------------- 1 file changed, 1 insertion(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 857c54ddd8fce3..208d8a5d499f92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ Select a Node.js version below to view the changelog history: * [Node.js 17](doc/changelogs/CHANGELOG_V17.md) End-of-Life * [Node.js 16](doc/changelogs/CHANGELOG_V16.md) **Long Term Support** * [Node.js 15](doc/changelogs/CHANGELOG_V15.md) End-of-Life -* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) Long Term Support +* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) End-of-Life * [Node.js 13](doc/changelogs/CHANGELOG_V13.md) End-of-Life * [Node.js 12](doc/changelogs/CHANGELOG_V12.md) End-of-Life * [Node.js 11](doc/changelogs/CHANGELOG_V11.md) End-of-Life @@ -33,7 +33,6 @@ release. 19 (Current) 18 (LTS) 16 (LTS) - 14 (LTS) @@ -115,54 +114,6 @@ release. 16.1.0
16.0.0
- -14.21.3
-14.21.2
-14.21.1
-14.21.0
-14.20.1
-14.20.0
-14.19.3
-14.19.2
-14.19.1
-14.19.0
-14.18.3
-14.18.2
-14.18.1
-14.18.0
-14.17.6
-14.17.5
-14.17.4
-14.17.3
-14.17.2
-14.17.1
-14.17.0
-14.16.1
-14.16.0
-14.15.5
-14.15.4
-14.15.3
-14.15.2
-14.15.1
-14.15.0
-14.14.0
-14.13.1
-14.13.0
-14.12.0
-14.11.0
-14.10.1
-14.10.0
-14.9.0
-14.8.0
-14.7.0
-14.6.0
-14.5.0
-14.4.0
-14.3.0
-14.2.0
-14.1.0
-14.0.0
- From 7660eb591ab923a7096ca0d02522e8415456e32c Mon Sep 17 00:00:00 2001 From: Deokjin Kim Date: Tue, 16 May 2023 23:26:17 +0900 Subject: [PATCH 006/146] doc: fix typo in binding functions According to usage(node::util::RegisterExternalReferences) of below line, namespace has to be `util`(not `utils`). PR-URL: https://github.com/nodejs/node/pull/48003 Reviewed-By: Darshan Sen Reviewed-By: Daeyeon Jeong Reviewed-By: Harshitha K P Reviewed-By: Luigi Pinca --- src/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/README.md b/src/README.md index bcd6b6e8ccc4d9..2333a90fa04b10 100644 --- a/src/README.md +++ b/src/README.md @@ -432,7 +432,7 @@ with the utilities in `node_external_reference.h`, like this: ```cpp namespace node { -namespace utils { +namespace util { void RegisterExternalReferences(ExternalReferenceRegistry* registry) { registry->Register(GetHiddenValue); registry->Register(SetHiddenValue); From d1942417165d645ce4778b373927de671ab1aa30 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Tue, 16 May 2023 17:36:34 +0100 Subject: [PATCH 007/146] deps: update undici to 5.22.1 PR-URL: https://github.com/nodejs/node/pull/47994 Reviewed-By: Matthew Aitken Reviewed-By: Moshe Atlow Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Mestery --- deps/undici/src/docs/api/CacheStorage.md | 30 + deps/undici/src/docs/api/Errors.md | 32 +- deps/undici/src/docs/api/Fetch.md | 2 + deps/undici/src/docs/api/WebSocket.md | 29 +- deps/undici/src/index.d.ts | 2 + deps/undici/src/index.js | 7 + deps/undici/src/lib/cache/cache.js | 842 ++++++++++++++++++++ deps/undici/src/lib/cache/cachestorage.js | 144 ++++ deps/undici/src/lib/cache/symbols.js | 5 + deps/undici/src/lib/cache/util.js | 49 ++ deps/undici/src/lib/client.js | 15 +- deps/undici/src/lib/fetch/body.js | 10 +- deps/undici/src/lib/fetch/dataURL.js | 95 ++- deps/undici/src/lib/fetch/index.js | 2 +- deps/undici/src/lib/fetch/response.js | 5 +- deps/undici/src/lib/fetch/util.js | 3 +- deps/undici/src/lib/fetch/webidl.js | 7 + deps/undici/src/lib/websocket/connection.js | 14 +- deps/undici/src/lib/websocket/frame.js | 2 +- deps/undici/src/lib/websocket/websocket.js | 38 +- deps/undici/src/package.json | 8 +- deps/undici/src/types/cache.d.ts | 36 + deps/undici/src/types/errors.d.ts | 11 +- deps/undici/src/types/webidl.d.ts | 2 + deps/undici/src/types/websocket.d.ts | 10 +- deps/undici/undici.js | 98 ++- src/undici_version.h | 2 +- 27 files changed, 1422 insertions(+), 78 deletions(-) create mode 100644 deps/undici/src/docs/api/CacheStorage.md create mode 100644 deps/undici/src/lib/cache/cache.js create mode 100644 deps/undici/src/lib/cache/cachestorage.js create mode 100644 deps/undici/src/lib/cache/symbols.js create mode 100644 deps/undici/src/lib/cache/util.js create mode 100644 deps/undici/src/types/cache.d.ts diff --git a/deps/undici/src/docs/api/CacheStorage.md b/deps/undici/src/docs/api/CacheStorage.md new file mode 100644 index 00000000000000..08ee99fab148ce --- /dev/null +++ b/deps/undici/src/docs/api/CacheStorage.md @@ -0,0 +1,30 @@ +# CacheStorage + +Undici exposes a W3C spec-compliant implementation of [CacheStorage](https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage) and [Cache](https://developer.mozilla.org/en-US/docs/Web/API/Cache). + +## Opening a Cache + +Undici exports a top-level CacheStorage instance. You can open a new Cache, or duplicate a Cache with an existing name, by using `CacheStorage.prototype.open`. If you open a Cache with the same name as an already-existing Cache, its list of cached Responses will be shared between both instances. + +```mjs +import { caches } from 'undici' + +const cache_1 = await caches.open('v1') +const cache_2 = await caches.open('v1') + +// Although .open() creates a new instance, +assert(cache_1 !== cache_2) +// The same Response is matched in both. +assert.deepStrictEqual(await cache_1.match('/req'), await cache_2.match('/req')) +``` + +## Deleting a Cache + +If a Cache is deleted, the cached Responses/Requests can still be used. + +```mjs +const response = await cache_1.match('/req') +await caches.delete('v1') + +await response.text() // the Response's body +``` diff --git a/deps/undici/src/docs/api/Errors.md b/deps/undici/src/docs/api/Errors.md index fba0e8c7cef126..917e45df9fc66d 100644 --- a/deps/undici/src/docs/api/Errors.md +++ b/deps/undici/src/docs/api/Errors.md @@ -7,19 +7,25 @@ You can find all the error objects inside the `errors` key. import { errors } from 'undici' ``` -| Error | Error Codes | Description | -| ------------------------------------ | ------------------------------------- | -------------------------------------------------- | -| `InvalidArgumentError` | `UND_ERR_INVALID_ARG` | passed an invalid argument. | -| `InvalidReturnValueError` | `UND_ERR_INVALID_RETURN_VALUE` | returned an invalid value. | -| `RequestAbortedError` | `UND_ERR_ABORTED` | the request has been aborted by the user | -| `ClientDestroyedError` | `UND_ERR_DESTROYED` | trying to use a destroyed client. | -| `ClientClosedError` | `UND_ERR_CLOSED` | trying to use a closed client. | -| `SocketError` | `UND_ERR_SOCKET` | there is an error with the socket. | -| `NotSupportedError` | `UND_ERR_NOT_SUPPORTED` | encountered unsupported functionality. | -| `RequestContentLengthMismatchError` | `UND_ERR_REQ_CONTENT_LENGTH_MISMATCH` | request body does not match content-length header | -| `ResponseContentLengthMismatchError` | `UND_ERR_RES_CONTENT_LENGTH_MISMATCH` | response body does not match content-length header | -| `InformationalError` | `UND_ERR_INFO` | expected error with reason | -| `ResponseExceededMaxSizeError` | `UND_ERR_RES_EXCEEDED_MAX_SIZE` | response body exceed the max size allowed | +| Error | Error Codes | Description | +| ------------------------------------ | ------------------------------------- | ------------------------------------------------------------------------- | +| `UndiciError` | `UND_ERR` | all errors below are extended from `UndiciError`. | +| `ConnectTimeoutError` | `UND_ERR_CONNECT_TIMEOUT` | socket is destroyed due to connect timeout. | +| `HeadersTimeoutError` | `UND_ERR_HEADERS_TIMEOUT` | socket is destroyed due to headers timeout. | +| `HeadersOverflowError` | `UND_ERR_HEADERS_OVERFLOW` | socket is destroyed due to headers' max size being exceeded. | +| `BodyTimeoutError` | `UND_ERR_BODY_TIMEOUT` | socket is destroyed due to body timeout. | +| `ResponseStatusCodeError` | `UND_ERR_RESPONSE_STATUS_CODE` | an error is thrown when `throwOnError` is `true` for status codes >= 400. | +| `InvalidArgumentError` | `UND_ERR_INVALID_ARG` | passed an invalid argument. | +| `InvalidReturnValueError` | `UND_ERR_INVALID_RETURN_VALUE` | returned an invalid value. | +| `RequestAbortedError` | `UND_ERR_ABORTED` | the request has been aborted by the user | +| `ClientDestroyedError` | `UND_ERR_DESTROYED` | trying to use a destroyed client. | +| `ClientClosedError` | `UND_ERR_CLOSED` | trying to use a closed client. | +| `SocketError` | `UND_ERR_SOCKET` | there is an error with the socket. | +| `NotSupportedError` | `UND_ERR_NOT_SUPPORTED` | encountered unsupported functionality. | +| `RequestContentLengthMismatchError` | `UND_ERR_REQ_CONTENT_LENGTH_MISMATCH` | request body does not match content-length header | +| `ResponseContentLengthMismatchError` | `UND_ERR_RES_CONTENT_LENGTH_MISMATCH` | response body does not match content-length header | +| `InformationalError` | `UND_ERR_INFO` | expected error with reason | +| `ResponseExceededMaxSizeError` | `UND_ERR_RES_EXCEEDED_MAX_SIZE` | response body exceed the max size allowed | ### `SocketError` diff --git a/deps/undici/src/docs/api/Fetch.md b/deps/undici/src/docs/api/Fetch.md index 0a5c3d096990c8..b5a62422a249b1 100644 --- a/deps/undici/src/docs/api/Fetch.md +++ b/deps/undici/src/docs/api/Fetch.md @@ -8,6 +8,8 @@ Documentation and examples can be found on [MDN](https://developer.mozilla.org/e This API is implemented as per the standard, you can find documentation on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/File) +In Node versions v18.13.0 and above and v19.2.0 and above, undici will default to using Node's [File](https://nodejs.org/api/buffer.html#class-file) class. In versions where it's not available, it will default to the undici one. + ## FormData This API is implemented as per the standard, you can find documentation on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/FormData) diff --git a/deps/undici/src/docs/api/WebSocket.md b/deps/undici/src/docs/api/WebSocket.md index 639a5333a1cae1..9d374f4046c4ed 100644 --- a/deps/undici/src/docs/api/WebSocket.md +++ b/deps/undici/src/docs/api/WebSocket.md @@ -1,17 +1,40 @@ # Class: WebSocket -> ⚠️ Warning: the WebSocket API is experimental and has known bugs. +> ⚠️ Warning: the WebSocket API is experimental. Extends: [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) -The WebSocket object provides a way to manage a WebSocket connection to a server, allowing bidirectional communication. The API follows the [WebSocket spec](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket). +The WebSocket object provides a way to manage a WebSocket connection to a server, allowing bidirectional communication. The API follows the [WebSocket spec](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) and [RFC 6455](https://datatracker.ietf.org/doc/html/rfc6455). ## `new WebSocket(url[, protocol])` Arguments: * **url** `URL | string` - The url's protocol *must* be `ws` or `wss`. -* **protocol** `string | string[]` (optional) - Subprotocol(s) to request the server use. +* **protocol** `string | string[] | WebSocketInit` (optional) - Subprotocol(s) to request the server use, or a [`Dispatcher`](./Dispatcher.md). + +### Example: + +This example will not work in browsers or other platforms that don't allow passing an object. + +```mjs +import { WebSocket, ProxyAgent } from 'undici' + +const proxyAgent = new ProxyAgent('my.proxy.server') + +const ws = new WebSocket('wss://echo.websocket.events', { + dispatcher: proxyAgent, + protocols: ['echo', 'chat'] +}) +``` + +If you do not need a custom Dispatcher, it's recommended to use the following pattern: + +```mjs +import { WebSocket } from 'undici' + +const ws = new WebSocket('wss://echo.websocket.events', ['echo', 'chat']) +``` ## Read More diff --git a/deps/undici/src/index.d.ts b/deps/undici/src/index.d.ts index d67de97241de3b..0730677b29e419 100644 --- a/deps/undici/src/index.d.ts +++ b/deps/undici/src/index.d.ts @@ -24,6 +24,7 @@ export * from './types/formdata' export * from './types/diagnostics-channel' export * from './types/websocket' export * from './types/content-type' +export * from './types/cache' export { Interceptable } from './types/mock-interceptor' export { Dispatcher, BalancedPool, Pool, Client, buildConnector, errors, Agent, request, stream, pipeline, connect, upgrade, setGlobalDispatcher, getGlobalDispatcher, setGlobalOrigin, getGlobalOrigin, MockClient, MockPool, MockAgent, mockErrors, ProxyAgent, RedirectHandler, DecoratorHandler } @@ -52,4 +53,5 @@ declare namespace Undici { var MockAgent: typeof import('./types/mock-agent').default; var mockErrors: typeof import('./types/mock-errors').default; var fetch: typeof import('./types/fetch').fetch; + var caches: typeof import('./types/cache').caches; } diff --git a/deps/undici/src/index.js b/deps/undici/src/index.js index 02ac246fa450cb..7e8831ceeea3ea 100644 --- a/deps/undici/src/index.js +++ b/deps/undici/src/index.js @@ -121,6 +121,13 @@ if (util.nodeMajor > 16 || (util.nodeMajor === 16 && util.nodeMinor >= 8)) { module.exports.setGlobalOrigin = setGlobalOrigin module.exports.getGlobalOrigin = getGlobalOrigin + + const { CacheStorage } = require('./lib/cache/cachestorage') + const { kConstruct } = require('./lib/cache/symbols') + + // 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. + module.exports.caches = new CacheStorage(kConstruct) } if (util.nodeMajor >= 16) { diff --git a/deps/undici/src/lib/cache/cache.js b/deps/undici/src/lib/cache/cache.js new file mode 100644 index 00000000000000..18f06a348a0a88 --- /dev/null +++ b/deps/undici/src/lib/cache/cache.js @@ -0,0 +1,842 @@ +'use strict' + +const { kConstruct } = require('./symbols') +const { urlEquals, fieldValues: getFieldValues } = require('./util') +const { kEnumerableProperty, isDisturbed } = require('../core/util') +const { kHeadersList } = require('../core/symbols') +const { webidl } = require('../fetch/webidl') +const { Response, cloneResponse } = require('../fetch/response') +const { Request } = require('../fetch/request') +const { kState, kHeaders, kGuard, kRealm } = require('../fetch/symbols') +const { fetching } = require('../fetch/index') +const { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util') +const assert = require('assert') +const { getGlobalDispatcher } = require('../global') + +/** + * @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 + */ + +/** + * @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list + * @typedef {[any, any][]} requestResponseList + */ + +class Cache { + /** + * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list + * @type {requestResponseList} + */ + #relevantRequestResponseList + + constructor () { + if (arguments[0] !== kConstruct) { + webidl.illegalConstructor() + } + + this.#relevantRequestResponseList = arguments[1] + } + + async match (request, options = {}) { + webidl.brandCheck(this, Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.match' }) + + request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + + const p = await this.matchAll(request, options) + + if (p.length === 0) { + return + } + + return p[0] + } + + async matchAll (request = undefined, options = {}) { + webidl.brandCheck(this, Cache) + + if (request !== undefined) request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + + // 1. + let 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] + } + } + + // 5. + // 5.1 + const responses = [] + + // 5.2 + if (request === undefined) { + // 5.2.1 + for (const requestResponse of this.#relevantRequestResponseList) { + responses.push(requestResponse[1]) + } + } else { // 5.3 + // 5.3.1 + const requestResponses = this.#queryCache(r, options) + + // 5.3.2 + for (const requestResponse of requestResponses) { + responses.push(requestResponse[1]) + } + } + + // 5.4 + // We don't implement CORs so we don't need to loop over the responses, yay! + + // 5.5.1 + const responseList = [] + + // 5.5.2 + for (const response of responses) { + // 5.5.2.1 + const responseObject = new Response(response.body?.source ?? null) + const body = responseObject[kState].body + responseObject[kState] = response + responseObject[kState].body = body + responseObject[kHeaders][kHeadersList] = response.headersList + responseObject[kHeaders][kGuard] = 'immutable' + + responseList.push(responseObject) + } + + // 6. + return Object.freeze(responseList) + } + + async add (request) { + webidl.brandCheck(this, Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.add' }) + + request = webidl.converters.RequestInfo(request) + + // 1. + const requests = [request] + + // 2. + const responseArrayPromise = this.addAll(requests) + + // 3. + return await responseArrayPromise + } + + async addAll (requests) { + webidl.brandCheck(this, Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.addAll' }) + + requests = webidl.converters['sequence'](requests) + + // 1. + const responsePromises = [] + + // 2. + const requestList = [] + + // 3. + for (const request of requests) { + if (typeof request === 'string') { + continue + } + + // 3.1 + const r = request[kState] + + // 3.2 + if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') { + throw webidl.errors.exception({ + header: 'Cache.addAll', + message: 'Expected http/s scheme when method is not GET.' + }) + } + } + + // 4. + /** @type {ReturnType[]} */ + const fetchControllers = [] + + // 5. + for (const request of requests) { + // 5.1 + const r = new Request(request)[kState] + + // 5.2 + if (!urlIsHttpHttpsScheme(r.url)) { + throw webidl.errors.exception({ + header: 'Cache.addAll', + message: 'Expected http/s scheme.' + }) + } + + // 5.4 + r.initiator = 'fetch' + r.destination = 'subresource' + + // 5.5 + requestList.push(r) + + // 5.6 + const responsePromise = createDeferredPromise() + + // 5.7 + fetchControllers.push(fetching({ + request: r, + dispatcher: getGlobalDispatcher(), + 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 + const fieldValues = getFieldValues(response.headersList.get('vary')) + + // 2.2 + for (const fieldValue of fieldValues) { + // 2.2.1 + if (fieldValue === '*') { + responsePromise.reject(webidl.errors.exception({ + header: 'Cache.addAll', + message: 'invalid vary field value' + })) + + for (const controller of fetchControllers) { + controller.abort() + } + + return + } + } + } + }, + processResponseEndOfBody (response) { + // 1. + if (response.aborted) { + responsePromise.reject(new DOMException('aborted', 'AbortError')) + return + } + + // 2. + responsePromise.resolve(response) + } + })) + + // 5.8 + responsePromises.push(responsePromise.promise) + } + + // 6. + const p = Promise.all(responsePromises) + + // 7. + const responses = await p + + // 7.1 + const operations = [] + + // 7.2 + let index = 0 + + // 7.3 + for (const response of responses) { + // 7.3.1 + /** @type {CacheBatchOperation} */ + const operation = { + type: 'put', // 7.3.2 + request: requestList[index], // 7.3.3 + response // 7.3.4 + } + + operations.push(operation) // 7.3.5 + + index++ // 7.3.6 + } + + // 7.5 + const cacheJobPromise = createDeferredPromise() + + // 7.6.1 + let errorData = null + + // 7.6.2 + try { + this.#batchCacheOperations(operations) + } catch (e) { + errorData = e + } + + // 7.6.3 + queueMicrotask(() => { + // 7.6.3.1 + if (errorData === null) { + cacheJobPromise.resolve(undefined) + } else { + // 7.6.3.2 + cacheJobPromise.reject(errorData) + } + }) + + // 7.7 + return cacheJobPromise.promise + } + + async put (request, response) { + webidl.brandCheck(this, Cache) + webidl.argumentLengthCheck(arguments, 2, { header: 'Cache.put' }) + + request = webidl.converters.RequestInfo(request) + response = webidl.converters.Response(response) + + // 1. + let innerRequest = null + + // 2. + if (request instanceof Request) { + innerRequest = request[kState] + } else { // 3. + innerRequest = new Request(request)[kState] + } + + // 4. + if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET') { + throw webidl.errors.exception({ + header: 'Cache.put', + message: 'Expected an http/s scheme when method is not GET' + }) + } + + // 5. + const innerResponse = response[kState] + + // 6. + if (innerResponse.status === 206) { + throw webidl.errors.exception({ + header: 'Cache.put', + message: 'Got 206 status' + }) + } + + // 7. + if (innerResponse.headersList.contains('vary')) { + // 7.1. + const fieldValues = getFieldValues(innerResponse.headersList.get('vary')) + + // 7.2. + for (const fieldValue of fieldValues) { + // 7.2.1 + if (fieldValue === '*') { + throw webidl.errors.exception({ + header: 'Cache.put', + message: 'Got * vary field value' + }) + } + } + } + + // 8. + if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { + throw webidl.errors.exception({ + header: 'Cache.put', + message: 'Response body is locked or disturbed' + }) + } + + // 9. + const clonedResponse = cloneResponse(innerResponse) + + // 10. + const bodyReadPromise = createDeferredPromise() + + // 11. + if (innerResponse.body != null) { + // 11.1 + const stream = innerResponse.body.stream + + // 11.2 + const reader = stream.getReader() + + // 11.3 + readAllBytes( + reader, + (bytes) => bodyReadPromise.resolve(bytes), + (error) => bodyReadPromise.reject(error) + ) + } else { + bodyReadPromise.resolve(undefined) + } + + // 12. + /** @type {CacheBatchOperation[]} */ + const operations = [] + + // 13. + /** @type {CacheBatchOperation} */ + const operation = { + type: 'put', // 14. + request: innerRequest, // 15. + response: clonedResponse // 16. + } + + // 17. + operations.push(operation) + + // 19. + const bytes = await bodyReadPromise.promise + + if (clonedResponse.body != null) { + clonedResponse.body.source = bytes + } + + // 19.1 + const cacheJobPromise = createDeferredPromise() + + // 19.2.1 + let errorData = null + + // 19.2.2 + try { + this.#batchCacheOperations(operations) + } catch (e) { + errorData = e + } + + // 19.2.3 + queueMicrotask(() => { + // 19.2.3.1 + if (errorData === null) { + cacheJobPromise.resolve() + } else { // 19.2.3.2 + cacheJobPromise.reject(errorData) + } + }) + + return cacheJobPromise.promise + } + + async delete (request, options = {}) { + webidl.brandCheck(this, Cache) + webidl.argumentLengthCheck(arguments, 1, { header: 'Cache.delete' }) + + request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + + /** + * @type {Request} + */ + let r = null + + if (request instanceof Request) { + r = request[kState] + + if (r.method !== 'GET' && !options.ignoreMethod) { + return false + } + } else { + assert(typeof request === 'string') + + r = new Request(request)[kState] + } + + /** @type {CacheBatchOperation[]} */ + const operations = [] + + /** @type {CacheBatchOperation} */ + const operation = { + type: 'delete', + request: r, + options + } + + operations.push(operation) + + const cacheJobPromise = createDeferredPromise() + + let errorData = null + let requestResponses + + try { + requestResponses = this.#batchCacheOperations(operations) + } catch (e) { + errorData = e + } + + queueMicrotask(() => { + if (errorData === null) { + cacheJobPromise.resolve(!!requestResponses?.length) + } else { + cacheJobPromise.reject(errorData) + } + }) + + return cacheJobPromise.promise + } + + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys + * @param {any} request + * @param {import('../../types/cache').CacheQueryOptions} options + * @returns {readonly Request[]} + */ + async keys (request = undefined, options = {}) { + webidl.brandCheck(this, Cache) + + if (request !== undefined) request = webidl.converters.RequestInfo(request) + options = webidl.converters.CacheQueryOptions(options) + + // 1. + let r = null + + // 2. + if (request !== undefined) { + // 2.1 + 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 + r = new Request(request)[kState] + } + } + + // 4. + const promise = createDeferredPromise() + + // 5. + // 5.1 + const requests = [] + + // 5.2 + if (request === undefined) { + // 5.2.1 + for (const requestResponse of this.#relevantRequestResponseList) { + // 5.2.1.1 + requests.push(requestResponse[0]) + } + } else { // 5.3 + // 5.3.1 + const requestResponses = this.#queryCache(r, options) + + // 5.3.2 + for (const requestResponse of requestResponses) { + // 5.3.2.1 + requests.push(requestResponse[0]) + } + } + + // 5.4 + queueMicrotask(() => { + // 5.4.1 + const requestList = [] + + // 5.4.2 + for (const request of requests) { + const requestObject = new Request('https://a') + requestObject[kState] = request + requestObject[kHeaders][kHeadersList] = request.headersList + requestObject[kHeaders][kGuard] = 'immutable' + requestObject[kRealm] = request.client + + // 5.4.2.1 + requestList.push(requestObject) + } + + // 5.4.3 + promise.resolve(Object.freeze(requestList)) + }) + + return promise.promise + } + + /** + * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm + * @param {CacheBatchOperation[]} operations + * @returns {requestResponseList} + */ + #batchCacheOperations (operations) { + // 1. + const cache = this.#relevantRequestResponseList + + // 2. + const backupCache = [...cache] + + // 3. + const addedItems = [] + + // 4.1 + const resultList = [] + + try { + // 4.2 + for (const operation of operations) { + // 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"' + }) + } + + // 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' + }) + } + + // 4.2.3 + if (this.#queryCache(operation.request, operation.options, addedItems).length) { + throw new DOMException('???', 'InvalidStateError') + } + + // 4.2.4 + let requestResponses + + // 4.2.5 + if (operation.type === 'delete') { + // 4.2.5.1 + requestResponses = this.#queryCache(operation.request, operation.options) + + // TODO: the spec is wrong, this is needed to pass WPTs + if (requestResponses.length === 0) { + return [] + } + + // 4.2.5.2 + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse) + assert(idx !== -1) + + // 4.2.5.2.1 + cache.splice(idx, 1) + } + } 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' + }) + } + + // 4.2.6.2 + const 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' + }) + } + + // 4.2.6.5 + if (operation.options != null) { + throw webidl.errors.exception({ + header: 'Cache.#batchCacheOperations', + message: 'options must not be defined' + }) + } + + // 4.2.6.6 + requestResponses = this.#queryCache(operation.request) + + // 4.2.6.7 + for (const requestResponse of requestResponses) { + const idx = cache.indexOf(requestResponse) + assert(idx !== -1) + + // 4.2.6.7.1 + cache.splice(idx, 1) + } + + // 4.2.6.8 + cache.push([operation.request, operation.response]) + + // 4.2.6.10 + addedItems.push([operation.request, operation.response]) + } + + // 4.2.7 + resultList.push([operation.request, operation.response]) + } + + // 4.3 + return resultList + } catch (e) { // 5. + // 5.1 + this.#relevantRequestResponseList.length = 0 + + // 5.2 + this.#relevantRequestResponseList = backupCache + + // 5.3 + throw e + } + } + + /** + * @see https://w3c.github.io/ServiceWorker/#query-cache + * @param {any} requestQuery + * @param {import('../../types/cache').CacheQueryOptions} options + * @param {requestResponseList} targetStorage + * @returns {requestResponseList} + */ + #queryCache (requestQuery, options, targetStorage) { + /** @type {requestResponseList} */ + const resultList = [] + + const storage = targetStorage ?? this.#relevantRequestResponseList + + for (const requestResponse of storage) { + const [cachedRequest, cachedResponse] = requestResponse + if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { + resultList.push(requestResponse) + } + } + + return resultList + } + + /** + * @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} + */ + #requestMatchesCachedItem (requestQuery, request, response = null, options) { + // if (options?.ignoreMethod === false && request.method === 'GET') { + // return false + // } + + const queryURL = new URL(requestQuery.url) + + const cachedURL = new URL(request.url) + + if (options?.ignoreSearch) { + cachedURL.search = '' + + queryURL.search = '' + } + + if (!urlEquals(queryURL, cachedURL, true)) { + return false + } + + if ( + response == null || + options?.ignoreVary || + !response.headersList.contains('vary') + ) { + return true + } + + const fieldValues = getFieldValues(response.headersList.get('vary')) + + for (const fieldValue of fieldValues) { + if (fieldValue === '*') { + return false + } + + const requestValue = request.headersList.get(fieldValue) + const queryValue = requestQuery.headersList.get(fieldValue) + + // 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 + } + } + + return true + } +} + +Object.defineProperties(Cache.prototype, { + [Symbol.toStringTag]: { + value: 'Cache', + configurable: true + }, + match: kEnumerableProperty, + matchAll: kEnumerableProperty, + add: kEnumerableProperty, + addAll: kEnumerableProperty, + put: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty +}) + +const cacheQueryOptionConverters = [ + { + key: 'ignoreSearch', + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: 'ignoreMethod', + converter: webidl.converters.boolean, + defaultValue: false + }, + { + key: 'ignoreVary', + converter: webidl.converters.boolean, + defaultValue: false + } +] + +webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters) + +webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ + ...cacheQueryOptionConverters, + { + key: 'cacheName', + converter: webidl.converters.DOMString + } +]) + +webidl.converters.Response = webidl.interfaceConverter(Response) + +webidl.converters['sequence'] = webidl.sequenceConverter( + webidl.converters.RequestInfo +) + +module.exports = { + Cache +} diff --git a/deps/undici/src/lib/cache/cachestorage.js b/deps/undici/src/lib/cache/cachestorage.js new file mode 100644 index 00000000000000..7e7f0cff2b582b --- /dev/null +++ b/deps/undici/src/lib/cache/cachestorage.js @@ -0,0 +1,144 @@ +'use strict' + +const { kConstruct } = require('./symbols') +const { Cache } = require('./cache') +const { webidl } = require('../fetch/webidl') +const { kEnumerableProperty } = require('../core/util') + +class CacheStorage { + /** + * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map + * @type {Map} + */ + async has (cacheName) { + webidl.brandCheck(this, CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.has' }) + + cacheName = webidl.converters.DOMString(cacheName) + + // 2.1.1 + // 2.2 + return this.#caches.has(cacheName) + } + + /** + * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open + * @param {string} cacheName + * @returns {Promise} + */ + async open (cacheName) { + webidl.brandCheck(this, CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.open' }) + + cacheName = webidl.converters.DOMString(cacheName) + + // 2.1 + if (this.#caches.has(cacheName)) { + // await caches.open('v1') !== await caches.open('v1') + + // 2.1.1 + const cache = this.#caches.get(cacheName) + + // 2.1.1.1 + return new Cache(kConstruct, cache) + } + + // 2.2 + const cache = [] + + // 2.3 + this.#caches.set(cacheName, cache) + + // 2.4 + return new Cache(kConstruct, cache) + } + + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete + * @param {string} cacheName + * @returns {Promise} + */ + async delete (cacheName) { + webidl.brandCheck(this, CacheStorage) + webidl.argumentLengthCheck(arguments, 1, { header: 'CacheStorage.delete' }) + + cacheName = webidl.converters.DOMString(cacheName) + + return this.#caches.delete(cacheName) + } + + /** + * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys + * @returns {string[]} + */ + async keys () { + webidl.brandCheck(this, CacheStorage) + + // 2.1 + const keys = this.#caches.keys() + + // 2.2 + return [...keys] + } +} + +Object.defineProperties(CacheStorage.prototype, { + [Symbol.toStringTag]: { + value: 'CacheStorage', + configurable: true + }, + match: kEnumerableProperty, + has: kEnumerableProperty, + open: kEnumerableProperty, + delete: kEnumerableProperty, + keys: kEnumerableProperty +}) + +module.exports = { + CacheStorage +} diff --git a/deps/undici/src/lib/cache/symbols.js b/deps/undici/src/lib/cache/symbols.js new file mode 100644 index 00000000000000..f9b19740af8281 --- /dev/null +++ b/deps/undici/src/lib/cache/symbols.js @@ -0,0 +1,5 @@ +'use strict' + +module.exports = { + kConstruct: Symbol('constructable') +} diff --git a/deps/undici/src/lib/cache/util.js b/deps/undici/src/lib/cache/util.js new file mode 100644 index 00000000000000..44d52b789ed6e0 --- /dev/null +++ b/deps/undici/src/lib/cache/util.js @@ -0,0 +1,49 @@ +'use strict' + +const assert = require('assert') +const { URLSerializer } = require('../fetch/dataURL') +const { isValidHeaderName } = require('../fetch/util') + +/** + * @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, excludeFragment = false) { + const serializedA = URLSerializer(A, excludeFragment) + + const 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 fieldValues (header) { + assert(header !== null) + + const values = [] + + for (let value of header.split(',')) { + value = value.trim() + + if (!value.length) { + continue + } else if (!isValidHeaderName(value)) { + continue + } + + values.push(value) + } + + return values +} + +module.exports = { + urlEquals, + fieldValues +} diff --git a/deps/undici/src/lib/client.js b/deps/undici/src/lib/client.js index 688df9e6156c9e..7d9ec8d7c272b3 100644 --- a/deps/undici/src/lib/client.js +++ b/deps/undici/src/lib/client.js @@ -569,7 +569,10 @@ class Parser { /* istanbul ignore else: difficult to make a test case for */ if (ptr) { const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0) - message = Buffer.from(llhttp.memory.buffer, ptr, len).toString() + message = + 'Response does not match the HTTP/1.1 protocol (' + + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + + ')' } throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)) } @@ -1494,9 +1497,11 @@ function writeStream ({ body, client, request, socket, contentLength, header, ex const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }) const onData = function (chunk) { - try { - assert(!finished) + if (finished) { + return + } + try { if (!writer.write(chunk) && this.pause) { this.pause() } @@ -1505,7 +1510,9 @@ function writeStream ({ body, client, request, socket, contentLength, header, ex } } const onDrain = function () { - assert(!finished) + if (finished) { + return + } if (body.resume) { body.resume() diff --git a/deps/undici/src/lib/fetch/body.js b/deps/undici/src/lib/fetch/body.js index c291afa93686e8..db450ee6bd4ea8 100644 --- a/deps/undici/src/lib/fetch/body.js +++ b/deps/undici/src/lib/fetch/body.js @@ -123,6 +123,7 @@ function extractBody (object, keepalive = false) { const blobParts = [] const rn = new Uint8Array([13, 10]) // '\r\n' length = 0 + let hasUnknownSizeValue = false for (const [name, value] of object) { if (typeof value === 'string') { @@ -138,13 +139,20 @@ function extractBody (object, keepalive = false) { value.type || 'application/octet-stream' }\r\n\r\n`) blobParts.push(chunk, value, rn) - length += chunk.byteLength + value.size + rn.byteLength + if (typeof value.size === 'number') { + length += chunk.byteLength + value.size + rn.byteLength + } else { + hasUnknownSizeValue = true + } } } const chunk = enc.encode(`--${boundary}--`) blobParts.push(chunk) length += chunk.byteLength + if (hasUnknownSizeValue) { + length = null + } // Set source to object. source = object diff --git a/deps/undici/src/lib/fetch/dataURL.js b/deps/undici/src/lib/fetch/dataURL.js index beefad154824e4..6df4fcc8cc6375 100644 --- a/deps/undici/src/lib/fetch/dataURL.js +++ b/deps/undici/src/lib/fetch/dataURL.js @@ -1,14 +1,18 @@ const assert = require('assert') const { atob } = require('buffer') -const { isValidHTTPToken, isomorphicDecode } = require('./util') +const { isomorphicDecode } = require('./util') const encoder = new TextEncoder() -// Regex -const HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-z0-9]+$/ +/** + * @see https://mimesniff.spec.whatwg.org/#http-token-code-point + */ +const HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/ const HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/ // eslint-disable-line -// https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point -const HTTP_QUOTED_STRING_TOKENS = /^(\u0009|\x{0020}-\x{007E}|\x{0080}-\x{00FF})+$/ // eslint-disable-line +/** + * @see https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point + */ +const HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/ // eslint-disable-line // https://fetch.spec.whatwg.org/#data-url-processor /** @param {URL} dataURL */ @@ -38,14 +42,12 @@ function dataURLProcessor (dataURL) { // 6. Strip leading and trailing ASCII whitespace // from mimeType. - // Note: This will only remove U+0020 SPACE code - // points, if any. // 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 const mimeTypeLength = mimeType.length - mimeType = mimeType.replace(/^(\u0020)+|(\u0020)+$/g, '') + mimeType = removeASCIIWhitespace(mimeType, true, true) // 7. If position is past the end of input, then // return failure @@ -233,7 +235,7 @@ function percentDecode (input) { function parseMIMEType (input) { // 1. Remove any leading and trailing HTTP whitespace // from input. - input = input.trim() + input = removeHTTPWhitespace(input, true, true) // 2. Let position be a position variable for input, // initially pointing at the start of input. @@ -274,7 +276,7 @@ function parseMIMEType (input) { ) // 8. Remove any trailing HTTP whitespace from subtype. - subtype = subtype.trimEnd() + subtype = removeHTTPWhitespace(subtype, false, true) // 9. If subtype is the empty string or does not solely // contain HTTP token code points, then return failure. @@ -282,17 +284,20 @@ function parseMIMEType (input) { return 'failure' } + const typeLowercase = type.toLowerCase() + const 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 const mimeType = { - type: type.toLowerCase(), - subtype: subtype.toLowerCase(), + type: typeLowercase, + subtype: subtypeLowercase, /** @type {Map} */ parameters: new Map(), // https://mimesniff.spec.whatwg.org/#mime-type-essence - essence: `${type}/${subtype}` + essence: `${typeLowercase}/${subtypeLowercase}` } // 11. While position is not past the end of input: @@ -370,8 +375,7 @@ function parseMIMEType (input) { ) // 2. Remove any trailing HTTP whitespace from parameterValue. - // Note: it says "trailing" whitespace; leading is fine. - parameterValue = parameterValue.trimEnd() + parameterValue = removeHTTPWhitespace(parameterValue, false, true) // 3. If parameterValue is the empty string, then continue. if (parameterValue.length === 0) { @@ -388,7 +392,7 @@ function parseMIMEType (input) { if ( parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && - !HTTP_QUOTED_STRING_TOKENS.test(parameterValue) && + (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName) ) { mimeType.parameters.set(parameterName, parameterValue) @@ -522,11 +526,11 @@ function collectAnHTTPQuotedString (input, position, extractValue) { */ function serializeAMimeType (mimeType) { assert(mimeType !== 'failure') - const { type, subtype, parameters } = mimeType + const { parameters, essence } = mimeType // 1. Let serialization be the concatenation of mimeType’s // type, U+002F (/), and mimeType’s subtype. - let serialization = `${type}/${subtype}` + let serialization = essence // 2. For each name → value of mimeType’s parameters: for (let [name, value] of parameters.entries()) { @@ -541,7 +545,7 @@ function serializeAMimeType (mimeType) { // 4. If value does not solely contain HTTP token code // points or value is the empty string, then: - if (!isValidHTTPToken(value)) { + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { // 1. Precede each occurence of U+0022 (") or // U+005C (\) in value with U+005C (\). value = value.replace(/(\\|")/g, '\\$1') @@ -561,6 +565,59 @@ function serializeAMimeType (mimeType) { return serialization } +/** + * @see https://fetch.spec.whatwg.org/#http-whitespace + * @param {string} char + */ +function isHTTPWhiteSpace (char) { + return char === '\r' || char === '\n' || char === '\t' || char === ' ' +} + +/** + * @see https://fetch.spec.whatwg.org/#http-whitespace + * @param {string} str + */ +function removeHTTPWhitespace (str, leading = true, trailing = true) { + let lead = 0 + let trail = str.length - 1 + + if (leading) { + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++); + } + + if (trailing) { + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--); + } + + return str.slice(lead, trail + 1) +} + +/** + * @see https://infra.spec.whatwg.org/#ascii-whitespace + * @param {string} char + */ +function isASCIIWhitespace (char) { + return char === '\r' || char === '\n' || char === '\t' || char === '\f' || char === ' ' +} + +/** + * @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace + */ +function removeASCIIWhitespace (str, leading = true, trailing = true) { + let lead = 0 + let trail = str.length - 1 + + if (leading) { + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++); + } + + if (trailing) { + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--); + } + + return str.slice(lead, trail + 1) +} + module.exports = { dataURLProcessor, URLSerializer, diff --git a/deps/undici/src/lib/fetch/index.js b/deps/undici/src/lib/fetch/index.js index f3016c60ddee05..519987324274fe 100644 --- a/deps/undici/src/lib/fetch/index.js +++ b/deps/undici/src/lib/fetch/index.js @@ -318,7 +318,7 @@ function finalizeAndReportTiming (response, initiatorType = 'other') { // https://w3c.github.io/resource-timing/#dfn-mark-resource-timing function markResourceTiming (timingInfo, originalURL, initiatorType, globalThis, cacheState) { - if (nodeMajor >= 18 && nodeMinor >= 2) { + if (nodeMajor > 18 || (nodeMajor === 18 && nodeMinor >= 2)) { performance.markResourceTiming(timingInfo, originalURL, initiatorType, globalThis, cacheState) } } diff --git a/deps/undici/src/lib/fetch/response.js b/deps/undici/src/lib/fetch/response.js index ff06bfb47d024f..1029dbef53371f 100644 --- a/deps/undici/src/lib/fetch/response.js +++ b/deps/undici/src/lib/fetch/response.js @@ -467,7 +467,7 @@ function initializeResponse (response, init, body) { // 5. If init["headers"] exists, then fill response’s headers with init["headers"]. if ('headers' in init && init.headers != null) { - fill(response[kState].headersList, init.headers) + fill(response[kHeaders], init.headers) } // 6. If body was given, then: @@ -569,5 +569,6 @@ module.exports = { makeResponse, makeAppropriateNetworkError, filterResponse, - Response + Response, + cloneResponse } diff --git a/deps/undici/src/lib/fetch/util.js b/deps/undici/src/lib/fetch/util.js index 23023262d14d45..400687ba2e7d23 100644 --- a/deps/undici/src/lib/fetch/util.js +++ b/deps/undici/src/lib/fetch/util.js @@ -1028,5 +1028,6 @@ module.exports = { isomorphicDecode, urlIsLocal, urlHasHttpsScheme, - urlIsHttpHttpsScheme + urlIsHttpHttpsScheme, + readAllBytes } diff --git a/deps/undici/src/lib/fetch/webidl.js b/deps/undici/src/lib/fetch/webidl.js index e55de139505b90..38a05e657594aa 100644 --- a/deps/undici/src/lib/fetch/webidl.js +++ b/deps/undici/src/lib/fetch/webidl.js @@ -51,6 +51,13 @@ webidl.argumentLengthCheck = function ({ length }, min, 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) { diff --git a/deps/undici/src/lib/websocket/connection.js b/deps/undici/src/lib/websocket/connection.js index 09770247e3fd00..8c821899f6553e 100644 --- a/deps/undici/src/lib/websocket/connection.js +++ b/deps/undici/src/lib/websocket/connection.js @@ -13,7 +13,9 @@ const { fireEvent, failWebsocketConnection } = require('./util') const { CloseEvent } = require('./events') const { makeRequest } = require('../fetch/request') const { fetching } = require('../fetch/index') +const { Headers } = require('../fetch/headers') const { getGlobalDispatcher } = require('../global') +const { kHeadersList } = require('../core/symbols') const channels = {} channels.open = diagnosticsChannel.channel('undici:websocket:open') @@ -26,8 +28,9 @@ channels.socketError = diagnosticsChannel.channel('undici:websocket:socket_error * @param {string|string[]} protocols * @param {import('./websocket').WebSocket} ws * @param {(response: any) => void} onEstablish + * @param {Partial} options */ -function establishWebSocketConnection (url, protocols, ws, onEstablish) { +function establishWebSocketConnection (url, protocols, 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. const requestURL = url @@ -48,6 +51,13 @@ function establishWebSocketConnection (url, protocols, ws, onEstablish) { redirect: 'error' }) + // Note: undici extension, allow setting custom headers. + if (options.headers) { + const headersList = new Headers(options.headers)[kHeadersList] + + 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. @@ -88,7 +98,7 @@ function establishWebSocketConnection (url, protocols, ws, onEstablish) { const controller = fetching({ request, useParallelQueue: true, - dispatcher: getGlobalDispatcher(), + dispatcher: options.dispatcher ?? getGlobalDispatcher(), processResponse (response) { // 1. If response is a network error or its status is not 101, // fail the WebSocket connection. diff --git a/deps/undici/src/lib/websocket/frame.js b/deps/undici/src/lib/websocket/frame.js index 1df5e16934b303..61bfd3915cecc5 100644 --- a/deps/undici/src/lib/websocket/frame.js +++ b/deps/undici/src/lib/websocket/frame.js @@ -43,7 +43,7 @@ class WebsocketFrameSend { buffer[1] = payloadLength if (payloadLength === 126) { - new DataView(buffer.buffer).setUint16(2, bodyLength) + buffer.writeUInt16BE(bodyLength, 2) } else if (payloadLength === 127) { // Clear extended payload length buffer[2] = buffer[3] = 0 diff --git a/deps/undici/src/lib/websocket/websocket.js b/deps/undici/src/lib/websocket/websocket.js index 164d24c6f8a28a..22ad2fb11a1910 100644 --- a/deps/undici/src/lib/websocket/websocket.js +++ b/deps/undici/src/lib/websocket/websocket.js @@ -18,6 +18,7 @@ const { establishWebSocketConnection } = require('./connection') const { WebsocketFrameSend } = require('./frame') const { ByteParser } = require('./receiver') const { kEnumerableProperty, isBlobLike } = require('../core/util') +const { getGlobalDispatcher } = require('../global') const { types } = require('util') let experimentalWarned = false @@ -51,8 +52,10 @@ class WebSocket extends EventTarget { }) } + const options = webidl.converters['DOMString or sequence or WebSocketInit'](protocols) + url = webidl.converters.USVString(url) - protocols = webidl.converters['DOMString or sequence'](protocols) + protocols = options.protocols // 1. Let urlRecord be the result of applying the URL parser to url. let urlRecord @@ -110,7 +113,8 @@ class WebSocket extends EventTarget { urlRecord, protocols, this, - (response) => this.#onConnectionEstablished(response) + (response) => this.#onConnectionEstablished(response), + options ) // Each WebSocket object has an associated ready state, which is a @@ -577,6 +581,36 @@ webidl.converters['DOMString or sequence'] = function (V) { return webidl.converters.DOMString(V) } +// This implements the propsal made in https://github.com/whatwg/websockets/issues/42 +webidl.converters.WebSocketInit = webidl.dictionaryConverter([ + { + key: 'protocols', + converter: webidl.converters['DOMString or sequence'], + get defaultValue () { + return [] + } + }, + { + key: 'dispatcher', + converter: (V) => V, + get 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)) { diff --git a/deps/undici/src/package.json b/deps/undici/src/package.json index 481a6c88108ecb..49b657fded2805 100644 --- a/deps/undici/src/package.json +++ b/deps/undici/src/package.json @@ -1,6 +1,6 @@ { "name": "undici", - "version": "5.22.0", + "version": "5.22.1", "description": "An HTTP/1.1 client, written from scratch for Node.js", "homepage": "https://undici.nodejs.org", "bugs": { @@ -42,13 +42,13 @@ ], "scripts": { "build:node": "npx esbuild@0.14.38 index-fetch.js --bundle --platform=node --outfile=undici-fetch.js", - "prebuild:wasm": "docker build -t llhttp_wasm_builder -f build/Dockerfile .", + "prebuild:wasm": "node build/wasm.js --prebuild", "build:wasm": "node build/wasm.js --docker", "lint": "standard | snazzy", "lint:fix": "standard --fix | snazzy", "test": "npm run test:tap && npm run test:node-fetch && npm run test:fetch && npm run test:cookies && npm run test:wpt && npm run test:websocket && npm run test:jest && npm run test:typescript", "test:cookies": "node scripts/verifyVersion 16 || tap test/cookie/*.js", - "test:node-fetch": "node scripts/verifyVersion.js 16 || mocha test/node-fetch", + "test:node-fetch": "node scripts/verifyVersion.js 16 || mocha --exit test/node-fetch", "test:fetch": "node scripts/verifyVersion.js 16 || (npm run build:node && tap --expose-gc test/fetch/*.js && tap test/webidl/*.js)", "test:jest": "node scripts/verifyVersion.js 14 || jest", "test:tap": "tap test/*.js test/diagnostics-channel/*.js", @@ -61,7 +61,7 @@ "bench": "PORT=3042 concurrently -k -s first npm:bench:server npm:bench:run", "bench:server": "node benchmarks/server.js", "prebench:run": "node benchmarks/wait.js", - "bench:run": "CONNECTIONS=1 node --experimental-wasm-simd benchmarks/benchmark.js; CONNECTIONS=50 node --experimental-wasm-simd benchmarks/benchmark.js", + "bench:run": "CONNECTIONS=1 node benchmarks/benchmark.js; CONNECTIONS=50 node benchmarks/benchmark.js", "serve:website": "docsify serve .", "prepare": "husky install", "fuzz": "jsfuzz test/fuzzing/fuzz.js corpus" diff --git a/deps/undici/src/types/cache.d.ts b/deps/undici/src/types/cache.d.ts new file mode 100644 index 00000000000000..4c333357666677 --- /dev/null +++ b/deps/undici/src/types/cache.d.ts @@ -0,0 +1,36 @@ +import type { RequestInfo, Response, Request } from './fetch' + +export interface CacheStorage { + match (request: RequestInfo, options?: MultiCacheQueryOptions): Promise, + has (cacheName: string): Promise, + open (cacheName: string): Promise, + delete (cacheName: string): Promise, + keys (): Promise +} + +declare const CacheStorage: { + prototype: CacheStorage + new(): CacheStorage +} + +export interface Cache { + match (request: RequestInfo, options?: CacheQueryOptions): Promise, + matchAll (request?: RequestInfo, options?: CacheQueryOptions): Promise, + add (request: RequestInfo): Promise, + addAll (requests: RequestInfo[]): Promise, + put (request: RequestInfo, response: Response): Promise, + delete (request: RequestInfo, options?: CacheQueryOptions): Promise, + keys (request?: RequestInfo, options?: CacheQueryOptions): Promise +} + +export interface CacheQueryOptions { + ignoreSearch?: boolean, + ignoreMethod?: boolean, + ignoreVary?: boolean +} + +export interface MultiCacheQueryOptions extends CacheQueryOptions { + cacheName?: string +} + +export declare const caches: CacheStorage diff --git a/deps/undici/src/types/errors.d.ts b/deps/undici/src/types/errors.d.ts index fd2ce7c3a996da..7923ddd9796e60 100644 --- a/deps/undici/src/types/errors.d.ts +++ b/deps/undici/src/types/errors.d.ts @@ -4,7 +4,10 @@ import Client from './client' export default Errors declare namespace Errors { - export class UndiciError extends Error { } + export class UndiciError extends Error { + name: string; + code: string; + } /** Connect timeout error. */ export class ConnectTimeoutError extends UndiciError { @@ -31,6 +34,12 @@ declare namespace Errors { } export class ResponseStatusCodeError extends UndiciError { + constructor ( + message?: string, + statusCode?: number, + headers?: IncomingHttpHeaders | string[] | null, + body?: null | Record | string + ); name: 'ResponseStatusCodeError'; code: 'UND_ERR_RESPONSE_STATUS_CODE'; body: null | Record | string diff --git a/deps/undici/src/types/webidl.d.ts b/deps/undici/src/types/webidl.d.ts index 182d18e0d4c4ab..40cfe064f8fc33 100644 --- a/deps/undici/src/types/webidl.d.ts +++ b/deps/undici/src/types/webidl.d.ts @@ -170,6 +170,8 @@ export interface Webidl { */ sequenceConverter (C: Converter): SequenceConverter + illegalConstructor (): never + /** * @see https://webidl.spec.whatwg.org/#es-to-record * @description Convert a value, V, to a WebIDL record type. diff --git a/deps/undici/src/types/websocket.d.ts b/deps/undici/src/types/websocket.d.ts index 7524cbda6c4e44..15a357d36d55b5 100644 --- a/deps/undici/src/types/websocket.d.ts +++ b/deps/undici/src/types/websocket.d.ts @@ -10,6 +10,8 @@ import { AddEventListenerOptions, EventListenerOrEventListenerObject } from './patch' +import Dispatcher from './dispatcher' +import { HeadersInit } from './fetch' export type BinaryType = 'blob' | 'arraybuffer' @@ -67,7 +69,7 @@ interface WebSocket extends EventTarget { export declare const WebSocket: { prototype: WebSocket - new (url: string | URL, protocols?: string | string[]): WebSocket + new (url: string | URL, protocols?: string | string[] | WebSocketInit): WebSocket readonly CLOSED: number readonly CLOSING: number readonly CONNECTING: number @@ -121,3 +123,9 @@ export declare const MessageEvent: { prototype: MessageEvent new(type: string, eventInitDict?: MessageEventInit): MessageEvent } + +interface WebSocketInit { + protocols?: string | string[], + dispatcher?: Dispatcher, + headers?: HeadersInit +} diff --git a/deps/undici/undici.js b/deps/undici/undici.js index 8eacb283d3baf8..8b0bfaef593c18 100644 --- a/deps/undici/undici.js +++ b/deps/undici/undici.js @@ -1356,7 +1356,8 @@ var require_util2 = __commonJS({ isomorphicDecode, urlIsLocal, urlHasHttpsScheme, - urlIsHttpHttpsScheme + urlIsHttpHttpsScheme, + readAllBytes }; } }); @@ -1403,6 +1404,12 @@ var require_webidl = __commonJS({ }); } }; + webidl.illegalConstructor = function() { + throw webidl.errors.exception({ + header: "TypeError", + message: "Illegal constructor" + }); + }; webidl.util.Type = function(V) { switch (typeof V) { case "undefined": @@ -5734,11 +5741,11 @@ var require_dataURL = __commonJS({ "lib/fetch/dataURL.js"(exports2, module2) { var assert = require("assert"); var { atob: atob2 } = require("buffer"); - var { isValidHTTPToken, isomorphicDecode } = require_util2(); + var { isomorphicDecode } = require_util2(); var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-z0-9]+$/; + var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /^(\u0009|\x{0020}-\x{007E}|\x{0080}-\x{00FF})+$/; + var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; function dataURLProcessor(dataURL) { assert(dataURL.protocol === "data:"); let input = URLSerializer(dataURL, true); @@ -5746,7 +5753,7 @@ var require_dataURL = __commonJS({ const position = { position: 0 }; let mimeType = collectASequenceOfCodePointsFast(",", input, position); const mimeTypeLength = mimeType.length; - mimeType = mimeType.replace(/^(\u0020)+|(\u0020)+$/g, ""); + mimeType = removeASCIIWhitespace(mimeType, true, true); if (position.position >= input.length) { return "failure"; } @@ -5823,7 +5830,7 @@ var require_dataURL = __commonJS({ return Uint8Array.from(output); } function parseMIMEType(input) { - input = input.trim(); + input = removeHTTPWhitespace(input, true, true); const position = { position: 0 }; const type = collectASequenceOfCodePointsFast("/", input, position); if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { @@ -5834,15 +5841,17 @@ var require_dataURL = __commonJS({ } position.position++; let subtype = collectASequenceOfCodePointsFast(";", input, position); - subtype = subtype.trimEnd(); + subtype = removeHTTPWhitespace(subtype, false, true); if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { return "failure"; } + const typeLowercase = type.toLowerCase(); + const subtypeLowercase = subtype.toLowerCase(); const mimeType = { - type: type.toLowerCase(), - subtype: subtype.toLowerCase(), + type: typeLowercase, + subtype: subtypeLowercase, parameters: /* @__PURE__ */ new Map(), - essence: `${type}/${subtype}` + essence: `${typeLowercase}/${subtypeLowercase}` }; while (position.position < input.length) { position.position++; @@ -5864,12 +5873,12 @@ var require_dataURL = __commonJS({ collectASequenceOfCodePointsFast(";", input, position); } else { parameterValue = collectASequenceOfCodePointsFast(";", input, position); - parameterValue = parameterValue.trimEnd(); + parameterValue = removeHTTPWhitespace(parameterValue, false, true); if (parameterValue.length === 0) { continue; } } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && !HTTP_QUOTED_STRING_TOKENS.test(parameterValue) && !mimeType.parameters.has(parameterName)) { + 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); } } @@ -5924,13 +5933,13 @@ var require_dataURL = __commonJS({ } function serializeAMimeType(mimeType) { assert(mimeType !== "failure"); - const { type, subtype, parameters } = mimeType; - let serialization = `${type}/${subtype}`; + const { parameters, essence } = mimeType; + let serialization = essence; for (let [name, value] of parameters.entries()) { serialization += ";"; serialization += name; serialization += "="; - if (!isValidHTTPToken(value)) { + if (!HTTP_TOKEN_CODEPOINTS.test(value)) { value = value.replace(/(\\|")/g, "\\$1"); value = '"' + value; value += '"'; @@ -5939,6 +5948,38 @@ var require_dataURL = __commonJS({ } return serialization; } + function isHTTPWhiteSpace(char) { + return char === "\r" || char === "\n" || char === " " || char === " "; + } + function removeHTTPWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) + ; + } + if (trailing) { + for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) + ; + } + return str.slice(lead, trail + 1); + } + function isASCIIWhitespace(char) { + return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; + } + function removeASCIIWhitespace(str, leading = true, trailing = true) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) + ; + } + if (trailing) { + for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) + ; + } + return str.slice(lead, trail + 1); + } module2.exports = { dataURLProcessor, URLSerializer, @@ -6339,6 +6380,7 @@ Content-Disposition: form-data`; const blobParts = []; const rn = new Uint8Array([13, 10]); length = 0; + let hasUnknownSizeValue = false; for (const [name, value] of object) { if (typeof value === "string") { const chunk2 = enc.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r @@ -6353,12 +6395,19 @@ Content-Type: ${value.type || "application/octet-stream"}\r \r `); blobParts.push(chunk2, value, rn); - length += chunk2.byteLength + value.size + rn.byteLength; + if (typeof value.size === "number") { + length += chunk2.byteLength + value.size + rn.byteLength; + } else { + hasUnknownSizeValue = true; + } } } const chunk = enc.encode(`--${boundary}--`); blobParts.push(chunk); length += chunk.byteLength; + if (hasUnknownSizeValue) { + length = null; + } source = object; action = async function* () { for (const part of blobParts) { @@ -6912,7 +6961,7 @@ var require_response = __commonJS({ response[kState].statusText = init.statusText; } if ("headers" in init && init.headers != null) { - fill(response[kState].headersList, init.headers); + fill(response[kHeaders], init.headers); } if (body) { if (nullBodyStatus.includes(response.status)) { @@ -6978,7 +7027,8 @@ var require_response = __commonJS({ makeResponse, makeAppropriateNetworkError, filterResponse, - Response + Response, + cloneResponse }; } }); @@ -9439,7 +9489,7 @@ var require_client = __commonJS({ let message = ""; if (ptr) { const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = Buffer.from(llhttp.memory.buffer, ptr, len).toString(); + message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; } throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); } @@ -10108,8 +10158,10 @@ upgrade: ${upgrade}\r let finished = false; const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); const onData = function(chunk) { + if (finished) { + return; + } try { - assert(!finished); if (!writer.write(chunk) && this.pause) { this.pause(); } @@ -10118,7 +10170,9 @@ upgrade: ${upgrade}\r } }; const onDrain = function() { - assert(!finished); + if (finished) { + return; + } if (body.resume) { body.resume(); } @@ -10739,7 +10793,7 @@ var require_fetch = __commonJS({ markResourceTiming(timingInfo, originalURL, initiatorType, globalThis, cacheState); } function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor >= 18 && nodeMinor >= 2) { + if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { performance.markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState); } } diff --git a/src/undici_version.h b/src/undici_version.h index db62dda4e11447..af56664e3f04b3 100644 --- a/src/undici_version.h +++ b/src/undici_version.h @@ -2,5 +2,5 @@ // Refer to tools/update-undici.sh #ifndef SRC_UNDICI_VERSION_H_ #define SRC_UNDICI_VERSION_H_ -#define UNDICI_VERSION "5.22.0" +#define UNDICI_VERSION "5.22.1" #endif // SRC_UNDICI_VERSION_H_ From c6a752560d4ef8adc99b74a4bfb310c7086199fe Mon Sep 17 00:00:00 2001 From: Shi Pujin Date: Thu, 4 May 2023 11:55:35 +0800 Subject: [PATCH 008/146] deps: add loongarch64 into openssl Makefile and gen openssl-loongarch64 PR-URL: https://github.com/nodejs/node/pull/46401 Reviewed-By: Ben Noordhuis Reviewed-By: James M Snell Reviewed-By: Michael Dawson --- deps/openssl/config/Makefile | 2 +- .../linux64-loongarch64/no-asm/apps/progs.c | 397 + .../linux64-loongarch64/no-asm/configdata.pm | 27758 ++++++++++++++++ .../no-asm/crypto/buildinf.h | 29 + .../no-asm/include/crypto/bn_conf.h | 29 + .../no-asm/include/crypto/dso_conf.h | 19 + .../no-asm/include/openssl/asn1.h | 1128 + .../no-asm/include/openssl/asn1t.h | 946 + .../no-asm/include/openssl/bio.h | 887 + .../no-asm/include/openssl/cmp.h | 596 + .../no-asm/include/openssl/cms.h | 493 + .../no-asm/include/openssl/conf.h | 211 + .../no-asm/include/openssl/configuration.h | 137 + .../no-asm/include/openssl/crmf.h | 227 + .../no-asm/include/openssl/crypto.h | 558 + .../no-asm/include/openssl/ct.h | 573 + .../no-asm/include/openssl/err.h | 504 + .../no-asm/include/openssl/ess.h | 128 + .../no-asm/include/openssl/fipskey.h | 36 + .../no-asm/include/openssl/lhash.h | 288 + .../no-asm/include/openssl/ocsp.h | 483 + .../no-asm/include/openssl/opensslv.h | 114 + .../no-asm/include/openssl/pkcs12.h | 350 + .../no-asm/include/openssl/pkcs7.h | 427 + .../no-asm/include/openssl/safestack.h | 297 + .../no-asm/include/openssl/srp.h | 285 + .../no-asm/include/openssl/ssl.h | 2668 ++ .../no-asm/include/openssl/ui.h | 407 + .../no-asm/include/openssl/x509.h | 1276 + .../no-asm/include/openssl/x509_vfy.h | 894 + .../no-asm/include/openssl/x509v3.h | 1450 + .../no-asm/include/progs.h | 123 + .../no-asm/openssl-cl.gypi | 99 + .../no-asm/openssl-fips.gypi | 320 + .../linux64-loongarch64/no-asm/openssl.gypi | 997 + .../providers/common/der/der_digests_gen.c | 160 + .../no-asm/providers/common/der/der_dsa_gen.c | 94 + .../no-asm/providers/common/der/der_ec_gen.c | 279 + .../no-asm/providers/common/der/der_ecx_gen.c | 44 + .../no-asm/providers/common/der/der_rsa_gen.c | 174 + .../no-asm/providers/common/der/der_sm2_gen.c | 30 + .../providers/common/der/der_wrap_gen.c | 46 + .../common/include/prov/der_digests.h | 160 + .../providers/common/include/prov/der_dsa.h | 94 + .../providers/common/include/prov/der_ec.h | 286 + .../providers/common/include/prov/der_ecx.h | 50 + .../providers/common/include/prov/der_rsa.h | 187 + .../providers/common/include/prov/der_sm2.h | 37 + .../providers/common/include/prov/der_wrap.h | 46 + .../no-asm/providers/fips.ld | 5 + .../no-asm/providers/legacy.ld | 5 + 51 files changed, 46832 insertions(+), 1 deletion(-) create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/apps/progs.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/bn_conf.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/dso_conf.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1t.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/bio.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cms.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/conf.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/configuration.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crmf.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crypto.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ct.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/err.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ess.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/fipskey.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/lhash.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ocsp.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs12.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs7.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/safestack.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/srp.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ui.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_vfy.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509v3.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/include/progs.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-fips.gypi create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl.gypi create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_digests.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_dsa.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ec.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ecx.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_rsa.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_sm2.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_wrap.h create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/fips.ld create mode 100644 deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/legacy.ld diff --git a/deps/openssl/config/Makefile b/deps/openssl/config/Makefile index 5ed49e4de29105..48d2af80019150 100644 --- a/deps/openssl/config/Makefile +++ b/deps/openssl/config/Makefile @@ -15,7 +15,7 @@ linux-armv4 linux-elf linux-x86_64 \ linux-ppc64le linux32-s390x linux64-s390x linux64-mips64\ solaris-x86-gcc solaris64-x86_64-gcc VC-WIN64A VC-WIN32 -NO_ASM_ARCHS = VC-WIN64-ARM linux64-riscv64 +NO_ASM_ARCHS = VC-WIN64-ARM linux64-riscv64 linux64-loongarch64 CC = gcc FAKE_GCC = ../config/fake_gcc.pl diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/apps/progs.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/apps/progs.c new file mode 100644 index 00000000000000..2646a1a35bf398 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/apps/progs.c @@ -0,0 +1,397 @@ +/* + * WARNING: do not edit! + * Generated by apps/progs.pl + * + * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "progs.h" + +FUNCTION functions[] = { + {FT_general, "asn1parse", asn1parse_main, asn1parse_options, NULL, NULL}, + {FT_general, "ca", ca_main, ca_options, NULL, NULL}, +#ifndef OPENSSL_NO_SOCK + {FT_general, "ciphers", ciphers_main, ciphers_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_CMP + {FT_general, "cmp", cmp_main, cmp_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_CMS + {FT_general, "cms", cms_main, cms_options, NULL, NULL}, +#endif + {FT_general, "crl", crl_main, crl_options, NULL, NULL}, + {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options, NULL, NULL}, + {FT_general, "dgst", dgst_main, dgst_options, NULL, NULL}, +#ifndef OPENSSL_NO_DH + {FT_general, "dhparam", dhparam_main, dhparam_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_DSA + {FT_general, "dsa", dsa_main, dsa_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_DSA + {FT_general, "dsaparam", dsaparam_main, dsaparam_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_EC + {FT_general, "ec", ec_main, ec_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_EC + {FT_general, "ecparam", ecparam_main, ecparam_options, NULL, NULL}, +#endif + {FT_general, "enc", enc_main, enc_options, NULL, NULL}, +#ifndef OPENSSL_NO_ENGINE + {FT_general, "engine", engine_main, engine_options, NULL, NULL}, +#endif + {FT_general, "errstr", errstr_main, errstr_options, NULL, NULL}, + {FT_general, "fipsinstall", fipsinstall_main, fipsinstall_options, NULL, NULL}, +#ifndef OPENSSL_NO_DSA + {FT_general, "gendsa", gendsa_main, gendsa_options, NULL, NULL}, +#endif + {FT_general, "genpkey", genpkey_main, genpkey_options, NULL, NULL}, +#ifndef OPENSSL_NO_RSA + {FT_general, "genrsa", genrsa_main, genrsa_options, NULL, NULL}, +#endif + {FT_general, "help", help_main, help_options, NULL, NULL}, + {FT_general, "info", info_main, info_options, NULL, NULL}, + {FT_general, "kdf", kdf_main, kdf_options, NULL, NULL}, + {FT_general, "list", list_main, list_options, NULL, NULL}, + {FT_general, "mac", mac_main, mac_options, NULL, NULL}, + {FT_general, "nseq", nseq_main, nseq_options, NULL, NULL}, +#ifndef OPENSSL_NO_OCSP + {FT_general, "ocsp", ocsp_main, ocsp_options, NULL, NULL}, +#endif + {FT_general, "passwd", passwd_main, passwd_options, NULL, NULL}, + {FT_general, "pkcs12", pkcs12_main, pkcs12_options, NULL, NULL}, + {FT_general, "pkcs7", pkcs7_main, pkcs7_options, NULL, NULL}, + {FT_general, "pkcs8", pkcs8_main, pkcs8_options, NULL, NULL}, + {FT_general, "pkey", pkey_main, pkey_options, NULL, NULL}, + {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options, NULL, NULL}, + {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options, NULL, NULL}, + {FT_general, "prime", prime_main, prime_options, NULL, NULL}, + {FT_general, "rand", rand_main, rand_options, NULL, NULL}, + {FT_general, "rehash", rehash_main, rehash_options, NULL, NULL}, + {FT_general, "req", req_main, req_options, NULL, NULL}, + {FT_general, "rsa", rsa_main, rsa_options, NULL, NULL}, +#if !defined(OPENSSL_NO_DEPRECATED_3_0) && !defined(OPENSSL_NO_RSA) + {FT_general, "rsautl", rsautl_main, rsautl_options, "pkeyutl", "3.0"}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_client", s_client_main, s_client_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_server", s_server_main, s_server_options, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_time", s_time_main, s_time_options, NULL, NULL}, +#endif + {FT_general, "sess_id", sess_id_main, sess_id_options, NULL, NULL}, + {FT_general, "smime", smime_main, smime_options, NULL, NULL}, + {FT_general, "speed", speed_main, speed_options, NULL, NULL}, + {FT_general, "spkac", spkac_main, spkac_options, NULL, NULL}, +#ifndef OPENSSL_NO_SRP + {FT_general, "srp", srp_main, srp_options, NULL, NULL}, +#endif + {FT_general, "storeutl", storeutl_main, storeutl_options, NULL, NULL}, +#ifndef OPENSSL_NO_TS + {FT_general, "ts", ts_main, ts_options, NULL, NULL}, +#endif + {FT_general, "verify", verify_main, verify_options, NULL, NULL}, + {FT_general, "version", version_main, version_options, NULL, NULL}, + {FT_general, "x509", x509_main, x509_options, NULL, NULL}, +#ifndef OPENSSL_NO_MD2 + {FT_md, "md2", dgst_main, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_MD4 + {FT_md, "md4", dgst_main, NULL, NULL}, +#endif + {FT_md, "md5", dgst_main, NULL, NULL}, + {FT_md, "sha1", dgst_main, NULL, NULL}, + {FT_md, "sha224", dgst_main, NULL, NULL}, + {FT_md, "sha256", dgst_main, NULL, NULL}, + {FT_md, "sha384", dgst_main, NULL, NULL}, + {FT_md, "sha512", dgst_main, NULL, NULL}, + {FT_md, "sha512-224", dgst_main, NULL, NULL}, + {FT_md, "sha512-256", dgst_main, NULL, NULL}, + {FT_md, "sha3-224", dgst_main, NULL, NULL}, + {FT_md, "sha3-256", dgst_main, NULL, NULL}, + {FT_md, "sha3-384", dgst_main, NULL, NULL}, + {FT_md, "sha3-512", dgst_main, NULL, NULL}, + {FT_md, "shake128", dgst_main, NULL, NULL}, + {FT_md, "shake256", dgst_main, NULL, NULL}, +#ifndef OPENSSL_NO_MDC2 + {FT_md, "mdc2", dgst_main, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_RMD160 + {FT_md, "rmd160", dgst_main, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_BLAKE2 + {FT_md, "blake2b512", dgst_main, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_BLAKE2 + {FT_md, "blake2s256", dgst_main, NULL, NULL}, +#endif +#ifndef OPENSSL_NO_SM3 + {FT_md, "sm3", dgst_main, NULL, NULL}, +#endif + {FT_cipher, "aes-128-cbc", enc_main, enc_options, NULL}, + {FT_cipher, "aes-128-ecb", enc_main, enc_options, NULL}, + {FT_cipher, "aes-192-cbc", enc_main, enc_options, NULL}, + {FT_cipher, "aes-192-ecb", enc_main, enc_options, NULL}, + {FT_cipher, "aes-256-cbc", enc_main, enc_options, NULL}, + {FT_cipher, "aes-256-ecb", enc_main, enc_options, NULL}, +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ctr", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb1", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb8", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ctr", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb1", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb8", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ctr", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb1", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb8", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-128-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-128-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-192-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-192-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-256-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-256-ecb", enc_main, enc_options, NULL}, +#endif + {FT_cipher, "base64", enc_main, enc_options, NULL}, +#ifdef ZLIB + {FT_cipher, "zlib", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des3", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "desx", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC4 + {FT_cipher, "rc4", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC4 + {FT_cipher, "rc4-40", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-64-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-40-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-cbc", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ecb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-cfb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ofb", enc_main, enc_options, NULL}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ctr", enc_main, enc_options, NULL}, +#endif + {0, NULL, NULL, NULL, NULL} +}; diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm new file mode 100644 index 00000000000000..7092f963d0e3ce --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm @@ -0,0 +1,27758 @@ +#! /usr/bin/env perl +# -*- mode: perl -*- + +package configdata; + +use strict; +use warnings; + +use Exporter; +our @ISA = qw(Exporter); +our @EXPORT = qw( + %config %target %disabled %withargs %unified_info + @disablables @disablables_int +); + +our %config = ( + "AR" => "ar", + "ARFLAGS" => [ + "qc" + ], + "CC" => "gcc", + "CFLAGS" => [ + "-Wall -O3" + ], + "CPPDEFINES" => [], + "CPPFLAGS" => [], + "CPPINCLUDES" => [], + "CXX" => "g++", + "CXXFLAGS" => [ + "-Wall -O3" + ], + "FIPSKEY" => "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813", + "HASHBANGPERL" => "/usr/bin/env perl", + "LDFLAGS" => [], + "LDLIBS" => [], + "PERL" => "/usr/bin/perl", + "RANLIB" => "ranlib", + "RC" => "windres", + "RCFLAGS" => [], + "api" => "30000", + "b32" => "0", + "b64" => "0", + "b64l" => "1", + "bn_ll" => "0", + "build_file" => "Makefile", + "build_file_templates" => [ + "Configurations/common0.tmpl", + "Configurations/unix-Makefile.tmpl" + ], + "build_infos" => [ + "./build.info", + "crypto/build.info", + "ssl/build.info", + "apps/build.info", + "util/build.info", + "tools/build.info", + "fuzz/build.info", + "providers/build.info", + "doc/build.info", + "test/build.info", + "engines/build.info", + "crypto/objects/build.info", + "crypto/buffer/build.info", + "crypto/bio/build.info", + "crypto/stack/build.info", + "crypto/lhash/build.info", + "crypto/rand/build.info", + "crypto/evp/build.info", + "crypto/asn1/build.info", + "crypto/pem/build.info", + "crypto/x509/build.info", + "crypto/conf/build.info", + "crypto/txt_db/build.info", + "crypto/pkcs7/build.info", + "crypto/pkcs12/build.info", + "crypto/ui/build.info", + "crypto/kdf/build.info", + "crypto/store/build.info", + "crypto/property/build.info", + "crypto/md4/build.info", + "crypto/md5/build.info", + "crypto/sha/build.info", + "crypto/mdc2/build.info", + "crypto/hmac/build.info", + "crypto/ripemd/build.info", + "crypto/whrlpool/build.info", + "crypto/poly1305/build.info", + "crypto/siphash/build.info", + "crypto/sm3/build.info", + "crypto/des/build.info", + "crypto/aes/build.info", + "crypto/rc2/build.info", + "crypto/rc4/build.info", + "crypto/idea/build.info", + "crypto/aria/build.info", + "crypto/bf/build.info", + "crypto/cast/build.info", + "crypto/camellia/build.info", + "crypto/seed/build.info", + "crypto/sm4/build.info", + "crypto/chacha/build.info", + "crypto/modes/build.info", + "crypto/bn/build.info", + "crypto/ec/build.info", + "crypto/rsa/build.info", + "crypto/dsa/build.info", + "crypto/dh/build.info", + "crypto/sm2/build.info", + "crypto/dso/build.info", + "crypto/engine/build.info", + "crypto/err/build.info", + "crypto/http/build.info", + "crypto/ocsp/build.info", + "crypto/cms/build.info", + "crypto/ts/build.info", + "crypto/srp/build.info", + "crypto/cmac/build.info", + "crypto/ct/build.info", + "crypto/async/build.info", + "crypto/ess/build.info", + "crypto/crmf/build.info", + "crypto/cmp/build.info", + "crypto/encode_decode/build.info", + "crypto/ffc/build.info", + "apps/lib/build.info", + "providers/common/build.info", + "providers/implementations/build.info", + "providers/fips/build.info", + "doc/man1/build.info", + "providers/common/der/build.info", + "providers/implementations/digests/build.info", + "providers/implementations/ciphers/build.info", + "providers/implementations/rands/build.info", + "providers/implementations/macs/build.info", + "providers/implementations/kdfs/build.info", + "providers/implementations/exchange/build.info", + "providers/implementations/keymgmt/build.info", + "providers/implementations/signature/build.info", + "providers/implementations/asymciphers/build.info", + "providers/implementations/encode_decode/build.info", + "providers/implementations/storemgmt/build.info", + "providers/implementations/kem/build.info", + "providers/implementations/rands/seeding/build.info" + ], + "build_metadata" => "+quic", + "build_type" => "release", + "builddir" => ".", + "cflags" => [], + "conf_files" => [ + "Configurations/00-base-templates.conf", + "Configurations/10-main.conf" + ], + "cppflags" => [], + "cxxflags" => [], + "defines" => [ + "NDEBUG" + ], + "dynamic_engines" => "0", + "ex_libs" => [], + "full_version" => "3.0.8+quic", + "includes" => [], + "lflags" => [], + "lib_defines" => [ + "OPENSSL_PIC" + ], + "libdir" => "", + "major" => "3", + "makedep_scheme" => "gcc", + "minor" => "0", + "openssl_api_defines" => [ + "OPENSSL_CONFIGURED_API=30000" + ], + "openssl_feature_defines" => [ + "OPENSSL_RAND_SEED_OS", + "OPENSSL_THREADS", + "OPENSSL_NO_AFALGENG", + "OPENSSL_NO_ASAN", + "OPENSSL_NO_ASM", + "OPENSSL_NO_COMP", + "OPENSSL_NO_CRYPTO_MDEBUG", + "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", + "OPENSSL_NO_DEVCRYPTOENG", + "OPENSSL_NO_EC_NISTP_64_GCC_128", + "OPENSSL_NO_EGD", + "OPENSSL_NO_EXTERNAL_TESTS", + "OPENSSL_NO_FUZZ_AFL", + "OPENSSL_NO_FUZZ_LIBFUZZER", + "OPENSSL_NO_KTLS", + "OPENSSL_NO_LOADERENG", + "OPENSSL_NO_MD2", + "OPENSSL_NO_MSAN", + "OPENSSL_NO_RC5", + "OPENSSL_NO_SCTP", + "OPENSSL_NO_SSL3", + "OPENSSL_NO_SSL3_METHOD", + "OPENSSL_NO_TRACE", + "OPENSSL_NO_UBSAN", + "OPENSSL_NO_UNIT_TEST", + "OPENSSL_NO_UPLINK", + "OPENSSL_NO_WEAK_SSL_CIPHERS", + "OPENSSL_NO_DYNAMIC_ENGINE" + ], + "openssl_other_defines" => [ + "OPENSSL_NO_KTLS" + ], + "openssl_sys_defines" => [], + "openssldir" => "", + "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fuzz-afl no-fuzz-libfuzzer no-ktls no-loadereng no-md2 no-msan no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic", + "patch" => "8", + "perl_archname" => "x86_64-linux-gnu-thread-multi", + "perl_cmd" => "/usr/bin/perl", + "perl_version" => "5.34.0", + "perlargv" => [ + "no-comp", + "no-shared", + "no-afalgeng", + "enable-ssl-trace", + "enable-fips", + "no-asm", + "linux64-loongarch64" + ], + "perlenv" => { + "AR" => undef, + "ARFLAGS" => undef, + "AS" => undef, + "ASFLAGS" => undef, + "BUILDFILE" => undef, + "CC" => "gcc", + "CFLAGS" => undef, + "CPP" => undef, + "CPPDEFINES" => undef, + "CPPFLAGS" => undef, + "CPPINCLUDES" => undef, + "CROSS_COMPILE" => undef, + "CXX" => undef, + "CXXFLAGS" => undef, + "HASHBANGPERL" => undef, + "LD" => undef, + "LDFLAGS" => undef, + "LDLIBS" => undef, + "MT" => undef, + "MTFLAGS" => undef, + "OPENSSL_LOCAL_CONFIG_DIR" => undef, + "PERL" => undef, + "RANLIB" => undef, + "RC" => undef, + "RCFLAGS" => undef, + "RM" => undef, + "WINDRES" => undef, + "__CNF_CFLAGS" => undef, + "__CNF_CPPDEFINES" => undef, + "__CNF_CPPFLAGS" => undef, + "__CNF_CPPINCLUDES" => undef, + "__CNF_CXXFLAGS" => undef, + "__CNF_LDFLAGS" => undef, + "__CNF_LDLIBS" => undef + }, + "prefix" => "", + "prerelease" => "", + "processor" => "", + "rc4_int" => "unsigned char", + "release_date" => "7 Feb 2023", + "shlib_version" => "81.3", + "sourcedir" => ".", + "target" => "linux64-loongarch64", + "version" => "3.0.8" +); +our %target = ( + "AR" => "ar", + "ARFLAGS" => "qc", + "CC" => "gcc", + "CFLAGS" => "-Wall -O3", + "CXX" => "g++", + "CXXFLAGS" => "-Wall -O3", + "HASHBANGPERL" => "/usr/bin/env perl", + "RANLIB" => "ranlib", + "RC" => "windres", + "_conf_fname_int" => [ + "Configurations/00-base-templates.conf", + "Configurations/00-base-templates.conf", + "Configurations/10-main.conf", + "Configurations/10-main.conf", + "Configurations/10-main.conf", + "Configurations/shared-info.pl" + ], + "bn_ops" => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + "build_file" => "Makefile", + "build_scheme" => [ + "unified", + "unix" + ], + "cflags" => "-pthread", + "cppflags" => "", + "cxxflags" => "-std=c++11 -pthread", + "defines" => [ + "OPENSSL_BUILDING_OPENSSL" + ], + "disable" => [], + "dso_ldflags" => "-Wl,-z,defs", + "dso_scheme" => "dlfcn", + "enable" => [ + "afalgeng" + ], + "ex_libs" => "-ldl -pthread", + "includes" => [], + "lflags" => "", + "lib_cflags" => "", + "lib_cppflags" => "-DOPENSSL_USE_NODELETE", + "lib_defines" => [], + "module_cflags" => "-fPIC", + "module_cxxflags" => undef, + "module_ldflags" => "-Wl,-znodelete -shared -Wl,-Bsymbolic", + "perl_platform" => "Unix", + "perlasm_scheme" => "linux64", + "shared_cflag" => "-fPIC", + "shared_defflag" => "-Wl,--version-script=", + "shared_defines" => [], + "shared_ldflag" => "-Wl,-znodelete -shared -Wl,-Bsymbolic", + "shared_rcflag" => "", + "shared_sonameflag" => "-Wl,-soname=", + "shared_target" => "linux-shared", + "template" => "1", + "thread_defines" => [], + "thread_scheme" => "pthreads", + "unistd" => "" +); +our @disablables = ( + "acvp-tests", + "afalgeng", + "aria", + "asan", + "asm", + "async", + "autoalginit", + "autoerrinit", + "autoload-config", + "bf", + "blake2", + "buildtest-c++", + "bulk", + "cached-fetch", + "camellia", + "capieng", + "cast", + "chacha", + "cmac", + "cmp", + "cms", + "comp", + "crypto-mdebug", + "ct", + "deprecated", + "des", + "devcryptoeng", + "dgram", + "dh", + "dsa", + "dso", + "dtls", + "dynamic-engine", + "ec", + "ec2m", + "ec_nistp_64_gcc_128", + "ecdh", + "ecdsa", + "egd", + "engine", + "err", + "external-tests", + "filenames", + "fips", + "fips-securitychecks", + "fuzz-afl", + "fuzz-libfuzzer", + "gost", + "idea", + "ktls", + "legacy", + "loadereng", + "makedepend", + "md2", + "md4", + "mdc2", + "module", + "msan", + "multiblock", + "nextprotoneg", + "ocb", + "ocsp", + "padlockeng", + "pic", + "pinshared", + "poly1305", + "posix-io", + "psk", + "quic", + "rc2", + "rc4", + "rc5", + "rdrand", + "rfc3779", + "rmd160", + "scrypt", + "sctp", + "secure-memory", + "seed", + "shared", + "siphash", + "siv", + "sm2", + "sm3", + "sm4", + "sock", + "srp", + "srtp", + "sse2", + "ssl", + "ssl-trace", + "static-engine", + "stdio", + "tests", + "threads", + "tls", + "trace", + "ts", + "ubsan", + "ui-console", + "unit-test", + "uplink", + "weak-ssl-ciphers", + "whirlpool", + "zlib", + "zlib-dynamic", + "ssl3", + "ssl3-method", + "tls1", + "tls1-method", + "tls1_1", + "tls1_1-method", + "tls1_2", + "tls1_2-method", + "tls1_3", + "dtls1", + "dtls1-method", + "dtls1_2", + "dtls1_2-method" +); +our @disablables_int = ( + "crmf" +); +our %disabled = ( + "afalgeng" => "option", + "asan" => "default", + "asm" => "no asm_arch", + "buildtest-c++" => "default", + "comp" => "option", + "crypto-mdebug" => "default", + "crypto-mdebug-backtrace" => "default", + "devcryptoeng" => "default", + "dynamic-engine" => "cascade", + "ec_nistp_64_gcc_128" => "default", + "egd" => "default", + "external-tests" => "default", + "fuzz-afl" => "default", + "fuzz-libfuzzer" => "default", + "ktls" => "default", + "loadereng" => "cascade", + "md2" => "default", + "msan" => "default", + "rc5" => "default", + "sctp" => "default", + "shared" => "option", + "ssl3" => "default", + "ssl3-method" => "default", + "trace" => "default", + "ubsan" => "default", + "unit-test" => "default", + "uplink" => "no uplink_arch", + "weak-ssl-ciphers" => "default", + "zlib" => "default", + "zlib-dynamic" => "default" +); +our %withargs = (); +our %unified_info = ( + "attributes" => { + "depends" => { + "doc/man1/openssl-asn1parse.pod" => { + "doc/man1/openssl-asn1parse.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-ca.pod" => { + "doc/man1/openssl-ca.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-ciphers.pod" => { + "doc/man1/openssl-ciphers.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-cmds.pod" => { + "doc/man1/openssl-cmds.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-cmp.pod" => { + "doc/man1/openssl-cmp.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-cms.pod" => { + "doc/man1/openssl-cms.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-crl.pod" => { + "doc/man1/openssl-crl.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-crl2pkcs7.pod" => { + "doc/man1/openssl-crl2pkcs7.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-dgst.pod" => { + "doc/man1/openssl-dgst.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-dhparam.pod" => { + "doc/man1/openssl-dhparam.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-dsa.pod" => { + "doc/man1/openssl-dsa.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-dsaparam.pod" => { + "doc/man1/openssl-dsaparam.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-ec.pod" => { + "doc/man1/openssl-ec.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-ecparam.pod" => { + "doc/man1/openssl-ecparam.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-enc.pod" => { + "doc/man1/openssl-enc.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-engine.pod" => { + "doc/man1/openssl-engine.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-errstr.pod" => { + "doc/man1/openssl-errstr.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-fipsinstall.pod" => { + "doc/man1/openssl-fipsinstall.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-gendsa.pod" => { + "doc/man1/openssl-gendsa.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-genpkey.pod" => { + "doc/man1/openssl-genpkey.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-genrsa.pod" => { + "doc/man1/openssl-genrsa.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-info.pod" => { + "doc/man1/openssl-info.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-kdf.pod" => { + "doc/man1/openssl-kdf.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-list.pod" => { + "doc/man1/openssl-list.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-mac.pod" => { + "doc/man1/openssl-mac.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-nseq.pod" => { + "doc/man1/openssl-nseq.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-ocsp.pod" => { + "doc/man1/openssl-ocsp.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-passwd.pod" => { + "doc/man1/openssl-passwd.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-pkcs12.pod" => { + "doc/man1/openssl-pkcs12.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-pkcs7.pod" => { + "doc/man1/openssl-pkcs7.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-pkcs8.pod" => { + "doc/man1/openssl-pkcs8.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-pkey.pod" => { + "doc/man1/openssl-pkey.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-pkeyparam.pod" => { + "doc/man1/openssl-pkeyparam.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-pkeyutl.pod" => { + "doc/man1/openssl-pkeyutl.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-prime.pod" => { + "doc/man1/openssl-prime.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-rand.pod" => { + "doc/man1/openssl-rand.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-rehash.pod" => { + "doc/man1/openssl-rehash.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-req.pod" => { + "doc/man1/openssl-req.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-rsa.pod" => { + "doc/man1/openssl-rsa.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-rsautl.pod" => { + "doc/man1/openssl-rsautl.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-s_client.pod" => { + "doc/man1/openssl-s_client.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-s_server.pod" => { + "doc/man1/openssl-s_server.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-s_time.pod" => { + "doc/man1/openssl-s_time.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-sess_id.pod" => { + "doc/man1/openssl-sess_id.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-smime.pod" => { + "doc/man1/openssl-smime.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-speed.pod" => { + "doc/man1/openssl-speed.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-spkac.pod" => { + "doc/man1/openssl-spkac.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-srp.pod" => { + "doc/man1/openssl-srp.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-storeutl.pod" => { + "doc/man1/openssl-storeutl.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-ts.pod" => { + "doc/man1/openssl-ts.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-verify.pod" => { + "doc/man1/openssl-verify.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-version.pod" => { + "doc/man1/openssl-version.pod.in" => { + "pod" => "1" + } + }, + "doc/man1/openssl-x509.pod" => { + "doc/man1/openssl-x509.pod.in" => { + "pod" => "1" + } + }, + "doc/man7/openssl_user_macros.pod" => { + "doc/man7/openssl_user_macros.pod.in" => { + "pod" => "1" + } + }, + "providers/libcommon.a" => { + "libcrypto" => { + "weak" => "1" + } + } + }, + "generate" => { + "include/openssl/configuration.h" => { + "skip" => "1" + } + }, + "libraries" => { + "apps/libapps.a" => { + "noinst" => "1" + }, + "providers/libcommon.a" => { + "noinst" => "1" + }, + "providers/libdefault.a" => { + "noinst" => "1" + }, + "providers/libfips.a" => { + "noinst" => "1" + }, + "providers/liblegacy.a" => { + "noinst" => "1" + }, + "test/libtestutil.a" => { + "has_main" => "1", + "noinst" => "1" + } + }, + "modules" => { + "providers/fips" => { + "fips" => "1" + }, + "test/p_test" => { + "noinst" => "1" + } + }, + "programs" => { + "fuzz/asn1-test" => { + "noinst" => "1" + }, + "fuzz/asn1parse-test" => { + "noinst" => "1" + }, + "fuzz/bignum-test" => { + "noinst" => "1" + }, + "fuzz/bndiv-test" => { + "noinst" => "1" + }, + "fuzz/client-test" => { + "noinst" => "1" + }, + "fuzz/cmp-test" => { + "noinst" => "1" + }, + "fuzz/cms-test" => { + "noinst" => "1" + }, + "fuzz/conf-test" => { + "noinst" => "1" + }, + "fuzz/crl-test" => { + "noinst" => "1" + }, + "fuzz/ct-test" => { + "noinst" => "1" + }, + "fuzz/server-test" => { + "noinst" => "1" + }, + "fuzz/x509-test" => { + "noinst" => "1" + }, + "test/aborttest" => { + "noinst" => "1" + }, + "test/acvp_test" => { + "noinst" => "1" + }, + "test/aesgcmtest" => { + "noinst" => "1" + }, + "test/afalgtest" => { + "noinst" => "1" + }, + "test/algorithmid_test" => { + "noinst" => "1" + }, + "test/asn1_decode_test" => { + "noinst" => "1" + }, + "test/asn1_dsa_internal_test" => { + "noinst" => "1" + }, + "test/asn1_encode_test" => { + "noinst" => "1" + }, + "test/asn1_internal_test" => { + "noinst" => "1" + }, + "test/asn1_string_table_test" => { + "noinst" => "1" + }, + "test/asn1_time_test" => { + "noinst" => "1" + }, + "test/asynciotest" => { + "noinst" => "1" + }, + "test/asynctest" => { + "noinst" => "1" + }, + "test/bad_dtls_test" => { + "noinst" => "1" + }, + "test/bftest" => { + "noinst" => "1" + }, + "test/bio_callback_test" => { + "noinst" => "1" + }, + "test/bio_core_test" => { + "noinst" => "1" + }, + "test/bio_enc_test" => { + "noinst" => "1" + }, + "test/bio_memleak_test" => { + "noinst" => "1" + }, + "test/bio_prefix_text" => { + "noinst" => "1" + }, + "test/bio_readbuffer_test" => { + "noinst" => "1" + }, + "test/bioprinttest" => { + "noinst" => "1" + }, + "test/bn_internal_test" => { + "noinst" => "1" + }, + "test/bntest" => { + "noinst" => "1" + }, + "test/buildtest_c_aes" => { + "noinst" => "1" + }, + "test/buildtest_c_async" => { + "noinst" => "1" + }, + "test/buildtest_c_blowfish" => { + "noinst" => "1" + }, + "test/buildtest_c_bn" => { + "noinst" => "1" + }, + "test/buildtest_c_buffer" => { + "noinst" => "1" + }, + "test/buildtest_c_camellia" => { + "noinst" => "1" + }, + "test/buildtest_c_cast" => { + "noinst" => "1" + }, + "test/buildtest_c_cmac" => { + "noinst" => "1" + }, + "test/buildtest_c_cmp_util" => { + "noinst" => "1" + }, + "test/buildtest_c_conf_api" => { + "noinst" => "1" + }, + "test/buildtest_c_conftypes" => { + "noinst" => "1" + }, + "test/buildtest_c_core" => { + "noinst" => "1" + }, + "test/buildtest_c_core_dispatch" => { + "noinst" => "1" + }, + "test/buildtest_c_core_names" => { + "noinst" => "1" + }, + "test/buildtest_c_core_object" => { + "noinst" => "1" + }, + "test/buildtest_c_cryptoerr_legacy" => { + "noinst" => "1" + }, + "test/buildtest_c_decoder" => { + "noinst" => "1" + }, + "test/buildtest_c_des" => { + "noinst" => "1" + }, + "test/buildtest_c_dh" => { + "noinst" => "1" + }, + "test/buildtest_c_dsa" => { + "noinst" => "1" + }, + "test/buildtest_c_dtls1" => { + "noinst" => "1" + }, + "test/buildtest_c_e_os2" => { + "noinst" => "1" + }, + "test/buildtest_c_ebcdic" => { + "noinst" => "1" + }, + "test/buildtest_c_ec" => { + "noinst" => "1" + }, + "test/buildtest_c_ecdh" => { + "noinst" => "1" + }, + "test/buildtest_c_ecdsa" => { + "noinst" => "1" + }, + "test/buildtest_c_encoder" => { + "noinst" => "1" + }, + "test/buildtest_c_engine" => { + "noinst" => "1" + }, + "test/buildtest_c_evp" => { + "noinst" => "1" + }, + "test/buildtest_c_fips_names" => { + "noinst" => "1" + }, + "test/buildtest_c_hmac" => { + "noinst" => "1" + }, + "test/buildtest_c_http" => { + "noinst" => "1" + }, + "test/buildtest_c_idea" => { + "noinst" => "1" + }, + "test/buildtest_c_kdf" => { + "noinst" => "1" + }, + "test/buildtest_c_macros" => { + "noinst" => "1" + }, + "test/buildtest_c_md4" => { + "noinst" => "1" + }, + "test/buildtest_c_md5" => { + "noinst" => "1" + }, + "test/buildtest_c_mdc2" => { + "noinst" => "1" + }, + "test/buildtest_c_modes" => { + "noinst" => "1" + }, + "test/buildtest_c_obj_mac" => { + "noinst" => "1" + }, + "test/buildtest_c_objects" => { + "noinst" => "1" + }, + "test/buildtest_c_ossl_typ" => { + "noinst" => "1" + }, + "test/buildtest_c_param_build" => { + "noinst" => "1" + }, + "test/buildtest_c_params" => { + "noinst" => "1" + }, + "test/buildtest_c_pem" => { + "noinst" => "1" + }, + "test/buildtest_c_pem2" => { + "noinst" => "1" + }, + "test/buildtest_c_prov_ssl" => { + "noinst" => "1" + }, + "test/buildtest_c_provider" => { + "noinst" => "1" + }, + "test/buildtest_c_quic" => { + "noinst" => "1" + }, + "test/buildtest_c_rand" => { + "noinst" => "1" + }, + "test/buildtest_c_rc2" => { + "noinst" => "1" + }, + "test/buildtest_c_rc4" => { + "noinst" => "1" + }, + "test/buildtest_c_ripemd" => { + "noinst" => "1" + }, + "test/buildtest_c_rsa" => { + "noinst" => "1" + }, + "test/buildtest_c_seed" => { + "noinst" => "1" + }, + "test/buildtest_c_self_test" => { + "noinst" => "1" + }, + "test/buildtest_c_sha" => { + "noinst" => "1" + }, + "test/buildtest_c_srtp" => { + "noinst" => "1" + }, + "test/buildtest_c_ssl2" => { + "noinst" => "1" + }, + "test/buildtest_c_sslerr_legacy" => { + "noinst" => "1" + }, + "test/buildtest_c_stack" => { + "noinst" => "1" + }, + "test/buildtest_c_store" => { + "noinst" => "1" + }, + "test/buildtest_c_symhacks" => { + "noinst" => "1" + }, + "test/buildtest_c_tls1" => { + "noinst" => "1" + }, + "test/buildtest_c_ts" => { + "noinst" => "1" + }, + "test/buildtest_c_txt_db" => { + "noinst" => "1" + }, + "test/buildtest_c_types" => { + "noinst" => "1" + }, + "test/buildtest_c_whrlpool" => { + "noinst" => "1" + }, + "test/casttest" => { + "noinst" => "1" + }, + "test/chacha_internal_test" => { + "noinst" => "1" + }, + "test/cipher_overhead_test" => { + "noinst" => "1" + }, + "test/cipherbytes_test" => { + "noinst" => "1" + }, + "test/cipherlist_test" => { + "noinst" => "1" + }, + "test/ciphername_test" => { + "noinst" => "1" + }, + "test/clienthellotest" => { + "noinst" => "1" + }, + "test/cmactest" => { + "noinst" => "1" + }, + "test/cmp_asn_test" => { + "noinst" => "1" + }, + "test/cmp_client_test" => { + "noinst" => "1" + }, + "test/cmp_ctx_test" => { + "noinst" => "1" + }, + "test/cmp_hdr_test" => { + "noinst" => "1" + }, + "test/cmp_msg_test" => { + "noinst" => "1" + }, + "test/cmp_protect_test" => { + "noinst" => "1" + }, + "test/cmp_server_test" => { + "noinst" => "1" + }, + "test/cmp_status_test" => { + "noinst" => "1" + }, + "test/cmp_vfy_test" => { + "noinst" => "1" + }, + "test/cmsapitest" => { + "noinst" => "1" + }, + "test/conf_include_test" => { + "noinst" => "1" + }, + "test/confdump" => { + "noinst" => "1" + }, + "test/constant_time_test" => { + "noinst" => "1" + }, + "test/context_internal_test" => { + "noinst" => "1" + }, + "test/crltest" => { + "noinst" => "1" + }, + "test/ct_test" => { + "noinst" => "1" + }, + "test/ctype_internal_test" => { + "noinst" => "1" + }, + "test/curve448_internal_test" => { + "noinst" => "1" + }, + "test/d2i_test" => { + "noinst" => "1" + }, + "test/danetest" => { + "noinst" => "1" + }, + "test/defltfips_test" => { + "noinst" => "1" + }, + "test/destest" => { + "noinst" => "1" + }, + "test/dhtest" => { + "noinst" => "1" + }, + "test/drbgtest" => { + "noinst" => "1" + }, + "test/dsa_no_digest_size_test" => { + "noinst" => "1" + }, + "test/dsatest" => { + "noinst" => "1" + }, + "test/dtls_mtu_test" => { + "noinst" => "1" + }, + "test/dtlstest" => { + "noinst" => "1" + }, + "test/dtlsv1listentest" => { + "noinst" => "1" + }, + "test/ec_internal_test" => { + "noinst" => "1" + }, + "test/ecdsatest" => { + "noinst" => "1" + }, + "test/ecstresstest" => { + "noinst" => "1" + }, + "test/ectest" => { + "noinst" => "1" + }, + "test/endecode_test" => { + "noinst" => "1" + }, + "test/endecoder_legacy_test" => { + "noinst" => "1" + }, + "test/enginetest" => { + "noinst" => "1" + }, + "test/errtest" => { + "noinst" => "1" + }, + "test/evp_extra_test" => { + "noinst" => "1" + }, + "test/evp_extra_test2" => { + "noinst" => "1" + }, + "test/evp_fetch_prov_test" => { + "noinst" => "1" + }, + "test/evp_kdf_test" => { + "noinst" => "1" + }, + "test/evp_libctx_test" => { + "noinst" => "1" + }, + "test/evp_pkey_ctx_new_from_name" => { + "noinst" => "1" + }, + "test/evp_pkey_dparams_test" => { + "noinst" => "1" + }, + "test/evp_pkey_provided_test" => { + "noinst" => "1" + }, + "test/evp_test" => { + "noinst" => "1" + }, + "test/exdatatest" => { + "noinst" => "1" + }, + "test/exptest" => { + "noinst" => "1" + }, + "test/ext_internal_test" => { + "noinst" => "1" + }, + "test/fatalerrtest" => { + "noinst" => "1" + }, + "test/ffc_internal_test" => { + "noinst" => "1" + }, + "test/fips_version_test" => { + "noinst" => "1" + }, + "test/gmdifftest" => { + "noinst" => "1" + }, + "test/hexstr_test" => { + "noinst" => "1" + }, + "test/hmactest" => { + "noinst" => "1" + }, + "test/http_test" => { + "noinst" => "1" + }, + "test/ideatest" => { + "noinst" => "1" + }, + "test/igetest" => { + "noinst" => "1" + }, + "test/keymgmt_internal_test" => { + "noinst" => "1" + }, + "test/lhash_test" => { + "noinst" => "1" + }, + "test/localetest" => { + "noinst" => "1" + }, + "test/mdc2_internal_test" => { + "noinst" => "1" + }, + "test/mdc2test" => { + "noinst" => "1" + }, + "test/memleaktest" => { + "noinst" => "1" + }, + "test/modes_internal_test" => { + "noinst" => "1" + }, + "test/namemap_internal_test" => { + "noinst" => "1" + }, + "test/ocspapitest" => { + "noinst" => "1" + }, + "test/ossl_store_test" => { + "noinst" => "1" + }, + "test/packettest" => { + "noinst" => "1" + }, + "test/param_build_test" => { + "noinst" => "1" + }, + "test/params_api_test" => { + "noinst" => "1" + }, + "test/params_conversion_test" => { + "noinst" => "1" + }, + "test/params_test" => { + "noinst" => "1" + }, + "test/pbelutest" => { + "noinst" => "1" + }, + "test/pbetest" => { + "noinst" => "1" + }, + "test/pem_read_depr_test" => { + "noinst" => "1" + }, + "test/pemtest" => { + "noinst" => "1" + }, + "test/pkcs12_format_test" => { + "noinst" => "1" + }, + "test/pkcs7_test" => { + "noinst" => "1" + }, + "test/pkey_meth_kdf_test" => { + "noinst" => "1" + }, + "test/pkey_meth_test" => { + "noinst" => "1" + }, + "test/poly1305_internal_test" => { + "noinst" => "1" + }, + "test/property_test" => { + "noinst" => "1" + }, + "test/prov_config_test" => { + "noinst" => "1" + }, + "test/provfetchtest" => { + "noinst" => "1" + }, + "test/provider_fallback_test" => { + "noinst" => "1" + }, + "test/provider_internal_test" => { + "noinst" => "1" + }, + "test/provider_pkey_test" => { + "noinst" => "1" + }, + "test/provider_status_test" => { + "noinst" => "1" + }, + "test/provider_test" => { + "noinst" => "1" + }, + "test/punycode_test" => { + "noinst" => "1" + }, + "test/rand_status_test" => { + "noinst" => "1" + }, + "test/rand_test" => { + "noinst" => "1" + }, + "test/rc2test" => { + "noinst" => "1" + }, + "test/rc4test" => { + "noinst" => "1" + }, + "test/rc5test" => { + "noinst" => "1" + }, + "test/rdrand_sanitytest" => { + "noinst" => "1" + }, + "test/recordlentest" => { + "noinst" => "1" + }, + "test/rsa_complex" => { + "noinst" => "1" + }, + "test/rsa_mp_test" => { + "noinst" => "1" + }, + "test/rsa_sp800_56b_test" => { + "noinst" => "1" + }, + "test/rsa_test" => { + "noinst" => "1" + }, + "test/sanitytest" => { + "noinst" => "1" + }, + "test/secmemtest" => { + "noinst" => "1" + }, + "test/servername_test" => { + "noinst" => "1" + }, + "test/sha_test" => { + "noinst" => "1" + }, + "test/siphash_internal_test" => { + "noinst" => "1" + }, + "test/sm2_internal_test" => { + "noinst" => "1" + }, + "test/sm3_internal_test" => { + "noinst" => "1" + }, + "test/sm4_internal_test" => { + "noinst" => "1" + }, + "test/sparse_array_test" => { + "noinst" => "1" + }, + "test/srptest" => { + "noinst" => "1" + }, + "test/ssl_cert_table_internal_test" => { + "noinst" => "1" + }, + "test/ssl_ctx_test" => { + "noinst" => "1" + }, + "test/ssl_old_test" => { + "noinst" => "1" + }, + "test/ssl_test" => { + "noinst" => "1" + }, + "test/ssl_test_ctx_test" => { + "noinst" => "1" + }, + "test/sslapitest" => { + "noinst" => "1" + }, + "test/sslbuffertest" => { + "noinst" => "1" + }, + "test/sslcorrupttest" => { + "noinst" => "1" + }, + "test/stack_test" => { + "noinst" => "1" + }, + "test/sysdefaulttest" => { + "noinst" => "1" + }, + "test/test_test" => { + "noinst" => "1" + }, + "test/threadstest" => { + "noinst" => "1" + }, + "test/threadstest_fips" => { + "noinst" => "1" + }, + "test/time_offset_test" => { + "noinst" => "1" + }, + "test/tls13ccstest" => { + "noinst" => "1" + }, + "test/tls13encryptiontest" => { + "noinst" => "1" + }, + "test/trace_api_test" => { + "noinst" => "1" + }, + "test/uitest" => { + "noinst" => "1" + }, + "test/upcallstest" => { + "noinst" => "1" + }, + "test/user_property_test" => { + "noinst" => "1" + }, + "test/v3ext" => { + "noinst" => "1" + }, + "test/v3nametest" => { + "noinst" => "1" + }, + "test/verify_extra_test" => { + "noinst" => "1" + }, + "test/versions" => { + "noinst" => "1" + }, + "test/wpackettest" => { + "noinst" => "1" + }, + "test/x509_check_cert_pkey_test" => { + "noinst" => "1" + }, + "test/x509_dup_cert_test" => { + "noinst" => "1" + }, + "test/x509_internal_test" => { + "noinst" => "1" + }, + "test/x509_time_test" => { + "noinst" => "1" + }, + "test/x509aux" => { + "noinst" => "1" + } + }, + "scripts" => { + "apps/CA.pl" => { + "misc" => "1" + }, + "apps/tsget.pl" => { + "linkname" => "tsget", + "misc" => "1" + }, + "util/shlib_wrap.sh" => { + "noinst" => "1" + }, + "util/wrap.pl" => { + "noinst" => "1" + } + }, + "sources" => { + "apps/openssl" => { + "apps/openssl-bin-progs.o" => { + "nocheck" => "1" + } + }, + "apps/openssl-bin-progs.o" => { + "apps/progs.c" => { + "nocheck" => "1" + } + }, + "apps/progs.o" => {} + } + }, + "defines" => { + "providers/fips" => [ + "FIPS_MODULE" + ], + "providers/libfips.a" => [ + "FIPS_MODULE" + ], + "test/provider_internal_test" => [ + "PROVIDER_INIT_FUNCTION_NAME=p_test_init" + ], + "test/provider_test" => [ + "PROVIDER_INIT_FUNCTION_NAME=p_test_init" + ] + }, + "depends" => { + "" => [ + "include/crypto/bn_conf.h", + "include/crypto/dso_conf.h", + "include/openssl/asn1.h", + "include/openssl/asn1t.h", + "include/openssl/bio.h", + "include/openssl/cmp.h", + "include/openssl/cms.h", + "include/openssl/conf.h", + "include/openssl/crmf.h", + "include/openssl/crypto.h", + "include/openssl/ct.h", + "include/openssl/err.h", + "include/openssl/ess.h", + "include/openssl/fipskey.h", + "include/openssl/lhash.h", + "include/openssl/ocsp.h", + "include/openssl/opensslv.h", + "include/openssl/pkcs12.h", + "include/openssl/pkcs7.h", + "include/openssl/safestack.h", + "include/openssl/srp.h", + "include/openssl/ssl.h", + "include/openssl/ui.h", + "include/openssl/x509.h", + "include/openssl/x509_vfy.h", + "include/openssl/x509v3.h", + "test/provider_internal_test.cnf" + ], + "apps/lib/cmp_client_test-bin-cmp_mock_srv.o" => [ + "apps/progs.h" + ], + "apps/lib/openssl-bin-cmp_mock_srv.o" => [ + "apps/progs.h" + ], + "apps/openssl" => [ + "apps/libapps.a", + "libssl" + ], + "apps/openssl-bin-asn1parse.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-ca.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-ciphers.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-cmp.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-cms.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-crl.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-crl2pkcs7.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-dgst.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-dhparam.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-dsa.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-dsaparam.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-ec.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-ecparam.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-enc.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-engine.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-errstr.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-fipsinstall.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-gendsa.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-genpkey.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-genrsa.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-info.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-kdf.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-list.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-mac.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-nseq.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-ocsp.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-openssl.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-passwd.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-pkcs12.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-pkcs7.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-pkcs8.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-pkey.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-pkeyparam.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-pkeyutl.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-prime.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-progs.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-rand.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-rehash.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-req.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-rsa.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-rsautl.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-s_client.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-s_server.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-s_time.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-sess_id.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-smime.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-speed.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-spkac.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-srp.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-storeutl.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-ts.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-verify.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-version.o" => [ + "apps/progs.h" + ], + "apps/openssl-bin-x509.o" => [ + "apps/progs.h" + ], + "apps/progs.c" => [ + "configdata.pm" + ], + "apps/progs.h" => [ + "apps/progs.c" + ], + "build_modules_nodep" => [ + "providers/fipsmodule.cnf" + ], + "crypto/aes/aes-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/aes/aesni-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/aes/aest4-sparcv9.S" => [ + "crypto/perlasm/sparcv9_modes.pl" + ], + "crypto/aes/vpaes-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/bf/bf-586.S" => [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl" + ], + "crypto/bn/bn-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/bn/co-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/bn/x86-gf2m.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/bn/x86-mont.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/camellia/cmll-x86.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/camellia/cmllt4-sparcv9.S" => [ + "crypto/perlasm/sparcv9_modes.pl" + ], + "crypto/cast/cast-586.S" => [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl" + ], + "crypto/des/crypt586.S" => [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl" + ], + "crypto/des/des-586.S" => [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl" + ], + "crypto/libcrypto-lib-cversion.o" => [ + "crypto/buildinf.h" + ], + "crypto/libcrypto-lib-info.o" => [ + "crypto/buildinf.h" + ], + "crypto/rc4/rc4-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/ripemd/rmd-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/sha/sha1-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/sha/sha256-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/sha/sha512-586.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/whrlpool/wp-mmx.S" => [ + "crypto/perlasm/x86asm.pl" + ], + "crypto/x86cpuid.s" => [ + "crypto/perlasm/x86asm.pl" + ], + "doc/html/man1/CA.pl.html" => [ + "doc/man1/CA.pl.pod" + ], + "doc/html/man1/openssl-asn1parse.html" => [ + "doc/man1/openssl-asn1parse.pod" + ], + "doc/html/man1/openssl-ca.html" => [ + "doc/man1/openssl-ca.pod" + ], + "doc/html/man1/openssl-ciphers.html" => [ + "doc/man1/openssl-ciphers.pod" + ], + "doc/html/man1/openssl-cmds.html" => [ + "doc/man1/openssl-cmds.pod" + ], + "doc/html/man1/openssl-cmp.html" => [ + "doc/man1/openssl-cmp.pod" + ], + "doc/html/man1/openssl-cms.html" => [ + "doc/man1/openssl-cms.pod" + ], + "doc/html/man1/openssl-crl.html" => [ + "doc/man1/openssl-crl.pod" + ], + "doc/html/man1/openssl-crl2pkcs7.html" => [ + "doc/man1/openssl-crl2pkcs7.pod" + ], + "doc/html/man1/openssl-dgst.html" => [ + "doc/man1/openssl-dgst.pod" + ], + "doc/html/man1/openssl-dhparam.html" => [ + "doc/man1/openssl-dhparam.pod" + ], + "doc/html/man1/openssl-dsa.html" => [ + "doc/man1/openssl-dsa.pod" + ], + "doc/html/man1/openssl-dsaparam.html" => [ + "doc/man1/openssl-dsaparam.pod" + ], + "doc/html/man1/openssl-ec.html" => [ + "doc/man1/openssl-ec.pod" + ], + "doc/html/man1/openssl-ecparam.html" => [ + "doc/man1/openssl-ecparam.pod" + ], + "doc/html/man1/openssl-enc.html" => [ + "doc/man1/openssl-enc.pod" + ], + "doc/html/man1/openssl-engine.html" => [ + "doc/man1/openssl-engine.pod" + ], + "doc/html/man1/openssl-errstr.html" => [ + "doc/man1/openssl-errstr.pod" + ], + "doc/html/man1/openssl-fipsinstall.html" => [ + "doc/man1/openssl-fipsinstall.pod" + ], + "doc/html/man1/openssl-format-options.html" => [ + "doc/man1/openssl-format-options.pod" + ], + "doc/html/man1/openssl-gendsa.html" => [ + "doc/man1/openssl-gendsa.pod" + ], + "doc/html/man1/openssl-genpkey.html" => [ + "doc/man1/openssl-genpkey.pod" + ], + "doc/html/man1/openssl-genrsa.html" => [ + "doc/man1/openssl-genrsa.pod" + ], + "doc/html/man1/openssl-info.html" => [ + "doc/man1/openssl-info.pod" + ], + "doc/html/man1/openssl-kdf.html" => [ + "doc/man1/openssl-kdf.pod" + ], + "doc/html/man1/openssl-list.html" => [ + "doc/man1/openssl-list.pod" + ], + "doc/html/man1/openssl-mac.html" => [ + "doc/man1/openssl-mac.pod" + ], + "doc/html/man1/openssl-namedisplay-options.html" => [ + "doc/man1/openssl-namedisplay-options.pod" + ], + "doc/html/man1/openssl-nseq.html" => [ + "doc/man1/openssl-nseq.pod" + ], + "doc/html/man1/openssl-ocsp.html" => [ + "doc/man1/openssl-ocsp.pod" + ], + "doc/html/man1/openssl-passphrase-options.html" => [ + "doc/man1/openssl-passphrase-options.pod" + ], + "doc/html/man1/openssl-passwd.html" => [ + "doc/man1/openssl-passwd.pod" + ], + "doc/html/man1/openssl-pkcs12.html" => [ + "doc/man1/openssl-pkcs12.pod" + ], + "doc/html/man1/openssl-pkcs7.html" => [ + "doc/man1/openssl-pkcs7.pod" + ], + "doc/html/man1/openssl-pkcs8.html" => [ + "doc/man1/openssl-pkcs8.pod" + ], + "doc/html/man1/openssl-pkey.html" => [ + "doc/man1/openssl-pkey.pod" + ], + "doc/html/man1/openssl-pkeyparam.html" => [ + "doc/man1/openssl-pkeyparam.pod" + ], + "doc/html/man1/openssl-pkeyutl.html" => [ + "doc/man1/openssl-pkeyutl.pod" + ], + "doc/html/man1/openssl-prime.html" => [ + "doc/man1/openssl-prime.pod" + ], + "doc/html/man1/openssl-rand.html" => [ + "doc/man1/openssl-rand.pod" + ], + "doc/html/man1/openssl-rehash.html" => [ + "doc/man1/openssl-rehash.pod" + ], + "doc/html/man1/openssl-req.html" => [ + "doc/man1/openssl-req.pod" + ], + "doc/html/man1/openssl-rsa.html" => [ + "doc/man1/openssl-rsa.pod" + ], + "doc/html/man1/openssl-rsautl.html" => [ + "doc/man1/openssl-rsautl.pod" + ], + "doc/html/man1/openssl-s_client.html" => [ + "doc/man1/openssl-s_client.pod" + ], + "doc/html/man1/openssl-s_server.html" => [ + "doc/man1/openssl-s_server.pod" + ], + "doc/html/man1/openssl-s_time.html" => [ + "doc/man1/openssl-s_time.pod" + ], + "doc/html/man1/openssl-sess_id.html" => [ + "doc/man1/openssl-sess_id.pod" + ], + "doc/html/man1/openssl-smime.html" => [ + "doc/man1/openssl-smime.pod" + ], + "doc/html/man1/openssl-speed.html" => [ + "doc/man1/openssl-speed.pod" + ], + "doc/html/man1/openssl-spkac.html" => [ + "doc/man1/openssl-spkac.pod" + ], + "doc/html/man1/openssl-srp.html" => [ + "doc/man1/openssl-srp.pod" + ], + "doc/html/man1/openssl-storeutl.html" => [ + "doc/man1/openssl-storeutl.pod" + ], + "doc/html/man1/openssl-ts.html" => [ + "doc/man1/openssl-ts.pod" + ], + "doc/html/man1/openssl-verification-options.html" => [ + "doc/man1/openssl-verification-options.pod" + ], + "doc/html/man1/openssl-verify.html" => [ + "doc/man1/openssl-verify.pod" + ], + "doc/html/man1/openssl-version.html" => [ + "doc/man1/openssl-version.pod" + ], + "doc/html/man1/openssl-x509.html" => [ + "doc/man1/openssl-x509.pod" + ], + "doc/html/man1/openssl.html" => [ + "doc/man1/openssl.pod" + ], + "doc/html/man1/tsget.html" => [ + "doc/man1/tsget.pod" + ], + "doc/html/man3/ADMISSIONS.html" => [ + "doc/man3/ADMISSIONS.pod" + ], + "doc/html/man3/ASN1_EXTERN_FUNCS.html" => [ + "doc/man3/ASN1_EXTERN_FUNCS.pod" + ], + "doc/html/man3/ASN1_INTEGER_get_int64.html" => [ + "doc/man3/ASN1_INTEGER_get_int64.pod" + ], + "doc/html/man3/ASN1_INTEGER_new.html" => [ + "doc/man3/ASN1_INTEGER_new.pod" + ], + "doc/html/man3/ASN1_ITEM_lookup.html" => [ + "doc/man3/ASN1_ITEM_lookup.pod" + ], + "doc/html/man3/ASN1_OBJECT_new.html" => [ + "doc/man3/ASN1_OBJECT_new.pod" + ], + "doc/html/man3/ASN1_STRING_TABLE_add.html" => [ + "doc/man3/ASN1_STRING_TABLE_add.pod" + ], + "doc/html/man3/ASN1_STRING_length.html" => [ + "doc/man3/ASN1_STRING_length.pod" + ], + "doc/html/man3/ASN1_STRING_new.html" => [ + "doc/man3/ASN1_STRING_new.pod" + ], + "doc/html/man3/ASN1_STRING_print_ex.html" => [ + "doc/man3/ASN1_STRING_print_ex.pod" + ], + "doc/html/man3/ASN1_TIME_set.html" => [ + "doc/man3/ASN1_TIME_set.pod" + ], + "doc/html/man3/ASN1_TYPE_get.html" => [ + "doc/man3/ASN1_TYPE_get.pod" + ], + "doc/html/man3/ASN1_aux_cb.html" => [ + "doc/man3/ASN1_aux_cb.pod" + ], + "doc/html/man3/ASN1_generate_nconf.html" => [ + "doc/man3/ASN1_generate_nconf.pod" + ], + "doc/html/man3/ASN1_item_d2i_bio.html" => [ + "doc/man3/ASN1_item_d2i_bio.pod" + ], + "doc/html/man3/ASN1_item_new.html" => [ + "doc/man3/ASN1_item_new.pod" + ], + "doc/html/man3/ASN1_item_sign.html" => [ + "doc/man3/ASN1_item_sign.pod" + ], + "doc/html/man3/ASYNC_WAIT_CTX_new.html" => [ + "doc/man3/ASYNC_WAIT_CTX_new.pod" + ], + "doc/html/man3/ASYNC_start_job.html" => [ + "doc/man3/ASYNC_start_job.pod" + ], + "doc/html/man3/BF_encrypt.html" => [ + "doc/man3/BF_encrypt.pod" + ], + "doc/html/man3/BIO_ADDR.html" => [ + "doc/man3/BIO_ADDR.pod" + ], + "doc/html/man3/BIO_ADDRINFO.html" => [ + "doc/man3/BIO_ADDRINFO.pod" + ], + "doc/html/man3/BIO_connect.html" => [ + "doc/man3/BIO_connect.pod" + ], + "doc/html/man3/BIO_ctrl.html" => [ + "doc/man3/BIO_ctrl.pod" + ], + "doc/html/man3/BIO_f_base64.html" => [ + "doc/man3/BIO_f_base64.pod" + ], + "doc/html/man3/BIO_f_buffer.html" => [ + "doc/man3/BIO_f_buffer.pod" + ], + "doc/html/man3/BIO_f_cipher.html" => [ + "doc/man3/BIO_f_cipher.pod" + ], + "doc/html/man3/BIO_f_md.html" => [ + "doc/man3/BIO_f_md.pod" + ], + "doc/html/man3/BIO_f_null.html" => [ + "doc/man3/BIO_f_null.pod" + ], + "doc/html/man3/BIO_f_prefix.html" => [ + "doc/man3/BIO_f_prefix.pod" + ], + "doc/html/man3/BIO_f_readbuffer.html" => [ + "doc/man3/BIO_f_readbuffer.pod" + ], + "doc/html/man3/BIO_f_ssl.html" => [ + "doc/man3/BIO_f_ssl.pod" + ], + "doc/html/man3/BIO_find_type.html" => [ + "doc/man3/BIO_find_type.pod" + ], + "doc/html/man3/BIO_get_data.html" => [ + "doc/man3/BIO_get_data.pod" + ], + "doc/html/man3/BIO_get_ex_new_index.html" => [ + "doc/man3/BIO_get_ex_new_index.pod" + ], + "doc/html/man3/BIO_meth_new.html" => [ + "doc/man3/BIO_meth_new.pod" + ], + "doc/html/man3/BIO_new.html" => [ + "doc/man3/BIO_new.pod" + ], + "doc/html/man3/BIO_new_CMS.html" => [ + "doc/man3/BIO_new_CMS.pod" + ], + "doc/html/man3/BIO_parse_hostserv.html" => [ + "doc/man3/BIO_parse_hostserv.pod" + ], + "doc/html/man3/BIO_printf.html" => [ + "doc/man3/BIO_printf.pod" + ], + "doc/html/man3/BIO_push.html" => [ + "doc/man3/BIO_push.pod" + ], + "doc/html/man3/BIO_read.html" => [ + "doc/man3/BIO_read.pod" + ], + "doc/html/man3/BIO_s_accept.html" => [ + "doc/man3/BIO_s_accept.pod" + ], + "doc/html/man3/BIO_s_bio.html" => [ + "doc/man3/BIO_s_bio.pod" + ], + "doc/html/man3/BIO_s_connect.html" => [ + "doc/man3/BIO_s_connect.pod" + ], + "doc/html/man3/BIO_s_core.html" => [ + "doc/man3/BIO_s_core.pod" + ], + "doc/html/man3/BIO_s_datagram.html" => [ + "doc/man3/BIO_s_datagram.pod" + ], + "doc/html/man3/BIO_s_fd.html" => [ + "doc/man3/BIO_s_fd.pod" + ], + "doc/html/man3/BIO_s_file.html" => [ + "doc/man3/BIO_s_file.pod" + ], + "doc/html/man3/BIO_s_mem.html" => [ + "doc/man3/BIO_s_mem.pod" + ], + "doc/html/man3/BIO_s_null.html" => [ + "doc/man3/BIO_s_null.pod" + ], + "doc/html/man3/BIO_s_socket.html" => [ + "doc/man3/BIO_s_socket.pod" + ], + "doc/html/man3/BIO_set_callback.html" => [ + "doc/man3/BIO_set_callback.pod" + ], + "doc/html/man3/BIO_should_retry.html" => [ + "doc/man3/BIO_should_retry.pod" + ], + "doc/html/man3/BIO_socket_wait.html" => [ + "doc/man3/BIO_socket_wait.pod" + ], + "doc/html/man3/BN_BLINDING_new.html" => [ + "doc/man3/BN_BLINDING_new.pod" + ], + "doc/html/man3/BN_CTX_new.html" => [ + "doc/man3/BN_CTX_new.pod" + ], + "doc/html/man3/BN_CTX_start.html" => [ + "doc/man3/BN_CTX_start.pod" + ], + "doc/html/man3/BN_add.html" => [ + "doc/man3/BN_add.pod" + ], + "doc/html/man3/BN_add_word.html" => [ + "doc/man3/BN_add_word.pod" + ], + "doc/html/man3/BN_bn2bin.html" => [ + "doc/man3/BN_bn2bin.pod" + ], + "doc/html/man3/BN_cmp.html" => [ + "doc/man3/BN_cmp.pod" + ], + "doc/html/man3/BN_copy.html" => [ + "doc/man3/BN_copy.pod" + ], + "doc/html/man3/BN_generate_prime.html" => [ + "doc/man3/BN_generate_prime.pod" + ], + "doc/html/man3/BN_mod_exp_mont.html" => [ + "doc/man3/BN_mod_exp_mont.pod" + ], + "doc/html/man3/BN_mod_inverse.html" => [ + "doc/man3/BN_mod_inverse.pod" + ], + "doc/html/man3/BN_mod_mul_montgomery.html" => [ + "doc/man3/BN_mod_mul_montgomery.pod" + ], + "doc/html/man3/BN_mod_mul_reciprocal.html" => [ + "doc/man3/BN_mod_mul_reciprocal.pod" + ], + "doc/html/man3/BN_new.html" => [ + "doc/man3/BN_new.pod" + ], + "doc/html/man3/BN_num_bytes.html" => [ + "doc/man3/BN_num_bytes.pod" + ], + "doc/html/man3/BN_rand.html" => [ + "doc/man3/BN_rand.pod" + ], + "doc/html/man3/BN_security_bits.html" => [ + "doc/man3/BN_security_bits.pod" + ], + "doc/html/man3/BN_set_bit.html" => [ + "doc/man3/BN_set_bit.pod" + ], + "doc/html/man3/BN_swap.html" => [ + "doc/man3/BN_swap.pod" + ], + "doc/html/man3/BN_zero.html" => [ + "doc/man3/BN_zero.pod" + ], + "doc/html/man3/BUF_MEM_new.html" => [ + "doc/man3/BUF_MEM_new.pod" + ], + "doc/html/man3/CMS_EncryptedData_decrypt.html" => [ + "doc/man3/CMS_EncryptedData_decrypt.pod" + ], + "doc/html/man3/CMS_EncryptedData_encrypt.html" => [ + "doc/man3/CMS_EncryptedData_encrypt.pod" + ], + "doc/html/man3/CMS_EnvelopedData_create.html" => [ + "doc/man3/CMS_EnvelopedData_create.pod" + ], + "doc/html/man3/CMS_add0_cert.html" => [ + "doc/man3/CMS_add0_cert.pod" + ], + "doc/html/man3/CMS_add1_recipient_cert.html" => [ + "doc/man3/CMS_add1_recipient_cert.pod" + ], + "doc/html/man3/CMS_add1_signer.html" => [ + "doc/man3/CMS_add1_signer.pod" + ], + "doc/html/man3/CMS_compress.html" => [ + "doc/man3/CMS_compress.pod" + ], + "doc/html/man3/CMS_data_create.html" => [ + "doc/man3/CMS_data_create.pod" + ], + "doc/html/man3/CMS_decrypt.html" => [ + "doc/man3/CMS_decrypt.pod" + ], + "doc/html/man3/CMS_digest_create.html" => [ + "doc/man3/CMS_digest_create.pod" + ], + "doc/html/man3/CMS_encrypt.html" => [ + "doc/man3/CMS_encrypt.pod" + ], + "doc/html/man3/CMS_final.html" => [ + "doc/man3/CMS_final.pod" + ], + "doc/html/man3/CMS_get0_RecipientInfos.html" => [ + "doc/man3/CMS_get0_RecipientInfos.pod" + ], + "doc/html/man3/CMS_get0_SignerInfos.html" => [ + "doc/man3/CMS_get0_SignerInfos.pod" + ], + "doc/html/man3/CMS_get0_type.html" => [ + "doc/man3/CMS_get0_type.pod" + ], + "doc/html/man3/CMS_get1_ReceiptRequest.html" => [ + "doc/man3/CMS_get1_ReceiptRequest.pod" + ], + "doc/html/man3/CMS_sign.html" => [ + "doc/man3/CMS_sign.pod" + ], + "doc/html/man3/CMS_sign_receipt.html" => [ + "doc/man3/CMS_sign_receipt.pod" + ], + "doc/html/man3/CMS_uncompress.html" => [ + "doc/man3/CMS_uncompress.pod" + ], + "doc/html/man3/CMS_verify.html" => [ + "doc/man3/CMS_verify.pod" + ], + "doc/html/man3/CMS_verify_receipt.html" => [ + "doc/man3/CMS_verify_receipt.pod" + ], + "doc/html/man3/CONF_modules_free.html" => [ + "doc/man3/CONF_modules_free.pod" + ], + "doc/html/man3/CONF_modules_load_file.html" => [ + "doc/man3/CONF_modules_load_file.pod" + ], + "doc/html/man3/CRYPTO_THREAD_run_once.html" => [ + "doc/man3/CRYPTO_THREAD_run_once.pod" + ], + "doc/html/man3/CRYPTO_get_ex_new_index.html" => [ + "doc/man3/CRYPTO_get_ex_new_index.pod" + ], + "doc/html/man3/CRYPTO_memcmp.html" => [ + "doc/man3/CRYPTO_memcmp.pod" + ], + "doc/html/man3/CTLOG_STORE_get0_log_by_id.html" => [ + "doc/man3/CTLOG_STORE_get0_log_by_id.pod" + ], + "doc/html/man3/CTLOG_STORE_new.html" => [ + "doc/man3/CTLOG_STORE_new.pod" + ], + "doc/html/man3/CTLOG_new.html" => [ + "doc/man3/CTLOG_new.pod" + ], + "doc/html/man3/CT_POLICY_EVAL_CTX_new.html" => [ + "doc/man3/CT_POLICY_EVAL_CTX_new.pod" + ], + "doc/html/man3/DEFINE_STACK_OF.html" => [ + "doc/man3/DEFINE_STACK_OF.pod" + ], + "doc/html/man3/DES_random_key.html" => [ + "doc/man3/DES_random_key.pod" + ], + "doc/html/man3/DH_generate_key.html" => [ + "doc/man3/DH_generate_key.pod" + ], + "doc/html/man3/DH_generate_parameters.html" => [ + "doc/man3/DH_generate_parameters.pod" + ], + "doc/html/man3/DH_get0_pqg.html" => [ + "doc/man3/DH_get0_pqg.pod" + ], + "doc/html/man3/DH_get_1024_160.html" => [ + "doc/man3/DH_get_1024_160.pod" + ], + "doc/html/man3/DH_meth_new.html" => [ + "doc/man3/DH_meth_new.pod" + ], + "doc/html/man3/DH_new.html" => [ + "doc/man3/DH_new.pod" + ], + "doc/html/man3/DH_new_by_nid.html" => [ + "doc/man3/DH_new_by_nid.pod" + ], + "doc/html/man3/DH_set_method.html" => [ + "doc/man3/DH_set_method.pod" + ], + "doc/html/man3/DH_size.html" => [ + "doc/man3/DH_size.pod" + ], + "doc/html/man3/DSA_SIG_new.html" => [ + "doc/man3/DSA_SIG_new.pod" + ], + "doc/html/man3/DSA_do_sign.html" => [ + "doc/man3/DSA_do_sign.pod" + ], + "doc/html/man3/DSA_dup_DH.html" => [ + "doc/man3/DSA_dup_DH.pod" + ], + "doc/html/man3/DSA_generate_key.html" => [ + "doc/man3/DSA_generate_key.pod" + ], + "doc/html/man3/DSA_generate_parameters.html" => [ + "doc/man3/DSA_generate_parameters.pod" + ], + "doc/html/man3/DSA_get0_pqg.html" => [ + "doc/man3/DSA_get0_pqg.pod" + ], + "doc/html/man3/DSA_meth_new.html" => [ + "doc/man3/DSA_meth_new.pod" + ], + "doc/html/man3/DSA_new.html" => [ + "doc/man3/DSA_new.pod" + ], + "doc/html/man3/DSA_set_method.html" => [ + "doc/man3/DSA_set_method.pod" + ], + "doc/html/man3/DSA_sign.html" => [ + "doc/man3/DSA_sign.pod" + ], + "doc/html/man3/DSA_size.html" => [ + "doc/man3/DSA_size.pod" + ], + "doc/html/man3/DTLS_get_data_mtu.html" => [ + "doc/man3/DTLS_get_data_mtu.pod" + ], + "doc/html/man3/DTLS_set_timer_cb.html" => [ + "doc/man3/DTLS_set_timer_cb.pod" + ], + "doc/html/man3/DTLSv1_listen.html" => [ + "doc/man3/DTLSv1_listen.pod" + ], + "doc/html/man3/ECDSA_SIG_new.html" => [ + "doc/man3/ECDSA_SIG_new.pod" + ], + "doc/html/man3/ECDSA_sign.html" => [ + "doc/man3/ECDSA_sign.pod" + ], + "doc/html/man3/ECPKParameters_print.html" => [ + "doc/man3/ECPKParameters_print.pod" + ], + "doc/html/man3/EC_GFp_simple_method.html" => [ + "doc/man3/EC_GFp_simple_method.pod" + ], + "doc/html/man3/EC_GROUP_copy.html" => [ + "doc/man3/EC_GROUP_copy.pod" + ], + "doc/html/man3/EC_GROUP_new.html" => [ + "doc/man3/EC_GROUP_new.pod" + ], + "doc/html/man3/EC_KEY_get_enc_flags.html" => [ + "doc/man3/EC_KEY_get_enc_flags.pod" + ], + "doc/html/man3/EC_KEY_new.html" => [ + "doc/man3/EC_KEY_new.pod" + ], + "doc/html/man3/EC_POINT_add.html" => [ + "doc/man3/EC_POINT_add.pod" + ], + "doc/html/man3/EC_POINT_new.html" => [ + "doc/man3/EC_POINT_new.pod" + ], + "doc/html/man3/ENGINE_add.html" => [ + "doc/man3/ENGINE_add.pod" + ], + "doc/html/man3/ERR_GET_LIB.html" => [ + "doc/man3/ERR_GET_LIB.pod" + ], + "doc/html/man3/ERR_clear_error.html" => [ + "doc/man3/ERR_clear_error.pod" + ], + "doc/html/man3/ERR_error_string.html" => [ + "doc/man3/ERR_error_string.pod" + ], + "doc/html/man3/ERR_get_error.html" => [ + "doc/man3/ERR_get_error.pod" + ], + "doc/html/man3/ERR_load_crypto_strings.html" => [ + "doc/man3/ERR_load_crypto_strings.pod" + ], + "doc/html/man3/ERR_load_strings.html" => [ + "doc/man3/ERR_load_strings.pod" + ], + "doc/html/man3/ERR_new.html" => [ + "doc/man3/ERR_new.pod" + ], + "doc/html/man3/ERR_print_errors.html" => [ + "doc/man3/ERR_print_errors.pod" + ], + "doc/html/man3/ERR_put_error.html" => [ + "doc/man3/ERR_put_error.pod" + ], + "doc/html/man3/ERR_remove_state.html" => [ + "doc/man3/ERR_remove_state.pod" + ], + "doc/html/man3/ERR_set_mark.html" => [ + "doc/man3/ERR_set_mark.pod" + ], + "doc/html/man3/EVP_ASYM_CIPHER_free.html" => [ + "doc/man3/EVP_ASYM_CIPHER_free.pod" + ], + "doc/html/man3/EVP_BytesToKey.html" => [ + "doc/man3/EVP_BytesToKey.pod" + ], + "doc/html/man3/EVP_CIPHER_CTX_get_cipher_data.html" => [ + "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod" + ], + "doc/html/man3/EVP_CIPHER_CTX_get_original_iv.html" => [ + "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod" + ], + "doc/html/man3/EVP_CIPHER_meth_new.html" => [ + "doc/man3/EVP_CIPHER_meth_new.pod" + ], + "doc/html/man3/EVP_DigestInit.html" => [ + "doc/man3/EVP_DigestInit.pod" + ], + "doc/html/man3/EVP_DigestSignInit.html" => [ + "doc/man3/EVP_DigestSignInit.pod" + ], + "doc/html/man3/EVP_DigestVerifyInit.html" => [ + "doc/man3/EVP_DigestVerifyInit.pod" + ], + "doc/html/man3/EVP_EncodeInit.html" => [ + "doc/man3/EVP_EncodeInit.pod" + ], + "doc/html/man3/EVP_EncryptInit.html" => [ + "doc/man3/EVP_EncryptInit.pod" + ], + "doc/html/man3/EVP_KDF.html" => [ + "doc/man3/EVP_KDF.pod" + ], + "doc/html/man3/EVP_KEM_free.html" => [ + "doc/man3/EVP_KEM_free.pod" + ], + "doc/html/man3/EVP_KEYEXCH_free.html" => [ + "doc/man3/EVP_KEYEXCH_free.pod" + ], + "doc/html/man3/EVP_KEYMGMT.html" => [ + "doc/man3/EVP_KEYMGMT.pod" + ], + "doc/html/man3/EVP_MAC.html" => [ + "doc/man3/EVP_MAC.pod" + ], + "doc/html/man3/EVP_MD_meth_new.html" => [ + "doc/man3/EVP_MD_meth_new.pod" + ], + "doc/html/man3/EVP_OpenInit.html" => [ + "doc/man3/EVP_OpenInit.pod" + ], + "doc/html/man3/EVP_PBE_CipherInit.html" => [ + "doc/man3/EVP_PBE_CipherInit.pod" + ], + "doc/html/man3/EVP_PKEY2PKCS8.html" => [ + "doc/man3/EVP_PKEY2PKCS8.pod" + ], + "doc/html/man3/EVP_PKEY_ASN1_METHOD.html" => [ + "doc/man3/EVP_PKEY_ASN1_METHOD.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_ctrl.html" => [ + "doc/man3/EVP_PKEY_CTX_ctrl.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_get0_libctx.html" => [ + "doc/man3/EVP_PKEY_CTX_get0_libctx.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_get0_pkey.html" => [ + "doc/man3/EVP_PKEY_CTX_get0_pkey.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_new.html" => [ + "doc/man3/EVP_PKEY_CTX_new.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html" => [ + "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_hkdf_md.html" => [ + "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_params.html" => [ + "doc/man3/EVP_PKEY_CTX_set_params.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html" => [ + "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_scrypt_N.html" => [ + "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html" => [ + "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod" + ], + "doc/html/man3/EVP_PKEY_asn1_get_count.html" => [ + "doc/man3/EVP_PKEY_asn1_get_count.pod" + ], + "doc/html/man3/EVP_PKEY_check.html" => [ + "doc/man3/EVP_PKEY_check.pod" + ], + "doc/html/man3/EVP_PKEY_copy_parameters.html" => [ + "doc/man3/EVP_PKEY_copy_parameters.pod" + ], + "doc/html/man3/EVP_PKEY_decapsulate.html" => [ + "doc/man3/EVP_PKEY_decapsulate.pod" + ], + "doc/html/man3/EVP_PKEY_decrypt.html" => [ + "doc/man3/EVP_PKEY_decrypt.pod" + ], + "doc/html/man3/EVP_PKEY_derive.html" => [ + "doc/man3/EVP_PKEY_derive.pod" + ], + "doc/html/man3/EVP_PKEY_digestsign_supports_digest.html" => [ + "doc/man3/EVP_PKEY_digestsign_supports_digest.pod" + ], + "doc/html/man3/EVP_PKEY_encapsulate.html" => [ + "doc/man3/EVP_PKEY_encapsulate.pod" + ], + "doc/html/man3/EVP_PKEY_encrypt.html" => [ + "doc/man3/EVP_PKEY_encrypt.pod" + ], + "doc/html/man3/EVP_PKEY_fromdata.html" => [ + "doc/man3/EVP_PKEY_fromdata.pod" + ], + "doc/html/man3/EVP_PKEY_get_default_digest_nid.html" => [ + "doc/man3/EVP_PKEY_get_default_digest_nid.pod" + ], + "doc/html/man3/EVP_PKEY_get_field_type.html" => [ + "doc/man3/EVP_PKEY_get_field_type.pod" + ], + "doc/html/man3/EVP_PKEY_get_group_name.html" => [ + "doc/man3/EVP_PKEY_get_group_name.pod" + ], + "doc/html/man3/EVP_PKEY_get_size.html" => [ + "doc/man3/EVP_PKEY_get_size.pod" + ], + "doc/html/man3/EVP_PKEY_gettable_params.html" => [ + "doc/man3/EVP_PKEY_gettable_params.pod" + ], + "doc/html/man3/EVP_PKEY_is_a.html" => [ + "doc/man3/EVP_PKEY_is_a.pod" + ], + "doc/html/man3/EVP_PKEY_keygen.html" => [ + "doc/man3/EVP_PKEY_keygen.pod" + ], + "doc/html/man3/EVP_PKEY_meth_get_count.html" => [ + "doc/man3/EVP_PKEY_meth_get_count.pod" + ], + "doc/html/man3/EVP_PKEY_meth_new.html" => [ + "doc/man3/EVP_PKEY_meth_new.pod" + ], + "doc/html/man3/EVP_PKEY_new.html" => [ + "doc/man3/EVP_PKEY_new.pod" + ], + "doc/html/man3/EVP_PKEY_print_private.html" => [ + "doc/man3/EVP_PKEY_print_private.pod" + ], + "doc/html/man3/EVP_PKEY_set1_RSA.html" => [ + "doc/man3/EVP_PKEY_set1_RSA.pod" + ], + "doc/html/man3/EVP_PKEY_set1_encoded_public_key.html" => [ + "doc/man3/EVP_PKEY_set1_encoded_public_key.pod" + ], + "doc/html/man3/EVP_PKEY_set_type.html" => [ + "doc/man3/EVP_PKEY_set_type.pod" + ], + "doc/html/man3/EVP_PKEY_settable_params.html" => [ + "doc/man3/EVP_PKEY_settable_params.pod" + ], + "doc/html/man3/EVP_PKEY_sign.html" => [ + "doc/man3/EVP_PKEY_sign.pod" + ], + "doc/html/man3/EVP_PKEY_todata.html" => [ + "doc/man3/EVP_PKEY_todata.pod" + ], + "doc/html/man3/EVP_PKEY_verify.html" => [ + "doc/man3/EVP_PKEY_verify.pod" + ], + "doc/html/man3/EVP_PKEY_verify_recover.html" => [ + "doc/man3/EVP_PKEY_verify_recover.pod" + ], + "doc/html/man3/EVP_RAND.html" => [ + "doc/man3/EVP_RAND.pod" + ], + "doc/html/man3/EVP_SIGNATURE.html" => [ + "doc/man3/EVP_SIGNATURE.pod" + ], + "doc/html/man3/EVP_SealInit.html" => [ + "doc/man3/EVP_SealInit.pod" + ], + "doc/html/man3/EVP_SignInit.html" => [ + "doc/man3/EVP_SignInit.pod" + ], + "doc/html/man3/EVP_VerifyInit.html" => [ + "doc/man3/EVP_VerifyInit.pod" + ], + "doc/html/man3/EVP_aes_128_gcm.html" => [ + "doc/man3/EVP_aes_128_gcm.pod" + ], + "doc/html/man3/EVP_aria_128_gcm.html" => [ + "doc/man3/EVP_aria_128_gcm.pod" + ], + "doc/html/man3/EVP_bf_cbc.html" => [ + "doc/man3/EVP_bf_cbc.pod" + ], + "doc/html/man3/EVP_blake2b512.html" => [ + "doc/man3/EVP_blake2b512.pod" + ], + "doc/html/man3/EVP_camellia_128_ecb.html" => [ + "doc/man3/EVP_camellia_128_ecb.pod" + ], + "doc/html/man3/EVP_cast5_cbc.html" => [ + "doc/man3/EVP_cast5_cbc.pod" + ], + "doc/html/man3/EVP_chacha20.html" => [ + "doc/man3/EVP_chacha20.pod" + ], + "doc/html/man3/EVP_des_cbc.html" => [ + "doc/man3/EVP_des_cbc.pod" + ], + "doc/html/man3/EVP_desx_cbc.html" => [ + "doc/man3/EVP_desx_cbc.pod" + ], + "doc/html/man3/EVP_idea_cbc.html" => [ + "doc/man3/EVP_idea_cbc.pod" + ], + "doc/html/man3/EVP_md2.html" => [ + "doc/man3/EVP_md2.pod" + ], + "doc/html/man3/EVP_md4.html" => [ + "doc/man3/EVP_md4.pod" + ], + "doc/html/man3/EVP_md5.html" => [ + "doc/man3/EVP_md5.pod" + ], + "doc/html/man3/EVP_mdc2.html" => [ + "doc/man3/EVP_mdc2.pod" + ], + "doc/html/man3/EVP_rc2_cbc.html" => [ + "doc/man3/EVP_rc2_cbc.pod" + ], + "doc/html/man3/EVP_rc4.html" => [ + "doc/man3/EVP_rc4.pod" + ], + "doc/html/man3/EVP_rc5_32_12_16_cbc.html" => [ + "doc/man3/EVP_rc5_32_12_16_cbc.pod" + ], + "doc/html/man3/EVP_ripemd160.html" => [ + "doc/man3/EVP_ripemd160.pod" + ], + "doc/html/man3/EVP_seed_cbc.html" => [ + "doc/man3/EVP_seed_cbc.pod" + ], + "doc/html/man3/EVP_set_default_properties.html" => [ + "doc/man3/EVP_set_default_properties.pod" + ], + "doc/html/man3/EVP_sha1.html" => [ + "doc/man3/EVP_sha1.pod" + ], + "doc/html/man3/EVP_sha224.html" => [ + "doc/man3/EVP_sha224.pod" + ], + "doc/html/man3/EVP_sha3_224.html" => [ + "doc/man3/EVP_sha3_224.pod" + ], + "doc/html/man3/EVP_sm3.html" => [ + "doc/man3/EVP_sm3.pod" + ], + "doc/html/man3/EVP_sm4_cbc.html" => [ + "doc/man3/EVP_sm4_cbc.pod" + ], + "doc/html/man3/EVP_whirlpool.html" => [ + "doc/man3/EVP_whirlpool.pod" + ], + "doc/html/man3/HMAC.html" => [ + "doc/man3/HMAC.pod" + ], + "doc/html/man3/MD5.html" => [ + "doc/man3/MD5.pod" + ], + "doc/html/man3/MDC2_Init.html" => [ + "doc/man3/MDC2_Init.pod" + ], + "doc/html/man3/NCONF_new_ex.html" => [ + "doc/man3/NCONF_new_ex.pod" + ], + "doc/html/man3/OBJ_nid2obj.html" => [ + "doc/man3/OBJ_nid2obj.pod" + ], + "doc/html/man3/OCSP_REQUEST_new.html" => [ + "doc/man3/OCSP_REQUEST_new.pod" + ], + "doc/html/man3/OCSP_cert_to_id.html" => [ + "doc/man3/OCSP_cert_to_id.pod" + ], + "doc/html/man3/OCSP_request_add1_nonce.html" => [ + "doc/man3/OCSP_request_add1_nonce.pod" + ], + "doc/html/man3/OCSP_resp_find_status.html" => [ + "doc/man3/OCSP_resp_find_status.pod" + ], + "doc/html/man3/OCSP_response_status.html" => [ + "doc/man3/OCSP_response_status.pod" + ], + "doc/html/man3/OCSP_sendreq_new.html" => [ + "doc/man3/OCSP_sendreq_new.pod" + ], + "doc/html/man3/OPENSSL_Applink.html" => [ + "doc/man3/OPENSSL_Applink.pod" + ], + "doc/html/man3/OPENSSL_FILE.html" => [ + "doc/man3/OPENSSL_FILE.pod" + ], + "doc/html/man3/OPENSSL_LH_COMPFUNC.html" => [ + "doc/man3/OPENSSL_LH_COMPFUNC.pod" + ], + "doc/html/man3/OPENSSL_LH_stats.html" => [ + "doc/man3/OPENSSL_LH_stats.pod" + ], + "doc/html/man3/OPENSSL_config.html" => [ + "doc/man3/OPENSSL_config.pod" + ], + "doc/html/man3/OPENSSL_fork_prepare.html" => [ + "doc/man3/OPENSSL_fork_prepare.pod" + ], + "doc/html/man3/OPENSSL_gmtime.html" => [ + "doc/man3/OPENSSL_gmtime.pod" + ], + "doc/html/man3/OPENSSL_hexchar2int.html" => [ + "doc/man3/OPENSSL_hexchar2int.pod" + ], + "doc/html/man3/OPENSSL_ia32cap.html" => [ + "doc/man3/OPENSSL_ia32cap.pod" + ], + "doc/html/man3/OPENSSL_init_crypto.html" => [ + "doc/man3/OPENSSL_init_crypto.pod" + ], + "doc/html/man3/OPENSSL_init_ssl.html" => [ + "doc/man3/OPENSSL_init_ssl.pod" + ], + "doc/html/man3/OPENSSL_instrument_bus.html" => [ + "doc/man3/OPENSSL_instrument_bus.pod" + ], + "doc/html/man3/OPENSSL_load_builtin_modules.html" => [ + "doc/man3/OPENSSL_load_builtin_modules.pod" + ], + "doc/html/man3/OPENSSL_malloc.html" => [ + "doc/man3/OPENSSL_malloc.pod" + ], + "doc/html/man3/OPENSSL_s390xcap.html" => [ + "doc/man3/OPENSSL_s390xcap.pod" + ], + "doc/html/man3/OPENSSL_secure_malloc.html" => [ + "doc/man3/OPENSSL_secure_malloc.pod" + ], + "doc/html/man3/OPENSSL_strcasecmp.html" => [ + "doc/man3/OPENSSL_strcasecmp.pod" + ], + "doc/html/man3/OSSL_ALGORITHM.html" => [ + "doc/man3/OSSL_ALGORITHM.pod" + ], + "doc/html/man3/OSSL_CALLBACK.html" => [ + "doc/man3/OSSL_CALLBACK.pod" + ], + "doc/html/man3/OSSL_CMP_CTX_new.html" => [ + "doc/man3/OSSL_CMP_CTX_new.pod" + ], + "doc/html/man3/OSSL_CMP_HDR_get0_transactionID.html" => [ + "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod" + ], + "doc/html/man3/OSSL_CMP_ITAV_set0.html" => [ + "doc/man3/OSSL_CMP_ITAV_set0.pod" + ], + "doc/html/man3/OSSL_CMP_MSG_get0_header.html" => [ + "doc/man3/OSSL_CMP_MSG_get0_header.pod" + ], + "doc/html/man3/OSSL_CMP_MSG_http_perform.html" => [ + "doc/man3/OSSL_CMP_MSG_http_perform.pod" + ], + "doc/html/man3/OSSL_CMP_SRV_CTX_new.html" => [ + "doc/man3/OSSL_CMP_SRV_CTX_new.pod" + ], + "doc/html/man3/OSSL_CMP_STATUSINFO_new.html" => [ + "doc/man3/OSSL_CMP_STATUSINFO_new.pod" + ], + "doc/html/man3/OSSL_CMP_exec_certreq.html" => [ + "doc/man3/OSSL_CMP_exec_certreq.pod" + ], + "doc/html/man3/OSSL_CMP_log_open.html" => [ + "doc/man3/OSSL_CMP_log_open.pod" + ], + "doc/html/man3/OSSL_CMP_validate_msg.html" => [ + "doc/man3/OSSL_CMP_validate_msg.pod" + ], + "doc/html/man3/OSSL_CORE_MAKE_FUNC.html" => [ + "doc/man3/OSSL_CORE_MAKE_FUNC.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_get0_tmpl.html" => [ + "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_set0_validity.html" => [ + "doc/man3/OSSL_CRMF_MSG_set0_validity.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.html" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.html" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod" + ], + "doc/html/man3/OSSL_CRMF_pbmp_new.html" => [ + "doc/man3/OSSL_CRMF_pbmp_new.pod" + ], + "doc/html/man3/OSSL_DECODER.html" => [ + "doc/man3/OSSL_DECODER.pod" + ], + "doc/html/man3/OSSL_DECODER_CTX.html" => [ + "doc/man3/OSSL_DECODER_CTX.pod" + ], + "doc/html/man3/OSSL_DECODER_CTX_new_for_pkey.html" => [ + "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod" + ], + "doc/html/man3/OSSL_DECODER_from_bio.html" => [ + "doc/man3/OSSL_DECODER_from_bio.pod" + ], + "doc/html/man3/OSSL_DISPATCH.html" => [ + "doc/man3/OSSL_DISPATCH.pod" + ], + "doc/html/man3/OSSL_ENCODER.html" => [ + "doc/man3/OSSL_ENCODER.pod" + ], + "doc/html/man3/OSSL_ENCODER_CTX.html" => [ + "doc/man3/OSSL_ENCODER_CTX.pod" + ], + "doc/html/man3/OSSL_ENCODER_CTX_new_for_pkey.html" => [ + "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod" + ], + "doc/html/man3/OSSL_ENCODER_to_bio.html" => [ + "doc/man3/OSSL_ENCODER_to_bio.pod" + ], + "doc/html/man3/OSSL_ESS_check_signing_certs.html" => [ + "doc/man3/OSSL_ESS_check_signing_certs.pod" + ], + "doc/html/man3/OSSL_HTTP_REQ_CTX.html" => [ + "doc/man3/OSSL_HTTP_REQ_CTX.pod" + ], + "doc/html/man3/OSSL_HTTP_parse_url.html" => [ + "doc/man3/OSSL_HTTP_parse_url.pod" + ], + "doc/html/man3/OSSL_HTTP_transfer.html" => [ + "doc/man3/OSSL_HTTP_transfer.pod" + ], + "doc/html/man3/OSSL_ITEM.html" => [ + "doc/man3/OSSL_ITEM.pod" + ], + "doc/html/man3/OSSL_LIB_CTX.html" => [ + "doc/man3/OSSL_LIB_CTX.pod" + ], + "doc/html/man3/OSSL_PARAM.html" => [ + "doc/man3/OSSL_PARAM.pod" + ], + "doc/html/man3/OSSL_PARAM_BLD.html" => [ + "doc/man3/OSSL_PARAM_BLD.pod" + ], + "doc/html/man3/OSSL_PARAM_allocate_from_text.html" => [ + "doc/man3/OSSL_PARAM_allocate_from_text.pod" + ], + "doc/html/man3/OSSL_PARAM_dup.html" => [ + "doc/man3/OSSL_PARAM_dup.pod" + ], + "doc/html/man3/OSSL_PARAM_int.html" => [ + "doc/man3/OSSL_PARAM_int.pod" + ], + "doc/html/man3/OSSL_PROVIDER.html" => [ + "doc/man3/OSSL_PROVIDER.pod" + ], + "doc/html/man3/OSSL_SELF_TEST_new.html" => [ + "doc/man3/OSSL_SELF_TEST_new.pod" + ], + "doc/html/man3/OSSL_SELF_TEST_set_callback.html" => [ + "doc/man3/OSSL_SELF_TEST_set_callback.pod" + ], + "doc/html/man3/OSSL_STORE_INFO.html" => [ + "doc/man3/OSSL_STORE_INFO.pod" + ], + "doc/html/man3/OSSL_STORE_LOADER.html" => [ + "doc/man3/OSSL_STORE_LOADER.pod" + ], + "doc/html/man3/OSSL_STORE_SEARCH.html" => [ + "doc/man3/OSSL_STORE_SEARCH.pod" + ], + "doc/html/man3/OSSL_STORE_attach.html" => [ + "doc/man3/OSSL_STORE_attach.pod" + ], + "doc/html/man3/OSSL_STORE_expect.html" => [ + "doc/man3/OSSL_STORE_expect.pod" + ], + "doc/html/man3/OSSL_STORE_open.html" => [ + "doc/man3/OSSL_STORE_open.pod" + ], + "doc/html/man3/OSSL_trace_enabled.html" => [ + "doc/man3/OSSL_trace_enabled.pod" + ], + "doc/html/man3/OSSL_trace_get_category_num.html" => [ + "doc/man3/OSSL_trace_get_category_num.pod" + ], + "doc/html/man3/OSSL_trace_set_channel.html" => [ + "doc/man3/OSSL_trace_set_channel.pod" + ], + "doc/html/man3/OpenSSL_add_all_algorithms.html" => [ + "doc/man3/OpenSSL_add_all_algorithms.pod" + ], + "doc/html/man3/OpenSSL_version.html" => [ + "doc/man3/OpenSSL_version.pod" + ], + "doc/html/man3/PEM_X509_INFO_read_bio_ex.html" => [ + "doc/man3/PEM_X509_INFO_read_bio_ex.pod" + ], + "doc/html/man3/PEM_bytes_read_bio.html" => [ + "doc/man3/PEM_bytes_read_bio.pod" + ], + "doc/html/man3/PEM_read.html" => [ + "doc/man3/PEM_read.pod" + ], + "doc/html/man3/PEM_read_CMS.html" => [ + "doc/man3/PEM_read_CMS.pod" + ], + "doc/html/man3/PEM_read_bio_PrivateKey.html" => [ + "doc/man3/PEM_read_bio_PrivateKey.pod" + ], + "doc/html/man3/PEM_read_bio_ex.html" => [ + "doc/man3/PEM_read_bio_ex.pod" + ], + "doc/html/man3/PEM_write_bio_CMS_stream.html" => [ + "doc/man3/PEM_write_bio_CMS_stream.pod" + ], + "doc/html/man3/PEM_write_bio_PKCS7_stream.html" => [ + "doc/man3/PEM_write_bio_PKCS7_stream.pod" + ], + "doc/html/man3/PKCS12_PBE_keyivgen.html" => [ + "doc/man3/PKCS12_PBE_keyivgen.pod" + ], + "doc/html/man3/PKCS12_SAFEBAG_create_cert.html" => [ + "doc/man3/PKCS12_SAFEBAG_create_cert.pod" + ], + "doc/html/man3/PKCS12_SAFEBAG_get0_attrs.html" => [ + "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod" + ], + "doc/html/man3/PKCS12_SAFEBAG_get1_cert.html" => [ + "doc/man3/PKCS12_SAFEBAG_get1_cert.pod" + ], + "doc/html/man3/PKCS12_add1_attr_by_NID.html" => [ + "doc/man3/PKCS12_add1_attr_by_NID.pod" + ], + "doc/html/man3/PKCS12_add_CSPName_asc.html" => [ + "doc/man3/PKCS12_add_CSPName_asc.pod" + ], + "doc/html/man3/PKCS12_add_cert.html" => [ + "doc/man3/PKCS12_add_cert.pod" + ], + "doc/html/man3/PKCS12_add_friendlyname_asc.html" => [ + "doc/man3/PKCS12_add_friendlyname_asc.pod" + ], + "doc/html/man3/PKCS12_add_localkeyid.html" => [ + "doc/man3/PKCS12_add_localkeyid.pod" + ], + "doc/html/man3/PKCS12_add_safe.html" => [ + "doc/man3/PKCS12_add_safe.pod" + ], + "doc/html/man3/PKCS12_create.html" => [ + "doc/man3/PKCS12_create.pod" + ], + "doc/html/man3/PKCS12_decrypt_skey.html" => [ + "doc/man3/PKCS12_decrypt_skey.pod" + ], + "doc/html/man3/PKCS12_gen_mac.html" => [ + "doc/man3/PKCS12_gen_mac.pod" + ], + "doc/html/man3/PKCS12_get_friendlyname.html" => [ + "doc/man3/PKCS12_get_friendlyname.pod" + ], + "doc/html/man3/PKCS12_init.html" => [ + "doc/man3/PKCS12_init.pod" + ], + "doc/html/man3/PKCS12_item_decrypt_d2i.html" => [ + "doc/man3/PKCS12_item_decrypt_d2i.pod" + ], + "doc/html/man3/PKCS12_key_gen_utf8_ex.html" => [ + "doc/man3/PKCS12_key_gen_utf8_ex.pod" + ], + "doc/html/man3/PKCS12_newpass.html" => [ + "doc/man3/PKCS12_newpass.pod" + ], + "doc/html/man3/PKCS12_pack_p7encdata.html" => [ + "doc/man3/PKCS12_pack_p7encdata.pod" + ], + "doc/html/man3/PKCS12_parse.html" => [ + "doc/man3/PKCS12_parse.pod" + ], + "doc/html/man3/PKCS5_PBE_keyivgen.html" => [ + "doc/man3/PKCS5_PBE_keyivgen.pod" + ], + "doc/html/man3/PKCS5_PBKDF2_HMAC.html" => [ + "doc/man3/PKCS5_PBKDF2_HMAC.pod" + ], + "doc/html/man3/PKCS7_decrypt.html" => [ + "doc/man3/PKCS7_decrypt.pod" + ], + "doc/html/man3/PKCS7_encrypt.html" => [ + "doc/man3/PKCS7_encrypt.pod" + ], + "doc/html/man3/PKCS7_get_octet_string.html" => [ + "doc/man3/PKCS7_get_octet_string.pod" + ], + "doc/html/man3/PKCS7_sign.html" => [ + "doc/man3/PKCS7_sign.pod" + ], + "doc/html/man3/PKCS7_sign_add_signer.html" => [ + "doc/man3/PKCS7_sign_add_signer.pod" + ], + "doc/html/man3/PKCS7_type_is_other.html" => [ + "doc/man3/PKCS7_type_is_other.pod" + ], + "doc/html/man3/PKCS7_verify.html" => [ + "doc/man3/PKCS7_verify.pod" + ], + "doc/html/man3/PKCS8_encrypt.html" => [ + "doc/man3/PKCS8_encrypt.pod" + ], + "doc/html/man3/PKCS8_pkey_add1_attr.html" => [ + "doc/man3/PKCS8_pkey_add1_attr.pod" + ], + "doc/html/man3/RAND_add.html" => [ + "doc/man3/RAND_add.pod" + ], + "doc/html/man3/RAND_bytes.html" => [ + "doc/man3/RAND_bytes.pod" + ], + "doc/html/man3/RAND_cleanup.html" => [ + "doc/man3/RAND_cleanup.pod" + ], + "doc/html/man3/RAND_egd.html" => [ + "doc/man3/RAND_egd.pod" + ], + "doc/html/man3/RAND_get0_primary.html" => [ + "doc/man3/RAND_get0_primary.pod" + ], + "doc/html/man3/RAND_load_file.html" => [ + "doc/man3/RAND_load_file.pod" + ], + "doc/html/man3/RAND_set_DRBG_type.html" => [ + "doc/man3/RAND_set_DRBG_type.pod" + ], + "doc/html/man3/RAND_set_rand_method.html" => [ + "doc/man3/RAND_set_rand_method.pod" + ], + "doc/html/man3/RC4_set_key.html" => [ + "doc/man3/RC4_set_key.pod" + ], + "doc/html/man3/RIPEMD160_Init.html" => [ + "doc/man3/RIPEMD160_Init.pod" + ], + "doc/html/man3/RSA_blinding_on.html" => [ + "doc/man3/RSA_blinding_on.pod" + ], + "doc/html/man3/RSA_check_key.html" => [ + "doc/man3/RSA_check_key.pod" + ], + "doc/html/man3/RSA_generate_key.html" => [ + "doc/man3/RSA_generate_key.pod" + ], + "doc/html/man3/RSA_get0_key.html" => [ + "doc/man3/RSA_get0_key.pod" + ], + "doc/html/man3/RSA_meth_new.html" => [ + "doc/man3/RSA_meth_new.pod" + ], + "doc/html/man3/RSA_new.html" => [ + "doc/man3/RSA_new.pod" + ], + "doc/html/man3/RSA_padding_add_PKCS1_type_1.html" => [ + "doc/man3/RSA_padding_add_PKCS1_type_1.pod" + ], + "doc/html/man3/RSA_print.html" => [ + "doc/man3/RSA_print.pod" + ], + "doc/html/man3/RSA_private_encrypt.html" => [ + "doc/man3/RSA_private_encrypt.pod" + ], + "doc/html/man3/RSA_public_encrypt.html" => [ + "doc/man3/RSA_public_encrypt.pod" + ], + "doc/html/man3/RSA_set_method.html" => [ + "doc/man3/RSA_set_method.pod" + ], + "doc/html/man3/RSA_sign.html" => [ + "doc/man3/RSA_sign.pod" + ], + "doc/html/man3/RSA_sign_ASN1_OCTET_STRING.html" => [ + "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod" + ], + "doc/html/man3/RSA_size.html" => [ + "doc/man3/RSA_size.pod" + ], + "doc/html/man3/SCT_new.html" => [ + "doc/man3/SCT_new.pod" + ], + "doc/html/man3/SCT_print.html" => [ + "doc/man3/SCT_print.pod" + ], + "doc/html/man3/SCT_validate.html" => [ + "doc/man3/SCT_validate.pod" + ], + "doc/html/man3/SHA256_Init.html" => [ + "doc/man3/SHA256_Init.pod" + ], + "doc/html/man3/SMIME_read_ASN1.html" => [ + "doc/man3/SMIME_read_ASN1.pod" + ], + "doc/html/man3/SMIME_read_CMS.html" => [ + "doc/man3/SMIME_read_CMS.pod" + ], + "doc/html/man3/SMIME_read_PKCS7.html" => [ + "doc/man3/SMIME_read_PKCS7.pod" + ], + "doc/html/man3/SMIME_write_ASN1.html" => [ + "doc/man3/SMIME_write_ASN1.pod" + ], + "doc/html/man3/SMIME_write_CMS.html" => [ + "doc/man3/SMIME_write_CMS.pod" + ], + "doc/html/man3/SMIME_write_PKCS7.html" => [ + "doc/man3/SMIME_write_PKCS7.pod" + ], + "doc/html/man3/SRP_Calc_B.html" => [ + "doc/man3/SRP_Calc_B.pod" + ], + "doc/html/man3/SRP_VBASE_new.html" => [ + "doc/man3/SRP_VBASE_new.pod" + ], + "doc/html/man3/SRP_create_verifier.html" => [ + "doc/man3/SRP_create_verifier.pod" + ], + "doc/html/man3/SRP_user_pwd_new.html" => [ + "doc/man3/SRP_user_pwd_new.pod" + ], + "doc/html/man3/SSL_CIPHER_get_name.html" => [ + "doc/man3/SSL_CIPHER_get_name.pod" + ], + "doc/html/man3/SSL_COMP_add_compression_method.html" => [ + "doc/man3/SSL_COMP_add_compression_method.pod" + ], + "doc/html/man3/SSL_CONF_CTX_new.html" => [ + "doc/man3/SSL_CONF_CTX_new.pod" + ], + "doc/html/man3/SSL_CONF_CTX_set1_prefix.html" => [ + "doc/man3/SSL_CONF_CTX_set1_prefix.pod" + ], + "doc/html/man3/SSL_CONF_CTX_set_flags.html" => [ + "doc/man3/SSL_CONF_CTX_set_flags.pod" + ], + "doc/html/man3/SSL_CONF_CTX_set_ssl_ctx.html" => [ + "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod" + ], + "doc/html/man3/SSL_CONF_cmd.html" => [ + "doc/man3/SSL_CONF_cmd.pod" + ], + "doc/html/man3/SSL_CONF_cmd_argv.html" => [ + "doc/man3/SSL_CONF_cmd_argv.pod" + ], + "doc/html/man3/SSL_CTX_add1_chain_cert.html" => [ + "doc/man3/SSL_CTX_add1_chain_cert.pod" + ], + "doc/html/man3/SSL_CTX_add_extra_chain_cert.html" => [ + "doc/man3/SSL_CTX_add_extra_chain_cert.pod" + ], + "doc/html/man3/SSL_CTX_add_session.html" => [ + "doc/man3/SSL_CTX_add_session.pod" + ], + "doc/html/man3/SSL_CTX_config.html" => [ + "doc/man3/SSL_CTX_config.pod" + ], + "doc/html/man3/SSL_CTX_ctrl.html" => [ + "doc/man3/SSL_CTX_ctrl.pod" + ], + "doc/html/man3/SSL_CTX_dane_enable.html" => [ + "doc/man3/SSL_CTX_dane_enable.pod" + ], + "doc/html/man3/SSL_CTX_flush_sessions.html" => [ + "doc/man3/SSL_CTX_flush_sessions.pod" + ], + "doc/html/man3/SSL_CTX_free.html" => [ + "doc/man3/SSL_CTX_free.pod" + ], + "doc/html/man3/SSL_CTX_get0_param.html" => [ + "doc/man3/SSL_CTX_get0_param.pod" + ], + "doc/html/man3/SSL_CTX_get_verify_mode.html" => [ + "doc/man3/SSL_CTX_get_verify_mode.pod" + ], + "doc/html/man3/SSL_CTX_has_client_custom_ext.html" => [ + "doc/man3/SSL_CTX_has_client_custom_ext.pod" + ], + "doc/html/man3/SSL_CTX_load_verify_locations.html" => [ + "doc/man3/SSL_CTX_load_verify_locations.pod" + ], + "doc/html/man3/SSL_CTX_new.html" => [ + "doc/man3/SSL_CTX_new.pod" + ], + "doc/html/man3/SSL_CTX_sess_number.html" => [ + "doc/man3/SSL_CTX_sess_number.pod" + ], + "doc/html/man3/SSL_CTX_sess_set_cache_size.html" => [ + "doc/man3/SSL_CTX_sess_set_cache_size.pod" + ], + "doc/html/man3/SSL_CTX_sess_set_get_cb.html" => [ + "doc/man3/SSL_CTX_sess_set_get_cb.pod" + ], + "doc/html/man3/SSL_CTX_sessions.html" => [ + "doc/man3/SSL_CTX_sessions.pod" + ], + "doc/html/man3/SSL_CTX_set0_CA_list.html" => [ + "doc/man3/SSL_CTX_set0_CA_list.pod" + ], + "doc/html/man3/SSL_CTX_set1_curves.html" => [ + "doc/man3/SSL_CTX_set1_curves.pod" + ], + "doc/html/man3/SSL_CTX_set1_sigalgs.html" => [ + "doc/man3/SSL_CTX_set1_sigalgs.pod" + ], + "doc/html/man3/SSL_CTX_set1_verify_cert_store.html" => [ + "doc/man3/SSL_CTX_set1_verify_cert_store.pod" + ], + "doc/html/man3/SSL_CTX_set_alpn_select_cb.html" => [ + "doc/man3/SSL_CTX_set_alpn_select_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_cert_cb.html" => [ + "doc/man3/SSL_CTX_set_cert_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_cert_store.html" => [ + "doc/man3/SSL_CTX_set_cert_store.pod" + ], + "doc/html/man3/SSL_CTX_set_cert_verify_callback.html" => [ + "doc/man3/SSL_CTX_set_cert_verify_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_cipher_list.html" => [ + "doc/man3/SSL_CTX_set_cipher_list.pod" + ], + "doc/html/man3/SSL_CTX_set_client_cert_cb.html" => [ + "doc/man3/SSL_CTX_set_client_cert_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_client_hello_cb.html" => [ + "doc/man3/SSL_CTX_set_client_hello_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_ct_validation_callback.html" => [ + "doc/man3/SSL_CTX_set_ct_validation_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_ctlog_list_file.html" => [ + "doc/man3/SSL_CTX_set_ctlog_list_file.pod" + ], + "doc/html/man3/SSL_CTX_set_default_passwd_cb.html" => [ + "doc/man3/SSL_CTX_set_default_passwd_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_generate_session_id.html" => [ + "doc/man3/SSL_CTX_set_generate_session_id.pod" + ], + "doc/html/man3/SSL_CTX_set_info_callback.html" => [ + "doc/man3/SSL_CTX_set_info_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_keylog_callback.html" => [ + "doc/man3/SSL_CTX_set_keylog_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_max_cert_list.html" => [ + "doc/man3/SSL_CTX_set_max_cert_list.pod" + ], + "doc/html/man3/SSL_CTX_set_min_proto_version.html" => [ + "doc/man3/SSL_CTX_set_min_proto_version.pod" + ], + "doc/html/man3/SSL_CTX_set_mode.html" => [ + "doc/man3/SSL_CTX_set_mode.pod" + ], + "doc/html/man3/SSL_CTX_set_msg_callback.html" => [ + "doc/man3/SSL_CTX_set_msg_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_num_tickets.html" => [ + "doc/man3/SSL_CTX_set_num_tickets.pod" + ], + "doc/html/man3/SSL_CTX_set_options.html" => [ + "doc/man3/SSL_CTX_set_options.pod" + ], + "doc/html/man3/SSL_CTX_set_psk_client_callback.html" => [ + "doc/man3/SSL_CTX_set_psk_client_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_quic_method.html" => [ + "doc/man3/SSL_CTX_set_quic_method.pod" + ], + "doc/html/man3/SSL_CTX_set_quiet_shutdown.html" => [ + "doc/man3/SSL_CTX_set_quiet_shutdown.pod" + ], + "doc/html/man3/SSL_CTX_set_read_ahead.html" => [ + "doc/man3/SSL_CTX_set_read_ahead.pod" + ], + "doc/html/man3/SSL_CTX_set_record_padding_callback.html" => [ + "doc/man3/SSL_CTX_set_record_padding_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_security_level.html" => [ + "doc/man3/SSL_CTX_set_security_level.pod" + ], + "doc/html/man3/SSL_CTX_set_session_cache_mode.html" => [ + "doc/man3/SSL_CTX_set_session_cache_mode.pod" + ], + "doc/html/man3/SSL_CTX_set_session_id_context.html" => [ + "doc/man3/SSL_CTX_set_session_id_context.pod" + ], + "doc/html/man3/SSL_CTX_set_session_ticket_cb.html" => [ + "doc/man3/SSL_CTX_set_session_ticket_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_split_send_fragment.html" => [ + "doc/man3/SSL_CTX_set_split_send_fragment.pod" + ], + "doc/html/man3/SSL_CTX_set_srp_password.html" => [ + "doc/man3/SSL_CTX_set_srp_password.pod" + ], + "doc/html/man3/SSL_CTX_set_ssl_version.html" => [ + "doc/man3/SSL_CTX_set_ssl_version.pod" + ], + "doc/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html" => [ + "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_timeout.html" => [ + "doc/man3/SSL_CTX_set_timeout.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_servername_callback.html" => [ + "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_status_cb.html" => [ + "doc/man3/SSL_CTX_set_tlsext_status_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html" => [ + "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_use_srtp.html" => [ + "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod" + ], + "doc/html/man3/SSL_CTX_set_tmp_dh_callback.html" => [ + "doc/man3/SSL_CTX_set_tmp_dh_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_tmp_ecdh.html" => [ + "doc/man3/SSL_CTX_set_tmp_ecdh.pod" + ], + "doc/html/man3/SSL_CTX_set_verify.html" => [ + "doc/man3/SSL_CTX_set_verify.pod" + ], + "doc/html/man3/SSL_CTX_use_certificate.html" => [ + "doc/man3/SSL_CTX_use_certificate.pod" + ], + "doc/html/man3/SSL_CTX_use_psk_identity_hint.html" => [ + "doc/man3/SSL_CTX_use_psk_identity_hint.pod" + ], + "doc/html/man3/SSL_CTX_use_serverinfo.html" => [ + "doc/man3/SSL_CTX_use_serverinfo.pod" + ], + "doc/html/man3/SSL_SESSION_free.html" => [ + "doc/man3/SSL_SESSION_free.pod" + ], + "doc/html/man3/SSL_SESSION_get0_cipher.html" => [ + "doc/man3/SSL_SESSION_get0_cipher.pod" + ], + "doc/html/man3/SSL_SESSION_get0_hostname.html" => [ + "doc/man3/SSL_SESSION_get0_hostname.pod" + ], + "doc/html/man3/SSL_SESSION_get0_id_context.html" => [ + "doc/man3/SSL_SESSION_get0_id_context.pod" + ], + "doc/html/man3/SSL_SESSION_get0_peer.html" => [ + "doc/man3/SSL_SESSION_get0_peer.pod" + ], + "doc/html/man3/SSL_SESSION_get_compress_id.html" => [ + "doc/man3/SSL_SESSION_get_compress_id.pod" + ], + "doc/html/man3/SSL_SESSION_get_protocol_version.html" => [ + "doc/man3/SSL_SESSION_get_protocol_version.pod" + ], + "doc/html/man3/SSL_SESSION_get_time.html" => [ + "doc/man3/SSL_SESSION_get_time.pod" + ], + "doc/html/man3/SSL_SESSION_has_ticket.html" => [ + "doc/man3/SSL_SESSION_has_ticket.pod" + ], + "doc/html/man3/SSL_SESSION_is_resumable.html" => [ + "doc/man3/SSL_SESSION_is_resumable.pod" + ], + "doc/html/man3/SSL_SESSION_print.html" => [ + "doc/man3/SSL_SESSION_print.pod" + ], + "doc/html/man3/SSL_SESSION_set1_id.html" => [ + "doc/man3/SSL_SESSION_set1_id.pod" + ], + "doc/html/man3/SSL_accept.html" => [ + "doc/man3/SSL_accept.pod" + ], + "doc/html/man3/SSL_alert_type_string.html" => [ + "doc/man3/SSL_alert_type_string.pod" + ], + "doc/html/man3/SSL_alloc_buffers.html" => [ + "doc/man3/SSL_alloc_buffers.pod" + ], + "doc/html/man3/SSL_check_chain.html" => [ + "doc/man3/SSL_check_chain.pod" + ], + "doc/html/man3/SSL_clear.html" => [ + "doc/man3/SSL_clear.pod" + ], + "doc/html/man3/SSL_connect.html" => [ + "doc/man3/SSL_connect.pod" + ], + "doc/html/man3/SSL_do_handshake.html" => [ + "doc/man3/SSL_do_handshake.pod" + ], + "doc/html/man3/SSL_export_keying_material.html" => [ + "doc/man3/SSL_export_keying_material.pod" + ], + "doc/html/man3/SSL_extension_supported.html" => [ + "doc/man3/SSL_extension_supported.pod" + ], + "doc/html/man3/SSL_free.html" => [ + "doc/man3/SSL_free.pod" + ], + "doc/html/man3/SSL_get0_peer_scts.html" => [ + "doc/man3/SSL_get0_peer_scts.pod" + ], + "doc/html/man3/SSL_get_SSL_CTX.html" => [ + "doc/man3/SSL_get_SSL_CTX.pod" + ], + "doc/html/man3/SSL_get_all_async_fds.html" => [ + "doc/man3/SSL_get_all_async_fds.pod" + ], + "doc/html/man3/SSL_get_certificate.html" => [ + "doc/man3/SSL_get_certificate.pod" + ], + "doc/html/man3/SSL_get_ciphers.html" => [ + "doc/man3/SSL_get_ciphers.pod" + ], + "doc/html/man3/SSL_get_client_random.html" => [ + "doc/man3/SSL_get_client_random.pod" + ], + "doc/html/man3/SSL_get_current_cipher.html" => [ + "doc/man3/SSL_get_current_cipher.pod" + ], + "doc/html/man3/SSL_get_default_timeout.html" => [ + "doc/man3/SSL_get_default_timeout.pod" + ], + "doc/html/man3/SSL_get_error.html" => [ + "doc/man3/SSL_get_error.pod" + ], + "doc/html/man3/SSL_get_extms_support.html" => [ + "doc/man3/SSL_get_extms_support.pod" + ], + "doc/html/man3/SSL_get_fd.html" => [ + "doc/man3/SSL_get_fd.pod" + ], + "doc/html/man3/SSL_get_peer_cert_chain.html" => [ + "doc/man3/SSL_get_peer_cert_chain.pod" + ], + "doc/html/man3/SSL_get_peer_certificate.html" => [ + "doc/man3/SSL_get_peer_certificate.pod" + ], + "doc/html/man3/SSL_get_peer_signature_nid.html" => [ + "doc/man3/SSL_get_peer_signature_nid.pod" + ], + "doc/html/man3/SSL_get_peer_tmp_key.html" => [ + "doc/man3/SSL_get_peer_tmp_key.pod" + ], + "doc/html/man3/SSL_get_psk_identity.html" => [ + "doc/man3/SSL_get_psk_identity.pod" + ], + "doc/html/man3/SSL_get_rbio.html" => [ + "doc/man3/SSL_get_rbio.pod" + ], + "doc/html/man3/SSL_get_session.html" => [ + "doc/man3/SSL_get_session.pod" + ], + "doc/html/man3/SSL_get_shared_sigalgs.html" => [ + "doc/man3/SSL_get_shared_sigalgs.pod" + ], + "doc/html/man3/SSL_get_verify_result.html" => [ + "doc/man3/SSL_get_verify_result.pod" + ], + "doc/html/man3/SSL_get_version.html" => [ + "doc/man3/SSL_get_version.pod" + ], + "doc/html/man3/SSL_group_to_name.html" => [ + "doc/man3/SSL_group_to_name.pod" + ], + "doc/html/man3/SSL_in_init.html" => [ + "doc/man3/SSL_in_init.pod" + ], + "doc/html/man3/SSL_key_update.html" => [ + "doc/man3/SSL_key_update.pod" + ], + "doc/html/man3/SSL_library_init.html" => [ + "doc/man3/SSL_library_init.pod" + ], + "doc/html/man3/SSL_load_client_CA_file.html" => [ + "doc/man3/SSL_load_client_CA_file.pod" + ], + "doc/html/man3/SSL_new.html" => [ + "doc/man3/SSL_new.pod" + ], + "doc/html/man3/SSL_pending.html" => [ + "doc/man3/SSL_pending.pod" + ], + "doc/html/man3/SSL_read.html" => [ + "doc/man3/SSL_read.pod" + ], + "doc/html/man3/SSL_read_early_data.html" => [ + "doc/man3/SSL_read_early_data.pod" + ], + "doc/html/man3/SSL_rstate_string.html" => [ + "doc/man3/SSL_rstate_string.pod" + ], + "doc/html/man3/SSL_session_reused.html" => [ + "doc/man3/SSL_session_reused.pod" + ], + "doc/html/man3/SSL_set1_host.html" => [ + "doc/man3/SSL_set1_host.pod" + ], + "doc/html/man3/SSL_set_async_callback.html" => [ + "doc/man3/SSL_set_async_callback.pod" + ], + "doc/html/man3/SSL_set_bio.html" => [ + "doc/man3/SSL_set_bio.pod" + ], + "doc/html/man3/SSL_set_connect_state.html" => [ + "doc/man3/SSL_set_connect_state.pod" + ], + "doc/html/man3/SSL_set_fd.html" => [ + "doc/man3/SSL_set_fd.pod" + ], + "doc/html/man3/SSL_set_retry_verify.html" => [ + "doc/man3/SSL_set_retry_verify.pod" + ], + "doc/html/man3/SSL_set_session.html" => [ + "doc/man3/SSL_set_session.pod" + ], + "doc/html/man3/SSL_set_shutdown.html" => [ + "doc/man3/SSL_set_shutdown.pod" + ], + "doc/html/man3/SSL_set_verify_result.html" => [ + "doc/man3/SSL_set_verify_result.pod" + ], + "doc/html/man3/SSL_shutdown.html" => [ + "doc/man3/SSL_shutdown.pod" + ], + "doc/html/man3/SSL_state_string.html" => [ + "doc/man3/SSL_state_string.pod" + ], + "doc/html/man3/SSL_want.html" => [ + "doc/man3/SSL_want.pod" + ], + "doc/html/man3/SSL_write.html" => [ + "doc/man3/SSL_write.pod" + ], + "doc/html/man3/TS_RESP_CTX_new.html" => [ + "doc/man3/TS_RESP_CTX_new.pod" + ], + "doc/html/man3/TS_VERIFY_CTX_set_certs.html" => [ + "doc/man3/TS_VERIFY_CTX_set_certs.pod" + ], + "doc/html/man3/UI_STRING.html" => [ + "doc/man3/UI_STRING.pod" + ], + "doc/html/man3/UI_UTIL_read_pw.html" => [ + "doc/man3/UI_UTIL_read_pw.pod" + ], + "doc/html/man3/UI_create_method.html" => [ + "doc/man3/UI_create_method.pod" + ], + "doc/html/man3/UI_new.html" => [ + "doc/man3/UI_new.pod" + ], + "doc/html/man3/X509V3_get_d2i.html" => [ + "doc/man3/X509V3_get_d2i.pod" + ], + "doc/html/man3/X509V3_set_ctx.html" => [ + "doc/man3/X509V3_set_ctx.pod" + ], + "doc/html/man3/X509_ALGOR_dup.html" => [ + "doc/man3/X509_ALGOR_dup.pod" + ], + "doc/html/man3/X509_CRL_get0_by_serial.html" => [ + "doc/man3/X509_CRL_get0_by_serial.pod" + ], + "doc/html/man3/X509_EXTENSION_set_object.html" => [ + "doc/man3/X509_EXTENSION_set_object.pod" + ], + "doc/html/man3/X509_LOOKUP.html" => [ + "doc/man3/X509_LOOKUP.pod" + ], + "doc/html/man3/X509_LOOKUP_hash_dir.html" => [ + "doc/man3/X509_LOOKUP_hash_dir.pod" + ], + "doc/html/man3/X509_LOOKUP_meth_new.html" => [ + "doc/man3/X509_LOOKUP_meth_new.pod" + ], + "doc/html/man3/X509_NAME_ENTRY_get_object.html" => [ + "doc/man3/X509_NAME_ENTRY_get_object.pod" + ], + "doc/html/man3/X509_NAME_add_entry_by_txt.html" => [ + "doc/man3/X509_NAME_add_entry_by_txt.pod" + ], + "doc/html/man3/X509_NAME_get0_der.html" => [ + "doc/man3/X509_NAME_get0_der.pod" + ], + "doc/html/man3/X509_NAME_get_index_by_NID.html" => [ + "doc/man3/X509_NAME_get_index_by_NID.pod" + ], + "doc/html/man3/X509_NAME_print_ex.html" => [ + "doc/man3/X509_NAME_print_ex.pod" + ], + "doc/html/man3/X509_PUBKEY_new.html" => [ + "doc/man3/X509_PUBKEY_new.pod" + ], + "doc/html/man3/X509_SIG_get0.html" => [ + "doc/man3/X509_SIG_get0.pod" + ], + "doc/html/man3/X509_STORE_CTX_get_error.html" => [ + "doc/man3/X509_STORE_CTX_get_error.pod" + ], + "doc/html/man3/X509_STORE_CTX_new.html" => [ + "doc/man3/X509_STORE_CTX_new.pod" + ], + "doc/html/man3/X509_STORE_CTX_set_verify_cb.html" => [ + "doc/man3/X509_STORE_CTX_set_verify_cb.pod" + ], + "doc/html/man3/X509_STORE_add_cert.html" => [ + "doc/man3/X509_STORE_add_cert.pod" + ], + "doc/html/man3/X509_STORE_get0_param.html" => [ + "doc/man3/X509_STORE_get0_param.pod" + ], + "doc/html/man3/X509_STORE_new.html" => [ + "doc/man3/X509_STORE_new.pod" + ], + "doc/html/man3/X509_STORE_set_verify_cb_func.html" => [ + "doc/man3/X509_STORE_set_verify_cb_func.pod" + ], + "doc/html/man3/X509_VERIFY_PARAM_set_flags.html" => [ + "doc/man3/X509_VERIFY_PARAM_set_flags.pod" + ], + "doc/html/man3/X509_add_cert.html" => [ + "doc/man3/X509_add_cert.pod" + ], + "doc/html/man3/X509_check_ca.html" => [ + "doc/man3/X509_check_ca.pod" + ], + "doc/html/man3/X509_check_host.html" => [ + "doc/man3/X509_check_host.pod" + ], + "doc/html/man3/X509_check_issued.html" => [ + "doc/man3/X509_check_issued.pod" + ], + "doc/html/man3/X509_check_private_key.html" => [ + "doc/man3/X509_check_private_key.pod" + ], + "doc/html/man3/X509_check_purpose.html" => [ + "doc/man3/X509_check_purpose.pod" + ], + "doc/html/man3/X509_cmp.html" => [ + "doc/man3/X509_cmp.pod" + ], + "doc/html/man3/X509_cmp_time.html" => [ + "doc/man3/X509_cmp_time.pod" + ], + "doc/html/man3/X509_digest.html" => [ + "doc/man3/X509_digest.pod" + ], + "doc/html/man3/X509_dup.html" => [ + "doc/man3/X509_dup.pod" + ], + "doc/html/man3/X509_get0_distinguishing_id.html" => [ + "doc/man3/X509_get0_distinguishing_id.pod" + ], + "doc/html/man3/X509_get0_notBefore.html" => [ + "doc/man3/X509_get0_notBefore.pod" + ], + "doc/html/man3/X509_get0_signature.html" => [ + "doc/man3/X509_get0_signature.pod" + ], + "doc/html/man3/X509_get0_uids.html" => [ + "doc/man3/X509_get0_uids.pod" + ], + "doc/html/man3/X509_get_extension_flags.html" => [ + "doc/man3/X509_get_extension_flags.pod" + ], + "doc/html/man3/X509_get_pubkey.html" => [ + "doc/man3/X509_get_pubkey.pod" + ], + "doc/html/man3/X509_get_serialNumber.html" => [ + "doc/man3/X509_get_serialNumber.pod" + ], + "doc/html/man3/X509_get_subject_name.html" => [ + "doc/man3/X509_get_subject_name.pod" + ], + "doc/html/man3/X509_get_version.html" => [ + "doc/man3/X509_get_version.pod" + ], + "doc/html/man3/X509_load_http.html" => [ + "doc/man3/X509_load_http.pod" + ], + "doc/html/man3/X509_new.html" => [ + "doc/man3/X509_new.pod" + ], + "doc/html/man3/X509_sign.html" => [ + "doc/man3/X509_sign.pod" + ], + "doc/html/man3/X509_verify.html" => [ + "doc/man3/X509_verify.pod" + ], + "doc/html/man3/X509_verify_cert.html" => [ + "doc/man3/X509_verify_cert.pod" + ], + "doc/html/man3/X509v3_get_ext_by_NID.html" => [ + "doc/man3/X509v3_get_ext_by_NID.pod" + ], + "doc/html/man3/b2i_PVK_bio_ex.html" => [ + "doc/man3/b2i_PVK_bio_ex.pod" + ], + "doc/html/man3/d2i_PKCS8PrivateKey_bio.html" => [ + "doc/man3/d2i_PKCS8PrivateKey_bio.pod" + ], + "doc/html/man3/d2i_PrivateKey.html" => [ + "doc/man3/d2i_PrivateKey.pod" + ], + "doc/html/man3/d2i_RSAPrivateKey.html" => [ + "doc/man3/d2i_RSAPrivateKey.pod" + ], + "doc/html/man3/d2i_SSL_SESSION.html" => [ + "doc/man3/d2i_SSL_SESSION.pod" + ], + "doc/html/man3/d2i_X509.html" => [ + "doc/man3/d2i_X509.pod" + ], + "doc/html/man3/i2d_CMS_bio_stream.html" => [ + "doc/man3/i2d_CMS_bio_stream.pod" + ], + "doc/html/man3/i2d_PKCS7_bio_stream.html" => [ + "doc/man3/i2d_PKCS7_bio_stream.pod" + ], + "doc/html/man3/i2d_re_X509_tbs.html" => [ + "doc/man3/i2d_re_X509_tbs.pod" + ], + "doc/html/man3/o2i_SCT_LIST.html" => [ + "doc/man3/o2i_SCT_LIST.pod" + ], + "doc/html/man3/s2i_ASN1_IA5STRING.html" => [ + "doc/man3/s2i_ASN1_IA5STRING.pod" + ], + "doc/html/man5/config.html" => [ + "doc/man5/config.pod" + ], + "doc/html/man5/fips_config.html" => [ + "doc/man5/fips_config.pod" + ], + "doc/html/man5/x509v3_config.html" => [ + "doc/man5/x509v3_config.pod" + ], + "doc/html/man7/EVP_ASYM_CIPHER-RSA.html" => [ + "doc/man7/EVP_ASYM_CIPHER-RSA.pod" + ], + "doc/html/man7/EVP_ASYM_CIPHER-SM2.html" => [ + "doc/man7/EVP_ASYM_CIPHER-SM2.pod" + ], + "doc/html/man7/EVP_CIPHER-AES.html" => [ + "doc/man7/EVP_CIPHER-AES.pod" + ], + "doc/html/man7/EVP_CIPHER-ARIA.html" => [ + "doc/man7/EVP_CIPHER-ARIA.pod" + ], + "doc/html/man7/EVP_CIPHER-BLOWFISH.html" => [ + "doc/man7/EVP_CIPHER-BLOWFISH.pod" + ], + "doc/html/man7/EVP_CIPHER-CAMELLIA.html" => [ + "doc/man7/EVP_CIPHER-CAMELLIA.pod" + ], + "doc/html/man7/EVP_CIPHER-CAST.html" => [ + "doc/man7/EVP_CIPHER-CAST.pod" + ], + "doc/html/man7/EVP_CIPHER-CHACHA.html" => [ + "doc/man7/EVP_CIPHER-CHACHA.pod" + ], + "doc/html/man7/EVP_CIPHER-DES.html" => [ + "doc/man7/EVP_CIPHER-DES.pod" + ], + "doc/html/man7/EVP_CIPHER-IDEA.html" => [ + "doc/man7/EVP_CIPHER-IDEA.pod" + ], + "doc/html/man7/EVP_CIPHER-RC2.html" => [ + "doc/man7/EVP_CIPHER-RC2.pod" + ], + "doc/html/man7/EVP_CIPHER-RC4.html" => [ + "doc/man7/EVP_CIPHER-RC4.pod" + ], + "doc/html/man7/EVP_CIPHER-RC5.html" => [ + "doc/man7/EVP_CIPHER-RC5.pod" + ], + "doc/html/man7/EVP_CIPHER-SEED.html" => [ + "doc/man7/EVP_CIPHER-SEED.pod" + ], + "doc/html/man7/EVP_CIPHER-SM4.html" => [ + "doc/man7/EVP_CIPHER-SM4.pod" + ], + "doc/html/man7/EVP_KDF-HKDF.html" => [ + "doc/man7/EVP_KDF-HKDF.pod" + ], + "doc/html/man7/EVP_KDF-KB.html" => [ + "doc/man7/EVP_KDF-KB.pod" + ], + "doc/html/man7/EVP_KDF-KRB5KDF.html" => [ + "doc/man7/EVP_KDF-KRB5KDF.pod" + ], + "doc/html/man7/EVP_KDF-PBKDF1.html" => [ + "doc/man7/EVP_KDF-PBKDF1.pod" + ], + "doc/html/man7/EVP_KDF-PBKDF2.html" => [ + "doc/man7/EVP_KDF-PBKDF2.pod" + ], + "doc/html/man7/EVP_KDF-PKCS12KDF.html" => [ + "doc/man7/EVP_KDF-PKCS12KDF.pod" + ], + "doc/html/man7/EVP_KDF-SCRYPT.html" => [ + "doc/man7/EVP_KDF-SCRYPT.pod" + ], + "doc/html/man7/EVP_KDF-SS.html" => [ + "doc/man7/EVP_KDF-SS.pod" + ], + "doc/html/man7/EVP_KDF-SSHKDF.html" => [ + "doc/man7/EVP_KDF-SSHKDF.pod" + ], + "doc/html/man7/EVP_KDF-TLS13_KDF.html" => [ + "doc/man7/EVP_KDF-TLS13_KDF.pod" + ], + "doc/html/man7/EVP_KDF-TLS1_PRF.html" => [ + "doc/man7/EVP_KDF-TLS1_PRF.pod" + ], + "doc/html/man7/EVP_KDF-X942-ASN1.html" => [ + "doc/man7/EVP_KDF-X942-ASN1.pod" + ], + "doc/html/man7/EVP_KDF-X942-CONCAT.html" => [ + "doc/man7/EVP_KDF-X942-CONCAT.pod" + ], + "doc/html/man7/EVP_KDF-X963.html" => [ + "doc/man7/EVP_KDF-X963.pod" + ], + "doc/html/man7/EVP_KEM-RSA.html" => [ + "doc/man7/EVP_KEM-RSA.pod" + ], + "doc/html/man7/EVP_KEYEXCH-DH.html" => [ + "doc/man7/EVP_KEYEXCH-DH.pod" + ], + "doc/html/man7/EVP_KEYEXCH-ECDH.html" => [ + "doc/man7/EVP_KEYEXCH-ECDH.pod" + ], + "doc/html/man7/EVP_KEYEXCH-X25519.html" => [ + "doc/man7/EVP_KEYEXCH-X25519.pod" + ], + "doc/html/man7/EVP_MAC-BLAKE2.html" => [ + "doc/man7/EVP_MAC-BLAKE2.pod" + ], + "doc/html/man7/EVP_MAC-CMAC.html" => [ + "doc/man7/EVP_MAC-CMAC.pod" + ], + "doc/html/man7/EVP_MAC-GMAC.html" => [ + "doc/man7/EVP_MAC-GMAC.pod" + ], + "doc/html/man7/EVP_MAC-HMAC.html" => [ + "doc/man7/EVP_MAC-HMAC.pod" + ], + "doc/html/man7/EVP_MAC-KMAC.html" => [ + "doc/man7/EVP_MAC-KMAC.pod" + ], + "doc/html/man7/EVP_MAC-Poly1305.html" => [ + "doc/man7/EVP_MAC-Poly1305.pod" + ], + "doc/html/man7/EVP_MAC-Siphash.html" => [ + "doc/man7/EVP_MAC-Siphash.pod" + ], + "doc/html/man7/EVP_MD-BLAKE2.html" => [ + "doc/man7/EVP_MD-BLAKE2.pod" + ], + "doc/html/man7/EVP_MD-MD2.html" => [ + "doc/man7/EVP_MD-MD2.pod" + ], + "doc/html/man7/EVP_MD-MD4.html" => [ + "doc/man7/EVP_MD-MD4.pod" + ], + "doc/html/man7/EVP_MD-MD5-SHA1.html" => [ + "doc/man7/EVP_MD-MD5-SHA1.pod" + ], + "doc/html/man7/EVP_MD-MD5.html" => [ + "doc/man7/EVP_MD-MD5.pod" + ], + "doc/html/man7/EVP_MD-MDC2.html" => [ + "doc/man7/EVP_MD-MDC2.pod" + ], + "doc/html/man7/EVP_MD-RIPEMD160.html" => [ + "doc/man7/EVP_MD-RIPEMD160.pod" + ], + "doc/html/man7/EVP_MD-SHA1.html" => [ + "doc/man7/EVP_MD-SHA1.pod" + ], + "doc/html/man7/EVP_MD-SHA2.html" => [ + "doc/man7/EVP_MD-SHA2.pod" + ], + "doc/html/man7/EVP_MD-SHA3.html" => [ + "doc/man7/EVP_MD-SHA3.pod" + ], + "doc/html/man7/EVP_MD-SHAKE.html" => [ + "doc/man7/EVP_MD-SHAKE.pod" + ], + "doc/html/man7/EVP_MD-SM3.html" => [ + "doc/man7/EVP_MD-SM3.pod" + ], + "doc/html/man7/EVP_MD-WHIRLPOOL.html" => [ + "doc/man7/EVP_MD-WHIRLPOOL.pod" + ], + "doc/html/man7/EVP_MD-common.html" => [ + "doc/man7/EVP_MD-common.pod" + ], + "doc/html/man7/EVP_PKEY-DH.html" => [ + "doc/man7/EVP_PKEY-DH.pod" + ], + "doc/html/man7/EVP_PKEY-DSA.html" => [ + "doc/man7/EVP_PKEY-DSA.pod" + ], + "doc/html/man7/EVP_PKEY-EC.html" => [ + "doc/man7/EVP_PKEY-EC.pod" + ], + "doc/html/man7/EVP_PKEY-FFC.html" => [ + "doc/man7/EVP_PKEY-FFC.pod" + ], + "doc/html/man7/EVP_PKEY-HMAC.html" => [ + "doc/man7/EVP_PKEY-HMAC.pod" + ], + "doc/html/man7/EVP_PKEY-RSA.html" => [ + "doc/man7/EVP_PKEY-RSA.pod" + ], + "doc/html/man7/EVP_PKEY-SM2.html" => [ + "doc/man7/EVP_PKEY-SM2.pod" + ], + "doc/html/man7/EVP_PKEY-X25519.html" => [ + "doc/man7/EVP_PKEY-X25519.pod" + ], + "doc/html/man7/EVP_RAND-CTR-DRBG.html" => [ + "doc/man7/EVP_RAND-CTR-DRBG.pod" + ], + "doc/html/man7/EVP_RAND-HASH-DRBG.html" => [ + "doc/man7/EVP_RAND-HASH-DRBG.pod" + ], + "doc/html/man7/EVP_RAND-HMAC-DRBG.html" => [ + "doc/man7/EVP_RAND-HMAC-DRBG.pod" + ], + "doc/html/man7/EVP_RAND-SEED-SRC.html" => [ + "doc/man7/EVP_RAND-SEED-SRC.pod" + ], + "doc/html/man7/EVP_RAND-TEST-RAND.html" => [ + "doc/man7/EVP_RAND-TEST-RAND.pod" + ], + "doc/html/man7/EVP_RAND.html" => [ + "doc/man7/EVP_RAND.pod" + ], + "doc/html/man7/EVP_SIGNATURE-DSA.html" => [ + "doc/man7/EVP_SIGNATURE-DSA.pod" + ], + "doc/html/man7/EVP_SIGNATURE-ECDSA.html" => [ + "doc/man7/EVP_SIGNATURE-ECDSA.pod" + ], + "doc/html/man7/EVP_SIGNATURE-ED25519.html" => [ + "doc/man7/EVP_SIGNATURE-ED25519.pod" + ], + "doc/html/man7/EVP_SIGNATURE-HMAC.html" => [ + "doc/man7/EVP_SIGNATURE-HMAC.pod" + ], + "doc/html/man7/EVP_SIGNATURE-RSA.html" => [ + "doc/man7/EVP_SIGNATURE-RSA.pod" + ], + "doc/html/man7/OSSL_PROVIDER-FIPS.html" => [ + "doc/man7/OSSL_PROVIDER-FIPS.pod" + ], + "doc/html/man7/OSSL_PROVIDER-base.html" => [ + "doc/man7/OSSL_PROVIDER-base.pod" + ], + "doc/html/man7/OSSL_PROVIDER-default.html" => [ + "doc/man7/OSSL_PROVIDER-default.pod" + ], + "doc/html/man7/OSSL_PROVIDER-legacy.html" => [ + "doc/man7/OSSL_PROVIDER-legacy.pod" + ], + "doc/html/man7/OSSL_PROVIDER-null.html" => [ + "doc/man7/OSSL_PROVIDER-null.pod" + ], + "doc/html/man7/RAND.html" => [ + "doc/man7/RAND.pod" + ], + "doc/html/man7/RSA-PSS.html" => [ + "doc/man7/RSA-PSS.pod" + ], + "doc/html/man7/X25519.html" => [ + "doc/man7/X25519.pod" + ], + "doc/html/man7/bio.html" => [ + "doc/man7/bio.pod" + ], + "doc/html/man7/crypto.html" => [ + "doc/man7/crypto.pod" + ], + "doc/html/man7/ct.html" => [ + "doc/man7/ct.pod" + ], + "doc/html/man7/des_modes.html" => [ + "doc/man7/des_modes.pod" + ], + "doc/html/man7/evp.html" => [ + "doc/man7/evp.pod" + ], + "doc/html/man7/fips_module.html" => [ + "doc/man7/fips_module.pod" + ], + "doc/html/man7/life_cycle-cipher.html" => [ + "doc/man7/life_cycle-cipher.pod" + ], + "doc/html/man7/life_cycle-digest.html" => [ + "doc/man7/life_cycle-digest.pod" + ], + "doc/html/man7/life_cycle-kdf.html" => [ + "doc/man7/life_cycle-kdf.pod" + ], + "doc/html/man7/life_cycle-mac.html" => [ + "doc/man7/life_cycle-mac.pod" + ], + "doc/html/man7/life_cycle-pkey.html" => [ + "doc/man7/life_cycle-pkey.pod" + ], + "doc/html/man7/life_cycle-rand.html" => [ + "doc/man7/life_cycle-rand.pod" + ], + "doc/html/man7/migration_guide.html" => [ + "doc/man7/migration_guide.pod" + ], + "doc/html/man7/openssl-core.h.html" => [ + "doc/man7/openssl-core.h.pod" + ], + "doc/html/man7/openssl-core_dispatch.h.html" => [ + "doc/man7/openssl-core_dispatch.h.pod" + ], + "doc/html/man7/openssl-core_names.h.html" => [ + "doc/man7/openssl-core_names.h.pod" + ], + "doc/html/man7/openssl-env.html" => [ + "doc/man7/openssl-env.pod" + ], + "doc/html/man7/openssl-glossary.html" => [ + "doc/man7/openssl-glossary.pod" + ], + "doc/html/man7/openssl-threads.html" => [ + "doc/man7/openssl-threads.pod" + ], + "doc/html/man7/openssl_user_macros.html" => [ + "doc/man7/openssl_user_macros.pod" + ], + "doc/html/man7/ossl_store-file.html" => [ + "doc/man7/ossl_store-file.pod" + ], + "doc/html/man7/ossl_store.html" => [ + "doc/man7/ossl_store.pod" + ], + "doc/html/man7/passphrase-encoding.html" => [ + "doc/man7/passphrase-encoding.pod" + ], + "doc/html/man7/property.html" => [ + "doc/man7/property.pod" + ], + "doc/html/man7/provider-asym_cipher.html" => [ + "doc/man7/provider-asym_cipher.pod" + ], + "doc/html/man7/provider-base.html" => [ + "doc/man7/provider-base.pod" + ], + "doc/html/man7/provider-cipher.html" => [ + "doc/man7/provider-cipher.pod" + ], + "doc/html/man7/provider-decoder.html" => [ + "doc/man7/provider-decoder.pod" + ], + "doc/html/man7/provider-digest.html" => [ + "doc/man7/provider-digest.pod" + ], + "doc/html/man7/provider-encoder.html" => [ + "doc/man7/provider-encoder.pod" + ], + "doc/html/man7/provider-kdf.html" => [ + "doc/man7/provider-kdf.pod" + ], + "doc/html/man7/provider-kem.html" => [ + "doc/man7/provider-kem.pod" + ], + "doc/html/man7/provider-keyexch.html" => [ + "doc/man7/provider-keyexch.pod" + ], + "doc/html/man7/provider-keymgmt.html" => [ + "doc/man7/provider-keymgmt.pod" + ], + "doc/html/man7/provider-mac.html" => [ + "doc/man7/provider-mac.pod" + ], + "doc/html/man7/provider-object.html" => [ + "doc/man7/provider-object.pod" + ], + "doc/html/man7/provider-rand.html" => [ + "doc/man7/provider-rand.pod" + ], + "doc/html/man7/provider-signature.html" => [ + "doc/man7/provider-signature.pod" + ], + "doc/html/man7/provider-storemgmt.html" => [ + "doc/man7/provider-storemgmt.pod" + ], + "doc/html/man7/provider.html" => [ + "doc/man7/provider.pod" + ], + "doc/html/man7/proxy-certificates.html" => [ + "doc/man7/proxy-certificates.pod" + ], + "doc/html/man7/ssl.html" => [ + "doc/man7/ssl.pod" + ], + "doc/html/man7/x509.html" => [ + "doc/man7/x509.pod" + ], + "doc/man/man1/CA.pl.1" => [ + "doc/man1/CA.pl.pod" + ], + "doc/man/man1/openssl-asn1parse.1" => [ + "doc/man1/openssl-asn1parse.pod" + ], + "doc/man/man1/openssl-ca.1" => [ + "doc/man1/openssl-ca.pod" + ], + "doc/man/man1/openssl-ciphers.1" => [ + "doc/man1/openssl-ciphers.pod" + ], + "doc/man/man1/openssl-cmds.1" => [ + "doc/man1/openssl-cmds.pod" + ], + "doc/man/man1/openssl-cmp.1" => [ + "doc/man1/openssl-cmp.pod" + ], + "doc/man/man1/openssl-cms.1" => [ + "doc/man1/openssl-cms.pod" + ], + "doc/man/man1/openssl-crl.1" => [ + "doc/man1/openssl-crl.pod" + ], + "doc/man/man1/openssl-crl2pkcs7.1" => [ + "doc/man1/openssl-crl2pkcs7.pod" + ], + "doc/man/man1/openssl-dgst.1" => [ + "doc/man1/openssl-dgst.pod" + ], + "doc/man/man1/openssl-dhparam.1" => [ + "doc/man1/openssl-dhparam.pod" + ], + "doc/man/man1/openssl-dsa.1" => [ + "doc/man1/openssl-dsa.pod" + ], + "doc/man/man1/openssl-dsaparam.1" => [ + "doc/man1/openssl-dsaparam.pod" + ], + "doc/man/man1/openssl-ec.1" => [ + "doc/man1/openssl-ec.pod" + ], + "doc/man/man1/openssl-ecparam.1" => [ + "doc/man1/openssl-ecparam.pod" + ], + "doc/man/man1/openssl-enc.1" => [ + "doc/man1/openssl-enc.pod" + ], + "doc/man/man1/openssl-engine.1" => [ + "doc/man1/openssl-engine.pod" + ], + "doc/man/man1/openssl-errstr.1" => [ + "doc/man1/openssl-errstr.pod" + ], + "doc/man/man1/openssl-fipsinstall.1" => [ + "doc/man1/openssl-fipsinstall.pod" + ], + "doc/man/man1/openssl-format-options.1" => [ + "doc/man1/openssl-format-options.pod" + ], + "doc/man/man1/openssl-gendsa.1" => [ + "doc/man1/openssl-gendsa.pod" + ], + "doc/man/man1/openssl-genpkey.1" => [ + "doc/man1/openssl-genpkey.pod" + ], + "doc/man/man1/openssl-genrsa.1" => [ + "doc/man1/openssl-genrsa.pod" + ], + "doc/man/man1/openssl-info.1" => [ + "doc/man1/openssl-info.pod" + ], + "doc/man/man1/openssl-kdf.1" => [ + "doc/man1/openssl-kdf.pod" + ], + "doc/man/man1/openssl-list.1" => [ + "doc/man1/openssl-list.pod" + ], + "doc/man/man1/openssl-mac.1" => [ + "doc/man1/openssl-mac.pod" + ], + "doc/man/man1/openssl-namedisplay-options.1" => [ + "doc/man1/openssl-namedisplay-options.pod" + ], + "doc/man/man1/openssl-nseq.1" => [ + "doc/man1/openssl-nseq.pod" + ], + "doc/man/man1/openssl-ocsp.1" => [ + "doc/man1/openssl-ocsp.pod" + ], + "doc/man/man1/openssl-passphrase-options.1" => [ + "doc/man1/openssl-passphrase-options.pod" + ], + "doc/man/man1/openssl-passwd.1" => [ + "doc/man1/openssl-passwd.pod" + ], + "doc/man/man1/openssl-pkcs12.1" => [ + "doc/man1/openssl-pkcs12.pod" + ], + "doc/man/man1/openssl-pkcs7.1" => [ + "doc/man1/openssl-pkcs7.pod" + ], + "doc/man/man1/openssl-pkcs8.1" => [ + "doc/man1/openssl-pkcs8.pod" + ], + "doc/man/man1/openssl-pkey.1" => [ + "doc/man1/openssl-pkey.pod" + ], + "doc/man/man1/openssl-pkeyparam.1" => [ + "doc/man1/openssl-pkeyparam.pod" + ], + "doc/man/man1/openssl-pkeyutl.1" => [ + "doc/man1/openssl-pkeyutl.pod" + ], + "doc/man/man1/openssl-prime.1" => [ + "doc/man1/openssl-prime.pod" + ], + "doc/man/man1/openssl-rand.1" => [ + "doc/man1/openssl-rand.pod" + ], + "doc/man/man1/openssl-rehash.1" => [ + "doc/man1/openssl-rehash.pod" + ], + "doc/man/man1/openssl-req.1" => [ + "doc/man1/openssl-req.pod" + ], + "doc/man/man1/openssl-rsa.1" => [ + "doc/man1/openssl-rsa.pod" + ], + "doc/man/man1/openssl-rsautl.1" => [ + "doc/man1/openssl-rsautl.pod" + ], + "doc/man/man1/openssl-s_client.1" => [ + "doc/man1/openssl-s_client.pod" + ], + "doc/man/man1/openssl-s_server.1" => [ + "doc/man1/openssl-s_server.pod" + ], + "doc/man/man1/openssl-s_time.1" => [ + "doc/man1/openssl-s_time.pod" + ], + "doc/man/man1/openssl-sess_id.1" => [ + "doc/man1/openssl-sess_id.pod" + ], + "doc/man/man1/openssl-smime.1" => [ + "doc/man1/openssl-smime.pod" + ], + "doc/man/man1/openssl-speed.1" => [ + "doc/man1/openssl-speed.pod" + ], + "doc/man/man1/openssl-spkac.1" => [ + "doc/man1/openssl-spkac.pod" + ], + "doc/man/man1/openssl-srp.1" => [ + "doc/man1/openssl-srp.pod" + ], + "doc/man/man1/openssl-storeutl.1" => [ + "doc/man1/openssl-storeutl.pod" + ], + "doc/man/man1/openssl-ts.1" => [ + "doc/man1/openssl-ts.pod" + ], + "doc/man/man1/openssl-verification-options.1" => [ + "doc/man1/openssl-verification-options.pod" + ], + "doc/man/man1/openssl-verify.1" => [ + "doc/man1/openssl-verify.pod" + ], + "doc/man/man1/openssl-version.1" => [ + "doc/man1/openssl-version.pod" + ], + "doc/man/man1/openssl-x509.1" => [ + "doc/man1/openssl-x509.pod" + ], + "doc/man/man1/openssl.1" => [ + "doc/man1/openssl.pod" + ], + "doc/man/man1/tsget.1" => [ + "doc/man1/tsget.pod" + ], + "doc/man/man3/ADMISSIONS.3" => [ + "doc/man3/ADMISSIONS.pod" + ], + "doc/man/man3/ASN1_EXTERN_FUNCS.3" => [ + "doc/man3/ASN1_EXTERN_FUNCS.pod" + ], + "doc/man/man3/ASN1_INTEGER_get_int64.3" => [ + "doc/man3/ASN1_INTEGER_get_int64.pod" + ], + "doc/man/man3/ASN1_INTEGER_new.3" => [ + "doc/man3/ASN1_INTEGER_new.pod" + ], + "doc/man/man3/ASN1_ITEM_lookup.3" => [ + "doc/man3/ASN1_ITEM_lookup.pod" + ], + "doc/man/man3/ASN1_OBJECT_new.3" => [ + "doc/man3/ASN1_OBJECT_new.pod" + ], + "doc/man/man3/ASN1_STRING_TABLE_add.3" => [ + "doc/man3/ASN1_STRING_TABLE_add.pod" + ], + "doc/man/man3/ASN1_STRING_length.3" => [ + "doc/man3/ASN1_STRING_length.pod" + ], + "doc/man/man3/ASN1_STRING_new.3" => [ + "doc/man3/ASN1_STRING_new.pod" + ], + "doc/man/man3/ASN1_STRING_print_ex.3" => [ + "doc/man3/ASN1_STRING_print_ex.pod" + ], + "doc/man/man3/ASN1_TIME_set.3" => [ + "doc/man3/ASN1_TIME_set.pod" + ], + "doc/man/man3/ASN1_TYPE_get.3" => [ + "doc/man3/ASN1_TYPE_get.pod" + ], + "doc/man/man3/ASN1_aux_cb.3" => [ + "doc/man3/ASN1_aux_cb.pod" + ], + "doc/man/man3/ASN1_generate_nconf.3" => [ + "doc/man3/ASN1_generate_nconf.pod" + ], + "doc/man/man3/ASN1_item_d2i_bio.3" => [ + "doc/man3/ASN1_item_d2i_bio.pod" + ], + "doc/man/man3/ASN1_item_new.3" => [ + "doc/man3/ASN1_item_new.pod" + ], + "doc/man/man3/ASN1_item_sign.3" => [ + "doc/man3/ASN1_item_sign.pod" + ], + "doc/man/man3/ASYNC_WAIT_CTX_new.3" => [ + "doc/man3/ASYNC_WAIT_CTX_new.pod" + ], + "doc/man/man3/ASYNC_start_job.3" => [ + "doc/man3/ASYNC_start_job.pod" + ], + "doc/man/man3/BF_encrypt.3" => [ + "doc/man3/BF_encrypt.pod" + ], + "doc/man/man3/BIO_ADDR.3" => [ + "doc/man3/BIO_ADDR.pod" + ], + "doc/man/man3/BIO_ADDRINFO.3" => [ + "doc/man3/BIO_ADDRINFO.pod" + ], + "doc/man/man3/BIO_connect.3" => [ + "doc/man3/BIO_connect.pod" + ], + "doc/man/man3/BIO_ctrl.3" => [ + "doc/man3/BIO_ctrl.pod" + ], + "doc/man/man3/BIO_f_base64.3" => [ + "doc/man3/BIO_f_base64.pod" + ], + "doc/man/man3/BIO_f_buffer.3" => [ + "doc/man3/BIO_f_buffer.pod" + ], + "doc/man/man3/BIO_f_cipher.3" => [ + "doc/man3/BIO_f_cipher.pod" + ], + "doc/man/man3/BIO_f_md.3" => [ + "doc/man3/BIO_f_md.pod" + ], + "doc/man/man3/BIO_f_null.3" => [ + "doc/man3/BIO_f_null.pod" + ], + "doc/man/man3/BIO_f_prefix.3" => [ + "doc/man3/BIO_f_prefix.pod" + ], + "doc/man/man3/BIO_f_readbuffer.3" => [ + "doc/man3/BIO_f_readbuffer.pod" + ], + "doc/man/man3/BIO_f_ssl.3" => [ + "doc/man3/BIO_f_ssl.pod" + ], + "doc/man/man3/BIO_find_type.3" => [ + "doc/man3/BIO_find_type.pod" + ], + "doc/man/man3/BIO_get_data.3" => [ + "doc/man3/BIO_get_data.pod" + ], + "doc/man/man3/BIO_get_ex_new_index.3" => [ + "doc/man3/BIO_get_ex_new_index.pod" + ], + "doc/man/man3/BIO_meth_new.3" => [ + "doc/man3/BIO_meth_new.pod" + ], + "doc/man/man3/BIO_new.3" => [ + "doc/man3/BIO_new.pod" + ], + "doc/man/man3/BIO_new_CMS.3" => [ + "doc/man3/BIO_new_CMS.pod" + ], + "doc/man/man3/BIO_parse_hostserv.3" => [ + "doc/man3/BIO_parse_hostserv.pod" + ], + "doc/man/man3/BIO_printf.3" => [ + "doc/man3/BIO_printf.pod" + ], + "doc/man/man3/BIO_push.3" => [ + "doc/man3/BIO_push.pod" + ], + "doc/man/man3/BIO_read.3" => [ + "doc/man3/BIO_read.pod" + ], + "doc/man/man3/BIO_s_accept.3" => [ + "doc/man3/BIO_s_accept.pod" + ], + "doc/man/man3/BIO_s_bio.3" => [ + "doc/man3/BIO_s_bio.pod" + ], + "doc/man/man3/BIO_s_connect.3" => [ + "doc/man3/BIO_s_connect.pod" + ], + "doc/man/man3/BIO_s_core.3" => [ + "doc/man3/BIO_s_core.pod" + ], + "doc/man/man3/BIO_s_datagram.3" => [ + "doc/man3/BIO_s_datagram.pod" + ], + "doc/man/man3/BIO_s_fd.3" => [ + "doc/man3/BIO_s_fd.pod" + ], + "doc/man/man3/BIO_s_file.3" => [ + "doc/man3/BIO_s_file.pod" + ], + "doc/man/man3/BIO_s_mem.3" => [ + "doc/man3/BIO_s_mem.pod" + ], + "doc/man/man3/BIO_s_null.3" => [ + "doc/man3/BIO_s_null.pod" + ], + "doc/man/man3/BIO_s_socket.3" => [ + "doc/man3/BIO_s_socket.pod" + ], + "doc/man/man3/BIO_set_callback.3" => [ + "doc/man3/BIO_set_callback.pod" + ], + "doc/man/man3/BIO_should_retry.3" => [ + "doc/man3/BIO_should_retry.pod" + ], + "doc/man/man3/BIO_socket_wait.3" => [ + "doc/man3/BIO_socket_wait.pod" + ], + "doc/man/man3/BN_BLINDING_new.3" => [ + "doc/man3/BN_BLINDING_new.pod" + ], + "doc/man/man3/BN_CTX_new.3" => [ + "doc/man3/BN_CTX_new.pod" + ], + "doc/man/man3/BN_CTX_start.3" => [ + "doc/man3/BN_CTX_start.pod" + ], + "doc/man/man3/BN_add.3" => [ + "doc/man3/BN_add.pod" + ], + "doc/man/man3/BN_add_word.3" => [ + "doc/man3/BN_add_word.pod" + ], + "doc/man/man3/BN_bn2bin.3" => [ + "doc/man3/BN_bn2bin.pod" + ], + "doc/man/man3/BN_cmp.3" => [ + "doc/man3/BN_cmp.pod" + ], + "doc/man/man3/BN_copy.3" => [ + "doc/man3/BN_copy.pod" + ], + "doc/man/man3/BN_generate_prime.3" => [ + "doc/man3/BN_generate_prime.pod" + ], + "doc/man/man3/BN_mod_exp_mont.3" => [ + "doc/man3/BN_mod_exp_mont.pod" + ], + "doc/man/man3/BN_mod_inverse.3" => [ + "doc/man3/BN_mod_inverse.pod" + ], + "doc/man/man3/BN_mod_mul_montgomery.3" => [ + "doc/man3/BN_mod_mul_montgomery.pod" + ], + "doc/man/man3/BN_mod_mul_reciprocal.3" => [ + "doc/man3/BN_mod_mul_reciprocal.pod" + ], + "doc/man/man3/BN_new.3" => [ + "doc/man3/BN_new.pod" + ], + "doc/man/man3/BN_num_bytes.3" => [ + "doc/man3/BN_num_bytes.pod" + ], + "doc/man/man3/BN_rand.3" => [ + "doc/man3/BN_rand.pod" + ], + "doc/man/man3/BN_security_bits.3" => [ + "doc/man3/BN_security_bits.pod" + ], + "doc/man/man3/BN_set_bit.3" => [ + "doc/man3/BN_set_bit.pod" + ], + "doc/man/man3/BN_swap.3" => [ + "doc/man3/BN_swap.pod" + ], + "doc/man/man3/BN_zero.3" => [ + "doc/man3/BN_zero.pod" + ], + "doc/man/man3/BUF_MEM_new.3" => [ + "doc/man3/BUF_MEM_new.pod" + ], + "doc/man/man3/CMS_EncryptedData_decrypt.3" => [ + "doc/man3/CMS_EncryptedData_decrypt.pod" + ], + "doc/man/man3/CMS_EncryptedData_encrypt.3" => [ + "doc/man3/CMS_EncryptedData_encrypt.pod" + ], + "doc/man/man3/CMS_EnvelopedData_create.3" => [ + "doc/man3/CMS_EnvelopedData_create.pod" + ], + "doc/man/man3/CMS_add0_cert.3" => [ + "doc/man3/CMS_add0_cert.pod" + ], + "doc/man/man3/CMS_add1_recipient_cert.3" => [ + "doc/man3/CMS_add1_recipient_cert.pod" + ], + "doc/man/man3/CMS_add1_signer.3" => [ + "doc/man3/CMS_add1_signer.pod" + ], + "doc/man/man3/CMS_compress.3" => [ + "doc/man3/CMS_compress.pod" + ], + "doc/man/man3/CMS_data_create.3" => [ + "doc/man3/CMS_data_create.pod" + ], + "doc/man/man3/CMS_decrypt.3" => [ + "doc/man3/CMS_decrypt.pod" + ], + "doc/man/man3/CMS_digest_create.3" => [ + "doc/man3/CMS_digest_create.pod" + ], + "doc/man/man3/CMS_encrypt.3" => [ + "doc/man3/CMS_encrypt.pod" + ], + "doc/man/man3/CMS_final.3" => [ + "doc/man3/CMS_final.pod" + ], + "doc/man/man3/CMS_get0_RecipientInfos.3" => [ + "doc/man3/CMS_get0_RecipientInfos.pod" + ], + "doc/man/man3/CMS_get0_SignerInfos.3" => [ + "doc/man3/CMS_get0_SignerInfos.pod" + ], + "doc/man/man3/CMS_get0_type.3" => [ + "doc/man3/CMS_get0_type.pod" + ], + "doc/man/man3/CMS_get1_ReceiptRequest.3" => [ + "doc/man3/CMS_get1_ReceiptRequest.pod" + ], + "doc/man/man3/CMS_sign.3" => [ + "doc/man3/CMS_sign.pod" + ], + "doc/man/man3/CMS_sign_receipt.3" => [ + "doc/man3/CMS_sign_receipt.pod" + ], + "doc/man/man3/CMS_uncompress.3" => [ + "doc/man3/CMS_uncompress.pod" + ], + "doc/man/man3/CMS_verify.3" => [ + "doc/man3/CMS_verify.pod" + ], + "doc/man/man3/CMS_verify_receipt.3" => [ + "doc/man3/CMS_verify_receipt.pod" + ], + "doc/man/man3/CONF_modules_free.3" => [ + "doc/man3/CONF_modules_free.pod" + ], + "doc/man/man3/CONF_modules_load_file.3" => [ + "doc/man3/CONF_modules_load_file.pod" + ], + "doc/man/man3/CRYPTO_THREAD_run_once.3" => [ + "doc/man3/CRYPTO_THREAD_run_once.pod" + ], + "doc/man/man3/CRYPTO_get_ex_new_index.3" => [ + "doc/man3/CRYPTO_get_ex_new_index.pod" + ], + "doc/man/man3/CRYPTO_memcmp.3" => [ + "doc/man3/CRYPTO_memcmp.pod" + ], + "doc/man/man3/CTLOG_STORE_get0_log_by_id.3" => [ + "doc/man3/CTLOG_STORE_get0_log_by_id.pod" + ], + "doc/man/man3/CTLOG_STORE_new.3" => [ + "doc/man3/CTLOG_STORE_new.pod" + ], + "doc/man/man3/CTLOG_new.3" => [ + "doc/man3/CTLOG_new.pod" + ], + "doc/man/man3/CT_POLICY_EVAL_CTX_new.3" => [ + "doc/man3/CT_POLICY_EVAL_CTX_new.pod" + ], + "doc/man/man3/DEFINE_STACK_OF.3" => [ + "doc/man3/DEFINE_STACK_OF.pod" + ], + "doc/man/man3/DES_random_key.3" => [ + "doc/man3/DES_random_key.pod" + ], + "doc/man/man3/DH_generate_key.3" => [ + "doc/man3/DH_generate_key.pod" + ], + "doc/man/man3/DH_generate_parameters.3" => [ + "doc/man3/DH_generate_parameters.pod" + ], + "doc/man/man3/DH_get0_pqg.3" => [ + "doc/man3/DH_get0_pqg.pod" + ], + "doc/man/man3/DH_get_1024_160.3" => [ + "doc/man3/DH_get_1024_160.pod" + ], + "doc/man/man3/DH_meth_new.3" => [ + "doc/man3/DH_meth_new.pod" + ], + "doc/man/man3/DH_new.3" => [ + "doc/man3/DH_new.pod" + ], + "doc/man/man3/DH_new_by_nid.3" => [ + "doc/man3/DH_new_by_nid.pod" + ], + "doc/man/man3/DH_set_method.3" => [ + "doc/man3/DH_set_method.pod" + ], + "doc/man/man3/DH_size.3" => [ + "doc/man3/DH_size.pod" + ], + "doc/man/man3/DSA_SIG_new.3" => [ + "doc/man3/DSA_SIG_new.pod" + ], + "doc/man/man3/DSA_do_sign.3" => [ + "doc/man3/DSA_do_sign.pod" + ], + "doc/man/man3/DSA_dup_DH.3" => [ + "doc/man3/DSA_dup_DH.pod" + ], + "doc/man/man3/DSA_generate_key.3" => [ + "doc/man3/DSA_generate_key.pod" + ], + "doc/man/man3/DSA_generate_parameters.3" => [ + "doc/man3/DSA_generate_parameters.pod" + ], + "doc/man/man3/DSA_get0_pqg.3" => [ + "doc/man3/DSA_get0_pqg.pod" + ], + "doc/man/man3/DSA_meth_new.3" => [ + "doc/man3/DSA_meth_new.pod" + ], + "doc/man/man3/DSA_new.3" => [ + "doc/man3/DSA_new.pod" + ], + "doc/man/man3/DSA_set_method.3" => [ + "doc/man3/DSA_set_method.pod" + ], + "doc/man/man3/DSA_sign.3" => [ + "doc/man3/DSA_sign.pod" + ], + "doc/man/man3/DSA_size.3" => [ + "doc/man3/DSA_size.pod" + ], + "doc/man/man3/DTLS_get_data_mtu.3" => [ + "doc/man3/DTLS_get_data_mtu.pod" + ], + "doc/man/man3/DTLS_set_timer_cb.3" => [ + "doc/man3/DTLS_set_timer_cb.pod" + ], + "doc/man/man3/DTLSv1_listen.3" => [ + "doc/man3/DTLSv1_listen.pod" + ], + "doc/man/man3/ECDSA_SIG_new.3" => [ + "doc/man3/ECDSA_SIG_new.pod" + ], + "doc/man/man3/ECDSA_sign.3" => [ + "doc/man3/ECDSA_sign.pod" + ], + "doc/man/man3/ECPKParameters_print.3" => [ + "doc/man3/ECPKParameters_print.pod" + ], + "doc/man/man3/EC_GFp_simple_method.3" => [ + "doc/man3/EC_GFp_simple_method.pod" + ], + "doc/man/man3/EC_GROUP_copy.3" => [ + "doc/man3/EC_GROUP_copy.pod" + ], + "doc/man/man3/EC_GROUP_new.3" => [ + "doc/man3/EC_GROUP_new.pod" + ], + "doc/man/man3/EC_KEY_get_enc_flags.3" => [ + "doc/man3/EC_KEY_get_enc_flags.pod" + ], + "doc/man/man3/EC_KEY_new.3" => [ + "doc/man3/EC_KEY_new.pod" + ], + "doc/man/man3/EC_POINT_add.3" => [ + "doc/man3/EC_POINT_add.pod" + ], + "doc/man/man3/EC_POINT_new.3" => [ + "doc/man3/EC_POINT_new.pod" + ], + "doc/man/man3/ENGINE_add.3" => [ + "doc/man3/ENGINE_add.pod" + ], + "doc/man/man3/ERR_GET_LIB.3" => [ + "doc/man3/ERR_GET_LIB.pod" + ], + "doc/man/man3/ERR_clear_error.3" => [ + "doc/man3/ERR_clear_error.pod" + ], + "doc/man/man3/ERR_error_string.3" => [ + "doc/man3/ERR_error_string.pod" + ], + "doc/man/man3/ERR_get_error.3" => [ + "doc/man3/ERR_get_error.pod" + ], + "doc/man/man3/ERR_load_crypto_strings.3" => [ + "doc/man3/ERR_load_crypto_strings.pod" + ], + "doc/man/man3/ERR_load_strings.3" => [ + "doc/man3/ERR_load_strings.pod" + ], + "doc/man/man3/ERR_new.3" => [ + "doc/man3/ERR_new.pod" + ], + "doc/man/man3/ERR_print_errors.3" => [ + "doc/man3/ERR_print_errors.pod" + ], + "doc/man/man3/ERR_put_error.3" => [ + "doc/man3/ERR_put_error.pod" + ], + "doc/man/man3/ERR_remove_state.3" => [ + "doc/man3/ERR_remove_state.pod" + ], + "doc/man/man3/ERR_set_mark.3" => [ + "doc/man3/ERR_set_mark.pod" + ], + "doc/man/man3/EVP_ASYM_CIPHER_free.3" => [ + "doc/man3/EVP_ASYM_CIPHER_free.pod" + ], + "doc/man/man3/EVP_BytesToKey.3" => [ + "doc/man3/EVP_BytesToKey.pod" + ], + "doc/man/man3/EVP_CIPHER_CTX_get_cipher_data.3" => [ + "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod" + ], + "doc/man/man3/EVP_CIPHER_CTX_get_original_iv.3" => [ + "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod" + ], + "doc/man/man3/EVP_CIPHER_meth_new.3" => [ + "doc/man3/EVP_CIPHER_meth_new.pod" + ], + "doc/man/man3/EVP_DigestInit.3" => [ + "doc/man3/EVP_DigestInit.pod" + ], + "doc/man/man3/EVP_DigestSignInit.3" => [ + "doc/man3/EVP_DigestSignInit.pod" + ], + "doc/man/man3/EVP_DigestVerifyInit.3" => [ + "doc/man3/EVP_DigestVerifyInit.pod" + ], + "doc/man/man3/EVP_EncodeInit.3" => [ + "doc/man3/EVP_EncodeInit.pod" + ], + "doc/man/man3/EVP_EncryptInit.3" => [ + "doc/man3/EVP_EncryptInit.pod" + ], + "doc/man/man3/EVP_KDF.3" => [ + "doc/man3/EVP_KDF.pod" + ], + "doc/man/man3/EVP_KEM_free.3" => [ + "doc/man3/EVP_KEM_free.pod" + ], + "doc/man/man3/EVP_KEYEXCH_free.3" => [ + "doc/man3/EVP_KEYEXCH_free.pod" + ], + "doc/man/man3/EVP_KEYMGMT.3" => [ + "doc/man3/EVP_KEYMGMT.pod" + ], + "doc/man/man3/EVP_MAC.3" => [ + "doc/man3/EVP_MAC.pod" + ], + "doc/man/man3/EVP_MD_meth_new.3" => [ + "doc/man3/EVP_MD_meth_new.pod" + ], + "doc/man/man3/EVP_OpenInit.3" => [ + "doc/man3/EVP_OpenInit.pod" + ], + "doc/man/man3/EVP_PBE_CipherInit.3" => [ + "doc/man3/EVP_PBE_CipherInit.pod" + ], + "doc/man/man3/EVP_PKEY2PKCS8.3" => [ + "doc/man3/EVP_PKEY2PKCS8.pod" + ], + "doc/man/man3/EVP_PKEY_ASN1_METHOD.3" => [ + "doc/man3/EVP_PKEY_ASN1_METHOD.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_ctrl.3" => [ + "doc/man3/EVP_PKEY_CTX_ctrl.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_get0_libctx.3" => [ + "doc/man3/EVP_PKEY_CTX_get0_libctx.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_get0_pkey.3" => [ + "doc/man3/EVP_PKEY_CTX_get0_pkey.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_new.3" => [ + "doc/man3/EVP_PKEY_CTX_new.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3" => [ + "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_hkdf_md.3" => [ + "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_params.3" => [ + "doc/man3/EVP_PKEY_CTX_set_params.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3" => [ + "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_scrypt_N.3" => [ + "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3" => [ + "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod" + ], + "doc/man/man3/EVP_PKEY_asn1_get_count.3" => [ + "doc/man3/EVP_PKEY_asn1_get_count.pod" + ], + "doc/man/man3/EVP_PKEY_check.3" => [ + "doc/man3/EVP_PKEY_check.pod" + ], + "doc/man/man3/EVP_PKEY_copy_parameters.3" => [ + "doc/man3/EVP_PKEY_copy_parameters.pod" + ], + "doc/man/man3/EVP_PKEY_decapsulate.3" => [ + "doc/man3/EVP_PKEY_decapsulate.pod" + ], + "doc/man/man3/EVP_PKEY_decrypt.3" => [ + "doc/man3/EVP_PKEY_decrypt.pod" + ], + "doc/man/man3/EVP_PKEY_derive.3" => [ + "doc/man3/EVP_PKEY_derive.pod" + ], + "doc/man/man3/EVP_PKEY_digestsign_supports_digest.3" => [ + "doc/man3/EVP_PKEY_digestsign_supports_digest.pod" + ], + "doc/man/man3/EVP_PKEY_encapsulate.3" => [ + "doc/man3/EVP_PKEY_encapsulate.pod" + ], + "doc/man/man3/EVP_PKEY_encrypt.3" => [ + "doc/man3/EVP_PKEY_encrypt.pod" + ], + "doc/man/man3/EVP_PKEY_fromdata.3" => [ + "doc/man3/EVP_PKEY_fromdata.pod" + ], + "doc/man/man3/EVP_PKEY_get_default_digest_nid.3" => [ + "doc/man3/EVP_PKEY_get_default_digest_nid.pod" + ], + "doc/man/man3/EVP_PKEY_get_field_type.3" => [ + "doc/man3/EVP_PKEY_get_field_type.pod" + ], + "doc/man/man3/EVP_PKEY_get_group_name.3" => [ + "doc/man3/EVP_PKEY_get_group_name.pod" + ], + "doc/man/man3/EVP_PKEY_get_size.3" => [ + "doc/man3/EVP_PKEY_get_size.pod" + ], + "doc/man/man3/EVP_PKEY_gettable_params.3" => [ + "doc/man3/EVP_PKEY_gettable_params.pod" + ], + "doc/man/man3/EVP_PKEY_is_a.3" => [ + "doc/man3/EVP_PKEY_is_a.pod" + ], + "doc/man/man3/EVP_PKEY_keygen.3" => [ + "doc/man3/EVP_PKEY_keygen.pod" + ], + "doc/man/man3/EVP_PKEY_meth_get_count.3" => [ + "doc/man3/EVP_PKEY_meth_get_count.pod" + ], + "doc/man/man3/EVP_PKEY_meth_new.3" => [ + "doc/man3/EVP_PKEY_meth_new.pod" + ], + "doc/man/man3/EVP_PKEY_new.3" => [ + "doc/man3/EVP_PKEY_new.pod" + ], + "doc/man/man3/EVP_PKEY_print_private.3" => [ + "doc/man3/EVP_PKEY_print_private.pod" + ], + "doc/man/man3/EVP_PKEY_set1_RSA.3" => [ + "doc/man3/EVP_PKEY_set1_RSA.pod" + ], + "doc/man/man3/EVP_PKEY_set1_encoded_public_key.3" => [ + "doc/man3/EVP_PKEY_set1_encoded_public_key.pod" + ], + "doc/man/man3/EVP_PKEY_set_type.3" => [ + "doc/man3/EVP_PKEY_set_type.pod" + ], + "doc/man/man3/EVP_PKEY_settable_params.3" => [ + "doc/man3/EVP_PKEY_settable_params.pod" + ], + "doc/man/man3/EVP_PKEY_sign.3" => [ + "doc/man3/EVP_PKEY_sign.pod" + ], + "doc/man/man3/EVP_PKEY_todata.3" => [ + "doc/man3/EVP_PKEY_todata.pod" + ], + "doc/man/man3/EVP_PKEY_verify.3" => [ + "doc/man3/EVP_PKEY_verify.pod" + ], + "doc/man/man3/EVP_PKEY_verify_recover.3" => [ + "doc/man3/EVP_PKEY_verify_recover.pod" + ], + "doc/man/man3/EVP_RAND.3" => [ + "doc/man3/EVP_RAND.pod" + ], + "doc/man/man3/EVP_SIGNATURE.3" => [ + "doc/man3/EVP_SIGNATURE.pod" + ], + "doc/man/man3/EVP_SealInit.3" => [ + "doc/man3/EVP_SealInit.pod" + ], + "doc/man/man3/EVP_SignInit.3" => [ + "doc/man3/EVP_SignInit.pod" + ], + "doc/man/man3/EVP_VerifyInit.3" => [ + "doc/man3/EVP_VerifyInit.pod" + ], + "doc/man/man3/EVP_aes_128_gcm.3" => [ + "doc/man3/EVP_aes_128_gcm.pod" + ], + "doc/man/man3/EVP_aria_128_gcm.3" => [ + "doc/man3/EVP_aria_128_gcm.pod" + ], + "doc/man/man3/EVP_bf_cbc.3" => [ + "doc/man3/EVP_bf_cbc.pod" + ], + "doc/man/man3/EVP_blake2b512.3" => [ + "doc/man3/EVP_blake2b512.pod" + ], + "doc/man/man3/EVP_camellia_128_ecb.3" => [ + "doc/man3/EVP_camellia_128_ecb.pod" + ], + "doc/man/man3/EVP_cast5_cbc.3" => [ + "doc/man3/EVP_cast5_cbc.pod" + ], + "doc/man/man3/EVP_chacha20.3" => [ + "doc/man3/EVP_chacha20.pod" + ], + "doc/man/man3/EVP_des_cbc.3" => [ + "doc/man3/EVP_des_cbc.pod" + ], + "doc/man/man3/EVP_desx_cbc.3" => [ + "doc/man3/EVP_desx_cbc.pod" + ], + "doc/man/man3/EVP_idea_cbc.3" => [ + "doc/man3/EVP_idea_cbc.pod" + ], + "doc/man/man3/EVP_md2.3" => [ + "doc/man3/EVP_md2.pod" + ], + "doc/man/man3/EVP_md4.3" => [ + "doc/man3/EVP_md4.pod" + ], + "doc/man/man3/EVP_md5.3" => [ + "doc/man3/EVP_md5.pod" + ], + "doc/man/man3/EVP_mdc2.3" => [ + "doc/man3/EVP_mdc2.pod" + ], + "doc/man/man3/EVP_rc2_cbc.3" => [ + "doc/man3/EVP_rc2_cbc.pod" + ], + "doc/man/man3/EVP_rc4.3" => [ + "doc/man3/EVP_rc4.pod" + ], + "doc/man/man3/EVP_rc5_32_12_16_cbc.3" => [ + "doc/man3/EVP_rc5_32_12_16_cbc.pod" + ], + "doc/man/man3/EVP_ripemd160.3" => [ + "doc/man3/EVP_ripemd160.pod" + ], + "doc/man/man3/EVP_seed_cbc.3" => [ + "doc/man3/EVP_seed_cbc.pod" + ], + "doc/man/man3/EVP_set_default_properties.3" => [ + "doc/man3/EVP_set_default_properties.pod" + ], + "doc/man/man3/EVP_sha1.3" => [ + "doc/man3/EVP_sha1.pod" + ], + "doc/man/man3/EVP_sha224.3" => [ + "doc/man3/EVP_sha224.pod" + ], + "doc/man/man3/EVP_sha3_224.3" => [ + "doc/man3/EVP_sha3_224.pod" + ], + "doc/man/man3/EVP_sm3.3" => [ + "doc/man3/EVP_sm3.pod" + ], + "doc/man/man3/EVP_sm4_cbc.3" => [ + "doc/man3/EVP_sm4_cbc.pod" + ], + "doc/man/man3/EVP_whirlpool.3" => [ + "doc/man3/EVP_whirlpool.pod" + ], + "doc/man/man3/HMAC.3" => [ + "doc/man3/HMAC.pod" + ], + "doc/man/man3/MD5.3" => [ + "doc/man3/MD5.pod" + ], + "doc/man/man3/MDC2_Init.3" => [ + "doc/man3/MDC2_Init.pod" + ], + "doc/man/man3/NCONF_new_ex.3" => [ + "doc/man3/NCONF_new_ex.pod" + ], + "doc/man/man3/OBJ_nid2obj.3" => [ + "doc/man3/OBJ_nid2obj.pod" + ], + "doc/man/man3/OCSP_REQUEST_new.3" => [ + "doc/man3/OCSP_REQUEST_new.pod" + ], + "doc/man/man3/OCSP_cert_to_id.3" => [ + "doc/man3/OCSP_cert_to_id.pod" + ], + "doc/man/man3/OCSP_request_add1_nonce.3" => [ + "doc/man3/OCSP_request_add1_nonce.pod" + ], + "doc/man/man3/OCSP_resp_find_status.3" => [ + "doc/man3/OCSP_resp_find_status.pod" + ], + "doc/man/man3/OCSP_response_status.3" => [ + "doc/man3/OCSP_response_status.pod" + ], + "doc/man/man3/OCSP_sendreq_new.3" => [ + "doc/man3/OCSP_sendreq_new.pod" + ], + "doc/man/man3/OPENSSL_Applink.3" => [ + "doc/man3/OPENSSL_Applink.pod" + ], + "doc/man/man3/OPENSSL_FILE.3" => [ + "doc/man3/OPENSSL_FILE.pod" + ], + "doc/man/man3/OPENSSL_LH_COMPFUNC.3" => [ + "doc/man3/OPENSSL_LH_COMPFUNC.pod" + ], + "doc/man/man3/OPENSSL_LH_stats.3" => [ + "doc/man3/OPENSSL_LH_stats.pod" + ], + "doc/man/man3/OPENSSL_config.3" => [ + "doc/man3/OPENSSL_config.pod" + ], + "doc/man/man3/OPENSSL_fork_prepare.3" => [ + "doc/man3/OPENSSL_fork_prepare.pod" + ], + "doc/man/man3/OPENSSL_gmtime.3" => [ + "doc/man3/OPENSSL_gmtime.pod" + ], + "doc/man/man3/OPENSSL_hexchar2int.3" => [ + "doc/man3/OPENSSL_hexchar2int.pod" + ], + "doc/man/man3/OPENSSL_ia32cap.3" => [ + "doc/man3/OPENSSL_ia32cap.pod" + ], + "doc/man/man3/OPENSSL_init_crypto.3" => [ + "doc/man3/OPENSSL_init_crypto.pod" + ], + "doc/man/man3/OPENSSL_init_ssl.3" => [ + "doc/man3/OPENSSL_init_ssl.pod" + ], + "doc/man/man3/OPENSSL_instrument_bus.3" => [ + "doc/man3/OPENSSL_instrument_bus.pod" + ], + "doc/man/man3/OPENSSL_load_builtin_modules.3" => [ + "doc/man3/OPENSSL_load_builtin_modules.pod" + ], + "doc/man/man3/OPENSSL_malloc.3" => [ + "doc/man3/OPENSSL_malloc.pod" + ], + "doc/man/man3/OPENSSL_s390xcap.3" => [ + "doc/man3/OPENSSL_s390xcap.pod" + ], + "doc/man/man3/OPENSSL_secure_malloc.3" => [ + "doc/man3/OPENSSL_secure_malloc.pod" + ], + "doc/man/man3/OPENSSL_strcasecmp.3" => [ + "doc/man3/OPENSSL_strcasecmp.pod" + ], + "doc/man/man3/OSSL_ALGORITHM.3" => [ + "doc/man3/OSSL_ALGORITHM.pod" + ], + "doc/man/man3/OSSL_CALLBACK.3" => [ + "doc/man3/OSSL_CALLBACK.pod" + ], + "doc/man/man3/OSSL_CMP_CTX_new.3" => [ + "doc/man3/OSSL_CMP_CTX_new.pod" + ], + "doc/man/man3/OSSL_CMP_HDR_get0_transactionID.3" => [ + "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod" + ], + "doc/man/man3/OSSL_CMP_ITAV_set0.3" => [ + "doc/man3/OSSL_CMP_ITAV_set0.pod" + ], + "doc/man/man3/OSSL_CMP_MSG_get0_header.3" => [ + "doc/man3/OSSL_CMP_MSG_get0_header.pod" + ], + "doc/man/man3/OSSL_CMP_MSG_http_perform.3" => [ + "doc/man3/OSSL_CMP_MSG_http_perform.pod" + ], + "doc/man/man3/OSSL_CMP_SRV_CTX_new.3" => [ + "doc/man3/OSSL_CMP_SRV_CTX_new.pod" + ], + "doc/man/man3/OSSL_CMP_STATUSINFO_new.3" => [ + "doc/man3/OSSL_CMP_STATUSINFO_new.pod" + ], + "doc/man/man3/OSSL_CMP_exec_certreq.3" => [ + "doc/man3/OSSL_CMP_exec_certreq.pod" + ], + "doc/man/man3/OSSL_CMP_log_open.3" => [ + "doc/man3/OSSL_CMP_log_open.pod" + ], + "doc/man/man3/OSSL_CMP_validate_msg.3" => [ + "doc/man3/OSSL_CMP_validate_msg.pod" + ], + "doc/man/man3/OSSL_CORE_MAKE_FUNC.3" => [ + "doc/man3/OSSL_CORE_MAKE_FUNC.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_get0_tmpl.3" => [ + "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_set0_validity.3" => [ + "doc/man3/OSSL_CRMF_MSG_set0_validity.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod" + ], + "doc/man/man3/OSSL_CRMF_pbmp_new.3" => [ + "doc/man3/OSSL_CRMF_pbmp_new.pod" + ], + "doc/man/man3/OSSL_DECODER.3" => [ + "doc/man3/OSSL_DECODER.pod" + ], + "doc/man/man3/OSSL_DECODER_CTX.3" => [ + "doc/man3/OSSL_DECODER_CTX.pod" + ], + "doc/man/man3/OSSL_DECODER_CTX_new_for_pkey.3" => [ + "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod" + ], + "doc/man/man3/OSSL_DECODER_from_bio.3" => [ + "doc/man3/OSSL_DECODER_from_bio.pod" + ], + "doc/man/man3/OSSL_DISPATCH.3" => [ + "doc/man3/OSSL_DISPATCH.pod" + ], + "doc/man/man3/OSSL_ENCODER.3" => [ + "doc/man3/OSSL_ENCODER.pod" + ], + "doc/man/man3/OSSL_ENCODER_CTX.3" => [ + "doc/man3/OSSL_ENCODER_CTX.pod" + ], + "doc/man/man3/OSSL_ENCODER_CTX_new_for_pkey.3" => [ + "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod" + ], + "doc/man/man3/OSSL_ENCODER_to_bio.3" => [ + "doc/man3/OSSL_ENCODER_to_bio.pod" + ], + "doc/man/man3/OSSL_ESS_check_signing_certs.3" => [ + "doc/man3/OSSL_ESS_check_signing_certs.pod" + ], + "doc/man/man3/OSSL_HTTP_REQ_CTX.3" => [ + "doc/man3/OSSL_HTTP_REQ_CTX.pod" + ], + "doc/man/man3/OSSL_HTTP_parse_url.3" => [ + "doc/man3/OSSL_HTTP_parse_url.pod" + ], + "doc/man/man3/OSSL_HTTP_transfer.3" => [ + "doc/man3/OSSL_HTTP_transfer.pod" + ], + "doc/man/man3/OSSL_ITEM.3" => [ + "doc/man3/OSSL_ITEM.pod" + ], + "doc/man/man3/OSSL_LIB_CTX.3" => [ + "doc/man3/OSSL_LIB_CTX.pod" + ], + "doc/man/man3/OSSL_PARAM.3" => [ + "doc/man3/OSSL_PARAM.pod" + ], + "doc/man/man3/OSSL_PARAM_BLD.3" => [ + "doc/man3/OSSL_PARAM_BLD.pod" + ], + "doc/man/man3/OSSL_PARAM_allocate_from_text.3" => [ + "doc/man3/OSSL_PARAM_allocate_from_text.pod" + ], + "doc/man/man3/OSSL_PARAM_dup.3" => [ + "doc/man3/OSSL_PARAM_dup.pod" + ], + "doc/man/man3/OSSL_PARAM_int.3" => [ + "doc/man3/OSSL_PARAM_int.pod" + ], + "doc/man/man3/OSSL_PROVIDER.3" => [ + "doc/man3/OSSL_PROVIDER.pod" + ], + "doc/man/man3/OSSL_SELF_TEST_new.3" => [ + "doc/man3/OSSL_SELF_TEST_new.pod" + ], + "doc/man/man3/OSSL_SELF_TEST_set_callback.3" => [ + "doc/man3/OSSL_SELF_TEST_set_callback.pod" + ], + "doc/man/man3/OSSL_STORE_INFO.3" => [ + "doc/man3/OSSL_STORE_INFO.pod" + ], + "doc/man/man3/OSSL_STORE_LOADER.3" => [ + "doc/man3/OSSL_STORE_LOADER.pod" + ], + "doc/man/man3/OSSL_STORE_SEARCH.3" => [ + "doc/man3/OSSL_STORE_SEARCH.pod" + ], + "doc/man/man3/OSSL_STORE_attach.3" => [ + "doc/man3/OSSL_STORE_attach.pod" + ], + "doc/man/man3/OSSL_STORE_expect.3" => [ + "doc/man3/OSSL_STORE_expect.pod" + ], + "doc/man/man3/OSSL_STORE_open.3" => [ + "doc/man3/OSSL_STORE_open.pod" + ], + "doc/man/man3/OSSL_trace_enabled.3" => [ + "doc/man3/OSSL_trace_enabled.pod" + ], + "doc/man/man3/OSSL_trace_get_category_num.3" => [ + "doc/man3/OSSL_trace_get_category_num.pod" + ], + "doc/man/man3/OSSL_trace_set_channel.3" => [ + "doc/man3/OSSL_trace_set_channel.pod" + ], + "doc/man/man3/OpenSSL_add_all_algorithms.3" => [ + "doc/man3/OpenSSL_add_all_algorithms.pod" + ], + "doc/man/man3/OpenSSL_version.3" => [ + "doc/man3/OpenSSL_version.pod" + ], + "doc/man/man3/PEM_X509_INFO_read_bio_ex.3" => [ + "doc/man3/PEM_X509_INFO_read_bio_ex.pod" + ], + "doc/man/man3/PEM_bytes_read_bio.3" => [ + "doc/man3/PEM_bytes_read_bio.pod" + ], + "doc/man/man3/PEM_read.3" => [ + "doc/man3/PEM_read.pod" + ], + "doc/man/man3/PEM_read_CMS.3" => [ + "doc/man3/PEM_read_CMS.pod" + ], + "doc/man/man3/PEM_read_bio_PrivateKey.3" => [ + "doc/man3/PEM_read_bio_PrivateKey.pod" + ], + "doc/man/man3/PEM_read_bio_ex.3" => [ + "doc/man3/PEM_read_bio_ex.pod" + ], + "doc/man/man3/PEM_write_bio_CMS_stream.3" => [ + "doc/man3/PEM_write_bio_CMS_stream.pod" + ], + "doc/man/man3/PEM_write_bio_PKCS7_stream.3" => [ + "doc/man3/PEM_write_bio_PKCS7_stream.pod" + ], + "doc/man/man3/PKCS12_PBE_keyivgen.3" => [ + "doc/man3/PKCS12_PBE_keyivgen.pod" + ], + "doc/man/man3/PKCS12_SAFEBAG_create_cert.3" => [ + "doc/man3/PKCS12_SAFEBAG_create_cert.pod" + ], + "doc/man/man3/PKCS12_SAFEBAG_get0_attrs.3" => [ + "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod" + ], + "doc/man/man3/PKCS12_SAFEBAG_get1_cert.3" => [ + "doc/man3/PKCS12_SAFEBAG_get1_cert.pod" + ], + "doc/man/man3/PKCS12_add1_attr_by_NID.3" => [ + "doc/man3/PKCS12_add1_attr_by_NID.pod" + ], + "doc/man/man3/PKCS12_add_CSPName_asc.3" => [ + "doc/man3/PKCS12_add_CSPName_asc.pod" + ], + "doc/man/man3/PKCS12_add_cert.3" => [ + "doc/man3/PKCS12_add_cert.pod" + ], + "doc/man/man3/PKCS12_add_friendlyname_asc.3" => [ + "doc/man3/PKCS12_add_friendlyname_asc.pod" + ], + "doc/man/man3/PKCS12_add_localkeyid.3" => [ + "doc/man3/PKCS12_add_localkeyid.pod" + ], + "doc/man/man3/PKCS12_add_safe.3" => [ + "doc/man3/PKCS12_add_safe.pod" + ], + "doc/man/man3/PKCS12_create.3" => [ + "doc/man3/PKCS12_create.pod" + ], + "doc/man/man3/PKCS12_decrypt_skey.3" => [ + "doc/man3/PKCS12_decrypt_skey.pod" + ], + "doc/man/man3/PKCS12_gen_mac.3" => [ + "doc/man3/PKCS12_gen_mac.pod" + ], + "doc/man/man3/PKCS12_get_friendlyname.3" => [ + "doc/man3/PKCS12_get_friendlyname.pod" + ], + "doc/man/man3/PKCS12_init.3" => [ + "doc/man3/PKCS12_init.pod" + ], + "doc/man/man3/PKCS12_item_decrypt_d2i.3" => [ + "doc/man3/PKCS12_item_decrypt_d2i.pod" + ], + "doc/man/man3/PKCS12_key_gen_utf8_ex.3" => [ + "doc/man3/PKCS12_key_gen_utf8_ex.pod" + ], + "doc/man/man3/PKCS12_newpass.3" => [ + "doc/man3/PKCS12_newpass.pod" + ], + "doc/man/man3/PKCS12_pack_p7encdata.3" => [ + "doc/man3/PKCS12_pack_p7encdata.pod" + ], + "doc/man/man3/PKCS12_parse.3" => [ + "doc/man3/PKCS12_parse.pod" + ], + "doc/man/man3/PKCS5_PBE_keyivgen.3" => [ + "doc/man3/PKCS5_PBE_keyivgen.pod" + ], + "doc/man/man3/PKCS5_PBKDF2_HMAC.3" => [ + "doc/man3/PKCS5_PBKDF2_HMAC.pod" + ], + "doc/man/man3/PKCS7_decrypt.3" => [ + "doc/man3/PKCS7_decrypt.pod" + ], + "doc/man/man3/PKCS7_encrypt.3" => [ + "doc/man3/PKCS7_encrypt.pod" + ], + "doc/man/man3/PKCS7_get_octet_string.3" => [ + "doc/man3/PKCS7_get_octet_string.pod" + ], + "doc/man/man3/PKCS7_sign.3" => [ + "doc/man3/PKCS7_sign.pod" + ], + "doc/man/man3/PKCS7_sign_add_signer.3" => [ + "doc/man3/PKCS7_sign_add_signer.pod" + ], + "doc/man/man3/PKCS7_type_is_other.3" => [ + "doc/man3/PKCS7_type_is_other.pod" + ], + "doc/man/man3/PKCS7_verify.3" => [ + "doc/man3/PKCS7_verify.pod" + ], + "doc/man/man3/PKCS8_encrypt.3" => [ + "doc/man3/PKCS8_encrypt.pod" + ], + "doc/man/man3/PKCS8_pkey_add1_attr.3" => [ + "doc/man3/PKCS8_pkey_add1_attr.pod" + ], + "doc/man/man3/RAND_add.3" => [ + "doc/man3/RAND_add.pod" + ], + "doc/man/man3/RAND_bytes.3" => [ + "doc/man3/RAND_bytes.pod" + ], + "doc/man/man3/RAND_cleanup.3" => [ + "doc/man3/RAND_cleanup.pod" + ], + "doc/man/man3/RAND_egd.3" => [ + "doc/man3/RAND_egd.pod" + ], + "doc/man/man3/RAND_get0_primary.3" => [ + "doc/man3/RAND_get0_primary.pod" + ], + "doc/man/man3/RAND_load_file.3" => [ + "doc/man3/RAND_load_file.pod" + ], + "doc/man/man3/RAND_set_DRBG_type.3" => [ + "doc/man3/RAND_set_DRBG_type.pod" + ], + "doc/man/man3/RAND_set_rand_method.3" => [ + "doc/man3/RAND_set_rand_method.pod" + ], + "doc/man/man3/RC4_set_key.3" => [ + "doc/man3/RC4_set_key.pod" + ], + "doc/man/man3/RIPEMD160_Init.3" => [ + "doc/man3/RIPEMD160_Init.pod" + ], + "doc/man/man3/RSA_blinding_on.3" => [ + "doc/man3/RSA_blinding_on.pod" + ], + "doc/man/man3/RSA_check_key.3" => [ + "doc/man3/RSA_check_key.pod" + ], + "doc/man/man3/RSA_generate_key.3" => [ + "doc/man3/RSA_generate_key.pod" + ], + "doc/man/man3/RSA_get0_key.3" => [ + "doc/man3/RSA_get0_key.pod" + ], + "doc/man/man3/RSA_meth_new.3" => [ + "doc/man3/RSA_meth_new.pod" + ], + "doc/man/man3/RSA_new.3" => [ + "doc/man3/RSA_new.pod" + ], + "doc/man/man3/RSA_padding_add_PKCS1_type_1.3" => [ + "doc/man3/RSA_padding_add_PKCS1_type_1.pod" + ], + "doc/man/man3/RSA_print.3" => [ + "doc/man3/RSA_print.pod" + ], + "doc/man/man3/RSA_private_encrypt.3" => [ + "doc/man3/RSA_private_encrypt.pod" + ], + "doc/man/man3/RSA_public_encrypt.3" => [ + "doc/man3/RSA_public_encrypt.pod" + ], + "doc/man/man3/RSA_set_method.3" => [ + "doc/man3/RSA_set_method.pod" + ], + "doc/man/man3/RSA_sign.3" => [ + "doc/man3/RSA_sign.pod" + ], + "doc/man/man3/RSA_sign_ASN1_OCTET_STRING.3" => [ + "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod" + ], + "doc/man/man3/RSA_size.3" => [ + "doc/man3/RSA_size.pod" + ], + "doc/man/man3/SCT_new.3" => [ + "doc/man3/SCT_new.pod" + ], + "doc/man/man3/SCT_print.3" => [ + "doc/man3/SCT_print.pod" + ], + "doc/man/man3/SCT_validate.3" => [ + "doc/man3/SCT_validate.pod" + ], + "doc/man/man3/SHA256_Init.3" => [ + "doc/man3/SHA256_Init.pod" + ], + "doc/man/man3/SMIME_read_ASN1.3" => [ + "doc/man3/SMIME_read_ASN1.pod" + ], + "doc/man/man3/SMIME_read_CMS.3" => [ + "doc/man3/SMIME_read_CMS.pod" + ], + "doc/man/man3/SMIME_read_PKCS7.3" => [ + "doc/man3/SMIME_read_PKCS7.pod" + ], + "doc/man/man3/SMIME_write_ASN1.3" => [ + "doc/man3/SMIME_write_ASN1.pod" + ], + "doc/man/man3/SMIME_write_CMS.3" => [ + "doc/man3/SMIME_write_CMS.pod" + ], + "doc/man/man3/SMIME_write_PKCS7.3" => [ + "doc/man3/SMIME_write_PKCS7.pod" + ], + "doc/man/man3/SRP_Calc_B.3" => [ + "doc/man3/SRP_Calc_B.pod" + ], + "doc/man/man3/SRP_VBASE_new.3" => [ + "doc/man3/SRP_VBASE_new.pod" + ], + "doc/man/man3/SRP_create_verifier.3" => [ + "doc/man3/SRP_create_verifier.pod" + ], + "doc/man/man3/SRP_user_pwd_new.3" => [ + "doc/man3/SRP_user_pwd_new.pod" + ], + "doc/man/man3/SSL_CIPHER_get_name.3" => [ + "doc/man3/SSL_CIPHER_get_name.pod" + ], + "doc/man/man3/SSL_COMP_add_compression_method.3" => [ + "doc/man3/SSL_COMP_add_compression_method.pod" + ], + "doc/man/man3/SSL_CONF_CTX_new.3" => [ + "doc/man3/SSL_CONF_CTX_new.pod" + ], + "doc/man/man3/SSL_CONF_CTX_set1_prefix.3" => [ + "doc/man3/SSL_CONF_CTX_set1_prefix.pod" + ], + "doc/man/man3/SSL_CONF_CTX_set_flags.3" => [ + "doc/man3/SSL_CONF_CTX_set_flags.pod" + ], + "doc/man/man3/SSL_CONF_CTX_set_ssl_ctx.3" => [ + "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod" + ], + "doc/man/man3/SSL_CONF_cmd.3" => [ + "doc/man3/SSL_CONF_cmd.pod" + ], + "doc/man/man3/SSL_CONF_cmd_argv.3" => [ + "doc/man3/SSL_CONF_cmd_argv.pod" + ], + "doc/man/man3/SSL_CTX_add1_chain_cert.3" => [ + "doc/man3/SSL_CTX_add1_chain_cert.pod" + ], + "doc/man/man3/SSL_CTX_add_extra_chain_cert.3" => [ + "doc/man3/SSL_CTX_add_extra_chain_cert.pod" + ], + "doc/man/man3/SSL_CTX_add_session.3" => [ + "doc/man3/SSL_CTX_add_session.pod" + ], + "doc/man/man3/SSL_CTX_config.3" => [ + "doc/man3/SSL_CTX_config.pod" + ], + "doc/man/man3/SSL_CTX_ctrl.3" => [ + "doc/man3/SSL_CTX_ctrl.pod" + ], + "doc/man/man3/SSL_CTX_dane_enable.3" => [ + "doc/man3/SSL_CTX_dane_enable.pod" + ], + "doc/man/man3/SSL_CTX_flush_sessions.3" => [ + "doc/man3/SSL_CTX_flush_sessions.pod" + ], + "doc/man/man3/SSL_CTX_free.3" => [ + "doc/man3/SSL_CTX_free.pod" + ], + "doc/man/man3/SSL_CTX_get0_param.3" => [ + "doc/man3/SSL_CTX_get0_param.pod" + ], + "doc/man/man3/SSL_CTX_get_verify_mode.3" => [ + "doc/man3/SSL_CTX_get_verify_mode.pod" + ], + "doc/man/man3/SSL_CTX_has_client_custom_ext.3" => [ + "doc/man3/SSL_CTX_has_client_custom_ext.pod" + ], + "doc/man/man3/SSL_CTX_load_verify_locations.3" => [ + "doc/man3/SSL_CTX_load_verify_locations.pod" + ], + "doc/man/man3/SSL_CTX_new.3" => [ + "doc/man3/SSL_CTX_new.pod" + ], + "doc/man/man3/SSL_CTX_sess_number.3" => [ + "doc/man3/SSL_CTX_sess_number.pod" + ], + "doc/man/man3/SSL_CTX_sess_set_cache_size.3" => [ + "doc/man3/SSL_CTX_sess_set_cache_size.pod" + ], + "doc/man/man3/SSL_CTX_sess_set_get_cb.3" => [ + "doc/man3/SSL_CTX_sess_set_get_cb.pod" + ], + "doc/man/man3/SSL_CTX_sessions.3" => [ + "doc/man3/SSL_CTX_sessions.pod" + ], + "doc/man/man3/SSL_CTX_set0_CA_list.3" => [ + "doc/man3/SSL_CTX_set0_CA_list.pod" + ], + "doc/man/man3/SSL_CTX_set1_curves.3" => [ + "doc/man3/SSL_CTX_set1_curves.pod" + ], + "doc/man/man3/SSL_CTX_set1_sigalgs.3" => [ + "doc/man3/SSL_CTX_set1_sigalgs.pod" + ], + "doc/man/man3/SSL_CTX_set1_verify_cert_store.3" => [ + "doc/man3/SSL_CTX_set1_verify_cert_store.pod" + ], + "doc/man/man3/SSL_CTX_set_alpn_select_cb.3" => [ + "doc/man3/SSL_CTX_set_alpn_select_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_cert_cb.3" => [ + "doc/man3/SSL_CTX_set_cert_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_cert_store.3" => [ + "doc/man3/SSL_CTX_set_cert_store.pod" + ], + "doc/man/man3/SSL_CTX_set_cert_verify_callback.3" => [ + "doc/man3/SSL_CTX_set_cert_verify_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_cipher_list.3" => [ + "doc/man3/SSL_CTX_set_cipher_list.pod" + ], + "doc/man/man3/SSL_CTX_set_client_cert_cb.3" => [ + "doc/man3/SSL_CTX_set_client_cert_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_client_hello_cb.3" => [ + "doc/man3/SSL_CTX_set_client_hello_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_ct_validation_callback.3" => [ + "doc/man3/SSL_CTX_set_ct_validation_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_ctlog_list_file.3" => [ + "doc/man3/SSL_CTX_set_ctlog_list_file.pod" + ], + "doc/man/man3/SSL_CTX_set_default_passwd_cb.3" => [ + "doc/man3/SSL_CTX_set_default_passwd_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_generate_session_id.3" => [ + "doc/man3/SSL_CTX_set_generate_session_id.pod" + ], + "doc/man/man3/SSL_CTX_set_info_callback.3" => [ + "doc/man3/SSL_CTX_set_info_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_keylog_callback.3" => [ + "doc/man3/SSL_CTX_set_keylog_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_max_cert_list.3" => [ + "doc/man3/SSL_CTX_set_max_cert_list.pod" + ], + "doc/man/man3/SSL_CTX_set_min_proto_version.3" => [ + "doc/man3/SSL_CTX_set_min_proto_version.pod" + ], + "doc/man/man3/SSL_CTX_set_mode.3" => [ + "doc/man3/SSL_CTX_set_mode.pod" + ], + "doc/man/man3/SSL_CTX_set_msg_callback.3" => [ + "doc/man3/SSL_CTX_set_msg_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_num_tickets.3" => [ + "doc/man3/SSL_CTX_set_num_tickets.pod" + ], + "doc/man/man3/SSL_CTX_set_options.3" => [ + "doc/man3/SSL_CTX_set_options.pod" + ], + "doc/man/man3/SSL_CTX_set_psk_client_callback.3" => [ + "doc/man3/SSL_CTX_set_psk_client_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_quic_method.3" => [ + "doc/man3/SSL_CTX_set_quic_method.pod" + ], + "doc/man/man3/SSL_CTX_set_quiet_shutdown.3" => [ + "doc/man3/SSL_CTX_set_quiet_shutdown.pod" + ], + "doc/man/man3/SSL_CTX_set_read_ahead.3" => [ + "doc/man3/SSL_CTX_set_read_ahead.pod" + ], + "doc/man/man3/SSL_CTX_set_record_padding_callback.3" => [ + "doc/man3/SSL_CTX_set_record_padding_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_security_level.3" => [ + "doc/man3/SSL_CTX_set_security_level.pod" + ], + "doc/man/man3/SSL_CTX_set_session_cache_mode.3" => [ + "doc/man3/SSL_CTX_set_session_cache_mode.pod" + ], + "doc/man/man3/SSL_CTX_set_session_id_context.3" => [ + "doc/man3/SSL_CTX_set_session_id_context.pod" + ], + "doc/man/man3/SSL_CTX_set_session_ticket_cb.3" => [ + "doc/man3/SSL_CTX_set_session_ticket_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_split_send_fragment.3" => [ + "doc/man3/SSL_CTX_set_split_send_fragment.pod" + ], + "doc/man/man3/SSL_CTX_set_srp_password.3" => [ + "doc/man3/SSL_CTX_set_srp_password.pod" + ], + "doc/man/man3/SSL_CTX_set_ssl_version.3" => [ + "doc/man3/SSL_CTX_set_ssl_version.pod" + ], + "doc/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3" => [ + "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_timeout.3" => [ + "doc/man3/SSL_CTX_set_timeout.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_servername_callback.3" => [ + "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_status_cb.3" => [ + "doc/man3/SSL_CTX_set_tlsext_status_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3" => [ + "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_use_srtp.3" => [ + "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod" + ], + "doc/man/man3/SSL_CTX_set_tmp_dh_callback.3" => [ + "doc/man3/SSL_CTX_set_tmp_dh_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_tmp_ecdh.3" => [ + "doc/man3/SSL_CTX_set_tmp_ecdh.pod" + ], + "doc/man/man3/SSL_CTX_set_verify.3" => [ + "doc/man3/SSL_CTX_set_verify.pod" + ], + "doc/man/man3/SSL_CTX_use_certificate.3" => [ + "doc/man3/SSL_CTX_use_certificate.pod" + ], + "doc/man/man3/SSL_CTX_use_psk_identity_hint.3" => [ + "doc/man3/SSL_CTX_use_psk_identity_hint.pod" + ], + "doc/man/man3/SSL_CTX_use_serverinfo.3" => [ + "doc/man3/SSL_CTX_use_serverinfo.pod" + ], + "doc/man/man3/SSL_SESSION_free.3" => [ + "doc/man3/SSL_SESSION_free.pod" + ], + "doc/man/man3/SSL_SESSION_get0_cipher.3" => [ + "doc/man3/SSL_SESSION_get0_cipher.pod" + ], + "doc/man/man3/SSL_SESSION_get0_hostname.3" => [ + "doc/man3/SSL_SESSION_get0_hostname.pod" + ], + "doc/man/man3/SSL_SESSION_get0_id_context.3" => [ + "doc/man3/SSL_SESSION_get0_id_context.pod" + ], + "doc/man/man3/SSL_SESSION_get0_peer.3" => [ + "doc/man3/SSL_SESSION_get0_peer.pod" + ], + "doc/man/man3/SSL_SESSION_get_compress_id.3" => [ + "doc/man3/SSL_SESSION_get_compress_id.pod" + ], + "doc/man/man3/SSL_SESSION_get_protocol_version.3" => [ + "doc/man3/SSL_SESSION_get_protocol_version.pod" + ], + "doc/man/man3/SSL_SESSION_get_time.3" => [ + "doc/man3/SSL_SESSION_get_time.pod" + ], + "doc/man/man3/SSL_SESSION_has_ticket.3" => [ + "doc/man3/SSL_SESSION_has_ticket.pod" + ], + "doc/man/man3/SSL_SESSION_is_resumable.3" => [ + "doc/man3/SSL_SESSION_is_resumable.pod" + ], + "doc/man/man3/SSL_SESSION_print.3" => [ + "doc/man3/SSL_SESSION_print.pod" + ], + "doc/man/man3/SSL_SESSION_set1_id.3" => [ + "doc/man3/SSL_SESSION_set1_id.pod" + ], + "doc/man/man3/SSL_accept.3" => [ + "doc/man3/SSL_accept.pod" + ], + "doc/man/man3/SSL_alert_type_string.3" => [ + "doc/man3/SSL_alert_type_string.pod" + ], + "doc/man/man3/SSL_alloc_buffers.3" => [ + "doc/man3/SSL_alloc_buffers.pod" + ], + "doc/man/man3/SSL_check_chain.3" => [ + "doc/man3/SSL_check_chain.pod" + ], + "doc/man/man3/SSL_clear.3" => [ + "doc/man3/SSL_clear.pod" + ], + "doc/man/man3/SSL_connect.3" => [ + "doc/man3/SSL_connect.pod" + ], + "doc/man/man3/SSL_do_handshake.3" => [ + "doc/man3/SSL_do_handshake.pod" + ], + "doc/man/man3/SSL_export_keying_material.3" => [ + "doc/man3/SSL_export_keying_material.pod" + ], + "doc/man/man3/SSL_extension_supported.3" => [ + "doc/man3/SSL_extension_supported.pod" + ], + "doc/man/man3/SSL_free.3" => [ + "doc/man3/SSL_free.pod" + ], + "doc/man/man3/SSL_get0_peer_scts.3" => [ + "doc/man3/SSL_get0_peer_scts.pod" + ], + "doc/man/man3/SSL_get_SSL_CTX.3" => [ + "doc/man3/SSL_get_SSL_CTX.pod" + ], + "doc/man/man3/SSL_get_all_async_fds.3" => [ + "doc/man3/SSL_get_all_async_fds.pod" + ], + "doc/man/man3/SSL_get_certificate.3" => [ + "doc/man3/SSL_get_certificate.pod" + ], + "doc/man/man3/SSL_get_ciphers.3" => [ + "doc/man3/SSL_get_ciphers.pod" + ], + "doc/man/man3/SSL_get_client_random.3" => [ + "doc/man3/SSL_get_client_random.pod" + ], + "doc/man/man3/SSL_get_current_cipher.3" => [ + "doc/man3/SSL_get_current_cipher.pod" + ], + "doc/man/man3/SSL_get_default_timeout.3" => [ + "doc/man3/SSL_get_default_timeout.pod" + ], + "doc/man/man3/SSL_get_error.3" => [ + "doc/man3/SSL_get_error.pod" + ], + "doc/man/man3/SSL_get_extms_support.3" => [ + "doc/man3/SSL_get_extms_support.pod" + ], + "doc/man/man3/SSL_get_fd.3" => [ + "doc/man3/SSL_get_fd.pod" + ], + "doc/man/man3/SSL_get_peer_cert_chain.3" => [ + "doc/man3/SSL_get_peer_cert_chain.pod" + ], + "doc/man/man3/SSL_get_peer_certificate.3" => [ + "doc/man3/SSL_get_peer_certificate.pod" + ], + "doc/man/man3/SSL_get_peer_signature_nid.3" => [ + "doc/man3/SSL_get_peer_signature_nid.pod" + ], + "doc/man/man3/SSL_get_peer_tmp_key.3" => [ + "doc/man3/SSL_get_peer_tmp_key.pod" + ], + "doc/man/man3/SSL_get_psk_identity.3" => [ + "doc/man3/SSL_get_psk_identity.pod" + ], + "doc/man/man3/SSL_get_rbio.3" => [ + "doc/man3/SSL_get_rbio.pod" + ], + "doc/man/man3/SSL_get_session.3" => [ + "doc/man3/SSL_get_session.pod" + ], + "doc/man/man3/SSL_get_shared_sigalgs.3" => [ + "doc/man3/SSL_get_shared_sigalgs.pod" + ], + "doc/man/man3/SSL_get_verify_result.3" => [ + "doc/man3/SSL_get_verify_result.pod" + ], + "doc/man/man3/SSL_get_version.3" => [ + "doc/man3/SSL_get_version.pod" + ], + "doc/man/man3/SSL_group_to_name.3" => [ + "doc/man3/SSL_group_to_name.pod" + ], + "doc/man/man3/SSL_in_init.3" => [ + "doc/man3/SSL_in_init.pod" + ], + "doc/man/man3/SSL_key_update.3" => [ + "doc/man3/SSL_key_update.pod" + ], + "doc/man/man3/SSL_library_init.3" => [ + "doc/man3/SSL_library_init.pod" + ], + "doc/man/man3/SSL_load_client_CA_file.3" => [ + "doc/man3/SSL_load_client_CA_file.pod" + ], + "doc/man/man3/SSL_new.3" => [ + "doc/man3/SSL_new.pod" + ], + "doc/man/man3/SSL_pending.3" => [ + "doc/man3/SSL_pending.pod" + ], + "doc/man/man3/SSL_read.3" => [ + "doc/man3/SSL_read.pod" + ], + "doc/man/man3/SSL_read_early_data.3" => [ + "doc/man3/SSL_read_early_data.pod" + ], + "doc/man/man3/SSL_rstate_string.3" => [ + "doc/man3/SSL_rstate_string.pod" + ], + "doc/man/man3/SSL_session_reused.3" => [ + "doc/man3/SSL_session_reused.pod" + ], + "doc/man/man3/SSL_set1_host.3" => [ + "doc/man3/SSL_set1_host.pod" + ], + "doc/man/man3/SSL_set_async_callback.3" => [ + "doc/man3/SSL_set_async_callback.pod" + ], + "doc/man/man3/SSL_set_bio.3" => [ + "doc/man3/SSL_set_bio.pod" + ], + "doc/man/man3/SSL_set_connect_state.3" => [ + "doc/man3/SSL_set_connect_state.pod" + ], + "doc/man/man3/SSL_set_fd.3" => [ + "doc/man3/SSL_set_fd.pod" + ], + "doc/man/man3/SSL_set_retry_verify.3" => [ + "doc/man3/SSL_set_retry_verify.pod" + ], + "doc/man/man3/SSL_set_session.3" => [ + "doc/man3/SSL_set_session.pod" + ], + "doc/man/man3/SSL_set_shutdown.3" => [ + "doc/man3/SSL_set_shutdown.pod" + ], + "doc/man/man3/SSL_set_verify_result.3" => [ + "doc/man3/SSL_set_verify_result.pod" + ], + "doc/man/man3/SSL_shutdown.3" => [ + "doc/man3/SSL_shutdown.pod" + ], + "doc/man/man3/SSL_state_string.3" => [ + "doc/man3/SSL_state_string.pod" + ], + "doc/man/man3/SSL_want.3" => [ + "doc/man3/SSL_want.pod" + ], + "doc/man/man3/SSL_write.3" => [ + "doc/man3/SSL_write.pod" + ], + "doc/man/man3/TS_RESP_CTX_new.3" => [ + "doc/man3/TS_RESP_CTX_new.pod" + ], + "doc/man/man3/TS_VERIFY_CTX_set_certs.3" => [ + "doc/man3/TS_VERIFY_CTX_set_certs.pod" + ], + "doc/man/man3/UI_STRING.3" => [ + "doc/man3/UI_STRING.pod" + ], + "doc/man/man3/UI_UTIL_read_pw.3" => [ + "doc/man3/UI_UTIL_read_pw.pod" + ], + "doc/man/man3/UI_create_method.3" => [ + "doc/man3/UI_create_method.pod" + ], + "doc/man/man3/UI_new.3" => [ + "doc/man3/UI_new.pod" + ], + "doc/man/man3/X509V3_get_d2i.3" => [ + "doc/man3/X509V3_get_d2i.pod" + ], + "doc/man/man3/X509V3_set_ctx.3" => [ + "doc/man3/X509V3_set_ctx.pod" + ], + "doc/man/man3/X509_ALGOR_dup.3" => [ + "doc/man3/X509_ALGOR_dup.pod" + ], + "doc/man/man3/X509_CRL_get0_by_serial.3" => [ + "doc/man3/X509_CRL_get0_by_serial.pod" + ], + "doc/man/man3/X509_EXTENSION_set_object.3" => [ + "doc/man3/X509_EXTENSION_set_object.pod" + ], + "doc/man/man3/X509_LOOKUP.3" => [ + "doc/man3/X509_LOOKUP.pod" + ], + "doc/man/man3/X509_LOOKUP_hash_dir.3" => [ + "doc/man3/X509_LOOKUP_hash_dir.pod" + ], + "doc/man/man3/X509_LOOKUP_meth_new.3" => [ + "doc/man3/X509_LOOKUP_meth_new.pod" + ], + "doc/man/man3/X509_NAME_ENTRY_get_object.3" => [ + "doc/man3/X509_NAME_ENTRY_get_object.pod" + ], + "doc/man/man3/X509_NAME_add_entry_by_txt.3" => [ + "doc/man3/X509_NAME_add_entry_by_txt.pod" + ], + "doc/man/man3/X509_NAME_get0_der.3" => [ + "doc/man3/X509_NAME_get0_der.pod" + ], + "doc/man/man3/X509_NAME_get_index_by_NID.3" => [ + "doc/man3/X509_NAME_get_index_by_NID.pod" + ], + "doc/man/man3/X509_NAME_print_ex.3" => [ + "doc/man3/X509_NAME_print_ex.pod" + ], + "doc/man/man3/X509_PUBKEY_new.3" => [ + "doc/man3/X509_PUBKEY_new.pod" + ], + "doc/man/man3/X509_SIG_get0.3" => [ + "doc/man3/X509_SIG_get0.pod" + ], + "doc/man/man3/X509_STORE_CTX_get_error.3" => [ + "doc/man3/X509_STORE_CTX_get_error.pod" + ], + "doc/man/man3/X509_STORE_CTX_new.3" => [ + "doc/man3/X509_STORE_CTX_new.pod" + ], + "doc/man/man3/X509_STORE_CTX_set_verify_cb.3" => [ + "doc/man3/X509_STORE_CTX_set_verify_cb.pod" + ], + "doc/man/man3/X509_STORE_add_cert.3" => [ + "doc/man3/X509_STORE_add_cert.pod" + ], + "doc/man/man3/X509_STORE_get0_param.3" => [ + "doc/man3/X509_STORE_get0_param.pod" + ], + "doc/man/man3/X509_STORE_new.3" => [ + "doc/man3/X509_STORE_new.pod" + ], + "doc/man/man3/X509_STORE_set_verify_cb_func.3" => [ + "doc/man3/X509_STORE_set_verify_cb_func.pod" + ], + "doc/man/man3/X509_VERIFY_PARAM_set_flags.3" => [ + "doc/man3/X509_VERIFY_PARAM_set_flags.pod" + ], + "doc/man/man3/X509_add_cert.3" => [ + "doc/man3/X509_add_cert.pod" + ], + "doc/man/man3/X509_check_ca.3" => [ + "doc/man3/X509_check_ca.pod" + ], + "doc/man/man3/X509_check_host.3" => [ + "doc/man3/X509_check_host.pod" + ], + "doc/man/man3/X509_check_issued.3" => [ + "doc/man3/X509_check_issued.pod" + ], + "doc/man/man3/X509_check_private_key.3" => [ + "doc/man3/X509_check_private_key.pod" + ], + "doc/man/man3/X509_check_purpose.3" => [ + "doc/man3/X509_check_purpose.pod" + ], + "doc/man/man3/X509_cmp.3" => [ + "doc/man3/X509_cmp.pod" + ], + "doc/man/man3/X509_cmp_time.3" => [ + "doc/man3/X509_cmp_time.pod" + ], + "doc/man/man3/X509_digest.3" => [ + "doc/man3/X509_digest.pod" + ], + "doc/man/man3/X509_dup.3" => [ + "doc/man3/X509_dup.pod" + ], + "doc/man/man3/X509_get0_distinguishing_id.3" => [ + "doc/man3/X509_get0_distinguishing_id.pod" + ], + "doc/man/man3/X509_get0_notBefore.3" => [ + "doc/man3/X509_get0_notBefore.pod" + ], + "doc/man/man3/X509_get0_signature.3" => [ + "doc/man3/X509_get0_signature.pod" + ], + "doc/man/man3/X509_get0_uids.3" => [ + "doc/man3/X509_get0_uids.pod" + ], + "doc/man/man3/X509_get_extension_flags.3" => [ + "doc/man3/X509_get_extension_flags.pod" + ], + "doc/man/man3/X509_get_pubkey.3" => [ + "doc/man3/X509_get_pubkey.pod" + ], + "doc/man/man3/X509_get_serialNumber.3" => [ + "doc/man3/X509_get_serialNumber.pod" + ], + "doc/man/man3/X509_get_subject_name.3" => [ + "doc/man3/X509_get_subject_name.pod" + ], + "doc/man/man3/X509_get_version.3" => [ + "doc/man3/X509_get_version.pod" + ], + "doc/man/man3/X509_load_http.3" => [ + "doc/man3/X509_load_http.pod" + ], + "doc/man/man3/X509_new.3" => [ + "doc/man3/X509_new.pod" + ], + "doc/man/man3/X509_sign.3" => [ + "doc/man3/X509_sign.pod" + ], + "doc/man/man3/X509_verify.3" => [ + "doc/man3/X509_verify.pod" + ], + "doc/man/man3/X509_verify_cert.3" => [ + "doc/man3/X509_verify_cert.pod" + ], + "doc/man/man3/X509v3_get_ext_by_NID.3" => [ + "doc/man3/X509v3_get_ext_by_NID.pod" + ], + "doc/man/man3/b2i_PVK_bio_ex.3" => [ + "doc/man3/b2i_PVK_bio_ex.pod" + ], + "doc/man/man3/d2i_PKCS8PrivateKey_bio.3" => [ + "doc/man3/d2i_PKCS8PrivateKey_bio.pod" + ], + "doc/man/man3/d2i_PrivateKey.3" => [ + "doc/man3/d2i_PrivateKey.pod" + ], + "doc/man/man3/d2i_RSAPrivateKey.3" => [ + "doc/man3/d2i_RSAPrivateKey.pod" + ], + "doc/man/man3/d2i_SSL_SESSION.3" => [ + "doc/man3/d2i_SSL_SESSION.pod" + ], + "doc/man/man3/d2i_X509.3" => [ + "doc/man3/d2i_X509.pod" + ], + "doc/man/man3/i2d_CMS_bio_stream.3" => [ + "doc/man3/i2d_CMS_bio_stream.pod" + ], + "doc/man/man3/i2d_PKCS7_bio_stream.3" => [ + "doc/man3/i2d_PKCS7_bio_stream.pod" + ], + "doc/man/man3/i2d_re_X509_tbs.3" => [ + "doc/man3/i2d_re_X509_tbs.pod" + ], + "doc/man/man3/o2i_SCT_LIST.3" => [ + "doc/man3/o2i_SCT_LIST.pod" + ], + "doc/man/man3/s2i_ASN1_IA5STRING.3" => [ + "doc/man3/s2i_ASN1_IA5STRING.pod" + ], + "doc/man/man5/config.5" => [ + "doc/man5/config.pod" + ], + "doc/man/man5/fips_config.5" => [ + "doc/man5/fips_config.pod" + ], + "doc/man/man5/x509v3_config.5" => [ + "doc/man5/x509v3_config.pod" + ], + "doc/man/man7/EVP_ASYM_CIPHER-RSA.7" => [ + "doc/man7/EVP_ASYM_CIPHER-RSA.pod" + ], + "doc/man/man7/EVP_ASYM_CIPHER-SM2.7" => [ + "doc/man7/EVP_ASYM_CIPHER-SM2.pod" + ], + "doc/man/man7/EVP_CIPHER-AES.7" => [ + "doc/man7/EVP_CIPHER-AES.pod" + ], + "doc/man/man7/EVP_CIPHER-ARIA.7" => [ + "doc/man7/EVP_CIPHER-ARIA.pod" + ], + "doc/man/man7/EVP_CIPHER-BLOWFISH.7" => [ + "doc/man7/EVP_CIPHER-BLOWFISH.pod" + ], + "doc/man/man7/EVP_CIPHER-CAMELLIA.7" => [ + "doc/man7/EVP_CIPHER-CAMELLIA.pod" + ], + "doc/man/man7/EVP_CIPHER-CAST.7" => [ + "doc/man7/EVP_CIPHER-CAST.pod" + ], + "doc/man/man7/EVP_CIPHER-CHACHA.7" => [ + "doc/man7/EVP_CIPHER-CHACHA.pod" + ], + "doc/man/man7/EVP_CIPHER-DES.7" => [ + "doc/man7/EVP_CIPHER-DES.pod" + ], + "doc/man/man7/EVP_CIPHER-IDEA.7" => [ + "doc/man7/EVP_CIPHER-IDEA.pod" + ], + "doc/man/man7/EVP_CIPHER-RC2.7" => [ + "doc/man7/EVP_CIPHER-RC2.pod" + ], + "doc/man/man7/EVP_CIPHER-RC4.7" => [ + "doc/man7/EVP_CIPHER-RC4.pod" + ], + "doc/man/man7/EVP_CIPHER-RC5.7" => [ + "doc/man7/EVP_CIPHER-RC5.pod" + ], + "doc/man/man7/EVP_CIPHER-SEED.7" => [ + "doc/man7/EVP_CIPHER-SEED.pod" + ], + "doc/man/man7/EVP_CIPHER-SM4.7" => [ + "doc/man7/EVP_CIPHER-SM4.pod" + ], + "doc/man/man7/EVP_KDF-HKDF.7" => [ + "doc/man7/EVP_KDF-HKDF.pod" + ], + "doc/man/man7/EVP_KDF-KB.7" => [ + "doc/man7/EVP_KDF-KB.pod" + ], + "doc/man/man7/EVP_KDF-KRB5KDF.7" => [ + "doc/man7/EVP_KDF-KRB5KDF.pod" + ], + "doc/man/man7/EVP_KDF-PBKDF1.7" => [ + "doc/man7/EVP_KDF-PBKDF1.pod" + ], + "doc/man/man7/EVP_KDF-PBKDF2.7" => [ + "doc/man7/EVP_KDF-PBKDF2.pod" + ], + "doc/man/man7/EVP_KDF-PKCS12KDF.7" => [ + "doc/man7/EVP_KDF-PKCS12KDF.pod" + ], + "doc/man/man7/EVP_KDF-SCRYPT.7" => [ + "doc/man7/EVP_KDF-SCRYPT.pod" + ], + "doc/man/man7/EVP_KDF-SS.7" => [ + "doc/man7/EVP_KDF-SS.pod" + ], + "doc/man/man7/EVP_KDF-SSHKDF.7" => [ + "doc/man7/EVP_KDF-SSHKDF.pod" + ], + "doc/man/man7/EVP_KDF-TLS13_KDF.7" => [ + "doc/man7/EVP_KDF-TLS13_KDF.pod" + ], + "doc/man/man7/EVP_KDF-TLS1_PRF.7" => [ + "doc/man7/EVP_KDF-TLS1_PRF.pod" + ], + "doc/man/man7/EVP_KDF-X942-ASN1.7" => [ + "doc/man7/EVP_KDF-X942-ASN1.pod" + ], + "doc/man/man7/EVP_KDF-X942-CONCAT.7" => [ + "doc/man7/EVP_KDF-X942-CONCAT.pod" + ], + "doc/man/man7/EVP_KDF-X963.7" => [ + "doc/man7/EVP_KDF-X963.pod" + ], + "doc/man/man7/EVP_KEM-RSA.7" => [ + "doc/man7/EVP_KEM-RSA.pod" + ], + "doc/man/man7/EVP_KEYEXCH-DH.7" => [ + "doc/man7/EVP_KEYEXCH-DH.pod" + ], + "doc/man/man7/EVP_KEYEXCH-ECDH.7" => [ + "doc/man7/EVP_KEYEXCH-ECDH.pod" + ], + "doc/man/man7/EVP_KEYEXCH-X25519.7" => [ + "doc/man7/EVP_KEYEXCH-X25519.pod" + ], + "doc/man/man7/EVP_MAC-BLAKE2.7" => [ + "doc/man7/EVP_MAC-BLAKE2.pod" + ], + "doc/man/man7/EVP_MAC-CMAC.7" => [ + "doc/man7/EVP_MAC-CMAC.pod" + ], + "doc/man/man7/EVP_MAC-GMAC.7" => [ + "doc/man7/EVP_MAC-GMAC.pod" + ], + "doc/man/man7/EVP_MAC-HMAC.7" => [ + "doc/man7/EVP_MAC-HMAC.pod" + ], + "doc/man/man7/EVP_MAC-KMAC.7" => [ + "doc/man7/EVP_MAC-KMAC.pod" + ], + "doc/man/man7/EVP_MAC-Poly1305.7" => [ + "doc/man7/EVP_MAC-Poly1305.pod" + ], + "doc/man/man7/EVP_MAC-Siphash.7" => [ + "doc/man7/EVP_MAC-Siphash.pod" + ], + "doc/man/man7/EVP_MD-BLAKE2.7" => [ + "doc/man7/EVP_MD-BLAKE2.pod" + ], + "doc/man/man7/EVP_MD-MD2.7" => [ + "doc/man7/EVP_MD-MD2.pod" + ], + "doc/man/man7/EVP_MD-MD4.7" => [ + "doc/man7/EVP_MD-MD4.pod" + ], + "doc/man/man7/EVP_MD-MD5-SHA1.7" => [ + "doc/man7/EVP_MD-MD5-SHA1.pod" + ], + "doc/man/man7/EVP_MD-MD5.7" => [ + "doc/man7/EVP_MD-MD5.pod" + ], + "doc/man/man7/EVP_MD-MDC2.7" => [ + "doc/man7/EVP_MD-MDC2.pod" + ], + "doc/man/man7/EVP_MD-RIPEMD160.7" => [ + "doc/man7/EVP_MD-RIPEMD160.pod" + ], + "doc/man/man7/EVP_MD-SHA1.7" => [ + "doc/man7/EVP_MD-SHA1.pod" + ], + "doc/man/man7/EVP_MD-SHA2.7" => [ + "doc/man7/EVP_MD-SHA2.pod" + ], + "doc/man/man7/EVP_MD-SHA3.7" => [ + "doc/man7/EVP_MD-SHA3.pod" + ], + "doc/man/man7/EVP_MD-SHAKE.7" => [ + "doc/man7/EVP_MD-SHAKE.pod" + ], + "doc/man/man7/EVP_MD-SM3.7" => [ + "doc/man7/EVP_MD-SM3.pod" + ], + "doc/man/man7/EVP_MD-WHIRLPOOL.7" => [ + "doc/man7/EVP_MD-WHIRLPOOL.pod" + ], + "doc/man/man7/EVP_MD-common.7" => [ + "doc/man7/EVP_MD-common.pod" + ], + "doc/man/man7/EVP_PKEY-DH.7" => [ + "doc/man7/EVP_PKEY-DH.pod" + ], + "doc/man/man7/EVP_PKEY-DSA.7" => [ + "doc/man7/EVP_PKEY-DSA.pod" + ], + "doc/man/man7/EVP_PKEY-EC.7" => [ + "doc/man7/EVP_PKEY-EC.pod" + ], + "doc/man/man7/EVP_PKEY-FFC.7" => [ + "doc/man7/EVP_PKEY-FFC.pod" + ], + "doc/man/man7/EVP_PKEY-HMAC.7" => [ + "doc/man7/EVP_PKEY-HMAC.pod" + ], + "doc/man/man7/EVP_PKEY-RSA.7" => [ + "doc/man7/EVP_PKEY-RSA.pod" + ], + "doc/man/man7/EVP_PKEY-SM2.7" => [ + "doc/man7/EVP_PKEY-SM2.pod" + ], + "doc/man/man7/EVP_PKEY-X25519.7" => [ + "doc/man7/EVP_PKEY-X25519.pod" + ], + "doc/man/man7/EVP_RAND-CTR-DRBG.7" => [ + "doc/man7/EVP_RAND-CTR-DRBG.pod" + ], + "doc/man/man7/EVP_RAND-HASH-DRBG.7" => [ + "doc/man7/EVP_RAND-HASH-DRBG.pod" + ], + "doc/man/man7/EVP_RAND-HMAC-DRBG.7" => [ + "doc/man7/EVP_RAND-HMAC-DRBG.pod" + ], + "doc/man/man7/EVP_RAND-SEED-SRC.7" => [ + "doc/man7/EVP_RAND-SEED-SRC.pod" + ], + "doc/man/man7/EVP_RAND-TEST-RAND.7" => [ + "doc/man7/EVP_RAND-TEST-RAND.pod" + ], + "doc/man/man7/EVP_RAND.7" => [ + "doc/man7/EVP_RAND.pod" + ], + "doc/man/man7/EVP_SIGNATURE-DSA.7" => [ + "doc/man7/EVP_SIGNATURE-DSA.pod" + ], + "doc/man/man7/EVP_SIGNATURE-ECDSA.7" => [ + "doc/man7/EVP_SIGNATURE-ECDSA.pod" + ], + "doc/man/man7/EVP_SIGNATURE-ED25519.7" => [ + "doc/man7/EVP_SIGNATURE-ED25519.pod" + ], + "doc/man/man7/EVP_SIGNATURE-HMAC.7" => [ + "doc/man7/EVP_SIGNATURE-HMAC.pod" + ], + "doc/man/man7/EVP_SIGNATURE-RSA.7" => [ + "doc/man7/EVP_SIGNATURE-RSA.pod" + ], + "doc/man/man7/OSSL_PROVIDER-FIPS.7" => [ + "doc/man7/OSSL_PROVIDER-FIPS.pod" + ], + "doc/man/man7/OSSL_PROVIDER-base.7" => [ + "doc/man7/OSSL_PROVIDER-base.pod" + ], + "doc/man/man7/OSSL_PROVIDER-default.7" => [ + "doc/man7/OSSL_PROVIDER-default.pod" + ], + "doc/man/man7/OSSL_PROVIDER-legacy.7" => [ + "doc/man7/OSSL_PROVIDER-legacy.pod" + ], + "doc/man/man7/OSSL_PROVIDER-null.7" => [ + "doc/man7/OSSL_PROVIDER-null.pod" + ], + "doc/man/man7/RAND.7" => [ + "doc/man7/RAND.pod" + ], + "doc/man/man7/RSA-PSS.7" => [ + "doc/man7/RSA-PSS.pod" + ], + "doc/man/man7/X25519.7" => [ + "doc/man7/X25519.pod" + ], + "doc/man/man7/bio.7" => [ + "doc/man7/bio.pod" + ], + "doc/man/man7/crypto.7" => [ + "doc/man7/crypto.pod" + ], + "doc/man/man7/ct.7" => [ + "doc/man7/ct.pod" + ], + "doc/man/man7/des_modes.7" => [ + "doc/man7/des_modes.pod" + ], + "doc/man/man7/evp.7" => [ + "doc/man7/evp.pod" + ], + "doc/man/man7/fips_module.7" => [ + "doc/man7/fips_module.pod" + ], + "doc/man/man7/life_cycle-cipher.7" => [ + "doc/man7/life_cycle-cipher.pod" + ], + "doc/man/man7/life_cycle-digest.7" => [ + "doc/man7/life_cycle-digest.pod" + ], + "doc/man/man7/life_cycle-kdf.7" => [ + "doc/man7/life_cycle-kdf.pod" + ], + "doc/man/man7/life_cycle-mac.7" => [ + "doc/man7/life_cycle-mac.pod" + ], + "doc/man/man7/life_cycle-pkey.7" => [ + "doc/man7/life_cycle-pkey.pod" + ], + "doc/man/man7/life_cycle-rand.7" => [ + "doc/man7/life_cycle-rand.pod" + ], + "doc/man/man7/migration_guide.7" => [ + "doc/man7/migration_guide.pod" + ], + "doc/man/man7/openssl-core.h.7" => [ + "doc/man7/openssl-core.h.pod" + ], + "doc/man/man7/openssl-core_dispatch.h.7" => [ + "doc/man7/openssl-core_dispatch.h.pod" + ], + "doc/man/man7/openssl-core_names.h.7" => [ + "doc/man7/openssl-core_names.h.pod" + ], + "doc/man/man7/openssl-env.7" => [ + "doc/man7/openssl-env.pod" + ], + "doc/man/man7/openssl-glossary.7" => [ + "doc/man7/openssl-glossary.pod" + ], + "doc/man/man7/openssl-threads.7" => [ + "doc/man7/openssl-threads.pod" + ], + "doc/man/man7/openssl_user_macros.7" => [ + "doc/man7/openssl_user_macros.pod" + ], + "doc/man/man7/ossl_store-file.7" => [ + "doc/man7/ossl_store-file.pod" + ], + "doc/man/man7/ossl_store.7" => [ + "doc/man7/ossl_store.pod" + ], + "doc/man/man7/passphrase-encoding.7" => [ + "doc/man7/passphrase-encoding.pod" + ], + "doc/man/man7/property.7" => [ + "doc/man7/property.pod" + ], + "doc/man/man7/provider-asym_cipher.7" => [ + "doc/man7/provider-asym_cipher.pod" + ], + "doc/man/man7/provider-base.7" => [ + "doc/man7/provider-base.pod" + ], + "doc/man/man7/provider-cipher.7" => [ + "doc/man7/provider-cipher.pod" + ], + "doc/man/man7/provider-decoder.7" => [ + "doc/man7/provider-decoder.pod" + ], + "doc/man/man7/provider-digest.7" => [ + "doc/man7/provider-digest.pod" + ], + "doc/man/man7/provider-encoder.7" => [ + "doc/man7/provider-encoder.pod" + ], + "doc/man/man7/provider-kdf.7" => [ + "doc/man7/provider-kdf.pod" + ], + "doc/man/man7/provider-kem.7" => [ + "doc/man7/provider-kem.pod" + ], + "doc/man/man7/provider-keyexch.7" => [ + "doc/man7/provider-keyexch.pod" + ], + "doc/man/man7/provider-keymgmt.7" => [ + "doc/man7/provider-keymgmt.pod" + ], + "doc/man/man7/provider-mac.7" => [ + "doc/man7/provider-mac.pod" + ], + "doc/man/man7/provider-object.7" => [ + "doc/man7/provider-object.pod" + ], + "doc/man/man7/provider-rand.7" => [ + "doc/man7/provider-rand.pod" + ], + "doc/man/man7/provider-signature.7" => [ + "doc/man7/provider-signature.pod" + ], + "doc/man/man7/provider-storemgmt.7" => [ + "doc/man7/provider-storemgmt.pod" + ], + "doc/man/man7/provider.7" => [ + "doc/man7/provider.pod" + ], + "doc/man/man7/proxy-certificates.7" => [ + "doc/man7/proxy-certificates.pod" + ], + "doc/man/man7/ssl.7" => [ + "doc/man7/ssl.pod" + ], + "doc/man/man7/x509.7" => [ + "doc/man7/x509.pod" + ], + "doc/man1/openssl-asn1parse.pod" => [ + "doc/man1/openssl-asn1parse.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-ca.pod" => [ + "doc/man1/openssl-ca.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-ciphers.pod" => [ + "doc/man1/openssl-ciphers.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-cmds.pod" => [ + "doc/man1/openssl-cmds.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-cmp.pod" => [ + "doc/man1/openssl-cmp.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-cms.pod" => [ + "doc/man1/openssl-cms.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-crl.pod" => [ + "doc/man1/openssl-crl.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-crl2pkcs7.pod" => [ + "doc/man1/openssl-crl2pkcs7.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-dgst.pod" => [ + "doc/man1/openssl-dgst.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-dhparam.pod" => [ + "doc/man1/openssl-dhparam.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-dsa.pod" => [ + "doc/man1/openssl-dsa.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-dsaparam.pod" => [ + "doc/man1/openssl-dsaparam.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-ec.pod" => [ + "doc/man1/openssl-ec.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-ecparam.pod" => [ + "doc/man1/openssl-ecparam.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-enc.pod" => [ + "doc/man1/openssl-enc.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-engine.pod" => [ + "doc/man1/openssl-engine.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-errstr.pod" => [ + "doc/man1/openssl-errstr.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-fipsinstall.pod" => [ + "doc/man1/openssl-fipsinstall.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-gendsa.pod" => [ + "doc/man1/openssl-gendsa.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-genpkey.pod" => [ + "doc/man1/openssl-genpkey.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-genrsa.pod" => [ + "doc/man1/openssl-genrsa.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-info.pod" => [ + "doc/man1/openssl-info.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-kdf.pod" => [ + "doc/man1/openssl-kdf.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-list.pod" => [ + "doc/man1/openssl-list.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-mac.pod" => [ + "doc/man1/openssl-mac.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-nseq.pod" => [ + "doc/man1/openssl-nseq.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-ocsp.pod" => [ + "doc/man1/openssl-ocsp.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-passwd.pod" => [ + "doc/man1/openssl-passwd.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-pkcs12.pod" => [ + "doc/man1/openssl-pkcs12.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-pkcs7.pod" => [ + "doc/man1/openssl-pkcs7.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-pkcs8.pod" => [ + "doc/man1/openssl-pkcs8.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-pkey.pod" => [ + "doc/man1/openssl-pkey.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-pkeyparam.pod" => [ + "doc/man1/openssl-pkeyparam.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-pkeyutl.pod" => [ + "doc/man1/openssl-pkeyutl.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-prime.pod" => [ + "doc/man1/openssl-prime.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-rand.pod" => [ + "doc/man1/openssl-rand.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-rehash.pod" => [ + "doc/man1/openssl-rehash.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-req.pod" => [ + "doc/man1/openssl-req.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-rsa.pod" => [ + "doc/man1/openssl-rsa.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-rsautl.pod" => [ + "doc/man1/openssl-rsautl.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-s_client.pod" => [ + "doc/man1/openssl-s_client.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-s_server.pod" => [ + "doc/man1/openssl-s_server.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-s_time.pod" => [ + "doc/man1/openssl-s_time.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-sess_id.pod" => [ + "doc/man1/openssl-sess_id.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-smime.pod" => [ + "doc/man1/openssl-smime.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-speed.pod" => [ + "doc/man1/openssl-speed.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-spkac.pod" => [ + "doc/man1/openssl-spkac.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-srp.pod" => [ + "doc/man1/openssl-srp.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-storeutl.pod" => [ + "doc/man1/openssl-storeutl.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-ts.pod" => [ + "doc/man1/openssl-ts.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-verify.pod" => [ + "doc/man1/openssl-verify.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-version.pod" => [ + "doc/man1/openssl-version.pod.in", + "doc/perlvars.pm" + ], + "doc/man1/openssl-x509.pod" => [ + "doc/man1/openssl-x509.pod.in", + "doc/perlvars.pm" + ], + "doc/man7/openssl_user_macros.pod" => [ + "doc/man7/openssl_user_macros.pod.in" + ], + "fuzz/asn1-test" => [ + "libcrypto", + "libssl" + ], + "fuzz/asn1parse-test" => [ + "libcrypto" + ], + "fuzz/bignum-test" => [ + "libcrypto" + ], + "fuzz/bndiv-test" => [ + "libcrypto" + ], + "fuzz/client-test" => [ + "libcrypto", + "libssl" + ], + "fuzz/cmp-test" => [ + "libcrypto.a" + ], + "fuzz/cms-test" => [ + "libcrypto" + ], + "fuzz/conf-test" => [ + "libcrypto" + ], + "fuzz/crl-test" => [ + "libcrypto" + ], + "fuzz/ct-test" => [ + "libcrypto" + ], + "fuzz/server-test" => [ + "libcrypto", + "libssl" + ], + "fuzz/x509-test" => [ + "libcrypto" + ], + "libcrypto.ld" => [ + "configdata.pm", + "util/perl/OpenSSL/Ordinals.pm" + ], + "libssl" => [ + "libcrypto" + ], + "libssl.ld" => [ + "configdata.pm", + "util/perl/OpenSSL/Ordinals.pm" + ], + "providers/common/der/der_digests_gen.c" => [ + "providers/common/der/DIGESTS.asn1", + "providers/common/der/NIST.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/der/der_dsa_gen.c" => [ + "providers/common/der/DSA.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/der/der_ec_gen.c" => [ + "providers/common/der/EC.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/der/der_ecx_gen.c" => [ + "providers/common/der/ECX.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/der/der_rsa_gen.c" => [ + "providers/common/der/NIST.asn1", + "providers/common/der/RSA.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/der/der_sm2_gen.c" => [ + "providers/common/der/SM2.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/der/der_wrap_gen.c" => [ + "providers/common/der/oids_to_c.pm", + "providers/common/der/wrap.asn1" + ], + "providers/common/der/libcommon-lib-der_digests_gen.o" => [ + "providers/common/include/prov/der_digests.h" + ], + "providers/common/der/libcommon-lib-der_dsa_gen.o" => [ + "providers/common/include/prov/der_dsa.h" + ], + "providers/common/der/libcommon-lib-der_dsa_key.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_dsa.h" + ], + "providers/common/der/libcommon-lib-der_dsa_sig.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_dsa.h" + ], + "providers/common/der/libcommon-lib-der_ec_gen.o" => [ + "providers/common/include/prov/der_ec.h" + ], + "providers/common/der/libcommon-lib-der_ec_key.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_ec.h" + ], + "providers/common/der/libcommon-lib-der_ec_sig.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_ec.h" + ], + "providers/common/der/libcommon-lib-der_ecx_gen.o" => [ + "providers/common/include/prov/der_ecx.h" + ], + "providers/common/der/libcommon-lib-der_ecx_key.o" => [ + "providers/common/include/prov/der_ecx.h" + ], + "providers/common/der/libcommon-lib-der_rsa_gen.o" => [ + "providers/common/include/prov/der_rsa.h" + ], + "providers/common/der/libcommon-lib-der_rsa_key.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_rsa.h" + ], + "providers/common/der/libcommon-lib-der_wrap_gen.o" => [ + "providers/common/include/prov/der_wrap.h" + ], + "providers/common/der/libdefault-lib-der_rsa_sig.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_rsa.h" + ], + "providers/common/der/libdefault-lib-der_sm2_gen.o" => [ + "providers/common/include/prov/der_sm2.h" + ], + "providers/common/der/libdefault-lib-der_sm2_key.o" => [ + "providers/common/include/prov/der_ec.h", + "providers/common/include/prov/der_sm2.h" + ], + "providers/common/der/libdefault-lib-der_sm2_sig.o" => [ + "providers/common/include/prov/der_ec.h", + "providers/common/include/prov/der_sm2.h" + ], + "providers/common/der/libfips-lib-der_rsa_sig.o" => [ + "providers/common/include/prov/der_digests.h", + "providers/common/include/prov/der_rsa.h" + ], + "providers/common/include/prov/der_digests.h" => [ + "providers/common/der/DIGESTS.asn1", + "providers/common/der/NIST.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/include/prov/der_dsa.h" => [ + "providers/common/der/DSA.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/include/prov/der_ec.h" => [ + "providers/common/der/EC.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/include/prov/der_ecx.h" => [ + "providers/common/der/ECX.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/include/prov/der_rsa.h" => [ + "providers/common/der/NIST.asn1", + "providers/common/der/RSA.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/include/prov/der_sm2.h" => [ + "providers/common/der/SM2.asn1", + "providers/common/der/oids_to_c.pm" + ], + "providers/common/include/prov/der_wrap.h" => [ + "providers/common/der/oids_to_c.pm", + "providers/common/der/wrap.asn1" + ], + "providers/fips" => [ + "providers/libfips.a" + ], + "providers/fipsmodule.cnf" => [ + "providers/fips" + ], + "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [ + "providers/common/include/prov/der_rsa.h" + ], + "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [ + "providers/common/include/prov/der_wrap.h" + ], + "providers/implementations/kdfs/libfips-lib-x942kdf.o" => [ + "providers/common/include/prov/der_wrap.h" + ], + "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [ + "providers/common/include/prov/der_dsa.h" + ], + "providers/implementations/signature/libdefault-lib-ecdsa_sig.o" => [ + "providers/common/include/prov/der_ec.h" + ], + "providers/implementations/signature/libdefault-lib-eddsa_sig.o" => [ + "providers/common/include/prov/der_ecx.h" + ], + "providers/implementations/signature/libdefault-lib-rsa_sig.o" => [ + "providers/common/include/prov/der_rsa.h" + ], + "providers/implementations/signature/libdefault-lib-sm2_sig.o" => [ + "providers/common/include/prov/der_sm2.h" + ], + "providers/implementations/signature/libfips-lib-dsa_sig.o" => [ + "providers/common/include/prov/der_dsa.h" + ], + "providers/implementations/signature/libfips-lib-ecdsa_sig.o" => [ + "providers/common/include/prov/der_ec.h" + ], + "providers/implementations/signature/libfips-lib-eddsa_sig.o" => [ + "providers/common/include/prov/der_ecx.h" + ], + "providers/implementations/signature/libfips-lib-rsa_sig.o" => [ + "providers/common/include/prov/der_rsa.h" + ], + "providers/legacy" => [ + "libcrypto", + "providers/liblegacy.a" + ], + "providers/libcommon.a" => [ + "libcrypto" + ], + "providers/libdefault.a" => [ + "providers/libcommon.a" + ], + "providers/liblegacy.a" => [ + "providers/libcommon.a" + ], + "test/aborttest" => [ + "libcrypto" + ], + "test/acvp_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/aesgcmtest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/afalgtest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/algorithmid_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/asn1_decode_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/asn1_dsa_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/asn1_encode_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/asn1_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/asn1_string_table_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/asn1_time_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/asynciotest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/asynctest" => [ + "libcrypto" + ], + "test/bad_dtls_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/bftest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bio_callback_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bio_core_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bio_enc_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bio_memleak_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bio_prefix_text" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bio_readbuffer_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bioprinttest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/bn_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/bntest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/buildtest_c_aes" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_async" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_blowfish" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_bn" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_buffer" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_camellia" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_cast" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_cmac" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_cmp_util" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_conf_api" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_conftypes" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_core" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_core_dispatch" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_core_names" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_core_object" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_cryptoerr_legacy" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_decoder" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_des" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_dh" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_dsa" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_dtls1" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_e_os2" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ebcdic" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ec" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ecdh" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ecdsa" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_encoder" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_engine" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_evp" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_fips_names" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_hmac" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_http" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_idea" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_kdf" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_macros" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_md4" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_md5" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_mdc2" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_modes" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_obj_mac" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_objects" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ossl_typ" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_param_build" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_params" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_pem" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_pem2" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_prov_ssl" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_provider" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_quic" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_rand" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_rc2" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_rc4" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ripemd" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_rsa" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_seed" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_self_test" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_sha" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_srtp" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ssl2" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_sslerr_legacy" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_stack" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_store" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_symhacks" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_tls1" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_ts" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_txt_db" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_types" => [ + "libcrypto", + "libssl" + ], + "test/buildtest_c_whrlpool" => [ + "libcrypto", + "libssl" + ], + "test/casttest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/chacha_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cipher_overhead_test" => [ + "libcrypto.a", + "libssl.a", + "test/libtestutil.a" + ], + "test/cipherbytes_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/cipherlist_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/ciphername_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/clienthellotest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/cmactest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_asn_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_client_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_ctx_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_hdr_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_msg_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_protect_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_server_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_status_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmp_vfy_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/cmsapitest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/conf_include_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/confdump" => [ + "libcrypto" + ], + "test/constant_time_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/context_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/crltest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ct_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ctype_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/curve448_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/d2i_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/danetest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/defltfips_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/destest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/dhtest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/drbgtest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/dsa_no_digest_size_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/dsatest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/dtls_mtu_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/dtlstest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/dtlsv1listentest" => [ + "libssl", + "test/libtestutil.a" + ], + "test/ec_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/ecdsatest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/ecstresstest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ectest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/endecode_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/endecoder_legacy_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/enginetest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/errtest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/evp_extra_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/evp_extra_test2" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/evp_fetch_prov_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/evp_kdf_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/evp_libctx_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/evp_pkey_ctx_new_from_name" => [ + "libcrypto" + ], + "test/evp_pkey_dparams_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/evp_pkey_provided_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/evp_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/exdatatest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/exptest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ext_internal_test" => [ + "libcrypto.a", + "libssl.a", + "test/libtestutil.a" + ], + "test/fatalerrtest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/ffc_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/fips_version_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/gmdifftest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/hexstr_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/hmactest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/http_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ideatest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/igetest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/keymgmt_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/lhash_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/libtestutil.a" => [ + "libcrypto" + ], + "test/localetest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/mdc2_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/mdc2test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/memleaktest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/modes_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/namemap_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/ocspapitest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ossl_store_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/packettest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/param_build_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/params_api_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/params_conversion_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/params_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/pbelutest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pbetest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pem_read_depr_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pemtest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pkcs12_format_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pkcs7_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pkey_meth_kdf_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/pkey_meth_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/poly1305_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/property_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/prov_config_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/provfetchtest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/provider_fallback_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/provider_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/provider_pkey_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/provider_status_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/provider_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/punycode_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/rand_status_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/rand_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/rc2test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/rc4test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/rc5test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/rdrand_sanitytest" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/recordlentest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/rsa_mp_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/rsa_sp800_56b_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/rsa_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/sanitytest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/secmemtest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/servername_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/sha_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/siphash_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/sm2_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/sm3_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/sm4_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/sparse_array_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/srptest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ssl_cert_table_internal_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/ssl_ctx_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/ssl_old_test" => [ + "libcrypto.a", + "libssl.a", + "test/libtestutil.a" + ], + "test/ssl_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/ssl_test_ctx_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/sslapitest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/sslbuffertest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/sslcorrupttest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/stack_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/sysdefaulttest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/test_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/threadstest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/threadstest_fips" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/time_offset_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/tls13ccstest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/tls13encryptiontest" => [ + "libcrypto.a", + "libssl.a", + "test/libtestutil.a" + ], + "test/trace_api_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/uitest" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], + "test/upcallstest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/user_property_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/v3ext" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/v3nametest" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/verify_extra_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/versions" => [ + "libcrypto" + ], + "test/wpackettest" => [ + "libcrypto.a", + "libssl.a", + "test/libtestutil.a" + ], + "test/x509_check_cert_pkey_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/x509_dup_cert_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/x509_internal_test" => [ + "libcrypto.a", + "test/libtestutil.a" + ], + "test/x509_time_test" => [ + "libcrypto", + "test/libtestutil.a" + ], + "test/x509aux" => [ + "libcrypto", + "test/libtestutil.a" + ], + "util/wrap.pl" => [ + "configdata.pm" + ] + }, + "dirinfo" => { + "apps" => { + "products" => { + "bin" => [ + "apps/openssl" + ], + "script" => [ + "apps/CA.pl", + "apps/tsget.pl" + ] + } + }, + "apps/lib" => { + "deps" => [ + "apps/lib/openssl-bin-cmp_mock_srv.o", + "apps/lib/cmp_client_test-bin-cmp_mock_srv.o", + "apps/lib/uitest-bin-apps_ui.o", + "apps/lib/libapps-lib-app_libctx.o", + "apps/lib/libapps-lib-app_params.o", + "apps/lib/libapps-lib-app_provider.o", + "apps/lib/libapps-lib-app_rand.o", + "apps/lib/libapps-lib-app_x509.o", + "apps/lib/libapps-lib-apps.o", + "apps/lib/libapps-lib-apps_ui.o", + "apps/lib/libapps-lib-columns.o", + "apps/lib/libapps-lib-engine.o", + "apps/lib/libapps-lib-engine_loader.o", + "apps/lib/libapps-lib-fmt.o", + "apps/lib/libapps-lib-http_server.o", + "apps/lib/libapps-lib-names.o", + "apps/lib/libapps-lib-opt.o", + "apps/lib/libapps-lib-s_cb.o", + "apps/lib/libapps-lib-s_socket.o", + "apps/lib/libapps-lib-tlssrp_depr.o", + "apps/lib/libtestutil-lib-opt.o" + ], + "products" => { + "bin" => [ + "apps/openssl", + "test/cmp_client_test", + "test/uitest" + ], + "lib" => [ + "apps/libapps.a", + "test/libtestutil.a" + ] + } + }, + "crypto" => { + "deps" => [ + "crypto/libcrypto-lib-asn1_dsa.o", + "crypto/libcrypto-lib-bsearch.o", + "crypto/libcrypto-lib-context.o", + "crypto/libcrypto-lib-core_algorithm.o", + "crypto/libcrypto-lib-core_fetch.o", + "crypto/libcrypto-lib-core_namemap.o", + "crypto/libcrypto-lib-cpt_err.o", + "crypto/libcrypto-lib-cpuid.o", + "crypto/libcrypto-lib-cryptlib.o", + "crypto/libcrypto-lib-ctype.o", + "crypto/libcrypto-lib-cversion.o", + "crypto/libcrypto-lib-der_writer.o", + "crypto/libcrypto-lib-ebcdic.o", + "crypto/libcrypto-lib-ex_data.o", + "crypto/libcrypto-lib-getenv.o", + "crypto/libcrypto-lib-info.o", + "crypto/libcrypto-lib-init.o", + "crypto/libcrypto-lib-initthread.o", + "crypto/libcrypto-lib-mem.o", + "crypto/libcrypto-lib-mem_clr.o", + "crypto/libcrypto-lib-mem_sec.o", + "crypto/libcrypto-lib-o_dir.o", + "crypto/libcrypto-lib-o_fopen.o", + "crypto/libcrypto-lib-o_init.o", + "crypto/libcrypto-lib-o_str.o", + "crypto/libcrypto-lib-o_time.o", + "crypto/libcrypto-lib-packet.o", + "crypto/libcrypto-lib-param_build.o", + "crypto/libcrypto-lib-param_build_set.o", + "crypto/libcrypto-lib-params.o", + "crypto/libcrypto-lib-params_dup.o", + "crypto/libcrypto-lib-params_from_text.o", + "crypto/libcrypto-lib-passphrase.o", + "crypto/libcrypto-lib-provider.o", + "crypto/libcrypto-lib-provider_child.o", + "crypto/libcrypto-lib-provider_conf.o", + "crypto/libcrypto-lib-provider_core.o", + "crypto/libcrypto-lib-provider_predefined.o", + "crypto/libcrypto-lib-punycode.o", + "crypto/libcrypto-lib-self_test_core.o", + "crypto/libcrypto-lib-sparse_array.o", + "crypto/libcrypto-lib-threads_lib.o", + "crypto/libcrypto-lib-threads_none.o", + "crypto/libcrypto-lib-threads_pthread.o", + "crypto/libcrypto-lib-threads_win.o", + "crypto/libcrypto-lib-trace.o", + "crypto/libcrypto-lib-uid.o", + "crypto/libfips-lib-asn1_dsa.o", + "crypto/libfips-lib-bsearch.o", + "crypto/libfips-lib-context.o", + "crypto/libfips-lib-core_algorithm.o", + "crypto/libfips-lib-core_fetch.o", + "crypto/libfips-lib-core_namemap.o", + "crypto/libfips-lib-cpuid.o", + "crypto/libfips-lib-cryptlib.o", + "crypto/libfips-lib-ctype.o", + "crypto/libfips-lib-der_writer.o", + "crypto/libfips-lib-ex_data.o", + "crypto/libfips-lib-initthread.o", + "crypto/libfips-lib-mem_clr.o", + "crypto/libfips-lib-o_str.o", + "crypto/libfips-lib-packet.o", + "crypto/libfips-lib-param_build.o", + "crypto/libfips-lib-param_build_set.o", + "crypto/libfips-lib-params.o", + "crypto/libfips-lib-params_dup.o", + "crypto/libfips-lib-params_from_text.o", + "crypto/libfips-lib-provider_core.o", + "crypto/libfips-lib-provider_predefined.o", + "crypto/libfips-lib-self_test_core.o", + "crypto/libfips-lib-sparse_array.o", + "crypto/libfips-lib-threads_lib.o", + "crypto/libfips-lib-threads_none.o", + "crypto/libfips-lib-threads_pthread.o", + "crypto/libfips-lib-threads_win.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/aes" => { + "deps" => [ + "crypto/aes/libcrypto-lib-aes_cbc.o", + "crypto/aes/libcrypto-lib-aes_cfb.o", + "crypto/aes/libcrypto-lib-aes_core.o", + "crypto/aes/libcrypto-lib-aes_ecb.o", + "crypto/aes/libcrypto-lib-aes_ige.o", + "crypto/aes/libcrypto-lib-aes_misc.o", + "crypto/aes/libcrypto-lib-aes_ofb.o", + "crypto/aes/libcrypto-lib-aes_wrap.o", + "crypto/aes/libfips-lib-aes_cbc.o", + "crypto/aes/libfips-lib-aes_core.o", + "crypto/aes/libfips-lib-aes_ecb.o", + "crypto/aes/libfips-lib-aes_misc.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/aria" => { + "deps" => [ + "crypto/aria/libcrypto-lib-aria.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/asn1" => { + "deps" => [ + "crypto/asn1/libcrypto-lib-a_bitstr.o", + "crypto/asn1/libcrypto-lib-a_d2i_fp.o", + "crypto/asn1/libcrypto-lib-a_digest.o", + "crypto/asn1/libcrypto-lib-a_dup.o", + "crypto/asn1/libcrypto-lib-a_gentm.o", + "crypto/asn1/libcrypto-lib-a_i2d_fp.o", + "crypto/asn1/libcrypto-lib-a_int.o", + "crypto/asn1/libcrypto-lib-a_mbstr.o", + "crypto/asn1/libcrypto-lib-a_object.o", + "crypto/asn1/libcrypto-lib-a_octet.o", + "crypto/asn1/libcrypto-lib-a_print.o", + "crypto/asn1/libcrypto-lib-a_sign.o", + "crypto/asn1/libcrypto-lib-a_strex.o", + "crypto/asn1/libcrypto-lib-a_strnid.o", + "crypto/asn1/libcrypto-lib-a_time.o", + "crypto/asn1/libcrypto-lib-a_type.o", + "crypto/asn1/libcrypto-lib-a_utctm.o", + "crypto/asn1/libcrypto-lib-a_utf8.o", + "crypto/asn1/libcrypto-lib-a_verify.o", + "crypto/asn1/libcrypto-lib-ameth_lib.o", + "crypto/asn1/libcrypto-lib-asn1_err.o", + "crypto/asn1/libcrypto-lib-asn1_gen.o", + "crypto/asn1/libcrypto-lib-asn1_item_list.o", + "crypto/asn1/libcrypto-lib-asn1_lib.o", + "crypto/asn1/libcrypto-lib-asn1_parse.o", + "crypto/asn1/libcrypto-lib-asn_mime.o", + "crypto/asn1/libcrypto-lib-asn_moid.o", + "crypto/asn1/libcrypto-lib-asn_mstbl.o", + "crypto/asn1/libcrypto-lib-asn_pack.o", + "crypto/asn1/libcrypto-lib-bio_asn1.o", + "crypto/asn1/libcrypto-lib-bio_ndef.o", + "crypto/asn1/libcrypto-lib-d2i_param.o", + "crypto/asn1/libcrypto-lib-d2i_pr.o", + "crypto/asn1/libcrypto-lib-d2i_pu.o", + "crypto/asn1/libcrypto-lib-evp_asn1.o", + "crypto/asn1/libcrypto-lib-f_int.o", + "crypto/asn1/libcrypto-lib-f_string.o", + "crypto/asn1/libcrypto-lib-i2d_evp.o", + "crypto/asn1/libcrypto-lib-n_pkey.o", + "crypto/asn1/libcrypto-lib-nsseq.o", + "crypto/asn1/libcrypto-lib-p5_pbe.o", + "crypto/asn1/libcrypto-lib-p5_pbev2.o", + "crypto/asn1/libcrypto-lib-p5_scrypt.o", + "crypto/asn1/libcrypto-lib-p8_pkey.o", + "crypto/asn1/libcrypto-lib-t_bitst.o", + "crypto/asn1/libcrypto-lib-t_pkey.o", + "crypto/asn1/libcrypto-lib-t_spki.o", + "crypto/asn1/libcrypto-lib-tasn_dec.o", + "crypto/asn1/libcrypto-lib-tasn_enc.o", + "crypto/asn1/libcrypto-lib-tasn_fre.o", + "crypto/asn1/libcrypto-lib-tasn_new.o", + "crypto/asn1/libcrypto-lib-tasn_prn.o", + "crypto/asn1/libcrypto-lib-tasn_scn.o", + "crypto/asn1/libcrypto-lib-tasn_typ.o", + "crypto/asn1/libcrypto-lib-tasn_utl.o", + "crypto/asn1/libcrypto-lib-x_algor.o", + "crypto/asn1/libcrypto-lib-x_bignum.o", + "crypto/asn1/libcrypto-lib-x_info.o", + "crypto/asn1/libcrypto-lib-x_int64.o", + "crypto/asn1/libcrypto-lib-x_long.o", + "crypto/asn1/libcrypto-lib-x_pkey.o", + "crypto/asn1/libcrypto-lib-x_sig.o", + "crypto/asn1/libcrypto-lib-x_spki.o", + "crypto/asn1/libcrypto-lib-x_val.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/async" => { + "deps" => [ + "crypto/async/libcrypto-lib-async.o", + "crypto/async/libcrypto-lib-async_err.o", + "crypto/async/libcrypto-lib-async_wait.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/async/arch" => { + "deps" => [ + "crypto/async/arch/libcrypto-lib-async_null.o", + "crypto/async/arch/libcrypto-lib-async_posix.o", + "crypto/async/arch/libcrypto-lib-async_win.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/bf" => { + "deps" => [ + "crypto/bf/libcrypto-lib-bf_cfb64.o", + "crypto/bf/libcrypto-lib-bf_ecb.o", + "crypto/bf/libcrypto-lib-bf_enc.o", + "crypto/bf/libcrypto-lib-bf_ofb64.o", + "crypto/bf/libcrypto-lib-bf_skey.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/bio" => { + "deps" => [ + "crypto/bio/libcrypto-lib-bf_buff.o", + "crypto/bio/libcrypto-lib-bf_lbuf.o", + "crypto/bio/libcrypto-lib-bf_nbio.o", + "crypto/bio/libcrypto-lib-bf_null.o", + "crypto/bio/libcrypto-lib-bf_prefix.o", + "crypto/bio/libcrypto-lib-bf_readbuff.o", + "crypto/bio/libcrypto-lib-bio_addr.o", + "crypto/bio/libcrypto-lib-bio_cb.o", + "crypto/bio/libcrypto-lib-bio_dump.o", + "crypto/bio/libcrypto-lib-bio_err.o", + "crypto/bio/libcrypto-lib-bio_lib.o", + "crypto/bio/libcrypto-lib-bio_meth.o", + "crypto/bio/libcrypto-lib-bio_print.o", + "crypto/bio/libcrypto-lib-bio_sock.o", + "crypto/bio/libcrypto-lib-bio_sock2.o", + "crypto/bio/libcrypto-lib-bss_acpt.o", + "crypto/bio/libcrypto-lib-bss_bio.o", + "crypto/bio/libcrypto-lib-bss_conn.o", + "crypto/bio/libcrypto-lib-bss_core.o", + "crypto/bio/libcrypto-lib-bss_dgram.o", + "crypto/bio/libcrypto-lib-bss_fd.o", + "crypto/bio/libcrypto-lib-bss_file.o", + "crypto/bio/libcrypto-lib-bss_log.o", + "crypto/bio/libcrypto-lib-bss_mem.o", + "crypto/bio/libcrypto-lib-bss_null.o", + "crypto/bio/libcrypto-lib-bss_sock.o", + "crypto/bio/libcrypto-lib-ossl_core_bio.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/bn" => { + "deps" => [ + "crypto/bn/libcrypto-lib-bn_add.o", + "crypto/bn/libcrypto-lib-bn_asm.o", + "crypto/bn/libcrypto-lib-bn_blind.o", + "crypto/bn/libcrypto-lib-bn_const.o", + "crypto/bn/libcrypto-lib-bn_conv.o", + "crypto/bn/libcrypto-lib-bn_ctx.o", + "crypto/bn/libcrypto-lib-bn_depr.o", + "crypto/bn/libcrypto-lib-bn_dh.o", + "crypto/bn/libcrypto-lib-bn_div.o", + "crypto/bn/libcrypto-lib-bn_err.o", + "crypto/bn/libcrypto-lib-bn_exp.o", + "crypto/bn/libcrypto-lib-bn_exp2.o", + "crypto/bn/libcrypto-lib-bn_gcd.o", + "crypto/bn/libcrypto-lib-bn_gf2m.o", + "crypto/bn/libcrypto-lib-bn_intern.o", + "crypto/bn/libcrypto-lib-bn_kron.o", + "crypto/bn/libcrypto-lib-bn_lib.o", + "crypto/bn/libcrypto-lib-bn_mod.o", + "crypto/bn/libcrypto-lib-bn_mont.o", + "crypto/bn/libcrypto-lib-bn_mpi.o", + "crypto/bn/libcrypto-lib-bn_mul.o", + "crypto/bn/libcrypto-lib-bn_nist.o", + "crypto/bn/libcrypto-lib-bn_prime.o", + "crypto/bn/libcrypto-lib-bn_print.o", + "crypto/bn/libcrypto-lib-bn_rand.o", + "crypto/bn/libcrypto-lib-bn_recp.o", + "crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o", + "crypto/bn/libcrypto-lib-bn_shift.o", + "crypto/bn/libcrypto-lib-bn_sqr.o", + "crypto/bn/libcrypto-lib-bn_sqrt.o", + "crypto/bn/libcrypto-lib-bn_srp.o", + "crypto/bn/libcrypto-lib-bn_word.o", + "crypto/bn/libcrypto-lib-bn_x931p.o", + "crypto/bn/libcrypto-lib-rsa_sup_mul.o", + "crypto/bn/libfips-lib-bn_add.o", + "crypto/bn/libfips-lib-bn_asm.o", + "crypto/bn/libfips-lib-bn_blind.o", + "crypto/bn/libfips-lib-bn_const.o", + "crypto/bn/libfips-lib-bn_conv.o", + "crypto/bn/libfips-lib-bn_ctx.o", + "crypto/bn/libfips-lib-bn_dh.o", + "crypto/bn/libfips-lib-bn_div.o", + "crypto/bn/libfips-lib-bn_exp.o", + "crypto/bn/libfips-lib-bn_exp2.o", + "crypto/bn/libfips-lib-bn_gcd.o", + "crypto/bn/libfips-lib-bn_gf2m.o", + "crypto/bn/libfips-lib-bn_intern.o", + "crypto/bn/libfips-lib-bn_kron.o", + "crypto/bn/libfips-lib-bn_lib.o", + "crypto/bn/libfips-lib-bn_mod.o", + "crypto/bn/libfips-lib-bn_mont.o", + "crypto/bn/libfips-lib-bn_mpi.o", + "crypto/bn/libfips-lib-bn_mul.o", + "crypto/bn/libfips-lib-bn_nist.o", + "crypto/bn/libfips-lib-bn_prime.o", + "crypto/bn/libfips-lib-bn_rand.o", + "crypto/bn/libfips-lib-bn_recp.o", + "crypto/bn/libfips-lib-bn_rsa_fips186_4.o", + "crypto/bn/libfips-lib-bn_shift.o", + "crypto/bn/libfips-lib-bn_sqr.o", + "crypto/bn/libfips-lib-bn_sqrt.o", + "crypto/bn/libfips-lib-bn_word.o", + "crypto/bn/libfips-lib-rsa_sup_mul.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/buffer" => { + "deps" => [ + "crypto/buffer/libcrypto-lib-buf_err.o", + "crypto/buffer/libcrypto-lib-buffer.o", + "crypto/buffer/libfips-lib-buffer.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/camellia" => { + "deps" => [ + "crypto/camellia/libcrypto-lib-camellia.o", + "crypto/camellia/libcrypto-lib-cmll_cbc.o", + "crypto/camellia/libcrypto-lib-cmll_cfb.o", + "crypto/camellia/libcrypto-lib-cmll_ctr.o", + "crypto/camellia/libcrypto-lib-cmll_ecb.o", + "crypto/camellia/libcrypto-lib-cmll_misc.o", + "crypto/camellia/libcrypto-lib-cmll_ofb.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/cast" => { + "deps" => [ + "crypto/cast/libcrypto-lib-c_cfb64.o", + "crypto/cast/libcrypto-lib-c_ecb.o", + "crypto/cast/libcrypto-lib-c_enc.o", + "crypto/cast/libcrypto-lib-c_ofb64.o", + "crypto/cast/libcrypto-lib-c_skey.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/chacha" => { + "deps" => [ + "crypto/chacha/libcrypto-lib-chacha_enc.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/cmac" => { + "deps" => [ + "crypto/cmac/libcrypto-lib-cmac.o", + "crypto/cmac/libfips-lib-cmac.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/cmp" => { + "deps" => [ + "crypto/cmp/libcrypto-lib-cmp_asn.o", + "crypto/cmp/libcrypto-lib-cmp_client.o", + "crypto/cmp/libcrypto-lib-cmp_ctx.o", + "crypto/cmp/libcrypto-lib-cmp_err.o", + "crypto/cmp/libcrypto-lib-cmp_hdr.o", + "crypto/cmp/libcrypto-lib-cmp_http.o", + "crypto/cmp/libcrypto-lib-cmp_msg.o", + "crypto/cmp/libcrypto-lib-cmp_protect.o", + "crypto/cmp/libcrypto-lib-cmp_server.o", + "crypto/cmp/libcrypto-lib-cmp_status.o", + "crypto/cmp/libcrypto-lib-cmp_util.o", + "crypto/cmp/libcrypto-lib-cmp_vfy.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/cms" => { + "deps" => [ + "crypto/cms/libcrypto-lib-cms_asn1.o", + "crypto/cms/libcrypto-lib-cms_att.o", + "crypto/cms/libcrypto-lib-cms_cd.o", + "crypto/cms/libcrypto-lib-cms_dd.o", + "crypto/cms/libcrypto-lib-cms_dh.o", + "crypto/cms/libcrypto-lib-cms_ec.o", + "crypto/cms/libcrypto-lib-cms_enc.o", + "crypto/cms/libcrypto-lib-cms_env.o", + "crypto/cms/libcrypto-lib-cms_err.o", + "crypto/cms/libcrypto-lib-cms_ess.o", + "crypto/cms/libcrypto-lib-cms_io.o", + "crypto/cms/libcrypto-lib-cms_kari.o", + "crypto/cms/libcrypto-lib-cms_lib.o", + "crypto/cms/libcrypto-lib-cms_pwri.o", + "crypto/cms/libcrypto-lib-cms_rsa.o", + "crypto/cms/libcrypto-lib-cms_sd.o", + "crypto/cms/libcrypto-lib-cms_smime.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/conf" => { + "deps" => [ + "crypto/conf/libcrypto-lib-conf_api.o", + "crypto/conf/libcrypto-lib-conf_def.o", + "crypto/conf/libcrypto-lib-conf_err.o", + "crypto/conf/libcrypto-lib-conf_lib.o", + "crypto/conf/libcrypto-lib-conf_mall.o", + "crypto/conf/libcrypto-lib-conf_mod.o", + "crypto/conf/libcrypto-lib-conf_sap.o", + "crypto/conf/libcrypto-lib-conf_ssl.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/crmf" => { + "deps" => [ + "crypto/crmf/libcrypto-lib-crmf_asn.o", + "crypto/crmf/libcrypto-lib-crmf_err.o", + "crypto/crmf/libcrypto-lib-crmf_lib.o", + "crypto/crmf/libcrypto-lib-crmf_pbm.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ct" => { + "deps" => [ + "crypto/ct/libcrypto-lib-ct_b64.o", + "crypto/ct/libcrypto-lib-ct_err.o", + "crypto/ct/libcrypto-lib-ct_log.o", + "crypto/ct/libcrypto-lib-ct_oct.o", + "crypto/ct/libcrypto-lib-ct_policy.o", + "crypto/ct/libcrypto-lib-ct_prn.o", + "crypto/ct/libcrypto-lib-ct_sct.o", + "crypto/ct/libcrypto-lib-ct_sct_ctx.o", + "crypto/ct/libcrypto-lib-ct_vfy.o", + "crypto/ct/libcrypto-lib-ct_x509v3.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/des" => { + "deps" => [ + "crypto/des/libcrypto-lib-cbc_cksm.o", + "crypto/des/libcrypto-lib-cbc_enc.o", + "crypto/des/libcrypto-lib-cfb64ede.o", + "crypto/des/libcrypto-lib-cfb64enc.o", + "crypto/des/libcrypto-lib-cfb_enc.o", + "crypto/des/libcrypto-lib-des_enc.o", + "crypto/des/libcrypto-lib-ecb3_enc.o", + "crypto/des/libcrypto-lib-ecb_enc.o", + "crypto/des/libcrypto-lib-fcrypt.o", + "crypto/des/libcrypto-lib-fcrypt_b.o", + "crypto/des/libcrypto-lib-ofb64ede.o", + "crypto/des/libcrypto-lib-ofb64enc.o", + "crypto/des/libcrypto-lib-ofb_enc.o", + "crypto/des/libcrypto-lib-pcbc_enc.o", + "crypto/des/libcrypto-lib-qud_cksm.o", + "crypto/des/libcrypto-lib-rand_key.o", + "crypto/des/libcrypto-lib-set_key.o", + "crypto/des/libcrypto-lib-str2key.o", + "crypto/des/libcrypto-lib-xcbc_enc.o", + "crypto/des/libfips-lib-des_enc.o", + "crypto/des/libfips-lib-ecb3_enc.o", + "crypto/des/libfips-lib-fcrypt_b.o", + "crypto/des/libfips-lib-set_key.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/dh" => { + "deps" => [ + "crypto/dh/libcrypto-lib-dh_ameth.o", + "crypto/dh/libcrypto-lib-dh_asn1.o", + "crypto/dh/libcrypto-lib-dh_backend.o", + "crypto/dh/libcrypto-lib-dh_check.o", + "crypto/dh/libcrypto-lib-dh_depr.o", + "crypto/dh/libcrypto-lib-dh_err.o", + "crypto/dh/libcrypto-lib-dh_gen.o", + "crypto/dh/libcrypto-lib-dh_group_params.o", + "crypto/dh/libcrypto-lib-dh_kdf.o", + "crypto/dh/libcrypto-lib-dh_key.o", + "crypto/dh/libcrypto-lib-dh_lib.o", + "crypto/dh/libcrypto-lib-dh_meth.o", + "crypto/dh/libcrypto-lib-dh_pmeth.o", + "crypto/dh/libcrypto-lib-dh_prn.o", + "crypto/dh/libcrypto-lib-dh_rfc5114.o", + "crypto/dh/libfips-lib-dh_backend.o", + "crypto/dh/libfips-lib-dh_check.o", + "crypto/dh/libfips-lib-dh_gen.o", + "crypto/dh/libfips-lib-dh_group_params.o", + "crypto/dh/libfips-lib-dh_kdf.o", + "crypto/dh/libfips-lib-dh_key.o", + "crypto/dh/libfips-lib-dh_lib.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/dsa" => { + "deps" => [ + "crypto/dsa/libcrypto-lib-dsa_ameth.o", + "crypto/dsa/libcrypto-lib-dsa_asn1.o", + "crypto/dsa/libcrypto-lib-dsa_backend.o", + "crypto/dsa/libcrypto-lib-dsa_check.o", + "crypto/dsa/libcrypto-lib-dsa_depr.o", + "crypto/dsa/libcrypto-lib-dsa_err.o", + "crypto/dsa/libcrypto-lib-dsa_gen.o", + "crypto/dsa/libcrypto-lib-dsa_key.o", + "crypto/dsa/libcrypto-lib-dsa_lib.o", + "crypto/dsa/libcrypto-lib-dsa_meth.o", + "crypto/dsa/libcrypto-lib-dsa_ossl.o", + "crypto/dsa/libcrypto-lib-dsa_pmeth.o", + "crypto/dsa/libcrypto-lib-dsa_prn.o", + "crypto/dsa/libcrypto-lib-dsa_sign.o", + "crypto/dsa/libcrypto-lib-dsa_vrf.o", + "crypto/dsa/libfips-lib-dsa_backend.o", + "crypto/dsa/libfips-lib-dsa_check.o", + "crypto/dsa/libfips-lib-dsa_gen.o", + "crypto/dsa/libfips-lib-dsa_key.o", + "crypto/dsa/libfips-lib-dsa_lib.o", + "crypto/dsa/libfips-lib-dsa_ossl.o", + "crypto/dsa/libfips-lib-dsa_sign.o", + "crypto/dsa/libfips-lib-dsa_vrf.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/dso" => { + "deps" => [ + "crypto/dso/libcrypto-lib-dso_dl.o", + "crypto/dso/libcrypto-lib-dso_dlfcn.o", + "crypto/dso/libcrypto-lib-dso_err.o", + "crypto/dso/libcrypto-lib-dso_lib.o", + "crypto/dso/libcrypto-lib-dso_openssl.o", + "crypto/dso/libcrypto-lib-dso_vms.o", + "crypto/dso/libcrypto-lib-dso_win32.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ec" => { + "deps" => [ + "crypto/ec/libcrypto-lib-curve25519.o", + "crypto/ec/libcrypto-lib-ec2_oct.o", + "crypto/ec/libcrypto-lib-ec2_smpl.o", + "crypto/ec/libcrypto-lib-ec_ameth.o", + "crypto/ec/libcrypto-lib-ec_asn1.o", + "crypto/ec/libcrypto-lib-ec_backend.o", + "crypto/ec/libcrypto-lib-ec_check.o", + "crypto/ec/libcrypto-lib-ec_curve.o", + "crypto/ec/libcrypto-lib-ec_cvt.o", + "crypto/ec/libcrypto-lib-ec_deprecated.o", + "crypto/ec/libcrypto-lib-ec_err.o", + "crypto/ec/libcrypto-lib-ec_key.o", + "crypto/ec/libcrypto-lib-ec_kmeth.o", + "crypto/ec/libcrypto-lib-ec_lib.o", + "crypto/ec/libcrypto-lib-ec_mult.o", + "crypto/ec/libcrypto-lib-ec_oct.o", + "crypto/ec/libcrypto-lib-ec_pmeth.o", + "crypto/ec/libcrypto-lib-ec_print.o", + "crypto/ec/libcrypto-lib-ecdh_kdf.o", + "crypto/ec/libcrypto-lib-ecdh_ossl.o", + "crypto/ec/libcrypto-lib-ecdsa_ossl.o", + "crypto/ec/libcrypto-lib-ecdsa_sign.o", + "crypto/ec/libcrypto-lib-ecdsa_vrf.o", + "crypto/ec/libcrypto-lib-eck_prn.o", + "crypto/ec/libcrypto-lib-ecp_mont.o", + "crypto/ec/libcrypto-lib-ecp_nist.o", + "crypto/ec/libcrypto-lib-ecp_oct.o", + "crypto/ec/libcrypto-lib-ecp_smpl.o", + "crypto/ec/libcrypto-lib-ecx_backend.o", + "crypto/ec/libcrypto-lib-ecx_key.o", + "crypto/ec/libcrypto-lib-ecx_meth.o", + "crypto/ec/libfips-lib-curve25519.o", + "crypto/ec/libfips-lib-ec2_oct.o", + "crypto/ec/libfips-lib-ec2_smpl.o", + "crypto/ec/libfips-lib-ec_asn1.o", + "crypto/ec/libfips-lib-ec_backend.o", + "crypto/ec/libfips-lib-ec_check.o", + "crypto/ec/libfips-lib-ec_curve.o", + "crypto/ec/libfips-lib-ec_cvt.o", + "crypto/ec/libfips-lib-ec_key.o", + "crypto/ec/libfips-lib-ec_kmeth.o", + "crypto/ec/libfips-lib-ec_lib.o", + "crypto/ec/libfips-lib-ec_mult.o", + "crypto/ec/libfips-lib-ec_oct.o", + "crypto/ec/libfips-lib-ecdh_kdf.o", + "crypto/ec/libfips-lib-ecdh_ossl.o", + "crypto/ec/libfips-lib-ecdsa_ossl.o", + "crypto/ec/libfips-lib-ecdsa_sign.o", + "crypto/ec/libfips-lib-ecdsa_vrf.o", + "crypto/ec/libfips-lib-ecp_mont.o", + "crypto/ec/libfips-lib-ecp_nist.o", + "crypto/ec/libfips-lib-ecp_oct.o", + "crypto/ec/libfips-lib-ecp_smpl.o", + "crypto/ec/libfips-lib-ecx_backend.o", + "crypto/ec/libfips-lib-ecx_key.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/ec/curve448" => { + "deps" => [ + "crypto/ec/curve448/libcrypto-lib-curve448.o", + "crypto/ec/curve448/libcrypto-lib-curve448_tables.o", + "crypto/ec/curve448/libcrypto-lib-eddsa.o", + "crypto/ec/curve448/libcrypto-lib-f_generic.o", + "crypto/ec/curve448/libcrypto-lib-scalar.o", + "crypto/ec/curve448/libfips-lib-curve448.o", + "crypto/ec/curve448/libfips-lib-curve448_tables.o", + "crypto/ec/curve448/libfips-lib-eddsa.o", + "crypto/ec/curve448/libfips-lib-f_generic.o", + "crypto/ec/curve448/libfips-lib-scalar.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/ec/curve448/arch_32" => { + "deps" => [ + "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o", + "crypto/ec/curve448/arch_32/libfips-lib-f_impl32.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/ec/curve448/arch_64" => { + "deps" => [ + "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o", + "crypto/ec/curve448/arch_64/libfips-lib-f_impl64.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/encode_decode" => { + "deps" => [ + "crypto/encode_decode/libcrypto-lib-decoder_err.o", + "crypto/encode_decode/libcrypto-lib-decoder_lib.o", + "crypto/encode_decode/libcrypto-lib-decoder_meth.o", + "crypto/encode_decode/libcrypto-lib-decoder_pkey.o", + "crypto/encode_decode/libcrypto-lib-encoder_err.o", + "crypto/encode_decode/libcrypto-lib-encoder_lib.o", + "crypto/encode_decode/libcrypto-lib-encoder_meth.o", + "crypto/encode_decode/libcrypto-lib-encoder_pkey.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/engine" => { + "deps" => [ + "crypto/engine/libcrypto-lib-eng_all.o", + "crypto/engine/libcrypto-lib-eng_cnf.o", + "crypto/engine/libcrypto-lib-eng_ctrl.o", + "crypto/engine/libcrypto-lib-eng_dyn.o", + "crypto/engine/libcrypto-lib-eng_err.o", + "crypto/engine/libcrypto-lib-eng_fat.o", + "crypto/engine/libcrypto-lib-eng_init.o", + "crypto/engine/libcrypto-lib-eng_lib.o", + "crypto/engine/libcrypto-lib-eng_list.o", + "crypto/engine/libcrypto-lib-eng_openssl.o", + "crypto/engine/libcrypto-lib-eng_pkey.o", + "crypto/engine/libcrypto-lib-eng_rdrand.o", + "crypto/engine/libcrypto-lib-eng_table.o", + "crypto/engine/libcrypto-lib-tb_asnmth.o", + "crypto/engine/libcrypto-lib-tb_cipher.o", + "crypto/engine/libcrypto-lib-tb_dh.o", + "crypto/engine/libcrypto-lib-tb_digest.o", + "crypto/engine/libcrypto-lib-tb_dsa.o", + "crypto/engine/libcrypto-lib-tb_eckey.o", + "crypto/engine/libcrypto-lib-tb_pkmeth.o", + "crypto/engine/libcrypto-lib-tb_rand.o", + "crypto/engine/libcrypto-lib-tb_rsa.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/err" => { + "deps" => [ + "crypto/err/libcrypto-lib-err.o", + "crypto/err/libcrypto-lib-err_all.o", + "crypto/err/libcrypto-lib-err_all_legacy.o", + "crypto/err/libcrypto-lib-err_blocks.o", + "crypto/err/libcrypto-lib-err_prn.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ess" => { + "deps" => [ + "crypto/ess/libcrypto-lib-ess_asn1.o", + "crypto/ess/libcrypto-lib-ess_err.o", + "crypto/ess/libcrypto-lib-ess_lib.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/evp" => { + "deps" => [ + "crypto/evp/libcrypto-lib-asymcipher.o", + "crypto/evp/libcrypto-lib-bio_b64.o", + "crypto/evp/libcrypto-lib-bio_enc.o", + "crypto/evp/libcrypto-lib-bio_md.o", + "crypto/evp/libcrypto-lib-bio_ok.o", + "crypto/evp/libcrypto-lib-c_allc.o", + "crypto/evp/libcrypto-lib-c_alld.o", + "crypto/evp/libcrypto-lib-cmeth_lib.o", + "crypto/evp/libcrypto-lib-ctrl_params_translate.o", + "crypto/evp/libcrypto-lib-dh_ctrl.o", + "crypto/evp/libcrypto-lib-dh_support.o", + "crypto/evp/libcrypto-lib-digest.o", + "crypto/evp/libcrypto-lib-dsa_ctrl.o", + "crypto/evp/libcrypto-lib-e_aes.o", + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o", + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o", + "crypto/evp/libcrypto-lib-e_aria.o", + "crypto/evp/libcrypto-lib-e_bf.o", + "crypto/evp/libcrypto-lib-e_camellia.o", + "crypto/evp/libcrypto-lib-e_cast.o", + "crypto/evp/libcrypto-lib-e_chacha20_poly1305.o", + "crypto/evp/libcrypto-lib-e_des.o", + "crypto/evp/libcrypto-lib-e_des3.o", + "crypto/evp/libcrypto-lib-e_idea.o", + "crypto/evp/libcrypto-lib-e_null.o", + "crypto/evp/libcrypto-lib-e_old.o", + "crypto/evp/libcrypto-lib-e_rc2.o", + "crypto/evp/libcrypto-lib-e_rc4.o", + "crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o", + "crypto/evp/libcrypto-lib-e_rc5.o", + "crypto/evp/libcrypto-lib-e_seed.o", + "crypto/evp/libcrypto-lib-e_sm4.o", + "crypto/evp/libcrypto-lib-e_xcbc_d.o", + "crypto/evp/libcrypto-lib-ec_ctrl.o", + "crypto/evp/libcrypto-lib-ec_support.o", + "crypto/evp/libcrypto-lib-encode.o", + "crypto/evp/libcrypto-lib-evp_cnf.o", + "crypto/evp/libcrypto-lib-evp_enc.o", + "crypto/evp/libcrypto-lib-evp_err.o", + "crypto/evp/libcrypto-lib-evp_fetch.o", + "crypto/evp/libcrypto-lib-evp_key.o", + "crypto/evp/libcrypto-lib-evp_lib.o", + "crypto/evp/libcrypto-lib-evp_pbe.o", + "crypto/evp/libcrypto-lib-evp_pkey.o", + "crypto/evp/libcrypto-lib-evp_rand.o", + "crypto/evp/libcrypto-lib-evp_utils.o", + "crypto/evp/libcrypto-lib-exchange.o", + "crypto/evp/libcrypto-lib-kdf_lib.o", + "crypto/evp/libcrypto-lib-kdf_meth.o", + "crypto/evp/libcrypto-lib-kem.o", + "crypto/evp/libcrypto-lib-keymgmt_lib.o", + "crypto/evp/libcrypto-lib-keymgmt_meth.o", + "crypto/evp/libcrypto-lib-legacy_blake2.o", + "crypto/evp/libcrypto-lib-legacy_md4.o", + "crypto/evp/libcrypto-lib-legacy_md5.o", + "crypto/evp/libcrypto-lib-legacy_md5_sha1.o", + "crypto/evp/libcrypto-lib-legacy_mdc2.o", + "crypto/evp/libcrypto-lib-legacy_ripemd.o", + "crypto/evp/libcrypto-lib-legacy_sha.o", + "crypto/evp/libcrypto-lib-legacy_wp.o", + "crypto/evp/libcrypto-lib-m_null.o", + "crypto/evp/libcrypto-lib-m_sigver.o", + "crypto/evp/libcrypto-lib-mac_lib.o", + "crypto/evp/libcrypto-lib-mac_meth.o", + "crypto/evp/libcrypto-lib-names.o", + "crypto/evp/libcrypto-lib-p5_crpt.o", + "crypto/evp/libcrypto-lib-p5_crpt2.o", + "crypto/evp/libcrypto-lib-p_dec.o", + "crypto/evp/libcrypto-lib-p_enc.o", + "crypto/evp/libcrypto-lib-p_legacy.o", + "crypto/evp/libcrypto-lib-p_lib.o", + "crypto/evp/libcrypto-lib-p_open.o", + "crypto/evp/libcrypto-lib-p_seal.o", + "crypto/evp/libcrypto-lib-p_sign.o", + "crypto/evp/libcrypto-lib-p_verify.o", + "crypto/evp/libcrypto-lib-pbe_scrypt.o", + "crypto/evp/libcrypto-lib-pmeth_check.o", + "crypto/evp/libcrypto-lib-pmeth_gn.o", + "crypto/evp/libcrypto-lib-pmeth_lib.o", + "crypto/evp/libcrypto-lib-signature.o", + "crypto/evp/libfips-lib-asymcipher.o", + "crypto/evp/libfips-lib-dh_support.o", + "crypto/evp/libfips-lib-digest.o", + "crypto/evp/libfips-lib-ec_support.o", + "crypto/evp/libfips-lib-evp_enc.o", + "crypto/evp/libfips-lib-evp_fetch.o", + "crypto/evp/libfips-lib-evp_lib.o", + "crypto/evp/libfips-lib-evp_rand.o", + "crypto/evp/libfips-lib-evp_utils.o", + "crypto/evp/libfips-lib-exchange.o", + "crypto/evp/libfips-lib-kdf_lib.o", + "crypto/evp/libfips-lib-kdf_meth.o", + "crypto/evp/libfips-lib-kem.o", + "crypto/evp/libfips-lib-keymgmt_lib.o", + "crypto/evp/libfips-lib-keymgmt_meth.o", + "crypto/evp/libfips-lib-m_sigver.o", + "crypto/evp/libfips-lib-mac_lib.o", + "crypto/evp/libfips-lib-mac_meth.o", + "crypto/evp/libfips-lib-p_lib.o", + "crypto/evp/libfips-lib-pmeth_check.o", + "crypto/evp/libfips-lib-pmeth_gn.o", + "crypto/evp/libfips-lib-pmeth_lib.o", + "crypto/evp/libfips-lib-signature.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/ffc" => { + "deps" => [ + "crypto/ffc/libcrypto-lib-ffc_backend.o", + "crypto/ffc/libcrypto-lib-ffc_dh.o", + "crypto/ffc/libcrypto-lib-ffc_key_generate.o", + "crypto/ffc/libcrypto-lib-ffc_key_validate.o", + "crypto/ffc/libcrypto-lib-ffc_params.o", + "crypto/ffc/libcrypto-lib-ffc_params_generate.o", + "crypto/ffc/libcrypto-lib-ffc_params_validate.o", + "crypto/ffc/libfips-lib-ffc_backend.o", + "crypto/ffc/libfips-lib-ffc_dh.o", + "crypto/ffc/libfips-lib-ffc_key_generate.o", + "crypto/ffc/libfips-lib-ffc_key_validate.o", + "crypto/ffc/libfips-lib-ffc_params.o", + "crypto/ffc/libfips-lib-ffc_params_generate.o", + "crypto/ffc/libfips-lib-ffc_params_validate.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/hmac" => { + "deps" => [ + "crypto/hmac/libcrypto-lib-hmac.o", + "crypto/hmac/libfips-lib-hmac.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/http" => { + "deps" => [ + "crypto/http/libcrypto-lib-http_client.o", + "crypto/http/libcrypto-lib-http_err.o", + "crypto/http/libcrypto-lib-http_lib.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/idea" => { + "deps" => [ + "crypto/idea/libcrypto-lib-i_cbc.o", + "crypto/idea/libcrypto-lib-i_cfb64.o", + "crypto/idea/libcrypto-lib-i_ecb.o", + "crypto/idea/libcrypto-lib-i_ofb64.o", + "crypto/idea/libcrypto-lib-i_skey.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/kdf" => { + "deps" => [ + "crypto/kdf/libcrypto-lib-kdf_err.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/lhash" => { + "deps" => [ + "crypto/lhash/libcrypto-lib-lh_stats.o", + "crypto/lhash/libcrypto-lib-lhash.o", + "crypto/lhash/libfips-lib-lhash.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/md4" => { + "deps" => [ + "crypto/md4/libcrypto-lib-md4_dgst.o", + "crypto/md4/libcrypto-lib-md4_one.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/md5" => { + "deps" => [ + "crypto/md5/libcrypto-lib-md5_dgst.o", + "crypto/md5/libcrypto-lib-md5_one.o", + "crypto/md5/libcrypto-lib-md5_sha1.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/mdc2" => { + "deps" => [ + "crypto/mdc2/libcrypto-lib-mdc2_one.o", + "crypto/mdc2/libcrypto-lib-mdc2dgst.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/modes" => { + "deps" => [ + "crypto/modes/libcrypto-lib-cbc128.o", + "crypto/modes/libcrypto-lib-ccm128.o", + "crypto/modes/libcrypto-lib-cfb128.o", + "crypto/modes/libcrypto-lib-ctr128.o", + "crypto/modes/libcrypto-lib-cts128.o", + "crypto/modes/libcrypto-lib-gcm128.o", + "crypto/modes/libcrypto-lib-ocb128.o", + "crypto/modes/libcrypto-lib-ofb128.o", + "crypto/modes/libcrypto-lib-siv128.o", + "crypto/modes/libcrypto-lib-wrap128.o", + "crypto/modes/libcrypto-lib-xts128.o", + "crypto/modes/libfips-lib-cbc128.o", + "crypto/modes/libfips-lib-ccm128.o", + "crypto/modes/libfips-lib-cfb128.o", + "crypto/modes/libfips-lib-ctr128.o", + "crypto/modes/libfips-lib-gcm128.o", + "crypto/modes/libfips-lib-ofb128.o", + "crypto/modes/libfips-lib-wrap128.o", + "crypto/modes/libfips-lib-xts128.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/objects" => { + "deps" => [ + "crypto/objects/libcrypto-lib-o_names.o", + "crypto/objects/libcrypto-lib-obj_dat.o", + "crypto/objects/libcrypto-lib-obj_err.o", + "crypto/objects/libcrypto-lib-obj_lib.o", + "crypto/objects/libcrypto-lib-obj_xref.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ocsp" => { + "deps" => [ + "crypto/ocsp/libcrypto-lib-ocsp_asn.o", + "crypto/ocsp/libcrypto-lib-ocsp_cl.o", + "crypto/ocsp/libcrypto-lib-ocsp_err.o", + "crypto/ocsp/libcrypto-lib-ocsp_ext.o", + "crypto/ocsp/libcrypto-lib-ocsp_http.o", + "crypto/ocsp/libcrypto-lib-ocsp_lib.o", + "crypto/ocsp/libcrypto-lib-ocsp_prn.o", + "crypto/ocsp/libcrypto-lib-ocsp_srv.o", + "crypto/ocsp/libcrypto-lib-ocsp_vfy.o", + "crypto/ocsp/libcrypto-lib-v3_ocsp.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/pem" => { + "deps" => [ + "crypto/pem/libcrypto-lib-pem_all.o", + "crypto/pem/libcrypto-lib-pem_err.o", + "crypto/pem/libcrypto-lib-pem_info.o", + "crypto/pem/libcrypto-lib-pem_lib.o", + "crypto/pem/libcrypto-lib-pem_oth.o", + "crypto/pem/libcrypto-lib-pem_pk8.o", + "crypto/pem/libcrypto-lib-pem_pkey.o", + "crypto/pem/libcrypto-lib-pem_sign.o", + "crypto/pem/libcrypto-lib-pem_x509.o", + "crypto/pem/libcrypto-lib-pem_xaux.o", + "crypto/pem/libcrypto-lib-pvkfmt.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/pkcs12" => { + "deps" => [ + "crypto/pkcs12/libcrypto-lib-p12_add.o", + "crypto/pkcs12/libcrypto-lib-p12_asn.o", + "crypto/pkcs12/libcrypto-lib-p12_attr.o", + "crypto/pkcs12/libcrypto-lib-p12_crpt.o", + "crypto/pkcs12/libcrypto-lib-p12_crt.o", + "crypto/pkcs12/libcrypto-lib-p12_decr.o", + "crypto/pkcs12/libcrypto-lib-p12_init.o", + "crypto/pkcs12/libcrypto-lib-p12_key.o", + "crypto/pkcs12/libcrypto-lib-p12_kiss.o", + "crypto/pkcs12/libcrypto-lib-p12_mutl.o", + "crypto/pkcs12/libcrypto-lib-p12_npas.o", + "crypto/pkcs12/libcrypto-lib-p12_p8d.o", + "crypto/pkcs12/libcrypto-lib-p12_p8e.o", + "crypto/pkcs12/libcrypto-lib-p12_sbag.o", + "crypto/pkcs12/libcrypto-lib-p12_utl.o", + "crypto/pkcs12/libcrypto-lib-pk12err.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/pkcs7" => { + "deps" => [ + "crypto/pkcs7/libcrypto-lib-bio_pk7.o", + "crypto/pkcs7/libcrypto-lib-pk7_asn1.o", + "crypto/pkcs7/libcrypto-lib-pk7_attr.o", + "crypto/pkcs7/libcrypto-lib-pk7_doit.o", + "crypto/pkcs7/libcrypto-lib-pk7_lib.o", + "crypto/pkcs7/libcrypto-lib-pk7_mime.o", + "crypto/pkcs7/libcrypto-lib-pk7_smime.o", + "crypto/pkcs7/libcrypto-lib-pkcs7err.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/poly1305" => { + "deps" => [ + "crypto/poly1305/libcrypto-lib-poly1305.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/property" => { + "deps" => [ + "crypto/property/libcrypto-lib-defn_cache.o", + "crypto/property/libcrypto-lib-property.o", + "crypto/property/libcrypto-lib-property_err.o", + "crypto/property/libcrypto-lib-property_parse.o", + "crypto/property/libcrypto-lib-property_query.o", + "crypto/property/libcrypto-lib-property_string.o", + "crypto/property/libfips-lib-defn_cache.o", + "crypto/property/libfips-lib-property.o", + "crypto/property/libfips-lib-property_parse.o", + "crypto/property/libfips-lib-property_query.o", + "crypto/property/libfips-lib-property_string.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/rand" => { + "deps" => [ + "crypto/rand/libcrypto-lib-prov_seed.o", + "crypto/rand/libcrypto-lib-rand_deprecated.o", + "crypto/rand/libcrypto-lib-rand_err.o", + "crypto/rand/libcrypto-lib-rand_lib.o", + "crypto/rand/libcrypto-lib-rand_meth.o", + "crypto/rand/libcrypto-lib-rand_pool.o", + "crypto/rand/libcrypto-lib-randfile.o", + "crypto/rand/libfips-lib-rand_lib.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/rc2" => { + "deps" => [ + "crypto/rc2/libcrypto-lib-rc2_cbc.o", + "crypto/rc2/libcrypto-lib-rc2_ecb.o", + "crypto/rc2/libcrypto-lib-rc2_skey.o", + "crypto/rc2/libcrypto-lib-rc2cfb64.o", + "crypto/rc2/libcrypto-lib-rc2ofb64.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/rc4" => { + "deps" => [ + "crypto/rc4/libcrypto-lib-rc4_enc.o", + "crypto/rc4/libcrypto-lib-rc4_skey.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ripemd" => { + "deps" => [ + "crypto/ripemd/libcrypto-lib-rmd_dgst.o", + "crypto/ripemd/libcrypto-lib-rmd_one.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/rsa" => { + "deps" => [ + "crypto/rsa/libcrypto-lib-rsa_ameth.o", + "crypto/rsa/libcrypto-lib-rsa_asn1.o", + "crypto/rsa/libcrypto-lib-rsa_backend.o", + "crypto/rsa/libcrypto-lib-rsa_chk.o", + "crypto/rsa/libcrypto-lib-rsa_crpt.o", + "crypto/rsa/libcrypto-lib-rsa_depr.o", + "crypto/rsa/libcrypto-lib-rsa_err.o", + "crypto/rsa/libcrypto-lib-rsa_gen.o", + "crypto/rsa/libcrypto-lib-rsa_lib.o", + "crypto/rsa/libcrypto-lib-rsa_meth.o", + "crypto/rsa/libcrypto-lib-rsa_mp.o", + "crypto/rsa/libcrypto-lib-rsa_mp_names.o", + "crypto/rsa/libcrypto-lib-rsa_none.o", + "crypto/rsa/libcrypto-lib-rsa_oaep.o", + "crypto/rsa/libcrypto-lib-rsa_ossl.o", + "crypto/rsa/libcrypto-lib-rsa_pk1.o", + "crypto/rsa/libcrypto-lib-rsa_pmeth.o", + "crypto/rsa/libcrypto-lib-rsa_prn.o", + "crypto/rsa/libcrypto-lib-rsa_pss.o", + "crypto/rsa/libcrypto-lib-rsa_saos.o", + "crypto/rsa/libcrypto-lib-rsa_schemes.o", + "crypto/rsa/libcrypto-lib-rsa_sign.o", + "crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o", + "crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o", + "crypto/rsa/libcrypto-lib-rsa_x931.o", + "crypto/rsa/libcrypto-lib-rsa_x931g.o", + "crypto/rsa/libfips-lib-rsa_acvp_test_params.o", + "crypto/rsa/libfips-lib-rsa_backend.o", + "crypto/rsa/libfips-lib-rsa_chk.o", + "crypto/rsa/libfips-lib-rsa_crpt.o", + "crypto/rsa/libfips-lib-rsa_gen.o", + "crypto/rsa/libfips-lib-rsa_lib.o", + "crypto/rsa/libfips-lib-rsa_mp_names.o", + "crypto/rsa/libfips-lib-rsa_none.o", + "crypto/rsa/libfips-lib-rsa_oaep.o", + "crypto/rsa/libfips-lib-rsa_ossl.o", + "crypto/rsa/libfips-lib-rsa_pk1.o", + "crypto/rsa/libfips-lib-rsa_pss.o", + "crypto/rsa/libfips-lib-rsa_schemes.o", + "crypto/rsa/libfips-lib-rsa_sign.o", + "crypto/rsa/libfips-lib-rsa_sp800_56b_check.o", + "crypto/rsa/libfips-lib-rsa_sp800_56b_gen.o", + "crypto/rsa/libfips-lib-rsa_x931.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/seed" => { + "deps" => [ + "crypto/seed/libcrypto-lib-seed.o", + "crypto/seed/libcrypto-lib-seed_cbc.o", + "crypto/seed/libcrypto-lib-seed_cfb.o", + "crypto/seed/libcrypto-lib-seed_ecb.o", + "crypto/seed/libcrypto-lib-seed_ofb.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/sha" => { + "deps" => [ + "crypto/sha/libcrypto-lib-keccak1600.o", + "crypto/sha/libcrypto-lib-sha1_one.o", + "crypto/sha/libcrypto-lib-sha1dgst.o", + "crypto/sha/libcrypto-lib-sha256.o", + "crypto/sha/libcrypto-lib-sha3.o", + "crypto/sha/libcrypto-lib-sha512.o", + "crypto/sha/libfips-lib-keccak1600.o", + "crypto/sha/libfips-lib-sha1dgst.o", + "crypto/sha/libfips-lib-sha256.o", + "crypto/sha/libfips-lib-sha3.o", + "crypto/sha/libfips-lib-sha512.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/siphash" => { + "deps" => [ + "crypto/siphash/libcrypto-lib-siphash.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/sm2" => { + "deps" => [ + "crypto/sm2/libcrypto-lib-sm2_crypt.o", + "crypto/sm2/libcrypto-lib-sm2_err.o", + "crypto/sm2/libcrypto-lib-sm2_key.o", + "crypto/sm2/libcrypto-lib-sm2_sign.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/sm3" => { + "deps" => [ + "crypto/sm3/libcrypto-lib-legacy_sm3.o", + "crypto/sm3/libcrypto-lib-sm3.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/sm4" => { + "deps" => [ + "crypto/sm4/libcrypto-lib-sm4.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/srp" => { + "deps" => [ + "crypto/srp/libcrypto-lib-srp_lib.o", + "crypto/srp/libcrypto-lib-srp_vfy.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/stack" => { + "deps" => [ + "crypto/stack/libcrypto-lib-stack.o", + "crypto/stack/libfips-lib-stack.o" + ], + "products" => { + "lib" => [ + "libcrypto", + "providers/libfips.a" + ] + } + }, + "crypto/store" => { + "deps" => [ + "crypto/store/libcrypto-lib-store_err.o", + "crypto/store/libcrypto-lib-store_init.o", + "crypto/store/libcrypto-lib-store_lib.o", + "crypto/store/libcrypto-lib-store_meth.o", + "crypto/store/libcrypto-lib-store_register.o", + "crypto/store/libcrypto-lib-store_result.o", + "crypto/store/libcrypto-lib-store_strings.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ts" => { + "deps" => [ + "crypto/ts/libcrypto-lib-ts_asn1.o", + "crypto/ts/libcrypto-lib-ts_conf.o", + "crypto/ts/libcrypto-lib-ts_err.o", + "crypto/ts/libcrypto-lib-ts_lib.o", + "crypto/ts/libcrypto-lib-ts_req_print.o", + "crypto/ts/libcrypto-lib-ts_req_utils.o", + "crypto/ts/libcrypto-lib-ts_rsp_print.o", + "crypto/ts/libcrypto-lib-ts_rsp_sign.o", + "crypto/ts/libcrypto-lib-ts_rsp_utils.o", + "crypto/ts/libcrypto-lib-ts_rsp_verify.o", + "crypto/ts/libcrypto-lib-ts_verify_ctx.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/txt_db" => { + "deps" => [ + "crypto/txt_db/libcrypto-lib-txt_db.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/ui" => { + "deps" => [ + "crypto/ui/libcrypto-lib-ui_err.o", + "crypto/ui/libcrypto-lib-ui_lib.o", + "crypto/ui/libcrypto-lib-ui_null.o", + "crypto/ui/libcrypto-lib-ui_openssl.o", + "crypto/ui/libcrypto-lib-ui_util.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/whrlpool" => { + "deps" => [ + "crypto/whrlpool/libcrypto-lib-wp_block.o", + "crypto/whrlpool/libcrypto-lib-wp_dgst.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "crypto/x509" => { + "deps" => [ + "crypto/x509/libcrypto-lib-by_dir.o", + "crypto/x509/libcrypto-lib-by_file.o", + "crypto/x509/libcrypto-lib-by_store.o", + "crypto/x509/libcrypto-lib-pcy_cache.o", + "crypto/x509/libcrypto-lib-pcy_data.o", + "crypto/x509/libcrypto-lib-pcy_lib.o", + "crypto/x509/libcrypto-lib-pcy_map.o", + "crypto/x509/libcrypto-lib-pcy_node.o", + "crypto/x509/libcrypto-lib-pcy_tree.o", + "crypto/x509/libcrypto-lib-t_crl.o", + "crypto/x509/libcrypto-lib-t_req.o", + "crypto/x509/libcrypto-lib-t_x509.o", + "crypto/x509/libcrypto-lib-v3_addr.o", + "crypto/x509/libcrypto-lib-v3_admis.o", + "crypto/x509/libcrypto-lib-v3_akeya.o", + "crypto/x509/libcrypto-lib-v3_akid.o", + "crypto/x509/libcrypto-lib-v3_asid.o", + "crypto/x509/libcrypto-lib-v3_bcons.o", + "crypto/x509/libcrypto-lib-v3_bitst.o", + "crypto/x509/libcrypto-lib-v3_conf.o", + "crypto/x509/libcrypto-lib-v3_cpols.o", + "crypto/x509/libcrypto-lib-v3_crld.o", + "crypto/x509/libcrypto-lib-v3_enum.o", + "crypto/x509/libcrypto-lib-v3_extku.o", + "crypto/x509/libcrypto-lib-v3_genn.o", + "crypto/x509/libcrypto-lib-v3_ia5.o", + "crypto/x509/libcrypto-lib-v3_info.o", + "crypto/x509/libcrypto-lib-v3_int.o", + "crypto/x509/libcrypto-lib-v3_ist.o", + "crypto/x509/libcrypto-lib-v3_lib.o", + "crypto/x509/libcrypto-lib-v3_ncons.o", + "crypto/x509/libcrypto-lib-v3_pci.o", + "crypto/x509/libcrypto-lib-v3_pcia.o", + "crypto/x509/libcrypto-lib-v3_pcons.o", + "crypto/x509/libcrypto-lib-v3_pku.o", + "crypto/x509/libcrypto-lib-v3_pmaps.o", + "crypto/x509/libcrypto-lib-v3_prn.o", + "crypto/x509/libcrypto-lib-v3_purp.o", + "crypto/x509/libcrypto-lib-v3_san.o", + "crypto/x509/libcrypto-lib-v3_skid.o", + "crypto/x509/libcrypto-lib-v3_sxnet.o", + "crypto/x509/libcrypto-lib-v3_tlsf.o", + "crypto/x509/libcrypto-lib-v3_utf8.o", + "crypto/x509/libcrypto-lib-v3_utl.o", + "crypto/x509/libcrypto-lib-v3err.o", + "crypto/x509/libcrypto-lib-x509_att.o", + "crypto/x509/libcrypto-lib-x509_cmp.o", + "crypto/x509/libcrypto-lib-x509_d2.o", + "crypto/x509/libcrypto-lib-x509_def.o", + "crypto/x509/libcrypto-lib-x509_err.o", + "crypto/x509/libcrypto-lib-x509_ext.o", + "crypto/x509/libcrypto-lib-x509_lu.o", + "crypto/x509/libcrypto-lib-x509_meth.o", + "crypto/x509/libcrypto-lib-x509_obj.o", + "crypto/x509/libcrypto-lib-x509_r2x.o", + "crypto/x509/libcrypto-lib-x509_req.o", + "crypto/x509/libcrypto-lib-x509_set.o", + "crypto/x509/libcrypto-lib-x509_trust.o", + "crypto/x509/libcrypto-lib-x509_txt.o", + "crypto/x509/libcrypto-lib-x509_v3.o", + "crypto/x509/libcrypto-lib-x509_vfy.o", + "crypto/x509/libcrypto-lib-x509_vpm.o", + "crypto/x509/libcrypto-lib-x509cset.o", + "crypto/x509/libcrypto-lib-x509name.o", + "crypto/x509/libcrypto-lib-x509rset.o", + "crypto/x509/libcrypto-lib-x509spki.o", + "crypto/x509/libcrypto-lib-x509type.o", + "crypto/x509/libcrypto-lib-x_all.o", + "crypto/x509/libcrypto-lib-x_attrib.o", + "crypto/x509/libcrypto-lib-x_crl.o", + "crypto/x509/libcrypto-lib-x_exten.o", + "crypto/x509/libcrypto-lib-x_name.o", + "crypto/x509/libcrypto-lib-x_pubkey.o", + "crypto/x509/libcrypto-lib-x_req.o", + "crypto/x509/libcrypto-lib-x_x509.o", + "crypto/x509/libcrypto-lib-x_x509a.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "engines" => { + "deps" => [ + "engines/libcrypto-lib-e_capi.o", + "engines/libcrypto-lib-e_padlock.o" + ], + "products" => { + "lib" => [ + "libcrypto" + ] + } + }, + "fuzz" => { + "products" => { + "bin" => [ + "fuzz/asn1-test", + "fuzz/asn1parse-test", + "fuzz/bignum-test", + "fuzz/bndiv-test", + "fuzz/client-test", + "fuzz/cmp-test", + "fuzz/cms-test", + "fuzz/conf-test", + "fuzz/crl-test", + "fuzz/ct-test", + "fuzz/server-test", + "fuzz/x509-test" + ] + } + }, + "providers" => { + "deps" => [ + "providers/libcrypto-lib-baseprov.o", + "providers/libcrypto-lib-defltprov.o", + "providers/libcrypto-lib-nullprov.o", + "providers/libcrypto-lib-prov_running.o", + "providers/libdefault.a" + ], + "products" => { + "dso" => [ + "providers/fips", + "providers/legacy" + ], + "lib" => [ + "libcrypto", + "providers/libfips.a", + "providers/liblegacy.a" + ] + } + }, + "providers/common" => { + "deps" => [ + "providers/common/libcommon-lib-provider_ctx.o", + "providers/common/libcommon-lib-provider_err.o", + "providers/common/libdefault-lib-bio_prov.o", + "providers/common/libdefault-lib-capabilities.o", + "providers/common/libdefault-lib-digest_to_nid.o", + "providers/common/libdefault-lib-provider_seeding.o", + "providers/common/libdefault-lib-provider_util.o", + "providers/common/libdefault-lib-securitycheck.o", + "providers/common/libdefault-lib-securitycheck_default.o", + "providers/common/libfips-lib-bio_prov.o", + "providers/common/libfips-lib-capabilities.o", + "providers/common/libfips-lib-digest_to_nid.o", + "providers/common/libfips-lib-provider_seeding.o", + "providers/common/libfips-lib-provider_util.o", + "providers/common/libfips-lib-securitycheck.o", + "providers/common/libfips-lib-securitycheck_fips.o" + ], + "products" => { + "lib" => [ + "providers/libcommon.a", + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/common/der" => { + "deps" => [ + "providers/common/der/libcommon-lib-der_digests_gen.o", + "providers/common/der/libcommon-lib-der_dsa_gen.o", + "providers/common/der/libcommon-lib-der_dsa_key.o", + "providers/common/der/libcommon-lib-der_dsa_sig.o", + "providers/common/der/libcommon-lib-der_ec_gen.o", + "providers/common/der/libcommon-lib-der_ec_key.o", + "providers/common/der/libcommon-lib-der_ec_sig.o", + "providers/common/der/libcommon-lib-der_ecx_gen.o", + "providers/common/der/libcommon-lib-der_ecx_key.o", + "providers/common/der/libcommon-lib-der_rsa_gen.o", + "providers/common/der/libcommon-lib-der_rsa_key.o", + "providers/common/der/libcommon-lib-der_wrap_gen.o", + "providers/common/der/libdefault-lib-der_rsa_sig.o", + "providers/common/der/libdefault-lib-der_sm2_gen.o", + "providers/common/der/libdefault-lib-der_sm2_key.o", + "providers/common/der/libdefault-lib-der_sm2_sig.o", + "providers/common/der/libfips-lib-der_rsa_sig.o" + ], + "products" => { + "lib" => [ + "providers/libcommon.a", + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/fips" => { + "deps" => [ + "providers/fips/fips-dso-fips_entry.o", + "providers/fips/libfips-lib-fipsprov.o", + "providers/fips/libfips-lib-self_test.o", + "providers/fips/libfips-lib-self_test_kats.o" + ], + "products" => { + "dso" => [ + "providers/fips" + ], + "lib" => [ + "providers/libfips.a" + ] + } + }, + "providers/implementations/asymciphers" => { + "deps" => [ + "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o", + "providers/implementations/asymciphers/libdefault-lib-sm2_enc.o", + "providers/implementations/asymciphers/libfips-lib-rsa_enc.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/ciphers" => { + "deps" => [ + "providers/implementations/ciphers/libcommon-lib-ciphercommon.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_block.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm_hw.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm_hw.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha1_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha256_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_wrp.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_fips.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_ccm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_ccm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_gcm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_gcm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_camellia.o", + "providers/implementations/ciphers/libdefault-lib-cipher_camellia_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_cts.o", + "providers/implementations/ciphers/libdefault-lib-cipher_null.o", + "providers/implementations/ciphers/libdefault-lib-cipher_sm4.o", + "providers/implementations/ciphers/libdefault-lib-cipher_sm4_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_common.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha1_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha256_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_wrp.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_fips.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_cts.o", + "providers/implementations/ciphers/libfips-lib-cipher_tdes.o", + "providers/implementations/ciphers/libfips-lib-cipher_tdes_common.o", + "providers/implementations/ciphers/libfips-lib-cipher_tdes_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_idea.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_idea_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o" + ], + "products" => { + "lib" => [ + "providers/libcommon.a", + "providers/libdefault.a", + "providers/libfips.a", + "providers/liblegacy.a" + ] + } + }, + "providers/implementations/digests" => { + "deps" => [ + "providers/implementations/digests/libcommon-lib-digestcommon.o", + "providers/implementations/digests/libdefault-lib-blake2_prov.o", + "providers/implementations/digests/libdefault-lib-blake2b_prov.o", + "providers/implementations/digests/libdefault-lib-blake2s_prov.o", + "providers/implementations/digests/libdefault-lib-md5_prov.o", + "providers/implementations/digests/libdefault-lib-md5_sha1_prov.o", + "providers/implementations/digests/libdefault-lib-null_prov.o", + "providers/implementations/digests/libdefault-lib-ripemd_prov.o", + "providers/implementations/digests/libdefault-lib-sha2_prov.o", + "providers/implementations/digests/libdefault-lib-sha3_prov.o", + "providers/implementations/digests/libdefault-lib-sm3_prov.o", + "providers/implementations/digests/libfips-lib-sha2_prov.o", + "providers/implementations/digests/libfips-lib-sha3_prov.o", + "providers/implementations/digests/liblegacy-lib-md4_prov.o", + "providers/implementations/digests/liblegacy-lib-mdc2_prov.o", + "providers/implementations/digests/liblegacy-lib-ripemd_prov.o", + "providers/implementations/digests/liblegacy-lib-wp_prov.o" + ], + "products" => { + "lib" => [ + "providers/libcommon.a", + "providers/libdefault.a", + "providers/libfips.a", + "providers/liblegacy.a" + ] + } + }, + "providers/implementations/encode_decode" => { + "deps" => [ + "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o", + "providers/implementations/encode_decode/libdefault-lib-decode_epki2pki.o", + "providers/implementations/encode_decode/libdefault-lib-decode_msblob2key.o", + "providers/implementations/encode_decode/libdefault-lib-decode_pem2der.o", + "providers/implementations/encode_decode/libdefault-lib-decode_pvk2key.o", + "providers/implementations/encode_decode/libdefault-lib-decode_spki2typespki.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2blob.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2ms.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2text.o", + "providers/implementations/encode_decode/libdefault-lib-endecoder_common.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a" + ] + } + }, + "providers/implementations/exchange" => { + "deps" => [ + "providers/implementations/exchange/libdefault-lib-dh_exch.o", + "providers/implementations/exchange/libdefault-lib-ecdh_exch.o", + "providers/implementations/exchange/libdefault-lib-ecx_exch.o", + "providers/implementations/exchange/libdefault-lib-kdf_exch.o", + "providers/implementations/exchange/libfips-lib-dh_exch.o", + "providers/implementations/exchange/libfips-lib-ecdh_exch.o", + "providers/implementations/exchange/libfips-lib-ecx_exch.o", + "providers/implementations/exchange/libfips-lib-kdf_exch.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/kdfs" => { + "deps" => [ + "providers/implementations/kdfs/libdefault-lib-hkdf.o", + "providers/implementations/kdfs/libdefault-lib-kbkdf.o", + "providers/implementations/kdfs/libdefault-lib-krb5kdf.o", + "providers/implementations/kdfs/libdefault-lib-pbkdf2.o", + "providers/implementations/kdfs/libdefault-lib-pbkdf2_fips.o", + "providers/implementations/kdfs/libdefault-lib-pkcs12kdf.o", + "providers/implementations/kdfs/libdefault-lib-scrypt.o", + "providers/implementations/kdfs/libdefault-lib-sshkdf.o", + "providers/implementations/kdfs/libdefault-lib-sskdf.o", + "providers/implementations/kdfs/libdefault-lib-tls1_prf.o", + "providers/implementations/kdfs/libdefault-lib-x942kdf.o", + "providers/implementations/kdfs/libfips-lib-hkdf.o", + "providers/implementations/kdfs/libfips-lib-kbkdf.o", + "providers/implementations/kdfs/libfips-lib-pbkdf2.o", + "providers/implementations/kdfs/libfips-lib-pbkdf2_fips.o", + "providers/implementations/kdfs/libfips-lib-sshkdf.o", + "providers/implementations/kdfs/libfips-lib-sskdf.o", + "providers/implementations/kdfs/libfips-lib-tls1_prf.o", + "providers/implementations/kdfs/libfips-lib-x942kdf.o", + "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a", + "providers/liblegacy.a" + ] + } + }, + "providers/implementations/kem" => { + "deps" => [ + "providers/implementations/kem/libdefault-lib-rsa_kem.o", + "providers/implementations/kem/libfips-lib-rsa_kem.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/keymgmt" => { + "deps" => [ + "providers/implementations/keymgmt/libdefault-lib-dh_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-dsa_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-ec_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-ecx_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-kdf_legacy_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-mac_legacy_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-dh_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-dsa_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-ec_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-ecx_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-kdf_legacy_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-mac_legacy_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-rsa_kmgmt.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/macs" => { + "deps" => [ + "providers/implementations/macs/libdefault-lib-blake2b_mac.o", + "providers/implementations/macs/libdefault-lib-blake2s_mac.o", + "providers/implementations/macs/libdefault-lib-cmac_prov.o", + "providers/implementations/macs/libdefault-lib-gmac_prov.o", + "providers/implementations/macs/libdefault-lib-hmac_prov.o", + "providers/implementations/macs/libdefault-lib-kmac_prov.o", + "providers/implementations/macs/libdefault-lib-poly1305_prov.o", + "providers/implementations/macs/libdefault-lib-siphash_prov.o", + "providers/implementations/macs/libfips-lib-cmac_prov.o", + "providers/implementations/macs/libfips-lib-gmac_prov.o", + "providers/implementations/macs/libfips-lib-hmac_prov.o", + "providers/implementations/macs/libfips-lib-kmac_prov.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/rands" => { + "deps" => [ + "providers/implementations/rands/libdefault-lib-crngt.o", + "providers/implementations/rands/libdefault-lib-drbg.o", + "providers/implementations/rands/libdefault-lib-drbg_ctr.o", + "providers/implementations/rands/libdefault-lib-drbg_hash.o", + "providers/implementations/rands/libdefault-lib-drbg_hmac.o", + "providers/implementations/rands/libdefault-lib-seed_src.o", + "providers/implementations/rands/libdefault-lib-test_rng.o", + "providers/implementations/rands/libfips-lib-crngt.o", + "providers/implementations/rands/libfips-lib-drbg.o", + "providers/implementations/rands/libfips-lib-drbg_ctr.o", + "providers/implementations/rands/libfips-lib-drbg_hash.o", + "providers/implementations/rands/libfips-lib-drbg_hmac.o", + "providers/implementations/rands/libfips-lib-test_rng.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/rands/seeding" => { + "deps" => [ + "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_tsc.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_unix.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_win.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a" + ] + } + }, + "providers/implementations/signature" => { + "deps" => [ + "providers/implementations/signature/libdefault-lib-dsa_sig.o", + "providers/implementations/signature/libdefault-lib-ecdsa_sig.o", + "providers/implementations/signature/libdefault-lib-eddsa_sig.o", + "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o", + "providers/implementations/signature/libdefault-lib-rsa_sig.o", + "providers/implementations/signature/libdefault-lib-sm2_sig.o", + "providers/implementations/signature/libfips-lib-dsa_sig.o", + "providers/implementations/signature/libfips-lib-ecdsa_sig.o", + "providers/implementations/signature/libfips-lib-eddsa_sig.o", + "providers/implementations/signature/libfips-lib-mac_legacy_sig.o", + "providers/implementations/signature/libfips-lib-rsa_sig.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "providers/implementations/storemgmt" => { + "deps" => [ + "providers/implementations/storemgmt/libdefault-lib-file_store.o", + "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o" + ], + "products" => { + "lib" => [ + "providers/libdefault.a" + ] + } + }, + "ssl" => { + "deps" => [ + "ssl/libssl-lib-bio_ssl.o", + "ssl/libssl-lib-d1_lib.o", + "ssl/libssl-lib-d1_msg.o", + "ssl/libssl-lib-d1_srtp.o", + "ssl/libssl-lib-methods.o", + "ssl/libssl-lib-pqueue.o", + "ssl/libssl-lib-s3_enc.o", + "ssl/libssl-lib-s3_lib.o", + "ssl/libssl-lib-s3_msg.o", + "ssl/libssl-lib-ssl_asn1.o", + "ssl/libssl-lib-ssl_cert.o", + "ssl/libssl-lib-ssl_ciph.o", + "ssl/libssl-lib-ssl_conf.o", + "ssl/libssl-lib-ssl_err.o", + "ssl/libssl-lib-ssl_err_legacy.o", + "ssl/libssl-lib-ssl_init.o", + "ssl/libssl-lib-ssl_lib.o", + "ssl/libssl-lib-ssl_mcnf.o", + "ssl/libssl-lib-ssl_quic.o", + "ssl/libssl-lib-ssl_rsa.o", + "ssl/libssl-lib-ssl_rsa_legacy.o", + "ssl/libssl-lib-ssl_sess.o", + "ssl/libssl-lib-ssl_stat.o", + "ssl/libssl-lib-ssl_txt.o", + "ssl/libssl-lib-ssl_utst.o", + "ssl/libssl-lib-t1_enc.o", + "ssl/libssl-lib-t1_lib.o", + "ssl/libssl-lib-t1_trce.o", + "ssl/libssl-lib-tls13_enc.o", + "ssl/libssl-lib-tls_depr.o", + "ssl/libssl-lib-tls_srp.o", + "ssl/libdefault-lib-s3_cbc.o", + "ssl/libfips-lib-s3_cbc.o" + ], + "products" => { + "lib" => [ + "libssl", + "providers/libdefault.a", + "providers/libfips.a" + ] + } + }, + "ssl/record" => { + "deps" => [ + "ssl/record/libssl-lib-dtls1_bitmap.o", + "ssl/record/libssl-lib-rec_layer_d1.o", + "ssl/record/libssl-lib-rec_layer_s3.o", + "ssl/record/libssl-lib-ssl3_buffer.o", + "ssl/record/libssl-lib-ssl3_record.o", + "ssl/record/libssl-lib-ssl3_record_tls13.o", + "ssl/record/libcommon-lib-tls_pad.o" + ], + "products" => { + "lib" => [ + "libssl", + "providers/libcommon.a" + ] + } + }, + "ssl/statem" => { + "deps" => [ + "ssl/statem/libssl-lib-extensions.o", + "ssl/statem/libssl-lib-extensions_clnt.o", + "ssl/statem/libssl-lib-extensions_cust.o", + "ssl/statem/libssl-lib-extensions_srvr.o", + "ssl/statem/libssl-lib-statem.o", + "ssl/statem/libssl-lib-statem_clnt.o", + "ssl/statem/libssl-lib-statem_dtls.o", + "ssl/statem/libssl-lib-statem_lib.o", + "ssl/statem/libssl-lib-statem_quic.o", + "ssl/statem/libssl-lib-statem_srvr.o" + ], + "products" => { + "lib" => [ + "libssl" + ] + } + }, + "test/helpers" => { + "deps" => [ + "test/helpers/asynciotest-bin-ssltestlib.o", + "test/helpers/cmp_asn_test-bin-cmp_testlib.o", + "test/helpers/cmp_client_test-bin-cmp_testlib.o", + "test/helpers/cmp_ctx_test-bin-cmp_testlib.o", + "test/helpers/cmp_hdr_test-bin-cmp_testlib.o", + "test/helpers/cmp_msg_test-bin-cmp_testlib.o", + "test/helpers/cmp_protect_test-bin-cmp_testlib.o", + "test/helpers/cmp_server_test-bin-cmp_testlib.o", + "test/helpers/cmp_status_test-bin-cmp_testlib.o", + "test/helpers/cmp_vfy_test-bin-cmp_testlib.o", + "test/helpers/dtls_mtu_test-bin-ssltestlib.o", + "test/helpers/dtlstest-bin-ssltestlib.o", + "test/helpers/endecode_test-bin-predefined_dhparams.o", + "test/helpers/fatalerrtest-bin-ssltestlib.o", + "test/helpers/pkcs12_format_test-bin-pkcs12.o", + "test/helpers/recordlentest-bin-ssltestlib.o", + "test/helpers/servername_test-bin-ssltestlib.o", + "test/helpers/ssl_old_test-bin-predefined_dhparams.o", + "test/helpers/ssl_test-bin-handshake.o", + "test/helpers/ssl_test-bin-handshake_srp.o", + "test/helpers/ssl_test-bin-ssl_test_ctx.o", + "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o", + "test/helpers/sslapitest-bin-ssltestlib.o", + "test/helpers/sslbuffertest-bin-ssltestlib.o", + "test/helpers/sslcorrupttest-bin-ssltestlib.o", + "test/helpers/tls13ccstest-bin-ssltestlib.o" + ], + "products" => { + "bin" => [ + "test/asynciotest", + "test/cmp_asn_test", + "test/cmp_client_test", + "test/cmp_ctx_test", + "test/cmp_hdr_test", + "test/cmp_msg_test", + "test/cmp_protect_test", + "test/cmp_server_test", + "test/cmp_status_test", + "test/cmp_vfy_test", + "test/dtls_mtu_test", + "test/dtlstest", + "test/endecode_test", + "test/fatalerrtest", + "test/pkcs12_format_test", + "test/recordlentest", + "test/servername_test", + "test/ssl_old_test", + "test/ssl_test", + "test/ssl_test_ctx_test", + "test/sslapitest", + "test/sslbuffertest", + "test/sslcorrupttest", + "test/tls13ccstest" + ] + } + }, + "test/testutil" => { + "deps" => [ + "test/testutil/libtestutil-lib-apps_shims.o", + "test/testutil/libtestutil-lib-basic_output.o", + "test/testutil/libtestutil-lib-cb.o", + "test/testutil/libtestutil-lib-driver.o", + "test/testutil/libtestutil-lib-fake_random.o", + "test/testutil/libtestutil-lib-format_output.o", + "test/testutil/libtestutil-lib-load.o", + "test/testutil/libtestutil-lib-main.o", + "test/testutil/libtestutil-lib-options.o", + "test/testutil/libtestutil-lib-output.o", + "test/testutil/libtestutil-lib-provider.o", + "test/testutil/libtestutil-lib-random.o", + "test/testutil/libtestutil-lib-stanza.o", + "test/testutil/libtestutil-lib-test_cleanup.o", + "test/testutil/libtestutil-lib-test_options.o", + "test/testutil/libtestutil-lib-tests.o", + "test/testutil/libtestutil-lib-testutil_init.o" + ], + "products" => { + "lib" => [ + "test/libtestutil.a" + ] + } + }, + "tools" => { + "products" => { + "script" => [ + "tools/c_rehash" + ] + } + }, + "util" => { + "products" => { + "script" => [ + "util/shlib_wrap.sh", + "util/wrap.pl" + ] + } + } + }, + "generate" => { + "apps/progs.c" => [ + "apps/progs.pl", + "\"-C\"", + "\$(APPS_OPENSSL)" + ], + "apps/progs.h" => [ + "apps/progs.pl", + "\"-H\"", + "\$(APPS_OPENSSL)" + ], + "crypto/aes/aes-586.S" => [ + "crypto/aes/asm/aes-586.pl" + ], + "crypto/aes/aes-armv4.S" => [ + "crypto/aes/asm/aes-armv4.pl" + ], + "crypto/aes/aes-c64xplus.S" => [ + "crypto/aes/asm/aes-c64xplus.pl" + ], + "crypto/aes/aes-ia64.s" => [ + "crypto/aes/asm/aes-ia64.S" + ], + "crypto/aes/aes-mips.S" => [ + "crypto/aes/asm/aes-mips.pl" + ], + "crypto/aes/aes-parisc.s" => [ + "crypto/aes/asm/aes-parisc.pl" + ], + "crypto/aes/aes-ppc.s" => [ + "crypto/aes/asm/aes-ppc.pl" + ], + "crypto/aes/aes-s390x.S" => [ + "crypto/aes/asm/aes-s390x.pl" + ], + "crypto/aes/aes-sparcv9.S" => [ + "crypto/aes/asm/aes-sparcv9.pl" + ], + "crypto/aes/aes-x86_64.s" => [ + "crypto/aes/asm/aes-x86_64.pl" + ], + "crypto/aes/aesfx-sparcv9.S" => [ + "crypto/aes/asm/aesfx-sparcv9.pl" + ], + "crypto/aes/aesni-mb-x86_64.s" => [ + "crypto/aes/asm/aesni-mb-x86_64.pl" + ], + "crypto/aes/aesni-sha1-x86_64.s" => [ + "crypto/aes/asm/aesni-sha1-x86_64.pl" + ], + "crypto/aes/aesni-sha256-x86_64.s" => [ + "crypto/aes/asm/aesni-sha256-x86_64.pl" + ], + "crypto/aes/aesni-x86.S" => [ + "crypto/aes/asm/aesni-x86.pl" + ], + "crypto/aes/aesni-x86_64.s" => [ + "crypto/aes/asm/aesni-x86_64.pl" + ], + "crypto/aes/aesp8-ppc.s" => [ + "crypto/aes/asm/aesp8-ppc.pl" + ], + "crypto/aes/aest4-sparcv9.S" => [ + "crypto/aes/asm/aest4-sparcv9.pl" + ], + "crypto/aes/aesv8-armx.S" => [ + "crypto/aes/asm/aesv8-armx.pl" + ], + "crypto/aes/bsaes-armv7.S" => [ + "crypto/aes/asm/bsaes-armv7.pl" + ], + "crypto/aes/bsaes-x86_64.s" => [ + "crypto/aes/asm/bsaes-x86_64.pl" + ], + "crypto/aes/vpaes-armv8.S" => [ + "crypto/aes/asm/vpaes-armv8.pl" + ], + "crypto/aes/vpaes-ppc.s" => [ + "crypto/aes/asm/vpaes-ppc.pl" + ], + "crypto/aes/vpaes-x86.S" => [ + "crypto/aes/asm/vpaes-x86.pl" + ], + "crypto/aes/vpaes-x86_64.s" => [ + "crypto/aes/asm/vpaes-x86_64.pl" + ], + "crypto/alphacpuid.s" => [ + "crypto/alphacpuid.pl" + ], + "crypto/arm64cpuid.S" => [ + "crypto/arm64cpuid.pl" + ], + "crypto/armv4cpuid.S" => [ + "crypto/armv4cpuid.pl" + ], + "crypto/bf/bf-586.S" => [ + "crypto/bf/asm/bf-586.pl" + ], + "crypto/bn/alpha-mont.S" => [ + "crypto/bn/asm/alpha-mont.pl" + ], + "crypto/bn/armv4-gf2m.S" => [ + "crypto/bn/asm/armv4-gf2m.pl" + ], + "crypto/bn/armv4-mont.S" => [ + "crypto/bn/asm/armv4-mont.pl" + ], + "crypto/bn/armv8-mont.S" => [ + "crypto/bn/asm/armv8-mont.pl" + ], + "crypto/bn/bn-586.S" => [ + "crypto/bn/asm/bn-586.pl" + ], + "crypto/bn/bn-ia64.s" => [ + "crypto/bn/asm/ia64.S" + ], + "crypto/bn/bn-mips.S" => [ + "crypto/bn/asm/mips.pl" + ], + "crypto/bn/bn-ppc.s" => [ + "crypto/bn/asm/ppc.pl" + ], + "crypto/bn/co-586.S" => [ + "crypto/bn/asm/co-586.pl" + ], + "crypto/bn/ia64-mont.s" => [ + "crypto/bn/asm/ia64-mont.pl" + ], + "crypto/bn/mips-mont.S" => [ + "crypto/bn/asm/mips-mont.pl" + ], + "crypto/bn/parisc-mont.s" => [ + "crypto/bn/asm/parisc-mont.pl" + ], + "crypto/bn/ppc-mont.s" => [ + "crypto/bn/asm/ppc-mont.pl" + ], + "crypto/bn/ppc64-mont.s" => [ + "crypto/bn/asm/ppc64-mont.pl" + ], + "crypto/bn/rsaz-avx2.s" => [ + "crypto/bn/asm/rsaz-avx2.pl" + ], + "crypto/bn/rsaz-avx512.s" => [ + "crypto/bn/asm/rsaz-avx512.pl" + ], + "crypto/bn/rsaz-x86_64.s" => [ + "crypto/bn/asm/rsaz-x86_64.pl" + ], + "crypto/bn/s390x-gf2m.s" => [ + "crypto/bn/asm/s390x-gf2m.pl" + ], + "crypto/bn/s390x-mont.S" => [ + "crypto/bn/asm/s390x-mont.pl" + ], + "crypto/bn/sparct4-mont.S" => [ + "crypto/bn/asm/sparct4-mont.pl" + ], + "crypto/bn/sparcv9-gf2m.S" => [ + "crypto/bn/asm/sparcv9-gf2m.pl" + ], + "crypto/bn/sparcv9-mont.S" => [ + "crypto/bn/asm/sparcv9-mont.pl" + ], + "crypto/bn/sparcv9a-mont.S" => [ + "crypto/bn/asm/sparcv9a-mont.pl" + ], + "crypto/bn/vis3-mont.S" => [ + "crypto/bn/asm/vis3-mont.pl" + ], + "crypto/bn/x86-gf2m.S" => [ + "crypto/bn/asm/x86-gf2m.pl" + ], + "crypto/bn/x86-mont.S" => [ + "crypto/bn/asm/x86-mont.pl" + ], + "crypto/bn/x86_64-gf2m.s" => [ + "crypto/bn/asm/x86_64-gf2m.pl" + ], + "crypto/bn/x86_64-mont.s" => [ + "crypto/bn/asm/x86_64-mont.pl" + ], + "crypto/bn/x86_64-mont5.s" => [ + "crypto/bn/asm/x86_64-mont5.pl" + ], + "crypto/buildinf.h" => [ + "util/mkbuildinf.pl", + "\"\$(CC)", + "\$(LIB_CFLAGS)", + "\$(CPPFLAGS_Q)\"", + "\"\$(PLATFORM)\"" + ], + "crypto/camellia/cmll-x86.S" => [ + "crypto/camellia/asm/cmll-x86.pl" + ], + "crypto/camellia/cmll-x86_64.s" => [ + "crypto/camellia/asm/cmll-x86_64.pl" + ], + "crypto/camellia/cmllt4-sparcv9.S" => [ + "crypto/camellia/asm/cmllt4-sparcv9.pl" + ], + "crypto/cast/cast-586.S" => [ + "crypto/cast/asm/cast-586.pl" + ], + "crypto/chacha/chacha-armv4.S" => [ + "crypto/chacha/asm/chacha-armv4.pl" + ], + "crypto/chacha/chacha-armv8.S" => [ + "crypto/chacha/asm/chacha-armv8.pl" + ], + "crypto/chacha/chacha-c64xplus.S" => [ + "crypto/chacha/asm/chacha-c64xplus.pl" + ], + "crypto/chacha/chacha-ia64.S" => [ + "crypto/chacha/asm/chacha-ia64.pl" + ], + "crypto/chacha/chacha-ia64.s" => [ + "crypto/chacha/chacha-ia64.S" + ], + "crypto/chacha/chacha-ppc.s" => [ + "crypto/chacha/asm/chacha-ppc.pl" + ], + "crypto/chacha/chacha-s390x.S" => [ + "crypto/chacha/asm/chacha-s390x.pl" + ], + "crypto/chacha/chacha-x86.S" => [ + "crypto/chacha/asm/chacha-x86.pl" + ], + "crypto/chacha/chacha-x86_64.s" => [ + "crypto/chacha/asm/chacha-x86_64.pl" + ], + "crypto/des/crypt586.S" => [ + "crypto/des/asm/crypt586.pl" + ], + "crypto/des/des-586.S" => [ + "crypto/des/asm/des-586.pl" + ], + "crypto/des/des_enc-sparc.S" => [ + "crypto/des/asm/des_enc.m4" + ], + "crypto/des/dest4-sparcv9.S" => [ + "crypto/des/asm/dest4-sparcv9.pl" + ], + "crypto/ec/ecp_nistp521-ppc64.s" => [ + "crypto/ec/asm/ecp_nistp521-ppc64.pl" + ], + "crypto/ec/ecp_nistz256-armv4.S" => [ + "crypto/ec/asm/ecp_nistz256-armv4.pl" + ], + "crypto/ec/ecp_nistz256-armv8.S" => [ + "crypto/ec/asm/ecp_nistz256-armv8.pl" + ], + "crypto/ec/ecp_nistz256-avx2.s" => [ + "crypto/ec/asm/ecp_nistz256-avx2.pl" + ], + "crypto/ec/ecp_nistz256-ppc64.s" => [ + "crypto/ec/asm/ecp_nistz256-ppc64.pl" + ], + "crypto/ec/ecp_nistz256-sparcv9.S" => [ + "crypto/ec/asm/ecp_nistz256-sparcv9.pl" + ], + "crypto/ec/ecp_nistz256-x86.S" => [ + "crypto/ec/asm/ecp_nistz256-x86.pl" + ], + "crypto/ec/ecp_nistz256-x86_64.s" => [ + "crypto/ec/asm/ecp_nistz256-x86_64.pl" + ], + "crypto/ec/x25519-ppc64.s" => [ + "crypto/ec/asm/x25519-ppc64.pl" + ], + "crypto/ec/x25519-x86_64.s" => [ + "crypto/ec/asm/x25519-x86_64.pl" + ], + "crypto/ia64cpuid.s" => [ + "crypto/ia64cpuid.S" + ], + "crypto/md5/md5-586.S" => [ + "crypto/md5/asm/md5-586.pl" + ], + "crypto/md5/md5-sparcv9.S" => [ + "crypto/md5/asm/md5-sparcv9.pl" + ], + "crypto/md5/md5-x86_64.s" => [ + "crypto/md5/asm/md5-x86_64.pl" + ], + "crypto/modes/aes-gcm-armv8_64.S" => [ + "crypto/modes/asm/aes-gcm-armv8_64.pl" + ], + "crypto/modes/aesni-gcm-x86_64.s" => [ + "crypto/modes/asm/aesni-gcm-x86_64.pl" + ], + "crypto/modes/ghash-alpha.S" => [ + "crypto/modes/asm/ghash-alpha.pl" + ], + "crypto/modes/ghash-armv4.S" => [ + "crypto/modes/asm/ghash-armv4.pl" + ], + "crypto/modes/ghash-c64xplus.S" => [ + "crypto/modes/asm/ghash-c64xplus.pl" + ], + "crypto/modes/ghash-ia64.s" => [ + "crypto/modes/asm/ghash-ia64.pl" + ], + "crypto/modes/ghash-parisc.s" => [ + "crypto/modes/asm/ghash-parisc.pl" + ], + "crypto/modes/ghash-s390x.S" => [ + "crypto/modes/asm/ghash-s390x.pl" + ], + "crypto/modes/ghash-sparcv9.S" => [ + "crypto/modes/asm/ghash-sparcv9.pl" + ], + "crypto/modes/ghash-x86.S" => [ + "crypto/modes/asm/ghash-x86.pl" + ], + "crypto/modes/ghash-x86_64.s" => [ + "crypto/modes/asm/ghash-x86_64.pl" + ], + "crypto/modes/ghashp8-ppc.s" => [ + "crypto/modes/asm/ghashp8-ppc.pl" + ], + "crypto/modes/ghashv8-armx.S" => [ + "crypto/modes/asm/ghashv8-armx.pl" + ], + "crypto/pariscid.s" => [ + "crypto/pariscid.pl" + ], + "crypto/poly1305/poly1305-armv4.S" => [ + "crypto/poly1305/asm/poly1305-armv4.pl" + ], + "crypto/poly1305/poly1305-armv8.S" => [ + "crypto/poly1305/asm/poly1305-armv8.pl" + ], + "crypto/poly1305/poly1305-c64xplus.S" => [ + "crypto/poly1305/asm/poly1305-c64xplus.pl" + ], + "crypto/poly1305/poly1305-ia64.s" => [ + "crypto/poly1305/asm/poly1305-ia64.S" + ], + "crypto/poly1305/poly1305-mips.S" => [ + "crypto/poly1305/asm/poly1305-mips.pl" + ], + "crypto/poly1305/poly1305-ppc.s" => [ + "crypto/poly1305/asm/poly1305-ppc.pl" + ], + "crypto/poly1305/poly1305-ppcfp.s" => [ + "crypto/poly1305/asm/poly1305-ppcfp.pl" + ], + "crypto/poly1305/poly1305-s390x.S" => [ + "crypto/poly1305/asm/poly1305-s390x.pl" + ], + "crypto/poly1305/poly1305-sparcv9.S" => [ + "crypto/poly1305/asm/poly1305-sparcv9.pl" + ], + "crypto/poly1305/poly1305-x86.S" => [ + "crypto/poly1305/asm/poly1305-x86.pl" + ], + "crypto/poly1305/poly1305-x86_64.s" => [ + "crypto/poly1305/asm/poly1305-x86_64.pl" + ], + "crypto/ppccpuid.s" => [ + "crypto/ppccpuid.pl" + ], + "crypto/rc4/rc4-586.S" => [ + "crypto/rc4/asm/rc4-586.pl" + ], + "crypto/rc4/rc4-c64xplus.s" => [ + "crypto/rc4/asm/rc4-c64xplus.pl" + ], + "crypto/rc4/rc4-md5-x86_64.s" => [ + "crypto/rc4/asm/rc4-md5-x86_64.pl" + ], + "crypto/rc4/rc4-parisc.s" => [ + "crypto/rc4/asm/rc4-parisc.pl" + ], + "crypto/rc4/rc4-s390x.s" => [ + "crypto/rc4/asm/rc4-s390x.pl" + ], + "crypto/rc4/rc4-x86_64.s" => [ + "crypto/rc4/asm/rc4-x86_64.pl" + ], + "crypto/ripemd/rmd-586.S" => [ + "crypto/ripemd/asm/rmd-586.pl" + ], + "crypto/s390xcpuid.S" => [ + "crypto/s390xcpuid.pl" + ], + "crypto/sha/keccak1600-armv4.S" => [ + "crypto/sha/asm/keccak1600-armv4.pl" + ], + "crypto/sha/keccak1600-armv8.S" => [ + "crypto/sha/asm/keccak1600-armv8.pl" + ], + "crypto/sha/keccak1600-avx2.S" => [ + "crypto/sha/asm/keccak1600-avx2.pl" + ], + "crypto/sha/keccak1600-avx512.S" => [ + "crypto/sha/asm/keccak1600-avx512.pl" + ], + "crypto/sha/keccak1600-avx512vl.S" => [ + "crypto/sha/asm/keccak1600-avx512vl.pl" + ], + "crypto/sha/keccak1600-c64x.S" => [ + "crypto/sha/asm/keccak1600-c64x.pl" + ], + "crypto/sha/keccak1600-mmx.S" => [ + "crypto/sha/asm/keccak1600-mmx.pl" + ], + "crypto/sha/keccak1600-ppc64.s" => [ + "crypto/sha/asm/keccak1600-ppc64.pl" + ], + "crypto/sha/keccak1600-s390x.S" => [ + "crypto/sha/asm/keccak1600-s390x.pl" + ], + "crypto/sha/keccak1600-x86_64.s" => [ + "crypto/sha/asm/keccak1600-x86_64.pl" + ], + "crypto/sha/keccak1600p8-ppc.S" => [ + "crypto/sha/asm/keccak1600p8-ppc.pl" + ], + "crypto/sha/sha1-586.S" => [ + "crypto/sha/asm/sha1-586.pl" + ], + "crypto/sha/sha1-alpha.S" => [ + "crypto/sha/asm/sha1-alpha.pl" + ], + "crypto/sha/sha1-armv4-large.S" => [ + "crypto/sha/asm/sha1-armv4-large.pl" + ], + "crypto/sha/sha1-armv8.S" => [ + "crypto/sha/asm/sha1-armv8.pl" + ], + "crypto/sha/sha1-c64xplus.S" => [ + "crypto/sha/asm/sha1-c64xplus.pl" + ], + "crypto/sha/sha1-ia64.s" => [ + "crypto/sha/asm/sha1-ia64.pl" + ], + "crypto/sha/sha1-mb-x86_64.s" => [ + "crypto/sha/asm/sha1-mb-x86_64.pl" + ], + "crypto/sha/sha1-mips.S" => [ + "crypto/sha/asm/sha1-mips.pl" + ], + "crypto/sha/sha1-parisc.s" => [ + "crypto/sha/asm/sha1-parisc.pl" + ], + "crypto/sha/sha1-ppc.s" => [ + "crypto/sha/asm/sha1-ppc.pl" + ], + "crypto/sha/sha1-s390x.S" => [ + "crypto/sha/asm/sha1-s390x.pl" + ], + "crypto/sha/sha1-sparcv9.S" => [ + "crypto/sha/asm/sha1-sparcv9.pl" + ], + "crypto/sha/sha1-sparcv9a.S" => [ + "crypto/sha/asm/sha1-sparcv9a.pl" + ], + "crypto/sha/sha1-thumb.S" => [ + "crypto/sha/asm/sha1-thumb.pl" + ], + "crypto/sha/sha1-x86_64.s" => [ + "crypto/sha/asm/sha1-x86_64.pl" + ], + "crypto/sha/sha256-586.S" => [ + "crypto/sha/asm/sha256-586.pl" + ], + "crypto/sha/sha256-armv4.S" => [ + "crypto/sha/asm/sha256-armv4.pl" + ], + "crypto/sha/sha256-armv8.S" => [ + "crypto/sha/asm/sha512-armv8.pl" + ], + "crypto/sha/sha256-c64xplus.S" => [ + "crypto/sha/asm/sha256-c64xplus.pl" + ], + "crypto/sha/sha256-ia64.s" => [ + "crypto/sha/asm/sha512-ia64.pl" + ], + "crypto/sha/sha256-mb-x86_64.s" => [ + "crypto/sha/asm/sha256-mb-x86_64.pl" + ], + "crypto/sha/sha256-mips.S" => [ + "crypto/sha/asm/sha512-mips.pl" + ], + "crypto/sha/sha256-parisc.s" => [ + "crypto/sha/asm/sha512-parisc.pl" + ], + "crypto/sha/sha256-ppc.s" => [ + "crypto/sha/asm/sha512-ppc.pl" + ], + "crypto/sha/sha256-s390x.S" => [ + "crypto/sha/asm/sha512-s390x.pl" + ], + "crypto/sha/sha256-sparcv9.S" => [ + "crypto/sha/asm/sha512-sparcv9.pl" + ], + "crypto/sha/sha256-x86_64.s" => [ + "crypto/sha/asm/sha512-x86_64.pl" + ], + "crypto/sha/sha256p8-ppc.s" => [ + "crypto/sha/asm/sha512p8-ppc.pl" + ], + "crypto/sha/sha512-586.S" => [ + "crypto/sha/asm/sha512-586.pl" + ], + "crypto/sha/sha512-armv4.S" => [ + "crypto/sha/asm/sha512-armv4.pl" + ], + "crypto/sha/sha512-armv8.S" => [ + "crypto/sha/asm/sha512-armv8.pl" + ], + "crypto/sha/sha512-c64xplus.S" => [ + "crypto/sha/asm/sha512-c64xplus.pl" + ], + "crypto/sha/sha512-ia64.s" => [ + "crypto/sha/asm/sha512-ia64.pl" + ], + "crypto/sha/sha512-mips.S" => [ + "crypto/sha/asm/sha512-mips.pl" + ], + "crypto/sha/sha512-parisc.s" => [ + "crypto/sha/asm/sha512-parisc.pl" + ], + "crypto/sha/sha512-ppc.s" => [ + "crypto/sha/asm/sha512-ppc.pl" + ], + "crypto/sha/sha512-s390x.S" => [ + "crypto/sha/asm/sha512-s390x.pl" + ], + "crypto/sha/sha512-sparcv9.S" => [ + "crypto/sha/asm/sha512-sparcv9.pl" + ], + "crypto/sha/sha512-x86_64.s" => [ + "crypto/sha/asm/sha512-x86_64.pl" + ], + "crypto/sha/sha512p8-ppc.s" => [ + "crypto/sha/asm/sha512p8-ppc.pl" + ], + "crypto/uplink-ia64.s" => [ + "ms/uplink-ia64.pl" + ], + "crypto/uplink-x86.S" => [ + "ms/uplink-x86.pl" + ], + "crypto/uplink-x86_64.s" => [ + "ms/uplink-x86_64.pl" + ], + "crypto/whrlpool/wp-mmx.S" => [ + "crypto/whrlpool/asm/wp-mmx.pl" + ], + "crypto/whrlpool/wp-x86_64.s" => [ + "crypto/whrlpool/asm/wp-x86_64.pl" + ], + "crypto/x86_64cpuid.s" => [ + "crypto/x86_64cpuid.pl" + ], + "crypto/x86cpuid.S" => [ + "crypto/x86cpuid.pl" + ], + "doc/html/man1/CA.pl.html" => [ + "doc/man1/CA.pl.pod" + ], + "doc/html/man1/openssl-asn1parse.html" => [ + "doc/man1/openssl-asn1parse.pod" + ], + "doc/html/man1/openssl-ca.html" => [ + "doc/man1/openssl-ca.pod" + ], + "doc/html/man1/openssl-ciphers.html" => [ + "doc/man1/openssl-ciphers.pod" + ], + "doc/html/man1/openssl-cmds.html" => [ + "doc/man1/openssl-cmds.pod" + ], + "doc/html/man1/openssl-cmp.html" => [ + "doc/man1/openssl-cmp.pod" + ], + "doc/html/man1/openssl-cms.html" => [ + "doc/man1/openssl-cms.pod" + ], + "doc/html/man1/openssl-crl.html" => [ + "doc/man1/openssl-crl.pod" + ], + "doc/html/man1/openssl-crl2pkcs7.html" => [ + "doc/man1/openssl-crl2pkcs7.pod" + ], + "doc/html/man1/openssl-dgst.html" => [ + "doc/man1/openssl-dgst.pod" + ], + "doc/html/man1/openssl-dhparam.html" => [ + "doc/man1/openssl-dhparam.pod" + ], + "doc/html/man1/openssl-dsa.html" => [ + "doc/man1/openssl-dsa.pod" + ], + "doc/html/man1/openssl-dsaparam.html" => [ + "doc/man1/openssl-dsaparam.pod" + ], + "doc/html/man1/openssl-ec.html" => [ + "doc/man1/openssl-ec.pod" + ], + "doc/html/man1/openssl-ecparam.html" => [ + "doc/man1/openssl-ecparam.pod" + ], + "doc/html/man1/openssl-enc.html" => [ + "doc/man1/openssl-enc.pod" + ], + "doc/html/man1/openssl-engine.html" => [ + "doc/man1/openssl-engine.pod" + ], + "doc/html/man1/openssl-errstr.html" => [ + "doc/man1/openssl-errstr.pod" + ], + "doc/html/man1/openssl-fipsinstall.html" => [ + "doc/man1/openssl-fipsinstall.pod" + ], + "doc/html/man1/openssl-format-options.html" => [ + "doc/man1/openssl-format-options.pod" + ], + "doc/html/man1/openssl-gendsa.html" => [ + "doc/man1/openssl-gendsa.pod" + ], + "doc/html/man1/openssl-genpkey.html" => [ + "doc/man1/openssl-genpkey.pod" + ], + "doc/html/man1/openssl-genrsa.html" => [ + "doc/man1/openssl-genrsa.pod" + ], + "doc/html/man1/openssl-info.html" => [ + "doc/man1/openssl-info.pod" + ], + "doc/html/man1/openssl-kdf.html" => [ + "doc/man1/openssl-kdf.pod" + ], + "doc/html/man1/openssl-list.html" => [ + "doc/man1/openssl-list.pod" + ], + "doc/html/man1/openssl-mac.html" => [ + "doc/man1/openssl-mac.pod" + ], + "doc/html/man1/openssl-namedisplay-options.html" => [ + "doc/man1/openssl-namedisplay-options.pod" + ], + "doc/html/man1/openssl-nseq.html" => [ + "doc/man1/openssl-nseq.pod" + ], + "doc/html/man1/openssl-ocsp.html" => [ + "doc/man1/openssl-ocsp.pod" + ], + "doc/html/man1/openssl-passphrase-options.html" => [ + "doc/man1/openssl-passphrase-options.pod" + ], + "doc/html/man1/openssl-passwd.html" => [ + "doc/man1/openssl-passwd.pod" + ], + "doc/html/man1/openssl-pkcs12.html" => [ + "doc/man1/openssl-pkcs12.pod" + ], + "doc/html/man1/openssl-pkcs7.html" => [ + "doc/man1/openssl-pkcs7.pod" + ], + "doc/html/man1/openssl-pkcs8.html" => [ + "doc/man1/openssl-pkcs8.pod" + ], + "doc/html/man1/openssl-pkey.html" => [ + "doc/man1/openssl-pkey.pod" + ], + "doc/html/man1/openssl-pkeyparam.html" => [ + "doc/man1/openssl-pkeyparam.pod" + ], + "doc/html/man1/openssl-pkeyutl.html" => [ + "doc/man1/openssl-pkeyutl.pod" + ], + "doc/html/man1/openssl-prime.html" => [ + "doc/man1/openssl-prime.pod" + ], + "doc/html/man1/openssl-rand.html" => [ + "doc/man1/openssl-rand.pod" + ], + "doc/html/man1/openssl-rehash.html" => [ + "doc/man1/openssl-rehash.pod" + ], + "doc/html/man1/openssl-req.html" => [ + "doc/man1/openssl-req.pod" + ], + "doc/html/man1/openssl-rsa.html" => [ + "doc/man1/openssl-rsa.pod" + ], + "doc/html/man1/openssl-rsautl.html" => [ + "doc/man1/openssl-rsautl.pod" + ], + "doc/html/man1/openssl-s_client.html" => [ + "doc/man1/openssl-s_client.pod" + ], + "doc/html/man1/openssl-s_server.html" => [ + "doc/man1/openssl-s_server.pod" + ], + "doc/html/man1/openssl-s_time.html" => [ + "doc/man1/openssl-s_time.pod" + ], + "doc/html/man1/openssl-sess_id.html" => [ + "doc/man1/openssl-sess_id.pod" + ], + "doc/html/man1/openssl-smime.html" => [ + "doc/man1/openssl-smime.pod" + ], + "doc/html/man1/openssl-speed.html" => [ + "doc/man1/openssl-speed.pod" + ], + "doc/html/man1/openssl-spkac.html" => [ + "doc/man1/openssl-spkac.pod" + ], + "doc/html/man1/openssl-srp.html" => [ + "doc/man1/openssl-srp.pod" + ], + "doc/html/man1/openssl-storeutl.html" => [ + "doc/man1/openssl-storeutl.pod" + ], + "doc/html/man1/openssl-ts.html" => [ + "doc/man1/openssl-ts.pod" + ], + "doc/html/man1/openssl-verification-options.html" => [ + "doc/man1/openssl-verification-options.pod" + ], + "doc/html/man1/openssl-verify.html" => [ + "doc/man1/openssl-verify.pod" + ], + "doc/html/man1/openssl-version.html" => [ + "doc/man1/openssl-version.pod" + ], + "doc/html/man1/openssl-x509.html" => [ + "doc/man1/openssl-x509.pod" + ], + "doc/html/man1/openssl.html" => [ + "doc/man1/openssl.pod" + ], + "doc/html/man1/tsget.html" => [ + "doc/man1/tsget.pod" + ], + "doc/html/man3/ADMISSIONS.html" => [ + "doc/man3/ADMISSIONS.pod" + ], + "doc/html/man3/ASN1_EXTERN_FUNCS.html" => [ + "doc/man3/ASN1_EXTERN_FUNCS.pod" + ], + "doc/html/man3/ASN1_INTEGER_get_int64.html" => [ + "doc/man3/ASN1_INTEGER_get_int64.pod" + ], + "doc/html/man3/ASN1_INTEGER_new.html" => [ + "doc/man3/ASN1_INTEGER_new.pod" + ], + "doc/html/man3/ASN1_ITEM_lookup.html" => [ + "doc/man3/ASN1_ITEM_lookup.pod" + ], + "doc/html/man3/ASN1_OBJECT_new.html" => [ + "doc/man3/ASN1_OBJECT_new.pod" + ], + "doc/html/man3/ASN1_STRING_TABLE_add.html" => [ + "doc/man3/ASN1_STRING_TABLE_add.pod" + ], + "doc/html/man3/ASN1_STRING_length.html" => [ + "doc/man3/ASN1_STRING_length.pod" + ], + "doc/html/man3/ASN1_STRING_new.html" => [ + "doc/man3/ASN1_STRING_new.pod" + ], + "doc/html/man3/ASN1_STRING_print_ex.html" => [ + "doc/man3/ASN1_STRING_print_ex.pod" + ], + "doc/html/man3/ASN1_TIME_set.html" => [ + "doc/man3/ASN1_TIME_set.pod" + ], + "doc/html/man3/ASN1_TYPE_get.html" => [ + "doc/man3/ASN1_TYPE_get.pod" + ], + "doc/html/man3/ASN1_aux_cb.html" => [ + "doc/man3/ASN1_aux_cb.pod" + ], + "doc/html/man3/ASN1_generate_nconf.html" => [ + "doc/man3/ASN1_generate_nconf.pod" + ], + "doc/html/man3/ASN1_item_d2i_bio.html" => [ + "doc/man3/ASN1_item_d2i_bio.pod" + ], + "doc/html/man3/ASN1_item_new.html" => [ + "doc/man3/ASN1_item_new.pod" + ], + "doc/html/man3/ASN1_item_sign.html" => [ + "doc/man3/ASN1_item_sign.pod" + ], + "doc/html/man3/ASYNC_WAIT_CTX_new.html" => [ + "doc/man3/ASYNC_WAIT_CTX_new.pod" + ], + "doc/html/man3/ASYNC_start_job.html" => [ + "doc/man3/ASYNC_start_job.pod" + ], + "doc/html/man3/BF_encrypt.html" => [ + "doc/man3/BF_encrypt.pod" + ], + "doc/html/man3/BIO_ADDR.html" => [ + "doc/man3/BIO_ADDR.pod" + ], + "doc/html/man3/BIO_ADDRINFO.html" => [ + "doc/man3/BIO_ADDRINFO.pod" + ], + "doc/html/man3/BIO_connect.html" => [ + "doc/man3/BIO_connect.pod" + ], + "doc/html/man3/BIO_ctrl.html" => [ + "doc/man3/BIO_ctrl.pod" + ], + "doc/html/man3/BIO_f_base64.html" => [ + "doc/man3/BIO_f_base64.pod" + ], + "doc/html/man3/BIO_f_buffer.html" => [ + "doc/man3/BIO_f_buffer.pod" + ], + "doc/html/man3/BIO_f_cipher.html" => [ + "doc/man3/BIO_f_cipher.pod" + ], + "doc/html/man3/BIO_f_md.html" => [ + "doc/man3/BIO_f_md.pod" + ], + "doc/html/man3/BIO_f_null.html" => [ + "doc/man3/BIO_f_null.pod" + ], + "doc/html/man3/BIO_f_prefix.html" => [ + "doc/man3/BIO_f_prefix.pod" + ], + "doc/html/man3/BIO_f_readbuffer.html" => [ + "doc/man3/BIO_f_readbuffer.pod" + ], + "doc/html/man3/BIO_f_ssl.html" => [ + "doc/man3/BIO_f_ssl.pod" + ], + "doc/html/man3/BIO_find_type.html" => [ + "doc/man3/BIO_find_type.pod" + ], + "doc/html/man3/BIO_get_data.html" => [ + "doc/man3/BIO_get_data.pod" + ], + "doc/html/man3/BIO_get_ex_new_index.html" => [ + "doc/man3/BIO_get_ex_new_index.pod" + ], + "doc/html/man3/BIO_meth_new.html" => [ + "doc/man3/BIO_meth_new.pod" + ], + "doc/html/man3/BIO_new.html" => [ + "doc/man3/BIO_new.pod" + ], + "doc/html/man3/BIO_new_CMS.html" => [ + "doc/man3/BIO_new_CMS.pod" + ], + "doc/html/man3/BIO_parse_hostserv.html" => [ + "doc/man3/BIO_parse_hostserv.pod" + ], + "doc/html/man3/BIO_printf.html" => [ + "doc/man3/BIO_printf.pod" + ], + "doc/html/man3/BIO_push.html" => [ + "doc/man3/BIO_push.pod" + ], + "doc/html/man3/BIO_read.html" => [ + "doc/man3/BIO_read.pod" + ], + "doc/html/man3/BIO_s_accept.html" => [ + "doc/man3/BIO_s_accept.pod" + ], + "doc/html/man3/BIO_s_bio.html" => [ + "doc/man3/BIO_s_bio.pod" + ], + "doc/html/man3/BIO_s_connect.html" => [ + "doc/man3/BIO_s_connect.pod" + ], + "doc/html/man3/BIO_s_core.html" => [ + "doc/man3/BIO_s_core.pod" + ], + "doc/html/man3/BIO_s_datagram.html" => [ + "doc/man3/BIO_s_datagram.pod" + ], + "doc/html/man3/BIO_s_fd.html" => [ + "doc/man3/BIO_s_fd.pod" + ], + "doc/html/man3/BIO_s_file.html" => [ + "doc/man3/BIO_s_file.pod" + ], + "doc/html/man3/BIO_s_mem.html" => [ + "doc/man3/BIO_s_mem.pod" + ], + "doc/html/man3/BIO_s_null.html" => [ + "doc/man3/BIO_s_null.pod" + ], + "doc/html/man3/BIO_s_socket.html" => [ + "doc/man3/BIO_s_socket.pod" + ], + "doc/html/man3/BIO_set_callback.html" => [ + "doc/man3/BIO_set_callback.pod" + ], + "doc/html/man3/BIO_should_retry.html" => [ + "doc/man3/BIO_should_retry.pod" + ], + "doc/html/man3/BIO_socket_wait.html" => [ + "doc/man3/BIO_socket_wait.pod" + ], + "doc/html/man3/BN_BLINDING_new.html" => [ + "doc/man3/BN_BLINDING_new.pod" + ], + "doc/html/man3/BN_CTX_new.html" => [ + "doc/man3/BN_CTX_new.pod" + ], + "doc/html/man3/BN_CTX_start.html" => [ + "doc/man3/BN_CTX_start.pod" + ], + "doc/html/man3/BN_add.html" => [ + "doc/man3/BN_add.pod" + ], + "doc/html/man3/BN_add_word.html" => [ + "doc/man3/BN_add_word.pod" + ], + "doc/html/man3/BN_bn2bin.html" => [ + "doc/man3/BN_bn2bin.pod" + ], + "doc/html/man3/BN_cmp.html" => [ + "doc/man3/BN_cmp.pod" + ], + "doc/html/man3/BN_copy.html" => [ + "doc/man3/BN_copy.pod" + ], + "doc/html/man3/BN_generate_prime.html" => [ + "doc/man3/BN_generate_prime.pod" + ], + "doc/html/man3/BN_mod_exp_mont.html" => [ + "doc/man3/BN_mod_exp_mont.pod" + ], + "doc/html/man3/BN_mod_inverse.html" => [ + "doc/man3/BN_mod_inverse.pod" + ], + "doc/html/man3/BN_mod_mul_montgomery.html" => [ + "doc/man3/BN_mod_mul_montgomery.pod" + ], + "doc/html/man3/BN_mod_mul_reciprocal.html" => [ + "doc/man3/BN_mod_mul_reciprocal.pod" + ], + "doc/html/man3/BN_new.html" => [ + "doc/man3/BN_new.pod" + ], + "doc/html/man3/BN_num_bytes.html" => [ + "doc/man3/BN_num_bytes.pod" + ], + "doc/html/man3/BN_rand.html" => [ + "doc/man3/BN_rand.pod" + ], + "doc/html/man3/BN_security_bits.html" => [ + "doc/man3/BN_security_bits.pod" + ], + "doc/html/man3/BN_set_bit.html" => [ + "doc/man3/BN_set_bit.pod" + ], + "doc/html/man3/BN_swap.html" => [ + "doc/man3/BN_swap.pod" + ], + "doc/html/man3/BN_zero.html" => [ + "doc/man3/BN_zero.pod" + ], + "doc/html/man3/BUF_MEM_new.html" => [ + "doc/man3/BUF_MEM_new.pod" + ], + "doc/html/man3/CMS_EncryptedData_decrypt.html" => [ + "doc/man3/CMS_EncryptedData_decrypt.pod" + ], + "doc/html/man3/CMS_EncryptedData_encrypt.html" => [ + "doc/man3/CMS_EncryptedData_encrypt.pod" + ], + "doc/html/man3/CMS_EnvelopedData_create.html" => [ + "doc/man3/CMS_EnvelopedData_create.pod" + ], + "doc/html/man3/CMS_add0_cert.html" => [ + "doc/man3/CMS_add0_cert.pod" + ], + "doc/html/man3/CMS_add1_recipient_cert.html" => [ + "doc/man3/CMS_add1_recipient_cert.pod" + ], + "doc/html/man3/CMS_add1_signer.html" => [ + "doc/man3/CMS_add1_signer.pod" + ], + "doc/html/man3/CMS_compress.html" => [ + "doc/man3/CMS_compress.pod" + ], + "doc/html/man3/CMS_data_create.html" => [ + "doc/man3/CMS_data_create.pod" + ], + "doc/html/man3/CMS_decrypt.html" => [ + "doc/man3/CMS_decrypt.pod" + ], + "doc/html/man3/CMS_digest_create.html" => [ + "doc/man3/CMS_digest_create.pod" + ], + "doc/html/man3/CMS_encrypt.html" => [ + "doc/man3/CMS_encrypt.pod" + ], + "doc/html/man3/CMS_final.html" => [ + "doc/man3/CMS_final.pod" + ], + "doc/html/man3/CMS_get0_RecipientInfos.html" => [ + "doc/man3/CMS_get0_RecipientInfos.pod" + ], + "doc/html/man3/CMS_get0_SignerInfos.html" => [ + "doc/man3/CMS_get0_SignerInfos.pod" + ], + "doc/html/man3/CMS_get0_type.html" => [ + "doc/man3/CMS_get0_type.pod" + ], + "doc/html/man3/CMS_get1_ReceiptRequest.html" => [ + "doc/man3/CMS_get1_ReceiptRequest.pod" + ], + "doc/html/man3/CMS_sign.html" => [ + "doc/man3/CMS_sign.pod" + ], + "doc/html/man3/CMS_sign_receipt.html" => [ + "doc/man3/CMS_sign_receipt.pod" + ], + "doc/html/man3/CMS_uncompress.html" => [ + "doc/man3/CMS_uncompress.pod" + ], + "doc/html/man3/CMS_verify.html" => [ + "doc/man3/CMS_verify.pod" + ], + "doc/html/man3/CMS_verify_receipt.html" => [ + "doc/man3/CMS_verify_receipt.pod" + ], + "doc/html/man3/CONF_modules_free.html" => [ + "doc/man3/CONF_modules_free.pod" + ], + "doc/html/man3/CONF_modules_load_file.html" => [ + "doc/man3/CONF_modules_load_file.pod" + ], + "doc/html/man3/CRYPTO_THREAD_run_once.html" => [ + "doc/man3/CRYPTO_THREAD_run_once.pod" + ], + "doc/html/man3/CRYPTO_get_ex_new_index.html" => [ + "doc/man3/CRYPTO_get_ex_new_index.pod" + ], + "doc/html/man3/CRYPTO_memcmp.html" => [ + "doc/man3/CRYPTO_memcmp.pod" + ], + "doc/html/man3/CTLOG_STORE_get0_log_by_id.html" => [ + "doc/man3/CTLOG_STORE_get0_log_by_id.pod" + ], + "doc/html/man3/CTLOG_STORE_new.html" => [ + "doc/man3/CTLOG_STORE_new.pod" + ], + "doc/html/man3/CTLOG_new.html" => [ + "doc/man3/CTLOG_new.pod" + ], + "doc/html/man3/CT_POLICY_EVAL_CTX_new.html" => [ + "doc/man3/CT_POLICY_EVAL_CTX_new.pod" + ], + "doc/html/man3/DEFINE_STACK_OF.html" => [ + "doc/man3/DEFINE_STACK_OF.pod" + ], + "doc/html/man3/DES_random_key.html" => [ + "doc/man3/DES_random_key.pod" + ], + "doc/html/man3/DH_generate_key.html" => [ + "doc/man3/DH_generate_key.pod" + ], + "doc/html/man3/DH_generate_parameters.html" => [ + "doc/man3/DH_generate_parameters.pod" + ], + "doc/html/man3/DH_get0_pqg.html" => [ + "doc/man3/DH_get0_pqg.pod" + ], + "doc/html/man3/DH_get_1024_160.html" => [ + "doc/man3/DH_get_1024_160.pod" + ], + "doc/html/man3/DH_meth_new.html" => [ + "doc/man3/DH_meth_new.pod" + ], + "doc/html/man3/DH_new.html" => [ + "doc/man3/DH_new.pod" + ], + "doc/html/man3/DH_new_by_nid.html" => [ + "doc/man3/DH_new_by_nid.pod" + ], + "doc/html/man3/DH_set_method.html" => [ + "doc/man3/DH_set_method.pod" + ], + "doc/html/man3/DH_size.html" => [ + "doc/man3/DH_size.pod" + ], + "doc/html/man3/DSA_SIG_new.html" => [ + "doc/man3/DSA_SIG_new.pod" + ], + "doc/html/man3/DSA_do_sign.html" => [ + "doc/man3/DSA_do_sign.pod" + ], + "doc/html/man3/DSA_dup_DH.html" => [ + "doc/man3/DSA_dup_DH.pod" + ], + "doc/html/man3/DSA_generate_key.html" => [ + "doc/man3/DSA_generate_key.pod" + ], + "doc/html/man3/DSA_generate_parameters.html" => [ + "doc/man3/DSA_generate_parameters.pod" + ], + "doc/html/man3/DSA_get0_pqg.html" => [ + "doc/man3/DSA_get0_pqg.pod" + ], + "doc/html/man3/DSA_meth_new.html" => [ + "doc/man3/DSA_meth_new.pod" + ], + "doc/html/man3/DSA_new.html" => [ + "doc/man3/DSA_new.pod" + ], + "doc/html/man3/DSA_set_method.html" => [ + "doc/man3/DSA_set_method.pod" + ], + "doc/html/man3/DSA_sign.html" => [ + "doc/man3/DSA_sign.pod" + ], + "doc/html/man3/DSA_size.html" => [ + "doc/man3/DSA_size.pod" + ], + "doc/html/man3/DTLS_get_data_mtu.html" => [ + "doc/man3/DTLS_get_data_mtu.pod" + ], + "doc/html/man3/DTLS_set_timer_cb.html" => [ + "doc/man3/DTLS_set_timer_cb.pod" + ], + "doc/html/man3/DTLSv1_listen.html" => [ + "doc/man3/DTLSv1_listen.pod" + ], + "doc/html/man3/ECDSA_SIG_new.html" => [ + "doc/man3/ECDSA_SIG_new.pod" + ], + "doc/html/man3/ECDSA_sign.html" => [ + "doc/man3/ECDSA_sign.pod" + ], + "doc/html/man3/ECPKParameters_print.html" => [ + "doc/man3/ECPKParameters_print.pod" + ], + "doc/html/man3/EC_GFp_simple_method.html" => [ + "doc/man3/EC_GFp_simple_method.pod" + ], + "doc/html/man3/EC_GROUP_copy.html" => [ + "doc/man3/EC_GROUP_copy.pod" + ], + "doc/html/man3/EC_GROUP_new.html" => [ + "doc/man3/EC_GROUP_new.pod" + ], + "doc/html/man3/EC_KEY_get_enc_flags.html" => [ + "doc/man3/EC_KEY_get_enc_flags.pod" + ], + "doc/html/man3/EC_KEY_new.html" => [ + "doc/man3/EC_KEY_new.pod" + ], + "doc/html/man3/EC_POINT_add.html" => [ + "doc/man3/EC_POINT_add.pod" + ], + "doc/html/man3/EC_POINT_new.html" => [ + "doc/man3/EC_POINT_new.pod" + ], + "doc/html/man3/ENGINE_add.html" => [ + "doc/man3/ENGINE_add.pod" + ], + "doc/html/man3/ERR_GET_LIB.html" => [ + "doc/man3/ERR_GET_LIB.pod" + ], + "doc/html/man3/ERR_clear_error.html" => [ + "doc/man3/ERR_clear_error.pod" + ], + "doc/html/man3/ERR_error_string.html" => [ + "doc/man3/ERR_error_string.pod" + ], + "doc/html/man3/ERR_get_error.html" => [ + "doc/man3/ERR_get_error.pod" + ], + "doc/html/man3/ERR_load_crypto_strings.html" => [ + "doc/man3/ERR_load_crypto_strings.pod" + ], + "doc/html/man3/ERR_load_strings.html" => [ + "doc/man3/ERR_load_strings.pod" + ], + "doc/html/man3/ERR_new.html" => [ + "doc/man3/ERR_new.pod" + ], + "doc/html/man3/ERR_print_errors.html" => [ + "doc/man3/ERR_print_errors.pod" + ], + "doc/html/man3/ERR_put_error.html" => [ + "doc/man3/ERR_put_error.pod" + ], + "doc/html/man3/ERR_remove_state.html" => [ + "doc/man3/ERR_remove_state.pod" + ], + "doc/html/man3/ERR_set_mark.html" => [ + "doc/man3/ERR_set_mark.pod" + ], + "doc/html/man3/EVP_ASYM_CIPHER_free.html" => [ + "doc/man3/EVP_ASYM_CIPHER_free.pod" + ], + "doc/html/man3/EVP_BytesToKey.html" => [ + "doc/man3/EVP_BytesToKey.pod" + ], + "doc/html/man3/EVP_CIPHER_CTX_get_cipher_data.html" => [ + "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod" + ], + "doc/html/man3/EVP_CIPHER_CTX_get_original_iv.html" => [ + "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod" + ], + "doc/html/man3/EVP_CIPHER_meth_new.html" => [ + "doc/man3/EVP_CIPHER_meth_new.pod" + ], + "doc/html/man3/EVP_DigestInit.html" => [ + "doc/man3/EVP_DigestInit.pod" + ], + "doc/html/man3/EVP_DigestSignInit.html" => [ + "doc/man3/EVP_DigestSignInit.pod" + ], + "doc/html/man3/EVP_DigestVerifyInit.html" => [ + "doc/man3/EVP_DigestVerifyInit.pod" + ], + "doc/html/man3/EVP_EncodeInit.html" => [ + "doc/man3/EVP_EncodeInit.pod" + ], + "doc/html/man3/EVP_EncryptInit.html" => [ + "doc/man3/EVP_EncryptInit.pod" + ], + "doc/html/man3/EVP_KDF.html" => [ + "doc/man3/EVP_KDF.pod" + ], + "doc/html/man3/EVP_KEM_free.html" => [ + "doc/man3/EVP_KEM_free.pod" + ], + "doc/html/man3/EVP_KEYEXCH_free.html" => [ + "doc/man3/EVP_KEYEXCH_free.pod" + ], + "doc/html/man3/EVP_KEYMGMT.html" => [ + "doc/man3/EVP_KEYMGMT.pod" + ], + "doc/html/man3/EVP_MAC.html" => [ + "doc/man3/EVP_MAC.pod" + ], + "doc/html/man3/EVP_MD_meth_new.html" => [ + "doc/man3/EVP_MD_meth_new.pod" + ], + "doc/html/man3/EVP_OpenInit.html" => [ + "doc/man3/EVP_OpenInit.pod" + ], + "doc/html/man3/EVP_PBE_CipherInit.html" => [ + "doc/man3/EVP_PBE_CipherInit.pod" + ], + "doc/html/man3/EVP_PKEY2PKCS8.html" => [ + "doc/man3/EVP_PKEY2PKCS8.pod" + ], + "doc/html/man3/EVP_PKEY_ASN1_METHOD.html" => [ + "doc/man3/EVP_PKEY_ASN1_METHOD.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_ctrl.html" => [ + "doc/man3/EVP_PKEY_CTX_ctrl.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_get0_libctx.html" => [ + "doc/man3/EVP_PKEY_CTX_get0_libctx.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_get0_pkey.html" => [ + "doc/man3/EVP_PKEY_CTX_get0_pkey.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_new.html" => [ + "doc/man3/EVP_PKEY_CTX_new.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html" => [ + "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_hkdf_md.html" => [ + "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_params.html" => [ + "doc/man3/EVP_PKEY_CTX_set_params.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html" => [ + "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_scrypt_N.html" => [ + "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod" + ], + "doc/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html" => [ + "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod" + ], + "doc/html/man3/EVP_PKEY_asn1_get_count.html" => [ + "doc/man3/EVP_PKEY_asn1_get_count.pod" + ], + "doc/html/man3/EVP_PKEY_check.html" => [ + "doc/man3/EVP_PKEY_check.pod" + ], + "doc/html/man3/EVP_PKEY_copy_parameters.html" => [ + "doc/man3/EVP_PKEY_copy_parameters.pod" + ], + "doc/html/man3/EVP_PKEY_decapsulate.html" => [ + "doc/man3/EVP_PKEY_decapsulate.pod" + ], + "doc/html/man3/EVP_PKEY_decrypt.html" => [ + "doc/man3/EVP_PKEY_decrypt.pod" + ], + "doc/html/man3/EVP_PKEY_derive.html" => [ + "doc/man3/EVP_PKEY_derive.pod" + ], + "doc/html/man3/EVP_PKEY_digestsign_supports_digest.html" => [ + "doc/man3/EVP_PKEY_digestsign_supports_digest.pod" + ], + "doc/html/man3/EVP_PKEY_encapsulate.html" => [ + "doc/man3/EVP_PKEY_encapsulate.pod" + ], + "doc/html/man3/EVP_PKEY_encrypt.html" => [ + "doc/man3/EVP_PKEY_encrypt.pod" + ], + "doc/html/man3/EVP_PKEY_fromdata.html" => [ + "doc/man3/EVP_PKEY_fromdata.pod" + ], + "doc/html/man3/EVP_PKEY_get_default_digest_nid.html" => [ + "doc/man3/EVP_PKEY_get_default_digest_nid.pod" + ], + "doc/html/man3/EVP_PKEY_get_field_type.html" => [ + "doc/man3/EVP_PKEY_get_field_type.pod" + ], + "doc/html/man3/EVP_PKEY_get_group_name.html" => [ + "doc/man3/EVP_PKEY_get_group_name.pod" + ], + "doc/html/man3/EVP_PKEY_get_size.html" => [ + "doc/man3/EVP_PKEY_get_size.pod" + ], + "doc/html/man3/EVP_PKEY_gettable_params.html" => [ + "doc/man3/EVP_PKEY_gettable_params.pod" + ], + "doc/html/man3/EVP_PKEY_is_a.html" => [ + "doc/man3/EVP_PKEY_is_a.pod" + ], + "doc/html/man3/EVP_PKEY_keygen.html" => [ + "doc/man3/EVP_PKEY_keygen.pod" + ], + "doc/html/man3/EVP_PKEY_meth_get_count.html" => [ + "doc/man3/EVP_PKEY_meth_get_count.pod" + ], + "doc/html/man3/EVP_PKEY_meth_new.html" => [ + "doc/man3/EVP_PKEY_meth_new.pod" + ], + "doc/html/man3/EVP_PKEY_new.html" => [ + "doc/man3/EVP_PKEY_new.pod" + ], + "doc/html/man3/EVP_PKEY_print_private.html" => [ + "doc/man3/EVP_PKEY_print_private.pod" + ], + "doc/html/man3/EVP_PKEY_set1_RSA.html" => [ + "doc/man3/EVP_PKEY_set1_RSA.pod" + ], + "doc/html/man3/EVP_PKEY_set1_encoded_public_key.html" => [ + "doc/man3/EVP_PKEY_set1_encoded_public_key.pod" + ], + "doc/html/man3/EVP_PKEY_set_type.html" => [ + "doc/man3/EVP_PKEY_set_type.pod" + ], + "doc/html/man3/EVP_PKEY_settable_params.html" => [ + "doc/man3/EVP_PKEY_settable_params.pod" + ], + "doc/html/man3/EVP_PKEY_sign.html" => [ + "doc/man3/EVP_PKEY_sign.pod" + ], + "doc/html/man3/EVP_PKEY_todata.html" => [ + "doc/man3/EVP_PKEY_todata.pod" + ], + "doc/html/man3/EVP_PKEY_verify.html" => [ + "doc/man3/EVP_PKEY_verify.pod" + ], + "doc/html/man3/EVP_PKEY_verify_recover.html" => [ + "doc/man3/EVP_PKEY_verify_recover.pod" + ], + "doc/html/man3/EVP_RAND.html" => [ + "doc/man3/EVP_RAND.pod" + ], + "doc/html/man3/EVP_SIGNATURE.html" => [ + "doc/man3/EVP_SIGNATURE.pod" + ], + "doc/html/man3/EVP_SealInit.html" => [ + "doc/man3/EVP_SealInit.pod" + ], + "doc/html/man3/EVP_SignInit.html" => [ + "doc/man3/EVP_SignInit.pod" + ], + "doc/html/man3/EVP_VerifyInit.html" => [ + "doc/man3/EVP_VerifyInit.pod" + ], + "doc/html/man3/EVP_aes_128_gcm.html" => [ + "doc/man3/EVP_aes_128_gcm.pod" + ], + "doc/html/man3/EVP_aria_128_gcm.html" => [ + "doc/man3/EVP_aria_128_gcm.pod" + ], + "doc/html/man3/EVP_bf_cbc.html" => [ + "doc/man3/EVP_bf_cbc.pod" + ], + "doc/html/man3/EVP_blake2b512.html" => [ + "doc/man3/EVP_blake2b512.pod" + ], + "doc/html/man3/EVP_camellia_128_ecb.html" => [ + "doc/man3/EVP_camellia_128_ecb.pod" + ], + "doc/html/man3/EVP_cast5_cbc.html" => [ + "doc/man3/EVP_cast5_cbc.pod" + ], + "doc/html/man3/EVP_chacha20.html" => [ + "doc/man3/EVP_chacha20.pod" + ], + "doc/html/man3/EVP_des_cbc.html" => [ + "doc/man3/EVP_des_cbc.pod" + ], + "doc/html/man3/EVP_desx_cbc.html" => [ + "doc/man3/EVP_desx_cbc.pod" + ], + "doc/html/man3/EVP_idea_cbc.html" => [ + "doc/man3/EVP_idea_cbc.pod" + ], + "doc/html/man3/EVP_md2.html" => [ + "doc/man3/EVP_md2.pod" + ], + "doc/html/man3/EVP_md4.html" => [ + "doc/man3/EVP_md4.pod" + ], + "doc/html/man3/EVP_md5.html" => [ + "doc/man3/EVP_md5.pod" + ], + "doc/html/man3/EVP_mdc2.html" => [ + "doc/man3/EVP_mdc2.pod" + ], + "doc/html/man3/EVP_rc2_cbc.html" => [ + "doc/man3/EVP_rc2_cbc.pod" + ], + "doc/html/man3/EVP_rc4.html" => [ + "doc/man3/EVP_rc4.pod" + ], + "doc/html/man3/EVP_rc5_32_12_16_cbc.html" => [ + "doc/man3/EVP_rc5_32_12_16_cbc.pod" + ], + "doc/html/man3/EVP_ripemd160.html" => [ + "doc/man3/EVP_ripemd160.pod" + ], + "doc/html/man3/EVP_seed_cbc.html" => [ + "doc/man3/EVP_seed_cbc.pod" + ], + "doc/html/man3/EVP_set_default_properties.html" => [ + "doc/man3/EVP_set_default_properties.pod" + ], + "doc/html/man3/EVP_sha1.html" => [ + "doc/man3/EVP_sha1.pod" + ], + "doc/html/man3/EVP_sha224.html" => [ + "doc/man3/EVP_sha224.pod" + ], + "doc/html/man3/EVP_sha3_224.html" => [ + "doc/man3/EVP_sha3_224.pod" + ], + "doc/html/man3/EVP_sm3.html" => [ + "doc/man3/EVP_sm3.pod" + ], + "doc/html/man3/EVP_sm4_cbc.html" => [ + "doc/man3/EVP_sm4_cbc.pod" + ], + "doc/html/man3/EVP_whirlpool.html" => [ + "doc/man3/EVP_whirlpool.pod" + ], + "doc/html/man3/HMAC.html" => [ + "doc/man3/HMAC.pod" + ], + "doc/html/man3/MD5.html" => [ + "doc/man3/MD5.pod" + ], + "doc/html/man3/MDC2_Init.html" => [ + "doc/man3/MDC2_Init.pod" + ], + "doc/html/man3/NCONF_new_ex.html" => [ + "doc/man3/NCONF_new_ex.pod" + ], + "doc/html/man3/OBJ_nid2obj.html" => [ + "doc/man3/OBJ_nid2obj.pod" + ], + "doc/html/man3/OCSP_REQUEST_new.html" => [ + "doc/man3/OCSP_REQUEST_new.pod" + ], + "doc/html/man3/OCSP_cert_to_id.html" => [ + "doc/man3/OCSP_cert_to_id.pod" + ], + "doc/html/man3/OCSP_request_add1_nonce.html" => [ + "doc/man3/OCSP_request_add1_nonce.pod" + ], + "doc/html/man3/OCSP_resp_find_status.html" => [ + "doc/man3/OCSP_resp_find_status.pod" + ], + "doc/html/man3/OCSP_response_status.html" => [ + "doc/man3/OCSP_response_status.pod" + ], + "doc/html/man3/OCSP_sendreq_new.html" => [ + "doc/man3/OCSP_sendreq_new.pod" + ], + "doc/html/man3/OPENSSL_Applink.html" => [ + "doc/man3/OPENSSL_Applink.pod" + ], + "doc/html/man3/OPENSSL_FILE.html" => [ + "doc/man3/OPENSSL_FILE.pod" + ], + "doc/html/man3/OPENSSL_LH_COMPFUNC.html" => [ + "doc/man3/OPENSSL_LH_COMPFUNC.pod" + ], + "doc/html/man3/OPENSSL_LH_stats.html" => [ + "doc/man3/OPENSSL_LH_stats.pod" + ], + "doc/html/man3/OPENSSL_config.html" => [ + "doc/man3/OPENSSL_config.pod" + ], + "doc/html/man3/OPENSSL_fork_prepare.html" => [ + "doc/man3/OPENSSL_fork_prepare.pod" + ], + "doc/html/man3/OPENSSL_gmtime.html" => [ + "doc/man3/OPENSSL_gmtime.pod" + ], + "doc/html/man3/OPENSSL_hexchar2int.html" => [ + "doc/man3/OPENSSL_hexchar2int.pod" + ], + "doc/html/man3/OPENSSL_ia32cap.html" => [ + "doc/man3/OPENSSL_ia32cap.pod" + ], + "doc/html/man3/OPENSSL_init_crypto.html" => [ + "doc/man3/OPENSSL_init_crypto.pod" + ], + "doc/html/man3/OPENSSL_init_ssl.html" => [ + "doc/man3/OPENSSL_init_ssl.pod" + ], + "doc/html/man3/OPENSSL_instrument_bus.html" => [ + "doc/man3/OPENSSL_instrument_bus.pod" + ], + "doc/html/man3/OPENSSL_load_builtin_modules.html" => [ + "doc/man3/OPENSSL_load_builtin_modules.pod" + ], + "doc/html/man3/OPENSSL_malloc.html" => [ + "doc/man3/OPENSSL_malloc.pod" + ], + "doc/html/man3/OPENSSL_s390xcap.html" => [ + "doc/man3/OPENSSL_s390xcap.pod" + ], + "doc/html/man3/OPENSSL_secure_malloc.html" => [ + "doc/man3/OPENSSL_secure_malloc.pod" + ], + "doc/html/man3/OPENSSL_strcasecmp.html" => [ + "doc/man3/OPENSSL_strcasecmp.pod" + ], + "doc/html/man3/OSSL_ALGORITHM.html" => [ + "doc/man3/OSSL_ALGORITHM.pod" + ], + "doc/html/man3/OSSL_CALLBACK.html" => [ + "doc/man3/OSSL_CALLBACK.pod" + ], + "doc/html/man3/OSSL_CMP_CTX_new.html" => [ + "doc/man3/OSSL_CMP_CTX_new.pod" + ], + "doc/html/man3/OSSL_CMP_HDR_get0_transactionID.html" => [ + "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod" + ], + "doc/html/man3/OSSL_CMP_ITAV_set0.html" => [ + "doc/man3/OSSL_CMP_ITAV_set0.pod" + ], + "doc/html/man3/OSSL_CMP_MSG_get0_header.html" => [ + "doc/man3/OSSL_CMP_MSG_get0_header.pod" + ], + "doc/html/man3/OSSL_CMP_MSG_http_perform.html" => [ + "doc/man3/OSSL_CMP_MSG_http_perform.pod" + ], + "doc/html/man3/OSSL_CMP_SRV_CTX_new.html" => [ + "doc/man3/OSSL_CMP_SRV_CTX_new.pod" + ], + "doc/html/man3/OSSL_CMP_STATUSINFO_new.html" => [ + "doc/man3/OSSL_CMP_STATUSINFO_new.pod" + ], + "doc/html/man3/OSSL_CMP_exec_certreq.html" => [ + "doc/man3/OSSL_CMP_exec_certreq.pod" + ], + "doc/html/man3/OSSL_CMP_log_open.html" => [ + "doc/man3/OSSL_CMP_log_open.pod" + ], + "doc/html/man3/OSSL_CMP_validate_msg.html" => [ + "doc/man3/OSSL_CMP_validate_msg.pod" + ], + "doc/html/man3/OSSL_CORE_MAKE_FUNC.html" => [ + "doc/man3/OSSL_CORE_MAKE_FUNC.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_get0_tmpl.html" => [ + "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_set0_validity.html" => [ + "doc/man3/OSSL_CRMF_MSG_set0_validity.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.html" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod" + ], + "doc/html/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.html" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod" + ], + "doc/html/man3/OSSL_CRMF_pbmp_new.html" => [ + "doc/man3/OSSL_CRMF_pbmp_new.pod" + ], + "doc/html/man3/OSSL_DECODER.html" => [ + "doc/man3/OSSL_DECODER.pod" + ], + "doc/html/man3/OSSL_DECODER_CTX.html" => [ + "doc/man3/OSSL_DECODER_CTX.pod" + ], + "doc/html/man3/OSSL_DECODER_CTX_new_for_pkey.html" => [ + "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod" + ], + "doc/html/man3/OSSL_DECODER_from_bio.html" => [ + "doc/man3/OSSL_DECODER_from_bio.pod" + ], + "doc/html/man3/OSSL_DISPATCH.html" => [ + "doc/man3/OSSL_DISPATCH.pod" + ], + "doc/html/man3/OSSL_ENCODER.html" => [ + "doc/man3/OSSL_ENCODER.pod" + ], + "doc/html/man3/OSSL_ENCODER_CTX.html" => [ + "doc/man3/OSSL_ENCODER_CTX.pod" + ], + "doc/html/man3/OSSL_ENCODER_CTX_new_for_pkey.html" => [ + "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod" + ], + "doc/html/man3/OSSL_ENCODER_to_bio.html" => [ + "doc/man3/OSSL_ENCODER_to_bio.pod" + ], + "doc/html/man3/OSSL_ESS_check_signing_certs.html" => [ + "doc/man3/OSSL_ESS_check_signing_certs.pod" + ], + "doc/html/man3/OSSL_HTTP_REQ_CTX.html" => [ + "doc/man3/OSSL_HTTP_REQ_CTX.pod" + ], + "doc/html/man3/OSSL_HTTP_parse_url.html" => [ + "doc/man3/OSSL_HTTP_parse_url.pod" + ], + "doc/html/man3/OSSL_HTTP_transfer.html" => [ + "doc/man3/OSSL_HTTP_transfer.pod" + ], + "doc/html/man3/OSSL_ITEM.html" => [ + "doc/man3/OSSL_ITEM.pod" + ], + "doc/html/man3/OSSL_LIB_CTX.html" => [ + "doc/man3/OSSL_LIB_CTX.pod" + ], + "doc/html/man3/OSSL_PARAM.html" => [ + "doc/man3/OSSL_PARAM.pod" + ], + "doc/html/man3/OSSL_PARAM_BLD.html" => [ + "doc/man3/OSSL_PARAM_BLD.pod" + ], + "doc/html/man3/OSSL_PARAM_allocate_from_text.html" => [ + "doc/man3/OSSL_PARAM_allocate_from_text.pod" + ], + "doc/html/man3/OSSL_PARAM_dup.html" => [ + "doc/man3/OSSL_PARAM_dup.pod" + ], + "doc/html/man3/OSSL_PARAM_int.html" => [ + "doc/man3/OSSL_PARAM_int.pod" + ], + "doc/html/man3/OSSL_PROVIDER.html" => [ + "doc/man3/OSSL_PROVIDER.pod" + ], + "doc/html/man3/OSSL_SELF_TEST_new.html" => [ + "doc/man3/OSSL_SELF_TEST_new.pod" + ], + "doc/html/man3/OSSL_SELF_TEST_set_callback.html" => [ + "doc/man3/OSSL_SELF_TEST_set_callback.pod" + ], + "doc/html/man3/OSSL_STORE_INFO.html" => [ + "doc/man3/OSSL_STORE_INFO.pod" + ], + "doc/html/man3/OSSL_STORE_LOADER.html" => [ + "doc/man3/OSSL_STORE_LOADER.pod" + ], + "doc/html/man3/OSSL_STORE_SEARCH.html" => [ + "doc/man3/OSSL_STORE_SEARCH.pod" + ], + "doc/html/man3/OSSL_STORE_attach.html" => [ + "doc/man3/OSSL_STORE_attach.pod" + ], + "doc/html/man3/OSSL_STORE_expect.html" => [ + "doc/man3/OSSL_STORE_expect.pod" + ], + "doc/html/man3/OSSL_STORE_open.html" => [ + "doc/man3/OSSL_STORE_open.pod" + ], + "doc/html/man3/OSSL_trace_enabled.html" => [ + "doc/man3/OSSL_trace_enabled.pod" + ], + "doc/html/man3/OSSL_trace_get_category_num.html" => [ + "doc/man3/OSSL_trace_get_category_num.pod" + ], + "doc/html/man3/OSSL_trace_set_channel.html" => [ + "doc/man3/OSSL_trace_set_channel.pod" + ], + "doc/html/man3/OpenSSL_add_all_algorithms.html" => [ + "doc/man3/OpenSSL_add_all_algorithms.pod" + ], + "doc/html/man3/OpenSSL_version.html" => [ + "doc/man3/OpenSSL_version.pod" + ], + "doc/html/man3/PEM_X509_INFO_read_bio_ex.html" => [ + "doc/man3/PEM_X509_INFO_read_bio_ex.pod" + ], + "doc/html/man3/PEM_bytes_read_bio.html" => [ + "doc/man3/PEM_bytes_read_bio.pod" + ], + "doc/html/man3/PEM_read.html" => [ + "doc/man3/PEM_read.pod" + ], + "doc/html/man3/PEM_read_CMS.html" => [ + "doc/man3/PEM_read_CMS.pod" + ], + "doc/html/man3/PEM_read_bio_PrivateKey.html" => [ + "doc/man3/PEM_read_bio_PrivateKey.pod" + ], + "doc/html/man3/PEM_read_bio_ex.html" => [ + "doc/man3/PEM_read_bio_ex.pod" + ], + "doc/html/man3/PEM_write_bio_CMS_stream.html" => [ + "doc/man3/PEM_write_bio_CMS_stream.pod" + ], + "doc/html/man3/PEM_write_bio_PKCS7_stream.html" => [ + "doc/man3/PEM_write_bio_PKCS7_stream.pod" + ], + "doc/html/man3/PKCS12_PBE_keyivgen.html" => [ + "doc/man3/PKCS12_PBE_keyivgen.pod" + ], + "doc/html/man3/PKCS12_SAFEBAG_create_cert.html" => [ + "doc/man3/PKCS12_SAFEBAG_create_cert.pod" + ], + "doc/html/man3/PKCS12_SAFEBAG_get0_attrs.html" => [ + "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod" + ], + "doc/html/man3/PKCS12_SAFEBAG_get1_cert.html" => [ + "doc/man3/PKCS12_SAFEBAG_get1_cert.pod" + ], + "doc/html/man3/PKCS12_add1_attr_by_NID.html" => [ + "doc/man3/PKCS12_add1_attr_by_NID.pod" + ], + "doc/html/man3/PKCS12_add_CSPName_asc.html" => [ + "doc/man3/PKCS12_add_CSPName_asc.pod" + ], + "doc/html/man3/PKCS12_add_cert.html" => [ + "doc/man3/PKCS12_add_cert.pod" + ], + "doc/html/man3/PKCS12_add_friendlyname_asc.html" => [ + "doc/man3/PKCS12_add_friendlyname_asc.pod" + ], + "doc/html/man3/PKCS12_add_localkeyid.html" => [ + "doc/man3/PKCS12_add_localkeyid.pod" + ], + "doc/html/man3/PKCS12_add_safe.html" => [ + "doc/man3/PKCS12_add_safe.pod" + ], + "doc/html/man3/PKCS12_create.html" => [ + "doc/man3/PKCS12_create.pod" + ], + "doc/html/man3/PKCS12_decrypt_skey.html" => [ + "doc/man3/PKCS12_decrypt_skey.pod" + ], + "doc/html/man3/PKCS12_gen_mac.html" => [ + "doc/man3/PKCS12_gen_mac.pod" + ], + "doc/html/man3/PKCS12_get_friendlyname.html" => [ + "doc/man3/PKCS12_get_friendlyname.pod" + ], + "doc/html/man3/PKCS12_init.html" => [ + "doc/man3/PKCS12_init.pod" + ], + "doc/html/man3/PKCS12_item_decrypt_d2i.html" => [ + "doc/man3/PKCS12_item_decrypt_d2i.pod" + ], + "doc/html/man3/PKCS12_key_gen_utf8_ex.html" => [ + "doc/man3/PKCS12_key_gen_utf8_ex.pod" + ], + "doc/html/man3/PKCS12_newpass.html" => [ + "doc/man3/PKCS12_newpass.pod" + ], + "doc/html/man3/PKCS12_pack_p7encdata.html" => [ + "doc/man3/PKCS12_pack_p7encdata.pod" + ], + "doc/html/man3/PKCS12_parse.html" => [ + "doc/man3/PKCS12_parse.pod" + ], + "doc/html/man3/PKCS5_PBE_keyivgen.html" => [ + "doc/man3/PKCS5_PBE_keyivgen.pod" + ], + "doc/html/man3/PKCS5_PBKDF2_HMAC.html" => [ + "doc/man3/PKCS5_PBKDF2_HMAC.pod" + ], + "doc/html/man3/PKCS7_decrypt.html" => [ + "doc/man3/PKCS7_decrypt.pod" + ], + "doc/html/man3/PKCS7_encrypt.html" => [ + "doc/man3/PKCS7_encrypt.pod" + ], + "doc/html/man3/PKCS7_get_octet_string.html" => [ + "doc/man3/PKCS7_get_octet_string.pod" + ], + "doc/html/man3/PKCS7_sign.html" => [ + "doc/man3/PKCS7_sign.pod" + ], + "doc/html/man3/PKCS7_sign_add_signer.html" => [ + "doc/man3/PKCS7_sign_add_signer.pod" + ], + "doc/html/man3/PKCS7_type_is_other.html" => [ + "doc/man3/PKCS7_type_is_other.pod" + ], + "doc/html/man3/PKCS7_verify.html" => [ + "doc/man3/PKCS7_verify.pod" + ], + "doc/html/man3/PKCS8_encrypt.html" => [ + "doc/man3/PKCS8_encrypt.pod" + ], + "doc/html/man3/PKCS8_pkey_add1_attr.html" => [ + "doc/man3/PKCS8_pkey_add1_attr.pod" + ], + "doc/html/man3/RAND_add.html" => [ + "doc/man3/RAND_add.pod" + ], + "doc/html/man3/RAND_bytes.html" => [ + "doc/man3/RAND_bytes.pod" + ], + "doc/html/man3/RAND_cleanup.html" => [ + "doc/man3/RAND_cleanup.pod" + ], + "doc/html/man3/RAND_egd.html" => [ + "doc/man3/RAND_egd.pod" + ], + "doc/html/man3/RAND_get0_primary.html" => [ + "doc/man3/RAND_get0_primary.pod" + ], + "doc/html/man3/RAND_load_file.html" => [ + "doc/man3/RAND_load_file.pod" + ], + "doc/html/man3/RAND_set_DRBG_type.html" => [ + "doc/man3/RAND_set_DRBG_type.pod" + ], + "doc/html/man3/RAND_set_rand_method.html" => [ + "doc/man3/RAND_set_rand_method.pod" + ], + "doc/html/man3/RC4_set_key.html" => [ + "doc/man3/RC4_set_key.pod" + ], + "doc/html/man3/RIPEMD160_Init.html" => [ + "doc/man3/RIPEMD160_Init.pod" + ], + "doc/html/man3/RSA_blinding_on.html" => [ + "doc/man3/RSA_blinding_on.pod" + ], + "doc/html/man3/RSA_check_key.html" => [ + "doc/man3/RSA_check_key.pod" + ], + "doc/html/man3/RSA_generate_key.html" => [ + "doc/man3/RSA_generate_key.pod" + ], + "doc/html/man3/RSA_get0_key.html" => [ + "doc/man3/RSA_get0_key.pod" + ], + "doc/html/man3/RSA_meth_new.html" => [ + "doc/man3/RSA_meth_new.pod" + ], + "doc/html/man3/RSA_new.html" => [ + "doc/man3/RSA_new.pod" + ], + "doc/html/man3/RSA_padding_add_PKCS1_type_1.html" => [ + "doc/man3/RSA_padding_add_PKCS1_type_1.pod" + ], + "doc/html/man3/RSA_print.html" => [ + "doc/man3/RSA_print.pod" + ], + "doc/html/man3/RSA_private_encrypt.html" => [ + "doc/man3/RSA_private_encrypt.pod" + ], + "doc/html/man3/RSA_public_encrypt.html" => [ + "doc/man3/RSA_public_encrypt.pod" + ], + "doc/html/man3/RSA_set_method.html" => [ + "doc/man3/RSA_set_method.pod" + ], + "doc/html/man3/RSA_sign.html" => [ + "doc/man3/RSA_sign.pod" + ], + "doc/html/man3/RSA_sign_ASN1_OCTET_STRING.html" => [ + "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod" + ], + "doc/html/man3/RSA_size.html" => [ + "doc/man3/RSA_size.pod" + ], + "doc/html/man3/SCT_new.html" => [ + "doc/man3/SCT_new.pod" + ], + "doc/html/man3/SCT_print.html" => [ + "doc/man3/SCT_print.pod" + ], + "doc/html/man3/SCT_validate.html" => [ + "doc/man3/SCT_validate.pod" + ], + "doc/html/man3/SHA256_Init.html" => [ + "doc/man3/SHA256_Init.pod" + ], + "doc/html/man3/SMIME_read_ASN1.html" => [ + "doc/man3/SMIME_read_ASN1.pod" + ], + "doc/html/man3/SMIME_read_CMS.html" => [ + "doc/man3/SMIME_read_CMS.pod" + ], + "doc/html/man3/SMIME_read_PKCS7.html" => [ + "doc/man3/SMIME_read_PKCS7.pod" + ], + "doc/html/man3/SMIME_write_ASN1.html" => [ + "doc/man3/SMIME_write_ASN1.pod" + ], + "doc/html/man3/SMIME_write_CMS.html" => [ + "doc/man3/SMIME_write_CMS.pod" + ], + "doc/html/man3/SMIME_write_PKCS7.html" => [ + "doc/man3/SMIME_write_PKCS7.pod" + ], + "doc/html/man3/SRP_Calc_B.html" => [ + "doc/man3/SRP_Calc_B.pod" + ], + "doc/html/man3/SRP_VBASE_new.html" => [ + "doc/man3/SRP_VBASE_new.pod" + ], + "doc/html/man3/SRP_create_verifier.html" => [ + "doc/man3/SRP_create_verifier.pod" + ], + "doc/html/man3/SRP_user_pwd_new.html" => [ + "doc/man3/SRP_user_pwd_new.pod" + ], + "doc/html/man3/SSL_CIPHER_get_name.html" => [ + "doc/man3/SSL_CIPHER_get_name.pod" + ], + "doc/html/man3/SSL_COMP_add_compression_method.html" => [ + "doc/man3/SSL_COMP_add_compression_method.pod" + ], + "doc/html/man3/SSL_CONF_CTX_new.html" => [ + "doc/man3/SSL_CONF_CTX_new.pod" + ], + "doc/html/man3/SSL_CONF_CTX_set1_prefix.html" => [ + "doc/man3/SSL_CONF_CTX_set1_prefix.pod" + ], + "doc/html/man3/SSL_CONF_CTX_set_flags.html" => [ + "doc/man3/SSL_CONF_CTX_set_flags.pod" + ], + "doc/html/man3/SSL_CONF_CTX_set_ssl_ctx.html" => [ + "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod" + ], + "doc/html/man3/SSL_CONF_cmd.html" => [ + "doc/man3/SSL_CONF_cmd.pod" + ], + "doc/html/man3/SSL_CONF_cmd_argv.html" => [ + "doc/man3/SSL_CONF_cmd_argv.pod" + ], + "doc/html/man3/SSL_CTX_add1_chain_cert.html" => [ + "doc/man3/SSL_CTX_add1_chain_cert.pod" + ], + "doc/html/man3/SSL_CTX_add_extra_chain_cert.html" => [ + "doc/man3/SSL_CTX_add_extra_chain_cert.pod" + ], + "doc/html/man3/SSL_CTX_add_session.html" => [ + "doc/man3/SSL_CTX_add_session.pod" + ], + "doc/html/man3/SSL_CTX_config.html" => [ + "doc/man3/SSL_CTX_config.pod" + ], + "doc/html/man3/SSL_CTX_ctrl.html" => [ + "doc/man3/SSL_CTX_ctrl.pod" + ], + "doc/html/man3/SSL_CTX_dane_enable.html" => [ + "doc/man3/SSL_CTX_dane_enable.pod" + ], + "doc/html/man3/SSL_CTX_flush_sessions.html" => [ + "doc/man3/SSL_CTX_flush_sessions.pod" + ], + "doc/html/man3/SSL_CTX_free.html" => [ + "doc/man3/SSL_CTX_free.pod" + ], + "doc/html/man3/SSL_CTX_get0_param.html" => [ + "doc/man3/SSL_CTX_get0_param.pod" + ], + "doc/html/man3/SSL_CTX_get_verify_mode.html" => [ + "doc/man3/SSL_CTX_get_verify_mode.pod" + ], + "doc/html/man3/SSL_CTX_has_client_custom_ext.html" => [ + "doc/man3/SSL_CTX_has_client_custom_ext.pod" + ], + "doc/html/man3/SSL_CTX_load_verify_locations.html" => [ + "doc/man3/SSL_CTX_load_verify_locations.pod" + ], + "doc/html/man3/SSL_CTX_new.html" => [ + "doc/man3/SSL_CTX_new.pod" + ], + "doc/html/man3/SSL_CTX_sess_number.html" => [ + "doc/man3/SSL_CTX_sess_number.pod" + ], + "doc/html/man3/SSL_CTX_sess_set_cache_size.html" => [ + "doc/man3/SSL_CTX_sess_set_cache_size.pod" + ], + "doc/html/man3/SSL_CTX_sess_set_get_cb.html" => [ + "doc/man3/SSL_CTX_sess_set_get_cb.pod" + ], + "doc/html/man3/SSL_CTX_sessions.html" => [ + "doc/man3/SSL_CTX_sessions.pod" + ], + "doc/html/man3/SSL_CTX_set0_CA_list.html" => [ + "doc/man3/SSL_CTX_set0_CA_list.pod" + ], + "doc/html/man3/SSL_CTX_set1_curves.html" => [ + "doc/man3/SSL_CTX_set1_curves.pod" + ], + "doc/html/man3/SSL_CTX_set1_sigalgs.html" => [ + "doc/man3/SSL_CTX_set1_sigalgs.pod" + ], + "doc/html/man3/SSL_CTX_set1_verify_cert_store.html" => [ + "doc/man3/SSL_CTX_set1_verify_cert_store.pod" + ], + "doc/html/man3/SSL_CTX_set_alpn_select_cb.html" => [ + "doc/man3/SSL_CTX_set_alpn_select_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_cert_cb.html" => [ + "doc/man3/SSL_CTX_set_cert_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_cert_store.html" => [ + "doc/man3/SSL_CTX_set_cert_store.pod" + ], + "doc/html/man3/SSL_CTX_set_cert_verify_callback.html" => [ + "doc/man3/SSL_CTX_set_cert_verify_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_cipher_list.html" => [ + "doc/man3/SSL_CTX_set_cipher_list.pod" + ], + "doc/html/man3/SSL_CTX_set_client_cert_cb.html" => [ + "doc/man3/SSL_CTX_set_client_cert_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_client_hello_cb.html" => [ + "doc/man3/SSL_CTX_set_client_hello_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_ct_validation_callback.html" => [ + "doc/man3/SSL_CTX_set_ct_validation_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_ctlog_list_file.html" => [ + "doc/man3/SSL_CTX_set_ctlog_list_file.pod" + ], + "doc/html/man3/SSL_CTX_set_default_passwd_cb.html" => [ + "doc/man3/SSL_CTX_set_default_passwd_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_generate_session_id.html" => [ + "doc/man3/SSL_CTX_set_generate_session_id.pod" + ], + "doc/html/man3/SSL_CTX_set_info_callback.html" => [ + "doc/man3/SSL_CTX_set_info_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_keylog_callback.html" => [ + "doc/man3/SSL_CTX_set_keylog_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_max_cert_list.html" => [ + "doc/man3/SSL_CTX_set_max_cert_list.pod" + ], + "doc/html/man3/SSL_CTX_set_min_proto_version.html" => [ + "doc/man3/SSL_CTX_set_min_proto_version.pod" + ], + "doc/html/man3/SSL_CTX_set_mode.html" => [ + "doc/man3/SSL_CTX_set_mode.pod" + ], + "doc/html/man3/SSL_CTX_set_msg_callback.html" => [ + "doc/man3/SSL_CTX_set_msg_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_num_tickets.html" => [ + "doc/man3/SSL_CTX_set_num_tickets.pod" + ], + "doc/html/man3/SSL_CTX_set_options.html" => [ + "doc/man3/SSL_CTX_set_options.pod" + ], + "doc/html/man3/SSL_CTX_set_psk_client_callback.html" => [ + "doc/man3/SSL_CTX_set_psk_client_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_quic_method.html" => [ + "doc/man3/SSL_CTX_set_quic_method.pod" + ], + "doc/html/man3/SSL_CTX_set_quiet_shutdown.html" => [ + "doc/man3/SSL_CTX_set_quiet_shutdown.pod" + ], + "doc/html/man3/SSL_CTX_set_read_ahead.html" => [ + "doc/man3/SSL_CTX_set_read_ahead.pod" + ], + "doc/html/man3/SSL_CTX_set_record_padding_callback.html" => [ + "doc/man3/SSL_CTX_set_record_padding_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_security_level.html" => [ + "doc/man3/SSL_CTX_set_security_level.pod" + ], + "doc/html/man3/SSL_CTX_set_session_cache_mode.html" => [ + "doc/man3/SSL_CTX_set_session_cache_mode.pod" + ], + "doc/html/man3/SSL_CTX_set_session_id_context.html" => [ + "doc/man3/SSL_CTX_set_session_id_context.pod" + ], + "doc/html/man3/SSL_CTX_set_session_ticket_cb.html" => [ + "doc/man3/SSL_CTX_set_session_ticket_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_split_send_fragment.html" => [ + "doc/man3/SSL_CTX_set_split_send_fragment.pod" + ], + "doc/html/man3/SSL_CTX_set_srp_password.html" => [ + "doc/man3/SSL_CTX_set_srp_password.pod" + ], + "doc/html/man3/SSL_CTX_set_ssl_version.html" => [ + "doc/man3/SSL_CTX_set_ssl_version.pod" + ], + "doc/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html" => [ + "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_timeout.html" => [ + "doc/man3/SSL_CTX_set_timeout.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_servername_callback.html" => [ + "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_status_cb.html" => [ + "doc/man3/SSL_CTX_set_tlsext_status_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html" => [ + "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod" + ], + "doc/html/man3/SSL_CTX_set_tlsext_use_srtp.html" => [ + "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod" + ], + "doc/html/man3/SSL_CTX_set_tmp_dh_callback.html" => [ + "doc/man3/SSL_CTX_set_tmp_dh_callback.pod" + ], + "doc/html/man3/SSL_CTX_set_tmp_ecdh.html" => [ + "doc/man3/SSL_CTX_set_tmp_ecdh.pod" + ], + "doc/html/man3/SSL_CTX_set_verify.html" => [ + "doc/man3/SSL_CTX_set_verify.pod" + ], + "doc/html/man3/SSL_CTX_use_certificate.html" => [ + "doc/man3/SSL_CTX_use_certificate.pod" + ], + "doc/html/man3/SSL_CTX_use_psk_identity_hint.html" => [ + "doc/man3/SSL_CTX_use_psk_identity_hint.pod" + ], + "doc/html/man3/SSL_CTX_use_serverinfo.html" => [ + "doc/man3/SSL_CTX_use_serverinfo.pod" + ], + "doc/html/man3/SSL_SESSION_free.html" => [ + "doc/man3/SSL_SESSION_free.pod" + ], + "doc/html/man3/SSL_SESSION_get0_cipher.html" => [ + "doc/man3/SSL_SESSION_get0_cipher.pod" + ], + "doc/html/man3/SSL_SESSION_get0_hostname.html" => [ + "doc/man3/SSL_SESSION_get0_hostname.pod" + ], + "doc/html/man3/SSL_SESSION_get0_id_context.html" => [ + "doc/man3/SSL_SESSION_get0_id_context.pod" + ], + "doc/html/man3/SSL_SESSION_get0_peer.html" => [ + "doc/man3/SSL_SESSION_get0_peer.pod" + ], + "doc/html/man3/SSL_SESSION_get_compress_id.html" => [ + "doc/man3/SSL_SESSION_get_compress_id.pod" + ], + "doc/html/man3/SSL_SESSION_get_protocol_version.html" => [ + "doc/man3/SSL_SESSION_get_protocol_version.pod" + ], + "doc/html/man3/SSL_SESSION_get_time.html" => [ + "doc/man3/SSL_SESSION_get_time.pod" + ], + "doc/html/man3/SSL_SESSION_has_ticket.html" => [ + "doc/man3/SSL_SESSION_has_ticket.pod" + ], + "doc/html/man3/SSL_SESSION_is_resumable.html" => [ + "doc/man3/SSL_SESSION_is_resumable.pod" + ], + "doc/html/man3/SSL_SESSION_print.html" => [ + "doc/man3/SSL_SESSION_print.pod" + ], + "doc/html/man3/SSL_SESSION_set1_id.html" => [ + "doc/man3/SSL_SESSION_set1_id.pod" + ], + "doc/html/man3/SSL_accept.html" => [ + "doc/man3/SSL_accept.pod" + ], + "doc/html/man3/SSL_alert_type_string.html" => [ + "doc/man3/SSL_alert_type_string.pod" + ], + "doc/html/man3/SSL_alloc_buffers.html" => [ + "doc/man3/SSL_alloc_buffers.pod" + ], + "doc/html/man3/SSL_check_chain.html" => [ + "doc/man3/SSL_check_chain.pod" + ], + "doc/html/man3/SSL_clear.html" => [ + "doc/man3/SSL_clear.pod" + ], + "doc/html/man3/SSL_connect.html" => [ + "doc/man3/SSL_connect.pod" + ], + "doc/html/man3/SSL_do_handshake.html" => [ + "doc/man3/SSL_do_handshake.pod" + ], + "doc/html/man3/SSL_export_keying_material.html" => [ + "doc/man3/SSL_export_keying_material.pod" + ], + "doc/html/man3/SSL_extension_supported.html" => [ + "doc/man3/SSL_extension_supported.pod" + ], + "doc/html/man3/SSL_free.html" => [ + "doc/man3/SSL_free.pod" + ], + "doc/html/man3/SSL_get0_peer_scts.html" => [ + "doc/man3/SSL_get0_peer_scts.pod" + ], + "doc/html/man3/SSL_get_SSL_CTX.html" => [ + "doc/man3/SSL_get_SSL_CTX.pod" + ], + "doc/html/man3/SSL_get_all_async_fds.html" => [ + "doc/man3/SSL_get_all_async_fds.pod" + ], + "doc/html/man3/SSL_get_certificate.html" => [ + "doc/man3/SSL_get_certificate.pod" + ], + "doc/html/man3/SSL_get_ciphers.html" => [ + "doc/man3/SSL_get_ciphers.pod" + ], + "doc/html/man3/SSL_get_client_random.html" => [ + "doc/man3/SSL_get_client_random.pod" + ], + "doc/html/man3/SSL_get_current_cipher.html" => [ + "doc/man3/SSL_get_current_cipher.pod" + ], + "doc/html/man3/SSL_get_default_timeout.html" => [ + "doc/man3/SSL_get_default_timeout.pod" + ], + "doc/html/man3/SSL_get_error.html" => [ + "doc/man3/SSL_get_error.pod" + ], + "doc/html/man3/SSL_get_extms_support.html" => [ + "doc/man3/SSL_get_extms_support.pod" + ], + "doc/html/man3/SSL_get_fd.html" => [ + "doc/man3/SSL_get_fd.pod" + ], + "doc/html/man3/SSL_get_peer_cert_chain.html" => [ + "doc/man3/SSL_get_peer_cert_chain.pod" + ], + "doc/html/man3/SSL_get_peer_certificate.html" => [ + "doc/man3/SSL_get_peer_certificate.pod" + ], + "doc/html/man3/SSL_get_peer_signature_nid.html" => [ + "doc/man3/SSL_get_peer_signature_nid.pod" + ], + "doc/html/man3/SSL_get_peer_tmp_key.html" => [ + "doc/man3/SSL_get_peer_tmp_key.pod" + ], + "doc/html/man3/SSL_get_psk_identity.html" => [ + "doc/man3/SSL_get_psk_identity.pod" + ], + "doc/html/man3/SSL_get_rbio.html" => [ + "doc/man3/SSL_get_rbio.pod" + ], + "doc/html/man3/SSL_get_session.html" => [ + "doc/man3/SSL_get_session.pod" + ], + "doc/html/man3/SSL_get_shared_sigalgs.html" => [ + "doc/man3/SSL_get_shared_sigalgs.pod" + ], + "doc/html/man3/SSL_get_verify_result.html" => [ + "doc/man3/SSL_get_verify_result.pod" + ], + "doc/html/man3/SSL_get_version.html" => [ + "doc/man3/SSL_get_version.pod" + ], + "doc/html/man3/SSL_group_to_name.html" => [ + "doc/man3/SSL_group_to_name.pod" + ], + "doc/html/man3/SSL_in_init.html" => [ + "doc/man3/SSL_in_init.pod" + ], + "doc/html/man3/SSL_key_update.html" => [ + "doc/man3/SSL_key_update.pod" + ], + "doc/html/man3/SSL_library_init.html" => [ + "doc/man3/SSL_library_init.pod" + ], + "doc/html/man3/SSL_load_client_CA_file.html" => [ + "doc/man3/SSL_load_client_CA_file.pod" + ], + "doc/html/man3/SSL_new.html" => [ + "doc/man3/SSL_new.pod" + ], + "doc/html/man3/SSL_pending.html" => [ + "doc/man3/SSL_pending.pod" + ], + "doc/html/man3/SSL_read.html" => [ + "doc/man3/SSL_read.pod" + ], + "doc/html/man3/SSL_read_early_data.html" => [ + "doc/man3/SSL_read_early_data.pod" + ], + "doc/html/man3/SSL_rstate_string.html" => [ + "doc/man3/SSL_rstate_string.pod" + ], + "doc/html/man3/SSL_session_reused.html" => [ + "doc/man3/SSL_session_reused.pod" + ], + "doc/html/man3/SSL_set1_host.html" => [ + "doc/man3/SSL_set1_host.pod" + ], + "doc/html/man3/SSL_set_async_callback.html" => [ + "doc/man3/SSL_set_async_callback.pod" + ], + "doc/html/man3/SSL_set_bio.html" => [ + "doc/man3/SSL_set_bio.pod" + ], + "doc/html/man3/SSL_set_connect_state.html" => [ + "doc/man3/SSL_set_connect_state.pod" + ], + "doc/html/man3/SSL_set_fd.html" => [ + "doc/man3/SSL_set_fd.pod" + ], + "doc/html/man3/SSL_set_retry_verify.html" => [ + "doc/man3/SSL_set_retry_verify.pod" + ], + "doc/html/man3/SSL_set_session.html" => [ + "doc/man3/SSL_set_session.pod" + ], + "doc/html/man3/SSL_set_shutdown.html" => [ + "doc/man3/SSL_set_shutdown.pod" + ], + "doc/html/man3/SSL_set_verify_result.html" => [ + "doc/man3/SSL_set_verify_result.pod" + ], + "doc/html/man3/SSL_shutdown.html" => [ + "doc/man3/SSL_shutdown.pod" + ], + "doc/html/man3/SSL_state_string.html" => [ + "doc/man3/SSL_state_string.pod" + ], + "doc/html/man3/SSL_want.html" => [ + "doc/man3/SSL_want.pod" + ], + "doc/html/man3/SSL_write.html" => [ + "doc/man3/SSL_write.pod" + ], + "doc/html/man3/TS_RESP_CTX_new.html" => [ + "doc/man3/TS_RESP_CTX_new.pod" + ], + "doc/html/man3/TS_VERIFY_CTX_set_certs.html" => [ + "doc/man3/TS_VERIFY_CTX_set_certs.pod" + ], + "doc/html/man3/UI_STRING.html" => [ + "doc/man3/UI_STRING.pod" + ], + "doc/html/man3/UI_UTIL_read_pw.html" => [ + "doc/man3/UI_UTIL_read_pw.pod" + ], + "doc/html/man3/UI_create_method.html" => [ + "doc/man3/UI_create_method.pod" + ], + "doc/html/man3/UI_new.html" => [ + "doc/man3/UI_new.pod" + ], + "doc/html/man3/X509V3_get_d2i.html" => [ + "doc/man3/X509V3_get_d2i.pod" + ], + "doc/html/man3/X509V3_set_ctx.html" => [ + "doc/man3/X509V3_set_ctx.pod" + ], + "doc/html/man3/X509_ALGOR_dup.html" => [ + "doc/man3/X509_ALGOR_dup.pod" + ], + "doc/html/man3/X509_CRL_get0_by_serial.html" => [ + "doc/man3/X509_CRL_get0_by_serial.pod" + ], + "doc/html/man3/X509_EXTENSION_set_object.html" => [ + "doc/man3/X509_EXTENSION_set_object.pod" + ], + "doc/html/man3/X509_LOOKUP.html" => [ + "doc/man3/X509_LOOKUP.pod" + ], + "doc/html/man3/X509_LOOKUP_hash_dir.html" => [ + "doc/man3/X509_LOOKUP_hash_dir.pod" + ], + "doc/html/man3/X509_LOOKUP_meth_new.html" => [ + "doc/man3/X509_LOOKUP_meth_new.pod" + ], + "doc/html/man3/X509_NAME_ENTRY_get_object.html" => [ + "doc/man3/X509_NAME_ENTRY_get_object.pod" + ], + "doc/html/man3/X509_NAME_add_entry_by_txt.html" => [ + "doc/man3/X509_NAME_add_entry_by_txt.pod" + ], + "doc/html/man3/X509_NAME_get0_der.html" => [ + "doc/man3/X509_NAME_get0_der.pod" + ], + "doc/html/man3/X509_NAME_get_index_by_NID.html" => [ + "doc/man3/X509_NAME_get_index_by_NID.pod" + ], + "doc/html/man3/X509_NAME_print_ex.html" => [ + "doc/man3/X509_NAME_print_ex.pod" + ], + "doc/html/man3/X509_PUBKEY_new.html" => [ + "doc/man3/X509_PUBKEY_new.pod" + ], + "doc/html/man3/X509_SIG_get0.html" => [ + "doc/man3/X509_SIG_get0.pod" + ], + "doc/html/man3/X509_STORE_CTX_get_error.html" => [ + "doc/man3/X509_STORE_CTX_get_error.pod" + ], + "doc/html/man3/X509_STORE_CTX_new.html" => [ + "doc/man3/X509_STORE_CTX_new.pod" + ], + "doc/html/man3/X509_STORE_CTX_set_verify_cb.html" => [ + "doc/man3/X509_STORE_CTX_set_verify_cb.pod" + ], + "doc/html/man3/X509_STORE_add_cert.html" => [ + "doc/man3/X509_STORE_add_cert.pod" + ], + "doc/html/man3/X509_STORE_get0_param.html" => [ + "doc/man3/X509_STORE_get0_param.pod" + ], + "doc/html/man3/X509_STORE_new.html" => [ + "doc/man3/X509_STORE_new.pod" + ], + "doc/html/man3/X509_STORE_set_verify_cb_func.html" => [ + "doc/man3/X509_STORE_set_verify_cb_func.pod" + ], + "doc/html/man3/X509_VERIFY_PARAM_set_flags.html" => [ + "doc/man3/X509_VERIFY_PARAM_set_flags.pod" + ], + "doc/html/man3/X509_add_cert.html" => [ + "doc/man3/X509_add_cert.pod" + ], + "doc/html/man3/X509_check_ca.html" => [ + "doc/man3/X509_check_ca.pod" + ], + "doc/html/man3/X509_check_host.html" => [ + "doc/man3/X509_check_host.pod" + ], + "doc/html/man3/X509_check_issued.html" => [ + "doc/man3/X509_check_issued.pod" + ], + "doc/html/man3/X509_check_private_key.html" => [ + "doc/man3/X509_check_private_key.pod" + ], + "doc/html/man3/X509_check_purpose.html" => [ + "doc/man3/X509_check_purpose.pod" + ], + "doc/html/man3/X509_cmp.html" => [ + "doc/man3/X509_cmp.pod" + ], + "doc/html/man3/X509_cmp_time.html" => [ + "doc/man3/X509_cmp_time.pod" + ], + "doc/html/man3/X509_digest.html" => [ + "doc/man3/X509_digest.pod" + ], + "doc/html/man3/X509_dup.html" => [ + "doc/man3/X509_dup.pod" + ], + "doc/html/man3/X509_get0_distinguishing_id.html" => [ + "doc/man3/X509_get0_distinguishing_id.pod" + ], + "doc/html/man3/X509_get0_notBefore.html" => [ + "doc/man3/X509_get0_notBefore.pod" + ], + "doc/html/man3/X509_get0_signature.html" => [ + "doc/man3/X509_get0_signature.pod" + ], + "doc/html/man3/X509_get0_uids.html" => [ + "doc/man3/X509_get0_uids.pod" + ], + "doc/html/man3/X509_get_extension_flags.html" => [ + "doc/man3/X509_get_extension_flags.pod" + ], + "doc/html/man3/X509_get_pubkey.html" => [ + "doc/man3/X509_get_pubkey.pod" + ], + "doc/html/man3/X509_get_serialNumber.html" => [ + "doc/man3/X509_get_serialNumber.pod" + ], + "doc/html/man3/X509_get_subject_name.html" => [ + "doc/man3/X509_get_subject_name.pod" + ], + "doc/html/man3/X509_get_version.html" => [ + "doc/man3/X509_get_version.pod" + ], + "doc/html/man3/X509_load_http.html" => [ + "doc/man3/X509_load_http.pod" + ], + "doc/html/man3/X509_new.html" => [ + "doc/man3/X509_new.pod" + ], + "doc/html/man3/X509_sign.html" => [ + "doc/man3/X509_sign.pod" + ], + "doc/html/man3/X509_verify.html" => [ + "doc/man3/X509_verify.pod" + ], + "doc/html/man3/X509_verify_cert.html" => [ + "doc/man3/X509_verify_cert.pod" + ], + "doc/html/man3/X509v3_get_ext_by_NID.html" => [ + "doc/man3/X509v3_get_ext_by_NID.pod" + ], + "doc/html/man3/b2i_PVK_bio_ex.html" => [ + "doc/man3/b2i_PVK_bio_ex.pod" + ], + "doc/html/man3/d2i_PKCS8PrivateKey_bio.html" => [ + "doc/man3/d2i_PKCS8PrivateKey_bio.pod" + ], + "doc/html/man3/d2i_PrivateKey.html" => [ + "doc/man3/d2i_PrivateKey.pod" + ], + "doc/html/man3/d2i_RSAPrivateKey.html" => [ + "doc/man3/d2i_RSAPrivateKey.pod" + ], + "doc/html/man3/d2i_SSL_SESSION.html" => [ + "doc/man3/d2i_SSL_SESSION.pod" + ], + "doc/html/man3/d2i_X509.html" => [ + "doc/man3/d2i_X509.pod" + ], + "doc/html/man3/i2d_CMS_bio_stream.html" => [ + "doc/man3/i2d_CMS_bio_stream.pod" + ], + "doc/html/man3/i2d_PKCS7_bio_stream.html" => [ + "doc/man3/i2d_PKCS7_bio_stream.pod" + ], + "doc/html/man3/i2d_re_X509_tbs.html" => [ + "doc/man3/i2d_re_X509_tbs.pod" + ], + "doc/html/man3/o2i_SCT_LIST.html" => [ + "doc/man3/o2i_SCT_LIST.pod" + ], + "doc/html/man3/s2i_ASN1_IA5STRING.html" => [ + "doc/man3/s2i_ASN1_IA5STRING.pod" + ], + "doc/html/man5/config.html" => [ + "doc/man5/config.pod" + ], + "doc/html/man5/fips_config.html" => [ + "doc/man5/fips_config.pod" + ], + "doc/html/man5/x509v3_config.html" => [ + "doc/man5/x509v3_config.pod" + ], + "doc/html/man7/EVP_ASYM_CIPHER-RSA.html" => [ + "doc/man7/EVP_ASYM_CIPHER-RSA.pod" + ], + "doc/html/man7/EVP_ASYM_CIPHER-SM2.html" => [ + "doc/man7/EVP_ASYM_CIPHER-SM2.pod" + ], + "doc/html/man7/EVP_CIPHER-AES.html" => [ + "doc/man7/EVP_CIPHER-AES.pod" + ], + "doc/html/man7/EVP_CIPHER-ARIA.html" => [ + "doc/man7/EVP_CIPHER-ARIA.pod" + ], + "doc/html/man7/EVP_CIPHER-BLOWFISH.html" => [ + "doc/man7/EVP_CIPHER-BLOWFISH.pod" + ], + "doc/html/man7/EVP_CIPHER-CAMELLIA.html" => [ + "doc/man7/EVP_CIPHER-CAMELLIA.pod" + ], + "doc/html/man7/EVP_CIPHER-CAST.html" => [ + "doc/man7/EVP_CIPHER-CAST.pod" + ], + "doc/html/man7/EVP_CIPHER-CHACHA.html" => [ + "doc/man7/EVP_CIPHER-CHACHA.pod" + ], + "doc/html/man7/EVP_CIPHER-DES.html" => [ + "doc/man7/EVP_CIPHER-DES.pod" + ], + "doc/html/man7/EVP_CIPHER-IDEA.html" => [ + "doc/man7/EVP_CIPHER-IDEA.pod" + ], + "doc/html/man7/EVP_CIPHER-RC2.html" => [ + "doc/man7/EVP_CIPHER-RC2.pod" + ], + "doc/html/man7/EVP_CIPHER-RC4.html" => [ + "doc/man7/EVP_CIPHER-RC4.pod" + ], + "doc/html/man7/EVP_CIPHER-RC5.html" => [ + "doc/man7/EVP_CIPHER-RC5.pod" + ], + "doc/html/man7/EVP_CIPHER-SEED.html" => [ + "doc/man7/EVP_CIPHER-SEED.pod" + ], + "doc/html/man7/EVP_CIPHER-SM4.html" => [ + "doc/man7/EVP_CIPHER-SM4.pod" + ], + "doc/html/man7/EVP_KDF-HKDF.html" => [ + "doc/man7/EVP_KDF-HKDF.pod" + ], + "doc/html/man7/EVP_KDF-KB.html" => [ + "doc/man7/EVP_KDF-KB.pod" + ], + "doc/html/man7/EVP_KDF-KRB5KDF.html" => [ + "doc/man7/EVP_KDF-KRB5KDF.pod" + ], + "doc/html/man7/EVP_KDF-PBKDF1.html" => [ + "doc/man7/EVP_KDF-PBKDF1.pod" + ], + "doc/html/man7/EVP_KDF-PBKDF2.html" => [ + "doc/man7/EVP_KDF-PBKDF2.pod" + ], + "doc/html/man7/EVP_KDF-PKCS12KDF.html" => [ + "doc/man7/EVP_KDF-PKCS12KDF.pod" + ], + "doc/html/man7/EVP_KDF-SCRYPT.html" => [ + "doc/man7/EVP_KDF-SCRYPT.pod" + ], + "doc/html/man7/EVP_KDF-SS.html" => [ + "doc/man7/EVP_KDF-SS.pod" + ], + "doc/html/man7/EVP_KDF-SSHKDF.html" => [ + "doc/man7/EVP_KDF-SSHKDF.pod" + ], + "doc/html/man7/EVP_KDF-TLS13_KDF.html" => [ + "doc/man7/EVP_KDF-TLS13_KDF.pod" + ], + "doc/html/man7/EVP_KDF-TLS1_PRF.html" => [ + "doc/man7/EVP_KDF-TLS1_PRF.pod" + ], + "doc/html/man7/EVP_KDF-X942-ASN1.html" => [ + "doc/man7/EVP_KDF-X942-ASN1.pod" + ], + "doc/html/man7/EVP_KDF-X942-CONCAT.html" => [ + "doc/man7/EVP_KDF-X942-CONCAT.pod" + ], + "doc/html/man7/EVP_KDF-X963.html" => [ + "doc/man7/EVP_KDF-X963.pod" + ], + "doc/html/man7/EVP_KEM-RSA.html" => [ + "doc/man7/EVP_KEM-RSA.pod" + ], + "doc/html/man7/EVP_KEYEXCH-DH.html" => [ + "doc/man7/EVP_KEYEXCH-DH.pod" + ], + "doc/html/man7/EVP_KEYEXCH-ECDH.html" => [ + "doc/man7/EVP_KEYEXCH-ECDH.pod" + ], + "doc/html/man7/EVP_KEYEXCH-X25519.html" => [ + "doc/man7/EVP_KEYEXCH-X25519.pod" + ], + "doc/html/man7/EVP_MAC-BLAKE2.html" => [ + "doc/man7/EVP_MAC-BLAKE2.pod" + ], + "doc/html/man7/EVP_MAC-CMAC.html" => [ + "doc/man7/EVP_MAC-CMAC.pod" + ], + "doc/html/man7/EVP_MAC-GMAC.html" => [ + "doc/man7/EVP_MAC-GMAC.pod" + ], + "doc/html/man7/EVP_MAC-HMAC.html" => [ + "doc/man7/EVP_MAC-HMAC.pod" + ], + "doc/html/man7/EVP_MAC-KMAC.html" => [ + "doc/man7/EVP_MAC-KMAC.pod" + ], + "doc/html/man7/EVP_MAC-Poly1305.html" => [ + "doc/man7/EVP_MAC-Poly1305.pod" + ], + "doc/html/man7/EVP_MAC-Siphash.html" => [ + "doc/man7/EVP_MAC-Siphash.pod" + ], + "doc/html/man7/EVP_MD-BLAKE2.html" => [ + "doc/man7/EVP_MD-BLAKE2.pod" + ], + "doc/html/man7/EVP_MD-MD2.html" => [ + "doc/man7/EVP_MD-MD2.pod" + ], + "doc/html/man7/EVP_MD-MD4.html" => [ + "doc/man7/EVP_MD-MD4.pod" + ], + "doc/html/man7/EVP_MD-MD5-SHA1.html" => [ + "doc/man7/EVP_MD-MD5-SHA1.pod" + ], + "doc/html/man7/EVP_MD-MD5.html" => [ + "doc/man7/EVP_MD-MD5.pod" + ], + "doc/html/man7/EVP_MD-MDC2.html" => [ + "doc/man7/EVP_MD-MDC2.pod" + ], + "doc/html/man7/EVP_MD-RIPEMD160.html" => [ + "doc/man7/EVP_MD-RIPEMD160.pod" + ], + "doc/html/man7/EVP_MD-SHA1.html" => [ + "doc/man7/EVP_MD-SHA1.pod" + ], + "doc/html/man7/EVP_MD-SHA2.html" => [ + "doc/man7/EVP_MD-SHA2.pod" + ], + "doc/html/man7/EVP_MD-SHA3.html" => [ + "doc/man7/EVP_MD-SHA3.pod" + ], + "doc/html/man7/EVP_MD-SHAKE.html" => [ + "doc/man7/EVP_MD-SHAKE.pod" + ], + "doc/html/man7/EVP_MD-SM3.html" => [ + "doc/man7/EVP_MD-SM3.pod" + ], + "doc/html/man7/EVP_MD-WHIRLPOOL.html" => [ + "doc/man7/EVP_MD-WHIRLPOOL.pod" + ], + "doc/html/man7/EVP_MD-common.html" => [ + "doc/man7/EVP_MD-common.pod" + ], + "doc/html/man7/EVP_PKEY-DH.html" => [ + "doc/man7/EVP_PKEY-DH.pod" + ], + "doc/html/man7/EVP_PKEY-DSA.html" => [ + "doc/man7/EVP_PKEY-DSA.pod" + ], + "doc/html/man7/EVP_PKEY-EC.html" => [ + "doc/man7/EVP_PKEY-EC.pod" + ], + "doc/html/man7/EVP_PKEY-FFC.html" => [ + "doc/man7/EVP_PKEY-FFC.pod" + ], + "doc/html/man7/EVP_PKEY-HMAC.html" => [ + "doc/man7/EVP_PKEY-HMAC.pod" + ], + "doc/html/man7/EVP_PKEY-RSA.html" => [ + "doc/man7/EVP_PKEY-RSA.pod" + ], + "doc/html/man7/EVP_PKEY-SM2.html" => [ + "doc/man7/EVP_PKEY-SM2.pod" + ], + "doc/html/man7/EVP_PKEY-X25519.html" => [ + "doc/man7/EVP_PKEY-X25519.pod" + ], + "doc/html/man7/EVP_RAND-CTR-DRBG.html" => [ + "doc/man7/EVP_RAND-CTR-DRBG.pod" + ], + "doc/html/man7/EVP_RAND-HASH-DRBG.html" => [ + "doc/man7/EVP_RAND-HASH-DRBG.pod" + ], + "doc/html/man7/EVP_RAND-HMAC-DRBG.html" => [ + "doc/man7/EVP_RAND-HMAC-DRBG.pod" + ], + "doc/html/man7/EVP_RAND-SEED-SRC.html" => [ + "doc/man7/EVP_RAND-SEED-SRC.pod" + ], + "doc/html/man7/EVP_RAND-TEST-RAND.html" => [ + "doc/man7/EVP_RAND-TEST-RAND.pod" + ], + "doc/html/man7/EVP_RAND.html" => [ + "doc/man7/EVP_RAND.pod" + ], + "doc/html/man7/EVP_SIGNATURE-DSA.html" => [ + "doc/man7/EVP_SIGNATURE-DSA.pod" + ], + "doc/html/man7/EVP_SIGNATURE-ECDSA.html" => [ + "doc/man7/EVP_SIGNATURE-ECDSA.pod" + ], + "doc/html/man7/EVP_SIGNATURE-ED25519.html" => [ + "doc/man7/EVP_SIGNATURE-ED25519.pod" + ], + "doc/html/man7/EVP_SIGNATURE-HMAC.html" => [ + "doc/man7/EVP_SIGNATURE-HMAC.pod" + ], + "doc/html/man7/EVP_SIGNATURE-RSA.html" => [ + "doc/man7/EVP_SIGNATURE-RSA.pod" + ], + "doc/html/man7/OSSL_PROVIDER-FIPS.html" => [ + "doc/man7/OSSL_PROVIDER-FIPS.pod" + ], + "doc/html/man7/OSSL_PROVIDER-base.html" => [ + "doc/man7/OSSL_PROVIDER-base.pod" + ], + "doc/html/man7/OSSL_PROVIDER-default.html" => [ + "doc/man7/OSSL_PROVIDER-default.pod" + ], + "doc/html/man7/OSSL_PROVIDER-legacy.html" => [ + "doc/man7/OSSL_PROVIDER-legacy.pod" + ], + "doc/html/man7/OSSL_PROVIDER-null.html" => [ + "doc/man7/OSSL_PROVIDER-null.pod" + ], + "doc/html/man7/RAND.html" => [ + "doc/man7/RAND.pod" + ], + "doc/html/man7/RSA-PSS.html" => [ + "doc/man7/RSA-PSS.pod" + ], + "doc/html/man7/X25519.html" => [ + "doc/man7/X25519.pod" + ], + "doc/html/man7/bio.html" => [ + "doc/man7/bio.pod" + ], + "doc/html/man7/crypto.html" => [ + "doc/man7/crypto.pod" + ], + "doc/html/man7/ct.html" => [ + "doc/man7/ct.pod" + ], + "doc/html/man7/des_modes.html" => [ + "doc/man7/des_modes.pod" + ], + "doc/html/man7/evp.html" => [ + "doc/man7/evp.pod" + ], + "doc/html/man7/fips_module.html" => [ + "doc/man7/fips_module.pod" + ], + "doc/html/man7/life_cycle-cipher.html" => [ + "doc/man7/life_cycle-cipher.pod" + ], + "doc/html/man7/life_cycle-digest.html" => [ + "doc/man7/life_cycle-digest.pod" + ], + "doc/html/man7/life_cycle-kdf.html" => [ + "doc/man7/life_cycle-kdf.pod" + ], + "doc/html/man7/life_cycle-mac.html" => [ + "doc/man7/life_cycle-mac.pod" + ], + "doc/html/man7/life_cycle-pkey.html" => [ + "doc/man7/life_cycle-pkey.pod" + ], + "doc/html/man7/life_cycle-rand.html" => [ + "doc/man7/life_cycle-rand.pod" + ], + "doc/html/man7/migration_guide.html" => [ + "doc/man7/migration_guide.pod" + ], + "doc/html/man7/openssl-core.h.html" => [ + "doc/man7/openssl-core.h.pod" + ], + "doc/html/man7/openssl-core_dispatch.h.html" => [ + "doc/man7/openssl-core_dispatch.h.pod" + ], + "doc/html/man7/openssl-core_names.h.html" => [ + "doc/man7/openssl-core_names.h.pod" + ], + "doc/html/man7/openssl-env.html" => [ + "doc/man7/openssl-env.pod" + ], + "doc/html/man7/openssl-glossary.html" => [ + "doc/man7/openssl-glossary.pod" + ], + "doc/html/man7/openssl-threads.html" => [ + "doc/man7/openssl-threads.pod" + ], + "doc/html/man7/openssl_user_macros.html" => [ + "doc/man7/openssl_user_macros.pod" + ], + "doc/html/man7/ossl_store-file.html" => [ + "doc/man7/ossl_store-file.pod" + ], + "doc/html/man7/ossl_store.html" => [ + "doc/man7/ossl_store.pod" + ], + "doc/html/man7/passphrase-encoding.html" => [ + "doc/man7/passphrase-encoding.pod" + ], + "doc/html/man7/property.html" => [ + "doc/man7/property.pod" + ], + "doc/html/man7/provider-asym_cipher.html" => [ + "doc/man7/provider-asym_cipher.pod" + ], + "doc/html/man7/provider-base.html" => [ + "doc/man7/provider-base.pod" + ], + "doc/html/man7/provider-cipher.html" => [ + "doc/man7/provider-cipher.pod" + ], + "doc/html/man7/provider-decoder.html" => [ + "doc/man7/provider-decoder.pod" + ], + "doc/html/man7/provider-digest.html" => [ + "doc/man7/provider-digest.pod" + ], + "doc/html/man7/provider-encoder.html" => [ + "doc/man7/provider-encoder.pod" + ], + "doc/html/man7/provider-kdf.html" => [ + "doc/man7/provider-kdf.pod" + ], + "doc/html/man7/provider-kem.html" => [ + "doc/man7/provider-kem.pod" + ], + "doc/html/man7/provider-keyexch.html" => [ + "doc/man7/provider-keyexch.pod" + ], + "doc/html/man7/provider-keymgmt.html" => [ + "doc/man7/provider-keymgmt.pod" + ], + "doc/html/man7/provider-mac.html" => [ + "doc/man7/provider-mac.pod" + ], + "doc/html/man7/provider-object.html" => [ + "doc/man7/provider-object.pod" + ], + "doc/html/man7/provider-rand.html" => [ + "doc/man7/provider-rand.pod" + ], + "doc/html/man7/provider-signature.html" => [ + "doc/man7/provider-signature.pod" + ], + "doc/html/man7/provider-storemgmt.html" => [ + "doc/man7/provider-storemgmt.pod" + ], + "doc/html/man7/provider.html" => [ + "doc/man7/provider.pod" + ], + "doc/html/man7/proxy-certificates.html" => [ + "doc/man7/proxy-certificates.pod" + ], + "doc/html/man7/ssl.html" => [ + "doc/man7/ssl.pod" + ], + "doc/html/man7/x509.html" => [ + "doc/man7/x509.pod" + ], + "doc/man/man1/CA.pl.1" => [ + "doc/man1/CA.pl.pod" + ], + "doc/man/man1/openssl-asn1parse.1" => [ + "doc/man1/openssl-asn1parse.pod" + ], + "doc/man/man1/openssl-ca.1" => [ + "doc/man1/openssl-ca.pod" + ], + "doc/man/man1/openssl-ciphers.1" => [ + "doc/man1/openssl-ciphers.pod" + ], + "doc/man/man1/openssl-cmds.1" => [ + "doc/man1/openssl-cmds.pod" + ], + "doc/man/man1/openssl-cmp.1" => [ + "doc/man1/openssl-cmp.pod" + ], + "doc/man/man1/openssl-cms.1" => [ + "doc/man1/openssl-cms.pod" + ], + "doc/man/man1/openssl-crl.1" => [ + "doc/man1/openssl-crl.pod" + ], + "doc/man/man1/openssl-crl2pkcs7.1" => [ + "doc/man1/openssl-crl2pkcs7.pod" + ], + "doc/man/man1/openssl-dgst.1" => [ + "doc/man1/openssl-dgst.pod" + ], + "doc/man/man1/openssl-dhparam.1" => [ + "doc/man1/openssl-dhparam.pod" + ], + "doc/man/man1/openssl-dsa.1" => [ + "doc/man1/openssl-dsa.pod" + ], + "doc/man/man1/openssl-dsaparam.1" => [ + "doc/man1/openssl-dsaparam.pod" + ], + "doc/man/man1/openssl-ec.1" => [ + "doc/man1/openssl-ec.pod" + ], + "doc/man/man1/openssl-ecparam.1" => [ + "doc/man1/openssl-ecparam.pod" + ], + "doc/man/man1/openssl-enc.1" => [ + "doc/man1/openssl-enc.pod" + ], + "doc/man/man1/openssl-engine.1" => [ + "doc/man1/openssl-engine.pod" + ], + "doc/man/man1/openssl-errstr.1" => [ + "doc/man1/openssl-errstr.pod" + ], + "doc/man/man1/openssl-fipsinstall.1" => [ + "doc/man1/openssl-fipsinstall.pod" + ], + "doc/man/man1/openssl-format-options.1" => [ + "doc/man1/openssl-format-options.pod" + ], + "doc/man/man1/openssl-gendsa.1" => [ + "doc/man1/openssl-gendsa.pod" + ], + "doc/man/man1/openssl-genpkey.1" => [ + "doc/man1/openssl-genpkey.pod" + ], + "doc/man/man1/openssl-genrsa.1" => [ + "doc/man1/openssl-genrsa.pod" + ], + "doc/man/man1/openssl-info.1" => [ + "doc/man1/openssl-info.pod" + ], + "doc/man/man1/openssl-kdf.1" => [ + "doc/man1/openssl-kdf.pod" + ], + "doc/man/man1/openssl-list.1" => [ + "doc/man1/openssl-list.pod" + ], + "doc/man/man1/openssl-mac.1" => [ + "doc/man1/openssl-mac.pod" + ], + "doc/man/man1/openssl-namedisplay-options.1" => [ + "doc/man1/openssl-namedisplay-options.pod" + ], + "doc/man/man1/openssl-nseq.1" => [ + "doc/man1/openssl-nseq.pod" + ], + "doc/man/man1/openssl-ocsp.1" => [ + "doc/man1/openssl-ocsp.pod" + ], + "doc/man/man1/openssl-passphrase-options.1" => [ + "doc/man1/openssl-passphrase-options.pod" + ], + "doc/man/man1/openssl-passwd.1" => [ + "doc/man1/openssl-passwd.pod" + ], + "doc/man/man1/openssl-pkcs12.1" => [ + "doc/man1/openssl-pkcs12.pod" + ], + "doc/man/man1/openssl-pkcs7.1" => [ + "doc/man1/openssl-pkcs7.pod" + ], + "doc/man/man1/openssl-pkcs8.1" => [ + "doc/man1/openssl-pkcs8.pod" + ], + "doc/man/man1/openssl-pkey.1" => [ + "doc/man1/openssl-pkey.pod" + ], + "doc/man/man1/openssl-pkeyparam.1" => [ + "doc/man1/openssl-pkeyparam.pod" + ], + "doc/man/man1/openssl-pkeyutl.1" => [ + "doc/man1/openssl-pkeyutl.pod" + ], + "doc/man/man1/openssl-prime.1" => [ + "doc/man1/openssl-prime.pod" + ], + "doc/man/man1/openssl-rand.1" => [ + "doc/man1/openssl-rand.pod" + ], + "doc/man/man1/openssl-rehash.1" => [ + "doc/man1/openssl-rehash.pod" + ], + "doc/man/man1/openssl-req.1" => [ + "doc/man1/openssl-req.pod" + ], + "doc/man/man1/openssl-rsa.1" => [ + "doc/man1/openssl-rsa.pod" + ], + "doc/man/man1/openssl-rsautl.1" => [ + "doc/man1/openssl-rsautl.pod" + ], + "doc/man/man1/openssl-s_client.1" => [ + "doc/man1/openssl-s_client.pod" + ], + "doc/man/man1/openssl-s_server.1" => [ + "doc/man1/openssl-s_server.pod" + ], + "doc/man/man1/openssl-s_time.1" => [ + "doc/man1/openssl-s_time.pod" + ], + "doc/man/man1/openssl-sess_id.1" => [ + "doc/man1/openssl-sess_id.pod" + ], + "doc/man/man1/openssl-smime.1" => [ + "doc/man1/openssl-smime.pod" + ], + "doc/man/man1/openssl-speed.1" => [ + "doc/man1/openssl-speed.pod" + ], + "doc/man/man1/openssl-spkac.1" => [ + "doc/man1/openssl-spkac.pod" + ], + "doc/man/man1/openssl-srp.1" => [ + "doc/man1/openssl-srp.pod" + ], + "doc/man/man1/openssl-storeutl.1" => [ + "doc/man1/openssl-storeutl.pod" + ], + "doc/man/man1/openssl-ts.1" => [ + "doc/man1/openssl-ts.pod" + ], + "doc/man/man1/openssl-verification-options.1" => [ + "doc/man1/openssl-verification-options.pod" + ], + "doc/man/man1/openssl-verify.1" => [ + "doc/man1/openssl-verify.pod" + ], + "doc/man/man1/openssl-version.1" => [ + "doc/man1/openssl-version.pod" + ], + "doc/man/man1/openssl-x509.1" => [ + "doc/man1/openssl-x509.pod" + ], + "doc/man/man1/openssl.1" => [ + "doc/man1/openssl.pod" + ], + "doc/man/man1/tsget.1" => [ + "doc/man1/tsget.pod" + ], + "doc/man/man3/ADMISSIONS.3" => [ + "doc/man3/ADMISSIONS.pod" + ], + "doc/man/man3/ASN1_EXTERN_FUNCS.3" => [ + "doc/man3/ASN1_EXTERN_FUNCS.pod" + ], + "doc/man/man3/ASN1_INTEGER_get_int64.3" => [ + "doc/man3/ASN1_INTEGER_get_int64.pod" + ], + "doc/man/man3/ASN1_INTEGER_new.3" => [ + "doc/man3/ASN1_INTEGER_new.pod" + ], + "doc/man/man3/ASN1_ITEM_lookup.3" => [ + "doc/man3/ASN1_ITEM_lookup.pod" + ], + "doc/man/man3/ASN1_OBJECT_new.3" => [ + "doc/man3/ASN1_OBJECT_new.pod" + ], + "doc/man/man3/ASN1_STRING_TABLE_add.3" => [ + "doc/man3/ASN1_STRING_TABLE_add.pod" + ], + "doc/man/man3/ASN1_STRING_length.3" => [ + "doc/man3/ASN1_STRING_length.pod" + ], + "doc/man/man3/ASN1_STRING_new.3" => [ + "doc/man3/ASN1_STRING_new.pod" + ], + "doc/man/man3/ASN1_STRING_print_ex.3" => [ + "doc/man3/ASN1_STRING_print_ex.pod" + ], + "doc/man/man3/ASN1_TIME_set.3" => [ + "doc/man3/ASN1_TIME_set.pod" + ], + "doc/man/man3/ASN1_TYPE_get.3" => [ + "doc/man3/ASN1_TYPE_get.pod" + ], + "doc/man/man3/ASN1_aux_cb.3" => [ + "doc/man3/ASN1_aux_cb.pod" + ], + "doc/man/man3/ASN1_generate_nconf.3" => [ + "doc/man3/ASN1_generate_nconf.pod" + ], + "doc/man/man3/ASN1_item_d2i_bio.3" => [ + "doc/man3/ASN1_item_d2i_bio.pod" + ], + "doc/man/man3/ASN1_item_new.3" => [ + "doc/man3/ASN1_item_new.pod" + ], + "doc/man/man3/ASN1_item_sign.3" => [ + "doc/man3/ASN1_item_sign.pod" + ], + "doc/man/man3/ASYNC_WAIT_CTX_new.3" => [ + "doc/man3/ASYNC_WAIT_CTX_new.pod" + ], + "doc/man/man3/ASYNC_start_job.3" => [ + "doc/man3/ASYNC_start_job.pod" + ], + "doc/man/man3/BF_encrypt.3" => [ + "doc/man3/BF_encrypt.pod" + ], + "doc/man/man3/BIO_ADDR.3" => [ + "doc/man3/BIO_ADDR.pod" + ], + "doc/man/man3/BIO_ADDRINFO.3" => [ + "doc/man3/BIO_ADDRINFO.pod" + ], + "doc/man/man3/BIO_connect.3" => [ + "doc/man3/BIO_connect.pod" + ], + "doc/man/man3/BIO_ctrl.3" => [ + "doc/man3/BIO_ctrl.pod" + ], + "doc/man/man3/BIO_f_base64.3" => [ + "doc/man3/BIO_f_base64.pod" + ], + "doc/man/man3/BIO_f_buffer.3" => [ + "doc/man3/BIO_f_buffer.pod" + ], + "doc/man/man3/BIO_f_cipher.3" => [ + "doc/man3/BIO_f_cipher.pod" + ], + "doc/man/man3/BIO_f_md.3" => [ + "doc/man3/BIO_f_md.pod" + ], + "doc/man/man3/BIO_f_null.3" => [ + "doc/man3/BIO_f_null.pod" + ], + "doc/man/man3/BIO_f_prefix.3" => [ + "doc/man3/BIO_f_prefix.pod" + ], + "doc/man/man3/BIO_f_readbuffer.3" => [ + "doc/man3/BIO_f_readbuffer.pod" + ], + "doc/man/man3/BIO_f_ssl.3" => [ + "doc/man3/BIO_f_ssl.pod" + ], + "doc/man/man3/BIO_find_type.3" => [ + "doc/man3/BIO_find_type.pod" + ], + "doc/man/man3/BIO_get_data.3" => [ + "doc/man3/BIO_get_data.pod" + ], + "doc/man/man3/BIO_get_ex_new_index.3" => [ + "doc/man3/BIO_get_ex_new_index.pod" + ], + "doc/man/man3/BIO_meth_new.3" => [ + "doc/man3/BIO_meth_new.pod" + ], + "doc/man/man3/BIO_new.3" => [ + "doc/man3/BIO_new.pod" + ], + "doc/man/man3/BIO_new_CMS.3" => [ + "doc/man3/BIO_new_CMS.pod" + ], + "doc/man/man3/BIO_parse_hostserv.3" => [ + "doc/man3/BIO_parse_hostserv.pod" + ], + "doc/man/man3/BIO_printf.3" => [ + "doc/man3/BIO_printf.pod" + ], + "doc/man/man3/BIO_push.3" => [ + "doc/man3/BIO_push.pod" + ], + "doc/man/man3/BIO_read.3" => [ + "doc/man3/BIO_read.pod" + ], + "doc/man/man3/BIO_s_accept.3" => [ + "doc/man3/BIO_s_accept.pod" + ], + "doc/man/man3/BIO_s_bio.3" => [ + "doc/man3/BIO_s_bio.pod" + ], + "doc/man/man3/BIO_s_connect.3" => [ + "doc/man3/BIO_s_connect.pod" + ], + "doc/man/man3/BIO_s_core.3" => [ + "doc/man3/BIO_s_core.pod" + ], + "doc/man/man3/BIO_s_datagram.3" => [ + "doc/man3/BIO_s_datagram.pod" + ], + "doc/man/man3/BIO_s_fd.3" => [ + "doc/man3/BIO_s_fd.pod" + ], + "doc/man/man3/BIO_s_file.3" => [ + "doc/man3/BIO_s_file.pod" + ], + "doc/man/man3/BIO_s_mem.3" => [ + "doc/man3/BIO_s_mem.pod" + ], + "doc/man/man3/BIO_s_null.3" => [ + "doc/man3/BIO_s_null.pod" + ], + "doc/man/man3/BIO_s_socket.3" => [ + "doc/man3/BIO_s_socket.pod" + ], + "doc/man/man3/BIO_set_callback.3" => [ + "doc/man3/BIO_set_callback.pod" + ], + "doc/man/man3/BIO_should_retry.3" => [ + "doc/man3/BIO_should_retry.pod" + ], + "doc/man/man3/BIO_socket_wait.3" => [ + "doc/man3/BIO_socket_wait.pod" + ], + "doc/man/man3/BN_BLINDING_new.3" => [ + "doc/man3/BN_BLINDING_new.pod" + ], + "doc/man/man3/BN_CTX_new.3" => [ + "doc/man3/BN_CTX_new.pod" + ], + "doc/man/man3/BN_CTX_start.3" => [ + "doc/man3/BN_CTX_start.pod" + ], + "doc/man/man3/BN_add.3" => [ + "doc/man3/BN_add.pod" + ], + "doc/man/man3/BN_add_word.3" => [ + "doc/man3/BN_add_word.pod" + ], + "doc/man/man3/BN_bn2bin.3" => [ + "doc/man3/BN_bn2bin.pod" + ], + "doc/man/man3/BN_cmp.3" => [ + "doc/man3/BN_cmp.pod" + ], + "doc/man/man3/BN_copy.3" => [ + "doc/man3/BN_copy.pod" + ], + "doc/man/man3/BN_generate_prime.3" => [ + "doc/man3/BN_generate_prime.pod" + ], + "doc/man/man3/BN_mod_exp_mont.3" => [ + "doc/man3/BN_mod_exp_mont.pod" + ], + "doc/man/man3/BN_mod_inverse.3" => [ + "doc/man3/BN_mod_inverse.pod" + ], + "doc/man/man3/BN_mod_mul_montgomery.3" => [ + "doc/man3/BN_mod_mul_montgomery.pod" + ], + "doc/man/man3/BN_mod_mul_reciprocal.3" => [ + "doc/man3/BN_mod_mul_reciprocal.pod" + ], + "doc/man/man3/BN_new.3" => [ + "doc/man3/BN_new.pod" + ], + "doc/man/man3/BN_num_bytes.3" => [ + "doc/man3/BN_num_bytes.pod" + ], + "doc/man/man3/BN_rand.3" => [ + "doc/man3/BN_rand.pod" + ], + "doc/man/man3/BN_security_bits.3" => [ + "doc/man3/BN_security_bits.pod" + ], + "doc/man/man3/BN_set_bit.3" => [ + "doc/man3/BN_set_bit.pod" + ], + "doc/man/man3/BN_swap.3" => [ + "doc/man3/BN_swap.pod" + ], + "doc/man/man3/BN_zero.3" => [ + "doc/man3/BN_zero.pod" + ], + "doc/man/man3/BUF_MEM_new.3" => [ + "doc/man3/BUF_MEM_new.pod" + ], + "doc/man/man3/CMS_EncryptedData_decrypt.3" => [ + "doc/man3/CMS_EncryptedData_decrypt.pod" + ], + "doc/man/man3/CMS_EncryptedData_encrypt.3" => [ + "doc/man3/CMS_EncryptedData_encrypt.pod" + ], + "doc/man/man3/CMS_EnvelopedData_create.3" => [ + "doc/man3/CMS_EnvelopedData_create.pod" + ], + "doc/man/man3/CMS_add0_cert.3" => [ + "doc/man3/CMS_add0_cert.pod" + ], + "doc/man/man3/CMS_add1_recipient_cert.3" => [ + "doc/man3/CMS_add1_recipient_cert.pod" + ], + "doc/man/man3/CMS_add1_signer.3" => [ + "doc/man3/CMS_add1_signer.pod" + ], + "doc/man/man3/CMS_compress.3" => [ + "doc/man3/CMS_compress.pod" + ], + "doc/man/man3/CMS_data_create.3" => [ + "doc/man3/CMS_data_create.pod" + ], + "doc/man/man3/CMS_decrypt.3" => [ + "doc/man3/CMS_decrypt.pod" + ], + "doc/man/man3/CMS_digest_create.3" => [ + "doc/man3/CMS_digest_create.pod" + ], + "doc/man/man3/CMS_encrypt.3" => [ + "doc/man3/CMS_encrypt.pod" + ], + "doc/man/man3/CMS_final.3" => [ + "doc/man3/CMS_final.pod" + ], + "doc/man/man3/CMS_get0_RecipientInfos.3" => [ + "doc/man3/CMS_get0_RecipientInfos.pod" + ], + "doc/man/man3/CMS_get0_SignerInfos.3" => [ + "doc/man3/CMS_get0_SignerInfos.pod" + ], + "doc/man/man3/CMS_get0_type.3" => [ + "doc/man3/CMS_get0_type.pod" + ], + "doc/man/man3/CMS_get1_ReceiptRequest.3" => [ + "doc/man3/CMS_get1_ReceiptRequest.pod" + ], + "doc/man/man3/CMS_sign.3" => [ + "doc/man3/CMS_sign.pod" + ], + "doc/man/man3/CMS_sign_receipt.3" => [ + "doc/man3/CMS_sign_receipt.pod" + ], + "doc/man/man3/CMS_uncompress.3" => [ + "doc/man3/CMS_uncompress.pod" + ], + "doc/man/man3/CMS_verify.3" => [ + "doc/man3/CMS_verify.pod" + ], + "doc/man/man3/CMS_verify_receipt.3" => [ + "doc/man3/CMS_verify_receipt.pod" + ], + "doc/man/man3/CONF_modules_free.3" => [ + "doc/man3/CONF_modules_free.pod" + ], + "doc/man/man3/CONF_modules_load_file.3" => [ + "doc/man3/CONF_modules_load_file.pod" + ], + "doc/man/man3/CRYPTO_THREAD_run_once.3" => [ + "doc/man3/CRYPTO_THREAD_run_once.pod" + ], + "doc/man/man3/CRYPTO_get_ex_new_index.3" => [ + "doc/man3/CRYPTO_get_ex_new_index.pod" + ], + "doc/man/man3/CRYPTO_memcmp.3" => [ + "doc/man3/CRYPTO_memcmp.pod" + ], + "doc/man/man3/CTLOG_STORE_get0_log_by_id.3" => [ + "doc/man3/CTLOG_STORE_get0_log_by_id.pod" + ], + "doc/man/man3/CTLOG_STORE_new.3" => [ + "doc/man3/CTLOG_STORE_new.pod" + ], + "doc/man/man3/CTLOG_new.3" => [ + "doc/man3/CTLOG_new.pod" + ], + "doc/man/man3/CT_POLICY_EVAL_CTX_new.3" => [ + "doc/man3/CT_POLICY_EVAL_CTX_new.pod" + ], + "doc/man/man3/DEFINE_STACK_OF.3" => [ + "doc/man3/DEFINE_STACK_OF.pod" + ], + "doc/man/man3/DES_random_key.3" => [ + "doc/man3/DES_random_key.pod" + ], + "doc/man/man3/DH_generate_key.3" => [ + "doc/man3/DH_generate_key.pod" + ], + "doc/man/man3/DH_generate_parameters.3" => [ + "doc/man3/DH_generate_parameters.pod" + ], + "doc/man/man3/DH_get0_pqg.3" => [ + "doc/man3/DH_get0_pqg.pod" + ], + "doc/man/man3/DH_get_1024_160.3" => [ + "doc/man3/DH_get_1024_160.pod" + ], + "doc/man/man3/DH_meth_new.3" => [ + "doc/man3/DH_meth_new.pod" + ], + "doc/man/man3/DH_new.3" => [ + "doc/man3/DH_new.pod" + ], + "doc/man/man3/DH_new_by_nid.3" => [ + "doc/man3/DH_new_by_nid.pod" + ], + "doc/man/man3/DH_set_method.3" => [ + "doc/man3/DH_set_method.pod" + ], + "doc/man/man3/DH_size.3" => [ + "doc/man3/DH_size.pod" + ], + "doc/man/man3/DSA_SIG_new.3" => [ + "doc/man3/DSA_SIG_new.pod" + ], + "doc/man/man3/DSA_do_sign.3" => [ + "doc/man3/DSA_do_sign.pod" + ], + "doc/man/man3/DSA_dup_DH.3" => [ + "doc/man3/DSA_dup_DH.pod" + ], + "doc/man/man3/DSA_generate_key.3" => [ + "doc/man3/DSA_generate_key.pod" + ], + "doc/man/man3/DSA_generate_parameters.3" => [ + "doc/man3/DSA_generate_parameters.pod" + ], + "doc/man/man3/DSA_get0_pqg.3" => [ + "doc/man3/DSA_get0_pqg.pod" + ], + "doc/man/man3/DSA_meth_new.3" => [ + "doc/man3/DSA_meth_new.pod" + ], + "doc/man/man3/DSA_new.3" => [ + "doc/man3/DSA_new.pod" + ], + "doc/man/man3/DSA_set_method.3" => [ + "doc/man3/DSA_set_method.pod" + ], + "doc/man/man3/DSA_sign.3" => [ + "doc/man3/DSA_sign.pod" + ], + "doc/man/man3/DSA_size.3" => [ + "doc/man3/DSA_size.pod" + ], + "doc/man/man3/DTLS_get_data_mtu.3" => [ + "doc/man3/DTLS_get_data_mtu.pod" + ], + "doc/man/man3/DTLS_set_timer_cb.3" => [ + "doc/man3/DTLS_set_timer_cb.pod" + ], + "doc/man/man3/DTLSv1_listen.3" => [ + "doc/man3/DTLSv1_listen.pod" + ], + "doc/man/man3/ECDSA_SIG_new.3" => [ + "doc/man3/ECDSA_SIG_new.pod" + ], + "doc/man/man3/ECDSA_sign.3" => [ + "doc/man3/ECDSA_sign.pod" + ], + "doc/man/man3/ECPKParameters_print.3" => [ + "doc/man3/ECPKParameters_print.pod" + ], + "doc/man/man3/EC_GFp_simple_method.3" => [ + "doc/man3/EC_GFp_simple_method.pod" + ], + "doc/man/man3/EC_GROUP_copy.3" => [ + "doc/man3/EC_GROUP_copy.pod" + ], + "doc/man/man3/EC_GROUP_new.3" => [ + "doc/man3/EC_GROUP_new.pod" + ], + "doc/man/man3/EC_KEY_get_enc_flags.3" => [ + "doc/man3/EC_KEY_get_enc_flags.pod" + ], + "doc/man/man3/EC_KEY_new.3" => [ + "doc/man3/EC_KEY_new.pod" + ], + "doc/man/man3/EC_POINT_add.3" => [ + "doc/man3/EC_POINT_add.pod" + ], + "doc/man/man3/EC_POINT_new.3" => [ + "doc/man3/EC_POINT_new.pod" + ], + "doc/man/man3/ENGINE_add.3" => [ + "doc/man3/ENGINE_add.pod" + ], + "doc/man/man3/ERR_GET_LIB.3" => [ + "doc/man3/ERR_GET_LIB.pod" + ], + "doc/man/man3/ERR_clear_error.3" => [ + "doc/man3/ERR_clear_error.pod" + ], + "doc/man/man3/ERR_error_string.3" => [ + "doc/man3/ERR_error_string.pod" + ], + "doc/man/man3/ERR_get_error.3" => [ + "doc/man3/ERR_get_error.pod" + ], + "doc/man/man3/ERR_load_crypto_strings.3" => [ + "doc/man3/ERR_load_crypto_strings.pod" + ], + "doc/man/man3/ERR_load_strings.3" => [ + "doc/man3/ERR_load_strings.pod" + ], + "doc/man/man3/ERR_new.3" => [ + "doc/man3/ERR_new.pod" + ], + "doc/man/man3/ERR_print_errors.3" => [ + "doc/man3/ERR_print_errors.pod" + ], + "doc/man/man3/ERR_put_error.3" => [ + "doc/man3/ERR_put_error.pod" + ], + "doc/man/man3/ERR_remove_state.3" => [ + "doc/man3/ERR_remove_state.pod" + ], + "doc/man/man3/ERR_set_mark.3" => [ + "doc/man3/ERR_set_mark.pod" + ], + "doc/man/man3/EVP_ASYM_CIPHER_free.3" => [ + "doc/man3/EVP_ASYM_CIPHER_free.pod" + ], + "doc/man/man3/EVP_BytesToKey.3" => [ + "doc/man3/EVP_BytesToKey.pod" + ], + "doc/man/man3/EVP_CIPHER_CTX_get_cipher_data.3" => [ + "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod" + ], + "doc/man/man3/EVP_CIPHER_CTX_get_original_iv.3" => [ + "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod" + ], + "doc/man/man3/EVP_CIPHER_meth_new.3" => [ + "doc/man3/EVP_CIPHER_meth_new.pod" + ], + "doc/man/man3/EVP_DigestInit.3" => [ + "doc/man3/EVP_DigestInit.pod" + ], + "doc/man/man3/EVP_DigestSignInit.3" => [ + "doc/man3/EVP_DigestSignInit.pod" + ], + "doc/man/man3/EVP_DigestVerifyInit.3" => [ + "doc/man3/EVP_DigestVerifyInit.pod" + ], + "doc/man/man3/EVP_EncodeInit.3" => [ + "doc/man3/EVP_EncodeInit.pod" + ], + "doc/man/man3/EVP_EncryptInit.3" => [ + "doc/man3/EVP_EncryptInit.pod" + ], + "doc/man/man3/EVP_KDF.3" => [ + "doc/man3/EVP_KDF.pod" + ], + "doc/man/man3/EVP_KEM_free.3" => [ + "doc/man3/EVP_KEM_free.pod" + ], + "doc/man/man3/EVP_KEYEXCH_free.3" => [ + "doc/man3/EVP_KEYEXCH_free.pod" + ], + "doc/man/man3/EVP_KEYMGMT.3" => [ + "doc/man3/EVP_KEYMGMT.pod" + ], + "doc/man/man3/EVP_MAC.3" => [ + "doc/man3/EVP_MAC.pod" + ], + "doc/man/man3/EVP_MD_meth_new.3" => [ + "doc/man3/EVP_MD_meth_new.pod" + ], + "doc/man/man3/EVP_OpenInit.3" => [ + "doc/man3/EVP_OpenInit.pod" + ], + "doc/man/man3/EVP_PBE_CipherInit.3" => [ + "doc/man3/EVP_PBE_CipherInit.pod" + ], + "doc/man/man3/EVP_PKEY2PKCS8.3" => [ + "doc/man3/EVP_PKEY2PKCS8.pod" + ], + "doc/man/man3/EVP_PKEY_ASN1_METHOD.3" => [ + "doc/man3/EVP_PKEY_ASN1_METHOD.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_ctrl.3" => [ + "doc/man3/EVP_PKEY_CTX_ctrl.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_get0_libctx.3" => [ + "doc/man3/EVP_PKEY_CTX_get0_libctx.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_get0_pkey.3" => [ + "doc/man3/EVP_PKEY_CTX_get0_pkey.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_new.3" => [ + "doc/man3/EVP_PKEY_CTX_new.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3" => [ + "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_hkdf_md.3" => [ + "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_params.3" => [ + "doc/man3/EVP_PKEY_CTX_set_params.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3" => [ + "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_scrypt_N.3" => [ + "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod" + ], + "doc/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3" => [ + "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod" + ], + "doc/man/man3/EVP_PKEY_asn1_get_count.3" => [ + "doc/man3/EVP_PKEY_asn1_get_count.pod" + ], + "doc/man/man3/EVP_PKEY_check.3" => [ + "doc/man3/EVP_PKEY_check.pod" + ], + "doc/man/man3/EVP_PKEY_copy_parameters.3" => [ + "doc/man3/EVP_PKEY_copy_parameters.pod" + ], + "doc/man/man3/EVP_PKEY_decapsulate.3" => [ + "doc/man3/EVP_PKEY_decapsulate.pod" + ], + "doc/man/man3/EVP_PKEY_decrypt.3" => [ + "doc/man3/EVP_PKEY_decrypt.pod" + ], + "doc/man/man3/EVP_PKEY_derive.3" => [ + "doc/man3/EVP_PKEY_derive.pod" + ], + "doc/man/man3/EVP_PKEY_digestsign_supports_digest.3" => [ + "doc/man3/EVP_PKEY_digestsign_supports_digest.pod" + ], + "doc/man/man3/EVP_PKEY_encapsulate.3" => [ + "doc/man3/EVP_PKEY_encapsulate.pod" + ], + "doc/man/man3/EVP_PKEY_encrypt.3" => [ + "doc/man3/EVP_PKEY_encrypt.pod" + ], + "doc/man/man3/EVP_PKEY_fromdata.3" => [ + "doc/man3/EVP_PKEY_fromdata.pod" + ], + "doc/man/man3/EVP_PKEY_get_default_digest_nid.3" => [ + "doc/man3/EVP_PKEY_get_default_digest_nid.pod" + ], + "doc/man/man3/EVP_PKEY_get_field_type.3" => [ + "doc/man3/EVP_PKEY_get_field_type.pod" + ], + "doc/man/man3/EVP_PKEY_get_group_name.3" => [ + "doc/man3/EVP_PKEY_get_group_name.pod" + ], + "doc/man/man3/EVP_PKEY_get_size.3" => [ + "doc/man3/EVP_PKEY_get_size.pod" + ], + "doc/man/man3/EVP_PKEY_gettable_params.3" => [ + "doc/man3/EVP_PKEY_gettable_params.pod" + ], + "doc/man/man3/EVP_PKEY_is_a.3" => [ + "doc/man3/EVP_PKEY_is_a.pod" + ], + "doc/man/man3/EVP_PKEY_keygen.3" => [ + "doc/man3/EVP_PKEY_keygen.pod" + ], + "doc/man/man3/EVP_PKEY_meth_get_count.3" => [ + "doc/man3/EVP_PKEY_meth_get_count.pod" + ], + "doc/man/man3/EVP_PKEY_meth_new.3" => [ + "doc/man3/EVP_PKEY_meth_new.pod" + ], + "doc/man/man3/EVP_PKEY_new.3" => [ + "doc/man3/EVP_PKEY_new.pod" + ], + "doc/man/man3/EVP_PKEY_print_private.3" => [ + "doc/man3/EVP_PKEY_print_private.pod" + ], + "doc/man/man3/EVP_PKEY_set1_RSA.3" => [ + "doc/man3/EVP_PKEY_set1_RSA.pod" + ], + "doc/man/man3/EVP_PKEY_set1_encoded_public_key.3" => [ + "doc/man3/EVP_PKEY_set1_encoded_public_key.pod" + ], + "doc/man/man3/EVP_PKEY_set_type.3" => [ + "doc/man3/EVP_PKEY_set_type.pod" + ], + "doc/man/man3/EVP_PKEY_settable_params.3" => [ + "doc/man3/EVP_PKEY_settable_params.pod" + ], + "doc/man/man3/EVP_PKEY_sign.3" => [ + "doc/man3/EVP_PKEY_sign.pod" + ], + "doc/man/man3/EVP_PKEY_todata.3" => [ + "doc/man3/EVP_PKEY_todata.pod" + ], + "doc/man/man3/EVP_PKEY_verify.3" => [ + "doc/man3/EVP_PKEY_verify.pod" + ], + "doc/man/man3/EVP_PKEY_verify_recover.3" => [ + "doc/man3/EVP_PKEY_verify_recover.pod" + ], + "doc/man/man3/EVP_RAND.3" => [ + "doc/man3/EVP_RAND.pod" + ], + "doc/man/man3/EVP_SIGNATURE.3" => [ + "doc/man3/EVP_SIGNATURE.pod" + ], + "doc/man/man3/EVP_SealInit.3" => [ + "doc/man3/EVP_SealInit.pod" + ], + "doc/man/man3/EVP_SignInit.3" => [ + "doc/man3/EVP_SignInit.pod" + ], + "doc/man/man3/EVP_VerifyInit.3" => [ + "doc/man3/EVP_VerifyInit.pod" + ], + "doc/man/man3/EVP_aes_128_gcm.3" => [ + "doc/man3/EVP_aes_128_gcm.pod" + ], + "doc/man/man3/EVP_aria_128_gcm.3" => [ + "doc/man3/EVP_aria_128_gcm.pod" + ], + "doc/man/man3/EVP_bf_cbc.3" => [ + "doc/man3/EVP_bf_cbc.pod" + ], + "doc/man/man3/EVP_blake2b512.3" => [ + "doc/man3/EVP_blake2b512.pod" + ], + "doc/man/man3/EVP_camellia_128_ecb.3" => [ + "doc/man3/EVP_camellia_128_ecb.pod" + ], + "doc/man/man3/EVP_cast5_cbc.3" => [ + "doc/man3/EVP_cast5_cbc.pod" + ], + "doc/man/man3/EVP_chacha20.3" => [ + "doc/man3/EVP_chacha20.pod" + ], + "doc/man/man3/EVP_des_cbc.3" => [ + "doc/man3/EVP_des_cbc.pod" + ], + "doc/man/man3/EVP_desx_cbc.3" => [ + "doc/man3/EVP_desx_cbc.pod" + ], + "doc/man/man3/EVP_idea_cbc.3" => [ + "doc/man3/EVP_idea_cbc.pod" + ], + "doc/man/man3/EVP_md2.3" => [ + "doc/man3/EVP_md2.pod" + ], + "doc/man/man3/EVP_md4.3" => [ + "doc/man3/EVP_md4.pod" + ], + "doc/man/man3/EVP_md5.3" => [ + "doc/man3/EVP_md5.pod" + ], + "doc/man/man3/EVP_mdc2.3" => [ + "doc/man3/EVP_mdc2.pod" + ], + "doc/man/man3/EVP_rc2_cbc.3" => [ + "doc/man3/EVP_rc2_cbc.pod" + ], + "doc/man/man3/EVP_rc4.3" => [ + "doc/man3/EVP_rc4.pod" + ], + "doc/man/man3/EVP_rc5_32_12_16_cbc.3" => [ + "doc/man3/EVP_rc5_32_12_16_cbc.pod" + ], + "doc/man/man3/EVP_ripemd160.3" => [ + "doc/man3/EVP_ripemd160.pod" + ], + "doc/man/man3/EVP_seed_cbc.3" => [ + "doc/man3/EVP_seed_cbc.pod" + ], + "doc/man/man3/EVP_set_default_properties.3" => [ + "doc/man3/EVP_set_default_properties.pod" + ], + "doc/man/man3/EVP_sha1.3" => [ + "doc/man3/EVP_sha1.pod" + ], + "doc/man/man3/EVP_sha224.3" => [ + "doc/man3/EVP_sha224.pod" + ], + "doc/man/man3/EVP_sha3_224.3" => [ + "doc/man3/EVP_sha3_224.pod" + ], + "doc/man/man3/EVP_sm3.3" => [ + "doc/man3/EVP_sm3.pod" + ], + "doc/man/man3/EVP_sm4_cbc.3" => [ + "doc/man3/EVP_sm4_cbc.pod" + ], + "doc/man/man3/EVP_whirlpool.3" => [ + "doc/man3/EVP_whirlpool.pod" + ], + "doc/man/man3/HMAC.3" => [ + "doc/man3/HMAC.pod" + ], + "doc/man/man3/MD5.3" => [ + "doc/man3/MD5.pod" + ], + "doc/man/man3/MDC2_Init.3" => [ + "doc/man3/MDC2_Init.pod" + ], + "doc/man/man3/NCONF_new_ex.3" => [ + "doc/man3/NCONF_new_ex.pod" + ], + "doc/man/man3/OBJ_nid2obj.3" => [ + "doc/man3/OBJ_nid2obj.pod" + ], + "doc/man/man3/OCSP_REQUEST_new.3" => [ + "doc/man3/OCSP_REQUEST_new.pod" + ], + "doc/man/man3/OCSP_cert_to_id.3" => [ + "doc/man3/OCSP_cert_to_id.pod" + ], + "doc/man/man3/OCSP_request_add1_nonce.3" => [ + "doc/man3/OCSP_request_add1_nonce.pod" + ], + "doc/man/man3/OCSP_resp_find_status.3" => [ + "doc/man3/OCSP_resp_find_status.pod" + ], + "doc/man/man3/OCSP_response_status.3" => [ + "doc/man3/OCSP_response_status.pod" + ], + "doc/man/man3/OCSP_sendreq_new.3" => [ + "doc/man3/OCSP_sendreq_new.pod" + ], + "doc/man/man3/OPENSSL_Applink.3" => [ + "doc/man3/OPENSSL_Applink.pod" + ], + "doc/man/man3/OPENSSL_FILE.3" => [ + "doc/man3/OPENSSL_FILE.pod" + ], + "doc/man/man3/OPENSSL_LH_COMPFUNC.3" => [ + "doc/man3/OPENSSL_LH_COMPFUNC.pod" + ], + "doc/man/man3/OPENSSL_LH_stats.3" => [ + "doc/man3/OPENSSL_LH_stats.pod" + ], + "doc/man/man3/OPENSSL_config.3" => [ + "doc/man3/OPENSSL_config.pod" + ], + "doc/man/man3/OPENSSL_fork_prepare.3" => [ + "doc/man3/OPENSSL_fork_prepare.pod" + ], + "doc/man/man3/OPENSSL_gmtime.3" => [ + "doc/man3/OPENSSL_gmtime.pod" + ], + "doc/man/man3/OPENSSL_hexchar2int.3" => [ + "doc/man3/OPENSSL_hexchar2int.pod" + ], + "doc/man/man3/OPENSSL_ia32cap.3" => [ + "doc/man3/OPENSSL_ia32cap.pod" + ], + "doc/man/man3/OPENSSL_init_crypto.3" => [ + "doc/man3/OPENSSL_init_crypto.pod" + ], + "doc/man/man3/OPENSSL_init_ssl.3" => [ + "doc/man3/OPENSSL_init_ssl.pod" + ], + "doc/man/man3/OPENSSL_instrument_bus.3" => [ + "doc/man3/OPENSSL_instrument_bus.pod" + ], + "doc/man/man3/OPENSSL_load_builtin_modules.3" => [ + "doc/man3/OPENSSL_load_builtin_modules.pod" + ], + "doc/man/man3/OPENSSL_malloc.3" => [ + "doc/man3/OPENSSL_malloc.pod" + ], + "doc/man/man3/OPENSSL_s390xcap.3" => [ + "doc/man3/OPENSSL_s390xcap.pod" + ], + "doc/man/man3/OPENSSL_secure_malloc.3" => [ + "doc/man3/OPENSSL_secure_malloc.pod" + ], + "doc/man/man3/OPENSSL_strcasecmp.3" => [ + "doc/man3/OPENSSL_strcasecmp.pod" + ], + "doc/man/man3/OSSL_ALGORITHM.3" => [ + "doc/man3/OSSL_ALGORITHM.pod" + ], + "doc/man/man3/OSSL_CALLBACK.3" => [ + "doc/man3/OSSL_CALLBACK.pod" + ], + "doc/man/man3/OSSL_CMP_CTX_new.3" => [ + "doc/man3/OSSL_CMP_CTX_new.pod" + ], + "doc/man/man3/OSSL_CMP_HDR_get0_transactionID.3" => [ + "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod" + ], + "doc/man/man3/OSSL_CMP_ITAV_set0.3" => [ + "doc/man3/OSSL_CMP_ITAV_set0.pod" + ], + "doc/man/man3/OSSL_CMP_MSG_get0_header.3" => [ + "doc/man3/OSSL_CMP_MSG_get0_header.pod" + ], + "doc/man/man3/OSSL_CMP_MSG_http_perform.3" => [ + "doc/man3/OSSL_CMP_MSG_http_perform.pod" + ], + "doc/man/man3/OSSL_CMP_SRV_CTX_new.3" => [ + "doc/man3/OSSL_CMP_SRV_CTX_new.pod" + ], + "doc/man/man3/OSSL_CMP_STATUSINFO_new.3" => [ + "doc/man3/OSSL_CMP_STATUSINFO_new.pod" + ], + "doc/man/man3/OSSL_CMP_exec_certreq.3" => [ + "doc/man3/OSSL_CMP_exec_certreq.pod" + ], + "doc/man/man3/OSSL_CMP_log_open.3" => [ + "doc/man3/OSSL_CMP_log_open.pod" + ], + "doc/man/man3/OSSL_CMP_validate_msg.3" => [ + "doc/man3/OSSL_CMP_validate_msg.pod" + ], + "doc/man/man3/OSSL_CORE_MAKE_FUNC.3" => [ + "doc/man3/OSSL_CORE_MAKE_FUNC.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_get0_tmpl.3" => [ + "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_set0_validity.3" => [ + "doc/man3/OSSL_CRMF_MSG_set0_validity.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod" + ], + "doc/man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3" => [ + "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod" + ], + "doc/man/man3/OSSL_CRMF_pbmp_new.3" => [ + "doc/man3/OSSL_CRMF_pbmp_new.pod" + ], + "doc/man/man3/OSSL_DECODER.3" => [ + "doc/man3/OSSL_DECODER.pod" + ], + "doc/man/man3/OSSL_DECODER_CTX.3" => [ + "doc/man3/OSSL_DECODER_CTX.pod" + ], + "doc/man/man3/OSSL_DECODER_CTX_new_for_pkey.3" => [ + "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod" + ], + "doc/man/man3/OSSL_DECODER_from_bio.3" => [ + "doc/man3/OSSL_DECODER_from_bio.pod" + ], + "doc/man/man3/OSSL_DISPATCH.3" => [ + "doc/man3/OSSL_DISPATCH.pod" + ], + "doc/man/man3/OSSL_ENCODER.3" => [ + "doc/man3/OSSL_ENCODER.pod" + ], + "doc/man/man3/OSSL_ENCODER_CTX.3" => [ + "doc/man3/OSSL_ENCODER_CTX.pod" + ], + "doc/man/man3/OSSL_ENCODER_CTX_new_for_pkey.3" => [ + "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod" + ], + "doc/man/man3/OSSL_ENCODER_to_bio.3" => [ + "doc/man3/OSSL_ENCODER_to_bio.pod" + ], + "doc/man/man3/OSSL_ESS_check_signing_certs.3" => [ + "doc/man3/OSSL_ESS_check_signing_certs.pod" + ], + "doc/man/man3/OSSL_HTTP_REQ_CTX.3" => [ + "doc/man3/OSSL_HTTP_REQ_CTX.pod" + ], + "doc/man/man3/OSSL_HTTP_parse_url.3" => [ + "doc/man3/OSSL_HTTP_parse_url.pod" + ], + "doc/man/man3/OSSL_HTTP_transfer.3" => [ + "doc/man3/OSSL_HTTP_transfer.pod" + ], + "doc/man/man3/OSSL_ITEM.3" => [ + "doc/man3/OSSL_ITEM.pod" + ], + "doc/man/man3/OSSL_LIB_CTX.3" => [ + "doc/man3/OSSL_LIB_CTX.pod" + ], + "doc/man/man3/OSSL_PARAM.3" => [ + "doc/man3/OSSL_PARAM.pod" + ], + "doc/man/man3/OSSL_PARAM_BLD.3" => [ + "doc/man3/OSSL_PARAM_BLD.pod" + ], + "doc/man/man3/OSSL_PARAM_allocate_from_text.3" => [ + "doc/man3/OSSL_PARAM_allocate_from_text.pod" + ], + "doc/man/man3/OSSL_PARAM_dup.3" => [ + "doc/man3/OSSL_PARAM_dup.pod" + ], + "doc/man/man3/OSSL_PARAM_int.3" => [ + "doc/man3/OSSL_PARAM_int.pod" + ], + "doc/man/man3/OSSL_PROVIDER.3" => [ + "doc/man3/OSSL_PROVIDER.pod" + ], + "doc/man/man3/OSSL_SELF_TEST_new.3" => [ + "doc/man3/OSSL_SELF_TEST_new.pod" + ], + "doc/man/man3/OSSL_SELF_TEST_set_callback.3" => [ + "doc/man3/OSSL_SELF_TEST_set_callback.pod" + ], + "doc/man/man3/OSSL_STORE_INFO.3" => [ + "doc/man3/OSSL_STORE_INFO.pod" + ], + "doc/man/man3/OSSL_STORE_LOADER.3" => [ + "doc/man3/OSSL_STORE_LOADER.pod" + ], + "doc/man/man3/OSSL_STORE_SEARCH.3" => [ + "doc/man3/OSSL_STORE_SEARCH.pod" + ], + "doc/man/man3/OSSL_STORE_attach.3" => [ + "doc/man3/OSSL_STORE_attach.pod" + ], + "doc/man/man3/OSSL_STORE_expect.3" => [ + "doc/man3/OSSL_STORE_expect.pod" + ], + "doc/man/man3/OSSL_STORE_open.3" => [ + "doc/man3/OSSL_STORE_open.pod" + ], + "doc/man/man3/OSSL_trace_enabled.3" => [ + "doc/man3/OSSL_trace_enabled.pod" + ], + "doc/man/man3/OSSL_trace_get_category_num.3" => [ + "doc/man3/OSSL_trace_get_category_num.pod" + ], + "doc/man/man3/OSSL_trace_set_channel.3" => [ + "doc/man3/OSSL_trace_set_channel.pod" + ], + "doc/man/man3/OpenSSL_add_all_algorithms.3" => [ + "doc/man3/OpenSSL_add_all_algorithms.pod" + ], + "doc/man/man3/OpenSSL_version.3" => [ + "doc/man3/OpenSSL_version.pod" + ], + "doc/man/man3/PEM_X509_INFO_read_bio_ex.3" => [ + "doc/man3/PEM_X509_INFO_read_bio_ex.pod" + ], + "doc/man/man3/PEM_bytes_read_bio.3" => [ + "doc/man3/PEM_bytes_read_bio.pod" + ], + "doc/man/man3/PEM_read.3" => [ + "doc/man3/PEM_read.pod" + ], + "doc/man/man3/PEM_read_CMS.3" => [ + "doc/man3/PEM_read_CMS.pod" + ], + "doc/man/man3/PEM_read_bio_PrivateKey.3" => [ + "doc/man3/PEM_read_bio_PrivateKey.pod" + ], + "doc/man/man3/PEM_read_bio_ex.3" => [ + "doc/man3/PEM_read_bio_ex.pod" + ], + "doc/man/man3/PEM_write_bio_CMS_stream.3" => [ + "doc/man3/PEM_write_bio_CMS_stream.pod" + ], + "doc/man/man3/PEM_write_bio_PKCS7_stream.3" => [ + "doc/man3/PEM_write_bio_PKCS7_stream.pod" + ], + "doc/man/man3/PKCS12_PBE_keyivgen.3" => [ + "doc/man3/PKCS12_PBE_keyivgen.pod" + ], + "doc/man/man3/PKCS12_SAFEBAG_create_cert.3" => [ + "doc/man3/PKCS12_SAFEBAG_create_cert.pod" + ], + "doc/man/man3/PKCS12_SAFEBAG_get0_attrs.3" => [ + "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod" + ], + "doc/man/man3/PKCS12_SAFEBAG_get1_cert.3" => [ + "doc/man3/PKCS12_SAFEBAG_get1_cert.pod" + ], + "doc/man/man3/PKCS12_add1_attr_by_NID.3" => [ + "doc/man3/PKCS12_add1_attr_by_NID.pod" + ], + "doc/man/man3/PKCS12_add_CSPName_asc.3" => [ + "doc/man3/PKCS12_add_CSPName_asc.pod" + ], + "doc/man/man3/PKCS12_add_cert.3" => [ + "doc/man3/PKCS12_add_cert.pod" + ], + "doc/man/man3/PKCS12_add_friendlyname_asc.3" => [ + "doc/man3/PKCS12_add_friendlyname_asc.pod" + ], + "doc/man/man3/PKCS12_add_localkeyid.3" => [ + "doc/man3/PKCS12_add_localkeyid.pod" + ], + "doc/man/man3/PKCS12_add_safe.3" => [ + "doc/man3/PKCS12_add_safe.pod" + ], + "doc/man/man3/PKCS12_create.3" => [ + "doc/man3/PKCS12_create.pod" + ], + "doc/man/man3/PKCS12_decrypt_skey.3" => [ + "doc/man3/PKCS12_decrypt_skey.pod" + ], + "doc/man/man3/PKCS12_gen_mac.3" => [ + "doc/man3/PKCS12_gen_mac.pod" + ], + "doc/man/man3/PKCS12_get_friendlyname.3" => [ + "doc/man3/PKCS12_get_friendlyname.pod" + ], + "doc/man/man3/PKCS12_init.3" => [ + "doc/man3/PKCS12_init.pod" + ], + "doc/man/man3/PKCS12_item_decrypt_d2i.3" => [ + "doc/man3/PKCS12_item_decrypt_d2i.pod" + ], + "doc/man/man3/PKCS12_key_gen_utf8_ex.3" => [ + "doc/man3/PKCS12_key_gen_utf8_ex.pod" + ], + "doc/man/man3/PKCS12_newpass.3" => [ + "doc/man3/PKCS12_newpass.pod" + ], + "doc/man/man3/PKCS12_pack_p7encdata.3" => [ + "doc/man3/PKCS12_pack_p7encdata.pod" + ], + "doc/man/man3/PKCS12_parse.3" => [ + "doc/man3/PKCS12_parse.pod" + ], + "doc/man/man3/PKCS5_PBE_keyivgen.3" => [ + "doc/man3/PKCS5_PBE_keyivgen.pod" + ], + "doc/man/man3/PKCS5_PBKDF2_HMAC.3" => [ + "doc/man3/PKCS5_PBKDF2_HMAC.pod" + ], + "doc/man/man3/PKCS7_decrypt.3" => [ + "doc/man3/PKCS7_decrypt.pod" + ], + "doc/man/man3/PKCS7_encrypt.3" => [ + "doc/man3/PKCS7_encrypt.pod" + ], + "doc/man/man3/PKCS7_get_octet_string.3" => [ + "doc/man3/PKCS7_get_octet_string.pod" + ], + "doc/man/man3/PKCS7_sign.3" => [ + "doc/man3/PKCS7_sign.pod" + ], + "doc/man/man3/PKCS7_sign_add_signer.3" => [ + "doc/man3/PKCS7_sign_add_signer.pod" + ], + "doc/man/man3/PKCS7_type_is_other.3" => [ + "doc/man3/PKCS7_type_is_other.pod" + ], + "doc/man/man3/PKCS7_verify.3" => [ + "doc/man3/PKCS7_verify.pod" + ], + "doc/man/man3/PKCS8_encrypt.3" => [ + "doc/man3/PKCS8_encrypt.pod" + ], + "doc/man/man3/PKCS8_pkey_add1_attr.3" => [ + "doc/man3/PKCS8_pkey_add1_attr.pod" + ], + "doc/man/man3/RAND_add.3" => [ + "doc/man3/RAND_add.pod" + ], + "doc/man/man3/RAND_bytes.3" => [ + "doc/man3/RAND_bytes.pod" + ], + "doc/man/man3/RAND_cleanup.3" => [ + "doc/man3/RAND_cleanup.pod" + ], + "doc/man/man3/RAND_egd.3" => [ + "doc/man3/RAND_egd.pod" + ], + "doc/man/man3/RAND_get0_primary.3" => [ + "doc/man3/RAND_get0_primary.pod" + ], + "doc/man/man3/RAND_load_file.3" => [ + "doc/man3/RAND_load_file.pod" + ], + "doc/man/man3/RAND_set_DRBG_type.3" => [ + "doc/man3/RAND_set_DRBG_type.pod" + ], + "doc/man/man3/RAND_set_rand_method.3" => [ + "doc/man3/RAND_set_rand_method.pod" + ], + "doc/man/man3/RC4_set_key.3" => [ + "doc/man3/RC4_set_key.pod" + ], + "doc/man/man3/RIPEMD160_Init.3" => [ + "doc/man3/RIPEMD160_Init.pod" + ], + "doc/man/man3/RSA_blinding_on.3" => [ + "doc/man3/RSA_blinding_on.pod" + ], + "doc/man/man3/RSA_check_key.3" => [ + "doc/man3/RSA_check_key.pod" + ], + "doc/man/man3/RSA_generate_key.3" => [ + "doc/man3/RSA_generate_key.pod" + ], + "doc/man/man3/RSA_get0_key.3" => [ + "doc/man3/RSA_get0_key.pod" + ], + "doc/man/man3/RSA_meth_new.3" => [ + "doc/man3/RSA_meth_new.pod" + ], + "doc/man/man3/RSA_new.3" => [ + "doc/man3/RSA_new.pod" + ], + "doc/man/man3/RSA_padding_add_PKCS1_type_1.3" => [ + "doc/man3/RSA_padding_add_PKCS1_type_1.pod" + ], + "doc/man/man3/RSA_print.3" => [ + "doc/man3/RSA_print.pod" + ], + "doc/man/man3/RSA_private_encrypt.3" => [ + "doc/man3/RSA_private_encrypt.pod" + ], + "doc/man/man3/RSA_public_encrypt.3" => [ + "doc/man3/RSA_public_encrypt.pod" + ], + "doc/man/man3/RSA_set_method.3" => [ + "doc/man3/RSA_set_method.pod" + ], + "doc/man/man3/RSA_sign.3" => [ + "doc/man3/RSA_sign.pod" + ], + "doc/man/man3/RSA_sign_ASN1_OCTET_STRING.3" => [ + "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod" + ], + "doc/man/man3/RSA_size.3" => [ + "doc/man3/RSA_size.pod" + ], + "doc/man/man3/SCT_new.3" => [ + "doc/man3/SCT_new.pod" + ], + "doc/man/man3/SCT_print.3" => [ + "doc/man3/SCT_print.pod" + ], + "doc/man/man3/SCT_validate.3" => [ + "doc/man3/SCT_validate.pod" + ], + "doc/man/man3/SHA256_Init.3" => [ + "doc/man3/SHA256_Init.pod" + ], + "doc/man/man3/SMIME_read_ASN1.3" => [ + "doc/man3/SMIME_read_ASN1.pod" + ], + "doc/man/man3/SMIME_read_CMS.3" => [ + "doc/man3/SMIME_read_CMS.pod" + ], + "doc/man/man3/SMIME_read_PKCS7.3" => [ + "doc/man3/SMIME_read_PKCS7.pod" + ], + "doc/man/man3/SMIME_write_ASN1.3" => [ + "doc/man3/SMIME_write_ASN1.pod" + ], + "doc/man/man3/SMIME_write_CMS.3" => [ + "doc/man3/SMIME_write_CMS.pod" + ], + "doc/man/man3/SMIME_write_PKCS7.3" => [ + "doc/man3/SMIME_write_PKCS7.pod" + ], + "doc/man/man3/SRP_Calc_B.3" => [ + "doc/man3/SRP_Calc_B.pod" + ], + "doc/man/man3/SRP_VBASE_new.3" => [ + "doc/man3/SRP_VBASE_new.pod" + ], + "doc/man/man3/SRP_create_verifier.3" => [ + "doc/man3/SRP_create_verifier.pod" + ], + "doc/man/man3/SRP_user_pwd_new.3" => [ + "doc/man3/SRP_user_pwd_new.pod" + ], + "doc/man/man3/SSL_CIPHER_get_name.3" => [ + "doc/man3/SSL_CIPHER_get_name.pod" + ], + "doc/man/man3/SSL_COMP_add_compression_method.3" => [ + "doc/man3/SSL_COMP_add_compression_method.pod" + ], + "doc/man/man3/SSL_CONF_CTX_new.3" => [ + "doc/man3/SSL_CONF_CTX_new.pod" + ], + "doc/man/man3/SSL_CONF_CTX_set1_prefix.3" => [ + "doc/man3/SSL_CONF_CTX_set1_prefix.pod" + ], + "doc/man/man3/SSL_CONF_CTX_set_flags.3" => [ + "doc/man3/SSL_CONF_CTX_set_flags.pod" + ], + "doc/man/man3/SSL_CONF_CTX_set_ssl_ctx.3" => [ + "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod" + ], + "doc/man/man3/SSL_CONF_cmd.3" => [ + "doc/man3/SSL_CONF_cmd.pod" + ], + "doc/man/man3/SSL_CONF_cmd_argv.3" => [ + "doc/man3/SSL_CONF_cmd_argv.pod" + ], + "doc/man/man3/SSL_CTX_add1_chain_cert.3" => [ + "doc/man3/SSL_CTX_add1_chain_cert.pod" + ], + "doc/man/man3/SSL_CTX_add_extra_chain_cert.3" => [ + "doc/man3/SSL_CTX_add_extra_chain_cert.pod" + ], + "doc/man/man3/SSL_CTX_add_session.3" => [ + "doc/man3/SSL_CTX_add_session.pod" + ], + "doc/man/man3/SSL_CTX_config.3" => [ + "doc/man3/SSL_CTX_config.pod" + ], + "doc/man/man3/SSL_CTX_ctrl.3" => [ + "doc/man3/SSL_CTX_ctrl.pod" + ], + "doc/man/man3/SSL_CTX_dane_enable.3" => [ + "doc/man3/SSL_CTX_dane_enable.pod" + ], + "doc/man/man3/SSL_CTX_flush_sessions.3" => [ + "doc/man3/SSL_CTX_flush_sessions.pod" + ], + "doc/man/man3/SSL_CTX_free.3" => [ + "doc/man3/SSL_CTX_free.pod" + ], + "doc/man/man3/SSL_CTX_get0_param.3" => [ + "doc/man3/SSL_CTX_get0_param.pod" + ], + "doc/man/man3/SSL_CTX_get_verify_mode.3" => [ + "doc/man3/SSL_CTX_get_verify_mode.pod" + ], + "doc/man/man3/SSL_CTX_has_client_custom_ext.3" => [ + "doc/man3/SSL_CTX_has_client_custom_ext.pod" + ], + "doc/man/man3/SSL_CTX_load_verify_locations.3" => [ + "doc/man3/SSL_CTX_load_verify_locations.pod" + ], + "doc/man/man3/SSL_CTX_new.3" => [ + "doc/man3/SSL_CTX_new.pod" + ], + "doc/man/man3/SSL_CTX_sess_number.3" => [ + "doc/man3/SSL_CTX_sess_number.pod" + ], + "doc/man/man3/SSL_CTX_sess_set_cache_size.3" => [ + "doc/man3/SSL_CTX_sess_set_cache_size.pod" + ], + "doc/man/man3/SSL_CTX_sess_set_get_cb.3" => [ + "doc/man3/SSL_CTX_sess_set_get_cb.pod" + ], + "doc/man/man3/SSL_CTX_sessions.3" => [ + "doc/man3/SSL_CTX_sessions.pod" + ], + "doc/man/man3/SSL_CTX_set0_CA_list.3" => [ + "doc/man3/SSL_CTX_set0_CA_list.pod" + ], + "doc/man/man3/SSL_CTX_set1_curves.3" => [ + "doc/man3/SSL_CTX_set1_curves.pod" + ], + "doc/man/man3/SSL_CTX_set1_sigalgs.3" => [ + "doc/man3/SSL_CTX_set1_sigalgs.pod" + ], + "doc/man/man3/SSL_CTX_set1_verify_cert_store.3" => [ + "doc/man3/SSL_CTX_set1_verify_cert_store.pod" + ], + "doc/man/man3/SSL_CTX_set_alpn_select_cb.3" => [ + "doc/man3/SSL_CTX_set_alpn_select_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_cert_cb.3" => [ + "doc/man3/SSL_CTX_set_cert_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_cert_store.3" => [ + "doc/man3/SSL_CTX_set_cert_store.pod" + ], + "doc/man/man3/SSL_CTX_set_cert_verify_callback.3" => [ + "doc/man3/SSL_CTX_set_cert_verify_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_cipher_list.3" => [ + "doc/man3/SSL_CTX_set_cipher_list.pod" + ], + "doc/man/man3/SSL_CTX_set_client_cert_cb.3" => [ + "doc/man3/SSL_CTX_set_client_cert_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_client_hello_cb.3" => [ + "doc/man3/SSL_CTX_set_client_hello_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_ct_validation_callback.3" => [ + "doc/man3/SSL_CTX_set_ct_validation_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_ctlog_list_file.3" => [ + "doc/man3/SSL_CTX_set_ctlog_list_file.pod" + ], + "doc/man/man3/SSL_CTX_set_default_passwd_cb.3" => [ + "doc/man3/SSL_CTX_set_default_passwd_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_generate_session_id.3" => [ + "doc/man3/SSL_CTX_set_generate_session_id.pod" + ], + "doc/man/man3/SSL_CTX_set_info_callback.3" => [ + "doc/man3/SSL_CTX_set_info_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_keylog_callback.3" => [ + "doc/man3/SSL_CTX_set_keylog_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_max_cert_list.3" => [ + "doc/man3/SSL_CTX_set_max_cert_list.pod" + ], + "doc/man/man3/SSL_CTX_set_min_proto_version.3" => [ + "doc/man3/SSL_CTX_set_min_proto_version.pod" + ], + "doc/man/man3/SSL_CTX_set_mode.3" => [ + "doc/man3/SSL_CTX_set_mode.pod" + ], + "doc/man/man3/SSL_CTX_set_msg_callback.3" => [ + "doc/man3/SSL_CTX_set_msg_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_num_tickets.3" => [ + "doc/man3/SSL_CTX_set_num_tickets.pod" + ], + "doc/man/man3/SSL_CTX_set_options.3" => [ + "doc/man3/SSL_CTX_set_options.pod" + ], + "doc/man/man3/SSL_CTX_set_psk_client_callback.3" => [ + "doc/man3/SSL_CTX_set_psk_client_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_quic_method.3" => [ + "doc/man3/SSL_CTX_set_quic_method.pod" + ], + "doc/man/man3/SSL_CTX_set_quiet_shutdown.3" => [ + "doc/man3/SSL_CTX_set_quiet_shutdown.pod" + ], + "doc/man/man3/SSL_CTX_set_read_ahead.3" => [ + "doc/man3/SSL_CTX_set_read_ahead.pod" + ], + "doc/man/man3/SSL_CTX_set_record_padding_callback.3" => [ + "doc/man3/SSL_CTX_set_record_padding_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_security_level.3" => [ + "doc/man3/SSL_CTX_set_security_level.pod" + ], + "doc/man/man3/SSL_CTX_set_session_cache_mode.3" => [ + "doc/man3/SSL_CTX_set_session_cache_mode.pod" + ], + "doc/man/man3/SSL_CTX_set_session_id_context.3" => [ + "doc/man3/SSL_CTX_set_session_id_context.pod" + ], + "doc/man/man3/SSL_CTX_set_session_ticket_cb.3" => [ + "doc/man3/SSL_CTX_set_session_ticket_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_split_send_fragment.3" => [ + "doc/man3/SSL_CTX_set_split_send_fragment.pod" + ], + "doc/man/man3/SSL_CTX_set_srp_password.3" => [ + "doc/man3/SSL_CTX_set_srp_password.pod" + ], + "doc/man/man3/SSL_CTX_set_ssl_version.3" => [ + "doc/man3/SSL_CTX_set_ssl_version.pod" + ], + "doc/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3" => [ + "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_timeout.3" => [ + "doc/man3/SSL_CTX_set_timeout.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_servername_callback.3" => [ + "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_status_cb.3" => [ + "doc/man3/SSL_CTX_set_tlsext_status_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3" => [ + "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod" + ], + "doc/man/man3/SSL_CTX_set_tlsext_use_srtp.3" => [ + "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod" + ], + "doc/man/man3/SSL_CTX_set_tmp_dh_callback.3" => [ + "doc/man3/SSL_CTX_set_tmp_dh_callback.pod" + ], + "doc/man/man3/SSL_CTX_set_tmp_ecdh.3" => [ + "doc/man3/SSL_CTX_set_tmp_ecdh.pod" + ], + "doc/man/man3/SSL_CTX_set_verify.3" => [ + "doc/man3/SSL_CTX_set_verify.pod" + ], + "doc/man/man3/SSL_CTX_use_certificate.3" => [ + "doc/man3/SSL_CTX_use_certificate.pod" + ], + "doc/man/man3/SSL_CTX_use_psk_identity_hint.3" => [ + "doc/man3/SSL_CTX_use_psk_identity_hint.pod" + ], + "doc/man/man3/SSL_CTX_use_serverinfo.3" => [ + "doc/man3/SSL_CTX_use_serverinfo.pod" + ], + "doc/man/man3/SSL_SESSION_free.3" => [ + "doc/man3/SSL_SESSION_free.pod" + ], + "doc/man/man3/SSL_SESSION_get0_cipher.3" => [ + "doc/man3/SSL_SESSION_get0_cipher.pod" + ], + "doc/man/man3/SSL_SESSION_get0_hostname.3" => [ + "doc/man3/SSL_SESSION_get0_hostname.pod" + ], + "doc/man/man3/SSL_SESSION_get0_id_context.3" => [ + "doc/man3/SSL_SESSION_get0_id_context.pod" + ], + "doc/man/man3/SSL_SESSION_get0_peer.3" => [ + "doc/man3/SSL_SESSION_get0_peer.pod" + ], + "doc/man/man3/SSL_SESSION_get_compress_id.3" => [ + "doc/man3/SSL_SESSION_get_compress_id.pod" + ], + "doc/man/man3/SSL_SESSION_get_protocol_version.3" => [ + "doc/man3/SSL_SESSION_get_protocol_version.pod" + ], + "doc/man/man3/SSL_SESSION_get_time.3" => [ + "doc/man3/SSL_SESSION_get_time.pod" + ], + "doc/man/man3/SSL_SESSION_has_ticket.3" => [ + "doc/man3/SSL_SESSION_has_ticket.pod" + ], + "doc/man/man3/SSL_SESSION_is_resumable.3" => [ + "doc/man3/SSL_SESSION_is_resumable.pod" + ], + "doc/man/man3/SSL_SESSION_print.3" => [ + "doc/man3/SSL_SESSION_print.pod" + ], + "doc/man/man3/SSL_SESSION_set1_id.3" => [ + "doc/man3/SSL_SESSION_set1_id.pod" + ], + "doc/man/man3/SSL_accept.3" => [ + "doc/man3/SSL_accept.pod" + ], + "doc/man/man3/SSL_alert_type_string.3" => [ + "doc/man3/SSL_alert_type_string.pod" + ], + "doc/man/man3/SSL_alloc_buffers.3" => [ + "doc/man3/SSL_alloc_buffers.pod" + ], + "doc/man/man3/SSL_check_chain.3" => [ + "doc/man3/SSL_check_chain.pod" + ], + "doc/man/man3/SSL_clear.3" => [ + "doc/man3/SSL_clear.pod" + ], + "doc/man/man3/SSL_connect.3" => [ + "doc/man3/SSL_connect.pod" + ], + "doc/man/man3/SSL_do_handshake.3" => [ + "doc/man3/SSL_do_handshake.pod" + ], + "doc/man/man3/SSL_export_keying_material.3" => [ + "doc/man3/SSL_export_keying_material.pod" + ], + "doc/man/man3/SSL_extension_supported.3" => [ + "doc/man3/SSL_extension_supported.pod" + ], + "doc/man/man3/SSL_free.3" => [ + "doc/man3/SSL_free.pod" + ], + "doc/man/man3/SSL_get0_peer_scts.3" => [ + "doc/man3/SSL_get0_peer_scts.pod" + ], + "doc/man/man3/SSL_get_SSL_CTX.3" => [ + "doc/man3/SSL_get_SSL_CTX.pod" + ], + "doc/man/man3/SSL_get_all_async_fds.3" => [ + "doc/man3/SSL_get_all_async_fds.pod" + ], + "doc/man/man3/SSL_get_certificate.3" => [ + "doc/man3/SSL_get_certificate.pod" + ], + "doc/man/man3/SSL_get_ciphers.3" => [ + "doc/man3/SSL_get_ciphers.pod" + ], + "doc/man/man3/SSL_get_client_random.3" => [ + "doc/man3/SSL_get_client_random.pod" + ], + "doc/man/man3/SSL_get_current_cipher.3" => [ + "doc/man3/SSL_get_current_cipher.pod" + ], + "doc/man/man3/SSL_get_default_timeout.3" => [ + "doc/man3/SSL_get_default_timeout.pod" + ], + "doc/man/man3/SSL_get_error.3" => [ + "doc/man3/SSL_get_error.pod" + ], + "doc/man/man3/SSL_get_extms_support.3" => [ + "doc/man3/SSL_get_extms_support.pod" + ], + "doc/man/man3/SSL_get_fd.3" => [ + "doc/man3/SSL_get_fd.pod" + ], + "doc/man/man3/SSL_get_peer_cert_chain.3" => [ + "doc/man3/SSL_get_peer_cert_chain.pod" + ], + "doc/man/man3/SSL_get_peer_certificate.3" => [ + "doc/man3/SSL_get_peer_certificate.pod" + ], + "doc/man/man3/SSL_get_peer_signature_nid.3" => [ + "doc/man3/SSL_get_peer_signature_nid.pod" + ], + "doc/man/man3/SSL_get_peer_tmp_key.3" => [ + "doc/man3/SSL_get_peer_tmp_key.pod" + ], + "doc/man/man3/SSL_get_psk_identity.3" => [ + "doc/man3/SSL_get_psk_identity.pod" + ], + "doc/man/man3/SSL_get_rbio.3" => [ + "doc/man3/SSL_get_rbio.pod" + ], + "doc/man/man3/SSL_get_session.3" => [ + "doc/man3/SSL_get_session.pod" + ], + "doc/man/man3/SSL_get_shared_sigalgs.3" => [ + "doc/man3/SSL_get_shared_sigalgs.pod" + ], + "doc/man/man3/SSL_get_verify_result.3" => [ + "doc/man3/SSL_get_verify_result.pod" + ], + "doc/man/man3/SSL_get_version.3" => [ + "doc/man3/SSL_get_version.pod" + ], + "doc/man/man3/SSL_group_to_name.3" => [ + "doc/man3/SSL_group_to_name.pod" + ], + "doc/man/man3/SSL_in_init.3" => [ + "doc/man3/SSL_in_init.pod" + ], + "doc/man/man3/SSL_key_update.3" => [ + "doc/man3/SSL_key_update.pod" + ], + "doc/man/man3/SSL_library_init.3" => [ + "doc/man3/SSL_library_init.pod" + ], + "doc/man/man3/SSL_load_client_CA_file.3" => [ + "doc/man3/SSL_load_client_CA_file.pod" + ], + "doc/man/man3/SSL_new.3" => [ + "doc/man3/SSL_new.pod" + ], + "doc/man/man3/SSL_pending.3" => [ + "doc/man3/SSL_pending.pod" + ], + "doc/man/man3/SSL_read.3" => [ + "doc/man3/SSL_read.pod" + ], + "doc/man/man3/SSL_read_early_data.3" => [ + "doc/man3/SSL_read_early_data.pod" + ], + "doc/man/man3/SSL_rstate_string.3" => [ + "doc/man3/SSL_rstate_string.pod" + ], + "doc/man/man3/SSL_session_reused.3" => [ + "doc/man3/SSL_session_reused.pod" + ], + "doc/man/man3/SSL_set1_host.3" => [ + "doc/man3/SSL_set1_host.pod" + ], + "doc/man/man3/SSL_set_async_callback.3" => [ + "doc/man3/SSL_set_async_callback.pod" + ], + "doc/man/man3/SSL_set_bio.3" => [ + "doc/man3/SSL_set_bio.pod" + ], + "doc/man/man3/SSL_set_connect_state.3" => [ + "doc/man3/SSL_set_connect_state.pod" + ], + "doc/man/man3/SSL_set_fd.3" => [ + "doc/man3/SSL_set_fd.pod" + ], + "doc/man/man3/SSL_set_retry_verify.3" => [ + "doc/man3/SSL_set_retry_verify.pod" + ], + "doc/man/man3/SSL_set_session.3" => [ + "doc/man3/SSL_set_session.pod" + ], + "doc/man/man3/SSL_set_shutdown.3" => [ + "doc/man3/SSL_set_shutdown.pod" + ], + "doc/man/man3/SSL_set_verify_result.3" => [ + "doc/man3/SSL_set_verify_result.pod" + ], + "doc/man/man3/SSL_shutdown.3" => [ + "doc/man3/SSL_shutdown.pod" + ], + "doc/man/man3/SSL_state_string.3" => [ + "doc/man3/SSL_state_string.pod" + ], + "doc/man/man3/SSL_want.3" => [ + "doc/man3/SSL_want.pod" + ], + "doc/man/man3/SSL_write.3" => [ + "doc/man3/SSL_write.pod" + ], + "doc/man/man3/TS_RESP_CTX_new.3" => [ + "doc/man3/TS_RESP_CTX_new.pod" + ], + "doc/man/man3/TS_VERIFY_CTX_set_certs.3" => [ + "doc/man3/TS_VERIFY_CTX_set_certs.pod" + ], + "doc/man/man3/UI_STRING.3" => [ + "doc/man3/UI_STRING.pod" + ], + "doc/man/man3/UI_UTIL_read_pw.3" => [ + "doc/man3/UI_UTIL_read_pw.pod" + ], + "doc/man/man3/UI_create_method.3" => [ + "doc/man3/UI_create_method.pod" + ], + "doc/man/man3/UI_new.3" => [ + "doc/man3/UI_new.pod" + ], + "doc/man/man3/X509V3_get_d2i.3" => [ + "doc/man3/X509V3_get_d2i.pod" + ], + "doc/man/man3/X509V3_set_ctx.3" => [ + "doc/man3/X509V3_set_ctx.pod" + ], + "doc/man/man3/X509_ALGOR_dup.3" => [ + "doc/man3/X509_ALGOR_dup.pod" + ], + "doc/man/man3/X509_CRL_get0_by_serial.3" => [ + "doc/man3/X509_CRL_get0_by_serial.pod" + ], + "doc/man/man3/X509_EXTENSION_set_object.3" => [ + "doc/man3/X509_EXTENSION_set_object.pod" + ], + "doc/man/man3/X509_LOOKUP.3" => [ + "doc/man3/X509_LOOKUP.pod" + ], + "doc/man/man3/X509_LOOKUP_hash_dir.3" => [ + "doc/man3/X509_LOOKUP_hash_dir.pod" + ], + "doc/man/man3/X509_LOOKUP_meth_new.3" => [ + "doc/man3/X509_LOOKUP_meth_new.pod" + ], + "doc/man/man3/X509_NAME_ENTRY_get_object.3" => [ + "doc/man3/X509_NAME_ENTRY_get_object.pod" + ], + "doc/man/man3/X509_NAME_add_entry_by_txt.3" => [ + "doc/man3/X509_NAME_add_entry_by_txt.pod" + ], + "doc/man/man3/X509_NAME_get0_der.3" => [ + "doc/man3/X509_NAME_get0_der.pod" + ], + "doc/man/man3/X509_NAME_get_index_by_NID.3" => [ + "doc/man3/X509_NAME_get_index_by_NID.pod" + ], + "doc/man/man3/X509_NAME_print_ex.3" => [ + "doc/man3/X509_NAME_print_ex.pod" + ], + "doc/man/man3/X509_PUBKEY_new.3" => [ + "doc/man3/X509_PUBKEY_new.pod" + ], + "doc/man/man3/X509_SIG_get0.3" => [ + "doc/man3/X509_SIG_get0.pod" + ], + "doc/man/man3/X509_STORE_CTX_get_error.3" => [ + "doc/man3/X509_STORE_CTX_get_error.pod" + ], + "doc/man/man3/X509_STORE_CTX_new.3" => [ + "doc/man3/X509_STORE_CTX_new.pod" + ], + "doc/man/man3/X509_STORE_CTX_set_verify_cb.3" => [ + "doc/man3/X509_STORE_CTX_set_verify_cb.pod" + ], + "doc/man/man3/X509_STORE_add_cert.3" => [ + "doc/man3/X509_STORE_add_cert.pod" + ], + "doc/man/man3/X509_STORE_get0_param.3" => [ + "doc/man3/X509_STORE_get0_param.pod" + ], + "doc/man/man3/X509_STORE_new.3" => [ + "doc/man3/X509_STORE_new.pod" + ], + "doc/man/man3/X509_STORE_set_verify_cb_func.3" => [ + "doc/man3/X509_STORE_set_verify_cb_func.pod" + ], + "doc/man/man3/X509_VERIFY_PARAM_set_flags.3" => [ + "doc/man3/X509_VERIFY_PARAM_set_flags.pod" + ], + "doc/man/man3/X509_add_cert.3" => [ + "doc/man3/X509_add_cert.pod" + ], + "doc/man/man3/X509_check_ca.3" => [ + "doc/man3/X509_check_ca.pod" + ], + "doc/man/man3/X509_check_host.3" => [ + "doc/man3/X509_check_host.pod" + ], + "doc/man/man3/X509_check_issued.3" => [ + "doc/man3/X509_check_issued.pod" + ], + "doc/man/man3/X509_check_private_key.3" => [ + "doc/man3/X509_check_private_key.pod" + ], + "doc/man/man3/X509_check_purpose.3" => [ + "doc/man3/X509_check_purpose.pod" + ], + "doc/man/man3/X509_cmp.3" => [ + "doc/man3/X509_cmp.pod" + ], + "doc/man/man3/X509_cmp_time.3" => [ + "doc/man3/X509_cmp_time.pod" + ], + "doc/man/man3/X509_digest.3" => [ + "doc/man3/X509_digest.pod" + ], + "doc/man/man3/X509_dup.3" => [ + "doc/man3/X509_dup.pod" + ], + "doc/man/man3/X509_get0_distinguishing_id.3" => [ + "doc/man3/X509_get0_distinguishing_id.pod" + ], + "doc/man/man3/X509_get0_notBefore.3" => [ + "doc/man3/X509_get0_notBefore.pod" + ], + "doc/man/man3/X509_get0_signature.3" => [ + "doc/man3/X509_get0_signature.pod" + ], + "doc/man/man3/X509_get0_uids.3" => [ + "doc/man3/X509_get0_uids.pod" + ], + "doc/man/man3/X509_get_extension_flags.3" => [ + "doc/man3/X509_get_extension_flags.pod" + ], + "doc/man/man3/X509_get_pubkey.3" => [ + "doc/man3/X509_get_pubkey.pod" + ], + "doc/man/man3/X509_get_serialNumber.3" => [ + "doc/man3/X509_get_serialNumber.pod" + ], + "doc/man/man3/X509_get_subject_name.3" => [ + "doc/man3/X509_get_subject_name.pod" + ], + "doc/man/man3/X509_get_version.3" => [ + "doc/man3/X509_get_version.pod" + ], + "doc/man/man3/X509_load_http.3" => [ + "doc/man3/X509_load_http.pod" + ], + "doc/man/man3/X509_new.3" => [ + "doc/man3/X509_new.pod" + ], + "doc/man/man3/X509_sign.3" => [ + "doc/man3/X509_sign.pod" + ], + "doc/man/man3/X509_verify.3" => [ + "doc/man3/X509_verify.pod" + ], + "doc/man/man3/X509_verify_cert.3" => [ + "doc/man3/X509_verify_cert.pod" + ], + "doc/man/man3/X509v3_get_ext_by_NID.3" => [ + "doc/man3/X509v3_get_ext_by_NID.pod" + ], + "doc/man/man3/b2i_PVK_bio_ex.3" => [ + "doc/man3/b2i_PVK_bio_ex.pod" + ], + "doc/man/man3/d2i_PKCS8PrivateKey_bio.3" => [ + "doc/man3/d2i_PKCS8PrivateKey_bio.pod" + ], + "doc/man/man3/d2i_PrivateKey.3" => [ + "doc/man3/d2i_PrivateKey.pod" + ], + "doc/man/man3/d2i_RSAPrivateKey.3" => [ + "doc/man3/d2i_RSAPrivateKey.pod" + ], + "doc/man/man3/d2i_SSL_SESSION.3" => [ + "doc/man3/d2i_SSL_SESSION.pod" + ], + "doc/man/man3/d2i_X509.3" => [ + "doc/man3/d2i_X509.pod" + ], + "doc/man/man3/i2d_CMS_bio_stream.3" => [ + "doc/man3/i2d_CMS_bio_stream.pod" + ], + "doc/man/man3/i2d_PKCS7_bio_stream.3" => [ + "doc/man3/i2d_PKCS7_bio_stream.pod" + ], + "doc/man/man3/i2d_re_X509_tbs.3" => [ + "doc/man3/i2d_re_X509_tbs.pod" + ], + "doc/man/man3/o2i_SCT_LIST.3" => [ + "doc/man3/o2i_SCT_LIST.pod" + ], + "doc/man/man3/s2i_ASN1_IA5STRING.3" => [ + "doc/man3/s2i_ASN1_IA5STRING.pod" + ], + "doc/man/man5/config.5" => [ + "doc/man5/config.pod" + ], + "doc/man/man5/fips_config.5" => [ + "doc/man5/fips_config.pod" + ], + "doc/man/man5/x509v3_config.5" => [ + "doc/man5/x509v3_config.pod" + ], + "doc/man/man7/EVP_ASYM_CIPHER-RSA.7" => [ + "doc/man7/EVP_ASYM_CIPHER-RSA.pod" + ], + "doc/man/man7/EVP_ASYM_CIPHER-SM2.7" => [ + "doc/man7/EVP_ASYM_CIPHER-SM2.pod" + ], + "doc/man/man7/EVP_CIPHER-AES.7" => [ + "doc/man7/EVP_CIPHER-AES.pod" + ], + "doc/man/man7/EVP_CIPHER-ARIA.7" => [ + "doc/man7/EVP_CIPHER-ARIA.pod" + ], + "doc/man/man7/EVP_CIPHER-BLOWFISH.7" => [ + "doc/man7/EVP_CIPHER-BLOWFISH.pod" + ], + "doc/man/man7/EVP_CIPHER-CAMELLIA.7" => [ + "doc/man7/EVP_CIPHER-CAMELLIA.pod" + ], + "doc/man/man7/EVP_CIPHER-CAST.7" => [ + "doc/man7/EVP_CIPHER-CAST.pod" + ], + "doc/man/man7/EVP_CIPHER-CHACHA.7" => [ + "doc/man7/EVP_CIPHER-CHACHA.pod" + ], + "doc/man/man7/EVP_CIPHER-DES.7" => [ + "doc/man7/EVP_CIPHER-DES.pod" + ], + "doc/man/man7/EVP_CIPHER-IDEA.7" => [ + "doc/man7/EVP_CIPHER-IDEA.pod" + ], + "doc/man/man7/EVP_CIPHER-RC2.7" => [ + "doc/man7/EVP_CIPHER-RC2.pod" + ], + "doc/man/man7/EVP_CIPHER-RC4.7" => [ + "doc/man7/EVP_CIPHER-RC4.pod" + ], + "doc/man/man7/EVP_CIPHER-RC5.7" => [ + "doc/man7/EVP_CIPHER-RC5.pod" + ], + "doc/man/man7/EVP_CIPHER-SEED.7" => [ + "doc/man7/EVP_CIPHER-SEED.pod" + ], + "doc/man/man7/EVP_CIPHER-SM4.7" => [ + "doc/man7/EVP_CIPHER-SM4.pod" + ], + "doc/man/man7/EVP_KDF-HKDF.7" => [ + "doc/man7/EVP_KDF-HKDF.pod" + ], + "doc/man/man7/EVP_KDF-KB.7" => [ + "doc/man7/EVP_KDF-KB.pod" + ], + "doc/man/man7/EVP_KDF-KRB5KDF.7" => [ + "doc/man7/EVP_KDF-KRB5KDF.pod" + ], + "doc/man/man7/EVP_KDF-PBKDF1.7" => [ + "doc/man7/EVP_KDF-PBKDF1.pod" + ], + "doc/man/man7/EVP_KDF-PBKDF2.7" => [ + "doc/man7/EVP_KDF-PBKDF2.pod" + ], + "doc/man/man7/EVP_KDF-PKCS12KDF.7" => [ + "doc/man7/EVP_KDF-PKCS12KDF.pod" + ], + "doc/man/man7/EVP_KDF-SCRYPT.7" => [ + "doc/man7/EVP_KDF-SCRYPT.pod" + ], + "doc/man/man7/EVP_KDF-SS.7" => [ + "doc/man7/EVP_KDF-SS.pod" + ], + "doc/man/man7/EVP_KDF-SSHKDF.7" => [ + "doc/man7/EVP_KDF-SSHKDF.pod" + ], + "doc/man/man7/EVP_KDF-TLS13_KDF.7" => [ + "doc/man7/EVP_KDF-TLS13_KDF.pod" + ], + "doc/man/man7/EVP_KDF-TLS1_PRF.7" => [ + "doc/man7/EVP_KDF-TLS1_PRF.pod" + ], + "doc/man/man7/EVP_KDF-X942-ASN1.7" => [ + "doc/man7/EVP_KDF-X942-ASN1.pod" + ], + "doc/man/man7/EVP_KDF-X942-CONCAT.7" => [ + "doc/man7/EVP_KDF-X942-CONCAT.pod" + ], + "doc/man/man7/EVP_KDF-X963.7" => [ + "doc/man7/EVP_KDF-X963.pod" + ], + "doc/man/man7/EVP_KEM-RSA.7" => [ + "doc/man7/EVP_KEM-RSA.pod" + ], + "doc/man/man7/EVP_KEYEXCH-DH.7" => [ + "doc/man7/EVP_KEYEXCH-DH.pod" + ], + "doc/man/man7/EVP_KEYEXCH-ECDH.7" => [ + "doc/man7/EVP_KEYEXCH-ECDH.pod" + ], + "doc/man/man7/EVP_KEYEXCH-X25519.7" => [ + "doc/man7/EVP_KEYEXCH-X25519.pod" + ], + "doc/man/man7/EVP_MAC-BLAKE2.7" => [ + "doc/man7/EVP_MAC-BLAKE2.pod" + ], + "doc/man/man7/EVP_MAC-CMAC.7" => [ + "doc/man7/EVP_MAC-CMAC.pod" + ], + "doc/man/man7/EVP_MAC-GMAC.7" => [ + "doc/man7/EVP_MAC-GMAC.pod" + ], + "doc/man/man7/EVP_MAC-HMAC.7" => [ + "doc/man7/EVP_MAC-HMAC.pod" + ], + "doc/man/man7/EVP_MAC-KMAC.7" => [ + "doc/man7/EVP_MAC-KMAC.pod" + ], + "doc/man/man7/EVP_MAC-Poly1305.7" => [ + "doc/man7/EVP_MAC-Poly1305.pod" + ], + "doc/man/man7/EVP_MAC-Siphash.7" => [ + "doc/man7/EVP_MAC-Siphash.pod" + ], + "doc/man/man7/EVP_MD-BLAKE2.7" => [ + "doc/man7/EVP_MD-BLAKE2.pod" + ], + "doc/man/man7/EVP_MD-MD2.7" => [ + "doc/man7/EVP_MD-MD2.pod" + ], + "doc/man/man7/EVP_MD-MD4.7" => [ + "doc/man7/EVP_MD-MD4.pod" + ], + "doc/man/man7/EVP_MD-MD5-SHA1.7" => [ + "doc/man7/EVP_MD-MD5-SHA1.pod" + ], + "doc/man/man7/EVP_MD-MD5.7" => [ + "doc/man7/EVP_MD-MD5.pod" + ], + "doc/man/man7/EVP_MD-MDC2.7" => [ + "doc/man7/EVP_MD-MDC2.pod" + ], + "doc/man/man7/EVP_MD-RIPEMD160.7" => [ + "doc/man7/EVP_MD-RIPEMD160.pod" + ], + "doc/man/man7/EVP_MD-SHA1.7" => [ + "doc/man7/EVP_MD-SHA1.pod" + ], + "doc/man/man7/EVP_MD-SHA2.7" => [ + "doc/man7/EVP_MD-SHA2.pod" + ], + "doc/man/man7/EVP_MD-SHA3.7" => [ + "doc/man7/EVP_MD-SHA3.pod" + ], + "doc/man/man7/EVP_MD-SHAKE.7" => [ + "doc/man7/EVP_MD-SHAKE.pod" + ], + "doc/man/man7/EVP_MD-SM3.7" => [ + "doc/man7/EVP_MD-SM3.pod" + ], + "doc/man/man7/EVP_MD-WHIRLPOOL.7" => [ + "doc/man7/EVP_MD-WHIRLPOOL.pod" + ], + "doc/man/man7/EVP_MD-common.7" => [ + "doc/man7/EVP_MD-common.pod" + ], + "doc/man/man7/EVP_PKEY-DH.7" => [ + "doc/man7/EVP_PKEY-DH.pod" + ], + "doc/man/man7/EVP_PKEY-DSA.7" => [ + "doc/man7/EVP_PKEY-DSA.pod" + ], + "doc/man/man7/EVP_PKEY-EC.7" => [ + "doc/man7/EVP_PKEY-EC.pod" + ], + "doc/man/man7/EVP_PKEY-FFC.7" => [ + "doc/man7/EVP_PKEY-FFC.pod" + ], + "doc/man/man7/EVP_PKEY-HMAC.7" => [ + "doc/man7/EVP_PKEY-HMAC.pod" + ], + "doc/man/man7/EVP_PKEY-RSA.7" => [ + "doc/man7/EVP_PKEY-RSA.pod" + ], + "doc/man/man7/EVP_PKEY-SM2.7" => [ + "doc/man7/EVP_PKEY-SM2.pod" + ], + "doc/man/man7/EVP_PKEY-X25519.7" => [ + "doc/man7/EVP_PKEY-X25519.pod" + ], + "doc/man/man7/EVP_RAND-CTR-DRBG.7" => [ + "doc/man7/EVP_RAND-CTR-DRBG.pod" + ], + "doc/man/man7/EVP_RAND-HASH-DRBG.7" => [ + "doc/man7/EVP_RAND-HASH-DRBG.pod" + ], + "doc/man/man7/EVP_RAND-HMAC-DRBG.7" => [ + "doc/man7/EVP_RAND-HMAC-DRBG.pod" + ], + "doc/man/man7/EVP_RAND-SEED-SRC.7" => [ + "doc/man7/EVP_RAND-SEED-SRC.pod" + ], + "doc/man/man7/EVP_RAND-TEST-RAND.7" => [ + "doc/man7/EVP_RAND-TEST-RAND.pod" + ], + "doc/man/man7/EVP_RAND.7" => [ + "doc/man7/EVP_RAND.pod" + ], + "doc/man/man7/EVP_SIGNATURE-DSA.7" => [ + "doc/man7/EVP_SIGNATURE-DSA.pod" + ], + "doc/man/man7/EVP_SIGNATURE-ECDSA.7" => [ + "doc/man7/EVP_SIGNATURE-ECDSA.pod" + ], + "doc/man/man7/EVP_SIGNATURE-ED25519.7" => [ + "doc/man7/EVP_SIGNATURE-ED25519.pod" + ], + "doc/man/man7/EVP_SIGNATURE-HMAC.7" => [ + "doc/man7/EVP_SIGNATURE-HMAC.pod" + ], + "doc/man/man7/EVP_SIGNATURE-RSA.7" => [ + "doc/man7/EVP_SIGNATURE-RSA.pod" + ], + "doc/man/man7/OSSL_PROVIDER-FIPS.7" => [ + "doc/man7/OSSL_PROVIDER-FIPS.pod" + ], + "doc/man/man7/OSSL_PROVIDER-base.7" => [ + "doc/man7/OSSL_PROVIDER-base.pod" + ], + "doc/man/man7/OSSL_PROVIDER-default.7" => [ + "doc/man7/OSSL_PROVIDER-default.pod" + ], + "doc/man/man7/OSSL_PROVIDER-legacy.7" => [ + "doc/man7/OSSL_PROVIDER-legacy.pod" + ], + "doc/man/man7/OSSL_PROVIDER-null.7" => [ + "doc/man7/OSSL_PROVIDER-null.pod" + ], + "doc/man/man7/RAND.7" => [ + "doc/man7/RAND.pod" + ], + "doc/man/man7/RSA-PSS.7" => [ + "doc/man7/RSA-PSS.pod" + ], + "doc/man/man7/X25519.7" => [ + "doc/man7/X25519.pod" + ], + "doc/man/man7/bio.7" => [ + "doc/man7/bio.pod" + ], + "doc/man/man7/crypto.7" => [ + "doc/man7/crypto.pod" + ], + "doc/man/man7/ct.7" => [ + "doc/man7/ct.pod" + ], + "doc/man/man7/des_modes.7" => [ + "doc/man7/des_modes.pod" + ], + "doc/man/man7/evp.7" => [ + "doc/man7/evp.pod" + ], + "doc/man/man7/fips_module.7" => [ + "doc/man7/fips_module.pod" + ], + "doc/man/man7/life_cycle-cipher.7" => [ + "doc/man7/life_cycle-cipher.pod" + ], + "doc/man/man7/life_cycle-digest.7" => [ + "doc/man7/life_cycle-digest.pod" + ], + "doc/man/man7/life_cycle-kdf.7" => [ + "doc/man7/life_cycle-kdf.pod" + ], + "doc/man/man7/life_cycle-mac.7" => [ + "doc/man7/life_cycle-mac.pod" + ], + "doc/man/man7/life_cycle-pkey.7" => [ + "doc/man7/life_cycle-pkey.pod" + ], + "doc/man/man7/life_cycle-rand.7" => [ + "doc/man7/life_cycle-rand.pod" + ], + "doc/man/man7/migration_guide.7" => [ + "doc/man7/migration_guide.pod" + ], + "doc/man/man7/openssl-core.h.7" => [ + "doc/man7/openssl-core.h.pod" + ], + "doc/man/man7/openssl-core_dispatch.h.7" => [ + "doc/man7/openssl-core_dispatch.h.pod" + ], + "doc/man/man7/openssl-core_names.h.7" => [ + "doc/man7/openssl-core_names.h.pod" + ], + "doc/man/man7/openssl-env.7" => [ + "doc/man7/openssl-env.pod" + ], + "doc/man/man7/openssl-glossary.7" => [ + "doc/man7/openssl-glossary.pod" + ], + "doc/man/man7/openssl-threads.7" => [ + "doc/man7/openssl-threads.pod" + ], + "doc/man/man7/openssl_user_macros.7" => [ + "doc/man7/openssl_user_macros.pod" + ], + "doc/man/man7/ossl_store-file.7" => [ + "doc/man7/ossl_store-file.pod" + ], + "doc/man/man7/ossl_store.7" => [ + "doc/man7/ossl_store.pod" + ], + "doc/man/man7/passphrase-encoding.7" => [ + "doc/man7/passphrase-encoding.pod" + ], + "doc/man/man7/property.7" => [ + "doc/man7/property.pod" + ], + "doc/man/man7/provider-asym_cipher.7" => [ + "doc/man7/provider-asym_cipher.pod" + ], + "doc/man/man7/provider-base.7" => [ + "doc/man7/provider-base.pod" + ], + "doc/man/man7/provider-cipher.7" => [ + "doc/man7/provider-cipher.pod" + ], + "doc/man/man7/provider-decoder.7" => [ + "doc/man7/provider-decoder.pod" + ], + "doc/man/man7/provider-digest.7" => [ + "doc/man7/provider-digest.pod" + ], + "doc/man/man7/provider-encoder.7" => [ + "doc/man7/provider-encoder.pod" + ], + "doc/man/man7/provider-kdf.7" => [ + "doc/man7/provider-kdf.pod" + ], + "doc/man/man7/provider-kem.7" => [ + "doc/man7/provider-kem.pod" + ], + "doc/man/man7/provider-keyexch.7" => [ + "doc/man7/provider-keyexch.pod" + ], + "doc/man/man7/provider-keymgmt.7" => [ + "doc/man7/provider-keymgmt.pod" + ], + "doc/man/man7/provider-mac.7" => [ + "doc/man7/provider-mac.pod" + ], + "doc/man/man7/provider-object.7" => [ + "doc/man7/provider-object.pod" + ], + "doc/man/man7/provider-rand.7" => [ + "doc/man7/provider-rand.pod" + ], + "doc/man/man7/provider-signature.7" => [ + "doc/man7/provider-signature.pod" + ], + "doc/man/man7/provider-storemgmt.7" => [ + "doc/man7/provider-storemgmt.pod" + ], + "doc/man/man7/provider.7" => [ + "doc/man7/provider.pod" + ], + "doc/man/man7/proxy-certificates.7" => [ + "doc/man7/proxy-certificates.pod" + ], + "doc/man/man7/ssl.7" => [ + "doc/man7/ssl.pod" + ], + "doc/man/man7/x509.7" => [ + "doc/man7/x509.pod" + ], + "doc/man1/openssl-asn1parse.pod" => [ + "doc/man1/openssl-asn1parse.pod.in" + ], + "doc/man1/openssl-ca.pod" => [ + "doc/man1/openssl-ca.pod.in" + ], + "doc/man1/openssl-ciphers.pod" => [ + "doc/man1/openssl-ciphers.pod.in" + ], + "doc/man1/openssl-cmds.pod" => [ + "doc/man1/openssl-cmds.pod.in" + ], + "doc/man1/openssl-cmp.pod" => [ + "doc/man1/openssl-cmp.pod.in" + ], + "doc/man1/openssl-cms.pod" => [ + "doc/man1/openssl-cms.pod.in" + ], + "doc/man1/openssl-crl.pod" => [ + "doc/man1/openssl-crl.pod.in" + ], + "doc/man1/openssl-crl2pkcs7.pod" => [ + "doc/man1/openssl-crl2pkcs7.pod.in" + ], + "doc/man1/openssl-dgst.pod" => [ + "doc/man1/openssl-dgst.pod.in" + ], + "doc/man1/openssl-dhparam.pod" => [ + "doc/man1/openssl-dhparam.pod.in" + ], + "doc/man1/openssl-dsa.pod" => [ + "doc/man1/openssl-dsa.pod.in" + ], + "doc/man1/openssl-dsaparam.pod" => [ + "doc/man1/openssl-dsaparam.pod.in" + ], + "doc/man1/openssl-ec.pod" => [ + "doc/man1/openssl-ec.pod.in" + ], + "doc/man1/openssl-ecparam.pod" => [ + "doc/man1/openssl-ecparam.pod.in" + ], + "doc/man1/openssl-enc.pod" => [ + "doc/man1/openssl-enc.pod.in" + ], + "doc/man1/openssl-engine.pod" => [ + "doc/man1/openssl-engine.pod.in" + ], + "doc/man1/openssl-errstr.pod" => [ + "doc/man1/openssl-errstr.pod.in" + ], + "doc/man1/openssl-fipsinstall.pod" => [ + "doc/man1/openssl-fipsinstall.pod.in" + ], + "doc/man1/openssl-gendsa.pod" => [ + "doc/man1/openssl-gendsa.pod.in" + ], + "doc/man1/openssl-genpkey.pod" => [ + "doc/man1/openssl-genpkey.pod.in" + ], + "doc/man1/openssl-genrsa.pod" => [ + "doc/man1/openssl-genrsa.pod.in" + ], + "doc/man1/openssl-info.pod" => [ + "doc/man1/openssl-info.pod.in" + ], + "doc/man1/openssl-kdf.pod" => [ + "doc/man1/openssl-kdf.pod.in" + ], + "doc/man1/openssl-list.pod" => [ + "doc/man1/openssl-list.pod.in" + ], + "doc/man1/openssl-mac.pod" => [ + "doc/man1/openssl-mac.pod.in" + ], + "doc/man1/openssl-nseq.pod" => [ + "doc/man1/openssl-nseq.pod.in" + ], + "doc/man1/openssl-ocsp.pod" => [ + "doc/man1/openssl-ocsp.pod.in" + ], + "doc/man1/openssl-passwd.pod" => [ + "doc/man1/openssl-passwd.pod.in" + ], + "doc/man1/openssl-pkcs12.pod" => [ + "doc/man1/openssl-pkcs12.pod.in" + ], + "doc/man1/openssl-pkcs7.pod" => [ + "doc/man1/openssl-pkcs7.pod.in" + ], + "doc/man1/openssl-pkcs8.pod" => [ + "doc/man1/openssl-pkcs8.pod.in" + ], + "doc/man1/openssl-pkey.pod" => [ + "doc/man1/openssl-pkey.pod.in" + ], + "doc/man1/openssl-pkeyparam.pod" => [ + "doc/man1/openssl-pkeyparam.pod.in" + ], + "doc/man1/openssl-pkeyutl.pod" => [ + "doc/man1/openssl-pkeyutl.pod.in" + ], + "doc/man1/openssl-prime.pod" => [ + "doc/man1/openssl-prime.pod.in" + ], + "doc/man1/openssl-rand.pod" => [ + "doc/man1/openssl-rand.pod.in" + ], + "doc/man1/openssl-rehash.pod" => [ + "doc/man1/openssl-rehash.pod.in" + ], + "doc/man1/openssl-req.pod" => [ + "doc/man1/openssl-req.pod.in" + ], + "doc/man1/openssl-rsa.pod" => [ + "doc/man1/openssl-rsa.pod.in" + ], + "doc/man1/openssl-rsautl.pod" => [ + "doc/man1/openssl-rsautl.pod.in" + ], + "doc/man1/openssl-s_client.pod" => [ + "doc/man1/openssl-s_client.pod.in" + ], + "doc/man1/openssl-s_server.pod" => [ + "doc/man1/openssl-s_server.pod.in" + ], + "doc/man1/openssl-s_time.pod" => [ + "doc/man1/openssl-s_time.pod.in" + ], + "doc/man1/openssl-sess_id.pod" => [ + "doc/man1/openssl-sess_id.pod.in" + ], + "doc/man1/openssl-smime.pod" => [ + "doc/man1/openssl-smime.pod.in" + ], + "doc/man1/openssl-speed.pod" => [ + "doc/man1/openssl-speed.pod.in" + ], + "doc/man1/openssl-spkac.pod" => [ + "doc/man1/openssl-spkac.pod.in" + ], + "doc/man1/openssl-srp.pod" => [ + "doc/man1/openssl-srp.pod.in" + ], + "doc/man1/openssl-storeutl.pod" => [ + "doc/man1/openssl-storeutl.pod.in" + ], + "doc/man1/openssl-ts.pod" => [ + "doc/man1/openssl-ts.pod.in" + ], + "doc/man1/openssl-verify.pod" => [ + "doc/man1/openssl-verify.pod.in" + ], + "doc/man1/openssl-version.pod" => [ + "doc/man1/openssl-version.pod.in" + ], + "doc/man1/openssl-x509.pod" => [ + "doc/man1/openssl-x509.pod.in" + ], + "doc/man7/openssl_user_macros.pod" => [ + "doc/man7/openssl_user_macros.pod.in" + ], + "engines/e_padlock-x86.S" => [ + "engines/asm/e_padlock-x86.pl" + ], + "engines/e_padlock-x86_64.s" => [ + "engines/asm/e_padlock-x86_64.pl" + ], + "include/crypto/bn_conf.h" => [ + "include/crypto/bn_conf.h.in" + ], + "include/crypto/dso_conf.h" => [ + "include/crypto/dso_conf.h.in" + ], + "include/openssl/asn1.h" => [ + "include/openssl/asn1.h.in" + ], + "include/openssl/asn1t.h" => [ + "include/openssl/asn1t.h.in" + ], + "include/openssl/bio.h" => [ + "include/openssl/bio.h.in" + ], + "include/openssl/cmp.h" => [ + "include/openssl/cmp.h.in" + ], + "include/openssl/cms.h" => [ + "include/openssl/cms.h.in" + ], + "include/openssl/conf.h" => [ + "include/openssl/conf.h.in" + ], + "include/openssl/configuration.h" => [ + "include/openssl/configuration.h.in" + ], + "include/openssl/crmf.h" => [ + "include/openssl/crmf.h.in" + ], + "include/openssl/crypto.h" => [ + "include/openssl/crypto.h.in" + ], + "include/openssl/ct.h" => [ + "include/openssl/ct.h.in" + ], + "include/openssl/err.h" => [ + "include/openssl/err.h.in" + ], + "include/openssl/ess.h" => [ + "include/openssl/ess.h.in" + ], + "include/openssl/fipskey.h" => [ + "include/openssl/fipskey.h.in" + ], + "include/openssl/lhash.h" => [ + "include/openssl/lhash.h.in" + ], + "include/openssl/ocsp.h" => [ + "include/openssl/ocsp.h.in" + ], + "include/openssl/opensslv.h" => [ + "include/openssl/opensslv.h.in" + ], + "include/openssl/pkcs12.h" => [ + "include/openssl/pkcs12.h.in" + ], + "include/openssl/pkcs7.h" => [ + "include/openssl/pkcs7.h.in" + ], + "include/openssl/safestack.h" => [ + "include/openssl/safestack.h.in" + ], + "include/openssl/srp.h" => [ + "include/openssl/srp.h.in" + ], + "include/openssl/ssl.h" => [ + "include/openssl/ssl.h.in" + ], + "include/openssl/ui.h" => [ + "include/openssl/ui.h.in" + ], + "include/openssl/x509.h" => [ + "include/openssl/x509.h.in" + ], + "include/openssl/x509_vfy.h" => [ + "include/openssl/x509_vfy.h.in" + ], + "include/openssl/x509v3.h" => [ + "include/openssl/x509v3.h.in" + ], + "libcrypto.ld" => [ + "util/libcrypto.num", + "libcrypto" + ], + "libssl.ld" => [ + "util/libssl.num", + "libssl" + ], + "providers/common/der/der_digests_gen.c" => [ + "providers/common/der/der_digests_gen.c.in" + ], + "providers/common/der/der_dsa_gen.c" => [ + "providers/common/der/der_dsa_gen.c.in" + ], + "providers/common/der/der_ec_gen.c" => [ + "providers/common/der/der_ec_gen.c.in" + ], + "providers/common/der/der_ecx_gen.c" => [ + "providers/common/der/der_ecx_gen.c.in" + ], + "providers/common/der/der_rsa_gen.c" => [ + "providers/common/der/der_rsa_gen.c.in" + ], + "providers/common/der/der_sm2_gen.c" => [ + "providers/common/der/der_sm2_gen.c.in" + ], + "providers/common/der/der_wrap_gen.c" => [ + "providers/common/der/der_wrap_gen.c.in" + ], + "providers/common/include/prov/der_digests.h" => [ + "providers/common/include/prov/der_digests.h.in" + ], + "providers/common/include/prov/der_dsa.h" => [ + "providers/common/include/prov/der_dsa.h.in" + ], + "providers/common/include/prov/der_ec.h" => [ + "providers/common/include/prov/der_ec.h.in" + ], + "providers/common/include/prov/der_ecx.h" => [ + "providers/common/include/prov/der_ecx.h.in" + ], + "providers/common/include/prov/der_rsa.h" => [ + "providers/common/include/prov/der_rsa.h.in" + ], + "providers/common/include/prov/der_sm2.h" => [ + "providers/common/include/prov/der_sm2.h.in" + ], + "providers/common/include/prov/der_wrap.h" => [ + "providers/common/include/prov/der_wrap.h.in" + ], + "providers/fips.ld" => [ + "util/providers.num" + ], + "providers/fipsmodule.cnf" => [ + "util/mk-fipsmodule-cnf.pl", + "-module", + "\$(FIPSMODULE)", + "-section_name", + "fips_sect", + "-key", + "\$(FIPSKEY)" + ], + "providers/legacy.ld" => [ + "util/providers.num" + ], + "test/buildtest_aes.c" => [ + "test/generate_buildtest.pl", + "aes" + ], + "test/buildtest_async.c" => [ + "test/generate_buildtest.pl", + "async" + ], + "test/buildtest_blowfish.c" => [ + "test/generate_buildtest.pl", + "blowfish" + ], + "test/buildtest_bn.c" => [ + "test/generate_buildtest.pl", + "bn" + ], + "test/buildtest_buffer.c" => [ + "test/generate_buildtest.pl", + "buffer" + ], + "test/buildtest_camellia.c" => [ + "test/generate_buildtest.pl", + "camellia" + ], + "test/buildtest_cast.c" => [ + "test/generate_buildtest.pl", + "cast" + ], + "test/buildtest_cmac.c" => [ + "test/generate_buildtest.pl", + "cmac" + ], + "test/buildtest_cmp_util.c" => [ + "test/generate_buildtest.pl", + "cmp_util" + ], + "test/buildtest_conf_api.c" => [ + "test/generate_buildtest.pl", + "conf_api" + ], + "test/buildtest_conftypes.c" => [ + "test/generate_buildtest.pl", + "conftypes" + ], + "test/buildtest_core.c" => [ + "test/generate_buildtest.pl", + "core" + ], + "test/buildtest_core_dispatch.c" => [ + "test/generate_buildtest.pl", + "core_dispatch" + ], + "test/buildtest_core_names.c" => [ + "test/generate_buildtest.pl", + "core_names" + ], + "test/buildtest_core_object.c" => [ + "test/generate_buildtest.pl", + "core_object" + ], + "test/buildtest_cryptoerr_legacy.c" => [ + "test/generate_buildtest.pl", + "cryptoerr_legacy" + ], + "test/buildtest_decoder.c" => [ + "test/generate_buildtest.pl", + "decoder" + ], + "test/buildtest_des.c" => [ + "test/generate_buildtest.pl", + "des" + ], + "test/buildtest_dh.c" => [ + "test/generate_buildtest.pl", + "dh" + ], + "test/buildtest_dsa.c" => [ + "test/generate_buildtest.pl", + "dsa" + ], + "test/buildtest_dtls1.c" => [ + "test/generate_buildtest.pl", + "dtls1" + ], + "test/buildtest_e_os2.c" => [ + "test/generate_buildtest.pl", + "e_os2" + ], + "test/buildtest_ebcdic.c" => [ + "test/generate_buildtest.pl", + "ebcdic" + ], + "test/buildtest_ec.c" => [ + "test/generate_buildtest.pl", + "ec" + ], + "test/buildtest_ecdh.c" => [ + "test/generate_buildtest.pl", + "ecdh" + ], + "test/buildtest_ecdsa.c" => [ + "test/generate_buildtest.pl", + "ecdsa" + ], + "test/buildtest_encoder.c" => [ + "test/generate_buildtest.pl", + "encoder" + ], + "test/buildtest_engine.c" => [ + "test/generate_buildtest.pl", + "engine" + ], + "test/buildtest_evp.c" => [ + "test/generate_buildtest.pl", + "evp" + ], + "test/buildtest_fips_names.c" => [ + "test/generate_buildtest.pl", + "fips_names" + ], + "test/buildtest_hmac.c" => [ + "test/generate_buildtest.pl", + "hmac" + ], + "test/buildtest_http.c" => [ + "test/generate_buildtest.pl", + "http" + ], + "test/buildtest_idea.c" => [ + "test/generate_buildtest.pl", + "idea" + ], + "test/buildtest_kdf.c" => [ + "test/generate_buildtest.pl", + "kdf" + ], + "test/buildtest_macros.c" => [ + "test/generate_buildtest.pl", + "macros" + ], + "test/buildtest_md4.c" => [ + "test/generate_buildtest.pl", + "md4" + ], + "test/buildtest_md5.c" => [ + "test/generate_buildtest.pl", + "md5" + ], + "test/buildtest_mdc2.c" => [ + "test/generate_buildtest.pl", + "mdc2" + ], + "test/buildtest_modes.c" => [ + "test/generate_buildtest.pl", + "modes" + ], + "test/buildtest_obj_mac.c" => [ + "test/generate_buildtest.pl", + "obj_mac" + ], + "test/buildtest_objects.c" => [ + "test/generate_buildtest.pl", + "objects" + ], + "test/buildtest_ossl_typ.c" => [ + "test/generate_buildtest.pl", + "ossl_typ" + ], + "test/buildtest_param_build.c" => [ + "test/generate_buildtest.pl", + "param_build" + ], + "test/buildtest_params.c" => [ + "test/generate_buildtest.pl", + "params" + ], + "test/buildtest_pem.c" => [ + "test/generate_buildtest.pl", + "pem" + ], + "test/buildtest_pem2.c" => [ + "test/generate_buildtest.pl", + "pem2" + ], + "test/buildtest_prov_ssl.c" => [ + "test/generate_buildtest.pl", + "prov_ssl" + ], + "test/buildtest_provider.c" => [ + "test/generate_buildtest.pl", + "provider" + ], + "test/buildtest_quic.c" => [ + "test/generate_buildtest.pl", + "quic" + ], + "test/buildtest_rand.c" => [ + "test/generate_buildtest.pl", + "rand" + ], + "test/buildtest_rc2.c" => [ + "test/generate_buildtest.pl", + "rc2" + ], + "test/buildtest_rc4.c" => [ + "test/generate_buildtest.pl", + "rc4" + ], + "test/buildtest_ripemd.c" => [ + "test/generate_buildtest.pl", + "ripemd" + ], + "test/buildtest_rsa.c" => [ + "test/generate_buildtest.pl", + "rsa" + ], + "test/buildtest_seed.c" => [ + "test/generate_buildtest.pl", + "seed" + ], + "test/buildtest_self_test.c" => [ + "test/generate_buildtest.pl", + "self_test" + ], + "test/buildtest_sha.c" => [ + "test/generate_buildtest.pl", + "sha" + ], + "test/buildtest_srtp.c" => [ + "test/generate_buildtest.pl", + "srtp" + ], + "test/buildtest_ssl2.c" => [ + "test/generate_buildtest.pl", + "ssl2" + ], + "test/buildtest_sslerr_legacy.c" => [ + "test/generate_buildtest.pl", + "sslerr_legacy" + ], + "test/buildtest_stack.c" => [ + "test/generate_buildtest.pl", + "stack" + ], + "test/buildtest_store.c" => [ + "test/generate_buildtest.pl", + "store" + ], + "test/buildtest_symhacks.c" => [ + "test/generate_buildtest.pl", + "symhacks" + ], + "test/buildtest_tls1.c" => [ + "test/generate_buildtest.pl", + "tls1" + ], + "test/buildtest_ts.c" => [ + "test/generate_buildtest.pl", + "ts" + ], + "test/buildtest_txt_db.c" => [ + "test/generate_buildtest.pl", + "txt_db" + ], + "test/buildtest_types.c" => [ + "test/generate_buildtest.pl", + "types" + ], + "test/buildtest_whrlpool.c" => [ + "test/generate_buildtest.pl", + "whrlpool" + ], + "test/p_test.ld" => [ + "util/providers.num" + ], + "test/provider_internal_test.cnf" => [ + "test/provider_internal_test.cnf.in" + ] + }, + "htmldocs" => { + "man1" => [ + "doc/html/man1/CA.pl.html", + "doc/html/man1/openssl-asn1parse.html", + "doc/html/man1/openssl-ca.html", + "doc/html/man1/openssl-ciphers.html", + "doc/html/man1/openssl-cmds.html", + "doc/html/man1/openssl-cmp.html", + "doc/html/man1/openssl-cms.html", + "doc/html/man1/openssl-crl.html", + "doc/html/man1/openssl-crl2pkcs7.html", + "doc/html/man1/openssl-dgst.html", + "doc/html/man1/openssl-dhparam.html", + "doc/html/man1/openssl-dsa.html", + "doc/html/man1/openssl-dsaparam.html", + "doc/html/man1/openssl-ec.html", + "doc/html/man1/openssl-ecparam.html", + "doc/html/man1/openssl-enc.html", + "doc/html/man1/openssl-engine.html", + "doc/html/man1/openssl-errstr.html", + "doc/html/man1/openssl-fipsinstall.html", + "doc/html/man1/openssl-format-options.html", + "doc/html/man1/openssl-gendsa.html", + "doc/html/man1/openssl-genpkey.html", + "doc/html/man1/openssl-genrsa.html", + "doc/html/man1/openssl-info.html", + "doc/html/man1/openssl-kdf.html", + "doc/html/man1/openssl-list.html", + "doc/html/man1/openssl-mac.html", + "doc/html/man1/openssl-namedisplay-options.html", + "doc/html/man1/openssl-nseq.html", + "doc/html/man1/openssl-ocsp.html", + "doc/html/man1/openssl-passphrase-options.html", + "doc/html/man1/openssl-passwd.html", + "doc/html/man1/openssl-pkcs12.html", + "doc/html/man1/openssl-pkcs7.html", + "doc/html/man1/openssl-pkcs8.html", + "doc/html/man1/openssl-pkey.html", + "doc/html/man1/openssl-pkeyparam.html", + "doc/html/man1/openssl-pkeyutl.html", + "doc/html/man1/openssl-prime.html", + "doc/html/man1/openssl-rand.html", + "doc/html/man1/openssl-rehash.html", + "doc/html/man1/openssl-req.html", + "doc/html/man1/openssl-rsa.html", + "doc/html/man1/openssl-rsautl.html", + "doc/html/man1/openssl-s_client.html", + "doc/html/man1/openssl-s_server.html", + "doc/html/man1/openssl-s_time.html", + "doc/html/man1/openssl-sess_id.html", + "doc/html/man1/openssl-smime.html", + "doc/html/man1/openssl-speed.html", + "doc/html/man1/openssl-spkac.html", + "doc/html/man1/openssl-srp.html", + "doc/html/man1/openssl-storeutl.html", + "doc/html/man1/openssl-ts.html", + "doc/html/man1/openssl-verification-options.html", + "doc/html/man1/openssl-verify.html", + "doc/html/man1/openssl-version.html", + "doc/html/man1/openssl-x509.html", + "doc/html/man1/openssl.html", + "doc/html/man1/tsget.html" + ], + "man3" => [ + "doc/html/man3/ADMISSIONS.html", + "doc/html/man3/ASN1_EXTERN_FUNCS.html", + "doc/html/man3/ASN1_INTEGER_get_int64.html", + "doc/html/man3/ASN1_INTEGER_new.html", + "doc/html/man3/ASN1_ITEM_lookup.html", + "doc/html/man3/ASN1_OBJECT_new.html", + "doc/html/man3/ASN1_STRING_TABLE_add.html", + "doc/html/man3/ASN1_STRING_length.html", + "doc/html/man3/ASN1_STRING_new.html", + "doc/html/man3/ASN1_STRING_print_ex.html", + "doc/html/man3/ASN1_TIME_set.html", + "doc/html/man3/ASN1_TYPE_get.html", + "doc/html/man3/ASN1_aux_cb.html", + "doc/html/man3/ASN1_generate_nconf.html", + "doc/html/man3/ASN1_item_d2i_bio.html", + "doc/html/man3/ASN1_item_new.html", + "doc/html/man3/ASN1_item_sign.html", + "doc/html/man3/ASYNC_WAIT_CTX_new.html", + "doc/html/man3/ASYNC_start_job.html", + "doc/html/man3/BF_encrypt.html", + "doc/html/man3/BIO_ADDR.html", + "doc/html/man3/BIO_ADDRINFO.html", + "doc/html/man3/BIO_connect.html", + "doc/html/man3/BIO_ctrl.html", + "doc/html/man3/BIO_f_base64.html", + "doc/html/man3/BIO_f_buffer.html", + "doc/html/man3/BIO_f_cipher.html", + "doc/html/man3/BIO_f_md.html", + "doc/html/man3/BIO_f_null.html", + "doc/html/man3/BIO_f_prefix.html", + "doc/html/man3/BIO_f_readbuffer.html", + "doc/html/man3/BIO_f_ssl.html", + "doc/html/man3/BIO_find_type.html", + "doc/html/man3/BIO_get_data.html", + "doc/html/man3/BIO_get_ex_new_index.html", + "doc/html/man3/BIO_meth_new.html", + "doc/html/man3/BIO_new.html", + "doc/html/man3/BIO_new_CMS.html", + "doc/html/man3/BIO_parse_hostserv.html", + "doc/html/man3/BIO_printf.html", + "doc/html/man3/BIO_push.html", + "doc/html/man3/BIO_read.html", + "doc/html/man3/BIO_s_accept.html", + "doc/html/man3/BIO_s_bio.html", + "doc/html/man3/BIO_s_connect.html", + "doc/html/man3/BIO_s_core.html", + "doc/html/man3/BIO_s_datagram.html", + "doc/html/man3/BIO_s_fd.html", + "doc/html/man3/BIO_s_file.html", + "doc/html/man3/BIO_s_mem.html", + "doc/html/man3/BIO_s_null.html", + "doc/html/man3/BIO_s_socket.html", + "doc/html/man3/BIO_set_callback.html", + "doc/html/man3/BIO_should_retry.html", + "doc/html/man3/BIO_socket_wait.html", + "doc/html/man3/BN_BLINDING_new.html", + "doc/html/man3/BN_CTX_new.html", + "doc/html/man3/BN_CTX_start.html", + "doc/html/man3/BN_add.html", + "doc/html/man3/BN_add_word.html", + "doc/html/man3/BN_bn2bin.html", + "doc/html/man3/BN_cmp.html", + "doc/html/man3/BN_copy.html", + "doc/html/man3/BN_generate_prime.html", + "doc/html/man3/BN_mod_exp_mont.html", + "doc/html/man3/BN_mod_inverse.html", + "doc/html/man3/BN_mod_mul_montgomery.html", + "doc/html/man3/BN_mod_mul_reciprocal.html", + "doc/html/man3/BN_new.html", + "doc/html/man3/BN_num_bytes.html", + "doc/html/man3/BN_rand.html", + "doc/html/man3/BN_security_bits.html", + "doc/html/man3/BN_set_bit.html", + "doc/html/man3/BN_swap.html", + "doc/html/man3/BN_zero.html", + "doc/html/man3/BUF_MEM_new.html", + "doc/html/man3/CMS_EncryptedData_decrypt.html", + "doc/html/man3/CMS_EncryptedData_encrypt.html", + "doc/html/man3/CMS_EnvelopedData_create.html", + "doc/html/man3/CMS_add0_cert.html", + "doc/html/man3/CMS_add1_recipient_cert.html", + "doc/html/man3/CMS_add1_signer.html", + "doc/html/man3/CMS_compress.html", + "doc/html/man3/CMS_data_create.html", + "doc/html/man3/CMS_decrypt.html", + "doc/html/man3/CMS_digest_create.html", + "doc/html/man3/CMS_encrypt.html", + "doc/html/man3/CMS_final.html", + "doc/html/man3/CMS_get0_RecipientInfos.html", + "doc/html/man3/CMS_get0_SignerInfos.html", + "doc/html/man3/CMS_get0_type.html", + "doc/html/man3/CMS_get1_ReceiptRequest.html", + "doc/html/man3/CMS_sign.html", + "doc/html/man3/CMS_sign_receipt.html", + "doc/html/man3/CMS_uncompress.html", + "doc/html/man3/CMS_verify.html", + "doc/html/man3/CMS_verify_receipt.html", + "doc/html/man3/CONF_modules_free.html", + "doc/html/man3/CONF_modules_load_file.html", + "doc/html/man3/CRYPTO_THREAD_run_once.html", + "doc/html/man3/CRYPTO_get_ex_new_index.html", + "doc/html/man3/CRYPTO_memcmp.html", + "doc/html/man3/CTLOG_STORE_get0_log_by_id.html", + "doc/html/man3/CTLOG_STORE_new.html", + "doc/html/man3/CTLOG_new.html", + "doc/html/man3/CT_POLICY_EVAL_CTX_new.html", + "doc/html/man3/DEFINE_STACK_OF.html", + "doc/html/man3/DES_random_key.html", + "doc/html/man3/DH_generate_key.html", + "doc/html/man3/DH_generate_parameters.html", + "doc/html/man3/DH_get0_pqg.html", + "doc/html/man3/DH_get_1024_160.html", + "doc/html/man3/DH_meth_new.html", + "doc/html/man3/DH_new.html", + "doc/html/man3/DH_new_by_nid.html", + "doc/html/man3/DH_set_method.html", + "doc/html/man3/DH_size.html", + "doc/html/man3/DSA_SIG_new.html", + "doc/html/man3/DSA_do_sign.html", + "doc/html/man3/DSA_dup_DH.html", + "doc/html/man3/DSA_generate_key.html", + "doc/html/man3/DSA_generate_parameters.html", + "doc/html/man3/DSA_get0_pqg.html", + "doc/html/man3/DSA_meth_new.html", + "doc/html/man3/DSA_new.html", + "doc/html/man3/DSA_set_method.html", + "doc/html/man3/DSA_sign.html", + "doc/html/man3/DSA_size.html", + "doc/html/man3/DTLS_get_data_mtu.html", + "doc/html/man3/DTLS_set_timer_cb.html", + "doc/html/man3/DTLSv1_listen.html", + "doc/html/man3/ECDSA_SIG_new.html", + "doc/html/man3/ECDSA_sign.html", + "doc/html/man3/ECPKParameters_print.html", + "doc/html/man3/EC_GFp_simple_method.html", + "doc/html/man3/EC_GROUP_copy.html", + "doc/html/man3/EC_GROUP_new.html", + "doc/html/man3/EC_KEY_get_enc_flags.html", + "doc/html/man3/EC_KEY_new.html", + "doc/html/man3/EC_POINT_add.html", + "doc/html/man3/EC_POINT_new.html", + "doc/html/man3/ENGINE_add.html", + "doc/html/man3/ERR_GET_LIB.html", + "doc/html/man3/ERR_clear_error.html", + "doc/html/man3/ERR_error_string.html", + "doc/html/man3/ERR_get_error.html", + "doc/html/man3/ERR_load_crypto_strings.html", + "doc/html/man3/ERR_load_strings.html", + "doc/html/man3/ERR_new.html", + "doc/html/man3/ERR_print_errors.html", + "doc/html/man3/ERR_put_error.html", + "doc/html/man3/ERR_remove_state.html", + "doc/html/man3/ERR_set_mark.html", + "doc/html/man3/EVP_ASYM_CIPHER_free.html", + "doc/html/man3/EVP_BytesToKey.html", + "doc/html/man3/EVP_CIPHER_CTX_get_cipher_data.html", + "doc/html/man3/EVP_CIPHER_CTX_get_original_iv.html", + "doc/html/man3/EVP_CIPHER_meth_new.html", + "doc/html/man3/EVP_DigestInit.html", + "doc/html/man3/EVP_DigestSignInit.html", + "doc/html/man3/EVP_DigestVerifyInit.html", + "doc/html/man3/EVP_EncodeInit.html", + "doc/html/man3/EVP_EncryptInit.html", + "doc/html/man3/EVP_KDF.html", + "doc/html/man3/EVP_KEM_free.html", + "doc/html/man3/EVP_KEYEXCH_free.html", + "doc/html/man3/EVP_KEYMGMT.html", + "doc/html/man3/EVP_MAC.html", + "doc/html/man3/EVP_MD_meth_new.html", + "doc/html/man3/EVP_OpenInit.html", + "doc/html/man3/EVP_PBE_CipherInit.html", + "doc/html/man3/EVP_PKEY2PKCS8.html", + "doc/html/man3/EVP_PKEY_ASN1_METHOD.html", + "doc/html/man3/EVP_PKEY_CTX_ctrl.html", + "doc/html/man3/EVP_PKEY_CTX_get0_libctx.html", + "doc/html/man3/EVP_PKEY_CTX_get0_pkey.html", + "doc/html/man3/EVP_PKEY_CTX_new.html", + "doc/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html", + "doc/html/man3/EVP_PKEY_CTX_set_hkdf_md.html", + "doc/html/man3/EVP_PKEY_CTX_set_params.html", + "doc/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html", + "doc/html/man3/EVP_PKEY_CTX_set_scrypt_N.html", + "doc/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html", + "doc/html/man3/EVP_PKEY_asn1_get_count.html", + "doc/html/man3/EVP_PKEY_check.html", + "doc/html/man3/EVP_PKEY_copy_parameters.html", + "doc/html/man3/EVP_PKEY_decapsulate.html", + "doc/html/man3/EVP_PKEY_decrypt.html", + "doc/html/man3/EVP_PKEY_derive.html", + "doc/html/man3/EVP_PKEY_digestsign_supports_digest.html", + "doc/html/man3/EVP_PKEY_encapsulate.html", + "doc/html/man3/EVP_PKEY_encrypt.html", + "doc/html/man3/EVP_PKEY_fromdata.html", + "doc/html/man3/EVP_PKEY_get_default_digest_nid.html", + "doc/html/man3/EVP_PKEY_get_field_type.html", + "doc/html/man3/EVP_PKEY_get_group_name.html", + "doc/html/man3/EVP_PKEY_get_size.html", + "doc/html/man3/EVP_PKEY_gettable_params.html", + "doc/html/man3/EVP_PKEY_is_a.html", + "doc/html/man3/EVP_PKEY_keygen.html", + "doc/html/man3/EVP_PKEY_meth_get_count.html", + "doc/html/man3/EVP_PKEY_meth_new.html", + "doc/html/man3/EVP_PKEY_new.html", + "doc/html/man3/EVP_PKEY_print_private.html", + "doc/html/man3/EVP_PKEY_set1_RSA.html", + "doc/html/man3/EVP_PKEY_set1_encoded_public_key.html", + "doc/html/man3/EVP_PKEY_set_type.html", + "doc/html/man3/EVP_PKEY_settable_params.html", + "doc/html/man3/EVP_PKEY_sign.html", + "doc/html/man3/EVP_PKEY_todata.html", + "doc/html/man3/EVP_PKEY_verify.html", + "doc/html/man3/EVP_PKEY_verify_recover.html", + "doc/html/man3/EVP_RAND.html", + "doc/html/man3/EVP_SIGNATURE.html", + "doc/html/man3/EVP_SealInit.html", + "doc/html/man3/EVP_SignInit.html", + "doc/html/man3/EVP_VerifyInit.html", + "doc/html/man3/EVP_aes_128_gcm.html", + "doc/html/man3/EVP_aria_128_gcm.html", + "doc/html/man3/EVP_bf_cbc.html", + "doc/html/man3/EVP_blake2b512.html", + "doc/html/man3/EVP_camellia_128_ecb.html", + "doc/html/man3/EVP_cast5_cbc.html", + "doc/html/man3/EVP_chacha20.html", + "doc/html/man3/EVP_des_cbc.html", + "doc/html/man3/EVP_desx_cbc.html", + "doc/html/man3/EVP_idea_cbc.html", + "doc/html/man3/EVP_md2.html", + "doc/html/man3/EVP_md4.html", + "doc/html/man3/EVP_md5.html", + "doc/html/man3/EVP_mdc2.html", + "doc/html/man3/EVP_rc2_cbc.html", + "doc/html/man3/EVP_rc4.html", + "doc/html/man3/EVP_rc5_32_12_16_cbc.html", + "doc/html/man3/EVP_ripemd160.html", + "doc/html/man3/EVP_seed_cbc.html", + "doc/html/man3/EVP_set_default_properties.html", + "doc/html/man3/EVP_sha1.html", + "doc/html/man3/EVP_sha224.html", + "doc/html/man3/EVP_sha3_224.html", + "doc/html/man3/EVP_sm3.html", + "doc/html/man3/EVP_sm4_cbc.html", + "doc/html/man3/EVP_whirlpool.html", + "doc/html/man3/HMAC.html", + "doc/html/man3/MD5.html", + "doc/html/man3/MDC2_Init.html", + "doc/html/man3/NCONF_new_ex.html", + "doc/html/man3/OBJ_nid2obj.html", + "doc/html/man3/OCSP_REQUEST_new.html", + "doc/html/man3/OCSP_cert_to_id.html", + "doc/html/man3/OCSP_request_add1_nonce.html", + "doc/html/man3/OCSP_resp_find_status.html", + "doc/html/man3/OCSP_response_status.html", + "doc/html/man3/OCSP_sendreq_new.html", + "doc/html/man3/OPENSSL_Applink.html", + "doc/html/man3/OPENSSL_FILE.html", + "doc/html/man3/OPENSSL_LH_COMPFUNC.html", + "doc/html/man3/OPENSSL_LH_stats.html", + "doc/html/man3/OPENSSL_config.html", + "doc/html/man3/OPENSSL_fork_prepare.html", + "doc/html/man3/OPENSSL_gmtime.html", + "doc/html/man3/OPENSSL_hexchar2int.html", + "doc/html/man3/OPENSSL_ia32cap.html", + "doc/html/man3/OPENSSL_init_crypto.html", + "doc/html/man3/OPENSSL_init_ssl.html", + "doc/html/man3/OPENSSL_instrument_bus.html", + "doc/html/man3/OPENSSL_load_builtin_modules.html", + "doc/html/man3/OPENSSL_malloc.html", + "doc/html/man3/OPENSSL_s390xcap.html", + "doc/html/man3/OPENSSL_secure_malloc.html", + "doc/html/man3/OPENSSL_strcasecmp.html", + "doc/html/man3/OSSL_ALGORITHM.html", + "doc/html/man3/OSSL_CALLBACK.html", + "doc/html/man3/OSSL_CMP_CTX_new.html", + "doc/html/man3/OSSL_CMP_HDR_get0_transactionID.html", + "doc/html/man3/OSSL_CMP_ITAV_set0.html", + "doc/html/man3/OSSL_CMP_MSG_get0_header.html", + "doc/html/man3/OSSL_CMP_MSG_http_perform.html", + "doc/html/man3/OSSL_CMP_SRV_CTX_new.html", + "doc/html/man3/OSSL_CMP_STATUSINFO_new.html", + "doc/html/man3/OSSL_CMP_exec_certreq.html", + "doc/html/man3/OSSL_CMP_log_open.html", + "doc/html/man3/OSSL_CMP_validate_msg.html", + "doc/html/man3/OSSL_CORE_MAKE_FUNC.html", + "doc/html/man3/OSSL_CRMF_MSG_get0_tmpl.html", + "doc/html/man3/OSSL_CRMF_MSG_set0_validity.html", + "doc/html/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.html", + "doc/html/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.html", + "doc/html/man3/OSSL_CRMF_pbmp_new.html", + "doc/html/man3/OSSL_DECODER.html", + "doc/html/man3/OSSL_DECODER_CTX.html", + "doc/html/man3/OSSL_DECODER_CTX_new_for_pkey.html", + "doc/html/man3/OSSL_DECODER_from_bio.html", + "doc/html/man3/OSSL_DISPATCH.html", + "doc/html/man3/OSSL_ENCODER.html", + "doc/html/man3/OSSL_ENCODER_CTX.html", + "doc/html/man3/OSSL_ENCODER_CTX_new_for_pkey.html", + "doc/html/man3/OSSL_ENCODER_to_bio.html", + "doc/html/man3/OSSL_ESS_check_signing_certs.html", + "doc/html/man3/OSSL_HTTP_REQ_CTX.html", + "doc/html/man3/OSSL_HTTP_parse_url.html", + "doc/html/man3/OSSL_HTTP_transfer.html", + "doc/html/man3/OSSL_ITEM.html", + "doc/html/man3/OSSL_LIB_CTX.html", + "doc/html/man3/OSSL_PARAM.html", + "doc/html/man3/OSSL_PARAM_BLD.html", + "doc/html/man3/OSSL_PARAM_allocate_from_text.html", + "doc/html/man3/OSSL_PARAM_dup.html", + "doc/html/man3/OSSL_PARAM_int.html", + "doc/html/man3/OSSL_PROVIDER.html", + "doc/html/man3/OSSL_SELF_TEST_new.html", + "doc/html/man3/OSSL_SELF_TEST_set_callback.html", + "doc/html/man3/OSSL_STORE_INFO.html", + "doc/html/man3/OSSL_STORE_LOADER.html", + "doc/html/man3/OSSL_STORE_SEARCH.html", + "doc/html/man3/OSSL_STORE_attach.html", + "doc/html/man3/OSSL_STORE_expect.html", + "doc/html/man3/OSSL_STORE_open.html", + "doc/html/man3/OSSL_trace_enabled.html", + "doc/html/man3/OSSL_trace_get_category_num.html", + "doc/html/man3/OSSL_trace_set_channel.html", + "doc/html/man3/OpenSSL_add_all_algorithms.html", + "doc/html/man3/OpenSSL_version.html", + "doc/html/man3/PEM_X509_INFO_read_bio_ex.html", + "doc/html/man3/PEM_bytes_read_bio.html", + "doc/html/man3/PEM_read.html", + "doc/html/man3/PEM_read_CMS.html", + "doc/html/man3/PEM_read_bio_PrivateKey.html", + "doc/html/man3/PEM_read_bio_ex.html", + "doc/html/man3/PEM_write_bio_CMS_stream.html", + "doc/html/man3/PEM_write_bio_PKCS7_stream.html", + "doc/html/man3/PKCS12_PBE_keyivgen.html", + "doc/html/man3/PKCS12_SAFEBAG_create_cert.html", + "doc/html/man3/PKCS12_SAFEBAG_get0_attrs.html", + "doc/html/man3/PKCS12_SAFEBAG_get1_cert.html", + "doc/html/man3/PKCS12_add1_attr_by_NID.html", + "doc/html/man3/PKCS12_add_CSPName_asc.html", + "doc/html/man3/PKCS12_add_cert.html", + "doc/html/man3/PKCS12_add_friendlyname_asc.html", + "doc/html/man3/PKCS12_add_localkeyid.html", + "doc/html/man3/PKCS12_add_safe.html", + "doc/html/man3/PKCS12_create.html", + "doc/html/man3/PKCS12_decrypt_skey.html", + "doc/html/man3/PKCS12_gen_mac.html", + "doc/html/man3/PKCS12_get_friendlyname.html", + "doc/html/man3/PKCS12_init.html", + "doc/html/man3/PKCS12_item_decrypt_d2i.html", + "doc/html/man3/PKCS12_key_gen_utf8_ex.html", + "doc/html/man3/PKCS12_newpass.html", + "doc/html/man3/PKCS12_pack_p7encdata.html", + "doc/html/man3/PKCS12_parse.html", + "doc/html/man3/PKCS5_PBE_keyivgen.html", + "doc/html/man3/PKCS5_PBKDF2_HMAC.html", + "doc/html/man3/PKCS7_decrypt.html", + "doc/html/man3/PKCS7_encrypt.html", + "doc/html/man3/PKCS7_get_octet_string.html", + "doc/html/man3/PKCS7_sign.html", + "doc/html/man3/PKCS7_sign_add_signer.html", + "doc/html/man3/PKCS7_type_is_other.html", + "doc/html/man3/PKCS7_verify.html", + "doc/html/man3/PKCS8_encrypt.html", + "doc/html/man3/PKCS8_pkey_add1_attr.html", + "doc/html/man3/RAND_add.html", + "doc/html/man3/RAND_bytes.html", + "doc/html/man3/RAND_cleanup.html", + "doc/html/man3/RAND_egd.html", + "doc/html/man3/RAND_get0_primary.html", + "doc/html/man3/RAND_load_file.html", + "doc/html/man3/RAND_set_DRBG_type.html", + "doc/html/man3/RAND_set_rand_method.html", + "doc/html/man3/RC4_set_key.html", + "doc/html/man3/RIPEMD160_Init.html", + "doc/html/man3/RSA_blinding_on.html", + "doc/html/man3/RSA_check_key.html", + "doc/html/man3/RSA_generate_key.html", + "doc/html/man3/RSA_get0_key.html", + "doc/html/man3/RSA_meth_new.html", + "doc/html/man3/RSA_new.html", + "doc/html/man3/RSA_padding_add_PKCS1_type_1.html", + "doc/html/man3/RSA_print.html", + "doc/html/man3/RSA_private_encrypt.html", + "doc/html/man3/RSA_public_encrypt.html", + "doc/html/man3/RSA_set_method.html", + "doc/html/man3/RSA_sign.html", + "doc/html/man3/RSA_sign_ASN1_OCTET_STRING.html", + "doc/html/man3/RSA_size.html", + "doc/html/man3/SCT_new.html", + "doc/html/man3/SCT_print.html", + "doc/html/man3/SCT_validate.html", + "doc/html/man3/SHA256_Init.html", + "doc/html/man3/SMIME_read_ASN1.html", + "doc/html/man3/SMIME_read_CMS.html", + "doc/html/man3/SMIME_read_PKCS7.html", + "doc/html/man3/SMIME_write_ASN1.html", + "doc/html/man3/SMIME_write_CMS.html", + "doc/html/man3/SMIME_write_PKCS7.html", + "doc/html/man3/SRP_Calc_B.html", + "doc/html/man3/SRP_VBASE_new.html", + "doc/html/man3/SRP_create_verifier.html", + "doc/html/man3/SRP_user_pwd_new.html", + "doc/html/man3/SSL_CIPHER_get_name.html", + "doc/html/man3/SSL_COMP_add_compression_method.html", + "doc/html/man3/SSL_CONF_CTX_new.html", + "doc/html/man3/SSL_CONF_CTX_set1_prefix.html", + "doc/html/man3/SSL_CONF_CTX_set_flags.html", + "doc/html/man3/SSL_CONF_CTX_set_ssl_ctx.html", + "doc/html/man3/SSL_CONF_cmd.html", + "doc/html/man3/SSL_CONF_cmd_argv.html", + "doc/html/man3/SSL_CTX_add1_chain_cert.html", + "doc/html/man3/SSL_CTX_add_extra_chain_cert.html", + "doc/html/man3/SSL_CTX_add_session.html", + "doc/html/man3/SSL_CTX_config.html", + "doc/html/man3/SSL_CTX_ctrl.html", + "doc/html/man3/SSL_CTX_dane_enable.html", + "doc/html/man3/SSL_CTX_flush_sessions.html", + "doc/html/man3/SSL_CTX_free.html", + "doc/html/man3/SSL_CTX_get0_param.html", + "doc/html/man3/SSL_CTX_get_verify_mode.html", + "doc/html/man3/SSL_CTX_has_client_custom_ext.html", + "doc/html/man3/SSL_CTX_load_verify_locations.html", + "doc/html/man3/SSL_CTX_new.html", + "doc/html/man3/SSL_CTX_sess_number.html", + "doc/html/man3/SSL_CTX_sess_set_cache_size.html", + "doc/html/man3/SSL_CTX_sess_set_get_cb.html", + "doc/html/man3/SSL_CTX_sessions.html", + "doc/html/man3/SSL_CTX_set0_CA_list.html", + "doc/html/man3/SSL_CTX_set1_curves.html", + "doc/html/man3/SSL_CTX_set1_sigalgs.html", + "doc/html/man3/SSL_CTX_set1_verify_cert_store.html", + "doc/html/man3/SSL_CTX_set_alpn_select_cb.html", + "doc/html/man3/SSL_CTX_set_cert_cb.html", + "doc/html/man3/SSL_CTX_set_cert_store.html", + "doc/html/man3/SSL_CTX_set_cert_verify_callback.html", + "doc/html/man3/SSL_CTX_set_cipher_list.html", + "doc/html/man3/SSL_CTX_set_client_cert_cb.html", + "doc/html/man3/SSL_CTX_set_client_hello_cb.html", + "doc/html/man3/SSL_CTX_set_ct_validation_callback.html", + "doc/html/man3/SSL_CTX_set_ctlog_list_file.html", + "doc/html/man3/SSL_CTX_set_default_passwd_cb.html", + "doc/html/man3/SSL_CTX_set_generate_session_id.html", + "doc/html/man3/SSL_CTX_set_info_callback.html", + "doc/html/man3/SSL_CTX_set_keylog_callback.html", + "doc/html/man3/SSL_CTX_set_max_cert_list.html", + "doc/html/man3/SSL_CTX_set_min_proto_version.html", + "doc/html/man3/SSL_CTX_set_mode.html", + "doc/html/man3/SSL_CTX_set_msg_callback.html", + "doc/html/man3/SSL_CTX_set_num_tickets.html", + "doc/html/man3/SSL_CTX_set_options.html", + "doc/html/man3/SSL_CTX_set_psk_client_callback.html", + "doc/html/man3/SSL_CTX_set_quic_method.html", + "doc/html/man3/SSL_CTX_set_quiet_shutdown.html", + "doc/html/man3/SSL_CTX_set_read_ahead.html", + "doc/html/man3/SSL_CTX_set_record_padding_callback.html", + "doc/html/man3/SSL_CTX_set_security_level.html", + "doc/html/man3/SSL_CTX_set_session_cache_mode.html", + "doc/html/man3/SSL_CTX_set_session_id_context.html", + "doc/html/man3/SSL_CTX_set_session_ticket_cb.html", + "doc/html/man3/SSL_CTX_set_split_send_fragment.html", + "doc/html/man3/SSL_CTX_set_srp_password.html", + "doc/html/man3/SSL_CTX_set_ssl_version.html", + "doc/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html", + "doc/html/man3/SSL_CTX_set_timeout.html", + "doc/html/man3/SSL_CTX_set_tlsext_servername_callback.html", + "doc/html/man3/SSL_CTX_set_tlsext_status_cb.html", + "doc/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html", + "doc/html/man3/SSL_CTX_set_tlsext_use_srtp.html", + "doc/html/man3/SSL_CTX_set_tmp_dh_callback.html", + "doc/html/man3/SSL_CTX_set_tmp_ecdh.html", + "doc/html/man3/SSL_CTX_set_verify.html", + "doc/html/man3/SSL_CTX_use_certificate.html", + "doc/html/man3/SSL_CTX_use_psk_identity_hint.html", + "doc/html/man3/SSL_CTX_use_serverinfo.html", + "doc/html/man3/SSL_SESSION_free.html", + "doc/html/man3/SSL_SESSION_get0_cipher.html", + "doc/html/man3/SSL_SESSION_get0_hostname.html", + "doc/html/man3/SSL_SESSION_get0_id_context.html", + "doc/html/man3/SSL_SESSION_get0_peer.html", + "doc/html/man3/SSL_SESSION_get_compress_id.html", + "doc/html/man3/SSL_SESSION_get_protocol_version.html", + "doc/html/man3/SSL_SESSION_get_time.html", + "doc/html/man3/SSL_SESSION_has_ticket.html", + "doc/html/man3/SSL_SESSION_is_resumable.html", + "doc/html/man3/SSL_SESSION_print.html", + "doc/html/man3/SSL_SESSION_set1_id.html", + "doc/html/man3/SSL_accept.html", + "doc/html/man3/SSL_alert_type_string.html", + "doc/html/man3/SSL_alloc_buffers.html", + "doc/html/man3/SSL_check_chain.html", + "doc/html/man3/SSL_clear.html", + "doc/html/man3/SSL_connect.html", + "doc/html/man3/SSL_do_handshake.html", + "doc/html/man3/SSL_export_keying_material.html", + "doc/html/man3/SSL_extension_supported.html", + "doc/html/man3/SSL_free.html", + "doc/html/man3/SSL_get0_peer_scts.html", + "doc/html/man3/SSL_get_SSL_CTX.html", + "doc/html/man3/SSL_get_all_async_fds.html", + "doc/html/man3/SSL_get_certificate.html", + "doc/html/man3/SSL_get_ciphers.html", + "doc/html/man3/SSL_get_client_random.html", + "doc/html/man3/SSL_get_current_cipher.html", + "doc/html/man3/SSL_get_default_timeout.html", + "doc/html/man3/SSL_get_error.html", + "doc/html/man3/SSL_get_extms_support.html", + "doc/html/man3/SSL_get_fd.html", + "doc/html/man3/SSL_get_peer_cert_chain.html", + "doc/html/man3/SSL_get_peer_certificate.html", + "doc/html/man3/SSL_get_peer_signature_nid.html", + "doc/html/man3/SSL_get_peer_tmp_key.html", + "doc/html/man3/SSL_get_psk_identity.html", + "doc/html/man3/SSL_get_rbio.html", + "doc/html/man3/SSL_get_session.html", + "doc/html/man3/SSL_get_shared_sigalgs.html", + "doc/html/man3/SSL_get_verify_result.html", + "doc/html/man3/SSL_get_version.html", + "doc/html/man3/SSL_group_to_name.html", + "doc/html/man3/SSL_in_init.html", + "doc/html/man3/SSL_key_update.html", + "doc/html/man3/SSL_library_init.html", + "doc/html/man3/SSL_load_client_CA_file.html", + "doc/html/man3/SSL_new.html", + "doc/html/man3/SSL_pending.html", + "doc/html/man3/SSL_read.html", + "doc/html/man3/SSL_read_early_data.html", + "doc/html/man3/SSL_rstate_string.html", + "doc/html/man3/SSL_session_reused.html", + "doc/html/man3/SSL_set1_host.html", + "doc/html/man3/SSL_set_async_callback.html", + "doc/html/man3/SSL_set_bio.html", + "doc/html/man3/SSL_set_connect_state.html", + "doc/html/man3/SSL_set_fd.html", + "doc/html/man3/SSL_set_retry_verify.html", + "doc/html/man3/SSL_set_session.html", + "doc/html/man3/SSL_set_shutdown.html", + "doc/html/man3/SSL_set_verify_result.html", + "doc/html/man3/SSL_shutdown.html", + "doc/html/man3/SSL_state_string.html", + "doc/html/man3/SSL_want.html", + "doc/html/man3/SSL_write.html", + "doc/html/man3/TS_RESP_CTX_new.html", + "doc/html/man3/TS_VERIFY_CTX_set_certs.html", + "doc/html/man3/UI_STRING.html", + "doc/html/man3/UI_UTIL_read_pw.html", + "doc/html/man3/UI_create_method.html", + "doc/html/man3/UI_new.html", + "doc/html/man3/X509V3_get_d2i.html", + "doc/html/man3/X509V3_set_ctx.html", + "doc/html/man3/X509_ALGOR_dup.html", + "doc/html/man3/X509_CRL_get0_by_serial.html", + "doc/html/man3/X509_EXTENSION_set_object.html", + "doc/html/man3/X509_LOOKUP.html", + "doc/html/man3/X509_LOOKUP_hash_dir.html", + "doc/html/man3/X509_LOOKUP_meth_new.html", + "doc/html/man3/X509_NAME_ENTRY_get_object.html", + "doc/html/man3/X509_NAME_add_entry_by_txt.html", + "doc/html/man3/X509_NAME_get0_der.html", + "doc/html/man3/X509_NAME_get_index_by_NID.html", + "doc/html/man3/X509_NAME_print_ex.html", + "doc/html/man3/X509_PUBKEY_new.html", + "doc/html/man3/X509_SIG_get0.html", + "doc/html/man3/X509_STORE_CTX_get_error.html", + "doc/html/man3/X509_STORE_CTX_new.html", + "doc/html/man3/X509_STORE_CTX_set_verify_cb.html", + "doc/html/man3/X509_STORE_add_cert.html", + "doc/html/man3/X509_STORE_get0_param.html", + "doc/html/man3/X509_STORE_new.html", + "doc/html/man3/X509_STORE_set_verify_cb_func.html", + "doc/html/man3/X509_VERIFY_PARAM_set_flags.html", + "doc/html/man3/X509_add_cert.html", + "doc/html/man3/X509_check_ca.html", + "doc/html/man3/X509_check_host.html", + "doc/html/man3/X509_check_issued.html", + "doc/html/man3/X509_check_private_key.html", + "doc/html/man3/X509_check_purpose.html", + "doc/html/man3/X509_cmp.html", + "doc/html/man3/X509_cmp_time.html", + "doc/html/man3/X509_digest.html", + "doc/html/man3/X509_dup.html", + "doc/html/man3/X509_get0_distinguishing_id.html", + "doc/html/man3/X509_get0_notBefore.html", + "doc/html/man3/X509_get0_signature.html", + "doc/html/man3/X509_get0_uids.html", + "doc/html/man3/X509_get_extension_flags.html", + "doc/html/man3/X509_get_pubkey.html", + "doc/html/man3/X509_get_serialNumber.html", + "doc/html/man3/X509_get_subject_name.html", + "doc/html/man3/X509_get_version.html", + "doc/html/man3/X509_load_http.html", + "doc/html/man3/X509_new.html", + "doc/html/man3/X509_sign.html", + "doc/html/man3/X509_verify.html", + "doc/html/man3/X509_verify_cert.html", + "doc/html/man3/X509v3_get_ext_by_NID.html", + "doc/html/man3/b2i_PVK_bio_ex.html", + "doc/html/man3/d2i_PKCS8PrivateKey_bio.html", + "doc/html/man3/d2i_PrivateKey.html", + "doc/html/man3/d2i_RSAPrivateKey.html", + "doc/html/man3/d2i_SSL_SESSION.html", + "doc/html/man3/d2i_X509.html", + "doc/html/man3/i2d_CMS_bio_stream.html", + "doc/html/man3/i2d_PKCS7_bio_stream.html", + "doc/html/man3/i2d_re_X509_tbs.html", + "doc/html/man3/o2i_SCT_LIST.html", + "doc/html/man3/s2i_ASN1_IA5STRING.html" + ], + "man5" => [ + "doc/html/man5/config.html", + "doc/html/man5/fips_config.html", + "doc/html/man5/x509v3_config.html" + ], + "man7" => [ + "doc/html/man7/EVP_ASYM_CIPHER-RSA.html", + "doc/html/man7/EVP_ASYM_CIPHER-SM2.html", + "doc/html/man7/EVP_CIPHER-AES.html", + "doc/html/man7/EVP_CIPHER-ARIA.html", + "doc/html/man7/EVP_CIPHER-BLOWFISH.html", + "doc/html/man7/EVP_CIPHER-CAMELLIA.html", + "doc/html/man7/EVP_CIPHER-CAST.html", + "doc/html/man7/EVP_CIPHER-CHACHA.html", + "doc/html/man7/EVP_CIPHER-DES.html", + "doc/html/man7/EVP_CIPHER-IDEA.html", + "doc/html/man7/EVP_CIPHER-RC2.html", + "doc/html/man7/EVP_CIPHER-RC4.html", + "doc/html/man7/EVP_CIPHER-RC5.html", + "doc/html/man7/EVP_CIPHER-SEED.html", + "doc/html/man7/EVP_CIPHER-SM4.html", + "doc/html/man7/EVP_KDF-HKDF.html", + "doc/html/man7/EVP_KDF-KB.html", + "doc/html/man7/EVP_KDF-KRB5KDF.html", + "doc/html/man7/EVP_KDF-PBKDF1.html", + "doc/html/man7/EVP_KDF-PBKDF2.html", + "doc/html/man7/EVP_KDF-PKCS12KDF.html", + "doc/html/man7/EVP_KDF-SCRYPT.html", + "doc/html/man7/EVP_KDF-SS.html", + "doc/html/man7/EVP_KDF-SSHKDF.html", + "doc/html/man7/EVP_KDF-TLS13_KDF.html", + "doc/html/man7/EVP_KDF-TLS1_PRF.html", + "doc/html/man7/EVP_KDF-X942-ASN1.html", + "doc/html/man7/EVP_KDF-X942-CONCAT.html", + "doc/html/man7/EVP_KDF-X963.html", + "doc/html/man7/EVP_KEM-RSA.html", + "doc/html/man7/EVP_KEYEXCH-DH.html", + "doc/html/man7/EVP_KEYEXCH-ECDH.html", + "doc/html/man7/EVP_KEYEXCH-X25519.html", + "doc/html/man7/EVP_MAC-BLAKE2.html", + "doc/html/man7/EVP_MAC-CMAC.html", + "doc/html/man7/EVP_MAC-GMAC.html", + "doc/html/man7/EVP_MAC-HMAC.html", + "doc/html/man7/EVP_MAC-KMAC.html", + "doc/html/man7/EVP_MAC-Poly1305.html", + "doc/html/man7/EVP_MAC-Siphash.html", + "doc/html/man7/EVP_MD-BLAKE2.html", + "doc/html/man7/EVP_MD-MD2.html", + "doc/html/man7/EVP_MD-MD4.html", + "doc/html/man7/EVP_MD-MD5-SHA1.html", + "doc/html/man7/EVP_MD-MD5.html", + "doc/html/man7/EVP_MD-MDC2.html", + "doc/html/man7/EVP_MD-RIPEMD160.html", + "doc/html/man7/EVP_MD-SHA1.html", + "doc/html/man7/EVP_MD-SHA2.html", + "doc/html/man7/EVP_MD-SHA3.html", + "doc/html/man7/EVP_MD-SHAKE.html", + "doc/html/man7/EVP_MD-SM3.html", + "doc/html/man7/EVP_MD-WHIRLPOOL.html", + "doc/html/man7/EVP_MD-common.html", + "doc/html/man7/EVP_PKEY-DH.html", + "doc/html/man7/EVP_PKEY-DSA.html", + "doc/html/man7/EVP_PKEY-EC.html", + "doc/html/man7/EVP_PKEY-FFC.html", + "doc/html/man7/EVP_PKEY-HMAC.html", + "doc/html/man7/EVP_PKEY-RSA.html", + "doc/html/man7/EVP_PKEY-SM2.html", + "doc/html/man7/EVP_PKEY-X25519.html", + "doc/html/man7/EVP_RAND-CTR-DRBG.html", + "doc/html/man7/EVP_RAND-HASH-DRBG.html", + "doc/html/man7/EVP_RAND-HMAC-DRBG.html", + "doc/html/man7/EVP_RAND-SEED-SRC.html", + "doc/html/man7/EVP_RAND-TEST-RAND.html", + "doc/html/man7/EVP_RAND.html", + "doc/html/man7/EVP_SIGNATURE-DSA.html", + "doc/html/man7/EVP_SIGNATURE-ECDSA.html", + "doc/html/man7/EVP_SIGNATURE-ED25519.html", + "doc/html/man7/EVP_SIGNATURE-HMAC.html", + "doc/html/man7/EVP_SIGNATURE-RSA.html", + "doc/html/man7/OSSL_PROVIDER-FIPS.html", + "doc/html/man7/OSSL_PROVIDER-base.html", + "doc/html/man7/OSSL_PROVIDER-default.html", + "doc/html/man7/OSSL_PROVIDER-legacy.html", + "doc/html/man7/OSSL_PROVIDER-null.html", + "doc/html/man7/RAND.html", + "doc/html/man7/RSA-PSS.html", + "doc/html/man7/X25519.html", + "doc/html/man7/bio.html", + "doc/html/man7/crypto.html", + "doc/html/man7/ct.html", + "doc/html/man7/des_modes.html", + "doc/html/man7/evp.html", + "doc/html/man7/fips_module.html", + "doc/html/man7/life_cycle-cipher.html", + "doc/html/man7/life_cycle-digest.html", + "doc/html/man7/life_cycle-kdf.html", + "doc/html/man7/life_cycle-mac.html", + "doc/html/man7/life_cycle-pkey.html", + "doc/html/man7/life_cycle-rand.html", + "doc/html/man7/migration_guide.html", + "doc/html/man7/openssl-core.h.html", + "doc/html/man7/openssl-core_dispatch.h.html", + "doc/html/man7/openssl-core_names.h.html", + "doc/html/man7/openssl-env.html", + "doc/html/man7/openssl-glossary.html", + "doc/html/man7/openssl-threads.html", + "doc/html/man7/openssl_user_macros.html", + "doc/html/man7/ossl_store-file.html", + "doc/html/man7/ossl_store.html", + "doc/html/man7/passphrase-encoding.html", + "doc/html/man7/property.html", + "doc/html/man7/provider-asym_cipher.html", + "doc/html/man7/provider-base.html", + "doc/html/man7/provider-cipher.html", + "doc/html/man7/provider-decoder.html", + "doc/html/man7/provider-digest.html", + "doc/html/man7/provider-encoder.html", + "doc/html/man7/provider-kdf.html", + "doc/html/man7/provider-kem.html", + "doc/html/man7/provider-keyexch.html", + "doc/html/man7/provider-keymgmt.html", + "doc/html/man7/provider-mac.html", + "doc/html/man7/provider-object.html", + "doc/html/man7/provider-rand.html", + "doc/html/man7/provider-signature.html", + "doc/html/man7/provider-storemgmt.html", + "doc/html/man7/provider.html", + "doc/html/man7/proxy-certificates.html", + "doc/html/man7/ssl.html", + "doc/html/man7/x509.html" + ] + }, + "imagedocs" => { + "man7" => [ + "doc/man7/img/cipher.png", + "doc/man7/img/digest.png", + "doc/man7/img/kdf.png", + "doc/man7/img/mac.png", + "doc/man7/img/pkey.png", + "doc/man7/img/rand.png" + ] + }, + "includes" => { + "apps/asn1parse.o" => [ + "apps" + ], + "apps/ca.o" => [ + "apps" + ], + "apps/ciphers.o" => [ + "apps" + ], + "apps/cmp.o" => [ + "apps" + ], + "apps/cms.o" => [ + "apps" + ], + "apps/crl.o" => [ + "apps" + ], + "apps/crl2pkcs7.o" => [ + "apps" + ], + "apps/dgst.o" => [ + "apps" + ], + "apps/dhparam.o" => [ + "apps" + ], + "apps/dsa.o" => [ + "apps" + ], + "apps/dsaparam.o" => [ + "apps" + ], + "apps/ec.o" => [ + "apps" + ], + "apps/ecparam.o" => [ + "apps" + ], + "apps/enc.o" => [ + "apps" + ], + "apps/engine.o" => [ + "apps" + ], + "apps/errstr.o" => [ + "apps" + ], + "apps/fipsinstall.o" => [ + "apps" + ], + "apps/gendsa.o" => [ + "apps" + ], + "apps/genpkey.o" => [ + "apps" + ], + "apps/genrsa.o" => [ + "apps" + ], + "apps/info.o" => [ + "apps" + ], + "apps/kdf.o" => [ + "apps" + ], + "apps/lib/cmp_client_test-bin-cmp_mock_srv.o" => [ + "apps" + ], + "apps/lib/cmp_mock_srv.o" => [ + "apps" + ], + "apps/lib/openssl-bin-cmp_mock_srv.o" => [ + "apps" + ], + "apps/libapps.a" => [ + ".", + "include", + "apps/include" + ], + "apps/list.o" => [ + "apps" + ], + "apps/mac.o" => [ + "apps" + ], + "apps/nseq.o" => [ + "apps" + ], + "apps/ocsp.o" => [ + "apps" + ], + "apps/openssl" => [ + ".", + "include", + "apps/include" + ], + "apps/openssl-bin-asn1parse.o" => [ + "apps" + ], + "apps/openssl-bin-ca.o" => [ + "apps" + ], + "apps/openssl-bin-ciphers.o" => [ + "apps" + ], + "apps/openssl-bin-cmp.o" => [ + "apps" + ], + "apps/openssl-bin-cms.o" => [ + "apps" + ], + "apps/openssl-bin-crl.o" => [ + "apps" + ], + "apps/openssl-bin-crl2pkcs7.o" => [ + "apps" + ], + "apps/openssl-bin-dgst.o" => [ + "apps" + ], + "apps/openssl-bin-dhparam.o" => [ + "apps" + ], + "apps/openssl-bin-dsa.o" => [ + "apps" + ], + "apps/openssl-bin-dsaparam.o" => [ + "apps" + ], + "apps/openssl-bin-ec.o" => [ + "apps" + ], + "apps/openssl-bin-ecparam.o" => [ + "apps" + ], + "apps/openssl-bin-enc.o" => [ + "apps" + ], + "apps/openssl-bin-engine.o" => [ + "apps" + ], + "apps/openssl-bin-errstr.o" => [ + "apps" + ], + "apps/openssl-bin-fipsinstall.o" => [ + "apps" + ], + "apps/openssl-bin-gendsa.o" => [ + "apps" + ], + "apps/openssl-bin-genpkey.o" => [ + "apps" + ], + "apps/openssl-bin-genrsa.o" => [ + "apps" + ], + "apps/openssl-bin-info.o" => [ + "apps" + ], + "apps/openssl-bin-kdf.o" => [ + "apps" + ], + "apps/openssl-bin-list.o" => [ + "apps" + ], + "apps/openssl-bin-mac.o" => [ + "apps" + ], + "apps/openssl-bin-nseq.o" => [ + "apps" + ], + "apps/openssl-bin-ocsp.o" => [ + "apps" + ], + "apps/openssl-bin-openssl.o" => [ + "apps" + ], + "apps/openssl-bin-passwd.o" => [ + "apps" + ], + "apps/openssl-bin-pkcs12.o" => [ + "apps" + ], + "apps/openssl-bin-pkcs7.o" => [ + "apps" + ], + "apps/openssl-bin-pkcs8.o" => [ + "apps" + ], + "apps/openssl-bin-pkey.o" => [ + "apps" + ], + "apps/openssl-bin-pkeyparam.o" => [ + "apps" + ], + "apps/openssl-bin-pkeyutl.o" => [ + "apps" + ], + "apps/openssl-bin-prime.o" => [ + "apps" + ], + "apps/openssl-bin-progs.o" => [ + "apps" + ], + "apps/openssl-bin-rand.o" => [ + "apps" + ], + "apps/openssl-bin-rehash.o" => [ + "apps" + ], + "apps/openssl-bin-req.o" => [ + "apps" + ], + "apps/openssl-bin-rsa.o" => [ + "apps" + ], + "apps/openssl-bin-rsautl.o" => [ + "apps" + ], + "apps/openssl-bin-s_client.o" => [ + "apps" + ], + "apps/openssl-bin-s_server.o" => [ + "apps" + ], + "apps/openssl-bin-s_time.o" => [ + "apps" + ], + "apps/openssl-bin-sess_id.o" => [ + "apps" + ], + "apps/openssl-bin-smime.o" => [ + "apps" + ], + "apps/openssl-bin-speed.o" => [ + "apps" + ], + "apps/openssl-bin-spkac.o" => [ + "apps" + ], + "apps/openssl-bin-srp.o" => [ + "apps" + ], + "apps/openssl-bin-storeutl.o" => [ + "apps" + ], + "apps/openssl-bin-ts.o" => [ + "apps" + ], + "apps/openssl-bin-verify.o" => [ + "apps" + ], + "apps/openssl-bin-version.o" => [ + "apps" + ], + "apps/openssl-bin-x509.o" => [ + "apps" + ], + "apps/openssl.o" => [ + "apps" + ], + "apps/passwd.o" => [ + "apps" + ], + "apps/pkcs12.o" => [ + "apps" + ], + "apps/pkcs7.o" => [ + "apps" + ], + "apps/pkcs8.o" => [ + "apps" + ], + "apps/pkey.o" => [ + "apps" + ], + "apps/pkeyparam.o" => [ + "apps" + ], + "apps/pkeyutl.o" => [ + "apps" + ], + "apps/prime.o" => [ + "apps" + ], + "apps/progs.c" => [ + "." + ], + "apps/progs.o" => [ + "apps" + ], + "apps/rand.o" => [ + "apps" + ], + "apps/rehash.o" => [ + "apps" + ], + "apps/req.o" => [ + "apps" + ], + "apps/rsa.o" => [ + "apps" + ], + "apps/rsautl.o" => [ + "apps" + ], + "apps/s_client.o" => [ + "apps" + ], + "apps/s_server.o" => [ + "apps" + ], + "apps/s_time.o" => [ + "apps" + ], + "apps/sess_id.o" => [ + "apps" + ], + "apps/smime.o" => [ + "apps" + ], + "apps/speed.o" => [ + "apps" + ], + "apps/spkac.o" => [ + "apps" + ], + "apps/srp.o" => [ + "apps" + ], + "apps/storeutl.o" => [ + "apps" + ], + "apps/ts.o" => [ + "apps" + ], + "apps/verify.o" => [ + "apps" + ], + "apps/version.o" => [ + "apps" + ], + "apps/x509.o" => [ + "apps" + ], + "crypto/aes/aes-armv4.o" => [ + "crypto" + ], + "crypto/aes/aes-mips.o" => [ + "crypto" + ], + "crypto/aes/aes-s390x.o" => [ + "crypto" + ], + "crypto/aes/aes-sparcv9.o" => [ + "crypto" + ], + "crypto/aes/aesfx-sparcv9.o" => [ + "crypto" + ], + "crypto/aes/aest4-sparcv9.o" => [ + "crypto" + ], + "crypto/aes/aesv8-armx.o" => [ + "crypto" + ], + "crypto/aes/bsaes-armv7.o" => [ + "crypto" + ], + "crypto/arm64cpuid.o" => [ + "crypto" + ], + "crypto/armv4cpuid.o" => [ + "crypto" + ], + "crypto/bn/armv4-gf2m.o" => [ + "crypto" + ], + "crypto/bn/armv4-mont.o" => [ + "crypto" + ], + "crypto/bn/armv8-mont.o" => [ + "crypto" + ], + "crypto/bn/bn-mips.o" => [ + "crypto" + ], + "crypto/bn/bn_exp.o" => [ + "crypto" + ], + "crypto/bn/libcrypto-lib-bn_exp.o" => [ + "crypto" + ], + "crypto/bn/libfips-lib-bn_exp.o" => [ + "crypto" + ], + "crypto/bn/mips-mont.o" => [ + "crypto" + ], + "crypto/bn/sparct4-mont.o" => [ + "crypto" + ], + "crypto/bn/sparcv9-gf2m.o" => [ + "crypto" + ], + "crypto/bn/sparcv9-mont.o" => [ + "crypto" + ], + "crypto/bn/sparcv9a-mont.o" => [ + "crypto" + ], + "crypto/bn/vis3-mont.o" => [ + "crypto" + ], + "crypto/camellia/cmllt4-sparcv9.o" => [ + "crypto" + ], + "crypto/chacha/chacha-armv4.o" => [ + "crypto" + ], + "crypto/chacha/chacha-armv8.o" => [ + "crypto" + ], + "crypto/chacha/chacha-s390x.o" => [ + "crypto" + ], + "crypto/cpuid.o" => [ + "." + ], + "crypto/cversion.o" => [ + "crypto" + ], + "crypto/des/dest4-sparcv9.o" => [ + "crypto" + ], + "crypto/ec/ecp_nistz256-armv4.o" => [ + "crypto" + ], + "crypto/ec/ecp_nistz256-armv8.o" => [ + "crypto" + ], + "crypto/ec/ecp_nistz256-sparcv9.o" => [ + "crypto" + ], + "crypto/ec/ecp_s390x_nistp.o" => [ + "crypto" + ], + "crypto/ec/ecx_meth.o" => [ + "crypto" + ], + "crypto/ec/ecx_s390x.o" => [ + "crypto" + ], + "crypto/ec/libcrypto-lib-ecx_meth.o" => [ + "crypto" + ], + "crypto/evp/e_aes.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/e_aes_cbc_hmac_sha1.o" => [ + "crypto/modes" + ], + "crypto/evp/e_aes_cbc_hmac_sha256.o" => [ + "crypto/modes" + ], + "crypto/evp/e_aria.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/e_camellia.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/e_des.o" => [ + "crypto" + ], + "crypto/evp/e_des3.o" => [ + "crypto" + ], + "crypto/evp/e_sm4.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/libcrypto-lib-e_aes.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o" => [ + "crypto/modes" + ], + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o" => [ + "crypto/modes" + ], + "crypto/evp/libcrypto-lib-e_aria.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/libcrypto-lib-e_camellia.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/evp/libcrypto-lib-e_des.o" => [ + "crypto" + ], + "crypto/evp/libcrypto-lib-e_des3.o" => [ + "crypto" + ], + "crypto/evp/libcrypto-lib-e_sm4.o" => [ + "crypto", + "crypto/modes" + ], + "crypto/info.o" => [ + "crypto" + ], + "crypto/libcrypto-lib-cpuid.o" => [ + "." + ], + "crypto/libcrypto-lib-cversion.o" => [ + "crypto" + ], + "crypto/libcrypto-lib-info.o" => [ + "crypto" + ], + "crypto/libfips-lib-cpuid.o" => [ + "." + ], + "crypto/md5/md5-sparcv9.o" => [ + "crypto" + ], + "crypto/modes/aes-gcm-armv8_64.o" => [ + "crypto" + ], + "crypto/modes/gcm128.o" => [ + "crypto" + ], + "crypto/modes/ghash-armv4.o" => [ + "crypto" + ], + "crypto/modes/ghash-s390x.o" => [ + "crypto" + ], + "crypto/modes/ghash-sparcv9.o" => [ + "crypto" + ], + "crypto/modes/ghashv8-armx.o" => [ + "crypto" + ], + "crypto/modes/libcrypto-lib-gcm128.o" => [ + "crypto" + ], + "crypto/modes/libfips-lib-gcm128.o" => [ + "crypto" + ], + "crypto/poly1305/poly1305-armv4.o" => [ + "crypto" + ], + "crypto/poly1305/poly1305-armv8.o" => [ + "crypto" + ], + "crypto/poly1305/poly1305-mips.o" => [ + "crypto" + ], + "crypto/poly1305/poly1305-s390x.o" => [ + "crypto" + ], + "crypto/poly1305/poly1305-sparcv9.o" => [ + "crypto" + ], + "crypto/s390xcpuid.o" => [ + "crypto" + ], + "crypto/sha/keccak1600-armv4.o" => [ + "crypto" + ], + "crypto/sha/sha1-armv4-large.o" => [ + "crypto" + ], + "crypto/sha/sha1-armv8.o" => [ + "crypto" + ], + "crypto/sha/sha1-mips.o" => [ + "crypto" + ], + "crypto/sha/sha1-s390x.o" => [ + "crypto" + ], + "crypto/sha/sha1-sparcv9.o" => [ + "crypto" + ], + "crypto/sha/sha256-armv4.o" => [ + "crypto" + ], + "crypto/sha/sha256-armv8.o" => [ + "crypto" + ], + "crypto/sha/sha256-mips.o" => [ + "crypto" + ], + "crypto/sha/sha256-s390x.o" => [ + "crypto" + ], + "crypto/sha/sha256-sparcv9.o" => [ + "crypto" + ], + "crypto/sha/sha512-armv4.o" => [ + "crypto" + ], + "crypto/sha/sha512-armv8.o" => [ + "crypto" + ], + "crypto/sha/sha512-mips.o" => [ + "crypto" + ], + "crypto/sha/sha512-s390x.o" => [ + "crypto" + ], + "crypto/sha/sha512-sparcv9.o" => [ + "crypto" + ], + "doc/man1/openssl-asn1parse.pod" => [ + "doc" + ], + "doc/man1/openssl-ca.pod" => [ + "doc" + ], + "doc/man1/openssl-ciphers.pod" => [ + "doc" + ], + "doc/man1/openssl-cmds.pod" => [ + "doc" + ], + "doc/man1/openssl-cmp.pod" => [ + "doc" + ], + "doc/man1/openssl-cms.pod" => [ + "doc" + ], + "doc/man1/openssl-crl.pod" => [ + "doc" + ], + "doc/man1/openssl-crl2pkcs7.pod" => [ + "doc" + ], + "doc/man1/openssl-dgst.pod" => [ + "doc" + ], + "doc/man1/openssl-dhparam.pod" => [ + "doc" + ], + "doc/man1/openssl-dsa.pod" => [ + "doc" + ], + "doc/man1/openssl-dsaparam.pod" => [ + "doc" + ], + "doc/man1/openssl-ec.pod" => [ + "doc" + ], + "doc/man1/openssl-ecparam.pod" => [ + "doc" + ], + "doc/man1/openssl-enc.pod" => [ + "doc" + ], + "doc/man1/openssl-engine.pod" => [ + "doc" + ], + "doc/man1/openssl-errstr.pod" => [ + "doc" + ], + "doc/man1/openssl-fipsinstall.pod" => [ + "doc" + ], + "doc/man1/openssl-gendsa.pod" => [ + "doc" + ], + "doc/man1/openssl-genpkey.pod" => [ + "doc" + ], + "doc/man1/openssl-genrsa.pod" => [ + "doc" + ], + "doc/man1/openssl-info.pod" => [ + "doc" + ], + "doc/man1/openssl-kdf.pod" => [ + "doc" + ], + "doc/man1/openssl-list.pod" => [ + "doc" + ], + "doc/man1/openssl-mac.pod" => [ + "doc" + ], + "doc/man1/openssl-nseq.pod" => [ + "doc" + ], + "doc/man1/openssl-ocsp.pod" => [ + "doc" + ], + "doc/man1/openssl-passwd.pod" => [ + "doc" + ], + "doc/man1/openssl-pkcs12.pod" => [ + "doc" + ], + "doc/man1/openssl-pkcs7.pod" => [ + "doc" + ], + "doc/man1/openssl-pkcs8.pod" => [ + "doc" + ], + "doc/man1/openssl-pkey.pod" => [ + "doc" + ], + "doc/man1/openssl-pkeyparam.pod" => [ + "doc" + ], + "doc/man1/openssl-pkeyutl.pod" => [ + "doc" + ], + "doc/man1/openssl-prime.pod" => [ + "doc" + ], + "doc/man1/openssl-rand.pod" => [ + "doc" + ], + "doc/man1/openssl-rehash.pod" => [ + "doc" + ], + "doc/man1/openssl-req.pod" => [ + "doc" + ], + "doc/man1/openssl-rsa.pod" => [ + "doc" + ], + "doc/man1/openssl-rsautl.pod" => [ + "doc" + ], + "doc/man1/openssl-s_client.pod" => [ + "doc" + ], + "doc/man1/openssl-s_server.pod" => [ + "doc" + ], + "doc/man1/openssl-s_time.pod" => [ + "doc" + ], + "doc/man1/openssl-sess_id.pod" => [ + "doc" + ], + "doc/man1/openssl-smime.pod" => [ + "doc" + ], + "doc/man1/openssl-speed.pod" => [ + "doc" + ], + "doc/man1/openssl-spkac.pod" => [ + "doc" + ], + "doc/man1/openssl-srp.pod" => [ + "doc" + ], + "doc/man1/openssl-storeutl.pod" => [ + "doc" + ], + "doc/man1/openssl-ts.pod" => [ + "doc" + ], + "doc/man1/openssl-verify.pod" => [ + "doc" + ], + "doc/man1/openssl-version.pod" => [ + "doc" + ], + "doc/man1/openssl-x509.pod" => [ + "doc" + ], + "fuzz/asn1-test" => [ + "include" + ], + "fuzz/asn1parse-test" => [ + "include" + ], + "fuzz/bignum-test" => [ + "include" + ], + "fuzz/bndiv-test" => [ + "include" + ], + "fuzz/client-test" => [ + "include" + ], + "fuzz/cmp-test" => [ + "include" + ], + "fuzz/cms-test" => [ + "include" + ], + "fuzz/conf-test" => [ + "include" + ], + "fuzz/crl-test" => [ + "include" + ], + "fuzz/ct-test" => [ + "include" + ], + "fuzz/server-test" => [ + "include" + ], + "fuzz/x509-test" => [ + "include" + ], + "libcrypto" => [ + ".", + "include", + "providers/common/include", + "providers/implementations/include" + ], + "libcrypto.ld" => [ + ".", + "util/perl/OpenSSL" + ], + "libssl" => [ + ".", + "include" + ], + "libssl.ld" => [ + ".", + "util/perl/OpenSSL" + ], + "providers/common/der/der_digests_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_digests_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_dsa_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_dsa_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_dsa_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_dsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_ec_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_ec_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_ec_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_ec_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_ecx_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_ecx_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_ecx_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_rsa_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_rsa_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_rsa_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_rsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_sm2_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_sm2_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_sm2_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_sm2_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/der_wrap_gen.c" => [ + "providers/common/der" + ], + "providers/common/der/der_wrap_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_digests_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_dsa_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_dsa_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_dsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_ec_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_ec_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_ec_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_ecx_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_ecx_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_rsa_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_rsa_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libcommon-lib-der_wrap_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libdefault-lib-der_rsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libdefault-lib-der_sm2_gen.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libdefault-lib-der_sm2_key.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libdefault-lib-der_sm2_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/der/libfips-lib-der_rsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/common/include/prov/der_digests.h" => [ + "providers/common/der" + ], + "providers/common/include/prov/der_dsa.h" => [ + "providers/common/der" + ], + "providers/common/include/prov/der_ec.h" => [ + "providers/common/der" + ], + "providers/common/include/prov/der_ecx.h" => [ + "providers/common/der" + ], + "providers/common/include/prov/der_rsa.h" => [ + "providers/common/der" + ], + "providers/common/include/prov/der_sm2.h" => [ + "providers/common/der" + ], + "providers/common/include/prov/der_wrap.h" => [ + "providers/common/der" + ], + "providers/fips" => [ + "include" + ], + "providers/implementations/encode_decode/encode_key2any.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/kdfs/libfips-lib-x942kdf.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/kdfs/x942kdf.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/dsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/ecdsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/eddsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libdefault-lib-ecdsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libdefault-lib-eddsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libdefault-lib-rsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libdefault-lib-sm2_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libfips-lib-dsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libfips-lib-ecdsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libfips-lib-eddsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/libfips-lib-rsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/rsa_sig.o" => [ + "providers/common/include/prov" + ], + "providers/implementations/signature/sm2_sig.o" => [ + "providers/common/include/prov" + ], + "providers/legacy" => [ + "include", + "providers/implementations/include", + "providers/common/include" + ], + "providers/libcommon.a" => [ + "crypto", + "include", + "providers/implementations/include", + "providers/common/include" + ], + "providers/libdefault.a" => [ + ".", + "crypto", + "include", + "providers/implementations/include", + "providers/common/include" + ], + "providers/libfips.a" => [ + ".", + "crypto", + "include", + "providers/implementations/include", + "providers/common/include" + ], + "providers/liblegacy.a" => [ + ".", + "crypto", + "include", + "providers/implementations/include", + "providers/common/include" + ], + "test/aborttest" => [ + "include", + "apps/include" + ], + "test/acvp_test" => [ + "include", + "apps/include" + ], + "test/aesgcmtest" => [ + "include", + "apps/include", + "." + ], + "test/afalgtest" => [ + "include", + "apps/include" + ], + "test/algorithmid_test" => [ + "include", + "apps/include" + ], + "test/asn1_decode_test" => [ + "include", + "apps/include" + ], + "test/asn1_dsa_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/asn1_encode_test" => [ + "include", + "apps/include" + ], + "test/asn1_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/asn1_string_table_test" => [ + "include", + "apps/include" + ], + "test/asn1_time_test" => [ + "include", + "apps/include" + ], + "test/asynciotest" => [ + "include", + "apps/include" + ], + "test/asynctest" => [ + "include", + "apps/include" + ], + "test/bad_dtls_test" => [ + "include", + "apps/include" + ], + "test/bftest" => [ + "include", + "apps/include" + ], + "test/bio_callback_test" => [ + "include", + "apps/include" + ], + "test/bio_core_test" => [ + "include", + "apps/include" + ], + "test/bio_enc_test" => [ + "include", + "apps/include" + ], + "test/bio_memleak_test" => [ + "include", + "apps/include" + ], + "test/bio_prefix_text" => [ + ".", + "include", + "apps/include" + ], + "test/bio_readbuffer_test" => [ + "include", + "apps/include" + ], + "test/bioprinttest" => [ + "include", + "apps/include" + ], + "test/bn_internal_test" => [ + ".", + "include", + "crypto/bn", + "apps/include" + ], + "test/bntest" => [ + "include", + "apps/include" + ], + "test/buildtest_c_aes" => [ + "include" + ], + "test/buildtest_c_async" => [ + "include" + ], + "test/buildtest_c_blowfish" => [ + "include" + ], + "test/buildtest_c_bn" => [ + "include" + ], + "test/buildtest_c_buffer" => [ + "include" + ], + "test/buildtest_c_camellia" => [ + "include" + ], + "test/buildtest_c_cast" => [ + "include" + ], + "test/buildtest_c_cmac" => [ + "include" + ], + "test/buildtest_c_cmp_util" => [ + "include" + ], + "test/buildtest_c_conf_api" => [ + "include" + ], + "test/buildtest_c_conftypes" => [ + "include" + ], + "test/buildtest_c_core" => [ + "include" + ], + "test/buildtest_c_core_dispatch" => [ + "include" + ], + "test/buildtest_c_core_names" => [ + "include" + ], + "test/buildtest_c_core_object" => [ + "include" + ], + "test/buildtest_c_cryptoerr_legacy" => [ + "include" + ], + "test/buildtest_c_decoder" => [ + "include" + ], + "test/buildtest_c_des" => [ + "include" + ], + "test/buildtest_c_dh" => [ + "include" + ], + "test/buildtest_c_dsa" => [ + "include" + ], + "test/buildtest_c_dtls1" => [ + "include" + ], + "test/buildtest_c_e_os2" => [ + "include" + ], + "test/buildtest_c_ebcdic" => [ + "include" + ], + "test/buildtest_c_ec" => [ + "include" + ], + "test/buildtest_c_ecdh" => [ + "include" + ], + "test/buildtest_c_ecdsa" => [ + "include" + ], + "test/buildtest_c_encoder" => [ + "include" + ], + "test/buildtest_c_engine" => [ + "include" + ], + "test/buildtest_c_evp" => [ + "include" + ], + "test/buildtest_c_fips_names" => [ + "include" + ], + "test/buildtest_c_hmac" => [ + "include" + ], + "test/buildtest_c_http" => [ + "include" + ], + "test/buildtest_c_idea" => [ + "include" + ], + "test/buildtest_c_kdf" => [ + "include" + ], + "test/buildtest_c_macros" => [ + "include" + ], + "test/buildtest_c_md4" => [ + "include" + ], + "test/buildtest_c_md5" => [ + "include" + ], + "test/buildtest_c_mdc2" => [ + "include" + ], + "test/buildtest_c_modes" => [ + "include" + ], + "test/buildtest_c_obj_mac" => [ + "include" + ], + "test/buildtest_c_objects" => [ + "include" + ], + "test/buildtest_c_ossl_typ" => [ + "include" + ], + "test/buildtest_c_param_build" => [ + "include" + ], + "test/buildtest_c_params" => [ + "include" + ], + "test/buildtest_c_pem" => [ + "include" + ], + "test/buildtest_c_pem2" => [ + "include" + ], + "test/buildtest_c_prov_ssl" => [ + "include" + ], + "test/buildtest_c_provider" => [ + "include" + ], + "test/buildtest_c_quic" => [ + "include" + ], + "test/buildtest_c_rand" => [ + "include" + ], + "test/buildtest_c_rc2" => [ + "include" + ], + "test/buildtest_c_rc4" => [ + "include" + ], + "test/buildtest_c_ripemd" => [ + "include" + ], + "test/buildtest_c_rsa" => [ + "include" + ], + "test/buildtest_c_seed" => [ + "include" + ], + "test/buildtest_c_self_test" => [ + "include" + ], + "test/buildtest_c_sha" => [ + "include" + ], + "test/buildtest_c_srtp" => [ + "include" + ], + "test/buildtest_c_ssl2" => [ + "include" + ], + "test/buildtest_c_sslerr_legacy" => [ + "include" + ], + "test/buildtest_c_stack" => [ + "include" + ], + "test/buildtest_c_store" => [ + "include" + ], + "test/buildtest_c_symhacks" => [ + "include" + ], + "test/buildtest_c_tls1" => [ + "include" + ], + "test/buildtest_c_ts" => [ + "include" + ], + "test/buildtest_c_txt_db" => [ + "include" + ], + "test/buildtest_c_types" => [ + "include" + ], + "test/buildtest_c_whrlpool" => [ + "include" + ], + "test/casttest" => [ + "include", + "apps/include" + ], + "test/chacha_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/cipher_overhead_test" => [ + ".", + "include", + "apps/include" + ], + "test/cipherbytes_test" => [ + "include", + "apps/include" + ], + "test/cipherlist_test" => [ + "include", + "apps/include" + ], + "test/ciphername_test" => [ + "include", + "apps/include" + ], + "test/clienthellotest" => [ + "include", + "apps/include" + ], + "test/cmactest" => [ + "include", + "apps/include" + ], + "test/cmp_asn_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_client_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_ctx_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_hdr_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_msg_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_protect_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_server_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_status_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmp_vfy_test" => [ + ".", + "include", + "apps/include" + ], + "test/cmsapitest" => [ + "include", + "apps/include" + ], + "test/conf_include_test" => [ + "include", + "apps/include" + ], + "test/confdump" => [ + "include", + "apps/include" + ], + "test/constant_time_test" => [ + "include", + "apps/include" + ], + "test/context_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/crltest" => [ + "include", + "apps/include" + ], + "test/ct_test" => [ + "include", + "apps/include" + ], + "test/ctype_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/curve448_internal_test" => [ + ".", + "include", + "apps/include", + "crypto/ec/curve448" + ], + "test/d2i_test" => [ + "include", + "apps/include" + ], + "test/danetest" => [ + "include", + "apps/include" + ], + "test/defltfips_test" => [ + "include", + "apps/include" + ], + "test/destest" => [ + "include", + "apps/include" + ], + "test/dhtest" => [ + "include", + "apps/include" + ], + "test/drbgtest" => [ + "include", + "apps/include", + "providers/common/include" + ], + "test/dsa_no_digest_size_test" => [ + "include", + "apps/include" + ], + "test/dsatest" => [ + "include", + "apps/include" + ], + "test/dtls_mtu_test" => [ + ".", + "include", + "apps/include" + ], + "test/dtlstest" => [ + "include", + "apps/include" + ], + "test/dtlsv1listentest" => [ + "include", + "apps/include" + ], + "test/ec_internal_test" => [ + "include", + "crypto/ec", + "apps/include" + ], + "test/ecdsatest" => [ + "include", + "apps/include" + ], + "test/ecstresstest" => [ + "include", + "apps/include" + ], + "test/ectest" => [ + "include", + "apps/include" + ], + "test/endecode_test" => [ + ".", + "include", + "apps/include" + ], + "test/endecoder_legacy_test" => [ + ".", + "include", + "apps/include" + ], + "test/enginetest" => [ + "include", + "apps/include" + ], + "test/errtest" => [ + "include", + "apps/include" + ], + "test/evp_extra_test" => [ + "include", + "apps/include" + ], + "test/evp_extra_test2" => [ + "include", + "apps/include" + ], + "test/evp_fetch_prov_test" => [ + "include", + "apps/include" + ], + "test/evp_kdf_test" => [ + "include", + "apps/include" + ], + "test/evp_libctx_test" => [ + "include", + "apps/include" + ], + "test/evp_pkey_ctx_new_from_name" => [ + "include", + "apps/include" + ], + "test/evp_pkey_dparams_test" => [ + "include", + "apps/include" + ], + "test/evp_pkey_provided_test" => [ + "include", + "apps/include" + ], + "test/evp_test" => [ + "include", + "apps/include" + ], + "test/exdatatest" => [ + "include", + "apps/include" + ], + "test/exptest" => [ + "include", + "apps/include" + ], + "test/ext_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/fatalerrtest" => [ + "include", + "apps/include" + ], + "test/ffc_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/fips_version_test" => [ + "include", + "apps/include" + ], + "test/gmdifftest" => [ + "include", + "apps/include" + ], + "test/helpers/asynciotest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/cmp_asn_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_client_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_ctx_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_hdr_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_msg_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_protect_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_server_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_status_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/cmp_vfy_test-bin-cmp_testlib.o" => [ + ".", + "include", + "apps/include" + ], + "test/helpers/dtls_mtu_test-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/dtlstest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/fatalerrtest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/handshake.o" => [ + ".", + "include" + ], + "test/helpers/pkcs12.o" => [ + ".", + "include" + ], + "test/helpers/pkcs12_format_test-bin-pkcs12.o" => [ + ".", + "include" + ], + "test/helpers/recordlentest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/servername_test-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/ssl_test-bin-handshake.o" => [ + ".", + "include" + ], + "test/helpers/ssl_test-bin-ssl_test_ctx.o" => [ + "include" + ], + "test/helpers/ssl_test_ctx.o" => [ + "include" + ], + "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o" => [ + "include" + ], + "test/helpers/sslapitest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/sslbuffertest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/sslcorrupttest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/ssltestlib.o" => [ + ".", + "include" + ], + "test/helpers/tls13ccstest-bin-ssltestlib.o" => [ + ".", + "include" + ], + "test/hexstr_test" => [ + ".", + "include", + "apps/include" + ], + "test/hmactest" => [ + "include", + "apps/include" + ], + "test/http_test" => [ + "include", + "apps/include" + ], + "test/ideatest" => [ + "include", + "apps/include" + ], + "test/igetest" => [ + "include", + "apps/include" + ], + "test/keymgmt_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/lhash_test" => [ + "include", + "apps/include" + ], + "test/libtestutil.a" => [ + "include", + "apps/include", + "." + ], + "test/localetest" => [ + "include", + "apps/include" + ], + "test/mdc2_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/mdc2test" => [ + "include", + "apps/include" + ], + "test/memleaktest" => [ + "include", + "apps/include" + ], + "test/modes_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/namemap_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/ocspapitest" => [ + "include", + "apps/include" + ], + "test/ossl_store_test" => [ + "include", + "apps/include" + ], + "test/p_test" => [ + "include", + "." + ], + "test/packettest" => [ + "include", + "apps/include" + ], + "test/param_build_test" => [ + "include", + "apps/include" + ], + "test/params_api_test" => [ + "include", + "apps/include" + ], + "test/params_conversion_test" => [ + "include", + "apps/include" + ], + "test/params_test" => [ + ".", + "include", + "apps/include" + ], + "test/pbelutest" => [ + "include", + "apps/include" + ], + "test/pbetest" => [ + "include", + "apps/include" + ], + "test/pem_read_depr_test" => [ + "include", + "apps/include" + ], + "test/pemtest" => [ + "include", + "apps/include" + ], + "test/pkcs12_format_test" => [ + "include", + "apps/include" + ], + "test/pkcs7_test" => [ + "include", + "apps/include" + ], + "test/pkey_meth_kdf_test" => [ + "include", + "apps/include" + ], + "test/pkey_meth_test" => [ + "include", + "apps/include" + ], + "test/poly1305_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/property_test" => [ + ".", + "include", + "apps/include" + ], + "test/prov_config_test" => [ + "include", + "apps/include" + ], + "test/provfetchtest" => [ + "include", + "apps/include" + ], + "test/provider_fallback_test" => [ + "include", + "apps/include" + ], + "test/provider_internal_test" => [ + "include", + "apps/include", + "." + ], + "test/provider_pkey_test" => [ + "include", + "apps/include" + ], + "test/provider_status_test" => [ + "include", + "apps/include" + ], + "test/provider_test" => [ + "include", + "apps/include", + "." + ], + "test/punycode_test" => [ + "include", + "apps/include" + ], + "test/rand_status_test" => [ + "include", + "apps/include" + ], + "test/rand_test" => [ + "include", + "apps/include" + ], + "test/rc2test" => [ + "include", + "apps/include" + ], + "test/rc4test" => [ + "include", + "apps/include" + ], + "test/rc5test" => [ + "include", + "apps/include" + ], + "test/rdrand_sanitytest" => [ + "include", + "apps/include" + ], + "test/recordlentest" => [ + "include", + "apps/include" + ], + "test/rsa_complex" => [ + "include", + "apps/include" + ], + "test/rsa_mp_test" => [ + "include", + "apps/include" + ], + "test/rsa_sp800_56b_test" => [ + ".", + "include", + "crypto/rsa", + "apps/include" + ], + "test/rsa_test" => [ + "include", + "apps/include" + ], + "test/sanitytest" => [ + "include", + "apps/include" + ], + "test/secmemtest" => [ + "include", + "apps/include" + ], + "test/servername_test" => [ + "include", + "apps/include" + ], + "test/sha_test" => [ + "include", + "apps/include" + ], + "test/siphash_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/sm2_internal_test" => [ + "include", + "apps/include" + ], + "test/sm3_internal_test" => [ + "include", + "apps/include" + ], + "test/sm4_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/sparse_array_test" => [ + "include", + "apps/include" + ], + "test/srptest" => [ + "include", + "apps/include" + ], + "test/ssl_cert_table_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/ssl_ctx_test" => [ + "include", + "apps/include" + ], + "test/ssl_old_test" => [ + ".", + "include", + "apps/include" + ], + "test/ssl_test" => [ + "include", + "apps/include" + ], + "test/ssl_test_ctx_test" => [ + "include", + "apps/include" + ], + "test/sslapitest" => [ + "include", + "apps/include", + "." + ], + "test/sslbuffertest" => [ + "include", + "apps/include" + ], + "test/sslcorrupttest" => [ + "include", + "apps/include" + ], + "test/stack_test" => [ + "include", + "apps/include" + ], + "test/sysdefaulttest" => [ + "include", + "apps/include" + ], + "test/test_test" => [ + "include", + "apps/include" + ], + "test/threadstest" => [ + "include", + "apps/include" + ], + "test/threadstest_fips" => [ + "include", + "apps/include" + ], + "test/time_offset_test" => [ + "include", + "apps/include" + ], + "test/tls13ccstest" => [ + "include", + "apps/include" + ], + "test/tls13encryptiontest" => [ + ".", + "include", + "apps/include" + ], + "test/trace_api_test" => [ + ".", + "include", + "apps/include" + ], + "test/uitest" => [ + ".", + "include", + "apps/include" + ], + "test/upcallstest" => [ + "include", + "apps/include" + ], + "test/user_property_test" => [ + "include", + "apps/include" + ], + "test/v3ext" => [ + "include", + "apps/include" + ], + "test/v3nametest" => [ + "include", + "apps/include" + ], + "test/verify_extra_test" => [ + "include", + "apps/include" + ], + "test/versions" => [ + "include", + "apps/include" + ], + "test/wpackettest" => [ + "include", + "apps/include" + ], + "test/x509_check_cert_pkey_test" => [ + "include", + "apps/include" + ], + "test/x509_dup_cert_test" => [ + "include", + "apps/include" + ], + "test/x509_internal_test" => [ + ".", + "include", + "apps/include" + ], + "test/x509_time_test" => [ + "include", + "apps/include" + ], + "test/x509aux" => [ + "include", + "apps/include" + ], + "util/wrap.pl" => [ + "." + ] + }, + "ldadd" => {}, + "libraries" => [ + "apps/libapps.a", + "libcrypto", + "libssl", + "providers/libcommon.a", + "providers/libdefault.a", + "providers/libfips.a", + "providers/liblegacy.a", + "test/libtestutil.a" + ], + "mandocs" => { + "man1" => [ + "doc/man/man1/CA.pl.1", + "doc/man/man1/openssl-asn1parse.1", + "doc/man/man1/openssl-ca.1", + "doc/man/man1/openssl-ciphers.1", + "doc/man/man1/openssl-cmds.1", + "doc/man/man1/openssl-cmp.1", + "doc/man/man1/openssl-cms.1", + "doc/man/man1/openssl-crl.1", + "doc/man/man1/openssl-crl2pkcs7.1", + "doc/man/man1/openssl-dgst.1", + "doc/man/man1/openssl-dhparam.1", + "doc/man/man1/openssl-dsa.1", + "doc/man/man1/openssl-dsaparam.1", + "doc/man/man1/openssl-ec.1", + "doc/man/man1/openssl-ecparam.1", + "doc/man/man1/openssl-enc.1", + "doc/man/man1/openssl-engine.1", + "doc/man/man1/openssl-errstr.1", + "doc/man/man1/openssl-fipsinstall.1", + "doc/man/man1/openssl-format-options.1", + "doc/man/man1/openssl-gendsa.1", + "doc/man/man1/openssl-genpkey.1", + "doc/man/man1/openssl-genrsa.1", + "doc/man/man1/openssl-info.1", + "doc/man/man1/openssl-kdf.1", + "doc/man/man1/openssl-list.1", + "doc/man/man1/openssl-mac.1", + "doc/man/man1/openssl-namedisplay-options.1", + "doc/man/man1/openssl-nseq.1", + "doc/man/man1/openssl-ocsp.1", + "doc/man/man1/openssl-passphrase-options.1", + "doc/man/man1/openssl-passwd.1", + "doc/man/man1/openssl-pkcs12.1", + "doc/man/man1/openssl-pkcs7.1", + "doc/man/man1/openssl-pkcs8.1", + "doc/man/man1/openssl-pkey.1", + "doc/man/man1/openssl-pkeyparam.1", + "doc/man/man1/openssl-pkeyutl.1", + "doc/man/man1/openssl-prime.1", + "doc/man/man1/openssl-rand.1", + "doc/man/man1/openssl-rehash.1", + "doc/man/man1/openssl-req.1", + "doc/man/man1/openssl-rsa.1", + "doc/man/man1/openssl-rsautl.1", + "doc/man/man1/openssl-s_client.1", + "doc/man/man1/openssl-s_server.1", + "doc/man/man1/openssl-s_time.1", + "doc/man/man1/openssl-sess_id.1", + "doc/man/man1/openssl-smime.1", + "doc/man/man1/openssl-speed.1", + "doc/man/man1/openssl-spkac.1", + "doc/man/man1/openssl-srp.1", + "doc/man/man1/openssl-storeutl.1", + "doc/man/man1/openssl-ts.1", + "doc/man/man1/openssl-verification-options.1", + "doc/man/man1/openssl-verify.1", + "doc/man/man1/openssl-version.1", + "doc/man/man1/openssl-x509.1", + "doc/man/man1/openssl.1", + "doc/man/man1/tsget.1" + ], + "man3" => [ + "doc/man/man3/ADMISSIONS.3", + "doc/man/man3/ASN1_EXTERN_FUNCS.3", + "doc/man/man3/ASN1_INTEGER_get_int64.3", + "doc/man/man3/ASN1_INTEGER_new.3", + "doc/man/man3/ASN1_ITEM_lookup.3", + "doc/man/man3/ASN1_OBJECT_new.3", + "doc/man/man3/ASN1_STRING_TABLE_add.3", + "doc/man/man3/ASN1_STRING_length.3", + "doc/man/man3/ASN1_STRING_new.3", + "doc/man/man3/ASN1_STRING_print_ex.3", + "doc/man/man3/ASN1_TIME_set.3", + "doc/man/man3/ASN1_TYPE_get.3", + "doc/man/man3/ASN1_aux_cb.3", + "doc/man/man3/ASN1_generate_nconf.3", + "doc/man/man3/ASN1_item_d2i_bio.3", + "doc/man/man3/ASN1_item_new.3", + "doc/man/man3/ASN1_item_sign.3", + "doc/man/man3/ASYNC_WAIT_CTX_new.3", + "doc/man/man3/ASYNC_start_job.3", + "doc/man/man3/BF_encrypt.3", + "doc/man/man3/BIO_ADDR.3", + "doc/man/man3/BIO_ADDRINFO.3", + "doc/man/man3/BIO_connect.3", + "doc/man/man3/BIO_ctrl.3", + "doc/man/man3/BIO_f_base64.3", + "doc/man/man3/BIO_f_buffer.3", + "doc/man/man3/BIO_f_cipher.3", + "doc/man/man3/BIO_f_md.3", + "doc/man/man3/BIO_f_null.3", + "doc/man/man3/BIO_f_prefix.3", + "doc/man/man3/BIO_f_readbuffer.3", + "doc/man/man3/BIO_f_ssl.3", + "doc/man/man3/BIO_find_type.3", + "doc/man/man3/BIO_get_data.3", + "doc/man/man3/BIO_get_ex_new_index.3", + "doc/man/man3/BIO_meth_new.3", + "doc/man/man3/BIO_new.3", + "doc/man/man3/BIO_new_CMS.3", + "doc/man/man3/BIO_parse_hostserv.3", + "doc/man/man3/BIO_printf.3", + "doc/man/man3/BIO_push.3", + "doc/man/man3/BIO_read.3", + "doc/man/man3/BIO_s_accept.3", + "doc/man/man3/BIO_s_bio.3", + "doc/man/man3/BIO_s_connect.3", + "doc/man/man3/BIO_s_core.3", + "doc/man/man3/BIO_s_datagram.3", + "doc/man/man3/BIO_s_fd.3", + "doc/man/man3/BIO_s_file.3", + "doc/man/man3/BIO_s_mem.3", + "doc/man/man3/BIO_s_null.3", + "doc/man/man3/BIO_s_socket.3", + "doc/man/man3/BIO_set_callback.3", + "doc/man/man3/BIO_should_retry.3", + "doc/man/man3/BIO_socket_wait.3", + "doc/man/man3/BN_BLINDING_new.3", + "doc/man/man3/BN_CTX_new.3", + "doc/man/man3/BN_CTX_start.3", + "doc/man/man3/BN_add.3", + "doc/man/man3/BN_add_word.3", + "doc/man/man3/BN_bn2bin.3", + "doc/man/man3/BN_cmp.3", + "doc/man/man3/BN_copy.3", + "doc/man/man3/BN_generate_prime.3", + "doc/man/man3/BN_mod_exp_mont.3", + "doc/man/man3/BN_mod_inverse.3", + "doc/man/man3/BN_mod_mul_montgomery.3", + "doc/man/man3/BN_mod_mul_reciprocal.3", + "doc/man/man3/BN_new.3", + "doc/man/man3/BN_num_bytes.3", + "doc/man/man3/BN_rand.3", + "doc/man/man3/BN_security_bits.3", + "doc/man/man3/BN_set_bit.3", + "doc/man/man3/BN_swap.3", + "doc/man/man3/BN_zero.3", + "doc/man/man3/BUF_MEM_new.3", + "doc/man/man3/CMS_EncryptedData_decrypt.3", + "doc/man/man3/CMS_EncryptedData_encrypt.3", + "doc/man/man3/CMS_EnvelopedData_create.3", + "doc/man/man3/CMS_add0_cert.3", + "doc/man/man3/CMS_add1_recipient_cert.3", + "doc/man/man3/CMS_add1_signer.3", + "doc/man/man3/CMS_compress.3", + "doc/man/man3/CMS_data_create.3", + "doc/man/man3/CMS_decrypt.3", + "doc/man/man3/CMS_digest_create.3", + "doc/man/man3/CMS_encrypt.3", + "doc/man/man3/CMS_final.3", + "doc/man/man3/CMS_get0_RecipientInfos.3", + "doc/man/man3/CMS_get0_SignerInfos.3", + "doc/man/man3/CMS_get0_type.3", + "doc/man/man3/CMS_get1_ReceiptRequest.3", + "doc/man/man3/CMS_sign.3", + "doc/man/man3/CMS_sign_receipt.3", + "doc/man/man3/CMS_uncompress.3", + "doc/man/man3/CMS_verify.3", + "doc/man/man3/CMS_verify_receipt.3", + "doc/man/man3/CONF_modules_free.3", + "doc/man/man3/CONF_modules_load_file.3", + "doc/man/man3/CRYPTO_THREAD_run_once.3", + "doc/man/man3/CRYPTO_get_ex_new_index.3", + "doc/man/man3/CRYPTO_memcmp.3", + "doc/man/man3/CTLOG_STORE_get0_log_by_id.3", + "doc/man/man3/CTLOG_STORE_new.3", + "doc/man/man3/CTLOG_new.3", + "doc/man/man3/CT_POLICY_EVAL_CTX_new.3", + "doc/man/man3/DEFINE_STACK_OF.3", + "doc/man/man3/DES_random_key.3", + "doc/man/man3/DH_generate_key.3", + "doc/man/man3/DH_generate_parameters.3", + "doc/man/man3/DH_get0_pqg.3", + "doc/man/man3/DH_get_1024_160.3", + "doc/man/man3/DH_meth_new.3", + "doc/man/man3/DH_new.3", + "doc/man/man3/DH_new_by_nid.3", + "doc/man/man3/DH_set_method.3", + "doc/man/man3/DH_size.3", + "doc/man/man3/DSA_SIG_new.3", + "doc/man/man3/DSA_do_sign.3", + "doc/man/man3/DSA_dup_DH.3", + "doc/man/man3/DSA_generate_key.3", + "doc/man/man3/DSA_generate_parameters.3", + "doc/man/man3/DSA_get0_pqg.3", + "doc/man/man3/DSA_meth_new.3", + "doc/man/man3/DSA_new.3", + "doc/man/man3/DSA_set_method.3", + "doc/man/man3/DSA_sign.3", + "doc/man/man3/DSA_size.3", + "doc/man/man3/DTLS_get_data_mtu.3", + "doc/man/man3/DTLS_set_timer_cb.3", + "doc/man/man3/DTLSv1_listen.3", + "doc/man/man3/ECDSA_SIG_new.3", + "doc/man/man3/ECDSA_sign.3", + "doc/man/man3/ECPKParameters_print.3", + "doc/man/man3/EC_GFp_simple_method.3", + "doc/man/man3/EC_GROUP_copy.3", + "doc/man/man3/EC_GROUP_new.3", + "doc/man/man3/EC_KEY_get_enc_flags.3", + "doc/man/man3/EC_KEY_new.3", + "doc/man/man3/EC_POINT_add.3", + "doc/man/man3/EC_POINT_new.3", + "doc/man/man3/ENGINE_add.3", + "doc/man/man3/ERR_GET_LIB.3", + "doc/man/man3/ERR_clear_error.3", + "doc/man/man3/ERR_error_string.3", + "doc/man/man3/ERR_get_error.3", + "doc/man/man3/ERR_load_crypto_strings.3", + "doc/man/man3/ERR_load_strings.3", + "doc/man/man3/ERR_new.3", + "doc/man/man3/ERR_print_errors.3", + "doc/man/man3/ERR_put_error.3", + "doc/man/man3/ERR_remove_state.3", + "doc/man/man3/ERR_set_mark.3", + "doc/man/man3/EVP_ASYM_CIPHER_free.3", + "doc/man/man3/EVP_BytesToKey.3", + "doc/man/man3/EVP_CIPHER_CTX_get_cipher_data.3", + "doc/man/man3/EVP_CIPHER_CTX_get_original_iv.3", + "doc/man/man3/EVP_CIPHER_meth_new.3", + "doc/man/man3/EVP_DigestInit.3", + "doc/man/man3/EVP_DigestSignInit.3", + "doc/man/man3/EVP_DigestVerifyInit.3", + "doc/man/man3/EVP_EncodeInit.3", + "doc/man/man3/EVP_EncryptInit.3", + "doc/man/man3/EVP_KDF.3", + "doc/man/man3/EVP_KEM_free.3", + "doc/man/man3/EVP_KEYEXCH_free.3", + "doc/man/man3/EVP_KEYMGMT.3", + "doc/man/man3/EVP_MAC.3", + "doc/man/man3/EVP_MD_meth_new.3", + "doc/man/man3/EVP_OpenInit.3", + "doc/man/man3/EVP_PBE_CipherInit.3", + "doc/man/man3/EVP_PKEY2PKCS8.3", + "doc/man/man3/EVP_PKEY_ASN1_METHOD.3", + "doc/man/man3/EVP_PKEY_CTX_ctrl.3", + "doc/man/man3/EVP_PKEY_CTX_get0_libctx.3", + "doc/man/man3/EVP_PKEY_CTX_get0_pkey.3", + "doc/man/man3/EVP_PKEY_CTX_new.3", + "doc/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3", + "doc/man/man3/EVP_PKEY_CTX_set_hkdf_md.3", + "doc/man/man3/EVP_PKEY_CTX_set_params.3", + "doc/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3", + "doc/man/man3/EVP_PKEY_CTX_set_scrypt_N.3", + "doc/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3", + "doc/man/man3/EVP_PKEY_asn1_get_count.3", + "doc/man/man3/EVP_PKEY_check.3", + "doc/man/man3/EVP_PKEY_copy_parameters.3", + "doc/man/man3/EVP_PKEY_decapsulate.3", + "doc/man/man3/EVP_PKEY_decrypt.3", + "doc/man/man3/EVP_PKEY_derive.3", + "doc/man/man3/EVP_PKEY_digestsign_supports_digest.3", + "doc/man/man3/EVP_PKEY_encapsulate.3", + "doc/man/man3/EVP_PKEY_encrypt.3", + "doc/man/man3/EVP_PKEY_fromdata.3", + "doc/man/man3/EVP_PKEY_get_default_digest_nid.3", + "doc/man/man3/EVP_PKEY_get_field_type.3", + "doc/man/man3/EVP_PKEY_get_group_name.3", + "doc/man/man3/EVP_PKEY_get_size.3", + "doc/man/man3/EVP_PKEY_gettable_params.3", + "doc/man/man3/EVP_PKEY_is_a.3", + "doc/man/man3/EVP_PKEY_keygen.3", + "doc/man/man3/EVP_PKEY_meth_get_count.3", + "doc/man/man3/EVP_PKEY_meth_new.3", + "doc/man/man3/EVP_PKEY_new.3", + "doc/man/man3/EVP_PKEY_print_private.3", + "doc/man/man3/EVP_PKEY_set1_RSA.3", + "doc/man/man3/EVP_PKEY_set1_encoded_public_key.3", + "doc/man/man3/EVP_PKEY_set_type.3", + "doc/man/man3/EVP_PKEY_settable_params.3", + "doc/man/man3/EVP_PKEY_sign.3", + "doc/man/man3/EVP_PKEY_todata.3", + "doc/man/man3/EVP_PKEY_verify.3", + "doc/man/man3/EVP_PKEY_verify_recover.3", + "doc/man/man3/EVP_RAND.3", + "doc/man/man3/EVP_SIGNATURE.3", + "doc/man/man3/EVP_SealInit.3", + "doc/man/man3/EVP_SignInit.3", + "doc/man/man3/EVP_VerifyInit.3", + "doc/man/man3/EVP_aes_128_gcm.3", + "doc/man/man3/EVP_aria_128_gcm.3", + "doc/man/man3/EVP_bf_cbc.3", + "doc/man/man3/EVP_blake2b512.3", + "doc/man/man3/EVP_camellia_128_ecb.3", + "doc/man/man3/EVP_cast5_cbc.3", + "doc/man/man3/EVP_chacha20.3", + "doc/man/man3/EVP_des_cbc.3", + "doc/man/man3/EVP_desx_cbc.3", + "doc/man/man3/EVP_idea_cbc.3", + "doc/man/man3/EVP_md2.3", + "doc/man/man3/EVP_md4.3", + "doc/man/man3/EVP_md5.3", + "doc/man/man3/EVP_mdc2.3", + "doc/man/man3/EVP_rc2_cbc.3", + "doc/man/man3/EVP_rc4.3", + "doc/man/man3/EVP_rc5_32_12_16_cbc.3", + "doc/man/man3/EVP_ripemd160.3", + "doc/man/man3/EVP_seed_cbc.3", + "doc/man/man3/EVP_set_default_properties.3", + "doc/man/man3/EVP_sha1.3", + "doc/man/man3/EVP_sha224.3", + "doc/man/man3/EVP_sha3_224.3", + "doc/man/man3/EVP_sm3.3", + "doc/man/man3/EVP_sm4_cbc.3", + "doc/man/man3/EVP_whirlpool.3", + "doc/man/man3/HMAC.3", + "doc/man/man3/MD5.3", + "doc/man/man3/MDC2_Init.3", + "doc/man/man3/NCONF_new_ex.3", + "doc/man/man3/OBJ_nid2obj.3", + "doc/man/man3/OCSP_REQUEST_new.3", + "doc/man/man3/OCSP_cert_to_id.3", + "doc/man/man3/OCSP_request_add1_nonce.3", + "doc/man/man3/OCSP_resp_find_status.3", + "doc/man/man3/OCSP_response_status.3", + "doc/man/man3/OCSP_sendreq_new.3", + "doc/man/man3/OPENSSL_Applink.3", + "doc/man/man3/OPENSSL_FILE.3", + "doc/man/man3/OPENSSL_LH_COMPFUNC.3", + "doc/man/man3/OPENSSL_LH_stats.3", + "doc/man/man3/OPENSSL_config.3", + "doc/man/man3/OPENSSL_fork_prepare.3", + "doc/man/man3/OPENSSL_gmtime.3", + "doc/man/man3/OPENSSL_hexchar2int.3", + "doc/man/man3/OPENSSL_ia32cap.3", + "doc/man/man3/OPENSSL_init_crypto.3", + "doc/man/man3/OPENSSL_init_ssl.3", + "doc/man/man3/OPENSSL_instrument_bus.3", + "doc/man/man3/OPENSSL_load_builtin_modules.3", + "doc/man/man3/OPENSSL_malloc.3", + "doc/man/man3/OPENSSL_s390xcap.3", + "doc/man/man3/OPENSSL_secure_malloc.3", + "doc/man/man3/OPENSSL_strcasecmp.3", + "doc/man/man3/OSSL_ALGORITHM.3", + "doc/man/man3/OSSL_CALLBACK.3", + "doc/man/man3/OSSL_CMP_CTX_new.3", + "doc/man/man3/OSSL_CMP_HDR_get0_transactionID.3", + "doc/man/man3/OSSL_CMP_ITAV_set0.3", + "doc/man/man3/OSSL_CMP_MSG_get0_header.3", + "doc/man/man3/OSSL_CMP_MSG_http_perform.3", + "doc/man/man3/OSSL_CMP_SRV_CTX_new.3", + "doc/man/man3/OSSL_CMP_STATUSINFO_new.3", + "doc/man/man3/OSSL_CMP_exec_certreq.3", + "doc/man/man3/OSSL_CMP_log_open.3", + "doc/man/man3/OSSL_CMP_validate_msg.3", + "doc/man/man3/OSSL_CORE_MAKE_FUNC.3", + "doc/man/man3/OSSL_CRMF_MSG_get0_tmpl.3", + "doc/man/man3/OSSL_CRMF_MSG_set0_validity.3", + "doc/man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3", + "doc/man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3", + "doc/man/man3/OSSL_CRMF_pbmp_new.3", + "doc/man/man3/OSSL_DECODER.3", + "doc/man/man3/OSSL_DECODER_CTX.3", + "doc/man/man3/OSSL_DECODER_CTX_new_for_pkey.3", + "doc/man/man3/OSSL_DECODER_from_bio.3", + "doc/man/man3/OSSL_DISPATCH.3", + "doc/man/man3/OSSL_ENCODER.3", + "doc/man/man3/OSSL_ENCODER_CTX.3", + "doc/man/man3/OSSL_ENCODER_CTX_new_for_pkey.3", + "doc/man/man3/OSSL_ENCODER_to_bio.3", + "doc/man/man3/OSSL_ESS_check_signing_certs.3", + "doc/man/man3/OSSL_HTTP_REQ_CTX.3", + "doc/man/man3/OSSL_HTTP_parse_url.3", + "doc/man/man3/OSSL_HTTP_transfer.3", + "doc/man/man3/OSSL_ITEM.3", + "doc/man/man3/OSSL_LIB_CTX.3", + "doc/man/man3/OSSL_PARAM.3", + "doc/man/man3/OSSL_PARAM_BLD.3", + "doc/man/man3/OSSL_PARAM_allocate_from_text.3", + "doc/man/man3/OSSL_PARAM_dup.3", + "doc/man/man3/OSSL_PARAM_int.3", + "doc/man/man3/OSSL_PROVIDER.3", + "doc/man/man3/OSSL_SELF_TEST_new.3", + "doc/man/man3/OSSL_SELF_TEST_set_callback.3", + "doc/man/man3/OSSL_STORE_INFO.3", + "doc/man/man3/OSSL_STORE_LOADER.3", + "doc/man/man3/OSSL_STORE_SEARCH.3", + "doc/man/man3/OSSL_STORE_attach.3", + "doc/man/man3/OSSL_STORE_expect.3", + "doc/man/man3/OSSL_STORE_open.3", + "doc/man/man3/OSSL_trace_enabled.3", + "doc/man/man3/OSSL_trace_get_category_num.3", + "doc/man/man3/OSSL_trace_set_channel.3", + "doc/man/man3/OpenSSL_add_all_algorithms.3", + "doc/man/man3/OpenSSL_version.3", + "doc/man/man3/PEM_X509_INFO_read_bio_ex.3", + "doc/man/man3/PEM_bytes_read_bio.3", + "doc/man/man3/PEM_read.3", + "doc/man/man3/PEM_read_CMS.3", + "doc/man/man3/PEM_read_bio_PrivateKey.3", + "doc/man/man3/PEM_read_bio_ex.3", + "doc/man/man3/PEM_write_bio_CMS_stream.3", + "doc/man/man3/PEM_write_bio_PKCS7_stream.3", + "doc/man/man3/PKCS12_PBE_keyivgen.3", + "doc/man/man3/PKCS12_SAFEBAG_create_cert.3", + "doc/man/man3/PKCS12_SAFEBAG_get0_attrs.3", + "doc/man/man3/PKCS12_SAFEBAG_get1_cert.3", + "doc/man/man3/PKCS12_add1_attr_by_NID.3", + "doc/man/man3/PKCS12_add_CSPName_asc.3", + "doc/man/man3/PKCS12_add_cert.3", + "doc/man/man3/PKCS12_add_friendlyname_asc.3", + "doc/man/man3/PKCS12_add_localkeyid.3", + "doc/man/man3/PKCS12_add_safe.3", + "doc/man/man3/PKCS12_create.3", + "doc/man/man3/PKCS12_decrypt_skey.3", + "doc/man/man3/PKCS12_gen_mac.3", + "doc/man/man3/PKCS12_get_friendlyname.3", + "doc/man/man3/PKCS12_init.3", + "doc/man/man3/PKCS12_item_decrypt_d2i.3", + "doc/man/man3/PKCS12_key_gen_utf8_ex.3", + "doc/man/man3/PKCS12_newpass.3", + "doc/man/man3/PKCS12_pack_p7encdata.3", + "doc/man/man3/PKCS12_parse.3", + "doc/man/man3/PKCS5_PBE_keyivgen.3", + "doc/man/man3/PKCS5_PBKDF2_HMAC.3", + "doc/man/man3/PKCS7_decrypt.3", + "doc/man/man3/PKCS7_encrypt.3", + "doc/man/man3/PKCS7_get_octet_string.3", + "doc/man/man3/PKCS7_sign.3", + "doc/man/man3/PKCS7_sign_add_signer.3", + "doc/man/man3/PKCS7_type_is_other.3", + "doc/man/man3/PKCS7_verify.3", + "doc/man/man3/PKCS8_encrypt.3", + "doc/man/man3/PKCS8_pkey_add1_attr.3", + "doc/man/man3/RAND_add.3", + "doc/man/man3/RAND_bytes.3", + "doc/man/man3/RAND_cleanup.3", + "doc/man/man3/RAND_egd.3", + "doc/man/man3/RAND_get0_primary.3", + "doc/man/man3/RAND_load_file.3", + "doc/man/man3/RAND_set_DRBG_type.3", + "doc/man/man3/RAND_set_rand_method.3", + "doc/man/man3/RC4_set_key.3", + "doc/man/man3/RIPEMD160_Init.3", + "doc/man/man3/RSA_blinding_on.3", + "doc/man/man3/RSA_check_key.3", + "doc/man/man3/RSA_generate_key.3", + "doc/man/man3/RSA_get0_key.3", + "doc/man/man3/RSA_meth_new.3", + "doc/man/man3/RSA_new.3", + "doc/man/man3/RSA_padding_add_PKCS1_type_1.3", + "doc/man/man3/RSA_print.3", + "doc/man/man3/RSA_private_encrypt.3", + "doc/man/man3/RSA_public_encrypt.3", + "doc/man/man3/RSA_set_method.3", + "doc/man/man3/RSA_sign.3", + "doc/man/man3/RSA_sign_ASN1_OCTET_STRING.3", + "doc/man/man3/RSA_size.3", + "doc/man/man3/SCT_new.3", + "doc/man/man3/SCT_print.3", + "doc/man/man3/SCT_validate.3", + "doc/man/man3/SHA256_Init.3", + "doc/man/man3/SMIME_read_ASN1.3", + "doc/man/man3/SMIME_read_CMS.3", + "doc/man/man3/SMIME_read_PKCS7.3", + "doc/man/man3/SMIME_write_ASN1.3", + "doc/man/man3/SMIME_write_CMS.3", + "doc/man/man3/SMIME_write_PKCS7.3", + "doc/man/man3/SRP_Calc_B.3", + "doc/man/man3/SRP_VBASE_new.3", + "doc/man/man3/SRP_create_verifier.3", + "doc/man/man3/SRP_user_pwd_new.3", + "doc/man/man3/SSL_CIPHER_get_name.3", + "doc/man/man3/SSL_COMP_add_compression_method.3", + "doc/man/man3/SSL_CONF_CTX_new.3", + "doc/man/man3/SSL_CONF_CTX_set1_prefix.3", + "doc/man/man3/SSL_CONF_CTX_set_flags.3", + "doc/man/man3/SSL_CONF_CTX_set_ssl_ctx.3", + "doc/man/man3/SSL_CONF_cmd.3", + "doc/man/man3/SSL_CONF_cmd_argv.3", + "doc/man/man3/SSL_CTX_add1_chain_cert.3", + "doc/man/man3/SSL_CTX_add_extra_chain_cert.3", + "doc/man/man3/SSL_CTX_add_session.3", + "doc/man/man3/SSL_CTX_config.3", + "doc/man/man3/SSL_CTX_ctrl.3", + "doc/man/man3/SSL_CTX_dane_enable.3", + "doc/man/man3/SSL_CTX_flush_sessions.3", + "doc/man/man3/SSL_CTX_free.3", + "doc/man/man3/SSL_CTX_get0_param.3", + "doc/man/man3/SSL_CTX_get_verify_mode.3", + "doc/man/man3/SSL_CTX_has_client_custom_ext.3", + "doc/man/man3/SSL_CTX_load_verify_locations.3", + "doc/man/man3/SSL_CTX_new.3", + "doc/man/man3/SSL_CTX_sess_number.3", + "doc/man/man3/SSL_CTX_sess_set_cache_size.3", + "doc/man/man3/SSL_CTX_sess_set_get_cb.3", + "doc/man/man3/SSL_CTX_sessions.3", + "doc/man/man3/SSL_CTX_set0_CA_list.3", + "doc/man/man3/SSL_CTX_set1_curves.3", + "doc/man/man3/SSL_CTX_set1_sigalgs.3", + "doc/man/man3/SSL_CTX_set1_verify_cert_store.3", + "doc/man/man3/SSL_CTX_set_alpn_select_cb.3", + "doc/man/man3/SSL_CTX_set_cert_cb.3", + "doc/man/man3/SSL_CTX_set_cert_store.3", + "doc/man/man3/SSL_CTX_set_cert_verify_callback.3", + "doc/man/man3/SSL_CTX_set_cipher_list.3", + "doc/man/man3/SSL_CTX_set_client_cert_cb.3", + "doc/man/man3/SSL_CTX_set_client_hello_cb.3", + "doc/man/man3/SSL_CTX_set_ct_validation_callback.3", + "doc/man/man3/SSL_CTX_set_ctlog_list_file.3", + "doc/man/man3/SSL_CTX_set_default_passwd_cb.3", + "doc/man/man3/SSL_CTX_set_generate_session_id.3", + "doc/man/man3/SSL_CTX_set_info_callback.3", + "doc/man/man3/SSL_CTX_set_keylog_callback.3", + "doc/man/man3/SSL_CTX_set_max_cert_list.3", + "doc/man/man3/SSL_CTX_set_min_proto_version.3", + "doc/man/man3/SSL_CTX_set_mode.3", + "doc/man/man3/SSL_CTX_set_msg_callback.3", + "doc/man/man3/SSL_CTX_set_num_tickets.3", + "doc/man/man3/SSL_CTX_set_options.3", + "doc/man/man3/SSL_CTX_set_psk_client_callback.3", + "doc/man/man3/SSL_CTX_set_quic_method.3", + "doc/man/man3/SSL_CTX_set_quiet_shutdown.3", + "doc/man/man3/SSL_CTX_set_read_ahead.3", + "doc/man/man3/SSL_CTX_set_record_padding_callback.3", + "doc/man/man3/SSL_CTX_set_security_level.3", + "doc/man/man3/SSL_CTX_set_session_cache_mode.3", + "doc/man/man3/SSL_CTX_set_session_id_context.3", + "doc/man/man3/SSL_CTX_set_session_ticket_cb.3", + "doc/man/man3/SSL_CTX_set_split_send_fragment.3", + "doc/man/man3/SSL_CTX_set_srp_password.3", + "doc/man/man3/SSL_CTX_set_ssl_version.3", + "doc/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3", + "doc/man/man3/SSL_CTX_set_timeout.3", + "doc/man/man3/SSL_CTX_set_tlsext_servername_callback.3", + "doc/man/man3/SSL_CTX_set_tlsext_status_cb.3", + "doc/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3", + "doc/man/man3/SSL_CTX_set_tlsext_use_srtp.3", + "doc/man/man3/SSL_CTX_set_tmp_dh_callback.3", + "doc/man/man3/SSL_CTX_set_tmp_ecdh.3", + "doc/man/man3/SSL_CTX_set_verify.3", + "doc/man/man3/SSL_CTX_use_certificate.3", + "doc/man/man3/SSL_CTX_use_psk_identity_hint.3", + "doc/man/man3/SSL_CTX_use_serverinfo.3", + "doc/man/man3/SSL_SESSION_free.3", + "doc/man/man3/SSL_SESSION_get0_cipher.3", + "doc/man/man3/SSL_SESSION_get0_hostname.3", + "doc/man/man3/SSL_SESSION_get0_id_context.3", + "doc/man/man3/SSL_SESSION_get0_peer.3", + "doc/man/man3/SSL_SESSION_get_compress_id.3", + "doc/man/man3/SSL_SESSION_get_protocol_version.3", + "doc/man/man3/SSL_SESSION_get_time.3", + "doc/man/man3/SSL_SESSION_has_ticket.3", + "doc/man/man3/SSL_SESSION_is_resumable.3", + "doc/man/man3/SSL_SESSION_print.3", + "doc/man/man3/SSL_SESSION_set1_id.3", + "doc/man/man3/SSL_accept.3", + "doc/man/man3/SSL_alert_type_string.3", + "doc/man/man3/SSL_alloc_buffers.3", + "doc/man/man3/SSL_check_chain.3", + "doc/man/man3/SSL_clear.3", + "doc/man/man3/SSL_connect.3", + "doc/man/man3/SSL_do_handshake.3", + "doc/man/man3/SSL_export_keying_material.3", + "doc/man/man3/SSL_extension_supported.3", + "doc/man/man3/SSL_free.3", + "doc/man/man3/SSL_get0_peer_scts.3", + "doc/man/man3/SSL_get_SSL_CTX.3", + "doc/man/man3/SSL_get_all_async_fds.3", + "doc/man/man3/SSL_get_certificate.3", + "doc/man/man3/SSL_get_ciphers.3", + "doc/man/man3/SSL_get_client_random.3", + "doc/man/man3/SSL_get_current_cipher.3", + "doc/man/man3/SSL_get_default_timeout.3", + "doc/man/man3/SSL_get_error.3", + "doc/man/man3/SSL_get_extms_support.3", + "doc/man/man3/SSL_get_fd.3", + "doc/man/man3/SSL_get_peer_cert_chain.3", + "doc/man/man3/SSL_get_peer_certificate.3", + "doc/man/man3/SSL_get_peer_signature_nid.3", + "doc/man/man3/SSL_get_peer_tmp_key.3", + "doc/man/man3/SSL_get_psk_identity.3", + "doc/man/man3/SSL_get_rbio.3", + "doc/man/man3/SSL_get_session.3", + "doc/man/man3/SSL_get_shared_sigalgs.3", + "doc/man/man3/SSL_get_verify_result.3", + "doc/man/man3/SSL_get_version.3", + "doc/man/man3/SSL_group_to_name.3", + "doc/man/man3/SSL_in_init.3", + "doc/man/man3/SSL_key_update.3", + "doc/man/man3/SSL_library_init.3", + "doc/man/man3/SSL_load_client_CA_file.3", + "doc/man/man3/SSL_new.3", + "doc/man/man3/SSL_pending.3", + "doc/man/man3/SSL_read.3", + "doc/man/man3/SSL_read_early_data.3", + "doc/man/man3/SSL_rstate_string.3", + "doc/man/man3/SSL_session_reused.3", + "doc/man/man3/SSL_set1_host.3", + "doc/man/man3/SSL_set_async_callback.3", + "doc/man/man3/SSL_set_bio.3", + "doc/man/man3/SSL_set_connect_state.3", + "doc/man/man3/SSL_set_fd.3", + "doc/man/man3/SSL_set_retry_verify.3", + "doc/man/man3/SSL_set_session.3", + "doc/man/man3/SSL_set_shutdown.3", + "doc/man/man3/SSL_set_verify_result.3", + "doc/man/man3/SSL_shutdown.3", + "doc/man/man3/SSL_state_string.3", + "doc/man/man3/SSL_want.3", + "doc/man/man3/SSL_write.3", + "doc/man/man3/TS_RESP_CTX_new.3", + "doc/man/man3/TS_VERIFY_CTX_set_certs.3", + "doc/man/man3/UI_STRING.3", + "doc/man/man3/UI_UTIL_read_pw.3", + "doc/man/man3/UI_create_method.3", + "doc/man/man3/UI_new.3", + "doc/man/man3/X509V3_get_d2i.3", + "doc/man/man3/X509V3_set_ctx.3", + "doc/man/man3/X509_ALGOR_dup.3", + "doc/man/man3/X509_CRL_get0_by_serial.3", + "doc/man/man3/X509_EXTENSION_set_object.3", + "doc/man/man3/X509_LOOKUP.3", + "doc/man/man3/X509_LOOKUP_hash_dir.3", + "doc/man/man3/X509_LOOKUP_meth_new.3", + "doc/man/man3/X509_NAME_ENTRY_get_object.3", + "doc/man/man3/X509_NAME_add_entry_by_txt.3", + "doc/man/man3/X509_NAME_get0_der.3", + "doc/man/man3/X509_NAME_get_index_by_NID.3", + "doc/man/man3/X509_NAME_print_ex.3", + "doc/man/man3/X509_PUBKEY_new.3", + "doc/man/man3/X509_SIG_get0.3", + "doc/man/man3/X509_STORE_CTX_get_error.3", + "doc/man/man3/X509_STORE_CTX_new.3", + "doc/man/man3/X509_STORE_CTX_set_verify_cb.3", + "doc/man/man3/X509_STORE_add_cert.3", + "doc/man/man3/X509_STORE_get0_param.3", + "doc/man/man3/X509_STORE_new.3", + "doc/man/man3/X509_STORE_set_verify_cb_func.3", + "doc/man/man3/X509_VERIFY_PARAM_set_flags.3", + "doc/man/man3/X509_add_cert.3", + "doc/man/man3/X509_check_ca.3", + "doc/man/man3/X509_check_host.3", + "doc/man/man3/X509_check_issued.3", + "doc/man/man3/X509_check_private_key.3", + "doc/man/man3/X509_check_purpose.3", + "doc/man/man3/X509_cmp.3", + "doc/man/man3/X509_cmp_time.3", + "doc/man/man3/X509_digest.3", + "doc/man/man3/X509_dup.3", + "doc/man/man3/X509_get0_distinguishing_id.3", + "doc/man/man3/X509_get0_notBefore.3", + "doc/man/man3/X509_get0_signature.3", + "doc/man/man3/X509_get0_uids.3", + "doc/man/man3/X509_get_extension_flags.3", + "doc/man/man3/X509_get_pubkey.3", + "doc/man/man3/X509_get_serialNumber.3", + "doc/man/man3/X509_get_subject_name.3", + "doc/man/man3/X509_get_version.3", + "doc/man/man3/X509_load_http.3", + "doc/man/man3/X509_new.3", + "doc/man/man3/X509_sign.3", + "doc/man/man3/X509_verify.3", + "doc/man/man3/X509_verify_cert.3", + "doc/man/man3/X509v3_get_ext_by_NID.3", + "doc/man/man3/b2i_PVK_bio_ex.3", + "doc/man/man3/d2i_PKCS8PrivateKey_bio.3", + "doc/man/man3/d2i_PrivateKey.3", + "doc/man/man3/d2i_RSAPrivateKey.3", + "doc/man/man3/d2i_SSL_SESSION.3", + "doc/man/man3/d2i_X509.3", + "doc/man/man3/i2d_CMS_bio_stream.3", + "doc/man/man3/i2d_PKCS7_bio_stream.3", + "doc/man/man3/i2d_re_X509_tbs.3", + "doc/man/man3/o2i_SCT_LIST.3", + "doc/man/man3/s2i_ASN1_IA5STRING.3" + ], + "man5" => [ + "doc/man/man5/config.5", + "doc/man/man5/fips_config.5", + "doc/man/man5/x509v3_config.5" + ], + "man7" => [ + "doc/man/man7/EVP_ASYM_CIPHER-RSA.7", + "doc/man/man7/EVP_ASYM_CIPHER-SM2.7", + "doc/man/man7/EVP_CIPHER-AES.7", + "doc/man/man7/EVP_CIPHER-ARIA.7", + "doc/man/man7/EVP_CIPHER-BLOWFISH.7", + "doc/man/man7/EVP_CIPHER-CAMELLIA.7", + "doc/man/man7/EVP_CIPHER-CAST.7", + "doc/man/man7/EVP_CIPHER-CHACHA.7", + "doc/man/man7/EVP_CIPHER-DES.7", + "doc/man/man7/EVP_CIPHER-IDEA.7", + "doc/man/man7/EVP_CIPHER-RC2.7", + "doc/man/man7/EVP_CIPHER-RC4.7", + "doc/man/man7/EVP_CIPHER-RC5.7", + "doc/man/man7/EVP_CIPHER-SEED.7", + "doc/man/man7/EVP_CIPHER-SM4.7", + "doc/man/man7/EVP_KDF-HKDF.7", + "doc/man/man7/EVP_KDF-KB.7", + "doc/man/man7/EVP_KDF-KRB5KDF.7", + "doc/man/man7/EVP_KDF-PBKDF1.7", + "doc/man/man7/EVP_KDF-PBKDF2.7", + "doc/man/man7/EVP_KDF-PKCS12KDF.7", + "doc/man/man7/EVP_KDF-SCRYPT.7", + "doc/man/man7/EVP_KDF-SS.7", + "doc/man/man7/EVP_KDF-SSHKDF.7", + "doc/man/man7/EVP_KDF-TLS13_KDF.7", + "doc/man/man7/EVP_KDF-TLS1_PRF.7", + "doc/man/man7/EVP_KDF-X942-ASN1.7", + "doc/man/man7/EVP_KDF-X942-CONCAT.7", + "doc/man/man7/EVP_KDF-X963.7", + "doc/man/man7/EVP_KEM-RSA.7", + "doc/man/man7/EVP_KEYEXCH-DH.7", + "doc/man/man7/EVP_KEYEXCH-ECDH.7", + "doc/man/man7/EVP_KEYEXCH-X25519.7", + "doc/man/man7/EVP_MAC-BLAKE2.7", + "doc/man/man7/EVP_MAC-CMAC.7", + "doc/man/man7/EVP_MAC-GMAC.7", + "doc/man/man7/EVP_MAC-HMAC.7", + "doc/man/man7/EVP_MAC-KMAC.7", + "doc/man/man7/EVP_MAC-Poly1305.7", + "doc/man/man7/EVP_MAC-Siphash.7", + "doc/man/man7/EVP_MD-BLAKE2.7", + "doc/man/man7/EVP_MD-MD2.7", + "doc/man/man7/EVP_MD-MD4.7", + "doc/man/man7/EVP_MD-MD5-SHA1.7", + "doc/man/man7/EVP_MD-MD5.7", + "doc/man/man7/EVP_MD-MDC2.7", + "doc/man/man7/EVP_MD-RIPEMD160.7", + "doc/man/man7/EVP_MD-SHA1.7", + "doc/man/man7/EVP_MD-SHA2.7", + "doc/man/man7/EVP_MD-SHA3.7", + "doc/man/man7/EVP_MD-SHAKE.7", + "doc/man/man7/EVP_MD-SM3.7", + "doc/man/man7/EVP_MD-WHIRLPOOL.7", + "doc/man/man7/EVP_MD-common.7", + "doc/man/man7/EVP_PKEY-DH.7", + "doc/man/man7/EVP_PKEY-DSA.7", + "doc/man/man7/EVP_PKEY-EC.7", + "doc/man/man7/EVP_PKEY-FFC.7", + "doc/man/man7/EVP_PKEY-HMAC.7", + "doc/man/man7/EVP_PKEY-RSA.7", + "doc/man/man7/EVP_PKEY-SM2.7", + "doc/man/man7/EVP_PKEY-X25519.7", + "doc/man/man7/EVP_RAND-CTR-DRBG.7", + "doc/man/man7/EVP_RAND-HASH-DRBG.7", + "doc/man/man7/EVP_RAND-HMAC-DRBG.7", + "doc/man/man7/EVP_RAND-SEED-SRC.7", + "doc/man/man7/EVP_RAND-TEST-RAND.7", + "doc/man/man7/EVP_RAND.7", + "doc/man/man7/EVP_SIGNATURE-DSA.7", + "doc/man/man7/EVP_SIGNATURE-ECDSA.7", + "doc/man/man7/EVP_SIGNATURE-ED25519.7", + "doc/man/man7/EVP_SIGNATURE-HMAC.7", + "doc/man/man7/EVP_SIGNATURE-RSA.7", + "doc/man/man7/OSSL_PROVIDER-FIPS.7", + "doc/man/man7/OSSL_PROVIDER-base.7", + "doc/man/man7/OSSL_PROVIDER-default.7", + "doc/man/man7/OSSL_PROVIDER-legacy.7", + "doc/man/man7/OSSL_PROVIDER-null.7", + "doc/man/man7/RAND.7", + "doc/man/man7/RSA-PSS.7", + "doc/man/man7/X25519.7", + "doc/man/man7/bio.7", + "doc/man/man7/crypto.7", + "doc/man/man7/ct.7", + "doc/man/man7/des_modes.7", + "doc/man/man7/evp.7", + "doc/man/man7/fips_module.7", + "doc/man/man7/life_cycle-cipher.7", + "doc/man/man7/life_cycle-digest.7", + "doc/man/man7/life_cycle-kdf.7", + "doc/man/man7/life_cycle-mac.7", + "doc/man/man7/life_cycle-pkey.7", + "doc/man/man7/life_cycle-rand.7", + "doc/man/man7/migration_guide.7", + "doc/man/man7/openssl-core.h.7", + "doc/man/man7/openssl-core_dispatch.h.7", + "doc/man/man7/openssl-core_names.h.7", + "doc/man/man7/openssl-env.7", + "doc/man/man7/openssl-glossary.7", + "doc/man/man7/openssl-threads.7", + "doc/man/man7/openssl_user_macros.7", + "doc/man/man7/ossl_store-file.7", + "doc/man/man7/ossl_store.7", + "doc/man/man7/passphrase-encoding.7", + "doc/man/man7/property.7", + "doc/man/man7/provider-asym_cipher.7", + "doc/man/man7/provider-base.7", + "doc/man/man7/provider-cipher.7", + "doc/man/man7/provider-decoder.7", + "doc/man/man7/provider-digest.7", + "doc/man/man7/provider-encoder.7", + "doc/man/man7/provider-kdf.7", + "doc/man/man7/provider-kem.7", + "doc/man/man7/provider-keyexch.7", + "doc/man/man7/provider-keymgmt.7", + "doc/man/man7/provider-mac.7", + "doc/man/man7/provider-object.7", + "doc/man/man7/provider-rand.7", + "doc/man/man7/provider-signature.7", + "doc/man/man7/provider-storemgmt.7", + "doc/man/man7/provider.7", + "doc/man/man7/proxy-certificates.7", + "doc/man/man7/ssl.7", + "doc/man/man7/x509.7" + ] + }, + "modules" => [ + "providers/fips", + "providers/legacy", + "test/p_test" + ], + "programs" => [ + "apps/openssl", + "fuzz/asn1-test", + "fuzz/asn1parse-test", + "fuzz/bignum-test", + "fuzz/bndiv-test", + "fuzz/client-test", + "fuzz/cmp-test", + "fuzz/cms-test", + "fuzz/conf-test", + "fuzz/crl-test", + "fuzz/ct-test", + "fuzz/server-test", + "fuzz/x509-test", + "test/aborttest", + "test/acvp_test", + "test/aesgcmtest", + "test/afalgtest", + "test/algorithmid_test", + "test/asn1_decode_test", + "test/asn1_dsa_internal_test", + "test/asn1_encode_test", + "test/asn1_internal_test", + "test/asn1_string_table_test", + "test/asn1_time_test", + "test/asynciotest", + "test/asynctest", + "test/bad_dtls_test", + "test/bftest", + "test/bio_callback_test", + "test/bio_core_test", + "test/bio_enc_test", + "test/bio_memleak_test", + "test/bio_prefix_text", + "test/bio_readbuffer_test", + "test/bioprinttest", + "test/bn_internal_test", + "test/bntest", + "test/buildtest_c_aes", + "test/buildtest_c_async", + "test/buildtest_c_blowfish", + "test/buildtest_c_bn", + "test/buildtest_c_buffer", + "test/buildtest_c_camellia", + "test/buildtest_c_cast", + "test/buildtest_c_cmac", + "test/buildtest_c_cmp_util", + "test/buildtest_c_conf_api", + "test/buildtest_c_conftypes", + "test/buildtest_c_core", + "test/buildtest_c_core_dispatch", + "test/buildtest_c_core_names", + "test/buildtest_c_core_object", + "test/buildtest_c_cryptoerr_legacy", + "test/buildtest_c_decoder", + "test/buildtest_c_des", + "test/buildtest_c_dh", + "test/buildtest_c_dsa", + "test/buildtest_c_dtls1", + "test/buildtest_c_e_os2", + "test/buildtest_c_ebcdic", + "test/buildtest_c_ec", + "test/buildtest_c_ecdh", + "test/buildtest_c_ecdsa", + "test/buildtest_c_encoder", + "test/buildtest_c_engine", + "test/buildtest_c_evp", + "test/buildtest_c_fips_names", + "test/buildtest_c_hmac", + "test/buildtest_c_http", + "test/buildtest_c_idea", + "test/buildtest_c_kdf", + "test/buildtest_c_macros", + "test/buildtest_c_md4", + "test/buildtest_c_md5", + "test/buildtest_c_mdc2", + "test/buildtest_c_modes", + "test/buildtest_c_obj_mac", + "test/buildtest_c_objects", + "test/buildtest_c_ossl_typ", + "test/buildtest_c_param_build", + "test/buildtest_c_params", + "test/buildtest_c_pem", + "test/buildtest_c_pem2", + "test/buildtest_c_prov_ssl", + "test/buildtest_c_provider", + "test/buildtest_c_quic", + "test/buildtest_c_rand", + "test/buildtest_c_rc2", + "test/buildtest_c_rc4", + "test/buildtest_c_ripemd", + "test/buildtest_c_rsa", + "test/buildtest_c_seed", + "test/buildtest_c_self_test", + "test/buildtest_c_sha", + "test/buildtest_c_srtp", + "test/buildtest_c_ssl2", + "test/buildtest_c_sslerr_legacy", + "test/buildtest_c_stack", + "test/buildtest_c_store", + "test/buildtest_c_symhacks", + "test/buildtest_c_tls1", + "test/buildtest_c_ts", + "test/buildtest_c_txt_db", + "test/buildtest_c_types", + "test/buildtest_c_whrlpool", + "test/casttest", + "test/chacha_internal_test", + "test/cipher_overhead_test", + "test/cipherbytes_test", + "test/cipherlist_test", + "test/ciphername_test", + "test/clienthellotest", + "test/cmactest", + "test/cmp_asn_test", + "test/cmp_client_test", + "test/cmp_ctx_test", + "test/cmp_hdr_test", + "test/cmp_msg_test", + "test/cmp_protect_test", + "test/cmp_server_test", + "test/cmp_status_test", + "test/cmp_vfy_test", + "test/cmsapitest", + "test/conf_include_test", + "test/confdump", + "test/constant_time_test", + "test/context_internal_test", + "test/crltest", + "test/ct_test", + "test/ctype_internal_test", + "test/curve448_internal_test", + "test/d2i_test", + "test/danetest", + "test/defltfips_test", + "test/destest", + "test/dhtest", + "test/drbgtest", + "test/dsa_no_digest_size_test", + "test/dsatest", + "test/dtls_mtu_test", + "test/dtlstest", + "test/dtlsv1listentest", + "test/ec_internal_test", + "test/ecdsatest", + "test/ecstresstest", + "test/ectest", + "test/endecode_test", + "test/endecoder_legacy_test", + "test/enginetest", + "test/errtest", + "test/evp_extra_test", + "test/evp_extra_test2", + "test/evp_fetch_prov_test", + "test/evp_kdf_test", + "test/evp_libctx_test", + "test/evp_pkey_ctx_new_from_name", + "test/evp_pkey_dparams_test", + "test/evp_pkey_provided_test", + "test/evp_test", + "test/exdatatest", + "test/exptest", + "test/ext_internal_test", + "test/fatalerrtest", + "test/ffc_internal_test", + "test/fips_version_test", + "test/gmdifftest", + "test/hexstr_test", + "test/hmactest", + "test/http_test", + "test/ideatest", + "test/igetest", + "test/keymgmt_internal_test", + "test/lhash_test", + "test/localetest", + "test/mdc2_internal_test", + "test/mdc2test", + "test/memleaktest", + "test/modes_internal_test", + "test/namemap_internal_test", + "test/ocspapitest", + "test/ossl_store_test", + "test/packettest", + "test/param_build_test", + "test/params_api_test", + "test/params_conversion_test", + "test/params_test", + "test/pbelutest", + "test/pbetest", + "test/pem_read_depr_test", + "test/pemtest", + "test/pkcs12_format_test", + "test/pkcs7_test", + "test/pkey_meth_kdf_test", + "test/pkey_meth_test", + "test/poly1305_internal_test", + "test/property_test", + "test/prov_config_test", + "test/provfetchtest", + "test/provider_fallback_test", + "test/provider_internal_test", + "test/provider_pkey_test", + "test/provider_status_test", + "test/provider_test", + "test/punycode_test", + "test/rand_status_test", + "test/rand_test", + "test/rc2test", + "test/rc4test", + "test/rc5test", + "test/rdrand_sanitytest", + "test/recordlentest", + "test/rsa_complex", + "test/rsa_mp_test", + "test/rsa_sp800_56b_test", + "test/rsa_test", + "test/sanitytest", + "test/secmemtest", + "test/servername_test", + "test/sha_test", + "test/siphash_internal_test", + "test/sm2_internal_test", + "test/sm3_internal_test", + "test/sm4_internal_test", + "test/sparse_array_test", + "test/srptest", + "test/ssl_cert_table_internal_test", + "test/ssl_ctx_test", + "test/ssl_old_test", + "test/ssl_test", + "test/ssl_test_ctx_test", + "test/sslapitest", + "test/sslbuffertest", + "test/sslcorrupttest", + "test/stack_test", + "test/sysdefaulttest", + "test/test_test", + "test/threadstest", + "test/threadstest_fips", + "test/time_offset_test", + "test/tls13ccstest", + "test/tls13encryptiontest", + "test/trace_api_test", + "test/uitest", + "test/upcallstest", + "test/user_property_test", + "test/v3ext", + "test/v3nametest", + "test/verify_extra_test", + "test/versions", + "test/wpackettest", + "test/x509_check_cert_pkey_test", + "test/x509_dup_cert_test", + "test/x509_internal_test", + "test/x509_time_test", + "test/x509aux" + ], + "scripts" => [ + "apps/CA.pl", + "apps/tsget.pl", + "tools/c_rehash", + "util/shlib_wrap.sh", + "util/wrap.pl" + ], + "shared_sources" => {}, + "sources" => { + "apps/CA.pl" => [ + "apps/CA.pl.in" + ], + "apps/lib/cmp_client_test-bin-cmp_mock_srv.o" => [ + "apps/lib/cmp_mock_srv.c" + ], + "apps/lib/libapps-lib-app_libctx.o" => [ + "apps/lib/app_libctx.c" + ], + "apps/lib/libapps-lib-app_params.o" => [ + "apps/lib/app_params.c" + ], + "apps/lib/libapps-lib-app_provider.o" => [ + "apps/lib/app_provider.c" + ], + "apps/lib/libapps-lib-app_rand.o" => [ + "apps/lib/app_rand.c" + ], + "apps/lib/libapps-lib-app_x509.o" => [ + "apps/lib/app_x509.c" + ], + "apps/lib/libapps-lib-apps.o" => [ + "apps/lib/apps.c" + ], + "apps/lib/libapps-lib-apps_ui.o" => [ + "apps/lib/apps_ui.c" + ], + "apps/lib/libapps-lib-columns.o" => [ + "apps/lib/columns.c" + ], + "apps/lib/libapps-lib-engine.o" => [ + "apps/lib/engine.c" + ], + "apps/lib/libapps-lib-engine_loader.o" => [ + "apps/lib/engine_loader.c" + ], + "apps/lib/libapps-lib-fmt.o" => [ + "apps/lib/fmt.c" + ], + "apps/lib/libapps-lib-http_server.o" => [ + "apps/lib/http_server.c" + ], + "apps/lib/libapps-lib-names.o" => [ + "apps/lib/names.c" + ], + "apps/lib/libapps-lib-opt.o" => [ + "apps/lib/opt.c" + ], + "apps/lib/libapps-lib-s_cb.o" => [ + "apps/lib/s_cb.c" + ], + "apps/lib/libapps-lib-s_socket.o" => [ + "apps/lib/s_socket.c" + ], + "apps/lib/libapps-lib-tlssrp_depr.o" => [ + "apps/lib/tlssrp_depr.c" + ], + "apps/lib/libtestutil-lib-opt.o" => [ + "apps/lib/opt.c" + ], + "apps/lib/openssl-bin-cmp_mock_srv.o" => [ + "apps/lib/cmp_mock_srv.c" + ], + "apps/lib/uitest-bin-apps_ui.o" => [ + "apps/lib/apps_ui.c" + ], + "apps/libapps.a" => [ + "apps/lib/libapps-lib-app_libctx.o", + "apps/lib/libapps-lib-app_params.o", + "apps/lib/libapps-lib-app_provider.o", + "apps/lib/libapps-lib-app_rand.o", + "apps/lib/libapps-lib-app_x509.o", + "apps/lib/libapps-lib-apps.o", + "apps/lib/libapps-lib-apps_ui.o", + "apps/lib/libapps-lib-columns.o", + "apps/lib/libapps-lib-engine.o", + "apps/lib/libapps-lib-engine_loader.o", + "apps/lib/libapps-lib-fmt.o", + "apps/lib/libapps-lib-http_server.o", + "apps/lib/libapps-lib-names.o", + "apps/lib/libapps-lib-opt.o", + "apps/lib/libapps-lib-s_cb.o", + "apps/lib/libapps-lib-s_socket.o", + "apps/lib/libapps-lib-tlssrp_depr.o" + ], + "apps/openssl" => [ + "apps/lib/openssl-bin-cmp_mock_srv.o", + "apps/openssl-bin-asn1parse.o", + "apps/openssl-bin-ca.o", + "apps/openssl-bin-ciphers.o", + "apps/openssl-bin-cmp.o", + "apps/openssl-bin-cms.o", + "apps/openssl-bin-crl.o", + "apps/openssl-bin-crl2pkcs7.o", + "apps/openssl-bin-dgst.o", + "apps/openssl-bin-dhparam.o", + "apps/openssl-bin-dsa.o", + "apps/openssl-bin-dsaparam.o", + "apps/openssl-bin-ec.o", + "apps/openssl-bin-ecparam.o", + "apps/openssl-bin-enc.o", + "apps/openssl-bin-engine.o", + "apps/openssl-bin-errstr.o", + "apps/openssl-bin-fipsinstall.o", + "apps/openssl-bin-gendsa.o", + "apps/openssl-bin-genpkey.o", + "apps/openssl-bin-genrsa.o", + "apps/openssl-bin-info.o", + "apps/openssl-bin-kdf.o", + "apps/openssl-bin-list.o", + "apps/openssl-bin-mac.o", + "apps/openssl-bin-nseq.o", + "apps/openssl-bin-ocsp.o", + "apps/openssl-bin-openssl.o", + "apps/openssl-bin-passwd.o", + "apps/openssl-bin-pkcs12.o", + "apps/openssl-bin-pkcs7.o", + "apps/openssl-bin-pkcs8.o", + "apps/openssl-bin-pkey.o", + "apps/openssl-bin-pkeyparam.o", + "apps/openssl-bin-pkeyutl.o", + "apps/openssl-bin-prime.o", + "apps/openssl-bin-progs.o", + "apps/openssl-bin-rand.o", + "apps/openssl-bin-rehash.o", + "apps/openssl-bin-req.o", + "apps/openssl-bin-rsa.o", + "apps/openssl-bin-rsautl.o", + "apps/openssl-bin-s_client.o", + "apps/openssl-bin-s_server.o", + "apps/openssl-bin-s_time.o", + "apps/openssl-bin-sess_id.o", + "apps/openssl-bin-smime.o", + "apps/openssl-bin-speed.o", + "apps/openssl-bin-spkac.o", + "apps/openssl-bin-srp.o", + "apps/openssl-bin-storeutl.o", + "apps/openssl-bin-ts.o", + "apps/openssl-bin-verify.o", + "apps/openssl-bin-version.o", + "apps/openssl-bin-x509.o" + ], + "apps/openssl-bin-asn1parse.o" => [ + "apps/asn1parse.c" + ], + "apps/openssl-bin-ca.o" => [ + "apps/ca.c" + ], + "apps/openssl-bin-ciphers.o" => [ + "apps/ciphers.c" + ], + "apps/openssl-bin-cmp.o" => [ + "apps/cmp.c" + ], + "apps/openssl-bin-cms.o" => [ + "apps/cms.c" + ], + "apps/openssl-bin-crl.o" => [ + "apps/crl.c" + ], + "apps/openssl-bin-crl2pkcs7.o" => [ + "apps/crl2pkcs7.c" + ], + "apps/openssl-bin-dgst.o" => [ + "apps/dgst.c" + ], + "apps/openssl-bin-dhparam.o" => [ + "apps/dhparam.c" + ], + "apps/openssl-bin-dsa.o" => [ + "apps/dsa.c" + ], + "apps/openssl-bin-dsaparam.o" => [ + "apps/dsaparam.c" + ], + "apps/openssl-bin-ec.o" => [ + "apps/ec.c" + ], + "apps/openssl-bin-ecparam.o" => [ + "apps/ecparam.c" + ], + "apps/openssl-bin-enc.o" => [ + "apps/enc.c" + ], + "apps/openssl-bin-engine.o" => [ + "apps/engine.c" + ], + "apps/openssl-bin-errstr.o" => [ + "apps/errstr.c" + ], + "apps/openssl-bin-fipsinstall.o" => [ + "apps/fipsinstall.c" + ], + "apps/openssl-bin-gendsa.o" => [ + "apps/gendsa.c" + ], + "apps/openssl-bin-genpkey.o" => [ + "apps/genpkey.c" + ], + "apps/openssl-bin-genrsa.o" => [ + "apps/genrsa.c" + ], + "apps/openssl-bin-info.o" => [ + "apps/info.c" + ], + "apps/openssl-bin-kdf.o" => [ + "apps/kdf.c" + ], + "apps/openssl-bin-list.o" => [ + "apps/list.c" + ], + "apps/openssl-bin-mac.o" => [ + "apps/mac.c" + ], + "apps/openssl-bin-nseq.o" => [ + "apps/nseq.c" + ], + "apps/openssl-bin-ocsp.o" => [ + "apps/ocsp.c" + ], + "apps/openssl-bin-openssl.o" => [ + "apps/openssl.c" + ], + "apps/openssl-bin-passwd.o" => [ + "apps/passwd.c" + ], + "apps/openssl-bin-pkcs12.o" => [ + "apps/pkcs12.c" + ], + "apps/openssl-bin-pkcs7.o" => [ + "apps/pkcs7.c" + ], + "apps/openssl-bin-pkcs8.o" => [ + "apps/pkcs8.c" + ], + "apps/openssl-bin-pkey.o" => [ + "apps/pkey.c" + ], + "apps/openssl-bin-pkeyparam.o" => [ + "apps/pkeyparam.c" + ], + "apps/openssl-bin-pkeyutl.o" => [ + "apps/pkeyutl.c" + ], + "apps/openssl-bin-prime.o" => [ + "apps/prime.c" + ], + "apps/openssl-bin-progs.o" => [ + "apps/progs.c" + ], + "apps/openssl-bin-rand.o" => [ + "apps/rand.c" + ], + "apps/openssl-bin-rehash.o" => [ + "apps/rehash.c" + ], + "apps/openssl-bin-req.o" => [ + "apps/req.c" + ], + "apps/openssl-bin-rsa.o" => [ + "apps/rsa.c" + ], + "apps/openssl-bin-rsautl.o" => [ + "apps/rsautl.c" + ], + "apps/openssl-bin-s_client.o" => [ + "apps/s_client.c" + ], + "apps/openssl-bin-s_server.o" => [ + "apps/s_server.c" + ], + "apps/openssl-bin-s_time.o" => [ + "apps/s_time.c" + ], + "apps/openssl-bin-sess_id.o" => [ + "apps/sess_id.c" + ], + "apps/openssl-bin-smime.o" => [ + "apps/smime.c" + ], + "apps/openssl-bin-speed.o" => [ + "apps/speed.c" + ], + "apps/openssl-bin-spkac.o" => [ + "apps/spkac.c" + ], + "apps/openssl-bin-srp.o" => [ + "apps/srp.c" + ], + "apps/openssl-bin-storeutl.o" => [ + "apps/storeutl.c" + ], + "apps/openssl-bin-ts.o" => [ + "apps/ts.c" + ], + "apps/openssl-bin-verify.o" => [ + "apps/verify.c" + ], + "apps/openssl-bin-version.o" => [ + "apps/version.c" + ], + "apps/openssl-bin-x509.o" => [ + "apps/x509.c" + ], + "apps/tsget.pl" => [ + "apps/tsget.in" + ], + "crypto/aes/libcrypto-lib-aes_cbc.o" => [ + "crypto/aes/aes_cbc.c" + ], + "crypto/aes/libcrypto-lib-aes_cfb.o" => [ + "crypto/aes/aes_cfb.c" + ], + "crypto/aes/libcrypto-lib-aes_core.o" => [ + "crypto/aes/aes_core.c" + ], + "crypto/aes/libcrypto-lib-aes_ecb.o" => [ + "crypto/aes/aes_ecb.c" + ], + "crypto/aes/libcrypto-lib-aes_ige.o" => [ + "crypto/aes/aes_ige.c" + ], + "crypto/aes/libcrypto-lib-aes_misc.o" => [ + "crypto/aes/aes_misc.c" + ], + "crypto/aes/libcrypto-lib-aes_ofb.o" => [ + "crypto/aes/aes_ofb.c" + ], + "crypto/aes/libcrypto-lib-aes_wrap.o" => [ + "crypto/aes/aes_wrap.c" + ], + "crypto/aes/libfips-lib-aes_cbc.o" => [ + "crypto/aes/aes_cbc.c" + ], + "crypto/aes/libfips-lib-aes_core.o" => [ + "crypto/aes/aes_core.c" + ], + "crypto/aes/libfips-lib-aes_ecb.o" => [ + "crypto/aes/aes_ecb.c" + ], + "crypto/aes/libfips-lib-aes_misc.o" => [ + "crypto/aes/aes_misc.c" + ], + "crypto/aria/libcrypto-lib-aria.o" => [ + "crypto/aria/aria.c" + ], + "crypto/asn1/libcrypto-lib-a_bitstr.o" => [ + "crypto/asn1/a_bitstr.c" + ], + "crypto/asn1/libcrypto-lib-a_d2i_fp.o" => [ + "crypto/asn1/a_d2i_fp.c" + ], + "crypto/asn1/libcrypto-lib-a_digest.o" => [ + "crypto/asn1/a_digest.c" + ], + "crypto/asn1/libcrypto-lib-a_dup.o" => [ + "crypto/asn1/a_dup.c" + ], + "crypto/asn1/libcrypto-lib-a_gentm.o" => [ + "crypto/asn1/a_gentm.c" + ], + "crypto/asn1/libcrypto-lib-a_i2d_fp.o" => [ + "crypto/asn1/a_i2d_fp.c" + ], + "crypto/asn1/libcrypto-lib-a_int.o" => [ + "crypto/asn1/a_int.c" + ], + "crypto/asn1/libcrypto-lib-a_mbstr.o" => [ + "crypto/asn1/a_mbstr.c" + ], + "crypto/asn1/libcrypto-lib-a_object.o" => [ + "crypto/asn1/a_object.c" + ], + "crypto/asn1/libcrypto-lib-a_octet.o" => [ + "crypto/asn1/a_octet.c" + ], + "crypto/asn1/libcrypto-lib-a_print.o" => [ + "crypto/asn1/a_print.c" + ], + "crypto/asn1/libcrypto-lib-a_sign.o" => [ + "crypto/asn1/a_sign.c" + ], + "crypto/asn1/libcrypto-lib-a_strex.o" => [ + "crypto/asn1/a_strex.c" + ], + "crypto/asn1/libcrypto-lib-a_strnid.o" => [ + "crypto/asn1/a_strnid.c" + ], + "crypto/asn1/libcrypto-lib-a_time.o" => [ + "crypto/asn1/a_time.c" + ], + "crypto/asn1/libcrypto-lib-a_type.o" => [ + "crypto/asn1/a_type.c" + ], + "crypto/asn1/libcrypto-lib-a_utctm.o" => [ + "crypto/asn1/a_utctm.c" + ], + "crypto/asn1/libcrypto-lib-a_utf8.o" => [ + "crypto/asn1/a_utf8.c" + ], + "crypto/asn1/libcrypto-lib-a_verify.o" => [ + "crypto/asn1/a_verify.c" + ], + "crypto/asn1/libcrypto-lib-ameth_lib.o" => [ + "crypto/asn1/ameth_lib.c" + ], + "crypto/asn1/libcrypto-lib-asn1_err.o" => [ + "crypto/asn1/asn1_err.c" + ], + "crypto/asn1/libcrypto-lib-asn1_gen.o" => [ + "crypto/asn1/asn1_gen.c" + ], + "crypto/asn1/libcrypto-lib-asn1_item_list.o" => [ + "crypto/asn1/asn1_item_list.c" + ], + "crypto/asn1/libcrypto-lib-asn1_lib.o" => [ + "crypto/asn1/asn1_lib.c" + ], + "crypto/asn1/libcrypto-lib-asn1_parse.o" => [ + "crypto/asn1/asn1_parse.c" + ], + "crypto/asn1/libcrypto-lib-asn_mime.o" => [ + "crypto/asn1/asn_mime.c" + ], + "crypto/asn1/libcrypto-lib-asn_moid.o" => [ + "crypto/asn1/asn_moid.c" + ], + "crypto/asn1/libcrypto-lib-asn_mstbl.o" => [ + "crypto/asn1/asn_mstbl.c" + ], + "crypto/asn1/libcrypto-lib-asn_pack.o" => [ + "crypto/asn1/asn_pack.c" + ], + "crypto/asn1/libcrypto-lib-bio_asn1.o" => [ + "crypto/asn1/bio_asn1.c" + ], + "crypto/asn1/libcrypto-lib-bio_ndef.o" => [ + "crypto/asn1/bio_ndef.c" + ], + "crypto/asn1/libcrypto-lib-d2i_param.o" => [ + "crypto/asn1/d2i_param.c" + ], + "crypto/asn1/libcrypto-lib-d2i_pr.o" => [ + "crypto/asn1/d2i_pr.c" + ], + "crypto/asn1/libcrypto-lib-d2i_pu.o" => [ + "crypto/asn1/d2i_pu.c" + ], + "crypto/asn1/libcrypto-lib-evp_asn1.o" => [ + "crypto/asn1/evp_asn1.c" + ], + "crypto/asn1/libcrypto-lib-f_int.o" => [ + "crypto/asn1/f_int.c" + ], + "crypto/asn1/libcrypto-lib-f_string.o" => [ + "crypto/asn1/f_string.c" + ], + "crypto/asn1/libcrypto-lib-i2d_evp.o" => [ + "crypto/asn1/i2d_evp.c" + ], + "crypto/asn1/libcrypto-lib-n_pkey.o" => [ + "crypto/asn1/n_pkey.c" + ], + "crypto/asn1/libcrypto-lib-nsseq.o" => [ + "crypto/asn1/nsseq.c" + ], + "crypto/asn1/libcrypto-lib-p5_pbe.o" => [ + "crypto/asn1/p5_pbe.c" + ], + "crypto/asn1/libcrypto-lib-p5_pbev2.o" => [ + "crypto/asn1/p5_pbev2.c" + ], + "crypto/asn1/libcrypto-lib-p5_scrypt.o" => [ + "crypto/asn1/p5_scrypt.c" + ], + "crypto/asn1/libcrypto-lib-p8_pkey.o" => [ + "crypto/asn1/p8_pkey.c" + ], + "crypto/asn1/libcrypto-lib-t_bitst.o" => [ + "crypto/asn1/t_bitst.c" + ], + "crypto/asn1/libcrypto-lib-t_pkey.o" => [ + "crypto/asn1/t_pkey.c" + ], + "crypto/asn1/libcrypto-lib-t_spki.o" => [ + "crypto/asn1/t_spki.c" + ], + "crypto/asn1/libcrypto-lib-tasn_dec.o" => [ + "crypto/asn1/tasn_dec.c" + ], + "crypto/asn1/libcrypto-lib-tasn_enc.o" => [ + "crypto/asn1/tasn_enc.c" + ], + "crypto/asn1/libcrypto-lib-tasn_fre.o" => [ + "crypto/asn1/tasn_fre.c" + ], + "crypto/asn1/libcrypto-lib-tasn_new.o" => [ + "crypto/asn1/tasn_new.c" + ], + "crypto/asn1/libcrypto-lib-tasn_prn.o" => [ + "crypto/asn1/tasn_prn.c" + ], + "crypto/asn1/libcrypto-lib-tasn_scn.o" => [ + "crypto/asn1/tasn_scn.c" + ], + "crypto/asn1/libcrypto-lib-tasn_typ.o" => [ + "crypto/asn1/tasn_typ.c" + ], + "crypto/asn1/libcrypto-lib-tasn_utl.o" => [ + "crypto/asn1/tasn_utl.c" + ], + "crypto/asn1/libcrypto-lib-x_algor.o" => [ + "crypto/asn1/x_algor.c" + ], + "crypto/asn1/libcrypto-lib-x_bignum.o" => [ + "crypto/asn1/x_bignum.c" + ], + "crypto/asn1/libcrypto-lib-x_info.o" => [ + "crypto/asn1/x_info.c" + ], + "crypto/asn1/libcrypto-lib-x_int64.o" => [ + "crypto/asn1/x_int64.c" + ], + "crypto/asn1/libcrypto-lib-x_long.o" => [ + "crypto/asn1/x_long.c" + ], + "crypto/asn1/libcrypto-lib-x_pkey.o" => [ + "crypto/asn1/x_pkey.c" + ], + "crypto/asn1/libcrypto-lib-x_sig.o" => [ + "crypto/asn1/x_sig.c" + ], + "crypto/asn1/libcrypto-lib-x_spki.o" => [ + "crypto/asn1/x_spki.c" + ], + "crypto/asn1/libcrypto-lib-x_val.o" => [ + "crypto/asn1/x_val.c" + ], + "crypto/async/arch/libcrypto-lib-async_null.o" => [ + "crypto/async/arch/async_null.c" + ], + "crypto/async/arch/libcrypto-lib-async_posix.o" => [ + "crypto/async/arch/async_posix.c" + ], + "crypto/async/arch/libcrypto-lib-async_win.o" => [ + "crypto/async/arch/async_win.c" + ], + "crypto/async/libcrypto-lib-async.o" => [ + "crypto/async/async.c" + ], + "crypto/async/libcrypto-lib-async_err.o" => [ + "crypto/async/async_err.c" + ], + "crypto/async/libcrypto-lib-async_wait.o" => [ + "crypto/async/async_wait.c" + ], + "crypto/bf/libcrypto-lib-bf_cfb64.o" => [ + "crypto/bf/bf_cfb64.c" + ], + "crypto/bf/libcrypto-lib-bf_ecb.o" => [ + "crypto/bf/bf_ecb.c" + ], + "crypto/bf/libcrypto-lib-bf_enc.o" => [ + "crypto/bf/bf_enc.c" + ], + "crypto/bf/libcrypto-lib-bf_ofb64.o" => [ + "crypto/bf/bf_ofb64.c" + ], + "crypto/bf/libcrypto-lib-bf_skey.o" => [ + "crypto/bf/bf_skey.c" + ], + "crypto/bio/libcrypto-lib-bf_buff.o" => [ + "crypto/bio/bf_buff.c" + ], + "crypto/bio/libcrypto-lib-bf_lbuf.o" => [ + "crypto/bio/bf_lbuf.c" + ], + "crypto/bio/libcrypto-lib-bf_nbio.o" => [ + "crypto/bio/bf_nbio.c" + ], + "crypto/bio/libcrypto-lib-bf_null.o" => [ + "crypto/bio/bf_null.c" + ], + "crypto/bio/libcrypto-lib-bf_prefix.o" => [ + "crypto/bio/bf_prefix.c" + ], + "crypto/bio/libcrypto-lib-bf_readbuff.o" => [ + "crypto/bio/bf_readbuff.c" + ], + "crypto/bio/libcrypto-lib-bio_addr.o" => [ + "crypto/bio/bio_addr.c" + ], + "crypto/bio/libcrypto-lib-bio_cb.o" => [ + "crypto/bio/bio_cb.c" + ], + "crypto/bio/libcrypto-lib-bio_dump.o" => [ + "crypto/bio/bio_dump.c" + ], + "crypto/bio/libcrypto-lib-bio_err.o" => [ + "crypto/bio/bio_err.c" + ], + "crypto/bio/libcrypto-lib-bio_lib.o" => [ + "crypto/bio/bio_lib.c" + ], + "crypto/bio/libcrypto-lib-bio_meth.o" => [ + "crypto/bio/bio_meth.c" + ], + "crypto/bio/libcrypto-lib-bio_print.o" => [ + "crypto/bio/bio_print.c" + ], + "crypto/bio/libcrypto-lib-bio_sock.o" => [ + "crypto/bio/bio_sock.c" + ], + "crypto/bio/libcrypto-lib-bio_sock2.o" => [ + "crypto/bio/bio_sock2.c" + ], + "crypto/bio/libcrypto-lib-bss_acpt.o" => [ + "crypto/bio/bss_acpt.c" + ], + "crypto/bio/libcrypto-lib-bss_bio.o" => [ + "crypto/bio/bss_bio.c" + ], + "crypto/bio/libcrypto-lib-bss_conn.o" => [ + "crypto/bio/bss_conn.c" + ], + "crypto/bio/libcrypto-lib-bss_core.o" => [ + "crypto/bio/bss_core.c" + ], + "crypto/bio/libcrypto-lib-bss_dgram.o" => [ + "crypto/bio/bss_dgram.c" + ], + "crypto/bio/libcrypto-lib-bss_fd.o" => [ + "crypto/bio/bss_fd.c" + ], + "crypto/bio/libcrypto-lib-bss_file.o" => [ + "crypto/bio/bss_file.c" + ], + "crypto/bio/libcrypto-lib-bss_log.o" => [ + "crypto/bio/bss_log.c" + ], + "crypto/bio/libcrypto-lib-bss_mem.o" => [ + "crypto/bio/bss_mem.c" + ], + "crypto/bio/libcrypto-lib-bss_null.o" => [ + "crypto/bio/bss_null.c" + ], + "crypto/bio/libcrypto-lib-bss_sock.o" => [ + "crypto/bio/bss_sock.c" + ], + "crypto/bio/libcrypto-lib-ossl_core_bio.o" => [ + "crypto/bio/ossl_core_bio.c" + ], + "crypto/bn/libcrypto-lib-bn_add.o" => [ + "crypto/bn/bn_add.c" + ], + "crypto/bn/libcrypto-lib-bn_asm.o" => [ + "crypto/bn/bn_asm.c" + ], + "crypto/bn/libcrypto-lib-bn_blind.o" => [ + "crypto/bn/bn_blind.c" + ], + "crypto/bn/libcrypto-lib-bn_const.o" => [ + "crypto/bn/bn_const.c" + ], + "crypto/bn/libcrypto-lib-bn_conv.o" => [ + "crypto/bn/bn_conv.c" + ], + "crypto/bn/libcrypto-lib-bn_ctx.o" => [ + "crypto/bn/bn_ctx.c" + ], + "crypto/bn/libcrypto-lib-bn_depr.o" => [ + "crypto/bn/bn_depr.c" + ], + "crypto/bn/libcrypto-lib-bn_dh.o" => [ + "crypto/bn/bn_dh.c" + ], + "crypto/bn/libcrypto-lib-bn_div.o" => [ + "crypto/bn/bn_div.c" + ], + "crypto/bn/libcrypto-lib-bn_err.o" => [ + "crypto/bn/bn_err.c" + ], + "crypto/bn/libcrypto-lib-bn_exp.o" => [ + "crypto/bn/bn_exp.c" + ], + "crypto/bn/libcrypto-lib-bn_exp2.o" => [ + "crypto/bn/bn_exp2.c" + ], + "crypto/bn/libcrypto-lib-bn_gcd.o" => [ + "crypto/bn/bn_gcd.c" + ], + "crypto/bn/libcrypto-lib-bn_gf2m.o" => [ + "crypto/bn/bn_gf2m.c" + ], + "crypto/bn/libcrypto-lib-bn_intern.o" => [ + "crypto/bn/bn_intern.c" + ], + "crypto/bn/libcrypto-lib-bn_kron.o" => [ + "crypto/bn/bn_kron.c" + ], + "crypto/bn/libcrypto-lib-bn_lib.o" => [ + "crypto/bn/bn_lib.c" + ], + "crypto/bn/libcrypto-lib-bn_mod.o" => [ + "crypto/bn/bn_mod.c" + ], + "crypto/bn/libcrypto-lib-bn_mont.o" => [ + "crypto/bn/bn_mont.c" + ], + "crypto/bn/libcrypto-lib-bn_mpi.o" => [ + "crypto/bn/bn_mpi.c" + ], + "crypto/bn/libcrypto-lib-bn_mul.o" => [ + "crypto/bn/bn_mul.c" + ], + "crypto/bn/libcrypto-lib-bn_nist.o" => [ + "crypto/bn/bn_nist.c" + ], + "crypto/bn/libcrypto-lib-bn_prime.o" => [ + "crypto/bn/bn_prime.c" + ], + "crypto/bn/libcrypto-lib-bn_print.o" => [ + "crypto/bn/bn_print.c" + ], + "crypto/bn/libcrypto-lib-bn_rand.o" => [ + "crypto/bn/bn_rand.c" + ], + "crypto/bn/libcrypto-lib-bn_recp.o" => [ + "crypto/bn/bn_recp.c" + ], + "crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o" => [ + "crypto/bn/bn_rsa_fips186_4.c" + ], + "crypto/bn/libcrypto-lib-bn_shift.o" => [ + "crypto/bn/bn_shift.c" + ], + "crypto/bn/libcrypto-lib-bn_sqr.o" => [ + "crypto/bn/bn_sqr.c" + ], + "crypto/bn/libcrypto-lib-bn_sqrt.o" => [ + "crypto/bn/bn_sqrt.c" + ], + "crypto/bn/libcrypto-lib-bn_srp.o" => [ + "crypto/bn/bn_srp.c" + ], + "crypto/bn/libcrypto-lib-bn_word.o" => [ + "crypto/bn/bn_word.c" + ], + "crypto/bn/libcrypto-lib-bn_x931p.o" => [ + "crypto/bn/bn_x931p.c" + ], + "crypto/bn/libcrypto-lib-rsa_sup_mul.o" => [ + "crypto/bn/rsa_sup_mul.c" + ], + "crypto/bn/libfips-lib-bn_add.o" => [ + "crypto/bn/bn_add.c" + ], + "crypto/bn/libfips-lib-bn_asm.o" => [ + "crypto/bn/bn_asm.c" + ], + "crypto/bn/libfips-lib-bn_blind.o" => [ + "crypto/bn/bn_blind.c" + ], + "crypto/bn/libfips-lib-bn_const.o" => [ + "crypto/bn/bn_const.c" + ], + "crypto/bn/libfips-lib-bn_conv.o" => [ + "crypto/bn/bn_conv.c" + ], + "crypto/bn/libfips-lib-bn_ctx.o" => [ + "crypto/bn/bn_ctx.c" + ], + "crypto/bn/libfips-lib-bn_dh.o" => [ + "crypto/bn/bn_dh.c" + ], + "crypto/bn/libfips-lib-bn_div.o" => [ + "crypto/bn/bn_div.c" + ], + "crypto/bn/libfips-lib-bn_exp.o" => [ + "crypto/bn/bn_exp.c" + ], + "crypto/bn/libfips-lib-bn_exp2.o" => [ + "crypto/bn/bn_exp2.c" + ], + "crypto/bn/libfips-lib-bn_gcd.o" => [ + "crypto/bn/bn_gcd.c" + ], + "crypto/bn/libfips-lib-bn_gf2m.o" => [ + "crypto/bn/bn_gf2m.c" + ], + "crypto/bn/libfips-lib-bn_intern.o" => [ + "crypto/bn/bn_intern.c" + ], + "crypto/bn/libfips-lib-bn_kron.o" => [ + "crypto/bn/bn_kron.c" + ], + "crypto/bn/libfips-lib-bn_lib.o" => [ + "crypto/bn/bn_lib.c" + ], + "crypto/bn/libfips-lib-bn_mod.o" => [ + "crypto/bn/bn_mod.c" + ], + "crypto/bn/libfips-lib-bn_mont.o" => [ + "crypto/bn/bn_mont.c" + ], + "crypto/bn/libfips-lib-bn_mpi.o" => [ + "crypto/bn/bn_mpi.c" + ], + "crypto/bn/libfips-lib-bn_mul.o" => [ + "crypto/bn/bn_mul.c" + ], + "crypto/bn/libfips-lib-bn_nist.o" => [ + "crypto/bn/bn_nist.c" + ], + "crypto/bn/libfips-lib-bn_prime.o" => [ + "crypto/bn/bn_prime.c" + ], + "crypto/bn/libfips-lib-bn_rand.o" => [ + "crypto/bn/bn_rand.c" + ], + "crypto/bn/libfips-lib-bn_recp.o" => [ + "crypto/bn/bn_recp.c" + ], + "crypto/bn/libfips-lib-bn_rsa_fips186_4.o" => [ + "crypto/bn/bn_rsa_fips186_4.c" + ], + "crypto/bn/libfips-lib-bn_shift.o" => [ + "crypto/bn/bn_shift.c" + ], + "crypto/bn/libfips-lib-bn_sqr.o" => [ + "crypto/bn/bn_sqr.c" + ], + "crypto/bn/libfips-lib-bn_sqrt.o" => [ + "crypto/bn/bn_sqrt.c" + ], + "crypto/bn/libfips-lib-bn_word.o" => [ + "crypto/bn/bn_word.c" + ], + "crypto/bn/libfips-lib-rsa_sup_mul.o" => [ + "crypto/bn/rsa_sup_mul.c" + ], + "crypto/buffer/libcrypto-lib-buf_err.o" => [ + "crypto/buffer/buf_err.c" + ], + "crypto/buffer/libcrypto-lib-buffer.o" => [ + "crypto/buffer/buffer.c" + ], + "crypto/buffer/libfips-lib-buffer.o" => [ + "crypto/buffer/buffer.c" + ], + "crypto/camellia/libcrypto-lib-camellia.o" => [ + "crypto/camellia/camellia.c" + ], + "crypto/camellia/libcrypto-lib-cmll_cbc.o" => [ + "crypto/camellia/cmll_cbc.c" + ], + "crypto/camellia/libcrypto-lib-cmll_cfb.o" => [ + "crypto/camellia/cmll_cfb.c" + ], + "crypto/camellia/libcrypto-lib-cmll_ctr.o" => [ + "crypto/camellia/cmll_ctr.c" + ], + "crypto/camellia/libcrypto-lib-cmll_ecb.o" => [ + "crypto/camellia/cmll_ecb.c" + ], + "crypto/camellia/libcrypto-lib-cmll_misc.o" => [ + "crypto/camellia/cmll_misc.c" + ], + "crypto/camellia/libcrypto-lib-cmll_ofb.o" => [ + "crypto/camellia/cmll_ofb.c" + ], + "crypto/cast/libcrypto-lib-c_cfb64.o" => [ + "crypto/cast/c_cfb64.c" + ], + "crypto/cast/libcrypto-lib-c_ecb.o" => [ + "crypto/cast/c_ecb.c" + ], + "crypto/cast/libcrypto-lib-c_enc.o" => [ + "crypto/cast/c_enc.c" + ], + "crypto/cast/libcrypto-lib-c_ofb64.o" => [ + "crypto/cast/c_ofb64.c" + ], + "crypto/cast/libcrypto-lib-c_skey.o" => [ + "crypto/cast/c_skey.c" + ], + "crypto/chacha/libcrypto-lib-chacha_enc.o" => [ + "crypto/chacha/chacha_enc.c" + ], + "crypto/cmac/libcrypto-lib-cmac.o" => [ + "crypto/cmac/cmac.c" + ], + "crypto/cmac/libfips-lib-cmac.o" => [ + "crypto/cmac/cmac.c" + ], + "crypto/cmp/libcrypto-lib-cmp_asn.o" => [ + "crypto/cmp/cmp_asn.c" + ], + "crypto/cmp/libcrypto-lib-cmp_client.o" => [ + "crypto/cmp/cmp_client.c" + ], + "crypto/cmp/libcrypto-lib-cmp_ctx.o" => [ + "crypto/cmp/cmp_ctx.c" + ], + "crypto/cmp/libcrypto-lib-cmp_err.o" => [ + "crypto/cmp/cmp_err.c" + ], + "crypto/cmp/libcrypto-lib-cmp_hdr.o" => [ + "crypto/cmp/cmp_hdr.c" + ], + "crypto/cmp/libcrypto-lib-cmp_http.o" => [ + "crypto/cmp/cmp_http.c" + ], + "crypto/cmp/libcrypto-lib-cmp_msg.o" => [ + "crypto/cmp/cmp_msg.c" + ], + "crypto/cmp/libcrypto-lib-cmp_protect.o" => [ + "crypto/cmp/cmp_protect.c" + ], + "crypto/cmp/libcrypto-lib-cmp_server.o" => [ + "crypto/cmp/cmp_server.c" + ], + "crypto/cmp/libcrypto-lib-cmp_status.o" => [ + "crypto/cmp/cmp_status.c" + ], + "crypto/cmp/libcrypto-lib-cmp_util.o" => [ + "crypto/cmp/cmp_util.c" + ], + "crypto/cmp/libcrypto-lib-cmp_vfy.o" => [ + "crypto/cmp/cmp_vfy.c" + ], + "crypto/cms/libcrypto-lib-cms_asn1.o" => [ + "crypto/cms/cms_asn1.c" + ], + "crypto/cms/libcrypto-lib-cms_att.o" => [ + "crypto/cms/cms_att.c" + ], + "crypto/cms/libcrypto-lib-cms_cd.o" => [ + "crypto/cms/cms_cd.c" + ], + "crypto/cms/libcrypto-lib-cms_dd.o" => [ + "crypto/cms/cms_dd.c" + ], + "crypto/cms/libcrypto-lib-cms_dh.o" => [ + "crypto/cms/cms_dh.c" + ], + "crypto/cms/libcrypto-lib-cms_ec.o" => [ + "crypto/cms/cms_ec.c" + ], + "crypto/cms/libcrypto-lib-cms_enc.o" => [ + "crypto/cms/cms_enc.c" + ], + "crypto/cms/libcrypto-lib-cms_env.o" => [ + "crypto/cms/cms_env.c" + ], + "crypto/cms/libcrypto-lib-cms_err.o" => [ + "crypto/cms/cms_err.c" + ], + "crypto/cms/libcrypto-lib-cms_ess.o" => [ + "crypto/cms/cms_ess.c" + ], + "crypto/cms/libcrypto-lib-cms_io.o" => [ + "crypto/cms/cms_io.c" + ], + "crypto/cms/libcrypto-lib-cms_kari.o" => [ + "crypto/cms/cms_kari.c" + ], + "crypto/cms/libcrypto-lib-cms_lib.o" => [ + "crypto/cms/cms_lib.c" + ], + "crypto/cms/libcrypto-lib-cms_pwri.o" => [ + "crypto/cms/cms_pwri.c" + ], + "crypto/cms/libcrypto-lib-cms_rsa.o" => [ + "crypto/cms/cms_rsa.c" + ], + "crypto/cms/libcrypto-lib-cms_sd.o" => [ + "crypto/cms/cms_sd.c" + ], + "crypto/cms/libcrypto-lib-cms_smime.o" => [ + "crypto/cms/cms_smime.c" + ], + "crypto/conf/libcrypto-lib-conf_api.o" => [ + "crypto/conf/conf_api.c" + ], + "crypto/conf/libcrypto-lib-conf_def.o" => [ + "crypto/conf/conf_def.c" + ], + "crypto/conf/libcrypto-lib-conf_err.o" => [ + "crypto/conf/conf_err.c" + ], + "crypto/conf/libcrypto-lib-conf_lib.o" => [ + "crypto/conf/conf_lib.c" + ], + "crypto/conf/libcrypto-lib-conf_mall.o" => [ + "crypto/conf/conf_mall.c" + ], + "crypto/conf/libcrypto-lib-conf_mod.o" => [ + "crypto/conf/conf_mod.c" + ], + "crypto/conf/libcrypto-lib-conf_sap.o" => [ + "crypto/conf/conf_sap.c" + ], + "crypto/conf/libcrypto-lib-conf_ssl.o" => [ + "crypto/conf/conf_ssl.c" + ], + "crypto/crmf/libcrypto-lib-crmf_asn.o" => [ + "crypto/crmf/crmf_asn.c" + ], + "crypto/crmf/libcrypto-lib-crmf_err.o" => [ + "crypto/crmf/crmf_err.c" + ], + "crypto/crmf/libcrypto-lib-crmf_lib.o" => [ + "crypto/crmf/crmf_lib.c" + ], + "crypto/crmf/libcrypto-lib-crmf_pbm.o" => [ + "crypto/crmf/crmf_pbm.c" + ], + "crypto/ct/libcrypto-lib-ct_b64.o" => [ + "crypto/ct/ct_b64.c" + ], + "crypto/ct/libcrypto-lib-ct_err.o" => [ + "crypto/ct/ct_err.c" + ], + "crypto/ct/libcrypto-lib-ct_log.o" => [ + "crypto/ct/ct_log.c" + ], + "crypto/ct/libcrypto-lib-ct_oct.o" => [ + "crypto/ct/ct_oct.c" + ], + "crypto/ct/libcrypto-lib-ct_policy.o" => [ + "crypto/ct/ct_policy.c" + ], + "crypto/ct/libcrypto-lib-ct_prn.o" => [ + "crypto/ct/ct_prn.c" + ], + "crypto/ct/libcrypto-lib-ct_sct.o" => [ + "crypto/ct/ct_sct.c" + ], + "crypto/ct/libcrypto-lib-ct_sct_ctx.o" => [ + "crypto/ct/ct_sct_ctx.c" + ], + "crypto/ct/libcrypto-lib-ct_vfy.o" => [ + "crypto/ct/ct_vfy.c" + ], + "crypto/ct/libcrypto-lib-ct_x509v3.o" => [ + "crypto/ct/ct_x509v3.c" + ], + "crypto/des/libcrypto-lib-cbc_cksm.o" => [ + "crypto/des/cbc_cksm.c" + ], + "crypto/des/libcrypto-lib-cbc_enc.o" => [ + "crypto/des/cbc_enc.c" + ], + "crypto/des/libcrypto-lib-cfb64ede.o" => [ + "crypto/des/cfb64ede.c" + ], + "crypto/des/libcrypto-lib-cfb64enc.o" => [ + "crypto/des/cfb64enc.c" + ], + "crypto/des/libcrypto-lib-cfb_enc.o" => [ + "crypto/des/cfb_enc.c" + ], + "crypto/des/libcrypto-lib-des_enc.o" => [ + "crypto/des/des_enc.c" + ], + "crypto/des/libcrypto-lib-ecb3_enc.o" => [ + "crypto/des/ecb3_enc.c" + ], + "crypto/des/libcrypto-lib-ecb_enc.o" => [ + "crypto/des/ecb_enc.c" + ], + "crypto/des/libcrypto-lib-fcrypt.o" => [ + "crypto/des/fcrypt.c" + ], + "crypto/des/libcrypto-lib-fcrypt_b.o" => [ + "crypto/des/fcrypt_b.c" + ], + "crypto/des/libcrypto-lib-ofb64ede.o" => [ + "crypto/des/ofb64ede.c" + ], + "crypto/des/libcrypto-lib-ofb64enc.o" => [ + "crypto/des/ofb64enc.c" + ], + "crypto/des/libcrypto-lib-ofb_enc.o" => [ + "crypto/des/ofb_enc.c" + ], + "crypto/des/libcrypto-lib-pcbc_enc.o" => [ + "crypto/des/pcbc_enc.c" + ], + "crypto/des/libcrypto-lib-qud_cksm.o" => [ + "crypto/des/qud_cksm.c" + ], + "crypto/des/libcrypto-lib-rand_key.o" => [ + "crypto/des/rand_key.c" + ], + "crypto/des/libcrypto-lib-set_key.o" => [ + "crypto/des/set_key.c" + ], + "crypto/des/libcrypto-lib-str2key.o" => [ + "crypto/des/str2key.c" + ], + "crypto/des/libcrypto-lib-xcbc_enc.o" => [ + "crypto/des/xcbc_enc.c" + ], + "crypto/des/libfips-lib-des_enc.o" => [ + "crypto/des/des_enc.c" + ], + "crypto/des/libfips-lib-ecb3_enc.o" => [ + "crypto/des/ecb3_enc.c" + ], + "crypto/des/libfips-lib-fcrypt_b.o" => [ + "crypto/des/fcrypt_b.c" + ], + "crypto/des/libfips-lib-set_key.o" => [ + "crypto/des/set_key.c" + ], + "crypto/dh/libcrypto-lib-dh_ameth.o" => [ + "crypto/dh/dh_ameth.c" + ], + "crypto/dh/libcrypto-lib-dh_asn1.o" => [ + "crypto/dh/dh_asn1.c" + ], + "crypto/dh/libcrypto-lib-dh_backend.o" => [ + "crypto/dh/dh_backend.c" + ], + "crypto/dh/libcrypto-lib-dh_check.o" => [ + "crypto/dh/dh_check.c" + ], + "crypto/dh/libcrypto-lib-dh_depr.o" => [ + "crypto/dh/dh_depr.c" + ], + "crypto/dh/libcrypto-lib-dh_err.o" => [ + "crypto/dh/dh_err.c" + ], + "crypto/dh/libcrypto-lib-dh_gen.o" => [ + "crypto/dh/dh_gen.c" + ], + "crypto/dh/libcrypto-lib-dh_group_params.o" => [ + "crypto/dh/dh_group_params.c" + ], + "crypto/dh/libcrypto-lib-dh_kdf.o" => [ + "crypto/dh/dh_kdf.c" + ], + "crypto/dh/libcrypto-lib-dh_key.o" => [ + "crypto/dh/dh_key.c" + ], + "crypto/dh/libcrypto-lib-dh_lib.o" => [ + "crypto/dh/dh_lib.c" + ], + "crypto/dh/libcrypto-lib-dh_meth.o" => [ + "crypto/dh/dh_meth.c" + ], + "crypto/dh/libcrypto-lib-dh_pmeth.o" => [ + "crypto/dh/dh_pmeth.c" + ], + "crypto/dh/libcrypto-lib-dh_prn.o" => [ + "crypto/dh/dh_prn.c" + ], + "crypto/dh/libcrypto-lib-dh_rfc5114.o" => [ + "crypto/dh/dh_rfc5114.c" + ], + "crypto/dh/libfips-lib-dh_backend.o" => [ + "crypto/dh/dh_backend.c" + ], + "crypto/dh/libfips-lib-dh_check.o" => [ + "crypto/dh/dh_check.c" + ], + "crypto/dh/libfips-lib-dh_gen.o" => [ + "crypto/dh/dh_gen.c" + ], + "crypto/dh/libfips-lib-dh_group_params.o" => [ + "crypto/dh/dh_group_params.c" + ], + "crypto/dh/libfips-lib-dh_kdf.o" => [ + "crypto/dh/dh_kdf.c" + ], + "crypto/dh/libfips-lib-dh_key.o" => [ + "crypto/dh/dh_key.c" + ], + "crypto/dh/libfips-lib-dh_lib.o" => [ + "crypto/dh/dh_lib.c" + ], + "crypto/dsa/libcrypto-lib-dsa_ameth.o" => [ + "crypto/dsa/dsa_ameth.c" + ], + "crypto/dsa/libcrypto-lib-dsa_asn1.o" => [ + "crypto/dsa/dsa_asn1.c" + ], + "crypto/dsa/libcrypto-lib-dsa_backend.o" => [ + "crypto/dsa/dsa_backend.c" + ], + "crypto/dsa/libcrypto-lib-dsa_check.o" => [ + "crypto/dsa/dsa_check.c" + ], + "crypto/dsa/libcrypto-lib-dsa_depr.o" => [ + "crypto/dsa/dsa_depr.c" + ], + "crypto/dsa/libcrypto-lib-dsa_err.o" => [ + "crypto/dsa/dsa_err.c" + ], + "crypto/dsa/libcrypto-lib-dsa_gen.o" => [ + "crypto/dsa/dsa_gen.c" + ], + "crypto/dsa/libcrypto-lib-dsa_key.o" => [ + "crypto/dsa/dsa_key.c" + ], + "crypto/dsa/libcrypto-lib-dsa_lib.o" => [ + "crypto/dsa/dsa_lib.c" + ], + "crypto/dsa/libcrypto-lib-dsa_meth.o" => [ + "crypto/dsa/dsa_meth.c" + ], + "crypto/dsa/libcrypto-lib-dsa_ossl.o" => [ + "crypto/dsa/dsa_ossl.c" + ], + "crypto/dsa/libcrypto-lib-dsa_pmeth.o" => [ + "crypto/dsa/dsa_pmeth.c" + ], + "crypto/dsa/libcrypto-lib-dsa_prn.o" => [ + "crypto/dsa/dsa_prn.c" + ], + "crypto/dsa/libcrypto-lib-dsa_sign.o" => [ + "crypto/dsa/dsa_sign.c" + ], + "crypto/dsa/libcrypto-lib-dsa_vrf.o" => [ + "crypto/dsa/dsa_vrf.c" + ], + "crypto/dsa/libfips-lib-dsa_backend.o" => [ + "crypto/dsa/dsa_backend.c" + ], + "crypto/dsa/libfips-lib-dsa_check.o" => [ + "crypto/dsa/dsa_check.c" + ], + "crypto/dsa/libfips-lib-dsa_gen.o" => [ + "crypto/dsa/dsa_gen.c" + ], + "crypto/dsa/libfips-lib-dsa_key.o" => [ + "crypto/dsa/dsa_key.c" + ], + "crypto/dsa/libfips-lib-dsa_lib.o" => [ + "crypto/dsa/dsa_lib.c" + ], + "crypto/dsa/libfips-lib-dsa_ossl.o" => [ + "crypto/dsa/dsa_ossl.c" + ], + "crypto/dsa/libfips-lib-dsa_sign.o" => [ + "crypto/dsa/dsa_sign.c" + ], + "crypto/dsa/libfips-lib-dsa_vrf.o" => [ + "crypto/dsa/dsa_vrf.c" + ], + "crypto/dso/libcrypto-lib-dso_dl.o" => [ + "crypto/dso/dso_dl.c" + ], + "crypto/dso/libcrypto-lib-dso_dlfcn.o" => [ + "crypto/dso/dso_dlfcn.c" + ], + "crypto/dso/libcrypto-lib-dso_err.o" => [ + "crypto/dso/dso_err.c" + ], + "crypto/dso/libcrypto-lib-dso_lib.o" => [ + "crypto/dso/dso_lib.c" + ], + "crypto/dso/libcrypto-lib-dso_openssl.o" => [ + "crypto/dso/dso_openssl.c" + ], + "crypto/dso/libcrypto-lib-dso_vms.o" => [ + "crypto/dso/dso_vms.c" + ], + "crypto/dso/libcrypto-lib-dso_win32.o" => [ + "crypto/dso/dso_win32.c" + ], + "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o" => [ + "crypto/ec/curve448/arch_32/f_impl32.c" + ], + "crypto/ec/curve448/arch_32/libfips-lib-f_impl32.o" => [ + "crypto/ec/curve448/arch_32/f_impl32.c" + ], + "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o" => [ + "crypto/ec/curve448/arch_64/f_impl64.c" + ], + "crypto/ec/curve448/arch_64/libfips-lib-f_impl64.o" => [ + "crypto/ec/curve448/arch_64/f_impl64.c" + ], + "crypto/ec/curve448/libcrypto-lib-curve448.o" => [ + "crypto/ec/curve448/curve448.c" + ], + "crypto/ec/curve448/libcrypto-lib-curve448_tables.o" => [ + "crypto/ec/curve448/curve448_tables.c" + ], + "crypto/ec/curve448/libcrypto-lib-eddsa.o" => [ + "crypto/ec/curve448/eddsa.c" + ], + "crypto/ec/curve448/libcrypto-lib-f_generic.o" => [ + "crypto/ec/curve448/f_generic.c" + ], + "crypto/ec/curve448/libcrypto-lib-scalar.o" => [ + "crypto/ec/curve448/scalar.c" + ], + "crypto/ec/curve448/libfips-lib-curve448.o" => [ + "crypto/ec/curve448/curve448.c" + ], + "crypto/ec/curve448/libfips-lib-curve448_tables.o" => [ + "crypto/ec/curve448/curve448_tables.c" + ], + "crypto/ec/curve448/libfips-lib-eddsa.o" => [ + "crypto/ec/curve448/eddsa.c" + ], + "crypto/ec/curve448/libfips-lib-f_generic.o" => [ + "crypto/ec/curve448/f_generic.c" + ], + "crypto/ec/curve448/libfips-lib-scalar.o" => [ + "crypto/ec/curve448/scalar.c" + ], + "crypto/ec/libcrypto-lib-curve25519.o" => [ + "crypto/ec/curve25519.c" + ], + "crypto/ec/libcrypto-lib-ec2_oct.o" => [ + "crypto/ec/ec2_oct.c" + ], + "crypto/ec/libcrypto-lib-ec2_smpl.o" => [ + "crypto/ec/ec2_smpl.c" + ], + "crypto/ec/libcrypto-lib-ec_ameth.o" => [ + "crypto/ec/ec_ameth.c" + ], + "crypto/ec/libcrypto-lib-ec_asn1.o" => [ + "crypto/ec/ec_asn1.c" + ], + "crypto/ec/libcrypto-lib-ec_backend.o" => [ + "crypto/ec/ec_backend.c" + ], + "crypto/ec/libcrypto-lib-ec_check.o" => [ + "crypto/ec/ec_check.c" + ], + "crypto/ec/libcrypto-lib-ec_curve.o" => [ + "crypto/ec/ec_curve.c" + ], + "crypto/ec/libcrypto-lib-ec_cvt.o" => [ + "crypto/ec/ec_cvt.c" + ], + "crypto/ec/libcrypto-lib-ec_deprecated.o" => [ + "crypto/ec/ec_deprecated.c" + ], + "crypto/ec/libcrypto-lib-ec_err.o" => [ + "crypto/ec/ec_err.c" + ], + "crypto/ec/libcrypto-lib-ec_key.o" => [ + "crypto/ec/ec_key.c" + ], + "crypto/ec/libcrypto-lib-ec_kmeth.o" => [ + "crypto/ec/ec_kmeth.c" + ], + "crypto/ec/libcrypto-lib-ec_lib.o" => [ + "crypto/ec/ec_lib.c" + ], + "crypto/ec/libcrypto-lib-ec_mult.o" => [ + "crypto/ec/ec_mult.c" + ], + "crypto/ec/libcrypto-lib-ec_oct.o" => [ + "crypto/ec/ec_oct.c" + ], + "crypto/ec/libcrypto-lib-ec_pmeth.o" => [ + "crypto/ec/ec_pmeth.c" + ], + "crypto/ec/libcrypto-lib-ec_print.o" => [ + "crypto/ec/ec_print.c" + ], + "crypto/ec/libcrypto-lib-ecdh_kdf.o" => [ + "crypto/ec/ecdh_kdf.c" + ], + "crypto/ec/libcrypto-lib-ecdh_ossl.o" => [ + "crypto/ec/ecdh_ossl.c" + ], + "crypto/ec/libcrypto-lib-ecdsa_ossl.o" => [ + "crypto/ec/ecdsa_ossl.c" + ], + "crypto/ec/libcrypto-lib-ecdsa_sign.o" => [ + "crypto/ec/ecdsa_sign.c" + ], + "crypto/ec/libcrypto-lib-ecdsa_vrf.o" => [ + "crypto/ec/ecdsa_vrf.c" + ], + "crypto/ec/libcrypto-lib-eck_prn.o" => [ + "crypto/ec/eck_prn.c" + ], + "crypto/ec/libcrypto-lib-ecp_mont.o" => [ + "crypto/ec/ecp_mont.c" + ], + "crypto/ec/libcrypto-lib-ecp_nist.o" => [ + "crypto/ec/ecp_nist.c" + ], + "crypto/ec/libcrypto-lib-ecp_oct.o" => [ + "crypto/ec/ecp_oct.c" + ], + "crypto/ec/libcrypto-lib-ecp_smpl.o" => [ + "crypto/ec/ecp_smpl.c" + ], + "crypto/ec/libcrypto-lib-ecx_backend.o" => [ + "crypto/ec/ecx_backend.c" + ], + "crypto/ec/libcrypto-lib-ecx_key.o" => [ + "crypto/ec/ecx_key.c" + ], + "crypto/ec/libcrypto-lib-ecx_meth.o" => [ + "crypto/ec/ecx_meth.c" + ], + "crypto/ec/libfips-lib-curve25519.o" => [ + "crypto/ec/curve25519.c" + ], + "crypto/ec/libfips-lib-ec2_oct.o" => [ + "crypto/ec/ec2_oct.c" + ], + "crypto/ec/libfips-lib-ec2_smpl.o" => [ + "crypto/ec/ec2_smpl.c" + ], + "crypto/ec/libfips-lib-ec_asn1.o" => [ + "crypto/ec/ec_asn1.c" + ], + "crypto/ec/libfips-lib-ec_backend.o" => [ + "crypto/ec/ec_backend.c" + ], + "crypto/ec/libfips-lib-ec_check.o" => [ + "crypto/ec/ec_check.c" + ], + "crypto/ec/libfips-lib-ec_curve.o" => [ + "crypto/ec/ec_curve.c" + ], + "crypto/ec/libfips-lib-ec_cvt.o" => [ + "crypto/ec/ec_cvt.c" + ], + "crypto/ec/libfips-lib-ec_key.o" => [ + "crypto/ec/ec_key.c" + ], + "crypto/ec/libfips-lib-ec_kmeth.o" => [ + "crypto/ec/ec_kmeth.c" + ], + "crypto/ec/libfips-lib-ec_lib.o" => [ + "crypto/ec/ec_lib.c" + ], + "crypto/ec/libfips-lib-ec_mult.o" => [ + "crypto/ec/ec_mult.c" + ], + "crypto/ec/libfips-lib-ec_oct.o" => [ + "crypto/ec/ec_oct.c" + ], + "crypto/ec/libfips-lib-ecdh_kdf.o" => [ + "crypto/ec/ecdh_kdf.c" + ], + "crypto/ec/libfips-lib-ecdh_ossl.o" => [ + "crypto/ec/ecdh_ossl.c" + ], + "crypto/ec/libfips-lib-ecdsa_ossl.o" => [ + "crypto/ec/ecdsa_ossl.c" + ], + "crypto/ec/libfips-lib-ecdsa_sign.o" => [ + "crypto/ec/ecdsa_sign.c" + ], + "crypto/ec/libfips-lib-ecdsa_vrf.o" => [ + "crypto/ec/ecdsa_vrf.c" + ], + "crypto/ec/libfips-lib-ecp_mont.o" => [ + "crypto/ec/ecp_mont.c" + ], + "crypto/ec/libfips-lib-ecp_nist.o" => [ + "crypto/ec/ecp_nist.c" + ], + "crypto/ec/libfips-lib-ecp_oct.o" => [ + "crypto/ec/ecp_oct.c" + ], + "crypto/ec/libfips-lib-ecp_smpl.o" => [ + "crypto/ec/ecp_smpl.c" + ], + "crypto/ec/libfips-lib-ecx_backend.o" => [ + "crypto/ec/ecx_backend.c" + ], + "crypto/ec/libfips-lib-ecx_key.o" => [ + "crypto/ec/ecx_key.c" + ], + "crypto/encode_decode/libcrypto-lib-decoder_err.o" => [ + "crypto/encode_decode/decoder_err.c" + ], + "crypto/encode_decode/libcrypto-lib-decoder_lib.o" => [ + "crypto/encode_decode/decoder_lib.c" + ], + "crypto/encode_decode/libcrypto-lib-decoder_meth.o" => [ + "crypto/encode_decode/decoder_meth.c" + ], + "crypto/encode_decode/libcrypto-lib-decoder_pkey.o" => [ + "crypto/encode_decode/decoder_pkey.c" + ], + "crypto/encode_decode/libcrypto-lib-encoder_err.o" => [ + "crypto/encode_decode/encoder_err.c" + ], + "crypto/encode_decode/libcrypto-lib-encoder_lib.o" => [ + "crypto/encode_decode/encoder_lib.c" + ], + "crypto/encode_decode/libcrypto-lib-encoder_meth.o" => [ + "crypto/encode_decode/encoder_meth.c" + ], + "crypto/encode_decode/libcrypto-lib-encoder_pkey.o" => [ + "crypto/encode_decode/encoder_pkey.c" + ], + "crypto/engine/libcrypto-lib-eng_all.o" => [ + "crypto/engine/eng_all.c" + ], + "crypto/engine/libcrypto-lib-eng_cnf.o" => [ + "crypto/engine/eng_cnf.c" + ], + "crypto/engine/libcrypto-lib-eng_ctrl.o" => [ + "crypto/engine/eng_ctrl.c" + ], + "crypto/engine/libcrypto-lib-eng_dyn.o" => [ + "crypto/engine/eng_dyn.c" + ], + "crypto/engine/libcrypto-lib-eng_err.o" => [ + "crypto/engine/eng_err.c" + ], + "crypto/engine/libcrypto-lib-eng_fat.o" => [ + "crypto/engine/eng_fat.c" + ], + "crypto/engine/libcrypto-lib-eng_init.o" => [ + "crypto/engine/eng_init.c" + ], + "crypto/engine/libcrypto-lib-eng_lib.o" => [ + "crypto/engine/eng_lib.c" + ], + "crypto/engine/libcrypto-lib-eng_list.o" => [ + "crypto/engine/eng_list.c" + ], + "crypto/engine/libcrypto-lib-eng_openssl.o" => [ + "crypto/engine/eng_openssl.c" + ], + "crypto/engine/libcrypto-lib-eng_pkey.o" => [ + "crypto/engine/eng_pkey.c" + ], + "crypto/engine/libcrypto-lib-eng_rdrand.o" => [ + "crypto/engine/eng_rdrand.c" + ], + "crypto/engine/libcrypto-lib-eng_table.o" => [ + "crypto/engine/eng_table.c" + ], + "crypto/engine/libcrypto-lib-tb_asnmth.o" => [ + "crypto/engine/tb_asnmth.c" + ], + "crypto/engine/libcrypto-lib-tb_cipher.o" => [ + "crypto/engine/tb_cipher.c" + ], + "crypto/engine/libcrypto-lib-tb_dh.o" => [ + "crypto/engine/tb_dh.c" + ], + "crypto/engine/libcrypto-lib-tb_digest.o" => [ + "crypto/engine/tb_digest.c" + ], + "crypto/engine/libcrypto-lib-tb_dsa.o" => [ + "crypto/engine/tb_dsa.c" + ], + "crypto/engine/libcrypto-lib-tb_eckey.o" => [ + "crypto/engine/tb_eckey.c" + ], + "crypto/engine/libcrypto-lib-tb_pkmeth.o" => [ + "crypto/engine/tb_pkmeth.c" + ], + "crypto/engine/libcrypto-lib-tb_rand.o" => [ + "crypto/engine/tb_rand.c" + ], + "crypto/engine/libcrypto-lib-tb_rsa.o" => [ + "crypto/engine/tb_rsa.c" + ], + "crypto/err/libcrypto-lib-err.o" => [ + "crypto/err/err.c" + ], + "crypto/err/libcrypto-lib-err_all.o" => [ + "crypto/err/err_all.c" + ], + "crypto/err/libcrypto-lib-err_all_legacy.o" => [ + "crypto/err/err_all_legacy.c" + ], + "crypto/err/libcrypto-lib-err_blocks.o" => [ + "crypto/err/err_blocks.c" + ], + "crypto/err/libcrypto-lib-err_prn.o" => [ + "crypto/err/err_prn.c" + ], + "crypto/ess/libcrypto-lib-ess_asn1.o" => [ + "crypto/ess/ess_asn1.c" + ], + "crypto/ess/libcrypto-lib-ess_err.o" => [ + "crypto/ess/ess_err.c" + ], + "crypto/ess/libcrypto-lib-ess_lib.o" => [ + "crypto/ess/ess_lib.c" + ], + "crypto/evp/libcrypto-lib-asymcipher.o" => [ + "crypto/evp/asymcipher.c" + ], + "crypto/evp/libcrypto-lib-bio_b64.o" => [ + "crypto/evp/bio_b64.c" + ], + "crypto/evp/libcrypto-lib-bio_enc.o" => [ + "crypto/evp/bio_enc.c" + ], + "crypto/evp/libcrypto-lib-bio_md.o" => [ + "crypto/evp/bio_md.c" + ], + "crypto/evp/libcrypto-lib-bio_ok.o" => [ + "crypto/evp/bio_ok.c" + ], + "crypto/evp/libcrypto-lib-c_allc.o" => [ + "crypto/evp/c_allc.c" + ], + "crypto/evp/libcrypto-lib-c_alld.o" => [ + "crypto/evp/c_alld.c" + ], + "crypto/evp/libcrypto-lib-cmeth_lib.o" => [ + "crypto/evp/cmeth_lib.c" + ], + "crypto/evp/libcrypto-lib-ctrl_params_translate.o" => [ + "crypto/evp/ctrl_params_translate.c" + ], + "crypto/evp/libcrypto-lib-dh_ctrl.o" => [ + "crypto/evp/dh_ctrl.c" + ], + "crypto/evp/libcrypto-lib-dh_support.o" => [ + "crypto/evp/dh_support.c" + ], + "crypto/evp/libcrypto-lib-digest.o" => [ + "crypto/evp/digest.c" + ], + "crypto/evp/libcrypto-lib-dsa_ctrl.o" => [ + "crypto/evp/dsa_ctrl.c" + ], + "crypto/evp/libcrypto-lib-e_aes.o" => [ + "crypto/evp/e_aes.c" + ], + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o" => [ + "crypto/evp/e_aes_cbc_hmac_sha1.c" + ], + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o" => [ + "crypto/evp/e_aes_cbc_hmac_sha256.c" + ], + "crypto/evp/libcrypto-lib-e_aria.o" => [ + "crypto/evp/e_aria.c" + ], + "crypto/evp/libcrypto-lib-e_bf.o" => [ + "crypto/evp/e_bf.c" + ], + "crypto/evp/libcrypto-lib-e_camellia.o" => [ + "crypto/evp/e_camellia.c" + ], + "crypto/evp/libcrypto-lib-e_cast.o" => [ + "crypto/evp/e_cast.c" + ], + "crypto/evp/libcrypto-lib-e_chacha20_poly1305.o" => [ + "crypto/evp/e_chacha20_poly1305.c" + ], + "crypto/evp/libcrypto-lib-e_des.o" => [ + "crypto/evp/e_des.c" + ], + "crypto/evp/libcrypto-lib-e_des3.o" => [ + "crypto/evp/e_des3.c" + ], + "crypto/evp/libcrypto-lib-e_idea.o" => [ + "crypto/evp/e_idea.c" + ], + "crypto/evp/libcrypto-lib-e_null.o" => [ + "crypto/evp/e_null.c" + ], + "crypto/evp/libcrypto-lib-e_old.o" => [ + "crypto/evp/e_old.c" + ], + "crypto/evp/libcrypto-lib-e_rc2.o" => [ + "crypto/evp/e_rc2.c" + ], + "crypto/evp/libcrypto-lib-e_rc4.o" => [ + "crypto/evp/e_rc4.c" + ], + "crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o" => [ + "crypto/evp/e_rc4_hmac_md5.c" + ], + "crypto/evp/libcrypto-lib-e_rc5.o" => [ + "crypto/evp/e_rc5.c" + ], + "crypto/evp/libcrypto-lib-e_seed.o" => [ + "crypto/evp/e_seed.c" + ], + "crypto/evp/libcrypto-lib-e_sm4.o" => [ + "crypto/evp/e_sm4.c" + ], + "crypto/evp/libcrypto-lib-e_xcbc_d.o" => [ + "crypto/evp/e_xcbc_d.c" + ], + "crypto/evp/libcrypto-lib-ec_ctrl.o" => [ + "crypto/evp/ec_ctrl.c" + ], + "crypto/evp/libcrypto-lib-ec_support.o" => [ + "crypto/evp/ec_support.c" + ], + "crypto/evp/libcrypto-lib-encode.o" => [ + "crypto/evp/encode.c" + ], + "crypto/evp/libcrypto-lib-evp_cnf.o" => [ + "crypto/evp/evp_cnf.c" + ], + "crypto/evp/libcrypto-lib-evp_enc.o" => [ + "crypto/evp/evp_enc.c" + ], + "crypto/evp/libcrypto-lib-evp_err.o" => [ + "crypto/evp/evp_err.c" + ], + "crypto/evp/libcrypto-lib-evp_fetch.o" => [ + "crypto/evp/evp_fetch.c" + ], + "crypto/evp/libcrypto-lib-evp_key.o" => [ + "crypto/evp/evp_key.c" + ], + "crypto/evp/libcrypto-lib-evp_lib.o" => [ + "crypto/evp/evp_lib.c" + ], + "crypto/evp/libcrypto-lib-evp_pbe.o" => [ + "crypto/evp/evp_pbe.c" + ], + "crypto/evp/libcrypto-lib-evp_pkey.o" => [ + "crypto/evp/evp_pkey.c" + ], + "crypto/evp/libcrypto-lib-evp_rand.o" => [ + "crypto/evp/evp_rand.c" + ], + "crypto/evp/libcrypto-lib-evp_utils.o" => [ + "crypto/evp/evp_utils.c" + ], + "crypto/evp/libcrypto-lib-exchange.o" => [ + "crypto/evp/exchange.c" + ], + "crypto/evp/libcrypto-lib-kdf_lib.o" => [ + "crypto/evp/kdf_lib.c" + ], + "crypto/evp/libcrypto-lib-kdf_meth.o" => [ + "crypto/evp/kdf_meth.c" + ], + "crypto/evp/libcrypto-lib-kem.o" => [ + "crypto/evp/kem.c" + ], + "crypto/evp/libcrypto-lib-keymgmt_lib.o" => [ + "crypto/evp/keymgmt_lib.c" + ], + "crypto/evp/libcrypto-lib-keymgmt_meth.o" => [ + "crypto/evp/keymgmt_meth.c" + ], + "crypto/evp/libcrypto-lib-legacy_blake2.o" => [ + "crypto/evp/legacy_blake2.c" + ], + "crypto/evp/libcrypto-lib-legacy_md4.o" => [ + "crypto/evp/legacy_md4.c" + ], + "crypto/evp/libcrypto-lib-legacy_md5.o" => [ + "crypto/evp/legacy_md5.c" + ], + "crypto/evp/libcrypto-lib-legacy_md5_sha1.o" => [ + "crypto/evp/legacy_md5_sha1.c" + ], + "crypto/evp/libcrypto-lib-legacy_mdc2.o" => [ + "crypto/evp/legacy_mdc2.c" + ], + "crypto/evp/libcrypto-lib-legacy_ripemd.o" => [ + "crypto/evp/legacy_ripemd.c" + ], + "crypto/evp/libcrypto-lib-legacy_sha.o" => [ + "crypto/evp/legacy_sha.c" + ], + "crypto/evp/libcrypto-lib-legacy_wp.o" => [ + "crypto/evp/legacy_wp.c" + ], + "crypto/evp/libcrypto-lib-m_null.o" => [ + "crypto/evp/m_null.c" + ], + "crypto/evp/libcrypto-lib-m_sigver.o" => [ + "crypto/evp/m_sigver.c" + ], + "crypto/evp/libcrypto-lib-mac_lib.o" => [ + "crypto/evp/mac_lib.c" + ], + "crypto/evp/libcrypto-lib-mac_meth.o" => [ + "crypto/evp/mac_meth.c" + ], + "crypto/evp/libcrypto-lib-names.o" => [ + "crypto/evp/names.c" + ], + "crypto/evp/libcrypto-lib-p5_crpt.o" => [ + "crypto/evp/p5_crpt.c" + ], + "crypto/evp/libcrypto-lib-p5_crpt2.o" => [ + "crypto/evp/p5_crpt2.c" + ], + "crypto/evp/libcrypto-lib-p_dec.o" => [ + "crypto/evp/p_dec.c" + ], + "crypto/evp/libcrypto-lib-p_enc.o" => [ + "crypto/evp/p_enc.c" + ], + "crypto/evp/libcrypto-lib-p_legacy.o" => [ + "crypto/evp/p_legacy.c" + ], + "crypto/evp/libcrypto-lib-p_lib.o" => [ + "crypto/evp/p_lib.c" + ], + "crypto/evp/libcrypto-lib-p_open.o" => [ + "crypto/evp/p_open.c" + ], + "crypto/evp/libcrypto-lib-p_seal.o" => [ + "crypto/evp/p_seal.c" + ], + "crypto/evp/libcrypto-lib-p_sign.o" => [ + "crypto/evp/p_sign.c" + ], + "crypto/evp/libcrypto-lib-p_verify.o" => [ + "crypto/evp/p_verify.c" + ], + "crypto/evp/libcrypto-lib-pbe_scrypt.o" => [ + "crypto/evp/pbe_scrypt.c" + ], + "crypto/evp/libcrypto-lib-pmeth_check.o" => [ + "crypto/evp/pmeth_check.c" + ], + "crypto/evp/libcrypto-lib-pmeth_gn.o" => [ + "crypto/evp/pmeth_gn.c" + ], + "crypto/evp/libcrypto-lib-pmeth_lib.o" => [ + "crypto/evp/pmeth_lib.c" + ], + "crypto/evp/libcrypto-lib-signature.o" => [ + "crypto/evp/signature.c" + ], + "crypto/evp/libfips-lib-asymcipher.o" => [ + "crypto/evp/asymcipher.c" + ], + "crypto/evp/libfips-lib-dh_support.o" => [ + "crypto/evp/dh_support.c" + ], + "crypto/evp/libfips-lib-digest.o" => [ + "crypto/evp/digest.c" + ], + "crypto/evp/libfips-lib-ec_support.o" => [ + "crypto/evp/ec_support.c" + ], + "crypto/evp/libfips-lib-evp_enc.o" => [ + "crypto/evp/evp_enc.c" + ], + "crypto/evp/libfips-lib-evp_fetch.o" => [ + "crypto/evp/evp_fetch.c" + ], + "crypto/evp/libfips-lib-evp_lib.o" => [ + "crypto/evp/evp_lib.c" + ], + "crypto/evp/libfips-lib-evp_rand.o" => [ + "crypto/evp/evp_rand.c" + ], + "crypto/evp/libfips-lib-evp_utils.o" => [ + "crypto/evp/evp_utils.c" + ], + "crypto/evp/libfips-lib-exchange.o" => [ + "crypto/evp/exchange.c" + ], + "crypto/evp/libfips-lib-kdf_lib.o" => [ + "crypto/evp/kdf_lib.c" + ], + "crypto/evp/libfips-lib-kdf_meth.o" => [ + "crypto/evp/kdf_meth.c" + ], + "crypto/evp/libfips-lib-kem.o" => [ + "crypto/evp/kem.c" + ], + "crypto/evp/libfips-lib-keymgmt_lib.o" => [ + "crypto/evp/keymgmt_lib.c" + ], + "crypto/evp/libfips-lib-keymgmt_meth.o" => [ + "crypto/evp/keymgmt_meth.c" + ], + "crypto/evp/libfips-lib-m_sigver.o" => [ + "crypto/evp/m_sigver.c" + ], + "crypto/evp/libfips-lib-mac_lib.o" => [ + "crypto/evp/mac_lib.c" + ], + "crypto/evp/libfips-lib-mac_meth.o" => [ + "crypto/evp/mac_meth.c" + ], + "crypto/evp/libfips-lib-p_lib.o" => [ + "crypto/evp/p_lib.c" + ], + "crypto/evp/libfips-lib-pmeth_check.o" => [ + "crypto/evp/pmeth_check.c" + ], + "crypto/evp/libfips-lib-pmeth_gn.o" => [ + "crypto/evp/pmeth_gn.c" + ], + "crypto/evp/libfips-lib-pmeth_lib.o" => [ + "crypto/evp/pmeth_lib.c" + ], + "crypto/evp/libfips-lib-signature.o" => [ + "crypto/evp/signature.c" + ], + "crypto/ffc/libcrypto-lib-ffc_backend.o" => [ + "crypto/ffc/ffc_backend.c" + ], + "crypto/ffc/libcrypto-lib-ffc_dh.o" => [ + "crypto/ffc/ffc_dh.c" + ], + "crypto/ffc/libcrypto-lib-ffc_key_generate.o" => [ + "crypto/ffc/ffc_key_generate.c" + ], + "crypto/ffc/libcrypto-lib-ffc_key_validate.o" => [ + "crypto/ffc/ffc_key_validate.c" + ], + "crypto/ffc/libcrypto-lib-ffc_params.o" => [ + "crypto/ffc/ffc_params.c" + ], + "crypto/ffc/libcrypto-lib-ffc_params_generate.o" => [ + "crypto/ffc/ffc_params_generate.c" + ], + "crypto/ffc/libcrypto-lib-ffc_params_validate.o" => [ + "crypto/ffc/ffc_params_validate.c" + ], + "crypto/ffc/libfips-lib-ffc_backend.o" => [ + "crypto/ffc/ffc_backend.c" + ], + "crypto/ffc/libfips-lib-ffc_dh.o" => [ + "crypto/ffc/ffc_dh.c" + ], + "crypto/ffc/libfips-lib-ffc_key_generate.o" => [ + "crypto/ffc/ffc_key_generate.c" + ], + "crypto/ffc/libfips-lib-ffc_key_validate.o" => [ + "crypto/ffc/ffc_key_validate.c" + ], + "crypto/ffc/libfips-lib-ffc_params.o" => [ + "crypto/ffc/ffc_params.c" + ], + "crypto/ffc/libfips-lib-ffc_params_generate.o" => [ + "crypto/ffc/ffc_params_generate.c" + ], + "crypto/ffc/libfips-lib-ffc_params_validate.o" => [ + "crypto/ffc/ffc_params_validate.c" + ], + "crypto/hmac/libcrypto-lib-hmac.o" => [ + "crypto/hmac/hmac.c" + ], + "crypto/hmac/libfips-lib-hmac.o" => [ + "crypto/hmac/hmac.c" + ], + "crypto/http/libcrypto-lib-http_client.o" => [ + "crypto/http/http_client.c" + ], + "crypto/http/libcrypto-lib-http_err.o" => [ + "crypto/http/http_err.c" + ], + "crypto/http/libcrypto-lib-http_lib.o" => [ + "crypto/http/http_lib.c" + ], + "crypto/idea/libcrypto-lib-i_cbc.o" => [ + "crypto/idea/i_cbc.c" + ], + "crypto/idea/libcrypto-lib-i_cfb64.o" => [ + "crypto/idea/i_cfb64.c" + ], + "crypto/idea/libcrypto-lib-i_ecb.o" => [ + "crypto/idea/i_ecb.c" + ], + "crypto/idea/libcrypto-lib-i_ofb64.o" => [ + "crypto/idea/i_ofb64.c" + ], + "crypto/idea/libcrypto-lib-i_skey.o" => [ + "crypto/idea/i_skey.c" + ], + "crypto/kdf/libcrypto-lib-kdf_err.o" => [ + "crypto/kdf/kdf_err.c" + ], + "crypto/lhash/libcrypto-lib-lh_stats.o" => [ + "crypto/lhash/lh_stats.c" + ], + "crypto/lhash/libcrypto-lib-lhash.o" => [ + "crypto/lhash/lhash.c" + ], + "crypto/lhash/libfips-lib-lhash.o" => [ + "crypto/lhash/lhash.c" + ], + "crypto/libcrypto-lib-asn1_dsa.o" => [ + "crypto/asn1_dsa.c" + ], + "crypto/libcrypto-lib-bsearch.o" => [ + "crypto/bsearch.c" + ], + "crypto/libcrypto-lib-context.o" => [ + "crypto/context.c" + ], + "crypto/libcrypto-lib-core_algorithm.o" => [ + "crypto/core_algorithm.c" + ], + "crypto/libcrypto-lib-core_fetch.o" => [ + "crypto/core_fetch.c" + ], + "crypto/libcrypto-lib-core_namemap.o" => [ + "crypto/core_namemap.c" + ], + "crypto/libcrypto-lib-cpt_err.o" => [ + "crypto/cpt_err.c" + ], + "crypto/libcrypto-lib-cpuid.o" => [ + "crypto/cpuid.c" + ], + "crypto/libcrypto-lib-cryptlib.o" => [ + "crypto/cryptlib.c" + ], + "crypto/libcrypto-lib-ctype.o" => [ + "crypto/ctype.c" + ], + "crypto/libcrypto-lib-cversion.o" => [ + "crypto/cversion.c" + ], + "crypto/libcrypto-lib-der_writer.o" => [ + "crypto/der_writer.c" + ], + "crypto/libcrypto-lib-ebcdic.o" => [ + "crypto/ebcdic.c" + ], + "crypto/libcrypto-lib-ex_data.o" => [ + "crypto/ex_data.c" + ], + "crypto/libcrypto-lib-getenv.o" => [ + "crypto/getenv.c" + ], + "crypto/libcrypto-lib-info.o" => [ + "crypto/info.c" + ], + "crypto/libcrypto-lib-init.o" => [ + "crypto/init.c" + ], + "crypto/libcrypto-lib-initthread.o" => [ + "crypto/initthread.c" + ], + "crypto/libcrypto-lib-mem.o" => [ + "crypto/mem.c" + ], + "crypto/libcrypto-lib-mem_clr.o" => [ + "crypto/mem_clr.c" + ], + "crypto/libcrypto-lib-mem_sec.o" => [ + "crypto/mem_sec.c" + ], + "crypto/libcrypto-lib-o_dir.o" => [ + "crypto/o_dir.c" + ], + "crypto/libcrypto-lib-o_fopen.o" => [ + "crypto/o_fopen.c" + ], + "crypto/libcrypto-lib-o_init.o" => [ + "crypto/o_init.c" + ], + "crypto/libcrypto-lib-o_str.o" => [ + "crypto/o_str.c" + ], + "crypto/libcrypto-lib-o_time.o" => [ + "crypto/o_time.c" + ], + "crypto/libcrypto-lib-packet.o" => [ + "crypto/packet.c" + ], + "crypto/libcrypto-lib-param_build.o" => [ + "crypto/param_build.c" + ], + "crypto/libcrypto-lib-param_build_set.o" => [ + "crypto/param_build_set.c" + ], + "crypto/libcrypto-lib-params.o" => [ + "crypto/params.c" + ], + "crypto/libcrypto-lib-params_dup.o" => [ + "crypto/params_dup.c" + ], + "crypto/libcrypto-lib-params_from_text.o" => [ + "crypto/params_from_text.c" + ], + "crypto/libcrypto-lib-passphrase.o" => [ + "crypto/passphrase.c" + ], + "crypto/libcrypto-lib-provider.o" => [ + "crypto/provider.c" + ], + "crypto/libcrypto-lib-provider_child.o" => [ + "crypto/provider_child.c" + ], + "crypto/libcrypto-lib-provider_conf.o" => [ + "crypto/provider_conf.c" + ], + "crypto/libcrypto-lib-provider_core.o" => [ + "crypto/provider_core.c" + ], + "crypto/libcrypto-lib-provider_predefined.o" => [ + "crypto/provider_predefined.c" + ], + "crypto/libcrypto-lib-punycode.o" => [ + "crypto/punycode.c" + ], + "crypto/libcrypto-lib-self_test_core.o" => [ + "crypto/self_test_core.c" + ], + "crypto/libcrypto-lib-sparse_array.o" => [ + "crypto/sparse_array.c" + ], + "crypto/libcrypto-lib-threads_lib.o" => [ + "crypto/threads_lib.c" + ], + "crypto/libcrypto-lib-threads_none.o" => [ + "crypto/threads_none.c" + ], + "crypto/libcrypto-lib-threads_pthread.o" => [ + "crypto/threads_pthread.c" + ], + "crypto/libcrypto-lib-threads_win.o" => [ + "crypto/threads_win.c" + ], + "crypto/libcrypto-lib-trace.o" => [ + "crypto/trace.c" + ], + "crypto/libcrypto-lib-uid.o" => [ + "crypto/uid.c" + ], + "crypto/libfips-lib-asn1_dsa.o" => [ + "crypto/asn1_dsa.c" + ], + "crypto/libfips-lib-bsearch.o" => [ + "crypto/bsearch.c" + ], + "crypto/libfips-lib-context.o" => [ + "crypto/context.c" + ], + "crypto/libfips-lib-core_algorithm.o" => [ + "crypto/core_algorithm.c" + ], + "crypto/libfips-lib-core_fetch.o" => [ + "crypto/core_fetch.c" + ], + "crypto/libfips-lib-core_namemap.o" => [ + "crypto/core_namemap.c" + ], + "crypto/libfips-lib-cpuid.o" => [ + "crypto/cpuid.c" + ], + "crypto/libfips-lib-cryptlib.o" => [ + "crypto/cryptlib.c" + ], + "crypto/libfips-lib-ctype.o" => [ + "crypto/ctype.c" + ], + "crypto/libfips-lib-der_writer.o" => [ + "crypto/der_writer.c" + ], + "crypto/libfips-lib-ex_data.o" => [ + "crypto/ex_data.c" + ], + "crypto/libfips-lib-initthread.o" => [ + "crypto/initthread.c" + ], + "crypto/libfips-lib-mem_clr.o" => [ + "crypto/mem_clr.c" + ], + "crypto/libfips-lib-o_str.o" => [ + "crypto/o_str.c" + ], + "crypto/libfips-lib-packet.o" => [ + "crypto/packet.c" + ], + "crypto/libfips-lib-param_build.o" => [ + "crypto/param_build.c" + ], + "crypto/libfips-lib-param_build_set.o" => [ + "crypto/param_build_set.c" + ], + "crypto/libfips-lib-params.o" => [ + "crypto/params.c" + ], + "crypto/libfips-lib-params_dup.o" => [ + "crypto/params_dup.c" + ], + "crypto/libfips-lib-params_from_text.o" => [ + "crypto/params_from_text.c" + ], + "crypto/libfips-lib-provider_core.o" => [ + "crypto/provider_core.c" + ], + "crypto/libfips-lib-provider_predefined.o" => [ + "crypto/provider_predefined.c" + ], + "crypto/libfips-lib-self_test_core.o" => [ + "crypto/self_test_core.c" + ], + "crypto/libfips-lib-sparse_array.o" => [ + "crypto/sparse_array.c" + ], + "crypto/libfips-lib-threads_lib.o" => [ + "crypto/threads_lib.c" + ], + "crypto/libfips-lib-threads_none.o" => [ + "crypto/threads_none.c" + ], + "crypto/libfips-lib-threads_pthread.o" => [ + "crypto/threads_pthread.c" + ], + "crypto/libfips-lib-threads_win.o" => [ + "crypto/threads_win.c" + ], + "crypto/md4/libcrypto-lib-md4_dgst.o" => [ + "crypto/md4/md4_dgst.c" + ], + "crypto/md4/libcrypto-lib-md4_one.o" => [ + "crypto/md4/md4_one.c" + ], + "crypto/md5/libcrypto-lib-md5_dgst.o" => [ + "crypto/md5/md5_dgst.c" + ], + "crypto/md5/libcrypto-lib-md5_one.o" => [ + "crypto/md5/md5_one.c" + ], + "crypto/md5/libcrypto-lib-md5_sha1.o" => [ + "crypto/md5/md5_sha1.c" + ], + "crypto/mdc2/libcrypto-lib-mdc2_one.o" => [ + "crypto/mdc2/mdc2_one.c" + ], + "crypto/mdc2/libcrypto-lib-mdc2dgst.o" => [ + "crypto/mdc2/mdc2dgst.c" + ], + "crypto/modes/libcrypto-lib-cbc128.o" => [ + "crypto/modes/cbc128.c" + ], + "crypto/modes/libcrypto-lib-ccm128.o" => [ + "crypto/modes/ccm128.c" + ], + "crypto/modes/libcrypto-lib-cfb128.o" => [ + "crypto/modes/cfb128.c" + ], + "crypto/modes/libcrypto-lib-ctr128.o" => [ + "crypto/modes/ctr128.c" + ], + "crypto/modes/libcrypto-lib-cts128.o" => [ + "crypto/modes/cts128.c" + ], + "crypto/modes/libcrypto-lib-gcm128.o" => [ + "crypto/modes/gcm128.c" + ], + "crypto/modes/libcrypto-lib-ocb128.o" => [ + "crypto/modes/ocb128.c" + ], + "crypto/modes/libcrypto-lib-ofb128.o" => [ + "crypto/modes/ofb128.c" + ], + "crypto/modes/libcrypto-lib-siv128.o" => [ + "crypto/modes/siv128.c" + ], + "crypto/modes/libcrypto-lib-wrap128.o" => [ + "crypto/modes/wrap128.c" + ], + "crypto/modes/libcrypto-lib-xts128.o" => [ + "crypto/modes/xts128.c" + ], + "crypto/modes/libfips-lib-cbc128.o" => [ + "crypto/modes/cbc128.c" + ], + "crypto/modes/libfips-lib-ccm128.o" => [ + "crypto/modes/ccm128.c" + ], + "crypto/modes/libfips-lib-cfb128.o" => [ + "crypto/modes/cfb128.c" + ], + "crypto/modes/libfips-lib-ctr128.o" => [ + "crypto/modes/ctr128.c" + ], + "crypto/modes/libfips-lib-gcm128.o" => [ + "crypto/modes/gcm128.c" + ], + "crypto/modes/libfips-lib-ofb128.o" => [ + "crypto/modes/ofb128.c" + ], + "crypto/modes/libfips-lib-wrap128.o" => [ + "crypto/modes/wrap128.c" + ], + "crypto/modes/libfips-lib-xts128.o" => [ + "crypto/modes/xts128.c" + ], + "crypto/objects/libcrypto-lib-o_names.o" => [ + "crypto/objects/o_names.c" + ], + "crypto/objects/libcrypto-lib-obj_dat.o" => [ + "crypto/objects/obj_dat.c" + ], + "crypto/objects/libcrypto-lib-obj_err.o" => [ + "crypto/objects/obj_err.c" + ], + "crypto/objects/libcrypto-lib-obj_lib.o" => [ + "crypto/objects/obj_lib.c" + ], + "crypto/objects/libcrypto-lib-obj_xref.o" => [ + "crypto/objects/obj_xref.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_asn.o" => [ + "crypto/ocsp/ocsp_asn.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_cl.o" => [ + "crypto/ocsp/ocsp_cl.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_err.o" => [ + "crypto/ocsp/ocsp_err.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_ext.o" => [ + "crypto/ocsp/ocsp_ext.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_http.o" => [ + "crypto/ocsp/ocsp_http.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_lib.o" => [ + "crypto/ocsp/ocsp_lib.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_prn.o" => [ + "crypto/ocsp/ocsp_prn.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_srv.o" => [ + "crypto/ocsp/ocsp_srv.c" + ], + "crypto/ocsp/libcrypto-lib-ocsp_vfy.o" => [ + "crypto/ocsp/ocsp_vfy.c" + ], + "crypto/ocsp/libcrypto-lib-v3_ocsp.o" => [ + "crypto/ocsp/v3_ocsp.c" + ], + "crypto/pem/libcrypto-lib-pem_all.o" => [ + "crypto/pem/pem_all.c" + ], + "crypto/pem/libcrypto-lib-pem_err.o" => [ + "crypto/pem/pem_err.c" + ], + "crypto/pem/libcrypto-lib-pem_info.o" => [ + "crypto/pem/pem_info.c" + ], + "crypto/pem/libcrypto-lib-pem_lib.o" => [ + "crypto/pem/pem_lib.c" + ], + "crypto/pem/libcrypto-lib-pem_oth.o" => [ + "crypto/pem/pem_oth.c" + ], + "crypto/pem/libcrypto-lib-pem_pk8.o" => [ + "crypto/pem/pem_pk8.c" + ], + "crypto/pem/libcrypto-lib-pem_pkey.o" => [ + "crypto/pem/pem_pkey.c" + ], + "crypto/pem/libcrypto-lib-pem_sign.o" => [ + "crypto/pem/pem_sign.c" + ], + "crypto/pem/libcrypto-lib-pem_x509.o" => [ + "crypto/pem/pem_x509.c" + ], + "crypto/pem/libcrypto-lib-pem_xaux.o" => [ + "crypto/pem/pem_xaux.c" + ], + "crypto/pem/libcrypto-lib-pvkfmt.o" => [ + "crypto/pem/pvkfmt.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_add.o" => [ + "crypto/pkcs12/p12_add.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_asn.o" => [ + "crypto/pkcs12/p12_asn.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_attr.o" => [ + "crypto/pkcs12/p12_attr.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_crpt.o" => [ + "crypto/pkcs12/p12_crpt.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_crt.o" => [ + "crypto/pkcs12/p12_crt.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_decr.o" => [ + "crypto/pkcs12/p12_decr.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_init.o" => [ + "crypto/pkcs12/p12_init.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_key.o" => [ + "crypto/pkcs12/p12_key.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_kiss.o" => [ + "crypto/pkcs12/p12_kiss.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_mutl.o" => [ + "crypto/pkcs12/p12_mutl.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_npas.o" => [ + "crypto/pkcs12/p12_npas.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_p8d.o" => [ + "crypto/pkcs12/p12_p8d.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_p8e.o" => [ + "crypto/pkcs12/p12_p8e.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_sbag.o" => [ + "crypto/pkcs12/p12_sbag.c" + ], + "crypto/pkcs12/libcrypto-lib-p12_utl.o" => [ + "crypto/pkcs12/p12_utl.c" + ], + "crypto/pkcs12/libcrypto-lib-pk12err.o" => [ + "crypto/pkcs12/pk12err.c" + ], + "crypto/pkcs7/libcrypto-lib-bio_pk7.o" => [ + "crypto/pkcs7/bio_pk7.c" + ], + "crypto/pkcs7/libcrypto-lib-pk7_asn1.o" => [ + "crypto/pkcs7/pk7_asn1.c" + ], + "crypto/pkcs7/libcrypto-lib-pk7_attr.o" => [ + "crypto/pkcs7/pk7_attr.c" + ], + "crypto/pkcs7/libcrypto-lib-pk7_doit.o" => [ + "crypto/pkcs7/pk7_doit.c" + ], + "crypto/pkcs7/libcrypto-lib-pk7_lib.o" => [ + "crypto/pkcs7/pk7_lib.c" + ], + "crypto/pkcs7/libcrypto-lib-pk7_mime.o" => [ + "crypto/pkcs7/pk7_mime.c" + ], + "crypto/pkcs7/libcrypto-lib-pk7_smime.o" => [ + "crypto/pkcs7/pk7_smime.c" + ], + "crypto/pkcs7/libcrypto-lib-pkcs7err.o" => [ + "crypto/pkcs7/pkcs7err.c" + ], + "crypto/poly1305/libcrypto-lib-poly1305.o" => [ + "crypto/poly1305/poly1305.c" + ], + "crypto/property/libcrypto-lib-defn_cache.o" => [ + "crypto/property/defn_cache.c" + ], + "crypto/property/libcrypto-lib-property.o" => [ + "crypto/property/property.c" + ], + "crypto/property/libcrypto-lib-property_err.o" => [ + "crypto/property/property_err.c" + ], + "crypto/property/libcrypto-lib-property_parse.o" => [ + "crypto/property/property_parse.c" + ], + "crypto/property/libcrypto-lib-property_query.o" => [ + "crypto/property/property_query.c" + ], + "crypto/property/libcrypto-lib-property_string.o" => [ + "crypto/property/property_string.c" + ], + "crypto/property/libfips-lib-defn_cache.o" => [ + "crypto/property/defn_cache.c" + ], + "crypto/property/libfips-lib-property.o" => [ + "crypto/property/property.c" + ], + "crypto/property/libfips-lib-property_parse.o" => [ + "crypto/property/property_parse.c" + ], + "crypto/property/libfips-lib-property_query.o" => [ + "crypto/property/property_query.c" + ], + "crypto/property/libfips-lib-property_string.o" => [ + "crypto/property/property_string.c" + ], + "crypto/rand/libcrypto-lib-prov_seed.o" => [ + "crypto/rand/prov_seed.c" + ], + "crypto/rand/libcrypto-lib-rand_deprecated.o" => [ + "crypto/rand/rand_deprecated.c" + ], + "crypto/rand/libcrypto-lib-rand_err.o" => [ + "crypto/rand/rand_err.c" + ], + "crypto/rand/libcrypto-lib-rand_lib.o" => [ + "crypto/rand/rand_lib.c" + ], + "crypto/rand/libcrypto-lib-rand_meth.o" => [ + "crypto/rand/rand_meth.c" + ], + "crypto/rand/libcrypto-lib-rand_pool.o" => [ + "crypto/rand/rand_pool.c" + ], + "crypto/rand/libcrypto-lib-randfile.o" => [ + "crypto/rand/randfile.c" + ], + "crypto/rand/libfips-lib-rand_lib.o" => [ + "crypto/rand/rand_lib.c" + ], + "crypto/rc2/libcrypto-lib-rc2_cbc.o" => [ + "crypto/rc2/rc2_cbc.c" + ], + "crypto/rc2/libcrypto-lib-rc2_ecb.o" => [ + "crypto/rc2/rc2_ecb.c" + ], + "crypto/rc2/libcrypto-lib-rc2_skey.o" => [ + "crypto/rc2/rc2_skey.c" + ], + "crypto/rc2/libcrypto-lib-rc2cfb64.o" => [ + "crypto/rc2/rc2cfb64.c" + ], + "crypto/rc2/libcrypto-lib-rc2ofb64.o" => [ + "crypto/rc2/rc2ofb64.c" + ], + "crypto/rc4/libcrypto-lib-rc4_enc.o" => [ + "crypto/rc4/rc4_enc.c" + ], + "crypto/rc4/libcrypto-lib-rc4_skey.o" => [ + "crypto/rc4/rc4_skey.c" + ], + "crypto/ripemd/libcrypto-lib-rmd_dgst.o" => [ + "crypto/ripemd/rmd_dgst.c" + ], + "crypto/ripemd/libcrypto-lib-rmd_one.o" => [ + "crypto/ripemd/rmd_one.c" + ], + "crypto/rsa/libcrypto-lib-rsa_ameth.o" => [ + "crypto/rsa/rsa_ameth.c" + ], + "crypto/rsa/libcrypto-lib-rsa_asn1.o" => [ + "crypto/rsa/rsa_asn1.c" + ], + "crypto/rsa/libcrypto-lib-rsa_backend.o" => [ + "crypto/rsa/rsa_backend.c" + ], + "crypto/rsa/libcrypto-lib-rsa_chk.o" => [ + "crypto/rsa/rsa_chk.c" + ], + "crypto/rsa/libcrypto-lib-rsa_crpt.o" => [ + "crypto/rsa/rsa_crpt.c" + ], + "crypto/rsa/libcrypto-lib-rsa_depr.o" => [ + "crypto/rsa/rsa_depr.c" + ], + "crypto/rsa/libcrypto-lib-rsa_err.o" => [ + "crypto/rsa/rsa_err.c" + ], + "crypto/rsa/libcrypto-lib-rsa_gen.o" => [ + "crypto/rsa/rsa_gen.c" + ], + "crypto/rsa/libcrypto-lib-rsa_lib.o" => [ + "crypto/rsa/rsa_lib.c" + ], + "crypto/rsa/libcrypto-lib-rsa_meth.o" => [ + "crypto/rsa/rsa_meth.c" + ], + "crypto/rsa/libcrypto-lib-rsa_mp.o" => [ + "crypto/rsa/rsa_mp.c" + ], + "crypto/rsa/libcrypto-lib-rsa_mp_names.o" => [ + "crypto/rsa/rsa_mp_names.c" + ], + "crypto/rsa/libcrypto-lib-rsa_none.o" => [ + "crypto/rsa/rsa_none.c" + ], + "crypto/rsa/libcrypto-lib-rsa_oaep.o" => [ + "crypto/rsa/rsa_oaep.c" + ], + "crypto/rsa/libcrypto-lib-rsa_ossl.o" => [ + "crypto/rsa/rsa_ossl.c" + ], + "crypto/rsa/libcrypto-lib-rsa_pk1.o" => [ + "crypto/rsa/rsa_pk1.c" + ], + "crypto/rsa/libcrypto-lib-rsa_pmeth.o" => [ + "crypto/rsa/rsa_pmeth.c" + ], + "crypto/rsa/libcrypto-lib-rsa_prn.o" => [ + "crypto/rsa/rsa_prn.c" + ], + "crypto/rsa/libcrypto-lib-rsa_pss.o" => [ + "crypto/rsa/rsa_pss.c" + ], + "crypto/rsa/libcrypto-lib-rsa_saos.o" => [ + "crypto/rsa/rsa_saos.c" + ], + "crypto/rsa/libcrypto-lib-rsa_schemes.o" => [ + "crypto/rsa/rsa_schemes.c" + ], + "crypto/rsa/libcrypto-lib-rsa_sign.o" => [ + "crypto/rsa/rsa_sign.c" + ], + "crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o" => [ + "crypto/rsa/rsa_sp800_56b_check.c" + ], + "crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o" => [ + "crypto/rsa/rsa_sp800_56b_gen.c" + ], + "crypto/rsa/libcrypto-lib-rsa_x931.o" => [ + "crypto/rsa/rsa_x931.c" + ], + "crypto/rsa/libcrypto-lib-rsa_x931g.o" => [ + "crypto/rsa/rsa_x931g.c" + ], + "crypto/rsa/libfips-lib-rsa_acvp_test_params.o" => [ + "crypto/rsa/rsa_acvp_test_params.c" + ], + "crypto/rsa/libfips-lib-rsa_backend.o" => [ + "crypto/rsa/rsa_backend.c" + ], + "crypto/rsa/libfips-lib-rsa_chk.o" => [ + "crypto/rsa/rsa_chk.c" + ], + "crypto/rsa/libfips-lib-rsa_crpt.o" => [ + "crypto/rsa/rsa_crpt.c" + ], + "crypto/rsa/libfips-lib-rsa_gen.o" => [ + "crypto/rsa/rsa_gen.c" + ], + "crypto/rsa/libfips-lib-rsa_lib.o" => [ + "crypto/rsa/rsa_lib.c" + ], + "crypto/rsa/libfips-lib-rsa_mp_names.o" => [ + "crypto/rsa/rsa_mp_names.c" + ], + "crypto/rsa/libfips-lib-rsa_none.o" => [ + "crypto/rsa/rsa_none.c" + ], + "crypto/rsa/libfips-lib-rsa_oaep.o" => [ + "crypto/rsa/rsa_oaep.c" + ], + "crypto/rsa/libfips-lib-rsa_ossl.o" => [ + "crypto/rsa/rsa_ossl.c" + ], + "crypto/rsa/libfips-lib-rsa_pk1.o" => [ + "crypto/rsa/rsa_pk1.c" + ], + "crypto/rsa/libfips-lib-rsa_pss.o" => [ + "crypto/rsa/rsa_pss.c" + ], + "crypto/rsa/libfips-lib-rsa_schemes.o" => [ + "crypto/rsa/rsa_schemes.c" + ], + "crypto/rsa/libfips-lib-rsa_sign.o" => [ + "crypto/rsa/rsa_sign.c" + ], + "crypto/rsa/libfips-lib-rsa_sp800_56b_check.o" => [ + "crypto/rsa/rsa_sp800_56b_check.c" + ], + "crypto/rsa/libfips-lib-rsa_sp800_56b_gen.o" => [ + "crypto/rsa/rsa_sp800_56b_gen.c" + ], + "crypto/rsa/libfips-lib-rsa_x931.o" => [ + "crypto/rsa/rsa_x931.c" + ], + "crypto/seed/libcrypto-lib-seed.o" => [ + "crypto/seed/seed.c" + ], + "crypto/seed/libcrypto-lib-seed_cbc.o" => [ + "crypto/seed/seed_cbc.c" + ], + "crypto/seed/libcrypto-lib-seed_cfb.o" => [ + "crypto/seed/seed_cfb.c" + ], + "crypto/seed/libcrypto-lib-seed_ecb.o" => [ + "crypto/seed/seed_ecb.c" + ], + "crypto/seed/libcrypto-lib-seed_ofb.o" => [ + "crypto/seed/seed_ofb.c" + ], + "crypto/sha/libcrypto-lib-keccak1600.o" => [ + "crypto/sha/keccak1600.c" + ], + "crypto/sha/libcrypto-lib-sha1_one.o" => [ + "crypto/sha/sha1_one.c" + ], + "crypto/sha/libcrypto-lib-sha1dgst.o" => [ + "crypto/sha/sha1dgst.c" + ], + "crypto/sha/libcrypto-lib-sha256.o" => [ + "crypto/sha/sha256.c" + ], + "crypto/sha/libcrypto-lib-sha3.o" => [ + "crypto/sha/sha3.c" + ], + "crypto/sha/libcrypto-lib-sha512.o" => [ + "crypto/sha/sha512.c" + ], + "crypto/sha/libfips-lib-keccak1600.o" => [ + "crypto/sha/keccak1600.c" + ], + "crypto/sha/libfips-lib-sha1dgst.o" => [ + "crypto/sha/sha1dgst.c" + ], + "crypto/sha/libfips-lib-sha256.o" => [ + "crypto/sha/sha256.c" + ], + "crypto/sha/libfips-lib-sha3.o" => [ + "crypto/sha/sha3.c" + ], + "crypto/sha/libfips-lib-sha512.o" => [ + "crypto/sha/sha512.c" + ], + "crypto/siphash/libcrypto-lib-siphash.o" => [ + "crypto/siphash/siphash.c" + ], + "crypto/sm2/libcrypto-lib-sm2_crypt.o" => [ + "crypto/sm2/sm2_crypt.c" + ], + "crypto/sm2/libcrypto-lib-sm2_err.o" => [ + "crypto/sm2/sm2_err.c" + ], + "crypto/sm2/libcrypto-lib-sm2_key.o" => [ + "crypto/sm2/sm2_key.c" + ], + "crypto/sm2/libcrypto-lib-sm2_sign.o" => [ + "crypto/sm2/sm2_sign.c" + ], + "crypto/sm3/libcrypto-lib-legacy_sm3.o" => [ + "crypto/sm3/legacy_sm3.c" + ], + "crypto/sm3/libcrypto-lib-sm3.o" => [ + "crypto/sm3/sm3.c" + ], + "crypto/sm4/libcrypto-lib-sm4.o" => [ + "crypto/sm4/sm4.c" + ], + "crypto/srp/libcrypto-lib-srp_lib.o" => [ + "crypto/srp/srp_lib.c" + ], + "crypto/srp/libcrypto-lib-srp_vfy.o" => [ + "crypto/srp/srp_vfy.c" + ], + "crypto/stack/libcrypto-lib-stack.o" => [ + "crypto/stack/stack.c" + ], + "crypto/stack/libfips-lib-stack.o" => [ + "crypto/stack/stack.c" + ], + "crypto/store/libcrypto-lib-store_err.o" => [ + "crypto/store/store_err.c" + ], + "crypto/store/libcrypto-lib-store_init.o" => [ + "crypto/store/store_init.c" + ], + "crypto/store/libcrypto-lib-store_lib.o" => [ + "crypto/store/store_lib.c" + ], + "crypto/store/libcrypto-lib-store_meth.o" => [ + "crypto/store/store_meth.c" + ], + "crypto/store/libcrypto-lib-store_register.o" => [ + "crypto/store/store_register.c" + ], + "crypto/store/libcrypto-lib-store_result.o" => [ + "crypto/store/store_result.c" + ], + "crypto/store/libcrypto-lib-store_strings.o" => [ + "crypto/store/store_strings.c" + ], + "crypto/ts/libcrypto-lib-ts_asn1.o" => [ + "crypto/ts/ts_asn1.c" + ], + "crypto/ts/libcrypto-lib-ts_conf.o" => [ + "crypto/ts/ts_conf.c" + ], + "crypto/ts/libcrypto-lib-ts_err.o" => [ + "crypto/ts/ts_err.c" + ], + "crypto/ts/libcrypto-lib-ts_lib.o" => [ + "crypto/ts/ts_lib.c" + ], + "crypto/ts/libcrypto-lib-ts_req_print.o" => [ + "crypto/ts/ts_req_print.c" + ], + "crypto/ts/libcrypto-lib-ts_req_utils.o" => [ + "crypto/ts/ts_req_utils.c" + ], + "crypto/ts/libcrypto-lib-ts_rsp_print.o" => [ + "crypto/ts/ts_rsp_print.c" + ], + "crypto/ts/libcrypto-lib-ts_rsp_sign.o" => [ + "crypto/ts/ts_rsp_sign.c" + ], + "crypto/ts/libcrypto-lib-ts_rsp_utils.o" => [ + "crypto/ts/ts_rsp_utils.c" + ], + "crypto/ts/libcrypto-lib-ts_rsp_verify.o" => [ + "crypto/ts/ts_rsp_verify.c" + ], + "crypto/ts/libcrypto-lib-ts_verify_ctx.o" => [ + "crypto/ts/ts_verify_ctx.c" + ], + "crypto/txt_db/libcrypto-lib-txt_db.o" => [ + "crypto/txt_db/txt_db.c" + ], + "crypto/ui/libcrypto-lib-ui_err.o" => [ + "crypto/ui/ui_err.c" + ], + "crypto/ui/libcrypto-lib-ui_lib.o" => [ + "crypto/ui/ui_lib.c" + ], + "crypto/ui/libcrypto-lib-ui_null.o" => [ + "crypto/ui/ui_null.c" + ], + "crypto/ui/libcrypto-lib-ui_openssl.o" => [ + "crypto/ui/ui_openssl.c" + ], + "crypto/ui/libcrypto-lib-ui_util.o" => [ + "crypto/ui/ui_util.c" + ], + "crypto/whrlpool/libcrypto-lib-wp_block.o" => [ + "crypto/whrlpool/wp_block.c" + ], + "crypto/whrlpool/libcrypto-lib-wp_dgst.o" => [ + "crypto/whrlpool/wp_dgst.c" + ], + "crypto/x509/libcrypto-lib-by_dir.o" => [ + "crypto/x509/by_dir.c" + ], + "crypto/x509/libcrypto-lib-by_file.o" => [ + "crypto/x509/by_file.c" + ], + "crypto/x509/libcrypto-lib-by_store.o" => [ + "crypto/x509/by_store.c" + ], + "crypto/x509/libcrypto-lib-pcy_cache.o" => [ + "crypto/x509/pcy_cache.c" + ], + "crypto/x509/libcrypto-lib-pcy_data.o" => [ + "crypto/x509/pcy_data.c" + ], + "crypto/x509/libcrypto-lib-pcy_lib.o" => [ + "crypto/x509/pcy_lib.c" + ], + "crypto/x509/libcrypto-lib-pcy_map.o" => [ + "crypto/x509/pcy_map.c" + ], + "crypto/x509/libcrypto-lib-pcy_node.o" => [ + "crypto/x509/pcy_node.c" + ], + "crypto/x509/libcrypto-lib-pcy_tree.o" => [ + "crypto/x509/pcy_tree.c" + ], + "crypto/x509/libcrypto-lib-t_crl.o" => [ + "crypto/x509/t_crl.c" + ], + "crypto/x509/libcrypto-lib-t_req.o" => [ + "crypto/x509/t_req.c" + ], + "crypto/x509/libcrypto-lib-t_x509.o" => [ + "crypto/x509/t_x509.c" + ], + "crypto/x509/libcrypto-lib-v3_addr.o" => [ + "crypto/x509/v3_addr.c" + ], + "crypto/x509/libcrypto-lib-v3_admis.o" => [ + "crypto/x509/v3_admis.c" + ], + "crypto/x509/libcrypto-lib-v3_akeya.o" => [ + "crypto/x509/v3_akeya.c" + ], + "crypto/x509/libcrypto-lib-v3_akid.o" => [ + "crypto/x509/v3_akid.c" + ], + "crypto/x509/libcrypto-lib-v3_asid.o" => [ + "crypto/x509/v3_asid.c" + ], + "crypto/x509/libcrypto-lib-v3_bcons.o" => [ + "crypto/x509/v3_bcons.c" + ], + "crypto/x509/libcrypto-lib-v3_bitst.o" => [ + "crypto/x509/v3_bitst.c" + ], + "crypto/x509/libcrypto-lib-v3_conf.o" => [ + "crypto/x509/v3_conf.c" + ], + "crypto/x509/libcrypto-lib-v3_cpols.o" => [ + "crypto/x509/v3_cpols.c" + ], + "crypto/x509/libcrypto-lib-v3_crld.o" => [ + "crypto/x509/v3_crld.c" + ], + "crypto/x509/libcrypto-lib-v3_enum.o" => [ + "crypto/x509/v3_enum.c" + ], + "crypto/x509/libcrypto-lib-v3_extku.o" => [ + "crypto/x509/v3_extku.c" + ], + "crypto/x509/libcrypto-lib-v3_genn.o" => [ + "crypto/x509/v3_genn.c" + ], + "crypto/x509/libcrypto-lib-v3_ia5.o" => [ + "crypto/x509/v3_ia5.c" + ], + "crypto/x509/libcrypto-lib-v3_info.o" => [ + "crypto/x509/v3_info.c" + ], + "crypto/x509/libcrypto-lib-v3_int.o" => [ + "crypto/x509/v3_int.c" + ], + "crypto/x509/libcrypto-lib-v3_ist.o" => [ + "crypto/x509/v3_ist.c" + ], + "crypto/x509/libcrypto-lib-v3_lib.o" => [ + "crypto/x509/v3_lib.c" + ], + "crypto/x509/libcrypto-lib-v3_ncons.o" => [ + "crypto/x509/v3_ncons.c" + ], + "crypto/x509/libcrypto-lib-v3_pci.o" => [ + "crypto/x509/v3_pci.c" + ], + "crypto/x509/libcrypto-lib-v3_pcia.o" => [ + "crypto/x509/v3_pcia.c" + ], + "crypto/x509/libcrypto-lib-v3_pcons.o" => [ + "crypto/x509/v3_pcons.c" + ], + "crypto/x509/libcrypto-lib-v3_pku.o" => [ + "crypto/x509/v3_pku.c" + ], + "crypto/x509/libcrypto-lib-v3_pmaps.o" => [ + "crypto/x509/v3_pmaps.c" + ], + "crypto/x509/libcrypto-lib-v3_prn.o" => [ + "crypto/x509/v3_prn.c" + ], + "crypto/x509/libcrypto-lib-v3_purp.o" => [ + "crypto/x509/v3_purp.c" + ], + "crypto/x509/libcrypto-lib-v3_san.o" => [ + "crypto/x509/v3_san.c" + ], + "crypto/x509/libcrypto-lib-v3_skid.o" => [ + "crypto/x509/v3_skid.c" + ], + "crypto/x509/libcrypto-lib-v3_sxnet.o" => [ + "crypto/x509/v3_sxnet.c" + ], + "crypto/x509/libcrypto-lib-v3_tlsf.o" => [ + "crypto/x509/v3_tlsf.c" + ], + "crypto/x509/libcrypto-lib-v3_utf8.o" => [ + "crypto/x509/v3_utf8.c" + ], + "crypto/x509/libcrypto-lib-v3_utl.o" => [ + "crypto/x509/v3_utl.c" + ], + "crypto/x509/libcrypto-lib-v3err.o" => [ + "crypto/x509/v3err.c" + ], + "crypto/x509/libcrypto-lib-x509_att.o" => [ + "crypto/x509/x509_att.c" + ], + "crypto/x509/libcrypto-lib-x509_cmp.o" => [ + "crypto/x509/x509_cmp.c" + ], + "crypto/x509/libcrypto-lib-x509_d2.o" => [ + "crypto/x509/x509_d2.c" + ], + "crypto/x509/libcrypto-lib-x509_def.o" => [ + "crypto/x509/x509_def.c" + ], + "crypto/x509/libcrypto-lib-x509_err.o" => [ + "crypto/x509/x509_err.c" + ], + "crypto/x509/libcrypto-lib-x509_ext.o" => [ + "crypto/x509/x509_ext.c" + ], + "crypto/x509/libcrypto-lib-x509_lu.o" => [ + "crypto/x509/x509_lu.c" + ], + "crypto/x509/libcrypto-lib-x509_meth.o" => [ + "crypto/x509/x509_meth.c" + ], + "crypto/x509/libcrypto-lib-x509_obj.o" => [ + "crypto/x509/x509_obj.c" + ], + "crypto/x509/libcrypto-lib-x509_r2x.o" => [ + "crypto/x509/x509_r2x.c" + ], + "crypto/x509/libcrypto-lib-x509_req.o" => [ + "crypto/x509/x509_req.c" + ], + "crypto/x509/libcrypto-lib-x509_set.o" => [ + "crypto/x509/x509_set.c" + ], + "crypto/x509/libcrypto-lib-x509_trust.o" => [ + "crypto/x509/x509_trust.c" + ], + "crypto/x509/libcrypto-lib-x509_txt.o" => [ + "crypto/x509/x509_txt.c" + ], + "crypto/x509/libcrypto-lib-x509_v3.o" => [ + "crypto/x509/x509_v3.c" + ], + "crypto/x509/libcrypto-lib-x509_vfy.o" => [ + "crypto/x509/x509_vfy.c" + ], + "crypto/x509/libcrypto-lib-x509_vpm.o" => [ + "crypto/x509/x509_vpm.c" + ], + "crypto/x509/libcrypto-lib-x509cset.o" => [ + "crypto/x509/x509cset.c" + ], + "crypto/x509/libcrypto-lib-x509name.o" => [ + "crypto/x509/x509name.c" + ], + "crypto/x509/libcrypto-lib-x509rset.o" => [ + "crypto/x509/x509rset.c" + ], + "crypto/x509/libcrypto-lib-x509spki.o" => [ + "crypto/x509/x509spki.c" + ], + "crypto/x509/libcrypto-lib-x509type.o" => [ + "crypto/x509/x509type.c" + ], + "crypto/x509/libcrypto-lib-x_all.o" => [ + "crypto/x509/x_all.c" + ], + "crypto/x509/libcrypto-lib-x_attrib.o" => [ + "crypto/x509/x_attrib.c" + ], + "crypto/x509/libcrypto-lib-x_crl.o" => [ + "crypto/x509/x_crl.c" + ], + "crypto/x509/libcrypto-lib-x_exten.o" => [ + "crypto/x509/x_exten.c" + ], + "crypto/x509/libcrypto-lib-x_name.o" => [ + "crypto/x509/x_name.c" + ], + "crypto/x509/libcrypto-lib-x_pubkey.o" => [ + "crypto/x509/x_pubkey.c" + ], + "crypto/x509/libcrypto-lib-x_req.o" => [ + "crypto/x509/x_req.c" + ], + "crypto/x509/libcrypto-lib-x_x509.o" => [ + "crypto/x509/x_x509.c" + ], + "crypto/x509/libcrypto-lib-x_x509a.o" => [ + "crypto/x509/x_x509a.c" + ], + "engines/libcrypto-lib-e_capi.o" => [ + "engines/e_capi.c" + ], + "engines/libcrypto-lib-e_padlock.o" => [ + "engines/e_padlock.c" + ], + "fuzz/asn1-test" => [ + "fuzz/asn1-test-bin-asn1.o", + "fuzz/asn1-test-bin-fuzz_rand.o", + "fuzz/asn1-test-bin-test-corpus.o" + ], + "fuzz/asn1-test-bin-asn1.o" => [ + "fuzz/asn1.c" + ], + "fuzz/asn1-test-bin-fuzz_rand.o" => [ + "fuzz/fuzz_rand.c" + ], + "fuzz/asn1-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/asn1parse-test" => [ + "fuzz/asn1parse-test-bin-asn1parse.o", + "fuzz/asn1parse-test-bin-test-corpus.o" + ], + "fuzz/asn1parse-test-bin-asn1parse.o" => [ + "fuzz/asn1parse.c" + ], + "fuzz/asn1parse-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/bignum-test" => [ + "fuzz/bignum-test-bin-bignum.o", + "fuzz/bignum-test-bin-test-corpus.o" + ], + "fuzz/bignum-test-bin-bignum.o" => [ + "fuzz/bignum.c" + ], + "fuzz/bignum-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/bndiv-test" => [ + "fuzz/bndiv-test-bin-bndiv.o", + "fuzz/bndiv-test-bin-test-corpus.o" + ], + "fuzz/bndiv-test-bin-bndiv.o" => [ + "fuzz/bndiv.c" + ], + "fuzz/bndiv-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/client-test" => [ + "fuzz/client-test-bin-client.o", + "fuzz/client-test-bin-fuzz_rand.o", + "fuzz/client-test-bin-test-corpus.o" + ], + "fuzz/client-test-bin-client.o" => [ + "fuzz/client.c" + ], + "fuzz/client-test-bin-fuzz_rand.o" => [ + "fuzz/fuzz_rand.c" + ], + "fuzz/client-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/cmp-test" => [ + "fuzz/cmp-test-bin-cmp.o", + "fuzz/cmp-test-bin-fuzz_rand.o", + "fuzz/cmp-test-bin-test-corpus.o" + ], + "fuzz/cmp-test-bin-cmp.o" => [ + "fuzz/cmp.c" + ], + "fuzz/cmp-test-bin-fuzz_rand.o" => [ + "fuzz/fuzz_rand.c" + ], + "fuzz/cmp-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/cms-test" => [ + "fuzz/cms-test-bin-cms.o", + "fuzz/cms-test-bin-test-corpus.o" + ], + "fuzz/cms-test-bin-cms.o" => [ + "fuzz/cms.c" + ], + "fuzz/cms-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/conf-test" => [ + "fuzz/conf-test-bin-conf.o", + "fuzz/conf-test-bin-test-corpus.o" + ], + "fuzz/conf-test-bin-conf.o" => [ + "fuzz/conf.c" + ], + "fuzz/conf-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/crl-test" => [ + "fuzz/crl-test-bin-crl.o", + "fuzz/crl-test-bin-test-corpus.o" + ], + "fuzz/crl-test-bin-crl.o" => [ + "fuzz/crl.c" + ], + "fuzz/crl-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/ct-test" => [ + "fuzz/ct-test-bin-ct.o", + "fuzz/ct-test-bin-test-corpus.o" + ], + "fuzz/ct-test-bin-ct.o" => [ + "fuzz/ct.c" + ], + "fuzz/ct-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/server-test" => [ + "fuzz/server-test-bin-fuzz_rand.o", + "fuzz/server-test-bin-server.o", + "fuzz/server-test-bin-test-corpus.o" + ], + "fuzz/server-test-bin-fuzz_rand.o" => [ + "fuzz/fuzz_rand.c" + ], + "fuzz/server-test-bin-server.o" => [ + "fuzz/server.c" + ], + "fuzz/server-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/x509-test" => [ + "fuzz/x509-test-bin-fuzz_rand.o", + "fuzz/x509-test-bin-test-corpus.o", + "fuzz/x509-test-bin-x509.o" + ], + "fuzz/x509-test-bin-fuzz_rand.o" => [ + "fuzz/fuzz_rand.c" + ], + "fuzz/x509-test-bin-test-corpus.o" => [ + "fuzz/test-corpus.c" + ], + "fuzz/x509-test-bin-x509.o" => [ + "fuzz/x509.c" + ], + "libcrypto" => [ + "crypto/aes/libcrypto-lib-aes_cbc.o", + "crypto/aes/libcrypto-lib-aes_cfb.o", + "crypto/aes/libcrypto-lib-aes_core.o", + "crypto/aes/libcrypto-lib-aes_ecb.o", + "crypto/aes/libcrypto-lib-aes_ige.o", + "crypto/aes/libcrypto-lib-aes_misc.o", + "crypto/aes/libcrypto-lib-aes_ofb.o", + "crypto/aes/libcrypto-lib-aes_wrap.o", + "crypto/aria/libcrypto-lib-aria.o", + "crypto/asn1/libcrypto-lib-a_bitstr.o", + "crypto/asn1/libcrypto-lib-a_d2i_fp.o", + "crypto/asn1/libcrypto-lib-a_digest.o", + "crypto/asn1/libcrypto-lib-a_dup.o", + "crypto/asn1/libcrypto-lib-a_gentm.o", + "crypto/asn1/libcrypto-lib-a_i2d_fp.o", + "crypto/asn1/libcrypto-lib-a_int.o", + "crypto/asn1/libcrypto-lib-a_mbstr.o", + "crypto/asn1/libcrypto-lib-a_object.o", + "crypto/asn1/libcrypto-lib-a_octet.o", + "crypto/asn1/libcrypto-lib-a_print.o", + "crypto/asn1/libcrypto-lib-a_sign.o", + "crypto/asn1/libcrypto-lib-a_strex.o", + "crypto/asn1/libcrypto-lib-a_strnid.o", + "crypto/asn1/libcrypto-lib-a_time.o", + "crypto/asn1/libcrypto-lib-a_type.o", + "crypto/asn1/libcrypto-lib-a_utctm.o", + "crypto/asn1/libcrypto-lib-a_utf8.o", + "crypto/asn1/libcrypto-lib-a_verify.o", + "crypto/asn1/libcrypto-lib-ameth_lib.o", + "crypto/asn1/libcrypto-lib-asn1_err.o", + "crypto/asn1/libcrypto-lib-asn1_gen.o", + "crypto/asn1/libcrypto-lib-asn1_item_list.o", + "crypto/asn1/libcrypto-lib-asn1_lib.o", + "crypto/asn1/libcrypto-lib-asn1_parse.o", + "crypto/asn1/libcrypto-lib-asn_mime.o", + "crypto/asn1/libcrypto-lib-asn_moid.o", + "crypto/asn1/libcrypto-lib-asn_mstbl.o", + "crypto/asn1/libcrypto-lib-asn_pack.o", + "crypto/asn1/libcrypto-lib-bio_asn1.o", + "crypto/asn1/libcrypto-lib-bio_ndef.o", + "crypto/asn1/libcrypto-lib-d2i_param.o", + "crypto/asn1/libcrypto-lib-d2i_pr.o", + "crypto/asn1/libcrypto-lib-d2i_pu.o", + "crypto/asn1/libcrypto-lib-evp_asn1.o", + "crypto/asn1/libcrypto-lib-f_int.o", + "crypto/asn1/libcrypto-lib-f_string.o", + "crypto/asn1/libcrypto-lib-i2d_evp.o", + "crypto/asn1/libcrypto-lib-n_pkey.o", + "crypto/asn1/libcrypto-lib-nsseq.o", + "crypto/asn1/libcrypto-lib-p5_pbe.o", + "crypto/asn1/libcrypto-lib-p5_pbev2.o", + "crypto/asn1/libcrypto-lib-p5_scrypt.o", + "crypto/asn1/libcrypto-lib-p8_pkey.o", + "crypto/asn1/libcrypto-lib-t_bitst.o", + "crypto/asn1/libcrypto-lib-t_pkey.o", + "crypto/asn1/libcrypto-lib-t_spki.o", + "crypto/asn1/libcrypto-lib-tasn_dec.o", + "crypto/asn1/libcrypto-lib-tasn_enc.o", + "crypto/asn1/libcrypto-lib-tasn_fre.o", + "crypto/asn1/libcrypto-lib-tasn_new.o", + "crypto/asn1/libcrypto-lib-tasn_prn.o", + "crypto/asn1/libcrypto-lib-tasn_scn.o", + "crypto/asn1/libcrypto-lib-tasn_typ.o", + "crypto/asn1/libcrypto-lib-tasn_utl.o", + "crypto/asn1/libcrypto-lib-x_algor.o", + "crypto/asn1/libcrypto-lib-x_bignum.o", + "crypto/asn1/libcrypto-lib-x_info.o", + "crypto/asn1/libcrypto-lib-x_int64.o", + "crypto/asn1/libcrypto-lib-x_long.o", + "crypto/asn1/libcrypto-lib-x_pkey.o", + "crypto/asn1/libcrypto-lib-x_sig.o", + "crypto/asn1/libcrypto-lib-x_spki.o", + "crypto/asn1/libcrypto-lib-x_val.o", + "crypto/async/arch/libcrypto-lib-async_null.o", + "crypto/async/arch/libcrypto-lib-async_posix.o", + "crypto/async/arch/libcrypto-lib-async_win.o", + "crypto/async/libcrypto-lib-async.o", + "crypto/async/libcrypto-lib-async_err.o", + "crypto/async/libcrypto-lib-async_wait.o", + "crypto/bf/libcrypto-lib-bf_cfb64.o", + "crypto/bf/libcrypto-lib-bf_ecb.o", + "crypto/bf/libcrypto-lib-bf_enc.o", + "crypto/bf/libcrypto-lib-bf_ofb64.o", + "crypto/bf/libcrypto-lib-bf_skey.o", + "crypto/bio/libcrypto-lib-bf_buff.o", + "crypto/bio/libcrypto-lib-bf_lbuf.o", + "crypto/bio/libcrypto-lib-bf_nbio.o", + "crypto/bio/libcrypto-lib-bf_null.o", + "crypto/bio/libcrypto-lib-bf_prefix.o", + "crypto/bio/libcrypto-lib-bf_readbuff.o", + "crypto/bio/libcrypto-lib-bio_addr.o", + "crypto/bio/libcrypto-lib-bio_cb.o", + "crypto/bio/libcrypto-lib-bio_dump.o", + "crypto/bio/libcrypto-lib-bio_err.o", + "crypto/bio/libcrypto-lib-bio_lib.o", + "crypto/bio/libcrypto-lib-bio_meth.o", + "crypto/bio/libcrypto-lib-bio_print.o", + "crypto/bio/libcrypto-lib-bio_sock.o", + "crypto/bio/libcrypto-lib-bio_sock2.o", + "crypto/bio/libcrypto-lib-bss_acpt.o", + "crypto/bio/libcrypto-lib-bss_bio.o", + "crypto/bio/libcrypto-lib-bss_conn.o", + "crypto/bio/libcrypto-lib-bss_core.o", + "crypto/bio/libcrypto-lib-bss_dgram.o", + "crypto/bio/libcrypto-lib-bss_fd.o", + "crypto/bio/libcrypto-lib-bss_file.o", + "crypto/bio/libcrypto-lib-bss_log.o", + "crypto/bio/libcrypto-lib-bss_mem.o", + "crypto/bio/libcrypto-lib-bss_null.o", + "crypto/bio/libcrypto-lib-bss_sock.o", + "crypto/bio/libcrypto-lib-ossl_core_bio.o", + "crypto/bn/libcrypto-lib-bn_add.o", + "crypto/bn/libcrypto-lib-bn_asm.o", + "crypto/bn/libcrypto-lib-bn_blind.o", + "crypto/bn/libcrypto-lib-bn_const.o", + "crypto/bn/libcrypto-lib-bn_conv.o", + "crypto/bn/libcrypto-lib-bn_ctx.o", + "crypto/bn/libcrypto-lib-bn_depr.o", + "crypto/bn/libcrypto-lib-bn_dh.o", + "crypto/bn/libcrypto-lib-bn_div.o", + "crypto/bn/libcrypto-lib-bn_err.o", + "crypto/bn/libcrypto-lib-bn_exp.o", + "crypto/bn/libcrypto-lib-bn_exp2.o", + "crypto/bn/libcrypto-lib-bn_gcd.o", + "crypto/bn/libcrypto-lib-bn_gf2m.o", + "crypto/bn/libcrypto-lib-bn_intern.o", + "crypto/bn/libcrypto-lib-bn_kron.o", + "crypto/bn/libcrypto-lib-bn_lib.o", + "crypto/bn/libcrypto-lib-bn_mod.o", + "crypto/bn/libcrypto-lib-bn_mont.o", + "crypto/bn/libcrypto-lib-bn_mpi.o", + "crypto/bn/libcrypto-lib-bn_mul.o", + "crypto/bn/libcrypto-lib-bn_nist.o", + "crypto/bn/libcrypto-lib-bn_prime.o", + "crypto/bn/libcrypto-lib-bn_print.o", + "crypto/bn/libcrypto-lib-bn_rand.o", + "crypto/bn/libcrypto-lib-bn_recp.o", + "crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o", + "crypto/bn/libcrypto-lib-bn_shift.o", + "crypto/bn/libcrypto-lib-bn_sqr.o", + "crypto/bn/libcrypto-lib-bn_sqrt.o", + "crypto/bn/libcrypto-lib-bn_srp.o", + "crypto/bn/libcrypto-lib-bn_word.o", + "crypto/bn/libcrypto-lib-bn_x931p.o", + "crypto/bn/libcrypto-lib-rsa_sup_mul.o", + "crypto/buffer/libcrypto-lib-buf_err.o", + "crypto/buffer/libcrypto-lib-buffer.o", + "crypto/camellia/libcrypto-lib-camellia.o", + "crypto/camellia/libcrypto-lib-cmll_cbc.o", + "crypto/camellia/libcrypto-lib-cmll_cfb.o", + "crypto/camellia/libcrypto-lib-cmll_ctr.o", + "crypto/camellia/libcrypto-lib-cmll_ecb.o", + "crypto/camellia/libcrypto-lib-cmll_misc.o", + "crypto/camellia/libcrypto-lib-cmll_ofb.o", + "crypto/cast/libcrypto-lib-c_cfb64.o", + "crypto/cast/libcrypto-lib-c_ecb.o", + "crypto/cast/libcrypto-lib-c_enc.o", + "crypto/cast/libcrypto-lib-c_ofb64.o", + "crypto/cast/libcrypto-lib-c_skey.o", + "crypto/chacha/libcrypto-lib-chacha_enc.o", + "crypto/cmac/libcrypto-lib-cmac.o", + "crypto/cmp/libcrypto-lib-cmp_asn.o", + "crypto/cmp/libcrypto-lib-cmp_client.o", + "crypto/cmp/libcrypto-lib-cmp_ctx.o", + "crypto/cmp/libcrypto-lib-cmp_err.o", + "crypto/cmp/libcrypto-lib-cmp_hdr.o", + "crypto/cmp/libcrypto-lib-cmp_http.o", + "crypto/cmp/libcrypto-lib-cmp_msg.o", + "crypto/cmp/libcrypto-lib-cmp_protect.o", + "crypto/cmp/libcrypto-lib-cmp_server.o", + "crypto/cmp/libcrypto-lib-cmp_status.o", + "crypto/cmp/libcrypto-lib-cmp_util.o", + "crypto/cmp/libcrypto-lib-cmp_vfy.o", + "crypto/cms/libcrypto-lib-cms_asn1.o", + "crypto/cms/libcrypto-lib-cms_att.o", + "crypto/cms/libcrypto-lib-cms_cd.o", + "crypto/cms/libcrypto-lib-cms_dd.o", + "crypto/cms/libcrypto-lib-cms_dh.o", + "crypto/cms/libcrypto-lib-cms_ec.o", + "crypto/cms/libcrypto-lib-cms_enc.o", + "crypto/cms/libcrypto-lib-cms_env.o", + "crypto/cms/libcrypto-lib-cms_err.o", + "crypto/cms/libcrypto-lib-cms_ess.o", + "crypto/cms/libcrypto-lib-cms_io.o", + "crypto/cms/libcrypto-lib-cms_kari.o", + "crypto/cms/libcrypto-lib-cms_lib.o", + "crypto/cms/libcrypto-lib-cms_pwri.o", + "crypto/cms/libcrypto-lib-cms_rsa.o", + "crypto/cms/libcrypto-lib-cms_sd.o", + "crypto/cms/libcrypto-lib-cms_smime.o", + "crypto/conf/libcrypto-lib-conf_api.o", + "crypto/conf/libcrypto-lib-conf_def.o", + "crypto/conf/libcrypto-lib-conf_err.o", + "crypto/conf/libcrypto-lib-conf_lib.o", + "crypto/conf/libcrypto-lib-conf_mall.o", + "crypto/conf/libcrypto-lib-conf_mod.o", + "crypto/conf/libcrypto-lib-conf_sap.o", + "crypto/conf/libcrypto-lib-conf_ssl.o", + "crypto/crmf/libcrypto-lib-crmf_asn.o", + "crypto/crmf/libcrypto-lib-crmf_err.o", + "crypto/crmf/libcrypto-lib-crmf_lib.o", + "crypto/crmf/libcrypto-lib-crmf_pbm.o", + "crypto/ct/libcrypto-lib-ct_b64.o", + "crypto/ct/libcrypto-lib-ct_err.o", + "crypto/ct/libcrypto-lib-ct_log.o", + "crypto/ct/libcrypto-lib-ct_oct.o", + "crypto/ct/libcrypto-lib-ct_policy.o", + "crypto/ct/libcrypto-lib-ct_prn.o", + "crypto/ct/libcrypto-lib-ct_sct.o", + "crypto/ct/libcrypto-lib-ct_sct_ctx.o", + "crypto/ct/libcrypto-lib-ct_vfy.o", + "crypto/ct/libcrypto-lib-ct_x509v3.o", + "crypto/des/libcrypto-lib-cbc_cksm.o", + "crypto/des/libcrypto-lib-cbc_enc.o", + "crypto/des/libcrypto-lib-cfb64ede.o", + "crypto/des/libcrypto-lib-cfb64enc.o", + "crypto/des/libcrypto-lib-cfb_enc.o", + "crypto/des/libcrypto-lib-des_enc.o", + "crypto/des/libcrypto-lib-ecb3_enc.o", + "crypto/des/libcrypto-lib-ecb_enc.o", + "crypto/des/libcrypto-lib-fcrypt.o", + "crypto/des/libcrypto-lib-fcrypt_b.o", + "crypto/des/libcrypto-lib-ofb64ede.o", + "crypto/des/libcrypto-lib-ofb64enc.o", + "crypto/des/libcrypto-lib-ofb_enc.o", + "crypto/des/libcrypto-lib-pcbc_enc.o", + "crypto/des/libcrypto-lib-qud_cksm.o", + "crypto/des/libcrypto-lib-rand_key.o", + "crypto/des/libcrypto-lib-set_key.o", + "crypto/des/libcrypto-lib-str2key.o", + "crypto/des/libcrypto-lib-xcbc_enc.o", + "crypto/dh/libcrypto-lib-dh_ameth.o", + "crypto/dh/libcrypto-lib-dh_asn1.o", + "crypto/dh/libcrypto-lib-dh_backend.o", + "crypto/dh/libcrypto-lib-dh_check.o", + "crypto/dh/libcrypto-lib-dh_depr.o", + "crypto/dh/libcrypto-lib-dh_err.o", + "crypto/dh/libcrypto-lib-dh_gen.o", + "crypto/dh/libcrypto-lib-dh_group_params.o", + "crypto/dh/libcrypto-lib-dh_kdf.o", + "crypto/dh/libcrypto-lib-dh_key.o", + "crypto/dh/libcrypto-lib-dh_lib.o", + "crypto/dh/libcrypto-lib-dh_meth.o", + "crypto/dh/libcrypto-lib-dh_pmeth.o", + "crypto/dh/libcrypto-lib-dh_prn.o", + "crypto/dh/libcrypto-lib-dh_rfc5114.o", + "crypto/dsa/libcrypto-lib-dsa_ameth.o", + "crypto/dsa/libcrypto-lib-dsa_asn1.o", + "crypto/dsa/libcrypto-lib-dsa_backend.o", + "crypto/dsa/libcrypto-lib-dsa_check.o", + "crypto/dsa/libcrypto-lib-dsa_depr.o", + "crypto/dsa/libcrypto-lib-dsa_err.o", + "crypto/dsa/libcrypto-lib-dsa_gen.o", + "crypto/dsa/libcrypto-lib-dsa_key.o", + "crypto/dsa/libcrypto-lib-dsa_lib.o", + "crypto/dsa/libcrypto-lib-dsa_meth.o", + "crypto/dsa/libcrypto-lib-dsa_ossl.o", + "crypto/dsa/libcrypto-lib-dsa_pmeth.o", + "crypto/dsa/libcrypto-lib-dsa_prn.o", + "crypto/dsa/libcrypto-lib-dsa_sign.o", + "crypto/dsa/libcrypto-lib-dsa_vrf.o", + "crypto/dso/libcrypto-lib-dso_dl.o", + "crypto/dso/libcrypto-lib-dso_dlfcn.o", + "crypto/dso/libcrypto-lib-dso_err.o", + "crypto/dso/libcrypto-lib-dso_lib.o", + "crypto/dso/libcrypto-lib-dso_openssl.o", + "crypto/dso/libcrypto-lib-dso_vms.o", + "crypto/dso/libcrypto-lib-dso_win32.o", + "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o", + "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o", + "crypto/ec/curve448/libcrypto-lib-curve448.o", + "crypto/ec/curve448/libcrypto-lib-curve448_tables.o", + "crypto/ec/curve448/libcrypto-lib-eddsa.o", + "crypto/ec/curve448/libcrypto-lib-f_generic.o", + "crypto/ec/curve448/libcrypto-lib-scalar.o", + "crypto/ec/libcrypto-lib-curve25519.o", + "crypto/ec/libcrypto-lib-ec2_oct.o", + "crypto/ec/libcrypto-lib-ec2_smpl.o", + "crypto/ec/libcrypto-lib-ec_ameth.o", + "crypto/ec/libcrypto-lib-ec_asn1.o", + "crypto/ec/libcrypto-lib-ec_backend.o", + "crypto/ec/libcrypto-lib-ec_check.o", + "crypto/ec/libcrypto-lib-ec_curve.o", + "crypto/ec/libcrypto-lib-ec_cvt.o", + "crypto/ec/libcrypto-lib-ec_deprecated.o", + "crypto/ec/libcrypto-lib-ec_err.o", + "crypto/ec/libcrypto-lib-ec_key.o", + "crypto/ec/libcrypto-lib-ec_kmeth.o", + "crypto/ec/libcrypto-lib-ec_lib.o", + "crypto/ec/libcrypto-lib-ec_mult.o", + "crypto/ec/libcrypto-lib-ec_oct.o", + "crypto/ec/libcrypto-lib-ec_pmeth.o", + "crypto/ec/libcrypto-lib-ec_print.o", + "crypto/ec/libcrypto-lib-ecdh_kdf.o", + "crypto/ec/libcrypto-lib-ecdh_ossl.o", + "crypto/ec/libcrypto-lib-ecdsa_ossl.o", + "crypto/ec/libcrypto-lib-ecdsa_sign.o", + "crypto/ec/libcrypto-lib-ecdsa_vrf.o", + "crypto/ec/libcrypto-lib-eck_prn.o", + "crypto/ec/libcrypto-lib-ecp_mont.o", + "crypto/ec/libcrypto-lib-ecp_nist.o", + "crypto/ec/libcrypto-lib-ecp_oct.o", + "crypto/ec/libcrypto-lib-ecp_smpl.o", + "crypto/ec/libcrypto-lib-ecx_backend.o", + "crypto/ec/libcrypto-lib-ecx_key.o", + "crypto/ec/libcrypto-lib-ecx_meth.o", + "crypto/encode_decode/libcrypto-lib-decoder_err.o", + "crypto/encode_decode/libcrypto-lib-decoder_lib.o", + "crypto/encode_decode/libcrypto-lib-decoder_meth.o", + "crypto/encode_decode/libcrypto-lib-decoder_pkey.o", + "crypto/encode_decode/libcrypto-lib-encoder_err.o", + "crypto/encode_decode/libcrypto-lib-encoder_lib.o", + "crypto/encode_decode/libcrypto-lib-encoder_meth.o", + "crypto/encode_decode/libcrypto-lib-encoder_pkey.o", + "crypto/engine/libcrypto-lib-eng_all.o", + "crypto/engine/libcrypto-lib-eng_cnf.o", + "crypto/engine/libcrypto-lib-eng_ctrl.o", + "crypto/engine/libcrypto-lib-eng_dyn.o", + "crypto/engine/libcrypto-lib-eng_err.o", + "crypto/engine/libcrypto-lib-eng_fat.o", + "crypto/engine/libcrypto-lib-eng_init.o", + "crypto/engine/libcrypto-lib-eng_lib.o", + "crypto/engine/libcrypto-lib-eng_list.o", + "crypto/engine/libcrypto-lib-eng_openssl.o", + "crypto/engine/libcrypto-lib-eng_pkey.o", + "crypto/engine/libcrypto-lib-eng_rdrand.o", + "crypto/engine/libcrypto-lib-eng_table.o", + "crypto/engine/libcrypto-lib-tb_asnmth.o", + "crypto/engine/libcrypto-lib-tb_cipher.o", + "crypto/engine/libcrypto-lib-tb_dh.o", + "crypto/engine/libcrypto-lib-tb_digest.o", + "crypto/engine/libcrypto-lib-tb_dsa.o", + "crypto/engine/libcrypto-lib-tb_eckey.o", + "crypto/engine/libcrypto-lib-tb_pkmeth.o", + "crypto/engine/libcrypto-lib-tb_rand.o", + "crypto/engine/libcrypto-lib-tb_rsa.o", + "crypto/err/libcrypto-lib-err.o", + "crypto/err/libcrypto-lib-err_all.o", + "crypto/err/libcrypto-lib-err_all_legacy.o", + "crypto/err/libcrypto-lib-err_blocks.o", + "crypto/err/libcrypto-lib-err_prn.o", + "crypto/ess/libcrypto-lib-ess_asn1.o", + "crypto/ess/libcrypto-lib-ess_err.o", + "crypto/ess/libcrypto-lib-ess_lib.o", + "crypto/evp/libcrypto-lib-asymcipher.o", + "crypto/evp/libcrypto-lib-bio_b64.o", + "crypto/evp/libcrypto-lib-bio_enc.o", + "crypto/evp/libcrypto-lib-bio_md.o", + "crypto/evp/libcrypto-lib-bio_ok.o", + "crypto/evp/libcrypto-lib-c_allc.o", + "crypto/evp/libcrypto-lib-c_alld.o", + "crypto/evp/libcrypto-lib-cmeth_lib.o", + "crypto/evp/libcrypto-lib-ctrl_params_translate.o", + "crypto/evp/libcrypto-lib-dh_ctrl.o", + "crypto/evp/libcrypto-lib-dh_support.o", + "crypto/evp/libcrypto-lib-digest.o", + "crypto/evp/libcrypto-lib-dsa_ctrl.o", + "crypto/evp/libcrypto-lib-e_aes.o", + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o", + "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o", + "crypto/evp/libcrypto-lib-e_aria.o", + "crypto/evp/libcrypto-lib-e_bf.o", + "crypto/evp/libcrypto-lib-e_camellia.o", + "crypto/evp/libcrypto-lib-e_cast.o", + "crypto/evp/libcrypto-lib-e_chacha20_poly1305.o", + "crypto/evp/libcrypto-lib-e_des.o", + "crypto/evp/libcrypto-lib-e_des3.o", + "crypto/evp/libcrypto-lib-e_idea.o", + "crypto/evp/libcrypto-lib-e_null.o", + "crypto/evp/libcrypto-lib-e_old.o", + "crypto/evp/libcrypto-lib-e_rc2.o", + "crypto/evp/libcrypto-lib-e_rc4.o", + "crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o", + "crypto/evp/libcrypto-lib-e_rc5.o", + "crypto/evp/libcrypto-lib-e_seed.o", + "crypto/evp/libcrypto-lib-e_sm4.o", + "crypto/evp/libcrypto-lib-e_xcbc_d.o", + "crypto/evp/libcrypto-lib-ec_ctrl.o", + "crypto/evp/libcrypto-lib-ec_support.o", + "crypto/evp/libcrypto-lib-encode.o", + "crypto/evp/libcrypto-lib-evp_cnf.o", + "crypto/evp/libcrypto-lib-evp_enc.o", + "crypto/evp/libcrypto-lib-evp_err.o", + "crypto/evp/libcrypto-lib-evp_fetch.o", + "crypto/evp/libcrypto-lib-evp_key.o", + "crypto/evp/libcrypto-lib-evp_lib.o", + "crypto/evp/libcrypto-lib-evp_pbe.o", + "crypto/evp/libcrypto-lib-evp_pkey.o", + "crypto/evp/libcrypto-lib-evp_rand.o", + "crypto/evp/libcrypto-lib-evp_utils.o", + "crypto/evp/libcrypto-lib-exchange.o", + "crypto/evp/libcrypto-lib-kdf_lib.o", + "crypto/evp/libcrypto-lib-kdf_meth.o", + "crypto/evp/libcrypto-lib-kem.o", + "crypto/evp/libcrypto-lib-keymgmt_lib.o", + "crypto/evp/libcrypto-lib-keymgmt_meth.o", + "crypto/evp/libcrypto-lib-legacy_blake2.o", + "crypto/evp/libcrypto-lib-legacy_md4.o", + "crypto/evp/libcrypto-lib-legacy_md5.o", + "crypto/evp/libcrypto-lib-legacy_md5_sha1.o", + "crypto/evp/libcrypto-lib-legacy_mdc2.o", + "crypto/evp/libcrypto-lib-legacy_ripemd.o", + "crypto/evp/libcrypto-lib-legacy_sha.o", + "crypto/evp/libcrypto-lib-legacy_wp.o", + "crypto/evp/libcrypto-lib-m_null.o", + "crypto/evp/libcrypto-lib-m_sigver.o", + "crypto/evp/libcrypto-lib-mac_lib.o", + "crypto/evp/libcrypto-lib-mac_meth.o", + "crypto/evp/libcrypto-lib-names.o", + "crypto/evp/libcrypto-lib-p5_crpt.o", + "crypto/evp/libcrypto-lib-p5_crpt2.o", + "crypto/evp/libcrypto-lib-p_dec.o", + "crypto/evp/libcrypto-lib-p_enc.o", + "crypto/evp/libcrypto-lib-p_legacy.o", + "crypto/evp/libcrypto-lib-p_lib.o", + "crypto/evp/libcrypto-lib-p_open.o", + "crypto/evp/libcrypto-lib-p_seal.o", + "crypto/evp/libcrypto-lib-p_sign.o", + "crypto/evp/libcrypto-lib-p_verify.o", + "crypto/evp/libcrypto-lib-pbe_scrypt.o", + "crypto/evp/libcrypto-lib-pmeth_check.o", + "crypto/evp/libcrypto-lib-pmeth_gn.o", + "crypto/evp/libcrypto-lib-pmeth_lib.o", + "crypto/evp/libcrypto-lib-signature.o", + "crypto/ffc/libcrypto-lib-ffc_backend.o", + "crypto/ffc/libcrypto-lib-ffc_dh.o", + "crypto/ffc/libcrypto-lib-ffc_key_generate.o", + "crypto/ffc/libcrypto-lib-ffc_key_validate.o", + "crypto/ffc/libcrypto-lib-ffc_params.o", + "crypto/ffc/libcrypto-lib-ffc_params_generate.o", + "crypto/ffc/libcrypto-lib-ffc_params_validate.o", + "crypto/hmac/libcrypto-lib-hmac.o", + "crypto/http/libcrypto-lib-http_client.o", + "crypto/http/libcrypto-lib-http_err.o", + "crypto/http/libcrypto-lib-http_lib.o", + "crypto/idea/libcrypto-lib-i_cbc.o", + "crypto/idea/libcrypto-lib-i_cfb64.o", + "crypto/idea/libcrypto-lib-i_ecb.o", + "crypto/idea/libcrypto-lib-i_ofb64.o", + "crypto/idea/libcrypto-lib-i_skey.o", + "crypto/kdf/libcrypto-lib-kdf_err.o", + "crypto/lhash/libcrypto-lib-lh_stats.o", + "crypto/lhash/libcrypto-lib-lhash.o", + "crypto/libcrypto-lib-asn1_dsa.o", + "crypto/libcrypto-lib-bsearch.o", + "crypto/libcrypto-lib-context.o", + "crypto/libcrypto-lib-core_algorithm.o", + "crypto/libcrypto-lib-core_fetch.o", + "crypto/libcrypto-lib-core_namemap.o", + "crypto/libcrypto-lib-cpt_err.o", + "crypto/libcrypto-lib-cpuid.o", + "crypto/libcrypto-lib-cryptlib.o", + "crypto/libcrypto-lib-ctype.o", + "crypto/libcrypto-lib-cversion.o", + "crypto/libcrypto-lib-der_writer.o", + "crypto/libcrypto-lib-ebcdic.o", + "crypto/libcrypto-lib-ex_data.o", + "crypto/libcrypto-lib-getenv.o", + "crypto/libcrypto-lib-info.o", + "crypto/libcrypto-lib-init.o", + "crypto/libcrypto-lib-initthread.o", + "crypto/libcrypto-lib-mem.o", + "crypto/libcrypto-lib-mem_clr.o", + "crypto/libcrypto-lib-mem_sec.o", + "crypto/libcrypto-lib-o_dir.o", + "crypto/libcrypto-lib-o_fopen.o", + "crypto/libcrypto-lib-o_init.o", + "crypto/libcrypto-lib-o_str.o", + "crypto/libcrypto-lib-o_time.o", + "crypto/libcrypto-lib-packet.o", + "crypto/libcrypto-lib-param_build.o", + "crypto/libcrypto-lib-param_build_set.o", + "crypto/libcrypto-lib-params.o", + "crypto/libcrypto-lib-params_dup.o", + "crypto/libcrypto-lib-params_from_text.o", + "crypto/libcrypto-lib-passphrase.o", + "crypto/libcrypto-lib-provider.o", + "crypto/libcrypto-lib-provider_child.o", + "crypto/libcrypto-lib-provider_conf.o", + "crypto/libcrypto-lib-provider_core.o", + "crypto/libcrypto-lib-provider_predefined.o", + "crypto/libcrypto-lib-punycode.o", + "crypto/libcrypto-lib-self_test_core.o", + "crypto/libcrypto-lib-sparse_array.o", + "crypto/libcrypto-lib-threads_lib.o", + "crypto/libcrypto-lib-threads_none.o", + "crypto/libcrypto-lib-threads_pthread.o", + "crypto/libcrypto-lib-threads_win.o", + "crypto/libcrypto-lib-trace.o", + "crypto/libcrypto-lib-uid.o", + "crypto/md4/libcrypto-lib-md4_dgst.o", + "crypto/md4/libcrypto-lib-md4_one.o", + "crypto/md5/libcrypto-lib-md5_dgst.o", + "crypto/md5/libcrypto-lib-md5_one.o", + "crypto/md5/libcrypto-lib-md5_sha1.o", + "crypto/mdc2/libcrypto-lib-mdc2_one.o", + "crypto/mdc2/libcrypto-lib-mdc2dgst.o", + "crypto/modes/libcrypto-lib-cbc128.o", + "crypto/modes/libcrypto-lib-ccm128.o", + "crypto/modes/libcrypto-lib-cfb128.o", + "crypto/modes/libcrypto-lib-ctr128.o", + "crypto/modes/libcrypto-lib-cts128.o", + "crypto/modes/libcrypto-lib-gcm128.o", + "crypto/modes/libcrypto-lib-ocb128.o", + "crypto/modes/libcrypto-lib-ofb128.o", + "crypto/modes/libcrypto-lib-siv128.o", + "crypto/modes/libcrypto-lib-wrap128.o", + "crypto/modes/libcrypto-lib-xts128.o", + "crypto/objects/libcrypto-lib-o_names.o", + "crypto/objects/libcrypto-lib-obj_dat.o", + "crypto/objects/libcrypto-lib-obj_err.o", + "crypto/objects/libcrypto-lib-obj_lib.o", + "crypto/objects/libcrypto-lib-obj_xref.o", + "crypto/ocsp/libcrypto-lib-ocsp_asn.o", + "crypto/ocsp/libcrypto-lib-ocsp_cl.o", + "crypto/ocsp/libcrypto-lib-ocsp_err.o", + "crypto/ocsp/libcrypto-lib-ocsp_ext.o", + "crypto/ocsp/libcrypto-lib-ocsp_http.o", + "crypto/ocsp/libcrypto-lib-ocsp_lib.o", + "crypto/ocsp/libcrypto-lib-ocsp_prn.o", + "crypto/ocsp/libcrypto-lib-ocsp_srv.o", + "crypto/ocsp/libcrypto-lib-ocsp_vfy.o", + "crypto/ocsp/libcrypto-lib-v3_ocsp.o", + "crypto/pem/libcrypto-lib-pem_all.o", + "crypto/pem/libcrypto-lib-pem_err.o", + "crypto/pem/libcrypto-lib-pem_info.o", + "crypto/pem/libcrypto-lib-pem_lib.o", + "crypto/pem/libcrypto-lib-pem_oth.o", + "crypto/pem/libcrypto-lib-pem_pk8.o", + "crypto/pem/libcrypto-lib-pem_pkey.o", + "crypto/pem/libcrypto-lib-pem_sign.o", + "crypto/pem/libcrypto-lib-pem_x509.o", + "crypto/pem/libcrypto-lib-pem_xaux.o", + "crypto/pem/libcrypto-lib-pvkfmt.o", + "crypto/pkcs12/libcrypto-lib-p12_add.o", + "crypto/pkcs12/libcrypto-lib-p12_asn.o", + "crypto/pkcs12/libcrypto-lib-p12_attr.o", + "crypto/pkcs12/libcrypto-lib-p12_crpt.o", + "crypto/pkcs12/libcrypto-lib-p12_crt.o", + "crypto/pkcs12/libcrypto-lib-p12_decr.o", + "crypto/pkcs12/libcrypto-lib-p12_init.o", + "crypto/pkcs12/libcrypto-lib-p12_key.o", + "crypto/pkcs12/libcrypto-lib-p12_kiss.o", + "crypto/pkcs12/libcrypto-lib-p12_mutl.o", + "crypto/pkcs12/libcrypto-lib-p12_npas.o", + "crypto/pkcs12/libcrypto-lib-p12_p8d.o", + "crypto/pkcs12/libcrypto-lib-p12_p8e.o", + "crypto/pkcs12/libcrypto-lib-p12_sbag.o", + "crypto/pkcs12/libcrypto-lib-p12_utl.o", + "crypto/pkcs12/libcrypto-lib-pk12err.o", + "crypto/pkcs7/libcrypto-lib-bio_pk7.o", + "crypto/pkcs7/libcrypto-lib-pk7_asn1.o", + "crypto/pkcs7/libcrypto-lib-pk7_attr.o", + "crypto/pkcs7/libcrypto-lib-pk7_doit.o", + "crypto/pkcs7/libcrypto-lib-pk7_lib.o", + "crypto/pkcs7/libcrypto-lib-pk7_mime.o", + "crypto/pkcs7/libcrypto-lib-pk7_smime.o", + "crypto/pkcs7/libcrypto-lib-pkcs7err.o", + "crypto/poly1305/libcrypto-lib-poly1305.o", + "crypto/property/libcrypto-lib-defn_cache.o", + "crypto/property/libcrypto-lib-property.o", + "crypto/property/libcrypto-lib-property_err.o", + "crypto/property/libcrypto-lib-property_parse.o", + "crypto/property/libcrypto-lib-property_query.o", + "crypto/property/libcrypto-lib-property_string.o", + "crypto/rand/libcrypto-lib-prov_seed.o", + "crypto/rand/libcrypto-lib-rand_deprecated.o", + "crypto/rand/libcrypto-lib-rand_err.o", + "crypto/rand/libcrypto-lib-rand_lib.o", + "crypto/rand/libcrypto-lib-rand_meth.o", + "crypto/rand/libcrypto-lib-rand_pool.o", + "crypto/rand/libcrypto-lib-randfile.o", + "crypto/rc2/libcrypto-lib-rc2_cbc.o", + "crypto/rc2/libcrypto-lib-rc2_ecb.o", + "crypto/rc2/libcrypto-lib-rc2_skey.o", + "crypto/rc2/libcrypto-lib-rc2cfb64.o", + "crypto/rc2/libcrypto-lib-rc2ofb64.o", + "crypto/rc4/libcrypto-lib-rc4_enc.o", + "crypto/rc4/libcrypto-lib-rc4_skey.o", + "crypto/ripemd/libcrypto-lib-rmd_dgst.o", + "crypto/ripemd/libcrypto-lib-rmd_one.o", + "crypto/rsa/libcrypto-lib-rsa_ameth.o", + "crypto/rsa/libcrypto-lib-rsa_asn1.o", + "crypto/rsa/libcrypto-lib-rsa_backend.o", + "crypto/rsa/libcrypto-lib-rsa_chk.o", + "crypto/rsa/libcrypto-lib-rsa_crpt.o", + "crypto/rsa/libcrypto-lib-rsa_depr.o", + "crypto/rsa/libcrypto-lib-rsa_err.o", + "crypto/rsa/libcrypto-lib-rsa_gen.o", + "crypto/rsa/libcrypto-lib-rsa_lib.o", + "crypto/rsa/libcrypto-lib-rsa_meth.o", + "crypto/rsa/libcrypto-lib-rsa_mp.o", + "crypto/rsa/libcrypto-lib-rsa_mp_names.o", + "crypto/rsa/libcrypto-lib-rsa_none.o", + "crypto/rsa/libcrypto-lib-rsa_oaep.o", + "crypto/rsa/libcrypto-lib-rsa_ossl.o", + "crypto/rsa/libcrypto-lib-rsa_pk1.o", + "crypto/rsa/libcrypto-lib-rsa_pmeth.o", + "crypto/rsa/libcrypto-lib-rsa_prn.o", + "crypto/rsa/libcrypto-lib-rsa_pss.o", + "crypto/rsa/libcrypto-lib-rsa_saos.o", + "crypto/rsa/libcrypto-lib-rsa_schemes.o", + "crypto/rsa/libcrypto-lib-rsa_sign.o", + "crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o", + "crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o", + "crypto/rsa/libcrypto-lib-rsa_x931.o", + "crypto/rsa/libcrypto-lib-rsa_x931g.o", + "crypto/seed/libcrypto-lib-seed.o", + "crypto/seed/libcrypto-lib-seed_cbc.o", + "crypto/seed/libcrypto-lib-seed_cfb.o", + "crypto/seed/libcrypto-lib-seed_ecb.o", + "crypto/seed/libcrypto-lib-seed_ofb.o", + "crypto/sha/libcrypto-lib-keccak1600.o", + "crypto/sha/libcrypto-lib-sha1_one.o", + "crypto/sha/libcrypto-lib-sha1dgst.o", + "crypto/sha/libcrypto-lib-sha256.o", + "crypto/sha/libcrypto-lib-sha3.o", + "crypto/sha/libcrypto-lib-sha512.o", + "crypto/siphash/libcrypto-lib-siphash.o", + "crypto/sm2/libcrypto-lib-sm2_crypt.o", + "crypto/sm2/libcrypto-lib-sm2_err.o", + "crypto/sm2/libcrypto-lib-sm2_key.o", + "crypto/sm2/libcrypto-lib-sm2_sign.o", + "crypto/sm3/libcrypto-lib-legacy_sm3.o", + "crypto/sm3/libcrypto-lib-sm3.o", + "crypto/sm4/libcrypto-lib-sm4.o", + "crypto/srp/libcrypto-lib-srp_lib.o", + "crypto/srp/libcrypto-lib-srp_vfy.o", + "crypto/stack/libcrypto-lib-stack.o", + "crypto/store/libcrypto-lib-store_err.o", + "crypto/store/libcrypto-lib-store_init.o", + "crypto/store/libcrypto-lib-store_lib.o", + "crypto/store/libcrypto-lib-store_meth.o", + "crypto/store/libcrypto-lib-store_register.o", + "crypto/store/libcrypto-lib-store_result.o", + "crypto/store/libcrypto-lib-store_strings.o", + "crypto/ts/libcrypto-lib-ts_asn1.o", + "crypto/ts/libcrypto-lib-ts_conf.o", + "crypto/ts/libcrypto-lib-ts_err.o", + "crypto/ts/libcrypto-lib-ts_lib.o", + "crypto/ts/libcrypto-lib-ts_req_print.o", + "crypto/ts/libcrypto-lib-ts_req_utils.o", + "crypto/ts/libcrypto-lib-ts_rsp_print.o", + "crypto/ts/libcrypto-lib-ts_rsp_sign.o", + "crypto/ts/libcrypto-lib-ts_rsp_utils.o", + "crypto/ts/libcrypto-lib-ts_rsp_verify.o", + "crypto/ts/libcrypto-lib-ts_verify_ctx.o", + "crypto/txt_db/libcrypto-lib-txt_db.o", + "crypto/ui/libcrypto-lib-ui_err.o", + "crypto/ui/libcrypto-lib-ui_lib.o", + "crypto/ui/libcrypto-lib-ui_null.o", + "crypto/ui/libcrypto-lib-ui_openssl.o", + "crypto/ui/libcrypto-lib-ui_util.o", + "crypto/whrlpool/libcrypto-lib-wp_block.o", + "crypto/whrlpool/libcrypto-lib-wp_dgst.o", + "crypto/x509/libcrypto-lib-by_dir.o", + "crypto/x509/libcrypto-lib-by_file.o", + "crypto/x509/libcrypto-lib-by_store.o", + "crypto/x509/libcrypto-lib-pcy_cache.o", + "crypto/x509/libcrypto-lib-pcy_data.o", + "crypto/x509/libcrypto-lib-pcy_lib.o", + "crypto/x509/libcrypto-lib-pcy_map.o", + "crypto/x509/libcrypto-lib-pcy_node.o", + "crypto/x509/libcrypto-lib-pcy_tree.o", + "crypto/x509/libcrypto-lib-t_crl.o", + "crypto/x509/libcrypto-lib-t_req.o", + "crypto/x509/libcrypto-lib-t_x509.o", + "crypto/x509/libcrypto-lib-v3_addr.o", + "crypto/x509/libcrypto-lib-v3_admis.o", + "crypto/x509/libcrypto-lib-v3_akeya.o", + "crypto/x509/libcrypto-lib-v3_akid.o", + "crypto/x509/libcrypto-lib-v3_asid.o", + "crypto/x509/libcrypto-lib-v3_bcons.o", + "crypto/x509/libcrypto-lib-v3_bitst.o", + "crypto/x509/libcrypto-lib-v3_conf.o", + "crypto/x509/libcrypto-lib-v3_cpols.o", + "crypto/x509/libcrypto-lib-v3_crld.o", + "crypto/x509/libcrypto-lib-v3_enum.o", + "crypto/x509/libcrypto-lib-v3_extku.o", + "crypto/x509/libcrypto-lib-v3_genn.o", + "crypto/x509/libcrypto-lib-v3_ia5.o", + "crypto/x509/libcrypto-lib-v3_info.o", + "crypto/x509/libcrypto-lib-v3_int.o", + "crypto/x509/libcrypto-lib-v3_ist.o", + "crypto/x509/libcrypto-lib-v3_lib.o", + "crypto/x509/libcrypto-lib-v3_ncons.o", + "crypto/x509/libcrypto-lib-v3_pci.o", + "crypto/x509/libcrypto-lib-v3_pcia.o", + "crypto/x509/libcrypto-lib-v3_pcons.o", + "crypto/x509/libcrypto-lib-v3_pku.o", + "crypto/x509/libcrypto-lib-v3_pmaps.o", + "crypto/x509/libcrypto-lib-v3_prn.o", + "crypto/x509/libcrypto-lib-v3_purp.o", + "crypto/x509/libcrypto-lib-v3_san.o", + "crypto/x509/libcrypto-lib-v3_skid.o", + "crypto/x509/libcrypto-lib-v3_sxnet.o", + "crypto/x509/libcrypto-lib-v3_tlsf.o", + "crypto/x509/libcrypto-lib-v3_utf8.o", + "crypto/x509/libcrypto-lib-v3_utl.o", + "crypto/x509/libcrypto-lib-v3err.o", + "crypto/x509/libcrypto-lib-x509_att.o", + "crypto/x509/libcrypto-lib-x509_cmp.o", + "crypto/x509/libcrypto-lib-x509_d2.o", + "crypto/x509/libcrypto-lib-x509_def.o", + "crypto/x509/libcrypto-lib-x509_err.o", + "crypto/x509/libcrypto-lib-x509_ext.o", + "crypto/x509/libcrypto-lib-x509_lu.o", + "crypto/x509/libcrypto-lib-x509_meth.o", + "crypto/x509/libcrypto-lib-x509_obj.o", + "crypto/x509/libcrypto-lib-x509_r2x.o", + "crypto/x509/libcrypto-lib-x509_req.o", + "crypto/x509/libcrypto-lib-x509_set.o", + "crypto/x509/libcrypto-lib-x509_trust.o", + "crypto/x509/libcrypto-lib-x509_txt.o", + "crypto/x509/libcrypto-lib-x509_v3.o", + "crypto/x509/libcrypto-lib-x509_vfy.o", + "crypto/x509/libcrypto-lib-x509_vpm.o", + "crypto/x509/libcrypto-lib-x509cset.o", + "crypto/x509/libcrypto-lib-x509name.o", + "crypto/x509/libcrypto-lib-x509rset.o", + "crypto/x509/libcrypto-lib-x509spki.o", + "crypto/x509/libcrypto-lib-x509type.o", + "crypto/x509/libcrypto-lib-x_all.o", + "crypto/x509/libcrypto-lib-x_attrib.o", + "crypto/x509/libcrypto-lib-x_crl.o", + "crypto/x509/libcrypto-lib-x_exten.o", + "crypto/x509/libcrypto-lib-x_name.o", + "crypto/x509/libcrypto-lib-x_pubkey.o", + "crypto/x509/libcrypto-lib-x_req.o", + "crypto/x509/libcrypto-lib-x_x509.o", + "crypto/x509/libcrypto-lib-x_x509a.o", + "engines/libcrypto-lib-e_capi.o", + "engines/libcrypto-lib-e_padlock.o", + "providers/libcrypto-lib-baseprov.o", + "providers/libcrypto-lib-defltprov.o", + "providers/libcrypto-lib-nullprov.o", + "providers/libcrypto-lib-prov_running.o", + "providers/libdefault.a" + ], + "libssl" => [ + "ssl/libssl-lib-bio_ssl.o", + "ssl/libssl-lib-d1_lib.o", + "ssl/libssl-lib-d1_msg.o", + "ssl/libssl-lib-d1_srtp.o", + "ssl/libssl-lib-methods.o", + "ssl/libssl-lib-pqueue.o", + "ssl/libssl-lib-s3_enc.o", + "ssl/libssl-lib-s3_lib.o", + "ssl/libssl-lib-s3_msg.o", + "ssl/libssl-lib-ssl_asn1.o", + "ssl/libssl-lib-ssl_cert.o", + "ssl/libssl-lib-ssl_ciph.o", + "ssl/libssl-lib-ssl_conf.o", + "ssl/libssl-lib-ssl_err.o", + "ssl/libssl-lib-ssl_err_legacy.o", + "ssl/libssl-lib-ssl_init.o", + "ssl/libssl-lib-ssl_lib.o", + "ssl/libssl-lib-ssl_mcnf.o", + "ssl/libssl-lib-ssl_quic.o", + "ssl/libssl-lib-ssl_rsa.o", + "ssl/libssl-lib-ssl_rsa_legacy.o", + "ssl/libssl-lib-ssl_sess.o", + "ssl/libssl-lib-ssl_stat.o", + "ssl/libssl-lib-ssl_txt.o", + "ssl/libssl-lib-ssl_utst.o", + "ssl/libssl-lib-t1_enc.o", + "ssl/libssl-lib-t1_lib.o", + "ssl/libssl-lib-t1_trce.o", + "ssl/libssl-lib-tls13_enc.o", + "ssl/libssl-lib-tls_depr.o", + "ssl/libssl-lib-tls_srp.o", + "ssl/record/libssl-lib-dtls1_bitmap.o", + "ssl/record/libssl-lib-rec_layer_d1.o", + "ssl/record/libssl-lib-rec_layer_s3.o", + "ssl/record/libssl-lib-ssl3_buffer.o", + "ssl/record/libssl-lib-ssl3_record.o", + "ssl/record/libssl-lib-ssl3_record_tls13.o", + "ssl/statem/libssl-lib-extensions.o", + "ssl/statem/libssl-lib-extensions_clnt.o", + "ssl/statem/libssl-lib-extensions_cust.o", + "ssl/statem/libssl-lib-extensions_srvr.o", + "ssl/statem/libssl-lib-statem.o", + "ssl/statem/libssl-lib-statem_clnt.o", + "ssl/statem/libssl-lib-statem_dtls.o", + "ssl/statem/libssl-lib-statem_lib.o", + "ssl/statem/libssl-lib-statem_quic.o", + "ssl/statem/libssl-lib-statem_srvr.o" + ], + "providers/common/der/libcommon-lib-der_digests_gen.o" => [ + "providers/common/der/der_digests_gen.c" + ], + "providers/common/der/libcommon-lib-der_dsa_gen.o" => [ + "providers/common/der/der_dsa_gen.c" + ], + "providers/common/der/libcommon-lib-der_dsa_key.o" => [ + "providers/common/der/der_dsa_key.c" + ], + "providers/common/der/libcommon-lib-der_dsa_sig.o" => [ + "providers/common/der/der_dsa_sig.c" + ], + "providers/common/der/libcommon-lib-der_ec_gen.o" => [ + "providers/common/der/der_ec_gen.c" + ], + "providers/common/der/libcommon-lib-der_ec_key.o" => [ + "providers/common/der/der_ec_key.c" + ], + "providers/common/der/libcommon-lib-der_ec_sig.o" => [ + "providers/common/der/der_ec_sig.c" + ], + "providers/common/der/libcommon-lib-der_ecx_gen.o" => [ + "providers/common/der/der_ecx_gen.c" + ], + "providers/common/der/libcommon-lib-der_ecx_key.o" => [ + "providers/common/der/der_ecx_key.c" + ], + "providers/common/der/libcommon-lib-der_rsa_gen.o" => [ + "providers/common/der/der_rsa_gen.c" + ], + "providers/common/der/libcommon-lib-der_rsa_key.o" => [ + "providers/common/der/der_rsa_key.c" + ], + "providers/common/der/libcommon-lib-der_wrap_gen.o" => [ + "providers/common/der/der_wrap_gen.c" + ], + "providers/common/der/libdefault-lib-der_rsa_sig.o" => [ + "providers/common/der/der_rsa_sig.c" + ], + "providers/common/der/libdefault-lib-der_sm2_gen.o" => [ + "providers/common/der/der_sm2_gen.c" + ], + "providers/common/der/libdefault-lib-der_sm2_key.o" => [ + "providers/common/der/der_sm2_key.c" + ], + "providers/common/der/libdefault-lib-der_sm2_sig.o" => [ + "providers/common/der/der_sm2_sig.c" + ], + "providers/common/der/libfips-lib-der_rsa_sig.o" => [ + "providers/common/der/der_rsa_sig.c" + ], + "providers/common/libcommon-lib-provider_ctx.o" => [ + "providers/common/provider_ctx.c" + ], + "providers/common/libcommon-lib-provider_err.o" => [ + "providers/common/provider_err.c" + ], + "providers/common/libdefault-lib-bio_prov.o" => [ + "providers/common/bio_prov.c" + ], + "providers/common/libdefault-lib-capabilities.o" => [ + "providers/common/capabilities.c" + ], + "providers/common/libdefault-lib-digest_to_nid.o" => [ + "providers/common/digest_to_nid.c" + ], + "providers/common/libdefault-lib-provider_seeding.o" => [ + "providers/common/provider_seeding.c" + ], + "providers/common/libdefault-lib-provider_util.o" => [ + "providers/common/provider_util.c" + ], + "providers/common/libdefault-lib-securitycheck.o" => [ + "providers/common/securitycheck.c" + ], + "providers/common/libdefault-lib-securitycheck_default.o" => [ + "providers/common/securitycheck_default.c" + ], + "providers/common/libfips-lib-bio_prov.o" => [ + "providers/common/bio_prov.c" + ], + "providers/common/libfips-lib-capabilities.o" => [ + "providers/common/capabilities.c" + ], + "providers/common/libfips-lib-digest_to_nid.o" => [ + "providers/common/digest_to_nid.c" + ], + "providers/common/libfips-lib-provider_seeding.o" => [ + "providers/common/provider_seeding.c" + ], + "providers/common/libfips-lib-provider_util.o" => [ + "providers/common/provider_util.c" + ], + "providers/common/libfips-lib-securitycheck.o" => [ + "providers/common/securitycheck.c" + ], + "providers/common/libfips-lib-securitycheck_fips.o" => [ + "providers/common/securitycheck_fips.c" + ], + "providers/fips" => [ + "providers/fips.ld", + "providers/fips/fips-dso-fips_entry.o" + ], + "providers/fips/fips-dso-fips_entry.o" => [ + "providers/fips/fips_entry.c" + ], + "providers/fips/libfips-lib-fipsprov.o" => [ + "providers/fips/fipsprov.c" + ], + "providers/fips/libfips-lib-self_test.o" => [ + "providers/fips/self_test.c" + ], + "providers/fips/libfips-lib-self_test_kats.o" => [ + "providers/fips/self_test_kats.c" + ], + "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o" => [ + "providers/implementations/asymciphers/rsa_enc.c" + ], + "providers/implementations/asymciphers/libdefault-lib-sm2_enc.o" => [ + "providers/implementations/asymciphers/sm2_enc.c" + ], + "providers/implementations/asymciphers/libfips-lib-rsa_enc.o" => [ + "providers/implementations/asymciphers/rsa_enc.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon.o" => [ + "providers/implementations/ciphers/ciphercommon.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon_block.o" => [ + "providers/implementations/ciphers/ciphercommon_block.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm.o" => [ + "providers/implementations/ciphers/ciphercommon_ccm.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm_hw.o" => [ + "providers/implementations/ciphers/ciphercommon_ccm_hw.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm.o" => [ + "providers/implementations/ciphers/ciphercommon_gcm.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm_hw.o" => [ + "providers/implementations/ciphers/ciphercommon_gcm_hw.c" + ], + "providers/implementations/ciphers/libcommon-lib-ciphercommon_hw.o" => [ + "providers/implementations/ciphers/ciphercommon_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes.o" => [ + "providers/implementations/ciphers/cipher_aes.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha.o" => [ + "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha1_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha256_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm.o" => [ + "providers/implementations/ciphers/cipher_aes_ccm.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_ccm_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm.o" => [ + "providers/implementations/ciphers/cipher_aes_gcm.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_gcm_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb.o" => [ + "providers/implementations/ciphers/cipher_aes_ocb.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_ocb_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv.o" => [ + "providers/implementations/ciphers/cipher_aes_siv.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_siv_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_wrp.o" => [ + "providers/implementations/ciphers/cipher_aes_wrp.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts.o" => [ + "providers/implementations/ciphers/cipher_aes_xts.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_fips.o" => [ + "providers/implementations/ciphers/cipher_aes_xts_fips.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_xts_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aria.o" => [ + "providers/implementations/ciphers/cipher_aria.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aria_ccm.o" => [ + "providers/implementations/ciphers/cipher_aria_ccm.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aria_ccm_hw.o" => [ + "providers/implementations/ciphers/cipher_aria_ccm_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aria_gcm.o" => [ + "providers/implementations/ciphers/cipher_aria_gcm.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aria_gcm_hw.o" => [ + "providers/implementations/ciphers/cipher_aria_gcm_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_aria_hw.o" => [ + "providers/implementations/ciphers/cipher_aria_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_camellia.o" => [ + "providers/implementations/ciphers/cipher_camellia.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_camellia_hw.o" => [ + "providers/implementations/ciphers/cipher_camellia_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20.o" => [ + "providers/implementations/ciphers/cipher_chacha20.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_hw.o" => [ + "providers/implementations/ciphers/cipher_chacha20_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305.o" => [ + "providers/implementations/ciphers/cipher_chacha20_poly1305.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305_hw.o" => [ + "providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_cts.o" => [ + "providers/implementations/ciphers/cipher_cts.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_null.o" => [ + "providers/implementations/ciphers/cipher_null.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_sm4.o" => [ + "providers/implementations/ciphers/cipher_sm4.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_sm4_hw.o" => [ + "providers/implementations/ciphers/cipher_sm4_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes.o" => [ + "providers/implementations/ciphers/cipher_tdes.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_common.o" => [ + "providers/implementations/ciphers/cipher_tdes_common.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default.o" => [ + "providers/implementations/ciphers/cipher_tdes_default.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default_hw.o" => [ + "providers/implementations/ciphers/cipher_tdes_default_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o" => [ + "providers/implementations/ciphers/cipher_tdes_hw.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o" => [ + "providers/implementations/ciphers/cipher_tdes_wrap.c" + ], + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o" => [ + "providers/implementations/ciphers/cipher_tdes_wrap_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes.o" => [ + "providers/implementations/ciphers/cipher_aes.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha.o" => [ + "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha1_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha256_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm.o" => [ + "providers/implementations/ciphers/cipher_aes_ccm.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_ccm_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm.o" => [ + "providers/implementations/ciphers/cipher_aes_gcm.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_gcm_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb.o" => [ + "providers/implementations/ciphers/cipher_aes_ocb.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_ocb_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_wrp.o" => [ + "providers/implementations/ciphers/cipher_aes_wrp.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts.o" => [ + "providers/implementations/ciphers/cipher_aes_xts.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_fips.o" => [ + "providers/implementations/ciphers/cipher_aes_xts_fips.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_hw.o" => [ + "providers/implementations/ciphers/cipher_aes_xts_hw.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_cts.o" => [ + "providers/implementations/ciphers/cipher_cts.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_tdes.o" => [ + "providers/implementations/ciphers/cipher_tdes.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_tdes_common.o" => [ + "providers/implementations/ciphers/cipher_tdes_common.c" + ], + "providers/implementations/ciphers/libfips-lib-cipher_tdes_hw.o" => [ + "providers/implementations/ciphers/cipher_tdes_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o" => [ + "providers/implementations/ciphers/cipher_blowfish.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o" => [ + "providers/implementations/ciphers/cipher_blowfish_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o" => [ + "providers/implementations/ciphers/cipher_cast5.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o" => [ + "providers/implementations/ciphers/cipher_cast5_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_des.o" => [ + "providers/implementations/ciphers/cipher_des.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o" => [ + "providers/implementations/ciphers/cipher_des_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o" => [ + "providers/implementations/ciphers/cipher_desx.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o" => [ + "providers/implementations/ciphers/cipher_desx_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_idea.o" => [ + "providers/implementations/ciphers/cipher_idea.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_idea_hw.o" => [ + "providers/implementations/ciphers/cipher_idea_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o" => [ + "providers/implementations/ciphers/cipher_rc2.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o" => [ + "providers/implementations/ciphers/cipher_rc2_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o" => [ + "providers/implementations/ciphers/cipher_rc4.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o" => [ + "providers/implementations/ciphers/cipher_rc4_hmac_md5.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o" => [ + "providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o" => [ + "providers/implementations/ciphers/cipher_rc4_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o" => [ + "providers/implementations/ciphers/cipher_seed.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o" => [ + "providers/implementations/ciphers/cipher_seed_hw.c" + ], + "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o" => [ + "providers/implementations/ciphers/cipher_tdes_common.c" + ], + "providers/implementations/digests/libcommon-lib-digestcommon.o" => [ + "providers/implementations/digests/digestcommon.c" + ], + "providers/implementations/digests/libdefault-lib-blake2_prov.o" => [ + "providers/implementations/digests/blake2_prov.c" + ], + "providers/implementations/digests/libdefault-lib-blake2b_prov.o" => [ + "providers/implementations/digests/blake2b_prov.c" + ], + "providers/implementations/digests/libdefault-lib-blake2s_prov.o" => [ + "providers/implementations/digests/blake2s_prov.c" + ], + "providers/implementations/digests/libdefault-lib-md5_prov.o" => [ + "providers/implementations/digests/md5_prov.c" + ], + "providers/implementations/digests/libdefault-lib-md5_sha1_prov.o" => [ + "providers/implementations/digests/md5_sha1_prov.c" + ], + "providers/implementations/digests/libdefault-lib-null_prov.o" => [ + "providers/implementations/digests/null_prov.c" + ], + "providers/implementations/digests/libdefault-lib-ripemd_prov.o" => [ + "providers/implementations/digests/ripemd_prov.c" + ], + "providers/implementations/digests/libdefault-lib-sha2_prov.o" => [ + "providers/implementations/digests/sha2_prov.c" + ], + "providers/implementations/digests/libdefault-lib-sha3_prov.o" => [ + "providers/implementations/digests/sha3_prov.c" + ], + "providers/implementations/digests/libdefault-lib-sm3_prov.o" => [ + "providers/implementations/digests/sm3_prov.c" + ], + "providers/implementations/digests/libfips-lib-sha2_prov.o" => [ + "providers/implementations/digests/sha2_prov.c" + ], + "providers/implementations/digests/libfips-lib-sha3_prov.o" => [ + "providers/implementations/digests/sha3_prov.c" + ], + "providers/implementations/digests/liblegacy-lib-md4_prov.o" => [ + "providers/implementations/digests/md4_prov.c" + ], + "providers/implementations/digests/liblegacy-lib-mdc2_prov.o" => [ + "providers/implementations/digests/mdc2_prov.c" + ], + "providers/implementations/digests/liblegacy-lib-ripemd_prov.o" => [ + "providers/implementations/digests/ripemd_prov.c" + ], + "providers/implementations/digests/liblegacy-lib-wp_prov.o" => [ + "providers/implementations/digests/wp_prov.c" + ], + "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o" => [ + "providers/implementations/encode_decode/decode_der2key.c" + ], + "providers/implementations/encode_decode/libdefault-lib-decode_epki2pki.o" => [ + "providers/implementations/encode_decode/decode_epki2pki.c" + ], + "providers/implementations/encode_decode/libdefault-lib-decode_msblob2key.o" => [ + "providers/implementations/encode_decode/decode_msblob2key.c" + ], + "providers/implementations/encode_decode/libdefault-lib-decode_pem2der.o" => [ + "providers/implementations/encode_decode/decode_pem2der.c" + ], + "providers/implementations/encode_decode/libdefault-lib-decode_pvk2key.o" => [ + "providers/implementations/encode_decode/decode_pvk2key.c" + ], + "providers/implementations/encode_decode/libdefault-lib-decode_spki2typespki.o" => [ + "providers/implementations/encode_decode/decode_spki2typespki.c" + ], + "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [ + "providers/implementations/encode_decode/encode_key2any.c" + ], + "providers/implementations/encode_decode/libdefault-lib-encode_key2blob.o" => [ + "providers/implementations/encode_decode/encode_key2blob.c" + ], + "providers/implementations/encode_decode/libdefault-lib-encode_key2ms.o" => [ + "providers/implementations/encode_decode/encode_key2ms.c" + ], + "providers/implementations/encode_decode/libdefault-lib-encode_key2text.o" => [ + "providers/implementations/encode_decode/encode_key2text.c" + ], + "providers/implementations/encode_decode/libdefault-lib-endecoder_common.o" => [ + "providers/implementations/encode_decode/endecoder_common.c" + ], + "providers/implementations/exchange/libdefault-lib-dh_exch.o" => [ + "providers/implementations/exchange/dh_exch.c" + ], + "providers/implementations/exchange/libdefault-lib-ecdh_exch.o" => [ + "providers/implementations/exchange/ecdh_exch.c" + ], + "providers/implementations/exchange/libdefault-lib-ecx_exch.o" => [ + "providers/implementations/exchange/ecx_exch.c" + ], + "providers/implementations/exchange/libdefault-lib-kdf_exch.o" => [ + "providers/implementations/exchange/kdf_exch.c" + ], + "providers/implementations/exchange/libfips-lib-dh_exch.o" => [ + "providers/implementations/exchange/dh_exch.c" + ], + "providers/implementations/exchange/libfips-lib-ecdh_exch.o" => [ + "providers/implementations/exchange/ecdh_exch.c" + ], + "providers/implementations/exchange/libfips-lib-ecx_exch.o" => [ + "providers/implementations/exchange/ecx_exch.c" + ], + "providers/implementations/exchange/libfips-lib-kdf_exch.o" => [ + "providers/implementations/exchange/kdf_exch.c" + ], + "providers/implementations/kdfs/libdefault-lib-hkdf.o" => [ + "providers/implementations/kdfs/hkdf.c" + ], + "providers/implementations/kdfs/libdefault-lib-kbkdf.o" => [ + "providers/implementations/kdfs/kbkdf.c" + ], + "providers/implementations/kdfs/libdefault-lib-krb5kdf.o" => [ + "providers/implementations/kdfs/krb5kdf.c" + ], + "providers/implementations/kdfs/libdefault-lib-pbkdf2.o" => [ + "providers/implementations/kdfs/pbkdf2.c" + ], + "providers/implementations/kdfs/libdefault-lib-pbkdf2_fips.o" => [ + "providers/implementations/kdfs/pbkdf2_fips.c" + ], + "providers/implementations/kdfs/libdefault-lib-pkcs12kdf.o" => [ + "providers/implementations/kdfs/pkcs12kdf.c" + ], + "providers/implementations/kdfs/libdefault-lib-scrypt.o" => [ + "providers/implementations/kdfs/scrypt.c" + ], + "providers/implementations/kdfs/libdefault-lib-sshkdf.o" => [ + "providers/implementations/kdfs/sshkdf.c" + ], + "providers/implementations/kdfs/libdefault-lib-sskdf.o" => [ + "providers/implementations/kdfs/sskdf.c" + ], + "providers/implementations/kdfs/libdefault-lib-tls1_prf.o" => [ + "providers/implementations/kdfs/tls1_prf.c" + ], + "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [ + "providers/implementations/kdfs/x942kdf.c" + ], + "providers/implementations/kdfs/libfips-lib-hkdf.o" => [ + "providers/implementations/kdfs/hkdf.c" + ], + "providers/implementations/kdfs/libfips-lib-kbkdf.o" => [ + "providers/implementations/kdfs/kbkdf.c" + ], + "providers/implementations/kdfs/libfips-lib-pbkdf2.o" => [ + "providers/implementations/kdfs/pbkdf2.c" + ], + "providers/implementations/kdfs/libfips-lib-pbkdf2_fips.o" => [ + "providers/implementations/kdfs/pbkdf2_fips.c" + ], + "providers/implementations/kdfs/libfips-lib-sshkdf.o" => [ + "providers/implementations/kdfs/sshkdf.c" + ], + "providers/implementations/kdfs/libfips-lib-sskdf.o" => [ + "providers/implementations/kdfs/sskdf.c" + ], + "providers/implementations/kdfs/libfips-lib-tls1_prf.o" => [ + "providers/implementations/kdfs/tls1_prf.c" + ], + "providers/implementations/kdfs/libfips-lib-x942kdf.o" => [ + "providers/implementations/kdfs/x942kdf.c" + ], + "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o" => [ + "providers/implementations/kdfs/pbkdf1.c" + ], + "providers/implementations/kem/libdefault-lib-rsa_kem.o" => [ + "providers/implementations/kem/rsa_kem.c" + ], + "providers/implementations/kem/libfips-lib-rsa_kem.o" => [ + "providers/implementations/kem/rsa_kem.c" + ], + "providers/implementations/keymgmt/libdefault-lib-dh_kmgmt.o" => [ + "providers/implementations/keymgmt/dh_kmgmt.c" + ], + "providers/implementations/keymgmt/libdefault-lib-dsa_kmgmt.o" => [ + "providers/implementations/keymgmt/dsa_kmgmt.c" + ], + "providers/implementations/keymgmt/libdefault-lib-ec_kmgmt.o" => [ + "providers/implementations/keymgmt/ec_kmgmt.c" + ], + "providers/implementations/keymgmt/libdefault-lib-ecx_kmgmt.o" => [ + "providers/implementations/keymgmt/ecx_kmgmt.c" + ], + "providers/implementations/keymgmt/libdefault-lib-kdf_legacy_kmgmt.o" => [ + "providers/implementations/keymgmt/kdf_legacy_kmgmt.c" + ], + "providers/implementations/keymgmt/libdefault-lib-mac_legacy_kmgmt.o" => [ + "providers/implementations/keymgmt/mac_legacy_kmgmt.c" + ], + "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o" => [ + "providers/implementations/keymgmt/rsa_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-dh_kmgmt.o" => [ + "providers/implementations/keymgmt/dh_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-dsa_kmgmt.o" => [ + "providers/implementations/keymgmt/dsa_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-ec_kmgmt.o" => [ + "providers/implementations/keymgmt/ec_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-ecx_kmgmt.o" => [ + "providers/implementations/keymgmt/ecx_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-kdf_legacy_kmgmt.o" => [ + "providers/implementations/keymgmt/kdf_legacy_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-mac_legacy_kmgmt.o" => [ + "providers/implementations/keymgmt/mac_legacy_kmgmt.c" + ], + "providers/implementations/keymgmt/libfips-lib-rsa_kmgmt.o" => [ + "providers/implementations/keymgmt/rsa_kmgmt.c" + ], + "providers/implementations/macs/libdefault-lib-blake2b_mac.o" => [ + "providers/implementations/macs/blake2b_mac.c" + ], + "providers/implementations/macs/libdefault-lib-blake2s_mac.o" => [ + "providers/implementations/macs/blake2s_mac.c" + ], + "providers/implementations/macs/libdefault-lib-cmac_prov.o" => [ + "providers/implementations/macs/cmac_prov.c" + ], + "providers/implementations/macs/libdefault-lib-gmac_prov.o" => [ + "providers/implementations/macs/gmac_prov.c" + ], + "providers/implementations/macs/libdefault-lib-hmac_prov.o" => [ + "providers/implementations/macs/hmac_prov.c" + ], + "providers/implementations/macs/libdefault-lib-kmac_prov.o" => [ + "providers/implementations/macs/kmac_prov.c" + ], + "providers/implementations/macs/libdefault-lib-poly1305_prov.o" => [ + "providers/implementations/macs/poly1305_prov.c" + ], + "providers/implementations/macs/libdefault-lib-siphash_prov.o" => [ + "providers/implementations/macs/siphash_prov.c" + ], + "providers/implementations/macs/libfips-lib-cmac_prov.o" => [ + "providers/implementations/macs/cmac_prov.c" + ], + "providers/implementations/macs/libfips-lib-gmac_prov.o" => [ + "providers/implementations/macs/gmac_prov.c" + ], + "providers/implementations/macs/libfips-lib-hmac_prov.o" => [ + "providers/implementations/macs/hmac_prov.c" + ], + "providers/implementations/macs/libfips-lib-kmac_prov.o" => [ + "providers/implementations/macs/kmac_prov.c" + ], + "providers/implementations/rands/libdefault-lib-crngt.o" => [ + "providers/implementations/rands/crngt.c" + ], + "providers/implementations/rands/libdefault-lib-drbg.o" => [ + "providers/implementations/rands/drbg.c" + ], + "providers/implementations/rands/libdefault-lib-drbg_ctr.o" => [ + "providers/implementations/rands/drbg_ctr.c" + ], + "providers/implementations/rands/libdefault-lib-drbg_hash.o" => [ + "providers/implementations/rands/drbg_hash.c" + ], + "providers/implementations/rands/libdefault-lib-drbg_hmac.o" => [ + "providers/implementations/rands/drbg_hmac.c" + ], + "providers/implementations/rands/libdefault-lib-seed_src.o" => [ + "providers/implementations/rands/seed_src.c" + ], + "providers/implementations/rands/libdefault-lib-test_rng.o" => [ + "providers/implementations/rands/test_rng.c" + ], + "providers/implementations/rands/libfips-lib-crngt.o" => [ + "providers/implementations/rands/crngt.c" + ], + "providers/implementations/rands/libfips-lib-drbg.o" => [ + "providers/implementations/rands/drbg.c" + ], + "providers/implementations/rands/libfips-lib-drbg_ctr.o" => [ + "providers/implementations/rands/drbg_ctr.c" + ], + "providers/implementations/rands/libfips-lib-drbg_hash.o" => [ + "providers/implementations/rands/drbg_hash.c" + ], + "providers/implementations/rands/libfips-lib-drbg_hmac.o" => [ + "providers/implementations/rands/drbg_hmac.c" + ], + "providers/implementations/rands/libfips-lib-test_rng.o" => [ + "providers/implementations/rands/test_rng.c" + ], + "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o" => [ + "providers/implementations/rands/seeding/rand_cpu_x86.c" + ], + "providers/implementations/rands/seeding/libdefault-lib-rand_tsc.o" => [ + "providers/implementations/rands/seeding/rand_tsc.c" + ], + "providers/implementations/rands/seeding/libdefault-lib-rand_unix.o" => [ + "providers/implementations/rands/seeding/rand_unix.c" + ], + "providers/implementations/rands/seeding/libdefault-lib-rand_win.o" => [ + "providers/implementations/rands/seeding/rand_win.c" + ], + "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [ + "providers/implementations/signature/dsa_sig.c" + ], + "providers/implementations/signature/libdefault-lib-ecdsa_sig.o" => [ + "providers/implementations/signature/ecdsa_sig.c" + ], + "providers/implementations/signature/libdefault-lib-eddsa_sig.o" => [ + "providers/implementations/signature/eddsa_sig.c" + ], + "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o" => [ + "providers/implementations/signature/mac_legacy_sig.c" + ], + "providers/implementations/signature/libdefault-lib-rsa_sig.o" => [ + "providers/implementations/signature/rsa_sig.c" + ], + "providers/implementations/signature/libdefault-lib-sm2_sig.o" => [ + "providers/implementations/signature/sm2_sig.c" + ], + "providers/implementations/signature/libfips-lib-dsa_sig.o" => [ + "providers/implementations/signature/dsa_sig.c" + ], + "providers/implementations/signature/libfips-lib-ecdsa_sig.o" => [ + "providers/implementations/signature/ecdsa_sig.c" + ], + "providers/implementations/signature/libfips-lib-eddsa_sig.o" => [ + "providers/implementations/signature/eddsa_sig.c" + ], + "providers/implementations/signature/libfips-lib-mac_legacy_sig.o" => [ + "providers/implementations/signature/mac_legacy_sig.c" + ], + "providers/implementations/signature/libfips-lib-rsa_sig.o" => [ + "providers/implementations/signature/rsa_sig.c" + ], + "providers/implementations/storemgmt/libdefault-lib-file_store.o" => [ + "providers/implementations/storemgmt/file_store.c" + ], + "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o" => [ + "providers/implementations/storemgmt/file_store_any2obj.c" + ], + "providers/legacy" => [ + "providers/legacy-dso-legacyprov.o", + "providers/legacy.ld" + ], + "providers/legacy-dso-legacyprov.o" => [ + "providers/legacyprov.c" + ], + "providers/libcommon.a" => [ + "providers/common/der/libcommon-lib-der_digests_gen.o", + "providers/common/der/libcommon-lib-der_dsa_gen.o", + "providers/common/der/libcommon-lib-der_dsa_key.o", + "providers/common/der/libcommon-lib-der_dsa_sig.o", + "providers/common/der/libcommon-lib-der_ec_gen.o", + "providers/common/der/libcommon-lib-der_ec_key.o", + "providers/common/der/libcommon-lib-der_ec_sig.o", + "providers/common/der/libcommon-lib-der_ecx_gen.o", + "providers/common/der/libcommon-lib-der_ecx_key.o", + "providers/common/der/libcommon-lib-der_rsa_gen.o", + "providers/common/der/libcommon-lib-der_rsa_key.o", + "providers/common/der/libcommon-lib-der_wrap_gen.o", + "providers/common/libcommon-lib-provider_ctx.o", + "providers/common/libcommon-lib-provider_err.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_block.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm_hw.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm_hw.o", + "providers/implementations/ciphers/libcommon-lib-ciphercommon_hw.o", + "providers/implementations/digests/libcommon-lib-digestcommon.o", + "ssl/record/libcommon-lib-tls_pad.o" + ], + "providers/libcrypto-lib-baseprov.o" => [ + "providers/baseprov.c" + ], + "providers/libcrypto-lib-defltprov.o" => [ + "providers/defltprov.c" + ], + "providers/libcrypto-lib-nullprov.o" => [ + "providers/nullprov.c" + ], + "providers/libcrypto-lib-prov_running.o" => [ + "providers/prov_running.c" + ], + "providers/libdefault.a" => [ + "providers/common/der/libdefault-lib-der_rsa_sig.o", + "providers/common/der/libdefault-lib-der_sm2_gen.o", + "providers/common/der/libdefault-lib-der_sm2_key.o", + "providers/common/der/libdefault-lib-der_sm2_sig.o", + "providers/common/libdefault-lib-bio_prov.o", + "providers/common/libdefault-lib-capabilities.o", + "providers/common/libdefault-lib-digest_to_nid.o", + "providers/common/libdefault-lib-provider_seeding.o", + "providers/common/libdefault-lib-provider_util.o", + "providers/common/libdefault-lib-securitycheck.o", + "providers/common/libdefault-lib-securitycheck_default.o", + "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o", + "providers/implementations/asymciphers/libdefault-lib-sm2_enc.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha1_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha256_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_wrp.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_fips.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_ccm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_ccm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_gcm.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_gcm_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_aria_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_camellia.o", + "providers/implementations/ciphers/libdefault-lib-cipher_camellia_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305.o", + "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_cts.o", + "providers/implementations/ciphers/libdefault-lib-cipher_null.o", + "providers/implementations/ciphers/libdefault-lib-cipher_sm4.o", + "providers/implementations/ciphers/libdefault-lib-cipher_sm4_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_common.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o", + "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o", + "providers/implementations/digests/libdefault-lib-blake2_prov.o", + "providers/implementations/digests/libdefault-lib-blake2b_prov.o", + "providers/implementations/digests/libdefault-lib-blake2s_prov.o", + "providers/implementations/digests/libdefault-lib-md5_prov.o", + "providers/implementations/digests/libdefault-lib-md5_sha1_prov.o", + "providers/implementations/digests/libdefault-lib-null_prov.o", + "providers/implementations/digests/libdefault-lib-ripemd_prov.o", + "providers/implementations/digests/libdefault-lib-sha2_prov.o", + "providers/implementations/digests/libdefault-lib-sha3_prov.o", + "providers/implementations/digests/libdefault-lib-sm3_prov.o", + "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o", + "providers/implementations/encode_decode/libdefault-lib-decode_epki2pki.o", + "providers/implementations/encode_decode/libdefault-lib-decode_msblob2key.o", + "providers/implementations/encode_decode/libdefault-lib-decode_pem2der.o", + "providers/implementations/encode_decode/libdefault-lib-decode_pvk2key.o", + "providers/implementations/encode_decode/libdefault-lib-decode_spki2typespki.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2blob.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2ms.o", + "providers/implementations/encode_decode/libdefault-lib-encode_key2text.o", + "providers/implementations/encode_decode/libdefault-lib-endecoder_common.o", + "providers/implementations/exchange/libdefault-lib-dh_exch.o", + "providers/implementations/exchange/libdefault-lib-ecdh_exch.o", + "providers/implementations/exchange/libdefault-lib-ecx_exch.o", + "providers/implementations/exchange/libdefault-lib-kdf_exch.o", + "providers/implementations/kdfs/libdefault-lib-hkdf.o", + "providers/implementations/kdfs/libdefault-lib-kbkdf.o", + "providers/implementations/kdfs/libdefault-lib-krb5kdf.o", + "providers/implementations/kdfs/libdefault-lib-pbkdf2.o", + "providers/implementations/kdfs/libdefault-lib-pbkdf2_fips.o", + "providers/implementations/kdfs/libdefault-lib-pkcs12kdf.o", + "providers/implementations/kdfs/libdefault-lib-scrypt.o", + "providers/implementations/kdfs/libdefault-lib-sshkdf.o", + "providers/implementations/kdfs/libdefault-lib-sskdf.o", + "providers/implementations/kdfs/libdefault-lib-tls1_prf.o", + "providers/implementations/kdfs/libdefault-lib-x942kdf.o", + "providers/implementations/kem/libdefault-lib-rsa_kem.o", + "providers/implementations/keymgmt/libdefault-lib-dh_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-dsa_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-ec_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-ecx_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-kdf_legacy_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-mac_legacy_kmgmt.o", + "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o", + "providers/implementations/macs/libdefault-lib-blake2b_mac.o", + "providers/implementations/macs/libdefault-lib-blake2s_mac.o", + "providers/implementations/macs/libdefault-lib-cmac_prov.o", + "providers/implementations/macs/libdefault-lib-gmac_prov.o", + "providers/implementations/macs/libdefault-lib-hmac_prov.o", + "providers/implementations/macs/libdefault-lib-kmac_prov.o", + "providers/implementations/macs/libdefault-lib-poly1305_prov.o", + "providers/implementations/macs/libdefault-lib-siphash_prov.o", + "providers/implementations/rands/libdefault-lib-crngt.o", + "providers/implementations/rands/libdefault-lib-drbg.o", + "providers/implementations/rands/libdefault-lib-drbg_ctr.o", + "providers/implementations/rands/libdefault-lib-drbg_hash.o", + "providers/implementations/rands/libdefault-lib-drbg_hmac.o", + "providers/implementations/rands/libdefault-lib-seed_src.o", + "providers/implementations/rands/libdefault-lib-test_rng.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_tsc.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_unix.o", + "providers/implementations/rands/seeding/libdefault-lib-rand_win.o", + "providers/implementations/signature/libdefault-lib-dsa_sig.o", + "providers/implementations/signature/libdefault-lib-ecdsa_sig.o", + "providers/implementations/signature/libdefault-lib-eddsa_sig.o", + "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o", + "providers/implementations/signature/libdefault-lib-rsa_sig.o", + "providers/implementations/signature/libdefault-lib-sm2_sig.o", + "providers/implementations/storemgmt/libdefault-lib-file_store.o", + "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o", + "ssl/libdefault-lib-s3_cbc.o" + ], + "providers/libfips.a" => [ + "crypto/aes/libfips-lib-aes_cbc.o", + "crypto/aes/libfips-lib-aes_core.o", + "crypto/aes/libfips-lib-aes_ecb.o", + "crypto/aes/libfips-lib-aes_misc.o", + "crypto/bn/libfips-lib-bn_add.o", + "crypto/bn/libfips-lib-bn_asm.o", + "crypto/bn/libfips-lib-bn_blind.o", + "crypto/bn/libfips-lib-bn_const.o", + "crypto/bn/libfips-lib-bn_conv.o", + "crypto/bn/libfips-lib-bn_ctx.o", + "crypto/bn/libfips-lib-bn_dh.o", + "crypto/bn/libfips-lib-bn_div.o", + "crypto/bn/libfips-lib-bn_exp.o", + "crypto/bn/libfips-lib-bn_exp2.o", + "crypto/bn/libfips-lib-bn_gcd.o", + "crypto/bn/libfips-lib-bn_gf2m.o", + "crypto/bn/libfips-lib-bn_intern.o", + "crypto/bn/libfips-lib-bn_kron.o", + "crypto/bn/libfips-lib-bn_lib.o", + "crypto/bn/libfips-lib-bn_mod.o", + "crypto/bn/libfips-lib-bn_mont.o", + "crypto/bn/libfips-lib-bn_mpi.o", + "crypto/bn/libfips-lib-bn_mul.o", + "crypto/bn/libfips-lib-bn_nist.o", + "crypto/bn/libfips-lib-bn_prime.o", + "crypto/bn/libfips-lib-bn_rand.o", + "crypto/bn/libfips-lib-bn_recp.o", + "crypto/bn/libfips-lib-bn_rsa_fips186_4.o", + "crypto/bn/libfips-lib-bn_shift.o", + "crypto/bn/libfips-lib-bn_sqr.o", + "crypto/bn/libfips-lib-bn_sqrt.o", + "crypto/bn/libfips-lib-bn_word.o", + "crypto/bn/libfips-lib-rsa_sup_mul.o", + "crypto/buffer/libfips-lib-buffer.o", + "crypto/cmac/libfips-lib-cmac.o", + "crypto/des/libfips-lib-des_enc.o", + "crypto/des/libfips-lib-ecb3_enc.o", + "crypto/des/libfips-lib-fcrypt_b.o", + "crypto/des/libfips-lib-set_key.o", + "crypto/dh/libfips-lib-dh_backend.o", + "crypto/dh/libfips-lib-dh_check.o", + "crypto/dh/libfips-lib-dh_gen.o", + "crypto/dh/libfips-lib-dh_group_params.o", + "crypto/dh/libfips-lib-dh_kdf.o", + "crypto/dh/libfips-lib-dh_key.o", + "crypto/dh/libfips-lib-dh_lib.o", + "crypto/dsa/libfips-lib-dsa_backend.o", + "crypto/dsa/libfips-lib-dsa_check.o", + "crypto/dsa/libfips-lib-dsa_gen.o", + "crypto/dsa/libfips-lib-dsa_key.o", + "crypto/dsa/libfips-lib-dsa_lib.o", + "crypto/dsa/libfips-lib-dsa_ossl.o", + "crypto/dsa/libfips-lib-dsa_sign.o", + "crypto/dsa/libfips-lib-dsa_vrf.o", + "crypto/ec/curve448/arch_32/libfips-lib-f_impl32.o", + "crypto/ec/curve448/arch_64/libfips-lib-f_impl64.o", + "crypto/ec/curve448/libfips-lib-curve448.o", + "crypto/ec/curve448/libfips-lib-curve448_tables.o", + "crypto/ec/curve448/libfips-lib-eddsa.o", + "crypto/ec/curve448/libfips-lib-f_generic.o", + "crypto/ec/curve448/libfips-lib-scalar.o", + "crypto/ec/libfips-lib-curve25519.o", + "crypto/ec/libfips-lib-ec2_oct.o", + "crypto/ec/libfips-lib-ec2_smpl.o", + "crypto/ec/libfips-lib-ec_asn1.o", + "crypto/ec/libfips-lib-ec_backend.o", + "crypto/ec/libfips-lib-ec_check.o", + "crypto/ec/libfips-lib-ec_curve.o", + "crypto/ec/libfips-lib-ec_cvt.o", + "crypto/ec/libfips-lib-ec_key.o", + "crypto/ec/libfips-lib-ec_kmeth.o", + "crypto/ec/libfips-lib-ec_lib.o", + "crypto/ec/libfips-lib-ec_mult.o", + "crypto/ec/libfips-lib-ec_oct.o", + "crypto/ec/libfips-lib-ecdh_kdf.o", + "crypto/ec/libfips-lib-ecdh_ossl.o", + "crypto/ec/libfips-lib-ecdsa_ossl.o", + "crypto/ec/libfips-lib-ecdsa_sign.o", + "crypto/ec/libfips-lib-ecdsa_vrf.o", + "crypto/ec/libfips-lib-ecp_mont.o", + "crypto/ec/libfips-lib-ecp_nist.o", + "crypto/ec/libfips-lib-ecp_oct.o", + "crypto/ec/libfips-lib-ecp_smpl.o", + "crypto/ec/libfips-lib-ecx_backend.o", + "crypto/ec/libfips-lib-ecx_key.o", + "crypto/evp/libfips-lib-asymcipher.o", + "crypto/evp/libfips-lib-dh_support.o", + "crypto/evp/libfips-lib-digest.o", + "crypto/evp/libfips-lib-ec_support.o", + "crypto/evp/libfips-lib-evp_enc.o", + "crypto/evp/libfips-lib-evp_fetch.o", + "crypto/evp/libfips-lib-evp_lib.o", + "crypto/evp/libfips-lib-evp_rand.o", + "crypto/evp/libfips-lib-evp_utils.o", + "crypto/evp/libfips-lib-exchange.o", + "crypto/evp/libfips-lib-kdf_lib.o", + "crypto/evp/libfips-lib-kdf_meth.o", + "crypto/evp/libfips-lib-kem.o", + "crypto/evp/libfips-lib-keymgmt_lib.o", + "crypto/evp/libfips-lib-keymgmt_meth.o", + "crypto/evp/libfips-lib-m_sigver.o", + "crypto/evp/libfips-lib-mac_lib.o", + "crypto/evp/libfips-lib-mac_meth.o", + "crypto/evp/libfips-lib-p_lib.o", + "crypto/evp/libfips-lib-pmeth_check.o", + "crypto/evp/libfips-lib-pmeth_gn.o", + "crypto/evp/libfips-lib-pmeth_lib.o", + "crypto/evp/libfips-lib-signature.o", + "crypto/ffc/libfips-lib-ffc_backend.o", + "crypto/ffc/libfips-lib-ffc_dh.o", + "crypto/ffc/libfips-lib-ffc_key_generate.o", + "crypto/ffc/libfips-lib-ffc_key_validate.o", + "crypto/ffc/libfips-lib-ffc_params.o", + "crypto/ffc/libfips-lib-ffc_params_generate.o", + "crypto/ffc/libfips-lib-ffc_params_validate.o", + "crypto/hmac/libfips-lib-hmac.o", + "crypto/lhash/libfips-lib-lhash.o", + "crypto/libfips-lib-asn1_dsa.o", + "crypto/libfips-lib-bsearch.o", + "crypto/libfips-lib-context.o", + "crypto/libfips-lib-core_algorithm.o", + "crypto/libfips-lib-core_fetch.o", + "crypto/libfips-lib-core_namemap.o", + "crypto/libfips-lib-cpuid.o", + "crypto/libfips-lib-cryptlib.o", + "crypto/libfips-lib-ctype.o", + "crypto/libfips-lib-der_writer.o", + "crypto/libfips-lib-ex_data.o", + "crypto/libfips-lib-initthread.o", + "crypto/libfips-lib-mem_clr.o", + "crypto/libfips-lib-o_str.o", + "crypto/libfips-lib-packet.o", + "crypto/libfips-lib-param_build.o", + "crypto/libfips-lib-param_build_set.o", + "crypto/libfips-lib-params.o", + "crypto/libfips-lib-params_dup.o", + "crypto/libfips-lib-params_from_text.o", + "crypto/libfips-lib-provider_core.o", + "crypto/libfips-lib-provider_predefined.o", + "crypto/libfips-lib-self_test_core.o", + "crypto/libfips-lib-sparse_array.o", + "crypto/libfips-lib-threads_lib.o", + "crypto/libfips-lib-threads_none.o", + "crypto/libfips-lib-threads_pthread.o", + "crypto/libfips-lib-threads_win.o", + "crypto/modes/libfips-lib-cbc128.o", + "crypto/modes/libfips-lib-ccm128.o", + "crypto/modes/libfips-lib-cfb128.o", + "crypto/modes/libfips-lib-ctr128.o", + "crypto/modes/libfips-lib-gcm128.o", + "crypto/modes/libfips-lib-ofb128.o", + "crypto/modes/libfips-lib-wrap128.o", + "crypto/modes/libfips-lib-xts128.o", + "crypto/property/libfips-lib-defn_cache.o", + "crypto/property/libfips-lib-property.o", + "crypto/property/libfips-lib-property_parse.o", + "crypto/property/libfips-lib-property_query.o", + "crypto/property/libfips-lib-property_string.o", + "crypto/rand/libfips-lib-rand_lib.o", + "crypto/rsa/libfips-lib-rsa_acvp_test_params.o", + "crypto/rsa/libfips-lib-rsa_backend.o", + "crypto/rsa/libfips-lib-rsa_chk.o", + "crypto/rsa/libfips-lib-rsa_crpt.o", + "crypto/rsa/libfips-lib-rsa_gen.o", + "crypto/rsa/libfips-lib-rsa_lib.o", + "crypto/rsa/libfips-lib-rsa_mp_names.o", + "crypto/rsa/libfips-lib-rsa_none.o", + "crypto/rsa/libfips-lib-rsa_oaep.o", + "crypto/rsa/libfips-lib-rsa_ossl.o", + "crypto/rsa/libfips-lib-rsa_pk1.o", + "crypto/rsa/libfips-lib-rsa_pss.o", + "crypto/rsa/libfips-lib-rsa_schemes.o", + "crypto/rsa/libfips-lib-rsa_sign.o", + "crypto/rsa/libfips-lib-rsa_sp800_56b_check.o", + "crypto/rsa/libfips-lib-rsa_sp800_56b_gen.o", + "crypto/rsa/libfips-lib-rsa_x931.o", + "crypto/sha/libfips-lib-keccak1600.o", + "crypto/sha/libfips-lib-sha1dgst.o", + "crypto/sha/libfips-lib-sha256.o", + "crypto/sha/libfips-lib-sha3.o", + "crypto/sha/libfips-lib-sha512.o", + "crypto/stack/libfips-lib-stack.o", + "providers/common/der/libfips-lib-der_rsa_sig.o", + "providers/common/libfips-lib-bio_prov.o", + "providers/common/libfips-lib-capabilities.o", + "providers/common/libfips-lib-digest_to_nid.o", + "providers/common/libfips-lib-provider_seeding.o", + "providers/common/libfips-lib-provider_util.o", + "providers/common/libfips-lib-securitycheck.o", + "providers/common/libfips-lib-securitycheck_fips.o", + "providers/fips/libfips-lib-fipsprov.o", + "providers/fips/libfips-lib-self_test.o", + "providers/fips/libfips-lib-self_test_kats.o", + "providers/implementations/asymciphers/libfips-lib-rsa_enc.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha1_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_cbc_hmac_sha256_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ccm_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_gcm_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_ocb_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_wrp.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_fips.o", + "providers/implementations/ciphers/libfips-lib-cipher_aes_xts_hw.o", + "providers/implementations/ciphers/libfips-lib-cipher_cts.o", + "providers/implementations/ciphers/libfips-lib-cipher_tdes.o", + "providers/implementations/ciphers/libfips-lib-cipher_tdes_common.o", + "providers/implementations/ciphers/libfips-lib-cipher_tdes_hw.o", + "providers/implementations/digests/libfips-lib-sha2_prov.o", + "providers/implementations/digests/libfips-lib-sha3_prov.o", + "providers/implementations/exchange/libfips-lib-dh_exch.o", + "providers/implementations/exchange/libfips-lib-ecdh_exch.o", + "providers/implementations/exchange/libfips-lib-ecx_exch.o", + "providers/implementations/exchange/libfips-lib-kdf_exch.o", + "providers/implementations/kdfs/libfips-lib-hkdf.o", + "providers/implementations/kdfs/libfips-lib-kbkdf.o", + "providers/implementations/kdfs/libfips-lib-pbkdf2.o", + "providers/implementations/kdfs/libfips-lib-pbkdf2_fips.o", + "providers/implementations/kdfs/libfips-lib-sshkdf.o", + "providers/implementations/kdfs/libfips-lib-sskdf.o", + "providers/implementations/kdfs/libfips-lib-tls1_prf.o", + "providers/implementations/kdfs/libfips-lib-x942kdf.o", + "providers/implementations/kem/libfips-lib-rsa_kem.o", + "providers/implementations/keymgmt/libfips-lib-dh_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-dsa_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-ec_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-ecx_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-kdf_legacy_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-mac_legacy_kmgmt.o", + "providers/implementations/keymgmt/libfips-lib-rsa_kmgmt.o", + "providers/implementations/macs/libfips-lib-cmac_prov.o", + "providers/implementations/macs/libfips-lib-gmac_prov.o", + "providers/implementations/macs/libfips-lib-hmac_prov.o", + "providers/implementations/macs/libfips-lib-kmac_prov.o", + "providers/implementations/rands/libfips-lib-crngt.o", + "providers/implementations/rands/libfips-lib-drbg.o", + "providers/implementations/rands/libfips-lib-drbg_ctr.o", + "providers/implementations/rands/libfips-lib-drbg_hash.o", + "providers/implementations/rands/libfips-lib-drbg_hmac.o", + "providers/implementations/rands/libfips-lib-test_rng.o", + "providers/implementations/signature/libfips-lib-dsa_sig.o", + "providers/implementations/signature/libfips-lib-ecdsa_sig.o", + "providers/implementations/signature/libfips-lib-eddsa_sig.o", + "providers/implementations/signature/libfips-lib-mac_legacy_sig.o", + "providers/implementations/signature/libfips-lib-rsa_sig.o", + "providers/libcommon.a", + "ssl/libfips-lib-s3_cbc.o" + ], + "providers/liblegacy-lib-prov_running.o" => [ + "providers/prov_running.c" + ], + "providers/liblegacy.a" => [ + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_idea.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_idea_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o", + "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o", + "providers/implementations/digests/liblegacy-lib-md4_prov.o", + "providers/implementations/digests/liblegacy-lib-mdc2_prov.o", + "providers/implementations/digests/liblegacy-lib-ripemd_prov.o", + "providers/implementations/digests/liblegacy-lib-wp_prov.o", + "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o", + "providers/liblegacy-lib-prov_running.o" + ], + "ssl/libdefault-lib-s3_cbc.o" => [ + "ssl/s3_cbc.c" + ], + "ssl/libfips-lib-s3_cbc.o" => [ + "ssl/s3_cbc.c" + ], + "ssl/libssl-lib-bio_ssl.o" => [ + "ssl/bio_ssl.c" + ], + "ssl/libssl-lib-d1_lib.o" => [ + "ssl/d1_lib.c" + ], + "ssl/libssl-lib-d1_msg.o" => [ + "ssl/d1_msg.c" + ], + "ssl/libssl-lib-d1_srtp.o" => [ + "ssl/d1_srtp.c" + ], + "ssl/libssl-lib-methods.o" => [ + "ssl/methods.c" + ], + "ssl/libssl-lib-pqueue.o" => [ + "ssl/pqueue.c" + ], + "ssl/libssl-lib-s3_enc.o" => [ + "ssl/s3_enc.c" + ], + "ssl/libssl-lib-s3_lib.o" => [ + "ssl/s3_lib.c" + ], + "ssl/libssl-lib-s3_msg.o" => [ + "ssl/s3_msg.c" + ], + "ssl/libssl-lib-ssl_asn1.o" => [ + "ssl/ssl_asn1.c" + ], + "ssl/libssl-lib-ssl_cert.o" => [ + "ssl/ssl_cert.c" + ], + "ssl/libssl-lib-ssl_ciph.o" => [ + "ssl/ssl_ciph.c" + ], + "ssl/libssl-lib-ssl_conf.o" => [ + "ssl/ssl_conf.c" + ], + "ssl/libssl-lib-ssl_err.o" => [ + "ssl/ssl_err.c" + ], + "ssl/libssl-lib-ssl_err_legacy.o" => [ + "ssl/ssl_err_legacy.c" + ], + "ssl/libssl-lib-ssl_init.o" => [ + "ssl/ssl_init.c" + ], + "ssl/libssl-lib-ssl_lib.o" => [ + "ssl/ssl_lib.c" + ], + "ssl/libssl-lib-ssl_mcnf.o" => [ + "ssl/ssl_mcnf.c" + ], + "ssl/libssl-lib-ssl_quic.o" => [ + "ssl/ssl_quic.c" + ], + "ssl/libssl-lib-ssl_rsa.o" => [ + "ssl/ssl_rsa.c" + ], + "ssl/libssl-lib-ssl_rsa_legacy.o" => [ + "ssl/ssl_rsa_legacy.c" + ], + "ssl/libssl-lib-ssl_sess.o" => [ + "ssl/ssl_sess.c" + ], + "ssl/libssl-lib-ssl_stat.o" => [ + "ssl/ssl_stat.c" + ], + "ssl/libssl-lib-ssl_txt.o" => [ + "ssl/ssl_txt.c" + ], + "ssl/libssl-lib-ssl_utst.o" => [ + "ssl/ssl_utst.c" + ], + "ssl/libssl-lib-t1_enc.o" => [ + "ssl/t1_enc.c" + ], + "ssl/libssl-lib-t1_lib.o" => [ + "ssl/t1_lib.c" + ], + "ssl/libssl-lib-t1_trce.o" => [ + "ssl/t1_trce.c" + ], + "ssl/libssl-lib-tls13_enc.o" => [ + "ssl/tls13_enc.c" + ], + "ssl/libssl-lib-tls_depr.o" => [ + "ssl/tls_depr.c" + ], + "ssl/libssl-lib-tls_srp.o" => [ + "ssl/tls_srp.c" + ], + "ssl/record/libcommon-lib-tls_pad.o" => [ + "ssl/record/tls_pad.c" + ], + "ssl/record/libssl-lib-dtls1_bitmap.o" => [ + "ssl/record/dtls1_bitmap.c" + ], + "ssl/record/libssl-lib-rec_layer_d1.o" => [ + "ssl/record/rec_layer_d1.c" + ], + "ssl/record/libssl-lib-rec_layer_s3.o" => [ + "ssl/record/rec_layer_s3.c" + ], + "ssl/record/libssl-lib-ssl3_buffer.o" => [ + "ssl/record/ssl3_buffer.c" + ], + "ssl/record/libssl-lib-ssl3_record.o" => [ + "ssl/record/ssl3_record.c" + ], + "ssl/record/libssl-lib-ssl3_record_tls13.o" => [ + "ssl/record/ssl3_record_tls13.c" + ], + "ssl/statem/libssl-lib-extensions.o" => [ + "ssl/statem/extensions.c" + ], + "ssl/statem/libssl-lib-extensions_clnt.o" => [ + "ssl/statem/extensions_clnt.c" + ], + "ssl/statem/libssl-lib-extensions_cust.o" => [ + "ssl/statem/extensions_cust.c" + ], + "ssl/statem/libssl-lib-extensions_srvr.o" => [ + "ssl/statem/extensions_srvr.c" + ], + "ssl/statem/libssl-lib-statem.o" => [ + "ssl/statem/statem.c" + ], + "ssl/statem/libssl-lib-statem_clnt.o" => [ + "ssl/statem/statem_clnt.c" + ], + "ssl/statem/libssl-lib-statem_dtls.o" => [ + "ssl/statem/statem_dtls.c" + ], + "ssl/statem/libssl-lib-statem_lib.o" => [ + "ssl/statem/statem_lib.c" + ], + "ssl/statem/libssl-lib-statem_quic.o" => [ + "ssl/statem/statem_quic.c" + ], + "ssl/statem/libssl-lib-statem_srvr.o" => [ + "ssl/statem/statem_srvr.c" + ], + "test/aborttest" => [ + "test/aborttest-bin-aborttest.o" + ], + "test/aborttest-bin-aborttest.o" => [ + "test/aborttest.c" + ], + "test/acvp_test" => [ + "test/acvp_test-bin-acvp_test.o" + ], + "test/acvp_test-bin-acvp_test.o" => [ + "test/acvp_test.c" + ], + "test/aesgcmtest" => [ + "test/aesgcmtest-bin-aesgcmtest.o" + ], + "test/aesgcmtest-bin-aesgcmtest.o" => [ + "test/aesgcmtest.c" + ], + "test/afalgtest" => [ + "test/afalgtest-bin-afalgtest.o" + ], + "test/afalgtest-bin-afalgtest.o" => [ + "test/afalgtest.c" + ], + "test/algorithmid_test" => [ + "test/algorithmid_test-bin-algorithmid_test.o" + ], + "test/algorithmid_test-bin-algorithmid_test.o" => [ + "test/algorithmid_test.c" + ], + "test/asn1_decode_test" => [ + "test/asn1_decode_test-bin-asn1_decode_test.o" + ], + "test/asn1_decode_test-bin-asn1_decode_test.o" => [ + "test/asn1_decode_test.c" + ], + "test/asn1_dsa_internal_test" => [ + "test/asn1_dsa_internal_test-bin-asn1_dsa_internal_test.o" + ], + "test/asn1_dsa_internal_test-bin-asn1_dsa_internal_test.o" => [ + "test/asn1_dsa_internal_test.c" + ], + "test/asn1_encode_test" => [ + "test/asn1_encode_test-bin-asn1_encode_test.o" + ], + "test/asn1_encode_test-bin-asn1_encode_test.o" => [ + "test/asn1_encode_test.c" + ], + "test/asn1_internal_test" => [ + "test/asn1_internal_test-bin-asn1_internal_test.o" + ], + "test/asn1_internal_test-bin-asn1_internal_test.o" => [ + "test/asn1_internal_test.c" + ], + "test/asn1_string_table_test" => [ + "test/asn1_string_table_test-bin-asn1_string_table_test.o" + ], + "test/asn1_string_table_test-bin-asn1_string_table_test.o" => [ + "test/asn1_string_table_test.c" + ], + "test/asn1_time_test" => [ + "test/asn1_time_test-bin-asn1_time_test.o" + ], + "test/asn1_time_test-bin-asn1_time_test.o" => [ + "test/asn1_time_test.c" + ], + "test/asynciotest" => [ + "test/asynciotest-bin-asynciotest.o", + "test/helpers/asynciotest-bin-ssltestlib.o" + ], + "test/asynciotest-bin-asynciotest.o" => [ + "test/asynciotest.c" + ], + "test/asynctest" => [ + "test/asynctest-bin-asynctest.o" + ], + "test/asynctest-bin-asynctest.o" => [ + "test/asynctest.c" + ], + "test/bad_dtls_test" => [ + "test/bad_dtls_test-bin-bad_dtls_test.o" + ], + "test/bad_dtls_test-bin-bad_dtls_test.o" => [ + "test/bad_dtls_test.c" + ], + "test/bftest" => [ + "test/bftest-bin-bftest.o" + ], + "test/bftest-bin-bftest.o" => [ + "test/bftest.c" + ], + "test/bio_callback_test" => [ + "test/bio_callback_test-bin-bio_callback_test.o" + ], + "test/bio_callback_test-bin-bio_callback_test.o" => [ + "test/bio_callback_test.c" + ], + "test/bio_core_test" => [ + "test/bio_core_test-bin-bio_core_test.o" + ], + "test/bio_core_test-bin-bio_core_test.o" => [ + "test/bio_core_test.c" + ], + "test/bio_enc_test" => [ + "test/bio_enc_test-bin-bio_enc_test.o" + ], + "test/bio_enc_test-bin-bio_enc_test.o" => [ + "test/bio_enc_test.c" + ], + "test/bio_memleak_test" => [ + "test/bio_memleak_test-bin-bio_memleak_test.o" + ], + "test/bio_memleak_test-bin-bio_memleak_test.o" => [ + "test/bio_memleak_test.c" + ], + "test/bio_prefix_text" => [ + "test/bio_prefix_text-bin-bio_prefix_text.o" + ], + "test/bio_prefix_text-bin-bio_prefix_text.o" => [ + "test/bio_prefix_text.c" + ], + "test/bio_readbuffer_test" => [ + "test/bio_readbuffer_test-bin-bio_readbuffer_test.o" + ], + "test/bio_readbuffer_test-bin-bio_readbuffer_test.o" => [ + "test/bio_readbuffer_test.c" + ], + "test/bioprinttest" => [ + "test/bioprinttest-bin-bioprinttest.o" + ], + "test/bioprinttest-bin-bioprinttest.o" => [ + "test/bioprinttest.c" + ], + "test/bn_internal_test" => [ + "test/bn_internal_test-bin-bn_internal_test.o" + ], + "test/bn_internal_test-bin-bn_internal_test.o" => [ + "test/bn_internal_test.c" + ], + "test/bntest" => [ + "test/bntest-bin-bntest.o" + ], + "test/bntest-bin-bntest.o" => [ + "test/bntest.c" + ], + "test/buildtest_c_aes" => [ + "test/buildtest_c_aes-bin-buildtest_aes.o" + ], + "test/buildtest_c_aes-bin-buildtest_aes.o" => [ + "test/buildtest_aes.c" + ], + "test/buildtest_c_async" => [ + "test/buildtest_c_async-bin-buildtest_async.o" + ], + "test/buildtest_c_async-bin-buildtest_async.o" => [ + "test/buildtest_async.c" + ], + "test/buildtest_c_blowfish" => [ + "test/buildtest_c_blowfish-bin-buildtest_blowfish.o" + ], + "test/buildtest_c_blowfish-bin-buildtest_blowfish.o" => [ + "test/buildtest_blowfish.c" + ], + "test/buildtest_c_bn" => [ + "test/buildtest_c_bn-bin-buildtest_bn.o" + ], + "test/buildtest_c_bn-bin-buildtest_bn.o" => [ + "test/buildtest_bn.c" + ], + "test/buildtest_c_buffer" => [ + "test/buildtest_c_buffer-bin-buildtest_buffer.o" + ], + "test/buildtest_c_buffer-bin-buildtest_buffer.o" => [ + "test/buildtest_buffer.c" + ], + "test/buildtest_c_camellia" => [ + "test/buildtest_c_camellia-bin-buildtest_camellia.o" + ], + "test/buildtest_c_camellia-bin-buildtest_camellia.o" => [ + "test/buildtest_camellia.c" + ], + "test/buildtest_c_cast" => [ + "test/buildtest_c_cast-bin-buildtest_cast.o" + ], + "test/buildtest_c_cast-bin-buildtest_cast.o" => [ + "test/buildtest_cast.c" + ], + "test/buildtest_c_cmac" => [ + "test/buildtest_c_cmac-bin-buildtest_cmac.o" + ], + "test/buildtest_c_cmac-bin-buildtest_cmac.o" => [ + "test/buildtest_cmac.c" + ], + "test/buildtest_c_cmp_util" => [ + "test/buildtest_c_cmp_util-bin-buildtest_cmp_util.o" + ], + "test/buildtest_c_cmp_util-bin-buildtest_cmp_util.o" => [ + "test/buildtest_cmp_util.c" + ], + "test/buildtest_c_conf_api" => [ + "test/buildtest_c_conf_api-bin-buildtest_conf_api.o" + ], + "test/buildtest_c_conf_api-bin-buildtest_conf_api.o" => [ + "test/buildtest_conf_api.c" + ], + "test/buildtest_c_conftypes" => [ + "test/buildtest_c_conftypes-bin-buildtest_conftypes.o" + ], + "test/buildtest_c_conftypes-bin-buildtest_conftypes.o" => [ + "test/buildtest_conftypes.c" + ], + "test/buildtest_c_core" => [ + "test/buildtest_c_core-bin-buildtest_core.o" + ], + "test/buildtest_c_core-bin-buildtest_core.o" => [ + "test/buildtest_core.c" + ], + "test/buildtest_c_core_dispatch" => [ + "test/buildtest_c_core_dispatch-bin-buildtest_core_dispatch.o" + ], + "test/buildtest_c_core_dispatch-bin-buildtest_core_dispatch.o" => [ + "test/buildtest_core_dispatch.c" + ], + "test/buildtest_c_core_names" => [ + "test/buildtest_c_core_names-bin-buildtest_core_names.o" + ], + "test/buildtest_c_core_names-bin-buildtest_core_names.o" => [ + "test/buildtest_core_names.c" + ], + "test/buildtest_c_core_object" => [ + "test/buildtest_c_core_object-bin-buildtest_core_object.o" + ], + "test/buildtest_c_core_object-bin-buildtest_core_object.o" => [ + "test/buildtest_core_object.c" + ], + "test/buildtest_c_cryptoerr_legacy" => [ + "test/buildtest_c_cryptoerr_legacy-bin-buildtest_cryptoerr_legacy.o" + ], + "test/buildtest_c_cryptoerr_legacy-bin-buildtest_cryptoerr_legacy.o" => [ + "test/buildtest_cryptoerr_legacy.c" + ], + "test/buildtest_c_decoder" => [ + "test/buildtest_c_decoder-bin-buildtest_decoder.o" + ], + "test/buildtest_c_decoder-bin-buildtest_decoder.o" => [ + "test/buildtest_decoder.c" + ], + "test/buildtest_c_des" => [ + "test/buildtest_c_des-bin-buildtest_des.o" + ], + "test/buildtest_c_des-bin-buildtest_des.o" => [ + "test/buildtest_des.c" + ], + "test/buildtest_c_dh" => [ + "test/buildtest_c_dh-bin-buildtest_dh.o" + ], + "test/buildtest_c_dh-bin-buildtest_dh.o" => [ + "test/buildtest_dh.c" + ], + "test/buildtest_c_dsa" => [ + "test/buildtest_c_dsa-bin-buildtest_dsa.o" + ], + "test/buildtest_c_dsa-bin-buildtest_dsa.o" => [ + "test/buildtest_dsa.c" + ], + "test/buildtest_c_dtls1" => [ + "test/buildtest_c_dtls1-bin-buildtest_dtls1.o" + ], + "test/buildtest_c_dtls1-bin-buildtest_dtls1.o" => [ + "test/buildtest_dtls1.c" + ], + "test/buildtest_c_e_os2" => [ + "test/buildtest_c_e_os2-bin-buildtest_e_os2.o" + ], + "test/buildtest_c_e_os2-bin-buildtest_e_os2.o" => [ + "test/buildtest_e_os2.c" + ], + "test/buildtest_c_ebcdic" => [ + "test/buildtest_c_ebcdic-bin-buildtest_ebcdic.o" + ], + "test/buildtest_c_ebcdic-bin-buildtest_ebcdic.o" => [ + "test/buildtest_ebcdic.c" + ], + "test/buildtest_c_ec" => [ + "test/buildtest_c_ec-bin-buildtest_ec.o" + ], + "test/buildtest_c_ec-bin-buildtest_ec.o" => [ + "test/buildtest_ec.c" + ], + "test/buildtest_c_ecdh" => [ + "test/buildtest_c_ecdh-bin-buildtest_ecdh.o" + ], + "test/buildtest_c_ecdh-bin-buildtest_ecdh.o" => [ + "test/buildtest_ecdh.c" + ], + "test/buildtest_c_ecdsa" => [ + "test/buildtest_c_ecdsa-bin-buildtest_ecdsa.o" + ], + "test/buildtest_c_ecdsa-bin-buildtest_ecdsa.o" => [ + "test/buildtest_ecdsa.c" + ], + "test/buildtest_c_encoder" => [ + "test/buildtest_c_encoder-bin-buildtest_encoder.o" + ], + "test/buildtest_c_encoder-bin-buildtest_encoder.o" => [ + "test/buildtest_encoder.c" + ], + "test/buildtest_c_engine" => [ + "test/buildtest_c_engine-bin-buildtest_engine.o" + ], + "test/buildtest_c_engine-bin-buildtest_engine.o" => [ + "test/buildtest_engine.c" + ], + "test/buildtest_c_evp" => [ + "test/buildtest_c_evp-bin-buildtest_evp.o" + ], + "test/buildtest_c_evp-bin-buildtest_evp.o" => [ + "test/buildtest_evp.c" + ], + "test/buildtest_c_fips_names" => [ + "test/buildtest_c_fips_names-bin-buildtest_fips_names.o" + ], + "test/buildtest_c_fips_names-bin-buildtest_fips_names.o" => [ + "test/buildtest_fips_names.c" + ], + "test/buildtest_c_hmac" => [ + "test/buildtest_c_hmac-bin-buildtest_hmac.o" + ], + "test/buildtest_c_hmac-bin-buildtest_hmac.o" => [ + "test/buildtest_hmac.c" + ], + "test/buildtest_c_http" => [ + "test/buildtest_c_http-bin-buildtest_http.o" + ], + "test/buildtest_c_http-bin-buildtest_http.o" => [ + "test/buildtest_http.c" + ], + "test/buildtest_c_idea" => [ + "test/buildtest_c_idea-bin-buildtest_idea.o" + ], + "test/buildtest_c_idea-bin-buildtest_idea.o" => [ + "test/buildtest_idea.c" + ], + "test/buildtest_c_kdf" => [ + "test/buildtest_c_kdf-bin-buildtest_kdf.o" + ], + "test/buildtest_c_kdf-bin-buildtest_kdf.o" => [ + "test/buildtest_kdf.c" + ], + "test/buildtest_c_macros" => [ + "test/buildtest_c_macros-bin-buildtest_macros.o" + ], + "test/buildtest_c_macros-bin-buildtest_macros.o" => [ + "test/buildtest_macros.c" + ], + "test/buildtest_c_md4" => [ + "test/buildtest_c_md4-bin-buildtest_md4.o" + ], + "test/buildtest_c_md4-bin-buildtest_md4.o" => [ + "test/buildtest_md4.c" + ], + "test/buildtest_c_md5" => [ + "test/buildtest_c_md5-bin-buildtest_md5.o" + ], + "test/buildtest_c_md5-bin-buildtest_md5.o" => [ + "test/buildtest_md5.c" + ], + "test/buildtest_c_mdc2" => [ + "test/buildtest_c_mdc2-bin-buildtest_mdc2.o" + ], + "test/buildtest_c_mdc2-bin-buildtest_mdc2.o" => [ + "test/buildtest_mdc2.c" + ], + "test/buildtest_c_modes" => [ + "test/buildtest_c_modes-bin-buildtest_modes.o" + ], + "test/buildtest_c_modes-bin-buildtest_modes.o" => [ + "test/buildtest_modes.c" + ], + "test/buildtest_c_obj_mac" => [ + "test/buildtest_c_obj_mac-bin-buildtest_obj_mac.o" + ], + "test/buildtest_c_obj_mac-bin-buildtest_obj_mac.o" => [ + "test/buildtest_obj_mac.c" + ], + "test/buildtest_c_objects" => [ + "test/buildtest_c_objects-bin-buildtest_objects.o" + ], + "test/buildtest_c_objects-bin-buildtest_objects.o" => [ + "test/buildtest_objects.c" + ], + "test/buildtest_c_ossl_typ" => [ + "test/buildtest_c_ossl_typ-bin-buildtest_ossl_typ.o" + ], + "test/buildtest_c_ossl_typ-bin-buildtest_ossl_typ.o" => [ + "test/buildtest_ossl_typ.c" + ], + "test/buildtest_c_param_build" => [ + "test/buildtest_c_param_build-bin-buildtest_param_build.o" + ], + "test/buildtest_c_param_build-bin-buildtest_param_build.o" => [ + "test/buildtest_param_build.c" + ], + "test/buildtest_c_params" => [ + "test/buildtest_c_params-bin-buildtest_params.o" + ], + "test/buildtest_c_params-bin-buildtest_params.o" => [ + "test/buildtest_params.c" + ], + "test/buildtest_c_pem" => [ + "test/buildtest_c_pem-bin-buildtest_pem.o" + ], + "test/buildtest_c_pem-bin-buildtest_pem.o" => [ + "test/buildtest_pem.c" + ], + "test/buildtest_c_pem2" => [ + "test/buildtest_c_pem2-bin-buildtest_pem2.o" + ], + "test/buildtest_c_pem2-bin-buildtest_pem2.o" => [ + "test/buildtest_pem2.c" + ], + "test/buildtest_c_prov_ssl" => [ + "test/buildtest_c_prov_ssl-bin-buildtest_prov_ssl.o" + ], + "test/buildtest_c_prov_ssl-bin-buildtest_prov_ssl.o" => [ + "test/buildtest_prov_ssl.c" + ], + "test/buildtest_c_provider" => [ + "test/buildtest_c_provider-bin-buildtest_provider.o" + ], + "test/buildtest_c_provider-bin-buildtest_provider.o" => [ + "test/buildtest_provider.c" + ], + "test/buildtest_c_quic" => [ + "test/buildtest_c_quic-bin-buildtest_quic.o" + ], + "test/buildtest_c_quic-bin-buildtest_quic.o" => [ + "test/buildtest_quic.c" + ], + "test/buildtest_c_rand" => [ + "test/buildtest_c_rand-bin-buildtest_rand.o" + ], + "test/buildtest_c_rand-bin-buildtest_rand.o" => [ + "test/buildtest_rand.c" + ], + "test/buildtest_c_rc2" => [ + "test/buildtest_c_rc2-bin-buildtest_rc2.o" + ], + "test/buildtest_c_rc2-bin-buildtest_rc2.o" => [ + "test/buildtest_rc2.c" + ], + "test/buildtest_c_rc4" => [ + "test/buildtest_c_rc4-bin-buildtest_rc4.o" + ], + "test/buildtest_c_rc4-bin-buildtest_rc4.o" => [ + "test/buildtest_rc4.c" + ], + "test/buildtest_c_ripemd" => [ + "test/buildtest_c_ripemd-bin-buildtest_ripemd.o" + ], + "test/buildtest_c_ripemd-bin-buildtest_ripemd.o" => [ + "test/buildtest_ripemd.c" + ], + "test/buildtest_c_rsa" => [ + "test/buildtest_c_rsa-bin-buildtest_rsa.o" + ], + "test/buildtest_c_rsa-bin-buildtest_rsa.o" => [ + "test/buildtest_rsa.c" + ], + "test/buildtest_c_seed" => [ + "test/buildtest_c_seed-bin-buildtest_seed.o" + ], + "test/buildtest_c_seed-bin-buildtest_seed.o" => [ + "test/buildtest_seed.c" + ], + "test/buildtest_c_self_test" => [ + "test/buildtest_c_self_test-bin-buildtest_self_test.o" + ], + "test/buildtest_c_self_test-bin-buildtest_self_test.o" => [ + "test/buildtest_self_test.c" + ], + "test/buildtest_c_sha" => [ + "test/buildtest_c_sha-bin-buildtest_sha.o" + ], + "test/buildtest_c_sha-bin-buildtest_sha.o" => [ + "test/buildtest_sha.c" + ], + "test/buildtest_c_srtp" => [ + "test/buildtest_c_srtp-bin-buildtest_srtp.o" + ], + "test/buildtest_c_srtp-bin-buildtest_srtp.o" => [ + "test/buildtest_srtp.c" + ], + "test/buildtest_c_ssl2" => [ + "test/buildtest_c_ssl2-bin-buildtest_ssl2.o" + ], + "test/buildtest_c_ssl2-bin-buildtest_ssl2.o" => [ + "test/buildtest_ssl2.c" + ], + "test/buildtest_c_sslerr_legacy" => [ + "test/buildtest_c_sslerr_legacy-bin-buildtest_sslerr_legacy.o" + ], + "test/buildtest_c_sslerr_legacy-bin-buildtest_sslerr_legacy.o" => [ + "test/buildtest_sslerr_legacy.c" + ], + "test/buildtest_c_stack" => [ + "test/buildtest_c_stack-bin-buildtest_stack.o" + ], + "test/buildtest_c_stack-bin-buildtest_stack.o" => [ + "test/buildtest_stack.c" + ], + "test/buildtest_c_store" => [ + "test/buildtest_c_store-bin-buildtest_store.o" + ], + "test/buildtest_c_store-bin-buildtest_store.o" => [ + "test/buildtest_store.c" + ], + "test/buildtest_c_symhacks" => [ + "test/buildtest_c_symhacks-bin-buildtest_symhacks.o" + ], + "test/buildtest_c_symhacks-bin-buildtest_symhacks.o" => [ + "test/buildtest_symhacks.c" + ], + "test/buildtest_c_tls1" => [ + "test/buildtest_c_tls1-bin-buildtest_tls1.o" + ], + "test/buildtest_c_tls1-bin-buildtest_tls1.o" => [ + "test/buildtest_tls1.c" + ], + "test/buildtest_c_ts" => [ + "test/buildtest_c_ts-bin-buildtest_ts.o" + ], + "test/buildtest_c_ts-bin-buildtest_ts.o" => [ + "test/buildtest_ts.c" + ], + "test/buildtest_c_txt_db" => [ + "test/buildtest_c_txt_db-bin-buildtest_txt_db.o" + ], + "test/buildtest_c_txt_db-bin-buildtest_txt_db.o" => [ + "test/buildtest_txt_db.c" + ], + "test/buildtest_c_types" => [ + "test/buildtest_c_types-bin-buildtest_types.o" + ], + "test/buildtest_c_types-bin-buildtest_types.o" => [ + "test/buildtest_types.c" + ], + "test/buildtest_c_whrlpool" => [ + "test/buildtest_c_whrlpool-bin-buildtest_whrlpool.o" + ], + "test/buildtest_c_whrlpool-bin-buildtest_whrlpool.o" => [ + "test/buildtest_whrlpool.c" + ], + "test/casttest" => [ + "test/casttest-bin-casttest.o" + ], + "test/casttest-bin-casttest.o" => [ + "test/casttest.c" + ], + "test/chacha_internal_test" => [ + "test/chacha_internal_test-bin-chacha_internal_test.o" + ], + "test/chacha_internal_test-bin-chacha_internal_test.o" => [ + "test/chacha_internal_test.c" + ], + "test/cipher_overhead_test" => [ + "test/cipher_overhead_test-bin-cipher_overhead_test.o" + ], + "test/cipher_overhead_test-bin-cipher_overhead_test.o" => [ + "test/cipher_overhead_test.c" + ], + "test/cipherbytes_test" => [ + "test/cipherbytes_test-bin-cipherbytes_test.o" + ], + "test/cipherbytes_test-bin-cipherbytes_test.o" => [ + "test/cipherbytes_test.c" + ], + "test/cipherlist_test" => [ + "test/cipherlist_test-bin-cipherlist_test.o" + ], + "test/cipherlist_test-bin-cipherlist_test.o" => [ + "test/cipherlist_test.c" + ], + "test/ciphername_test" => [ + "test/ciphername_test-bin-ciphername_test.o" + ], + "test/ciphername_test-bin-ciphername_test.o" => [ + "test/ciphername_test.c" + ], + "test/clienthellotest" => [ + "test/clienthellotest-bin-clienthellotest.o" + ], + "test/clienthellotest-bin-clienthellotest.o" => [ + "test/clienthellotest.c" + ], + "test/cmactest" => [ + "test/cmactest-bin-cmactest.o" + ], + "test/cmactest-bin-cmactest.o" => [ + "test/cmactest.c" + ], + "test/cmp_asn_test" => [ + "test/cmp_asn_test-bin-cmp_asn_test.o", + "test/helpers/cmp_asn_test-bin-cmp_testlib.o" + ], + "test/cmp_asn_test-bin-cmp_asn_test.o" => [ + "test/cmp_asn_test.c" + ], + "test/cmp_client_test" => [ + "apps/lib/cmp_client_test-bin-cmp_mock_srv.o", + "test/cmp_client_test-bin-cmp_client_test.o", + "test/helpers/cmp_client_test-bin-cmp_testlib.o" + ], + "test/cmp_client_test-bin-cmp_client_test.o" => [ + "test/cmp_client_test.c" + ], + "test/cmp_ctx_test" => [ + "test/cmp_ctx_test-bin-cmp_ctx_test.o", + "test/helpers/cmp_ctx_test-bin-cmp_testlib.o" + ], + "test/cmp_ctx_test-bin-cmp_ctx_test.o" => [ + "test/cmp_ctx_test.c" + ], + "test/cmp_hdr_test" => [ + "test/cmp_hdr_test-bin-cmp_hdr_test.o", + "test/helpers/cmp_hdr_test-bin-cmp_testlib.o" + ], + "test/cmp_hdr_test-bin-cmp_hdr_test.o" => [ + "test/cmp_hdr_test.c" + ], + "test/cmp_msg_test" => [ + "test/cmp_msg_test-bin-cmp_msg_test.o", + "test/helpers/cmp_msg_test-bin-cmp_testlib.o" + ], + "test/cmp_msg_test-bin-cmp_msg_test.o" => [ + "test/cmp_msg_test.c" + ], + "test/cmp_protect_test" => [ + "test/cmp_protect_test-bin-cmp_protect_test.o", + "test/helpers/cmp_protect_test-bin-cmp_testlib.o" + ], + "test/cmp_protect_test-bin-cmp_protect_test.o" => [ + "test/cmp_protect_test.c" + ], + "test/cmp_server_test" => [ + "test/cmp_server_test-bin-cmp_server_test.o", + "test/helpers/cmp_server_test-bin-cmp_testlib.o" + ], + "test/cmp_server_test-bin-cmp_server_test.o" => [ + "test/cmp_server_test.c" + ], + "test/cmp_status_test" => [ + "test/cmp_status_test-bin-cmp_status_test.o", + "test/helpers/cmp_status_test-bin-cmp_testlib.o" + ], + "test/cmp_status_test-bin-cmp_status_test.o" => [ + "test/cmp_status_test.c" + ], + "test/cmp_vfy_test" => [ + "test/cmp_vfy_test-bin-cmp_vfy_test.o", + "test/helpers/cmp_vfy_test-bin-cmp_testlib.o" + ], + "test/cmp_vfy_test-bin-cmp_vfy_test.o" => [ + "test/cmp_vfy_test.c" + ], + "test/cmsapitest" => [ + "test/cmsapitest-bin-cmsapitest.o" + ], + "test/cmsapitest-bin-cmsapitest.o" => [ + "test/cmsapitest.c" + ], + "test/conf_include_test" => [ + "test/conf_include_test-bin-conf_include_test.o" + ], + "test/conf_include_test-bin-conf_include_test.o" => [ + "test/conf_include_test.c" + ], + "test/confdump" => [ + "test/confdump-bin-confdump.o" + ], + "test/confdump-bin-confdump.o" => [ + "test/confdump.c" + ], + "test/constant_time_test" => [ + "test/constant_time_test-bin-constant_time_test.o" + ], + "test/constant_time_test-bin-constant_time_test.o" => [ + "test/constant_time_test.c" + ], + "test/context_internal_test" => [ + "test/context_internal_test-bin-context_internal_test.o" + ], + "test/context_internal_test-bin-context_internal_test.o" => [ + "test/context_internal_test.c" + ], + "test/crltest" => [ + "test/crltest-bin-crltest.o" + ], + "test/crltest-bin-crltest.o" => [ + "test/crltest.c" + ], + "test/ct_test" => [ + "test/ct_test-bin-ct_test.o" + ], + "test/ct_test-bin-ct_test.o" => [ + "test/ct_test.c" + ], + "test/ctype_internal_test" => [ + "test/ctype_internal_test-bin-ctype_internal_test.o" + ], + "test/ctype_internal_test-bin-ctype_internal_test.o" => [ + "test/ctype_internal_test.c" + ], + "test/curve448_internal_test" => [ + "test/curve448_internal_test-bin-curve448_internal_test.o" + ], + "test/curve448_internal_test-bin-curve448_internal_test.o" => [ + "test/curve448_internal_test.c" + ], + "test/d2i_test" => [ + "test/d2i_test-bin-d2i_test.o" + ], + "test/d2i_test-bin-d2i_test.o" => [ + "test/d2i_test.c" + ], + "test/danetest" => [ + "test/danetest-bin-danetest.o" + ], + "test/danetest-bin-danetest.o" => [ + "test/danetest.c" + ], + "test/defltfips_test" => [ + "test/defltfips_test-bin-defltfips_test.o" + ], + "test/defltfips_test-bin-defltfips_test.o" => [ + "test/defltfips_test.c" + ], + "test/destest" => [ + "test/destest-bin-destest.o" + ], + "test/destest-bin-destest.o" => [ + "test/destest.c" + ], + "test/dhtest" => [ + "test/dhtest-bin-dhtest.o" + ], + "test/dhtest-bin-dhtest.o" => [ + "test/dhtest.c" + ], + "test/drbgtest" => [ + "test/drbgtest-bin-drbgtest.o" + ], + "test/drbgtest-bin-drbgtest.o" => [ + "test/drbgtest.c" + ], + "test/dsa_no_digest_size_test" => [ + "test/dsa_no_digest_size_test-bin-dsa_no_digest_size_test.o" + ], + "test/dsa_no_digest_size_test-bin-dsa_no_digest_size_test.o" => [ + "test/dsa_no_digest_size_test.c" + ], + "test/dsatest" => [ + "test/dsatest-bin-dsatest.o" + ], + "test/dsatest-bin-dsatest.o" => [ + "test/dsatest.c" + ], + "test/dtls_mtu_test" => [ + "test/dtls_mtu_test-bin-dtls_mtu_test.o", + "test/helpers/dtls_mtu_test-bin-ssltestlib.o" + ], + "test/dtls_mtu_test-bin-dtls_mtu_test.o" => [ + "test/dtls_mtu_test.c" + ], + "test/dtlstest" => [ + "test/dtlstest-bin-dtlstest.o", + "test/helpers/dtlstest-bin-ssltestlib.o" + ], + "test/dtlstest-bin-dtlstest.o" => [ + "test/dtlstest.c" + ], + "test/dtlsv1listentest" => [ + "test/dtlsv1listentest-bin-dtlsv1listentest.o" + ], + "test/dtlsv1listentest-bin-dtlsv1listentest.o" => [ + "test/dtlsv1listentest.c" + ], + "test/ec_internal_test" => [ + "test/ec_internal_test-bin-ec_internal_test.o" + ], + "test/ec_internal_test-bin-ec_internal_test.o" => [ + "test/ec_internal_test.c" + ], + "test/ecdsatest" => [ + "test/ecdsatest-bin-ecdsatest.o" + ], + "test/ecdsatest-bin-ecdsatest.o" => [ + "test/ecdsatest.c" + ], + "test/ecstresstest" => [ + "test/ecstresstest-bin-ecstresstest.o" + ], + "test/ecstresstest-bin-ecstresstest.o" => [ + "test/ecstresstest.c" + ], + "test/ectest" => [ + "test/ectest-bin-ectest.o" + ], + "test/ectest-bin-ectest.o" => [ + "test/ectest.c" + ], + "test/endecode_test" => [ + "test/endecode_test-bin-endecode_test.o", + "test/helpers/endecode_test-bin-predefined_dhparams.o" + ], + "test/endecode_test-bin-endecode_test.o" => [ + "test/endecode_test.c" + ], + "test/endecoder_legacy_test" => [ + "test/endecoder_legacy_test-bin-endecoder_legacy_test.o" + ], + "test/endecoder_legacy_test-bin-endecoder_legacy_test.o" => [ + "test/endecoder_legacy_test.c" + ], + "test/enginetest" => [ + "test/enginetest-bin-enginetest.o" + ], + "test/enginetest-bin-enginetest.o" => [ + "test/enginetest.c" + ], + "test/errtest" => [ + "test/errtest-bin-errtest.o" + ], + "test/errtest-bin-errtest.o" => [ + "test/errtest.c" + ], + "test/evp_extra_test" => [ + "test/evp_extra_test-bin-evp_extra_test.o" + ], + "test/evp_extra_test-bin-evp_extra_test.o" => [ + "test/evp_extra_test.c" + ], + "test/evp_extra_test2" => [ + "test/evp_extra_test2-bin-evp_extra_test2.o" + ], + "test/evp_extra_test2-bin-evp_extra_test2.o" => [ + "test/evp_extra_test2.c" + ], + "test/evp_fetch_prov_test" => [ + "test/evp_fetch_prov_test-bin-evp_fetch_prov_test.o" + ], + "test/evp_fetch_prov_test-bin-evp_fetch_prov_test.o" => [ + "test/evp_fetch_prov_test.c" + ], + "test/evp_kdf_test" => [ + "test/evp_kdf_test-bin-evp_kdf_test.o" + ], + "test/evp_kdf_test-bin-evp_kdf_test.o" => [ + "test/evp_kdf_test.c" + ], + "test/evp_libctx_test" => [ + "test/evp_libctx_test-bin-evp_libctx_test.o" + ], + "test/evp_libctx_test-bin-evp_libctx_test.o" => [ + "test/evp_libctx_test.c" + ], + "test/evp_pkey_ctx_new_from_name" => [ + "test/evp_pkey_ctx_new_from_name-bin-evp_pkey_ctx_new_from_name.o" + ], + "test/evp_pkey_ctx_new_from_name-bin-evp_pkey_ctx_new_from_name.o" => [ + "test/evp_pkey_ctx_new_from_name.c" + ], + "test/evp_pkey_dparams_test" => [ + "test/evp_pkey_dparams_test-bin-evp_pkey_dparams_test.o" + ], + "test/evp_pkey_dparams_test-bin-evp_pkey_dparams_test.o" => [ + "test/evp_pkey_dparams_test.c" + ], + "test/evp_pkey_provided_test" => [ + "test/evp_pkey_provided_test-bin-evp_pkey_provided_test.o" + ], + "test/evp_pkey_provided_test-bin-evp_pkey_provided_test.o" => [ + "test/evp_pkey_provided_test.c" + ], + "test/evp_test" => [ + "test/evp_test-bin-evp_test.o" + ], + "test/evp_test-bin-evp_test.o" => [ + "test/evp_test.c" + ], + "test/exdatatest" => [ + "test/exdatatest-bin-exdatatest.o" + ], + "test/exdatatest-bin-exdatatest.o" => [ + "test/exdatatest.c" + ], + "test/exptest" => [ + "test/exptest-bin-exptest.o" + ], + "test/exptest-bin-exptest.o" => [ + "test/exptest.c" + ], + "test/ext_internal_test" => [ + "test/ext_internal_test-bin-ext_internal_test.o" + ], + "test/ext_internal_test-bin-ext_internal_test.o" => [ + "test/ext_internal_test.c" + ], + "test/fatalerrtest" => [ + "test/fatalerrtest-bin-fatalerrtest.o", + "test/helpers/fatalerrtest-bin-ssltestlib.o" + ], + "test/fatalerrtest-bin-fatalerrtest.o" => [ + "test/fatalerrtest.c" + ], + "test/ffc_internal_test" => [ + "test/ffc_internal_test-bin-ffc_internal_test.o" + ], + "test/ffc_internal_test-bin-ffc_internal_test.o" => [ + "test/ffc_internal_test.c" + ], + "test/fips_version_test" => [ + "test/fips_version_test-bin-fips_version_test.o" + ], + "test/fips_version_test-bin-fips_version_test.o" => [ + "test/fips_version_test.c" + ], + "test/gmdifftest" => [ + "test/gmdifftest-bin-gmdifftest.o" + ], + "test/gmdifftest-bin-gmdifftest.o" => [ + "test/gmdifftest.c" + ], + "test/helpers/asynciotest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/cmp_asn_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_client_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_ctx_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_hdr_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_msg_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_protect_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_server_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_status_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/cmp_vfy_test-bin-cmp_testlib.o" => [ + "test/helpers/cmp_testlib.c" + ], + "test/helpers/dtls_mtu_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/dtlstest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/endecode_test-bin-predefined_dhparams.o" => [ + "test/helpers/predefined_dhparams.c" + ], + "test/helpers/fatalerrtest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/pkcs12_format_test-bin-pkcs12.o" => [ + "test/helpers/pkcs12.c" + ], + "test/helpers/recordlentest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/servername_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/ssl_old_test-bin-predefined_dhparams.o" => [ + "test/helpers/predefined_dhparams.c" + ], + "test/helpers/ssl_test-bin-handshake.o" => [ + "test/helpers/handshake.c" + ], + "test/helpers/ssl_test-bin-handshake_srp.o" => [ + "test/helpers/handshake_srp.c" + ], + "test/helpers/ssl_test-bin-ssl_test_ctx.o" => [ + "test/helpers/ssl_test_ctx.c" + ], + "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o" => [ + "test/helpers/ssl_test_ctx.c" + ], + "test/helpers/sslapitest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/sslbuffertest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/sslcorrupttest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/helpers/tls13ccstest-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], + "test/hexstr_test" => [ + "test/hexstr_test-bin-hexstr_test.o" + ], + "test/hexstr_test-bin-hexstr_test.o" => [ + "test/hexstr_test.c" + ], + "test/hmactest" => [ + "test/hmactest-bin-hmactest.o" + ], + "test/hmactest-bin-hmactest.o" => [ + "test/hmactest.c" + ], + "test/http_test" => [ + "test/http_test-bin-http_test.o" + ], + "test/http_test-bin-http_test.o" => [ + "test/http_test.c" + ], + "test/ideatest" => [ + "test/ideatest-bin-ideatest.o" + ], + "test/ideatest-bin-ideatest.o" => [ + "test/ideatest.c" + ], + "test/igetest" => [ + "test/igetest-bin-igetest.o" + ], + "test/igetest-bin-igetest.o" => [ + "test/igetest.c" + ], + "test/keymgmt_internal_test" => [ + "test/keymgmt_internal_test-bin-keymgmt_internal_test.o" + ], + "test/keymgmt_internal_test-bin-keymgmt_internal_test.o" => [ + "test/keymgmt_internal_test.c" + ], + "test/lhash_test" => [ + "test/lhash_test-bin-lhash_test.o" + ], + "test/lhash_test-bin-lhash_test.o" => [ + "test/lhash_test.c" + ], + "test/libtestutil.a" => [ + "apps/lib/libtestutil-lib-opt.o", + "test/testutil/libtestutil-lib-apps_shims.o", + "test/testutil/libtestutil-lib-basic_output.o", + "test/testutil/libtestutil-lib-cb.o", + "test/testutil/libtestutil-lib-driver.o", + "test/testutil/libtestutil-lib-fake_random.o", + "test/testutil/libtestutil-lib-format_output.o", + "test/testutil/libtestutil-lib-load.o", + "test/testutil/libtestutil-lib-main.o", + "test/testutil/libtestutil-lib-options.o", + "test/testutil/libtestutil-lib-output.o", + "test/testutil/libtestutil-lib-provider.o", + "test/testutil/libtestutil-lib-random.o", + "test/testutil/libtestutil-lib-stanza.o", + "test/testutil/libtestutil-lib-test_cleanup.o", + "test/testutil/libtestutil-lib-test_options.o", + "test/testutil/libtestutil-lib-tests.o", + "test/testutil/libtestutil-lib-testutil_init.o" + ], + "test/localetest" => [ + "test/localetest-bin-localetest.o" + ], + "test/localetest-bin-localetest.o" => [ + "test/localetest.c" + ], + "test/mdc2_internal_test" => [ + "test/mdc2_internal_test-bin-mdc2_internal_test.o" + ], + "test/mdc2_internal_test-bin-mdc2_internal_test.o" => [ + "test/mdc2_internal_test.c" + ], + "test/mdc2test" => [ + "test/mdc2test-bin-mdc2test.o" + ], + "test/mdc2test-bin-mdc2test.o" => [ + "test/mdc2test.c" + ], + "test/memleaktest" => [ + "test/memleaktest-bin-memleaktest.o" + ], + "test/memleaktest-bin-memleaktest.o" => [ + "test/memleaktest.c" + ], + "test/modes_internal_test" => [ + "test/modes_internal_test-bin-modes_internal_test.o" + ], + "test/modes_internal_test-bin-modes_internal_test.o" => [ + "test/modes_internal_test.c" + ], + "test/namemap_internal_test" => [ + "test/namemap_internal_test-bin-namemap_internal_test.o" + ], + "test/namemap_internal_test-bin-namemap_internal_test.o" => [ + "test/namemap_internal_test.c" + ], + "test/ocspapitest" => [ + "test/ocspapitest-bin-ocspapitest.o" + ], + "test/ocspapitest-bin-ocspapitest.o" => [ + "test/ocspapitest.c" + ], + "test/ossl_store_test" => [ + "test/ossl_store_test-bin-ossl_store_test.o" + ], + "test/ossl_store_test-bin-ossl_store_test.o" => [ + "test/ossl_store_test.c" + ], + "test/p_test" => [ + "test/p_test-dso-p_test.o", + "test/p_test.ld" + ], + "test/p_test-dso-p_test.o" => [ + "test/p_test.c" + ], + "test/packettest" => [ + "test/packettest-bin-packettest.o" + ], + "test/packettest-bin-packettest.o" => [ + "test/packettest.c" + ], + "test/param_build_test" => [ + "test/param_build_test-bin-param_build_test.o" + ], + "test/param_build_test-bin-param_build_test.o" => [ + "test/param_build_test.c" + ], + "test/params_api_test" => [ + "test/params_api_test-bin-params_api_test.o" + ], + "test/params_api_test-bin-params_api_test.o" => [ + "test/params_api_test.c" + ], + "test/params_conversion_test" => [ + "test/params_conversion_test-bin-params_conversion_test.o" + ], + "test/params_conversion_test-bin-params_conversion_test.o" => [ + "test/params_conversion_test.c" + ], + "test/params_test" => [ + "test/params_test-bin-params_test.o" + ], + "test/params_test-bin-params_test.o" => [ + "test/params_test.c" + ], + "test/pbelutest" => [ + "test/pbelutest-bin-pbelutest.o" + ], + "test/pbelutest-bin-pbelutest.o" => [ + "test/pbelutest.c" + ], + "test/pbetest" => [ + "test/pbetest-bin-pbetest.o" + ], + "test/pbetest-bin-pbetest.o" => [ + "test/pbetest.c" + ], + "test/pem_read_depr_test" => [ + "test/pem_read_depr_test-bin-pem_read_depr_test.o" + ], + "test/pem_read_depr_test-bin-pem_read_depr_test.o" => [ + "test/pem_read_depr_test.c" + ], + "test/pemtest" => [ + "test/pemtest-bin-pemtest.o" + ], + "test/pemtest-bin-pemtest.o" => [ + "test/pemtest.c" + ], + "test/pkcs12_format_test" => [ + "test/helpers/pkcs12_format_test-bin-pkcs12.o", + "test/pkcs12_format_test-bin-pkcs12_format_test.o" + ], + "test/pkcs12_format_test-bin-pkcs12_format_test.o" => [ + "test/pkcs12_format_test.c" + ], + "test/pkcs7_test" => [ + "test/pkcs7_test-bin-pkcs7_test.o" + ], + "test/pkcs7_test-bin-pkcs7_test.o" => [ + "test/pkcs7_test.c" + ], + "test/pkey_meth_kdf_test" => [ + "test/pkey_meth_kdf_test-bin-pkey_meth_kdf_test.o" + ], + "test/pkey_meth_kdf_test-bin-pkey_meth_kdf_test.o" => [ + "test/pkey_meth_kdf_test.c" + ], + "test/pkey_meth_test" => [ + "test/pkey_meth_test-bin-pkey_meth_test.o" + ], + "test/pkey_meth_test-bin-pkey_meth_test.o" => [ + "test/pkey_meth_test.c" + ], + "test/poly1305_internal_test" => [ + "test/poly1305_internal_test-bin-poly1305_internal_test.o" + ], + "test/poly1305_internal_test-bin-poly1305_internal_test.o" => [ + "test/poly1305_internal_test.c" + ], + "test/property_test" => [ + "test/property_test-bin-property_test.o" + ], + "test/property_test-bin-property_test.o" => [ + "test/property_test.c" + ], + "test/prov_config_test" => [ + "test/prov_config_test-bin-prov_config_test.o" + ], + "test/prov_config_test-bin-prov_config_test.o" => [ + "test/prov_config_test.c" + ], + "test/provfetchtest" => [ + "test/provfetchtest-bin-provfetchtest.o" + ], + "test/provfetchtest-bin-provfetchtest.o" => [ + "test/provfetchtest.c" + ], + "test/provider_fallback_test" => [ + "test/provider_fallback_test-bin-provider_fallback_test.o" + ], + "test/provider_fallback_test-bin-provider_fallback_test.o" => [ + "test/provider_fallback_test.c" + ], + "test/provider_internal_test" => [ + "test/provider_internal_test-bin-p_test.o", + "test/provider_internal_test-bin-provider_internal_test.o" + ], + "test/provider_internal_test-bin-p_test.o" => [ + "test/p_test.c" + ], + "test/provider_internal_test-bin-provider_internal_test.o" => [ + "test/provider_internal_test.c" + ], + "test/provider_pkey_test" => [ + "test/provider_pkey_test-bin-fake_rsaprov.o", + "test/provider_pkey_test-bin-provider_pkey_test.o" + ], + "test/provider_pkey_test-bin-fake_rsaprov.o" => [ + "test/fake_rsaprov.c" + ], + "test/provider_pkey_test-bin-provider_pkey_test.o" => [ + "test/provider_pkey_test.c" + ], + "test/provider_status_test" => [ + "test/provider_status_test-bin-provider_status_test.o" + ], + "test/provider_status_test-bin-provider_status_test.o" => [ + "test/provider_status_test.c" + ], + "test/provider_test" => [ + "test/provider_test-bin-p_test.o", + "test/provider_test-bin-provider_test.o" + ], + "test/provider_test-bin-p_test.o" => [ + "test/p_test.c" + ], + "test/provider_test-bin-provider_test.o" => [ + "test/provider_test.c" + ], + "test/punycode_test" => [ + "test/punycode_test-bin-punycode_test.o" + ], + "test/punycode_test-bin-punycode_test.o" => [ + "test/punycode_test.c" + ], + "test/rand_status_test" => [ + "test/rand_status_test-bin-rand_status_test.o" + ], + "test/rand_status_test-bin-rand_status_test.o" => [ + "test/rand_status_test.c" + ], + "test/rand_test" => [ + "test/rand_test-bin-rand_test.o" + ], + "test/rand_test-bin-rand_test.o" => [ + "test/rand_test.c" + ], + "test/rc2test" => [ + "test/rc2test-bin-rc2test.o" + ], + "test/rc2test-bin-rc2test.o" => [ + "test/rc2test.c" + ], + "test/rc4test" => [ + "test/rc4test-bin-rc4test.o" + ], + "test/rc4test-bin-rc4test.o" => [ + "test/rc4test.c" + ], + "test/rc5test" => [ + "test/rc5test-bin-rc5test.o" + ], + "test/rc5test-bin-rc5test.o" => [ + "test/rc5test.c" + ], + "test/rdrand_sanitytest" => [ + "test/rdrand_sanitytest-bin-rdrand_sanitytest.o" + ], + "test/rdrand_sanitytest-bin-rdrand_sanitytest.o" => [ + "test/rdrand_sanitytest.c" + ], + "test/recordlentest" => [ + "test/helpers/recordlentest-bin-ssltestlib.o", + "test/recordlentest-bin-recordlentest.o" + ], + "test/recordlentest-bin-recordlentest.o" => [ + "test/recordlentest.c" + ], + "test/rsa_complex" => [ + "test/rsa_complex-bin-rsa_complex.o" + ], + "test/rsa_complex-bin-rsa_complex.o" => [ + "test/rsa_complex.c" + ], + "test/rsa_mp_test" => [ + "test/rsa_mp_test-bin-rsa_mp_test.o" + ], + "test/rsa_mp_test-bin-rsa_mp_test.o" => [ + "test/rsa_mp_test.c" + ], + "test/rsa_sp800_56b_test" => [ + "test/rsa_sp800_56b_test-bin-rsa_sp800_56b_test.o" + ], + "test/rsa_sp800_56b_test-bin-rsa_sp800_56b_test.o" => [ + "test/rsa_sp800_56b_test.c" + ], + "test/rsa_test" => [ + "test/rsa_test-bin-rsa_test.o" + ], + "test/rsa_test-bin-rsa_test.o" => [ + "test/rsa_test.c" + ], + "test/sanitytest" => [ + "test/sanitytest-bin-sanitytest.o" + ], + "test/sanitytest-bin-sanitytest.o" => [ + "test/sanitytest.c" + ], + "test/secmemtest" => [ + "test/secmemtest-bin-secmemtest.o" + ], + "test/secmemtest-bin-secmemtest.o" => [ + "test/secmemtest.c" + ], + "test/servername_test" => [ + "test/helpers/servername_test-bin-ssltestlib.o", + "test/servername_test-bin-servername_test.o" + ], + "test/servername_test-bin-servername_test.o" => [ + "test/servername_test.c" + ], + "test/sha_test" => [ + "test/sha_test-bin-sha_test.o" + ], + "test/sha_test-bin-sha_test.o" => [ + "test/sha_test.c" + ], + "test/siphash_internal_test" => [ + "test/siphash_internal_test-bin-siphash_internal_test.o" + ], + "test/siphash_internal_test-bin-siphash_internal_test.o" => [ + "test/siphash_internal_test.c" + ], + "test/sm2_internal_test" => [ + "test/sm2_internal_test-bin-sm2_internal_test.o" + ], + "test/sm2_internal_test-bin-sm2_internal_test.o" => [ + "test/sm2_internal_test.c" + ], + "test/sm3_internal_test" => [ + "test/sm3_internal_test-bin-sm3_internal_test.o" + ], + "test/sm3_internal_test-bin-sm3_internal_test.o" => [ + "test/sm3_internal_test.c" + ], + "test/sm4_internal_test" => [ + "test/sm4_internal_test-bin-sm4_internal_test.o" + ], + "test/sm4_internal_test-bin-sm4_internal_test.o" => [ + "test/sm4_internal_test.c" + ], + "test/sparse_array_test" => [ + "test/sparse_array_test-bin-sparse_array_test.o" + ], + "test/sparse_array_test-bin-sparse_array_test.o" => [ + "test/sparse_array_test.c" + ], + "test/srptest" => [ + "test/srptest-bin-srptest.o" + ], + "test/srptest-bin-srptest.o" => [ + "test/srptest.c" + ], + "test/ssl_cert_table_internal_test" => [ + "test/ssl_cert_table_internal_test-bin-ssl_cert_table_internal_test.o" + ], + "test/ssl_cert_table_internal_test-bin-ssl_cert_table_internal_test.o" => [ + "test/ssl_cert_table_internal_test.c" + ], + "test/ssl_ctx_test" => [ + "test/ssl_ctx_test-bin-ssl_ctx_test.o" + ], + "test/ssl_ctx_test-bin-ssl_ctx_test.o" => [ + "test/ssl_ctx_test.c" + ], + "test/ssl_old_test" => [ + "test/helpers/ssl_old_test-bin-predefined_dhparams.o", + "test/ssl_old_test-bin-ssl_old_test.o" + ], + "test/ssl_old_test-bin-ssl_old_test.o" => [ + "test/ssl_old_test.c" + ], + "test/ssl_test" => [ + "test/helpers/ssl_test-bin-handshake.o", + "test/helpers/ssl_test-bin-handshake_srp.o", + "test/helpers/ssl_test-bin-ssl_test_ctx.o", + "test/ssl_test-bin-ssl_test.o" + ], + "test/ssl_test-bin-ssl_test.o" => [ + "test/ssl_test.c" + ], + "test/ssl_test_ctx_test" => [ + "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o", + "test/ssl_test_ctx_test-bin-ssl_test_ctx_test.o" + ], + "test/ssl_test_ctx_test-bin-ssl_test_ctx_test.o" => [ + "test/ssl_test_ctx_test.c" + ], + "test/sslapitest" => [ + "test/helpers/sslapitest-bin-ssltestlib.o", + "test/sslapitest-bin-filterprov.o", + "test/sslapitest-bin-sslapitest.o", + "test/sslapitest-bin-tls-provider.o" + ], + "test/sslapitest-bin-filterprov.o" => [ + "test/filterprov.c" + ], + "test/sslapitest-bin-sslapitest.o" => [ + "test/sslapitest.c" + ], + "test/sslapitest-bin-tls-provider.o" => [ + "test/tls-provider.c" + ], + "test/sslbuffertest" => [ + "test/helpers/sslbuffertest-bin-ssltestlib.o", + "test/sslbuffertest-bin-sslbuffertest.o" + ], + "test/sslbuffertest-bin-sslbuffertest.o" => [ + "test/sslbuffertest.c" + ], + "test/sslcorrupttest" => [ + "test/helpers/sslcorrupttest-bin-ssltestlib.o", + "test/sslcorrupttest-bin-sslcorrupttest.o" + ], + "test/sslcorrupttest-bin-sslcorrupttest.o" => [ + "test/sslcorrupttest.c" + ], + "test/stack_test" => [ + "test/stack_test-bin-stack_test.o" + ], + "test/stack_test-bin-stack_test.o" => [ + "test/stack_test.c" + ], + "test/sysdefaulttest" => [ + "test/sysdefaulttest-bin-sysdefaulttest.o" + ], + "test/sysdefaulttest-bin-sysdefaulttest.o" => [ + "test/sysdefaulttest.c" + ], + "test/test_test" => [ + "test/test_test-bin-test_test.o" + ], + "test/test_test-bin-test_test.o" => [ + "test/test_test.c" + ], + "test/testutil/libtestutil-lib-apps_shims.o" => [ + "test/testutil/apps_shims.c" + ], + "test/testutil/libtestutil-lib-basic_output.o" => [ + "test/testutil/basic_output.c" + ], + "test/testutil/libtestutil-lib-cb.o" => [ + "test/testutil/cb.c" + ], + "test/testutil/libtestutil-lib-driver.o" => [ + "test/testutil/driver.c" + ], + "test/testutil/libtestutil-lib-fake_random.o" => [ + "test/testutil/fake_random.c" + ], + "test/testutil/libtestutil-lib-format_output.o" => [ + "test/testutil/format_output.c" + ], + "test/testutil/libtestutil-lib-load.o" => [ + "test/testutil/load.c" + ], + "test/testutil/libtestutil-lib-main.o" => [ + "test/testutil/main.c" + ], + "test/testutil/libtestutil-lib-options.o" => [ + "test/testutil/options.c" + ], + "test/testutil/libtestutil-lib-output.o" => [ + "test/testutil/output.c" + ], + "test/testutil/libtestutil-lib-provider.o" => [ + "test/testutil/provider.c" + ], + "test/testutil/libtestutil-lib-random.o" => [ + "test/testutil/random.c" + ], + "test/testutil/libtestutil-lib-stanza.o" => [ + "test/testutil/stanza.c" + ], + "test/testutil/libtestutil-lib-test_cleanup.o" => [ + "test/testutil/test_cleanup.c" + ], + "test/testutil/libtestutil-lib-test_options.o" => [ + "test/testutil/test_options.c" + ], + "test/testutil/libtestutil-lib-tests.o" => [ + "test/testutil/tests.c" + ], + "test/testutil/libtestutil-lib-testutil_init.o" => [ + "test/testutil/testutil_init.c" + ], + "test/threadstest" => [ + "test/threadstest-bin-threadstest.o" + ], + "test/threadstest-bin-threadstest.o" => [ + "test/threadstest.c" + ], + "test/threadstest_fips" => [ + "test/threadstest_fips-bin-threadstest_fips.o" + ], + "test/threadstest_fips-bin-threadstest_fips.o" => [ + "test/threadstest_fips.c" + ], + "test/time_offset_test" => [ + "test/time_offset_test-bin-time_offset_test.o" + ], + "test/time_offset_test-bin-time_offset_test.o" => [ + "test/time_offset_test.c" + ], + "test/tls13ccstest" => [ + "test/helpers/tls13ccstest-bin-ssltestlib.o", + "test/tls13ccstest-bin-tls13ccstest.o" + ], + "test/tls13ccstest-bin-tls13ccstest.o" => [ + "test/tls13ccstest.c" + ], + "test/tls13encryptiontest" => [ + "test/tls13encryptiontest-bin-tls13encryptiontest.o" + ], + "test/tls13encryptiontest-bin-tls13encryptiontest.o" => [ + "test/tls13encryptiontest.c" + ], + "test/trace_api_test" => [ + "test/trace_api_test-bin-trace_api_test.o" + ], + "test/trace_api_test-bin-trace_api_test.o" => [ + "test/trace_api_test.c" + ], + "test/uitest" => [ + "apps/lib/uitest-bin-apps_ui.o", + "test/uitest-bin-uitest.o" + ], + "test/uitest-bin-uitest.o" => [ + "test/uitest.c" + ], + "test/upcallstest" => [ + "test/upcallstest-bin-upcallstest.o" + ], + "test/upcallstest-bin-upcallstest.o" => [ + "test/upcallstest.c" + ], + "test/user_property_test" => [ + "test/user_property_test-bin-user_property_test.o" + ], + "test/user_property_test-bin-user_property_test.o" => [ + "test/user_property_test.c" + ], + "test/v3ext" => [ + "test/v3ext-bin-v3ext.o" + ], + "test/v3ext-bin-v3ext.o" => [ + "test/v3ext.c" + ], + "test/v3nametest" => [ + "test/v3nametest-bin-v3nametest.o" + ], + "test/v3nametest-bin-v3nametest.o" => [ + "test/v3nametest.c" + ], + "test/verify_extra_test" => [ + "test/verify_extra_test-bin-verify_extra_test.o" + ], + "test/verify_extra_test-bin-verify_extra_test.o" => [ + "test/verify_extra_test.c" + ], + "test/versions" => [ + "test/versions-bin-versions.o" + ], + "test/versions-bin-versions.o" => [ + "test/versions.c" + ], + "test/wpackettest" => [ + "test/wpackettest-bin-wpackettest.o" + ], + "test/wpackettest-bin-wpackettest.o" => [ + "test/wpackettest.c" + ], + "test/x509_check_cert_pkey_test" => [ + "test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.o" + ], + "test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.o" => [ + "test/x509_check_cert_pkey_test.c" + ], + "test/x509_dup_cert_test" => [ + "test/x509_dup_cert_test-bin-x509_dup_cert_test.o" + ], + "test/x509_dup_cert_test-bin-x509_dup_cert_test.o" => [ + "test/x509_dup_cert_test.c" + ], + "test/x509_internal_test" => [ + "test/x509_internal_test-bin-x509_internal_test.o" + ], + "test/x509_internal_test-bin-x509_internal_test.o" => [ + "test/x509_internal_test.c" + ], + "test/x509_time_test" => [ + "test/x509_time_test-bin-x509_time_test.o" + ], + "test/x509_time_test-bin-x509_time_test.o" => [ + "test/x509_time_test.c" + ], + "test/x509aux" => [ + "test/x509aux-bin-x509aux.o" + ], + "test/x509aux-bin-x509aux.o" => [ + "test/x509aux.c" + ], + "tools/c_rehash" => [ + "tools/c_rehash.in" + ], + "util/shlib_wrap.sh" => [ + "util/shlib_wrap.sh.in" + ], + "util/wrap.pl" => [ + "util/wrap.pl.in" + ] + }, + "targets" => [ + "build_modules_nodep" + ] +); + +# Unexported, only used by OpenSSL::Test::Utils::available_protocols() +our %available_protocols = ( + tls => [ + "ssl3", + "tls1", + "tls1_1", + "tls1_2", + "tls1_3" +], + dtls => [ + "dtls1", + "dtls1_2" +], +); + +# The following data is only used when this files is use as a script +my @makevars = ( + "AR", + "ARFLAGS", + "AS", + "ASFLAGS", + "CC", + "CFLAGS", + "CPP", + "CPPDEFINES", + "CPPFLAGS", + "CPPINCLUDES", + "CROSS_COMPILE", + "CXX", + "CXXFLAGS", + "HASHBANGPERL", + "LD", + "LDFLAGS", + "LDLIBS", + "MT", + "MTFLAGS", + "PERL", + "RANLIB", + "RC", + "RCFLAGS", + "RM" +); +my %disabled_info = ( + "afalgeng" => { + "macro" => "OPENSSL_NO_AFALGENG" + }, + "asan" => { + "macro" => "OPENSSL_NO_ASAN" + }, + "asm" => { + "macro" => "OPENSSL_NO_ASM" + }, + "comp" => { + "macro" => "OPENSSL_NO_COMP", + "skipped" => [ + "crypto/comp" + ] + }, + "crypto-mdebug" => { + "macro" => "OPENSSL_NO_CRYPTO_MDEBUG" + }, + "crypto-mdebug-backtrace" => { + "macro" => "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE" + }, + "devcryptoeng" => { + "macro" => "OPENSSL_NO_DEVCRYPTOENG" + }, + "ec_nistp_64_gcc_128" => { + "macro" => "OPENSSL_NO_EC_NISTP_64_GCC_128" + }, + "egd" => { + "macro" => "OPENSSL_NO_EGD" + }, + "external-tests" => { + "macro" => "OPENSSL_NO_EXTERNAL_TESTS" + }, + "fuzz-afl" => { + "macro" => "OPENSSL_NO_FUZZ_AFL" + }, + "fuzz-libfuzzer" => { + "macro" => "OPENSSL_NO_FUZZ_LIBFUZZER" + }, + "ktls" => { + "macro" => "OPENSSL_NO_KTLS" + }, + "loadereng" => { + "macro" => "OPENSSL_NO_LOADERENG" + }, + "md2" => { + "macro" => "OPENSSL_NO_MD2", + "skipped" => [ + "crypto/md2" + ] + }, + "msan" => { + "macro" => "OPENSSL_NO_MSAN" + }, + "rc5" => { + "macro" => "OPENSSL_NO_RC5", + "skipped" => [ + "crypto/rc5" + ] + }, + "sctp" => { + "macro" => "OPENSSL_NO_SCTP" + }, + "ssl3" => { + "macro" => "OPENSSL_NO_SSL3" + }, + "ssl3-method" => { + "macro" => "OPENSSL_NO_SSL3_METHOD" + }, + "trace" => { + "macro" => "OPENSSL_NO_TRACE" + }, + "ubsan" => { + "macro" => "OPENSSL_NO_UBSAN" + }, + "unit-test" => { + "macro" => "OPENSSL_NO_UNIT_TEST" + }, + "uplink" => { + "macro" => "OPENSSL_NO_UPLINK" + }, + "weak-ssl-ciphers" => { + "macro" => "OPENSSL_NO_WEAK_SSL_CIPHERS" + } +); +my @user_crossable = qw( AR AS CC CXX CPP LD MT RANLIB RC ); + +# If run directly, we can give some answers, and even reconfigure +unless (caller) { + use Getopt::Long; + use File::Spec::Functions; + use File::Basename; + use File::Compare qw(compare_text); + use File::Copy; + use Pod::Usage; + + use lib '/home/rafaelgss/repos/os/node/deps/openssl/openssl/util/perl'; + use OpenSSL::fallback '/home/rafaelgss/repos/os/node/deps/openssl/openssl/external/perl/MODULES.txt'; + + my $here = dirname($0); + + if (scalar @ARGV == 0) { + # With no arguments, re-create the build file + # We do that in two steps, where the first step emits perl + # snipets. + + my $buildfile = $config{build_file}; + my $buildfile_template = "$buildfile.in"; + my @autowarntext = ( + 'WARNING: do not edit!', + "Generated by configdata.pm from " + .join(", ", @{$config{build_file_templates}}), + "via $buildfile_template" + ); + my %gendata = ( + config => \%config, + target => \%target, + disabled => \%disabled, + withargs => \%withargs, + unified_info => \%unified_info, + autowarntext => \@autowarntext, + ); + + use lib '.'; + use lib '/home/rafaelgss/repos/os/node/deps/openssl/openssl/Configurations'; + use gentemplate; + + open my $buildfile_template_fh, ">$buildfile_template" + or die "Trying to create $buildfile_template: $!"; + foreach (@{$config{build_file_templates}}) { + copy($_, $buildfile_template_fh) + or die "Trying to copy $_ into $buildfile_template: $!"; + } + gentemplate(output => $buildfile_template_fh, %gendata); + close $buildfile_template_fh; + print 'Created ',$buildfile_template,"\n"; + + use OpenSSL::Template; + + my $prepend = <<'_____'; +use File::Spec::Functions; +use lib '/home/rafaelgss/repos/os/node/deps/openssl/openssl/util/perl'; +use lib '/home/rafaelgss/repos/os/node/deps/openssl/openssl/Configurations'; +use lib '.'; +use platform; +_____ + + my $tmpl; + open BUILDFILE, ">$buildfile.new" + or die "Trying to create $buildfile.new: $!"; + $tmpl = OpenSSL::Template->new(TYPE => 'FILE', + SOURCE => $buildfile_template); + $tmpl->fill_in(FILENAME => $_, + OUTPUT => \*BUILDFILE, + HASH => \%gendata, + PREPEND => $prepend, + # To ensure that global variables and functions + # defined in one template stick around for the + # next, making them combinable + PACKAGE => 'OpenSSL::safe') + or die $Text::Template::ERROR; + close BUILDFILE; + rename("$buildfile.new", $buildfile) + or die "Trying to rename $buildfile.new to $buildfile: $!"; + print 'Created ',$buildfile,"\n"; + + my $configuration_h = + catfile('include', 'openssl', 'configuration.h'); + my $configuration_h_in = + catfile($config{sourcedir}, 'include', 'openssl', 'configuration.h.in'); + open CONFIGURATION_H, ">${configuration_h}.new" + or die "Trying to create ${configuration_h}.new: $!"; + $tmpl = OpenSSL::Template->new(TYPE => 'FILE', + SOURCE => $configuration_h_in); + $tmpl->fill_in(FILENAME => $_, + OUTPUT => \*CONFIGURATION_H, + HASH => \%gendata, + PREPEND => $prepend, + # To ensure that global variables and functions + # defined in one template stick around for the + # next, making them combinable + PACKAGE => 'OpenSSL::safe') + or die $Text::Template::ERROR; + close CONFIGURATION_H; + + # When using stat() on Windows, we can get it to perform better by + # avoid some data. This doesn't affect the mtime field, so we're not + # losing anything... + ${^WIN32_SLOPPY_STAT} = 1; + + my $update_configuration_h = 0; + if (-f $configuration_h) { + my $configuration_h_mtime = (stat($configuration_h))[9]; + my $configuration_h_in_mtime = (stat($configuration_h_in))[9]; + + # If configuration.h.in was updated after the last configuration.h, + # or if configuration.h.new differs configuration.h, we update + # configuration.h + if ($configuration_h_mtime < $configuration_h_in_mtime + || compare_text("${configuration_h}.new", $configuration_h) != 0) { + $update_configuration_h = 1; + } else { + # If nothing has changed, let's just drop the new one and + # pretend like nothing happened + unlink "${configuration_h}.new" + } + } else { + $update_configuration_h = 1; + } + + if ($update_configuration_h) { + rename("${configuration_h}.new", $configuration_h) + or die "Trying to rename ${configuration_h}.new to $configuration_h: $!"; + print 'Created ',$configuration_h,"\n"; + } + + exit(0); + } + + my $dump = undef; + my $cmdline = undef; + my $options = undef; + my $target = undef; + my $envvars = undef; + my $makevars = undef; + my $buildparams = undef; + my $reconf = undef; + my $verbose = undef; + my $query = undef; + my $help = undef; + my $man = undef; + GetOptions('dump|d' => \$dump, + 'command-line|c' => \$cmdline, + 'options|o' => \$options, + 'target|t' => \$target, + 'environment|e' => \$envvars, + 'make-variables|m' => \$makevars, + 'build-parameters|b' => \$buildparams, + 'reconfigure|reconf|r' => \$reconf, + 'verbose|v' => \$verbose, + 'query|q=s' => \$query, + 'help' => \$help, + 'man' => \$man) + or die "Errors in command line arguments\n"; + + # We allow extra arguments with --query. That allows constructs like + # this: + # ./configdata.pm --query 'get_sources(@ARGV)' file1 file2 file3 + if (!$query && scalar @ARGV > 0) { + print STDERR <<"_____"; +Unrecognised arguments. +For more information, do '$0 --help' +_____ + exit(2); + } + + if ($help) { + pod2usage(-exitval => 0, + -verbose => 1); + } + if ($man) { + pod2usage(-exitval => 0, + -verbose => 2); + } + if ($dump || $cmdline) { + print "\nCommand line (with current working directory = $here):\n\n"; + print ' ',join(' ', + $config{PERL}, + catfile($config{sourcedir}, 'Configure'), + @{$config{perlargv}}), "\n"; + print "\nPerl information:\n\n"; + print ' ',$config{perl_cmd},"\n"; + print ' ',$config{perl_version},' for ',$config{perl_archname},"\n"; + } + if ($dump || $options) { + my $longest = 0; + my $longest2 = 0; + foreach my $what (@disablables) { + $longest = length($what) if $longest < length($what); + $longest2 = length($disabled{$what}) + if $disabled{$what} && $longest2 < length($disabled{$what}); + } + print "\nEnabled features:\n\n"; + foreach my $what (@disablables) { + print " $what\n" unless $disabled{$what}; + } + print "\nDisabled features:\n\n"; + foreach my $what (@disablables) { + if ($disabled{$what}) { + print " $what", ' ' x ($longest - length($what) + 1), + "[$disabled{$what}]", ' ' x ($longest2 - length($disabled{$what}) + 1); + print $disabled_info{$what}->{macro} + if $disabled_info{$what}->{macro}; + print ' (skip ', + join(', ', @{$disabled_info{$what}->{skipped}}), + ')' + if $disabled_info{$what}->{skipped}; + print "\n"; + } + } + } + if ($dump || $target) { + print "\nConfig target attributes:\n\n"; + foreach (sort keys %target) { + next if $_ =~ m|^_| || $_ eq 'template'; + my $quotify = sub { + map { + if (defined $_) { + (my $x = $_) =~ s|([\\\$\@"])|\\$1|g; "\"$x\"" + } else { + "undef"; + } + } @_; + }; + print ' ', $_, ' => '; + if (ref($target{$_}) eq "ARRAY") { + print '[ ', join(', ', $quotify->(@{$target{$_}})), " ],\n"; + } else { + print $quotify->($target{$_}), ",\n" + } + } + } + if ($dump || $envvars) { + print "\nRecorded environment:\n\n"; + foreach (sort keys %{$config{perlenv}}) { + print ' ',$_,' = ',($config{perlenv}->{$_} || ''),"\n"; + } + } + if ($dump || $makevars) { + print "\nMakevars:\n\n"; + foreach my $var (@makevars) { + my $prefix = ''; + $prefix = $config{CROSS_COMPILE} + if grep { $var eq $_ } @user_crossable; + $prefix //= ''; + print ' ',$var,' ' x (16 - length $var),'= ', + (ref $config{$var} eq 'ARRAY' + ? join(' ', @{$config{$var}}) + : $prefix.$config{$var}), + "\n" + if defined $config{$var}; + } + + my @buildfile = ($config{builddir}, $config{build_file}); + unshift @buildfile, $here + unless file_name_is_absolute($config{builddir}); + my $buildfile = canonpath(catdir(@buildfile)); + print <<"_____"; + +NOTE: These variables only represent the configuration view. The build file +template may have processed these variables further, please have a look at the +build file for more exact data: + $buildfile +_____ + } + if ($dump || $buildparams) { + my @buildfile = ($config{builddir}, $config{build_file}); + unshift @buildfile, $here + unless file_name_is_absolute($config{builddir}); + print "\nbuild file:\n\n"; + print " ", canonpath(catfile(@buildfile)),"\n"; + + print "\nbuild file templates:\n\n"; + foreach (@{$config{build_file_templates}}) { + my @tmpl = ($_); + unshift @tmpl, $here + unless file_name_is_absolute($config{sourcedir}); + print ' ',canonpath(catfile(@tmpl)),"\n"; + } + } + if ($reconf) { + if ($verbose) { + print 'Reconfiguring with: ', join(' ',@{$config{perlargv}}), "\n"; + foreach (sort keys %{$config{perlenv}}) { + print ' ',$_,' = ',($config{perlenv}->{$_} || ""),"\n"; + } + } + + chdir $here; + exec $^X,catfile($config{sourcedir}, 'Configure'),'reconf'; + } + if ($query) { + use OpenSSL::Config::Query; + + my $confquery = OpenSSL::Config::Query->new(info => \%unified_info, + config => \%config); + my $result = eval "\$confquery->$query"; + + # We may need a result class with a printing function at some point. + # Until then, we assume that we get a scalar, or a list or a hash table + # with scalar values and simply print them in some orderly fashion. + if (ref $result eq 'ARRAY') { + print "$_\n" foreach @$result; + } elsif (ref $result eq 'HASH') { + print "$_ : \\\n ", join(" \\\n ", @{$result->{$_}}), "\n" + foreach sort keys %$result; + } elsif (ref $result eq 'SCALAR') { + print "$$result\n"; + } + } +} + +1; + +__END__ + +=head1 NAME + +configdata.pm - configuration data for OpenSSL builds + +=head1 SYNOPSIS + +Interactive: + + perl configdata.pm [options] + +As data bank module: + + use configdata; + +=head1 DESCRIPTION + +This module can be used in two modes, interactively and as a module containing +all the data recorded by OpenSSL's Configure script. + +When used interactively, simply run it as any perl script. +If run with no arguments, it will rebuild the build file (Makefile or +corresponding). +With at least one option, it will instead get the information you ask for, or +re-run the configuration process. +See L below for more information. + +When loaded as a module, you get a few databanks with useful information to +perform build related tasks. The databanks are: + + %config Configured things. + %target The OpenSSL config target with all inheritances + resolved. + %disabled The features that are disabled. + @disablables The list of features that can be disabled. + %withargs All data given through --with-THING options. + %unified_info All information that was computed from the build.info + files. + +=head1 OPTIONS + +=over 4 + +=item B<--help> + +Print a brief help message and exit. + +=item B<--man> + +Print the manual page and exit. + +=item B<--dump> | B<-d> + +Print all relevant configuration data. This is equivalent to B<--command-line> +B<--options> B<--target> B<--environment> B<--make-variables> +B<--build-parameters>. + +=item B<--command-line> | B<-c> + +Print the current configuration command line. + +=item B<--options> | B<-o> + +Print the features, both enabled and disabled, and display defined macro and +skipped directories where applicable. + +=item B<--target> | B<-t> + +Print the config attributes for this config target. + +=item B<--environment> | B<-e> + +Print the environment variables and their values at the time of configuration. + +=item B<--make-variables> | B<-m> + +Print the main make variables generated in the current configuration + +=item B<--build-parameters> | B<-b> + +Print the build parameters, i.e. build file and build file templates. + +=item B<--reconfigure> | B<--reconf> | B<-r> + +Re-run the configuration process. + +=item B<--verbose> | B<-v> + +Verbose output. + +=back + +=cut + +EOF diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h new file mode 100644 index 00000000000000..176ffff0870934 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h @@ -0,0 +1,29 @@ +/* + * WARNING: do not edit! + * Generated by util/mkbuildinf.pl + * + * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#define PLATFORM "platform: linux64-loongarch64" +#define DATE "built on: Thu May 4 02:11:25 2023 UTC" + +/* + * Generate compiler_flags as an array of individual characters. This is a + * workaround for the situation where CFLAGS gets too long for a C90 string + * literal + */ +static const char compiler_flags[] = { + 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','f', + 'P','I','C',' ','-','p','t','h','r','e','a','d',' ','-','W','a', + 'l','l',' ','-','O','3',' ','-','D','O','P','E','N','S','S','L', + '_','U','S','E','_','N','O','D','E','L','E','T','E',' ','-','D', + 'O','P','E','N','S','S','L','_','P','I','C',' ','-','D','O','P', + 'E','N','S','S','L','_','B','U','I','L','D','I','N','G','_','O', + 'P','E','N','S','S','L',' ','-','D','N','D','E','B','U','G','\0' +}; diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/bn_conf.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/bn_conf.h new file mode 100644 index 00000000000000..0347a6ddc067d5 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/bn_conf.h @@ -0,0 +1,29 @@ +/* WARNING: do not edit! */ +/* Generated by Makefile from include/crypto/bn_conf.h.in */ +/* + * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef OSSL_CRYPTO_BN_CONF_H +# define OSSL_CRYPTO_BN_CONF_H +# pragma once + +/* + * The contents of this file are not used in the UEFI build, as + * both 32-bit and 64-bit builds are supported from a single run + * of the Configure script. + */ + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#define SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT + +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/dso_conf.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/dso_conf.h new file mode 100644 index 00000000000000..795dfa0f1a66f1 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/dso_conf.h @@ -0,0 +1,19 @@ +/* WARNING: do not edit! */ +/* Generated by Makefile from include/crypto/dso_conf.h.in */ +/* + * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef OSSL_CRYPTO_DSO_CONF_H +# define OSSL_CRYPTO_DSO_CONF_H +# pragma once + +# define DSO_DLFCN +# define HAVE_DLFCN_H +# define DSO_EXTENSION ".so" +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1.h new file mode 100644 index 00000000000000..21ff58e3d803d4 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1.h @@ -0,0 +1,1128 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/asn1.h.in + * + * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_ASN1_H +# define OPENSSL_ASN1_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_ASN1_H +# endif + +# include +# include +# include +# include +# include +# include +# include + +# include +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define V_ASN1_UNIVERSAL 0x00 +# define V_ASN1_APPLICATION 0x40 +# define V_ASN1_CONTEXT_SPECIFIC 0x80 +# define V_ASN1_PRIVATE 0xc0 + +# define V_ASN1_CONSTRUCTED 0x20 +# define V_ASN1_PRIMITIVE_TAG 0x1f +# define V_ASN1_PRIMATIVE_TAG /*compat*/ V_ASN1_PRIMITIVE_TAG + +# define V_ASN1_APP_CHOOSE -2/* let the recipient choose */ +# define V_ASN1_OTHER -3/* used in ASN1_TYPE */ +# define V_ASN1_ANY -4/* used in ASN1 template code */ + +# define V_ASN1_UNDEF -1 +/* ASN.1 tag values */ +# define V_ASN1_EOC 0 +# define V_ASN1_BOOLEAN 1 /**/ +# define V_ASN1_INTEGER 2 +# define V_ASN1_BIT_STRING 3 +# define V_ASN1_OCTET_STRING 4 +# define V_ASN1_NULL 5 +# define V_ASN1_OBJECT 6 +# define V_ASN1_OBJECT_DESCRIPTOR 7 +# define V_ASN1_EXTERNAL 8 +# define V_ASN1_REAL 9 +# define V_ASN1_ENUMERATED 10 +# define V_ASN1_UTF8STRING 12 +# define V_ASN1_SEQUENCE 16 +# define V_ASN1_SET 17 +# define V_ASN1_NUMERICSTRING 18 /**/ +# define V_ASN1_PRINTABLESTRING 19 +# define V_ASN1_T61STRING 20 +# define V_ASN1_TELETEXSTRING 20/* alias */ +# define V_ASN1_VIDEOTEXSTRING 21 /**/ +# define V_ASN1_IA5STRING 22 +# define V_ASN1_UTCTIME 23 +# define V_ASN1_GENERALIZEDTIME 24 /**/ +# define V_ASN1_GRAPHICSTRING 25 /**/ +# define V_ASN1_ISO64STRING 26 /**/ +# define V_ASN1_VISIBLESTRING 26/* alias */ +# define V_ASN1_GENERALSTRING 27 /**/ +# define V_ASN1_UNIVERSALSTRING 28 /**/ +# define V_ASN1_BMPSTRING 30 + +/* + * NB the constants below are used internally by ASN1_INTEGER + * and ASN1_ENUMERATED to indicate the sign. They are *not* on + * the wire tag values. + */ + +# define V_ASN1_NEG 0x100 +# define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +# define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) + +/* For use with d2i_ASN1_type_bytes() */ +# define B_ASN1_NUMERICSTRING 0x0001 +# define B_ASN1_PRINTABLESTRING 0x0002 +# define B_ASN1_T61STRING 0x0004 +# define B_ASN1_TELETEXSTRING 0x0004 +# define B_ASN1_VIDEOTEXSTRING 0x0008 +# define B_ASN1_IA5STRING 0x0010 +# define B_ASN1_GRAPHICSTRING 0x0020 +# define B_ASN1_ISO64STRING 0x0040 +# define B_ASN1_VISIBLESTRING 0x0040 +# define B_ASN1_GENERALSTRING 0x0080 +# define B_ASN1_UNIVERSALSTRING 0x0100 +# define B_ASN1_OCTET_STRING 0x0200 +# define B_ASN1_BIT_STRING 0x0400 +# define B_ASN1_BMPSTRING 0x0800 +# define B_ASN1_UNKNOWN 0x1000 +# define B_ASN1_UTF8STRING 0x2000 +# define B_ASN1_UTCTIME 0x4000 +# define B_ASN1_GENERALIZEDTIME 0x8000 +# define B_ASN1_SEQUENCE 0x10000 +/* For use with ASN1_mbstring_copy() */ +# define MBSTRING_FLAG 0x1000 +# define MBSTRING_UTF8 (MBSTRING_FLAG) +# define MBSTRING_ASC (MBSTRING_FLAG|1) +# define MBSTRING_BMP (MBSTRING_FLAG|2) +# define MBSTRING_UNIV (MBSTRING_FLAG|4) +# define SMIME_OLDMIME 0x400 +# define SMIME_CRLFEOL 0x800 +# define SMIME_STREAM 0x1000 + +/* Stacks for types not otherwise defined in this header */ +SKM_DEFINE_STACK_OF_INTERNAL(X509_ALGOR, X509_ALGOR, X509_ALGOR) +#define sk_X509_ALGOR_num(sk) OPENSSL_sk_num(ossl_check_const_X509_ALGOR_sk_type(sk)) +#define sk_X509_ALGOR_value(sk, idx) ((X509_ALGOR *)OPENSSL_sk_value(ossl_check_const_X509_ALGOR_sk_type(sk), (idx))) +#define sk_X509_ALGOR_new(cmp) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_new(ossl_check_X509_ALGOR_compfunc_type(cmp))) +#define sk_X509_ALGOR_new_null() ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_new_null()) +#define sk_X509_ALGOR_new_reserve(cmp, n) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_new_reserve(ossl_check_X509_ALGOR_compfunc_type(cmp), (n))) +#define sk_X509_ALGOR_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_ALGOR_sk_type(sk), (n)) +#define sk_X509_ALGOR_free(sk) OPENSSL_sk_free(ossl_check_X509_ALGOR_sk_type(sk)) +#define sk_X509_ALGOR_zero(sk) OPENSSL_sk_zero(ossl_check_X509_ALGOR_sk_type(sk)) +#define sk_X509_ALGOR_delete(sk, i) ((X509_ALGOR *)OPENSSL_sk_delete(ossl_check_X509_ALGOR_sk_type(sk), (i))) +#define sk_X509_ALGOR_delete_ptr(sk, ptr) ((X509_ALGOR *)OPENSSL_sk_delete_ptr(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr))) +#define sk_X509_ALGOR_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr)) +#define sk_X509_ALGOR_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr)) +#define sk_X509_ALGOR_pop(sk) ((X509_ALGOR *)OPENSSL_sk_pop(ossl_check_X509_ALGOR_sk_type(sk))) +#define sk_X509_ALGOR_shift(sk) ((X509_ALGOR *)OPENSSL_sk_shift(ossl_check_X509_ALGOR_sk_type(sk))) +#define sk_X509_ALGOR_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_ALGOR_sk_type(sk),ossl_check_X509_ALGOR_freefunc_type(freefunc)) +#define sk_X509_ALGOR_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr), (idx)) +#define sk_X509_ALGOR_set(sk, idx, ptr) ((X509_ALGOR *)OPENSSL_sk_set(ossl_check_X509_ALGOR_sk_type(sk), (idx), ossl_check_X509_ALGOR_type(ptr))) +#define sk_X509_ALGOR_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr)) +#define sk_X509_ALGOR_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr)) +#define sk_X509_ALGOR_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_type(ptr), pnum) +#define sk_X509_ALGOR_sort(sk) OPENSSL_sk_sort(ossl_check_X509_ALGOR_sk_type(sk)) +#define sk_X509_ALGOR_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_ALGOR_sk_type(sk)) +#define sk_X509_ALGOR_dup(sk) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_dup(ossl_check_const_X509_ALGOR_sk_type(sk))) +#define sk_X509_ALGOR_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_ALGOR) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_copyfunc_type(copyfunc), ossl_check_X509_ALGOR_freefunc_type(freefunc))) +#define sk_X509_ALGOR_set_cmp_func(sk, cmp) ((sk_X509_ALGOR_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_ALGOR_sk_type(sk), ossl_check_X509_ALGOR_compfunc_type(cmp))) + + + +# define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ +/* + * This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should be + * inserted in the memory buffer + */ +# define ASN1_STRING_FLAG_NDEF 0x010 + +/* + * This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been accessed. + * The flag will be reset when content has been written to it. + */ + +# define ASN1_STRING_FLAG_CONT 0x020 +/* + * This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING + * type. + */ +# define ASN1_STRING_FLAG_MSTRING 0x040 +/* String is embedded and only content should be freed */ +# define ASN1_STRING_FLAG_EMBED 0x080 +/* String should be parsed in RFC 5280's time format */ +# define ASN1_STRING_FLAG_X509_TIME 0x100 +/* This is the base type that holds just about everything :-) */ +struct asn1_string_st { + int length; + int type; + unsigned char *data; + /* + * The value of the following field depends on the type being held. It + * is mostly being used for BIT_STRING so if the input data has a + * non-zero 'unused bits' value, it will be handled correctly + */ + long flags; +}; + +/* + * ASN1_ENCODING structure: this is used to save the received encoding of an + * ASN1 type. This is useful to get round problems with invalid encodings + * which can break signatures. + */ + +typedef struct ASN1_ENCODING_st { + unsigned char *enc; /* DER encoding */ + long len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +# define ASN1_LONG_UNDEF 0x7fffffffL + +# define STABLE_FLAGS_MALLOC 0x01 +/* + * A zero passed to ASN1_STRING_TABLE_new_add for the flags is interpreted + * as "don't change" and STABLE_FLAGS_MALLOC is always set. By setting + * STABLE_FLAGS_MALLOC only we can clear the existing value. Use the alias + * STABLE_FLAGS_CLEAR to reflect this. + */ +# define STABLE_FLAGS_CLEAR STABLE_FLAGS_MALLOC +# define STABLE_NO_MASK 0x02 +# define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) +# define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) + +struct asn1_string_table_st { + int nid; + long minsize; + long maxsize; + unsigned long mask; + unsigned long flags; +}; + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_STRING_TABLE, ASN1_STRING_TABLE, ASN1_STRING_TABLE) +#define sk_ASN1_STRING_TABLE_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk)) +#define sk_ASN1_STRING_TABLE_value(sk, idx) ((ASN1_STRING_TABLE *)OPENSSL_sk_value(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk), (idx))) +#define sk_ASN1_STRING_TABLE_new(cmp) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_new(ossl_check_ASN1_STRING_TABLE_compfunc_type(cmp))) +#define sk_ASN1_STRING_TABLE_new_null() ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_new_null()) +#define sk_ASN1_STRING_TABLE_new_reserve(cmp, n) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_STRING_TABLE_compfunc_type(cmp), (n))) +#define sk_ASN1_STRING_TABLE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_STRING_TABLE_sk_type(sk), (n)) +#define sk_ASN1_STRING_TABLE_free(sk) OPENSSL_sk_free(ossl_check_ASN1_STRING_TABLE_sk_type(sk)) +#define sk_ASN1_STRING_TABLE_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_STRING_TABLE_sk_type(sk)) +#define sk_ASN1_STRING_TABLE_delete(sk, i) ((ASN1_STRING_TABLE *)OPENSSL_sk_delete(ossl_check_ASN1_STRING_TABLE_sk_type(sk), (i))) +#define sk_ASN1_STRING_TABLE_delete_ptr(sk, ptr) ((ASN1_STRING_TABLE *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr))) +#define sk_ASN1_STRING_TABLE_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr)) +#define sk_ASN1_STRING_TABLE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr)) +#define sk_ASN1_STRING_TABLE_pop(sk) ((ASN1_STRING_TABLE *)OPENSSL_sk_pop(ossl_check_ASN1_STRING_TABLE_sk_type(sk))) +#define sk_ASN1_STRING_TABLE_shift(sk) ((ASN1_STRING_TABLE *)OPENSSL_sk_shift(ossl_check_ASN1_STRING_TABLE_sk_type(sk))) +#define sk_ASN1_STRING_TABLE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_STRING_TABLE_sk_type(sk),ossl_check_ASN1_STRING_TABLE_freefunc_type(freefunc)) +#define sk_ASN1_STRING_TABLE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr), (idx)) +#define sk_ASN1_STRING_TABLE_set(sk, idx, ptr) ((ASN1_STRING_TABLE *)OPENSSL_sk_set(ossl_check_ASN1_STRING_TABLE_sk_type(sk), (idx), ossl_check_ASN1_STRING_TABLE_type(ptr))) +#define sk_ASN1_STRING_TABLE_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr)) +#define sk_ASN1_STRING_TABLE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr)) +#define sk_ASN1_STRING_TABLE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_type(ptr), pnum) +#define sk_ASN1_STRING_TABLE_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_STRING_TABLE_sk_type(sk)) +#define sk_ASN1_STRING_TABLE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk)) +#define sk_ASN1_STRING_TABLE_dup(sk) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_dup(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk))) +#define sk_ASN1_STRING_TABLE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_STRING_TABLE) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_copyfunc_type(copyfunc), ossl_check_ASN1_STRING_TABLE_freefunc_type(freefunc))) +#define sk_ASN1_STRING_TABLE_set_cmp_func(sk, cmp) ((sk_ASN1_STRING_TABLE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_STRING_TABLE_sk_type(sk), ossl_check_ASN1_STRING_TABLE_compfunc_type(cmp))) + + +/* size limits: this stuff is taken straight from RFC2459 */ + +# define ub_name 32768 +# define ub_common_name 64 +# define ub_locality_name 128 +# define ub_state_name 128 +# define ub_organization_name 64 +# define ub_organization_unit_name 64 +# define ub_title 64 +# define ub_email_address 128 + +/* + * Declarations for template structures: for full definitions see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +/* + * The mysterious 'extern' that's passed to some macros is innocuous, + * and is there to quiet pre-C99 compilers that may complain about empty + * arguments in macro calls. + */ + +# define DECLARE_ASN1_FUNCTIONS_attr(attr, type) \ + DECLARE_ASN1_FUNCTIONS_name_attr(attr, type, type) +# define DECLARE_ASN1_FUNCTIONS(type) \ + DECLARE_ASN1_FUNCTIONS_attr(extern, type) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS_attr(attr, type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(attr, type, type) +# define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_attr(extern, type) + +# define DECLARE_ASN1_FUNCTIONS_name_attr(attr, type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(attr, type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(attr, type, name) +# define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_FUNCTIONS_name_attr(extern, type, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_attr(attr, type, itname, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(attr, type, name) \ + DECLARE_ASN1_ITEM_attr(attr, itname) +# define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_attr(extern, type, itname, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(attr, type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_attr(attr, type, name, name) +# define DECLARE_ASN1_ENCODE_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(extern, type, name) + +# define DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(attr, type, name) \ + attr type *d2i_##name(type **a, const unsigned char **in, long len); \ + attr int i2d_##name(const type *a, unsigned char **out); +# define DECLARE_ASN1_ENCODE_FUNCTIONS_only(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(extern, type, name) + +# define DECLARE_ASN1_NDEF_FUNCTION_attr(attr, name) \ + attr int i2d_##name##_NDEF(const name *a, unsigned char **out); +# define DECLARE_ASN1_NDEF_FUNCTION(name) \ + DECLARE_ASN1_NDEF_FUNCTION_attr(extern, name) + +# define DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(attr, type, name) \ + attr type *name##_new(void); \ + attr void name##_free(type *a); +# define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr(extern, type, name) + +# define DECLARE_ASN1_DUP_FUNCTION_attr(attr, type) \ + DECLARE_ASN1_DUP_FUNCTION_name_attr(attr, type, type) +# define DECLARE_ASN1_DUP_FUNCTION(type) \ + DECLARE_ASN1_DUP_FUNCTION_attr(extern, type) + +# define DECLARE_ASN1_DUP_FUNCTION_name_attr(attr, type, name) \ + attr type *name##_dup(const type *a); +# define DECLARE_ASN1_DUP_FUNCTION_name(type, name) \ + DECLARE_ASN1_DUP_FUNCTION_name_attr(extern, type, name) + +# define DECLARE_ASN1_PRINT_FUNCTION_attr(attr, stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname_attr(attr, stname, stname) +# define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_attr(extern, stname) + +# define DECLARE_ASN1_PRINT_FUNCTION_fname_attr(attr, stname, fname) \ + attr int fname##_print_ctx(BIO *out, const stname *x, int indent, \ + const ASN1_PCTX *pctx); +# define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname_attr(extern, stname, fname) + +# define D2I_OF(type) type *(*)(type **,const unsigned char **,long) +# define I2D_OF(type) int (*)(const type *,unsigned char **) + +# define CHECKED_D2I_OF(type, d2i) \ + ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) +# define CHECKED_I2D_OF(type, i2d) \ + ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) +# define CHECKED_NEW_OF(type, xnew) \ + ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) +# define CHECKED_PTR_OF(type, p) \ + ((void*) (1 ? p : (type*)0)) +# define CHECKED_PPTR_OF(type, p) \ + ((void**) (1 ? p : (type**)0)) + +# define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(const type *,unsigned char **) +# define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) + +typedef void *d2i_of_void(void **, const unsigned char **, long); +typedef int i2d_of_void(const void *, unsigned char **); + +/*- + * The following macros and typedefs allow an ASN1_ITEM + * to be embedded in a structure and referenced. Since + * the ASN1_ITEM pointers need to be globally accessible + * (possibly from shared libraries) they may exist in + * different forms. On platforms that support it the + * ASN1_ITEM structure itself will be globally exported. + * Other platforms will export a function that returns + * an ASN1_ITEM pointer. + * + * To handle both cases transparently the macros below + * should be used instead of hard coding an ASN1_ITEM + * pointer in a structure. + * + * The structure will look like this: + * + * typedef struct SOMETHING_st { + * ... + * ASN1_ITEM_EXP *iptr; + * ... + * } SOMETHING; + * + * It would be initialised as e.g.: + * + * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; + * + * and the actual pointer extracted with: + * + * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); + * + * Finally an ASN1_ITEM pointer can be extracted from an + * appropriate reference with: ASN1_ITEM_rptr(X509). This + * would be used when a function takes an ASN1_ITEM * argument. + * + */ + + +/* + * Platforms that can't easily handle shared global variables are declared as + * functions returning ASN1_ITEM pointers. + */ + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr()) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (iptr##_it) + +# define ASN1_ITEM_rptr(ref) (ref##_it()) + +# define DECLARE_ASN1_ITEM_attr(attr, name) \ + attr const ASN1_ITEM * name##_it(void); +# define DECLARE_ASN1_ITEM(name) \ + DECLARE_ASN1_ITEM_attr(extern, name) + +/* Parameters used by ASN1_STRING_print_ex() */ + +/* + * These determine which characters to escape: RFC2253 special characters, + * control characters and MSB set characters + */ + +# define ASN1_STRFLGS_ESC_2253 1 +# define ASN1_STRFLGS_ESC_CTRL 2 +# define ASN1_STRFLGS_ESC_MSB 4 + +/* Lower 8 bits are reserved as an output type specifier */ +# define ASN1_DTFLGS_TYPE_MASK 0x0FUL +# define ASN1_DTFLGS_RFC822 0x00UL +# define ASN1_DTFLGS_ISO8601 0x01UL + +/* + * This flag determines how we do escaping: normally RC2253 backslash only, + * set this to use backslash and quote. + */ + +# define ASN1_STRFLGS_ESC_QUOTE 8 + +/* These three flags are internal use only. */ + +/* Character is a valid PrintableString character */ +# define CHARTYPE_PRINTABLESTRING 0x10 +/* Character needs escaping if it is the first character */ +# define CHARTYPE_FIRST_ESC_2253 0x20 +/* Character needs escaping if it is the last character */ +# define CHARTYPE_LAST_ESC_2253 0x40 + +/* + * NB the internal flags are safely reused below by flags handled at the top + * level. + */ + +/* + * If this is set we convert all character strings to UTF8 first + */ + +# define ASN1_STRFLGS_UTF8_CONVERT 0x10 + +/* + * If this is set we don't attempt to interpret content: just assume all + * strings are 1 byte per character. This will produce some pretty odd + * looking output! + */ + +# define ASN1_STRFLGS_IGNORE_TYPE 0x20 + +/* If this is set we include the string type in the output */ +# define ASN1_STRFLGS_SHOW_TYPE 0x40 + +/* + * This determines which strings to display and which to 'dump' (hex dump of + * content octets or DER encoding). We can only dump non character strings or + * everything. If we don't dump 'unknown' they are interpreted as character + * strings with 1 octet per character and are subject to the usual escaping + * options. + */ + +# define ASN1_STRFLGS_DUMP_ALL 0x80 +# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 + +/* + * These determine what 'dumping' does, we can dump the content octets or the + * DER encoding: both use the RFC2253 #XXXXX notation. + */ + +# define ASN1_STRFLGS_DUMP_DER 0x200 + +/* + * This flag specifies that RC2254 escaping shall be performed. + */ +#define ASN1_STRFLGS_ESC_2254 0x400 + +/* + * All the string flags consistent with RFC2253, escaping control characters + * isn't essential in RFC2253 but it is advisable anyway. + */ + +# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + + +struct asn1_type_st { + int type; + union { + char *ptr; + ASN1_BOOLEAN boolean; + ASN1_STRING *asn1_string; + ASN1_OBJECT *object; + ASN1_INTEGER *integer; + ASN1_ENUMERATED *enumerated; + ASN1_BIT_STRING *bit_string; + ASN1_OCTET_STRING *octet_string; + ASN1_PRINTABLESTRING *printablestring; + ASN1_T61STRING *t61string; + ASN1_IA5STRING *ia5string; + ASN1_GENERALSTRING *generalstring; + ASN1_BMPSTRING *bmpstring; + ASN1_UNIVERSALSTRING *universalstring; + ASN1_UTCTIME *utctime; + ASN1_GENERALIZEDTIME *generalizedtime; + ASN1_VISIBLESTRING *visiblestring; + ASN1_UTF8STRING *utf8string; + /* + * set and sequence are left complete and still contain the set or + * sequence bytes + */ + ASN1_STRING *set; + ASN1_STRING *sequence; + ASN1_VALUE *asn1_value; + } value; +}; + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_TYPE, ASN1_TYPE, ASN1_TYPE) +#define sk_ASN1_TYPE_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_TYPE_sk_type(sk)) +#define sk_ASN1_TYPE_value(sk, idx) ((ASN1_TYPE *)OPENSSL_sk_value(ossl_check_const_ASN1_TYPE_sk_type(sk), (idx))) +#define sk_ASN1_TYPE_new(cmp) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_new(ossl_check_ASN1_TYPE_compfunc_type(cmp))) +#define sk_ASN1_TYPE_new_null() ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_new_null()) +#define sk_ASN1_TYPE_new_reserve(cmp, n) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_TYPE_compfunc_type(cmp), (n))) +#define sk_ASN1_TYPE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_TYPE_sk_type(sk), (n)) +#define sk_ASN1_TYPE_free(sk) OPENSSL_sk_free(ossl_check_ASN1_TYPE_sk_type(sk)) +#define sk_ASN1_TYPE_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_TYPE_sk_type(sk)) +#define sk_ASN1_TYPE_delete(sk, i) ((ASN1_TYPE *)OPENSSL_sk_delete(ossl_check_ASN1_TYPE_sk_type(sk), (i))) +#define sk_ASN1_TYPE_delete_ptr(sk, ptr) ((ASN1_TYPE *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr))) +#define sk_ASN1_TYPE_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr)) +#define sk_ASN1_TYPE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr)) +#define sk_ASN1_TYPE_pop(sk) ((ASN1_TYPE *)OPENSSL_sk_pop(ossl_check_ASN1_TYPE_sk_type(sk))) +#define sk_ASN1_TYPE_shift(sk) ((ASN1_TYPE *)OPENSSL_sk_shift(ossl_check_ASN1_TYPE_sk_type(sk))) +#define sk_ASN1_TYPE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_TYPE_sk_type(sk),ossl_check_ASN1_TYPE_freefunc_type(freefunc)) +#define sk_ASN1_TYPE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr), (idx)) +#define sk_ASN1_TYPE_set(sk, idx, ptr) ((ASN1_TYPE *)OPENSSL_sk_set(ossl_check_ASN1_TYPE_sk_type(sk), (idx), ossl_check_ASN1_TYPE_type(ptr))) +#define sk_ASN1_TYPE_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr)) +#define sk_ASN1_TYPE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr)) +#define sk_ASN1_TYPE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_type(ptr), pnum) +#define sk_ASN1_TYPE_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_TYPE_sk_type(sk)) +#define sk_ASN1_TYPE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_TYPE_sk_type(sk)) +#define sk_ASN1_TYPE_dup(sk) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_dup(ossl_check_const_ASN1_TYPE_sk_type(sk))) +#define sk_ASN1_TYPE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_TYPE) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_copyfunc_type(copyfunc), ossl_check_ASN1_TYPE_freefunc_type(freefunc))) +#define sk_ASN1_TYPE_set_cmp_func(sk, cmp) ((sk_ASN1_TYPE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_TYPE_sk_type(sk), ossl_check_ASN1_TYPE_compfunc_type(cmp))) + + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) + +/* This is used to contain a list of bit names */ +typedef struct BIT_STRING_BITNAME_st { + int bitnum; + const char *lname; + const char *sname; +} BIT_STRING_BITNAME; + +# define B_ASN1_TIME \ + B_ASN1_UTCTIME | \ + B_ASN1_GENERALIZEDTIME + +# define B_ASN1_PRINTABLE \ + B_ASN1_NUMERICSTRING| \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_T61STRING| \ + B_ASN1_IA5STRING| \ + B_ASN1_BIT_STRING| \ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING|\ + B_ASN1_SEQUENCE|\ + B_ASN1_UNKNOWN + +# define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING + +# define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING| \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING + +DECLARE_ASN1_ALLOC_FUNCTIONS_name(ASN1_TYPE, ASN1_TYPE) +DECLARE_ASN1_ENCODE_FUNCTIONS(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) + +int ASN1_TYPE_get(const ASN1_TYPE *a); +void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); +int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); +int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); + +ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); +void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_OBJECT, ASN1_OBJECT, ASN1_OBJECT) +#define sk_ASN1_OBJECT_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_OBJECT_sk_type(sk)) +#define sk_ASN1_OBJECT_value(sk, idx) ((ASN1_OBJECT *)OPENSSL_sk_value(ossl_check_const_ASN1_OBJECT_sk_type(sk), (idx))) +#define sk_ASN1_OBJECT_new(cmp) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_new(ossl_check_ASN1_OBJECT_compfunc_type(cmp))) +#define sk_ASN1_OBJECT_new_null() ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_new_null()) +#define sk_ASN1_OBJECT_new_reserve(cmp, n) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_OBJECT_compfunc_type(cmp), (n))) +#define sk_ASN1_OBJECT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_OBJECT_sk_type(sk), (n)) +#define sk_ASN1_OBJECT_free(sk) OPENSSL_sk_free(ossl_check_ASN1_OBJECT_sk_type(sk)) +#define sk_ASN1_OBJECT_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_OBJECT_sk_type(sk)) +#define sk_ASN1_OBJECT_delete(sk, i) ((ASN1_OBJECT *)OPENSSL_sk_delete(ossl_check_ASN1_OBJECT_sk_type(sk), (i))) +#define sk_ASN1_OBJECT_delete_ptr(sk, ptr) ((ASN1_OBJECT *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr))) +#define sk_ASN1_OBJECT_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr)) +#define sk_ASN1_OBJECT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr)) +#define sk_ASN1_OBJECT_pop(sk) ((ASN1_OBJECT *)OPENSSL_sk_pop(ossl_check_ASN1_OBJECT_sk_type(sk))) +#define sk_ASN1_OBJECT_shift(sk) ((ASN1_OBJECT *)OPENSSL_sk_shift(ossl_check_ASN1_OBJECT_sk_type(sk))) +#define sk_ASN1_OBJECT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_OBJECT_sk_type(sk),ossl_check_ASN1_OBJECT_freefunc_type(freefunc)) +#define sk_ASN1_OBJECT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr), (idx)) +#define sk_ASN1_OBJECT_set(sk, idx, ptr) ((ASN1_OBJECT *)OPENSSL_sk_set(ossl_check_ASN1_OBJECT_sk_type(sk), (idx), ossl_check_ASN1_OBJECT_type(ptr))) +#define sk_ASN1_OBJECT_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr)) +#define sk_ASN1_OBJECT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr)) +#define sk_ASN1_OBJECT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_type(ptr), pnum) +#define sk_ASN1_OBJECT_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_OBJECT_sk_type(sk)) +#define sk_ASN1_OBJECT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_OBJECT_sk_type(sk)) +#define sk_ASN1_OBJECT_dup(sk) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_dup(ossl_check_const_ASN1_OBJECT_sk_type(sk))) +#define sk_ASN1_OBJECT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_OBJECT) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_copyfunc_type(copyfunc), ossl_check_ASN1_OBJECT_freefunc_type(freefunc))) +#define sk_ASN1_OBJECT_set_cmp_func(sk, cmp) ((sk_ASN1_OBJECT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_OBJECT_sk_type(sk), ossl_check_ASN1_OBJECT_compfunc_type(cmp))) + + +DECLARE_ASN1_FUNCTIONS(ASN1_OBJECT) + +ASN1_STRING *ASN1_STRING_new(void); +void ASN1_STRING_free(ASN1_STRING *a); +void ASN1_STRING_clear_free(ASN1_STRING *a); +int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); +DECLARE_ASN1_DUP_FUNCTION(ASN1_STRING) +ASN1_STRING *ASN1_STRING_type_new(int type); +int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); + /* + * Since this is used to store all sorts of things, via macros, for now, + * make its data void * + */ +int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); +void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); +int ASN1_STRING_length(const ASN1_STRING *x); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 void ASN1_STRING_length_set(ASN1_STRING *x, int n); +# endif +int ASN1_STRING_type(const ASN1_STRING *x); +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 unsigned char *ASN1_STRING_data(ASN1_STRING *x); +# endif +const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x); + +DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) +int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length); +int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); +int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n); +int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, + const unsigned char *flags, int flags_len); + +int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, + BIT_STRING_BITNAME *tbl, int indent); +int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl); +int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, + BIT_STRING_BITNAME *tbl); + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_INTEGER, ASN1_INTEGER, ASN1_INTEGER) +#define sk_ASN1_INTEGER_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_INTEGER_sk_type(sk)) +#define sk_ASN1_INTEGER_value(sk, idx) ((ASN1_INTEGER *)OPENSSL_sk_value(ossl_check_const_ASN1_INTEGER_sk_type(sk), (idx))) +#define sk_ASN1_INTEGER_new(cmp) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_new(ossl_check_ASN1_INTEGER_compfunc_type(cmp))) +#define sk_ASN1_INTEGER_new_null() ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_new_null()) +#define sk_ASN1_INTEGER_new_reserve(cmp, n) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_INTEGER_compfunc_type(cmp), (n))) +#define sk_ASN1_INTEGER_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_INTEGER_sk_type(sk), (n)) +#define sk_ASN1_INTEGER_free(sk) OPENSSL_sk_free(ossl_check_ASN1_INTEGER_sk_type(sk)) +#define sk_ASN1_INTEGER_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_INTEGER_sk_type(sk)) +#define sk_ASN1_INTEGER_delete(sk, i) ((ASN1_INTEGER *)OPENSSL_sk_delete(ossl_check_ASN1_INTEGER_sk_type(sk), (i))) +#define sk_ASN1_INTEGER_delete_ptr(sk, ptr) ((ASN1_INTEGER *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr))) +#define sk_ASN1_INTEGER_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr)) +#define sk_ASN1_INTEGER_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr)) +#define sk_ASN1_INTEGER_pop(sk) ((ASN1_INTEGER *)OPENSSL_sk_pop(ossl_check_ASN1_INTEGER_sk_type(sk))) +#define sk_ASN1_INTEGER_shift(sk) ((ASN1_INTEGER *)OPENSSL_sk_shift(ossl_check_ASN1_INTEGER_sk_type(sk))) +#define sk_ASN1_INTEGER_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_INTEGER_sk_type(sk),ossl_check_ASN1_INTEGER_freefunc_type(freefunc)) +#define sk_ASN1_INTEGER_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr), (idx)) +#define sk_ASN1_INTEGER_set(sk, idx, ptr) ((ASN1_INTEGER *)OPENSSL_sk_set(ossl_check_ASN1_INTEGER_sk_type(sk), (idx), ossl_check_ASN1_INTEGER_type(ptr))) +#define sk_ASN1_INTEGER_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr)) +#define sk_ASN1_INTEGER_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr)) +#define sk_ASN1_INTEGER_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_type(ptr), pnum) +#define sk_ASN1_INTEGER_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_INTEGER_sk_type(sk)) +#define sk_ASN1_INTEGER_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_INTEGER_sk_type(sk)) +#define sk_ASN1_INTEGER_dup(sk) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_dup(ossl_check_const_ASN1_INTEGER_sk_type(sk))) +#define sk_ASN1_INTEGER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_INTEGER) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_copyfunc_type(copyfunc), ossl_check_ASN1_INTEGER_freefunc_type(freefunc))) +#define sk_ASN1_INTEGER_set_cmp_func(sk, cmp) ((sk_ASN1_INTEGER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_INTEGER_sk_type(sk), ossl_check_ASN1_INTEGER_compfunc_type(cmp))) + + + +DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) +ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, + long length); +DECLARE_ASN1_DUP_FUNCTION(ASN1_INTEGER) +int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); + +DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) + +int ASN1_UTCTIME_check(const ASN1_UTCTIME *a); +ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t); +ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); +int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); + +int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, + time_t t); +ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, + time_t t, int offset_day, + long offset_sec); +int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); + +int ASN1_TIME_diff(int *pday, int *psec, + const ASN1_TIME *from, const ASN1_TIME *to); + +DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) +DECLARE_ASN1_DUP_FUNCTION(ASN1_OCTET_STRING) +int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, + const ASN1_OCTET_STRING *b); +int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, + int len); + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_UTF8STRING, ASN1_UTF8STRING, ASN1_UTF8STRING) +#define sk_ASN1_UTF8STRING_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_UTF8STRING_sk_type(sk)) +#define sk_ASN1_UTF8STRING_value(sk, idx) ((ASN1_UTF8STRING *)OPENSSL_sk_value(ossl_check_const_ASN1_UTF8STRING_sk_type(sk), (idx))) +#define sk_ASN1_UTF8STRING_new(cmp) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_new(ossl_check_ASN1_UTF8STRING_compfunc_type(cmp))) +#define sk_ASN1_UTF8STRING_new_null() ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_new_null()) +#define sk_ASN1_UTF8STRING_new_reserve(cmp, n) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_UTF8STRING_compfunc_type(cmp), (n))) +#define sk_ASN1_UTF8STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_UTF8STRING_sk_type(sk), (n)) +#define sk_ASN1_UTF8STRING_free(sk) OPENSSL_sk_free(ossl_check_ASN1_UTF8STRING_sk_type(sk)) +#define sk_ASN1_UTF8STRING_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_UTF8STRING_sk_type(sk)) +#define sk_ASN1_UTF8STRING_delete(sk, i) ((ASN1_UTF8STRING *)OPENSSL_sk_delete(ossl_check_ASN1_UTF8STRING_sk_type(sk), (i))) +#define sk_ASN1_UTF8STRING_delete_ptr(sk, ptr) ((ASN1_UTF8STRING *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr))) +#define sk_ASN1_UTF8STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr)) +#define sk_ASN1_UTF8STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr)) +#define sk_ASN1_UTF8STRING_pop(sk) ((ASN1_UTF8STRING *)OPENSSL_sk_pop(ossl_check_ASN1_UTF8STRING_sk_type(sk))) +#define sk_ASN1_UTF8STRING_shift(sk) ((ASN1_UTF8STRING *)OPENSSL_sk_shift(ossl_check_ASN1_UTF8STRING_sk_type(sk))) +#define sk_ASN1_UTF8STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_UTF8STRING_sk_type(sk),ossl_check_ASN1_UTF8STRING_freefunc_type(freefunc)) +#define sk_ASN1_UTF8STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr), (idx)) +#define sk_ASN1_UTF8STRING_set(sk, idx, ptr) ((ASN1_UTF8STRING *)OPENSSL_sk_set(ossl_check_ASN1_UTF8STRING_sk_type(sk), (idx), ossl_check_ASN1_UTF8STRING_type(ptr))) +#define sk_ASN1_UTF8STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr)) +#define sk_ASN1_UTF8STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr)) +#define sk_ASN1_UTF8STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_type(ptr), pnum) +#define sk_ASN1_UTF8STRING_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_UTF8STRING_sk_type(sk)) +#define sk_ASN1_UTF8STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_UTF8STRING_sk_type(sk)) +#define sk_ASN1_UTF8STRING_dup(sk) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_dup(ossl_check_const_ASN1_UTF8STRING_sk_type(sk))) +#define sk_ASN1_UTF8STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_UTF8STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_copyfunc_type(copyfunc), ossl_check_ASN1_UTF8STRING_freefunc_type(freefunc))) +#define sk_ASN1_UTF8STRING_set_cmp_func(sk, cmp) ((sk_ASN1_UTF8STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_UTF8STRING_sk_type(sk), ossl_check_ASN1_UTF8STRING_compfunc_type(cmp))) + + +DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_NULL) +DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) + +int UTF8_getc(const unsigned char *str, int len, unsigned long *val); +int UTF8_putc(unsigned char *str, int len, unsigned long value); + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_GENERALSTRING, ASN1_GENERALSTRING, ASN1_GENERALSTRING) +#define sk_ASN1_GENERALSTRING_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk)) +#define sk_ASN1_GENERALSTRING_value(sk, idx) ((ASN1_GENERALSTRING *)OPENSSL_sk_value(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk), (idx))) +#define sk_ASN1_GENERALSTRING_new(cmp) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_new(ossl_check_ASN1_GENERALSTRING_compfunc_type(cmp))) +#define sk_ASN1_GENERALSTRING_new_null() ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_new_null()) +#define sk_ASN1_GENERALSTRING_new_reserve(cmp, n) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_GENERALSTRING_compfunc_type(cmp), (n))) +#define sk_ASN1_GENERALSTRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_GENERALSTRING_sk_type(sk), (n)) +#define sk_ASN1_GENERALSTRING_free(sk) OPENSSL_sk_free(ossl_check_ASN1_GENERALSTRING_sk_type(sk)) +#define sk_ASN1_GENERALSTRING_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_GENERALSTRING_sk_type(sk)) +#define sk_ASN1_GENERALSTRING_delete(sk, i) ((ASN1_GENERALSTRING *)OPENSSL_sk_delete(ossl_check_ASN1_GENERALSTRING_sk_type(sk), (i))) +#define sk_ASN1_GENERALSTRING_delete_ptr(sk, ptr) ((ASN1_GENERALSTRING *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr))) +#define sk_ASN1_GENERALSTRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr)) +#define sk_ASN1_GENERALSTRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr)) +#define sk_ASN1_GENERALSTRING_pop(sk) ((ASN1_GENERALSTRING *)OPENSSL_sk_pop(ossl_check_ASN1_GENERALSTRING_sk_type(sk))) +#define sk_ASN1_GENERALSTRING_shift(sk) ((ASN1_GENERALSTRING *)OPENSSL_sk_shift(ossl_check_ASN1_GENERALSTRING_sk_type(sk))) +#define sk_ASN1_GENERALSTRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_GENERALSTRING_sk_type(sk),ossl_check_ASN1_GENERALSTRING_freefunc_type(freefunc)) +#define sk_ASN1_GENERALSTRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr), (idx)) +#define sk_ASN1_GENERALSTRING_set(sk, idx, ptr) ((ASN1_GENERALSTRING *)OPENSSL_sk_set(ossl_check_ASN1_GENERALSTRING_sk_type(sk), (idx), ossl_check_ASN1_GENERALSTRING_type(ptr))) +#define sk_ASN1_GENERALSTRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr)) +#define sk_ASN1_GENERALSTRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr)) +#define sk_ASN1_GENERALSTRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_type(ptr), pnum) +#define sk_ASN1_GENERALSTRING_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_GENERALSTRING_sk_type(sk)) +#define sk_ASN1_GENERALSTRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk)) +#define sk_ASN1_GENERALSTRING_dup(sk) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_dup(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk))) +#define sk_ASN1_GENERALSTRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_GENERALSTRING) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_copyfunc_type(copyfunc), ossl_check_ASN1_GENERALSTRING_freefunc_type(freefunc))) +#define sk_ASN1_GENERALSTRING_set_cmp_func(sk, cmp) ((sk_ASN1_GENERALSTRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_GENERALSTRING_sk_type(sk), ossl_check_ASN1_GENERALSTRING_compfunc_type(cmp))) + + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) + +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) +DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) +DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) +DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) +DECLARE_ASN1_FUNCTIONS(ASN1_TIME) + +DECLARE_ASN1_DUP_FUNCTION(ASN1_TIME) +DECLARE_ASN1_DUP_FUNCTION(ASN1_UTCTIME) +DECLARE_ASN1_DUP_FUNCTION(ASN1_GENERALIZEDTIME) + +DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) + +ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); +ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t, + int offset_day, long offset_sec); +int ASN1_TIME_check(const ASN1_TIME *t); +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, + ASN1_GENERALIZEDTIME **out); +int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); +int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str); +int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm); +int ASN1_TIME_normalize(ASN1_TIME *s); +int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t); +int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b); + +int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a); +int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size); +int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a); +int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size); +int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a); +int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size); +int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type); +int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a); + +int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num); +ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int len, + const char *sn, const char *ln); + +int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a); +int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r); +int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a); +int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r); + +int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); +long ASN1_INTEGER_get(const ASN1_INTEGER *a); +ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); +BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn); + +int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a); +int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r); + + +int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); +long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a); +ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai); +BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn); + +/* General */ +/* given a string, return the correct type, max is the maximum length */ +int ASN1_PRINTABLE_type(const unsigned char *s, int max); + +unsigned long ASN1_tag2bit(int tag); + +/* SPECIALS */ +int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, + int *pclass, long omax); +int ASN1_check_infinite_end(unsigned char **p, long len); +int ASN1_const_check_infinite_end(const unsigned char **p, long len); +void ASN1_put_object(unsigned char **pp, int constructed, int length, + int tag, int xclass); +int ASN1_put_eoc(unsigned char **pp); +int ASN1_object_size(int constructed, int length, int tag); + +/* Used to implement other functions */ +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, const void *x); + +# define ASN1_dup_of(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(const type, x))) + +void *ASN1_item_dup(const ASN1_ITEM *it, const void *x); +int ASN1_item_sign_ex(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + const void *data, const ASN1_OCTET_STRING *id, + EVP_PKEY *pkey, const EVP_MD *md, OSSL_LIB_CTX *libctx, + const char *propq); +int ASN1_item_verify_ex(const ASN1_ITEM *it, const X509_ALGOR *alg, + const ASN1_BIT_STRING *signature, const void *data, + const ASN1_OCTET_STRING *id, EVP_PKEY *pkey, + OSSL_LIB_CTX *libctx, const char *propq); + +/* ASN1 alloc/free macros for when a type is only used internally */ + +# define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) +# define M_ASN1_free_of(x, type) \ + ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) + +# ifndef OPENSSL_NO_STDIO +void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); + +# define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_fp_ex(const ASN1_ITEM *it, FILE *in, void *x, + OSSL_LIB_CTX *libctx, const char *propq); +void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x); + +# define ASN1_i2d_fp_of(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, const void *x); +int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); +# endif + +int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in); + +void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); + +# define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ + ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ + CHECKED_D2I_OF(type, d2i), \ + in, \ + CHECKED_PPTR_OF(type, x))) + +void *ASN1_item_d2i_bio_ex(const ASN1_ITEM *it, BIO *in, void *pval, + OSSL_LIB_CTX *libctx, const char *propq); +void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *pval); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x); + +# define ASN1_i2d_bio_of(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(const type, x))) + +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x); +BIO *ASN1_item_i2d_mem_bio(const ASN1_ITEM *it, const ASN1_VALUE *val); +int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); +int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); +int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm); +int ASN1_TIME_print_ex(BIO *bp, const ASN1_TIME *tm, unsigned long flags); +int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); +int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags); +int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int off); +int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, + unsigned char *buf, int off); +int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent); +int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, + int dump); +const char *ASN1_tag2str(int tag); + +/* Used to load and write Netscape format cert */ + +int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); + +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len); +int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len); +int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, + unsigned char *data, int len); +int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, + unsigned char *data, int max_len); + +void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it); + +ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, + ASN1_OCTET_STRING **oct); + +void ASN1_STRING_set_default_mask(unsigned long mask); +int ASN1_STRING_set_default_mask_asc(const char *p); +unsigned long ASN1_STRING_get_default_mask(void); +int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask); +int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, + int inform, unsigned long mask, + long minsize, long maxsize); + +ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, + const unsigned char *in, int inlen, + int inform, int nid); +ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); +int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); +void ASN1_STRING_TABLE_cleanup(void); + +/* ASN1 template functions */ + +/* Old API compatible functions */ +ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_new_ex(const ASN1_ITEM *it, OSSL_LIB_CTX *libctx, + const char *propq); +void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); +ASN1_VALUE *ASN1_item_d2i_ex(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it, + OSSL_LIB_CTX *libctx, const char *propq); +ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, + long len, const ASN1_ITEM *it); +int ASN1_item_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out, + const ASN1_ITEM *it); + +void ASN1_add_oid_module(void); +void ASN1_add_stable_module(void); + +ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf); +ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf); +int ASN1_str2mask(const char *str, unsigned long *pmask); + +/* ASN1 Print flags */ + +/* Indicate missing OPTIONAL fields */ +# define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 +/* Mark start and end of SEQUENCE */ +# define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 +/* Mark start and end of SEQUENCE/SET OF */ +# define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 +/* Show the ASN1 type of primitives */ +# define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 +/* Don't show ASN1 type of ANY */ +# define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 +/* Don't show ASN1 type of MSTRINGs */ +# define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 +/* Don't show field names in SEQUENCE */ +# define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 +/* Show structure names of each SEQUENCE field */ +# define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 +/* Don't show structure name even at top level */ +# define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 + +int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent, + const ASN1_ITEM *it, const ASN1_PCTX *pctx); +ASN1_PCTX *ASN1_PCTX_new(void); +void ASN1_PCTX_free(ASN1_PCTX *p); +unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); +unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p); +void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); + +ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx)); +void ASN1_SCTX_free(ASN1_SCTX *p); +const ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p); +const ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p); +unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p); +void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data); +void *ASN1_SCTX_get_app_data(ASN1_SCTX *p); + +const BIO_METHOD *BIO_f_asn1(void); + +/* cannot constify val because of CMS_stream() */ +BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); + +int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const ASN1_ITEM *it); +int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, + const char *hdr, const ASN1_ITEM *it); +/* cannot constify val because of CMS_dataFinal() */ +int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, + int ctype_nid, int econt_nid, + STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); +int SMIME_write_ASN1_ex(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, + int ctype_nid, int econt_nid, + STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it, + OSSL_LIB_CTX *libctx, const char *propq); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1_ex(BIO *bio, int flags, BIO **bcont, + const ASN1_ITEM *it, ASN1_VALUE **x, + OSSL_LIB_CTX *libctx, const char *propq); +int SMIME_crlf_copy(BIO *in, BIO *out, int flags); +int SMIME_text(BIO *in, BIO *out); + +const ASN1_ITEM *ASN1_ITEM_lookup(const char *name); +const ASN1_ITEM *ASN1_ITEM_get(size_t i); + +/* Legacy compatibility */ +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) +# define DECLARE_ASN1_FUNCTIONS_const(type) DECLARE_ASN1_FUNCTIONS(type) +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name) +# define I2D_OF_const(type) I2D_OF(type) +# define ASN1_dup_of_const(type,i2d,d2i,x) ASN1_dup_of(type,i2d,d2i,x) +# define ASN1_i2d_fp_of_const(type,i2d,out,x) ASN1_i2d_fp_of(type,i2d,out,x) +# define ASN1_i2d_bio_of_const(type,i2d,out,x) ASN1_i2d_bio_of(type,i2d,out,x) + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1t.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1t.h new file mode 100644 index 00000000000000..74ba47d0cf2640 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1t.h @@ -0,0 +1,946 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/asn1t.h.in + * + * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_ASN1T_H +# define OPENSSL_ASN1T_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_ASN1T_H +# endif + +# include +# include +# include + +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif + +/* ASN1 template defines, structures and functions */ + +#ifdef __cplusplus +extern "C" { +#endif + +/*- + * These are the possible values for the itype field of the + * ASN1_ITEM structure and determine how it is interpreted. + * + * For PRIMITIVE types the underlying type + * determines the behaviour if items is NULL. + * + * Otherwise templates must contain a single + * template and the type is treated in the + * same way as the type specified in the template. + * + * For SEQUENCE types the templates field points + * to the members, the size field is the + * structure size. + * + * For CHOICE types the templates field points + * to each possible member (typically a union) + * and the 'size' field is the offset of the + * selector. + * + * The 'funcs' field is used for application-specific + * data and functions. + * + * The EXTERN type uses a new style d2i/i2d. + * The new style should be used where possible + * because it avoids things like the d2i IMPLICIT + * hack. + * + * MSTRING is a multiple string type, it is used + * for a CHOICE of character strings where the + * actual strings all occupy an ASN1_STRING + * structure. In this case the 'utype' field + * has a special meaning, it is used as a mask + * of acceptable types using the B_ASN1 constants. + * + * NDEF_SEQUENCE is the same as SEQUENCE except + * that it will use indefinite length constructed + * encoding if requested. + * + */ + +# define ASN1_ITYPE_PRIMITIVE 0x0 +# define ASN1_ITYPE_SEQUENCE 0x1 +# define ASN1_ITYPE_CHOICE 0x2 +/* unused value 0x3 */ +# define ASN1_ITYPE_EXTERN 0x4 +# define ASN1_ITYPE_MSTRING 0x5 +# define ASN1_ITYPE_NDEF_SEQUENCE 0x6 + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)((iptr)())) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM * itname##_it(void) \ + { \ + static const ASN1_ITEM local_it = { + +# define static_ASN1_ITEM_start(itname) \ + static ASN1_ITEM_start(itname) + +# define ASN1_ITEM_end(itname) \ + }; \ + return &local_it; \ + } + +/* Macros to aid ASN1 template writing */ + +# define ASN1_ITEM_TEMPLATE(tname) \ + static const ASN1_TEMPLATE tname##_item_tt + +# define ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_ITEM_TEMPLATE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_PRIMITIVE,\ + -1,\ + &tname##_item_tt,\ + 0,\ + NULL,\ + 0,\ + #tname \ + ASN1_ITEM_end(tname) + +/* This is a ASN1 type which just embeds a template */ + +/*- + * This pair helps declare a SEQUENCE. We can do: + * + * ASN1_SEQUENCE(stname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END(stname) + * + * This will produce an ASN1_ITEM called stname_it + * for a structure called stname. + * + * If you want the same structure but a different + * name then use: + * + * ASN1_SEQUENCE(itname) = { + * ... SEQUENCE components ... + * } ASN1_SEQUENCE_END_name(stname, itname) + * + * This will create an item called itname_it using + * a structure called stname. + */ + +# define ASN1_SEQUENCE(tname) \ + static const ASN1_TEMPLATE tname##_seq_tt[] + +# define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) + +# define static_ASN1_SEQUENCE_END(stname) static_ASN1_SEQUENCE_END_name(stname, stname) + +# define ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #tname \ + ASN1_ITEM_end(tname) + +# define static_ASN1_SEQUENCE_END_name(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE(tname) \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ + ASN1_SEQUENCE_cb(tname, cb) + +# define ASN1_SEQUENCE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0, NULL}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_const_cb(tname, const_cb) \ + static const ASN1_AUX tname##_aux = \ + {NULL, ASN1_AFLG_CONST_CB, 0, 0, NULL, 0, const_cb}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_cb_const_cb(tname, cb, const_cb) \ + static const ASN1_AUX tname##_aux = \ + {NULL, ASN1_AFLG_CONST_CB, 0, 0, cb, 0, const_cb}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_ref(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0, NULL}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_SEQUENCE_enc(tname, enc, cb) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc), NULL}; \ + ASN1_SEQUENCE(tname) + +# define ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_NDEF_SEQUENCE_END(tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(tname),\ + #tname \ + ASN1_ITEM_end(tname) + + +# define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) +# define static_ASN1_SEQUENCE_END_cb(stname, tname) static_ASN1_SEQUENCE_END_ref(stname, tname) + +# define ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #tname \ + ASN1_ITEM_end(tname) +# define static_ASN1_SEQUENCE_END_ref(stname, tname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_NDEF_SEQUENCE,\ + V_ASN1_SEQUENCE,\ + tname##_seq_tt,\ + sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/*- + * This pair helps declare a CHOICE type. We can do: + * + * ASN1_CHOICE(chname) = { + * ... CHOICE options ... + * ASN1_CHOICE_END(chname) + * + * This will produce an ASN1_ITEM called chname_it + * for a structure called chname. The structure + * definition must look like this: + * typedef struct { + * int type; + * union { + * ASN1_SOMETHING *opt1; + * ASN1_SOMEOTHER *opt2; + * } value; + * } chname; + * + * the name of the selector must be 'type'. + * to use an alternative selector name use the + * ASN1_CHOICE_END_selector() version. + */ + +# define ASN1_CHOICE(tname) \ + static const ASN1_TEMPLATE tname##_ch_tt[] + +# define ASN1_CHOICE_cb(tname, cb) \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0, NULL}; \ + ASN1_CHOICE(tname) + +# define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) + +# define static_ASN1_CHOICE_END(stname) static_ASN1_CHOICE_END_name(stname, stname) + +# define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) + +# define static_ASN1_CHOICE_END_name(stname, tname) static_ASN1_CHOICE_END_selector(stname, tname, type) + +# define ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define static_ASN1_CHOICE_END_selector(stname, tname, selname) \ + ;\ + static_ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + NULL,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +# define ASN1_CHOICE_END_cb(stname, tname, selname) \ + ;\ + ASN1_ITEM_start(tname) \ + ASN1_ITYPE_CHOICE,\ + offsetof(stname,selname) ,\ + tname##_ch_tt,\ + sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ + &tname##_aux,\ + sizeof(stname),\ + #stname \ + ASN1_ITEM_end(tname) + +/* This helps with the template wrapper form of ASN1_ITEM */ + +# define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ + (flags), (tag), 0,\ + #name, ASN1_ITEM_ref(type) } + +/* These help with SEQUENCE or CHOICE components */ + +/* used to declare other types */ + +# define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ + (flags), (tag), offsetof(stname, field),\ + #field, ASN1_ITEM_ref(type) } + +/* implicit and explicit helper macros */ + +# define ASN1_IMP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | (ex), tag, stname, field, type) + +# define ASN1_EXP_EX(stname, field, type, tag, ex) \ + ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | (ex), tag, stname, field, type) + +/* Any defined by macros: the field used is in the table itself */ + +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } + +/* Plain simple type */ +# define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) +/* Embedded simple type */ +# define ASN1_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_EMBED,0, stname, field, type) + +/* OPTIONAL simple type */ +# define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) +# define ASN1_OPT_EMBED(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED, 0, stname, field, type) + +/* IMPLICIT tagged simple type */ +# define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) +# define ASN1_IMP_EMBED(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_EMBED) + +/* IMPLICIT tagged OPTIONAL simple type */ +# define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) +# define ASN1_IMP_OPT_EMBED(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED) + +/* Same as above but EXPLICIT */ + +# define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) +# define ASN1_EXP_EMBED(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_EMBED) +# define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) +# define ASN1_EXP_OPT_EMBED(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_EMBED) + +/* SEQUENCE OF type */ +# define ASN1_SEQUENCE_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) + +/* OPTIONAL SEQUENCE OF */ +# define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Same as above but for SET OF */ + +# define ASN1_SET_OF(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) + +# define ASN1_SET_OF_OPT(stname, field, type) \ + ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) + +/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ + +# define ASN1_IMP_SET_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_EXP_SET_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) + +# define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +# define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) + +# define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) + +/* EXPLICIT using indefinite length constructed form */ +# define ASN1_NDEF_EXP(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) + +/* EXPLICIT OPTIONAL using indefinite length constructed form */ +# define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ + ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) + +/* Macros for the ASN1_ADB structure */ + +# define ASN1_ADB(name) \ + static const ASN1_ADB_TABLE name##_adbtbl[] + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ + ;\ + static const ASN1_ITEM *name##_adb(void) \ + { \ + static const ASN1_ADB internal_adb = \ + {\ + flags,\ + offsetof(name, field),\ + adb_cb,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + }; \ + return (const ASN1_ITEM *) &internal_adb; \ + } \ + void dummy_function(void) + +# define ADB_ENTRY(val, template) {val, template} + +# define ASN1_ADB_TEMPLATE(name) \ + static const ASN1_TEMPLATE name##_tt + +/* + * This is the ASN1 template structure that defines a wrapper round the + * actual type. It determines the actual position of the field in the value + * structure, various flags such as OPTIONAL and the field name. + */ + +struct ASN1_TEMPLATE_st { + unsigned long flags; /* Various flags */ + long tag; /* tag, not used if no tagging */ + unsigned long offset; /* Offset of this field in structure */ + const char *field_name; /* Field name */ + ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ +}; + +/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ + +# define ASN1_TEMPLATE_item(t) (t->item_ptr) +# define ASN1_TEMPLATE_adb(t) (t->item_ptr) + +typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; +typedef struct ASN1_ADB_st ASN1_ADB; + +struct ASN1_ADB_st { + unsigned long flags; /* Various flags */ + unsigned long offset; /* Offset of selector field */ + int (*adb_cb)(long *psel); /* Application callback */ + const ASN1_ADB_TABLE *tbl; /* Table of possible types */ + long tblcount; /* Number of entries in tbl */ + const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ + const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ +}; + +struct ASN1_ADB_TABLE_st { + long value; /* NID for an object or value for an int */ + const ASN1_TEMPLATE tt; /* item for this value */ +}; + +/* template flags */ + +/* Field is optional */ +# define ASN1_TFLG_OPTIONAL (0x1) + +/* Field is a SET OF */ +# define ASN1_TFLG_SET_OF (0x1 << 1) + +/* Field is a SEQUENCE OF */ +# define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) + +/* + * Special case: this refers to a SET OF that will be sorted into DER order + * when encoded *and* the corresponding STACK will be modified to match the + * new order. + */ +# define ASN1_TFLG_SET_ORDER (0x3 << 1) + +/* Mask for SET OF or SEQUENCE OF */ +# define ASN1_TFLG_SK_MASK (0x3 << 1) + +/* + * These flags mean the tag should be taken from the tag field. If EXPLICIT + * then the underlying type is used for the inner tag. + */ + +/* IMPLICIT tagging */ +# define ASN1_TFLG_IMPTAG (0x1 << 3) + +/* EXPLICIT tagging, inner tag from underlying type */ +# define ASN1_TFLG_EXPTAG (0x2 << 3) + +# define ASN1_TFLG_TAG_MASK (0x3 << 3) + +/* context specific IMPLICIT */ +# define ASN1_TFLG_IMPLICIT (ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT) + +/* context specific EXPLICIT */ +# define ASN1_TFLG_EXPLICIT (ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT) + +/* + * If tagging is in force these determine the type of tag to use. Otherwise + * the tag is determined by the underlying type. These values reflect the + * actual octet format. + */ + +/* Universal tag */ +# define ASN1_TFLG_UNIVERSAL (0x0<<6) +/* Application tag */ +# define ASN1_TFLG_APPLICATION (0x1<<6) +/* Context specific tag */ +# define ASN1_TFLG_CONTEXT (0x2<<6) +/* Private tag */ +# define ASN1_TFLG_PRIVATE (0x3<<6) + +# define ASN1_TFLG_TAG_CLASS (0x3<<6) + +/* + * These are for ANY DEFINED BY type. In this case the 'item' field points to + * an ASN1_ADB structure which contains a table of values to decode the + * relevant type + */ + +# define ASN1_TFLG_ADB_MASK (0x3<<8) + +# define ASN1_TFLG_ADB_OID (0x1<<8) + +# define ASN1_TFLG_ADB_INT (0x1<<9) + +/* + * This flag when present in a SEQUENCE OF, SET OF or EXPLICIT causes + * indefinite length constructed encoding to be used if required. + */ + +# define ASN1_TFLG_NDEF (0x1<<11) + +/* Field is embedded and not a pointer */ +# define ASN1_TFLG_EMBED (0x1 << 12) + +/* This is the actual ASN1 item itself */ + +struct ASN1_ITEM_st { + char itype; /* The item type, primitive, SEQUENCE, CHOICE + * or extern */ + long utype; /* underlying type */ + const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains + * the contents */ + long tcount; /* Number of templates if SEQUENCE or CHOICE */ + const void *funcs; /* further data and type-specific functions */ + /* funcs can be ASN1_PRIMITIVE_FUNCS*, ASN1_EXTERN_FUNCS*, or ASN1_AUX* */ + long size; /* Structure size (usually) */ + const char *sname; /* Structure name */ +}; + +/* + * Cache for ASN1 tag and length, so we don't keep re-reading it for things + * like CHOICE + */ + +struct ASN1_TLC_st { + char valid; /* Values below are valid */ + int ret; /* return value */ + long plen; /* length */ + int ptag; /* class value */ + int pclass; /* class value */ + int hdrlen; /* header length */ +}; + +/* Typedefs for ASN1 function pointers */ +typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +typedef int ASN1_ex_d2i_ex(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx, OSSL_LIB_CTX *libctx, + const char *propq); +typedef int ASN1_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); +typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); +typedef int ASN1_ex_new_ex_func(ASN1_VALUE **pval, const ASN1_ITEM *it, + OSSL_LIB_CTX *libctx, const char *propq); +typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); + +typedef int ASN1_ex_print_func(BIO *out, const ASN1_VALUE **pval, + int indent, const char *fname, + const ASN1_PCTX *pctx); + +typedef int ASN1_primitive_i2c(const ASN1_VALUE **pval, unsigned char *cont, + int *putype, const ASN1_ITEM *it); +typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, + int len, int utype, char *free_cont, + const ASN1_ITEM *it); +typedef int ASN1_primitive_print(BIO *out, const ASN1_VALUE **pval, + const ASN1_ITEM *it, int indent, + const ASN1_PCTX *pctx); + +typedef struct ASN1_EXTERN_FUNCS_st { + void *app_data; + ASN1_ex_new_func *asn1_ex_new; + ASN1_ex_free_func *asn1_ex_free; + ASN1_ex_free_func *asn1_ex_clear; + ASN1_ex_d2i *asn1_ex_d2i; + ASN1_ex_i2d *asn1_ex_i2d; + ASN1_ex_print_func *asn1_ex_print; + ASN1_ex_new_ex_func *asn1_ex_new_ex; + ASN1_ex_d2i_ex *asn1_ex_d2i_ex; +} ASN1_EXTERN_FUNCS; + +typedef struct ASN1_PRIMITIVE_FUNCS_st { + void *app_data; + unsigned long flags; + ASN1_ex_new_func *prim_new; + ASN1_ex_free_func *prim_free; + ASN1_ex_free_func *prim_clear; + ASN1_primitive_c2i *prim_c2i; + ASN1_primitive_i2c *prim_i2c; + ASN1_primitive_print *prim_print; +} ASN1_PRIMITIVE_FUNCS; + +/* + * This is the ASN1_AUX structure: it handles various miscellaneous + * requirements. For example the use of reference counts and an informational + * callback. The "informational callback" is called at various points during + * the ASN1 encoding and decoding. It can be used to provide minor + * customisation of the structures used. This is most useful where the + * supplied routines *almost* do the right thing but need some extra help at + * a few points. If the callback returns zero then it is assumed a fatal + * error has occurred and the main operation should be abandoned. If major + * changes in the default behaviour are required then an external type is + * more appropriate. + * For the operations ASN1_OP_I2D_PRE, ASN1_OP_I2D_POST, ASN1_OP_PRINT_PRE, and + * ASN1_OP_PRINT_POST, meanwhile a variant of the callback with const parameter + * 'in' is provided to make clear statically that its input is not modified. If + * and only if this variant is in use the flag ASN1_AFLG_CONST_CB must be set. + */ + +typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, + void *exarg); +typedef int ASN1_aux_const_cb(int operation, const ASN1_VALUE **in, + const ASN1_ITEM *it, void *exarg); + +typedef struct ASN1_AUX_st { + void *app_data; + int flags; + int ref_offset; /* Offset of reference value */ + int ref_lock; /* Offset of lock value */ + ASN1_aux_cb *asn1_cb; + int enc_offset; /* Offset of ASN1_ENCODING structure */ + ASN1_aux_const_cb *asn1_const_cb; /* for ASN1_OP_I2D_ and ASN1_OP_PRINT_ */ +} ASN1_AUX; + +/* For print related callbacks exarg points to this structure */ +typedef struct ASN1_PRINT_ARG_st { + BIO *out; + int indent; + const ASN1_PCTX *pctx; +} ASN1_PRINT_ARG; + +/* For streaming related callbacks exarg points to this structure */ +typedef struct ASN1_STREAM_ARG_st { + /* BIO to stream through */ + BIO *out; + /* BIO with filters appended */ + BIO *ndef_bio; + /* Streaming I/O boundary */ + unsigned char **boundary; +} ASN1_STREAM_ARG; + +/* Flags in ASN1_AUX */ + +/* Use a reference count */ +# define ASN1_AFLG_REFCOUNT 1 +/* Save the encoding of structure (useful for signatures) */ +# define ASN1_AFLG_ENCODING 2 +/* The Sequence length is invalid */ +# define ASN1_AFLG_BROKEN 4 +/* Use the new asn1_const_cb */ +# define ASN1_AFLG_CONST_CB 8 + +/* operation values for asn1_cb */ + +# define ASN1_OP_NEW_PRE 0 +# define ASN1_OP_NEW_POST 1 +# define ASN1_OP_FREE_PRE 2 +# define ASN1_OP_FREE_POST 3 +# define ASN1_OP_D2I_PRE 4 +# define ASN1_OP_D2I_POST 5 +# define ASN1_OP_I2D_PRE 6 +# define ASN1_OP_I2D_POST 7 +# define ASN1_OP_PRINT_PRE 8 +# define ASN1_OP_PRINT_POST 9 +# define ASN1_OP_STREAM_PRE 10 +# define ASN1_OP_STREAM_POST 11 +# define ASN1_OP_DETACHED_PRE 12 +# define ASN1_OP_DETACHED_POST 13 +# define ASN1_OP_DUP_PRE 14 +# define ASN1_OP_DUP_POST 15 +# define ASN1_OP_GET0_LIBCTX 16 +# define ASN1_OP_GET0_PROPQ 17 + +/* Macro to implement a primitive type */ +# define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) +# define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ + ASN1_ITEM_end(itname) + +/* Macro to implement a multi string type */ +# define IMPLEMENT_ASN1_MSTRING(itname, mask) \ + ASN1_ITEM_start(itname) \ + ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ + ASN1_ITEM_end(itname) + +# define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ + ASN1_ITEM_start(sname) \ + ASN1_ITYPE_EXTERN, \ + tag, \ + NULL, \ + 0, \ + &fptrs, \ + 0, \ + #sname \ + ASN1_ITEM_end(sname) + +/* Macro to implement standard functions in terms of ASN1_ITEM structures */ + +# define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) + +# define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ + IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) + +# define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ + pre stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + pre void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ + stname *fname##_new(void) \ + { \ + return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ + } \ + void fname##_free(stname *a) \ + { \ + ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ + } + +# define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((const ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + +# define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ + int i2d_##stname##_NDEF(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_ndef_i2d((const ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + } + +# define IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(stname) \ + static stname *d2i_##stname(stname **a, \ + const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ + ASN1_ITEM_rptr(stname)); \ + } \ + static int i2d_##stname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((const ASN1_VALUE *)a, out, \ + ASN1_ITEM_rptr(stname)); \ + } + +# define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ + stname * stname##_dup(const stname *x) \ + { \ + return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ + } + +# define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ + IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) + +# define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ + int fname##_print_ctx(BIO *out, const stname *x, int indent, \ + const ASN1_PCTX *pctx) \ + { \ + return ASN1_item_print(out, (const ASN1_VALUE *)x, indent, \ + ASN1_ITEM_rptr(itname), pctx); \ + } + +/* external definitions for primitive types */ + +DECLARE_ASN1_ITEM(ASN1_BOOLEAN) +DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) +DECLARE_ASN1_ITEM(ASN1_SEQUENCE) +DECLARE_ASN1_ITEM(CBIGNUM) +DECLARE_ASN1_ITEM(BIGNUM) +DECLARE_ASN1_ITEM(INT32) +DECLARE_ASN1_ITEM(ZINT32) +DECLARE_ASN1_ITEM(UINT32) +DECLARE_ASN1_ITEM(ZUINT32) +DECLARE_ASN1_ITEM(INT64) +DECLARE_ASN1_ITEM(ZINT64) +DECLARE_ASN1_ITEM(UINT64) +DECLARE_ASN1_ITEM(ZUINT64) + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +/* + * LONG and ZLONG are strongly discouraged for use as stored data, as the + * underlying C type (long) differs in size depending on the architecture. + * They are designed with 32-bit longs in mind. + */ +DECLARE_ASN1_ITEM(LONG) +DECLARE_ASN1_ITEM(ZLONG) +# endif + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_VALUE, ASN1_VALUE, ASN1_VALUE) +#define sk_ASN1_VALUE_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_VALUE_sk_type(sk)) +#define sk_ASN1_VALUE_value(sk, idx) ((ASN1_VALUE *)OPENSSL_sk_value(ossl_check_const_ASN1_VALUE_sk_type(sk), (idx))) +#define sk_ASN1_VALUE_new(cmp) ((STACK_OF(ASN1_VALUE) *)OPENSSL_sk_new(ossl_check_ASN1_VALUE_compfunc_type(cmp))) +#define sk_ASN1_VALUE_new_null() ((STACK_OF(ASN1_VALUE) *)OPENSSL_sk_new_null()) +#define sk_ASN1_VALUE_new_reserve(cmp, n) ((STACK_OF(ASN1_VALUE) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_VALUE_compfunc_type(cmp), (n))) +#define sk_ASN1_VALUE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_VALUE_sk_type(sk), (n)) +#define sk_ASN1_VALUE_free(sk) OPENSSL_sk_free(ossl_check_ASN1_VALUE_sk_type(sk)) +#define sk_ASN1_VALUE_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_VALUE_sk_type(sk)) +#define sk_ASN1_VALUE_delete(sk, i) ((ASN1_VALUE *)OPENSSL_sk_delete(ossl_check_ASN1_VALUE_sk_type(sk), (i))) +#define sk_ASN1_VALUE_delete_ptr(sk, ptr) ((ASN1_VALUE *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr))) +#define sk_ASN1_VALUE_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr)) +#define sk_ASN1_VALUE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr)) +#define sk_ASN1_VALUE_pop(sk) ((ASN1_VALUE *)OPENSSL_sk_pop(ossl_check_ASN1_VALUE_sk_type(sk))) +#define sk_ASN1_VALUE_shift(sk) ((ASN1_VALUE *)OPENSSL_sk_shift(ossl_check_ASN1_VALUE_sk_type(sk))) +#define sk_ASN1_VALUE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_VALUE_sk_type(sk),ossl_check_ASN1_VALUE_freefunc_type(freefunc)) +#define sk_ASN1_VALUE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr), (idx)) +#define sk_ASN1_VALUE_set(sk, idx, ptr) ((ASN1_VALUE *)OPENSSL_sk_set(ossl_check_ASN1_VALUE_sk_type(sk), (idx), ossl_check_ASN1_VALUE_type(ptr))) +#define sk_ASN1_VALUE_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr)) +#define sk_ASN1_VALUE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr)) +#define sk_ASN1_VALUE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_type(ptr), pnum) +#define sk_ASN1_VALUE_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_VALUE_sk_type(sk)) +#define sk_ASN1_VALUE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_VALUE_sk_type(sk)) +#define sk_ASN1_VALUE_dup(sk) ((STACK_OF(ASN1_VALUE) *)OPENSSL_sk_dup(ossl_check_const_ASN1_VALUE_sk_type(sk))) +#define sk_ASN1_VALUE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_VALUE) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_copyfunc_type(copyfunc), ossl_check_ASN1_VALUE_freefunc_type(freefunc))) +#define sk_ASN1_VALUE_set_cmp_func(sk, cmp) ((sk_ASN1_VALUE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_VALUE_sk_type(sk), ossl_check_ASN1_VALUE_compfunc_type(cmp))) + + + +/* Functions used internally by the ASN1 code */ + +int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); +void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); + +int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, + const ASN1_ITEM *it, int tag, int aclass, char opt, + ASN1_TLC *ctx); + +int ASN1_item_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, + const ASN1_ITEM *it, int tag, int aclass); + +/* Legacy compatibility */ +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) IMPLEMENT_ASN1_FUNCTIONS(name) +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/bio.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/bio.h new file mode 100644 index 00000000000000..e16cf622c69d23 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/bio.h @@ -0,0 +1,887 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/bio.h.in + * + * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + +#ifndef OPENSSL_BIO_H +# define OPENSSL_BIO_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_BIO_H +# endif + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# endif +# include + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* There are the classes of BIOs */ +# define BIO_TYPE_DESCRIPTOR 0x0100 /* socket, fd, connect or accept */ +# define BIO_TYPE_FILTER 0x0200 +# define BIO_TYPE_SOURCE_SINK 0x0400 + +/* These are the 'types' of BIOs */ +# define BIO_TYPE_NONE 0 +# define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK) +# define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK) + +# define BIO_TYPE_FD ( 4|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_SOCKET ( 5|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_NULL ( 6|BIO_TYPE_SOURCE_SINK) +# define BIO_TYPE_SSL ( 7|BIO_TYPE_FILTER) +# define BIO_TYPE_MD ( 8|BIO_TYPE_FILTER) +# define BIO_TYPE_BUFFER ( 9|BIO_TYPE_FILTER) +# define BIO_TYPE_CIPHER (10|BIO_TYPE_FILTER) +# define BIO_TYPE_BASE64 (11|BIO_TYPE_FILTER) +# define BIO_TYPE_CONNECT (12|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_ACCEPT (13|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) + +# define BIO_TYPE_NBIO_TEST (16|BIO_TYPE_FILTER)/* server proxy BIO */ +# define BIO_TYPE_NULL_FILTER (17|BIO_TYPE_FILTER) +# define BIO_TYPE_BIO (19|BIO_TYPE_SOURCE_SINK)/* half a BIO pair */ +# define BIO_TYPE_LINEBUFFER (20|BIO_TYPE_FILTER) +# define BIO_TYPE_DGRAM (21|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# define BIO_TYPE_ASN1 (22|BIO_TYPE_FILTER) +# define BIO_TYPE_COMP (23|BIO_TYPE_FILTER) +# ifndef OPENSSL_NO_SCTP +# define BIO_TYPE_DGRAM_SCTP (24|BIO_TYPE_SOURCE_SINK|BIO_TYPE_DESCRIPTOR) +# endif +# define BIO_TYPE_CORE_TO_PROV (25|BIO_TYPE_SOURCE_SINK) + +#define BIO_TYPE_START 128 + +/* + * BIO_FILENAME_READ|BIO_CLOSE to open or close on free. + * BIO_set_fp(in,stdin,BIO_NOCLOSE); + */ +# define BIO_NOCLOSE 0x00 +# define BIO_CLOSE 0x01 + +/* + * These are used in the following macros and are passed to BIO_ctrl() + */ +# define BIO_CTRL_RESET 1/* opt - rewind/zero etc */ +# define BIO_CTRL_EOF 2/* opt - are we at the eof */ +# define BIO_CTRL_INFO 3/* opt - extra tit-bits */ +# define BIO_CTRL_SET 4/* man - set the 'IO' type */ +# define BIO_CTRL_GET 5/* man - get the 'IO' type */ +# define BIO_CTRL_PUSH 6/* opt - internal, used to signify change */ +# define BIO_CTRL_POP 7/* opt - internal, used to signify change */ +# define BIO_CTRL_GET_CLOSE 8/* man - set the 'close' on free */ +# define BIO_CTRL_SET_CLOSE 9/* man - set the 'close' on free */ +# define BIO_CTRL_PENDING 10/* opt - is their more data buffered */ +# define BIO_CTRL_FLUSH 11/* opt - 'flush' buffered output */ +# define BIO_CTRL_DUP 12/* man - extra stuff for 'duped' BIO */ +# define BIO_CTRL_WPENDING 13/* opt - number of bytes still to write */ +# define BIO_CTRL_SET_CALLBACK 14/* opt - set callback function */ +# define BIO_CTRL_GET_CALLBACK 15/* opt - set callback function */ + +# define BIO_CTRL_PEEK 29/* BIO_f_buffer special */ +# define BIO_CTRL_SET_FILENAME 30/* BIO_s_file special */ + +/* dgram BIO stuff */ +# define BIO_CTRL_DGRAM_CONNECT 31/* BIO dgram special */ +# define BIO_CTRL_DGRAM_SET_CONNECTED 32/* allow for an externally connected + * socket to be passed in */ +# define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34/* getsockopt, essentially */ +# define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35/* setsockopt, essentially */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36/* getsockopt, essentially */ + +# define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37/* flag whether the last */ +# define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38/* I/O operation timed out */ + +/* #ifdef IP_MTU_DISCOVER */ +# define BIO_CTRL_DGRAM_MTU_DISCOVER 39/* set DF bit on egress packets */ +/* #endif */ + +# define BIO_CTRL_DGRAM_QUERY_MTU 40/* as kernel for current MTU */ +# define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 +# define BIO_CTRL_DGRAM_GET_MTU 41/* get cached value for MTU */ +# define BIO_CTRL_DGRAM_SET_MTU 42/* set cached value for MTU. + * want to use this if asking + * the kernel fails */ + +# define BIO_CTRL_DGRAM_MTU_EXCEEDED 43/* check whether the MTU was + * exceed in the previous write + * operation */ + +# define BIO_CTRL_DGRAM_GET_PEER 46 +# define BIO_CTRL_DGRAM_SET_PEER 44/* Destination for the data */ + +# define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45/* Next DTLS handshake timeout + * to adjust socket timeouts */ +# define BIO_CTRL_DGRAM_SET_DONT_FRAG 48 + +# define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD 49 + +/* Deliberately outside of OPENSSL_NO_SCTP - used in bss_dgram.c */ +# define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 +# ifndef OPENSSL_NO_SCTP +/* SCTP stuff */ +# define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 +# define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 +# define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 +# define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 +# define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 +# define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 +# define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 +# define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 +# define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 +# define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 +# endif + +# define BIO_CTRL_DGRAM_SET_PEEK_MODE 71 + +/* + * internal BIO: + * # define BIO_CTRL_SET_KTLS_SEND 72 + * # define BIO_CTRL_SET_KTLS_SEND_CTRL_MSG 74 + * # define BIO_CTRL_CLEAR_KTLS_CTRL_MSG 75 + */ + +# define BIO_CTRL_GET_KTLS_SEND 73 +# define BIO_CTRL_GET_KTLS_RECV 76 + +# define BIO_CTRL_DGRAM_SCTP_WAIT_FOR_DRY 77 +# define BIO_CTRL_DGRAM_SCTP_MSG_WAITING 78 + +/* BIO_f_prefix controls */ +# define BIO_CTRL_SET_PREFIX 79 +# define BIO_CTRL_SET_INDENT 80 +# define BIO_CTRL_GET_INDENT 81 + +# ifndef OPENSSL_NO_KTLS +# define BIO_get_ktls_send(b) \ + (BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL) > 0) +# define BIO_get_ktls_recv(b) \ + (BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, 0, NULL) > 0) +# else +# define BIO_get_ktls_send(b) (0) +# define BIO_get_ktls_recv(b) (0) +# endif + +/* modifiers */ +# define BIO_FP_READ 0x02 +# define BIO_FP_WRITE 0x04 +# define BIO_FP_APPEND 0x08 +# define BIO_FP_TEXT 0x10 + +# define BIO_FLAGS_READ 0x01 +# define BIO_FLAGS_WRITE 0x02 +# define BIO_FLAGS_IO_SPECIAL 0x04 +# define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) +# define BIO_FLAGS_SHOULD_RETRY 0x08 +# ifndef OPENSSL_NO_DEPRECATED_3_0 +/* This #define was replaced by an internal constant and should not be used. */ +# define BIO_FLAGS_UPLINK 0 +# endif + +# define BIO_FLAGS_BASE64_NO_NL 0x100 + +/* + * This is used with memory BIOs: + * BIO_FLAGS_MEM_RDONLY means we shouldn't free up or change the data in any way; + * BIO_FLAGS_NONCLEAR_RST means we shouldn't clear data on reset. + */ +# define BIO_FLAGS_MEM_RDONLY 0x200 +# define BIO_FLAGS_NONCLEAR_RST 0x400 +# define BIO_FLAGS_IN_EOF 0x800 + +/* the BIO FLAGS values 0x1000 to 0x4000 are reserved for internal KTLS flags */ + +typedef union bio_addr_st BIO_ADDR; +typedef struct bio_addrinfo_st BIO_ADDRINFO; + +int BIO_get_new_index(void); +void BIO_set_flags(BIO *b, int flags); +int BIO_test_flags(const BIO *b, int flags); +void BIO_clear_flags(BIO *b, int flags); + +# define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) +# define BIO_set_retry_special(b) \ + BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_read(b) \ + BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_set_retry_write(b) \ + BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) + +/* These are normally used internally in BIOs */ +# define BIO_clear_retry_flags(b) \ + BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) +# define BIO_get_retry_flags(b) \ + BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) + +/* These should be used by the application to tell why we should retry */ +# define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) +# define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) +# define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) +# define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) +# define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) + +/* + * The next three are used in conjunction with the BIO_should_io_special() + * condition. After this returns true, BIO *BIO_get_retry_BIO(BIO *bio, int + * *reason); will walk the BIO stack and return the 'reason' for the special + * and the offending BIO. Given a BIO, BIO_get_retry_reason(bio) will return + * the code. + */ +/* + * Returned from the SSL bio when the certificate retrieval code had an error + */ +# define BIO_RR_SSL_X509_LOOKUP 0x01 +/* Returned from the connect BIO when a connect would have blocked */ +# define BIO_RR_CONNECT 0x02 +/* Returned from the accept BIO when an accept would have blocked */ +# define BIO_RR_ACCEPT 0x03 + +/* These are passed by the BIO callback */ +# define BIO_CB_FREE 0x01 +# define BIO_CB_READ 0x02 +# define BIO_CB_WRITE 0x03 +# define BIO_CB_PUTS 0x04 +# define BIO_CB_GETS 0x05 +# define BIO_CB_CTRL 0x06 + +/* + * The callback is called before and after the underling operation, The + * BIO_CB_RETURN flag indicates if it is after the call + */ +# define BIO_CB_RETURN 0x80 +# define BIO_CB_return(a) ((a)|BIO_CB_RETURN) +# define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) +# define BIO_cb_post(a) ((a)&BIO_CB_RETURN) + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi, + long argl, long ret); +OSSL_DEPRECATEDIN_3_0 BIO_callback_fn BIO_get_callback(const BIO *b); +OSSL_DEPRECATEDIN_3_0 void BIO_set_callback(BIO *b, BIO_callback_fn callback); +OSSL_DEPRECATEDIN_3_0 long BIO_debug_callback(BIO *bio, int cmd, + const char *argp, int argi, + long argl, long ret); +# endif + +typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp, + size_t len, int argi, + long argl, int ret, size_t *processed); +BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b); +void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback); +long BIO_debug_callback_ex(BIO *bio, int oper, const char *argp, size_t len, + int argi, long argl, int ret, size_t *processed); + +char *BIO_get_callback_arg(const BIO *b); +void BIO_set_callback_arg(BIO *b, char *arg); + +typedef struct bio_method_st BIO_METHOD; + +const char *BIO_method_name(const BIO *b); +int BIO_method_type(const BIO *b); + +typedef int BIO_info_cb(BIO *, int, int); +typedef BIO_info_cb bio_info_cb; /* backward compatibility */ + +SKM_DEFINE_STACK_OF_INTERNAL(BIO, BIO, BIO) +#define sk_BIO_num(sk) OPENSSL_sk_num(ossl_check_const_BIO_sk_type(sk)) +#define sk_BIO_value(sk, idx) ((BIO *)OPENSSL_sk_value(ossl_check_const_BIO_sk_type(sk), (idx))) +#define sk_BIO_new(cmp) ((STACK_OF(BIO) *)OPENSSL_sk_new(ossl_check_BIO_compfunc_type(cmp))) +#define sk_BIO_new_null() ((STACK_OF(BIO) *)OPENSSL_sk_new_null()) +#define sk_BIO_new_reserve(cmp, n) ((STACK_OF(BIO) *)OPENSSL_sk_new_reserve(ossl_check_BIO_compfunc_type(cmp), (n))) +#define sk_BIO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_BIO_sk_type(sk), (n)) +#define sk_BIO_free(sk) OPENSSL_sk_free(ossl_check_BIO_sk_type(sk)) +#define sk_BIO_zero(sk) OPENSSL_sk_zero(ossl_check_BIO_sk_type(sk)) +#define sk_BIO_delete(sk, i) ((BIO *)OPENSSL_sk_delete(ossl_check_BIO_sk_type(sk), (i))) +#define sk_BIO_delete_ptr(sk, ptr) ((BIO *)OPENSSL_sk_delete_ptr(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr))) +#define sk_BIO_push(sk, ptr) OPENSSL_sk_push(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr)) +#define sk_BIO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr)) +#define sk_BIO_pop(sk) ((BIO *)OPENSSL_sk_pop(ossl_check_BIO_sk_type(sk))) +#define sk_BIO_shift(sk) ((BIO *)OPENSSL_sk_shift(ossl_check_BIO_sk_type(sk))) +#define sk_BIO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_BIO_sk_type(sk),ossl_check_BIO_freefunc_type(freefunc)) +#define sk_BIO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr), (idx)) +#define sk_BIO_set(sk, idx, ptr) ((BIO *)OPENSSL_sk_set(ossl_check_BIO_sk_type(sk), (idx), ossl_check_BIO_type(ptr))) +#define sk_BIO_find(sk, ptr) OPENSSL_sk_find(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr)) +#define sk_BIO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr)) +#define sk_BIO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_BIO_sk_type(sk), ossl_check_BIO_type(ptr), pnum) +#define sk_BIO_sort(sk) OPENSSL_sk_sort(ossl_check_BIO_sk_type(sk)) +#define sk_BIO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_BIO_sk_type(sk)) +#define sk_BIO_dup(sk) ((STACK_OF(BIO) *)OPENSSL_sk_dup(ossl_check_const_BIO_sk_type(sk))) +#define sk_BIO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(BIO) *)OPENSSL_sk_deep_copy(ossl_check_const_BIO_sk_type(sk), ossl_check_BIO_copyfunc_type(copyfunc), ossl_check_BIO_freefunc_type(freefunc))) +#define sk_BIO_set_cmp_func(sk, cmp) ((sk_BIO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_BIO_sk_type(sk), ossl_check_BIO_compfunc_type(cmp))) + + + +/* Prefix and suffix callback in ASN1 BIO */ +typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, + void *parg); + +typedef void (*BIO_dgram_sctp_notification_handler_fn) (BIO *b, + void *context, + void *buf); +# ifndef OPENSSL_NO_SCTP +/* SCTP parameter structs */ +struct bio_dgram_sctp_sndinfo { + uint16_t snd_sid; + uint16_t snd_flags; + uint32_t snd_ppid; + uint32_t snd_context; +}; + +struct bio_dgram_sctp_rcvinfo { + uint16_t rcv_sid; + uint16_t rcv_ssn; + uint16_t rcv_flags; + uint32_t rcv_ppid; + uint32_t rcv_tsn; + uint32_t rcv_cumtsn; + uint32_t rcv_context; +}; + +struct bio_dgram_sctp_prinfo { + uint16_t pr_policy; + uint32_t pr_value; +}; +# endif + +/* + * #define BIO_CONN_get_param_hostname BIO_ctrl + */ + +# define BIO_C_SET_CONNECT 100 +# define BIO_C_DO_STATE_MACHINE 101 +# define BIO_C_SET_NBIO 102 +/* # define BIO_C_SET_PROXY_PARAM 103 */ +# define BIO_C_SET_FD 104 +# define BIO_C_GET_FD 105 +# define BIO_C_SET_FILE_PTR 106 +# define BIO_C_GET_FILE_PTR 107 +# define BIO_C_SET_FILENAME 108 +# define BIO_C_SET_SSL 109 +# define BIO_C_GET_SSL 110 +# define BIO_C_SET_MD 111 +# define BIO_C_GET_MD 112 +# define BIO_C_GET_CIPHER_STATUS 113 +# define BIO_C_SET_BUF_MEM 114 +# define BIO_C_GET_BUF_MEM_PTR 115 +# define BIO_C_GET_BUFF_NUM_LINES 116 +# define BIO_C_SET_BUFF_SIZE 117 +# define BIO_C_SET_ACCEPT 118 +# define BIO_C_SSL_MODE 119 +# define BIO_C_GET_MD_CTX 120 +/* # define BIO_C_GET_PROXY_PARAM 121 */ +# define BIO_C_SET_BUFF_READ_DATA 122/* data to read first */ +# define BIO_C_GET_CONNECT 123 +# define BIO_C_GET_ACCEPT 124 +# define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 +# define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 +# define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 +# define BIO_C_FILE_SEEK 128 +# define BIO_C_GET_CIPHER_CTX 129 +# define BIO_C_SET_BUF_MEM_EOF_RETURN 130/* return end of input + * value */ +# define BIO_C_SET_BIND_MODE 131 +# define BIO_C_GET_BIND_MODE 132 +# define BIO_C_FILE_TELL 133 +# define BIO_C_GET_SOCKS 134 +# define BIO_C_SET_SOCKS 135 + +# define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ +# define BIO_C_GET_WRITE_BUF_SIZE 137 +# define BIO_C_MAKE_BIO_PAIR 138 +# define BIO_C_DESTROY_BIO_PAIR 139 +# define BIO_C_GET_WRITE_GUARANTEE 140 +# define BIO_C_GET_READ_REQUEST 141 +# define BIO_C_SHUTDOWN_WR 142 +# define BIO_C_NREAD0 143 +# define BIO_C_NREAD 144 +# define BIO_C_NWRITE0 145 +# define BIO_C_NWRITE 146 +# define BIO_C_RESET_READ_REQUEST 147 +# define BIO_C_SET_MD_CTX 148 + +# define BIO_C_SET_PREFIX 149 +# define BIO_C_GET_PREFIX 150 +# define BIO_C_SET_SUFFIX 151 +# define BIO_C_GET_SUFFIX 152 + +# define BIO_C_SET_EX_ARG 153 +# define BIO_C_GET_EX_ARG 154 + +# define BIO_C_SET_CONNECT_MODE 155 + +# define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) +# define BIO_get_app_data(s) BIO_get_ex_data(s,0) + +# define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) + +# ifndef OPENSSL_NO_SOCK +/* IP families we support, for BIO_s_connect() and BIO_s_accept() */ +/* Note: the underlying operating system may not support some of them */ +# define BIO_FAMILY_IPV4 4 +# define BIO_FAMILY_IPV6 6 +# define BIO_FAMILY_IPANY 256 + +/* BIO_s_connect() */ +# define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0, \ + (char *)(name)) +# define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1, \ + (char *)(port)) +# define BIO_set_conn_address(b,addr) BIO_ctrl(b,BIO_C_SET_CONNECT,2, \ + (char *)(addr)) +# define BIO_set_conn_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_CONNECT,3,f) +# define BIO_get_conn_hostname(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)) +# define BIO_get_conn_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)) +# define BIO_get_conn_address(b) ((const BIO_ADDR *)BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)) +# define BIO_get_conn_ip_family(b) BIO_ctrl(b,BIO_C_GET_CONNECT,3,NULL) +# define BIO_set_conn_mode(b,n) BIO_ctrl(b,BIO_C_SET_CONNECT_MODE,(n),NULL) + +/* BIO_s_accept() */ +# define BIO_set_accept_name(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0, \ + (char *)(name)) +# define BIO_set_accept_port(b,port) BIO_ctrl(b,BIO_C_SET_ACCEPT,1, \ + (char *)(port)) +# define BIO_get_accept_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0)) +# define BIO_get_accept_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,1)) +# define BIO_get_peer_name(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,2)) +# define BIO_get_peer_port(b) ((const char *)BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,3)) +/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ +# define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(n)?(void *)"a":NULL) +# define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,3, \ + (char *)(bio)) +# define BIO_set_accept_ip_family(b,f) BIO_int_ctrl(b,BIO_C_SET_ACCEPT,4,f) +# define BIO_get_accept_ip_family(b) BIO_ctrl(b,BIO_C_GET_ACCEPT,4,NULL) + +/* Aliases kept for backward compatibility */ +# define BIO_BIND_NORMAL 0 +# define BIO_BIND_REUSEADDR BIO_SOCK_REUSEADDR +# define BIO_BIND_REUSEADDR_IF_UNUSED BIO_SOCK_REUSEADDR +# define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) +# define BIO_get_bind_mode(b) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) +# endif /* OPENSSL_NO_SOCK */ + +# define BIO_do_connect(b) BIO_do_handshake(b) +# define BIO_do_accept(b) BIO_do_handshake(b) + +# define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) + +/* BIO_s_datagram(), BIO_s_fd(), BIO_s_socket(), BIO_s_accept() and BIO_s_connect() */ +# define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) +# define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)(c)) + +/* BIO_s_file() */ +# define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)(fp)) +# define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)(fpp)) + +/* BIO_s_fd() and BIO_s_file() */ +# define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) +# define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) + +/* + * name is cast to lose const, but might be better to route through a + * function so we can do it safely + */ +# ifdef CONST_STRICT +/* + * If you are wondering why this isn't defined, its because CONST_STRICT is + * purely a compile-time kludge to allow const to be checked. + */ +int BIO_read_filename(BIO *b, const char *name); +# else +# define BIO_read_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ,(char *)(name)) +# endif +# define BIO_write_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_WRITE,name) +# define BIO_append_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_APPEND,name) +# define BIO_rw_filename(b,name) (int)BIO_ctrl(b,BIO_C_SET_FILENAME, \ + BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) + +/* + * WARNING WARNING, this ups the reference count on the read bio of the SSL + * structure. This is because the ssl read BIO is now pointed to by the + * next_bio field in the bio. So when you free the BIO, make sure you are + * doing a BIO_free_all() to catch the underlying BIO. + */ +# define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)(ssl)) +# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)(sslp)) +# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) +# define BIO_set_ssl_renegotiate_bytes(b,num) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL) +# define BIO_get_num_renegotiates(b) \ + BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL) +# define BIO_set_ssl_renegotiate_timeout(b,seconds) \ + BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL) + +/* defined in evp.h */ +/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)(md)) */ + +# define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)(pp)) +# define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)(bm)) +# define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0, \ + (char *)(pp)) +# define BIO_set_mem_eof_return(b,v) \ + BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) + +/* For the BIO_f_buffer() type */ +# define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) +# define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) +# define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) +# define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) +# define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) + +/* Don't use the next one unless you know what you are doing :-) */ +# define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) + +# define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) +# define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) +# define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) +# define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) +# define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) +# define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) +/* ...pending macros have inappropriate return type */ +size_t BIO_ctrl_pending(BIO *b); +size_t BIO_ctrl_wpending(BIO *b); +# define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) +# define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ + cbp) +# define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) + +/* For the BIO_f_buffer() type */ +# define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) +# define BIO_buffer_peek(b,s,l) BIO_ctrl(b,BIO_CTRL_PEEK,(l),(s)) + +/* For BIO_s_bio() */ +# define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) +# define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) +# define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) +# define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) +# define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +/* macros with inappropriate type -- but ...pending macros use int too: */ +# define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) +# define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) +size_t BIO_ctrl_get_write_guarantee(BIO *b); +size_t BIO_ctrl_get_read_request(BIO *b); +int BIO_ctrl_reset_read_request(BIO *b); + +/* ctrl macros for dgram */ +# define BIO_ctrl_dgram_connect(b,peer) \ + (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)(peer)) +# define BIO_ctrl_set_connected(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, 0, (char *)(peer)) +# define BIO_dgram_recv_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) +# define BIO_dgram_send_timedout(b) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) +# define BIO_dgram_get_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)(peer)) +# define BIO_dgram_set_peer(b,peer) \ + (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)(peer)) +# define BIO_dgram_get_mtu_overhead(b) \ + (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) + +/* ctrl macros for BIO_f_prefix */ +# define BIO_set_prefix(b,p) BIO_ctrl((b), BIO_CTRL_SET_PREFIX, 0, (void *)(p)) +# define BIO_set_indent(b,i) BIO_ctrl((b), BIO_CTRL_SET_INDENT, (i), NULL) +# define BIO_get_indent(b) BIO_ctrl((b), BIO_CTRL_GET_INDENT, 0, NULL) + +#define BIO_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, l, p, newf, dupf, freef) +int BIO_set_ex_data(BIO *bio, int idx, void *data); +void *BIO_get_ex_data(const BIO *bio, int idx); +uint64_t BIO_number_read(BIO *bio); +uint64_t BIO_number_written(BIO *bio); + +/* For BIO_f_asn1() */ +int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, + asn1_ps_func *prefix_free); +int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, + asn1_ps_func **pprefix_free); +int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, + asn1_ps_func *suffix_free); +int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, + asn1_ps_func **psuffix_free); + +const BIO_METHOD *BIO_s_file(void); +BIO *BIO_new_file(const char *filename, const char *mode); +BIO *BIO_new_from_core_bio(OSSL_LIB_CTX *libctx, OSSL_CORE_BIO *corebio); +# ifndef OPENSSL_NO_STDIO +BIO *BIO_new_fp(FILE *stream, int close_flag); +# endif +BIO *BIO_new_ex(OSSL_LIB_CTX *libctx, const BIO_METHOD *method); +BIO *BIO_new(const BIO_METHOD *type); +int BIO_free(BIO *a); +void BIO_set_data(BIO *a, void *ptr); +void *BIO_get_data(BIO *a); +void BIO_set_init(BIO *a, int init); +int BIO_get_init(BIO *a); +void BIO_set_shutdown(BIO *a, int shut); +int BIO_get_shutdown(BIO *a); +void BIO_vfree(BIO *a); +int BIO_up_ref(BIO *a); +int BIO_read(BIO *b, void *data, int dlen); +int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes); +int BIO_gets(BIO *bp, char *buf, int size); +int BIO_get_line(BIO *bio, char *buf, int size); +int BIO_write(BIO *b, const void *data, int dlen); +int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written); +int BIO_puts(BIO *bp, const char *buf); +int BIO_indent(BIO *b, int indent, int max); +long BIO_ctrl(BIO *bp, int cmd, long larg, void *parg); +long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp); +void *BIO_ptr_ctrl(BIO *bp, int cmd, long larg); +long BIO_int_ctrl(BIO *bp, int cmd, long larg, int iarg); +BIO *BIO_push(BIO *b, BIO *append); +BIO *BIO_pop(BIO *b); +void BIO_free_all(BIO *a); +BIO *BIO_find_type(BIO *b, int bio_type); +BIO *BIO_next(BIO *b); +void BIO_set_next(BIO *b, BIO *next); +BIO *BIO_get_retry_BIO(BIO *bio, int *reason); +int BIO_get_retry_reason(BIO *bio); +void BIO_set_retry_reason(BIO *bio, int reason); +BIO *BIO_dup_chain(BIO *in); + +int BIO_nread0(BIO *bio, char **buf); +int BIO_nread(BIO *bio, char **buf, int num); +int BIO_nwrite0(BIO *bio, char **buf); +int BIO_nwrite(BIO *bio, char **buf, int num); + +const BIO_METHOD *BIO_s_mem(void); +const BIO_METHOD *BIO_s_secmem(void); +BIO *BIO_new_mem_buf(const void *buf, int len); +# ifndef OPENSSL_NO_SOCK +const BIO_METHOD *BIO_s_socket(void); +const BIO_METHOD *BIO_s_connect(void); +const BIO_METHOD *BIO_s_accept(void); +# endif +const BIO_METHOD *BIO_s_fd(void); +const BIO_METHOD *BIO_s_log(void); +const BIO_METHOD *BIO_s_bio(void); +const BIO_METHOD *BIO_s_null(void); +const BIO_METHOD *BIO_f_null(void); +const BIO_METHOD *BIO_f_buffer(void); +const BIO_METHOD *BIO_f_readbuffer(void); +const BIO_METHOD *BIO_f_linebuffer(void); +const BIO_METHOD *BIO_f_nbio_test(void); +const BIO_METHOD *BIO_f_prefix(void); +const BIO_METHOD *BIO_s_core(void); +# ifndef OPENSSL_NO_DGRAM +const BIO_METHOD *BIO_s_datagram(void); +int BIO_dgram_non_fatal_error(int error); +BIO *BIO_new_dgram(int fd, int close_flag); +# ifndef OPENSSL_NO_SCTP +const BIO_METHOD *BIO_s_datagram_sctp(void); +BIO *BIO_new_dgram_sctp(int fd, int close_flag); +int BIO_dgram_is_sctp(BIO *bio); +int BIO_dgram_sctp_notification_cb(BIO *b, + BIO_dgram_sctp_notification_handler_fn handle_notifications, + void *context); +int BIO_dgram_sctp_wait_for_dry(BIO *b); +int BIO_dgram_sctp_msg_waiting(BIO *b); +# endif +# endif + +# ifndef OPENSSL_NO_SOCK +int BIO_sock_should_retry(int i); +int BIO_sock_non_fatal_error(int error); +int BIO_socket_wait(int fd, int for_read, time_t max_time); +# endif +int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds); +int BIO_do_connect_retry(BIO *bio, int timeout, int nap_milliseconds); + +int BIO_fd_should_retry(int i); +int BIO_fd_non_fatal_error(int error); +int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const void *s, int len); +int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), + void *u, const void *s, int len, int indent); +int BIO_dump(BIO *b, const void *bytes, int len); +int BIO_dump_indent(BIO *b, const void *bytes, int len, int indent); +# ifndef OPENSSL_NO_STDIO +int BIO_dump_fp(FILE *fp, const void *s, int len); +int BIO_dump_indent_fp(FILE *fp, const void *s, int len, int indent); +# endif +int BIO_hex_string(BIO *out, int indent, int width, const void *data, + int datalen); + +# ifndef OPENSSL_NO_SOCK +BIO_ADDR *BIO_ADDR_new(void); +int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, + const void *where, size_t wherelen, unsigned short port); +void BIO_ADDR_free(BIO_ADDR *); +void BIO_ADDR_clear(BIO_ADDR *ap); +int BIO_ADDR_family(const BIO_ADDR *ap); +int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l); +unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap); +char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric); +char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric); +char *BIO_ADDR_path_string(const BIO_ADDR *ap); + +const BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai); +int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai); +const BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai); +void BIO_ADDRINFO_free(BIO_ADDRINFO *bai); + +enum BIO_hostserv_priorities { + BIO_PARSE_PRIO_HOST, BIO_PARSE_PRIO_SERV +}; +int BIO_parse_hostserv(const char *hostserv, char **host, char **service, + enum BIO_hostserv_priorities hostserv_prio); +enum BIO_lookup_type { + BIO_LOOKUP_CLIENT, BIO_LOOKUP_SERVER +}; +int BIO_lookup(const char *host, const char *service, + enum BIO_lookup_type lookup_type, + int family, int socktype, BIO_ADDRINFO **res); +int BIO_lookup_ex(const char *host, const char *service, + int lookup_type, int family, int socktype, int protocol, + BIO_ADDRINFO **res); +int BIO_sock_error(int sock); +int BIO_socket_ioctl(int fd, long type, void *arg); +int BIO_socket_nbio(int fd, int mode); +int BIO_sock_init(void); +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define BIO_sock_cleanup() while(0) continue +# endif +int BIO_set_tcp_ndelay(int sock, int turn_on); +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 struct hostent *BIO_gethostbyname(const char *name); +OSSL_DEPRECATEDIN_1_1_0 int BIO_get_port(const char *str, unsigned short *port_ptr); +OSSL_DEPRECATEDIN_1_1_0 int BIO_get_host_ip(const char *str, unsigned char *ip); +OSSL_DEPRECATEDIN_1_1_0 int BIO_get_accept_socket(char *host_port, int mode); +OSSL_DEPRECATEDIN_1_1_0 int BIO_accept(int sock, char **ip_port); +# endif + +union BIO_sock_info_u { + BIO_ADDR *addr; +}; +enum BIO_sock_info_type { + BIO_SOCK_INFO_ADDRESS +}; +int BIO_sock_info(int sock, + enum BIO_sock_info_type type, union BIO_sock_info_u *info); + +# define BIO_SOCK_REUSEADDR 0x01 +# define BIO_SOCK_V6_ONLY 0x02 +# define BIO_SOCK_KEEPALIVE 0x04 +# define BIO_SOCK_NONBLOCK 0x08 +# define BIO_SOCK_NODELAY 0x10 + +int BIO_socket(int domain, int socktype, int protocol, int options); +int BIO_connect(int sock, const BIO_ADDR *addr, int options); +int BIO_bind(int sock, const BIO_ADDR *addr, int options); +int BIO_listen(int sock, const BIO_ADDR *addr, int options); +int BIO_accept_ex(int accept_sock, BIO_ADDR *addr, int options); +int BIO_closesocket(int sock); + +BIO *BIO_new_socket(int sock, int close_flag); +BIO *BIO_new_connect(const char *host_port); +BIO *BIO_new_accept(const char *host_port); +# endif /* OPENSSL_NO_SOCK*/ + +BIO *BIO_new_fd(int fd, int close_flag); + +int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, + BIO **bio2, size_t writebuf2); +/* + * If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. + * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. Size 0 uses default + * value. + */ + +void BIO_copy_next_retry(BIO *b); + +/* + * long BIO_ghbn_ctrl(int cmd,int iarg,char *parg); + */ + +# define ossl_bio__attr__(x) +# if defined(__GNUC__) && defined(__STDC_VERSION__) \ + && !defined(__MINGW32__) && !defined(__MINGW64__) \ + && !defined(__APPLE__) + /* + * Because we support the 'z' modifier, which made its appearance in C99, + * we can't use __attribute__ with pre C99 dialects. + */ +# if __STDC_VERSION__ >= 199901L +# undef ossl_bio__attr__ +# define ossl_bio__attr__ __attribute__ +# if __GNUC__*10 + __GNUC_MINOR__ >= 44 +# define ossl_bio__printf__ __gnu_printf__ +# else +# define ossl_bio__printf__ __printf__ +# endif +# endif +# endif +int BIO_printf(BIO *bio, const char *format, ...) +ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 3))); +int BIO_vprintf(BIO *bio, const char *format, va_list args) +ossl_bio__attr__((__format__(ossl_bio__printf__, 2, 0))); +int BIO_snprintf(char *buf, size_t n, const char *format, ...) +ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 4))); +int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) +ossl_bio__attr__((__format__(ossl_bio__printf__, 3, 0))); +# undef ossl_bio__attr__ +# undef ossl_bio__printf__ + + +BIO_METHOD *BIO_meth_new(int type, const char *name); +void BIO_meth_free(BIO_METHOD *biom); +int (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char *, int); +int (*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const char *, size_t, + size_t *); +int BIO_meth_set_write(BIO_METHOD *biom, + int (*write) (BIO *, const char *, int)); +int BIO_meth_set_write_ex(BIO_METHOD *biom, + int (*bwrite) (BIO *, const char *, size_t, size_t *)); +int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int); +int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *, size_t, size_t *); +int BIO_meth_set_read(BIO_METHOD *biom, + int (*read) (BIO *, char *, int)); +int BIO_meth_set_read_ex(BIO_METHOD *biom, + int (*bread) (BIO *, char *, size_t, size_t *)); +int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char *); +int BIO_meth_set_puts(BIO_METHOD *biom, + int (*puts) (BIO *, const char *)); +int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int); +int BIO_meth_set_gets(BIO_METHOD *biom, + int (*gets) (BIO *, char *, int)); +long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); +int BIO_meth_set_ctrl(BIO_METHOD *biom, + long (*ctrl) (BIO *, int, long, void *)); +int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); +int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *)); +int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *); +int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *)); +long (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom)) + (BIO *, int, BIO_info_cb *); +int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, + long (*callback_ctrl) (BIO *, int, + BIO_info_cb *)); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h new file mode 100644 index 00000000000000..cfb269257a5bf2 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h @@ -0,0 +1,596 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/cmp.h.in + * + * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright Nokia 2007-2019 + * Copyright Siemens AG 2015-2019 + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_CMP_H +# define OPENSSL_CMP_H + +# include +# ifndef OPENSSL_NO_CMP + +# include +# include +# include +# include + +/* explicit #includes not strictly needed since implied by the above: */ +# include +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# define OSSL_CMP_PVNO 2 + +/*- + * PKIFailureInfo ::= BIT STRING { + * -- since we can fail in more than one way! + * -- More codes may be added in the future if/when required. + * badAlg (0), + * -- unrecognized or unsupported Algorithm Identifier + * badMessageCheck (1), + * -- integrity check failed (e.g., signature did not verify) + * badRequest (2), + * -- transaction not permitted or supported + * badTime (3), + * -- messageTime was not sufficiently close to the system time, + * -- as defined by local policy + * badCertId (4), + * -- no certificate could be found matching the provided criteria + * badDataFormat (5), + * -- the data submitted has the wrong format + * wrongAuthority (6), + * -- the authority indicated in the request is different from the + * -- one creating the response token + * incorrectData (7), + * -- the requester's data is incorrect (for notary services) + * missingTimeStamp (8), + * -- when the timestamp is missing but should be there + * -- (by policy) + * badPOP (9), + * -- the proof-of-possession failed + * certRevoked (10), + * -- the certificate has already been revoked + * certConfirmed (11), + * -- the certificate has already been confirmed + * wrongIntegrity (12), + * -- invalid integrity, password based instead of signature or + * -- vice versa + * badRecipientNonce (13), + * -- invalid recipient nonce, either missing or wrong value + * timeNotAvailable (14), + * -- the TSA's time source is not available + * unacceptedPolicy (15), + * -- the requested TSA policy is not supported by the TSA. + * unacceptedExtension (16), + * -- the requested extension is not supported by the TSA. + * addInfoNotAvailable (17), + * -- the additional information requested could not be + * -- understood or is not available + * badSenderNonce (18), + * -- invalid sender nonce, either missing or wrong size + * badCertTemplate (19), + * -- invalid cert. template or missing mandatory information + * signerNotTrusted (20), + * -- signer of the message unknown or not trusted + * transactionIdInUse (21), + * -- the transaction identifier is already in use + * unsupportedVersion (22), + * -- the version of the message is not supported + * notAuthorized (23), + * -- the sender was not authorized to make the preceding + * -- request or perform the preceding action + * systemUnavail (24), + * -- the request cannot be handled due to system unavailability + * systemFailure (25), + * -- the request cannot be handled due to system failure + * duplicateCertReq (26) + * -- certificate cannot be issued because a duplicate + * -- certificate already exists + * } + */ +# define OSSL_CMP_PKIFAILUREINFO_badAlg 0 +# define OSSL_CMP_PKIFAILUREINFO_badMessageCheck 1 +# define OSSL_CMP_PKIFAILUREINFO_badRequest 2 +# define OSSL_CMP_PKIFAILUREINFO_badTime 3 +# define OSSL_CMP_PKIFAILUREINFO_badCertId 4 +# define OSSL_CMP_PKIFAILUREINFO_badDataFormat 5 +# define OSSL_CMP_PKIFAILUREINFO_wrongAuthority 6 +# define OSSL_CMP_PKIFAILUREINFO_incorrectData 7 +# define OSSL_CMP_PKIFAILUREINFO_missingTimeStamp 8 +# define OSSL_CMP_PKIFAILUREINFO_badPOP 9 +# define OSSL_CMP_PKIFAILUREINFO_certRevoked 10 +# define OSSL_CMP_PKIFAILUREINFO_certConfirmed 11 +# define OSSL_CMP_PKIFAILUREINFO_wrongIntegrity 12 +# define OSSL_CMP_PKIFAILUREINFO_badRecipientNonce 13 +# define OSSL_CMP_PKIFAILUREINFO_timeNotAvailable 14 +# define OSSL_CMP_PKIFAILUREINFO_unacceptedPolicy 15 +# define OSSL_CMP_PKIFAILUREINFO_unacceptedExtension 16 +# define OSSL_CMP_PKIFAILUREINFO_addInfoNotAvailable 17 +# define OSSL_CMP_PKIFAILUREINFO_badSenderNonce 18 +# define OSSL_CMP_PKIFAILUREINFO_badCertTemplate 19 +# define OSSL_CMP_PKIFAILUREINFO_signerNotTrusted 20 +# define OSSL_CMP_PKIFAILUREINFO_transactionIdInUse 21 +# define OSSL_CMP_PKIFAILUREINFO_unsupportedVersion 22 +# define OSSL_CMP_PKIFAILUREINFO_notAuthorized 23 +# define OSSL_CMP_PKIFAILUREINFO_systemUnavail 24 +# define OSSL_CMP_PKIFAILUREINFO_systemFailure 25 +# define OSSL_CMP_PKIFAILUREINFO_duplicateCertReq 26 +# define OSSL_CMP_PKIFAILUREINFO_MAX 26 +# define OSSL_CMP_PKIFAILUREINFO_MAX_BIT_PATTERN \ + ((1 << (OSSL_CMP_PKIFAILUREINFO_MAX + 1)) - 1) +# if OSSL_CMP_PKIFAILUREINFO_MAX_BIT_PATTERN > INT_MAX +# error CMP_PKIFAILUREINFO_MAX bit pattern does not fit in type int +# endif + +typedef ASN1_BIT_STRING OSSL_CMP_PKIFAILUREINFO; + +# define OSSL_CMP_CTX_FAILINFO_badAlg (1 << 0) +# define OSSL_CMP_CTX_FAILINFO_badMessageCheck (1 << 1) +# define OSSL_CMP_CTX_FAILINFO_badRequest (1 << 2) +# define OSSL_CMP_CTX_FAILINFO_badTime (1 << 3) +# define OSSL_CMP_CTX_FAILINFO_badCertId (1 << 4) +# define OSSL_CMP_CTX_FAILINFO_badDataFormat (1 << 5) +# define OSSL_CMP_CTX_FAILINFO_wrongAuthority (1 << 6) +# define OSSL_CMP_CTX_FAILINFO_incorrectData (1 << 7) +# define OSSL_CMP_CTX_FAILINFO_missingTimeStamp (1 << 8) +# define OSSL_CMP_CTX_FAILINFO_badPOP (1 << 9) +# define OSSL_CMP_CTX_FAILINFO_certRevoked (1 << 10) +# define OSSL_CMP_CTX_FAILINFO_certConfirmed (1 << 11) +# define OSSL_CMP_CTX_FAILINFO_wrongIntegrity (1 << 12) +# define OSSL_CMP_CTX_FAILINFO_badRecipientNonce (1 << 13) +# define OSSL_CMP_CTX_FAILINFO_timeNotAvailable (1 << 14) +# define OSSL_CMP_CTX_FAILINFO_unacceptedPolicy (1 << 15) +# define OSSL_CMP_CTX_FAILINFO_unacceptedExtension (1 << 16) +# define OSSL_CMP_CTX_FAILINFO_addInfoNotAvailable (1 << 17) +# define OSSL_CMP_CTX_FAILINFO_badSenderNonce (1 << 18) +# define OSSL_CMP_CTX_FAILINFO_badCertTemplate (1 << 19) +# define OSSL_CMP_CTX_FAILINFO_signerNotTrusted (1 << 20) +# define OSSL_CMP_CTX_FAILINFO_transactionIdInUse (1 << 21) +# define OSSL_CMP_CTX_FAILINFO_unsupportedVersion (1 << 22) +# define OSSL_CMP_CTX_FAILINFO_notAuthorized (1 << 23) +# define OSSL_CMP_CTX_FAILINFO_systemUnavail (1 << 24) +# define OSSL_CMP_CTX_FAILINFO_systemFailure (1 << 25) +# define OSSL_CMP_CTX_FAILINFO_duplicateCertReq (1 << 26) + +/*- + * PKIStatus ::= INTEGER { + * accepted (0), + * -- you got exactly what you asked for + * grantedWithMods (1), + * -- you got something like what you asked for; the + * -- requester is responsible for ascertaining the differences + * rejection (2), + * -- you don't get it, more information elsewhere in the message + * waiting (3), + * -- the request body part has not yet been processed; expect to + * -- hear more later (note: proper handling of this status + * -- response MAY use the polling req/rep PKIMessages specified + * -- in Section 5.3.22; alternatively, polling in the underlying + * -- transport layer MAY have some utility in this regard) + * revocationWarning (4), + * -- this message contains a warning that a revocation is + * -- imminent + * revocationNotification (5), + * -- notification that a revocation has occurred + * keyUpdateWarning (6) + * -- update already done for the oldCertId specified in + * -- CertReqMsg + * } + */ +# define OSSL_CMP_PKISTATUS_request -3 +# define OSSL_CMP_PKISTATUS_trans -2 +# define OSSL_CMP_PKISTATUS_unspecified -1 +# define OSSL_CMP_PKISTATUS_accepted 0 +# define OSSL_CMP_PKISTATUS_grantedWithMods 1 +# define OSSL_CMP_PKISTATUS_rejection 2 +# define OSSL_CMP_PKISTATUS_waiting 3 +# define OSSL_CMP_PKISTATUS_revocationWarning 4 +# define OSSL_CMP_PKISTATUS_revocationNotification 5 +# define OSSL_CMP_PKISTATUS_keyUpdateWarning 6 + +typedef ASN1_INTEGER OSSL_CMP_PKISTATUS; +DECLARE_ASN1_ITEM(OSSL_CMP_PKISTATUS) + +# define OSSL_CMP_CERTORENCCERT_CERTIFICATE 0 +# define OSSL_CMP_CERTORENCCERT_ENCRYPTEDCERT 1 + +/* data type declarations */ +typedef struct ossl_cmp_ctx_st OSSL_CMP_CTX; +typedef struct ossl_cmp_pkiheader_st OSSL_CMP_PKIHEADER; +DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PKIHEADER) +typedef struct ossl_cmp_msg_st OSSL_CMP_MSG; +DECLARE_ASN1_DUP_FUNCTION(OSSL_CMP_MSG) +DECLARE_ASN1_ENCODE_FUNCTIONS(OSSL_CMP_MSG, OSSL_CMP_MSG, OSSL_CMP_MSG) +typedef struct ossl_cmp_certstatus_st OSSL_CMP_CERTSTATUS; +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_CERTSTATUS, OSSL_CMP_CERTSTATUS, OSSL_CMP_CERTSTATUS) +#define sk_OSSL_CMP_CERTSTATUS_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CMP_CERTSTATUS_sk_type(sk)) +#define sk_OSSL_CMP_CERTSTATUS_value(sk, idx) ((OSSL_CMP_CERTSTATUS *)OPENSSL_sk_value(ossl_check_const_OSSL_CMP_CERTSTATUS_sk_type(sk), (idx))) +#define sk_OSSL_CMP_CERTSTATUS_new(cmp) ((STACK_OF(OSSL_CMP_CERTSTATUS) *)OPENSSL_sk_new(ossl_check_OSSL_CMP_CERTSTATUS_compfunc_type(cmp))) +#define sk_OSSL_CMP_CERTSTATUS_new_null() ((STACK_OF(OSSL_CMP_CERTSTATUS) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CMP_CERTSTATUS_new_reserve(cmp, n) ((STACK_OF(OSSL_CMP_CERTSTATUS) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CMP_CERTSTATUS_compfunc_type(cmp), (n))) +#define sk_OSSL_CMP_CERTSTATUS_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), (n)) +#define sk_OSSL_CMP_CERTSTATUS_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk)) +#define sk_OSSL_CMP_CERTSTATUS_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk)) +#define sk_OSSL_CMP_CERTSTATUS_delete(sk, i) ((OSSL_CMP_CERTSTATUS *)OPENSSL_sk_delete(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), (i))) +#define sk_OSSL_CMP_CERTSTATUS_delete_ptr(sk, ptr) ((OSSL_CMP_CERTSTATUS *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr))) +#define sk_OSSL_CMP_CERTSTATUS_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr)) +#define sk_OSSL_CMP_CERTSTATUS_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr)) +#define sk_OSSL_CMP_CERTSTATUS_pop(sk) ((OSSL_CMP_CERTSTATUS *)OPENSSL_sk_pop(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk))) +#define sk_OSSL_CMP_CERTSTATUS_shift(sk) ((OSSL_CMP_CERTSTATUS *)OPENSSL_sk_shift(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk))) +#define sk_OSSL_CMP_CERTSTATUS_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk),ossl_check_OSSL_CMP_CERTSTATUS_freefunc_type(freefunc)) +#define sk_OSSL_CMP_CERTSTATUS_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr), (idx)) +#define sk_OSSL_CMP_CERTSTATUS_set(sk, idx, ptr) ((OSSL_CMP_CERTSTATUS *)OPENSSL_sk_set(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), (idx), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr))) +#define sk_OSSL_CMP_CERTSTATUS_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr)) +#define sk_OSSL_CMP_CERTSTATUS_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr)) +#define sk_OSSL_CMP_CERTSTATUS_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_type(ptr), pnum) +#define sk_OSSL_CMP_CERTSTATUS_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk)) +#define sk_OSSL_CMP_CERTSTATUS_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CMP_CERTSTATUS_sk_type(sk)) +#define sk_OSSL_CMP_CERTSTATUS_dup(sk) ((STACK_OF(OSSL_CMP_CERTSTATUS) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CMP_CERTSTATUS_sk_type(sk))) +#define sk_OSSL_CMP_CERTSTATUS_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_CERTSTATUS) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_CERTSTATUS_freefunc_type(freefunc))) +#define sk_OSSL_CMP_CERTSTATUS_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_CERTSTATUS_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_CERTSTATUS_sk_type(sk), ossl_check_OSSL_CMP_CERTSTATUS_compfunc_type(cmp))) + +typedef struct ossl_cmp_itav_st OSSL_CMP_ITAV; +DECLARE_ASN1_DUP_FUNCTION(OSSL_CMP_ITAV) +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_ITAV, OSSL_CMP_ITAV, OSSL_CMP_ITAV) +#define sk_OSSL_CMP_ITAV_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CMP_ITAV_sk_type(sk)) +#define sk_OSSL_CMP_ITAV_value(sk, idx) ((OSSL_CMP_ITAV *)OPENSSL_sk_value(ossl_check_const_OSSL_CMP_ITAV_sk_type(sk), (idx))) +#define sk_OSSL_CMP_ITAV_new(cmp) ((STACK_OF(OSSL_CMP_ITAV) *)OPENSSL_sk_new(ossl_check_OSSL_CMP_ITAV_compfunc_type(cmp))) +#define sk_OSSL_CMP_ITAV_new_null() ((STACK_OF(OSSL_CMP_ITAV) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CMP_ITAV_new_reserve(cmp, n) ((STACK_OF(OSSL_CMP_ITAV) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CMP_ITAV_compfunc_type(cmp), (n))) +#define sk_OSSL_CMP_ITAV_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CMP_ITAV_sk_type(sk), (n)) +#define sk_OSSL_CMP_ITAV_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CMP_ITAV_sk_type(sk)) +#define sk_OSSL_CMP_ITAV_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CMP_ITAV_sk_type(sk)) +#define sk_OSSL_CMP_ITAV_delete(sk, i) ((OSSL_CMP_ITAV *)OPENSSL_sk_delete(ossl_check_OSSL_CMP_ITAV_sk_type(sk), (i))) +#define sk_OSSL_CMP_ITAV_delete_ptr(sk, ptr) ((OSSL_CMP_ITAV *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr))) +#define sk_OSSL_CMP_ITAV_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr)) +#define sk_OSSL_CMP_ITAV_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr)) +#define sk_OSSL_CMP_ITAV_pop(sk) ((OSSL_CMP_ITAV *)OPENSSL_sk_pop(ossl_check_OSSL_CMP_ITAV_sk_type(sk))) +#define sk_OSSL_CMP_ITAV_shift(sk) ((OSSL_CMP_ITAV *)OPENSSL_sk_shift(ossl_check_OSSL_CMP_ITAV_sk_type(sk))) +#define sk_OSSL_CMP_ITAV_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CMP_ITAV_sk_type(sk),ossl_check_OSSL_CMP_ITAV_freefunc_type(freefunc)) +#define sk_OSSL_CMP_ITAV_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr), (idx)) +#define sk_OSSL_CMP_ITAV_set(sk, idx, ptr) ((OSSL_CMP_ITAV *)OPENSSL_sk_set(ossl_check_OSSL_CMP_ITAV_sk_type(sk), (idx), ossl_check_OSSL_CMP_ITAV_type(ptr))) +#define sk_OSSL_CMP_ITAV_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr)) +#define sk_OSSL_CMP_ITAV_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr)) +#define sk_OSSL_CMP_ITAV_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_type(ptr), pnum) +#define sk_OSSL_CMP_ITAV_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CMP_ITAV_sk_type(sk)) +#define sk_OSSL_CMP_ITAV_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CMP_ITAV_sk_type(sk)) +#define sk_OSSL_CMP_ITAV_dup(sk) ((STACK_OF(OSSL_CMP_ITAV) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CMP_ITAV_sk_type(sk))) +#define sk_OSSL_CMP_ITAV_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_ITAV) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_ITAV_freefunc_type(freefunc))) +#define sk_OSSL_CMP_ITAV_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_ITAV_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_ITAV_sk_type(sk), ossl_check_OSSL_CMP_ITAV_compfunc_type(cmp))) + +typedef struct ossl_cmp_revrepcontent_st OSSL_CMP_REVREPCONTENT; +typedef struct ossl_cmp_pkisi_st OSSL_CMP_PKISI; +DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PKISI) +DECLARE_ASN1_DUP_FUNCTION(OSSL_CMP_PKISI) +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_PKISI, OSSL_CMP_PKISI, OSSL_CMP_PKISI) +#define sk_OSSL_CMP_PKISI_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CMP_PKISI_sk_type(sk)) +#define sk_OSSL_CMP_PKISI_value(sk, idx) ((OSSL_CMP_PKISI *)OPENSSL_sk_value(ossl_check_const_OSSL_CMP_PKISI_sk_type(sk), (idx))) +#define sk_OSSL_CMP_PKISI_new(cmp) ((STACK_OF(OSSL_CMP_PKISI) *)OPENSSL_sk_new(ossl_check_OSSL_CMP_PKISI_compfunc_type(cmp))) +#define sk_OSSL_CMP_PKISI_new_null() ((STACK_OF(OSSL_CMP_PKISI) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CMP_PKISI_new_reserve(cmp, n) ((STACK_OF(OSSL_CMP_PKISI) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CMP_PKISI_compfunc_type(cmp), (n))) +#define sk_OSSL_CMP_PKISI_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CMP_PKISI_sk_type(sk), (n)) +#define sk_OSSL_CMP_PKISI_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CMP_PKISI_sk_type(sk)) +#define sk_OSSL_CMP_PKISI_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CMP_PKISI_sk_type(sk)) +#define sk_OSSL_CMP_PKISI_delete(sk, i) ((OSSL_CMP_PKISI *)OPENSSL_sk_delete(ossl_check_OSSL_CMP_PKISI_sk_type(sk), (i))) +#define sk_OSSL_CMP_PKISI_delete_ptr(sk, ptr) ((OSSL_CMP_PKISI *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr))) +#define sk_OSSL_CMP_PKISI_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr)) +#define sk_OSSL_CMP_PKISI_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr)) +#define sk_OSSL_CMP_PKISI_pop(sk) ((OSSL_CMP_PKISI *)OPENSSL_sk_pop(ossl_check_OSSL_CMP_PKISI_sk_type(sk))) +#define sk_OSSL_CMP_PKISI_shift(sk) ((OSSL_CMP_PKISI *)OPENSSL_sk_shift(ossl_check_OSSL_CMP_PKISI_sk_type(sk))) +#define sk_OSSL_CMP_PKISI_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CMP_PKISI_sk_type(sk),ossl_check_OSSL_CMP_PKISI_freefunc_type(freefunc)) +#define sk_OSSL_CMP_PKISI_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr), (idx)) +#define sk_OSSL_CMP_PKISI_set(sk, idx, ptr) ((OSSL_CMP_PKISI *)OPENSSL_sk_set(ossl_check_OSSL_CMP_PKISI_sk_type(sk), (idx), ossl_check_OSSL_CMP_PKISI_type(ptr))) +#define sk_OSSL_CMP_PKISI_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr)) +#define sk_OSSL_CMP_PKISI_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr)) +#define sk_OSSL_CMP_PKISI_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_type(ptr), pnum) +#define sk_OSSL_CMP_PKISI_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CMP_PKISI_sk_type(sk)) +#define sk_OSSL_CMP_PKISI_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CMP_PKISI_sk_type(sk)) +#define sk_OSSL_CMP_PKISI_dup(sk) ((STACK_OF(OSSL_CMP_PKISI) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CMP_PKISI_sk_type(sk))) +#define sk_OSSL_CMP_PKISI_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_PKISI) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_PKISI_freefunc_type(freefunc))) +#define sk_OSSL_CMP_PKISI_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_PKISI_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_PKISI_sk_type(sk), ossl_check_OSSL_CMP_PKISI_compfunc_type(cmp))) + +typedef struct ossl_cmp_certrepmessage_st OSSL_CMP_CERTREPMESSAGE; +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_CERTREPMESSAGE, OSSL_CMP_CERTREPMESSAGE, OSSL_CMP_CERTREPMESSAGE) +#define sk_OSSL_CMP_CERTREPMESSAGE_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CMP_CERTREPMESSAGE_sk_type(sk)) +#define sk_OSSL_CMP_CERTREPMESSAGE_value(sk, idx) ((OSSL_CMP_CERTREPMESSAGE *)OPENSSL_sk_value(ossl_check_const_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), (idx))) +#define sk_OSSL_CMP_CERTREPMESSAGE_new(cmp) ((STACK_OF(OSSL_CMP_CERTREPMESSAGE) *)OPENSSL_sk_new(ossl_check_OSSL_CMP_CERTREPMESSAGE_compfunc_type(cmp))) +#define sk_OSSL_CMP_CERTREPMESSAGE_new_null() ((STACK_OF(OSSL_CMP_CERTREPMESSAGE) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CMP_CERTREPMESSAGE_new_reserve(cmp, n) ((STACK_OF(OSSL_CMP_CERTREPMESSAGE) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CMP_CERTREPMESSAGE_compfunc_type(cmp), (n))) +#define sk_OSSL_CMP_CERTREPMESSAGE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), (n)) +#define sk_OSSL_CMP_CERTREPMESSAGE_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk)) +#define sk_OSSL_CMP_CERTREPMESSAGE_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk)) +#define sk_OSSL_CMP_CERTREPMESSAGE_delete(sk, i) ((OSSL_CMP_CERTREPMESSAGE *)OPENSSL_sk_delete(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), (i))) +#define sk_OSSL_CMP_CERTREPMESSAGE_delete_ptr(sk, ptr) ((OSSL_CMP_CERTREPMESSAGE *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr))) +#define sk_OSSL_CMP_CERTREPMESSAGE_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr)) +#define sk_OSSL_CMP_CERTREPMESSAGE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr)) +#define sk_OSSL_CMP_CERTREPMESSAGE_pop(sk) ((OSSL_CMP_CERTREPMESSAGE *)OPENSSL_sk_pop(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk))) +#define sk_OSSL_CMP_CERTREPMESSAGE_shift(sk) ((OSSL_CMP_CERTREPMESSAGE *)OPENSSL_sk_shift(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk))) +#define sk_OSSL_CMP_CERTREPMESSAGE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk),ossl_check_OSSL_CMP_CERTREPMESSAGE_freefunc_type(freefunc)) +#define sk_OSSL_CMP_CERTREPMESSAGE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr), (idx)) +#define sk_OSSL_CMP_CERTREPMESSAGE_set(sk, idx, ptr) ((OSSL_CMP_CERTREPMESSAGE *)OPENSSL_sk_set(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), (idx), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr))) +#define sk_OSSL_CMP_CERTREPMESSAGE_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr)) +#define sk_OSSL_CMP_CERTREPMESSAGE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr)) +#define sk_OSSL_CMP_CERTREPMESSAGE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_type(ptr), pnum) +#define sk_OSSL_CMP_CERTREPMESSAGE_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk)) +#define sk_OSSL_CMP_CERTREPMESSAGE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CMP_CERTREPMESSAGE_sk_type(sk)) +#define sk_OSSL_CMP_CERTREPMESSAGE_dup(sk) ((STACK_OF(OSSL_CMP_CERTREPMESSAGE) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CMP_CERTREPMESSAGE_sk_type(sk))) +#define sk_OSSL_CMP_CERTREPMESSAGE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_CERTREPMESSAGE) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_CERTREPMESSAGE_freefunc_type(freefunc))) +#define sk_OSSL_CMP_CERTREPMESSAGE_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_CERTREPMESSAGE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_CERTREPMESSAGE_sk_type(sk), ossl_check_OSSL_CMP_CERTREPMESSAGE_compfunc_type(cmp))) + +typedef struct ossl_cmp_pollrep_st OSSL_CMP_POLLREP; +typedef STACK_OF(OSSL_CMP_POLLREP) OSSL_CMP_POLLREPCONTENT; +typedef struct ossl_cmp_certresponse_st OSSL_CMP_CERTRESPONSE; +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CMP_CERTRESPONSE, OSSL_CMP_CERTRESPONSE, OSSL_CMP_CERTRESPONSE) +#define sk_OSSL_CMP_CERTRESPONSE_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CMP_CERTRESPONSE_sk_type(sk)) +#define sk_OSSL_CMP_CERTRESPONSE_value(sk, idx) ((OSSL_CMP_CERTRESPONSE *)OPENSSL_sk_value(ossl_check_const_OSSL_CMP_CERTRESPONSE_sk_type(sk), (idx))) +#define sk_OSSL_CMP_CERTRESPONSE_new(cmp) ((STACK_OF(OSSL_CMP_CERTRESPONSE) *)OPENSSL_sk_new(ossl_check_OSSL_CMP_CERTRESPONSE_compfunc_type(cmp))) +#define sk_OSSL_CMP_CERTRESPONSE_new_null() ((STACK_OF(OSSL_CMP_CERTRESPONSE) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CMP_CERTRESPONSE_new_reserve(cmp, n) ((STACK_OF(OSSL_CMP_CERTRESPONSE) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CMP_CERTRESPONSE_compfunc_type(cmp), (n))) +#define sk_OSSL_CMP_CERTRESPONSE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), (n)) +#define sk_OSSL_CMP_CERTRESPONSE_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk)) +#define sk_OSSL_CMP_CERTRESPONSE_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk)) +#define sk_OSSL_CMP_CERTRESPONSE_delete(sk, i) ((OSSL_CMP_CERTRESPONSE *)OPENSSL_sk_delete(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), (i))) +#define sk_OSSL_CMP_CERTRESPONSE_delete_ptr(sk, ptr) ((OSSL_CMP_CERTRESPONSE *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr))) +#define sk_OSSL_CMP_CERTRESPONSE_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr)) +#define sk_OSSL_CMP_CERTRESPONSE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr)) +#define sk_OSSL_CMP_CERTRESPONSE_pop(sk) ((OSSL_CMP_CERTRESPONSE *)OPENSSL_sk_pop(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk))) +#define sk_OSSL_CMP_CERTRESPONSE_shift(sk) ((OSSL_CMP_CERTRESPONSE *)OPENSSL_sk_shift(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk))) +#define sk_OSSL_CMP_CERTRESPONSE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk),ossl_check_OSSL_CMP_CERTRESPONSE_freefunc_type(freefunc)) +#define sk_OSSL_CMP_CERTRESPONSE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr), (idx)) +#define sk_OSSL_CMP_CERTRESPONSE_set(sk, idx, ptr) ((OSSL_CMP_CERTRESPONSE *)OPENSSL_sk_set(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), (idx), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr))) +#define sk_OSSL_CMP_CERTRESPONSE_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr)) +#define sk_OSSL_CMP_CERTRESPONSE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr)) +#define sk_OSSL_CMP_CERTRESPONSE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_type(ptr), pnum) +#define sk_OSSL_CMP_CERTRESPONSE_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk)) +#define sk_OSSL_CMP_CERTRESPONSE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CMP_CERTRESPONSE_sk_type(sk)) +#define sk_OSSL_CMP_CERTRESPONSE_dup(sk) ((STACK_OF(OSSL_CMP_CERTRESPONSE) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CMP_CERTRESPONSE_sk_type(sk))) +#define sk_OSSL_CMP_CERTRESPONSE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CMP_CERTRESPONSE) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_copyfunc_type(copyfunc), ossl_check_OSSL_CMP_CERTRESPONSE_freefunc_type(freefunc))) +#define sk_OSSL_CMP_CERTRESPONSE_set_cmp_func(sk, cmp) ((sk_OSSL_CMP_CERTRESPONSE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CMP_CERTRESPONSE_sk_type(sk), ossl_check_OSSL_CMP_CERTRESPONSE_compfunc_type(cmp))) + +typedef STACK_OF(ASN1_UTF8STRING) OSSL_CMP_PKIFREETEXT; + +/* + * function DECLARATIONS + */ + +/* from cmp_asn.c */ +OSSL_CMP_ITAV *OSSL_CMP_ITAV_create(ASN1_OBJECT *type, ASN1_TYPE *value); +void OSSL_CMP_ITAV_set0(OSSL_CMP_ITAV *itav, ASN1_OBJECT *type, + ASN1_TYPE *value); +ASN1_OBJECT *OSSL_CMP_ITAV_get0_type(const OSSL_CMP_ITAV *itav); +ASN1_TYPE *OSSL_CMP_ITAV_get0_value(const OSSL_CMP_ITAV *itav); +int OSSL_CMP_ITAV_push0_stack_item(STACK_OF(OSSL_CMP_ITAV) **itav_sk_p, + OSSL_CMP_ITAV *itav); +void OSSL_CMP_ITAV_free(OSSL_CMP_ITAV *itav); +void OSSL_CMP_MSG_free(OSSL_CMP_MSG *msg); + +/* from cmp_ctx.c */ +OSSL_CMP_CTX *OSSL_CMP_CTX_new(OSSL_LIB_CTX *libctx, const char *propq); +void OSSL_CMP_CTX_free(OSSL_CMP_CTX *ctx); +int OSSL_CMP_CTX_reinit(OSSL_CMP_CTX *ctx); +/* CMP general options: */ +# define OSSL_CMP_OPT_LOG_VERBOSITY 0 +/* CMP transfer options: */ +# define OSSL_CMP_OPT_KEEP_ALIVE 10 +# define OSSL_CMP_OPT_MSG_TIMEOUT 11 +# define OSSL_CMP_OPT_TOTAL_TIMEOUT 12 +/* CMP request options: */ +# define OSSL_CMP_OPT_VALIDITY_DAYS 20 +# define OSSL_CMP_OPT_SUBJECTALTNAME_NODEFAULT 21 +# define OSSL_CMP_OPT_SUBJECTALTNAME_CRITICAL 22 +# define OSSL_CMP_OPT_POLICIES_CRITICAL 23 +# define OSSL_CMP_OPT_POPO_METHOD 24 +# define OSSL_CMP_OPT_IMPLICIT_CONFIRM 25 +# define OSSL_CMP_OPT_DISABLE_CONFIRM 26 +# define OSSL_CMP_OPT_REVOCATION_REASON 27 +/* CMP protection options: */ +# define OSSL_CMP_OPT_UNPROTECTED_SEND 30 +# define OSSL_CMP_OPT_UNPROTECTED_ERRORS 31 +# define OSSL_CMP_OPT_OWF_ALGNID 32 +# define OSSL_CMP_OPT_MAC_ALGNID 33 +# define OSSL_CMP_OPT_DIGEST_ALGNID 34 +# define OSSL_CMP_OPT_IGNORE_KEYUSAGE 35 +# define OSSL_CMP_OPT_PERMIT_TA_IN_EXTRACERTS_FOR_IR 36 +int OSSL_CMP_CTX_set_option(OSSL_CMP_CTX *ctx, int opt, int val); +int OSSL_CMP_CTX_get_option(const OSSL_CMP_CTX *ctx, int opt); +/* CMP-specific callback for logging and outputting the error queue: */ +int OSSL_CMP_CTX_set_log_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_log_cb_t cb); +# define OSSL_CMP_CTX_set_log_verbosity(ctx, level) \ + OSSL_CMP_CTX_set_option(ctx, OSSL_CMP_OPT_LOG_VERBOSITY, level) +void OSSL_CMP_CTX_print_errors(const OSSL_CMP_CTX *ctx); +/* message transfer: */ +int OSSL_CMP_CTX_set1_serverPath(OSSL_CMP_CTX *ctx, const char *path); +int OSSL_CMP_CTX_set1_server(OSSL_CMP_CTX *ctx, const char *address); +int OSSL_CMP_CTX_set_serverPort(OSSL_CMP_CTX *ctx, int port); +int OSSL_CMP_CTX_set1_proxy(OSSL_CMP_CTX *ctx, const char *name); +int OSSL_CMP_CTX_set1_no_proxy(OSSL_CMP_CTX *ctx, const char *names); +int OSSL_CMP_CTX_set_http_cb(OSSL_CMP_CTX *ctx, OSSL_HTTP_bio_cb_t cb); +int OSSL_CMP_CTX_set_http_cb_arg(OSSL_CMP_CTX *ctx, void *arg); +void *OSSL_CMP_CTX_get_http_cb_arg(const OSSL_CMP_CTX *ctx); +typedef OSSL_CMP_MSG *(*OSSL_CMP_transfer_cb_t) (OSSL_CMP_CTX *ctx, + const OSSL_CMP_MSG *req); +int OSSL_CMP_CTX_set_transfer_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_transfer_cb_t cb); +int OSSL_CMP_CTX_set_transfer_cb_arg(OSSL_CMP_CTX *ctx, void *arg); +void *OSSL_CMP_CTX_get_transfer_cb_arg(const OSSL_CMP_CTX *ctx); +/* server authentication: */ +int OSSL_CMP_CTX_set1_srvCert(OSSL_CMP_CTX *ctx, X509 *cert); +int OSSL_CMP_CTX_set1_expected_sender(OSSL_CMP_CTX *ctx, const X509_NAME *name); +int OSSL_CMP_CTX_set0_trustedStore(OSSL_CMP_CTX *ctx, X509_STORE *store); +X509_STORE *OSSL_CMP_CTX_get0_trustedStore(const OSSL_CMP_CTX *ctx); +int OSSL_CMP_CTX_set1_untrusted(OSSL_CMP_CTX *ctx, STACK_OF(X509) *certs); +STACK_OF(X509) *OSSL_CMP_CTX_get0_untrusted(const OSSL_CMP_CTX *ctx); +/* client authentication: */ +int OSSL_CMP_CTX_set1_cert(OSSL_CMP_CTX *ctx, X509 *cert); +int OSSL_CMP_CTX_build_cert_chain(OSSL_CMP_CTX *ctx, X509_STORE *own_trusted, + STACK_OF(X509) *candidates); +int OSSL_CMP_CTX_set1_pkey(OSSL_CMP_CTX *ctx, EVP_PKEY *pkey); +int OSSL_CMP_CTX_set1_referenceValue(OSSL_CMP_CTX *ctx, + const unsigned char *ref, int len); +int OSSL_CMP_CTX_set1_secretValue(OSSL_CMP_CTX *ctx, const unsigned char *sec, + const int len); +/* CMP message header and extra certificates: */ +int OSSL_CMP_CTX_set1_recipient(OSSL_CMP_CTX *ctx, const X509_NAME *name); +int OSSL_CMP_CTX_push0_geninfo_ITAV(OSSL_CMP_CTX *ctx, OSSL_CMP_ITAV *itav); +int OSSL_CMP_CTX_reset_geninfo_ITAVs(OSSL_CMP_CTX *ctx); +int OSSL_CMP_CTX_set1_extraCertsOut(OSSL_CMP_CTX *ctx, + STACK_OF(X509) *extraCertsOut); +/* certificate template: */ +int OSSL_CMP_CTX_set0_newPkey(OSSL_CMP_CTX *ctx, int priv, EVP_PKEY *pkey); +EVP_PKEY *OSSL_CMP_CTX_get0_newPkey(const OSSL_CMP_CTX *ctx, int priv); +int OSSL_CMP_CTX_set1_issuer(OSSL_CMP_CTX *ctx, const X509_NAME *name); +int OSSL_CMP_CTX_set1_subjectName(OSSL_CMP_CTX *ctx, const X509_NAME *name); +int OSSL_CMP_CTX_push1_subjectAltName(OSSL_CMP_CTX *ctx, + const GENERAL_NAME *name); +int OSSL_CMP_CTX_set0_reqExtensions(OSSL_CMP_CTX *ctx, X509_EXTENSIONS *exts); +int OSSL_CMP_CTX_reqExtensions_have_SAN(OSSL_CMP_CTX *ctx); +int OSSL_CMP_CTX_push0_policy(OSSL_CMP_CTX *ctx, POLICYINFO *pinfo); +int OSSL_CMP_CTX_set1_oldCert(OSSL_CMP_CTX *ctx, X509 *cert); +int OSSL_CMP_CTX_set1_p10CSR(OSSL_CMP_CTX *ctx, const X509_REQ *csr); +/* misc body contents: */ +int OSSL_CMP_CTX_push0_genm_ITAV(OSSL_CMP_CTX *ctx, OSSL_CMP_ITAV *itav); +/* certificate confirmation: */ +typedef int (*OSSL_CMP_certConf_cb_t) (OSSL_CMP_CTX *ctx, X509 *cert, + int fail_info, const char **txt); +int OSSL_CMP_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info, + const char **text); +int OSSL_CMP_CTX_set_certConf_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_certConf_cb_t cb); +int OSSL_CMP_CTX_set_certConf_cb_arg(OSSL_CMP_CTX *ctx, void *arg); +void *OSSL_CMP_CTX_get_certConf_cb_arg(const OSSL_CMP_CTX *ctx); +/* result fetching: */ +int OSSL_CMP_CTX_get_status(const OSSL_CMP_CTX *ctx); +OSSL_CMP_PKIFREETEXT *OSSL_CMP_CTX_get0_statusString(const OSSL_CMP_CTX *ctx); +int OSSL_CMP_CTX_get_failInfoCode(const OSSL_CMP_CTX *ctx); +# define OSSL_CMP_PKISI_BUFLEN 1024 +X509 *OSSL_CMP_CTX_get0_newCert(const OSSL_CMP_CTX *ctx); +STACK_OF(X509) *OSSL_CMP_CTX_get1_newChain(const OSSL_CMP_CTX *ctx); +STACK_OF(X509) *OSSL_CMP_CTX_get1_caPubs(const OSSL_CMP_CTX *ctx); +STACK_OF(X509) *OSSL_CMP_CTX_get1_extraCertsIn(const OSSL_CMP_CTX *ctx); +int OSSL_CMP_CTX_set1_transactionID(OSSL_CMP_CTX *ctx, + const ASN1_OCTET_STRING *id); +int OSSL_CMP_CTX_set1_senderNonce(OSSL_CMP_CTX *ctx, + const ASN1_OCTET_STRING *nonce); + +/* from cmp_status.c */ +char *OSSL_CMP_CTX_snprint_PKIStatus(const OSSL_CMP_CTX *ctx, char *buf, + size_t bufsize); +char *OSSL_CMP_snprint_PKIStatusInfo(const OSSL_CMP_PKISI *statusInfo, + char *buf, size_t bufsize); +OSSL_CMP_PKISI * +OSSL_CMP_STATUSINFO_new(int status, int fail_info, const char *text); + +/* from cmp_hdr.c */ +ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_transactionID(const + OSSL_CMP_PKIHEADER *hdr); +ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_recipNonce(const OSSL_CMP_PKIHEADER *hdr); + +/* from cmp_msg.c */ +OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg); +int OSSL_CMP_MSG_get_bodytype(const OSSL_CMP_MSG *msg); +int OSSL_CMP_MSG_update_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg); +OSSL_CRMF_MSG *OSSL_CMP_CTX_setup_CRM(OSSL_CMP_CTX *ctx, int for_KUR, int rid); +OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file, OSSL_LIB_CTX *libctx, + const char *propq); +int OSSL_CMP_MSG_write(const char *file, const OSSL_CMP_MSG *msg); +OSSL_CMP_MSG *d2i_OSSL_CMP_MSG_bio(BIO *bio, OSSL_CMP_MSG **msg); +int i2d_OSSL_CMP_MSG_bio(BIO *bio, const OSSL_CMP_MSG *msg); + +/* from cmp_vfy.c */ +int OSSL_CMP_validate_msg(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg); +int OSSL_CMP_validate_cert_path(const OSSL_CMP_CTX *ctx, + X509_STORE *trusted_store, X509 *cert); + +/* from cmp_http.c */ +OSSL_CMP_MSG *OSSL_CMP_MSG_http_perform(OSSL_CMP_CTX *ctx, + const OSSL_CMP_MSG *req); + +/* from cmp_server.c */ +typedef struct ossl_cmp_srv_ctx_st OSSL_CMP_SRV_CTX; +OSSL_CMP_MSG *OSSL_CMP_SRV_process_request(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *req); +OSSL_CMP_MSG * OSSL_CMP_CTX_server_perform(OSSL_CMP_CTX *client_ctx, + const OSSL_CMP_MSG *req); +OSSL_CMP_SRV_CTX *OSSL_CMP_SRV_CTX_new(OSSL_LIB_CTX *libctx, const char *propq); +void OSSL_CMP_SRV_CTX_free(OSSL_CMP_SRV_CTX *srv_ctx); +typedef OSSL_CMP_PKISI *(*OSSL_CMP_SRV_cert_request_cb_t) + (OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG *req, int certReqId, + const OSSL_CRMF_MSG *crm, const X509_REQ *p10cr, + X509 **certOut, STACK_OF(X509) **chainOut, STACK_OF(X509) **caPubs); +typedef OSSL_CMP_PKISI *(*OSSL_CMP_SRV_rr_cb_t)(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *req, + const X509_NAME *issuer, + const ASN1_INTEGER *serial); +typedef int (*OSSL_CMP_SRV_genm_cb_t)(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *req, + const STACK_OF(OSSL_CMP_ITAV) *in, + STACK_OF(OSSL_CMP_ITAV) **out); +typedef void (*OSSL_CMP_SRV_error_cb_t)(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *req, + const OSSL_CMP_PKISI *statusInfo, + const ASN1_INTEGER *errorCode, + const OSSL_CMP_PKIFREETEXT *errDetails); +typedef int (*OSSL_CMP_SRV_certConf_cb_t)(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *req, + int certReqId, + const ASN1_OCTET_STRING *certHash, + const OSSL_CMP_PKISI *si); +typedef int (*OSSL_CMP_SRV_pollReq_cb_t)(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *req, int certReqId, + OSSL_CMP_MSG **certReq, + int64_t *check_after); +int OSSL_CMP_SRV_CTX_init(OSSL_CMP_SRV_CTX *srv_ctx, void *custom_ctx, + OSSL_CMP_SRV_cert_request_cb_t process_cert_request, + OSSL_CMP_SRV_rr_cb_t process_rr, + OSSL_CMP_SRV_genm_cb_t process_genm, + OSSL_CMP_SRV_error_cb_t process_error, + OSSL_CMP_SRV_certConf_cb_t process_certConf, + OSSL_CMP_SRV_pollReq_cb_t process_pollReq); +OSSL_CMP_CTX *OSSL_CMP_SRV_CTX_get0_cmp_ctx(const OSSL_CMP_SRV_CTX *srv_ctx); +void *OSSL_CMP_SRV_CTX_get0_custom_ctx(const OSSL_CMP_SRV_CTX *srv_ctx); +int OSSL_CMP_SRV_CTX_set_send_unprotected_errors(OSSL_CMP_SRV_CTX *srv_ctx, + int val); +int OSSL_CMP_SRV_CTX_set_accept_unprotected(OSSL_CMP_SRV_CTX *srv_ctx, int val); +int OSSL_CMP_SRV_CTX_set_accept_raverified(OSSL_CMP_SRV_CTX *srv_ctx, int val); +int OSSL_CMP_SRV_CTX_set_grant_implicit_confirm(OSSL_CMP_SRV_CTX *srv_ctx, + int val); + +/* from cmp_client.c */ +X509 *OSSL_CMP_exec_certreq(OSSL_CMP_CTX *ctx, int req_type, + const OSSL_CRMF_MSG *crm); +# define OSSL_CMP_IR 0 +# define OSSL_CMP_CR 2 +# define OSSL_CMP_P10CR 4 +# define OSSL_CMP_KUR 7 +# define OSSL_CMP_exec_IR_ses(ctx) \ + OSSL_CMP_exec_certreq(ctx, OSSL_CMP_IR, NULL) +# define OSSL_CMP_exec_CR_ses(ctx) \ + OSSL_CMP_exec_certreq(ctx, OSSL_CMP_CR, NULL) +# define OSSL_CMP_exec_P10CR_ses(ctx) \ + OSSL_CMP_exec_certreq(ctx, OSSL_CMP_P10CR, NULL) +# define OSSL_CMP_exec_KUR_ses(ctx) \ + OSSL_CMP_exec_certreq(ctx, OSSL_CMP_KUR, NULL) +int OSSL_CMP_try_certreq(OSSL_CMP_CTX *ctx, int req_type, + const OSSL_CRMF_MSG *crm, int *checkAfter); +int OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx); +STACK_OF(OSSL_CMP_ITAV) *OSSL_CMP_exec_GENM_ses(OSSL_CMP_CTX *ctx); + +# ifdef __cplusplus +} +# endif +# endif /* !defined(OPENSSL_NO_CMP) */ +#endif /* !defined(OPENSSL_CMP_H) */ diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cms.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cms.h new file mode 100644 index 00000000000000..3b453e6a2187a2 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cms.h @@ -0,0 +1,493 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/cms.h.in + * + * Copyright 2008-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_CMS_H +# define OPENSSL_CMS_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_CMS_H +# endif + +# include + +# ifndef OPENSSL_NO_CMS +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + +typedef struct CMS_ContentInfo_st CMS_ContentInfo; +typedef struct CMS_SignerInfo_st CMS_SignerInfo; +typedef struct CMS_CertificateChoices CMS_CertificateChoices; +typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; +typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; +typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; +typedef struct CMS_Receipt_st CMS_Receipt; +typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; +typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; + +SKM_DEFINE_STACK_OF_INTERNAL(CMS_SignerInfo, CMS_SignerInfo, CMS_SignerInfo) +#define sk_CMS_SignerInfo_num(sk) OPENSSL_sk_num(ossl_check_const_CMS_SignerInfo_sk_type(sk)) +#define sk_CMS_SignerInfo_value(sk, idx) ((CMS_SignerInfo *)OPENSSL_sk_value(ossl_check_const_CMS_SignerInfo_sk_type(sk), (idx))) +#define sk_CMS_SignerInfo_new(cmp) ((STACK_OF(CMS_SignerInfo) *)OPENSSL_sk_new(ossl_check_CMS_SignerInfo_compfunc_type(cmp))) +#define sk_CMS_SignerInfo_new_null() ((STACK_OF(CMS_SignerInfo) *)OPENSSL_sk_new_null()) +#define sk_CMS_SignerInfo_new_reserve(cmp, n) ((STACK_OF(CMS_SignerInfo) *)OPENSSL_sk_new_reserve(ossl_check_CMS_SignerInfo_compfunc_type(cmp), (n))) +#define sk_CMS_SignerInfo_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CMS_SignerInfo_sk_type(sk), (n)) +#define sk_CMS_SignerInfo_free(sk) OPENSSL_sk_free(ossl_check_CMS_SignerInfo_sk_type(sk)) +#define sk_CMS_SignerInfo_zero(sk) OPENSSL_sk_zero(ossl_check_CMS_SignerInfo_sk_type(sk)) +#define sk_CMS_SignerInfo_delete(sk, i) ((CMS_SignerInfo *)OPENSSL_sk_delete(ossl_check_CMS_SignerInfo_sk_type(sk), (i))) +#define sk_CMS_SignerInfo_delete_ptr(sk, ptr) ((CMS_SignerInfo *)OPENSSL_sk_delete_ptr(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr))) +#define sk_CMS_SignerInfo_push(sk, ptr) OPENSSL_sk_push(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr)) +#define sk_CMS_SignerInfo_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr)) +#define sk_CMS_SignerInfo_pop(sk) ((CMS_SignerInfo *)OPENSSL_sk_pop(ossl_check_CMS_SignerInfo_sk_type(sk))) +#define sk_CMS_SignerInfo_shift(sk) ((CMS_SignerInfo *)OPENSSL_sk_shift(ossl_check_CMS_SignerInfo_sk_type(sk))) +#define sk_CMS_SignerInfo_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CMS_SignerInfo_sk_type(sk),ossl_check_CMS_SignerInfo_freefunc_type(freefunc)) +#define sk_CMS_SignerInfo_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr), (idx)) +#define sk_CMS_SignerInfo_set(sk, idx, ptr) ((CMS_SignerInfo *)OPENSSL_sk_set(ossl_check_CMS_SignerInfo_sk_type(sk), (idx), ossl_check_CMS_SignerInfo_type(ptr))) +#define sk_CMS_SignerInfo_find(sk, ptr) OPENSSL_sk_find(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr)) +#define sk_CMS_SignerInfo_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr)) +#define sk_CMS_SignerInfo_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_type(ptr), pnum) +#define sk_CMS_SignerInfo_sort(sk) OPENSSL_sk_sort(ossl_check_CMS_SignerInfo_sk_type(sk)) +#define sk_CMS_SignerInfo_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CMS_SignerInfo_sk_type(sk)) +#define sk_CMS_SignerInfo_dup(sk) ((STACK_OF(CMS_SignerInfo) *)OPENSSL_sk_dup(ossl_check_const_CMS_SignerInfo_sk_type(sk))) +#define sk_CMS_SignerInfo_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CMS_SignerInfo) *)OPENSSL_sk_deep_copy(ossl_check_const_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_copyfunc_type(copyfunc), ossl_check_CMS_SignerInfo_freefunc_type(freefunc))) +#define sk_CMS_SignerInfo_set_cmp_func(sk, cmp) ((sk_CMS_SignerInfo_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CMS_SignerInfo_sk_type(sk), ossl_check_CMS_SignerInfo_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(CMS_RecipientEncryptedKey, CMS_RecipientEncryptedKey, CMS_RecipientEncryptedKey) +#define sk_CMS_RecipientEncryptedKey_num(sk) OPENSSL_sk_num(ossl_check_const_CMS_RecipientEncryptedKey_sk_type(sk)) +#define sk_CMS_RecipientEncryptedKey_value(sk, idx) ((CMS_RecipientEncryptedKey *)OPENSSL_sk_value(ossl_check_const_CMS_RecipientEncryptedKey_sk_type(sk), (idx))) +#define sk_CMS_RecipientEncryptedKey_new(cmp) ((STACK_OF(CMS_RecipientEncryptedKey) *)OPENSSL_sk_new(ossl_check_CMS_RecipientEncryptedKey_compfunc_type(cmp))) +#define sk_CMS_RecipientEncryptedKey_new_null() ((STACK_OF(CMS_RecipientEncryptedKey) *)OPENSSL_sk_new_null()) +#define sk_CMS_RecipientEncryptedKey_new_reserve(cmp, n) ((STACK_OF(CMS_RecipientEncryptedKey) *)OPENSSL_sk_new_reserve(ossl_check_CMS_RecipientEncryptedKey_compfunc_type(cmp), (n))) +#define sk_CMS_RecipientEncryptedKey_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), (n)) +#define sk_CMS_RecipientEncryptedKey_free(sk) OPENSSL_sk_free(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk)) +#define sk_CMS_RecipientEncryptedKey_zero(sk) OPENSSL_sk_zero(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk)) +#define sk_CMS_RecipientEncryptedKey_delete(sk, i) ((CMS_RecipientEncryptedKey *)OPENSSL_sk_delete(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), (i))) +#define sk_CMS_RecipientEncryptedKey_delete_ptr(sk, ptr) ((CMS_RecipientEncryptedKey *)OPENSSL_sk_delete_ptr(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr))) +#define sk_CMS_RecipientEncryptedKey_push(sk, ptr) OPENSSL_sk_push(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr)) +#define sk_CMS_RecipientEncryptedKey_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr)) +#define sk_CMS_RecipientEncryptedKey_pop(sk) ((CMS_RecipientEncryptedKey *)OPENSSL_sk_pop(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk))) +#define sk_CMS_RecipientEncryptedKey_shift(sk) ((CMS_RecipientEncryptedKey *)OPENSSL_sk_shift(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk))) +#define sk_CMS_RecipientEncryptedKey_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk),ossl_check_CMS_RecipientEncryptedKey_freefunc_type(freefunc)) +#define sk_CMS_RecipientEncryptedKey_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr), (idx)) +#define sk_CMS_RecipientEncryptedKey_set(sk, idx, ptr) ((CMS_RecipientEncryptedKey *)OPENSSL_sk_set(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), (idx), ossl_check_CMS_RecipientEncryptedKey_type(ptr))) +#define sk_CMS_RecipientEncryptedKey_find(sk, ptr) OPENSSL_sk_find(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr)) +#define sk_CMS_RecipientEncryptedKey_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr)) +#define sk_CMS_RecipientEncryptedKey_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_type(ptr), pnum) +#define sk_CMS_RecipientEncryptedKey_sort(sk) OPENSSL_sk_sort(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk)) +#define sk_CMS_RecipientEncryptedKey_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CMS_RecipientEncryptedKey_sk_type(sk)) +#define sk_CMS_RecipientEncryptedKey_dup(sk) ((STACK_OF(CMS_RecipientEncryptedKey) *)OPENSSL_sk_dup(ossl_check_const_CMS_RecipientEncryptedKey_sk_type(sk))) +#define sk_CMS_RecipientEncryptedKey_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CMS_RecipientEncryptedKey) *)OPENSSL_sk_deep_copy(ossl_check_const_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_copyfunc_type(copyfunc), ossl_check_CMS_RecipientEncryptedKey_freefunc_type(freefunc))) +#define sk_CMS_RecipientEncryptedKey_set_cmp_func(sk, cmp) ((sk_CMS_RecipientEncryptedKey_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CMS_RecipientEncryptedKey_sk_type(sk), ossl_check_CMS_RecipientEncryptedKey_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(CMS_RecipientInfo, CMS_RecipientInfo, CMS_RecipientInfo) +#define sk_CMS_RecipientInfo_num(sk) OPENSSL_sk_num(ossl_check_const_CMS_RecipientInfo_sk_type(sk)) +#define sk_CMS_RecipientInfo_value(sk, idx) ((CMS_RecipientInfo *)OPENSSL_sk_value(ossl_check_const_CMS_RecipientInfo_sk_type(sk), (idx))) +#define sk_CMS_RecipientInfo_new(cmp) ((STACK_OF(CMS_RecipientInfo) *)OPENSSL_sk_new(ossl_check_CMS_RecipientInfo_compfunc_type(cmp))) +#define sk_CMS_RecipientInfo_new_null() ((STACK_OF(CMS_RecipientInfo) *)OPENSSL_sk_new_null()) +#define sk_CMS_RecipientInfo_new_reserve(cmp, n) ((STACK_OF(CMS_RecipientInfo) *)OPENSSL_sk_new_reserve(ossl_check_CMS_RecipientInfo_compfunc_type(cmp), (n))) +#define sk_CMS_RecipientInfo_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CMS_RecipientInfo_sk_type(sk), (n)) +#define sk_CMS_RecipientInfo_free(sk) OPENSSL_sk_free(ossl_check_CMS_RecipientInfo_sk_type(sk)) +#define sk_CMS_RecipientInfo_zero(sk) OPENSSL_sk_zero(ossl_check_CMS_RecipientInfo_sk_type(sk)) +#define sk_CMS_RecipientInfo_delete(sk, i) ((CMS_RecipientInfo *)OPENSSL_sk_delete(ossl_check_CMS_RecipientInfo_sk_type(sk), (i))) +#define sk_CMS_RecipientInfo_delete_ptr(sk, ptr) ((CMS_RecipientInfo *)OPENSSL_sk_delete_ptr(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr))) +#define sk_CMS_RecipientInfo_push(sk, ptr) OPENSSL_sk_push(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr)) +#define sk_CMS_RecipientInfo_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr)) +#define sk_CMS_RecipientInfo_pop(sk) ((CMS_RecipientInfo *)OPENSSL_sk_pop(ossl_check_CMS_RecipientInfo_sk_type(sk))) +#define sk_CMS_RecipientInfo_shift(sk) ((CMS_RecipientInfo *)OPENSSL_sk_shift(ossl_check_CMS_RecipientInfo_sk_type(sk))) +#define sk_CMS_RecipientInfo_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CMS_RecipientInfo_sk_type(sk),ossl_check_CMS_RecipientInfo_freefunc_type(freefunc)) +#define sk_CMS_RecipientInfo_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr), (idx)) +#define sk_CMS_RecipientInfo_set(sk, idx, ptr) ((CMS_RecipientInfo *)OPENSSL_sk_set(ossl_check_CMS_RecipientInfo_sk_type(sk), (idx), ossl_check_CMS_RecipientInfo_type(ptr))) +#define sk_CMS_RecipientInfo_find(sk, ptr) OPENSSL_sk_find(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr)) +#define sk_CMS_RecipientInfo_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr)) +#define sk_CMS_RecipientInfo_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_type(ptr), pnum) +#define sk_CMS_RecipientInfo_sort(sk) OPENSSL_sk_sort(ossl_check_CMS_RecipientInfo_sk_type(sk)) +#define sk_CMS_RecipientInfo_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CMS_RecipientInfo_sk_type(sk)) +#define sk_CMS_RecipientInfo_dup(sk) ((STACK_OF(CMS_RecipientInfo) *)OPENSSL_sk_dup(ossl_check_const_CMS_RecipientInfo_sk_type(sk))) +#define sk_CMS_RecipientInfo_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CMS_RecipientInfo) *)OPENSSL_sk_deep_copy(ossl_check_const_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_copyfunc_type(copyfunc), ossl_check_CMS_RecipientInfo_freefunc_type(freefunc))) +#define sk_CMS_RecipientInfo_set_cmp_func(sk, cmp) ((sk_CMS_RecipientInfo_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CMS_RecipientInfo_sk_type(sk), ossl_check_CMS_RecipientInfo_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(CMS_RevocationInfoChoice, CMS_RevocationInfoChoice, CMS_RevocationInfoChoice) +#define sk_CMS_RevocationInfoChoice_num(sk) OPENSSL_sk_num(ossl_check_const_CMS_RevocationInfoChoice_sk_type(sk)) +#define sk_CMS_RevocationInfoChoice_value(sk, idx) ((CMS_RevocationInfoChoice *)OPENSSL_sk_value(ossl_check_const_CMS_RevocationInfoChoice_sk_type(sk), (idx))) +#define sk_CMS_RevocationInfoChoice_new(cmp) ((STACK_OF(CMS_RevocationInfoChoice) *)OPENSSL_sk_new(ossl_check_CMS_RevocationInfoChoice_compfunc_type(cmp))) +#define sk_CMS_RevocationInfoChoice_new_null() ((STACK_OF(CMS_RevocationInfoChoice) *)OPENSSL_sk_new_null()) +#define sk_CMS_RevocationInfoChoice_new_reserve(cmp, n) ((STACK_OF(CMS_RevocationInfoChoice) *)OPENSSL_sk_new_reserve(ossl_check_CMS_RevocationInfoChoice_compfunc_type(cmp), (n))) +#define sk_CMS_RevocationInfoChoice_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), (n)) +#define sk_CMS_RevocationInfoChoice_free(sk) OPENSSL_sk_free(ossl_check_CMS_RevocationInfoChoice_sk_type(sk)) +#define sk_CMS_RevocationInfoChoice_zero(sk) OPENSSL_sk_zero(ossl_check_CMS_RevocationInfoChoice_sk_type(sk)) +#define sk_CMS_RevocationInfoChoice_delete(sk, i) ((CMS_RevocationInfoChoice *)OPENSSL_sk_delete(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), (i))) +#define sk_CMS_RevocationInfoChoice_delete_ptr(sk, ptr) ((CMS_RevocationInfoChoice *)OPENSSL_sk_delete_ptr(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr))) +#define sk_CMS_RevocationInfoChoice_push(sk, ptr) OPENSSL_sk_push(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr)) +#define sk_CMS_RevocationInfoChoice_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr)) +#define sk_CMS_RevocationInfoChoice_pop(sk) ((CMS_RevocationInfoChoice *)OPENSSL_sk_pop(ossl_check_CMS_RevocationInfoChoice_sk_type(sk))) +#define sk_CMS_RevocationInfoChoice_shift(sk) ((CMS_RevocationInfoChoice *)OPENSSL_sk_shift(ossl_check_CMS_RevocationInfoChoice_sk_type(sk))) +#define sk_CMS_RevocationInfoChoice_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CMS_RevocationInfoChoice_sk_type(sk),ossl_check_CMS_RevocationInfoChoice_freefunc_type(freefunc)) +#define sk_CMS_RevocationInfoChoice_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr), (idx)) +#define sk_CMS_RevocationInfoChoice_set(sk, idx, ptr) ((CMS_RevocationInfoChoice *)OPENSSL_sk_set(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), (idx), ossl_check_CMS_RevocationInfoChoice_type(ptr))) +#define sk_CMS_RevocationInfoChoice_find(sk, ptr) OPENSSL_sk_find(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr)) +#define sk_CMS_RevocationInfoChoice_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr)) +#define sk_CMS_RevocationInfoChoice_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_type(ptr), pnum) +#define sk_CMS_RevocationInfoChoice_sort(sk) OPENSSL_sk_sort(ossl_check_CMS_RevocationInfoChoice_sk_type(sk)) +#define sk_CMS_RevocationInfoChoice_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CMS_RevocationInfoChoice_sk_type(sk)) +#define sk_CMS_RevocationInfoChoice_dup(sk) ((STACK_OF(CMS_RevocationInfoChoice) *)OPENSSL_sk_dup(ossl_check_const_CMS_RevocationInfoChoice_sk_type(sk))) +#define sk_CMS_RevocationInfoChoice_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CMS_RevocationInfoChoice) *)OPENSSL_sk_deep_copy(ossl_check_const_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_copyfunc_type(copyfunc), ossl_check_CMS_RevocationInfoChoice_freefunc_type(freefunc))) +#define sk_CMS_RevocationInfoChoice_set_cmp_func(sk, cmp) ((sk_CMS_RevocationInfoChoice_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CMS_RevocationInfoChoice_sk_type(sk), ossl_check_CMS_RevocationInfoChoice_compfunc_type(cmp))) + + +DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) +DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) +DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) + +CMS_ContentInfo *CMS_ContentInfo_new_ex(OSSL_LIB_CTX *libctx, const char *propq); + +# define CMS_SIGNERINFO_ISSUER_SERIAL 0 +# define CMS_SIGNERINFO_KEYIDENTIFIER 1 + +# define CMS_RECIPINFO_NONE -1 +# define CMS_RECIPINFO_TRANS 0 +# define CMS_RECIPINFO_AGREE 1 +# define CMS_RECIPINFO_KEK 2 +# define CMS_RECIPINFO_PASS 3 +# define CMS_RECIPINFO_OTHER 4 + +/* S/MIME related flags */ + +# define CMS_TEXT 0x1 +# define CMS_NOCERTS 0x2 +# define CMS_NO_CONTENT_VERIFY 0x4 +# define CMS_NO_ATTR_VERIFY 0x8 +# define CMS_NOSIGS \ + (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) +# define CMS_NOINTERN 0x10 +# define CMS_NO_SIGNER_CERT_VERIFY 0x20 +# define CMS_NOVERIFY 0x20 +# define CMS_DETACHED 0x40 +# define CMS_BINARY 0x80 +# define CMS_NOATTR 0x100 +# define CMS_NOSMIMECAP 0x200 +# define CMS_NOOLDMIMETYPE 0x400 +# define CMS_CRLFEOL 0x800 +# define CMS_STREAM 0x1000 +# define CMS_NOCRL 0x2000 +# define CMS_PARTIAL 0x4000 +# define CMS_REUSE_DIGEST 0x8000 +# define CMS_USE_KEYID 0x10000 +# define CMS_DEBUG_DECRYPT 0x20000 +# define CMS_KEY_PARAM 0x40000 +# define CMS_ASCIICRLF 0x80000 +# define CMS_CADES 0x100000 +# define CMS_USE_ORIGINATOR_KEYID 0x200000 + +const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms); + +BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); +int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); + +ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); +int CMS_is_detached(CMS_ContentInfo *cms); +int CMS_set_detached(CMS_ContentInfo *cms, int detached); + +# ifdef OPENSSL_PEM_H +DECLARE_PEM_rw(CMS, CMS_ContentInfo) +# endif +int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); +CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); +int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); + +BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); +int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); +int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, + int flags); +CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); +CMS_ContentInfo *SMIME_read_CMS_ex(BIO *bio, int flags, BIO **bcont, CMS_ContentInfo **ci); +int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); + +int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, + unsigned int flags); + +CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, BIO *data, + unsigned int flags); +CMS_ContentInfo *CMS_sign_ex(X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, BIO *data, + unsigned int flags, OSSL_LIB_CTX *ctx, + const char *propq); + +CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, + X509 *signcert, EVP_PKEY *pkey, + STACK_OF(X509) *certs, unsigned int flags); + +int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); +CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); +CMS_ContentInfo *CMS_data_create_ex(BIO *in, unsigned int flags, + OSSL_LIB_CTX *ctx, const char *propq); + +int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, + unsigned int flags); +CMS_ContentInfo *CMS_digest_create_ex(BIO *in, const EVP_MD *md, + unsigned int flags, OSSL_LIB_CTX *ctx, + const char *propq); + +int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, + const unsigned char *key, size_t keylen, + BIO *dcont, BIO *out, unsigned int flags); + +CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, + size_t keylen, unsigned int flags); +CMS_ContentInfo *CMS_EncryptedData_encrypt_ex(BIO *in, const EVP_CIPHER *cipher, + const unsigned char *key, + size_t keylen, unsigned int flags, + OSSL_LIB_CTX *ctx, + const char *propq); + +int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, + const unsigned char *key, size_t keylen); + +int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); + +int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, + STACK_OF(X509) *certs, + X509_STORE *store, unsigned int flags); + +STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); + +CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags); +CMS_ContentInfo *CMS_encrypt_ex(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, unsigned int flags, + OSSL_LIB_CTX *ctx, const char *propq); + +int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, + BIO *dcont, BIO *out, unsigned int flags); + +int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); +int CMS_decrypt_set1_pkey_and_peer(CMS_ContentInfo *cms, EVP_PKEY *pk, + X509 *cert, X509 *peer); +int CMS_decrypt_set1_key(CMS_ContentInfo *cms, + unsigned char *key, size_t keylen, + const unsigned char *id, size_t idlen); +int CMS_decrypt_set1_password(CMS_ContentInfo *cms, + unsigned char *pass, ossl_ssize_t passlen); + +STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); +int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); +EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri); +CMS_ContentInfo *CMS_AuthEnvelopedData_create(const EVP_CIPHER *cipher); +CMS_ContentInfo * +CMS_AuthEnvelopedData_create_ex(const EVP_CIPHER *cipher, OSSL_LIB_CTX *ctx, + const char *propq); +CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); +CMS_ContentInfo *CMS_EnvelopedData_create_ex(const EVP_CIPHER *cipher, + OSSL_LIB_CTX *ctx, + const char *propq); + +CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, + X509 *recip, unsigned int flags); +CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip, + EVP_PKEY *originatorPrivKey, X509 * originator, unsigned int flags); +int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); +int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); +int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, + EVP_PKEY **pk, X509 **recip, + X509_ALGOR **palg); +int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, + unsigned char *key, size_t keylen, + unsigned char *id, size_t idlen, + ASN1_GENERALIZEDTIME *date, + ASN1_OBJECT *otherTypeId, + ASN1_TYPE *otherType); + +int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pid, + ASN1_GENERALIZEDTIME **pdate, + ASN1_OBJECT **potherid, + ASN1_TYPE **pothertype); + +int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, + unsigned char *key, size_t keylen); + +int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, + const unsigned char *id, size_t idlen); + +int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, + unsigned char *pass, + ossl_ssize_t passlen); + +CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, + int iter, int wrap_nid, + int pbe_nid, + unsigned char *pass, + ossl_ssize_t passlen, + const EVP_CIPHER *kekciph); + +int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri); + +int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, + unsigned int flags); +CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); + +int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); +const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); + +CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); +int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); +int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); +STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); + +CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); +int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); +int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); +STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); + +int CMS_SignedData_init(CMS_ContentInfo *cms); +CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, + X509 *signer, EVP_PKEY *pk, const EVP_MD *md, + unsigned int flags); +EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si); +EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si); +STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); + +void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); +int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); +int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, + unsigned int flags); +void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, + X509 **signer, X509_ALGOR **pdig, + X509_ALGOR **psig); +ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si); +int CMS_SignerInfo_sign(CMS_SignerInfo *si); +int CMS_SignerInfo_verify(CMS_SignerInfo *si); +int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); + +int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); +int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, + int algnid, int keysize); +int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); + +int CMS_signed_get_attr_count(const CMS_SignerInfo *si); +int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_signed_get0_data_by_OBJ(const CMS_SignerInfo *si, + const ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); +int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, + int lastpos); +int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); +X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); +int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); +int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, + const ASN1_OBJECT *obj, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, + int nid, int type, + const void *bytes, int len); +int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, + const char *attrname, int type, + const void *bytes, int len); +void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, + int lastpos, int type); + +int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0( + unsigned char *id, int idlen, int allorfirst, + STACK_OF(GENERAL_NAMES) *receiptList, + STACK_OF(GENERAL_NAMES) *receiptsTo); +CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex( + unsigned char *id, int idlen, int allorfirst, + STACK_OF(GENERAL_NAMES) *receiptList, + STACK_OF(GENERAL_NAMES) *receiptsTo, + OSSL_LIB_CTX *ctx); + +int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); +void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, + ASN1_STRING **pcid, + int *pallorfirst, + STACK_OF(GENERAL_NAMES) **plist, + STACK_OF(GENERAL_NAMES) **prto); +int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, + X509_ALGOR **palg, + ASN1_OCTET_STRING **pukm); +STACK_OF(CMS_RecipientEncryptedKey) +*CMS_RecipientInfo_kari_get0_reks(CMS_RecipientInfo *ri); + +int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri, + X509_ALGOR **pubalg, + ASN1_BIT_STRING **pubkey, + ASN1_OCTET_STRING **keyid, + X509_NAME **issuer, + ASN1_INTEGER **sno); + +int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509 *cert); + +int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek, + ASN1_OCTET_STRING **keyid, + ASN1_GENERALIZEDTIME **tm, + CMS_OtherKeyAttribute **other, + X509_NAME **issuer, ASN1_INTEGER **sno); +int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek, + X509 *cert); +int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk); +int CMS_RecipientInfo_kari_set0_pkey_and_peer(CMS_RecipientInfo *ri, EVP_PKEY *pk, X509 *peer); +EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri); +int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms, + CMS_RecipientInfo *ri, + CMS_RecipientEncryptedKey *rek); + +int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg, + ASN1_OCTET_STRING *ukm, int keylen); + +/* Backward compatibility for spelling errors. */ +# define CMS_R_UNKNOWN_DIGEST_ALGORITM CMS_R_UNKNOWN_DIGEST_ALGORITHM +# define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE \ + CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/conf.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/conf.h new file mode 100644 index 00000000000000..44989929f6c84a --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/conf.h @@ -0,0 +1,211 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/conf.h.in + * + * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_CONF_H +# define OPENSSL_CONF_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_CONF_H +# endif + +# include +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + char *section; + char *name; + char *value; +} CONF_VALUE; + +SKM_DEFINE_STACK_OF_INTERNAL(CONF_VALUE, CONF_VALUE, CONF_VALUE) +#define sk_CONF_VALUE_num(sk) OPENSSL_sk_num(ossl_check_const_CONF_VALUE_sk_type(sk)) +#define sk_CONF_VALUE_value(sk, idx) ((CONF_VALUE *)OPENSSL_sk_value(ossl_check_const_CONF_VALUE_sk_type(sk), (idx))) +#define sk_CONF_VALUE_new(cmp) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_new(ossl_check_CONF_VALUE_compfunc_type(cmp))) +#define sk_CONF_VALUE_new_null() ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_new_null()) +#define sk_CONF_VALUE_new_reserve(cmp, n) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_new_reserve(ossl_check_CONF_VALUE_compfunc_type(cmp), (n))) +#define sk_CONF_VALUE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CONF_VALUE_sk_type(sk), (n)) +#define sk_CONF_VALUE_free(sk) OPENSSL_sk_free(ossl_check_CONF_VALUE_sk_type(sk)) +#define sk_CONF_VALUE_zero(sk) OPENSSL_sk_zero(ossl_check_CONF_VALUE_sk_type(sk)) +#define sk_CONF_VALUE_delete(sk, i) ((CONF_VALUE *)OPENSSL_sk_delete(ossl_check_CONF_VALUE_sk_type(sk), (i))) +#define sk_CONF_VALUE_delete_ptr(sk, ptr) ((CONF_VALUE *)OPENSSL_sk_delete_ptr(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr))) +#define sk_CONF_VALUE_push(sk, ptr) OPENSSL_sk_push(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr)) +#define sk_CONF_VALUE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr)) +#define sk_CONF_VALUE_pop(sk) ((CONF_VALUE *)OPENSSL_sk_pop(ossl_check_CONF_VALUE_sk_type(sk))) +#define sk_CONF_VALUE_shift(sk) ((CONF_VALUE *)OPENSSL_sk_shift(ossl_check_CONF_VALUE_sk_type(sk))) +#define sk_CONF_VALUE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CONF_VALUE_sk_type(sk),ossl_check_CONF_VALUE_freefunc_type(freefunc)) +#define sk_CONF_VALUE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr), (idx)) +#define sk_CONF_VALUE_set(sk, idx, ptr) ((CONF_VALUE *)OPENSSL_sk_set(ossl_check_CONF_VALUE_sk_type(sk), (idx), ossl_check_CONF_VALUE_type(ptr))) +#define sk_CONF_VALUE_find(sk, ptr) OPENSSL_sk_find(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr)) +#define sk_CONF_VALUE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr)) +#define sk_CONF_VALUE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_type(ptr), pnum) +#define sk_CONF_VALUE_sort(sk) OPENSSL_sk_sort(ossl_check_CONF_VALUE_sk_type(sk)) +#define sk_CONF_VALUE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CONF_VALUE_sk_type(sk)) +#define sk_CONF_VALUE_dup(sk) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_dup(ossl_check_const_CONF_VALUE_sk_type(sk))) +#define sk_CONF_VALUE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_deep_copy(ossl_check_const_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_copyfunc_type(copyfunc), ossl_check_CONF_VALUE_freefunc_type(freefunc))) +#define sk_CONF_VALUE_set_cmp_func(sk, cmp) ((sk_CONF_VALUE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_compfunc_type(cmp))) +DEFINE_LHASH_OF_INTERNAL(CONF_VALUE); +#define lh_CONF_VALUE_new(hfn, cmp) ((LHASH_OF(CONF_VALUE) *)OPENSSL_LH_new(ossl_check_CONF_VALUE_lh_hashfunc_type(hfn), ossl_check_CONF_VALUE_lh_compfunc_type(cmp))) +#define lh_CONF_VALUE_free(lh) OPENSSL_LH_free(ossl_check_CONF_VALUE_lh_type(lh)) +#define lh_CONF_VALUE_flush(lh) OPENSSL_LH_flush(ossl_check_CONF_VALUE_lh_type(lh)) +#define lh_CONF_VALUE_insert(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_insert(ossl_check_CONF_VALUE_lh_type(lh), ossl_check_CONF_VALUE_lh_plain_type(ptr))) +#define lh_CONF_VALUE_delete(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_delete(ossl_check_CONF_VALUE_lh_type(lh), ossl_check_const_CONF_VALUE_lh_plain_type(ptr))) +#define lh_CONF_VALUE_retrieve(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_retrieve(ossl_check_CONF_VALUE_lh_type(lh), ossl_check_const_CONF_VALUE_lh_plain_type(ptr))) +#define lh_CONF_VALUE_error(lh) OPENSSL_LH_error(ossl_check_CONF_VALUE_lh_type(lh)) +#define lh_CONF_VALUE_num_items(lh) OPENSSL_LH_num_items(ossl_check_CONF_VALUE_lh_type(lh)) +#define lh_CONF_VALUE_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_CONF_VALUE_lh_type(lh), out) +#define lh_CONF_VALUE_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_CONF_VALUE_lh_type(lh), out) +#define lh_CONF_VALUE_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_CONF_VALUE_lh_type(lh), out) +#define lh_CONF_VALUE_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_CONF_VALUE_lh_type(lh)) +#define lh_CONF_VALUE_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_CONF_VALUE_lh_type(lh), dl) +#define lh_CONF_VALUE_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_CONF_VALUE_lh_type(lh), ossl_check_CONF_VALUE_lh_doallfunc_type(dfn)) + + +struct conf_st; +struct conf_method_st; +typedef struct conf_method_st CONF_METHOD; + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# include +# endif + +/* Module definitions */ +typedef struct conf_imodule_st CONF_IMODULE; +typedef struct conf_module_st CONF_MODULE; + +STACK_OF(CONF_MODULE); +STACK_OF(CONF_IMODULE); + +/* DSO module function typedefs */ +typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); +typedef void conf_finish_func (CONF_IMODULE *md); + +# define CONF_MFLAGS_IGNORE_ERRORS 0x1 +# define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 +# define CONF_MFLAGS_SILENT 0x4 +# define CONF_MFLAGS_NO_DSO 0x8 +# define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 +# define CONF_MFLAGS_DEFAULT_SECTION 0x20 + +int CONF_set_default_method(CONF_METHOD *meth); +void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); +LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline); +# ifndef OPENSSL_NO_STDIO +LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline); +# endif +LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline); +STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section); +char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); +void CONF_free(LHASH_OF(CONF_VALUE) *conf); +#ifndef OPENSSL_NO_STDIO +int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); +#endif +int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 void OPENSSL_config(const char *config_name); +#endif + +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define OPENSSL_no_config() \ + OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL) +#endif + +/* + * New conf code. The semantics are different from the functions above. If + * that wasn't the case, the above functions would have been replaced + */ + +CONF *NCONF_new_ex(OSSL_LIB_CTX *libctx, CONF_METHOD *meth); +OSSL_LIB_CTX *NCONF_get0_libctx(const CONF *conf); +CONF *NCONF_new(CONF_METHOD *meth); +CONF_METHOD *NCONF_default(void); +#ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 CONF_METHOD *NCONF_WIN32(void); +#endif +void NCONF_free(CONF *conf); +void NCONF_free_data(CONF *conf); + +int NCONF_load(CONF *conf, const char *file, long *eline); +# ifndef OPENSSL_NO_STDIO +int NCONF_load_fp(CONF *conf, FILE *fp, long *eline); +# endif +int NCONF_load_bio(CONF *conf, BIO *bp, long *eline); +STACK_OF(OPENSSL_CSTRING) *NCONF_get_section_names(const CONF *conf); +STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf, + const char *section); +char *NCONF_get_string(const CONF *conf, const char *group, const char *name); +int NCONF_get_number_e(const CONF *conf, const char *group, const char *name, + long *result); +#ifndef OPENSSL_NO_STDIO +int NCONF_dump_fp(const CONF *conf, FILE *out); +#endif +int NCONF_dump_bio(const CONF *conf, BIO *out); + +#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) + +/* Module functions */ + +int CONF_modules_load(const CONF *cnf, const char *appname, + unsigned long flags); +int CONF_modules_load_file_ex(OSSL_LIB_CTX *libctx, const char *filename, + const char *appname, unsigned long flags); +int CONF_modules_load_file(const char *filename, const char *appname, + unsigned long flags); +void CONF_modules_unload(int all); +void CONF_modules_finish(void); +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define CONF_modules_free() while(0) continue +#endif +int CONF_module_add(const char *name, conf_init_func *ifunc, + conf_finish_func *ffunc); + +const char *CONF_imodule_get_name(const CONF_IMODULE *md); +const char *CONF_imodule_get_value(const CONF_IMODULE *md); +void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); +void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); +CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); +unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); +void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); +void *CONF_module_get_usr_data(CONF_MODULE *pmod); +void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); + +char *CONF_get1_default_config_file(void); + +int CONF_parse_list(const char *list, int sep, int nospc, + int (*list_cb) (const char *elem, int len, void *usr), + void *arg); + +void OPENSSL_load_builtin_modules(void); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/configuration.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/configuration.h new file mode 100644 index 00000000000000..51a2847855c8c9 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/configuration.h @@ -0,0 +1,137 @@ +/* + * WARNING: do not edit! + * Generated by configdata.pm from Configurations/common0.tmpl, Configurations/unix-Makefile.tmpl + * via Makefile.in + * + * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef OPENSSL_CONFIGURATION_H +# define OPENSSL_CONFIGURATION_H +# pragma once + +# ifdef __cplusplus +extern "C" { +# endif + +# ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +# endif + +/* + * OpenSSL was configured with the following options: + */ + +# define OPENSSL_CONFIGURED_API 30000 +# ifndef OPENSSL_RAND_SEED_OS +# define OPENSSL_RAND_SEED_OS +# endif +# ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +# endif +# ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +# endif +# ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +# endif +# ifndef OPENSSL_NO_ASM +# define OPENSSL_NO_ASM +# endif +# ifndef OPENSSL_NO_COMP +# define OPENSSL_NO_COMP +# endif +# ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +# endif +# ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# endif +# ifndef OPENSSL_NO_DEVCRYPTOENG +# define OPENSSL_NO_DEVCRYPTOENG +# endif +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +# endif +# ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +# endif +# ifndef OPENSSL_NO_EXTERNAL_TESTS +# define OPENSSL_NO_EXTERNAL_TESTS +# endif +# ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +# endif +# ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +# endif +# ifndef OPENSSL_NO_KTLS +# define OPENSSL_NO_KTLS +# endif +# ifndef OPENSSL_NO_LOADERENG +# define OPENSSL_NO_LOADERENG +# endif +# ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +# endif +# ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +# endif +# ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +# endif +# ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +# endif +# ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +# endif +# ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +# endif +# ifndef OPENSSL_NO_TRACE +# define OPENSSL_NO_TRACE +# endif +# ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +# endif +# ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +# endif +# ifndef OPENSSL_NO_UPLINK +# define OPENSSL_NO_UPLINK +# endif +# ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +# endif +# ifndef OPENSSL_NO_DYNAMIC_ENGINE +# define OPENSSL_NO_DYNAMIC_ENGINE +# endif + + +/* Generate 80386 code? */ +# undef I386_ONLY + +/* + * The following are cipher-specific, but are part of the public API. + */ +# if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +# endif + +# define RC4_INT unsigned char + +# ifdef __cplusplus +} +# endif + +#endif /* OPENSSL_CONFIGURATION_H */ diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crmf.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crmf.h new file mode 100644 index 00000000000000..71b747ed33d239 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crmf.h @@ -0,0 +1,227 @@ +/*- + * WARNING: do not edit! + * Generated by Makefile from include/openssl/crmf.h.in + * + * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright Nokia 2007-2019 + * Copyright Siemens AG 2015-2019 + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + * + * CRMF (RFC 4211) implementation by M. Peylo, M. Viljanen, and D. von Oheimb. + */ + + + +#ifndef OPENSSL_CRMF_H +# define OPENSSL_CRMF_H + +# include + +# ifndef OPENSSL_NO_CRMF +# include +# include +# include +# include /* for GENERAL_NAME etc. */ + +/* explicit #includes not strictly needed since implied by the above: */ +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# define OSSL_CRMF_POPOPRIVKEY_THISMESSAGE 0 +# define OSSL_CRMF_POPOPRIVKEY_SUBSEQUENTMESSAGE 1 +# define OSSL_CRMF_POPOPRIVKEY_DHMAC 2 +# define OSSL_CRMF_POPOPRIVKEY_AGREEMAC 3 +# define OSSL_CRMF_POPOPRIVKEY_ENCRYPTEDKEY 4 + +# define OSSL_CRMF_SUBSEQUENTMESSAGE_ENCRCERT 0 +# define OSSL_CRMF_SUBSEQUENTMESSAGE_CHALLENGERESP 1 + +typedef struct ossl_crmf_encryptedvalue_st OSSL_CRMF_ENCRYPTEDVALUE; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ENCRYPTEDVALUE) +typedef struct ossl_crmf_msg_st OSSL_CRMF_MSG; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_MSG) +DECLARE_ASN1_DUP_FUNCTION(OSSL_CRMF_MSG) +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CRMF_MSG, OSSL_CRMF_MSG, OSSL_CRMF_MSG) +#define sk_OSSL_CRMF_MSG_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CRMF_MSG_sk_type(sk)) +#define sk_OSSL_CRMF_MSG_value(sk, idx) ((OSSL_CRMF_MSG *)OPENSSL_sk_value(ossl_check_const_OSSL_CRMF_MSG_sk_type(sk), (idx))) +#define sk_OSSL_CRMF_MSG_new(cmp) ((STACK_OF(OSSL_CRMF_MSG) *)OPENSSL_sk_new(ossl_check_OSSL_CRMF_MSG_compfunc_type(cmp))) +#define sk_OSSL_CRMF_MSG_new_null() ((STACK_OF(OSSL_CRMF_MSG) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CRMF_MSG_new_reserve(cmp, n) ((STACK_OF(OSSL_CRMF_MSG) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CRMF_MSG_compfunc_type(cmp), (n))) +#define sk_OSSL_CRMF_MSG_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CRMF_MSG_sk_type(sk), (n)) +#define sk_OSSL_CRMF_MSG_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CRMF_MSG_sk_type(sk)) +#define sk_OSSL_CRMF_MSG_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CRMF_MSG_sk_type(sk)) +#define sk_OSSL_CRMF_MSG_delete(sk, i) ((OSSL_CRMF_MSG *)OPENSSL_sk_delete(ossl_check_OSSL_CRMF_MSG_sk_type(sk), (i))) +#define sk_OSSL_CRMF_MSG_delete_ptr(sk, ptr) ((OSSL_CRMF_MSG *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr))) +#define sk_OSSL_CRMF_MSG_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr)) +#define sk_OSSL_CRMF_MSG_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr)) +#define sk_OSSL_CRMF_MSG_pop(sk) ((OSSL_CRMF_MSG *)OPENSSL_sk_pop(ossl_check_OSSL_CRMF_MSG_sk_type(sk))) +#define sk_OSSL_CRMF_MSG_shift(sk) ((OSSL_CRMF_MSG *)OPENSSL_sk_shift(ossl_check_OSSL_CRMF_MSG_sk_type(sk))) +#define sk_OSSL_CRMF_MSG_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CRMF_MSG_sk_type(sk),ossl_check_OSSL_CRMF_MSG_freefunc_type(freefunc)) +#define sk_OSSL_CRMF_MSG_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr), (idx)) +#define sk_OSSL_CRMF_MSG_set(sk, idx, ptr) ((OSSL_CRMF_MSG *)OPENSSL_sk_set(ossl_check_OSSL_CRMF_MSG_sk_type(sk), (idx), ossl_check_OSSL_CRMF_MSG_type(ptr))) +#define sk_OSSL_CRMF_MSG_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr)) +#define sk_OSSL_CRMF_MSG_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr)) +#define sk_OSSL_CRMF_MSG_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_type(ptr), pnum) +#define sk_OSSL_CRMF_MSG_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CRMF_MSG_sk_type(sk)) +#define sk_OSSL_CRMF_MSG_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CRMF_MSG_sk_type(sk)) +#define sk_OSSL_CRMF_MSG_dup(sk) ((STACK_OF(OSSL_CRMF_MSG) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CRMF_MSG_sk_type(sk))) +#define sk_OSSL_CRMF_MSG_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CRMF_MSG) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_copyfunc_type(copyfunc), ossl_check_OSSL_CRMF_MSG_freefunc_type(freefunc))) +#define sk_OSSL_CRMF_MSG_set_cmp_func(sk, cmp) ((sk_OSSL_CRMF_MSG_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CRMF_MSG_sk_type(sk), ossl_check_OSSL_CRMF_MSG_compfunc_type(cmp))) + +typedef struct ossl_crmf_attributetypeandvalue_st OSSL_CRMF_ATTRIBUTETYPEANDVALUE; +typedef struct ossl_crmf_pbmparameter_st OSSL_CRMF_PBMPARAMETER; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_PBMPARAMETER) +typedef struct ossl_crmf_poposigningkey_st OSSL_CRMF_POPOSIGNINGKEY; +typedef struct ossl_crmf_certrequest_st OSSL_CRMF_CERTREQUEST; +typedef struct ossl_crmf_certid_st OSSL_CRMF_CERTID; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_CERTID) +DECLARE_ASN1_DUP_FUNCTION(OSSL_CRMF_CERTID) +SKM_DEFINE_STACK_OF_INTERNAL(OSSL_CRMF_CERTID, OSSL_CRMF_CERTID, OSSL_CRMF_CERTID) +#define sk_OSSL_CRMF_CERTID_num(sk) OPENSSL_sk_num(ossl_check_const_OSSL_CRMF_CERTID_sk_type(sk)) +#define sk_OSSL_CRMF_CERTID_value(sk, idx) ((OSSL_CRMF_CERTID *)OPENSSL_sk_value(ossl_check_const_OSSL_CRMF_CERTID_sk_type(sk), (idx))) +#define sk_OSSL_CRMF_CERTID_new(cmp) ((STACK_OF(OSSL_CRMF_CERTID) *)OPENSSL_sk_new(ossl_check_OSSL_CRMF_CERTID_compfunc_type(cmp))) +#define sk_OSSL_CRMF_CERTID_new_null() ((STACK_OF(OSSL_CRMF_CERTID) *)OPENSSL_sk_new_null()) +#define sk_OSSL_CRMF_CERTID_new_reserve(cmp, n) ((STACK_OF(OSSL_CRMF_CERTID) *)OPENSSL_sk_new_reserve(ossl_check_OSSL_CRMF_CERTID_compfunc_type(cmp), (n))) +#define sk_OSSL_CRMF_CERTID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), (n)) +#define sk_OSSL_CRMF_CERTID_free(sk) OPENSSL_sk_free(ossl_check_OSSL_CRMF_CERTID_sk_type(sk)) +#define sk_OSSL_CRMF_CERTID_zero(sk) OPENSSL_sk_zero(ossl_check_OSSL_CRMF_CERTID_sk_type(sk)) +#define sk_OSSL_CRMF_CERTID_delete(sk, i) ((OSSL_CRMF_CERTID *)OPENSSL_sk_delete(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), (i))) +#define sk_OSSL_CRMF_CERTID_delete_ptr(sk, ptr) ((OSSL_CRMF_CERTID *)OPENSSL_sk_delete_ptr(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr))) +#define sk_OSSL_CRMF_CERTID_push(sk, ptr) OPENSSL_sk_push(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr)) +#define sk_OSSL_CRMF_CERTID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr)) +#define sk_OSSL_CRMF_CERTID_pop(sk) ((OSSL_CRMF_CERTID *)OPENSSL_sk_pop(ossl_check_OSSL_CRMF_CERTID_sk_type(sk))) +#define sk_OSSL_CRMF_CERTID_shift(sk) ((OSSL_CRMF_CERTID *)OPENSSL_sk_shift(ossl_check_OSSL_CRMF_CERTID_sk_type(sk))) +#define sk_OSSL_CRMF_CERTID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OSSL_CRMF_CERTID_sk_type(sk),ossl_check_OSSL_CRMF_CERTID_freefunc_type(freefunc)) +#define sk_OSSL_CRMF_CERTID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr), (idx)) +#define sk_OSSL_CRMF_CERTID_set(sk, idx, ptr) ((OSSL_CRMF_CERTID *)OPENSSL_sk_set(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), (idx), ossl_check_OSSL_CRMF_CERTID_type(ptr))) +#define sk_OSSL_CRMF_CERTID_find(sk, ptr) OPENSSL_sk_find(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr)) +#define sk_OSSL_CRMF_CERTID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr)) +#define sk_OSSL_CRMF_CERTID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_type(ptr), pnum) +#define sk_OSSL_CRMF_CERTID_sort(sk) OPENSSL_sk_sort(ossl_check_OSSL_CRMF_CERTID_sk_type(sk)) +#define sk_OSSL_CRMF_CERTID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OSSL_CRMF_CERTID_sk_type(sk)) +#define sk_OSSL_CRMF_CERTID_dup(sk) ((STACK_OF(OSSL_CRMF_CERTID) *)OPENSSL_sk_dup(ossl_check_const_OSSL_CRMF_CERTID_sk_type(sk))) +#define sk_OSSL_CRMF_CERTID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OSSL_CRMF_CERTID) *)OPENSSL_sk_deep_copy(ossl_check_const_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_copyfunc_type(copyfunc), ossl_check_OSSL_CRMF_CERTID_freefunc_type(freefunc))) +#define sk_OSSL_CRMF_CERTID_set_cmp_func(sk, cmp) ((sk_OSSL_CRMF_CERTID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OSSL_CRMF_CERTID_sk_type(sk), ossl_check_OSSL_CRMF_CERTID_compfunc_type(cmp))) + + +typedef struct ossl_crmf_pkipublicationinfo_st OSSL_CRMF_PKIPUBLICATIONINFO; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_PKIPUBLICATIONINFO) +typedef struct ossl_crmf_singlepubinfo_st OSSL_CRMF_SINGLEPUBINFO; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_SINGLEPUBINFO) +typedef struct ossl_crmf_certtemplate_st OSSL_CRMF_CERTTEMPLATE; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_CERTTEMPLATE) +typedef STACK_OF(OSSL_CRMF_MSG) OSSL_CRMF_MSGS; +DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_MSGS) + +typedef struct ossl_crmf_optionalvalidity_st OSSL_CRMF_OPTIONALVALIDITY; + +/* crmf_pbm.c */ +OSSL_CRMF_PBMPARAMETER *OSSL_CRMF_pbmp_new(OSSL_LIB_CTX *libctx, size_t slen, + int owfnid, size_t itercnt, + int macnid); +int OSSL_CRMF_pbm_new(OSSL_LIB_CTX *libctx, const char *propq, + const OSSL_CRMF_PBMPARAMETER *pbmp, + const unsigned char *msg, size_t msglen, + const unsigned char *sec, size_t seclen, + unsigned char **mac, size_t *maclen); + +/* crmf_lib.c */ +int OSSL_CRMF_MSG_set1_regCtrl_regToken(OSSL_CRMF_MSG *msg, + const ASN1_UTF8STRING *tok); +ASN1_UTF8STRING +*OSSL_CRMF_MSG_get0_regCtrl_regToken(const OSSL_CRMF_MSG *msg); +int OSSL_CRMF_MSG_set1_regCtrl_authenticator(OSSL_CRMF_MSG *msg, + const ASN1_UTF8STRING *auth); +ASN1_UTF8STRING +*OSSL_CRMF_MSG_get0_regCtrl_authenticator(const OSSL_CRMF_MSG *msg); +int +OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo(OSSL_CRMF_PKIPUBLICATIONINFO *pi, + OSSL_CRMF_SINGLEPUBINFO *spi); +# define OSSL_CRMF_PUB_METHOD_DONTCARE 0 +# define OSSL_CRMF_PUB_METHOD_X500 1 +# define OSSL_CRMF_PUB_METHOD_WEB 2 +# define OSSL_CRMF_PUB_METHOD_LDAP 3 +int OSSL_CRMF_MSG_set0_SinglePubInfo(OSSL_CRMF_SINGLEPUBINFO *spi, + int method, GENERAL_NAME *nm); +# define OSSL_CRMF_PUB_ACTION_DONTPUBLISH 0 +# define OSSL_CRMF_PUB_ACTION_PLEASEPUBLISH 1 +int OSSL_CRMF_MSG_set_PKIPublicationInfo_action(OSSL_CRMF_PKIPUBLICATIONINFO *pi, + int action); +int OSSL_CRMF_MSG_set1_regCtrl_pkiPublicationInfo(OSSL_CRMF_MSG *msg, + const OSSL_CRMF_PKIPUBLICATIONINFO *pi); +OSSL_CRMF_PKIPUBLICATIONINFO +*OSSL_CRMF_MSG_get0_regCtrl_pkiPublicationInfo(const OSSL_CRMF_MSG *msg); +int OSSL_CRMF_MSG_set1_regCtrl_protocolEncrKey(OSSL_CRMF_MSG *msg, + const X509_PUBKEY *pubkey); +X509_PUBKEY +*OSSL_CRMF_MSG_get0_regCtrl_protocolEncrKey(const OSSL_CRMF_MSG *msg); +int OSSL_CRMF_MSG_set1_regCtrl_oldCertID(OSSL_CRMF_MSG *msg, + const OSSL_CRMF_CERTID *cid); +OSSL_CRMF_CERTID +*OSSL_CRMF_MSG_get0_regCtrl_oldCertID(const OSSL_CRMF_MSG *msg); +OSSL_CRMF_CERTID *OSSL_CRMF_CERTID_gen(const X509_NAME *issuer, + const ASN1_INTEGER *serial); + +int OSSL_CRMF_MSG_set1_regInfo_utf8Pairs(OSSL_CRMF_MSG *msg, + const ASN1_UTF8STRING *utf8pairs); +ASN1_UTF8STRING +*OSSL_CRMF_MSG_get0_regInfo_utf8Pairs(const OSSL_CRMF_MSG *msg); +int OSSL_CRMF_MSG_set1_regInfo_certReq(OSSL_CRMF_MSG *msg, + const OSSL_CRMF_CERTREQUEST *cr); +OSSL_CRMF_CERTREQUEST +*OSSL_CRMF_MSG_get0_regInfo_certReq(const OSSL_CRMF_MSG *msg); + +int OSSL_CRMF_MSG_set0_validity(OSSL_CRMF_MSG *crm, + ASN1_TIME *notBefore, ASN1_TIME *notAfter); +int OSSL_CRMF_MSG_set_certReqId(OSSL_CRMF_MSG *crm, int rid); +int OSSL_CRMF_MSG_get_certReqId(const OSSL_CRMF_MSG *crm); +int OSSL_CRMF_MSG_set0_extensions(OSSL_CRMF_MSG *crm, X509_EXTENSIONS *exts); + +int OSSL_CRMF_MSG_push0_extension(OSSL_CRMF_MSG *crm, X509_EXTENSION *ext); +# define OSSL_CRMF_POPO_NONE -1 +# define OSSL_CRMF_POPO_RAVERIFIED 0 +# define OSSL_CRMF_POPO_SIGNATURE 1 +# define OSSL_CRMF_POPO_KEYENC 2 +# define OSSL_CRMF_POPO_KEYAGREE 3 +int OSSL_CRMF_MSG_create_popo(int meth, OSSL_CRMF_MSG *crm, + EVP_PKEY *pkey, const EVP_MD *digest, + OSSL_LIB_CTX *libctx, const char *propq); +int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs, + int rid, int acceptRAVerified, + OSSL_LIB_CTX *libctx, const char *propq); +OSSL_CRMF_CERTTEMPLATE *OSSL_CRMF_MSG_get0_tmpl(const OSSL_CRMF_MSG *crm); +const ASN1_INTEGER +*OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE *tmpl); +const X509_NAME +*OSSL_CRMF_CERTTEMPLATE_get0_subject(const OSSL_CRMF_CERTTEMPLATE *tmpl); +const X509_NAME +*OSSL_CRMF_CERTTEMPLATE_get0_issuer(const OSSL_CRMF_CERTTEMPLATE *tmpl); +X509_EXTENSIONS +*OSSL_CRMF_CERTTEMPLATE_get0_extensions(const OSSL_CRMF_CERTTEMPLATE *tmpl); +const X509_NAME +*OSSL_CRMF_CERTID_get0_issuer(const OSSL_CRMF_CERTID *cid); +const ASN1_INTEGER +*OSSL_CRMF_CERTID_get0_serialNumber(const OSSL_CRMF_CERTID *cid); +int OSSL_CRMF_CERTTEMPLATE_fill(OSSL_CRMF_CERTTEMPLATE *tmpl, + EVP_PKEY *pubkey, + const X509_NAME *subject, + const X509_NAME *issuer, + const ASN1_INTEGER *serial); +X509 +*OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert(const OSSL_CRMF_ENCRYPTEDVALUE *ecert, + OSSL_LIB_CTX *libctx, const char *propq, + EVP_PKEY *pkey); + +# ifdef __cplusplus +} +# endif +# endif /* !defined(OPENSSL_NO_CRMF) */ +#endif /* !defined(OPENSSL_CRMF_H) */ diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crypto.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crypto.h new file mode 100644 index 00000000000000..3f40be6d8c61d5 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crypto.h @@ -0,0 +1,558 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/crypto.h.in + * + * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_CRYPTO_H +# define OPENSSL_CRYPTO_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_CRYPTO_H +# endif + +# include +# include + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# endif + +# include +# include +# include +# include +# include +# include + +# ifdef CHARSET_EBCDIC +# include +# endif + +/* + * Resolve problems on some operating systems with symbol names that clash + * one way or another + */ +# include + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# include +# endif + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define SSLeay OpenSSL_version_num +# define SSLeay_version OpenSSL_version +# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER +# define SSLEAY_VERSION OPENSSL_VERSION +# define SSLEAY_CFLAGS OPENSSL_CFLAGS +# define SSLEAY_BUILT_ON OPENSSL_BUILT_ON +# define SSLEAY_PLATFORM OPENSSL_PLATFORM +# define SSLEAY_DIR OPENSSL_DIR + +/* + * Old type for allocating dynamic locks. No longer used. Use the new thread + * API instead. + */ +typedef struct { + int dummy; +} CRYPTO_dynlock; + +# endif /* OPENSSL_NO_DEPRECATED_1_1_0 */ + +typedef void CRYPTO_RWLOCK; + +CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void); +__owur int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock); +__owur int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock); +int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock); +void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock); + +int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock); +int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret, + CRYPTO_RWLOCK *lock); +int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK *lock); + +/* No longer needed, so this is a no-op */ +#define OPENSSL_malloc_init() while(0) continue + +# define OPENSSL_malloc(num) \ + CRYPTO_malloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_zalloc(num) \ + CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_realloc(addr, num) \ + CRYPTO_realloc(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_clear_realloc(addr, old_num, num) \ + CRYPTO_clear_realloc(addr, old_num, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_clear_free(addr, num) \ + CRYPTO_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_free(addr) \ + CRYPTO_free(addr, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_memdup(str, s) \ + CRYPTO_memdup((str), s, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_strdup(str) \ + CRYPTO_strdup(str, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_strndup(str, n) \ + CRYPTO_strndup(str, n, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_malloc(num) \ + CRYPTO_secure_malloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_zalloc(num) \ + CRYPTO_secure_zalloc(num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_free(addr) \ + CRYPTO_secure_free(addr, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_clear_free(addr, num) \ + CRYPTO_secure_clear_free(addr, num, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_secure_actual_size(ptr) \ + CRYPTO_secure_actual_size(ptr) + +size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz); +size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz); +size_t OPENSSL_strnlen(const char *str, size_t maxlen); +int OPENSSL_buf2hexstr_ex(char *str, size_t str_n, size_t *strlength, + const unsigned char *buf, size_t buflen, + const char sep); +char *OPENSSL_buf2hexstr(const unsigned char *buf, long buflen); +int OPENSSL_hexstr2buf_ex(unsigned char *buf, size_t buf_n, size_t *buflen, + const char *str, const char sep); +unsigned char *OPENSSL_hexstr2buf(const char *str, long *buflen); +int OPENSSL_hexchar2int(unsigned char c); +int OPENSSL_strcasecmp(const char *s1, const char *s2); +int OPENSSL_strncasecmp(const char *s1, const char *s2, size_t n); + +# define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) + +/* + * These functions return the values of OPENSSL_VERSION_MAJOR, + * OPENSSL_VERSION_MINOR, OPENSSL_VERSION_PATCH, OPENSSL_VERSION_PRE_RELEASE + * and OPENSSL_VERSION_BUILD_METADATA, respectively. + */ +unsigned int OPENSSL_version_major(void); +unsigned int OPENSSL_version_minor(void); +unsigned int OPENSSL_version_patch(void); +const char *OPENSSL_version_pre_release(void); +const char *OPENSSL_version_build_metadata(void); + +unsigned long OpenSSL_version_num(void); +const char *OpenSSL_version(int type); +# define OPENSSL_VERSION 0 +# define OPENSSL_CFLAGS 1 +# define OPENSSL_BUILT_ON 2 +# define OPENSSL_PLATFORM 3 +# define OPENSSL_DIR 4 +# define OPENSSL_ENGINES_DIR 5 +# define OPENSSL_VERSION_STRING 6 +# define OPENSSL_FULL_VERSION_STRING 7 +# define OPENSSL_MODULES_DIR 8 +# define OPENSSL_CPU_INFO 9 + +const char *OPENSSL_info(int type); +/* + * The series starts at 1001 to avoid confusion with the OpenSSL_version + * types. + */ +# define OPENSSL_INFO_CONFIG_DIR 1001 +# define OPENSSL_INFO_ENGINES_DIR 1002 +# define OPENSSL_INFO_MODULES_DIR 1003 +# define OPENSSL_INFO_DSO_EXTENSION 1004 +# define OPENSSL_INFO_DIR_FILENAME_SEPARATOR 1005 +# define OPENSSL_INFO_LIST_SEPARATOR 1006 +# define OPENSSL_INFO_SEED_SOURCE 1007 +# define OPENSSL_INFO_CPU_SETTINGS 1008 + +int OPENSSL_issetugid(void); + +struct crypto_ex_data_st { + OSSL_LIB_CTX *ctx; + STACK_OF(void) *sk; +}; + +SKM_DEFINE_STACK_OF_INTERNAL(void, void, void) +#define sk_void_num(sk) OPENSSL_sk_num(ossl_check_const_void_sk_type(sk)) +#define sk_void_value(sk, idx) ((void *)OPENSSL_sk_value(ossl_check_const_void_sk_type(sk), (idx))) +#define sk_void_new(cmp) ((STACK_OF(void) *)OPENSSL_sk_new(ossl_check_void_compfunc_type(cmp))) +#define sk_void_new_null() ((STACK_OF(void) *)OPENSSL_sk_new_null()) +#define sk_void_new_reserve(cmp, n) ((STACK_OF(void) *)OPENSSL_sk_new_reserve(ossl_check_void_compfunc_type(cmp), (n))) +#define sk_void_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_void_sk_type(sk), (n)) +#define sk_void_free(sk) OPENSSL_sk_free(ossl_check_void_sk_type(sk)) +#define sk_void_zero(sk) OPENSSL_sk_zero(ossl_check_void_sk_type(sk)) +#define sk_void_delete(sk, i) ((void *)OPENSSL_sk_delete(ossl_check_void_sk_type(sk), (i))) +#define sk_void_delete_ptr(sk, ptr) ((void *)OPENSSL_sk_delete_ptr(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr))) +#define sk_void_push(sk, ptr) OPENSSL_sk_push(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr)) +#define sk_void_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr)) +#define sk_void_pop(sk) ((void *)OPENSSL_sk_pop(ossl_check_void_sk_type(sk))) +#define sk_void_shift(sk) ((void *)OPENSSL_sk_shift(ossl_check_void_sk_type(sk))) +#define sk_void_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_void_sk_type(sk),ossl_check_void_freefunc_type(freefunc)) +#define sk_void_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr), (idx)) +#define sk_void_set(sk, idx, ptr) ((void *)OPENSSL_sk_set(ossl_check_void_sk_type(sk), (idx), ossl_check_void_type(ptr))) +#define sk_void_find(sk, ptr) OPENSSL_sk_find(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr)) +#define sk_void_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr)) +#define sk_void_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_void_sk_type(sk), ossl_check_void_type(ptr), pnum) +#define sk_void_sort(sk) OPENSSL_sk_sort(ossl_check_void_sk_type(sk)) +#define sk_void_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_void_sk_type(sk)) +#define sk_void_dup(sk) ((STACK_OF(void) *)OPENSSL_sk_dup(ossl_check_const_void_sk_type(sk))) +#define sk_void_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(void) *)OPENSSL_sk_deep_copy(ossl_check_const_void_sk_type(sk), ossl_check_void_copyfunc_type(copyfunc), ossl_check_void_freefunc_type(freefunc))) +#define sk_void_set_cmp_func(sk, cmp) ((sk_void_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_void_sk_type(sk), ossl_check_void_compfunc_type(cmp))) + + + +/* + * Per class, we have a STACK of function pointers. + */ +# define CRYPTO_EX_INDEX_SSL 0 +# define CRYPTO_EX_INDEX_SSL_CTX 1 +# define CRYPTO_EX_INDEX_SSL_SESSION 2 +# define CRYPTO_EX_INDEX_X509 3 +# define CRYPTO_EX_INDEX_X509_STORE 4 +# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 +# define CRYPTO_EX_INDEX_DH 6 +# define CRYPTO_EX_INDEX_DSA 7 +# define CRYPTO_EX_INDEX_EC_KEY 8 +# define CRYPTO_EX_INDEX_RSA 9 +# define CRYPTO_EX_INDEX_ENGINE 10 +# define CRYPTO_EX_INDEX_UI 11 +# define CRYPTO_EX_INDEX_BIO 12 +# define CRYPTO_EX_INDEX_APP 13 +# define CRYPTO_EX_INDEX_UI_METHOD 14 +# define CRYPTO_EX_INDEX_RAND_DRBG 15 +# define CRYPTO_EX_INDEX_DRBG CRYPTO_EX_INDEX_RAND_DRBG +# define CRYPTO_EX_INDEX_OSSL_LIB_CTX 16 +# define CRYPTO_EX_INDEX_EVP_PKEY 17 +# define CRYPTO_EX_INDEX__COUNT 18 + +typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, + void **from_d, int idx, long argl, void *argp); +__owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, + CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); +/* No longer use an index. */ +int CRYPTO_free_ex_index(int class_index, int idx); + +/* + * Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a + * given class (invokes whatever per-class callbacks are applicable) + */ +int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, + const CRYPTO_EX_DATA *from); + +void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); + +/* Allocate a single item in the CRYPTO_EX_DATA variable */ +int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad, + int idx); + +/* + * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular + * index (relative to the class type involved) + */ +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +/* + * This function cleans up all "ex_data" state. It mustn't be called under + * potential race-conditions. + */ +# define CRYPTO_cleanup_all_ex_data() while(0) continue + +/* + * The old locking functions have been removed completely without compatibility + * macros. This is because the old functions either could not properly report + * errors, or the returned error values were not clearly documented. + * Replacing the locking functions with no-ops would cause race condition + * issues in the affected applications. It is far better for them to fail at + * compile time. + * On the other hand, the locking callbacks are no longer used. Consequently, + * the callback management functions can be safely replaced with no-op macros. + */ +# define CRYPTO_num_locks() (1) +# define CRYPTO_set_locking_callback(func) +# define CRYPTO_get_locking_callback() (NULL) +# define CRYPTO_set_add_lock_callback(func) +# define CRYPTO_get_add_lock_callback() (NULL) + +/* + * These defines where used in combination with the old locking callbacks, + * they are not called anymore, but old code that's not called might still + * use them. + */ +# define CRYPTO_LOCK 1 +# define CRYPTO_UNLOCK 2 +# define CRYPTO_READ 4 +# define CRYPTO_WRITE 8 + +/* This structure is no longer used */ +typedef struct crypto_threadid_st { + int dummy; +} CRYPTO_THREADID; +/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ +# define CRYPTO_THREADID_set_numeric(id, val) +# define CRYPTO_THREADID_set_pointer(id, ptr) +# define CRYPTO_THREADID_set_callback(threadid_func) (0) +# define CRYPTO_THREADID_get_callback() (NULL) +# define CRYPTO_THREADID_current(id) +# define CRYPTO_THREADID_cmp(a, b) (-1) +# define CRYPTO_THREADID_cpy(dest, src) +# define CRYPTO_THREADID_hash(id) (0UL) + +# ifndef OPENSSL_NO_DEPRECATED_1_0_0 +# define CRYPTO_set_id_callback(func) +# define CRYPTO_get_id_callback() (NULL) +# define CRYPTO_thread_id() (0UL) +# endif /* OPENSSL_NO_DEPRECATED_1_0_0 */ + +# define CRYPTO_set_dynlock_create_callback(dyn_create_function) +# define CRYPTO_set_dynlock_lock_callback(dyn_lock_function) +# define CRYPTO_set_dynlock_destroy_callback(dyn_destroy_function) +# define CRYPTO_get_dynlock_create_callback() (NULL) +# define CRYPTO_get_dynlock_lock_callback() (NULL) +# define CRYPTO_get_dynlock_destroy_callback() (NULL) +# endif /* OPENSSL_NO_DEPRECATED_1_1_0 */ + +typedef void *(*CRYPTO_malloc_fn)(size_t num, const char *file, int line); +typedef void *(*CRYPTO_realloc_fn)(void *addr, size_t num, const char *file, + int line); +typedef void (*CRYPTO_free_fn)(void *addr, const char *file, int line); +int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn, + CRYPTO_realloc_fn realloc_fn, + CRYPTO_free_fn free_fn); +void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn, + CRYPTO_realloc_fn *realloc_fn, + CRYPTO_free_fn *free_fn); + +void *CRYPTO_malloc(size_t num, const char *file, int line); +void *CRYPTO_zalloc(size_t num, const char *file, int line); +void *CRYPTO_memdup(const void *str, size_t siz, const char *file, int line); +char *CRYPTO_strdup(const char *str, const char *file, int line); +char *CRYPTO_strndup(const char *str, size_t s, const char *file, int line); +void CRYPTO_free(void *ptr, const char *file, int line); +void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int line); +void *CRYPTO_realloc(void *addr, size_t num, const char *file, int line); +void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num, + const char *file, int line); + +int CRYPTO_secure_malloc_init(size_t sz, size_t minsize); +int CRYPTO_secure_malloc_done(void); +void *CRYPTO_secure_malloc(size_t num, const char *file, int line); +void *CRYPTO_secure_zalloc(size_t num, const char *file, int line); +void CRYPTO_secure_free(void *ptr, const char *file, int line); +void CRYPTO_secure_clear_free(void *ptr, size_t num, + const char *file, int line); +int CRYPTO_secure_allocated(const void *ptr); +int CRYPTO_secure_malloc_initialized(void); +size_t CRYPTO_secure_actual_size(void *ptr); +size_t CRYPTO_secure_used(void); + +void OPENSSL_cleanse(void *ptr, size_t len); + +# ifndef OPENSSL_NO_CRYPTO_MDEBUG +/* + * The following can be used to detect memory leaks in the library. If + * used, it turns on malloc checking + */ +# define CRYPTO_MEM_CHECK_OFF 0x0 /* Control only */ +# define CRYPTO_MEM_CHECK_ON 0x1 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_ENABLE 0x2 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_DISABLE 0x3 /* Control only */ + +void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define OPENSSL_mem_debug_push(info) \ + CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_mem_debug_pop() \ + CRYPTO_mem_debug_pop() +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 int CRYPTO_set_mem_debug(int flag); +OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_ctrl(int mode); +OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_debug_push(const char *info, + const char *file, int line); +OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_debug_pop(void); +OSSL_DEPRECATEDIN_3_0 void CRYPTO_mem_debug_malloc(void *addr, size_t num, + int flag, + const char *file, int line); +OSSL_DEPRECATEDIN_3_0 void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, + size_t num, int flag, + const char *file, int line); +OSSL_DEPRECATEDIN_3_0 void CRYPTO_mem_debug_free(void *addr, int flag, + const char *file, int line); +OSSL_DEPRECATEDIN_3_0 +int CRYPTO_mem_leaks_cb(int (*cb)(const char *str, size_t len, void *u), + void *u); +# endif +# ifndef OPENSSL_NO_STDIO +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_leaks_fp(FILE *); +# endif +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 int CRYPTO_mem_leaks(BIO *bio); +# endif +# endif /* OPENSSL_NO_CRYPTO_MDEBUG */ + +/* die if we have to */ +ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line); +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define OpenSSLDie(f,l,a) OPENSSL_die((a),(f),(l)) +# endif +# define OPENSSL_assert(e) \ + (void)((e) ? 0 : (OPENSSL_die("assertion failed: " #e, OPENSSL_FILE, OPENSSL_LINE), 1)) + +int OPENSSL_isservice(void); + +void OPENSSL_init(void); +# ifdef OPENSSL_SYS_UNIX +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 void OPENSSL_fork_prepare(void); +OSSL_DEPRECATEDIN_3_0 void OPENSSL_fork_parent(void); +OSSL_DEPRECATEDIN_3_0 void OPENSSL_fork_child(void); +# endif +# endif + +struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result); +int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec); +int OPENSSL_gmtime_diff(int *pday, int *psec, + const struct tm *from, const struct tm *to); + +/* + * CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. + * It takes an amount of time dependent on |len|, but independent of the + * contents of |a| and |b|. Unlike memcmp, it cannot be used to put elements + * into a defined order as the return value when a != b is undefined, other + * than to be non-zero. + */ +int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len); + +/* Standard initialisation options */ +# define OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS 0x00000001L +# define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0x00000002L +# define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L +# define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L +# define OPENSSL_INIT_NO_ADD_ALL_CIPHERS 0x00000010L +# define OPENSSL_INIT_NO_ADD_ALL_DIGESTS 0x00000020L +# define OPENSSL_INIT_LOAD_CONFIG 0x00000040L +# define OPENSSL_INIT_NO_LOAD_CONFIG 0x00000080L +# define OPENSSL_INIT_ASYNC 0x00000100L +# define OPENSSL_INIT_ENGINE_RDRAND 0x00000200L +# define OPENSSL_INIT_ENGINE_DYNAMIC 0x00000400L +# define OPENSSL_INIT_ENGINE_OPENSSL 0x00000800L +# define OPENSSL_INIT_ENGINE_CRYPTODEV 0x00001000L +# define OPENSSL_INIT_ENGINE_CAPI 0x00002000L +# define OPENSSL_INIT_ENGINE_PADLOCK 0x00004000L +# define OPENSSL_INIT_ENGINE_AFALG 0x00008000L +/* FREE: 0x00010000L */ +# define OPENSSL_INIT_ATFORK 0x00020000L +/* OPENSSL_INIT_BASE_ONLY 0x00040000L */ +# define OPENSSL_INIT_NO_ATEXIT 0x00080000L +/* OPENSSL_INIT flag range 0x03f00000 reserved for OPENSSL_init_ssl() */ +/* FREE: 0x04000000L */ +/* FREE: 0x08000000L */ +/* FREE: 0x10000000L */ +/* FREE: 0x20000000L */ +/* FREE: 0x40000000L */ +/* FREE: 0x80000000L */ +/* Max OPENSSL_INIT flag value is 0x80000000 */ + +/* openssl and dasync not counted as builtin */ +# define OPENSSL_INIT_ENGINE_ALL_BUILTIN \ + (OPENSSL_INIT_ENGINE_RDRAND | OPENSSL_INIT_ENGINE_DYNAMIC \ + | OPENSSL_INIT_ENGINE_CRYPTODEV | OPENSSL_INIT_ENGINE_CAPI | \ + OPENSSL_INIT_ENGINE_PADLOCK) + +/* Library initialisation functions */ +void OPENSSL_cleanup(void); +int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); +int OPENSSL_atexit(void (*handler)(void)); +void OPENSSL_thread_stop(void); +void OPENSSL_thread_stop_ex(OSSL_LIB_CTX *ctx); + +/* Low-level control of initialization */ +OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); +# ifndef OPENSSL_NO_STDIO +int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings, + const char *config_filename); +void OPENSSL_INIT_set_config_file_flags(OPENSSL_INIT_SETTINGS *settings, + unsigned long flags); +int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings, + const char *config_appname); +# endif +void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings); + +# if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) +# if defined(_WIN32) +# if defined(BASETYPES) || defined(_WINDEF_H) +/* application has to include in order to use this */ +typedef DWORD CRYPTO_THREAD_LOCAL; +typedef DWORD CRYPTO_THREAD_ID; + +typedef LONG CRYPTO_ONCE; +# define CRYPTO_ONCE_STATIC_INIT 0 +# endif +# else +# if defined(__TANDEM) && defined(_SPT_MODEL_) +# define SPT_THREAD_SIGNAL 1 +# define SPT_THREAD_AWARE 1 +# include +# else +# include +# endif +typedef pthread_once_t CRYPTO_ONCE; +typedef pthread_key_t CRYPTO_THREAD_LOCAL; +typedef pthread_t CRYPTO_THREAD_ID; + +# define CRYPTO_ONCE_STATIC_INIT PTHREAD_ONCE_INIT +# endif +# endif + +# if !defined(CRYPTO_ONCE_STATIC_INIT) +typedef unsigned int CRYPTO_ONCE; +typedef unsigned int CRYPTO_THREAD_LOCAL; +typedef unsigned int CRYPTO_THREAD_ID; +# define CRYPTO_ONCE_STATIC_INIT 0 +# endif + +int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)); + +int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)); +void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key); +int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val); +int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key); + +CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void); +int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b); + +OSSL_LIB_CTX *OSSL_LIB_CTX_new(void); +OSSL_LIB_CTX *OSSL_LIB_CTX_new_from_dispatch(const OSSL_CORE_HANDLE *handle, + const OSSL_DISPATCH *in); +OSSL_LIB_CTX *OSSL_LIB_CTX_new_child(const OSSL_CORE_HANDLE *handle, + const OSSL_DISPATCH *in); +int OSSL_LIB_CTX_load_config(OSSL_LIB_CTX *ctx, const char *config_file); +void OSSL_LIB_CTX_free(OSSL_LIB_CTX *); +OSSL_LIB_CTX *OSSL_LIB_CTX_get0_global_default(void); +OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ct.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ct.h new file mode 100644 index 00000000000000..b6dd8c3547710a --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ct.h @@ -0,0 +1,573 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/ct.h.in + * + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_CT_H +# define OPENSSL_CT_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_CT_H +# endif + +# include + +# ifndef OPENSSL_NO_CT +# include +# include +# include +# include +# ifdef __cplusplus +extern "C" { +# endif + + +/* Minimum RSA key size, from RFC6962 */ +# define SCT_MIN_RSA_BITS 2048 + +/* All hashes are SHA256 in v1 of Certificate Transparency */ +# define CT_V1_HASHLEN SHA256_DIGEST_LENGTH + +SKM_DEFINE_STACK_OF_INTERNAL(SCT, SCT, SCT) +#define sk_SCT_num(sk) OPENSSL_sk_num(ossl_check_const_SCT_sk_type(sk)) +#define sk_SCT_value(sk, idx) ((SCT *)OPENSSL_sk_value(ossl_check_const_SCT_sk_type(sk), (idx))) +#define sk_SCT_new(cmp) ((STACK_OF(SCT) *)OPENSSL_sk_new(ossl_check_SCT_compfunc_type(cmp))) +#define sk_SCT_new_null() ((STACK_OF(SCT) *)OPENSSL_sk_new_null()) +#define sk_SCT_new_reserve(cmp, n) ((STACK_OF(SCT) *)OPENSSL_sk_new_reserve(ossl_check_SCT_compfunc_type(cmp), (n))) +#define sk_SCT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SCT_sk_type(sk), (n)) +#define sk_SCT_free(sk) OPENSSL_sk_free(ossl_check_SCT_sk_type(sk)) +#define sk_SCT_zero(sk) OPENSSL_sk_zero(ossl_check_SCT_sk_type(sk)) +#define sk_SCT_delete(sk, i) ((SCT *)OPENSSL_sk_delete(ossl_check_SCT_sk_type(sk), (i))) +#define sk_SCT_delete_ptr(sk, ptr) ((SCT *)OPENSSL_sk_delete_ptr(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr))) +#define sk_SCT_push(sk, ptr) OPENSSL_sk_push(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr)) +#define sk_SCT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr)) +#define sk_SCT_pop(sk) ((SCT *)OPENSSL_sk_pop(ossl_check_SCT_sk_type(sk))) +#define sk_SCT_shift(sk) ((SCT *)OPENSSL_sk_shift(ossl_check_SCT_sk_type(sk))) +#define sk_SCT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SCT_sk_type(sk),ossl_check_SCT_freefunc_type(freefunc)) +#define sk_SCT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr), (idx)) +#define sk_SCT_set(sk, idx, ptr) ((SCT *)OPENSSL_sk_set(ossl_check_SCT_sk_type(sk), (idx), ossl_check_SCT_type(ptr))) +#define sk_SCT_find(sk, ptr) OPENSSL_sk_find(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr)) +#define sk_SCT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr)) +#define sk_SCT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SCT_sk_type(sk), ossl_check_SCT_type(ptr), pnum) +#define sk_SCT_sort(sk) OPENSSL_sk_sort(ossl_check_SCT_sk_type(sk)) +#define sk_SCT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SCT_sk_type(sk)) +#define sk_SCT_dup(sk) ((STACK_OF(SCT) *)OPENSSL_sk_dup(ossl_check_const_SCT_sk_type(sk))) +#define sk_SCT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SCT) *)OPENSSL_sk_deep_copy(ossl_check_const_SCT_sk_type(sk), ossl_check_SCT_copyfunc_type(copyfunc), ossl_check_SCT_freefunc_type(freefunc))) +#define sk_SCT_set_cmp_func(sk, cmp) ((sk_SCT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SCT_sk_type(sk), ossl_check_SCT_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(CTLOG, CTLOG, CTLOG) +#define sk_CTLOG_num(sk) OPENSSL_sk_num(ossl_check_const_CTLOG_sk_type(sk)) +#define sk_CTLOG_value(sk, idx) ((CTLOG *)OPENSSL_sk_value(ossl_check_const_CTLOG_sk_type(sk), (idx))) +#define sk_CTLOG_new(cmp) ((STACK_OF(CTLOG) *)OPENSSL_sk_new(ossl_check_CTLOG_compfunc_type(cmp))) +#define sk_CTLOG_new_null() ((STACK_OF(CTLOG) *)OPENSSL_sk_new_null()) +#define sk_CTLOG_new_reserve(cmp, n) ((STACK_OF(CTLOG) *)OPENSSL_sk_new_reserve(ossl_check_CTLOG_compfunc_type(cmp), (n))) +#define sk_CTLOG_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_CTLOG_sk_type(sk), (n)) +#define sk_CTLOG_free(sk) OPENSSL_sk_free(ossl_check_CTLOG_sk_type(sk)) +#define sk_CTLOG_zero(sk) OPENSSL_sk_zero(ossl_check_CTLOG_sk_type(sk)) +#define sk_CTLOG_delete(sk, i) ((CTLOG *)OPENSSL_sk_delete(ossl_check_CTLOG_sk_type(sk), (i))) +#define sk_CTLOG_delete_ptr(sk, ptr) ((CTLOG *)OPENSSL_sk_delete_ptr(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr))) +#define sk_CTLOG_push(sk, ptr) OPENSSL_sk_push(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr)) +#define sk_CTLOG_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr)) +#define sk_CTLOG_pop(sk) ((CTLOG *)OPENSSL_sk_pop(ossl_check_CTLOG_sk_type(sk))) +#define sk_CTLOG_shift(sk) ((CTLOG *)OPENSSL_sk_shift(ossl_check_CTLOG_sk_type(sk))) +#define sk_CTLOG_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_CTLOG_sk_type(sk),ossl_check_CTLOG_freefunc_type(freefunc)) +#define sk_CTLOG_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr), (idx)) +#define sk_CTLOG_set(sk, idx, ptr) ((CTLOG *)OPENSSL_sk_set(ossl_check_CTLOG_sk_type(sk), (idx), ossl_check_CTLOG_type(ptr))) +#define sk_CTLOG_find(sk, ptr) OPENSSL_sk_find(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr)) +#define sk_CTLOG_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr)) +#define sk_CTLOG_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_type(ptr), pnum) +#define sk_CTLOG_sort(sk) OPENSSL_sk_sort(ossl_check_CTLOG_sk_type(sk)) +#define sk_CTLOG_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_CTLOG_sk_type(sk)) +#define sk_CTLOG_dup(sk) ((STACK_OF(CTLOG) *)OPENSSL_sk_dup(ossl_check_const_CTLOG_sk_type(sk))) +#define sk_CTLOG_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CTLOG) *)OPENSSL_sk_deep_copy(ossl_check_const_CTLOG_sk_type(sk), ossl_check_CTLOG_copyfunc_type(copyfunc), ossl_check_CTLOG_freefunc_type(freefunc))) +#define sk_CTLOG_set_cmp_func(sk, cmp) ((sk_CTLOG_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CTLOG_sk_type(sk), ossl_check_CTLOG_compfunc_type(cmp))) + + + +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET = -1, + CT_LOG_ENTRY_TYPE_X509 = 0, + CT_LOG_ENTRY_TYPE_PRECERT = 1 +} ct_log_entry_type_t; + +typedef enum { + SCT_VERSION_NOT_SET = -1, + SCT_VERSION_V1 = 0 +} sct_version_t; + +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +typedef enum { + SCT_VALIDATION_STATUS_NOT_SET, + SCT_VALIDATION_STATUS_UNKNOWN_LOG, + SCT_VALIDATION_STATUS_VALID, + SCT_VALIDATION_STATUS_INVALID, + SCT_VALIDATION_STATUS_UNVERIFIED, + SCT_VALIDATION_STATUS_UNKNOWN_VERSION +} sct_validation_status_t; + +/****************************************** + * CT policy evaluation context functions * + ******************************************/ + +/* + * Creates a new, empty policy evaluation context associated with the given + * library context and property query string. + * The caller is responsible for calling CT_POLICY_EVAL_CTX_free when finished + * with the CT_POLICY_EVAL_CTX. + */ +CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new_ex(OSSL_LIB_CTX *libctx, + const char *propq); + +/* + * The same as CT_POLICY_EVAL_CTX_new_ex() but the default library + * context and property query string is used. + */ +CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void); + +/* Deletes a policy evaluation context and anything it owns. */ +void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx); + +/* Gets the peer certificate that the SCTs are for */ +X509* CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the certificate associated with the received SCTs. + * Increments the reference count of cert. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert); + +/* Gets the issuer of the aforementioned certificate */ +X509* CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the issuer of the certificate associated with the received SCTs. + * Increments the reference count of issuer. + * Returns 1 on success, 0 otherwise. + */ +int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer); + +/* Gets the CT logs that are trusted sources of SCTs */ +const CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx); + +/* Sets the log store that is in use. It must outlive the CT_POLICY_EVAL_CTX. */ +void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx, + CTLOG_STORE *log_store); + +/* + * Gets the time, in milliseconds since the Unix epoch, that will be used as the + * current time when checking whether an SCT was issued in the future. + * Such SCTs will fail validation, as required by RFC6962. + */ +uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx); + +/* + * Sets the time to evaluate SCTs against, in milliseconds since the Unix epoch. + * If an SCT's timestamp is after this time, it will be interpreted as having + * been issued in the future. RFC6962 states that "TLS clients MUST reject SCTs + * whose timestamp is in the future", so an SCT will not validate in this case. + */ +void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t time_in_ms); + +/***************** + * SCT functions * + *****************/ + +/* + * Creates a new, blank SCT. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new(void); + +/* + * Creates a new SCT from some base64-encoded strings. + * The caller is responsible for calling SCT_free when finished with the SCT. + */ +SCT *SCT_new_from_base64(unsigned char version, + const char *logid_base64, + ct_log_entry_type_t entry_type, + uint64_t timestamp, + const char *extensions_base64, + const char *signature_base64); + +/* + * Frees the SCT and the underlying data structures. + */ +void SCT_free(SCT *sct); + +/* + * Free a stack of SCTs, and the underlying SCTs themselves. + * Intended to be compatible with X509V3_EXT_FREE. + */ +void SCT_LIST_free(STACK_OF(SCT) *a); + +/* + * Returns the version of the SCT. + */ +sct_version_t SCT_get_version(const SCT *sct); + +/* + * Set the version of an SCT. + * Returns 1 on success, 0 if the version is unrecognized. + */ +__owur int SCT_set_version(SCT *sct, sct_version_t version); + +/* + * Returns the log entry type of the SCT. + */ +ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct); + +/* + * Set the log entry type of an SCT. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type); + +/* + * Gets the ID of the log that an SCT came from. + * Ownership of the log ID remains with the SCT. + * Returns the length of the log ID. + */ +size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id); + +/* + * Set the log ID of an SCT to point directly to the *log_id specified. + * The SCT takes ownership of the specified pointer. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len); + +/* + * Set the log ID of an SCT. + * This makes a copy of the log_id. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, + size_t log_id_len); + +/* + * Returns the timestamp for the SCT (epoch time in milliseconds). + */ +uint64_t SCT_get_timestamp(const SCT *sct); + +/* + * Set the timestamp of an SCT (epoch time in milliseconds). + */ +void SCT_set_timestamp(SCT *sct, uint64_t timestamp); + +/* + * Return the NID for the signature used by the SCT. + * For CT v1, this will be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256 (or NID_undef if incorrect/unset). + */ +int SCT_get_signature_nid(const SCT *sct); + +/* + * Set the signature type of an SCT + * For CT v1, this should be either NID_sha256WithRSAEncryption or + * NID_ecdsa_with_SHA256. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_signature_nid(SCT *sct, int nid); + +/* + * Set *ext to point to the extension data for the SCT. ext must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext); + +/* + * Set the extensions of an SCT to point directly to the *ext specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len); + +/* + * Set the extensions of an SCT. + * This takes a copy of the ext. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_extensions(SCT *sct, const unsigned char *ext, + size_t ext_len); + +/* + * Set *sig to point to the signature for the SCT. sig must not be NULL. + * The SCT retains ownership of this pointer. + * Returns length of the data pointed to. + */ +size_t SCT_get0_signature(const SCT *sct, unsigned char **sig); + +/* + * Set the signature of an SCT to point directly to the *sig specified. + * The SCT takes ownership of the specified pointer. + */ +void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len); + +/* + * Set the signature of an SCT to be a copy of the *sig specified. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set1_signature(SCT *sct, const unsigned char *sig, + size_t sig_len); + +/* + * The origin of this SCT, e.g. TLS extension, OCSP response, etc. + */ +sct_source_t SCT_get_source(const SCT *sct); + +/* + * Set the origin of this SCT, e.g. TLS extension, OCSP response, etc. + * Returns 1 on success, 0 otherwise. + */ +__owur int SCT_set_source(SCT *sct, sct_source_t source); + +/* + * Returns a text string describing the validation status of |sct|. + */ +const char *SCT_validation_status_string(const SCT *sct); + +/* + * Pretty-prints an |sct| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * If |logs| is not NULL, it will be used to lookup the CT log that the SCT came + * from, so that the log name can be printed. + */ +void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs); + +/* + * Pretty-prints an |sct_list| to |out|. + * It will be indented by the number of spaces specified by |indent|. + * SCTs will be delimited by |separator|. + * If |logs| is not NULL, it will be used to lookup the CT log that each SCT + * came from, so that the log names can be printed. + */ +void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent, + const char *separator, const CTLOG_STORE *logs); + +/* + * Gets the last result of validating this SCT. + * If it has not been validated yet, returns SCT_VALIDATION_STATUS_NOT_SET. + */ +sct_validation_status_t SCT_get_validation_status(const SCT *sct); + +/* + * Validates the given SCT with the provided context. + * Sets the "validation_status" field of the SCT. + * Returns 1 if the SCT is valid and the signature verifies. + * Returns 0 if the SCT is invalid or could not be verified. + * Returns -1 if an error occurs. + */ +__owur int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx); + +/* + * Validates the given list of SCTs with the provided context. + * Sets the "validation_status" field of each SCT. + * Returns 1 if there are no invalid SCTs and all signatures verify. + * Returns 0 if at least one SCT is invalid or could not be verified. + * Returns a negative integer if an error occurs. + */ +__owur int SCT_LIST_validate(const STACK_OF(SCT) *scts, + CT_POLICY_EVAL_CTX *ctx); + + +/********************************* + * SCT parsing and serialization * + *********************************/ + +/* + * Serialize (to TLS format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just return the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +__owur int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Convert TLS format SCT list to a stack of SCTs. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *o2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + size_t len); + +/* + * Serialize (to DER format) a stack of SCTs and return the length. + * "a" must not be NULL. + * If "pp" is NULL, just returns the length of what would have been serialized. + * If "pp" is not NULL and "*pp" is null, function will allocate a new pointer + * for data that caller is responsible for freeing (only if function returns + * successfully). + * If "pp" is NULL and "*pp" is not NULL, caller is responsible for ensuring + * that "*pp" is large enough to accept all of the serialized data. + * Returns < 0 on error, >= 0 indicating bytes written (or would have been) + * on success. + */ +__owur int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp); + +/* + * Parses an SCT list in DER format and returns it. + * If "a" or "*a" is NULL, a new stack will be created that the caller is + * responsible for freeing (by calling SCT_LIST_free). + * "**pp" and "*pp" must not be NULL. + * Upon success, "*pp" will point to after the last bytes read, and a stack + * will be returned. + * Upon failure, a NULL pointer will be returned, and the position of "*pp" is + * not defined. + */ +STACK_OF(SCT) *d2i_SCT_LIST(STACK_OF(SCT) **a, const unsigned char **pp, + long len); + +/* + * Serialize (to TLS format) an |sct| and write it to |out|. + * If |out| is null, no SCT will be output but the length will still be returned. + * If |out| points to a null pointer, a string will be allocated to hold the + * TLS-format SCT. It is the responsibility of the caller to free it. + * If |out| points to an allocated string, the TLS-format SCT will be written + * to it. + * The length of the SCT in TLS format will be returned. + */ +__owur int i2o_SCT(const SCT *sct, unsigned char **out); + +/* + * Parses an SCT in TLS format and returns it. + * If |psct| is not null, it will end up pointing to the parsed SCT. If it + * already points to a non-null pointer, the pointer will be free'd. + * |in| should be a pointer to a string containing the TLS-format SCT. + * |in| will be advanced to the end of the SCT if parsing succeeds. + * |len| should be the length of the SCT in |in|. + * Returns NULL if an error occurs. + * If the SCT is an unsupported version, only the SCT's 'sct' and 'sct_len' + * fields will be populated (with |in| and |len| respectively). + */ +SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len); + +/******************** + * CT log functions * + ********************/ + +/* + * Creates a new CT log instance with the given |public_key| and |name| and + * associates it with the give library context |libctx| and property query + * string |propq|. + * Takes ownership of |public_key| but copies |name|. + * Returns NULL if malloc fails or if |public_key| cannot be converted to DER. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +CTLOG *CTLOG_new_ex(EVP_PKEY *public_key, const char *name, OSSL_LIB_CTX *libctx, + const char *propq); + +/* + * The same as CTLOG_new_ex except that the default library context and + * property query string are used. + */ +CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name); + +/* + * Creates a new CTLOG instance with the base64-encoded SubjectPublicKeyInfo DER + * in |pkey_base64| and associated with the given library context |libctx| and + * property query string |propq|. The |name| is a string to help users identify + * this log. + * Returns 1 on success, 0 on failure. + * Should be deleted by the caller using CTLOG_free when no longer needed. + */ +int CTLOG_new_from_base64_ex(CTLOG **ct_log, const char *pkey_base64, + const char *name, OSSL_LIB_CTX *libctx, + const char *propq); + +/* + * The same as CTLOG_new_from_base64_ex() except that the default + * library context and property query string are used. + * Returns 1 on success, 0 on failure. + */ +int CTLOG_new_from_base64(CTLOG ** ct_log, + const char *pkey_base64, const char *name); + +/* + * Deletes a CT log instance and its fields. + */ +void CTLOG_free(CTLOG *log); + +/* Gets the name of the CT log */ +const char *CTLOG_get0_name(const CTLOG *log); +/* Gets the ID of the CT log */ +void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, + size_t *log_id_len); +/* Gets the public key of the CT log */ +EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log); + +/************************** + * CT log store functions * + **************************/ + +/* + * Creates a new CT log store and associates it with the given libctx and + * property query string. + * Should be deleted by the caller using CTLOG_STORE_free when no longer needed. + */ +CTLOG_STORE *CTLOG_STORE_new_ex(OSSL_LIB_CTX *libctx, const char *propq); + +/* + * Same as CTLOG_STORE_new_ex except that the default libctx and + * property query string are used. + * Should be deleted by the caller using CTLOG_STORE_free when no longer needed. + */ +CTLOG_STORE *CTLOG_STORE_new(void); + +/* + * Deletes a CT log store and all of the CT log instances held within. + */ +void CTLOG_STORE_free(CTLOG_STORE *store); + +/* + * Finds a CT log in the store based on its log ID. + * Returns the CT log, or NULL if no match is found. + */ +const CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store, + const uint8_t *log_id, + size_t log_id_len); + +/* + * Loads a CT log list into a |store| from a |file|. + * Returns 1 if loading is successful, or 0 otherwise. + */ +__owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file); + +/* + * Loads the default CT log list into a |store|. + * Returns 1 if loading is successful, or 0 otherwise. + */ +__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store); + +# ifdef __cplusplus +} +# endif +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/err.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/err.h new file mode 100644 index 00000000000000..2abf2483488181 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/err.h @@ -0,0 +1,504 @@ +/* + * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_ERR_H +# define OPENSSL_ERR_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_ERR_H +# endif + +# include + +# ifndef OPENSSL_NO_STDIO +# include +# include +# endif + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_FILENAMES +# define ERR_PUT_error(l,f,r,fn,ln) ERR_put_error(l,f,r,fn,ln) +# else +# define ERR_PUT_error(l,f,r,fn,ln) ERR_put_error(l,f,r,NULL,0) +# endif +# endif + +# include +# include + +# define ERR_TXT_MALLOCED 0x01 +# define ERR_TXT_STRING 0x02 + +# if !defined(OPENSSL_NO_DEPRECATED_3_0) || defined(OSSL_FORCE_ERR_STATE) +# define ERR_FLAG_MARK 0x01 +# define ERR_FLAG_CLEAR 0x02 + +# define ERR_NUM_ERRORS 16 +struct err_state_st { + int err_flags[ERR_NUM_ERRORS]; + int err_marks[ERR_NUM_ERRORS]; + unsigned long err_buffer[ERR_NUM_ERRORS]; + char *err_data[ERR_NUM_ERRORS]; + size_t err_data_size[ERR_NUM_ERRORS]; + int err_data_flags[ERR_NUM_ERRORS]; + char *err_file[ERR_NUM_ERRORS]; + int err_line[ERR_NUM_ERRORS]; + char *err_func[ERR_NUM_ERRORS]; + int top, bottom; +}; +# endif + +/* library */ +# define ERR_LIB_NONE 1 +# define ERR_LIB_SYS 2 +# define ERR_LIB_BN 3 +# define ERR_LIB_RSA 4 +# define ERR_LIB_DH 5 +# define ERR_LIB_EVP 6 +# define ERR_LIB_BUF 7 +# define ERR_LIB_OBJ 8 +# define ERR_LIB_PEM 9 +# define ERR_LIB_DSA 10 +# define ERR_LIB_X509 11 +/* #define ERR_LIB_METH 12 */ +# define ERR_LIB_ASN1 13 +# define ERR_LIB_CONF 14 +# define ERR_LIB_CRYPTO 15 +# define ERR_LIB_EC 16 +# define ERR_LIB_SSL 20 +/* #define ERR_LIB_SSL23 21 */ +/* #define ERR_LIB_SSL2 22 */ +/* #define ERR_LIB_SSL3 23 */ +/* #define ERR_LIB_RSAREF 30 */ +/* #define ERR_LIB_PROXY 31 */ +# define ERR_LIB_BIO 32 +# define ERR_LIB_PKCS7 33 +# define ERR_LIB_X509V3 34 +# define ERR_LIB_PKCS12 35 +# define ERR_LIB_RAND 36 +# define ERR_LIB_DSO 37 +# define ERR_LIB_ENGINE 38 +# define ERR_LIB_OCSP 39 +# define ERR_LIB_UI 40 +# define ERR_LIB_COMP 41 +# define ERR_LIB_ECDSA 42 +# define ERR_LIB_ECDH 43 +# define ERR_LIB_OSSL_STORE 44 +# define ERR_LIB_FIPS 45 +# define ERR_LIB_CMS 46 +# define ERR_LIB_TS 47 +# define ERR_LIB_HMAC 48 +/* # define ERR_LIB_JPAKE 49 */ +# define ERR_LIB_CT 50 +# define ERR_LIB_ASYNC 51 +# define ERR_LIB_KDF 52 +# define ERR_LIB_SM2 53 +# define ERR_LIB_ESS 54 +# define ERR_LIB_PROP 55 +# define ERR_LIB_CRMF 56 +# define ERR_LIB_PROV 57 +# define ERR_LIB_CMP 58 +# define ERR_LIB_OSSL_ENCODER 59 +# define ERR_LIB_OSSL_DECODER 60 +# define ERR_LIB_HTTP 61 + +# define ERR_LIB_USER 128 + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define ASN1err(f, r) ERR_raise_data(ERR_LIB_ASN1, (r), NULL) +# define ASYNCerr(f, r) ERR_raise_data(ERR_LIB_ASYNC, (r), NULL) +# define BIOerr(f, r) ERR_raise_data(ERR_LIB_BIO, (r), NULL) +# define BNerr(f, r) ERR_raise_data(ERR_LIB_BN, (r), NULL) +# define BUFerr(f, r) ERR_raise_data(ERR_LIB_BUF, (r), NULL) +# define CMPerr(f, r) ERR_raise_data(ERR_LIB_CMP, (r), NULL) +# define CMSerr(f, r) ERR_raise_data(ERR_LIB_CMS, (r), NULL) +# define COMPerr(f, r) ERR_raise_data(ERR_LIB_COMP, (r), NULL) +# define CONFerr(f, r) ERR_raise_data(ERR_LIB_CONF, (r), NULL) +# define CRMFerr(f, r) ERR_raise_data(ERR_LIB_CRMF, (r), NULL) +# define CRYPTOerr(f, r) ERR_raise_data(ERR_LIB_CRYPTO, (r), NULL) +# define CTerr(f, r) ERR_raise_data(ERR_LIB_CT, (r), NULL) +# define DHerr(f, r) ERR_raise_data(ERR_LIB_DH, (r), NULL) +# define DSAerr(f, r) ERR_raise_data(ERR_LIB_DSA, (r), NULL) +# define DSOerr(f, r) ERR_raise_data(ERR_LIB_DSO, (r), NULL) +# define ECDHerr(f, r) ERR_raise_data(ERR_LIB_ECDH, (r), NULL) +# define ECDSAerr(f, r) ERR_raise_data(ERR_LIB_ECDSA, (r), NULL) +# define ECerr(f, r) ERR_raise_data(ERR_LIB_EC, (r), NULL) +# define ENGINEerr(f, r) ERR_raise_data(ERR_LIB_ENGINE, (r), NULL) +# define ESSerr(f, r) ERR_raise_data(ERR_LIB_ESS, (r), NULL) +# define EVPerr(f, r) ERR_raise_data(ERR_LIB_EVP, (r), NULL) +# define FIPSerr(f, r) ERR_raise_data(ERR_LIB_FIPS, (r), NULL) +# define HMACerr(f, r) ERR_raise_data(ERR_LIB_HMAC, (r), NULL) +# define HTTPerr(f, r) ERR_raise_data(ERR_LIB_HTTP, (r), NULL) +# define KDFerr(f, r) ERR_raise_data(ERR_LIB_KDF, (r), NULL) +# define OBJerr(f, r) ERR_raise_data(ERR_LIB_OBJ, (r), NULL) +# define OCSPerr(f, r) ERR_raise_data(ERR_LIB_OCSP, (r), NULL) +# define OSSL_STOREerr(f, r) ERR_raise_data(ERR_LIB_OSSL_STORE, (r), NULL) +# define PEMerr(f, r) ERR_raise_data(ERR_LIB_PEM, (r), NULL) +# define PKCS12err(f, r) ERR_raise_data(ERR_LIB_PKCS12, (r), NULL) +# define PKCS7err(f, r) ERR_raise_data(ERR_LIB_PKCS7, (r), NULL) +# define PROPerr(f, r) ERR_raise_data(ERR_LIB_PROP, (r), NULL) +# define PROVerr(f, r) ERR_raise_data(ERR_LIB_PROV, (r), NULL) +# define RANDerr(f, r) ERR_raise_data(ERR_LIB_RAND, (r), NULL) +# define RSAerr(f, r) ERR_raise_data(ERR_LIB_RSA, (r), NULL) +# define KDFerr(f, r) ERR_raise_data(ERR_LIB_KDF, (r), NULL) +# define SM2err(f, r) ERR_raise_data(ERR_LIB_SM2, (r), NULL) +# define SSLerr(f, r) ERR_raise_data(ERR_LIB_SSL, (r), NULL) +# define SYSerr(f, r) ERR_raise_data(ERR_LIB_SYS, (r), NULL) +# define TSerr(f, r) ERR_raise_data(ERR_LIB_TS, (r), NULL) +# define UIerr(f, r) ERR_raise_data(ERR_LIB_UI, (r), NULL) +# define X509V3err(f, r) ERR_raise_data(ERR_LIB_X509V3, (r), NULL) +# define X509err(f, r) ERR_raise_data(ERR_LIB_X509, (r), NULL) +# endif + +/*- + * The error code packs differently depending on if it records a system + * error or an OpenSSL error. + * + * A system error packs like this (we follow POSIX and only allow positive + * numbers that fit in an |int|): + * + * +-+-------------------------------------------------------------+ + * |1| system error number | + * +-+-------------------------------------------------------------+ + * + * An OpenSSL error packs like this: + * + * <---------------------------- 32 bits --------------------------> + * <--- 8 bits ---><------------------ 23 bits -----------------> + * +-+---------------+---------------------------------------------+ + * |0| library | reason | + * +-+---------------+---------------------------------------------+ + * + * A few of the reason bits are reserved as flags with special meaning: + * + * <5 bits-<>--------- 19 bits -----------------> + * +-------+-+-----------------------------------+ + * | rflags| | reason | + * +-------+-+-----------------------------------+ + * ^ + * | + * ERR_RFLAG_FATAL = ERR_R_FATAL + * + * The reason flags are part of the overall reason code for practical + * reasons, as they provide an easy way to place different types of + * reason codes in different numeric ranges. + * + * The currently known reason flags are: + * + * ERR_RFLAG_FATAL Flags that the reason code is considered fatal. + * For backward compatibility reasons, this flag + * is also the code for ERR_R_FATAL (that reason + * code served the dual purpose of flag and reason + * code in one in pre-3.0 OpenSSL). + * ERR_RFLAG_COMMON Flags that the reason code is common to all + * libraries. All ERR_R_ macros must use this flag, + * and no other _R_ macro is allowed to use it. + */ + +/* Macros to help decode recorded system errors */ +# define ERR_SYSTEM_FLAG ((unsigned int)INT_MAX + 1) +# define ERR_SYSTEM_MASK ((unsigned int)INT_MAX) + +/* + * Macros to help decode recorded OpenSSL errors + * As expressed above, RFLAGS and REASON overlap by one bit to allow + * ERR_R_FATAL to use ERR_RFLAG_FATAL as its reason code. + */ +# define ERR_LIB_OFFSET 23L +# define ERR_LIB_MASK 0xFF +# define ERR_RFLAGS_OFFSET 18L +# define ERR_RFLAGS_MASK 0x1F +# define ERR_REASON_MASK 0X7FFFFF + +/* + * Reason flags are defined pre-shifted to easily combine with the reason + * number. + */ +# define ERR_RFLAG_FATAL (0x1 << ERR_RFLAGS_OFFSET) +# define ERR_RFLAG_COMMON (0x2 << ERR_RFLAGS_OFFSET) + +# define ERR_SYSTEM_ERROR(errcode) (((errcode) & ERR_SYSTEM_FLAG) != 0) + +static ossl_unused ossl_inline int ERR_GET_LIB(unsigned long errcode) +{ + if (ERR_SYSTEM_ERROR(errcode)) + return ERR_LIB_SYS; + return (errcode >> ERR_LIB_OFFSET) & ERR_LIB_MASK; +} + +static ossl_unused ossl_inline int ERR_GET_RFLAGS(unsigned long errcode) +{ + if (ERR_SYSTEM_ERROR(errcode)) + return 0; + return errcode & (ERR_RFLAGS_MASK << ERR_RFLAGS_OFFSET); +} + +static ossl_unused ossl_inline int ERR_GET_REASON(unsigned long errcode) +{ + if (ERR_SYSTEM_ERROR(errcode)) + return errcode & ERR_SYSTEM_MASK; + return errcode & ERR_REASON_MASK; +} + +static ossl_unused ossl_inline int ERR_FATAL_ERROR(unsigned long errcode) +{ + return (ERR_GET_RFLAGS(errcode) & ERR_RFLAG_FATAL) != 0; +} + +static ossl_unused ossl_inline int ERR_COMMON_ERROR(unsigned long errcode) +{ + return (ERR_GET_RFLAGS(errcode) & ERR_RFLAG_COMMON) != 0; +} + +/* + * ERR_PACK is a helper macro to properly pack OpenSSL error codes and may + * only be used for that purpose. System errors are packed internally. + * ERR_PACK takes reason flags and reason code combined in |reason|. + * ERR_PACK ignores |func|, that parameter is just legacy from pre-3.0 OpenSSL. + */ +# define ERR_PACK(lib,func,reason) \ + ( (((unsigned long)(lib) & ERR_LIB_MASK ) << ERR_LIB_OFFSET) | \ + (((unsigned long)(reason) & ERR_REASON_MASK)) ) + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SYS_F_FOPEN 0 +# define SYS_F_CONNECT 0 +# define SYS_F_GETSERVBYNAME 0 +# define SYS_F_SOCKET 0 +# define SYS_F_IOCTLSOCKET 0 +# define SYS_F_BIND 0 +# define SYS_F_LISTEN 0 +# define SYS_F_ACCEPT 0 +# define SYS_F_WSASTARTUP 0 +# define SYS_F_OPENDIR 0 +# define SYS_F_FREAD 0 +# define SYS_F_GETADDRINFO 0 +# define SYS_F_GETNAMEINFO 0 +# define SYS_F_SETSOCKOPT 0 +# define SYS_F_GETSOCKOPT 0 +# define SYS_F_GETSOCKNAME 0 +# define SYS_F_GETHOSTBYNAME 0 +# define SYS_F_FFLUSH 0 +# define SYS_F_OPEN 0 +# define SYS_F_CLOSE 0 +# define SYS_F_IOCTL 0 +# define SYS_F_STAT 0 +# define SYS_F_FCNTL 0 +# define SYS_F_FSTAT 0 +# define SYS_F_SENDFILE 0 +# endif + +/* + * All ERR_R_ codes must be combined with ERR_RFLAG_COMMON. + */ + +/* "we came from here" global reason codes, range 1..255 */ +# define ERR_R_SYS_LIB (ERR_LIB_SYS/* 2 */ | ERR_RFLAG_COMMON) +# define ERR_R_BN_LIB (ERR_LIB_BN/* 3 */ | ERR_RFLAG_COMMON) +# define ERR_R_RSA_LIB (ERR_LIB_RSA/* 4 */ | ERR_RFLAG_COMMON) +# define ERR_R_DH_LIB (ERR_LIB_DH/* 5 */ | ERR_RFLAG_COMMON) +# define ERR_R_EVP_LIB (ERR_LIB_EVP/* 6 */ | ERR_RFLAG_COMMON) +# define ERR_R_BUF_LIB (ERR_LIB_BUF/* 7 */ | ERR_RFLAG_COMMON) +# define ERR_R_OBJ_LIB (ERR_LIB_OBJ/* 8 */ | ERR_RFLAG_COMMON) +# define ERR_R_PEM_LIB (ERR_LIB_PEM/* 9 */ | ERR_RFLAG_COMMON) +# define ERR_R_DSA_LIB (ERR_LIB_DSA/* 10 */ | ERR_RFLAG_COMMON) +# define ERR_R_X509_LIB (ERR_LIB_X509/* 11 */ | ERR_RFLAG_COMMON) +# define ERR_R_ASN1_LIB (ERR_LIB_ASN1/* 13 */ | ERR_RFLAG_COMMON) +# define ERR_R_CONF_LIB (ERR_LIB_CONF/* 14 */ | ERR_RFLAG_COMMON) +# define ERR_R_CRYPTO_LIB (ERR_LIB_CRYPTO/* 15 */ | ERR_RFLAG_COMMON) +# define ERR_R_EC_LIB (ERR_LIB_EC/* 16 */ | ERR_RFLAG_COMMON) +# define ERR_R_SSL_LIB (ERR_LIB_SSL/* 20 */ | ERR_RFLAG_COMMON) +# define ERR_R_BIO_LIB (ERR_LIB_BIO/* 32 */ | ERR_RFLAG_COMMON) +# define ERR_R_PKCS7_LIB (ERR_LIB_PKCS7/* 33 */ | ERR_RFLAG_COMMON) +# define ERR_R_X509V3_LIB (ERR_LIB_X509V3/* 34 */ | ERR_RFLAG_COMMON) +# define ERR_R_PKCS12_LIB (ERR_LIB_PKCS12/* 35 */ | ERR_RFLAG_COMMON) +# define ERR_R_RAND_LIB (ERR_LIB_RAND/* 36 */ | ERR_RFLAG_COMMON) +# define ERR_R_DSO_LIB (ERR_LIB_DSO/* 37 */ | ERR_RFLAG_COMMON) +# define ERR_R_ENGINE_LIB (ERR_LIB_ENGINE/* 38 */ | ERR_RFLAG_COMMON) +# define ERR_R_UI_LIB (ERR_LIB_UI/* 40 */ | ERR_RFLAG_COMMON) +# define ERR_R_ECDSA_LIB (ERR_LIB_ECDSA/* 42 */ | ERR_RFLAG_COMMON) +# define ERR_R_OSSL_STORE_LIB (ERR_LIB_OSSL_STORE/* 44 */ | ERR_RFLAG_COMMON) +# define ERR_R_CMS_LIB (ERR_LIB_CMS/* 46 */ | ERR_RFLAG_COMMON) +# define ERR_R_TS_LIB (ERR_LIB_TS/* 47 */ | ERR_RFLAG_COMMON) +# define ERR_R_CT_LIB (ERR_LIB_CT/* 50 */ | ERR_RFLAG_COMMON) +# define ERR_R_PROV_LIB (ERR_LIB_PROV/* 57 */ | ERR_RFLAG_COMMON) +# define ERR_R_ESS_LIB (ERR_LIB_ESS/* 54 */ | ERR_RFLAG_COMMON) +# define ERR_R_CMP_LIB (ERR_LIB_CMP/* 58 */ | ERR_RFLAG_COMMON) +# define ERR_R_OSSL_ENCODER_LIB (ERR_LIB_OSSL_ENCODER/* 59 */ | ERR_RFLAG_COMMON) +# define ERR_R_OSSL_DECODER_LIB (ERR_LIB_OSSL_DECODER/* 60 */ | ERR_RFLAG_COMMON) + +/* Other common error codes, range 256..2^ERR_RFLAGS_OFFSET-1 */ +# define ERR_R_FATAL (ERR_RFLAG_FATAL|ERR_RFLAG_COMMON) +# define ERR_R_MALLOC_FAILURE (256|ERR_R_FATAL) +# define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (257|ERR_R_FATAL) +# define ERR_R_PASSED_NULL_PARAMETER (258|ERR_R_FATAL) +# define ERR_R_INTERNAL_ERROR (259|ERR_R_FATAL) +# define ERR_R_DISABLED (260|ERR_R_FATAL) +# define ERR_R_INIT_FAIL (261|ERR_R_FATAL) +# define ERR_R_PASSED_INVALID_ARGUMENT (262|ERR_RFLAG_COMMON) +# define ERR_R_OPERATION_FAIL (263|ERR_R_FATAL) +# define ERR_R_INVALID_PROVIDER_FUNCTIONS (264|ERR_R_FATAL) +# define ERR_R_INTERRUPTED_OR_CANCELLED (265|ERR_RFLAG_COMMON) +# define ERR_R_NESTED_ASN1_ERROR (266|ERR_RFLAG_COMMON) +# define ERR_R_MISSING_ASN1_EOS (267|ERR_RFLAG_COMMON) +# define ERR_R_UNSUPPORTED (268|ERR_RFLAG_COMMON) +# define ERR_R_FETCH_FAILED (269|ERR_RFLAG_COMMON) +# define ERR_R_INVALID_PROPERTY_DEFINITION (270|ERR_RFLAG_COMMON) +# define ERR_R_UNABLE_TO_GET_READ_LOCK (271|ERR_R_FATAL) +# define ERR_R_UNABLE_TO_GET_WRITE_LOCK (272|ERR_R_FATAL) + +typedef struct ERR_string_data_st { + unsigned long error; + const char *string; +} ERR_STRING_DATA; + +DEFINE_LHASH_OF_INTERNAL(ERR_STRING_DATA); +#define lh_ERR_STRING_DATA_new(hfn, cmp) ((LHASH_OF(ERR_STRING_DATA) *)OPENSSL_LH_new(ossl_check_ERR_STRING_DATA_lh_hashfunc_type(hfn), ossl_check_ERR_STRING_DATA_lh_compfunc_type(cmp))) +#define lh_ERR_STRING_DATA_free(lh) OPENSSL_LH_free(ossl_check_ERR_STRING_DATA_lh_type(lh)) +#define lh_ERR_STRING_DATA_flush(lh) OPENSSL_LH_flush(ossl_check_ERR_STRING_DATA_lh_type(lh)) +#define lh_ERR_STRING_DATA_insert(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_insert(ossl_check_ERR_STRING_DATA_lh_type(lh), ossl_check_ERR_STRING_DATA_lh_plain_type(ptr))) +#define lh_ERR_STRING_DATA_delete(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_delete(ossl_check_ERR_STRING_DATA_lh_type(lh), ossl_check_const_ERR_STRING_DATA_lh_plain_type(ptr))) +#define lh_ERR_STRING_DATA_retrieve(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_retrieve(ossl_check_ERR_STRING_DATA_lh_type(lh), ossl_check_const_ERR_STRING_DATA_lh_plain_type(ptr))) +#define lh_ERR_STRING_DATA_error(lh) OPENSSL_LH_error(ossl_check_ERR_STRING_DATA_lh_type(lh)) +#define lh_ERR_STRING_DATA_num_items(lh) OPENSSL_LH_num_items(ossl_check_ERR_STRING_DATA_lh_type(lh)) +#define lh_ERR_STRING_DATA_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_ERR_STRING_DATA_lh_type(lh), out) +#define lh_ERR_STRING_DATA_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_ERR_STRING_DATA_lh_type(lh), out) +#define lh_ERR_STRING_DATA_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_ERR_STRING_DATA_lh_type(lh), out) +#define lh_ERR_STRING_DATA_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_ERR_STRING_DATA_lh_type(lh)) +#define lh_ERR_STRING_DATA_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_ERR_STRING_DATA_lh_type(lh), dl) +#define lh_ERR_STRING_DATA_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_ERR_STRING_DATA_lh_type(lh), ossl_check_ERR_STRING_DATA_lh_doallfunc_type(dfn)) + + +/* 12 lines and some on an 80 column terminal */ +#define ERR_MAX_DATA_SIZE 1024 + +/* Building blocks */ +void ERR_new(void); +void ERR_set_debug(const char *file, int line, const char *func); +void ERR_set_error(int lib, int reason, const char *fmt, ...); +void ERR_vset_error(int lib, int reason, const char *fmt, va_list args); + +/* Main error raising functions */ +# define ERR_raise(lib, reason) ERR_raise_data((lib),(reason),NULL) +# define ERR_raise_data \ + (ERR_new(), \ + ERR_set_debug(OPENSSL_FILE,OPENSSL_LINE,OPENSSL_FUNC), \ + ERR_set_error) + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +/* Backward compatibility */ +# define ERR_put_error(lib, func, reason, file, line) \ + (ERR_new(), \ + ERR_set_debug((file), (line), OPENSSL_FUNC), \ + ERR_set_error((lib), (reason), NULL)) +# endif + +void ERR_set_error_data(char *data, int flags); + +unsigned long ERR_get_error(void); +unsigned long ERR_get_error_all(const char **file, int *line, + const char **func, + const char **data, int *flags); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +unsigned long ERR_get_error_line(const char **file, int *line); +OSSL_DEPRECATEDIN_3_0 +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); +#endif +unsigned long ERR_peek_error(void); +unsigned long ERR_peek_error_line(const char **file, int *line); +unsigned long ERR_peek_error_func(const char **func); +unsigned long ERR_peek_error_data(const char **data, int *flags); +unsigned long ERR_peek_error_all(const char **file, int *line, + const char **func, + const char **data, int *flags); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); +# endif +unsigned long ERR_peek_last_error(void); +unsigned long ERR_peek_last_error_line(const char **file, int *line); +unsigned long ERR_peek_last_error_func(const char **func); +unsigned long ERR_peek_last_error_data(const char **data, int *flags); +unsigned long ERR_peek_last_error_all(const char **file, int *line, + const char **func, + const char **data, int *flags); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); +# endif + +void ERR_clear_error(void); + +char *ERR_error_string(unsigned long e, char *buf); +void ERR_error_string_n(unsigned long e, char *buf, size_t len); +const char *ERR_lib_error_string(unsigned long e); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 const char *ERR_func_error_string(unsigned long e); +# endif +const char *ERR_reason_error_string(unsigned long e); + +void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); +# ifndef OPENSSL_NO_STDIO +void ERR_print_errors_fp(FILE *fp); +# endif +void ERR_print_errors(BIO *bp); + +void ERR_add_error_data(int num, ...); +void ERR_add_error_vdata(int num, va_list args); +void ERR_add_error_txt(const char *sepr, const char *txt); +void ERR_add_error_mem_bio(const char *sep, BIO *bio); + +int ERR_load_strings(int lib, ERR_STRING_DATA *str); +int ERR_load_strings_const(const ERR_STRING_DATA *str); +int ERR_unload_strings(int lib, ERR_STRING_DATA *str); + +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define ERR_load_crypto_strings() \ + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) +# define ERR_free_strings() while(0) continue +#endif +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 void ERR_remove_thread_state(void *); +#endif +#ifndef OPENSSL_NO_DEPRECATED_1_0_0 +OSSL_DEPRECATEDIN_1_0_0 void ERR_remove_state(unsigned long pid); +#endif +#ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 ERR_STATE *ERR_get_state(void); +#endif + +int ERR_get_next_error_library(void); + +int ERR_set_mark(void); +int ERR_pop_to_mark(void); +int ERR_clear_last_mark(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ess.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ess.h new file mode 100644 index 00000000000000..4055bebbea2fd6 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ess.h @@ -0,0 +1,128 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/ess.h.in + * + * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_ESS_H +# define OPENSSL_ESS_H +# pragma once + +# include + +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + + +typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; +typedef struct ESS_cert_id ESS_CERT_ID; +typedef struct ESS_signing_cert ESS_SIGNING_CERT; + +SKM_DEFINE_STACK_OF_INTERNAL(ESS_CERT_ID, ESS_CERT_ID, ESS_CERT_ID) +#define sk_ESS_CERT_ID_num(sk) OPENSSL_sk_num(ossl_check_const_ESS_CERT_ID_sk_type(sk)) +#define sk_ESS_CERT_ID_value(sk, idx) ((ESS_CERT_ID *)OPENSSL_sk_value(ossl_check_const_ESS_CERT_ID_sk_type(sk), (idx))) +#define sk_ESS_CERT_ID_new(cmp) ((STACK_OF(ESS_CERT_ID) *)OPENSSL_sk_new(ossl_check_ESS_CERT_ID_compfunc_type(cmp))) +#define sk_ESS_CERT_ID_new_null() ((STACK_OF(ESS_CERT_ID) *)OPENSSL_sk_new_null()) +#define sk_ESS_CERT_ID_new_reserve(cmp, n) ((STACK_OF(ESS_CERT_ID) *)OPENSSL_sk_new_reserve(ossl_check_ESS_CERT_ID_compfunc_type(cmp), (n))) +#define sk_ESS_CERT_ID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ESS_CERT_ID_sk_type(sk), (n)) +#define sk_ESS_CERT_ID_free(sk) OPENSSL_sk_free(ossl_check_ESS_CERT_ID_sk_type(sk)) +#define sk_ESS_CERT_ID_zero(sk) OPENSSL_sk_zero(ossl_check_ESS_CERT_ID_sk_type(sk)) +#define sk_ESS_CERT_ID_delete(sk, i) ((ESS_CERT_ID *)OPENSSL_sk_delete(ossl_check_ESS_CERT_ID_sk_type(sk), (i))) +#define sk_ESS_CERT_ID_delete_ptr(sk, ptr) ((ESS_CERT_ID *)OPENSSL_sk_delete_ptr(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr))) +#define sk_ESS_CERT_ID_push(sk, ptr) OPENSSL_sk_push(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr)) +#define sk_ESS_CERT_ID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr)) +#define sk_ESS_CERT_ID_pop(sk) ((ESS_CERT_ID *)OPENSSL_sk_pop(ossl_check_ESS_CERT_ID_sk_type(sk))) +#define sk_ESS_CERT_ID_shift(sk) ((ESS_CERT_ID *)OPENSSL_sk_shift(ossl_check_ESS_CERT_ID_sk_type(sk))) +#define sk_ESS_CERT_ID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ESS_CERT_ID_sk_type(sk),ossl_check_ESS_CERT_ID_freefunc_type(freefunc)) +#define sk_ESS_CERT_ID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr), (idx)) +#define sk_ESS_CERT_ID_set(sk, idx, ptr) ((ESS_CERT_ID *)OPENSSL_sk_set(ossl_check_ESS_CERT_ID_sk_type(sk), (idx), ossl_check_ESS_CERT_ID_type(ptr))) +#define sk_ESS_CERT_ID_find(sk, ptr) OPENSSL_sk_find(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr)) +#define sk_ESS_CERT_ID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr)) +#define sk_ESS_CERT_ID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_type(ptr), pnum) +#define sk_ESS_CERT_ID_sort(sk) OPENSSL_sk_sort(ossl_check_ESS_CERT_ID_sk_type(sk)) +#define sk_ESS_CERT_ID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ESS_CERT_ID_sk_type(sk)) +#define sk_ESS_CERT_ID_dup(sk) ((STACK_OF(ESS_CERT_ID) *)OPENSSL_sk_dup(ossl_check_const_ESS_CERT_ID_sk_type(sk))) +#define sk_ESS_CERT_ID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ESS_CERT_ID) *)OPENSSL_sk_deep_copy(ossl_check_const_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_copyfunc_type(copyfunc), ossl_check_ESS_CERT_ID_freefunc_type(freefunc))) +#define sk_ESS_CERT_ID_set_cmp_func(sk, cmp) ((sk_ESS_CERT_ID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ESS_CERT_ID_sk_type(sk), ossl_check_ESS_CERT_ID_compfunc_type(cmp))) + + + +typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; +typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; + +SKM_DEFINE_STACK_OF_INTERNAL(ESS_CERT_ID_V2, ESS_CERT_ID_V2, ESS_CERT_ID_V2) +#define sk_ESS_CERT_ID_V2_num(sk) OPENSSL_sk_num(ossl_check_const_ESS_CERT_ID_V2_sk_type(sk)) +#define sk_ESS_CERT_ID_V2_value(sk, idx) ((ESS_CERT_ID_V2 *)OPENSSL_sk_value(ossl_check_const_ESS_CERT_ID_V2_sk_type(sk), (idx))) +#define sk_ESS_CERT_ID_V2_new(cmp) ((STACK_OF(ESS_CERT_ID_V2) *)OPENSSL_sk_new(ossl_check_ESS_CERT_ID_V2_compfunc_type(cmp))) +#define sk_ESS_CERT_ID_V2_new_null() ((STACK_OF(ESS_CERT_ID_V2) *)OPENSSL_sk_new_null()) +#define sk_ESS_CERT_ID_V2_new_reserve(cmp, n) ((STACK_OF(ESS_CERT_ID_V2) *)OPENSSL_sk_new_reserve(ossl_check_ESS_CERT_ID_V2_compfunc_type(cmp), (n))) +#define sk_ESS_CERT_ID_V2_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ESS_CERT_ID_V2_sk_type(sk), (n)) +#define sk_ESS_CERT_ID_V2_free(sk) OPENSSL_sk_free(ossl_check_ESS_CERT_ID_V2_sk_type(sk)) +#define sk_ESS_CERT_ID_V2_zero(sk) OPENSSL_sk_zero(ossl_check_ESS_CERT_ID_V2_sk_type(sk)) +#define sk_ESS_CERT_ID_V2_delete(sk, i) ((ESS_CERT_ID_V2 *)OPENSSL_sk_delete(ossl_check_ESS_CERT_ID_V2_sk_type(sk), (i))) +#define sk_ESS_CERT_ID_V2_delete_ptr(sk, ptr) ((ESS_CERT_ID_V2 *)OPENSSL_sk_delete_ptr(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr))) +#define sk_ESS_CERT_ID_V2_push(sk, ptr) OPENSSL_sk_push(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr)) +#define sk_ESS_CERT_ID_V2_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr)) +#define sk_ESS_CERT_ID_V2_pop(sk) ((ESS_CERT_ID_V2 *)OPENSSL_sk_pop(ossl_check_ESS_CERT_ID_V2_sk_type(sk))) +#define sk_ESS_CERT_ID_V2_shift(sk) ((ESS_CERT_ID_V2 *)OPENSSL_sk_shift(ossl_check_ESS_CERT_ID_V2_sk_type(sk))) +#define sk_ESS_CERT_ID_V2_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ESS_CERT_ID_V2_sk_type(sk),ossl_check_ESS_CERT_ID_V2_freefunc_type(freefunc)) +#define sk_ESS_CERT_ID_V2_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr), (idx)) +#define sk_ESS_CERT_ID_V2_set(sk, idx, ptr) ((ESS_CERT_ID_V2 *)OPENSSL_sk_set(ossl_check_ESS_CERT_ID_V2_sk_type(sk), (idx), ossl_check_ESS_CERT_ID_V2_type(ptr))) +#define sk_ESS_CERT_ID_V2_find(sk, ptr) OPENSSL_sk_find(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr)) +#define sk_ESS_CERT_ID_V2_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr)) +#define sk_ESS_CERT_ID_V2_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_type(ptr), pnum) +#define sk_ESS_CERT_ID_V2_sort(sk) OPENSSL_sk_sort(ossl_check_ESS_CERT_ID_V2_sk_type(sk)) +#define sk_ESS_CERT_ID_V2_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ESS_CERT_ID_V2_sk_type(sk)) +#define sk_ESS_CERT_ID_V2_dup(sk) ((STACK_OF(ESS_CERT_ID_V2) *)OPENSSL_sk_dup(ossl_check_const_ESS_CERT_ID_V2_sk_type(sk))) +#define sk_ESS_CERT_ID_V2_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ESS_CERT_ID_V2) *)OPENSSL_sk_deep_copy(ossl_check_const_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_copyfunc_type(copyfunc), ossl_check_ESS_CERT_ID_V2_freefunc_type(freefunc))) +#define sk_ESS_CERT_ID_V2_set_cmp_func(sk, cmp) ((sk_ESS_CERT_ID_V2_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ESS_CERT_ID_V2_sk_type(sk), ossl_check_ESS_CERT_ID_V2_compfunc_type(cmp))) + + +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_ISSUER_SERIAL) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_ISSUER_SERIAL, ESS_ISSUER_SERIAL) +DECLARE_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) + +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID, ESS_CERT_ID) +DECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID) + +DECLARE_ASN1_FUNCTIONS(ESS_SIGNING_CERT) +DECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) + +DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_CERT_ID_V2) +DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_CERT_ID_V2, ESS_CERT_ID_V2) +DECLARE_ASN1_DUP_FUNCTION(ESS_CERT_ID_V2) + +DECLARE_ASN1_FUNCTIONS(ESS_SIGNING_CERT_V2) +DECLARE_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT_V2) + +ESS_SIGNING_CERT *OSSL_ESS_signing_cert_new_init(const X509 *signcert, + const STACK_OF(X509) *certs, + int set_issuer_serial); +ESS_SIGNING_CERT_V2 *OSSL_ESS_signing_cert_v2_new_init(const EVP_MD *hash_alg, + const X509 *signcert, + const + STACK_OF(X509) *certs, + int set_issuer_serial); +int OSSL_ESS_check_signing_certs(const ESS_SIGNING_CERT *ss, + const ESS_SIGNING_CERT_V2 *ssv2, + const STACK_OF(X509) *chain, + int require_signing_cert); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/fipskey.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/fipskey.h new file mode 100644 index 00000000000000..42ba014b313ba8 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/fipskey.h @@ -0,0 +1,36 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/fipskey.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef OPENSSL_FIPSKEY_H +# define OPENSSL_FIPSKEY_H +# pragma once + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * The FIPS validation HMAC key, usable as an array initializer. + */ +#define FIPS_KEY_ELEMENTS \ + 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 + +/* + * The FIPS validation key, as a string. + */ +#define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/lhash.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/lhash.h new file mode 100644 index 00000000000000..39dd6254acdeb6 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/lhash.h @@ -0,0 +1,288 @@ +/* + * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +/* + * Header for dynamic hash table routines Author - Eric Young + */ + +#ifndef OPENSSL_LHASH_H +# define OPENSSL_LHASH_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_LHASH_H +# endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct lhash_node_st OPENSSL_LH_NODE; +typedef int (*OPENSSL_LH_COMPFUNC) (const void *, const void *); +typedef unsigned long (*OPENSSL_LH_HASHFUNC) (const void *); +typedef void (*OPENSSL_LH_DOALL_FUNC) (void *); +typedef void (*OPENSSL_LH_DOALL_FUNCARG) (void *, void *); +typedef struct lhash_st OPENSSL_LHASH; + +/* + * Macros for declaring and implementing type-safe wrappers for LHASH + * callbacks. This way, callbacks can be provided to LHASH structures without + * function pointer casting and the macro-defined callbacks provide + * per-variable casting before deferring to the underlying type-specific + * callbacks. NB: It is possible to place a "static" in front of both the + * DECLARE and IMPLEMENT macros if the functions are strictly internal. + */ + +/* First: "hash" functions */ +# define DECLARE_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *); +# define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ + unsigned long name##_LHASH_HASH(const void *arg) { \ + const o_type *a = arg; \ + return name##_hash(a); } +# define LHASH_HASH_FN(name) name##_LHASH_HASH + +/* Second: "compare" functions */ +# define DECLARE_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *, const void *); +# define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ + int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ + const o_type *a = arg1; \ + const o_type *b = arg2; \ + return name##_cmp(a,b); } +# define LHASH_COMP_FN(name) name##_LHASH_COMP + +/* Fourth: "doall_arg" functions */ +# define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *, void *); +# define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ + void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ + o_type *a = arg1; \ + a_type *b = arg2; \ + name##_doall_arg(a, b); } +# define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG + + +# define LH_LOAD_MULT 256 + +int OPENSSL_LH_error(OPENSSL_LHASH *lh); +OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c); +void OPENSSL_LH_free(OPENSSL_LHASH *lh); +void OPENSSL_LH_flush(OPENSSL_LHASH *lh); +void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data); +void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data); +void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data); +void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func); +void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg); +unsigned long OPENSSL_LH_strhash(const char *c); +unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh); +unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh); +void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load); + +# ifndef OPENSSL_NO_STDIO +void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp); +void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp); +void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp); +# endif +void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out); +void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out); +void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define _LHASH OPENSSL_LHASH +# define LHASH_NODE OPENSSL_LH_NODE +# define lh_error OPENSSL_LH_error +# define lh_new OPENSSL_LH_new +# define lh_free OPENSSL_LH_free +# define lh_insert OPENSSL_LH_insert +# define lh_delete OPENSSL_LH_delete +# define lh_retrieve OPENSSL_LH_retrieve +# define lh_doall OPENSSL_LH_doall +# define lh_doall_arg OPENSSL_LH_doall_arg +# define lh_strhash OPENSSL_LH_strhash +# define lh_num_items OPENSSL_LH_num_items +# ifndef OPENSSL_NO_STDIO +# define lh_stats OPENSSL_LH_stats +# define lh_node_stats OPENSSL_LH_node_stats +# define lh_node_usage_stats OPENSSL_LH_node_usage_stats +# endif +# define lh_stats_bio OPENSSL_LH_stats_bio +# define lh_node_stats_bio OPENSSL_LH_node_stats_bio +# define lh_node_usage_stats_bio OPENSSL_LH_node_usage_stats_bio +# endif + +/* Type checking... */ + +# define LHASH_OF(type) struct lhash_st_##type + +/* Helper macro for internal use */ +# define DEFINE_LHASH_OF_INTERNAL(type) \ + LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ + typedef int (*lh_##type##_compfunc)(const type *a, const type *b); \ + typedef unsigned long (*lh_##type##_hashfunc)(const type *a); \ + typedef void (*lh_##type##_doallfunc)(type *a); \ + static ossl_unused ossl_inline type *ossl_check_##type##_lh_plain_type(type *ptr) \ + { \ + return ptr; \ + } \ + static ossl_unused ossl_inline const type *ossl_check_const_##type##_lh_plain_type(const type *ptr) \ + { \ + return ptr; \ + } \ + static ossl_unused ossl_inline const OPENSSL_LHASH *ossl_check_const_##type##_lh_type(const LHASH_OF(type) *lh) \ + { \ + return (const OPENSSL_LHASH *)lh; \ + } \ + static ossl_unused ossl_inline OPENSSL_LHASH *ossl_check_##type##_lh_type(LHASH_OF(type) *lh) \ + { \ + return (OPENSSL_LHASH *)lh; \ + } \ + static ossl_unused ossl_inline OPENSSL_LH_COMPFUNC ossl_check_##type##_lh_compfunc_type(lh_##type##_compfunc cmp) \ + { \ + return (OPENSSL_LH_COMPFUNC)cmp; \ + } \ + static ossl_unused ossl_inline OPENSSL_LH_HASHFUNC ossl_check_##type##_lh_hashfunc_type(lh_##type##_hashfunc hfn) \ + { \ + return (OPENSSL_LH_HASHFUNC)hfn; \ + } \ + static ossl_unused ossl_inline OPENSSL_LH_DOALL_FUNC ossl_check_##type##_lh_doallfunc_type(lh_##type##_doallfunc dfn) \ + { \ + return (OPENSSL_LH_DOALL_FUNC)dfn; \ + } \ + LHASH_OF(type) + +# define DEFINE_LHASH_OF(type) \ + LHASH_OF(type) { union lh_##type##_dummy { void* d1; unsigned long d2; int d3; } dummy; }; \ + static ossl_unused ossl_inline LHASH_OF(type) *lh_##type##_new(unsigned long (*hfn)(const type *), \ + int (*cfn)(const type *, const type *)) \ + { \ + return (LHASH_OF(type) *) \ + OPENSSL_LH_new((OPENSSL_LH_HASHFUNC)hfn, (OPENSSL_LH_COMPFUNC)cfn); \ + } \ + static ossl_unused ossl_inline void lh_##type##_free(LHASH_OF(type) *lh) \ + { \ + OPENSSL_LH_free((OPENSSL_LHASH *)lh); \ + } \ + static ossl_unused ossl_inline void lh_##type##_flush(LHASH_OF(type) *lh) \ + { \ + OPENSSL_LH_flush((OPENSSL_LHASH *)lh); \ + } \ + static ossl_unused ossl_inline type *lh_##type##_insert(LHASH_OF(type) *lh, type *d) \ + { \ + return (type *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_unused ossl_inline type *lh_##type##_delete(LHASH_OF(type) *lh, const type *d) \ + { \ + return (type *)OPENSSL_LH_delete((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_unused ossl_inline type *lh_##type##_retrieve(LHASH_OF(type) *lh, const type *d) \ + { \ + return (type *)OPENSSL_LH_retrieve((OPENSSL_LHASH *)lh, d); \ + } \ + static ossl_unused ossl_inline int lh_##type##_error(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_error((OPENSSL_LHASH *)lh); \ + } \ + static ossl_unused ossl_inline unsigned long lh_##type##_num_items(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_num_items((OPENSSL_LHASH *)lh); \ + } \ + static ossl_unused ossl_inline void lh_##type##_node_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_node_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_unused ossl_inline void lh_##type##_node_usage_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_node_usage_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_unused ossl_inline void lh_##type##_stats_bio(const LHASH_OF(type) *lh, BIO *out) \ + { \ + OPENSSL_LH_stats_bio((const OPENSSL_LHASH *)lh, out); \ + } \ + static ossl_unused ossl_inline unsigned long lh_##type##_get_down_load(LHASH_OF(type) *lh) \ + { \ + return OPENSSL_LH_get_down_load((OPENSSL_LHASH *)lh); \ + } \ + static ossl_unused ossl_inline void lh_##type##_set_down_load(LHASH_OF(type) *lh, unsigned long dl) \ + { \ + OPENSSL_LH_set_down_load((OPENSSL_LHASH *)lh, dl); \ + } \ + static ossl_unused ossl_inline void lh_##type##_doall(LHASH_OF(type) *lh, \ + void (*doall)(type *)) \ + { \ + OPENSSL_LH_doall((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNC)doall); \ + } \ + static ossl_unused ossl_inline void lh_##type##_doall_arg(LHASH_OF(type) *lh, \ + void (*doallarg)(type *, void *), \ + void *arg) \ + { \ + OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, \ + (OPENSSL_LH_DOALL_FUNCARG)doallarg, arg); \ + } \ + LHASH_OF(type) + +#define IMPLEMENT_LHASH_DOALL_ARG_CONST(type, argtype) \ + int_implement_lhash_doall(type, argtype, const type) + +#define IMPLEMENT_LHASH_DOALL_ARG(type, argtype) \ + int_implement_lhash_doall(type, argtype, type) + +#define int_implement_lhash_doall(type, argtype, cbargtype) \ + static ossl_unused ossl_inline void \ + lh_##type##_doall_##argtype(LHASH_OF(type) *lh, \ + void (*fn)(cbargtype *, argtype *), \ + argtype *arg) \ + { \ + OPENSSL_LH_doall_arg((OPENSSL_LHASH *)lh, (OPENSSL_LH_DOALL_FUNCARG)fn, (void *)arg); \ + } \ + LHASH_OF(type) + +DEFINE_LHASH_OF_INTERNAL(OPENSSL_STRING); +#define lh_OPENSSL_STRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_STRING) *)OPENSSL_LH_new(ossl_check_OPENSSL_STRING_lh_hashfunc_type(hfn), ossl_check_OPENSSL_STRING_lh_compfunc_type(cmp))) +#define lh_OPENSSL_STRING_free(lh) OPENSSL_LH_free(ossl_check_OPENSSL_STRING_lh_type(lh)) +#define lh_OPENSSL_STRING_flush(lh) OPENSSL_LH_flush(ossl_check_OPENSSL_STRING_lh_type(lh)) +#define lh_OPENSSL_STRING_insert(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_insert(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_OPENSSL_STRING_lh_plain_type(ptr))) +#define lh_OPENSSL_STRING_delete(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_delete(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_const_OPENSSL_STRING_lh_plain_type(ptr))) +#define lh_OPENSSL_STRING_retrieve(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_retrieve(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_const_OPENSSL_STRING_lh_plain_type(ptr))) +#define lh_OPENSSL_STRING_error(lh) OPENSSL_LH_error(ossl_check_OPENSSL_STRING_lh_type(lh)) +#define lh_OPENSSL_STRING_num_items(lh) OPENSSL_LH_num_items(ossl_check_OPENSSL_STRING_lh_type(lh)) +#define lh_OPENSSL_STRING_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_OPENSSL_STRING_lh_type(lh), out) +#define lh_OPENSSL_STRING_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_OPENSSL_STRING_lh_type(lh), out) +#define lh_OPENSSL_STRING_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_OPENSSL_STRING_lh_type(lh), out) +#define lh_OPENSSL_STRING_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_OPENSSL_STRING_lh_type(lh)) +#define lh_OPENSSL_STRING_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_OPENSSL_STRING_lh_type(lh), dl) +#define lh_OPENSSL_STRING_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_OPENSSL_STRING_lh_doallfunc_type(dfn)) +DEFINE_LHASH_OF_INTERNAL(OPENSSL_CSTRING); +#define lh_OPENSSL_CSTRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_CSTRING) *)OPENSSL_LH_new(ossl_check_OPENSSL_CSTRING_lh_hashfunc_type(hfn), ossl_check_OPENSSL_CSTRING_lh_compfunc_type(cmp))) +#define lh_OPENSSL_CSTRING_free(lh) OPENSSL_LH_free(ossl_check_OPENSSL_CSTRING_lh_type(lh)) +#define lh_OPENSSL_CSTRING_flush(lh) OPENSSL_LH_flush(ossl_check_OPENSSL_CSTRING_lh_type(lh)) +#define lh_OPENSSL_CSTRING_insert(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_insert(ossl_check_OPENSSL_CSTRING_lh_type(lh), ossl_check_OPENSSL_CSTRING_lh_plain_type(ptr))) +#define lh_OPENSSL_CSTRING_delete(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_delete(ossl_check_OPENSSL_CSTRING_lh_type(lh), ossl_check_const_OPENSSL_CSTRING_lh_plain_type(ptr))) +#define lh_OPENSSL_CSTRING_retrieve(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_retrieve(ossl_check_OPENSSL_CSTRING_lh_type(lh), ossl_check_const_OPENSSL_CSTRING_lh_plain_type(ptr))) +#define lh_OPENSSL_CSTRING_error(lh) OPENSSL_LH_error(ossl_check_OPENSSL_CSTRING_lh_type(lh)) +#define lh_OPENSSL_CSTRING_num_items(lh) OPENSSL_LH_num_items(ossl_check_OPENSSL_CSTRING_lh_type(lh)) +#define lh_OPENSSL_CSTRING_node_stats_bio(lh, out) OPENSSL_LH_node_stats_bio(ossl_check_const_OPENSSL_CSTRING_lh_type(lh), out) +#define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh, out) OPENSSL_LH_node_usage_stats_bio(ossl_check_const_OPENSSL_CSTRING_lh_type(lh), out) +#define lh_OPENSSL_CSTRING_stats_bio(lh, out) OPENSSL_LH_stats_bio(ossl_check_const_OPENSSL_CSTRING_lh_type(lh), out) +#define lh_OPENSSL_CSTRING_get_down_load(lh) OPENSSL_LH_get_down_load(ossl_check_OPENSSL_CSTRING_lh_type(lh)) +#define lh_OPENSSL_CSTRING_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_OPENSSL_CSTRING_lh_type(lh), dl) +#define lh_OPENSSL_CSTRING_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_OPENSSL_CSTRING_lh_type(lh), ossl_check_OPENSSL_CSTRING_lh_doallfunc_type(dfn)) + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ocsp.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ocsp.h new file mode 100644 index 00000000000000..142b183140ba42 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ocsp.h @@ -0,0 +1,483 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/ocsp.h.in + * + * Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_OCSP_H +# define OPENSSL_OCSP_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_OCSP_H +# endif + +# include +# include +# include + +/* + * These definitions are outside the OPENSSL_NO_OCSP guard because although for + * historical reasons they have OCSP_* names, they can actually be used + * independently of OCSP. E.g. see RFC5280 + */ +/*- + * CRLReason ::= ENUMERATED { + * unspecified (0), + * keyCompromise (1), + * cACompromise (2), + * affiliationChanged (3), + * superseded (4), + * cessationOfOperation (5), + * certificateHold (6), + * -- value 7 is not used + * removeFromCRL (8), + * privilegeWithdrawn (9), + * aACompromise (10) } + */ +# define OCSP_REVOKED_STATUS_NOSTATUS -1 +# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +# define OCSP_REVOKED_STATUS_SUPERSEDED 4 +# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 +# define OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN 9 +# define OCSP_REVOKED_STATUS_AACOMPROMISE 10 + + +# ifndef OPENSSL_NO_OCSP + +# include +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +/* Various flags and values */ + +# define OCSP_DEFAULT_NONCE_LENGTH 16 + +# define OCSP_NOCERTS 0x1 +# define OCSP_NOINTERN 0x2 +# define OCSP_NOSIGS 0x4 +# define OCSP_NOCHAIN 0x8 +# define OCSP_NOVERIFY 0x10 +# define OCSP_NOEXPLICIT 0x20 +# define OCSP_NOCASIGN 0x40 +# define OCSP_NODELEGATED 0x80 +# define OCSP_NOCHECKS 0x100 +# define OCSP_TRUSTOTHER 0x200 +# define OCSP_RESPID_KEY 0x400 +# define OCSP_NOTIME 0x800 +# define OCSP_PARTIAL_CHAIN 0x1000 + +typedef struct ocsp_cert_id_st OCSP_CERTID; +typedef struct ocsp_one_request_st OCSP_ONEREQ; +typedef struct ocsp_req_info_st OCSP_REQINFO; +typedef struct ocsp_signature_st OCSP_SIGNATURE; +typedef struct ocsp_request_st OCSP_REQUEST; + +SKM_DEFINE_STACK_OF_INTERNAL(OCSP_CERTID, OCSP_CERTID, OCSP_CERTID) +#define sk_OCSP_CERTID_num(sk) OPENSSL_sk_num(ossl_check_const_OCSP_CERTID_sk_type(sk)) +#define sk_OCSP_CERTID_value(sk, idx) ((OCSP_CERTID *)OPENSSL_sk_value(ossl_check_const_OCSP_CERTID_sk_type(sk), (idx))) +#define sk_OCSP_CERTID_new(cmp) ((STACK_OF(OCSP_CERTID) *)OPENSSL_sk_new(ossl_check_OCSP_CERTID_compfunc_type(cmp))) +#define sk_OCSP_CERTID_new_null() ((STACK_OF(OCSP_CERTID) *)OPENSSL_sk_new_null()) +#define sk_OCSP_CERTID_new_reserve(cmp, n) ((STACK_OF(OCSP_CERTID) *)OPENSSL_sk_new_reserve(ossl_check_OCSP_CERTID_compfunc_type(cmp), (n))) +#define sk_OCSP_CERTID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OCSP_CERTID_sk_type(sk), (n)) +#define sk_OCSP_CERTID_free(sk) OPENSSL_sk_free(ossl_check_OCSP_CERTID_sk_type(sk)) +#define sk_OCSP_CERTID_zero(sk) OPENSSL_sk_zero(ossl_check_OCSP_CERTID_sk_type(sk)) +#define sk_OCSP_CERTID_delete(sk, i) ((OCSP_CERTID *)OPENSSL_sk_delete(ossl_check_OCSP_CERTID_sk_type(sk), (i))) +#define sk_OCSP_CERTID_delete_ptr(sk, ptr) ((OCSP_CERTID *)OPENSSL_sk_delete_ptr(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr))) +#define sk_OCSP_CERTID_push(sk, ptr) OPENSSL_sk_push(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr)) +#define sk_OCSP_CERTID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr)) +#define sk_OCSP_CERTID_pop(sk) ((OCSP_CERTID *)OPENSSL_sk_pop(ossl_check_OCSP_CERTID_sk_type(sk))) +#define sk_OCSP_CERTID_shift(sk) ((OCSP_CERTID *)OPENSSL_sk_shift(ossl_check_OCSP_CERTID_sk_type(sk))) +#define sk_OCSP_CERTID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OCSP_CERTID_sk_type(sk),ossl_check_OCSP_CERTID_freefunc_type(freefunc)) +#define sk_OCSP_CERTID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr), (idx)) +#define sk_OCSP_CERTID_set(sk, idx, ptr) ((OCSP_CERTID *)OPENSSL_sk_set(ossl_check_OCSP_CERTID_sk_type(sk), (idx), ossl_check_OCSP_CERTID_type(ptr))) +#define sk_OCSP_CERTID_find(sk, ptr) OPENSSL_sk_find(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr)) +#define sk_OCSP_CERTID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr)) +#define sk_OCSP_CERTID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_type(ptr), pnum) +#define sk_OCSP_CERTID_sort(sk) OPENSSL_sk_sort(ossl_check_OCSP_CERTID_sk_type(sk)) +#define sk_OCSP_CERTID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OCSP_CERTID_sk_type(sk)) +#define sk_OCSP_CERTID_dup(sk) ((STACK_OF(OCSP_CERTID) *)OPENSSL_sk_dup(ossl_check_const_OCSP_CERTID_sk_type(sk))) +#define sk_OCSP_CERTID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OCSP_CERTID) *)OPENSSL_sk_deep_copy(ossl_check_const_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_copyfunc_type(copyfunc), ossl_check_OCSP_CERTID_freefunc_type(freefunc))) +#define sk_OCSP_CERTID_set_cmp_func(sk, cmp) ((sk_OCSP_CERTID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OCSP_CERTID_sk_type(sk), ossl_check_OCSP_CERTID_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(OCSP_ONEREQ, OCSP_ONEREQ, OCSP_ONEREQ) +#define sk_OCSP_ONEREQ_num(sk) OPENSSL_sk_num(ossl_check_const_OCSP_ONEREQ_sk_type(sk)) +#define sk_OCSP_ONEREQ_value(sk, idx) ((OCSP_ONEREQ *)OPENSSL_sk_value(ossl_check_const_OCSP_ONEREQ_sk_type(sk), (idx))) +#define sk_OCSP_ONEREQ_new(cmp) ((STACK_OF(OCSP_ONEREQ) *)OPENSSL_sk_new(ossl_check_OCSP_ONEREQ_compfunc_type(cmp))) +#define sk_OCSP_ONEREQ_new_null() ((STACK_OF(OCSP_ONEREQ) *)OPENSSL_sk_new_null()) +#define sk_OCSP_ONEREQ_new_reserve(cmp, n) ((STACK_OF(OCSP_ONEREQ) *)OPENSSL_sk_new_reserve(ossl_check_OCSP_ONEREQ_compfunc_type(cmp), (n))) +#define sk_OCSP_ONEREQ_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OCSP_ONEREQ_sk_type(sk), (n)) +#define sk_OCSP_ONEREQ_free(sk) OPENSSL_sk_free(ossl_check_OCSP_ONEREQ_sk_type(sk)) +#define sk_OCSP_ONEREQ_zero(sk) OPENSSL_sk_zero(ossl_check_OCSP_ONEREQ_sk_type(sk)) +#define sk_OCSP_ONEREQ_delete(sk, i) ((OCSP_ONEREQ *)OPENSSL_sk_delete(ossl_check_OCSP_ONEREQ_sk_type(sk), (i))) +#define sk_OCSP_ONEREQ_delete_ptr(sk, ptr) ((OCSP_ONEREQ *)OPENSSL_sk_delete_ptr(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr))) +#define sk_OCSP_ONEREQ_push(sk, ptr) OPENSSL_sk_push(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr)) +#define sk_OCSP_ONEREQ_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr)) +#define sk_OCSP_ONEREQ_pop(sk) ((OCSP_ONEREQ *)OPENSSL_sk_pop(ossl_check_OCSP_ONEREQ_sk_type(sk))) +#define sk_OCSP_ONEREQ_shift(sk) ((OCSP_ONEREQ *)OPENSSL_sk_shift(ossl_check_OCSP_ONEREQ_sk_type(sk))) +#define sk_OCSP_ONEREQ_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OCSP_ONEREQ_sk_type(sk),ossl_check_OCSP_ONEREQ_freefunc_type(freefunc)) +#define sk_OCSP_ONEREQ_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr), (idx)) +#define sk_OCSP_ONEREQ_set(sk, idx, ptr) ((OCSP_ONEREQ *)OPENSSL_sk_set(ossl_check_OCSP_ONEREQ_sk_type(sk), (idx), ossl_check_OCSP_ONEREQ_type(ptr))) +#define sk_OCSP_ONEREQ_find(sk, ptr) OPENSSL_sk_find(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr)) +#define sk_OCSP_ONEREQ_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr)) +#define sk_OCSP_ONEREQ_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_type(ptr), pnum) +#define sk_OCSP_ONEREQ_sort(sk) OPENSSL_sk_sort(ossl_check_OCSP_ONEREQ_sk_type(sk)) +#define sk_OCSP_ONEREQ_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OCSP_ONEREQ_sk_type(sk)) +#define sk_OCSP_ONEREQ_dup(sk) ((STACK_OF(OCSP_ONEREQ) *)OPENSSL_sk_dup(ossl_check_const_OCSP_ONEREQ_sk_type(sk))) +#define sk_OCSP_ONEREQ_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OCSP_ONEREQ) *)OPENSSL_sk_deep_copy(ossl_check_const_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_copyfunc_type(copyfunc), ossl_check_OCSP_ONEREQ_freefunc_type(freefunc))) +#define sk_OCSP_ONEREQ_set_cmp_func(sk, cmp) ((sk_OCSP_ONEREQ_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OCSP_ONEREQ_sk_type(sk), ossl_check_OCSP_ONEREQ_compfunc_type(cmp))) + + +# define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 +# define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 +# define OCSP_RESPONSE_STATUS_INTERNALERROR 2 +# define OCSP_RESPONSE_STATUS_TRYLATER 3 +# define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 +# define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 + +typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; + +# define V_OCSP_RESPID_NAME 0 +# define V_OCSP_RESPID_KEY 1 + +SKM_DEFINE_STACK_OF_INTERNAL(OCSP_RESPID, OCSP_RESPID, OCSP_RESPID) +#define sk_OCSP_RESPID_num(sk) OPENSSL_sk_num(ossl_check_const_OCSP_RESPID_sk_type(sk)) +#define sk_OCSP_RESPID_value(sk, idx) ((OCSP_RESPID *)OPENSSL_sk_value(ossl_check_const_OCSP_RESPID_sk_type(sk), (idx))) +#define sk_OCSP_RESPID_new(cmp) ((STACK_OF(OCSP_RESPID) *)OPENSSL_sk_new(ossl_check_OCSP_RESPID_compfunc_type(cmp))) +#define sk_OCSP_RESPID_new_null() ((STACK_OF(OCSP_RESPID) *)OPENSSL_sk_new_null()) +#define sk_OCSP_RESPID_new_reserve(cmp, n) ((STACK_OF(OCSP_RESPID) *)OPENSSL_sk_new_reserve(ossl_check_OCSP_RESPID_compfunc_type(cmp), (n))) +#define sk_OCSP_RESPID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OCSP_RESPID_sk_type(sk), (n)) +#define sk_OCSP_RESPID_free(sk) OPENSSL_sk_free(ossl_check_OCSP_RESPID_sk_type(sk)) +#define sk_OCSP_RESPID_zero(sk) OPENSSL_sk_zero(ossl_check_OCSP_RESPID_sk_type(sk)) +#define sk_OCSP_RESPID_delete(sk, i) ((OCSP_RESPID *)OPENSSL_sk_delete(ossl_check_OCSP_RESPID_sk_type(sk), (i))) +#define sk_OCSP_RESPID_delete_ptr(sk, ptr) ((OCSP_RESPID *)OPENSSL_sk_delete_ptr(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr))) +#define sk_OCSP_RESPID_push(sk, ptr) OPENSSL_sk_push(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr)) +#define sk_OCSP_RESPID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr)) +#define sk_OCSP_RESPID_pop(sk) ((OCSP_RESPID *)OPENSSL_sk_pop(ossl_check_OCSP_RESPID_sk_type(sk))) +#define sk_OCSP_RESPID_shift(sk) ((OCSP_RESPID *)OPENSSL_sk_shift(ossl_check_OCSP_RESPID_sk_type(sk))) +#define sk_OCSP_RESPID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OCSP_RESPID_sk_type(sk),ossl_check_OCSP_RESPID_freefunc_type(freefunc)) +#define sk_OCSP_RESPID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr), (idx)) +#define sk_OCSP_RESPID_set(sk, idx, ptr) ((OCSP_RESPID *)OPENSSL_sk_set(ossl_check_OCSP_RESPID_sk_type(sk), (idx), ossl_check_OCSP_RESPID_type(ptr))) +#define sk_OCSP_RESPID_find(sk, ptr) OPENSSL_sk_find(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr)) +#define sk_OCSP_RESPID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr)) +#define sk_OCSP_RESPID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_type(ptr), pnum) +#define sk_OCSP_RESPID_sort(sk) OPENSSL_sk_sort(ossl_check_OCSP_RESPID_sk_type(sk)) +#define sk_OCSP_RESPID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OCSP_RESPID_sk_type(sk)) +#define sk_OCSP_RESPID_dup(sk) ((STACK_OF(OCSP_RESPID) *)OPENSSL_sk_dup(ossl_check_const_OCSP_RESPID_sk_type(sk))) +#define sk_OCSP_RESPID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OCSP_RESPID) *)OPENSSL_sk_deep_copy(ossl_check_const_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_copyfunc_type(copyfunc), ossl_check_OCSP_RESPID_freefunc_type(freefunc))) +#define sk_OCSP_RESPID_set_cmp_func(sk, cmp) ((sk_OCSP_RESPID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OCSP_RESPID_sk_type(sk), ossl_check_OCSP_RESPID_compfunc_type(cmp))) + + +typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; + +# define V_OCSP_CERTSTATUS_GOOD 0 +# define V_OCSP_CERTSTATUS_REVOKED 1 +# define V_OCSP_CERTSTATUS_UNKNOWN 2 + +typedef struct ocsp_cert_status_st OCSP_CERTSTATUS; +typedef struct ocsp_single_response_st OCSP_SINGLERESP; + +SKM_DEFINE_STACK_OF_INTERNAL(OCSP_SINGLERESP, OCSP_SINGLERESP, OCSP_SINGLERESP) +#define sk_OCSP_SINGLERESP_num(sk) OPENSSL_sk_num(ossl_check_const_OCSP_SINGLERESP_sk_type(sk)) +#define sk_OCSP_SINGLERESP_value(sk, idx) ((OCSP_SINGLERESP *)OPENSSL_sk_value(ossl_check_const_OCSP_SINGLERESP_sk_type(sk), (idx))) +#define sk_OCSP_SINGLERESP_new(cmp) ((STACK_OF(OCSP_SINGLERESP) *)OPENSSL_sk_new(ossl_check_OCSP_SINGLERESP_compfunc_type(cmp))) +#define sk_OCSP_SINGLERESP_new_null() ((STACK_OF(OCSP_SINGLERESP) *)OPENSSL_sk_new_null()) +#define sk_OCSP_SINGLERESP_new_reserve(cmp, n) ((STACK_OF(OCSP_SINGLERESP) *)OPENSSL_sk_new_reserve(ossl_check_OCSP_SINGLERESP_compfunc_type(cmp), (n))) +#define sk_OCSP_SINGLERESP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OCSP_SINGLERESP_sk_type(sk), (n)) +#define sk_OCSP_SINGLERESP_free(sk) OPENSSL_sk_free(ossl_check_OCSP_SINGLERESP_sk_type(sk)) +#define sk_OCSP_SINGLERESP_zero(sk) OPENSSL_sk_zero(ossl_check_OCSP_SINGLERESP_sk_type(sk)) +#define sk_OCSP_SINGLERESP_delete(sk, i) ((OCSP_SINGLERESP *)OPENSSL_sk_delete(ossl_check_OCSP_SINGLERESP_sk_type(sk), (i))) +#define sk_OCSP_SINGLERESP_delete_ptr(sk, ptr) ((OCSP_SINGLERESP *)OPENSSL_sk_delete_ptr(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr))) +#define sk_OCSP_SINGLERESP_push(sk, ptr) OPENSSL_sk_push(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr)) +#define sk_OCSP_SINGLERESP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr)) +#define sk_OCSP_SINGLERESP_pop(sk) ((OCSP_SINGLERESP *)OPENSSL_sk_pop(ossl_check_OCSP_SINGLERESP_sk_type(sk))) +#define sk_OCSP_SINGLERESP_shift(sk) ((OCSP_SINGLERESP *)OPENSSL_sk_shift(ossl_check_OCSP_SINGLERESP_sk_type(sk))) +#define sk_OCSP_SINGLERESP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OCSP_SINGLERESP_sk_type(sk),ossl_check_OCSP_SINGLERESP_freefunc_type(freefunc)) +#define sk_OCSP_SINGLERESP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr), (idx)) +#define sk_OCSP_SINGLERESP_set(sk, idx, ptr) ((OCSP_SINGLERESP *)OPENSSL_sk_set(ossl_check_OCSP_SINGLERESP_sk_type(sk), (idx), ossl_check_OCSP_SINGLERESP_type(ptr))) +#define sk_OCSP_SINGLERESP_find(sk, ptr) OPENSSL_sk_find(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr)) +#define sk_OCSP_SINGLERESP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr)) +#define sk_OCSP_SINGLERESP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_type(ptr), pnum) +#define sk_OCSP_SINGLERESP_sort(sk) OPENSSL_sk_sort(ossl_check_OCSP_SINGLERESP_sk_type(sk)) +#define sk_OCSP_SINGLERESP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OCSP_SINGLERESP_sk_type(sk)) +#define sk_OCSP_SINGLERESP_dup(sk) ((STACK_OF(OCSP_SINGLERESP) *)OPENSSL_sk_dup(ossl_check_const_OCSP_SINGLERESP_sk_type(sk))) +#define sk_OCSP_SINGLERESP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OCSP_SINGLERESP) *)OPENSSL_sk_deep_copy(ossl_check_const_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_copyfunc_type(copyfunc), ossl_check_OCSP_SINGLERESP_freefunc_type(freefunc))) +#define sk_OCSP_SINGLERESP_set_cmp_func(sk, cmp) ((sk_OCSP_SINGLERESP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OCSP_SINGLERESP_sk_type(sk), ossl_check_OCSP_SINGLERESP_compfunc_type(cmp))) + + +typedef struct ocsp_response_data_st OCSP_RESPDATA; + +typedef struct ocsp_basic_response_st OCSP_BASICRESP; + +typedef struct ocsp_crl_id_st OCSP_CRLID; +typedef struct ocsp_service_locator_st OCSP_SERVICELOC; + +# define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +# define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" + +# define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) + +# define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) + +# define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ + (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST, \ + bp,(char **)(x),cb,NULL) + +# define PEM_read_bio_OCSP_RESPONSE(bp,x,cb) (OCSP_RESPONSE *)PEM_ASN1_read_bio(\ + (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE, \ + bp,(char **)(x),cb,NULL) + +# define PEM_write_bio_OCSP_REQUEST(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ + bp,(char *)(o), NULL,NULL,0,NULL,NULL) + +# define PEM_write_bio_OCSP_RESPONSE(bp,o) \ + PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ + bp,(char *)(o), NULL,NULL,0,NULL,NULL) + +# define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) + +# define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) + +# define ASN1_BIT_STRING_digest(data,type,md,len) \ + ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) + +# define OCSP_CERTSTATUS_dup(cs)\ + (OCSP_CERTSTATUS*)ASN1_dup((i2d_of_void *)i2d_OCSP_CERTSTATUS,\ + (d2i_of_void *)d2i_OCSP_CERTSTATUS,(char *)(cs)) + +DECLARE_ASN1_DUP_FUNCTION(OCSP_CERTID) + +OSSL_HTTP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, + const OCSP_REQUEST *req, int buf_size); +OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +typedef OSSL_HTTP_REQ_CTX OCSP_REQ_CTX; +# define OCSP_REQ_CTX_new(io, buf_size) \ + OSSL_HTTP_REQ_CTX_new(io, io, buf_size) +# define OCSP_REQ_CTX_free OSSL_HTTP_REQ_CTX_free +# define OCSP_REQ_CTX_http(rctx, op, path) \ + (OSSL_HTTP_REQ_CTX_set_expected(rctx, NULL, 1 /* asn1 */, 0, 0) && \ + OSSL_HTTP_REQ_CTX_set_request_line(rctx, strcmp(op, "POST") == 0, \ + NULL, NULL, path)) +# define OCSP_REQ_CTX_add1_header OSSL_HTTP_REQ_CTX_add1_header +# define OCSP_REQ_CTX_i2d(r, it, req) \ + OSSL_HTTP_REQ_CTX_set1_req(r, "application/ocsp-request", it, req) +# define OCSP_REQ_CTX_set1_req(r, req) \ + OCSP_REQ_CTX_i2d(r, ASN1_ITEM_rptr(OCSP_REQUEST), (ASN1_VALUE *)(req)) +# define OCSP_REQ_CTX_nbio OSSL_HTTP_REQ_CTX_nbio +# define OCSP_REQ_CTX_nbio_d2i OSSL_HTTP_REQ_CTX_nbio_d2i +# define OCSP_sendreq_nbio(p, r) \ + OSSL_HTTP_REQ_CTX_nbio_d2i(r, (ASN1_VALUE **)(p), \ + ASN1_ITEM_rptr(OCSP_RESPONSE)) +# define OCSP_REQ_CTX_get0_mem_bio OSSL_HTTP_REQ_CTX_get0_mem_bio +# define OCSP_set_max_response_length OSSL_HTTP_REQ_CTX_set_max_response_length +# endif + +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, + const X509 *issuer); + +OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, + const X509_NAME *issuerName, + const ASN1_BIT_STRING *issuerKey, + const ASN1_INTEGER *serialNumber); + +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); + +int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); +int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); +int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); +int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); + +int OCSP_request_set1_name(OCSP_REQUEST *req, const X509_NAME *nm); +int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); + +int OCSP_request_sign(OCSP_REQUEST *req, + X509 *signer, + EVP_PKEY *key, + const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); + +int OCSP_response_status(OCSP_RESPONSE *resp); +OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); + +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs); +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs); +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer, + STACK_OF(X509) *extra_certs); + +int OCSP_resp_count(OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP* bs); +const STACK_OF(X509) *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs); +int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, + const ASN1_OCTET_STRING **pid, + const X509_NAME **pname); +int OCSP_resp_get1_id(const OCSP_BASICRESP *bs, + ASN1_OCTET_STRING **pid, + X509_NAME **pname); + +int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); +int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, + int *reason, + ASN1_GENERALIZEDTIME **revtime, + ASN1_GENERALIZEDTIME **thisupd, + ASN1_GENERALIZEDTIME **nextupd); +int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, + ASN1_GENERALIZEDTIME *nextupd, long sec, long maxsec); + +int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, + X509_STORE *store, unsigned long flags); + +# define OCSP_parse_url(url, host, port, path, ssl) \ + OSSL_HTTP_parse_url(url, ssl, NULL, host, port, NULL, path, NULL, NULL) + +int OCSP_id_issuer_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b); +int OCSP_id_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b); + +int OCSP_request_onereq_count(OCSP_REQUEST *req); +OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); +OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); +int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, + ASN1_OCTET_STRING **pikeyHash, + ASN1_INTEGER **pserial, OCSP_CERTID *cid); +int OCSP_request_is_signed(OCSP_REQUEST *req); +OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); +OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, + OCSP_CERTID *cid, + int status, int reason, + ASN1_TIME *revtime, + ASN1_TIME *thisupd, + ASN1_TIME *nextupd); +int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); +int OCSP_basic_sign(OCSP_BASICRESP *brsp, + X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, + STACK_OF(X509) *certs, unsigned long flags); +int OCSP_basic_sign_ctx(OCSP_BASICRESP *brsp, + X509 *signer, EVP_MD_CTX *ctx, + STACK_OF(X509) *certs, unsigned long flags); +int OCSP_RESPID_set_by_name(OCSP_RESPID *respid, X509 *cert); +int OCSP_RESPID_set_by_key_ex(OCSP_RESPID *respid, X509 *cert, + OSSL_LIB_CTX *libctx, const char *propq); +int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert); +int OCSP_RESPID_match_ex(OCSP_RESPID *respid, X509 *cert, OSSL_LIB_CTX *libctx, + const char *propq); +int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert); + +X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim); + +X509_EXTENSION *OCSP_accept_responses_new(char **oids); + +X509_EXTENSION *OCSP_archive_cutoff_new(char *tim); + +X509_EXTENSION *OCSP_url_svcloc_new(const X509_NAME *issuer, const char **urls); + +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); +int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); +int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); +X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); +void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, + int *idx); +int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); + +int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); +int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); +int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj, int lastpos); +int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); +X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); +X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); +void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); +int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, + unsigned long flags); +int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); + +int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); +int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); +int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); +X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); +void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, + int *idx); +int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); + +int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); +int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); +int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, const ASN1_OBJECT *obj, + int lastpos); +int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, + int lastpos); +X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); +X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); +void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, + int *idx); +int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, + int crit, unsigned long flags); +int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *x); + +DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) +DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) +DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) +DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) +DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) +DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) +DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) +DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) +DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) +DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) + +const char *OCSP_response_status_str(long s); +const char *OCSP_cert_status_str(long s); +const char *OCSP_crl_reason_str(long s); + +int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *a, unsigned long flags); +int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags); + +int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, + X509_STORE *st, unsigned long flags); + + +# ifdef __cplusplus +} +# endif +# endif /* !defined(OPENSSL_NO_OCSP) */ +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h new file mode 100644 index 00000000000000..086d6f011ed1a7 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h @@ -0,0 +1,114 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslv.h.in + * + * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef OPENSSL_OPENSSLV_H +# define OPENSSL_OPENSSLV_H +# pragma once + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * SECTION 1: VERSION DATA. These will change for each release + */ + +/* + * Base version macros + * + * These macros express version number MAJOR.MINOR.PATCH exactly + */ +# define OPENSSL_VERSION_MAJOR 3 +# define OPENSSL_VERSION_MINOR 0 +# define OPENSSL_VERSION_PATCH 8 + +/* + * Additional version information + * + * These are also part of the new version scheme, but aren't part + * of the version number itself. + */ + +/* Could be: #define OPENSSL_VERSION_PRE_RELEASE "-alpha.1" */ +# define OPENSSL_VERSION_PRE_RELEASE "" +/* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+fips" */ +/* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+vendor.1" */ +# define OPENSSL_VERSION_BUILD_METADATA "+quic" + +/* + * Note: The OpenSSL Project will never define OPENSSL_VERSION_BUILD_METADATA + * to be anything but the empty string. Its use is entirely reserved for + * others + */ + +/* + * Shared library version + * + * This is strictly to express ABI version, which may or may not + * be related to the API version expressed with the macros above. + * This is defined in free form. + */ +# define OPENSSL_SHLIB_VERSION 81.3 + +/* + * SECTION 2: USEFUL MACROS + */ + +/* For checking general API compatibility when preprocessing */ +# define OPENSSL_VERSION_PREREQ(maj,min) \ + ((OPENSSL_VERSION_MAJOR << 16) + OPENSSL_VERSION_MINOR >= ((maj) << 16) + (min)) + +/* + * Macros to get the version in easily digested string form, both the short + * "MAJOR.MINOR.PATCH" variant (where MAJOR, MINOR and PATCH are replaced + * with the values from the corresponding OPENSSL_VERSION_ macros) and the + * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and + * OPENSSL_VERSION_BUILD_METADATA_STR appended. + */ +# define OPENSSL_VERSION_STR "3.0.8" +# define OPENSSL_FULL_VERSION_STR "3.0.8+quic" + +/* + * SECTION 3: ADDITIONAL METADATA + * + * These strings are defined separately to allow them to be parsable. + */ +# define OPENSSL_RELEASE_DATE "7 Feb 2023" + +/* + * SECTION 4: BACKWARD COMPATIBILITY + */ + +# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.8+quic 7 Feb 2023" + +/* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */ +# ifdef OPENSSL_VERSION_PRE_RELEASE +# define _OPENSSL_VERSION_PRE_RELEASE 0x0L +# else +# define _OPENSSL_VERSION_PRE_RELEASE 0xfL +# endif +# define OPENSSL_VERSION_NUMBER \ + ( (OPENSSL_VERSION_MAJOR<<28) \ + |(OPENSSL_VERSION_MINOR<<20) \ + |(OPENSSL_VERSION_PATCH<<4) \ + |_OPENSSL_VERSION_PRE_RELEASE ) + +# ifdef __cplusplus +} +# endif + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_OPENSSLV_H +# endif + +#endif /* OPENSSL_OPENSSLV_H */ diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs12.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs12.h new file mode 100644 index 00000000000000..c5e0cab06491ec --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs12.h @@ -0,0 +1,350 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/pkcs12.h.in + * + * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_PKCS12_H +# define OPENSSL_PKCS12_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_PKCS12_H +# endif + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define PKCS12_KEY_ID 1 +# define PKCS12_IV_ID 2 +# define PKCS12_MAC_ID 3 + +/* Default iteration count */ +# ifndef PKCS12_DEFAULT_ITER +# define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER +# endif + +# define PKCS12_MAC_KEY_LENGTH 20 + +# define PKCS12_SALT_LEN 8 + +/* It's not clear if these are actually needed... */ +# define PKCS12_key_gen PKCS12_key_gen_utf8 +# define PKCS12_add_friendlyname PKCS12_add_friendlyname_utf8 + +/* MS key usage constants */ + +# define KEY_EX 0x10 +# define KEY_SIG 0x80 + +typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; + +typedef struct PKCS12_st PKCS12; + +typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; + +SKM_DEFINE_STACK_OF_INTERNAL(PKCS12_SAFEBAG, PKCS12_SAFEBAG, PKCS12_SAFEBAG) +#define sk_PKCS12_SAFEBAG_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS12_SAFEBAG_sk_type(sk)) +#define sk_PKCS12_SAFEBAG_value(sk, idx) ((PKCS12_SAFEBAG *)OPENSSL_sk_value(ossl_check_const_PKCS12_SAFEBAG_sk_type(sk), (idx))) +#define sk_PKCS12_SAFEBAG_new(cmp) ((STACK_OF(PKCS12_SAFEBAG) *)OPENSSL_sk_new(ossl_check_PKCS12_SAFEBAG_compfunc_type(cmp))) +#define sk_PKCS12_SAFEBAG_new_null() ((STACK_OF(PKCS12_SAFEBAG) *)OPENSSL_sk_new_null()) +#define sk_PKCS12_SAFEBAG_new_reserve(cmp, n) ((STACK_OF(PKCS12_SAFEBAG) *)OPENSSL_sk_new_reserve(ossl_check_PKCS12_SAFEBAG_compfunc_type(cmp), (n))) +#define sk_PKCS12_SAFEBAG_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS12_SAFEBAG_sk_type(sk), (n)) +#define sk_PKCS12_SAFEBAG_free(sk) OPENSSL_sk_free(ossl_check_PKCS12_SAFEBAG_sk_type(sk)) +#define sk_PKCS12_SAFEBAG_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS12_SAFEBAG_sk_type(sk)) +#define sk_PKCS12_SAFEBAG_delete(sk, i) ((PKCS12_SAFEBAG *)OPENSSL_sk_delete(ossl_check_PKCS12_SAFEBAG_sk_type(sk), (i))) +#define sk_PKCS12_SAFEBAG_delete_ptr(sk, ptr) ((PKCS12_SAFEBAG *)OPENSSL_sk_delete_ptr(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr))) +#define sk_PKCS12_SAFEBAG_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr)) +#define sk_PKCS12_SAFEBAG_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr)) +#define sk_PKCS12_SAFEBAG_pop(sk) ((PKCS12_SAFEBAG *)OPENSSL_sk_pop(ossl_check_PKCS12_SAFEBAG_sk_type(sk))) +#define sk_PKCS12_SAFEBAG_shift(sk) ((PKCS12_SAFEBAG *)OPENSSL_sk_shift(ossl_check_PKCS12_SAFEBAG_sk_type(sk))) +#define sk_PKCS12_SAFEBAG_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS12_SAFEBAG_sk_type(sk),ossl_check_PKCS12_SAFEBAG_freefunc_type(freefunc)) +#define sk_PKCS12_SAFEBAG_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr), (idx)) +#define sk_PKCS12_SAFEBAG_set(sk, idx, ptr) ((PKCS12_SAFEBAG *)OPENSSL_sk_set(ossl_check_PKCS12_SAFEBAG_sk_type(sk), (idx), ossl_check_PKCS12_SAFEBAG_type(ptr))) +#define sk_PKCS12_SAFEBAG_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr)) +#define sk_PKCS12_SAFEBAG_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr)) +#define sk_PKCS12_SAFEBAG_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_type(ptr), pnum) +#define sk_PKCS12_SAFEBAG_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS12_SAFEBAG_sk_type(sk)) +#define sk_PKCS12_SAFEBAG_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS12_SAFEBAG_sk_type(sk)) +#define sk_PKCS12_SAFEBAG_dup(sk) ((STACK_OF(PKCS12_SAFEBAG) *)OPENSSL_sk_dup(ossl_check_const_PKCS12_SAFEBAG_sk_type(sk))) +#define sk_PKCS12_SAFEBAG_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS12_SAFEBAG) *)OPENSSL_sk_deep_copy(ossl_check_const_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_copyfunc_type(copyfunc), ossl_check_PKCS12_SAFEBAG_freefunc_type(freefunc))) +#define sk_PKCS12_SAFEBAG_set_cmp_func(sk, cmp) ((sk_PKCS12_SAFEBAG_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PKCS12_SAFEBAG_sk_type(sk), ossl_check_PKCS12_SAFEBAG_compfunc_type(cmp))) + + +typedef struct pkcs12_bag_st PKCS12_BAGS; + +# define PKCS12_ERROR 0 +# define PKCS12_OK 1 + +/* Compatibility macros */ + +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 + +# define M_PKCS12_bag_type PKCS12_bag_type +# define M_PKCS12_cert_bag_type PKCS12_cert_bag_type +# define M_PKCS12_crl_bag_type PKCS12_cert_bag_type + +# define PKCS12_certbag2x509 PKCS12_SAFEBAG_get1_cert +# define PKCS12_certbag2scrl PKCS12_SAFEBAG_get1_crl +# define PKCS12_bag_type PKCS12_SAFEBAG_get_nid +# define PKCS12_cert_bag_type PKCS12_SAFEBAG_get_bag_nid +# define PKCS12_x5092certbag PKCS12_SAFEBAG_create_cert +# define PKCS12_x509crl2certbag PKCS12_SAFEBAG_create_crl +# define PKCS12_MAKE_KEYBAG PKCS12_SAFEBAG_create0_p8inf +# define PKCS12_MAKE_SHKEYBAG PKCS12_SAFEBAG_create_pkcs8_encrypt + +#endif +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, + int attr_nid); +#endif + +ASN1_TYPE *PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid); +int PKCS12_mac_present(const PKCS12 *p12); +void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, + const X509_ALGOR **pmacalg, + const ASN1_OCTET_STRING **psalt, + const ASN1_INTEGER **piter, + const PKCS12 *p12); + +const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag, + int attr_nid); +const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag); +int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag); +const ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG *bag); +const ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag); + +X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag); +X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag); +const STACK_OF(PKCS12_SAFEBAG) * +PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag); +const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag); +const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag); + +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_secret(int type, int vtype, const unsigned char *value, int len); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid, + const char *pass, + int passlen, + unsigned char *salt, + int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8inf); +PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt_ex(int pbe_nid, + const char *pass, + int passlen, + unsigned char *salt, + int saltlen, int iter, + PKCS8_PRIV_KEY_INFO *p8inf, + OSSL_LIB_CTX *ctx, + const char *propq); + +PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, + int nid1, int nid2); +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char *pass, + int passlen); +PKCS8_PRIV_KEY_INFO *PKCS8_decrypt_ex(const X509_SIG *p8, const char *pass, + int passlen, OSSL_LIB_CTX *ctx, + const char *propq); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag, + const char *pass, int passlen); +PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey_ex(const PKCS12_SAFEBAG *bag, + const char *pass, int passlen, + OSSL_LIB_CTX *ctx, + const char *propq); +X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, + int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8); +X509_SIG *PKCS8_encrypt_ex(int pbe_nid, const EVP_CIPHER *cipher, + const char *pass, int passlen, unsigned char *salt, + int saltlen, int iter, PKCS8_PRIV_KEY_INFO *p8, + OSSL_LIB_CTX *ctx, const char *propq); +X509_SIG *PKCS8_set0_pbe(const char *pass, int passlen, + PKCS8_PRIV_KEY_INFO *p8inf, X509_ALGOR *pbe); +X509_SIG *PKCS8_set0_pbe_ex(const char *pass, int passlen, + PKCS8_PRIV_KEY_INFO *p8inf, X509_ALGOR *pbe, + OSSL_LIB_CTX *ctx, const char *propq); +PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); +PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + STACK_OF(PKCS12_SAFEBAG) *bags); +PKCS7 *PKCS12_pack_p7encdata_ex(int pbe_nid, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + STACK_OF(PKCS12_SAFEBAG) *bags, + OSSL_LIB_CTX *ctx, const char *propq); + +STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, + int passlen); + +int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); +STACK_OF(PKCS7) *PKCS12_unpack_authsafes(const PKCS12 *p12); + +int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, + int namelen); +int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_utf8(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, + int namelen); +int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, + const unsigned char *name, int namelen); +int PKCS12_add1_attr_by_NID(PKCS12_SAFEBAG *bag, int nid, int type, + const unsigned char *bytes, int len); +int PKCS12_add1_attr_by_txt(PKCS12_SAFEBAG *bag, const char *attrname, int type, + const unsigned char *bytes, int len); +int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); +ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs, + int attr_nid); +char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); +const STACK_OF(X509_ATTRIBUTE) * +PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag); +unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor, + const char *pass, int passlen, + const unsigned char *in, int inlen, + unsigned char **data, int *datalen, + int en_de); +unsigned char *PKCS12_pbe_crypt_ex(const X509_ALGOR *algor, + const char *pass, int passlen, + const unsigned char *in, int inlen, + unsigned char **data, int *datalen, + int en_de, OSSL_LIB_CTX *libctx, + const char *propq); +void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, + const char *pass, int passlen, + const ASN1_OCTET_STRING *oct, int zbuf); +void *PKCS12_item_decrypt_d2i_ex(const X509_ALGOR *algor, const ASN1_ITEM *it, + const char *pass, int passlen, + const ASN1_OCTET_STRING *oct, int zbuf, + OSSL_LIB_CTX *libctx, + const char *propq); +ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, + const ASN1_ITEM *it, + const char *pass, int passlen, + void *obj, int zbuf); +ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt_ex(X509_ALGOR *algor, + const ASN1_ITEM *it, + const char *pass, int passlen, + void *obj, int zbuf, + OSSL_LIB_CTX *ctx, + const char *propq); +PKCS12 *PKCS12_init(int mode); +PKCS12 *PKCS12_init_ex(int mode, OSSL_LIB_CTX *ctx, const char *propq); + +int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_asc_ex(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type, + OSSL_LIB_CTX *ctx, const char *propq); +int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_uni_ex(unsigned char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type, + OSSL_LIB_CTX *ctx, const char *propq); +int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type); +int PKCS12_key_gen_utf8_ex(const char *pass, int passlen, unsigned char *salt, + int saltlen, int id, int iter, int n, + unsigned char *out, const EVP_MD *md_type, + OSSL_LIB_CTX *ctx, const char *propq); + +int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md_type, int en_de); +int PKCS12_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, + ASN1_TYPE *param, const EVP_CIPHER *cipher, + const EVP_MD *md_type, int en_de, + OSSL_LIB_CTX *libctx, const char *propq); +int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *mac, unsigned int *maclen); +int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); +int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, + unsigned char *salt, int saltlen, int iter, + const EVP_MD *md_type); +int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, + int saltlen, const EVP_MD *md_type); +unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2asc(const unsigned char *uni, int unilen); +unsigned char *OPENSSL_utf82uni(const char *asc, int asclen, + unsigned char **uni, int *unilen); +char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen); + +DECLARE_ASN1_FUNCTIONS(PKCS12) +DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) +DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) +DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) + +DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) +DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) + +void PKCS12_PBE_add(void); +int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); +PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey, + X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, + int iter, int mac_iter, int keytype); +PKCS12 *PKCS12_create_ex(const char *pass, const char *name, EVP_PKEY *pkey, + X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, + int iter, int mac_iter, int keytype, + OSSL_LIB_CTX *ctx, const char *propq); + +PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); +PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, + EVP_PKEY *key, int key_usage, int iter, + int key_nid, const char *pass); +PKCS12_SAFEBAG *PKCS12_add_key_ex(STACK_OF(PKCS12_SAFEBAG) **pbags, + EVP_PKEY *key, int key_usage, int iter, + int key_nid, const char *pass, + OSSL_LIB_CTX *ctx, const char *propq); + +PKCS12_SAFEBAG *PKCS12_add_secret(STACK_OF(PKCS12_SAFEBAG) **pbags, + int nid_type, const unsigned char *value, int len); +int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, + int safe_nid, int iter, const char *pass); +int PKCS12_add_safe_ex(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, + int safe_nid, int iter, const char *pass, + OSSL_LIB_CTX *ctx, const char *propq); + +PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); +PKCS12 *PKCS12_add_safes_ex(STACK_OF(PKCS7) *safes, int p7_nid, + OSSL_LIB_CTX *ctx, const char *propq); + +int i2d_PKCS12_bio(BIO *bp, const PKCS12 *p12); +# ifndef OPENSSL_NO_STDIO +int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12); +# endif +PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); +# ifndef OPENSSL_NO_STDIO +PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); +# endif +int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs7.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs7.h new file mode 100644 index 00000000000000..557a0a7264beec --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs7.h @@ -0,0 +1,427 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/pkcs7.h.in + * + * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_PKCS7_H +# define OPENSSL_PKCS7_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_PKCS7_H +# endif + +# include +# include +# include + +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + + +/*- +Encryption_ID DES-CBC +Digest_ID MD5 +Digest_Encryption_ID rsaEncryption +Key_Encryption_ID rsaEncryption +*/ + +typedef struct PKCS7_CTX_st { + OSSL_LIB_CTX *libctx; + char *propq; +} PKCS7_CTX; + +typedef struct pkcs7_issuer_and_serial_st { + X509_NAME *issuer; + ASN1_INTEGER *serial; +} PKCS7_ISSUER_AND_SERIAL; + +typedef struct pkcs7_signer_info_st { + ASN1_INTEGER *version; /* version 1 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *digest_alg; + STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ + X509_ALGOR *digest_enc_alg; + ASN1_OCTET_STRING *enc_digest; + STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ + /* The private key to sign with */ + EVP_PKEY *pkey; + const PKCS7_CTX *ctx; +} PKCS7_SIGNER_INFO; +SKM_DEFINE_STACK_OF_INTERNAL(PKCS7_SIGNER_INFO, PKCS7_SIGNER_INFO, PKCS7_SIGNER_INFO) +#define sk_PKCS7_SIGNER_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk)) +#define sk_PKCS7_SIGNER_INFO_value(sk, idx) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_value(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk), (idx))) +#define sk_PKCS7_SIGNER_INFO_new(cmp) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_new(ossl_check_PKCS7_SIGNER_INFO_compfunc_type(cmp))) +#define sk_PKCS7_SIGNER_INFO_new_null() ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_new_null()) +#define sk_PKCS7_SIGNER_INFO_new_reserve(cmp, n) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_new_reserve(ossl_check_PKCS7_SIGNER_INFO_compfunc_type(cmp), (n))) +#define sk_PKCS7_SIGNER_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), (n)) +#define sk_PKCS7_SIGNER_INFO_free(sk) OPENSSL_sk_free(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk)) +#define sk_PKCS7_SIGNER_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk)) +#define sk_PKCS7_SIGNER_INFO_delete(sk, i) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_delete(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), (i))) +#define sk_PKCS7_SIGNER_INFO_delete_ptr(sk, ptr) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_delete_ptr(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr))) +#define sk_PKCS7_SIGNER_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr)) +#define sk_PKCS7_SIGNER_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr)) +#define sk_PKCS7_SIGNER_INFO_pop(sk) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_pop(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk))) +#define sk_PKCS7_SIGNER_INFO_shift(sk) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_shift(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk))) +#define sk_PKCS7_SIGNER_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk),ossl_check_PKCS7_SIGNER_INFO_freefunc_type(freefunc)) +#define sk_PKCS7_SIGNER_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr), (idx)) +#define sk_PKCS7_SIGNER_INFO_set(sk, idx, ptr) ((PKCS7_SIGNER_INFO *)OPENSSL_sk_set(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), (idx), ossl_check_PKCS7_SIGNER_INFO_type(ptr))) +#define sk_PKCS7_SIGNER_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr)) +#define sk_PKCS7_SIGNER_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr)) +#define sk_PKCS7_SIGNER_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_type(ptr), pnum) +#define sk_PKCS7_SIGNER_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk)) +#define sk_PKCS7_SIGNER_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk)) +#define sk_PKCS7_SIGNER_INFO_dup(sk) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_dup(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk))) +#define sk_PKCS7_SIGNER_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS7_SIGNER_INFO) *)OPENSSL_sk_deep_copy(ossl_check_const_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_copyfunc_type(copyfunc), ossl_check_PKCS7_SIGNER_INFO_freefunc_type(freefunc))) +#define sk_PKCS7_SIGNER_INFO_set_cmp_func(sk, cmp) ((sk_PKCS7_SIGNER_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PKCS7_SIGNER_INFO_sk_type(sk), ossl_check_PKCS7_SIGNER_INFO_compfunc_type(cmp))) + + +typedef struct pkcs7_recip_info_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; + X509_ALGOR *key_enc_algor; + ASN1_OCTET_STRING *enc_key; + X509 *cert; /* get the pub-key from this */ + const PKCS7_CTX *ctx; +} PKCS7_RECIP_INFO; +SKM_DEFINE_STACK_OF_INTERNAL(PKCS7_RECIP_INFO, PKCS7_RECIP_INFO, PKCS7_RECIP_INFO) +#define sk_PKCS7_RECIP_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk)) +#define sk_PKCS7_RECIP_INFO_value(sk, idx) ((PKCS7_RECIP_INFO *)OPENSSL_sk_value(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk), (idx))) +#define sk_PKCS7_RECIP_INFO_new(cmp) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_new(ossl_check_PKCS7_RECIP_INFO_compfunc_type(cmp))) +#define sk_PKCS7_RECIP_INFO_new_null() ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_new_null()) +#define sk_PKCS7_RECIP_INFO_new_reserve(cmp, n) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_new_reserve(ossl_check_PKCS7_RECIP_INFO_compfunc_type(cmp), (n))) +#define sk_PKCS7_RECIP_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), (n)) +#define sk_PKCS7_RECIP_INFO_free(sk) OPENSSL_sk_free(ossl_check_PKCS7_RECIP_INFO_sk_type(sk)) +#define sk_PKCS7_RECIP_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS7_RECIP_INFO_sk_type(sk)) +#define sk_PKCS7_RECIP_INFO_delete(sk, i) ((PKCS7_RECIP_INFO *)OPENSSL_sk_delete(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), (i))) +#define sk_PKCS7_RECIP_INFO_delete_ptr(sk, ptr) ((PKCS7_RECIP_INFO *)OPENSSL_sk_delete_ptr(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr))) +#define sk_PKCS7_RECIP_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr)) +#define sk_PKCS7_RECIP_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr)) +#define sk_PKCS7_RECIP_INFO_pop(sk) ((PKCS7_RECIP_INFO *)OPENSSL_sk_pop(ossl_check_PKCS7_RECIP_INFO_sk_type(sk))) +#define sk_PKCS7_RECIP_INFO_shift(sk) ((PKCS7_RECIP_INFO *)OPENSSL_sk_shift(ossl_check_PKCS7_RECIP_INFO_sk_type(sk))) +#define sk_PKCS7_RECIP_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS7_RECIP_INFO_sk_type(sk),ossl_check_PKCS7_RECIP_INFO_freefunc_type(freefunc)) +#define sk_PKCS7_RECIP_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr), (idx)) +#define sk_PKCS7_RECIP_INFO_set(sk, idx, ptr) ((PKCS7_RECIP_INFO *)OPENSSL_sk_set(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), (idx), ossl_check_PKCS7_RECIP_INFO_type(ptr))) +#define sk_PKCS7_RECIP_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr)) +#define sk_PKCS7_RECIP_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr)) +#define sk_PKCS7_RECIP_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_type(ptr), pnum) +#define sk_PKCS7_RECIP_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS7_RECIP_INFO_sk_type(sk)) +#define sk_PKCS7_RECIP_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk)) +#define sk_PKCS7_RECIP_INFO_dup(sk) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_dup(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk))) +#define sk_PKCS7_RECIP_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS7_RECIP_INFO) *)OPENSSL_sk_deep_copy(ossl_check_const_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_copyfunc_type(copyfunc), ossl_check_PKCS7_RECIP_INFO_freefunc_type(freefunc))) +#define sk_PKCS7_RECIP_INFO_set_cmp_func(sk, cmp) ((sk_PKCS7_RECIP_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PKCS7_RECIP_INFO_sk_type(sk), ossl_check_PKCS7_RECIP_INFO_compfunc_type(cmp))) + + + +typedef struct pkcs7_signed_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + struct pkcs7_st *contents; +} PKCS7_SIGNED; +/* + * The above structure is very very similar to PKCS7_SIGN_ENVELOPE. How about + * merging the two + */ + +typedef struct pkcs7_enc_content_st { + ASN1_OBJECT *content_type; + X509_ALGOR *algorithm; + ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ + const EVP_CIPHER *cipher; + const PKCS7_CTX *ctx; +} PKCS7_ENC_CONTENT; + +typedef struct pkcs7_enveloped_st { + ASN1_INTEGER *version; /* version 0 */ + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENVELOPE; + +typedef struct pkcs7_signedandenveloped_st { + ASN1_INTEGER *version; /* version 1 */ + STACK_OF(X509_ALGOR) *md_algs; /* md used */ + STACK_OF(X509) *cert; /* [ 0 ] */ + STACK_OF(X509_CRL) *crl; /* [ 1 ] */ + STACK_OF(PKCS7_SIGNER_INFO) *signer_info; + PKCS7_ENC_CONTENT *enc_data; + STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; +} PKCS7_SIGN_ENVELOPE; + +typedef struct pkcs7_digest_st { + ASN1_INTEGER *version; /* version 0 */ + X509_ALGOR *md; /* md used */ + struct pkcs7_st *contents; + ASN1_OCTET_STRING *digest; +} PKCS7_DIGEST; + +typedef struct pkcs7_encrypted_st { + ASN1_INTEGER *version; /* version 0 */ + PKCS7_ENC_CONTENT *enc_data; +} PKCS7_ENCRYPT; + +typedef struct pkcs7_st { + /* + * The following is non NULL if it contains ASN1 encoding of this + * structure + */ + unsigned char *asn1; + long length; +# define PKCS7_S_HEADER 0 +# define PKCS7_S_BODY 1 +# define PKCS7_S_TAIL 2 + int state; /* used during processing */ + int detached; + ASN1_OBJECT *type; + /* content as defined by the type */ + /* + * all encryption/message digests are applied to the 'contents', leaving + * out the 'type' field. + */ + union { + char *ptr; + /* NID_pkcs7_data */ + ASN1_OCTET_STRING *data; + /* NID_pkcs7_signed */ + PKCS7_SIGNED *sign; + /* NID_pkcs7_enveloped */ + PKCS7_ENVELOPE *enveloped; + /* NID_pkcs7_signedAndEnveloped */ + PKCS7_SIGN_ENVELOPE *signed_and_enveloped; + /* NID_pkcs7_digest */ + PKCS7_DIGEST *digest; + /* NID_pkcs7_encrypted */ + PKCS7_ENCRYPT *encrypted; + /* Anything else */ + ASN1_TYPE *other; + } d; + PKCS7_CTX ctx; +} PKCS7; +SKM_DEFINE_STACK_OF_INTERNAL(PKCS7, PKCS7, PKCS7) +#define sk_PKCS7_num(sk) OPENSSL_sk_num(ossl_check_const_PKCS7_sk_type(sk)) +#define sk_PKCS7_value(sk, idx) ((PKCS7 *)OPENSSL_sk_value(ossl_check_const_PKCS7_sk_type(sk), (idx))) +#define sk_PKCS7_new(cmp) ((STACK_OF(PKCS7) *)OPENSSL_sk_new(ossl_check_PKCS7_compfunc_type(cmp))) +#define sk_PKCS7_new_null() ((STACK_OF(PKCS7) *)OPENSSL_sk_new_null()) +#define sk_PKCS7_new_reserve(cmp, n) ((STACK_OF(PKCS7) *)OPENSSL_sk_new_reserve(ossl_check_PKCS7_compfunc_type(cmp), (n))) +#define sk_PKCS7_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PKCS7_sk_type(sk), (n)) +#define sk_PKCS7_free(sk) OPENSSL_sk_free(ossl_check_PKCS7_sk_type(sk)) +#define sk_PKCS7_zero(sk) OPENSSL_sk_zero(ossl_check_PKCS7_sk_type(sk)) +#define sk_PKCS7_delete(sk, i) ((PKCS7 *)OPENSSL_sk_delete(ossl_check_PKCS7_sk_type(sk), (i))) +#define sk_PKCS7_delete_ptr(sk, ptr) ((PKCS7 *)OPENSSL_sk_delete_ptr(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr))) +#define sk_PKCS7_push(sk, ptr) OPENSSL_sk_push(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr)) +#define sk_PKCS7_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr)) +#define sk_PKCS7_pop(sk) ((PKCS7 *)OPENSSL_sk_pop(ossl_check_PKCS7_sk_type(sk))) +#define sk_PKCS7_shift(sk) ((PKCS7 *)OPENSSL_sk_shift(ossl_check_PKCS7_sk_type(sk))) +#define sk_PKCS7_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PKCS7_sk_type(sk),ossl_check_PKCS7_freefunc_type(freefunc)) +#define sk_PKCS7_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr), (idx)) +#define sk_PKCS7_set(sk, idx, ptr) ((PKCS7 *)OPENSSL_sk_set(ossl_check_PKCS7_sk_type(sk), (idx), ossl_check_PKCS7_type(ptr))) +#define sk_PKCS7_find(sk, ptr) OPENSSL_sk_find(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr)) +#define sk_PKCS7_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr)) +#define sk_PKCS7_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_type(ptr), pnum) +#define sk_PKCS7_sort(sk) OPENSSL_sk_sort(ossl_check_PKCS7_sk_type(sk)) +#define sk_PKCS7_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PKCS7_sk_type(sk)) +#define sk_PKCS7_dup(sk) ((STACK_OF(PKCS7) *)OPENSSL_sk_dup(ossl_check_const_PKCS7_sk_type(sk))) +#define sk_PKCS7_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PKCS7) *)OPENSSL_sk_deep_copy(ossl_check_const_PKCS7_sk_type(sk), ossl_check_PKCS7_copyfunc_type(copyfunc), ossl_check_PKCS7_freefunc_type(freefunc))) +#define sk_PKCS7_set_cmp_func(sk, cmp) ((sk_PKCS7_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PKCS7_sk_type(sk), ossl_check_PKCS7_compfunc_type(cmp))) + + + +# define PKCS7_OP_SET_DETACHED_SIGNATURE 1 +# define PKCS7_OP_GET_DETACHED_SIGNATURE 2 + +# define PKCS7_get_signed_attributes(si) ((si)->auth_attr) +# define PKCS7_get_attributes(si) ((si)->unauth_attr) + +# define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) +# define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) +# define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) +# define PKCS7_type_is_signedAndEnveloped(a) \ + (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) +# define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) +# define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) + +# define PKCS7_set_detached(p,v) \ + PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) +# define PKCS7_get_detached(p) \ + PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) + +# define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) + +/* S/MIME related flags */ + +# define PKCS7_TEXT 0x1 +# define PKCS7_NOCERTS 0x2 +# define PKCS7_NOSIGS 0x4 +# define PKCS7_NOCHAIN 0x8 +# define PKCS7_NOINTERN 0x10 +# define PKCS7_NOVERIFY 0x20 +# define PKCS7_DETACHED 0x40 +# define PKCS7_BINARY 0x80 +# define PKCS7_NOATTR 0x100 +# define PKCS7_NOSMIMECAP 0x200 +# define PKCS7_NOOLDMIMETYPE 0x400 +# define PKCS7_CRLFEOL 0x800 +# define PKCS7_STREAM 0x1000 +# define PKCS7_NOCRL 0x2000 +# define PKCS7_PARTIAL 0x4000 +# define PKCS7_REUSE_DIGEST 0x8000 +# define PKCS7_NO_DUAL_CONTENT 0x10000 + +/* Flags: for compatibility with older code */ + +# define SMIME_TEXT PKCS7_TEXT +# define SMIME_NOCERTS PKCS7_NOCERTS +# define SMIME_NOSIGS PKCS7_NOSIGS +# define SMIME_NOCHAIN PKCS7_NOCHAIN +# define SMIME_NOINTERN PKCS7_NOINTERN +# define SMIME_NOVERIFY PKCS7_NOVERIFY +# define SMIME_DETACHED PKCS7_DETACHED +# define SMIME_BINARY PKCS7_BINARY +# define SMIME_NOATTR PKCS7_NOATTR + +/* CRLF ASCII canonicalisation */ +# define SMIME_ASCIICRLF 0x80000 + +DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) + +int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, + const EVP_MD *type, unsigned char *md, + unsigned int *len); +# ifndef OPENSSL_NO_STDIO +PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); +int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7); +# endif +DECLARE_ASN1_DUP_FUNCTION(PKCS7) +PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); +int i2d_PKCS7_bio(BIO *bp, const PKCS7 *p7); +int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); +int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); + +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) +DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) +DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) +DECLARE_ASN1_FUNCTIONS(PKCS7) +PKCS7 *PKCS7_new_ex(OSSL_LIB_CTX *libctx, const char *propq); + +DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) +DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) + +DECLARE_ASN1_NDEF_FUNCTION(PKCS7) +DECLARE_ASN1_PRINT_FUNCTION(PKCS7) + +long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); + +int PKCS7_type_is_other(PKCS7 *p7); +int PKCS7_set_type(PKCS7 *p7, int type); +int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); +int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); +int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, + const EVP_MD *dgst); +int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); +int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); +int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); +int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); +int PKCS7_content_new(PKCS7 *p7, int nid); +int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, + BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, + X509 *x509); + +BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); +int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); +BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); + +PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, + EVP_PKEY *pkey, const EVP_MD *dgst); +X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); +int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); +STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); + +PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); +void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, + X509_ALGOR **pdig, X509_ALGOR **psig); +void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); +int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); +int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); +int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); +int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); + +PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); +ASN1_OCTET_STRING *PKCS7_get_octet_string(PKCS7 *p7); +ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, + void *data); +int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, + void *value); +ASN1_TYPE *PKCS7_get_attribute(const PKCS7_SIGNER_INFO *si, int nid); +ASN1_TYPE *PKCS7_get_signed_attribute(const PKCS7_SIGNER_INFO *si, int nid); +int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); +int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, + STACK_OF(X509_ATTRIBUTE) *sk); + +PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags); +PKCS7 *PKCS7_sign_ex(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, + BIO *data, int flags, OSSL_LIB_CTX *libctx, + const char *propq); + +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, + X509 *signcert, EVP_PKEY *pkey, + const EVP_MD *md, int flags); + +int PKCS7_final(PKCS7 *p7, BIO *data, int flags); +int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, + BIO *indata, BIO *out, int flags); +STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, + int flags); +PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, + int flags); +PKCS7 *PKCS7_encrypt_ex(STACK_OF(X509) *certs, BIO *in, + const EVP_CIPHER *cipher, int flags, + OSSL_LIB_CTX *libctx, const char *propq); +int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, + int flags); + +int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, + STACK_OF(X509_ALGOR) *cap); +STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); +int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); + +int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); +int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); +int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, + const unsigned char *md, int mdlen); + +int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); +PKCS7 *SMIME_read_PKCS7_ex(BIO *bio, BIO **bcont, PKCS7 **p7); +PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); + +BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/safestack.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/safestack.h new file mode 100644 index 00000000000000..0499700b562540 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/safestack.h @@ -0,0 +1,297 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/safestack.h.in + * + * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_SAFESTACK_H +# define OPENSSL_SAFESTACK_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_SAFESTACK_H +# endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define STACK_OF(type) struct stack_st_##type + +/* Helper macro for internal use */ +# define SKM_DEFINE_STACK_OF_INTERNAL(t1, t2, t3) \ + STACK_OF(t1); \ + typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \ + typedef void (*sk_##t1##_freefunc)(t3 *a); \ + typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \ + static ossl_unused ossl_inline t2 *ossl_check_##t1##_type(t2 *ptr) \ + { \ + return ptr; \ + } \ + static ossl_unused ossl_inline const OPENSSL_STACK *ossl_check_const_##t1##_sk_type(const STACK_OF(t1) *sk) \ + { \ + return (const OPENSSL_STACK *)sk; \ + } \ + static ossl_unused ossl_inline OPENSSL_STACK *ossl_check_##t1##_sk_type(STACK_OF(t1) *sk) \ + { \ + return (OPENSSL_STACK *)sk; \ + } \ + static ossl_unused ossl_inline OPENSSL_sk_compfunc ossl_check_##t1##_compfunc_type(sk_##t1##_compfunc cmp) \ + { \ + return (OPENSSL_sk_compfunc)cmp; \ + } \ + static ossl_unused ossl_inline OPENSSL_sk_copyfunc ossl_check_##t1##_copyfunc_type(sk_##t1##_copyfunc cpy) \ + { \ + return (OPENSSL_sk_copyfunc)cpy; \ + } \ + static ossl_unused ossl_inline OPENSSL_sk_freefunc ossl_check_##t1##_freefunc_type(sk_##t1##_freefunc fr) \ + { \ + return (OPENSSL_sk_freefunc)fr; \ + } + +# define SKM_DEFINE_STACK_OF(t1, t2, t3) \ + STACK_OF(t1); \ + typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \ + typedef void (*sk_##t1##_freefunc)(t3 *a); \ + typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \ + static ossl_unused ossl_inline int sk_##t1##_num(const STACK_OF(t1) *sk) \ + { \ + return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \ + { \ + return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \ + } \ + static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new(sk_##t1##_compfunc compare) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new((OPENSSL_sk_compfunc)compare); \ + } \ + static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \ + } \ + static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_reserve(sk_##t1##_compfunc compare, int n) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_new_reserve((OPENSSL_sk_compfunc)compare, n); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_reserve(STACK_OF(t1) *sk, int n) \ + { \ + return OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n); \ + } \ + static ossl_unused ossl_inline void sk_##t1##_free(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_free((OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline void sk_##t1##_zero(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_zero((OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \ + { \ + return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return (t2 *)OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, \ + (const void *)ptr); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_push((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \ + { \ + return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \ + { \ + return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \ + { \ + OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (OPENSSL_sk_freefunc)freefunc); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \ + { \ + return OPENSSL_sk_insert((OPENSSL_STACK *)sk, (const void *)ptr, idx); \ + } \ + static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \ + { \ + return (t2 *)OPENSSL_sk_set((OPENSSL_STACK *)sk, idx, (const void *)ptr); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_find((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \ + { \ + return OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (const void *)ptr); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_find_all(STACK_OF(t1) *sk, t2 *ptr, int *pnum) \ + { \ + return OPENSSL_sk_find_all((OPENSSL_STACK *)sk, (const void *)ptr, pnum); \ + } \ + static ossl_unused ossl_inline void sk_##t1##_sort(STACK_OF(t1) *sk) \ + { \ + OPENSSL_sk_sort((OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline int sk_##t1##_is_sorted(const STACK_OF(t1) *sk) \ + { \ + return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \ + } \ + static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \ + sk_##t1##_copyfunc copyfunc, \ + sk_##t1##_freefunc freefunc) \ + { \ + return (STACK_OF(t1) *)OPENSSL_sk_deep_copy((const OPENSSL_STACK *)sk, \ + (OPENSSL_sk_copyfunc)copyfunc, \ + (OPENSSL_sk_freefunc)freefunc); \ + } \ + static ossl_unused ossl_inline sk_##t1##_compfunc sk_##t1##_set_cmp_func(STACK_OF(t1) *sk, sk_##t1##_compfunc compare) \ + { \ + return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \ + } + +# define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t) +# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t) +# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2) +# define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \ + SKM_DEFINE_STACK_OF(t1, const t2, t2) + +/*- + * Strings are special: normally an lhash entry will point to a single + * (somewhat) mutable object. In the case of strings: + * + * a) Instead of a single char, there is an array of chars, NUL-terminated. + * b) The string may have be immutable. + * + * So, they need their own declarations. Especially important for + * type-checking tools, such as Deputy. + * + * In practice, however, it appears to be hard to have a const + * string. For now, I'm settling for dealing with the fact it is a + * string at all. + */ +typedef char *OPENSSL_STRING; +typedef const char *OPENSSL_CSTRING; + +/*- + * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but + * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned + * above, instead of a single char each entry is a NUL-terminated array of + * chars. So, we have to implement STRING specially for STACK_OF. This is + * dealt with in the autogenerated macros below. + */ +SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_STRING, char, char) +#define sk_OPENSSL_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_STRING_sk_type(sk)) +#define sk_OPENSSL_STRING_value(sk, idx) ((char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_STRING_sk_type(sk), (idx))) +#define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_STRING_compfunc_type(cmp))) +#define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_null()) +#define sk_OPENSSL_STRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_STRING_compfunc_type(cmp), (n))) +#define sk_OPENSSL_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_STRING_sk_type(sk), (n)) +#define sk_OPENSSL_STRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_STRING_sk_type(sk)) +#define sk_OPENSSL_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_STRING_sk_type(sk)) +#define sk_OPENSSL_STRING_delete(sk, i) ((char *)OPENSSL_sk_delete(ossl_check_OPENSSL_STRING_sk_type(sk), (i))) +#define sk_OPENSSL_STRING_delete_ptr(sk, ptr) ((char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))) +#define sk_OPENSSL_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr)) +#define sk_OPENSSL_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr)) +#define sk_OPENSSL_STRING_pop(sk) ((char *)OPENSSL_sk_pop(ossl_check_OPENSSL_STRING_sk_type(sk))) +#define sk_OPENSSL_STRING_shift(sk) ((char *)OPENSSL_sk_shift(ossl_check_OPENSSL_STRING_sk_type(sk))) +#define sk_OPENSSL_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_STRING_sk_type(sk),ossl_check_OPENSSL_STRING_freefunc_type(freefunc)) +#define sk_OPENSSL_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr), (idx)) +#define sk_OPENSSL_STRING_set(sk, idx, ptr) ((char *)OPENSSL_sk_set(ossl_check_OPENSSL_STRING_sk_type(sk), (idx), ossl_check_OPENSSL_STRING_type(ptr))) +#define sk_OPENSSL_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr)) +#define sk_OPENSSL_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr)) +#define sk_OPENSSL_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr), pnum) +#define sk_OPENSSL_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_STRING_sk_type(sk)) +#define sk_OPENSSL_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_STRING_sk_type(sk)) +#define sk_OPENSSL_STRING_dup(sk) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_STRING_sk_type(sk))) +#define sk_OPENSSL_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_STRING_freefunc_type(freefunc))) +#define sk_OPENSSL_STRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_CSTRING, const char, char) +#define sk_OPENSSL_CSTRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_CSTRING_sk_type(sk)) +#define sk_OPENSSL_CSTRING_value(sk, idx) ((const char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_CSTRING_sk_type(sk), (idx))) +#define sk_OPENSSL_CSTRING_new(cmp) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_CSTRING_compfunc_type(cmp))) +#define sk_OPENSSL_CSTRING_new_null() ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_null()) +#define sk_OPENSSL_CSTRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_CSTRING_compfunc_type(cmp), (n))) +#define sk_OPENSSL_CSTRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_CSTRING_sk_type(sk), (n)) +#define sk_OPENSSL_CSTRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_CSTRING_sk_type(sk)) +#define sk_OPENSSL_CSTRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_CSTRING_sk_type(sk)) +#define sk_OPENSSL_CSTRING_delete(sk, i) ((const char *)OPENSSL_sk_delete(ossl_check_OPENSSL_CSTRING_sk_type(sk), (i))) +#define sk_OPENSSL_CSTRING_delete_ptr(sk, ptr) ((const char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))) +#define sk_OPENSSL_CSTRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr)) +#define sk_OPENSSL_CSTRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr)) +#define sk_OPENSSL_CSTRING_pop(sk) ((const char *)OPENSSL_sk_pop(ossl_check_OPENSSL_CSTRING_sk_type(sk))) +#define sk_OPENSSL_CSTRING_shift(sk) ((const char *)OPENSSL_sk_shift(ossl_check_OPENSSL_CSTRING_sk_type(sk))) +#define sk_OPENSSL_CSTRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_CSTRING_sk_type(sk),ossl_check_OPENSSL_CSTRING_freefunc_type(freefunc)) +#define sk_OPENSSL_CSTRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr), (idx)) +#define sk_OPENSSL_CSTRING_set(sk, idx, ptr) ((const char *)OPENSSL_sk_set(ossl_check_OPENSSL_CSTRING_sk_type(sk), (idx), ossl_check_OPENSSL_CSTRING_type(ptr))) +#define sk_OPENSSL_CSTRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr)) +#define sk_OPENSSL_CSTRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr)) +#define sk_OPENSSL_CSTRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr), pnum) +#define sk_OPENSSL_CSTRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_CSTRING_sk_type(sk)) +#define sk_OPENSSL_CSTRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_CSTRING_sk_type(sk)) +#define sk_OPENSSL_CSTRING_dup(sk) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))) +#define sk_OPENSSL_CSTRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_CSTRING_freefunc_type(freefunc))) +#define sk_OPENSSL_CSTRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_CSTRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_compfunc_type(cmp))) + + +#if !defined(OPENSSL_NO_DEPRECATED_3_0) +/* + * This is not used by OpenSSL. A block of bytes, NOT nul-terminated. + * These should also be distinguished from "normal" stacks. + */ +typedef void *OPENSSL_BLOCK; +SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_BLOCK, void, void) +#define sk_OPENSSL_BLOCK_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_BLOCK_sk_type(sk)) +#define sk_OPENSSL_BLOCK_value(sk, idx) ((void *)OPENSSL_sk_value(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), (idx))) +#define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new(ossl_check_OPENSSL_BLOCK_compfunc_type(cmp))) +#define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_null()) +#define sk_OPENSSL_BLOCK_new_reserve(cmp, n) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_BLOCK_compfunc_type(cmp), (n))) +#define sk_OPENSSL_BLOCK_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_BLOCK_sk_type(sk), (n)) +#define sk_OPENSSL_BLOCK_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_BLOCK_sk_type(sk)) +#define sk_OPENSSL_BLOCK_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_BLOCK_sk_type(sk)) +#define sk_OPENSSL_BLOCK_delete(sk, i) ((void *)OPENSSL_sk_delete(ossl_check_OPENSSL_BLOCK_sk_type(sk), (i))) +#define sk_OPENSSL_BLOCK_delete_ptr(sk, ptr) ((void *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))) +#define sk_OPENSSL_BLOCK_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr)) +#define sk_OPENSSL_BLOCK_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr)) +#define sk_OPENSSL_BLOCK_pop(sk) ((void *)OPENSSL_sk_pop(ossl_check_OPENSSL_BLOCK_sk_type(sk))) +#define sk_OPENSSL_BLOCK_shift(sk) ((void *)OPENSSL_sk_shift(ossl_check_OPENSSL_BLOCK_sk_type(sk))) +#define sk_OPENSSL_BLOCK_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_BLOCK_sk_type(sk),ossl_check_OPENSSL_BLOCK_freefunc_type(freefunc)) +#define sk_OPENSSL_BLOCK_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr), (idx)) +#define sk_OPENSSL_BLOCK_set(sk, idx, ptr) ((void *)OPENSSL_sk_set(ossl_check_OPENSSL_BLOCK_sk_type(sk), (idx), ossl_check_OPENSSL_BLOCK_type(ptr))) +#define sk_OPENSSL_BLOCK_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr)) +#define sk_OPENSSL_BLOCK_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr)) +#define sk_OPENSSL_BLOCK_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr), pnum) +#define sk_OPENSSL_BLOCK_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_BLOCK_sk_type(sk)) +#define sk_OPENSSL_BLOCK_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_BLOCK_sk_type(sk)) +#define sk_OPENSSL_BLOCK_dup(sk) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))) +#define sk_OPENSSL_BLOCK_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_copyfunc_type(copyfunc), ossl_check_OPENSSL_BLOCK_freefunc_type(freefunc))) +#define sk_OPENSSL_BLOCK_set_cmp_func(sk, cmp) ((sk_OPENSSL_BLOCK_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_compfunc_type(cmp))) + +#endif + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/srp.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/srp.h new file mode 100644 index 00000000000000..a48766c6ce8b84 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/srp.h @@ -0,0 +1,285 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/srp.h.in + * + * Copyright 2004-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2004, EdelKey Project. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + * + * Originally written by Christophe Renou and Peter Sylvester, + * for the EdelKey project. + */ + + + +#ifndef OPENSSL_SRP_H +# define OPENSSL_SRP_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_SRP_H +# endif + +#include + +#ifndef OPENSSL_NO_SRP +# include +# include +# include +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# ifndef OPENSSL_NO_DEPRECATED_3_0 + +typedef struct SRP_gN_cache_st { + char *b64_bn; + BIGNUM *bn; +} SRP_gN_cache; +SKM_DEFINE_STACK_OF_INTERNAL(SRP_gN_cache, SRP_gN_cache, SRP_gN_cache) +#define sk_SRP_gN_cache_num(sk) OPENSSL_sk_num(ossl_check_const_SRP_gN_cache_sk_type(sk)) +#define sk_SRP_gN_cache_value(sk, idx) ((SRP_gN_cache *)OPENSSL_sk_value(ossl_check_const_SRP_gN_cache_sk_type(sk), (idx))) +#define sk_SRP_gN_cache_new(cmp) ((STACK_OF(SRP_gN_cache) *)OPENSSL_sk_new(ossl_check_SRP_gN_cache_compfunc_type(cmp))) +#define sk_SRP_gN_cache_new_null() ((STACK_OF(SRP_gN_cache) *)OPENSSL_sk_new_null()) +#define sk_SRP_gN_cache_new_reserve(cmp, n) ((STACK_OF(SRP_gN_cache) *)OPENSSL_sk_new_reserve(ossl_check_SRP_gN_cache_compfunc_type(cmp), (n))) +#define sk_SRP_gN_cache_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SRP_gN_cache_sk_type(sk), (n)) +#define sk_SRP_gN_cache_free(sk) OPENSSL_sk_free(ossl_check_SRP_gN_cache_sk_type(sk)) +#define sk_SRP_gN_cache_zero(sk) OPENSSL_sk_zero(ossl_check_SRP_gN_cache_sk_type(sk)) +#define sk_SRP_gN_cache_delete(sk, i) ((SRP_gN_cache *)OPENSSL_sk_delete(ossl_check_SRP_gN_cache_sk_type(sk), (i))) +#define sk_SRP_gN_cache_delete_ptr(sk, ptr) ((SRP_gN_cache *)OPENSSL_sk_delete_ptr(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr))) +#define sk_SRP_gN_cache_push(sk, ptr) OPENSSL_sk_push(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr)) +#define sk_SRP_gN_cache_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr)) +#define sk_SRP_gN_cache_pop(sk) ((SRP_gN_cache *)OPENSSL_sk_pop(ossl_check_SRP_gN_cache_sk_type(sk))) +#define sk_SRP_gN_cache_shift(sk) ((SRP_gN_cache *)OPENSSL_sk_shift(ossl_check_SRP_gN_cache_sk_type(sk))) +#define sk_SRP_gN_cache_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SRP_gN_cache_sk_type(sk),ossl_check_SRP_gN_cache_freefunc_type(freefunc)) +#define sk_SRP_gN_cache_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr), (idx)) +#define sk_SRP_gN_cache_set(sk, idx, ptr) ((SRP_gN_cache *)OPENSSL_sk_set(ossl_check_SRP_gN_cache_sk_type(sk), (idx), ossl_check_SRP_gN_cache_type(ptr))) +#define sk_SRP_gN_cache_find(sk, ptr) OPENSSL_sk_find(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr)) +#define sk_SRP_gN_cache_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr)) +#define sk_SRP_gN_cache_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_type(ptr), pnum) +#define sk_SRP_gN_cache_sort(sk) OPENSSL_sk_sort(ossl_check_SRP_gN_cache_sk_type(sk)) +#define sk_SRP_gN_cache_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SRP_gN_cache_sk_type(sk)) +#define sk_SRP_gN_cache_dup(sk) ((STACK_OF(SRP_gN_cache) *)OPENSSL_sk_dup(ossl_check_const_SRP_gN_cache_sk_type(sk))) +#define sk_SRP_gN_cache_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SRP_gN_cache) *)OPENSSL_sk_deep_copy(ossl_check_const_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_copyfunc_type(copyfunc), ossl_check_SRP_gN_cache_freefunc_type(freefunc))) +#define sk_SRP_gN_cache_set_cmp_func(sk, cmp) ((sk_SRP_gN_cache_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SRP_gN_cache_sk_type(sk), ossl_check_SRP_gN_cache_compfunc_type(cmp))) + + + +typedef struct SRP_user_pwd_st { + /* Owned by us. */ + char *id; + BIGNUM *s; + BIGNUM *v; + /* Not owned by us. */ + const BIGNUM *g; + const BIGNUM *N; + /* Owned by us. */ + char *info; +} SRP_user_pwd; +SKM_DEFINE_STACK_OF_INTERNAL(SRP_user_pwd, SRP_user_pwd, SRP_user_pwd) +#define sk_SRP_user_pwd_num(sk) OPENSSL_sk_num(ossl_check_const_SRP_user_pwd_sk_type(sk)) +#define sk_SRP_user_pwd_value(sk, idx) ((SRP_user_pwd *)OPENSSL_sk_value(ossl_check_const_SRP_user_pwd_sk_type(sk), (idx))) +#define sk_SRP_user_pwd_new(cmp) ((STACK_OF(SRP_user_pwd) *)OPENSSL_sk_new(ossl_check_SRP_user_pwd_compfunc_type(cmp))) +#define sk_SRP_user_pwd_new_null() ((STACK_OF(SRP_user_pwd) *)OPENSSL_sk_new_null()) +#define sk_SRP_user_pwd_new_reserve(cmp, n) ((STACK_OF(SRP_user_pwd) *)OPENSSL_sk_new_reserve(ossl_check_SRP_user_pwd_compfunc_type(cmp), (n))) +#define sk_SRP_user_pwd_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SRP_user_pwd_sk_type(sk), (n)) +#define sk_SRP_user_pwd_free(sk) OPENSSL_sk_free(ossl_check_SRP_user_pwd_sk_type(sk)) +#define sk_SRP_user_pwd_zero(sk) OPENSSL_sk_zero(ossl_check_SRP_user_pwd_sk_type(sk)) +#define sk_SRP_user_pwd_delete(sk, i) ((SRP_user_pwd *)OPENSSL_sk_delete(ossl_check_SRP_user_pwd_sk_type(sk), (i))) +#define sk_SRP_user_pwd_delete_ptr(sk, ptr) ((SRP_user_pwd *)OPENSSL_sk_delete_ptr(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr))) +#define sk_SRP_user_pwd_push(sk, ptr) OPENSSL_sk_push(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr)) +#define sk_SRP_user_pwd_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr)) +#define sk_SRP_user_pwd_pop(sk) ((SRP_user_pwd *)OPENSSL_sk_pop(ossl_check_SRP_user_pwd_sk_type(sk))) +#define sk_SRP_user_pwd_shift(sk) ((SRP_user_pwd *)OPENSSL_sk_shift(ossl_check_SRP_user_pwd_sk_type(sk))) +#define sk_SRP_user_pwd_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SRP_user_pwd_sk_type(sk),ossl_check_SRP_user_pwd_freefunc_type(freefunc)) +#define sk_SRP_user_pwd_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr), (idx)) +#define sk_SRP_user_pwd_set(sk, idx, ptr) ((SRP_user_pwd *)OPENSSL_sk_set(ossl_check_SRP_user_pwd_sk_type(sk), (idx), ossl_check_SRP_user_pwd_type(ptr))) +#define sk_SRP_user_pwd_find(sk, ptr) OPENSSL_sk_find(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr)) +#define sk_SRP_user_pwd_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr)) +#define sk_SRP_user_pwd_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_type(ptr), pnum) +#define sk_SRP_user_pwd_sort(sk) OPENSSL_sk_sort(ossl_check_SRP_user_pwd_sk_type(sk)) +#define sk_SRP_user_pwd_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SRP_user_pwd_sk_type(sk)) +#define sk_SRP_user_pwd_dup(sk) ((STACK_OF(SRP_user_pwd) *)OPENSSL_sk_dup(ossl_check_const_SRP_user_pwd_sk_type(sk))) +#define sk_SRP_user_pwd_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SRP_user_pwd) *)OPENSSL_sk_deep_copy(ossl_check_const_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_copyfunc_type(copyfunc), ossl_check_SRP_user_pwd_freefunc_type(freefunc))) +#define sk_SRP_user_pwd_set_cmp_func(sk, cmp) ((sk_SRP_user_pwd_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SRP_user_pwd_sk_type(sk), ossl_check_SRP_user_pwd_compfunc_type(cmp))) + + +OSSL_DEPRECATEDIN_3_0 +SRP_user_pwd *SRP_user_pwd_new(void); +OSSL_DEPRECATEDIN_3_0 +void SRP_user_pwd_free(SRP_user_pwd *user_pwd); + +OSSL_DEPRECATEDIN_3_0 +void SRP_user_pwd_set_gN(SRP_user_pwd *user_pwd, const BIGNUM *g, + const BIGNUM *N); +OSSL_DEPRECATEDIN_3_0 +int SRP_user_pwd_set1_ids(SRP_user_pwd *user_pwd, const char *id, + const char *info); +OSSL_DEPRECATEDIN_3_0 +int SRP_user_pwd_set0_sv(SRP_user_pwd *user_pwd, BIGNUM *s, BIGNUM *v); + +typedef struct SRP_VBASE_st { + STACK_OF(SRP_user_pwd) *users_pwd; + STACK_OF(SRP_gN_cache) *gN_cache; +/* to simulate a user */ + char *seed_key; + const BIGNUM *default_g; + const BIGNUM *default_N; +} SRP_VBASE; + +/* + * Internal structure storing N and g pair + */ +typedef struct SRP_gN_st { + char *id; + const BIGNUM *g; + const BIGNUM *N; +} SRP_gN; +SKM_DEFINE_STACK_OF_INTERNAL(SRP_gN, SRP_gN, SRP_gN) +#define sk_SRP_gN_num(sk) OPENSSL_sk_num(ossl_check_const_SRP_gN_sk_type(sk)) +#define sk_SRP_gN_value(sk, idx) ((SRP_gN *)OPENSSL_sk_value(ossl_check_const_SRP_gN_sk_type(sk), (idx))) +#define sk_SRP_gN_new(cmp) ((STACK_OF(SRP_gN) *)OPENSSL_sk_new(ossl_check_SRP_gN_compfunc_type(cmp))) +#define sk_SRP_gN_new_null() ((STACK_OF(SRP_gN) *)OPENSSL_sk_new_null()) +#define sk_SRP_gN_new_reserve(cmp, n) ((STACK_OF(SRP_gN) *)OPENSSL_sk_new_reserve(ossl_check_SRP_gN_compfunc_type(cmp), (n))) +#define sk_SRP_gN_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SRP_gN_sk_type(sk), (n)) +#define sk_SRP_gN_free(sk) OPENSSL_sk_free(ossl_check_SRP_gN_sk_type(sk)) +#define sk_SRP_gN_zero(sk) OPENSSL_sk_zero(ossl_check_SRP_gN_sk_type(sk)) +#define sk_SRP_gN_delete(sk, i) ((SRP_gN *)OPENSSL_sk_delete(ossl_check_SRP_gN_sk_type(sk), (i))) +#define sk_SRP_gN_delete_ptr(sk, ptr) ((SRP_gN *)OPENSSL_sk_delete_ptr(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr))) +#define sk_SRP_gN_push(sk, ptr) OPENSSL_sk_push(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr)) +#define sk_SRP_gN_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr)) +#define sk_SRP_gN_pop(sk) ((SRP_gN *)OPENSSL_sk_pop(ossl_check_SRP_gN_sk_type(sk))) +#define sk_SRP_gN_shift(sk) ((SRP_gN *)OPENSSL_sk_shift(ossl_check_SRP_gN_sk_type(sk))) +#define sk_SRP_gN_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SRP_gN_sk_type(sk),ossl_check_SRP_gN_freefunc_type(freefunc)) +#define sk_SRP_gN_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr), (idx)) +#define sk_SRP_gN_set(sk, idx, ptr) ((SRP_gN *)OPENSSL_sk_set(ossl_check_SRP_gN_sk_type(sk), (idx), ossl_check_SRP_gN_type(ptr))) +#define sk_SRP_gN_find(sk, ptr) OPENSSL_sk_find(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr)) +#define sk_SRP_gN_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr)) +#define sk_SRP_gN_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_type(ptr), pnum) +#define sk_SRP_gN_sort(sk) OPENSSL_sk_sort(ossl_check_SRP_gN_sk_type(sk)) +#define sk_SRP_gN_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SRP_gN_sk_type(sk)) +#define sk_SRP_gN_dup(sk) ((STACK_OF(SRP_gN) *)OPENSSL_sk_dup(ossl_check_const_SRP_gN_sk_type(sk))) +#define sk_SRP_gN_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SRP_gN) *)OPENSSL_sk_deep_copy(ossl_check_const_SRP_gN_sk_type(sk), ossl_check_SRP_gN_copyfunc_type(copyfunc), ossl_check_SRP_gN_freefunc_type(freefunc))) +#define sk_SRP_gN_set_cmp_func(sk, cmp) ((sk_SRP_gN_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SRP_gN_sk_type(sk), ossl_check_SRP_gN_compfunc_type(cmp))) + + + +OSSL_DEPRECATEDIN_3_0 +SRP_VBASE *SRP_VBASE_new(char *seed_key); +OSSL_DEPRECATEDIN_3_0 +void SRP_VBASE_free(SRP_VBASE *vb); +OSSL_DEPRECATEDIN_3_0 +int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); + +OSSL_DEPRECATEDIN_3_0 +int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd); + +/* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ +OSSL_DEPRECATEDIN_3_0 +SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username); + +OSSL_DEPRECATEDIN_3_0 +char *SRP_create_verifier_ex(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g, + OSSL_LIB_CTX *libctx, const char *propq); +OSSL_DEPRECATEDIN_3_0 +char *SRP_create_verifier(const char *user, const char *pass, char **salt, + char **verifier, const char *N, const char *g); +OSSL_DEPRECATEDIN_3_0 +int SRP_create_verifier_BN_ex(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, const BIGNUM *N, + const BIGNUM *g, OSSL_LIB_CTX *libctx, + const char *propq); +OSSL_DEPRECATEDIN_3_0 +int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, + BIGNUM **verifier, const BIGNUM *N, + const BIGNUM *g); + +# define SRP_NO_ERROR 0 +# define SRP_ERR_VBASE_INCOMPLETE_FILE 1 +# define SRP_ERR_VBASE_BN_LIB 2 +# define SRP_ERR_OPEN_FILE 3 +# define SRP_ERR_MEMORY 4 + +# define DB_srptype 0 +# define DB_srpverifier 1 +# define DB_srpsalt 2 +# define DB_srpid 3 +# define DB_srpgN 4 +# define DB_srpinfo 5 +# undef DB_NUMBER +# define DB_NUMBER 6 + +# define DB_SRP_INDEX 'I' +# define DB_SRP_VALID 'V' +# define DB_SRP_REVOKED 'R' +# define DB_SRP_MODIF 'v' + +/* see srp.c */ +OSSL_DEPRECATEDIN_3_0 +char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N); +OSSL_DEPRECATEDIN_3_0 +SRP_gN *SRP_get_default_gN(const char *id); + +/* server side .... */ +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u, + const BIGNUM *b, const BIGNUM *N); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_B_ex(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, + const BIGNUM *v, OSSL_LIB_CTX *libctx, const char *propq); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g, + const BIGNUM *v); + +OSSL_DEPRECATEDIN_3_0 +int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_u_ex(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N, + OSSL_LIB_CTX *libctx, const char *propq); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N); + +/* client side .... */ + +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_x_ex(const BIGNUM *s, const char *user, const char *pass, + OSSL_LIB_CTX *libctx, const char *propq); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_client_key_ex(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, + const BIGNUM *x, const BIGNUM *a, const BIGNUM *u, + OSSL_LIB_CTX *libctx, const char *propq); +OSSL_DEPRECATEDIN_3_0 +BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g, + const BIGNUM *x, const BIGNUM *a, const BIGNUM *u); +OSSL_DEPRECATEDIN_3_0 +int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N); + +# define SRP_MINIMAL_N 1024 + +# endif /* OPENSSL_NO_DEPRECATED_3_0 */ + +/* This method ignores the configured seed and fails for an unknown user. */ +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 +SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); +# endif + +# ifdef __cplusplus +} +# endif +# endif + +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h new file mode 100644 index 00000000000000..0f1915755ae8a4 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h @@ -0,0 +1,2668 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/ssl.h.in + * + * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * Copyright 2005 Nokia. All rights reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_SSL_H +# define OPENSSL_SSL_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_SSL_H +# endif + +# include +# include +# include +# include +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# include +# include +# include +# endif +# include +# include +# include +# include + +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* OpenSSL version number for ASN.1 encoding of the session information */ +/*- + * Version 0 - initial version + * Version 1 - added the optional peer certificate + */ +# define SSL_SESSION_ASN1_VERSION 0x0001 + +# define SSL_MAX_SSL_SESSION_ID_LENGTH 32 +# define SSL_MAX_SID_CTX_LENGTH 32 + +# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) +# define SSL_MAX_KEY_ARG_LENGTH 8 +/* SSL_MAX_MASTER_KEY_LENGTH is defined in prov_ssl.h */ + +/* The maximum number of encrypt/decrypt pipelines we can support */ +# define SSL_MAX_PIPELINES 32 + +/* text strings for the ciphers */ + +/* These are used to specify which ciphers to use and not to use */ + +# define SSL_TXT_LOW "LOW" +# define SSL_TXT_MEDIUM "MEDIUM" +# define SSL_TXT_HIGH "HIGH" +# define SSL_TXT_FIPS "FIPS" + +# define SSL_TXT_aNULL "aNULL" +# define SSL_TXT_eNULL "eNULL" +# define SSL_TXT_NULL "NULL" + +# define SSL_TXT_kRSA "kRSA" +# define SSL_TXT_kDHr "kDHr"/* this cipher class has been removed */ +# define SSL_TXT_kDHd "kDHd"/* this cipher class has been removed */ +# define SSL_TXT_kDH "kDH"/* this cipher class has been removed */ +# define SSL_TXT_kEDH "kEDH"/* alias for kDHE */ +# define SSL_TXT_kDHE "kDHE" +# define SSL_TXT_kECDHr "kECDHr"/* this cipher class has been removed */ +# define SSL_TXT_kECDHe "kECDHe"/* this cipher class has been removed */ +# define SSL_TXT_kECDH "kECDH"/* this cipher class has been removed */ +# define SSL_TXT_kEECDH "kEECDH"/* alias for kECDHE */ +# define SSL_TXT_kECDHE "kECDHE" +# define SSL_TXT_kPSK "kPSK" +# define SSL_TXT_kRSAPSK "kRSAPSK" +# define SSL_TXT_kECDHEPSK "kECDHEPSK" +# define SSL_TXT_kDHEPSK "kDHEPSK" +# define SSL_TXT_kGOST "kGOST" +# define SSL_TXT_kGOST18 "kGOST18" +# define SSL_TXT_kSRP "kSRP" + +# define SSL_TXT_aRSA "aRSA" +# define SSL_TXT_aDSS "aDSS" +# define SSL_TXT_aDH "aDH"/* this cipher class has been removed */ +# define SSL_TXT_aECDH "aECDH"/* this cipher class has been removed */ +# define SSL_TXT_aECDSA "aECDSA" +# define SSL_TXT_aPSK "aPSK" +# define SSL_TXT_aGOST94 "aGOST94" +# define SSL_TXT_aGOST01 "aGOST01" +# define SSL_TXT_aGOST12 "aGOST12" +# define SSL_TXT_aGOST "aGOST" +# define SSL_TXT_aSRP "aSRP" + +# define SSL_TXT_DSS "DSS" +# define SSL_TXT_DH "DH" +# define SSL_TXT_DHE "DHE"/* same as "kDHE:-ADH" */ +# define SSL_TXT_EDH "EDH"/* alias for DHE */ +# define SSL_TXT_ADH "ADH" +# define SSL_TXT_RSA "RSA" +# define SSL_TXT_ECDH "ECDH" +# define SSL_TXT_EECDH "EECDH"/* alias for ECDHE" */ +# define SSL_TXT_ECDHE "ECDHE"/* same as "kECDHE:-AECDH" */ +# define SSL_TXT_AECDH "AECDH" +# define SSL_TXT_ECDSA "ECDSA" +# define SSL_TXT_PSK "PSK" +# define SSL_TXT_SRP "SRP" + +# define SSL_TXT_DES "DES" +# define SSL_TXT_3DES "3DES" +# define SSL_TXT_RC4 "RC4" +# define SSL_TXT_RC2 "RC2" +# define SSL_TXT_IDEA "IDEA" +# define SSL_TXT_SEED "SEED" +# define SSL_TXT_AES128 "AES128" +# define SSL_TXT_AES256 "AES256" +# define SSL_TXT_AES "AES" +# define SSL_TXT_AES_GCM "AESGCM" +# define SSL_TXT_AES_CCM "AESCCM" +# define SSL_TXT_AES_CCM_8 "AESCCM8" +# define SSL_TXT_CAMELLIA128 "CAMELLIA128" +# define SSL_TXT_CAMELLIA256 "CAMELLIA256" +# define SSL_TXT_CAMELLIA "CAMELLIA" +# define SSL_TXT_CHACHA20 "CHACHA20" +# define SSL_TXT_GOST "GOST89" +# define SSL_TXT_ARIA "ARIA" +# define SSL_TXT_ARIA_GCM "ARIAGCM" +# define SSL_TXT_ARIA128 "ARIA128" +# define SSL_TXT_ARIA256 "ARIA256" +# define SSL_TXT_GOST2012_GOST8912_GOST8912 "GOST2012-GOST8912-GOST8912" +# define SSL_TXT_CBC "CBC" + +# define SSL_TXT_MD5 "MD5" +# define SSL_TXT_SHA1 "SHA1" +# define SSL_TXT_SHA "SHA"/* same as "SHA1" */ +# define SSL_TXT_GOST94 "GOST94" +# define SSL_TXT_GOST89MAC "GOST89MAC" +# define SSL_TXT_GOST12 "GOST12" +# define SSL_TXT_GOST89MAC12 "GOST89MAC12" +# define SSL_TXT_SHA256 "SHA256" +# define SSL_TXT_SHA384 "SHA384" + +# define SSL_TXT_SSLV3 "SSLv3" +# define SSL_TXT_TLSV1 "TLSv1" +# define SSL_TXT_TLSV1_1 "TLSv1.1" +# define SSL_TXT_TLSV1_2 "TLSv1.2" + +# define SSL_TXT_ALL "ALL" + +/*- + * COMPLEMENTOF* definitions. These identifiers are used to (de-select) + * ciphers normally not being used. + * Example: "RC4" will activate all ciphers using RC4 including ciphers + * without authentication, which would normally disabled by DEFAULT (due + * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" + * will make sure that it is also disabled in the specific selection. + * COMPLEMENTOF* identifiers are portable between version, as adjustments + * to the default cipher setup will also be included here. + * + * COMPLEMENTOFDEFAULT does not experience the same special treatment that + * DEFAULT gets, as only selection is being done and no sorting as needed + * for DEFAULT. + */ +# define SSL_TXT_CMPALL "COMPLEMENTOFALL" +# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" + +/* + * The following cipher list is used by default. It also is substituted when + * an application-defined cipher list string starts with 'DEFAULT'. + * This applies to ciphersuites for TLSv1.2 and below. + * DEPRECATED IN 3.0.0, in favor of OSSL_default_cipher_list() + * Update both macro and function simultaneously + */ +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" +/* + * This is the default set of TLSv1.3 ciphersuites + * DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites() + * Update both macro and function simultaneously + */ +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ + "TLS_CHACHA20_POLY1305_SHA256:" \ + "TLS_AES_128_GCM_SHA256" +# endif +/* + * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always + * starts with a reasonable order, and all we have to do for DEFAULT is + * throwing out anonymous and unencrypted ciphersuites! (The latter are not + * actually enabled by ALL, but "ALL:RSA" would enable some of them.) + */ + +/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ +# define SSL_SENT_SHUTDOWN 1 +# define SSL_RECEIVED_SHUTDOWN 2 + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 +# define SSL_FILETYPE_PEM X509_FILETYPE_PEM + +/* + * This is needed to stop compilers complaining about the 'struct ssl_st *' + * function parameters used to prototype callbacks in SSL_CTX. + */ +typedef struct ssl_st *ssl_crock_st; +typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; +typedef struct ssl_method_st SSL_METHOD; +typedef struct ssl_cipher_st SSL_CIPHER; +typedef struct ssl_session_st SSL_SESSION; +typedef struct tls_sigalgs_st TLS_SIGALGS; +typedef struct ssl_conf_ctx_st SSL_CONF_CTX; +typedef struct ssl_comp_st SSL_COMP; + +STACK_OF(SSL_CIPHER); +STACK_OF(SSL_COMP); + +/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ +typedef struct srtp_protection_profile_st { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; +SKM_DEFINE_STACK_OF_INTERNAL(SRTP_PROTECTION_PROFILE, SRTP_PROTECTION_PROFILE, SRTP_PROTECTION_PROFILE) +#define sk_SRTP_PROTECTION_PROFILE_num(sk) OPENSSL_sk_num(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk)) +#define sk_SRTP_PROTECTION_PROFILE_value(sk, idx) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_value(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk), (idx))) +#define sk_SRTP_PROTECTION_PROFILE_new(cmp) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new(ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp))) +#define sk_SRTP_PROTECTION_PROFILE_new_null() ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new_null()) +#define sk_SRTP_PROTECTION_PROFILE_new_reserve(cmp, n) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_new_reserve(ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp), (n))) +#define sk_SRTP_PROTECTION_PROFILE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), (n)) +#define sk_SRTP_PROTECTION_PROFILE_free(sk) OPENSSL_sk_free(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk)) +#define sk_SRTP_PROTECTION_PROFILE_zero(sk) OPENSSL_sk_zero(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk)) +#define sk_SRTP_PROTECTION_PROFILE_delete(sk, i) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_delete(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), (i))) +#define sk_SRTP_PROTECTION_PROFILE_delete_ptr(sk, ptr) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_delete_ptr(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr))) +#define sk_SRTP_PROTECTION_PROFILE_push(sk, ptr) OPENSSL_sk_push(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)) +#define sk_SRTP_PROTECTION_PROFILE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)) +#define sk_SRTP_PROTECTION_PROFILE_pop(sk) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_pop(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))) +#define sk_SRTP_PROTECTION_PROFILE_shift(sk) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_shift(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk))) +#define sk_SRTP_PROTECTION_PROFILE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk),ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type(freefunc)) +#define sk_SRTP_PROTECTION_PROFILE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr), (idx)) +#define sk_SRTP_PROTECTION_PROFILE_set(sk, idx, ptr) ((SRTP_PROTECTION_PROFILE *)OPENSSL_sk_set(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), (idx), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr))) +#define sk_SRTP_PROTECTION_PROFILE_find(sk, ptr) OPENSSL_sk_find(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)) +#define sk_SRTP_PROTECTION_PROFILE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr)) +#define sk_SRTP_PROTECTION_PROFILE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_type(ptr), pnum) +#define sk_SRTP_PROTECTION_PROFILE_sort(sk) OPENSSL_sk_sort(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk)) +#define sk_SRTP_PROTECTION_PROFILE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk)) +#define sk_SRTP_PROTECTION_PROFILE_dup(sk) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_dup(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk))) +#define sk_SRTP_PROTECTION_PROFILE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SRTP_PROTECTION_PROFILE) *)OPENSSL_sk_deep_copy(ossl_check_const_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_copyfunc_type(copyfunc), ossl_check_SRTP_PROTECTION_PROFILE_freefunc_type(freefunc))) +#define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(sk, cmp) ((sk_SRTP_PROTECTION_PROFILE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SRTP_PROTECTION_PROFILE_sk_type(sk), ossl_check_SRTP_PROTECTION_PROFILE_compfunc_type(cmp))) + + + +typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, + int len, void *arg); +typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, + STACK_OF(SSL_CIPHER) *peer_ciphers, + const SSL_CIPHER **cipher, void *arg); + +/* Extension context codes */ +/* This extension is only allowed in TLS */ +#define SSL_EXT_TLS_ONLY 0x0001 +/* This extension is only allowed in DTLS */ +#define SSL_EXT_DTLS_ONLY 0x0002 +/* Some extensions may be allowed in DTLS but we don't implement them for it */ +#define SSL_EXT_TLS_IMPLEMENTATION_ONLY 0x0004 +/* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */ +#define SSL_EXT_SSL3_ALLOWED 0x0008 +/* Extension is only defined for TLS1.2 and below */ +#define SSL_EXT_TLS1_2_AND_BELOW_ONLY 0x0010 +/* Extension is only defined for TLS1.3 and above */ +#define SSL_EXT_TLS1_3_ONLY 0x0020 +/* Ignore this extension during parsing if we are resuming */ +#define SSL_EXT_IGNORE_ON_RESUMPTION 0x0040 +#define SSL_EXT_CLIENT_HELLO 0x0080 +/* Really means TLS1.2 or below */ +#define SSL_EXT_TLS1_2_SERVER_HELLO 0x0100 +#define SSL_EXT_TLS1_3_SERVER_HELLO 0x0200 +#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS 0x0400 +#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST 0x0800 +#define SSL_EXT_TLS1_3_CERTIFICATE 0x1000 +#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET 0x2000 +#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST 0x4000 + +/* Typedefs for handling custom extensions */ + +typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type, + const unsigned char **out, size_t *outlen, + int *al, void *add_arg); + +typedef void (*custom_ext_free_cb)(SSL *s, unsigned int ext_type, + const unsigned char *out, void *add_arg); + +typedef int (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type, + const unsigned char *in, size_t inlen, + int *al, void *parse_arg); + + +typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char **out, + size_t *outlen, X509 *x, + size_t chainidx, + int *al, void *add_arg); + +typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *out, + void *add_arg); + +typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *in, + size_t inlen, X509 *x, + size_t chainidx, + int *al, void *parse_arg); + +/* Typedef for verification callback */ +typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx); + +/* Typedef for SSL async callback */ +typedef int (*SSL_async_callback_fn)(SSL *s, void *arg); + +#define SSL_OP_BIT(n) ((uint64_t)1 << (uint64_t)n) + +/* + * SSL/TLS connection options. + */ + /* Disable Extended master secret */ +# define SSL_OP_NO_EXTENDED_MASTER_SECRET SSL_OP_BIT(0) + /* Cleanse plaintext copies of data delivered to the application */ +# define SSL_OP_CLEANSE_PLAINTEXT SSL_OP_BIT(1) + /* Allow initial connection to servers that don't support RI */ +# define SSL_OP_LEGACY_SERVER_CONNECT SSL_OP_BIT(2) + /* Enable support for Kernel TLS */ +# define SSL_OP_ENABLE_KTLS SSL_OP_BIT(3) +# define SSL_OP_TLSEXT_PADDING SSL_OP_BIT(4) +# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG SSL_OP_BIT(6) +# define SSL_OP_IGNORE_UNEXPECTED_EOF SSL_OP_BIT(7) +# define SSL_OP_ALLOW_CLIENT_RENEGOTIATION SSL_OP_BIT(8) +# define SSL_OP_DISABLE_TLSEXT_CA_NAMES SSL_OP_BIT(9) + /* In TLSv1.3 allow a non-(ec)dhe based kex_mode */ +# define SSL_OP_ALLOW_NO_DHE_KEX SSL_OP_BIT(10) + /* + * Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added + * in OpenSSL 0.9.6d. Usually (depending on the application protocol) + * the workaround is not needed. Unfortunately some broken SSL/TLS + * implementations cannot handle it at all, which is why we include it + * in SSL_OP_ALL. Added in 0.9.6e + */ +# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS SSL_OP_BIT(11) + /* DTLS options */ +# define SSL_OP_NO_QUERY_MTU SSL_OP_BIT(12) + /* Turn on Cookie Exchange (on relevant for servers) */ +# define SSL_OP_COOKIE_EXCHANGE SSL_OP_BIT(13) + /* Don't use RFC4507 ticket extension */ +# define SSL_OP_NO_TICKET SSL_OP_BIT(14) +# ifndef OPENSSL_NO_DTLS1_METHOD + /* + * Use Cisco's version identifier of DTLS_BAD_VER + * (only with deprecated DTLSv1_client_method()) + */ +# define SSL_OP_CISCO_ANYCONNECT SSL_OP_BIT(15) +# endif + /* As server, disallow session resumption on renegotiation */ +# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION SSL_OP_BIT(16) + /* Don't use compression even if supported */ +# define SSL_OP_NO_COMPRESSION SSL_OP_BIT(17) + /* Permit unsafe legacy renegotiation */ +# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION SSL_OP_BIT(18) + /* Disable encrypt-then-mac */ +# define SSL_OP_NO_ENCRYPT_THEN_MAC SSL_OP_BIT(19) + /* + * Enable TLSv1.3 Compatibility mode. This is on by default. A future + * version of OpenSSL may have this disabled by default. + */ +# define SSL_OP_ENABLE_MIDDLEBOX_COMPAT SSL_OP_BIT(20) + /* + * Prioritize Chacha20Poly1305 when client does. + * Modifies SSL_OP_CIPHER_SERVER_PREFERENCE + */ +# define SSL_OP_PRIORITIZE_CHACHA SSL_OP_BIT(21) + /* + * Set on servers to choose the cipher according to server's preferences. + */ +# define SSL_OP_CIPHER_SERVER_PREFERENCE SSL_OP_BIT(22) + /* + * If set, a server will allow a client to issue a SSLv3.0 version + * number as latest version supported in the premaster secret, even when + * TLSv1.0 (version 3.1) was announced in the client hello. Normally + * this is forbidden to prevent version rollback attacks. + */ +# define SSL_OP_TLS_ROLLBACK_BUG SSL_OP_BIT(23) + /* + * Switches off automatic TLSv1.3 anti-replay protection for early data. + * This is a server-side option only (no effect on the client). + */ +# define SSL_OP_NO_ANTI_REPLAY SSL_OP_BIT(24) +# define SSL_OP_NO_SSLv3 SSL_OP_BIT(25) +# define SSL_OP_NO_TLSv1 SSL_OP_BIT(26) +# define SSL_OP_NO_TLSv1_2 SSL_OP_BIT(27) +# define SSL_OP_NO_TLSv1_1 SSL_OP_BIT(28) +# define SSL_OP_NO_TLSv1_3 SSL_OP_BIT(29) +# define SSL_OP_NO_DTLSv1 SSL_OP_BIT(26) +# define SSL_OP_NO_DTLSv1_2 SSL_OP_BIT(27) + /* Disallow all renegotiation */ +# define SSL_OP_NO_RENEGOTIATION SSL_OP_BIT(30) + /* + * Make server add server-hello extension from early version of + * cryptopro draft, when GOST ciphersuite is negotiated. Required for + * interoperability with CryptoPro CSP 3.x + */ +# define SSL_OP_CRYPTOPRO_TLSEXT_BUG SSL_OP_BIT(31) + +/* + * Option "collections." + */ +# define SSL_OP_NO_SSL_MASK \ + ( SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 \ + | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3 ) +# define SSL_OP_NO_DTLS_MASK \ + ( SSL_OP_NO_DTLSv1 | SSL_OP_NO_DTLSv1_2 ) + +/* Various bug workarounds that should be rather harmless. */ +# define SSL_OP_ALL \ + ( SSL_OP_CRYPTOPRO_TLSEXT_BUG | SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS \ + | SSL_OP_TLSEXT_PADDING | SSL_OP_SAFARI_ECDHE_ECDSA_BUG ) + +/* + * OBSOLETE OPTIONS retained for compatibility + */ + +# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x0 +# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x0 +# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x0 +# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0 +# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x0 +# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0 +# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0 +# define SSL_OP_TLS_D5_BUG 0x0 +# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0 +# define SSL_OP_SINGLE_ECDH_USE 0x0 +# define SSL_OP_SINGLE_DH_USE 0x0 +# define SSL_OP_EPHEMERAL_RSA 0x0 +# define SSL_OP_NO_SSLv2 0x0 +# define SSL_OP_PKCS1_CHECK_1 0x0 +# define SSL_OP_PKCS1_CHECK_2 0x0 +# define SSL_OP_NETSCAPE_CA_DN_BUG 0x0 +# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x0 + +/* + * Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success + * when just a single record has been written): + */ +# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001U +/* + * Make it possible to retry SSL_write() with changed buffer location (buffer + * contents must stay the same!); this is not the default to avoid the + * misconception that non-blocking SSL_write() behaves like non-blocking + * write(): + */ +# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U +/* + * Never bother the application with retries if the transport is blocking: + */ +# define SSL_MODE_AUTO_RETRY 0x00000004U +/* Don't attempt to automatically build certificate chain */ +# define SSL_MODE_NO_AUTO_CHAIN 0x00000008U +/* + * Save RAM by releasing read and write buffers when they're empty. (SSL3 and + * TLS only.) Released buffers are freed. + */ +# define SSL_MODE_RELEASE_BUFFERS 0x00000010U +/* + * Send the current time in the Random fields of the ClientHello and + * ServerHello records for compatibility with hypothetical implementations + * that require it. + */ +# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U +# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U +/* + * Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications + * that reconnect with a downgraded protocol version; see + * draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your + * application attempts a normal handshake. Only use this in explicit + * fallback retries, following the guidance in + * draft-ietf-tls-downgrade-scsv-00. + */ +# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U +/* + * Support Asynchronous operation + */ +# define SSL_MODE_ASYNC 0x00000100U + +/* + * When using DTLS/SCTP, include the terminating zero in the label + * used for computing the endpoint-pair shared secret. Required for + * interoperability with implementations having this bug like these + * older version of OpenSSL: + * - OpenSSL 1.0.0 series + * - OpenSSL 1.0.1 series + * - OpenSSL 1.0.2 series + * - OpenSSL 1.1.0 series + * - OpenSSL 1.1.1 and 1.1.1a + */ +# define SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG 0x00000400U + +/* Cert related flags */ +/* + * Many implementations ignore some aspects of the TLS standards such as + * enforcing certificate chain algorithms. When this is set we enforce them. + */ +# define SSL_CERT_FLAG_TLS_STRICT 0x00000001U + +/* Suite B modes, takes same values as certificate verify flags */ +# define SSL_CERT_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define SSL_CERT_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define SSL_CERT_FLAG_SUITEB_128_LOS 0x30000 + +/* Perform all sorts of protocol violations for testing purposes */ +# define SSL_CERT_FLAG_BROKEN_PROTOCOL 0x10000000 + +/* Flags for building certificate chains */ +/* Treat any existing certificates as untrusted CAs */ +# define SSL_BUILD_CHAIN_FLAG_UNTRUSTED 0x1 +/* Don't include root CA in chain */ +# define SSL_BUILD_CHAIN_FLAG_NO_ROOT 0x2 +/* Just check certificates already there */ +# define SSL_BUILD_CHAIN_FLAG_CHECK 0x4 +/* Ignore verification errors */ +# define SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR 0x8 +/* Clear verification errors from queue */ +# define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10 + +/* Flags returned by SSL_check_chain */ +/* Certificate can be used with this session */ +# define CERT_PKEY_VALID 0x1 +/* Certificate can also be used for signing */ +# define CERT_PKEY_SIGN 0x2 +/* EE certificate signing algorithm OK */ +# define CERT_PKEY_EE_SIGNATURE 0x10 +/* CA signature algorithms OK */ +# define CERT_PKEY_CA_SIGNATURE 0x20 +/* EE certificate parameters OK */ +# define CERT_PKEY_EE_PARAM 0x40 +/* CA certificate parameters OK */ +# define CERT_PKEY_CA_PARAM 0x80 +/* Signing explicitly allowed as opposed to SHA1 fallback */ +# define CERT_PKEY_EXPLICIT_SIGN 0x100 +/* Client CA issuer names match (always set for server cert) */ +# define CERT_PKEY_ISSUER_NAME 0x200 +/* Cert type matches client types (always set for server cert) */ +# define CERT_PKEY_CERT_TYPE 0x400 +/* Cert chain suitable to Suite B */ +# define CERT_PKEY_SUITEB 0x800 + +# define SSL_CONF_FLAG_CMDLINE 0x1 +# define SSL_CONF_FLAG_FILE 0x2 +# define SSL_CONF_FLAG_CLIENT 0x4 +# define SSL_CONF_FLAG_SERVER 0x8 +# define SSL_CONF_FLAG_SHOW_ERRORS 0x10 +# define SSL_CONF_FLAG_CERTIFICATE 0x20 +# define SSL_CONF_FLAG_REQUIRE_PRIVATE 0x40 +/* Configuration value types */ +# define SSL_CONF_TYPE_UNKNOWN 0x0 +# define SSL_CONF_TYPE_STRING 0x1 +# define SSL_CONF_TYPE_FILE 0x2 +# define SSL_CONF_TYPE_DIR 0x3 +# define SSL_CONF_TYPE_NONE 0x4 +# define SSL_CONF_TYPE_STORE 0x5 + +/* Maximum length of the application-controlled segment of a a TLSv1.3 cookie */ +# define SSL_COOKIE_LENGTH 4096 + +/* + * Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, they + * cannot be used to clear bits. + */ + +uint64_t SSL_CTX_get_options(const SSL_CTX *ctx); +uint64_t SSL_get_options(const SSL *s); +uint64_t SSL_CTX_clear_options(SSL_CTX *ctx, uint64_t op); +uint64_t SSL_clear_options(SSL *s, uint64_t op); +uint64_t SSL_CTX_set_options(SSL_CTX *ctx, uint64_t op); +uint64_t SSL_set_options(SSL *s, uint64_t op); + +# define SSL_CTX_set_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) +# define SSL_CTX_clear_mode(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_CTX_get_mode(ctx) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +# define SSL_clear_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) +# define SSL_set_mode(ssl,op) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +# define SSL_get_mode(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) +# define SSL_set_mtu(ssl, mtu) \ + SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) +# define DTLS_set_link_mtu(ssl, mtu) \ + SSL_ctrl((ssl),DTLS_CTRL_SET_LINK_MTU,(mtu),NULL) +# define DTLS_get_link_min_mtu(ssl) \ + SSL_ctrl((ssl),DTLS_CTRL_GET_LINK_MIN_MTU,0,NULL) + +# define SSL_get_secure_renegotiation_support(ssl) \ + SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) + +# define SSL_CTX_set_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_set_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CERT_FLAGS,(op),NULL) +# define SSL_CTX_clear_cert_flags(ctx,op) \ + SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) +# define SSL_clear_cert_flags(s,op) \ + SSL_ctrl((s),SSL_CTRL_CLEAR_CERT_FLAGS,(op),NULL) + +void SSL_CTX_set_msg_callback(SSL_CTX *ctx, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +void SSL_set_msg_callback(SSL *ssl, + void (*cb) (int write_p, int version, + int content_type, const void *buf, + size_t len, SSL *ssl, void *arg)); +# define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) +# define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) + +# define SSL_get_extms_support(s) \ + SSL_ctrl((s),SSL_CTRL_GET_EXTMS_SUPPORT,0,NULL) + +# ifndef OPENSSL_NO_SRP +/* see tls_srp.c */ +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 __owur int SSL_SRP_CTX_init(SSL *s); +OSSL_DEPRECATEDIN_3_0 __owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); +OSSL_DEPRECATEDIN_3_0 int SSL_SRP_CTX_free(SSL *ctx); +OSSL_DEPRECATEDIN_3_0 int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); +OSSL_DEPRECATEDIN_3_0 __owur int SSL_srp_server_param_with_username(SSL *s, + int *ad); +OSSL_DEPRECATEDIN_3_0 __owur int SRP_Calc_A_param(SSL *s); +# endif +# endif + +/* 100k max cert list */ +# define SSL_MAX_CERT_LIST_DEFAULT (1024*100) + +# define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) + +/* + * This callback type is used inside SSL_CTX, SSL, and in the functions that + * set them. It is used to override the generation of SSL/TLS session IDs in + * a server. Return value should be zero on an error, non-zero to proceed. + * Also, callbacks should themselves check if the id they generate is unique + * otherwise the SSL handshake will fail with an error - callbacks can do + * this using the 'ssl' value they're passed by; + * SSL_has_matching_session_id(ssl, id, *id_len) The length value passed in + * is set at the maximum size the session ID can be. In SSLv3/TLSv1 it is 32 + * bytes. The callback can alter this length to be less if desired. It is + * also an error for the callback to set the size to zero. + */ +typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id, + unsigned int *id_len); + +# define SSL_SESS_CACHE_OFF 0x0000 +# define SSL_SESS_CACHE_CLIENT 0x0001 +# define SSL_SESS_CACHE_SERVER 0x0002 +# define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) +# define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 +/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ +# define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 +# define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 +# define SSL_SESS_CACHE_NO_INTERNAL \ + (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) +# define SSL_SESS_CACHE_UPDATE_TIME 0x0400 + +LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); +# define SSL_CTX_sess_number(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +# define SSL_CTX_sess_connect(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) +# define SSL_CTX_sess_connect_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) +# define SSL_CTX_sess_connect_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) +# define SSL_CTX_sess_accept_renegotiate(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) +# define SSL_CTX_sess_accept_good(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) +# define SSL_CTX_sess_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) +# define SSL_CTX_sess_cb_hits(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) +# define SSL_CTX_sess_misses(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) +# define SSL_CTX_sess_timeouts(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) +# define SSL_CTX_sess_cache_full(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) + +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, + int (*new_session_cb) (struct ssl_st *ssl, + SSL_SESSION *sess)); +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + SSL_SESSION *sess); +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, + void (*remove_session_cb) (struct ssl_ctx_st + *ctx, + SSL_SESSION *sess)); +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (struct ssl_ctx_st *ctx, + SSL_SESSION *sess); +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, + SSL_SESSION *(*get_session_cb) (struct ssl_st + *ssl, + const unsigned char + *data, int len, + int *copy)); +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (struct ssl_st *ssl, + const unsigned char *data, + int len, int *copy); +void SSL_CTX_set_info_callback(SSL_CTX *ctx, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, + int val); +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, + int (*client_cert_cb) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey)); +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, + EVP_PKEY **pkey); +# ifndef OPENSSL_NO_ENGINE +__owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); +# endif +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, + int (*app_gen_cookie_cb) (SSL *ssl, + unsigned char + *cookie, + unsigned int + *cookie_len)); +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, + int (*app_verify_cookie_cb) (SSL *ssl, + const unsigned + char *cookie, + unsigned int + cookie_len)); + +void SSL_CTX_set_stateless_cookie_generate_cb( + SSL_CTX *ctx, + int (*gen_stateless_cookie_cb) (SSL *ssl, + unsigned char *cookie, + size_t *cookie_len)); +void SSL_CTX_set_stateless_cookie_verify_cb( + SSL_CTX *ctx, + int (*verify_stateless_cookie_cb) (SSL *ssl, + const unsigned char *cookie, + size_t cookie_len)); +# ifndef OPENSSL_NO_NEXTPROTONEG + +typedef int (*SSL_CTX_npn_advertised_cb_func)(SSL *ssl, + const unsigned char **out, + unsigned int *outlen, + void *arg); +void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, + SSL_CTX_npn_advertised_cb_func cb, + void *arg); +# define SSL_CTX_set_npn_advertised_cb SSL_CTX_set_next_protos_advertised_cb + +typedef int (*SSL_CTX_npn_select_cb_func)(SSL *s, + unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg); +void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, + SSL_CTX_npn_select_cb_func cb, + void *arg); +# define SSL_CTX_set_npn_select_cb SSL_CTX_set_next_proto_select_cb + +void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, + unsigned *len); +# define SSL_get0_npn_negotiated SSL_get0_next_proto_negotiated +# endif + +__owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, + const unsigned char *in, unsigned int inlen, + const unsigned char *client, + unsigned int client_len); + +# define OPENSSL_NPN_UNSUPPORTED 0 +# define OPENSSL_NPN_NEGOTIATED 1 +# define OPENSSL_NPN_NO_OVERLAP 2 + +__owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, + unsigned int protos_len); +__owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, + unsigned int protos_len); +typedef int (*SSL_CTX_alpn_select_cb_func)(SSL *ssl, + const unsigned char **out, + unsigned char *outlen, + const unsigned char *in, + unsigned int inlen, + void *arg); +void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, + SSL_CTX_alpn_select_cb_func cb, + void *arg); +void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, + unsigned int *len); + +# ifndef OPENSSL_NO_PSK +/* + * the maximum length of the buffer given to callbacks containing the + * resulting identity/psk + */ +# define PSK_MAX_IDENTITY_LEN 256 +# define PSK_MAX_PSK_LEN 512 +typedef unsigned int (*SSL_psk_client_cb_func)(SSL *ssl, + const char *hint, + char *identity, + unsigned int max_identity_len, + unsigned char *psk, + unsigned int max_psk_len); +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func cb); +void SSL_set_psk_client_callback(SSL *ssl, SSL_psk_client_cb_func cb); + +typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl, + const char *identity, + unsigned char *psk, + unsigned int max_psk_len); +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb); +void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb); + +__owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); +__owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); +const char *SSL_get_psk_identity_hint(const SSL *s); +const char *SSL_get_psk_identity(const SSL *s); +# endif + +typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl, + const unsigned char *identity, + size_t identity_len, + SSL_SESSION **sess); +typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md, + const unsigned char **id, + size_t *idlen, + SSL_SESSION **sess); + +void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb); +void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx, + SSL_psk_find_session_cb_func cb); +void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb); +void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx, + SSL_psk_use_session_cb_func cb); + +/* Register callbacks to handle custom TLS Extensions for client or server. */ + +__owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, + unsigned int ext_type); + +__owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, + unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +__owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, + unsigned int ext_type, + custom_ext_add_cb add_cb, + custom_ext_free_cb free_cb, + void *add_arg, + custom_ext_parse_cb parse_cb, + void *parse_arg); + +__owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type, + unsigned int context, + SSL_custom_ext_add_cb_ex add_cb, + SSL_custom_ext_free_cb_ex free_cb, + void *add_arg, + SSL_custom_ext_parse_cb_ex parse_cb, + void *parse_arg); + +__owur int SSL_extension_supported(unsigned int ext_type); + +# define SSL_NOTHING 1 +# define SSL_WRITING 2 +# define SSL_READING 3 +# define SSL_X509_LOOKUP 4 +# define SSL_ASYNC_PAUSED 5 +# define SSL_ASYNC_NO_JOBS 6 +# define SSL_CLIENT_HELLO_CB 7 +# define SSL_RETRY_VERIFY 8 + +/* These will only be used when doing non-blocking IO */ +# define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) +# define SSL_want_read(s) (SSL_want(s) == SSL_READING) +# define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) +# define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) +# define SSL_want_retry_verify(s) (SSL_want(s) == SSL_RETRY_VERIFY) +# define SSL_want_async(s) (SSL_want(s) == SSL_ASYNC_PAUSED) +# define SSL_want_async_job(s) (SSL_want(s) == SSL_ASYNC_NO_JOBS) +# define SSL_want_client_hello_cb(s) (SSL_want(s) == SSL_CLIENT_HELLO_CB) + +# define SSL_MAC_FLAG_READ_MAC_STREAM 1 +# define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 +# define SSL_MAC_FLAG_READ_MAC_TLSTREE 4 +# define SSL_MAC_FLAG_WRITE_MAC_TLSTREE 8 + +/* + * A callback for logging out TLS key material. This callback should log out + * |line| followed by a newline. + */ +typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line); + +/* + * SSL_CTX_set_keylog_callback configures a callback to log key material. This + * is intended for debugging use with tools like Wireshark. The cb function + * should log line followed by a newline. + */ +void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb); + +/* + * SSL_CTX_get_keylog_callback returns the callback configured by + * SSL_CTX_set_keylog_callback. + */ +SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx); + +int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data); +uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx); +int SSL_set_max_early_data(SSL *s, uint32_t max_early_data); +uint32_t SSL_get_max_early_data(const SSL *s); +int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data); +uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx); +int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data); +uint32_t SSL_get_recv_max_early_data(const SSL *s); + +#ifdef __cplusplus +} +#endif + +# include +# include +# include /* This is mostly sslv3 with a few tweaks */ +# include /* Datagram TLS */ +# include /* Support for the use_srtp extension */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * These need to be after the above set of includes due to a compiler bug + * in VisualStudio 2015 + */ +SKM_DEFINE_STACK_OF_INTERNAL(SSL_CIPHER, const SSL_CIPHER, SSL_CIPHER) +#define sk_SSL_CIPHER_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_CIPHER_sk_type(sk)) +#define sk_SSL_CIPHER_value(sk, idx) ((const SSL_CIPHER *)OPENSSL_sk_value(ossl_check_const_SSL_CIPHER_sk_type(sk), (idx))) +#define sk_SSL_CIPHER_new(cmp) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new(ossl_check_SSL_CIPHER_compfunc_type(cmp))) +#define sk_SSL_CIPHER_new_null() ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_null()) +#define sk_SSL_CIPHER_new_reserve(cmp, n) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_new_reserve(ossl_check_SSL_CIPHER_compfunc_type(cmp), (n))) +#define sk_SSL_CIPHER_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_CIPHER_sk_type(sk), (n)) +#define sk_SSL_CIPHER_free(sk) OPENSSL_sk_free(ossl_check_SSL_CIPHER_sk_type(sk)) +#define sk_SSL_CIPHER_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_CIPHER_sk_type(sk)) +#define sk_SSL_CIPHER_delete(sk, i) ((const SSL_CIPHER *)OPENSSL_sk_delete(ossl_check_SSL_CIPHER_sk_type(sk), (i))) +#define sk_SSL_CIPHER_delete_ptr(sk, ptr) ((const SSL_CIPHER *)OPENSSL_sk_delete_ptr(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr))) +#define sk_SSL_CIPHER_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr)) +#define sk_SSL_CIPHER_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr)) +#define sk_SSL_CIPHER_pop(sk) ((const SSL_CIPHER *)OPENSSL_sk_pop(ossl_check_SSL_CIPHER_sk_type(sk))) +#define sk_SSL_CIPHER_shift(sk) ((const SSL_CIPHER *)OPENSSL_sk_shift(ossl_check_SSL_CIPHER_sk_type(sk))) +#define sk_SSL_CIPHER_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_CIPHER_sk_type(sk),ossl_check_SSL_CIPHER_freefunc_type(freefunc)) +#define sk_SSL_CIPHER_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr), (idx)) +#define sk_SSL_CIPHER_set(sk, idx, ptr) ((const SSL_CIPHER *)OPENSSL_sk_set(ossl_check_SSL_CIPHER_sk_type(sk), (idx), ossl_check_SSL_CIPHER_type(ptr))) +#define sk_SSL_CIPHER_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr)) +#define sk_SSL_CIPHER_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr)) +#define sk_SSL_CIPHER_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_type(ptr), pnum) +#define sk_SSL_CIPHER_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_CIPHER_sk_type(sk)) +#define sk_SSL_CIPHER_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_CIPHER_sk_type(sk)) +#define sk_SSL_CIPHER_dup(sk) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_dup(ossl_check_const_SSL_CIPHER_sk_type(sk))) +#define sk_SSL_CIPHER_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_CIPHER) *)OPENSSL_sk_deep_copy(ossl_check_const_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_copyfunc_type(copyfunc), ossl_check_SSL_CIPHER_freefunc_type(freefunc))) +#define sk_SSL_CIPHER_set_cmp_func(sk, cmp) ((sk_SSL_CIPHER_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_CIPHER_sk_type(sk), ossl_check_SSL_CIPHER_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(SSL_COMP, SSL_COMP, SSL_COMP) +#define sk_SSL_COMP_num(sk) OPENSSL_sk_num(ossl_check_const_SSL_COMP_sk_type(sk)) +#define sk_SSL_COMP_value(sk, idx) ((SSL_COMP *)OPENSSL_sk_value(ossl_check_const_SSL_COMP_sk_type(sk), (idx))) +#define sk_SSL_COMP_new(cmp) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new(ossl_check_SSL_COMP_compfunc_type(cmp))) +#define sk_SSL_COMP_new_null() ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_null()) +#define sk_SSL_COMP_new_reserve(cmp, n) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_new_reserve(ossl_check_SSL_COMP_compfunc_type(cmp), (n))) +#define sk_SSL_COMP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SSL_COMP_sk_type(sk), (n)) +#define sk_SSL_COMP_free(sk) OPENSSL_sk_free(ossl_check_SSL_COMP_sk_type(sk)) +#define sk_SSL_COMP_zero(sk) OPENSSL_sk_zero(ossl_check_SSL_COMP_sk_type(sk)) +#define sk_SSL_COMP_delete(sk, i) ((SSL_COMP *)OPENSSL_sk_delete(ossl_check_SSL_COMP_sk_type(sk), (i))) +#define sk_SSL_COMP_delete_ptr(sk, ptr) ((SSL_COMP *)OPENSSL_sk_delete_ptr(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr))) +#define sk_SSL_COMP_push(sk, ptr) OPENSSL_sk_push(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr)) +#define sk_SSL_COMP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr)) +#define sk_SSL_COMP_pop(sk) ((SSL_COMP *)OPENSSL_sk_pop(ossl_check_SSL_COMP_sk_type(sk))) +#define sk_SSL_COMP_shift(sk) ((SSL_COMP *)OPENSSL_sk_shift(ossl_check_SSL_COMP_sk_type(sk))) +#define sk_SSL_COMP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SSL_COMP_sk_type(sk),ossl_check_SSL_COMP_freefunc_type(freefunc)) +#define sk_SSL_COMP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr), (idx)) +#define sk_SSL_COMP_set(sk, idx, ptr) ((SSL_COMP *)OPENSSL_sk_set(ossl_check_SSL_COMP_sk_type(sk), (idx), ossl_check_SSL_COMP_type(ptr))) +#define sk_SSL_COMP_find(sk, ptr) OPENSSL_sk_find(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr)) +#define sk_SSL_COMP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr)) +#define sk_SSL_COMP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_type(ptr), pnum) +#define sk_SSL_COMP_sort(sk) OPENSSL_sk_sort(ossl_check_SSL_COMP_sk_type(sk)) +#define sk_SSL_COMP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SSL_COMP_sk_type(sk)) +#define sk_SSL_COMP_dup(sk) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_dup(ossl_check_const_SSL_COMP_sk_type(sk))) +#define sk_SSL_COMP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SSL_COMP) *)OPENSSL_sk_deep_copy(ossl_check_const_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_copyfunc_type(copyfunc), ossl_check_SSL_COMP_freefunc_type(freefunc))) +#define sk_SSL_COMP_set_cmp_func(sk, cmp) ((sk_SSL_COMP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SSL_COMP_sk_type(sk), ossl_check_SSL_COMP_compfunc_type(cmp))) + + +/* compatibility */ +# define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)(arg))) +# define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) +# define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0, \ + (char *)(a))) +# define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) +# define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) +# define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0, \ + (char *)(arg))) +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 void SSL_set_debug(SSL *s, int debug); +# endif + +/* TLSv1.3 KeyUpdate message types */ +/* -1 used so that this is an invalid value for the on-the-wire protocol */ +#define SSL_KEY_UPDATE_NONE -1 +/* Values as defined for the on-the-wire protocol */ +#define SSL_KEY_UPDATE_NOT_REQUESTED 0 +#define SSL_KEY_UPDATE_REQUESTED 1 + +/* + * The valid handshake states (one for each type message sent and one for each + * type of message received). There are also two "special" states: + * TLS = TLS or DTLS state + * DTLS = DTLS specific state + * CR/SR = Client Read/Server Read + * CW/SW = Client Write/Server Write + * + * The "special" states are: + * TLS_ST_BEFORE = No handshake has been initiated yet + * TLS_ST_OK = A handshake has been successfully completed + */ +typedef enum { + TLS_ST_BEFORE, + TLS_ST_OK, + DTLS_ST_CR_HELLO_VERIFY_REQUEST, + TLS_ST_CR_SRVR_HELLO, + TLS_ST_CR_CERT, + TLS_ST_CR_CERT_STATUS, + TLS_ST_CR_KEY_EXCH, + TLS_ST_CR_CERT_REQ, + TLS_ST_CR_SRVR_DONE, + TLS_ST_CR_SESSION_TICKET, + TLS_ST_CR_CHANGE, + TLS_ST_CR_FINISHED, + TLS_ST_CW_CLNT_HELLO, + TLS_ST_CW_CERT, + TLS_ST_CW_KEY_EXCH, + TLS_ST_CW_CERT_VRFY, + TLS_ST_CW_CHANGE, + TLS_ST_CW_NEXT_PROTO, + TLS_ST_CW_FINISHED, + TLS_ST_SW_HELLO_REQ, + TLS_ST_SR_CLNT_HELLO, + DTLS_ST_SW_HELLO_VERIFY_REQUEST, + TLS_ST_SW_SRVR_HELLO, + TLS_ST_SW_CERT, + TLS_ST_SW_KEY_EXCH, + TLS_ST_SW_CERT_REQ, + TLS_ST_SW_SRVR_DONE, + TLS_ST_SR_CERT, + TLS_ST_SR_KEY_EXCH, + TLS_ST_SR_CERT_VRFY, + TLS_ST_SR_NEXT_PROTO, + TLS_ST_SR_CHANGE, + TLS_ST_SR_FINISHED, + TLS_ST_SW_SESSION_TICKET, + TLS_ST_SW_CERT_STATUS, + TLS_ST_SW_CHANGE, + TLS_ST_SW_FINISHED, + TLS_ST_SW_ENCRYPTED_EXTENSIONS, + TLS_ST_CR_ENCRYPTED_EXTENSIONS, + TLS_ST_CR_CERT_VRFY, + TLS_ST_SW_CERT_VRFY, + TLS_ST_CR_HELLO_REQ, + TLS_ST_SW_KEY_UPDATE, + TLS_ST_CW_KEY_UPDATE, + TLS_ST_SR_KEY_UPDATE, + TLS_ST_CR_KEY_UPDATE, + TLS_ST_EARLY_DATA, + TLS_ST_PENDING_EARLY_DATA_END, + TLS_ST_CW_END_OF_EARLY_DATA, + TLS_ST_SR_END_OF_EARLY_DATA +} OSSL_HANDSHAKE_STATE; + +/* + * Most of the following state values are no longer used and are defined to be + * the closest equivalent value in the current state machine code. Not all + * defines have an equivalent and are set to a dummy value (-1). SSL_ST_CONNECT + * and SSL_ST_ACCEPT are still in use in the definition of SSL_CB_ACCEPT_LOOP, + * SSL_CB_ACCEPT_EXIT, SSL_CB_CONNECT_LOOP and SSL_CB_CONNECT_EXIT. + */ + +# define SSL_ST_CONNECT 0x1000 +# define SSL_ST_ACCEPT 0x2000 + +# define SSL_ST_MASK 0x0FFF + +# define SSL_CB_LOOP 0x01 +# define SSL_CB_EXIT 0x02 +# define SSL_CB_READ 0x04 +# define SSL_CB_WRITE 0x08 +# define SSL_CB_ALERT 0x4000/* used in callback */ +# define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) +# define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) +# define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) +# define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) +# define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) +# define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) +# define SSL_CB_HANDSHAKE_START 0x10 +# define SSL_CB_HANDSHAKE_DONE 0x20 + +/* Is the SSL_connection established? */ +# define SSL_in_connect_init(a) (SSL_in_init(a) && !SSL_is_server(a)) +# define SSL_in_accept_init(a) (SSL_in_init(a) && SSL_is_server(a)) +int SSL_in_init(const SSL *s); +int SSL_in_before(const SSL *s); +int SSL_is_init_finished(const SSL *s); + +/* + * The following 3 states are kept in ssl->rlayer.rstate when reads fail, you + * should not need these + */ +# define SSL_ST_READ_HEADER 0xF0 +# define SSL_ST_READ_BODY 0xF1 +# define SSL_ST_READ_DONE 0xF2 + +/*- + * Obtain latest Finished message + * -- that we sent (SSL_get_finished) + * -- that we expected from peer (SSL_get_peer_finished). + * Returns length (0 == no Finished so far), copies up to 'count' bytes. + */ +size_t SSL_get_finished(const SSL *s, void *buf, size_t count); +size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); + +/* + * use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 3 options are + * 'ored' with SSL_VERIFY_PEER if they are desired + */ +# define SSL_VERIFY_NONE 0x00 +# define SSL_VERIFY_PEER 0x01 +# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 +# define SSL_VERIFY_CLIENT_ONCE 0x04 +# define SSL_VERIFY_POST_HANDSHAKE 0x08 + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define OpenSSL_add_ssl_algorithms() SSL_library_init() +# define SSLeay_add_ssl_algorithms() SSL_library_init() +# endif + +/* More backward compatibility */ +# define SSL_get_cipher(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_cipher_bits(s,np) \ + SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +# define SSL_get_cipher_version(s) \ + SSL_CIPHER_get_version(SSL_get_current_cipher(s)) +# define SSL_get_cipher_name(s) \ + SSL_CIPHER_get_name(SSL_get_current_cipher(s)) +# define SSL_get_time(a) SSL_SESSION_get_time(a) +# define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) +# define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) +# define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) + +# define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) +# define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) + +DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) +# define SSL_AD_REASON_OFFSET 1000/* offset to get SSL_R_... value + * from SSL_AD_... */ +/* These alert types are for SSLv3 and TLSv1 */ +# define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY +/* fatal */ +# define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE +/* fatal */ +# define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC +# define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED +# define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW +/* fatal */ +# define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE +/* fatal */ +# define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE +/* Not for TLS */ +# define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE +# define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE +# define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE +# define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED +# define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED +# define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN +/* fatal */ +# define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER +/* fatal */ +# define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA +/* fatal */ +# define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED +/* fatal */ +# define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR +# define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR +/* fatal */ +# define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION +/* fatal */ +# define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION +/* fatal */ +# define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY +/* fatal */ +# define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR +# define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED +# define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION +# define SSL_AD_MISSING_EXTENSION TLS13_AD_MISSING_EXTENSION +# define SSL_AD_CERTIFICATE_REQUIRED TLS13_AD_CERTIFICATE_REQUIRED +# define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION +# define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE +# define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME +# define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE +# define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE +/* fatal */ +# define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY +/* fatal */ +# define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK +# define SSL_AD_NO_APPLICATION_PROTOCOL TLS1_AD_NO_APPLICATION_PROTOCOL +# define SSL_ERROR_NONE 0 +# define SSL_ERROR_SSL 1 +# define SSL_ERROR_WANT_READ 2 +# define SSL_ERROR_WANT_WRITE 3 +# define SSL_ERROR_WANT_X509_LOOKUP 4 +# define SSL_ERROR_SYSCALL 5/* look at error stack/return + * value/errno */ +# define SSL_ERROR_ZERO_RETURN 6 +# define SSL_ERROR_WANT_CONNECT 7 +# define SSL_ERROR_WANT_ACCEPT 8 +# define SSL_ERROR_WANT_ASYNC 9 +# define SSL_ERROR_WANT_ASYNC_JOB 10 +# define SSL_ERROR_WANT_CLIENT_HELLO_CB 11 +# define SSL_ERROR_WANT_RETRY_VERIFY 12 + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_CTRL_SET_TMP_DH 3 +# define SSL_CTRL_SET_TMP_ECDH 4 +# define SSL_CTRL_SET_TMP_DH_CB 6 +# endif + +# define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 +# define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 +# define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 +# define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 +# define SSL_CTRL_GET_FLAGS 13 +# define SSL_CTRL_EXTRA_CHAIN_CERT 14 +# define SSL_CTRL_SET_MSG_CALLBACK 15 +# define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 +/* only applies to datagram connections */ +# define SSL_CTRL_SET_MTU 17 +/* Stats */ +# define SSL_CTRL_SESS_NUMBER 20 +# define SSL_CTRL_SESS_CONNECT 21 +# define SSL_CTRL_SESS_CONNECT_GOOD 22 +# define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 +# define SSL_CTRL_SESS_ACCEPT 24 +# define SSL_CTRL_SESS_ACCEPT_GOOD 25 +# define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 +# define SSL_CTRL_SESS_HIT 27 +# define SSL_CTRL_SESS_CB_HIT 28 +# define SSL_CTRL_SESS_MISSES 29 +# define SSL_CTRL_SESS_TIMEOUTS 30 +# define SSL_CTRL_SESS_CACHE_FULL 31 +# define SSL_CTRL_MODE 33 +# define SSL_CTRL_GET_READ_AHEAD 40 +# define SSL_CTRL_SET_READ_AHEAD 41 +# define SSL_CTRL_SET_SESS_CACHE_SIZE 42 +# define SSL_CTRL_GET_SESS_CACHE_SIZE 43 +# define SSL_CTRL_SET_SESS_CACHE_MODE 44 +# define SSL_CTRL_GET_SESS_CACHE_MODE 45 +# define SSL_CTRL_GET_MAX_CERT_LIST 50 +# define SSL_CTRL_SET_MAX_CERT_LIST 51 +# define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 +/* see tls1.h for macros based on these */ +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 +# define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 +# define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 +# define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 +# define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 +# define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 */ +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 */ +/*# define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 */ +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 +# define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 +# endif +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 +# define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 +# define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 +# define SSL_CTRL_SET_SRP_ARG 78 +# define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 +# define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 +# define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 +# define DTLS_CTRL_GET_TIMEOUT 73 +# define DTLS_CTRL_HANDLE_TIMEOUT 74 +# define SSL_CTRL_GET_RI_SUPPORT 76 +# define SSL_CTRL_CLEAR_MODE 78 +# define SSL_CTRL_SET_NOT_RESUMABLE_SESS_CB 79 +# define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 +# define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 +# define SSL_CTRL_CHAIN 88 +# define SSL_CTRL_CHAIN_CERT 89 +# define SSL_CTRL_GET_GROUPS 90 +# define SSL_CTRL_SET_GROUPS 91 +# define SSL_CTRL_SET_GROUPS_LIST 92 +# define SSL_CTRL_GET_SHARED_GROUP 93 +# define SSL_CTRL_SET_SIGALGS 97 +# define SSL_CTRL_SET_SIGALGS_LIST 98 +# define SSL_CTRL_CERT_FLAGS 99 +# define SSL_CTRL_CLEAR_CERT_FLAGS 100 +# define SSL_CTRL_SET_CLIENT_SIGALGS 101 +# define SSL_CTRL_SET_CLIENT_SIGALGS_LIST 102 +# define SSL_CTRL_GET_CLIENT_CERT_TYPES 103 +# define SSL_CTRL_SET_CLIENT_CERT_TYPES 104 +# define SSL_CTRL_BUILD_CERT_CHAIN 105 +# define SSL_CTRL_SET_VERIFY_CERT_STORE 106 +# define SSL_CTRL_SET_CHAIN_CERT_STORE 107 +# define SSL_CTRL_GET_PEER_SIGNATURE_NID 108 +# define SSL_CTRL_GET_PEER_TMP_KEY 109 +# define SSL_CTRL_GET_RAW_CIPHERLIST 110 +# define SSL_CTRL_GET_EC_POINT_FORMATS 111 +# define SSL_CTRL_GET_CHAIN_CERTS 115 +# define SSL_CTRL_SELECT_CURRENT_CERT 116 +# define SSL_CTRL_SET_CURRENT_CERT 117 +# define SSL_CTRL_SET_DH_AUTO 118 +# define DTLS_CTRL_SET_LINK_MTU 120 +# define DTLS_CTRL_GET_LINK_MIN_MTU 121 +# define SSL_CTRL_GET_EXTMS_SUPPORT 122 +# define SSL_CTRL_SET_MIN_PROTO_VERSION 123 +# define SSL_CTRL_SET_MAX_PROTO_VERSION 124 +# define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT 125 +# define SSL_CTRL_SET_MAX_PIPELINES 126 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE 127 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB 128 +# define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129 +# define SSL_CTRL_GET_MIN_PROTO_VERSION 130 +# define SSL_CTRL_GET_MAX_PROTO_VERSION 131 +# define SSL_CTRL_GET_SIGNATURE_NID 132 +# define SSL_CTRL_GET_TMP_KEY 133 +# define SSL_CTRL_GET_NEGOTIATED_GROUP 134 +# define SSL_CTRL_SET_RETRY_VERIFY 136 +# define SSL_CTRL_GET_VERIFY_CERT_STORE 137 +# define SSL_CTRL_GET_CHAIN_CERT_STORE 138 +# define SSL_CERT_SET_FIRST 1 +# define SSL_CERT_SET_NEXT 2 +# define SSL_CERT_SET_SERVER 3 +# define DTLSv1_get_timeout(ssl, arg) \ + SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)(arg)) +# define DTLSv1_handle_timeout(ssl) \ + SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) +# define SSL_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_clear_num_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) +# define SSL_total_renegotiations(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_CTX_set_tmp_dh(ctx,dh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) +# endif +# define SSL_CTX_set_dh_auto(ctx, onoff) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +# define SSL_set_dh_auto(s, onoff) \ + SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_set_tmp_dh(ssl,dh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) +# define SSL_set_tmp_ecdh(ssl,ecdh) \ + SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) +# endif +# define SSL_CTX_add_extra_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509)) +# define SSL_CTX_get_extra_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) +# define SSL_CTX_get_extra_chain_certs_only(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,1,px509) +# define SSL_CTX_clear_extra_chain_certs(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) +# define SSL_CTX_set0_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) +# define SSL_CTX_set1_chain(ctx,sk) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,1,(char *)(sk)) +# define SSL_CTX_add0_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) +# define SSL_CTX_add1_chain_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) +# define SSL_CTX_get0_chain_certs(ctx,px509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_CTX_clear_chain_certs(ctx) \ + SSL_CTX_set0_chain(ctx,NULL) +# define SSL_CTX_build_cert_chain(ctx, flags) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_CTX_select_current_cert(ctx,x509) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) +# define SSL_CTX_set_current_cert(ctx, op) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_CTX_set0_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) +# define SSL_CTX_set1_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st)) +# define SSL_CTX_get0_verify_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_VERIFY_CERT_STORE,0,(char *)(st)) +# define SSL_CTX_set0_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) +# define SSL_CTX_set1_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) +# define SSL_CTX_get0_chain_cert_store(ctx,st) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_CHAIN_CERT_STORE,0,(char *)(st)) +# define SSL_set0_chain(s,sk) \ + SSL_ctrl(s,SSL_CTRL_CHAIN,0,(char *)(sk)) +# define SSL_set1_chain(s,sk) \ + SSL_ctrl(s,SSL_CTRL_CHAIN,1,(char *)(sk)) +# define SSL_add0_chain_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,0,(char *)(x509)) +# define SSL_add1_chain_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_CHAIN_CERT,1,(char *)(x509)) +# define SSL_get0_chain_certs(s,px509) \ + SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERTS,0,px509) +# define SSL_clear_chain_certs(s) \ + SSL_set0_chain(s,NULL) +# define SSL_build_cert_chain(s, flags) \ + SSL_ctrl(s,SSL_CTRL_BUILD_CERT_CHAIN, flags, NULL) +# define SSL_select_current_cert(s,x509) \ + SSL_ctrl(s,SSL_CTRL_SELECT_CURRENT_CERT,0,(char *)(x509)) +# define SSL_set_current_cert(s,op) \ + SSL_ctrl(s,SSL_CTRL_SET_CURRENT_CERT, op, NULL) +# define SSL_set0_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,0,(char *)(st)) +# define SSL_set1_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_VERIFY_CERT_STORE,1,(char *)(st)) +#define SSL_get0_verify_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_GET_VERIFY_CERT_STORE,0,(char *)(st)) +# define SSL_set0_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,0,(char *)(st)) +# define SSL_set1_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_SET_CHAIN_CERT_STORE,1,(char *)(st)) +#define SSL_get0_chain_cert_store(s,st) \ + SSL_ctrl(s,SSL_CTRL_GET_CHAIN_CERT_STORE,0,(char *)(st)) + +# define SSL_get1_groups(s, glist) \ + SSL_ctrl(s,SSL_CTRL_GET_GROUPS,0,(int*)(glist)) +# define SSL_CTX_set1_groups(ctx, glist, glistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS,glistlen,(int *)(glist)) +# define SSL_CTX_set1_groups_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(s)) +# define SSL_set1_groups(s, glist, glistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_GROUPS,glistlen,(char *)(glist)) +# define SSL_set1_groups_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str)) +# define SSL_get_shared_group(s, n) \ + SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL) +# define SSL_get_negotiated_group(s) \ + SSL_ctrl(s,SSL_CTRL_GET_NEGOTIATED_GROUP,0,NULL) +# define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) +# define SSL_CTX_set1_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_sigalgs(s, slist, slistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_sigalgs_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_SIGALGS_LIST,0,(char *)(str)) +# define SSL_CTX_set1_client_sigalgs(ctx, slist, slistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) +# define SSL_CTX_set1_client_sigalgs_list(ctx, s) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(s)) +# define SSL_set1_client_sigalgs(s, slist, slistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS,slistlen,(int *)(slist)) +# define SSL_set1_client_sigalgs_list(s, str) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_SIGALGS_LIST,0,(char *)(str)) +# define SSL_get0_certificate_types(s, clist) \ + SSL_ctrl(s, SSL_CTRL_GET_CLIENT_CERT_TYPES, 0, (char *)(clist)) +# define SSL_CTX_set1_client_certificate_types(ctx, clist, clistlen) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen, \ + (char *)(clist)) +# define SSL_set1_client_certificate_types(s, clist, clistlen) \ + SSL_ctrl(s,SSL_CTRL_SET_CLIENT_CERT_TYPES,clistlen,(char *)(clist)) +# define SSL_get_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_SIGNATURE_NID,0,pn) +# define SSL_get_peer_signature_nid(s, pn) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_SIGNATURE_NID,0,pn) +# define SSL_get_peer_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_PEER_TMP_KEY,0,pk) +# define SSL_get_tmp_key(s, pk) \ + SSL_ctrl(s,SSL_CTRL_GET_TMP_KEY,0,pk) +# define SSL_get0_raw_cipherlist(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_RAW_CIPHERLIST,0,plst) +# define SSL_get0_ec_point_formats(s, plst) \ + SSL_ctrl(s,SSL_CTRL_GET_EC_POINT_FORMATS,0,plst) +# define SSL_CTX_set_min_proto_version(ctx, version) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) +# define SSL_CTX_set_max_proto_version(ctx, version) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) +# define SSL_CTX_get_min_proto_version(ctx) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL) +# define SSL_CTX_get_max_proto_version(ctx) \ + SSL_CTX_ctrl(ctx, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) +# define SSL_set_min_proto_version(s, version) \ + SSL_ctrl(s, SSL_CTRL_SET_MIN_PROTO_VERSION, version, NULL) +# define SSL_set_max_proto_version(s, version) \ + SSL_ctrl(s, SSL_CTRL_SET_MAX_PROTO_VERSION, version, NULL) +# define SSL_get_min_proto_version(s) \ + SSL_ctrl(s, SSL_CTRL_GET_MIN_PROTO_VERSION, 0, NULL) +# define SSL_get_max_proto_version(s) \ + SSL_ctrl(s, SSL_CTRL_GET_MAX_PROTO_VERSION, 0, NULL) + +const char *SSL_group_to_name(SSL *s, int id); + +/* Backwards compatibility, original 1.1.0 names */ +# define SSL_CTRL_GET_SERVER_TMP_KEY \ + SSL_CTRL_GET_PEER_TMP_KEY +# define SSL_get_server_tmp_key(s, pk) \ + SSL_get_peer_tmp_key(s, pk) + +int SSL_set0_tmp_dh_pkey(SSL *s, EVP_PKEY *dhpkey); +int SSL_CTX_set0_tmp_dh_pkey(SSL_CTX *ctx, EVP_PKEY *dhpkey); + +/* + * The following symbol names are old and obsolete. They are kept + * for compatibility reasons only and should not be used anymore. + */ +# define SSL_CTRL_GET_CURVES SSL_CTRL_GET_GROUPS +# define SSL_CTRL_SET_CURVES SSL_CTRL_SET_GROUPS +# define SSL_CTRL_SET_CURVES_LIST SSL_CTRL_SET_GROUPS_LIST +# define SSL_CTRL_GET_SHARED_CURVE SSL_CTRL_GET_SHARED_GROUP + +# define SSL_get1_curves SSL_get1_groups +# define SSL_CTX_set1_curves SSL_CTX_set1_groups +# define SSL_CTX_set1_curves_list SSL_CTX_set1_groups_list +# define SSL_set1_curves SSL_set1_groups +# define SSL_set1_curves_list SSL_set1_groups_list +# define SSL_get_shared_curve SSL_get_shared_group + + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +/* Provide some compatibility macros for removed functionality. */ +# define SSL_CTX_need_tmp_RSA(ctx) 0 +# define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 +# define SSL_need_tmp_RSA(ssl) 0 +# define SSL_set_tmp_rsa(ssl,rsa) 1 +# define SSL_CTX_set_ecdh_auto(dummy, onoff) ((onoff) != 0) +# define SSL_set_ecdh_auto(dummy, onoff) ((onoff) != 0) +/* + * We "pretend" to call the callback to avoid warnings about unused static + * functions. + */ +# define SSL_CTX_set_tmp_rsa_callback(ctx, cb) while(0) (cb)(NULL, 0, 0) +# define SSL_set_tmp_rsa_callback(ssl, cb) while(0) (cb)(NULL, 0, 0) +# endif +__owur const BIO_METHOD *BIO_f_ssl(void); +__owur BIO *BIO_new_ssl(SSL_CTX *ctx, int client); +__owur BIO *BIO_new_ssl_connect(SSL_CTX *ctx); +__owur BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); +__owur int BIO_ssl_copy_session_id(BIO *to, BIO *from); +void BIO_ssl_shutdown(BIO *ssl_bio); + +__owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); +__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); +__owur SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq, + const SSL_METHOD *meth); +int SSL_CTX_up_ref(SSL_CTX *ctx); +void SSL_CTX_free(SSL_CTX *); +__owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); +__owur long SSL_CTX_get_timeout(const SSL_CTX *ctx); +__owur X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); +void SSL_CTX_set_cert_store(SSL_CTX *, X509_STORE *); +void SSL_CTX_set1_cert_store(SSL_CTX *, X509_STORE *); +__owur int SSL_want(const SSL *s); +__owur int SSL_clear(SSL *s); + +void SSL_CTX_flush_sessions(SSL_CTX *ctx, long tm); + +__owur const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); +__owur const SSL_CIPHER *SSL_get_pending_cipher(const SSL *s); +__owur int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits); +__owur const char *SSL_CIPHER_get_version(const SSL_CIPHER *c); +__owur const char *SSL_CIPHER_get_name(const SSL_CIPHER *c); +__owur const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); +__owur const char *OPENSSL_cipher_name(const char *rfc_name); +__owur uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c); +__owur uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c); +__owur int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); +__owur int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); +__owur const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c); +__owur int SSL_CIPHER_is_aead(const SSL_CIPHER *c); + +__owur int SSL_get_fd(const SSL *s); +__owur int SSL_get_rfd(const SSL *s); +__owur int SSL_get_wfd(const SSL *s); +__owur const char *SSL_get_cipher_list(const SSL *s, int n); +__owur char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size); +__owur int SSL_get_read_ahead(const SSL *s); +__owur int SSL_pending(const SSL *s); +__owur int SSL_has_pending(const SSL *s); +# ifndef OPENSSL_NO_SOCK +__owur int SSL_set_fd(SSL *s, int fd); +__owur int SSL_set_rfd(SSL *s, int fd); +__owur int SSL_set_wfd(SSL *s, int fd); +# endif +void SSL_set0_rbio(SSL *s, BIO *rbio); +void SSL_set0_wbio(SSL *s, BIO *wbio); +void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio); +__owur BIO *SSL_get_rbio(const SSL *s); +__owur BIO *SSL_get_wbio(const SSL *s); +__owur int SSL_set_cipher_list(SSL *s, const char *str); +__owur int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str); +__owur int SSL_set_ciphersuites(SSL *s, const char *str); +void SSL_set_read_ahead(SSL *s, int yes); +__owur int SSL_get_verify_mode(const SSL *s); +__owur int SSL_get_verify_depth(const SSL *s); +__owur SSL_verify_cb SSL_get_verify_callback(const SSL *s); +void SSL_set_verify(SSL *s, int mode, SSL_verify_cb callback); +void SSL_set_verify_depth(SSL *s, int depth); +void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void *arg); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 __owur int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); +OSSL_DEPRECATEDIN_3_0 +__owur int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, + const unsigned char *d, long len); +# endif +__owur int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); +__owur int SSL_use_PrivateKey_ASN1(int pk, SSL *ssl, const unsigned char *d, + long len); +__owur int SSL_use_certificate(SSL *ssl, X509 *x); +__owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); +__owur int SSL_use_cert_and_key(SSL *ssl, X509 *x509, EVP_PKEY *privatekey, + STACK_OF(X509) *chain, int override); + + +/* serverinfo file format versions */ +# define SSL_SERVERINFOV1 1 +# define SSL_SERVERINFOV2 2 + +/* Set serverinfo data for the current active cert. */ +__owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo, + size_t serverinfo_length); +__owur int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version, + const unsigned char *serverinfo, + size_t serverinfo_length); +__owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file); + +#ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +__owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); +#endif + +__owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); +__owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type); + +#ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +__owur int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, + int type); +#endif +__owur int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, + int type); +__owur int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, + int type); +/* PEM type */ +__owur int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); +__owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file); +__owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); +__owur STACK_OF(X509_NAME) +*SSL_load_client_CA_file_ex(const char *file, OSSL_LIB_CTX *libctx, + const char *propq); +__owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *file); +int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *dir); +int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, + const char *uri); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define SSL_load_error_strings() \ + OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ + | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) +# endif + +__owur const char *SSL_state_string(const SSL *s); +__owur const char *SSL_rstate_string(const SSL *s); +__owur const char *SSL_state_string_long(const SSL *s); +__owur const char *SSL_rstate_string_long(const SSL *s); +__owur long SSL_SESSION_get_time(const SSL_SESSION *s); +__owur long SSL_SESSION_set_time(SSL_SESSION *s, long t); +__owur long SSL_SESSION_get_timeout(const SSL_SESSION *s); +__owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); +__owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s); +__owur int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version); + +__owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s); +__owur int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname); +void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s, + const unsigned char **alpn, + size_t *len); +__owur int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s, + const unsigned char *alpn, + size_t len); +__owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s); +__owur int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher); +__owur int SSL_SESSION_has_ticket(const SSL_SESSION *s); +__owur unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s); +void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned char **tick, + size_t *len); +__owur uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s); +__owur int SSL_SESSION_set_max_early_data(SSL_SESSION *s, + uint32_t max_early_data); +__owur int SSL_copy_session_id(SSL *to, const SSL *from); +__owur X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); +__owur int SSL_SESSION_set1_id_context(SSL_SESSION *s, + const unsigned char *sid_ctx, + unsigned int sid_ctx_len); +__owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, + unsigned int sid_len); +__owur int SSL_SESSION_is_resumable(const SSL_SESSION *s); + +__owur SSL_SESSION *SSL_SESSION_new(void); +__owur SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, + unsigned int *len); +const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s, + unsigned int *len); +__owur unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); +# ifndef OPENSSL_NO_STDIO +int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); +# endif +int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); +int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x); +int SSL_SESSION_up_ref(SSL_SESSION *ses); +void SSL_SESSION_free(SSL_SESSION *ses); +__owur int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp); +__owur int SSL_set_session(SSL *to, SSL_SESSION *session); +int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session); +int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session); +__owur int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb); +__owur int SSL_set_generate_session_id(SSL *s, GEN_SESSION_CB cb); +__owur int SSL_has_matching_session_id(const SSL *s, + const unsigned char *id, + unsigned int id_len); +SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, + long length); + +# ifdef OPENSSL_X509_H +__owur X509 *SSL_get0_peer_certificate(const SSL *s); +__owur X509 *SSL_get1_peer_certificate(const SSL *s); +/* Deprecated in 3.0.0 */ +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define SSL_get_peer_certificate SSL_get1_peer_certificate +# endif +# endif + +__owur STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); + +__owur int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); +__owur int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); +__owur SSL_verify_cb SSL_CTX_get_verify_callback(const SSL_CTX *ctx); +void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, SSL_verify_cb callback); +void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth); +void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, + int (*cb) (X509_STORE_CTX *, void *), + void *arg); +void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg), + void *arg); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +__owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); +OSSL_DEPRECATEDIN_3_0 +__owur int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, + long len); +# endif +__owur int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); +__owur int SSL_CTX_use_PrivateKey_ASN1(int pk, SSL_CTX *ctx, + const unsigned char *d, long len); +__owur int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); +__owur int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, + const unsigned char *d); +__owur int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x509, EVP_PKEY *privatekey, + STACK_OF(X509) *chain, int override); + +void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); +void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); +pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); +void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); +void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb); +void SSL_set_default_passwd_cb_userdata(SSL *s, void *u); +pem_password_cb *SSL_get_default_passwd_cb(SSL *s); +void *SSL_get_default_passwd_cb_userdata(SSL *s); + +__owur int SSL_CTX_check_private_key(const SSL_CTX *ctx); +__owur int SSL_check_private_key(const SSL *ctx); + +__owur int SSL_CTX_set_session_id_context(SSL_CTX *ctx, + const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +SSL *SSL_new(SSL_CTX *ctx); +int SSL_up_ref(SSL *s); +int SSL_is_dtls(const SSL *s); +__owur int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx, + unsigned int sid_ctx_len); + +__owur int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose); +__owur int SSL_set_purpose(SSL *ssl, int purpose); +__owur int SSL_CTX_set_trust(SSL_CTX *ctx, int trust); +__owur int SSL_set_trust(SSL *ssl, int trust); + +__owur int SSL_set1_host(SSL *s, const char *hostname); +__owur int SSL_add1_host(SSL *s, const char *hostname); +__owur const char *SSL_get0_peername(SSL *s); +void SSL_set_hostflags(SSL *s, unsigned int flags); + +__owur int SSL_CTX_dane_enable(SSL_CTX *ctx); +__owur int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md, + uint8_t mtype, uint8_t ord); +__owur int SSL_dane_enable(SSL *s, const char *basedomain); +__owur int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector, + uint8_t mtype, const unsigned char *data, size_t dlen); +__owur int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki); +__owur int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector, + uint8_t *mtype, const unsigned char **data, + size_t *dlen); +/* + * Bridge opacity barrier between libcrypt and libssl, also needed to support + * offline testing in test/danetest.c + */ +SSL_DANE *SSL_get0_dane(SSL *ssl); +/* + * DANE flags + */ +unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags); +unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long flags); +unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags); +unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags); + +__owur int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); +__owur int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); + +__owur X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx); +__owur X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl); + +# ifndef OPENSSL_NO_SRP +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name); +OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password); +OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); +OSSL_DEPRECATEDIN_3_0 +int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, + char *(*cb) (SSL *, void *)); +OSSL_DEPRECATEDIN_3_0 +int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, + int (*cb) (SSL *, void *)); +OSSL_DEPRECATEDIN_3_0 +int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, + int (*cb) (SSL *, int *, void *)); +OSSL_DEPRECATEDIN_3_0 int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); + +OSSL_DEPRECATEDIN_3_0 +int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, + BIGNUM *sa, BIGNUM *v, char *info); +OSSL_DEPRECATEDIN_3_0 +int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, + const char *grp); + +OSSL_DEPRECATEDIN_3_0 __owur BIGNUM *SSL_get_srp_g(SSL *s); +OSSL_DEPRECATEDIN_3_0 __owur BIGNUM *SSL_get_srp_N(SSL *s); + +OSSL_DEPRECATEDIN_3_0 __owur char *SSL_get_srp_username(SSL *s); +OSSL_DEPRECATEDIN_3_0 __owur char *SSL_get_srp_userinfo(SSL *s); +# endif +# endif + +/* + * ClientHello callback and helpers. + */ + +# define SSL_CLIENT_HELLO_SUCCESS 1 +# define SSL_CLIENT_HELLO_ERROR 0 +# define SSL_CLIENT_HELLO_RETRY (-1) + +typedef int (*SSL_client_hello_cb_fn) (SSL *s, int *al, void *arg); +void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn cb, + void *arg); +int SSL_client_hello_isv2(SSL *s); +unsigned int SSL_client_hello_get0_legacy_version(SSL *s); +size_t SSL_client_hello_get0_random(SSL *s, const unsigned char **out); +size_t SSL_client_hello_get0_session_id(SSL *s, const unsigned char **out); +size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out); +size_t SSL_client_hello_get0_compression_methods(SSL *s, + const unsigned char **out); +int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t *outlen); +int SSL_client_hello_get0_ext(SSL *s, unsigned int type, + const unsigned char **out, size_t *outlen); + +void SSL_certs_clear(SSL *s); +void SSL_free(SSL *ssl); +# ifdef OSSL_ASYNC_FD +/* + * Windows application developer has to include windows.h to use these. + */ +__owur int SSL_waiting_for_async(SSL *s); +__owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds); +__owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, + size_t *numaddfds, OSSL_ASYNC_FD *delfd, + size_t *numdelfds); +__owur int SSL_CTX_set_async_callback(SSL_CTX *ctx, SSL_async_callback_fn callback); +__owur int SSL_CTX_set_async_callback_arg(SSL_CTX *ctx, void *arg); +__owur int SSL_set_async_callback(SSL *s, SSL_async_callback_fn callback); +__owur int SSL_set_async_callback_arg(SSL *s, void *arg); +__owur int SSL_get_async_status(SSL *s, int *status); + +# endif +__owur int SSL_accept(SSL *ssl); +__owur int SSL_stateless(SSL *s); +__owur int SSL_connect(SSL *ssl); +__owur int SSL_read(SSL *ssl, void *buf, int num); +__owur int SSL_read_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); + +# define SSL_READ_EARLY_DATA_ERROR 0 +# define SSL_READ_EARLY_DATA_SUCCESS 1 +# define SSL_READ_EARLY_DATA_FINISH 2 + +__owur int SSL_read_early_data(SSL *s, void *buf, size_t num, + size_t *readbytes); +__owur int SSL_peek(SSL *ssl, void *buf, int num); +__owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); +__owur ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, + int flags); +__owur int SSL_write(SSL *ssl, const void *buf, int num); +__owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); +__owur int SSL_write_early_data(SSL *s, const void *buf, size_t num, + size_t *written); +long SSL_ctrl(SSL *ssl, int cmd, long larg, void *parg); +long SSL_callback_ctrl(SSL *, int, void (*)(void)); +long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg); +long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); + +# define SSL_EARLY_DATA_NOT_SENT 0 +# define SSL_EARLY_DATA_REJECTED 1 +# define SSL_EARLY_DATA_ACCEPTED 2 + +__owur int SSL_get_early_data_status(const SSL *s); + +__owur int SSL_get_error(const SSL *s, int ret_code); +__owur const char *SSL_get_version(const SSL *s); + +/* This sets the 'default' SSL version that SSL_new() will create */ +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +__owur int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); +# endif + +# ifndef OPENSSL_NO_SSL3_METHOD +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_method(void); /* SSLv3 */ +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_server_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *SSLv3_client_method(void); +# endif +# endif + +#define SSLv23_method TLS_method +#define SSLv23_server_method TLS_server_method +#define SSLv23_client_method TLS_client_method + +/* Negotiate highest available SSL/TLS version */ +__owur const SSL_METHOD *TLS_method(void); +__owur const SSL_METHOD *TLS_server_method(void); +__owur const SSL_METHOD *TLS_client_method(void); + +# ifndef OPENSSL_NO_TLS1_METHOD +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */ +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_server_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_client_method(void); +# endif +# endif + +# ifndef OPENSSL_NO_TLS1_1_METHOD +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */ +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_server_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_client_method(void); +# endif +# endif + +# ifndef OPENSSL_NO_TLS1_2_METHOD +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */ +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_server_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_client_method(void); +# endif +# endif + +# ifndef OPENSSL_NO_DTLS1_METHOD +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */ +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_server_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_client_method(void); +# endif +# endif + +# ifndef OPENSSL_NO_DTLS1_2_METHOD +/* DTLSv1.2 */ +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_server_method(void); +OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *DTLSv1_2_client_method(void); +# endif +# endif + +__owur const SSL_METHOD *DTLS_method(void); /* DTLS 1.0 and 1.2 */ +__owur const SSL_METHOD *DTLS_server_method(void); /* DTLS 1.0 and 1.2 */ +__owur const SSL_METHOD *DTLS_client_method(void); /* DTLS 1.0 and 1.2 */ + +__owur size_t DTLS_get_data_mtu(const SSL *s); + +__owur STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); +__owur STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx); +__owur STACK_OF(SSL_CIPHER) *SSL_get_client_ciphers(const SSL *s); +__owur STACK_OF(SSL_CIPHER) *SSL_get1_supported_ciphers(SSL *s); + +__owur int SSL_do_handshake(SSL *s); +int SSL_key_update(SSL *s, int updatetype); +int SSL_get_key_update_type(const SSL *s); +int SSL_renegotiate(SSL *s); +int SSL_renegotiate_abbreviated(SSL *s); +__owur int SSL_renegotiate_pending(const SSL *s); +int SSL_new_session_ticket(SSL *s); +int SSL_shutdown(SSL *s); +__owur int SSL_verify_client_post_handshake(SSL *s); +void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val); +void SSL_set_post_handshake_auth(SSL *s, int val); + +__owur const SSL_METHOD *SSL_CTX_get_ssl_method(const SSL_CTX *ctx); +__owur const SSL_METHOD *SSL_get_ssl_method(const SSL *s); +__owur int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); +__owur const char *SSL_alert_type_string_long(int value); +__owur const char *SSL_alert_type_string(int value); +__owur const char *SSL_alert_desc_string_long(int value); +__owur const char *SSL_alert_desc_string(int value); + +void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set0_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +__owur const STACK_OF(X509_NAME) *SSL_get0_CA_list(const SSL *s); +__owur const STACK_OF(X509_NAME) *SSL_CTX_get0_CA_list(const SSL_CTX *ctx); +__owur int SSL_add1_to_CA_list(SSL *ssl, const X509 *x); +__owur int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x); +__owur const STACK_OF(X509_NAME) *SSL_get0_peer_CA_list(const SSL *s); + +void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); +void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); +__owur STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); +__owur STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); +__owur int SSL_add_client_CA(SSL *ssl, X509 *x); +__owur int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x); + +void SSL_set_connect_state(SSL *s); +void SSL_set_accept_state(SSL *s); + +__owur long SSL_get_default_timeout(const SSL *s); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define SSL_library_init() OPENSSL_init_ssl(0, NULL) +# endif + +__owur char *SSL_CIPHER_description(const SSL_CIPHER *, char *buf, int size); +__owur STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk); + +__owur SSL *SSL_dup(SSL *ssl); + +__owur X509 *SSL_get_certificate(const SSL *ssl); +/* + * EVP_PKEY + */ +struct evp_pkey_st *SSL_get_privatekey(const SSL *ssl); + +__owur X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx); +__owur EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx); + +void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); +__owur int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); +void SSL_set_quiet_shutdown(SSL *ssl, int mode); +__owur int SSL_get_quiet_shutdown(const SSL *ssl); +void SSL_set_shutdown(SSL *ssl, int mode); +__owur int SSL_get_shutdown(const SSL *ssl); +__owur int SSL_version(const SSL *ssl); +__owur int SSL_client_version(const SSL *s); +__owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); +__owur int SSL_CTX_set_default_verify_store(SSL_CTX *ctx); +__owur int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile); +__owur int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath); +__owur int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore); +__owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx, + const char *CAfile, + const char *CApath); +# define SSL_get0_session SSL_get_session/* just peek at pointer */ +__owur SSL_SESSION *SSL_get_session(const SSL *ssl); +__owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ +__owur SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); +SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); +void SSL_set_info_callback(SSL *ssl, + void (*cb) (const SSL *ssl, int type, int val)); +void (*SSL_get_info_callback(const SSL *ssl)) (const SSL *ssl, int type, + int val); +__owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl); + +void SSL_set_verify_result(SSL *ssl, long v); +__owur long SSL_get_verify_result(const SSL *ssl); +__owur STACK_OF(X509) *SSL_get0_verified_chain(const SSL *s); + +__owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, + size_t outlen); +__owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, + size_t outlen); +__owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *sess, + unsigned char *out, size_t outlen); +__owur int SSL_SESSION_set1_master_key(SSL_SESSION *sess, + const unsigned char *in, size_t len); +uint8_t SSL_SESSION_get_max_fragment_length(const SSL_SESSION *sess); + +#define SSL_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, l, p, newf, dupf, freef) +__owur int SSL_set_ex_data(SSL *ssl, int idx, void *data); +void *SSL_get_ex_data(const SSL *ssl, int idx); +#define SSL_SESSION_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, l, p, newf, dupf, freef) +__owur int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss, int idx); +#define SSL_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_CTX, l, p, newf, dupf, freef) +__owur int SSL_CTX_set_ex_data(SSL_CTX *ssl, int idx, void *data); +void *SSL_CTX_get_ex_data(const SSL_CTX *ssl, int idx); + +__owur int SSL_get_ex_data_X509_STORE_CTX_idx(void); + +# define SSL_CTX_sess_set_cache_size(ctx,t) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) +# define SSL_CTX_sess_get_cache_size(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) +# define SSL_CTX_set_session_cache_mode(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) +# define SSL_CTX_get_session_cache_mode(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) + +# define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) +# define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) +# define SSL_CTX_get_read_ahead(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) +# define SSL_CTX_set_read_ahead(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) +# define SSL_CTX_get_max_cert_list(ctx) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_CTX_set_max_cert_list(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) +# define SSL_get_max_cert_list(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) +# define SSL_set_max_cert_list(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) + +# define SSL_CTX_set_max_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_set_max_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) +# define SSL_CTX_set_split_send_fragment(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) +# define SSL_set_split_send_fragment(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_SPLIT_SEND_FRAGMENT,m,NULL) +# define SSL_CTX_set_max_pipelines(ctx,m) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) +# define SSL_set_max_pipelines(ssl,m) \ + SSL_ctrl(ssl,SSL_CTRL_SET_MAX_PIPELINES,m,NULL) +# define SSL_set_retry_verify(ssl) \ + (SSL_ctrl(ssl,SSL_CTRL_SET_RETRY_VERIFY,0,NULL) > 0) + +void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len); +void SSL_set_default_read_buffer_len(SSL *s, size_t len); + +# ifndef OPENSSL_NO_DH +# ifndef OPENSSL_NO_DEPRECATED_3_0 +/* NB: the |keylength| is only applicable when is_export is true */ +OSSL_DEPRECATEDIN_3_0 +void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +OSSL_DEPRECATEDIN_3_0 +void SSL_set_tmp_dh_callback(SSL *ssl, + DH *(*dh) (SSL *ssl, int is_export, + int keylength)); +# endif +# endif + +__owur const COMP_METHOD *SSL_get_current_compression(const SSL *s); +__owur const COMP_METHOD *SSL_get_current_expansion(const SSL *s); +__owur const char *SSL_COMP_get_name(const COMP_METHOD *comp); +__owur const char *SSL_COMP_get0_name(const SSL_COMP *comp); +__owur int SSL_COMP_get_id(const SSL_COMP *comp); +STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); +__owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) + *meths); +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define SSL_COMP_free_compression_methods() while(0) continue +# endif +__owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); + +const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); +int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c); +int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c); +int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t len, + int isv2format, STACK_OF(SSL_CIPHER) **sk, + STACK_OF(SSL_CIPHER) **scsvs); + +/* TLS extensions functions */ +__owur int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); + +__owur int SSL_set_session_ticket_ext_cb(SSL *s, + tls_session_ticket_ext_cb_fn cb, + void *arg); + +/* Pre-shared secret session resumption functions */ +__owur int SSL_set_session_secret_cb(SSL *s, + tls_session_secret_cb_fn session_secret_cb, + void *arg); + +void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx, + int (*cb) (SSL *ssl, + int + is_forward_secure)); + +void SSL_set_not_resumable_session_callback(SSL *ssl, + int (*cb) (SSL *ssl, + int is_forward_secure)); + +void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx, + size_t (*cb) (SSL *ssl, int type, + size_t len, void *arg)); +void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg); +void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx); +int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size); + +int SSL_set_record_padding_callback(SSL *ssl, + size_t (*cb) (SSL *ssl, int type, + size_t len, void *arg)); +void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg); +void *SSL_get_record_padding_callback_arg(const SSL *ssl); +int SSL_set_block_padding(SSL *ssl, size_t block_size); + +int SSL_set_num_tickets(SSL *s, size_t num_tickets); +size_t SSL_get_num_tickets(const SSL *s); +int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets); +size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define SSL_cache_hit(s) SSL_session_reused(s) +# endif + +__owur int SSL_session_reused(const SSL *s); +__owur int SSL_is_server(const SSL *s); + +__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); +void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); +unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); +__owur unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, + unsigned int flags); +__owur int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre); + +void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl); +void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx); + +__owur int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); +__owur int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv); +__owur int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); + +void SSL_add_ssl_module(void); +int SSL_config(SSL *s, const char *name); +int SSL_CTX_config(SSL_CTX *ctx, const char *name); + +# ifndef OPENSSL_NO_SSL_TRACE +void SSL_trace(int write_p, int version, int content_type, + const void *buf, size_t len, SSL *ssl, void *arg); +# endif + +# ifndef OPENSSL_NO_SOCK +int DTLSv1_listen(SSL *s, BIO_ADDR *client); +# endif + +# ifndef OPENSSL_NO_CT + +/* + * A callback for verifying that the received SCTs are sufficient. + * Expected to return 1 if they are sufficient, otherwise 0. + * May return a negative integer if an error occurs. + * A connection should be aborted if the SCTs are deemed insufficient. + */ +typedef int (*ssl_ct_validation_cb)(const CT_POLICY_EVAL_CTX *ctx, + const STACK_OF(SCT) *scts, void *arg); + +/* + * Sets a |callback| that is invoked upon receipt of ServerHelloDone to validate + * the received SCTs. + * If the callback returns a non-positive result, the connection is terminated. + * Call this function before beginning a handshake. + * If a NULL |callback| is provided, SCT validation is disabled. + * |arg| is arbitrary userdata that will be passed to the callback whenever it + * is invoked. Ownership of |arg| remains with the caller. + * + * NOTE: A side-effect of setting a CT callback is that an OCSP stapled response + * will be requested. + */ +int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback, + void *arg); +int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx, + ssl_ct_validation_cb callback, + void *arg); +#define SSL_disable_ct(s) \ + ((void) SSL_set_validation_callback((s), NULL, NULL)) +#define SSL_CTX_disable_ct(ctx) \ + ((void) SSL_CTX_set_validation_callback((ctx), NULL, NULL)) + +/* + * The validation type enumerates the available behaviours of the built-in SSL + * CT validation callback selected via SSL_enable_ct() and SSL_CTX_enable_ct(). + * The underlying callback is a static function in libssl. + */ +enum { + SSL_CT_VALIDATION_PERMISSIVE = 0, + SSL_CT_VALIDATION_STRICT +}; + +/* + * Enable CT by setting up a callback that implements one of the built-in + * validation variants. The SSL_CT_VALIDATION_PERMISSIVE variant always + * continues the handshake, the application can make appropriate decisions at + * handshake completion. The SSL_CT_VALIDATION_STRICT variant requires at + * least one valid SCT, or else handshake termination will be requested. The + * handshake may continue anyway if SSL_VERIFY_NONE is in effect. + */ +int SSL_enable_ct(SSL *s, int validation_mode); +int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode); + +/* + * Report whether a non-NULL callback is enabled. + */ +int SSL_ct_is_enabled(const SSL *s); +int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx); + +/* Gets the SCTs received from a connection */ +const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s); + +/* + * Loads the CT log list from the default location. + * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, + * the log information loaded from this file will be appended to the + * CTLOG_STORE. + * Returns 1 on success, 0 otherwise. + */ +int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx); + +/* + * Loads the CT log list from the specified file path. + * If a CTLOG_STORE has previously been set using SSL_CTX_set_ctlog_store, + * the log information loaded from this file will be appended to the + * CTLOG_STORE. + * Returns 1 on success, 0 otherwise. + */ +int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path); + +/* + * Sets the CT log list used by all SSL connections created from this SSL_CTX. + * Ownership of the CTLOG_STORE is transferred to the SSL_CTX. + */ +void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs); + +/* + * Gets the CT log list used by all SSL connections created from this SSL_CTX. + * This will be NULL unless one of the following functions has been called: + * - SSL_CTX_set_default_ctlog_list_file + * - SSL_CTX_set_ctlog_list_file + * - SSL_CTX_set_ctlog_store + */ +const CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx); + +# endif /* OPENSSL_NO_CT */ + +/* What the "other" parameter contains in security callback */ +/* Mask for type */ +# define SSL_SECOP_OTHER_TYPE 0xffff0000 +# define SSL_SECOP_OTHER_NONE 0 +# define SSL_SECOP_OTHER_CIPHER (1 << 16) +# define SSL_SECOP_OTHER_CURVE (2 << 16) +# define SSL_SECOP_OTHER_DH (3 << 16) +# define SSL_SECOP_OTHER_PKEY (4 << 16) +# define SSL_SECOP_OTHER_SIGALG (5 << 16) +# define SSL_SECOP_OTHER_CERT (6 << 16) + +/* Indicated operation refers to peer key or certificate */ +# define SSL_SECOP_PEER 0x1000 + +/* Values for "op" parameter in security callback */ + +/* Called to filter ciphers */ +/* Ciphers client supports */ +# define SSL_SECOP_CIPHER_SUPPORTED (1 | SSL_SECOP_OTHER_CIPHER) +/* Cipher shared by client/server */ +# define SSL_SECOP_CIPHER_SHARED (2 | SSL_SECOP_OTHER_CIPHER) +/* Sanity check of cipher server selects */ +# define SSL_SECOP_CIPHER_CHECK (3 | SSL_SECOP_OTHER_CIPHER) +/* Curves supported by client */ +# define SSL_SECOP_CURVE_SUPPORTED (4 | SSL_SECOP_OTHER_CURVE) +/* Curves shared by client/server */ +# define SSL_SECOP_CURVE_SHARED (5 | SSL_SECOP_OTHER_CURVE) +/* Sanity check of curve server selects */ +# define SSL_SECOP_CURVE_CHECK (6 | SSL_SECOP_OTHER_CURVE) +/* Temporary DH key */ +# define SSL_SECOP_TMP_DH (7 | SSL_SECOP_OTHER_PKEY) +/* SSL/TLS version */ +# define SSL_SECOP_VERSION (9 | SSL_SECOP_OTHER_NONE) +/* Session tickets */ +# define SSL_SECOP_TICKET (10 | SSL_SECOP_OTHER_NONE) +/* Supported signature algorithms sent to peer */ +# define SSL_SECOP_SIGALG_SUPPORTED (11 | SSL_SECOP_OTHER_SIGALG) +/* Shared signature algorithm */ +# define SSL_SECOP_SIGALG_SHARED (12 | SSL_SECOP_OTHER_SIGALG) +/* Sanity check signature algorithm allowed */ +# define SSL_SECOP_SIGALG_CHECK (13 | SSL_SECOP_OTHER_SIGALG) +/* Used to get mask of supported public key signature algorithms */ +# define SSL_SECOP_SIGALG_MASK (14 | SSL_SECOP_OTHER_SIGALG) +/* Use to see if compression is allowed */ +# define SSL_SECOP_COMPRESSION (15 | SSL_SECOP_OTHER_NONE) +/* EE key in certificate */ +# define SSL_SECOP_EE_KEY (16 | SSL_SECOP_OTHER_CERT) +/* CA key in certificate */ +# define SSL_SECOP_CA_KEY (17 | SSL_SECOP_OTHER_CERT) +/* CA digest algorithm in certificate */ +# define SSL_SECOP_CA_MD (18 | SSL_SECOP_OTHER_CERT) +/* Peer EE key in certificate */ +# define SSL_SECOP_PEER_EE_KEY (SSL_SECOP_EE_KEY | SSL_SECOP_PEER) +/* Peer CA key in certificate */ +# define SSL_SECOP_PEER_CA_KEY (SSL_SECOP_CA_KEY | SSL_SECOP_PEER) +/* Peer CA digest algorithm in certificate */ +# define SSL_SECOP_PEER_CA_MD (SSL_SECOP_CA_MD | SSL_SECOP_PEER) + +void SSL_set_security_level(SSL *s, int level); +__owur int SSL_get_security_level(const SSL *s); +void SSL_set_security_callback(SSL *s, + int (*cb) (const SSL *s, const SSL_CTX *ctx, + int op, int bits, int nid, + void *other, void *ex)); +int (*SSL_get_security_callback(const SSL *s)) (const SSL *s, + const SSL_CTX *ctx, int op, + int bits, int nid, void *other, + void *ex); +void SSL_set0_security_ex_data(SSL *s, void *ex); +__owur void *SSL_get0_security_ex_data(const SSL *s); + +void SSL_CTX_set_security_level(SSL_CTX *ctx, int level); +__owur int SSL_CTX_get_security_level(const SSL_CTX *ctx); +void SSL_CTX_set_security_callback(SSL_CTX *ctx, + int (*cb) (const SSL *s, const SSL_CTX *ctx, + int op, int bits, int nid, + void *other, void *ex)); +int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL *s, + const SSL_CTX *ctx, + int op, int bits, + int nid, + void *other, + void *ex); +void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex); +__owur void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx); + +/* OPENSSL_INIT flag 0x010000 reserved for internal use */ +# define OPENSSL_INIT_NO_LOAD_SSL_STRINGS 0x00100000L +# define OPENSSL_INIT_LOAD_SSL_STRINGS 0x00200000L + +# define OPENSSL_INIT_SSL_DEFAULT \ + (OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS) + +int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); + +# ifndef OPENSSL_NO_UNIT_TEST +__owur const struct openssl_ssl_test_functions *SSL_test_functions(void); +# endif + +__owur int SSL_free_buffers(SSL *ssl); +__owur int SSL_alloc_buffers(SSL *ssl); + +/* Status codes passed to the decrypt session ticket callback. Some of these + * are for internal use only and are never passed to the callback. */ +typedef int SSL_TICKET_STATUS; + +/* Support for ticket appdata */ +/* fatal error, malloc failure */ +# define SSL_TICKET_FATAL_ERR_MALLOC 0 +/* fatal error, either from parsing or decrypting the ticket */ +# define SSL_TICKET_FATAL_ERR_OTHER 1 +/* No ticket present */ +# define SSL_TICKET_NONE 2 +/* Empty ticket present */ +# define SSL_TICKET_EMPTY 3 +/* the ticket couldn't be decrypted */ +# define SSL_TICKET_NO_DECRYPT 4 +/* a ticket was successfully decrypted */ +# define SSL_TICKET_SUCCESS 5 +/* same as above but the ticket needs to be renewed */ +# define SSL_TICKET_SUCCESS_RENEW 6 + +/* Return codes for the decrypt session ticket callback */ +typedef int SSL_TICKET_RETURN; + +/* An error occurred */ +#define SSL_TICKET_RETURN_ABORT 0 +/* Do not use the ticket, do not send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_IGNORE 1 +/* Do not use the ticket, send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_IGNORE_RENEW 2 +/* Use the ticket, do not send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_USE 3 +/* Use the ticket, send a renewed ticket to the client */ +#define SSL_TICKET_RETURN_USE_RENEW 4 + +typedef int (*SSL_CTX_generate_session_ticket_fn)(SSL *s, void *arg); +typedef SSL_TICKET_RETURN (*SSL_CTX_decrypt_session_ticket_fn)(SSL *s, SSL_SESSION *ss, + const unsigned char *keyname, + size_t keyname_length, + SSL_TICKET_STATUS status, + void *arg); +int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx, + SSL_CTX_generate_session_ticket_fn gen_cb, + SSL_CTX_decrypt_session_ticket_fn dec_cb, + void *arg); +int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len); +int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len); + +typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us); + +void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb); + + +typedef int (*SSL_allow_early_data_cb_fn)(SSL *s, void *arg); +void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx, + SSL_allow_early_data_cb_fn cb, + void *arg); +void SSL_set_allow_early_data_cb(SSL *s, + SSL_allow_early_data_cb_fn cb, + void *arg); + +/* store the default cipher strings inside the library */ +const char *OSSL_default_cipher_list(void); +const char *OSSL_default_ciphersuites(void); + +# ifndef OPENSSL_NO_QUIC +/* + * QUIC integration - The QUIC interface matches BoringSSL + * + * ssl_encryption_level_t represents a specific QUIC encryption level used to + * transmit handshake messages. BoringSSL has this as an 'enum'. + */ +#include + +/* Used by Chromium/QUIC - moved from evp.h to avoid breaking FIPS checksums */ +# define X25519_PRIVATE_KEY_LEN 32 +# define X25519_PUBLIC_VALUE_LEN 32 + +/* moved from types.h to avoid breaking FIPS checksums */ +typedef struct ssl_quic_method_st SSL_QUIC_METHOD; + +typedef enum ssl_encryption_level_t { + ssl_encryption_initial = 0, + ssl_encryption_early_data, + ssl_encryption_handshake, + ssl_encryption_application +} OSSL_ENCRYPTION_LEVEL; + +struct ssl_quic_method_st { + int (*set_encryption_secrets)(SSL *ssl, OSSL_ENCRYPTION_LEVEL level, + const uint8_t *read_secret, + const uint8_t *write_secret, size_t secret_len); + int (*add_handshake_data)(SSL *ssl, OSSL_ENCRYPTION_LEVEL level, + const uint8_t *data, size_t len); + int (*flush_flight)(SSL *ssl); + int (*send_alert)(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert); +}; + +__owur int SSL_CTX_set_quic_method(SSL_CTX *ctx, const SSL_QUIC_METHOD *quic_method); +__owur int SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method); +__owur int SSL_set_quic_transport_params(SSL *ssl, + const uint8_t *params, + size_t params_len); +void SSL_get_peer_quic_transport_params(const SSL *ssl, + const uint8_t **out_params, + size_t *out_params_len); +__owur size_t SSL_quic_max_handshake_flight_len(const SSL *ssl, OSSL_ENCRYPTION_LEVEL level); +__owur OSSL_ENCRYPTION_LEVEL SSL_quic_read_level(const SSL *ssl); +__owur OSSL_ENCRYPTION_LEVEL SSL_quic_write_level(const SSL *ssl); +__owur int SSL_provide_quic_data(SSL *ssl, OSSL_ENCRYPTION_LEVEL level, + const uint8_t *data, size_t len); +__owur int SSL_process_quic_post_handshake(SSL *ssl); + +__owur int SSL_is_quic(SSL *ssl); + +/* BoringSSL API */ +void SSL_set_quic_use_legacy_codepoint(SSL *ssl, int use_legacy); + +/* + * Set an explicit value that you want to use + * If 0 (default) the server will use the highest extenstion the client sent + * If 0 (default) the client will send both extensions + */ +void SSL_set_quic_transport_version(SSL *ssl, int version); +__owur int SSL_get_quic_transport_version(const SSL *ssl); +/* Returns the negotiated version, or -1 on error */ +__owur int SSL_get_peer_quic_transport_version(const SSL *ssl); + +int SSL_CIPHER_get_prf_nid(const SSL_CIPHER *c); + +void SSL_set_quic_early_data_enabled(SSL *ssl, int enabled); + +# endif + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ui.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ui.h new file mode 100644 index 00000000000000..e64ec3b37fba60 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ui.h @@ -0,0 +1,407 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/ui.h.in + * + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_UI_H +# define OPENSSL_UI_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_UI_H +# endif + +# include + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# include +# endif +# include +# include +# include +# include + +/* For compatibility reasons, the macro OPENSSL_NO_UI is currently retained */ +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifdef OPENSSL_NO_UI_CONSOLE +# define OPENSSL_NO_UI +# endif +# endif + +# ifdef __cplusplus +extern "C" { +# endif + +/* + * All the following functions return -1 or NULL on error and in some cases + * (UI_process()) -2 if interrupted or in some other way cancelled. When + * everything is fine, they return 0, a positive value or a non-NULL pointer, + * all depending on their purpose. + */ + +/* Creators and destructor. */ +UI *UI_new(void); +UI *UI_new_method(const UI_METHOD *method); +void UI_free(UI *ui); + +/*- + The following functions are used to add strings to be printed and prompt + strings to prompt for data. The names are UI_{add,dup}__string + and UI_{add,dup}_input_boolean. + + UI_{add,dup}__string have the following meanings: + add add a text or prompt string. The pointers given to these + functions are used verbatim, no copying is done. + dup make a copy of the text or prompt string, then add the copy + to the collection of strings in the user interface. + + The function is a name for the functionality that the given + string shall be used for. It can be one of: + input use the string as data prompt. + verify use the string as verification prompt. This + is used to verify a previous input. + info use the string for informational output. + error use the string for error output. + Honestly, there's currently no difference between info and error for the + moment. + + UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", + and are typically used when one wants to prompt for a yes/no response. + + All of the functions in this group take a UI and a prompt string. + The string input and verify addition functions also take a flag argument, + a buffer for the result to end up with, a minimum input size and a maximum + input size (the result buffer MUST be large enough to be able to contain + the maximum number of characters). Additionally, the verify addition + functions takes another buffer to compare the result against. + The boolean input functions take an action description string (which should + be safe to ignore if the expected user action is obvious, for example with + a dialog box with an OK button and a Cancel button), a string of acceptable + characters to mean OK and to mean Cancel. The two last strings are checked + to make sure they don't have common characters. Additionally, the same + flag argument as for the string input is taken, as well as a result buffer. + The result buffer is required to be at least one byte long. Depending on + the answer, the first character from the OK or the Cancel character strings + will be stored in the first byte of the result buffer. No NUL will be + added, so the result is *not* a string. + + On success, the all return an index of the added information. That index + is useful when retrieving results with UI_get0_result(). */ +int UI_add_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_dup_input_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize); +int UI_add_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_dup_verify_string(UI *ui, const char *prompt, int flags, + char *result_buf, int minsize, int maxsize, + const char *test_buf); +int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, + const char *ok_chars, const char *cancel_chars, + int flags, char *result_buf); +int UI_add_info_string(UI *ui, const char *text); +int UI_dup_info_string(UI *ui, const char *text); +int UI_add_error_string(UI *ui, const char *text); +int UI_dup_error_string(UI *ui, const char *text); + +/* These are the possible flags. They can be or'ed together. */ +/* Use to have echoing of input */ +# define UI_INPUT_FLAG_ECHO 0x01 +/* + * Use a default password. Where that password is found is completely up to + * the application, it might for example be in the user data set with + * UI_add_user_data(). It is not recommended to have more than one input in + * each UI being marked with this flag, or the application might get + * confused. + */ +# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 + +/*- + * The user of these routines may want to define flags of their own. The core + * UI won't look at those, but will pass them on to the method routines. They + * must use higher bits so they don't get confused with the UI bits above. + * UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good + * example of use is this: + * + * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) + * +*/ +# define UI_INPUT_FLAG_USER_BASE 16 + +/*- + * The following function helps construct a prompt. + * phrase_desc is a textual short description of the phrase to enter, + * for example "pass phrase", and + * object_name is the name of the object + * (which might be a card name or a file name) or NULL. + * The returned string shall always be allocated on the heap with + * OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). + * + * If the ui_method doesn't contain a pointer to a user-defined prompt + * constructor, a default string is built, looking like this: + * + * "Enter {phrase_desc} for {object_name}:" + * + * So, if phrase_desc has the value "pass phrase" and object_name has + * the value "foo.key", the resulting string is: + * + * "Enter pass phrase for foo.key:" +*/ +char *UI_construct_prompt(UI *ui_method, + const char *phrase_desc, const char *object_name); + +/* + * The following function is used to store a pointer to user-specific data. + * Any previous such pointer will be returned and replaced. + * + * For callback purposes, this function makes a lot more sense than using + * ex_data, since the latter requires that different parts of OpenSSL or + * applications share the same ex_data index. + * + * Note that the UI_OpenSSL() method completely ignores the user data. Other + * methods may not, however. + */ +void *UI_add_user_data(UI *ui, void *user_data); +/* + * Alternatively, this function is used to duplicate the user data. + * This uses the duplicator method function. The destroy function will + * be used to free the user data in this case. + */ +int UI_dup_user_data(UI *ui, void *user_data); +/* We need a user data retrieving function as well. */ +void *UI_get0_user_data(UI *ui); + +/* Return the result associated with a prompt given with the index i. */ +const char *UI_get0_result(UI *ui, int i); +int UI_get_result_length(UI *ui, int i); + +/* When all strings have been added, process the whole thing. */ +int UI_process(UI *ui); + +/* + * Give a user interface parameterised control commands. This can be used to + * send down an integer, a data pointer or a function pointer, as well as be + * used to get information from a UI. + */ +int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); + +/* The commands */ +/* + * Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the + * OpenSSL error stack before printing any info or added error messages and + * before any prompting. + */ +# define UI_CTRL_PRINT_ERRORS 1 +/* + * Check if a UI_process() is possible to do again with the same instance of + * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 + * if not. + */ +# define UI_CTRL_IS_REDOABLE 2 + +/* Some methods may use extra data */ +# define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) +# define UI_get_app_data(s) UI_get_ex_data(s,0) + +# define UI_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI, l, p, newf, dupf, freef) +int UI_set_ex_data(UI *r, int idx, void *arg); +void *UI_get_ex_data(const UI *r, int idx); + +/* Use specific methods instead of the built-in one */ +void UI_set_default_method(const UI_METHOD *meth); +const UI_METHOD *UI_get_default_method(void); +const UI_METHOD *UI_get_method(UI *ui); +const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); + +# ifndef OPENSSL_NO_UI_CONSOLE + +/* The method with all the built-in thingies */ +UI_METHOD *UI_OpenSSL(void); + +# endif + +/* + * NULL method. Literally does nothing, but may serve as a placeholder + * to avoid internal default. + */ +const UI_METHOD *UI_null(void); + +/* ---------- For method writers ---------- */ +/*- + A method contains a number of functions that implement the low level + of the User Interface. The functions are: + + an opener This function starts a session, maybe by opening + a channel to a tty, or by opening a window. + a writer This function is called to write a given string, + maybe to the tty, maybe as a field label in a + window. + a flusher This function is called to flush everything that + has been output so far. It can be used to actually + display a dialog box after it has been built. + a reader This function is called to read a given prompt, + maybe from the tty, maybe from a field in a + window. Note that it's called with all string + structures, not only the prompt ones, so it must + check such things itself. + a closer This function closes the session, maybe by closing + the channel to the tty, or closing the window. + + All these functions are expected to return: + + 0 on error. + 1 on success. + -1 on out-of-band events, for example if some prompting has + been canceled (by pressing Ctrl-C, for example). This is + only checked when returned by the flusher or the reader. + + The way this is used, the opener is first called, then the writer for all + strings, then the flusher, then the reader for all strings and finally the + closer. Note that if you want to prompt from a terminal or other command + line interface, the best is to have the reader also write the prompts + instead of having the writer do it. If you want to prompt from a dialog + box, the writer can be used to build up the contents of the box, and the + flusher to actually display the box and run the event loop until all data + has been given, after which the reader only grabs the given data and puts + them back into the UI strings. + + All method functions take a UI as argument. Additionally, the writer and + the reader take a UI_STRING. +*/ + +/* + * The UI_STRING type is the data structure that contains all the needed info + * about a string or a prompt, including test data for a verification prompt. + */ +typedef struct ui_string_st UI_STRING; + +SKM_DEFINE_STACK_OF_INTERNAL(UI_STRING, UI_STRING, UI_STRING) +#define sk_UI_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_UI_STRING_sk_type(sk)) +#define sk_UI_STRING_value(sk, idx) ((UI_STRING *)OPENSSL_sk_value(ossl_check_const_UI_STRING_sk_type(sk), (idx))) +#define sk_UI_STRING_new(cmp) ((STACK_OF(UI_STRING) *)OPENSSL_sk_new(ossl_check_UI_STRING_compfunc_type(cmp))) +#define sk_UI_STRING_new_null() ((STACK_OF(UI_STRING) *)OPENSSL_sk_new_null()) +#define sk_UI_STRING_new_reserve(cmp, n) ((STACK_OF(UI_STRING) *)OPENSSL_sk_new_reserve(ossl_check_UI_STRING_compfunc_type(cmp), (n))) +#define sk_UI_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_UI_STRING_sk_type(sk), (n)) +#define sk_UI_STRING_free(sk) OPENSSL_sk_free(ossl_check_UI_STRING_sk_type(sk)) +#define sk_UI_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_UI_STRING_sk_type(sk)) +#define sk_UI_STRING_delete(sk, i) ((UI_STRING *)OPENSSL_sk_delete(ossl_check_UI_STRING_sk_type(sk), (i))) +#define sk_UI_STRING_delete_ptr(sk, ptr) ((UI_STRING *)OPENSSL_sk_delete_ptr(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr))) +#define sk_UI_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr)) +#define sk_UI_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr)) +#define sk_UI_STRING_pop(sk) ((UI_STRING *)OPENSSL_sk_pop(ossl_check_UI_STRING_sk_type(sk))) +#define sk_UI_STRING_shift(sk) ((UI_STRING *)OPENSSL_sk_shift(ossl_check_UI_STRING_sk_type(sk))) +#define sk_UI_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_UI_STRING_sk_type(sk),ossl_check_UI_STRING_freefunc_type(freefunc)) +#define sk_UI_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr), (idx)) +#define sk_UI_STRING_set(sk, idx, ptr) ((UI_STRING *)OPENSSL_sk_set(ossl_check_UI_STRING_sk_type(sk), (idx), ossl_check_UI_STRING_type(ptr))) +#define sk_UI_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr)) +#define sk_UI_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr)) +#define sk_UI_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr), pnum) +#define sk_UI_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_UI_STRING_sk_type(sk)) +#define sk_UI_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_UI_STRING_sk_type(sk)) +#define sk_UI_STRING_dup(sk) ((STACK_OF(UI_STRING) *)OPENSSL_sk_dup(ossl_check_const_UI_STRING_sk_type(sk))) +#define sk_UI_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(UI_STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_UI_STRING_sk_type(sk), ossl_check_UI_STRING_copyfunc_type(copyfunc), ossl_check_UI_STRING_freefunc_type(freefunc))) +#define sk_UI_STRING_set_cmp_func(sk, cmp) ((sk_UI_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_compfunc_type(cmp))) + + +/* + * The different types of strings that are currently supported. This is only + * needed by method authors. + */ +enum UI_string_types { + UIT_NONE = 0, + UIT_PROMPT, /* Prompt for a string */ + UIT_VERIFY, /* Prompt for a string and verify */ + UIT_BOOLEAN, /* Prompt for a yes/no response */ + UIT_INFO, /* Send info to the user */ + UIT_ERROR /* Send an error message to the user */ +}; + +/* Create and manipulate methods */ +UI_METHOD *UI_create_method(const char *name); +void UI_destroy_method(UI_METHOD *ui_method); +int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui)); +int UI_method_set_writer(UI_METHOD *method, + int (*writer) (UI *ui, UI_STRING *uis)); +int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui)); +int UI_method_set_reader(UI_METHOD *method, + int (*reader) (UI *ui, UI_STRING *uis)); +int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui)); +int UI_method_set_data_duplicator(UI_METHOD *method, + void *(*duplicator) (UI *ui, void *ui_data), + void (*destructor)(UI *ui, void *ui_data)); +int UI_method_set_prompt_constructor(UI_METHOD *method, + char *(*prompt_constructor) (UI *ui, + const char + *phrase_desc, + const char + *object_name)); +int UI_method_set_ex_data(UI_METHOD *method, int idx, void *data); +int (*UI_method_get_opener(const UI_METHOD *method)) (UI *); +int (*UI_method_get_writer(const UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_flusher(const UI_METHOD *method)) (UI *); +int (*UI_method_get_reader(const UI_METHOD *method)) (UI *, UI_STRING *); +int (*UI_method_get_closer(const UI_METHOD *method)) (UI *); +char *(*UI_method_get_prompt_constructor(const UI_METHOD *method)) + (UI *, const char *, const char *); +void *(*UI_method_get_data_duplicator(const UI_METHOD *method)) (UI *, void *); +void (*UI_method_get_data_destructor(const UI_METHOD *method)) (UI *, void *); +const void *UI_method_get_ex_data(const UI_METHOD *method, int idx); + +/* + * The following functions are helpers for method writers to access relevant + * data from a UI_STRING. + */ + +/* Return type of the UI_STRING */ +enum UI_string_types UI_get_string_type(UI_STRING *uis); +/* Return input flags of the UI_STRING */ +int UI_get_input_flags(UI_STRING *uis); +/* Return the actual string to output (the prompt, info or error) */ +const char *UI_get0_output_string(UI_STRING *uis); +/* + * Return the optional action string to output (the boolean prompt + * instruction) + */ +const char *UI_get0_action_string(UI_STRING *uis); +/* Return the result of a prompt */ +const char *UI_get0_result_string(UI_STRING *uis); +int UI_get_result_string_length(UI_STRING *uis); +/* + * Return the string to test the result against. Only useful with verifies. + */ +const char *UI_get0_test_string(UI_STRING *uis); +/* Return the required minimum size of the result */ +int UI_get_result_minsize(UI_STRING *uis); +/* Return the required maximum size of the result */ +int UI_get_result_maxsize(UI_STRING *uis); +/* Set the result of a UI_STRING. */ +int UI_set_result(UI *ui, UI_STRING *uis, const char *result); +int UI_set_result_ex(UI *ui, UI_STRING *uis, const char *result, int len); + +/* A couple of popular utility functions */ +int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt, + int verify); +int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt, + int verify); +UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int rwflag); + + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509.h new file mode 100644 index 00000000000000..1f7755e5b69c75 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509.h @@ -0,0 +1,1276 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/x509.h.in + * + * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_X509_H +# define OPENSSL_X509_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_X509_H +# endif + +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# include +# include +# include +# endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Needed stacks for types defined in other headers */ +SKM_DEFINE_STACK_OF_INTERNAL(X509_NAME, X509_NAME, X509_NAME) +#define sk_X509_NAME_num(sk) OPENSSL_sk_num(ossl_check_const_X509_NAME_sk_type(sk)) +#define sk_X509_NAME_value(sk, idx) ((X509_NAME *)OPENSSL_sk_value(ossl_check_const_X509_NAME_sk_type(sk), (idx))) +#define sk_X509_NAME_new(cmp) ((STACK_OF(X509_NAME) *)OPENSSL_sk_new(ossl_check_X509_NAME_compfunc_type(cmp))) +#define sk_X509_NAME_new_null() ((STACK_OF(X509_NAME) *)OPENSSL_sk_new_null()) +#define sk_X509_NAME_new_reserve(cmp, n) ((STACK_OF(X509_NAME) *)OPENSSL_sk_new_reserve(ossl_check_X509_NAME_compfunc_type(cmp), (n))) +#define sk_X509_NAME_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_NAME_sk_type(sk), (n)) +#define sk_X509_NAME_free(sk) OPENSSL_sk_free(ossl_check_X509_NAME_sk_type(sk)) +#define sk_X509_NAME_zero(sk) OPENSSL_sk_zero(ossl_check_X509_NAME_sk_type(sk)) +#define sk_X509_NAME_delete(sk, i) ((X509_NAME *)OPENSSL_sk_delete(ossl_check_X509_NAME_sk_type(sk), (i))) +#define sk_X509_NAME_delete_ptr(sk, ptr) ((X509_NAME *)OPENSSL_sk_delete_ptr(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr))) +#define sk_X509_NAME_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr)) +#define sk_X509_NAME_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr)) +#define sk_X509_NAME_pop(sk) ((X509_NAME *)OPENSSL_sk_pop(ossl_check_X509_NAME_sk_type(sk))) +#define sk_X509_NAME_shift(sk) ((X509_NAME *)OPENSSL_sk_shift(ossl_check_X509_NAME_sk_type(sk))) +#define sk_X509_NAME_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_NAME_sk_type(sk),ossl_check_X509_NAME_freefunc_type(freefunc)) +#define sk_X509_NAME_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr), (idx)) +#define sk_X509_NAME_set(sk, idx, ptr) ((X509_NAME *)OPENSSL_sk_set(ossl_check_X509_NAME_sk_type(sk), (idx), ossl_check_X509_NAME_type(ptr))) +#define sk_X509_NAME_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr)) +#define sk_X509_NAME_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr)) +#define sk_X509_NAME_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_type(ptr), pnum) +#define sk_X509_NAME_sort(sk) OPENSSL_sk_sort(ossl_check_X509_NAME_sk_type(sk)) +#define sk_X509_NAME_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_NAME_sk_type(sk)) +#define sk_X509_NAME_dup(sk) ((STACK_OF(X509_NAME) *)OPENSSL_sk_dup(ossl_check_const_X509_NAME_sk_type(sk))) +#define sk_X509_NAME_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_NAME) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_NAME_sk_type(sk), ossl_check_X509_NAME_copyfunc_type(copyfunc), ossl_check_X509_NAME_freefunc_type(freefunc))) +#define sk_X509_NAME_set_cmp_func(sk, cmp) ((sk_X509_NAME_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_NAME_sk_type(sk), ossl_check_X509_NAME_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(X509, X509, X509) +#define sk_X509_num(sk) OPENSSL_sk_num(ossl_check_const_X509_sk_type(sk)) +#define sk_X509_value(sk, idx) ((X509 *)OPENSSL_sk_value(ossl_check_const_X509_sk_type(sk), (idx))) +#define sk_X509_new(cmp) ((STACK_OF(X509) *)OPENSSL_sk_new(ossl_check_X509_compfunc_type(cmp))) +#define sk_X509_new_null() ((STACK_OF(X509) *)OPENSSL_sk_new_null()) +#define sk_X509_new_reserve(cmp, n) ((STACK_OF(X509) *)OPENSSL_sk_new_reserve(ossl_check_X509_compfunc_type(cmp), (n))) +#define sk_X509_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_sk_type(sk), (n)) +#define sk_X509_free(sk) OPENSSL_sk_free(ossl_check_X509_sk_type(sk)) +#define sk_X509_zero(sk) OPENSSL_sk_zero(ossl_check_X509_sk_type(sk)) +#define sk_X509_delete(sk, i) ((X509 *)OPENSSL_sk_delete(ossl_check_X509_sk_type(sk), (i))) +#define sk_X509_delete_ptr(sk, ptr) ((X509 *)OPENSSL_sk_delete_ptr(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr))) +#define sk_X509_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr)) +#define sk_X509_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr)) +#define sk_X509_pop(sk) ((X509 *)OPENSSL_sk_pop(ossl_check_X509_sk_type(sk))) +#define sk_X509_shift(sk) ((X509 *)OPENSSL_sk_shift(ossl_check_X509_sk_type(sk))) +#define sk_X509_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_sk_type(sk),ossl_check_X509_freefunc_type(freefunc)) +#define sk_X509_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr), (idx)) +#define sk_X509_set(sk, idx, ptr) ((X509 *)OPENSSL_sk_set(ossl_check_X509_sk_type(sk), (idx), ossl_check_X509_type(ptr))) +#define sk_X509_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr)) +#define sk_X509_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr)) +#define sk_X509_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_sk_type(sk), ossl_check_X509_type(ptr), pnum) +#define sk_X509_sort(sk) OPENSSL_sk_sort(ossl_check_X509_sk_type(sk)) +#define sk_X509_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_sk_type(sk)) +#define sk_X509_dup(sk) ((STACK_OF(X509) *)OPENSSL_sk_dup(ossl_check_const_X509_sk_type(sk))) +#define sk_X509_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_sk_type(sk), ossl_check_X509_copyfunc_type(copyfunc), ossl_check_X509_freefunc_type(freefunc))) +#define sk_X509_set_cmp_func(sk, cmp) ((sk_X509_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_sk_type(sk), ossl_check_X509_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(X509_REVOKED, X509_REVOKED, X509_REVOKED) +#define sk_X509_REVOKED_num(sk) OPENSSL_sk_num(ossl_check_const_X509_REVOKED_sk_type(sk)) +#define sk_X509_REVOKED_value(sk, idx) ((X509_REVOKED *)OPENSSL_sk_value(ossl_check_const_X509_REVOKED_sk_type(sk), (idx))) +#define sk_X509_REVOKED_new(cmp) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_new(ossl_check_X509_REVOKED_compfunc_type(cmp))) +#define sk_X509_REVOKED_new_null() ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_new_null()) +#define sk_X509_REVOKED_new_reserve(cmp, n) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_new_reserve(ossl_check_X509_REVOKED_compfunc_type(cmp), (n))) +#define sk_X509_REVOKED_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_REVOKED_sk_type(sk), (n)) +#define sk_X509_REVOKED_free(sk) OPENSSL_sk_free(ossl_check_X509_REVOKED_sk_type(sk)) +#define sk_X509_REVOKED_zero(sk) OPENSSL_sk_zero(ossl_check_X509_REVOKED_sk_type(sk)) +#define sk_X509_REVOKED_delete(sk, i) ((X509_REVOKED *)OPENSSL_sk_delete(ossl_check_X509_REVOKED_sk_type(sk), (i))) +#define sk_X509_REVOKED_delete_ptr(sk, ptr) ((X509_REVOKED *)OPENSSL_sk_delete_ptr(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr))) +#define sk_X509_REVOKED_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr)) +#define sk_X509_REVOKED_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr)) +#define sk_X509_REVOKED_pop(sk) ((X509_REVOKED *)OPENSSL_sk_pop(ossl_check_X509_REVOKED_sk_type(sk))) +#define sk_X509_REVOKED_shift(sk) ((X509_REVOKED *)OPENSSL_sk_shift(ossl_check_X509_REVOKED_sk_type(sk))) +#define sk_X509_REVOKED_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_REVOKED_sk_type(sk),ossl_check_X509_REVOKED_freefunc_type(freefunc)) +#define sk_X509_REVOKED_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr), (idx)) +#define sk_X509_REVOKED_set(sk, idx, ptr) ((X509_REVOKED *)OPENSSL_sk_set(ossl_check_X509_REVOKED_sk_type(sk), (idx), ossl_check_X509_REVOKED_type(ptr))) +#define sk_X509_REVOKED_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr)) +#define sk_X509_REVOKED_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr)) +#define sk_X509_REVOKED_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_type(ptr), pnum) +#define sk_X509_REVOKED_sort(sk) OPENSSL_sk_sort(ossl_check_X509_REVOKED_sk_type(sk)) +#define sk_X509_REVOKED_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_REVOKED_sk_type(sk)) +#define sk_X509_REVOKED_dup(sk) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_dup(ossl_check_const_X509_REVOKED_sk_type(sk))) +#define sk_X509_REVOKED_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_REVOKED) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_copyfunc_type(copyfunc), ossl_check_X509_REVOKED_freefunc_type(freefunc))) +#define sk_X509_REVOKED_set_cmp_func(sk, cmp) ((sk_X509_REVOKED_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_REVOKED_sk_type(sk), ossl_check_X509_REVOKED_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(X509_CRL, X509_CRL, X509_CRL) +#define sk_X509_CRL_num(sk) OPENSSL_sk_num(ossl_check_const_X509_CRL_sk_type(sk)) +#define sk_X509_CRL_value(sk, idx) ((X509_CRL *)OPENSSL_sk_value(ossl_check_const_X509_CRL_sk_type(sk), (idx))) +#define sk_X509_CRL_new(cmp) ((STACK_OF(X509_CRL) *)OPENSSL_sk_new(ossl_check_X509_CRL_compfunc_type(cmp))) +#define sk_X509_CRL_new_null() ((STACK_OF(X509_CRL) *)OPENSSL_sk_new_null()) +#define sk_X509_CRL_new_reserve(cmp, n) ((STACK_OF(X509_CRL) *)OPENSSL_sk_new_reserve(ossl_check_X509_CRL_compfunc_type(cmp), (n))) +#define sk_X509_CRL_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_CRL_sk_type(sk), (n)) +#define sk_X509_CRL_free(sk) OPENSSL_sk_free(ossl_check_X509_CRL_sk_type(sk)) +#define sk_X509_CRL_zero(sk) OPENSSL_sk_zero(ossl_check_X509_CRL_sk_type(sk)) +#define sk_X509_CRL_delete(sk, i) ((X509_CRL *)OPENSSL_sk_delete(ossl_check_X509_CRL_sk_type(sk), (i))) +#define sk_X509_CRL_delete_ptr(sk, ptr) ((X509_CRL *)OPENSSL_sk_delete_ptr(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr))) +#define sk_X509_CRL_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr)) +#define sk_X509_CRL_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr)) +#define sk_X509_CRL_pop(sk) ((X509_CRL *)OPENSSL_sk_pop(ossl_check_X509_CRL_sk_type(sk))) +#define sk_X509_CRL_shift(sk) ((X509_CRL *)OPENSSL_sk_shift(ossl_check_X509_CRL_sk_type(sk))) +#define sk_X509_CRL_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_CRL_sk_type(sk),ossl_check_X509_CRL_freefunc_type(freefunc)) +#define sk_X509_CRL_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr), (idx)) +#define sk_X509_CRL_set(sk, idx, ptr) ((X509_CRL *)OPENSSL_sk_set(ossl_check_X509_CRL_sk_type(sk), (idx), ossl_check_X509_CRL_type(ptr))) +#define sk_X509_CRL_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr)) +#define sk_X509_CRL_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr)) +#define sk_X509_CRL_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_type(ptr), pnum) +#define sk_X509_CRL_sort(sk) OPENSSL_sk_sort(ossl_check_X509_CRL_sk_type(sk)) +#define sk_X509_CRL_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_CRL_sk_type(sk)) +#define sk_X509_CRL_dup(sk) ((STACK_OF(X509_CRL) *)OPENSSL_sk_dup(ossl_check_const_X509_CRL_sk_type(sk))) +#define sk_X509_CRL_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_CRL) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_CRL_sk_type(sk), ossl_check_X509_CRL_copyfunc_type(copyfunc), ossl_check_X509_CRL_freefunc_type(freefunc))) +#define sk_X509_CRL_set_cmp_func(sk, cmp) ((sk_X509_CRL_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_CRL_sk_type(sk), ossl_check_X509_CRL_compfunc_type(cmp))) + + +/* Flags for X509_get_signature_info() */ +/* Signature info is valid */ +# define X509_SIG_INFO_VALID 0x1 +/* Signature is suitable for TLS use */ +# define X509_SIG_INFO_TLS 0x2 + +# define X509_FILETYPE_PEM 1 +# define X509_FILETYPE_ASN1 2 +# define X509_FILETYPE_DEFAULT 3 + +# define X509v3_KU_DIGITAL_SIGNATURE 0x0080 +# define X509v3_KU_NON_REPUDIATION 0x0040 +# define X509v3_KU_KEY_ENCIPHERMENT 0x0020 +# define X509v3_KU_DATA_ENCIPHERMENT 0x0010 +# define X509v3_KU_KEY_AGREEMENT 0x0008 +# define X509v3_KU_KEY_CERT_SIGN 0x0004 +# define X509v3_KU_CRL_SIGN 0x0002 +# define X509v3_KU_ENCIPHER_ONLY 0x0001 +# define X509v3_KU_DECIPHER_ONLY 0x8000 +# define X509v3_KU_UNDEF 0xffff + +struct X509_algor_st { + ASN1_OBJECT *algorithm; + ASN1_TYPE *parameter; +} /* X509_ALGOR */ ; + +typedef STACK_OF(X509_ALGOR) X509_ALGORS; + +typedef struct X509_val_st { + ASN1_TIME *notBefore; + ASN1_TIME *notAfter; +} X509_VAL; + +typedef struct X509_sig_st X509_SIG; + +typedef struct X509_name_entry_st X509_NAME_ENTRY; + +SKM_DEFINE_STACK_OF_INTERNAL(X509_NAME_ENTRY, X509_NAME_ENTRY, X509_NAME_ENTRY) +#define sk_X509_NAME_ENTRY_num(sk) OPENSSL_sk_num(ossl_check_const_X509_NAME_ENTRY_sk_type(sk)) +#define sk_X509_NAME_ENTRY_value(sk, idx) ((X509_NAME_ENTRY *)OPENSSL_sk_value(ossl_check_const_X509_NAME_ENTRY_sk_type(sk), (idx))) +#define sk_X509_NAME_ENTRY_new(cmp) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_new(ossl_check_X509_NAME_ENTRY_compfunc_type(cmp))) +#define sk_X509_NAME_ENTRY_new_null() ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_new_null()) +#define sk_X509_NAME_ENTRY_new_reserve(cmp, n) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_new_reserve(ossl_check_X509_NAME_ENTRY_compfunc_type(cmp), (n))) +#define sk_X509_NAME_ENTRY_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_NAME_ENTRY_sk_type(sk), (n)) +#define sk_X509_NAME_ENTRY_free(sk) OPENSSL_sk_free(ossl_check_X509_NAME_ENTRY_sk_type(sk)) +#define sk_X509_NAME_ENTRY_zero(sk) OPENSSL_sk_zero(ossl_check_X509_NAME_ENTRY_sk_type(sk)) +#define sk_X509_NAME_ENTRY_delete(sk, i) ((X509_NAME_ENTRY *)OPENSSL_sk_delete(ossl_check_X509_NAME_ENTRY_sk_type(sk), (i))) +#define sk_X509_NAME_ENTRY_delete_ptr(sk, ptr) ((X509_NAME_ENTRY *)OPENSSL_sk_delete_ptr(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr))) +#define sk_X509_NAME_ENTRY_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr)) +#define sk_X509_NAME_ENTRY_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr)) +#define sk_X509_NAME_ENTRY_pop(sk) ((X509_NAME_ENTRY *)OPENSSL_sk_pop(ossl_check_X509_NAME_ENTRY_sk_type(sk))) +#define sk_X509_NAME_ENTRY_shift(sk) ((X509_NAME_ENTRY *)OPENSSL_sk_shift(ossl_check_X509_NAME_ENTRY_sk_type(sk))) +#define sk_X509_NAME_ENTRY_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_NAME_ENTRY_sk_type(sk),ossl_check_X509_NAME_ENTRY_freefunc_type(freefunc)) +#define sk_X509_NAME_ENTRY_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr), (idx)) +#define sk_X509_NAME_ENTRY_set(sk, idx, ptr) ((X509_NAME_ENTRY *)OPENSSL_sk_set(ossl_check_X509_NAME_ENTRY_sk_type(sk), (idx), ossl_check_X509_NAME_ENTRY_type(ptr))) +#define sk_X509_NAME_ENTRY_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr)) +#define sk_X509_NAME_ENTRY_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr)) +#define sk_X509_NAME_ENTRY_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_type(ptr), pnum) +#define sk_X509_NAME_ENTRY_sort(sk) OPENSSL_sk_sort(ossl_check_X509_NAME_ENTRY_sk_type(sk)) +#define sk_X509_NAME_ENTRY_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_NAME_ENTRY_sk_type(sk)) +#define sk_X509_NAME_ENTRY_dup(sk) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_dup(ossl_check_const_X509_NAME_ENTRY_sk_type(sk))) +#define sk_X509_NAME_ENTRY_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_NAME_ENTRY) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_copyfunc_type(copyfunc), ossl_check_X509_NAME_ENTRY_freefunc_type(freefunc))) +#define sk_X509_NAME_ENTRY_set_cmp_func(sk, cmp) ((sk_X509_NAME_ENTRY_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_NAME_ENTRY_sk_type(sk), ossl_check_X509_NAME_ENTRY_compfunc_type(cmp))) + + +# define X509_EX_V_NETSCAPE_HACK 0x8000 +# define X509_EX_V_INIT 0x0001 +typedef struct X509_extension_st X509_EXTENSION; +SKM_DEFINE_STACK_OF_INTERNAL(X509_EXTENSION, X509_EXTENSION, X509_EXTENSION) +#define sk_X509_EXTENSION_num(sk) OPENSSL_sk_num(ossl_check_const_X509_EXTENSION_sk_type(sk)) +#define sk_X509_EXTENSION_value(sk, idx) ((X509_EXTENSION *)OPENSSL_sk_value(ossl_check_const_X509_EXTENSION_sk_type(sk), (idx))) +#define sk_X509_EXTENSION_new(cmp) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_new(ossl_check_X509_EXTENSION_compfunc_type(cmp))) +#define sk_X509_EXTENSION_new_null() ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_new_null()) +#define sk_X509_EXTENSION_new_reserve(cmp, n) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_new_reserve(ossl_check_X509_EXTENSION_compfunc_type(cmp), (n))) +#define sk_X509_EXTENSION_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_EXTENSION_sk_type(sk), (n)) +#define sk_X509_EXTENSION_free(sk) OPENSSL_sk_free(ossl_check_X509_EXTENSION_sk_type(sk)) +#define sk_X509_EXTENSION_zero(sk) OPENSSL_sk_zero(ossl_check_X509_EXTENSION_sk_type(sk)) +#define sk_X509_EXTENSION_delete(sk, i) ((X509_EXTENSION *)OPENSSL_sk_delete(ossl_check_X509_EXTENSION_sk_type(sk), (i))) +#define sk_X509_EXTENSION_delete_ptr(sk, ptr) ((X509_EXTENSION *)OPENSSL_sk_delete_ptr(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr))) +#define sk_X509_EXTENSION_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr)) +#define sk_X509_EXTENSION_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr)) +#define sk_X509_EXTENSION_pop(sk) ((X509_EXTENSION *)OPENSSL_sk_pop(ossl_check_X509_EXTENSION_sk_type(sk))) +#define sk_X509_EXTENSION_shift(sk) ((X509_EXTENSION *)OPENSSL_sk_shift(ossl_check_X509_EXTENSION_sk_type(sk))) +#define sk_X509_EXTENSION_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_EXTENSION_sk_type(sk),ossl_check_X509_EXTENSION_freefunc_type(freefunc)) +#define sk_X509_EXTENSION_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr), (idx)) +#define sk_X509_EXTENSION_set(sk, idx, ptr) ((X509_EXTENSION *)OPENSSL_sk_set(ossl_check_X509_EXTENSION_sk_type(sk), (idx), ossl_check_X509_EXTENSION_type(ptr))) +#define sk_X509_EXTENSION_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr)) +#define sk_X509_EXTENSION_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr)) +#define sk_X509_EXTENSION_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_type(ptr), pnum) +#define sk_X509_EXTENSION_sort(sk) OPENSSL_sk_sort(ossl_check_X509_EXTENSION_sk_type(sk)) +#define sk_X509_EXTENSION_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_EXTENSION_sk_type(sk)) +#define sk_X509_EXTENSION_dup(sk) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_dup(ossl_check_const_X509_EXTENSION_sk_type(sk))) +#define sk_X509_EXTENSION_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_EXTENSION) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_copyfunc_type(copyfunc), ossl_check_X509_EXTENSION_freefunc_type(freefunc))) +#define sk_X509_EXTENSION_set_cmp_func(sk, cmp) ((sk_X509_EXTENSION_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_EXTENSION_sk_type(sk), ossl_check_X509_EXTENSION_compfunc_type(cmp))) + +typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; +typedef struct x509_attributes_st X509_ATTRIBUTE; +SKM_DEFINE_STACK_OF_INTERNAL(X509_ATTRIBUTE, X509_ATTRIBUTE, X509_ATTRIBUTE) +#define sk_X509_ATTRIBUTE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_ATTRIBUTE_sk_type(sk)) +#define sk_X509_ATTRIBUTE_value(sk, idx) ((X509_ATTRIBUTE *)OPENSSL_sk_value(ossl_check_const_X509_ATTRIBUTE_sk_type(sk), (idx))) +#define sk_X509_ATTRIBUTE_new(cmp) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_new(ossl_check_X509_ATTRIBUTE_compfunc_type(cmp))) +#define sk_X509_ATTRIBUTE_new_null() ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_new_null()) +#define sk_X509_ATTRIBUTE_new_reserve(cmp, n) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_new_reserve(ossl_check_X509_ATTRIBUTE_compfunc_type(cmp), (n))) +#define sk_X509_ATTRIBUTE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_ATTRIBUTE_sk_type(sk), (n)) +#define sk_X509_ATTRIBUTE_free(sk) OPENSSL_sk_free(ossl_check_X509_ATTRIBUTE_sk_type(sk)) +#define sk_X509_ATTRIBUTE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_ATTRIBUTE_sk_type(sk)) +#define sk_X509_ATTRIBUTE_delete(sk, i) ((X509_ATTRIBUTE *)OPENSSL_sk_delete(ossl_check_X509_ATTRIBUTE_sk_type(sk), (i))) +#define sk_X509_ATTRIBUTE_delete_ptr(sk, ptr) ((X509_ATTRIBUTE *)OPENSSL_sk_delete_ptr(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr))) +#define sk_X509_ATTRIBUTE_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr)) +#define sk_X509_ATTRIBUTE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr)) +#define sk_X509_ATTRIBUTE_pop(sk) ((X509_ATTRIBUTE *)OPENSSL_sk_pop(ossl_check_X509_ATTRIBUTE_sk_type(sk))) +#define sk_X509_ATTRIBUTE_shift(sk) ((X509_ATTRIBUTE *)OPENSSL_sk_shift(ossl_check_X509_ATTRIBUTE_sk_type(sk))) +#define sk_X509_ATTRIBUTE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_ATTRIBUTE_sk_type(sk),ossl_check_X509_ATTRIBUTE_freefunc_type(freefunc)) +#define sk_X509_ATTRIBUTE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr), (idx)) +#define sk_X509_ATTRIBUTE_set(sk, idx, ptr) ((X509_ATTRIBUTE *)OPENSSL_sk_set(ossl_check_X509_ATTRIBUTE_sk_type(sk), (idx), ossl_check_X509_ATTRIBUTE_type(ptr))) +#define sk_X509_ATTRIBUTE_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr)) +#define sk_X509_ATTRIBUTE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr)) +#define sk_X509_ATTRIBUTE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_type(ptr), pnum) +#define sk_X509_ATTRIBUTE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_ATTRIBUTE_sk_type(sk)) +#define sk_X509_ATTRIBUTE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_ATTRIBUTE_sk_type(sk)) +#define sk_X509_ATTRIBUTE_dup(sk) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_dup(ossl_check_const_X509_ATTRIBUTE_sk_type(sk))) +#define sk_X509_ATTRIBUTE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_ATTRIBUTE) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_copyfunc_type(copyfunc), ossl_check_X509_ATTRIBUTE_freefunc_type(freefunc))) +#define sk_X509_ATTRIBUTE_set_cmp_func(sk, cmp) ((sk_X509_ATTRIBUTE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_ATTRIBUTE_sk_type(sk), ossl_check_X509_ATTRIBUTE_compfunc_type(cmp))) + +typedef struct X509_req_info_st X509_REQ_INFO; +typedef struct X509_req_st X509_REQ; +typedef struct x509_cert_aux_st X509_CERT_AUX; +typedef struct x509_cinf_st X509_CINF; + +/* Flags for X509_print_ex() */ + +# define X509_FLAG_COMPAT 0 +# define X509_FLAG_NO_HEADER 1L +# define X509_FLAG_NO_VERSION (1L << 1) +# define X509_FLAG_NO_SERIAL (1L << 2) +# define X509_FLAG_NO_SIGNAME (1L << 3) +# define X509_FLAG_NO_ISSUER (1L << 4) +# define X509_FLAG_NO_VALIDITY (1L << 5) +# define X509_FLAG_NO_SUBJECT (1L << 6) +# define X509_FLAG_NO_PUBKEY (1L << 7) +# define X509_FLAG_NO_EXTENSIONS (1L << 8) +# define X509_FLAG_NO_SIGDUMP (1L << 9) +# define X509_FLAG_NO_AUX (1L << 10) +# define X509_FLAG_NO_ATTRIBUTES (1L << 11) +# define X509_FLAG_NO_IDS (1L << 12) +# define X509_FLAG_EXTENSIONS_ONLY_KID (1L << 13) + +/* Flags specific to X509_NAME_print_ex() */ + +/* The field separator information */ + +# define XN_FLAG_SEP_MASK (0xf << 16) + +# define XN_FLAG_COMPAT 0/* Traditional; use old X509_NAME_print */ +# define XN_FLAG_SEP_COMMA_PLUS (1 << 16)/* RFC2253 ,+ */ +# define XN_FLAG_SEP_CPLUS_SPC (2 << 16)/* ,+ spaced: more readable */ +# define XN_FLAG_SEP_SPLUS_SPC (3 << 16)/* ;+ spaced */ +# define XN_FLAG_SEP_MULTILINE (4 << 16)/* One line per field */ + +# define XN_FLAG_DN_REV (1 << 20)/* Reverse DN order */ + +/* How the field name is shown */ + +# define XN_FLAG_FN_MASK (0x3 << 21) + +# define XN_FLAG_FN_SN 0/* Object short name */ +# define XN_FLAG_FN_LN (1 << 21)/* Object long name */ +# define XN_FLAG_FN_OID (2 << 21)/* Always use OIDs */ +# define XN_FLAG_FN_NONE (3 << 21)/* No field names */ + +# define XN_FLAG_SPC_EQ (1 << 23)/* Put spaces round '=' */ + +/* + * This determines if we dump fields we don't recognise: RFC2253 requires + * this. + */ + +# define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) + +# define XN_FLAG_FN_ALIGN (1 << 25)/* Align field names to 20 + * characters */ + +/* Complete set of RFC2253 flags */ + +# define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ + XN_FLAG_SEP_COMMA_PLUS | \ + XN_FLAG_DN_REV | \ + XN_FLAG_FN_SN | \ + XN_FLAG_DUMP_UNKNOWN_FIELDS) + +/* readable oneline form */ + +# define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ + ASN1_STRFLGS_ESC_QUOTE | \ + XN_FLAG_SEP_CPLUS_SPC | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_SN) + +/* readable multiline form */ + +# define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + XN_FLAG_SEP_MULTILINE | \ + XN_FLAG_SPC_EQ | \ + XN_FLAG_FN_LN | \ + XN_FLAG_FN_ALIGN) + +typedef struct X509_crl_info_st X509_CRL_INFO; + +typedef struct private_key_st { + int version; + /* The PKCS#8 data types */ + X509_ALGOR *enc_algor; + ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ + /* When decrypted, the following will not be NULL */ + EVP_PKEY *dec_pkey; + /* used to encrypt and decrypt */ + int key_length; + char *key_data; + int key_free; /* true if we should auto free key_data */ + /* expanded version of 'enc_algor' */ + EVP_CIPHER_INFO cipher; +} X509_PKEY; + +typedef struct X509_info_st { + X509 *x509; + X509_CRL *crl; + X509_PKEY *x_pkey; + EVP_CIPHER_INFO enc_cipher; + int enc_len; + char *enc_data; +} X509_INFO; +SKM_DEFINE_STACK_OF_INTERNAL(X509_INFO, X509_INFO, X509_INFO) +#define sk_X509_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_X509_INFO_sk_type(sk)) +#define sk_X509_INFO_value(sk, idx) ((X509_INFO *)OPENSSL_sk_value(ossl_check_const_X509_INFO_sk_type(sk), (idx))) +#define sk_X509_INFO_new(cmp) ((STACK_OF(X509_INFO) *)OPENSSL_sk_new(ossl_check_X509_INFO_compfunc_type(cmp))) +#define sk_X509_INFO_new_null() ((STACK_OF(X509_INFO) *)OPENSSL_sk_new_null()) +#define sk_X509_INFO_new_reserve(cmp, n) ((STACK_OF(X509_INFO) *)OPENSSL_sk_new_reserve(ossl_check_X509_INFO_compfunc_type(cmp), (n))) +#define sk_X509_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_INFO_sk_type(sk), (n)) +#define sk_X509_INFO_free(sk) OPENSSL_sk_free(ossl_check_X509_INFO_sk_type(sk)) +#define sk_X509_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_X509_INFO_sk_type(sk)) +#define sk_X509_INFO_delete(sk, i) ((X509_INFO *)OPENSSL_sk_delete(ossl_check_X509_INFO_sk_type(sk), (i))) +#define sk_X509_INFO_delete_ptr(sk, ptr) ((X509_INFO *)OPENSSL_sk_delete_ptr(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr))) +#define sk_X509_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr)) +#define sk_X509_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr)) +#define sk_X509_INFO_pop(sk) ((X509_INFO *)OPENSSL_sk_pop(ossl_check_X509_INFO_sk_type(sk))) +#define sk_X509_INFO_shift(sk) ((X509_INFO *)OPENSSL_sk_shift(ossl_check_X509_INFO_sk_type(sk))) +#define sk_X509_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_INFO_sk_type(sk),ossl_check_X509_INFO_freefunc_type(freefunc)) +#define sk_X509_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr), (idx)) +#define sk_X509_INFO_set(sk, idx, ptr) ((X509_INFO *)OPENSSL_sk_set(ossl_check_X509_INFO_sk_type(sk), (idx), ossl_check_X509_INFO_type(ptr))) +#define sk_X509_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr)) +#define sk_X509_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr)) +#define sk_X509_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_type(ptr), pnum) +#define sk_X509_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_X509_INFO_sk_type(sk)) +#define sk_X509_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_INFO_sk_type(sk)) +#define sk_X509_INFO_dup(sk) ((STACK_OF(X509_INFO) *)OPENSSL_sk_dup(ossl_check_const_X509_INFO_sk_type(sk))) +#define sk_X509_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_INFO) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_INFO_sk_type(sk), ossl_check_X509_INFO_copyfunc_type(copyfunc), ossl_check_X509_INFO_freefunc_type(freefunc))) +#define sk_X509_INFO_set_cmp_func(sk, cmp) ((sk_X509_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_INFO_sk_type(sk), ossl_check_X509_INFO_compfunc_type(cmp))) + + +/* + * The next 2 structures and their 8 routines are used to manipulate Netscape's + * spki structures - useful if you are writing a CA web page + */ +typedef struct Netscape_spkac_st { + X509_PUBKEY *pubkey; + ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ +} NETSCAPE_SPKAC; + +typedef struct Netscape_spki_st { + NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ + X509_ALGOR sig_algor; + ASN1_BIT_STRING *signature; +} NETSCAPE_SPKI; + +/* Netscape certificate sequence structure */ +typedef struct Netscape_certificate_sequence { + ASN1_OBJECT *type; + STACK_OF(X509) *certs; +} NETSCAPE_CERT_SEQUENCE; + +/*- Unused (and iv length is wrong) +typedef struct CBCParameter_st + { + unsigned char iv[8]; + } CBC_PARAM; +*/ + +/* Password based encryption structure */ + +typedef struct PBEPARAM_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *iter; +} PBEPARAM; + +/* Password based encryption V2 structures */ + +typedef struct PBE2PARAM_st { + X509_ALGOR *keyfunc; + X509_ALGOR *encryption; +} PBE2PARAM; + +typedef struct PBKDF2PARAM_st { +/* Usually OCTET STRING but could be anything */ + ASN1_TYPE *salt; + ASN1_INTEGER *iter; + ASN1_INTEGER *keylength; + X509_ALGOR *prf; +} PBKDF2PARAM; + +#ifndef OPENSSL_NO_SCRYPT +typedef struct SCRYPT_PARAMS_st { + ASN1_OCTET_STRING *salt; + ASN1_INTEGER *costParameter; + ASN1_INTEGER *blockSize; + ASN1_INTEGER *parallelizationParameter; + ASN1_INTEGER *keyLength; +} SCRYPT_PARAMS; +#endif + +#ifdef __cplusplus +} +#endif + +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +# define X509_EXT_PACK_UNKNOWN 1 +# define X509_EXT_PACK_STRING 2 + +# define X509_extract_key(x) X509_get_pubkey(x)/*****/ +# define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) +# define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) + +void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); +X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl), + int (*crl_free) (X509_CRL *crl), + int (*crl_lookup) (X509_CRL *crl, + X509_REVOKED **ret, + const + ASN1_INTEGER *serial, + const + X509_NAME *issuer), + int (*crl_verify) (X509_CRL *crl, + EVP_PKEY *pk)); +void X509_CRL_METHOD_free(X509_CRL_METHOD *m); + +void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); +void *X509_CRL_get_meth_data(X509_CRL *crl); + +const char *X509_verify_cert_error_string(long n); + +int X509_verify(X509 *a, EVP_PKEY *r); +int X509_self_signed(X509 *cert, int verify_signature); + +int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *r, OSSL_LIB_CTX *libctx, + const char *propq); +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); +int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); +int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); + +NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len); +char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); +EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); +int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); + +int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); + +int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent); +int X509_signature_print(BIO *bp, const X509_ALGOR *alg, + const ASN1_STRING *sig); + +int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); +int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); +int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); + +int X509_pubkey_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_digest(const X509 *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +ASN1_OCTET_STRING *X509_digest_sig(const X509 *cert, + EVP_MD **md_used, int *md_is_fallback); +int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); +int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, + unsigned char *md, unsigned int *len); + +X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout); +X509_CRL *X509_CRL_load_http(const char *url, BIO *bio, BIO *rbio, int timeout); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# include /* OSSL_HTTP_REQ_CTX_nbio_d2i */ +# define X509_http_nbio(rctx, pcert) \ + OSSL_HTTP_REQ_CTX_nbio_d2i(rctx, pcert, ASN1_ITEM_rptr(X509)) +# define X509_CRL_http_nbio(rctx, pcrl) \ + OSSL_HTTP_REQ_CTX_nbio_d2i(rctx, pcrl, ASN1_ITEM_rptr(X509_CRL)) +# endif + +# ifndef OPENSSL_NO_STDIO +X509 *d2i_X509_fp(FILE *fp, X509 **x509); +int i2d_X509_fp(FILE *fp, const X509 *x509); +X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); +int i2d_X509_CRL_fp(FILE *fp, const X509_CRL *crl); +X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); +int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); +OSSL_DEPRECATEDIN_3_0 int i2d_RSAPrivateKey_fp(FILE *fp, const RSA *rsa); +OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); +OSSL_DEPRECATEDIN_3_0 int i2d_RSAPublicKey_fp(FILE *fp, const RSA *rsa); +OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); +OSSL_DEPRECATEDIN_3_0 int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa); +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_DSA +OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); +OSSL_DEPRECATEDIN_3_0 int i2d_DSA_PUBKEY_fp(FILE *fp, const DSA *dsa); +OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); +OSSL_DEPRECATEDIN_3_0 int i2d_DSAPrivateKey_fp(FILE *fp, const DSA *dsa); +# endif +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_EC +OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); +OSSL_DEPRECATEDIN_3_0 int i2d_EC_PUBKEY_fp(FILE *fp, const EC_KEY *eckey); +OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); +OSSL_DEPRECATEDIN_3_0 int i2d_ECPrivateKey_fp(FILE *fp, const EC_KEY *eckey); +# endif /* OPENSSL_NO_EC */ +# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); +int i2d_PKCS8_fp(FILE *fp, const X509_SIG *p8); +X509_PUBKEY *d2i_X509_PUBKEY_fp(FILE *fp, X509_PUBKEY **xpk); +int i2d_X509_PUBKEY_fp(FILE *fp, const X509_PUBKEY *xpk); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx, + const char *propq); +EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); +int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); +# endif + +X509 *d2i_X509_bio(BIO *bp, X509 **x509); +int i2d_X509_bio(BIO *bp, const X509 *x509); +X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); +int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl); +X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); +int i2d_X509_REQ_bio(BIO *bp, const X509_REQ *req); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); +OSSL_DEPRECATEDIN_3_0 int i2d_RSAPrivateKey_bio(BIO *bp, const RSA *rsa); +OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); +OSSL_DEPRECATEDIN_3_0 int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa); +OSSL_DEPRECATEDIN_3_0 RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); +OSSL_DEPRECATEDIN_3_0 int i2d_RSA_PUBKEY_bio(BIO *bp, const RSA *rsa); +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_DSA +OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); +OSSL_DEPRECATEDIN_3_0 int i2d_DSA_PUBKEY_bio(BIO *bp, const DSA *dsa); +OSSL_DEPRECATEDIN_3_0 DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); +OSSL_DEPRECATEDIN_3_0 int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa); +# endif +# endif + +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_EC +OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); +OSSL_DEPRECATEDIN_3_0 int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *eckey); +OSSL_DEPRECATEDIN_3_0 EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); +OSSL_DEPRECATEDIN_3_0 int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey); +# endif /* OPENSSL_NO_EC */ +# endif /* OPENSSL_NO_DEPRECATED_3_0 */ + +X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); +int i2d_PKCS8_bio(BIO *bp, const X509_SIG *p8); +X509_PUBKEY *d2i_X509_PUBKEY_bio(BIO *bp, X509_PUBKEY **xpk); +int i2d_X509_PUBKEY_bio(BIO *bp, const X509_PUBKEY *xpk); +PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, + PKCS8_PRIV_KEY_INFO **p8inf); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx, + const char *propq); +EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); +int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); +EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); + +DECLARE_ASN1_DUP_FUNCTION(X509) +DECLARE_ASN1_DUP_FUNCTION(X509_ALGOR) +DECLARE_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) +DECLARE_ASN1_DUP_FUNCTION(X509_CRL) +DECLARE_ASN1_DUP_FUNCTION(X509_EXTENSION) +DECLARE_ASN1_DUP_FUNCTION(X509_PUBKEY) +DECLARE_ASN1_DUP_FUNCTION(X509_REQ) +DECLARE_ASN1_DUP_FUNCTION(X509_REVOKED) +int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, + void *pval); +void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, + const void **ppval, const X509_ALGOR *algor); +void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); +int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); +int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src); + +DECLARE_ASN1_DUP_FUNCTION(X509_NAME) +DECLARE_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) + +int X509_cmp_time(const ASN1_TIME *s, time_t *t); +int X509_cmp_current_time(const ASN1_TIME *s); +int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm, + const ASN1_TIME *start, const ASN1_TIME *end); +ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); +ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, + int offset_day, long offset_sec, time_t *t); +ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj); + +const char *X509_get_default_cert_area(void); +const char *X509_get_default_cert_dir(void); +const char *X509_get_default_cert_file(void); +const char *X509_get_default_cert_dir_env(void); +const char *X509_get_default_cert_file_env(void); +const char *X509_get_default_private_dir(void); + +X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); +X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey); + +DECLARE_ASN1_FUNCTIONS(X509_ALGOR) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) +DECLARE_ASN1_FUNCTIONS(X509_VAL) + +DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) + +X509_PUBKEY *X509_PUBKEY_new_ex(OSSL_LIB_CTX *libctx, const char *propq); +int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); +EVP_PKEY *X509_PUBKEY_get0(const X509_PUBKEY *key); +EVP_PKEY *X509_PUBKEY_get(const X509_PUBKEY *key); +int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); +long X509_get_pathlen(X509 *x); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(EVP_PKEY, PUBKEY) +EVP_PKEY *d2i_PUBKEY_ex(EVP_PKEY **a, const unsigned char **pp, long length, + OSSL_LIB_CTX *libctx, const char *propq); +# ifndef OPENSSL_NO_DEPRECATED_3_0 +DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,RSA, RSA_PUBKEY) +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_DSA +DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0,DSA, DSA_PUBKEY) +# endif +# endif +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# ifndef OPENSSL_NO_EC +DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr(OSSL_DEPRECATEDIN_3_0, EC_KEY, EC_PUBKEY) +# endif +# endif + +DECLARE_ASN1_FUNCTIONS(X509_SIG) +void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg, + const ASN1_OCTET_STRING **pdigest); +void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, + ASN1_OCTET_STRING **pdigest); + +DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) +DECLARE_ASN1_FUNCTIONS(X509_REQ) +X509_REQ *X509_REQ_new_ex(OSSL_LIB_CTX *libctx, const char *propq); + +DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) +X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); + +DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) +DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) + +DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) + +DECLARE_ASN1_FUNCTIONS(X509_NAME) + +int X509_NAME_set(X509_NAME **xn, const X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(X509_CINF) +DECLARE_ASN1_FUNCTIONS(X509) +X509 *X509_new_ex(OSSL_LIB_CTX *libctx, const char *propq); +DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) + +#define X509_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef) +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(const X509 *r, int idx); +DECLARE_ASN1_ENCODE_FUNCTIONS_only(X509,X509_AUX) + +int i2d_re_X509_tbs(X509 *x, unsigned char **pp); + +int X509_SIG_INFO_get(const X509_SIG_INFO *siginf, int *mdnid, int *pknid, + int *secbits, uint32_t *flags); +void X509_SIG_INFO_set(X509_SIG_INFO *siginf, int mdnid, int pknid, + int secbits, uint32_t flags); + +int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits, + uint32_t *flags); + +void X509_get0_signature(const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg, const X509 *x); +int X509_get_signature_nid(const X509 *x); + +void X509_set0_distinguishing_id(X509 *x, ASN1_OCTET_STRING *d_id); +ASN1_OCTET_STRING *X509_get0_distinguishing_id(X509 *x); +void X509_REQ_set0_distinguishing_id(X509_REQ *x, ASN1_OCTET_STRING *d_id); +ASN1_OCTET_STRING *X509_REQ_get0_distinguishing_id(X509_REQ *x); + +int X509_alias_set1(X509 *x, const unsigned char *name, int len); +int X509_keyid_set1(X509 *x, const unsigned char *id, int len); +unsigned char *X509_alias_get0(X509 *x, int *len); +unsigned char *X509_keyid_get0(X509 *x, int *len); + +DECLARE_ASN1_FUNCTIONS(X509_REVOKED) +DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) +DECLARE_ASN1_FUNCTIONS(X509_CRL) +X509_CRL *X509_CRL_new_ex(OSSL_LIB_CTX *libctx, const char *propq); + +int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); +int X509_CRL_get0_by_serial(X509_CRL *crl, + X509_REVOKED **ret, const ASN1_INTEGER *serial); +int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); + +X509_PKEY *X509_PKEY_new(void); +void X509_PKEY_free(X509_PKEY *a); + +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) +DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) + +X509_INFO *X509_INFO_new(void); +void X509_INFO_free(X509_INFO *a); +char *X509_NAME_oneline(const X509_NAME *a, char *buf, int size); + +#ifndef OPENSSL_NO_DEPRECATED_3_0 +OSSL_DEPRECATEDIN_3_0 +int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); +OSSL_DEPRECATEDIN_3_0 +int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, + unsigned char *md, unsigned int *len); +OSSL_DEPRECATEDIN_3_0 +int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey, + const EVP_MD *type); +#endif +int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, + unsigned char *md, unsigned int *len); +int ASN1_item_verify(const ASN1_ITEM *it, const X509_ALGOR *alg, + const ASN1_BIT_STRING *signature, const void *data, + EVP_PKEY *pkey); +int ASN1_item_verify_ctx(const ASN1_ITEM *it, const X509_ALGOR *alg, + const ASN1_BIT_STRING *signature, const void *data, + EVP_MD_CTX *ctx); +int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, + ASN1_BIT_STRING *signature, const void *data, + EVP_PKEY *pkey, const EVP_MD *md); +int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + const void *data, EVP_MD_CTX *ctx); + +#define X509_VERSION_1 0 +#define X509_VERSION_2 1 +#define X509_VERSION_3 2 + +long X509_get_version(const X509 *x); +int X509_set_version(X509 *x, long version); +int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); +ASN1_INTEGER *X509_get_serialNumber(X509 *x); +const ASN1_INTEGER *X509_get0_serialNumber(const X509 *x); +int X509_set_issuer_name(X509 *x, const X509_NAME *name); +X509_NAME *X509_get_issuer_name(const X509 *a); +int X509_set_subject_name(X509 *x, const X509_NAME *name); +X509_NAME *X509_get_subject_name(const X509 *a); +const ASN1_TIME * X509_get0_notBefore(const X509 *x); +ASN1_TIME *X509_getm_notBefore(const X509 *x); +int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm); +const ASN1_TIME *X509_get0_notAfter(const X509 *x); +ASN1_TIME *X509_getm_notAfter(const X509 *x); +int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm); +int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); +int X509_up_ref(X509 *x); +int X509_get_signature_type(const X509 *x); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define X509_get_notBefore X509_getm_notBefore +# define X509_get_notAfter X509_getm_notAfter +# define X509_set_notBefore X509_set1_notBefore +# define X509_set_notAfter X509_set1_notAfter +#endif + + +/* + * This one is only used so that a binary form can output, as in + * i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x), &buf) + */ +X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x); +const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); +void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid, + const ASN1_BIT_STRING **psuid); +const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); + +EVP_PKEY *X509_get0_pubkey(const X509 *x); +EVP_PKEY *X509_get_pubkey(X509 *x); +ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); + +#define X509_REQ_VERSION_1 0 + +long X509_REQ_get_version(const X509_REQ *req); +int X509_REQ_set_version(X509_REQ *x, long version); +X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req); +int X509_REQ_set_subject_name(X509_REQ *req, const X509_NAME *name); +void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); +void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig); +int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg); +int X509_REQ_get_signature_nid(const X509_REQ *req); +int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp); +int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); +EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req); +EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req); +X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req); +int X509_REQ_extension_nid(int nid); +int *X509_REQ_get_extension_nids(void); +void X509_REQ_set_extension_nids(int *nids); +STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); +int X509_REQ_add_extensions_nid(X509_REQ *req, + const STACK_OF(X509_EXTENSION) *exts, int nid); +int X509_REQ_add_extensions(X509_REQ *req, const STACK_OF(X509_EXTENSION) *ext); +int X509_REQ_get_attr_count(const X509_REQ *req); +int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); +X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); +int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_NID(X509_REQ *req, + int nid, int type, + const unsigned char *bytes, int len); +int X509_REQ_add1_attr_by_txt(X509_REQ *req, + const char *attrname, int type, + const unsigned char *bytes, int len); + +#define X509_CRL_VERSION_1 0 +#define X509_CRL_VERSION_2 1 + +int X509_CRL_set_version(X509_CRL *x, long version); +int X509_CRL_set_issuer_name(X509_CRL *x, const X509_NAME *name); +int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); +int X509_CRL_sort(X509_CRL *crl); +int X509_CRL_up_ref(X509_CRL *crl); + +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate +# define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate +#endif + +long X509_CRL_get_version(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl); +const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl); +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +OSSL_DEPRECATEDIN_1_1_0 ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl); +OSSL_DEPRECATEDIN_1_1_0 ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl); +#endif +X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl); +const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl); +STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl); +void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, + const X509_ALGOR **palg); +int X509_CRL_get_signature_nid(const X509_CRL *crl); +int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp); + +const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x); +int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); +const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x); +int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); +const STACK_OF(X509_EXTENSION) * +X509_REVOKED_get0_extensions(const X509_REVOKED *r); + +X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer, + EVP_PKEY *skey, const EVP_MD *md, unsigned int flags); + +int X509_REQ_check_private_key(X509_REQ *x509, EVP_PKEY *pkey); + +int X509_check_private_key(const X509 *x509, const EVP_PKEY *pkey); +int X509_chain_check_suiteb(int *perror_depth, + X509 *x, STACK_OF(X509) *chain, + unsigned long flags); +int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long flags); +STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain); + +int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_and_serial_hash(X509 *a); + +int X509_issuer_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_issuer_name_hash(X509 *a); + +int X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long X509_subject_name_hash(X509 *x); + +# ifndef OPENSSL_NO_MD5 +unsigned long X509_issuer_name_hash_old(X509 *a); +unsigned long X509_subject_name_hash_old(X509 *x); +# endif + +# define X509_ADD_FLAG_DEFAULT 0 +# define X509_ADD_FLAG_UP_REF 0x1 +# define X509_ADD_FLAG_PREPEND 0x2 +# define X509_ADD_FLAG_NO_DUP 0x4 +# define X509_ADD_FLAG_NO_SS 0x8 +int X509_add_cert(STACK_OF(X509) *sk, X509 *cert, int flags); +int X509_add_certs(STACK_OF(X509) *sk, STACK_OF(X509) *certs, int flags); + +int X509_cmp(const X509 *a, const X509 *b); +int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); +#ifndef OPENSSL_NO_DEPRECATED_3_0 +# define X509_NAME_hash(x) X509_NAME_hash_ex(x, NULL, NULL, NULL) +OSSL_DEPRECATEDIN_3_0 int X509_certificate_type(const X509 *x, + const EVP_PKEY *pubkey); +#endif +unsigned long X509_NAME_hash_ex(const X509_NAME *x, OSSL_LIB_CTX *libctx, + const char *propq, int *ok); +unsigned long X509_NAME_hash_old(const X509_NAME *x); + +int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); +int X509_aux_print(BIO *out, X509 *x, int indent); +# ifndef OPENSSL_NO_STDIO +int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print_fp(FILE *bp, X509 *x); +int X509_CRL_print_fp(FILE *bp, X509_CRL *x); +int X509_REQ_print_fp(FILE *bp, X509_REQ *req); +int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, + unsigned long flags); +# endif + +int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase); +int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent, + unsigned long flags); +int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflag, + unsigned long cflag); +int X509_print(BIO *bp, X509 *x); +int X509_ocspid_print(BIO *bp, X509 *x); +int X509_CRL_print_ex(BIO *out, X509_CRL *x, unsigned long nmflag); +int X509_CRL_print(BIO *bp, X509_CRL *x); +int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, + unsigned long cflag); +int X509_REQ_print(BIO *bp, X509_REQ *req); + +int X509_NAME_entry_count(const X509_NAME *name); +int X509_NAME_get_text_by_NID(const X509_NAME *name, int nid, + char *buf, int len); +int X509_NAME_get_text_by_OBJ(const X509_NAME *name, const ASN1_OBJECT *obj, + char *buf, int len); + +/* + * NOTE: you should be passing -1, not 0 as lastpos. The functions that use + * lastpos, search after that position on. + */ +int X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int lastpos); +int X509_NAME_get_index_by_OBJ(const X509_NAME *name, const ASN1_OBJECT *obj, + int lastpos); +X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc); +X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); +int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne, + int loc, int set); +int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len, int loc, + int set); +int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, + const char *field, int type, + const unsigned char *bytes, + int len); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, + int type, + const unsigned char *bytes, + int len); +int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, + const unsigned char *bytes, int len, int loc, + int set); +X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, + int len); +int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj); +int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, + const unsigned char *bytes, int len); +ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne); +ASN1_STRING * X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne); +int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne); + +int X509_NAME_get0_der(const X509_NAME *nm, const unsigned char **pder, + size_t *pderlen); + +int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); +int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, + int nid, int lastpos); +int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, + const ASN1_OBJECT *obj, int lastpos); +int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, + int crit, int lastpos); +X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); +X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); +STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, + X509_EXTENSION *ex, int loc); + +int X509_get_ext_count(const X509 *x); +int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos); +int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int lastpos); +int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos); +X509_EXTENSION *X509_get_ext(const X509 *x, int loc); +X509_EXTENSION *X509_delete_ext(X509 *x, int loc); +int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); +void *X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx); +int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_CRL_get_ext_count(const X509_CRL *x); +int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos); +int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos); +X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc); +X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); +int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); +void *X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int *idx); +int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, + unsigned long flags); + +int X509_REVOKED_get_ext_count(const X509_REVOKED *x); +int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos); +int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj, + int lastpos); +int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, + int lastpos); +X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc); +X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); +int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); +void *X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, + int *idx); +int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, + unsigned long flags); + +X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, + ASN1_OCTET_STRING *data); +X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + const ASN1_OBJECT *obj, int crit, + ASN1_OCTET_STRING *data); +int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT *obj); +int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); +int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); +ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); +ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); +int X509_EXTENSION_get_critical(const X509_EXTENSION *ex); + +int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); +int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, + int lastpos); +int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, + const ASN1_OBJECT *obj, int lastpos); +X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); +X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, + X509_ATTRIBUTE *attr); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) + **x, const ASN1_OBJECT *obj, + int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) + **x, int nid, int type, + const unsigned char *bytes, + int len); +STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) + **x, const char *attrname, + int type, + const unsigned char *bytes, + int len); +void *X509at_get0_data_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *x, + const ASN1_OBJECT *obj, int lastpos, int type); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, + const ASN1_OBJECT *obj, + int atrtype, const void *data, + int len); +X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, + const char *atrname, int type, + const unsigned char *bytes, + int len); +int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); +int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, + const void *data, int len); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, int atrtype, + void *data); +int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr); +ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); + +int EVP_PKEY_get_attr_count(const EVP_PKEY *key); +int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos); +int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT *obj, + int lastpos); +X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); +X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); +int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); +int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, + const ASN1_OBJECT *obj, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, + int nid, int type, + const unsigned char *bytes, int len); +int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, + const char *attrname, int type, + const unsigned char *bytes, int len); + +/* lookup a cert from a X509 STACK */ +X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, const X509_NAME *name, + const ASN1_INTEGER *serial); +X509 *X509_find_by_subject(STACK_OF(X509) *sk, const X509_NAME *name); + +DECLARE_ASN1_FUNCTIONS(PBEPARAM) +DECLARE_ASN1_FUNCTIONS(PBE2PARAM) +DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) +#ifndef OPENSSL_NO_SCRYPT +DECLARE_ASN1_FUNCTIONS(SCRYPT_PARAMS) +#endif + +int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, + const unsigned char *salt, int saltlen); +int PKCS5_pbe_set0_algor_ex(X509_ALGOR *algor, int alg, int iter, + const unsigned char *salt, int saltlen, + OSSL_LIB_CTX *libctx); + +X509_ALGOR *PKCS5_pbe_set(int alg, int iter, + const unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe_set_ex(int alg, int iter, + const unsigned char *salt, int saltlen, + OSSL_LIB_CTX *libctx); + +X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen); +X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen, + unsigned char *aiv, int prf_nid); +X509_ALGOR *PKCS5_pbe2_set_iv_ex(const EVP_CIPHER *cipher, int iter, + unsigned char *salt, int saltlen, + unsigned char *aiv, int prf_nid, + OSSL_LIB_CTX *libctx); + +#ifndef OPENSSL_NO_SCRYPT +X509_ALGOR *PKCS5_pbe2_set_scrypt(const EVP_CIPHER *cipher, + const unsigned char *salt, int saltlen, + unsigned char *aiv, uint64_t N, uint64_t r, + uint64_t p); +#endif + +X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, + int prf_nid, int keylen); +X509_ALGOR *PKCS5_pbkdf2_set_ex(int iter, unsigned char *salt, int saltlen, + int prf_nid, int keylen, + OSSL_LIB_CTX *libctx); + +/* PKCS#8 utilities */ + +DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) + +EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); +EVP_PKEY *EVP_PKCS82PKEY_ex(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX *libctx, + const char *propq); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey); + +int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, + int version, int ptype, void *pval, + unsigned char *penc, int penclen); +int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8); + +const STACK_OF(X509_ATTRIBUTE) * +PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); +int PKCS8_pkey_add1_attr(PKCS8_PRIV_KEY_INFO *p8, X509_ATTRIBUTE *attr); +int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, + const unsigned char *bytes, int len); +int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT *obj, + int type, const unsigned char *bytes, int len); + + +int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, + int ptype, void *pval, + unsigned char *penc, int penclen); +int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, + const unsigned char **pk, int *ppklen, + X509_ALGOR **pa, const X509_PUBKEY *pub); +int X509_PUBKEY_eq(const X509_PUBKEY *a, const X509_PUBKEY *b); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_vfy.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_vfy.h new file mode 100644 index 00000000000000..29b0e147adcab1 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_vfy.h @@ -0,0 +1,894 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/x509_vfy.h.in + * + * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_X509_VFY_H +# define OPENSSL_X509_VFY_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_X509_VFY_H +# endif + +/* + * Protect against recursion, x509.h and x509_vfy.h each include the other. + */ +# ifndef OPENSSL_X509_H +# include +# endif + +# include +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/*- +SSL_CTX -> X509_STORE + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + -> X509_LOOKUP + ->X509_LOOKUP_METHOD + +SSL -> X509_STORE_CTX + ->X509_STORE + +The X509_STORE holds the tables etc for verification stuff. +A X509_STORE_CTX is used while validating a single certificate. +The X509_STORE has X509_LOOKUPs for looking up certs. +The X509_STORE then calls a function to actually verify the +certificate chain. +*/ + +typedef enum { + X509_LU_NONE = 0, + X509_LU_X509, X509_LU_CRL +} X509_LOOKUP_TYPE; + +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#define X509_LU_RETRY -1 +#define X509_LU_FAIL 0 +#endif + +SKM_DEFINE_STACK_OF_INTERNAL(X509_LOOKUP, X509_LOOKUP, X509_LOOKUP) +#define sk_X509_LOOKUP_num(sk) OPENSSL_sk_num(ossl_check_const_X509_LOOKUP_sk_type(sk)) +#define sk_X509_LOOKUP_value(sk, idx) ((X509_LOOKUP *)OPENSSL_sk_value(ossl_check_const_X509_LOOKUP_sk_type(sk), (idx))) +#define sk_X509_LOOKUP_new(cmp) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_new(ossl_check_X509_LOOKUP_compfunc_type(cmp))) +#define sk_X509_LOOKUP_new_null() ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_new_null()) +#define sk_X509_LOOKUP_new_reserve(cmp, n) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_new_reserve(ossl_check_X509_LOOKUP_compfunc_type(cmp), (n))) +#define sk_X509_LOOKUP_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_LOOKUP_sk_type(sk), (n)) +#define sk_X509_LOOKUP_free(sk) OPENSSL_sk_free(ossl_check_X509_LOOKUP_sk_type(sk)) +#define sk_X509_LOOKUP_zero(sk) OPENSSL_sk_zero(ossl_check_X509_LOOKUP_sk_type(sk)) +#define sk_X509_LOOKUP_delete(sk, i) ((X509_LOOKUP *)OPENSSL_sk_delete(ossl_check_X509_LOOKUP_sk_type(sk), (i))) +#define sk_X509_LOOKUP_delete_ptr(sk, ptr) ((X509_LOOKUP *)OPENSSL_sk_delete_ptr(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr))) +#define sk_X509_LOOKUP_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr)) +#define sk_X509_LOOKUP_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr)) +#define sk_X509_LOOKUP_pop(sk) ((X509_LOOKUP *)OPENSSL_sk_pop(ossl_check_X509_LOOKUP_sk_type(sk))) +#define sk_X509_LOOKUP_shift(sk) ((X509_LOOKUP *)OPENSSL_sk_shift(ossl_check_X509_LOOKUP_sk_type(sk))) +#define sk_X509_LOOKUP_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_LOOKUP_sk_type(sk),ossl_check_X509_LOOKUP_freefunc_type(freefunc)) +#define sk_X509_LOOKUP_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr), (idx)) +#define sk_X509_LOOKUP_set(sk, idx, ptr) ((X509_LOOKUP *)OPENSSL_sk_set(ossl_check_X509_LOOKUP_sk_type(sk), (idx), ossl_check_X509_LOOKUP_type(ptr))) +#define sk_X509_LOOKUP_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr)) +#define sk_X509_LOOKUP_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr)) +#define sk_X509_LOOKUP_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_type(ptr), pnum) +#define sk_X509_LOOKUP_sort(sk) OPENSSL_sk_sort(ossl_check_X509_LOOKUP_sk_type(sk)) +#define sk_X509_LOOKUP_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_LOOKUP_sk_type(sk)) +#define sk_X509_LOOKUP_dup(sk) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_dup(ossl_check_const_X509_LOOKUP_sk_type(sk))) +#define sk_X509_LOOKUP_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_LOOKUP) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_copyfunc_type(copyfunc), ossl_check_X509_LOOKUP_freefunc_type(freefunc))) +#define sk_X509_LOOKUP_set_cmp_func(sk, cmp) ((sk_X509_LOOKUP_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_LOOKUP_sk_type(sk), ossl_check_X509_LOOKUP_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(X509_OBJECT, X509_OBJECT, X509_OBJECT) +#define sk_X509_OBJECT_num(sk) OPENSSL_sk_num(ossl_check_const_X509_OBJECT_sk_type(sk)) +#define sk_X509_OBJECT_value(sk, idx) ((X509_OBJECT *)OPENSSL_sk_value(ossl_check_const_X509_OBJECT_sk_type(sk), (idx))) +#define sk_X509_OBJECT_new(cmp) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_new(ossl_check_X509_OBJECT_compfunc_type(cmp))) +#define sk_X509_OBJECT_new_null() ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_new_null()) +#define sk_X509_OBJECT_new_reserve(cmp, n) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_new_reserve(ossl_check_X509_OBJECT_compfunc_type(cmp), (n))) +#define sk_X509_OBJECT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_OBJECT_sk_type(sk), (n)) +#define sk_X509_OBJECT_free(sk) OPENSSL_sk_free(ossl_check_X509_OBJECT_sk_type(sk)) +#define sk_X509_OBJECT_zero(sk) OPENSSL_sk_zero(ossl_check_X509_OBJECT_sk_type(sk)) +#define sk_X509_OBJECT_delete(sk, i) ((X509_OBJECT *)OPENSSL_sk_delete(ossl_check_X509_OBJECT_sk_type(sk), (i))) +#define sk_X509_OBJECT_delete_ptr(sk, ptr) ((X509_OBJECT *)OPENSSL_sk_delete_ptr(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr))) +#define sk_X509_OBJECT_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr)) +#define sk_X509_OBJECT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr)) +#define sk_X509_OBJECT_pop(sk) ((X509_OBJECT *)OPENSSL_sk_pop(ossl_check_X509_OBJECT_sk_type(sk))) +#define sk_X509_OBJECT_shift(sk) ((X509_OBJECT *)OPENSSL_sk_shift(ossl_check_X509_OBJECT_sk_type(sk))) +#define sk_X509_OBJECT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_OBJECT_sk_type(sk),ossl_check_X509_OBJECT_freefunc_type(freefunc)) +#define sk_X509_OBJECT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr), (idx)) +#define sk_X509_OBJECT_set(sk, idx, ptr) ((X509_OBJECT *)OPENSSL_sk_set(ossl_check_X509_OBJECT_sk_type(sk), (idx), ossl_check_X509_OBJECT_type(ptr))) +#define sk_X509_OBJECT_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr)) +#define sk_X509_OBJECT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr)) +#define sk_X509_OBJECT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_type(ptr), pnum) +#define sk_X509_OBJECT_sort(sk) OPENSSL_sk_sort(ossl_check_X509_OBJECT_sk_type(sk)) +#define sk_X509_OBJECT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_OBJECT_sk_type(sk)) +#define sk_X509_OBJECT_dup(sk) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_dup(ossl_check_const_X509_OBJECT_sk_type(sk))) +#define sk_X509_OBJECT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_OBJECT) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_copyfunc_type(copyfunc), ossl_check_X509_OBJECT_freefunc_type(freefunc))) +#define sk_X509_OBJECT_set_cmp_func(sk, cmp) ((sk_X509_OBJECT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_OBJECT_sk_type(sk), ossl_check_X509_OBJECT_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(X509_VERIFY_PARAM, X509_VERIFY_PARAM, X509_VERIFY_PARAM) +#define sk_X509_VERIFY_PARAM_num(sk) OPENSSL_sk_num(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk)) +#define sk_X509_VERIFY_PARAM_value(sk, idx) ((X509_VERIFY_PARAM *)OPENSSL_sk_value(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk), (idx))) +#define sk_X509_VERIFY_PARAM_new(cmp) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_new(ossl_check_X509_VERIFY_PARAM_compfunc_type(cmp))) +#define sk_X509_VERIFY_PARAM_new_null() ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_new_null()) +#define sk_X509_VERIFY_PARAM_new_reserve(cmp, n) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_new_reserve(ossl_check_X509_VERIFY_PARAM_compfunc_type(cmp), (n))) +#define sk_X509_VERIFY_PARAM_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_VERIFY_PARAM_sk_type(sk), (n)) +#define sk_X509_VERIFY_PARAM_free(sk) OPENSSL_sk_free(ossl_check_X509_VERIFY_PARAM_sk_type(sk)) +#define sk_X509_VERIFY_PARAM_zero(sk) OPENSSL_sk_zero(ossl_check_X509_VERIFY_PARAM_sk_type(sk)) +#define sk_X509_VERIFY_PARAM_delete(sk, i) ((X509_VERIFY_PARAM *)OPENSSL_sk_delete(ossl_check_X509_VERIFY_PARAM_sk_type(sk), (i))) +#define sk_X509_VERIFY_PARAM_delete_ptr(sk, ptr) ((X509_VERIFY_PARAM *)OPENSSL_sk_delete_ptr(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr))) +#define sk_X509_VERIFY_PARAM_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr)) +#define sk_X509_VERIFY_PARAM_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr)) +#define sk_X509_VERIFY_PARAM_pop(sk) ((X509_VERIFY_PARAM *)OPENSSL_sk_pop(ossl_check_X509_VERIFY_PARAM_sk_type(sk))) +#define sk_X509_VERIFY_PARAM_shift(sk) ((X509_VERIFY_PARAM *)OPENSSL_sk_shift(ossl_check_X509_VERIFY_PARAM_sk_type(sk))) +#define sk_X509_VERIFY_PARAM_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_VERIFY_PARAM_sk_type(sk),ossl_check_X509_VERIFY_PARAM_freefunc_type(freefunc)) +#define sk_X509_VERIFY_PARAM_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr), (idx)) +#define sk_X509_VERIFY_PARAM_set(sk, idx, ptr) ((X509_VERIFY_PARAM *)OPENSSL_sk_set(ossl_check_X509_VERIFY_PARAM_sk_type(sk), (idx), ossl_check_X509_VERIFY_PARAM_type(ptr))) +#define sk_X509_VERIFY_PARAM_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr)) +#define sk_X509_VERIFY_PARAM_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr)) +#define sk_X509_VERIFY_PARAM_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_type(ptr), pnum) +#define sk_X509_VERIFY_PARAM_sort(sk) OPENSSL_sk_sort(ossl_check_X509_VERIFY_PARAM_sk_type(sk)) +#define sk_X509_VERIFY_PARAM_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk)) +#define sk_X509_VERIFY_PARAM_dup(sk) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_dup(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk))) +#define sk_X509_VERIFY_PARAM_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_VERIFY_PARAM) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_copyfunc_type(copyfunc), ossl_check_X509_VERIFY_PARAM_freefunc_type(freefunc))) +#define sk_X509_VERIFY_PARAM_set_cmp_func(sk, cmp) ((sk_X509_VERIFY_PARAM_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_VERIFY_PARAM_sk_type(sk), ossl_check_X509_VERIFY_PARAM_compfunc_type(cmp))) + + +/* This is used for a table of trust checking functions */ +typedef struct x509_trust_st { + int trust; + int flags; + int (*check_trust) (struct x509_trust_st *, X509 *, int); + char *name; + int arg1; + void *arg2; +} X509_TRUST; +SKM_DEFINE_STACK_OF_INTERNAL(X509_TRUST, X509_TRUST, X509_TRUST) +#define sk_X509_TRUST_num(sk) OPENSSL_sk_num(ossl_check_const_X509_TRUST_sk_type(sk)) +#define sk_X509_TRUST_value(sk, idx) ((X509_TRUST *)OPENSSL_sk_value(ossl_check_const_X509_TRUST_sk_type(sk), (idx))) +#define sk_X509_TRUST_new(cmp) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_new(ossl_check_X509_TRUST_compfunc_type(cmp))) +#define sk_X509_TRUST_new_null() ((STACK_OF(X509_TRUST) *)OPENSSL_sk_new_null()) +#define sk_X509_TRUST_new_reserve(cmp, n) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_new_reserve(ossl_check_X509_TRUST_compfunc_type(cmp), (n))) +#define sk_X509_TRUST_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_TRUST_sk_type(sk), (n)) +#define sk_X509_TRUST_free(sk) OPENSSL_sk_free(ossl_check_X509_TRUST_sk_type(sk)) +#define sk_X509_TRUST_zero(sk) OPENSSL_sk_zero(ossl_check_X509_TRUST_sk_type(sk)) +#define sk_X509_TRUST_delete(sk, i) ((X509_TRUST *)OPENSSL_sk_delete(ossl_check_X509_TRUST_sk_type(sk), (i))) +#define sk_X509_TRUST_delete_ptr(sk, ptr) ((X509_TRUST *)OPENSSL_sk_delete_ptr(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr))) +#define sk_X509_TRUST_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr)) +#define sk_X509_TRUST_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr)) +#define sk_X509_TRUST_pop(sk) ((X509_TRUST *)OPENSSL_sk_pop(ossl_check_X509_TRUST_sk_type(sk))) +#define sk_X509_TRUST_shift(sk) ((X509_TRUST *)OPENSSL_sk_shift(ossl_check_X509_TRUST_sk_type(sk))) +#define sk_X509_TRUST_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_TRUST_sk_type(sk),ossl_check_X509_TRUST_freefunc_type(freefunc)) +#define sk_X509_TRUST_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr), (idx)) +#define sk_X509_TRUST_set(sk, idx, ptr) ((X509_TRUST *)OPENSSL_sk_set(ossl_check_X509_TRUST_sk_type(sk), (idx), ossl_check_X509_TRUST_type(ptr))) +#define sk_X509_TRUST_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr)) +#define sk_X509_TRUST_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr)) +#define sk_X509_TRUST_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_type(ptr), pnum) +#define sk_X509_TRUST_sort(sk) OPENSSL_sk_sort(ossl_check_X509_TRUST_sk_type(sk)) +#define sk_X509_TRUST_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_TRUST_sk_type(sk)) +#define sk_X509_TRUST_dup(sk) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_dup(ossl_check_const_X509_TRUST_sk_type(sk))) +#define sk_X509_TRUST_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_TRUST) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_copyfunc_type(copyfunc), ossl_check_X509_TRUST_freefunc_type(freefunc))) +#define sk_X509_TRUST_set_cmp_func(sk, cmp) ((sk_X509_TRUST_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_TRUST_sk_type(sk), ossl_check_X509_TRUST_compfunc_type(cmp))) + + +/* standard trust ids */ +# define X509_TRUST_DEFAULT 0 /* Only valid in purpose settings */ +# define X509_TRUST_COMPAT 1 +# define X509_TRUST_SSL_CLIENT 2 +# define X509_TRUST_SSL_SERVER 3 +# define X509_TRUST_EMAIL 4 +# define X509_TRUST_OBJECT_SIGN 5 +# define X509_TRUST_OCSP_SIGN 6 +# define X509_TRUST_OCSP_REQUEST 7 +# define X509_TRUST_TSA 8 +/* Keep these up to date! */ +# define X509_TRUST_MIN 1 +# define X509_TRUST_MAX 8 + +/* trust_flags values */ +# define X509_TRUST_DYNAMIC (1U << 0) +# define X509_TRUST_DYNAMIC_NAME (1U << 1) +/* No compat trust if self-signed, preempts "DO_SS" */ +# define X509_TRUST_NO_SS_COMPAT (1U << 2) +/* Compat trust if no explicit accepted trust EKUs */ +# define X509_TRUST_DO_SS_COMPAT (1U << 3) +/* Accept "anyEKU" as a wildcard rejection OID and as a wildcard trust OID */ +# define X509_TRUST_OK_ANY_EKU (1U << 4) + +/* check_trust return codes */ +# define X509_TRUST_TRUSTED 1 +# define X509_TRUST_REJECTED 2 +# define X509_TRUST_UNTRUSTED 3 + +int X509_TRUST_set(int *t, int trust); +int X509_TRUST_get_count(void); +X509_TRUST *X509_TRUST_get0(int idx); +int X509_TRUST_get_by_id(int id); +int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509 *, int), + const char *name, int arg1, void *arg2); +void X509_TRUST_cleanup(void); +int X509_TRUST_get_flags(const X509_TRUST *xp); +char *X509_TRUST_get0_name(const X509_TRUST *xp); +int X509_TRUST_get_trust(const X509_TRUST *xp); + +int X509_trusted(const X509 *x); +int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj); +int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj); +void X509_trust_clear(X509 *x); +void X509_reject_clear(X509 *x); +STACK_OF(ASN1_OBJECT) *X509_get0_trust_objects(X509 *x); +STACK_OF(ASN1_OBJECT) *X509_get0_reject_objects(X509 *x); + +int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int, X509 *, + int); +int X509_check_trust(X509 *x, int id, int flags); + +int X509_verify_cert(X509_STORE_CTX *ctx); +int X509_STORE_CTX_verify(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_build_chain(X509 *target, STACK_OF(X509) *certs, + X509_STORE *store, int with_self_signed, + OSSL_LIB_CTX *libctx, const char *propq); + +int X509_STORE_set_depth(X509_STORE *store, int depth); + +typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); +int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx); +typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); +typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, + X509_STORE_CTX *ctx, X509 *x); +typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, + X509 *x, X509 *issuer); +typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx); +typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, + X509_CRL **crl, X509 *x); +typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl); +typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, + X509_CRL *crl, X509 *x); +typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx); +typedef STACK_OF(X509) + *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx, + const X509_NAME *nm); +typedef STACK_OF(X509_CRL) + *(*X509_STORE_CTX_lookup_crls_fn)(const X509_STORE_CTX *ctx, + const X509_NAME *nm); +typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx); + +void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); + +# define X509_STORE_CTX_set_app_data(ctx,data) \ + X509_STORE_CTX_set_ex_data(ctx,0,data) +# define X509_STORE_CTX_get_app_data(ctx) \ + X509_STORE_CTX_get_ex_data(ctx,0) + +# define X509_L_FILE_LOAD 1 +# define X509_L_ADD_DIR 2 +# define X509_L_ADD_STORE 3 +# define X509_L_LOAD_STORE 4 + +# define X509_LOOKUP_load_file(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) + +# define X509_LOOKUP_add_dir(x,name,type) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) + +# define X509_LOOKUP_add_store(x,name) \ + X509_LOOKUP_ctrl((x),X509_L_ADD_STORE,(name),0,NULL) + +# define X509_LOOKUP_load_store(x,name) \ + X509_LOOKUP_ctrl((x),X509_L_LOAD_STORE,(name),0,NULL) + +# define X509_LOOKUP_load_file_ex(x, name, type, libctx, propq) \ +X509_LOOKUP_ctrl_ex((x), X509_L_FILE_LOAD, (name), (long)(type), NULL,\ + (libctx), (propq)) + +# define X509_LOOKUP_load_store_ex(x, name, libctx, propq) \ +X509_LOOKUP_ctrl_ex((x), X509_L_LOAD_STORE, (name), 0, NULL, \ + (libctx), (propq)) + +# define X509_LOOKUP_add_store_ex(x, name, libctx, propq) \ +X509_LOOKUP_ctrl_ex((x), X509_L_ADD_STORE, (name), 0, NULL, \ + (libctx), (propq)) + +# define X509_V_OK 0 +# define X509_V_ERR_UNSPECIFIED 1 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 +# define X509_V_ERR_UNABLE_TO_GET_CRL 3 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 +# define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 +# define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 +# define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 +# define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 +# define X509_V_ERR_CERT_NOT_YET_VALID 9 +# define X509_V_ERR_CERT_HAS_EXPIRED 10 +# define X509_V_ERR_CRL_NOT_YET_VALID 11 +# define X509_V_ERR_CRL_HAS_EXPIRED 12 +# define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 +# define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 +# define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 +# define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 +# define X509_V_ERR_OUT_OF_MEM 17 +# define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 +# define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 +# define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 +# define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 +# define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 +# define X509_V_ERR_CERT_REVOKED 23 +# define X509_V_ERR_NO_ISSUER_PUBLIC_KEY 24 +# define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 +# define X509_V_ERR_INVALID_PURPOSE 26 +# define X509_V_ERR_CERT_UNTRUSTED 27 +# define X509_V_ERR_CERT_REJECTED 28 + +/* These are 'informational' when looking for issuer cert */ +# define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 +# define X509_V_ERR_AKID_SKID_MISMATCH 30 +# define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 +# define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 +# define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 +# define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 +# define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 +# define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 +# define X509_V_ERR_INVALID_NON_CA 37 +# define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 +# define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 +# define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 +# define X509_V_ERR_INVALID_EXTENSION 41 +# define X509_V_ERR_INVALID_POLICY_EXTENSION 42 +# define X509_V_ERR_NO_EXPLICIT_POLICY 43 +# define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 +# define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 +# define X509_V_ERR_UNNESTED_RESOURCE 46 +# define X509_V_ERR_PERMITTED_VIOLATION 47 +# define X509_V_ERR_EXCLUDED_VIOLATION 48 +# define X509_V_ERR_SUBTREE_MINMAX 49 +/* The application is not happy */ +# define X509_V_ERR_APPLICATION_VERIFICATION 50 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 +# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 +# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 +# define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 +/* Another issuer check debug option */ +# define X509_V_ERR_PATH_LOOP 55 +/* Suite B mode algorithm violation */ +# define X509_V_ERR_SUITE_B_INVALID_VERSION 56 +# define X509_V_ERR_SUITE_B_INVALID_ALGORITHM 57 +# define X509_V_ERR_SUITE_B_INVALID_CURVE 58 +# define X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM 59 +# define X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED 60 +# define X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 61 +/* Host, email and IP check errors */ +# define X509_V_ERR_HOSTNAME_MISMATCH 62 +# define X509_V_ERR_EMAIL_MISMATCH 63 +# define X509_V_ERR_IP_ADDRESS_MISMATCH 64 +/* DANE TLSA errors */ +# define X509_V_ERR_DANE_NO_MATCH 65 +/* security level errors */ +# define X509_V_ERR_EE_KEY_TOO_SMALL 66 +# define X509_V_ERR_CA_KEY_TOO_SMALL 67 +# define X509_V_ERR_CA_MD_TOO_WEAK 68 +/* Caller error */ +# define X509_V_ERR_INVALID_CALL 69 +/* Issuer lookup error */ +# define X509_V_ERR_STORE_LOOKUP 70 +/* Certificate transparency */ +# define X509_V_ERR_NO_VALID_SCTS 71 + +# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 72 +/* OCSP status errors */ +# define X509_V_ERR_OCSP_VERIFY_NEEDED 73 /* Need OCSP verification */ +# define X509_V_ERR_OCSP_VERIFY_FAILED 74 /* Couldn't verify cert through OCSP */ +# define X509_V_ERR_OCSP_CERT_UNKNOWN 75 /* Certificate wasn't recognized by the OCSP responder */ + +# define X509_V_ERR_UNSUPPORTED_SIGNATURE_ALGORITHM 76 +# define X509_V_ERR_SIGNATURE_ALGORITHM_MISMATCH 77 + +/* Errors in case a check in X509_V_FLAG_X509_STRICT mode fails */ +# define X509_V_ERR_SIGNATURE_ALGORITHM_INCONSISTENCY 78 +# define X509_V_ERR_INVALID_CA 79 +# define X509_V_ERR_PATHLEN_INVALID_FOR_NON_CA 80 +# define X509_V_ERR_PATHLEN_WITHOUT_KU_KEY_CERT_SIGN 81 +# define X509_V_ERR_KU_KEY_CERT_SIGN_INVALID_FOR_NON_CA 82 +# define X509_V_ERR_ISSUER_NAME_EMPTY 83 +# define X509_V_ERR_SUBJECT_NAME_EMPTY 84 +# define X509_V_ERR_MISSING_AUTHORITY_KEY_IDENTIFIER 85 +# define X509_V_ERR_MISSING_SUBJECT_KEY_IDENTIFIER 86 +# define X509_V_ERR_EMPTY_SUBJECT_ALT_NAME 87 +# define X509_V_ERR_EMPTY_SUBJECT_SAN_NOT_CRITICAL 88 +# define X509_V_ERR_CA_BCONS_NOT_CRITICAL 89 +# define X509_V_ERR_AUTHORITY_KEY_IDENTIFIER_CRITICAL 90 +# define X509_V_ERR_SUBJECT_KEY_IDENTIFIER_CRITICAL 91 +# define X509_V_ERR_CA_CERT_MISSING_KEY_USAGE 92 +# define X509_V_ERR_EXTENSIONS_REQUIRE_VERSION_3 93 +# define X509_V_ERR_EC_KEY_EXPLICIT_PARAMS 94 + +/* Certificate verify flags */ +# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define X509_V_FLAG_CB_ISSUER_CHECK 0x0 /* Deprecated */ +# endif +/* Use check time instead of current time */ +# define X509_V_FLAG_USE_CHECK_TIME 0x2 +/* Lookup CRLs */ +# define X509_V_FLAG_CRL_CHECK 0x4 +/* Lookup CRLs for whole chain */ +# define X509_V_FLAG_CRL_CHECK_ALL 0x8 +/* Ignore unhandled critical extensions */ +# define X509_V_FLAG_IGNORE_CRITICAL 0x10 +/* Disable workarounds for broken certificates */ +# define X509_V_FLAG_X509_STRICT 0x20 +/* Enable proxy certificate validation */ +# define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 +/* Enable policy checking */ +# define X509_V_FLAG_POLICY_CHECK 0x80 +/* Policy variable require-explicit-policy */ +# define X509_V_FLAG_EXPLICIT_POLICY 0x100 +/* Policy variable inhibit-any-policy */ +# define X509_V_FLAG_INHIBIT_ANY 0x200 +/* Policy variable inhibit-policy-mapping */ +# define X509_V_FLAG_INHIBIT_MAP 0x400 +/* Notify callback that policy is OK */ +# define X509_V_FLAG_NOTIFY_POLICY 0x800 +/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ +# define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 +/* Delta CRL support */ +# define X509_V_FLAG_USE_DELTAS 0x2000 +/* Check self-signed CA signature */ +# define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 +/* Use trusted store first */ +# define X509_V_FLAG_TRUSTED_FIRST 0x8000 +/* Suite B 128 bit only mode: not normally used */ +# define X509_V_FLAG_SUITEB_128_LOS_ONLY 0x10000 +/* Suite B 192 bit only mode */ +# define X509_V_FLAG_SUITEB_192_LOS 0x20000 +/* Suite B 128 bit mode allowing 192 bit algorithms */ +# define X509_V_FLAG_SUITEB_128_LOS 0x30000 +/* Allow partial chains if at least one certificate is in trusted store */ +# define X509_V_FLAG_PARTIAL_CHAIN 0x80000 +/* + * If the initial chain is not trusted, do not attempt to build an alternative + * chain. Alternate chain checking was introduced in 1.1.0. Setting this flag + * will force the behaviour to match that of previous versions. + */ +# define X509_V_FLAG_NO_ALT_CHAINS 0x100000 +/* Do not check certificate/CRL validity against current time */ +# define X509_V_FLAG_NO_CHECK_TIME 0x200000 + +# define X509_VP_FLAG_DEFAULT 0x1 +# define X509_VP_FLAG_OVERWRITE 0x2 +# define X509_VP_FLAG_RESET_FLAGS 0x4 +# define X509_VP_FLAG_LOCKED 0x8 +# define X509_VP_FLAG_ONCE 0x10 + +/* Internal use: mask of policy related options */ +# define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ + | X509_V_FLAG_EXPLICIT_POLICY \ + | X509_V_FLAG_INHIBIT_ANY \ + | X509_V_FLAG_INHIBIT_MAP) + +int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, + const X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, + X509_LOOKUP_TYPE type, + const X509_NAME *name); +X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, + X509_OBJECT *x); +int X509_OBJECT_up_ref_count(X509_OBJECT *a); +X509_OBJECT *X509_OBJECT_new(void); +void X509_OBJECT_free(X509_OBJECT *a); +X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a); +X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a); +int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj); +X509_CRL *X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a); +int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj); +X509_STORE *X509_STORE_new(void); +void X509_STORE_free(X509_STORE *v); +int X509_STORE_lock(X509_STORE *ctx); +int X509_STORE_unlock(X509_STORE *ctx); +int X509_STORE_up_ref(X509_STORE *v); +STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *v); +STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st); +STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st, + const X509_NAME *nm); +STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(const X509_STORE_CTX *st, + const X509_NAME *nm); +int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); +int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); +int X509_STORE_set_trust(X509_STORE *ctx, int trust); +int X509_STORE_set1_param(X509_STORE *ctx, const X509_VERIFY_PARAM *pm); +X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *ctx); + +void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify); +#define X509_STORE_set_verify_func(ctx, func) \ + X509_STORE_set_verify((ctx),(func)) +void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, + X509_STORE_CTX_verify_fn verify); +X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *ctx); +void X509_STORE_set_verify_cb(X509_STORE *ctx, + X509_STORE_CTX_verify_cb verify_cb); +# define X509_STORE_set_verify_cb_func(ctx,func) \ + X509_STORE_set_verify_cb((ctx),(func)) +X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE *ctx); +void X509_STORE_set_get_issuer(X509_STORE *ctx, + X509_STORE_CTX_get_issuer_fn get_issuer); +X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE *ctx); +void X509_STORE_set_check_issued(X509_STORE *ctx, + X509_STORE_CTX_check_issued_fn check_issued); +X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE *ctx); +void X509_STORE_set_check_revocation(X509_STORE *ctx, + X509_STORE_CTX_check_revocation_fn check_revocation); +X509_STORE_CTX_check_revocation_fn + X509_STORE_get_check_revocation(const X509_STORE *ctx); +void X509_STORE_set_get_crl(X509_STORE *ctx, + X509_STORE_CTX_get_crl_fn get_crl); +X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *ctx); +void X509_STORE_set_check_crl(X509_STORE *ctx, + X509_STORE_CTX_check_crl_fn check_crl); +X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE *ctx); +void X509_STORE_set_cert_crl(X509_STORE *ctx, + X509_STORE_CTX_cert_crl_fn cert_crl); +X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE *ctx); +void X509_STORE_set_check_policy(X509_STORE *ctx, + X509_STORE_CTX_check_policy_fn check_policy); +X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE *ctx); +void X509_STORE_set_lookup_certs(X509_STORE *ctx, + X509_STORE_CTX_lookup_certs_fn lookup_certs); +X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE *ctx); +void X509_STORE_set_lookup_crls(X509_STORE *ctx, + X509_STORE_CTX_lookup_crls_fn lookup_crls); +#define X509_STORE_set_lookup_crls_cb(ctx, func) \ + X509_STORE_set_lookup_crls((ctx), (func)) +X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE *ctx); +void X509_STORE_set_cleanup(X509_STORE *ctx, + X509_STORE_CTX_cleanup_fn cleanup); +X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *ctx); + +#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef) +int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data); +void *X509_STORE_get_ex_data(const X509_STORE *ctx, int idx); + +X509_STORE_CTX *X509_STORE_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq); +X509_STORE_CTX *X509_STORE_CTX_new(void); + +int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); + +void X509_STORE_CTX_free(X509_STORE_CTX *ctx); +int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *trust_store, + X509 *target, STACK_OF(X509) *untrusted); +void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); + +X509_STORE *X509_STORE_CTX_get0_store(const X509_STORE_CTX *ctx); +X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx); +STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(const X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); +void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, + X509_STORE_CTX_verify_cb verify); +X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(const X509_STORE_CTX *ctx); +X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(const X509_STORE_CTX *ctx); +X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(const X509_STORE_CTX *ctx); +X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(const X509_STORE_CTX *ctx); +X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(const X509_STORE_CTX *ctx); +X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(const X509_STORE_CTX *ctx); +X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(const X509_STORE_CTX *ctx); +X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(const X509_STORE_CTX *ctx); +X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(const X509_STORE_CTX *ctx); +X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(const X509_STORE_CTX *ctx); +X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(const X509_STORE_CTX *ctx); +X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(const X509_STORE_CTX *ctx); + +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define X509_STORE_CTX_get_chain X509_STORE_CTX_get0_chain +# define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted +# define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack +# define X509_STORE_get_by_subject X509_STORE_CTX_get_by_subject +# define X509_STORE_get1_certs X509_STORE_CTX_get1_certs +# define X509_STORE_get1_crls X509_STORE_CTX_get1_crls +/* the following macro is misspelled; use X509_STORE_get1_certs instead */ +# define X509_STORE_get1_cert X509_STORE_CTX_get1_certs +/* the following macro is misspelled; use X509_STORE_get1_crls instead */ +# define X509_STORE_get1_crl X509_STORE_CTX_get1_crls +#endif + +X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); +X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); +X509_LOOKUP_METHOD *X509_LOOKUP_file(void); +X509_LOOKUP_METHOD *X509_LOOKUP_store(void); + +typedef int (*X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); +typedef int (*X509_LOOKUP_ctrl_ex_fn)( + X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret, + OSSL_LIB_CTX *libctx, const char *propq); + +typedef int (*X509_LOOKUP_get_by_subject_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const X509_NAME *name, + X509_OBJECT *ret); +typedef int (*X509_LOOKUP_get_by_subject_ex_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const X509_NAME *name, + X509_OBJECT *ret, + OSSL_LIB_CTX *libctx, + const char *propq); +typedef int (*X509_LOOKUP_get_by_issuer_serial_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const X509_NAME *name, + const ASN1_INTEGER *serial, + X509_OBJECT *ret); +typedef int (*X509_LOOKUP_get_by_fingerprint_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const unsigned char* bytes, + int len, + X509_OBJECT *ret); +typedef int (*X509_LOOKUP_get_by_alias_fn)(X509_LOOKUP *ctx, + X509_LOOKUP_TYPE type, + const char *str, + int len, + X509_OBJECT *ret); + +X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name); +void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method, + int (*new_item) (X509_LOOKUP *ctx)); +int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method, + void (*free_fn) (X509_LOOKUP *ctx)); +void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method, + int (*init) (X509_LOOKUP *ctx)); +int (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_shutdown(X509_LOOKUP_METHOD *method, + int (*shutdown) (X509_LOOKUP *ctx)); +int (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method)) + (X509_LOOKUP *ctx); + +int X509_LOOKUP_meth_set_ctrl(X509_LOOKUP_METHOD *method, + X509_LOOKUP_ctrl_fn ctrl_fn); +X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_subject_fn fn); +X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject( + const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_issuer_serial_fn fn); +X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial( + const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_fingerprint_fn fn); +X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint( + const X509_LOOKUP_METHOD *method); + +int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method, + X509_LOOKUP_get_by_alias_fn fn); +X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( + const X509_LOOKUP_METHOD *method); + + +int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); +int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); + +int X509_STORE_CTX_get_by_subject(const X509_STORE_CTX *vs, + X509_LOOKUP_TYPE type, + const X509_NAME *name, X509_OBJECT *ret); +X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, + X509_LOOKUP_TYPE type, + const X509_NAME *name); + +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); +int X509_LOOKUP_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, + char **ret, OSSL_LIB_CTX *libctx, const char *propq); + +int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_file_ex(X509_LOOKUP *ctx, const char *file, int type, + OSSL_LIB_CTX *libctx, const char *propq); +int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); +int X509_load_cert_crl_file_ex(X509_LOOKUP *ctx, const char *file, int type, + OSSL_LIB_CTX *libctx, const char *propq); + +X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); +void X509_LOOKUP_free(X509_LOOKUP *ctx); +int X509_LOOKUP_init(X509_LOOKUP *ctx); +int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const X509_NAME *name, X509_OBJECT *ret); +int X509_LOOKUP_by_subject_ex(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const X509_NAME *name, X509_OBJECT *ret, + OSSL_LIB_CTX *libctx, const char *propq); +int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const X509_NAME *name, + const ASN1_INTEGER *serial, + X509_OBJECT *ret); +int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const unsigned char *bytes, int len, + X509_OBJECT *ret); +int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, + const char *str, int len, X509_OBJECT *ret); +int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data); +void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); +X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); +int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); + +int X509_STORE_load_file(X509_STORE *ctx, const char *file); +int X509_STORE_load_path(X509_STORE *ctx, const char *path); +int X509_STORE_load_store(X509_STORE *ctx, const char *store); +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, + const char *dir); +int X509_STORE_set_default_paths(X509_STORE *ctx); + +int X509_STORE_load_file_ex(X509_STORE *ctx, const char *file, + OSSL_LIB_CTX *libctx, const char *propq); +int X509_STORE_load_store_ex(X509_STORE *ctx, const char *store, + OSSL_LIB_CTX *libctx, const char *propq); +int X509_STORE_load_locations_ex(X509_STORE *ctx, const char *file, + const char *dir, OSSL_LIB_CTX *libctx, + const char *propq); +int X509_STORE_set_default_paths_ex(X509_STORE *ctx, OSSL_LIB_CTX *libctx, + const char *propq); + +#define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE_CTX, l, p, newf, dupf, freef) +int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data); +void *X509_STORE_CTX_get_ex_data(const X509_STORE_CTX *ctx, int idx); +int X509_STORE_CTX_get_error(const X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); +int X509_STORE_CTX_get_error_depth(const X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth); +X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x); +X509 *X509_STORE_CTX_get0_current_issuer(const X509_STORE_CTX *ctx); +X509_CRL *X509_STORE_CTX_get0_current_crl(const X509_STORE_CTX *ctx); +X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(const X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get0_chain(const X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx); +void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *target); +void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk); +void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk); +int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); +int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); +int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, + int purpose, int trust); +void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); +void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, + time_t t); + +X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(const X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_explicit_policy(const X509_STORE_CTX *ctx); +int X509_STORE_CTX_get_num_untrusted(const X509_STORE_CTX *ctx); + +X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(const X509_STORE_CTX *ctx); +void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); +int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); + +/* + * Bridge opacity barrier between libcrypt and libssl, also needed to support + * offline testing in test/danetest.c + */ +void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane); +#define DANE_FLAG_NO_DANE_EE_NAMECHECKS (1L << 0) + +/* X509_VERIFY_PARAM functions */ + +X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); +void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, + const X509_VERIFY_PARAM *from); +int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); +int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, + unsigned long flags); +unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); +int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); +void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); +void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level); +time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param); +void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); +int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, + ASN1_OBJECT *policy); +int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, + STACK_OF(ASN1_OBJECT) *policies); + +int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, + uint32_t flags); +uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param); + +char *X509_VERIFY_PARAM_get0_host(X509_VERIFY_PARAM *param, int idx); +int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, + const char *name, size_t namelen); +void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, + unsigned int flags); +unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM *param); +char *X509_VERIFY_PARAM_get0_peername(const X509_VERIFY_PARAM *param); +void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *, X509_VERIFY_PARAM *); +char *X509_VERIFY_PARAM_get0_email(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, + const char *email, size_t emaillen); +char *X509_VERIFY_PARAM_get1_ip_asc(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, + const unsigned char *ip, size_t iplen); +int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, + const char *ipasc); + +int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param); +const char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param); + +int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); +int X509_VERIFY_PARAM_get_count(void); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id); +const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); +void X509_VERIFY_PARAM_table_cleanup(void); + +/* Non positive return values are errors */ +#define X509_PCY_TREE_FAILURE -2 /* Failure to satisfy explicit policy */ +#define X509_PCY_TREE_INVALID -1 /* Inconsistent or invalid extensions */ +#define X509_PCY_TREE_INTERNAL 0 /* Internal error, most likely malloc */ + +/* + * Positive return values form a bit mask, all but the first are internal to + * the library and don't appear in results from X509_policy_check(). + */ +#define X509_PCY_TREE_VALID 1 /* The policy tree is valid */ +#define X509_PCY_TREE_EMPTY 2 /* The policy tree is empty */ +#define X509_PCY_TREE_EXPLICIT 4 /* Explicit policy required */ + +int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, + STACK_OF(X509) *certs, + STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags); + +void X509_policy_tree_free(X509_POLICY_TREE *tree); + +int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); +X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, + int i); + +STACK_OF(X509_POLICY_NODE) + *X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree); + +STACK_OF(X509_POLICY_NODE) + *X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree); + +int X509_policy_level_node_count(X509_POLICY_LEVEL *level); + +X509_POLICY_NODE *X509_policy_level_get0_node(const X509_POLICY_LEVEL *level, + int i); + +const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); + +STACK_OF(POLICYQUALINFO) + *X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node); +const X509_POLICY_NODE + *X509_policy_node_get0_parent(const X509_POLICY_NODE *node); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509v3.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509v3.h new file mode 100644 index 00000000000000..20b67455f2061d --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509v3.h @@ -0,0 +1,1450 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/x509v3.h.in + * + * Copyright 1999-2023 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + + + +#ifndef OPENSSL_X509V3_H +# define OPENSSL_X509V3_H +# pragma once + +# include +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define HEADER_X509V3_H +# endif + +# include +# include +# include +# include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward reference */ +struct v3_ext_method; +struct v3_ext_ctx; + +/* Useful typedefs */ + +typedef void *(*X509V3_EXT_NEW)(void); +typedef void (*X509V3_EXT_FREE) (void *); +typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); +typedef int (*X509V3_EXT_I2D) (const void *, unsigned char **); +typedef STACK_OF(CONF_VALUE) * + (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, + STACK_OF(CONF_VALUE) *extlist); +typedef void *(*X509V3_EXT_V2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, + STACK_OF(CONF_VALUE) *values); +typedef char *(*X509V3_EXT_I2S)(const struct v3_ext_method *method, + void *ext); +typedef void *(*X509V3_EXT_S2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); +typedef int (*X509V3_EXT_I2R) (const struct v3_ext_method *method, void *ext, + BIO *out, int indent); +typedef void *(*X509V3_EXT_R2I)(const struct v3_ext_method *method, + struct v3_ext_ctx *ctx, const char *str); + +/* V3 extension structure */ + +struct v3_ext_method { + int ext_nid; + int ext_flags; +/* If this is set the following four fields are ignored */ + ASN1_ITEM_EXP *it; +/* Old style ASN1 calls */ + X509V3_EXT_NEW ext_new; + X509V3_EXT_FREE ext_free; + X509V3_EXT_D2I d2i; + X509V3_EXT_I2D i2d; +/* The following pair is used for string extensions */ + X509V3_EXT_I2S i2s; + X509V3_EXT_S2I s2i; +/* The following pair is used for multi-valued extensions */ + X509V3_EXT_I2V i2v; + X509V3_EXT_V2I v2i; +/* The following are used for raw extensions */ + X509V3_EXT_I2R i2r; + X509V3_EXT_R2I r2i; + void *usr_data; /* Any extension specific data */ +}; + +typedef struct X509V3_CONF_METHOD_st { + char *(*get_string) (void *db, const char *section, const char *value); + STACK_OF(CONF_VALUE) *(*get_section) (void *db, const char *section); + void (*free_string) (void *db, char *string); + void (*free_section) (void *db, STACK_OF(CONF_VALUE) *section); +} X509V3_CONF_METHOD; + +/* Context specific info for producing X509 v3 extensions*/ +struct v3_ext_ctx { +# define X509V3_CTX_TEST 0x1 +# ifndef OPENSSL_NO_DEPRECATED_3_0 +# define CTX_TEST X509V3_CTX_TEST +# endif +# define X509V3_CTX_REPLACE 0x2 + int flags; + X509 *issuer_cert; + X509 *subject_cert; + X509_REQ *subject_req; + X509_CRL *crl; + X509V3_CONF_METHOD *db_meth; + void *db; + EVP_PKEY *issuer_pkey; +/* Maybe more here */ +}; + +typedef struct v3_ext_method X509V3_EXT_METHOD; + +SKM_DEFINE_STACK_OF_INTERNAL(X509V3_EXT_METHOD, X509V3_EXT_METHOD, X509V3_EXT_METHOD) +#define sk_X509V3_EXT_METHOD_num(sk) OPENSSL_sk_num(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk)) +#define sk_X509V3_EXT_METHOD_value(sk, idx) ((X509V3_EXT_METHOD *)OPENSSL_sk_value(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk), (idx))) +#define sk_X509V3_EXT_METHOD_new(cmp) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_new(ossl_check_X509V3_EXT_METHOD_compfunc_type(cmp))) +#define sk_X509V3_EXT_METHOD_new_null() ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_new_null()) +#define sk_X509V3_EXT_METHOD_new_reserve(cmp, n) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_new_reserve(ossl_check_X509V3_EXT_METHOD_compfunc_type(cmp), (n))) +#define sk_X509V3_EXT_METHOD_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509V3_EXT_METHOD_sk_type(sk), (n)) +#define sk_X509V3_EXT_METHOD_free(sk) OPENSSL_sk_free(ossl_check_X509V3_EXT_METHOD_sk_type(sk)) +#define sk_X509V3_EXT_METHOD_zero(sk) OPENSSL_sk_zero(ossl_check_X509V3_EXT_METHOD_sk_type(sk)) +#define sk_X509V3_EXT_METHOD_delete(sk, i) ((X509V3_EXT_METHOD *)OPENSSL_sk_delete(ossl_check_X509V3_EXT_METHOD_sk_type(sk), (i))) +#define sk_X509V3_EXT_METHOD_delete_ptr(sk, ptr) ((X509V3_EXT_METHOD *)OPENSSL_sk_delete_ptr(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr))) +#define sk_X509V3_EXT_METHOD_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr)) +#define sk_X509V3_EXT_METHOD_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr)) +#define sk_X509V3_EXT_METHOD_pop(sk) ((X509V3_EXT_METHOD *)OPENSSL_sk_pop(ossl_check_X509V3_EXT_METHOD_sk_type(sk))) +#define sk_X509V3_EXT_METHOD_shift(sk) ((X509V3_EXT_METHOD *)OPENSSL_sk_shift(ossl_check_X509V3_EXT_METHOD_sk_type(sk))) +#define sk_X509V3_EXT_METHOD_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509V3_EXT_METHOD_sk_type(sk),ossl_check_X509V3_EXT_METHOD_freefunc_type(freefunc)) +#define sk_X509V3_EXT_METHOD_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr), (idx)) +#define sk_X509V3_EXT_METHOD_set(sk, idx, ptr) ((X509V3_EXT_METHOD *)OPENSSL_sk_set(ossl_check_X509V3_EXT_METHOD_sk_type(sk), (idx), ossl_check_X509V3_EXT_METHOD_type(ptr))) +#define sk_X509V3_EXT_METHOD_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr)) +#define sk_X509V3_EXT_METHOD_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr)) +#define sk_X509V3_EXT_METHOD_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_type(ptr), pnum) +#define sk_X509V3_EXT_METHOD_sort(sk) OPENSSL_sk_sort(ossl_check_X509V3_EXT_METHOD_sk_type(sk)) +#define sk_X509V3_EXT_METHOD_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk)) +#define sk_X509V3_EXT_METHOD_dup(sk) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_dup(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk))) +#define sk_X509V3_EXT_METHOD_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509V3_EXT_METHOD) *)OPENSSL_sk_deep_copy(ossl_check_const_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_copyfunc_type(copyfunc), ossl_check_X509V3_EXT_METHOD_freefunc_type(freefunc))) +#define sk_X509V3_EXT_METHOD_set_cmp_func(sk, cmp) ((sk_X509V3_EXT_METHOD_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509V3_EXT_METHOD_sk_type(sk), ossl_check_X509V3_EXT_METHOD_compfunc_type(cmp))) + + +/* ext_flags values */ +# define X509V3_EXT_DYNAMIC 0x1 +# define X509V3_EXT_CTX_DEP 0x2 +# define X509V3_EXT_MULTILINE 0x4 + +typedef BIT_STRING_BITNAME ENUMERATED_NAMES; + +typedef struct BASIC_CONSTRAINTS_st { + int ca; + ASN1_INTEGER *pathlen; +} BASIC_CONSTRAINTS; + +typedef struct PKEY_USAGE_PERIOD_st { + ASN1_GENERALIZEDTIME *notBefore; + ASN1_GENERALIZEDTIME *notAfter; +} PKEY_USAGE_PERIOD; + +typedef struct otherName_st { + ASN1_OBJECT *type_id; + ASN1_TYPE *value; +} OTHERNAME; + +typedef struct EDIPartyName_st { + ASN1_STRING *nameAssigner; + ASN1_STRING *partyName; +} EDIPARTYNAME; + +typedef struct GENERAL_NAME_st { +# define GEN_OTHERNAME 0 +# define GEN_EMAIL 1 +# define GEN_DNS 2 +# define GEN_X400 3 +# define GEN_DIRNAME 4 +# define GEN_EDIPARTY 5 +# define GEN_URI 6 +# define GEN_IPADD 7 +# define GEN_RID 8 + int type; + union { + char *ptr; + OTHERNAME *otherName; /* otherName */ + ASN1_IA5STRING *rfc822Name; + ASN1_IA5STRING *dNSName; + ASN1_STRING *x400Address; + X509_NAME *directoryName; + EDIPARTYNAME *ediPartyName; + ASN1_IA5STRING *uniformResourceIdentifier; + ASN1_OCTET_STRING *iPAddress; + ASN1_OBJECT *registeredID; + /* Old names */ + ASN1_OCTET_STRING *ip; /* iPAddress */ + X509_NAME *dirn; /* dirn */ + ASN1_IA5STRING *ia5; /* rfc822Name, dNSName, + * uniformResourceIdentifier */ + ASN1_OBJECT *rid; /* registeredID */ + ASN1_TYPE *other; /* x400Address */ + } d; +} GENERAL_NAME; + +typedef struct ACCESS_DESCRIPTION_st { + ASN1_OBJECT *method; + GENERAL_NAME *location; +} ACCESS_DESCRIPTION; + +SKM_DEFINE_STACK_OF_INTERNAL(ACCESS_DESCRIPTION, ACCESS_DESCRIPTION, ACCESS_DESCRIPTION) +#define sk_ACCESS_DESCRIPTION_num(sk) OPENSSL_sk_num(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk)) +#define sk_ACCESS_DESCRIPTION_value(sk, idx) ((ACCESS_DESCRIPTION *)OPENSSL_sk_value(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk), (idx))) +#define sk_ACCESS_DESCRIPTION_new(cmp) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_new(ossl_check_ACCESS_DESCRIPTION_compfunc_type(cmp))) +#define sk_ACCESS_DESCRIPTION_new_null() ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_new_null()) +#define sk_ACCESS_DESCRIPTION_new_reserve(cmp, n) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_new_reserve(ossl_check_ACCESS_DESCRIPTION_compfunc_type(cmp), (n))) +#define sk_ACCESS_DESCRIPTION_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), (n)) +#define sk_ACCESS_DESCRIPTION_free(sk) OPENSSL_sk_free(ossl_check_ACCESS_DESCRIPTION_sk_type(sk)) +#define sk_ACCESS_DESCRIPTION_zero(sk) OPENSSL_sk_zero(ossl_check_ACCESS_DESCRIPTION_sk_type(sk)) +#define sk_ACCESS_DESCRIPTION_delete(sk, i) ((ACCESS_DESCRIPTION *)OPENSSL_sk_delete(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), (i))) +#define sk_ACCESS_DESCRIPTION_delete_ptr(sk, ptr) ((ACCESS_DESCRIPTION *)OPENSSL_sk_delete_ptr(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr))) +#define sk_ACCESS_DESCRIPTION_push(sk, ptr) OPENSSL_sk_push(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr)) +#define sk_ACCESS_DESCRIPTION_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr)) +#define sk_ACCESS_DESCRIPTION_pop(sk) ((ACCESS_DESCRIPTION *)OPENSSL_sk_pop(ossl_check_ACCESS_DESCRIPTION_sk_type(sk))) +#define sk_ACCESS_DESCRIPTION_shift(sk) ((ACCESS_DESCRIPTION *)OPENSSL_sk_shift(ossl_check_ACCESS_DESCRIPTION_sk_type(sk))) +#define sk_ACCESS_DESCRIPTION_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ACCESS_DESCRIPTION_sk_type(sk),ossl_check_ACCESS_DESCRIPTION_freefunc_type(freefunc)) +#define sk_ACCESS_DESCRIPTION_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr), (idx)) +#define sk_ACCESS_DESCRIPTION_set(sk, idx, ptr) ((ACCESS_DESCRIPTION *)OPENSSL_sk_set(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), (idx), ossl_check_ACCESS_DESCRIPTION_type(ptr))) +#define sk_ACCESS_DESCRIPTION_find(sk, ptr) OPENSSL_sk_find(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr)) +#define sk_ACCESS_DESCRIPTION_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr)) +#define sk_ACCESS_DESCRIPTION_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_type(ptr), pnum) +#define sk_ACCESS_DESCRIPTION_sort(sk) OPENSSL_sk_sort(ossl_check_ACCESS_DESCRIPTION_sk_type(sk)) +#define sk_ACCESS_DESCRIPTION_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk)) +#define sk_ACCESS_DESCRIPTION_dup(sk) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_dup(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk))) +#define sk_ACCESS_DESCRIPTION_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ACCESS_DESCRIPTION) *)OPENSSL_sk_deep_copy(ossl_check_const_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_copyfunc_type(copyfunc), ossl_check_ACCESS_DESCRIPTION_freefunc_type(freefunc))) +#define sk_ACCESS_DESCRIPTION_set_cmp_func(sk, cmp) ((sk_ACCESS_DESCRIPTION_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ACCESS_DESCRIPTION_sk_type(sk), ossl_check_ACCESS_DESCRIPTION_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(GENERAL_NAME, GENERAL_NAME, GENERAL_NAME) +#define sk_GENERAL_NAME_num(sk) OPENSSL_sk_num(ossl_check_const_GENERAL_NAME_sk_type(sk)) +#define sk_GENERAL_NAME_value(sk, idx) ((GENERAL_NAME *)OPENSSL_sk_value(ossl_check_const_GENERAL_NAME_sk_type(sk), (idx))) +#define sk_GENERAL_NAME_new(cmp) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_new(ossl_check_GENERAL_NAME_compfunc_type(cmp))) +#define sk_GENERAL_NAME_new_null() ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_new_null()) +#define sk_GENERAL_NAME_new_reserve(cmp, n) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_new_reserve(ossl_check_GENERAL_NAME_compfunc_type(cmp), (n))) +#define sk_GENERAL_NAME_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_GENERAL_NAME_sk_type(sk), (n)) +#define sk_GENERAL_NAME_free(sk) OPENSSL_sk_free(ossl_check_GENERAL_NAME_sk_type(sk)) +#define sk_GENERAL_NAME_zero(sk) OPENSSL_sk_zero(ossl_check_GENERAL_NAME_sk_type(sk)) +#define sk_GENERAL_NAME_delete(sk, i) ((GENERAL_NAME *)OPENSSL_sk_delete(ossl_check_GENERAL_NAME_sk_type(sk), (i))) +#define sk_GENERAL_NAME_delete_ptr(sk, ptr) ((GENERAL_NAME *)OPENSSL_sk_delete_ptr(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr))) +#define sk_GENERAL_NAME_push(sk, ptr) OPENSSL_sk_push(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr)) +#define sk_GENERAL_NAME_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr)) +#define sk_GENERAL_NAME_pop(sk) ((GENERAL_NAME *)OPENSSL_sk_pop(ossl_check_GENERAL_NAME_sk_type(sk))) +#define sk_GENERAL_NAME_shift(sk) ((GENERAL_NAME *)OPENSSL_sk_shift(ossl_check_GENERAL_NAME_sk_type(sk))) +#define sk_GENERAL_NAME_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_GENERAL_NAME_sk_type(sk),ossl_check_GENERAL_NAME_freefunc_type(freefunc)) +#define sk_GENERAL_NAME_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr), (idx)) +#define sk_GENERAL_NAME_set(sk, idx, ptr) ((GENERAL_NAME *)OPENSSL_sk_set(ossl_check_GENERAL_NAME_sk_type(sk), (idx), ossl_check_GENERAL_NAME_type(ptr))) +#define sk_GENERAL_NAME_find(sk, ptr) OPENSSL_sk_find(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr)) +#define sk_GENERAL_NAME_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr)) +#define sk_GENERAL_NAME_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_type(ptr), pnum) +#define sk_GENERAL_NAME_sort(sk) OPENSSL_sk_sort(ossl_check_GENERAL_NAME_sk_type(sk)) +#define sk_GENERAL_NAME_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_GENERAL_NAME_sk_type(sk)) +#define sk_GENERAL_NAME_dup(sk) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_dup(ossl_check_const_GENERAL_NAME_sk_type(sk))) +#define sk_GENERAL_NAME_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(GENERAL_NAME) *)OPENSSL_sk_deep_copy(ossl_check_const_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_copyfunc_type(copyfunc), ossl_check_GENERAL_NAME_freefunc_type(freefunc))) +#define sk_GENERAL_NAME_set_cmp_func(sk, cmp) ((sk_GENERAL_NAME_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_GENERAL_NAME_sk_type(sk), ossl_check_GENERAL_NAME_compfunc_type(cmp))) + + +typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; +typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; +typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE; +typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; + +SKM_DEFINE_STACK_OF_INTERNAL(GENERAL_NAMES, GENERAL_NAMES, GENERAL_NAMES) +#define sk_GENERAL_NAMES_num(sk) OPENSSL_sk_num(ossl_check_const_GENERAL_NAMES_sk_type(sk)) +#define sk_GENERAL_NAMES_value(sk, idx) ((GENERAL_NAMES *)OPENSSL_sk_value(ossl_check_const_GENERAL_NAMES_sk_type(sk), (idx))) +#define sk_GENERAL_NAMES_new(cmp) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_new(ossl_check_GENERAL_NAMES_compfunc_type(cmp))) +#define sk_GENERAL_NAMES_new_null() ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_new_null()) +#define sk_GENERAL_NAMES_new_reserve(cmp, n) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_new_reserve(ossl_check_GENERAL_NAMES_compfunc_type(cmp), (n))) +#define sk_GENERAL_NAMES_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_GENERAL_NAMES_sk_type(sk), (n)) +#define sk_GENERAL_NAMES_free(sk) OPENSSL_sk_free(ossl_check_GENERAL_NAMES_sk_type(sk)) +#define sk_GENERAL_NAMES_zero(sk) OPENSSL_sk_zero(ossl_check_GENERAL_NAMES_sk_type(sk)) +#define sk_GENERAL_NAMES_delete(sk, i) ((GENERAL_NAMES *)OPENSSL_sk_delete(ossl_check_GENERAL_NAMES_sk_type(sk), (i))) +#define sk_GENERAL_NAMES_delete_ptr(sk, ptr) ((GENERAL_NAMES *)OPENSSL_sk_delete_ptr(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr))) +#define sk_GENERAL_NAMES_push(sk, ptr) OPENSSL_sk_push(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr)) +#define sk_GENERAL_NAMES_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr)) +#define sk_GENERAL_NAMES_pop(sk) ((GENERAL_NAMES *)OPENSSL_sk_pop(ossl_check_GENERAL_NAMES_sk_type(sk))) +#define sk_GENERAL_NAMES_shift(sk) ((GENERAL_NAMES *)OPENSSL_sk_shift(ossl_check_GENERAL_NAMES_sk_type(sk))) +#define sk_GENERAL_NAMES_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_GENERAL_NAMES_sk_type(sk),ossl_check_GENERAL_NAMES_freefunc_type(freefunc)) +#define sk_GENERAL_NAMES_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr), (idx)) +#define sk_GENERAL_NAMES_set(sk, idx, ptr) ((GENERAL_NAMES *)OPENSSL_sk_set(ossl_check_GENERAL_NAMES_sk_type(sk), (idx), ossl_check_GENERAL_NAMES_type(ptr))) +#define sk_GENERAL_NAMES_find(sk, ptr) OPENSSL_sk_find(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr)) +#define sk_GENERAL_NAMES_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr)) +#define sk_GENERAL_NAMES_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_type(ptr), pnum) +#define sk_GENERAL_NAMES_sort(sk) OPENSSL_sk_sort(ossl_check_GENERAL_NAMES_sk_type(sk)) +#define sk_GENERAL_NAMES_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_GENERAL_NAMES_sk_type(sk)) +#define sk_GENERAL_NAMES_dup(sk) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_dup(ossl_check_const_GENERAL_NAMES_sk_type(sk))) +#define sk_GENERAL_NAMES_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(GENERAL_NAMES) *)OPENSSL_sk_deep_copy(ossl_check_const_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_copyfunc_type(copyfunc), ossl_check_GENERAL_NAMES_freefunc_type(freefunc))) +#define sk_GENERAL_NAMES_set_cmp_func(sk, cmp) ((sk_GENERAL_NAMES_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_GENERAL_NAMES_sk_type(sk), ossl_check_GENERAL_NAMES_compfunc_type(cmp))) + + +typedef struct DIST_POINT_NAME_st { + int type; + union { + GENERAL_NAMES *fullname; + STACK_OF(X509_NAME_ENTRY) *relativename; + } name; +/* If relativename then this contains the full distribution point name */ + X509_NAME *dpname; +} DIST_POINT_NAME; +/* All existing reasons */ +# define CRLDP_ALL_REASONS 0x807f + +# define CRL_REASON_NONE -1 +# define CRL_REASON_UNSPECIFIED 0 +# define CRL_REASON_KEY_COMPROMISE 1 +# define CRL_REASON_CA_COMPROMISE 2 +# define CRL_REASON_AFFILIATION_CHANGED 3 +# define CRL_REASON_SUPERSEDED 4 +# define CRL_REASON_CESSATION_OF_OPERATION 5 +# define CRL_REASON_CERTIFICATE_HOLD 6 +# define CRL_REASON_REMOVE_FROM_CRL 8 +# define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +# define CRL_REASON_AA_COMPROMISE 10 + +struct DIST_POINT_st { + DIST_POINT_NAME *distpoint; + ASN1_BIT_STRING *reasons; + GENERAL_NAMES *CRLissuer; + int dp_reasons; +}; + +SKM_DEFINE_STACK_OF_INTERNAL(DIST_POINT, DIST_POINT, DIST_POINT) +#define sk_DIST_POINT_num(sk) OPENSSL_sk_num(ossl_check_const_DIST_POINT_sk_type(sk)) +#define sk_DIST_POINT_value(sk, idx) ((DIST_POINT *)OPENSSL_sk_value(ossl_check_const_DIST_POINT_sk_type(sk), (idx))) +#define sk_DIST_POINT_new(cmp) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_new(ossl_check_DIST_POINT_compfunc_type(cmp))) +#define sk_DIST_POINT_new_null() ((STACK_OF(DIST_POINT) *)OPENSSL_sk_new_null()) +#define sk_DIST_POINT_new_reserve(cmp, n) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_new_reserve(ossl_check_DIST_POINT_compfunc_type(cmp), (n))) +#define sk_DIST_POINT_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_DIST_POINT_sk_type(sk), (n)) +#define sk_DIST_POINT_free(sk) OPENSSL_sk_free(ossl_check_DIST_POINT_sk_type(sk)) +#define sk_DIST_POINT_zero(sk) OPENSSL_sk_zero(ossl_check_DIST_POINT_sk_type(sk)) +#define sk_DIST_POINT_delete(sk, i) ((DIST_POINT *)OPENSSL_sk_delete(ossl_check_DIST_POINT_sk_type(sk), (i))) +#define sk_DIST_POINT_delete_ptr(sk, ptr) ((DIST_POINT *)OPENSSL_sk_delete_ptr(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr))) +#define sk_DIST_POINT_push(sk, ptr) OPENSSL_sk_push(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr)) +#define sk_DIST_POINT_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr)) +#define sk_DIST_POINT_pop(sk) ((DIST_POINT *)OPENSSL_sk_pop(ossl_check_DIST_POINT_sk_type(sk))) +#define sk_DIST_POINT_shift(sk) ((DIST_POINT *)OPENSSL_sk_shift(ossl_check_DIST_POINT_sk_type(sk))) +#define sk_DIST_POINT_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_DIST_POINT_sk_type(sk),ossl_check_DIST_POINT_freefunc_type(freefunc)) +#define sk_DIST_POINT_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr), (idx)) +#define sk_DIST_POINT_set(sk, idx, ptr) ((DIST_POINT *)OPENSSL_sk_set(ossl_check_DIST_POINT_sk_type(sk), (idx), ossl_check_DIST_POINT_type(ptr))) +#define sk_DIST_POINT_find(sk, ptr) OPENSSL_sk_find(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr)) +#define sk_DIST_POINT_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr)) +#define sk_DIST_POINT_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_type(ptr), pnum) +#define sk_DIST_POINT_sort(sk) OPENSSL_sk_sort(ossl_check_DIST_POINT_sk_type(sk)) +#define sk_DIST_POINT_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_DIST_POINT_sk_type(sk)) +#define sk_DIST_POINT_dup(sk) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_dup(ossl_check_const_DIST_POINT_sk_type(sk))) +#define sk_DIST_POINT_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(DIST_POINT) *)OPENSSL_sk_deep_copy(ossl_check_const_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_copyfunc_type(copyfunc), ossl_check_DIST_POINT_freefunc_type(freefunc))) +#define sk_DIST_POINT_set_cmp_func(sk, cmp) ((sk_DIST_POINT_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_DIST_POINT_sk_type(sk), ossl_check_DIST_POINT_compfunc_type(cmp))) + + +typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; + +struct AUTHORITY_KEYID_st { + ASN1_OCTET_STRING *keyid; + GENERAL_NAMES *issuer; + ASN1_INTEGER *serial; +}; + +/* Strong extranet structures */ + +typedef struct SXNET_ID_st { + ASN1_INTEGER *zone; + ASN1_OCTET_STRING *user; +} SXNETID; + +SKM_DEFINE_STACK_OF_INTERNAL(SXNETID, SXNETID, SXNETID) +#define sk_SXNETID_num(sk) OPENSSL_sk_num(ossl_check_const_SXNETID_sk_type(sk)) +#define sk_SXNETID_value(sk, idx) ((SXNETID *)OPENSSL_sk_value(ossl_check_const_SXNETID_sk_type(sk), (idx))) +#define sk_SXNETID_new(cmp) ((STACK_OF(SXNETID) *)OPENSSL_sk_new(ossl_check_SXNETID_compfunc_type(cmp))) +#define sk_SXNETID_new_null() ((STACK_OF(SXNETID) *)OPENSSL_sk_new_null()) +#define sk_SXNETID_new_reserve(cmp, n) ((STACK_OF(SXNETID) *)OPENSSL_sk_new_reserve(ossl_check_SXNETID_compfunc_type(cmp), (n))) +#define sk_SXNETID_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_SXNETID_sk_type(sk), (n)) +#define sk_SXNETID_free(sk) OPENSSL_sk_free(ossl_check_SXNETID_sk_type(sk)) +#define sk_SXNETID_zero(sk) OPENSSL_sk_zero(ossl_check_SXNETID_sk_type(sk)) +#define sk_SXNETID_delete(sk, i) ((SXNETID *)OPENSSL_sk_delete(ossl_check_SXNETID_sk_type(sk), (i))) +#define sk_SXNETID_delete_ptr(sk, ptr) ((SXNETID *)OPENSSL_sk_delete_ptr(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr))) +#define sk_SXNETID_push(sk, ptr) OPENSSL_sk_push(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr)) +#define sk_SXNETID_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr)) +#define sk_SXNETID_pop(sk) ((SXNETID *)OPENSSL_sk_pop(ossl_check_SXNETID_sk_type(sk))) +#define sk_SXNETID_shift(sk) ((SXNETID *)OPENSSL_sk_shift(ossl_check_SXNETID_sk_type(sk))) +#define sk_SXNETID_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_SXNETID_sk_type(sk),ossl_check_SXNETID_freefunc_type(freefunc)) +#define sk_SXNETID_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr), (idx)) +#define sk_SXNETID_set(sk, idx, ptr) ((SXNETID *)OPENSSL_sk_set(ossl_check_SXNETID_sk_type(sk), (idx), ossl_check_SXNETID_type(ptr))) +#define sk_SXNETID_find(sk, ptr) OPENSSL_sk_find(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr)) +#define sk_SXNETID_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr)) +#define sk_SXNETID_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_type(ptr), pnum) +#define sk_SXNETID_sort(sk) OPENSSL_sk_sort(ossl_check_SXNETID_sk_type(sk)) +#define sk_SXNETID_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_SXNETID_sk_type(sk)) +#define sk_SXNETID_dup(sk) ((STACK_OF(SXNETID) *)OPENSSL_sk_dup(ossl_check_const_SXNETID_sk_type(sk))) +#define sk_SXNETID_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(SXNETID) *)OPENSSL_sk_deep_copy(ossl_check_const_SXNETID_sk_type(sk), ossl_check_SXNETID_copyfunc_type(copyfunc), ossl_check_SXNETID_freefunc_type(freefunc))) +#define sk_SXNETID_set_cmp_func(sk, cmp) ((sk_SXNETID_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_SXNETID_sk_type(sk), ossl_check_SXNETID_compfunc_type(cmp))) + + + +typedef struct SXNET_st { + ASN1_INTEGER *version; + STACK_OF(SXNETID) *ids; +} SXNET; + +typedef struct ISSUER_SIGN_TOOL_st { + ASN1_UTF8STRING *signTool; + ASN1_UTF8STRING *cATool; + ASN1_UTF8STRING *signToolCert; + ASN1_UTF8STRING *cAToolCert; +} ISSUER_SIGN_TOOL; + +typedef struct NOTICEREF_st { + ASN1_STRING *organization; + STACK_OF(ASN1_INTEGER) *noticenos; +} NOTICEREF; + +typedef struct USERNOTICE_st { + NOTICEREF *noticeref; + ASN1_STRING *exptext; +} USERNOTICE; + +typedef struct POLICYQUALINFO_st { + ASN1_OBJECT *pqualid; + union { + ASN1_IA5STRING *cpsuri; + USERNOTICE *usernotice; + ASN1_TYPE *other; + } d; +} POLICYQUALINFO; + +SKM_DEFINE_STACK_OF_INTERNAL(POLICYQUALINFO, POLICYQUALINFO, POLICYQUALINFO) +#define sk_POLICYQUALINFO_num(sk) OPENSSL_sk_num(ossl_check_const_POLICYQUALINFO_sk_type(sk)) +#define sk_POLICYQUALINFO_value(sk, idx) ((POLICYQUALINFO *)OPENSSL_sk_value(ossl_check_const_POLICYQUALINFO_sk_type(sk), (idx))) +#define sk_POLICYQUALINFO_new(cmp) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_new(ossl_check_POLICYQUALINFO_compfunc_type(cmp))) +#define sk_POLICYQUALINFO_new_null() ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_new_null()) +#define sk_POLICYQUALINFO_new_reserve(cmp, n) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_new_reserve(ossl_check_POLICYQUALINFO_compfunc_type(cmp), (n))) +#define sk_POLICYQUALINFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_POLICYQUALINFO_sk_type(sk), (n)) +#define sk_POLICYQUALINFO_free(sk) OPENSSL_sk_free(ossl_check_POLICYQUALINFO_sk_type(sk)) +#define sk_POLICYQUALINFO_zero(sk) OPENSSL_sk_zero(ossl_check_POLICYQUALINFO_sk_type(sk)) +#define sk_POLICYQUALINFO_delete(sk, i) ((POLICYQUALINFO *)OPENSSL_sk_delete(ossl_check_POLICYQUALINFO_sk_type(sk), (i))) +#define sk_POLICYQUALINFO_delete_ptr(sk, ptr) ((POLICYQUALINFO *)OPENSSL_sk_delete_ptr(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr))) +#define sk_POLICYQUALINFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr)) +#define sk_POLICYQUALINFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr)) +#define sk_POLICYQUALINFO_pop(sk) ((POLICYQUALINFO *)OPENSSL_sk_pop(ossl_check_POLICYQUALINFO_sk_type(sk))) +#define sk_POLICYQUALINFO_shift(sk) ((POLICYQUALINFO *)OPENSSL_sk_shift(ossl_check_POLICYQUALINFO_sk_type(sk))) +#define sk_POLICYQUALINFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_POLICYQUALINFO_sk_type(sk),ossl_check_POLICYQUALINFO_freefunc_type(freefunc)) +#define sk_POLICYQUALINFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr), (idx)) +#define sk_POLICYQUALINFO_set(sk, idx, ptr) ((POLICYQUALINFO *)OPENSSL_sk_set(ossl_check_POLICYQUALINFO_sk_type(sk), (idx), ossl_check_POLICYQUALINFO_type(ptr))) +#define sk_POLICYQUALINFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr)) +#define sk_POLICYQUALINFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr)) +#define sk_POLICYQUALINFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_type(ptr), pnum) +#define sk_POLICYQUALINFO_sort(sk) OPENSSL_sk_sort(ossl_check_POLICYQUALINFO_sk_type(sk)) +#define sk_POLICYQUALINFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_POLICYQUALINFO_sk_type(sk)) +#define sk_POLICYQUALINFO_dup(sk) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_dup(ossl_check_const_POLICYQUALINFO_sk_type(sk))) +#define sk_POLICYQUALINFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(POLICYQUALINFO) *)OPENSSL_sk_deep_copy(ossl_check_const_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_copyfunc_type(copyfunc), ossl_check_POLICYQUALINFO_freefunc_type(freefunc))) +#define sk_POLICYQUALINFO_set_cmp_func(sk, cmp) ((sk_POLICYQUALINFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_POLICYQUALINFO_sk_type(sk), ossl_check_POLICYQUALINFO_compfunc_type(cmp))) + + + +typedef struct POLICYINFO_st { + ASN1_OBJECT *policyid; + STACK_OF(POLICYQUALINFO) *qualifiers; +} POLICYINFO; + +SKM_DEFINE_STACK_OF_INTERNAL(POLICYINFO, POLICYINFO, POLICYINFO) +#define sk_POLICYINFO_num(sk) OPENSSL_sk_num(ossl_check_const_POLICYINFO_sk_type(sk)) +#define sk_POLICYINFO_value(sk, idx) ((POLICYINFO *)OPENSSL_sk_value(ossl_check_const_POLICYINFO_sk_type(sk), (idx))) +#define sk_POLICYINFO_new(cmp) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_new(ossl_check_POLICYINFO_compfunc_type(cmp))) +#define sk_POLICYINFO_new_null() ((STACK_OF(POLICYINFO) *)OPENSSL_sk_new_null()) +#define sk_POLICYINFO_new_reserve(cmp, n) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_new_reserve(ossl_check_POLICYINFO_compfunc_type(cmp), (n))) +#define sk_POLICYINFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_POLICYINFO_sk_type(sk), (n)) +#define sk_POLICYINFO_free(sk) OPENSSL_sk_free(ossl_check_POLICYINFO_sk_type(sk)) +#define sk_POLICYINFO_zero(sk) OPENSSL_sk_zero(ossl_check_POLICYINFO_sk_type(sk)) +#define sk_POLICYINFO_delete(sk, i) ((POLICYINFO *)OPENSSL_sk_delete(ossl_check_POLICYINFO_sk_type(sk), (i))) +#define sk_POLICYINFO_delete_ptr(sk, ptr) ((POLICYINFO *)OPENSSL_sk_delete_ptr(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr))) +#define sk_POLICYINFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr)) +#define sk_POLICYINFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr)) +#define sk_POLICYINFO_pop(sk) ((POLICYINFO *)OPENSSL_sk_pop(ossl_check_POLICYINFO_sk_type(sk))) +#define sk_POLICYINFO_shift(sk) ((POLICYINFO *)OPENSSL_sk_shift(ossl_check_POLICYINFO_sk_type(sk))) +#define sk_POLICYINFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_POLICYINFO_sk_type(sk),ossl_check_POLICYINFO_freefunc_type(freefunc)) +#define sk_POLICYINFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr), (idx)) +#define sk_POLICYINFO_set(sk, idx, ptr) ((POLICYINFO *)OPENSSL_sk_set(ossl_check_POLICYINFO_sk_type(sk), (idx), ossl_check_POLICYINFO_type(ptr))) +#define sk_POLICYINFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr)) +#define sk_POLICYINFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr)) +#define sk_POLICYINFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_type(ptr), pnum) +#define sk_POLICYINFO_sort(sk) OPENSSL_sk_sort(ossl_check_POLICYINFO_sk_type(sk)) +#define sk_POLICYINFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_POLICYINFO_sk_type(sk)) +#define sk_POLICYINFO_dup(sk) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_dup(ossl_check_const_POLICYINFO_sk_type(sk))) +#define sk_POLICYINFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(POLICYINFO) *)OPENSSL_sk_deep_copy(ossl_check_const_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_copyfunc_type(copyfunc), ossl_check_POLICYINFO_freefunc_type(freefunc))) +#define sk_POLICYINFO_set_cmp_func(sk, cmp) ((sk_POLICYINFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_POLICYINFO_sk_type(sk), ossl_check_POLICYINFO_compfunc_type(cmp))) + + +typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; + +typedef struct POLICY_MAPPING_st { + ASN1_OBJECT *issuerDomainPolicy; + ASN1_OBJECT *subjectDomainPolicy; +} POLICY_MAPPING; + +SKM_DEFINE_STACK_OF_INTERNAL(POLICY_MAPPING, POLICY_MAPPING, POLICY_MAPPING) +#define sk_POLICY_MAPPING_num(sk) OPENSSL_sk_num(ossl_check_const_POLICY_MAPPING_sk_type(sk)) +#define sk_POLICY_MAPPING_value(sk, idx) ((POLICY_MAPPING *)OPENSSL_sk_value(ossl_check_const_POLICY_MAPPING_sk_type(sk), (idx))) +#define sk_POLICY_MAPPING_new(cmp) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_new(ossl_check_POLICY_MAPPING_compfunc_type(cmp))) +#define sk_POLICY_MAPPING_new_null() ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_new_null()) +#define sk_POLICY_MAPPING_new_reserve(cmp, n) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_new_reserve(ossl_check_POLICY_MAPPING_compfunc_type(cmp), (n))) +#define sk_POLICY_MAPPING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_POLICY_MAPPING_sk_type(sk), (n)) +#define sk_POLICY_MAPPING_free(sk) OPENSSL_sk_free(ossl_check_POLICY_MAPPING_sk_type(sk)) +#define sk_POLICY_MAPPING_zero(sk) OPENSSL_sk_zero(ossl_check_POLICY_MAPPING_sk_type(sk)) +#define sk_POLICY_MAPPING_delete(sk, i) ((POLICY_MAPPING *)OPENSSL_sk_delete(ossl_check_POLICY_MAPPING_sk_type(sk), (i))) +#define sk_POLICY_MAPPING_delete_ptr(sk, ptr) ((POLICY_MAPPING *)OPENSSL_sk_delete_ptr(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr))) +#define sk_POLICY_MAPPING_push(sk, ptr) OPENSSL_sk_push(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr)) +#define sk_POLICY_MAPPING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr)) +#define sk_POLICY_MAPPING_pop(sk) ((POLICY_MAPPING *)OPENSSL_sk_pop(ossl_check_POLICY_MAPPING_sk_type(sk))) +#define sk_POLICY_MAPPING_shift(sk) ((POLICY_MAPPING *)OPENSSL_sk_shift(ossl_check_POLICY_MAPPING_sk_type(sk))) +#define sk_POLICY_MAPPING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_POLICY_MAPPING_sk_type(sk),ossl_check_POLICY_MAPPING_freefunc_type(freefunc)) +#define sk_POLICY_MAPPING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr), (idx)) +#define sk_POLICY_MAPPING_set(sk, idx, ptr) ((POLICY_MAPPING *)OPENSSL_sk_set(ossl_check_POLICY_MAPPING_sk_type(sk), (idx), ossl_check_POLICY_MAPPING_type(ptr))) +#define sk_POLICY_MAPPING_find(sk, ptr) OPENSSL_sk_find(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr)) +#define sk_POLICY_MAPPING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr)) +#define sk_POLICY_MAPPING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_type(ptr), pnum) +#define sk_POLICY_MAPPING_sort(sk) OPENSSL_sk_sort(ossl_check_POLICY_MAPPING_sk_type(sk)) +#define sk_POLICY_MAPPING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_POLICY_MAPPING_sk_type(sk)) +#define sk_POLICY_MAPPING_dup(sk) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_dup(ossl_check_const_POLICY_MAPPING_sk_type(sk))) +#define sk_POLICY_MAPPING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(POLICY_MAPPING) *)OPENSSL_sk_deep_copy(ossl_check_const_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_copyfunc_type(copyfunc), ossl_check_POLICY_MAPPING_freefunc_type(freefunc))) +#define sk_POLICY_MAPPING_set_cmp_func(sk, cmp) ((sk_POLICY_MAPPING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_POLICY_MAPPING_sk_type(sk), ossl_check_POLICY_MAPPING_compfunc_type(cmp))) + + +typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; + +typedef struct GENERAL_SUBTREE_st { + GENERAL_NAME *base; + ASN1_INTEGER *minimum; + ASN1_INTEGER *maximum; +} GENERAL_SUBTREE; + +SKM_DEFINE_STACK_OF_INTERNAL(GENERAL_SUBTREE, GENERAL_SUBTREE, GENERAL_SUBTREE) +#define sk_GENERAL_SUBTREE_num(sk) OPENSSL_sk_num(ossl_check_const_GENERAL_SUBTREE_sk_type(sk)) +#define sk_GENERAL_SUBTREE_value(sk, idx) ((GENERAL_SUBTREE *)OPENSSL_sk_value(ossl_check_const_GENERAL_SUBTREE_sk_type(sk), (idx))) +#define sk_GENERAL_SUBTREE_new(cmp) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_new(ossl_check_GENERAL_SUBTREE_compfunc_type(cmp))) +#define sk_GENERAL_SUBTREE_new_null() ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_new_null()) +#define sk_GENERAL_SUBTREE_new_reserve(cmp, n) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_new_reserve(ossl_check_GENERAL_SUBTREE_compfunc_type(cmp), (n))) +#define sk_GENERAL_SUBTREE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_GENERAL_SUBTREE_sk_type(sk), (n)) +#define sk_GENERAL_SUBTREE_free(sk) OPENSSL_sk_free(ossl_check_GENERAL_SUBTREE_sk_type(sk)) +#define sk_GENERAL_SUBTREE_zero(sk) OPENSSL_sk_zero(ossl_check_GENERAL_SUBTREE_sk_type(sk)) +#define sk_GENERAL_SUBTREE_delete(sk, i) ((GENERAL_SUBTREE *)OPENSSL_sk_delete(ossl_check_GENERAL_SUBTREE_sk_type(sk), (i))) +#define sk_GENERAL_SUBTREE_delete_ptr(sk, ptr) ((GENERAL_SUBTREE *)OPENSSL_sk_delete_ptr(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr))) +#define sk_GENERAL_SUBTREE_push(sk, ptr) OPENSSL_sk_push(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr)) +#define sk_GENERAL_SUBTREE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr)) +#define sk_GENERAL_SUBTREE_pop(sk) ((GENERAL_SUBTREE *)OPENSSL_sk_pop(ossl_check_GENERAL_SUBTREE_sk_type(sk))) +#define sk_GENERAL_SUBTREE_shift(sk) ((GENERAL_SUBTREE *)OPENSSL_sk_shift(ossl_check_GENERAL_SUBTREE_sk_type(sk))) +#define sk_GENERAL_SUBTREE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_GENERAL_SUBTREE_sk_type(sk),ossl_check_GENERAL_SUBTREE_freefunc_type(freefunc)) +#define sk_GENERAL_SUBTREE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr), (idx)) +#define sk_GENERAL_SUBTREE_set(sk, idx, ptr) ((GENERAL_SUBTREE *)OPENSSL_sk_set(ossl_check_GENERAL_SUBTREE_sk_type(sk), (idx), ossl_check_GENERAL_SUBTREE_type(ptr))) +#define sk_GENERAL_SUBTREE_find(sk, ptr) OPENSSL_sk_find(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr)) +#define sk_GENERAL_SUBTREE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr)) +#define sk_GENERAL_SUBTREE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_type(ptr), pnum) +#define sk_GENERAL_SUBTREE_sort(sk) OPENSSL_sk_sort(ossl_check_GENERAL_SUBTREE_sk_type(sk)) +#define sk_GENERAL_SUBTREE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_GENERAL_SUBTREE_sk_type(sk)) +#define sk_GENERAL_SUBTREE_dup(sk) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_dup(ossl_check_const_GENERAL_SUBTREE_sk_type(sk))) +#define sk_GENERAL_SUBTREE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(GENERAL_SUBTREE) *)OPENSSL_sk_deep_copy(ossl_check_const_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_copyfunc_type(copyfunc), ossl_check_GENERAL_SUBTREE_freefunc_type(freefunc))) +#define sk_GENERAL_SUBTREE_set_cmp_func(sk, cmp) ((sk_GENERAL_SUBTREE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_GENERAL_SUBTREE_sk_type(sk), ossl_check_GENERAL_SUBTREE_compfunc_type(cmp))) + + +struct NAME_CONSTRAINTS_st { + STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; + STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +}; + +typedef struct POLICY_CONSTRAINTS_st { + ASN1_INTEGER *requireExplicitPolicy; + ASN1_INTEGER *inhibitPolicyMapping; +} POLICY_CONSTRAINTS; + +/* Proxy certificate structures, see RFC 3820 */ +typedef struct PROXY_POLICY_st { + ASN1_OBJECT *policyLanguage; + ASN1_OCTET_STRING *policy; +} PROXY_POLICY; + +typedef struct PROXY_CERT_INFO_EXTENSION_st { + ASN1_INTEGER *pcPathLengthConstraint; + PROXY_POLICY *proxyPolicy; +} PROXY_CERT_INFO_EXTENSION; + +DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) +DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) + +struct ISSUING_DIST_POINT_st { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +}; + +/* Values in idp_flags field */ +/* IDP present */ +# define IDP_PRESENT 0x1 +/* IDP values inconsistent */ +# define IDP_INVALID 0x2 +/* onlyuser true */ +# define IDP_ONLYUSER 0x4 +/* onlyCA true */ +# define IDP_ONLYCA 0x8 +/* onlyattr true */ +# define IDP_ONLYATTR 0x10 +/* indirectCRL true */ +# define IDP_INDIRECT 0x20 +/* onlysomereasons present */ +# define IDP_REASONS 0x40 + +# define X509V3_conf_err(val) ERR_add_error_data(6, \ + "section:", (val)->section, \ + ",name:", (val)->name, ",value:", (val)->value) + +# define X509V3_set_ctx_test(ctx) \ + X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, X509V3_CTX_TEST) +# define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; + +# define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ + 0,0,0,0, \ + 0,0, \ + (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ + (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ + NULL, NULL, \ + table} + +# define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ + 0,0,0,0, \ + (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ + (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ + 0,0,0,0, \ + NULL} + +#define EXT_UTF8STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_UTF8STRING), \ + 0,0,0,0, \ + (X509V3_EXT_I2S)i2s_ASN1_UTF8STRING, \ + (X509V3_EXT_S2I)s2i_ASN1_UTF8STRING, \ + 0,0,0,0, \ + NULL} + +# define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +/* X509_PURPOSE stuff */ + +# define EXFLAG_BCONS 0x1 +# define EXFLAG_KUSAGE 0x2 +# define EXFLAG_XKUSAGE 0x4 +# define EXFLAG_NSCERT 0x8 + +# define EXFLAG_CA 0x10 +# define EXFLAG_SI 0x20 /* self-issued, maybe not self-signed */ +# define EXFLAG_V1 0x40 +# define EXFLAG_INVALID 0x80 +/* EXFLAG_SET is set to indicate that some values have been precomputed */ +# define EXFLAG_SET 0x100 +# define EXFLAG_CRITICAL 0x200 +# define EXFLAG_PROXY 0x400 + +# define EXFLAG_INVALID_POLICY 0x800 +# define EXFLAG_FRESHEST 0x1000 +# define EXFLAG_SS 0x2000 /* cert is apparently self-signed */ + +# define EXFLAG_BCONS_CRITICAL 0x10000 +# define EXFLAG_AKID_CRITICAL 0x20000 +# define EXFLAG_SKID_CRITICAL 0x40000 +# define EXFLAG_SAN_CRITICAL 0x80000 +# define EXFLAG_NO_FINGERPRINT 0x100000 + +# define KU_DIGITAL_SIGNATURE 0x0080 +# define KU_NON_REPUDIATION 0x0040 +# define KU_KEY_ENCIPHERMENT 0x0020 +# define KU_DATA_ENCIPHERMENT 0x0010 +# define KU_KEY_AGREEMENT 0x0008 +# define KU_KEY_CERT_SIGN 0x0004 +# define KU_CRL_SIGN 0x0002 +# define KU_ENCIPHER_ONLY 0x0001 +# define KU_DECIPHER_ONLY 0x8000 + +# define NS_SSL_CLIENT 0x80 +# define NS_SSL_SERVER 0x40 +# define NS_SMIME 0x20 +# define NS_OBJSIGN 0x10 +# define NS_SSL_CA 0x04 +# define NS_SMIME_CA 0x02 +# define NS_OBJSIGN_CA 0x01 +# define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) + +# define XKU_SSL_SERVER 0x1 +# define XKU_SSL_CLIENT 0x2 +# define XKU_SMIME 0x4 +# define XKU_CODE_SIGN 0x8 +# define XKU_SGC 0x10 /* Netscape or MS Server-Gated Crypto */ +# define XKU_OCSP_SIGN 0x20 +# define XKU_TIMESTAMP 0x40 +# define XKU_DVCS 0x80 +# define XKU_ANYEKU 0x100 + +# define X509_PURPOSE_DYNAMIC 0x1 +# define X509_PURPOSE_DYNAMIC_NAME 0x2 + +typedef struct x509_purpose_st { + int purpose; + int trust; /* Default trust ID */ + int flags; + int (*check_purpose) (const struct x509_purpose_st *, const X509 *, int); + char *name; + char *sname; + void *usr_data; +} X509_PURPOSE; + +SKM_DEFINE_STACK_OF_INTERNAL(X509_PURPOSE, X509_PURPOSE, X509_PURPOSE) +#define sk_X509_PURPOSE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_PURPOSE_sk_type(sk)) +#define sk_X509_PURPOSE_value(sk, idx) ((X509_PURPOSE *)OPENSSL_sk_value(ossl_check_const_X509_PURPOSE_sk_type(sk), (idx))) +#define sk_X509_PURPOSE_new(cmp) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_new(ossl_check_X509_PURPOSE_compfunc_type(cmp))) +#define sk_X509_PURPOSE_new_null() ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_new_null()) +#define sk_X509_PURPOSE_new_reserve(cmp, n) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_new_reserve(ossl_check_X509_PURPOSE_compfunc_type(cmp), (n))) +#define sk_X509_PURPOSE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_PURPOSE_sk_type(sk), (n)) +#define sk_X509_PURPOSE_free(sk) OPENSSL_sk_free(ossl_check_X509_PURPOSE_sk_type(sk)) +#define sk_X509_PURPOSE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_PURPOSE_sk_type(sk)) +#define sk_X509_PURPOSE_delete(sk, i) ((X509_PURPOSE *)OPENSSL_sk_delete(ossl_check_X509_PURPOSE_sk_type(sk), (i))) +#define sk_X509_PURPOSE_delete_ptr(sk, ptr) ((X509_PURPOSE *)OPENSSL_sk_delete_ptr(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr))) +#define sk_X509_PURPOSE_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr)) +#define sk_X509_PURPOSE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr)) +#define sk_X509_PURPOSE_pop(sk) ((X509_PURPOSE *)OPENSSL_sk_pop(ossl_check_X509_PURPOSE_sk_type(sk))) +#define sk_X509_PURPOSE_shift(sk) ((X509_PURPOSE *)OPENSSL_sk_shift(ossl_check_X509_PURPOSE_sk_type(sk))) +#define sk_X509_PURPOSE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_PURPOSE_sk_type(sk),ossl_check_X509_PURPOSE_freefunc_type(freefunc)) +#define sk_X509_PURPOSE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr), (idx)) +#define sk_X509_PURPOSE_set(sk, idx, ptr) ((X509_PURPOSE *)OPENSSL_sk_set(ossl_check_X509_PURPOSE_sk_type(sk), (idx), ossl_check_X509_PURPOSE_type(ptr))) +#define sk_X509_PURPOSE_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr)) +#define sk_X509_PURPOSE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr)) +#define sk_X509_PURPOSE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_type(ptr), pnum) +#define sk_X509_PURPOSE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_PURPOSE_sk_type(sk)) +#define sk_X509_PURPOSE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_PURPOSE_sk_type(sk)) +#define sk_X509_PURPOSE_dup(sk) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_dup(ossl_check_const_X509_PURPOSE_sk_type(sk))) +#define sk_X509_PURPOSE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_PURPOSE) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_copyfunc_type(copyfunc), ossl_check_X509_PURPOSE_freefunc_type(freefunc))) +#define sk_X509_PURPOSE_set_cmp_func(sk, cmp) ((sk_X509_PURPOSE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_PURPOSE_sk_type(sk), ossl_check_X509_PURPOSE_compfunc_type(cmp))) + + + +# define X509_PURPOSE_SSL_CLIENT 1 +# define X509_PURPOSE_SSL_SERVER 2 +# define X509_PURPOSE_NS_SSL_SERVER 3 +# define X509_PURPOSE_SMIME_SIGN 4 +# define X509_PURPOSE_SMIME_ENCRYPT 5 +# define X509_PURPOSE_CRL_SIGN 6 +# define X509_PURPOSE_ANY 7 +# define X509_PURPOSE_OCSP_HELPER 8 +# define X509_PURPOSE_TIMESTAMP_SIGN 9 + +# define X509_PURPOSE_MIN 1 +# define X509_PURPOSE_MAX 9 + +/* Flags for X509V3_EXT_print() */ + +# define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) +/* Return error for unknown extensions */ +# define X509V3_EXT_DEFAULT 0 +/* Print error for unknown extensions */ +# define X509V3_EXT_ERROR_UNKNOWN (1L << 16) +/* ASN1 parse unknown extensions */ +# define X509V3_EXT_PARSE_UNKNOWN (2L << 16) +/* BIO_dump unknown extensions */ +# define X509V3_EXT_DUMP_UNKNOWN (3L << 16) + +/* Flags for X509V3_add1_i2d */ + +# define X509V3_ADD_OP_MASK 0xfL +# define X509V3_ADD_DEFAULT 0L +# define X509V3_ADD_APPEND 1L +# define X509V3_ADD_REPLACE 2L +# define X509V3_ADD_REPLACE_EXISTING 3L +# define X509V3_ADD_KEEP_EXISTING 4L +# define X509V3_ADD_DELETE 5L +# define X509V3_ADD_SILENT 0x10 + +DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) + +DECLARE_ASN1_FUNCTIONS(SXNET) +DECLARE_ASN1_FUNCTIONS(SXNETID) + +DECLARE_ASN1_FUNCTIONS(ISSUER_SIGN_TOOL) + +int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user, int userlen); +int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char *user, + int userlen); +int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, const char *user, + int userlen); + +ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, const char *zone); +ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); +ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); + +DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) + +DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) +DECLARE_ASN1_DUP_FUNCTION(GENERAL_NAME) +int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); + +ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, + STACK_OF(CONF_VALUE) *nval); +STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, + ASN1_BIT_STRING *bits, + STACK_OF(CONF_VALUE) *extlist); +char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5); +ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); +char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method, ASN1_UTF8STRING *utf8); +ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, + GENERAL_NAME *gen, + STACK_OF(CONF_VALUE) *ret); +int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); + +DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) + +STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, + GENERAL_NAMES *gen, + STACK_OF(CONF_VALUE) *extlist); +GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); + +DECLARE_ASN1_FUNCTIONS(OTHERNAME) +DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) +int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); +void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); +void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype); +int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, + ASN1_OBJECT *oid, ASN1_TYPE *value); +int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen, + ASN1_OBJECT **poid, ASN1_TYPE **pvalue); + +char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + const ASN1_OCTET_STRING *ia5); +ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, const char *str); + +DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) +int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a); + +DECLARE_ASN1_ALLOC_FUNCTIONS(TLS_FEATURE) + +DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) +DECLARE_ASN1_FUNCTIONS(POLICYINFO) +DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) +DECLARE_ASN1_FUNCTIONS(USERNOTICE) +DECLARE_ASN1_FUNCTIONS(NOTICEREF) + +DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) +DECLARE_ASN1_FUNCTIONS(DIST_POINT) +DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) +DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) + +int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, const X509_NAME *iname); + +int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); +int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc); + +DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) +DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) + +DECLARE_ASN1_ITEM(POLICY_MAPPING) +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) +DECLARE_ASN1_ITEM(POLICY_MAPPINGS) + +DECLARE_ASN1_ITEM(GENERAL_SUBTREE) +DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) + +DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) +DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) + +DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) +DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) + +GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, int gen_type, + const char *value, int is_nc); + +# ifdef OPENSSL_CONF_H +GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf); +GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, + const X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, CONF_VALUE *cnf, + int is_nc); + +void X509V3_conf_free(CONF_VALUE *val); + +X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const char *name, + const char *value); +int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char *section, + STACK_OF(X509_EXTENSION) **sk); +int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509 *cert); +int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_REQ *req); +int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section, + X509_CRL *crl); + +X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, + X509V3_CTX *ctx, int ext_nid, + const char *value); +X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *name, const char *value); +int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509 *cert); +int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509_REQ *req); +int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, + const char *section, X509_CRL *crl); + +int X509V3_add_value_bool_nf(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool); +int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint); +void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); +void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); +# endif + +char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char *section); +STACK_OF(CONF_VALUE) *X509V3_get_section(X509V3_CTX *ctx, const char *section); +void X509V3_string_free(X509V3_CTX *ctx, char *str); +void X509V3_section_free(X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); +void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, + X509_REQ *req, X509_CRL *crl, int flags); +/* For API backward compatibility, this is separate from X509V3_set_ctx(): */ +int X509V3_set_issuer_pkey(X509V3_CTX *ctx, EVP_PKEY *pkey); + +int X509V3_add_value(const char *name, const char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_uchar(const char *name, const unsigned char *value, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_bool(const char *name, int asn1_bool, + STACK_OF(CONF_VALUE) **extlist); +int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, + STACK_OF(CONF_VALUE) **extlist); +char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const ASN1_INTEGER *aint); +ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, const char *value); +char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, const ASN1_ENUMERATED *aint); +char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, + const ASN1_ENUMERATED *aint); +int X509V3_EXT_add(X509V3_EXT_METHOD *ext); +int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); +int X509V3_EXT_add_alias(int nid_to, int nid_from); +void X509V3_EXT_cleanup(void); + +const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); +const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); +int X509V3_add_standard_extensions(void); +STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); +void *X509V3_EXT_d2i(X509_EXTENSION *ext); +void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, + int *idx); + +X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); +int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, + int crit, unsigned long flags); + +#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +/* The new declarations are in crypto.h, but the old ones were here. */ +# define hex_to_string OPENSSL_buf2hexstr +# define string_to_hex OPENSSL_hexstr2buf +#endif + +void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, + int ml); +int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, + int indent); +#ifndef OPENSSL_NO_STDIO +int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); +#endif +int X509V3_extensions_print(BIO *out, const char *title, + const STACK_OF(X509_EXTENSION) *exts, + unsigned long flag, int indent); + +int X509_check_ca(X509 *x); +int X509_check_purpose(X509 *x, int id, int ca); +int X509_supported_extension(X509_EXTENSION *ex); +int X509_PURPOSE_set(int *p, int purpose); +int X509_check_issued(X509 *issuer, X509 *subject); +int X509_check_akid(const X509 *issuer, const AUTHORITY_KEYID *akid); +void X509_set_proxy_flag(X509 *x); +void X509_set_proxy_pathlen(X509 *x, long l); +long X509_get_proxy_pathlen(X509 *x); + +uint32_t X509_get_extension_flags(X509 *x); +uint32_t X509_get_key_usage(X509 *x); +uint32_t X509_get_extended_key_usage(X509 *x); +const ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x); +const ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x); +const GENERAL_NAMES *X509_get0_authority_issuer(X509 *x); +const ASN1_INTEGER *X509_get0_authority_serial(X509 *x); + +int X509_PURPOSE_get_count(void); +X509_PURPOSE *X509_PURPOSE_get0(int idx); +int X509_PURPOSE_get_by_sname(const char *sname); +int X509_PURPOSE_get_by_id(int id); +int X509_PURPOSE_add(int id, int trust, int flags, + int (*ck) (const X509_PURPOSE *, const X509 *, int), + const char *name, const char *sname, void *arg); +char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp); +char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp); +int X509_PURPOSE_get_trust(const X509_PURPOSE *xp); +void X509_PURPOSE_cleanup(void); +int X509_PURPOSE_get_id(const X509_PURPOSE *); + +STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); +STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x); +void X509_email_free(STACK_OF(OPENSSL_STRING) *sk); +STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); +/* Flags for X509_check_* functions */ + +/* + * Always check subject name for host match even if subject alt names present + */ +# define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT 0x1 +/* Disable wildcard matching for dnsName fields and common name. */ +# define X509_CHECK_FLAG_NO_WILDCARDS 0x2 +/* Wildcards must not match a partial label. */ +# define X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS 0x4 +/* Allow (non-partial) wildcards to match multiple labels. */ +# define X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS 0x8 +/* Constraint verifier subdomain patterns to match a single labels. */ +# define X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 +/* Never check the subject CN */ +# define X509_CHECK_FLAG_NEVER_CHECK_SUBJECT 0x20 +/* + * Match reference identifiers starting with "." to any sub-domain. + * This is a non-public flag, turned on implicitly when the subject + * reference identity is a DNS name. + */ +# define _X509_CHECK_FLAG_DOT_SUBDOMAINS 0x8000 + +int X509_check_host(X509 *x, const char *chk, size_t chklen, + unsigned int flags, char **peername); +int X509_check_email(X509 *x, const char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, + unsigned int flags); +int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags); + +ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); +ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); +int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, + unsigned long chtype); + +void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); +SKM_DEFINE_STACK_OF_INTERNAL(X509_POLICY_NODE, X509_POLICY_NODE, X509_POLICY_NODE) +#define sk_X509_POLICY_NODE_num(sk) OPENSSL_sk_num(ossl_check_const_X509_POLICY_NODE_sk_type(sk)) +#define sk_X509_POLICY_NODE_value(sk, idx) ((X509_POLICY_NODE *)OPENSSL_sk_value(ossl_check_const_X509_POLICY_NODE_sk_type(sk), (idx))) +#define sk_X509_POLICY_NODE_new(cmp) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new(ossl_check_X509_POLICY_NODE_compfunc_type(cmp))) +#define sk_X509_POLICY_NODE_new_null() ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new_null()) +#define sk_X509_POLICY_NODE_new_reserve(cmp, n) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_new_reserve(ossl_check_X509_POLICY_NODE_compfunc_type(cmp), (n))) +#define sk_X509_POLICY_NODE_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_X509_POLICY_NODE_sk_type(sk), (n)) +#define sk_X509_POLICY_NODE_free(sk) OPENSSL_sk_free(ossl_check_X509_POLICY_NODE_sk_type(sk)) +#define sk_X509_POLICY_NODE_zero(sk) OPENSSL_sk_zero(ossl_check_X509_POLICY_NODE_sk_type(sk)) +#define sk_X509_POLICY_NODE_delete(sk, i) ((X509_POLICY_NODE *)OPENSSL_sk_delete(ossl_check_X509_POLICY_NODE_sk_type(sk), (i))) +#define sk_X509_POLICY_NODE_delete_ptr(sk, ptr) ((X509_POLICY_NODE *)OPENSSL_sk_delete_ptr(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr))) +#define sk_X509_POLICY_NODE_push(sk, ptr) OPENSSL_sk_push(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr)) +#define sk_X509_POLICY_NODE_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr)) +#define sk_X509_POLICY_NODE_pop(sk) ((X509_POLICY_NODE *)OPENSSL_sk_pop(ossl_check_X509_POLICY_NODE_sk_type(sk))) +#define sk_X509_POLICY_NODE_shift(sk) ((X509_POLICY_NODE *)OPENSSL_sk_shift(ossl_check_X509_POLICY_NODE_sk_type(sk))) +#define sk_X509_POLICY_NODE_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_X509_POLICY_NODE_sk_type(sk),ossl_check_X509_POLICY_NODE_freefunc_type(freefunc)) +#define sk_X509_POLICY_NODE_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr), (idx)) +#define sk_X509_POLICY_NODE_set(sk, idx, ptr) ((X509_POLICY_NODE *)OPENSSL_sk_set(ossl_check_X509_POLICY_NODE_sk_type(sk), (idx), ossl_check_X509_POLICY_NODE_type(ptr))) +#define sk_X509_POLICY_NODE_find(sk, ptr) OPENSSL_sk_find(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr)) +#define sk_X509_POLICY_NODE_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr)) +#define sk_X509_POLICY_NODE_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_type(ptr), pnum) +#define sk_X509_POLICY_NODE_sort(sk) OPENSSL_sk_sort(ossl_check_X509_POLICY_NODE_sk_type(sk)) +#define sk_X509_POLICY_NODE_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_X509_POLICY_NODE_sk_type(sk)) +#define sk_X509_POLICY_NODE_dup(sk) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_dup(ossl_check_const_X509_POLICY_NODE_sk_type(sk))) +#define sk_X509_POLICY_NODE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(X509_POLICY_NODE) *)OPENSSL_sk_deep_copy(ossl_check_const_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_copyfunc_type(copyfunc), ossl_check_X509_POLICY_NODE_freefunc_type(freefunc))) +#define sk_X509_POLICY_NODE_set_cmp_func(sk, cmp) ((sk_X509_POLICY_NODE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_X509_POLICY_NODE_sk_type(sk), ossl_check_X509_POLICY_NODE_compfunc_type(cmp))) + + + +#ifndef OPENSSL_NO_RFC3779 +typedef struct ASRange_st { + ASN1_INTEGER *min, *max; +} ASRange; + +# define ASIdOrRange_id 0 +# define ASIdOrRange_range 1 + +typedef struct ASIdOrRange_st { + int type; + union { + ASN1_INTEGER *id; + ASRange *range; + } u; +} ASIdOrRange; + +SKM_DEFINE_STACK_OF_INTERNAL(ASIdOrRange, ASIdOrRange, ASIdOrRange) +#define sk_ASIdOrRange_num(sk) OPENSSL_sk_num(ossl_check_const_ASIdOrRange_sk_type(sk)) +#define sk_ASIdOrRange_value(sk, idx) ((ASIdOrRange *)OPENSSL_sk_value(ossl_check_const_ASIdOrRange_sk_type(sk), (idx))) +#define sk_ASIdOrRange_new(cmp) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new(ossl_check_ASIdOrRange_compfunc_type(cmp))) +#define sk_ASIdOrRange_new_null() ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new_null()) +#define sk_ASIdOrRange_new_reserve(cmp, n) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_new_reserve(ossl_check_ASIdOrRange_compfunc_type(cmp), (n))) +#define sk_ASIdOrRange_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASIdOrRange_sk_type(sk), (n)) +#define sk_ASIdOrRange_free(sk) OPENSSL_sk_free(ossl_check_ASIdOrRange_sk_type(sk)) +#define sk_ASIdOrRange_zero(sk) OPENSSL_sk_zero(ossl_check_ASIdOrRange_sk_type(sk)) +#define sk_ASIdOrRange_delete(sk, i) ((ASIdOrRange *)OPENSSL_sk_delete(ossl_check_ASIdOrRange_sk_type(sk), (i))) +#define sk_ASIdOrRange_delete_ptr(sk, ptr) ((ASIdOrRange *)OPENSSL_sk_delete_ptr(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr))) +#define sk_ASIdOrRange_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr)) +#define sk_ASIdOrRange_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr)) +#define sk_ASIdOrRange_pop(sk) ((ASIdOrRange *)OPENSSL_sk_pop(ossl_check_ASIdOrRange_sk_type(sk))) +#define sk_ASIdOrRange_shift(sk) ((ASIdOrRange *)OPENSSL_sk_shift(ossl_check_ASIdOrRange_sk_type(sk))) +#define sk_ASIdOrRange_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASIdOrRange_sk_type(sk),ossl_check_ASIdOrRange_freefunc_type(freefunc)) +#define sk_ASIdOrRange_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr), (idx)) +#define sk_ASIdOrRange_set(sk, idx, ptr) ((ASIdOrRange *)OPENSSL_sk_set(ossl_check_ASIdOrRange_sk_type(sk), (idx), ossl_check_ASIdOrRange_type(ptr))) +#define sk_ASIdOrRange_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr)) +#define sk_ASIdOrRange_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr)) +#define sk_ASIdOrRange_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_type(ptr), pnum) +#define sk_ASIdOrRange_sort(sk) OPENSSL_sk_sort(ossl_check_ASIdOrRange_sk_type(sk)) +#define sk_ASIdOrRange_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASIdOrRange_sk_type(sk)) +#define sk_ASIdOrRange_dup(sk) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_dup(ossl_check_const_ASIdOrRange_sk_type(sk))) +#define sk_ASIdOrRange_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASIdOrRange) *)OPENSSL_sk_deep_copy(ossl_check_const_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_copyfunc_type(copyfunc), ossl_check_ASIdOrRange_freefunc_type(freefunc))) +#define sk_ASIdOrRange_set_cmp_func(sk, cmp) ((sk_ASIdOrRange_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASIdOrRange_sk_type(sk), ossl_check_ASIdOrRange_compfunc_type(cmp))) + + +typedef STACK_OF(ASIdOrRange) ASIdOrRanges; + +# define ASIdentifierChoice_inherit 0 +# define ASIdentifierChoice_asIdsOrRanges 1 + +typedef struct ASIdentifierChoice_st { + int type; + union { + ASN1_NULL *inherit; + ASIdOrRanges *asIdsOrRanges; + } u; +} ASIdentifierChoice; + +typedef struct ASIdentifiers_st { + ASIdentifierChoice *asnum, *rdi; +} ASIdentifiers; + +DECLARE_ASN1_FUNCTIONS(ASRange) +DECLARE_ASN1_FUNCTIONS(ASIdOrRange) +DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) +DECLARE_ASN1_FUNCTIONS(ASIdentifiers) + +typedef struct IPAddressRange_st { + ASN1_BIT_STRING *min, *max; +} IPAddressRange; + +# define IPAddressOrRange_addressPrefix 0 +# define IPAddressOrRange_addressRange 1 + +typedef struct IPAddressOrRange_st { + int type; + union { + ASN1_BIT_STRING *addressPrefix; + IPAddressRange *addressRange; + } u; +} IPAddressOrRange; + +SKM_DEFINE_STACK_OF_INTERNAL(IPAddressOrRange, IPAddressOrRange, IPAddressOrRange) +#define sk_IPAddressOrRange_num(sk) OPENSSL_sk_num(ossl_check_const_IPAddressOrRange_sk_type(sk)) +#define sk_IPAddressOrRange_value(sk, idx) ((IPAddressOrRange *)OPENSSL_sk_value(ossl_check_const_IPAddressOrRange_sk_type(sk), (idx))) +#define sk_IPAddressOrRange_new(cmp) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_new(ossl_check_IPAddressOrRange_compfunc_type(cmp))) +#define sk_IPAddressOrRange_new_null() ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_new_null()) +#define sk_IPAddressOrRange_new_reserve(cmp, n) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_new_reserve(ossl_check_IPAddressOrRange_compfunc_type(cmp), (n))) +#define sk_IPAddressOrRange_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_IPAddressOrRange_sk_type(sk), (n)) +#define sk_IPAddressOrRange_free(sk) OPENSSL_sk_free(ossl_check_IPAddressOrRange_sk_type(sk)) +#define sk_IPAddressOrRange_zero(sk) OPENSSL_sk_zero(ossl_check_IPAddressOrRange_sk_type(sk)) +#define sk_IPAddressOrRange_delete(sk, i) ((IPAddressOrRange *)OPENSSL_sk_delete(ossl_check_IPAddressOrRange_sk_type(sk), (i))) +#define sk_IPAddressOrRange_delete_ptr(sk, ptr) ((IPAddressOrRange *)OPENSSL_sk_delete_ptr(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr))) +#define sk_IPAddressOrRange_push(sk, ptr) OPENSSL_sk_push(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr)) +#define sk_IPAddressOrRange_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr)) +#define sk_IPAddressOrRange_pop(sk) ((IPAddressOrRange *)OPENSSL_sk_pop(ossl_check_IPAddressOrRange_sk_type(sk))) +#define sk_IPAddressOrRange_shift(sk) ((IPAddressOrRange *)OPENSSL_sk_shift(ossl_check_IPAddressOrRange_sk_type(sk))) +#define sk_IPAddressOrRange_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_IPAddressOrRange_sk_type(sk),ossl_check_IPAddressOrRange_freefunc_type(freefunc)) +#define sk_IPAddressOrRange_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr), (idx)) +#define sk_IPAddressOrRange_set(sk, idx, ptr) ((IPAddressOrRange *)OPENSSL_sk_set(ossl_check_IPAddressOrRange_sk_type(sk), (idx), ossl_check_IPAddressOrRange_type(ptr))) +#define sk_IPAddressOrRange_find(sk, ptr) OPENSSL_sk_find(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr)) +#define sk_IPAddressOrRange_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr)) +#define sk_IPAddressOrRange_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_type(ptr), pnum) +#define sk_IPAddressOrRange_sort(sk) OPENSSL_sk_sort(ossl_check_IPAddressOrRange_sk_type(sk)) +#define sk_IPAddressOrRange_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_IPAddressOrRange_sk_type(sk)) +#define sk_IPAddressOrRange_dup(sk) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_dup(ossl_check_const_IPAddressOrRange_sk_type(sk))) +#define sk_IPAddressOrRange_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(IPAddressOrRange) *)OPENSSL_sk_deep_copy(ossl_check_const_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_copyfunc_type(copyfunc), ossl_check_IPAddressOrRange_freefunc_type(freefunc))) +#define sk_IPAddressOrRange_set_cmp_func(sk, cmp) ((sk_IPAddressOrRange_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_IPAddressOrRange_sk_type(sk), ossl_check_IPAddressOrRange_compfunc_type(cmp))) + + +typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; + +# define IPAddressChoice_inherit 0 +# define IPAddressChoice_addressesOrRanges 1 + +typedef struct IPAddressChoice_st { + int type; + union { + ASN1_NULL *inherit; + IPAddressOrRanges *addressesOrRanges; + } u; +} IPAddressChoice; + +typedef struct IPAddressFamily_st { + ASN1_OCTET_STRING *addressFamily; + IPAddressChoice *ipAddressChoice; +} IPAddressFamily; + +SKM_DEFINE_STACK_OF_INTERNAL(IPAddressFamily, IPAddressFamily, IPAddressFamily) +#define sk_IPAddressFamily_num(sk) OPENSSL_sk_num(ossl_check_const_IPAddressFamily_sk_type(sk)) +#define sk_IPAddressFamily_value(sk, idx) ((IPAddressFamily *)OPENSSL_sk_value(ossl_check_const_IPAddressFamily_sk_type(sk), (idx))) +#define sk_IPAddressFamily_new(cmp) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_new(ossl_check_IPAddressFamily_compfunc_type(cmp))) +#define sk_IPAddressFamily_new_null() ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_new_null()) +#define sk_IPAddressFamily_new_reserve(cmp, n) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_new_reserve(ossl_check_IPAddressFamily_compfunc_type(cmp), (n))) +#define sk_IPAddressFamily_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_IPAddressFamily_sk_type(sk), (n)) +#define sk_IPAddressFamily_free(sk) OPENSSL_sk_free(ossl_check_IPAddressFamily_sk_type(sk)) +#define sk_IPAddressFamily_zero(sk) OPENSSL_sk_zero(ossl_check_IPAddressFamily_sk_type(sk)) +#define sk_IPAddressFamily_delete(sk, i) ((IPAddressFamily *)OPENSSL_sk_delete(ossl_check_IPAddressFamily_sk_type(sk), (i))) +#define sk_IPAddressFamily_delete_ptr(sk, ptr) ((IPAddressFamily *)OPENSSL_sk_delete_ptr(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr))) +#define sk_IPAddressFamily_push(sk, ptr) OPENSSL_sk_push(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr)) +#define sk_IPAddressFamily_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr)) +#define sk_IPAddressFamily_pop(sk) ((IPAddressFamily *)OPENSSL_sk_pop(ossl_check_IPAddressFamily_sk_type(sk))) +#define sk_IPAddressFamily_shift(sk) ((IPAddressFamily *)OPENSSL_sk_shift(ossl_check_IPAddressFamily_sk_type(sk))) +#define sk_IPAddressFamily_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_IPAddressFamily_sk_type(sk),ossl_check_IPAddressFamily_freefunc_type(freefunc)) +#define sk_IPAddressFamily_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr), (idx)) +#define sk_IPAddressFamily_set(sk, idx, ptr) ((IPAddressFamily *)OPENSSL_sk_set(ossl_check_IPAddressFamily_sk_type(sk), (idx), ossl_check_IPAddressFamily_type(ptr))) +#define sk_IPAddressFamily_find(sk, ptr) OPENSSL_sk_find(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr)) +#define sk_IPAddressFamily_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr)) +#define sk_IPAddressFamily_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_type(ptr), pnum) +#define sk_IPAddressFamily_sort(sk) OPENSSL_sk_sort(ossl_check_IPAddressFamily_sk_type(sk)) +#define sk_IPAddressFamily_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_IPAddressFamily_sk_type(sk)) +#define sk_IPAddressFamily_dup(sk) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_dup(ossl_check_const_IPAddressFamily_sk_type(sk))) +#define sk_IPAddressFamily_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(IPAddressFamily) *)OPENSSL_sk_deep_copy(ossl_check_const_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_copyfunc_type(copyfunc), ossl_check_IPAddressFamily_freefunc_type(freefunc))) +#define sk_IPAddressFamily_set_cmp_func(sk, cmp) ((sk_IPAddressFamily_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_IPAddressFamily_sk_type(sk), ossl_check_IPAddressFamily_compfunc_type(cmp))) + + + +typedef STACK_OF(IPAddressFamily) IPAddrBlocks; + +DECLARE_ASN1_FUNCTIONS(IPAddressRange) +DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) +DECLARE_ASN1_FUNCTIONS(IPAddressChoice) +DECLARE_ASN1_FUNCTIONS(IPAddressFamily) + +/* + * API tag for elements of the ASIdentifer SEQUENCE. + */ +# define V3_ASID_ASNUM 0 +# define V3_ASID_RDI 1 + +/* + * AFI values, assigned by IANA. It'd be nice to make the AFI + * handling code totally generic, but there are too many little things + * that would need to be defined for other address families for it to + * be worth the trouble. + */ +# define IANA_AFI_IPV4 1 +# define IANA_AFI_IPV6 2 + +/* + * Utilities to construct and extract values from RFC3779 extensions, + * since some of the encodings (particularly for IP address prefixes + * and ranges) are a bit tedious to work with directly. + */ +int X509v3_asid_add_inherit(ASIdentifiers *asid, int which); +int X509v3_asid_add_id_or_range(ASIdentifiers *asid, int which, + ASN1_INTEGER *min, ASN1_INTEGER *max); +int X509v3_addr_add_inherit(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi); +int X509v3_addr_add_prefix(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *a, const int prefixlen); +int X509v3_addr_add_range(IPAddrBlocks *addr, + const unsigned afi, const unsigned *safi, + unsigned char *min, unsigned char *max); +unsigned X509v3_addr_get_afi(const IPAddressFamily *f); +int X509v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, + unsigned char *min, unsigned char *max, + const int length); + +/* + * Canonical forms. + */ +int X509v3_asid_is_canonical(ASIdentifiers *asid); +int X509v3_addr_is_canonical(IPAddrBlocks *addr); +int X509v3_asid_canonize(ASIdentifiers *asid); +int X509v3_addr_canonize(IPAddrBlocks *addr); + +/* + * Tests for inheritance and containment. + */ +int X509v3_asid_inherits(ASIdentifiers *asid); +int X509v3_addr_inherits(IPAddrBlocks *addr); +int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); +int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); + +/* + * Check whether RFC 3779 extensions nest properly in chains. + */ +int X509v3_asid_validate_path(X509_STORE_CTX *); +int X509v3_addr_validate_path(X509_STORE_CTX *); +int X509v3_asid_validate_resource_set(STACK_OF(X509) *chain, + ASIdentifiers *ext, + int allow_inheritance); +int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, + IPAddrBlocks *ext, int allow_inheritance); + +#endif /* OPENSSL_NO_RFC3779 */ + +SKM_DEFINE_STACK_OF_INTERNAL(ASN1_STRING, ASN1_STRING, ASN1_STRING) +#define sk_ASN1_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_ASN1_STRING_sk_type(sk)) +#define sk_ASN1_STRING_value(sk, idx) ((ASN1_STRING *)OPENSSL_sk_value(ossl_check_const_ASN1_STRING_sk_type(sk), (idx))) +#define sk_ASN1_STRING_new(cmp) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_new(ossl_check_ASN1_STRING_compfunc_type(cmp))) +#define sk_ASN1_STRING_new_null() ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_new_null()) +#define sk_ASN1_STRING_new_reserve(cmp, n) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_new_reserve(ossl_check_ASN1_STRING_compfunc_type(cmp), (n))) +#define sk_ASN1_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ASN1_STRING_sk_type(sk), (n)) +#define sk_ASN1_STRING_free(sk) OPENSSL_sk_free(ossl_check_ASN1_STRING_sk_type(sk)) +#define sk_ASN1_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_ASN1_STRING_sk_type(sk)) +#define sk_ASN1_STRING_delete(sk, i) ((ASN1_STRING *)OPENSSL_sk_delete(ossl_check_ASN1_STRING_sk_type(sk), (i))) +#define sk_ASN1_STRING_delete_ptr(sk, ptr) ((ASN1_STRING *)OPENSSL_sk_delete_ptr(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr))) +#define sk_ASN1_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr)) +#define sk_ASN1_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr)) +#define sk_ASN1_STRING_pop(sk) ((ASN1_STRING *)OPENSSL_sk_pop(ossl_check_ASN1_STRING_sk_type(sk))) +#define sk_ASN1_STRING_shift(sk) ((ASN1_STRING *)OPENSSL_sk_shift(ossl_check_ASN1_STRING_sk_type(sk))) +#define sk_ASN1_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ASN1_STRING_sk_type(sk),ossl_check_ASN1_STRING_freefunc_type(freefunc)) +#define sk_ASN1_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr), (idx)) +#define sk_ASN1_STRING_set(sk, idx, ptr) ((ASN1_STRING *)OPENSSL_sk_set(ossl_check_ASN1_STRING_sk_type(sk), (idx), ossl_check_ASN1_STRING_type(ptr))) +#define sk_ASN1_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr)) +#define sk_ASN1_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr)) +#define sk_ASN1_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_type(ptr), pnum) +#define sk_ASN1_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_ASN1_STRING_sk_type(sk)) +#define sk_ASN1_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ASN1_STRING_sk_type(sk)) +#define sk_ASN1_STRING_dup(sk) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_dup(ossl_check_const_ASN1_STRING_sk_type(sk))) +#define sk_ASN1_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ASN1_STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_copyfunc_type(copyfunc), ossl_check_ASN1_STRING_freefunc_type(freefunc))) +#define sk_ASN1_STRING_set_cmp_func(sk, cmp) ((sk_ASN1_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ASN1_STRING_sk_type(sk), ossl_check_ASN1_STRING_compfunc_type(cmp))) + + +/* + * Admission Syntax + */ +typedef struct NamingAuthority_st NAMING_AUTHORITY; +typedef struct ProfessionInfo_st PROFESSION_INFO; +typedef struct Admissions_st ADMISSIONS; +typedef struct AdmissionSyntax_st ADMISSION_SYNTAX; +DECLARE_ASN1_FUNCTIONS(NAMING_AUTHORITY) +DECLARE_ASN1_FUNCTIONS(PROFESSION_INFO) +DECLARE_ASN1_FUNCTIONS(ADMISSIONS) +DECLARE_ASN1_FUNCTIONS(ADMISSION_SYNTAX) +SKM_DEFINE_STACK_OF_INTERNAL(PROFESSION_INFO, PROFESSION_INFO, PROFESSION_INFO) +#define sk_PROFESSION_INFO_num(sk) OPENSSL_sk_num(ossl_check_const_PROFESSION_INFO_sk_type(sk)) +#define sk_PROFESSION_INFO_value(sk, idx) ((PROFESSION_INFO *)OPENSSL_sk_value(ossl_check_const_PROFESSION_INFO_sk_type(sk), (idx))) +#define sk_PROFESSION_INFO_new(cmp) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_new(ossl_check_PROFESSION_INFO_compfunc_type(cmp))) +#define sk_PROFESSION_INFO_new_null() ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_new_null()) +#define sk_PROFESSION_INFO_new_reserve(cmp, n) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_new_reserve(ossl_check_PROFESSION_INFO_compfunc_type(cmp), (n))) +#define sk_PROFESSION_INFO_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_PROFESSION_INFO_sk_type(sk), (n)) +#define sk_PROFESSION_INFO_free(sk) OPENSSL_sk_free(ossl_check_PROFESSION_INFO_sk_type(sk)) +#define sk_PROFESSION_INFO_zero(sk) OPENSSL_sk_zero(ossl_check_PROFESSION_INFO_sk_type(sk)) +#define sk_PROFESSION_INFO_delete(sk, i) ((PROFESSION_INFO *)OPENSSL_sk_delete(ossl_check_PROFESSION_INFO_sk_type(sk), (i))) +#define sk_PROFESSION_INFO_delete_ptr(sk, ptr) ((PROFESSION_INFO *)OPENSSL_sk_delete_ptr(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr))) +#define sk_PROFESSION_INFO_push(sk, ptr) OPENSSL_sk_push(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr)) +#define sk_PROFESSION_INFO_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr)) +#define sk_PROFESSION_INFO_pop(sk) ((PROFESSION_INFO *)OPENSSL_sk_pop(ossl_check_PROFESSION_INFO_sk_type(sk))) +#define sk_PROFESSION_INFO_shift(sk) ((PROFESSION_INFO *)OPENSSL_sk_shift(ossl_check_PROFESSION_INFO_sk_type(sk))) +#define sk_PROFESSION_INFO_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_PROFESSION_INFO_sk_type(sk),ossl_check_PROFESSION_INFO_freefunc_type(freefunc)) +#define sk_PROFESSION_INFO_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr), (idx)) +#define sk_PROFESSION_INFO_set(sk, idx, ptr) ((PROFESSION_INFO *)OPENSSL_sk_set(ossl_check_PROFESSION_INFO_sk_type(sk), (idx), ossl_check_PROFESSION_INFO_type(ptr))) +#define sk_PROFESSION_INFO_find(sk, ptr) OPENSSL_sk_find(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr)) +#define sk_PROFESSION_INFO_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr)) +#define sk_PROFESSION_INFO_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_type(ptr), pnum) +#define sk_PROFESSION_INFO_sort(sk) OPENSSL_sk_sort(ossl_check_PROFESSION_INFO_sk_type(sk)) +#define sk_PROFESSION_INFO_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_PROFESSION_INFO_sk_type(sk)) +#define sk_PROFESSION_INFO_dup(sk) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_dup(ossl_check_const_PROFESSION_INFO_sk_type(sk))) +#define sk_PROFESSION_INFO_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(PROFESSION_INFO) *)OPENSSL_sk_deep_copy(ossl_check_const_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_copyfunc_type(copyfunc), ossl_check_PROFESSION_INFO_freefunc_type(freefunc))) +#define sk_PROFESSION_INFO_set_cmp_func(sk, cmp) ((sk_PROFESSION_INFO_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_PROFESSION_INFO_sk_type(sk), ossl_check_PROFESSION_INFO_compfunc_type(cmp))) +SKM_DEFINE_STACK_OF_INTERNAL(ADMISSIONS, ADMISSIONS, ADMISSIONS) +#define sk_ADMISSIONS_num(sk) OPENSSL_sk_num(ossl_check_const_ADMISSIONS_sk_type(sk)) +#define sk_ADMISSIONS_value(sk, idx) ((ADMISSIONS *)OPENSSL_sk_value(ossl_check_const_ADMISSIONS_sk_type(sk), (idx))) +#define sk_ADMISSIONS_new(cmp) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_new(ossl_check_ADMISSIONS_compfunc_type(cmp))) +#define sk_ADMISSIONS_new_null() ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_new_null()) +#define sk_ADMISSIONS_new_reserve(cmp, n) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_new_reserve(ossl_check_ADMISSIONS_compfunc_type(cmp), (n))) +#define sk_ADMISSIONS_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_ADMISSIONS_sk_type(sk), (n)) +#define sk_ADMISSIONS_free(sk) OPENSSL_sk_free(ossl_check_ADMISSIONS_sk_type(sk)) +#define sk_ADMISSIONS_zero(sk) OPENSSL_sk_zero(ossl_check_ADMISSIONS_sk_type(sk)) +#define sk_ADMISSIONS_delete(sk, i) ((ADMISSIONS *)OPENSSL_sk_delete(ossl_check_ADMISSIONS_sk_type(sk), (i))) +#define sk_ADMISSIONS_delete_ptr(sk, ptr) ((ADMISSIONS *)OPENSSL_sk_delete_ptr(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr))) +#define sk_ADMISSIONS_push(sk, ptr) OPENSSL_sk_push(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr)) +#define sk_ADMISSIONS_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr)) +#define sk_ADMISSIONS_pop(sk) ((ADMISSIONS *)OPENSSL_sk_pop(ossl_check_ADMISSIONS_sk_type(sk))) +#define sk_ADMISSIONS_shift(sk) ((ADMISSIONS *)OPENSSL_sk_shift(ossl_check_ADMISSIONS_sk_type(sk))) +#define sk_ADMISSIONS_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_ADMISSIONS_sk_type(sk),ossl_check_ADMISSIONS_freefunc_type(freefunc)) +#define sk_ADMISSIONS_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr), (idx)) +#define sk_ADMISSIONS_set(sk, idx, ptr) ((ADMISSIONS *)OPENSSL_sk_set(ossl_check_ADMISSIONS_sk_type(sk), (idx), ossl_check_ADMISSIONS_type(ptr))) +#define sk_ADMISSIONS_find(sk, ptr) OPENSSL_sk_find(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr)) +#define sk_ADMISSIONS_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr)) +#define sk_ADMISSIONS_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_type(ptr), pnum) +#define sk_ADMISSIONS_sort(sk) OPENSSL_sk_sort(ossl_check_ADMISSIONS_sk_type(sk)) +#define sk_ADMISSIONS_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_ADMISSIONS_sk_type(sk)) +#define sk_ADMISSIONS_dup(sk) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_dup(ossl_check_const_ADMISSIONS_sk_type(sk))) +#define sk_ADMISSIONS_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(ADMISSIONS) *)OPENSSL_sk_deep_copy(ossl_check_const_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_copyfunc_type(copyfunc), ossl_check_ADMISSIONS_freefunc_type(freefunc))) +#define sk_ADMISSIONS_set_cmp_func(sk, cmp) ((sk_ADMISSIONS_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_ADMISSIONS_sk_type(sk), ossl_check_ADMISSIONS_compfunc_type(cmp))) + +typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS; + +const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId( + const NAMING_AUTHORITY *n); +const ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL( + const NAMING_AUTHORITY *n); +const ASN1_STRING *NAMING_AUTHORITY_get0_authorityText( + const NAMING_AUTHORITY *n); +void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n, + ASN1_OBJECT* namingAuthorityId); +void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n, + ASN1_IA5STRING* namingAuthorityUrl); +void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n, + ASN1_STRING* namingAuthorityText); + +const GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority( + const ADMISSION_SYNTAX *as); +void ADMISSION_SYNTAX_set0_admissionAuthority( + ADMISSION_SYNTAX *as, GENERAL_NAME *aa); +const STACK_OF(ADMISSIONS) *ADMISSION_SYNTAX_get0_contentsOfAdmissions( + const ADMISSION_SYNTAX *as); +void ADMISSION_SYNTAX_set0_contentsOfAdmissions( + ADMISSION_SYNTAX *as, STACK_OF(ADMISSIONS) *a); +const GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS *a); +void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME *aa); +const NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS *a); +void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY *na); +const PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS *a); +void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS *pi); +const ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_addProfessionInfo( + PROFESSION_INFO *pi, ASN1_OCTET_STRING *aos); +const NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_namingAuthority( + PROFESSION_INFO *pi, NAMING_AUTHORITY *na); +const STACK_OF(ASN1_STRING) *PROFESSION_INFO_get0_professionItems( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_professionItems( + PROFESSION_INFO *pi, STACK_OF(ASN1_STRING) *as); +const STACK_OF(ASN1_OBJECT) *PROFESSION_INFO_get0_professionOIDs( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_professionOIDs( + PROFESSION_INFO *pi, STACK_OF(ASN1_OBJECT) *po); +const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber( + const PROFESSION_INFO *pi); +void PROFESSION_INFO_set0_registrationNumber( + PROFESSION_INFO *pi, ASN1_PRINTABLESTRING *rn); + +# ifdef __cplusplus +} +# endif +#endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/progs.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/progs.h new file mode 100644 index 00000000000000..83c829a721bf0b --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/progs.h @@ -0,0 +1,123 @@ +/* + * WARNING: do not edit! + * Generated by apps/progs.pl + * + * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "function.h" + +extern int asn1parse_main(int argc, char *argv[]); +extern int ca_main(int argc, char *argv[]); +extern int ciphers_main(int argc, char *argv[]); +extern int cmp_main(int argc, char *argv[]); +extern int cms_main(int argc, char *argv[]); +extern int crl_main(int argc, char *argv[]); +extern int crl2pkcs7_main(int argc, char *argv[]); +extern int dgst_main(int argc, char *argv[]); +extern int dhparam_main(int argc, char *argv[]); +extern int dsa_main(int argc, char *argv[]); +extern int dsaparam_main(int argc, char *argv[]); +extern int ec_main(int argc, char *argv[]); +extern int ecparam_main(int argc, char *argv[]); +extern int enc_main(int argc, char *argv[]); +extern int engine_main(int argc, char *argv[]); +extern int errstr_main(int argc, char *argv[]); +extern int fipsinstall_main(int argc, char *argv[]); +extern int gendsa_main(int argc, char *argv[]); +extern int genpkey_main(int argc, char *argv[]); +extern int genrsa_main(int argc, char *argv[]); +extern int help_main(int argc, char *argv[]); +extern int info_main(int argc, char *argv[]); +extern int kdf_main(int argc, char *argv[]); +extern int list_main(int argc, char *argv[]); +extern int mac_main(int argc, char *argv[]); +extern int nseq_main(int argc, char *argv[]); +extern int ocsp_main(int argc, char *argv[]); +extern int passwd_main(int argc, char *argv[]); +extern int pkcs12_main(int argc, char *argv[]); +extern int pkcs7_main(int argc, char *argv[]); +extern int pkcs8_main(int argc, char *argv[]); +extern int pkey_main(int argc, char *argv[]); +extern int pkeyparam_main(int argc, char *argv[]); +extern int pkeyutl_main(int argc, char *argv[]); +extern int prime_main(int argc, char *argv[]); +extern int rand_main(int argc, char *argv[]); +extern int rehash_main(int argc, char *argv[]); +extern int req_main(int argc, char *argv[]); +extern int rsa_main(int argc, char *argv[]); +extern int rsautl_main(int argc, char *argv[]); +extern int s_client_main(int argc, char *argv[]); +extern int s_server_main(int argc, char *argv[]); +extern int s_time_main(int argc, char *argv[]); +extern int sess_id_main(int argc, char *argv[]); +extern int smime_main(int argc, char *argv[]); +extern int speed_main(int argc, char *argv[]); +extern int spkac_main(int argc, char *argv[]); +extern int srp_main(int argc, char *argv[]); +extern int storeutl_main(int argc, char *argv[]); +extern int ts_main(int argc, char *argv[]); +extern int verify_main(int argc, char *argv[]); +extern int version_main(int argc, char *argv[]); +extern int x509_main(int argc, char *argv[]); + +extern const OPTIONS asn1parse_options[]; +extern const OPTIONS ca_options[]; +extern const OPTIONS ciphers_options[]; +extern const OPTIONS cmp_options[]; +extern const OPTIONS cms_options[]; +extern const OPTIONS crl_options[]; +extern const OPTIONS crl2pkcs7_options[]; +extern const OPTIONS dgst_options[]; +extern const OPTIONS dhparam_options[]; +extern const OPTIONS dsa_options[]; +extern const OPTIONS dsaparam_options[]; +extern const OPTIONS ec_options[]; +extern const OPTIONS ecparam_options[]; +extern const OPTIONS enc_options[]; +extern const OPTIONS engine_options[]; +extern const OPTIONS errstr_options[]; +extern const OPTIONS fipsinstall_options[]; +extern const OPTIONS gendsa_options[]; +extern const OPTIONS genpkey_options[]; +extern const OPTIONS genrsa_options[]; +extern const OPTIONS help_options[]; +extern const OPTIONS info_options[]; +extern const OPTIONS kdf_options[]; +extern const OPTIONS list_options[]; +extern const OPTIONS mac_options[]; +extern const OPTIONS nseq_options[]; +extern const OPTIONS ocsp_options[]; +extern const OPTIONS passwd_options[]; +extern const OPTIONS pkcs12_options[]; +extern const OPTIONS pkcs7_options[]; +extern const OPTIONS pkcs8_options[]; +extern const OPTIONS pkey_options[]; +extern const OPTIONS pkeyparam_options[]; +extern const OPTIONS pkeyutl_options[]; +extern const OPTIONS prime_options[]; +extern const OPTIONS rand_options[]; +extern const OPTIONS rehash_options[]; +extern const OPTIONS req_options[]; +extern const OPTIONS rsa_options[]; +extern const OPTIONS rsautl_options[]; +extern const OPTIONS s_client_options[]; +extern const OPTIONS s_server_options[]; +extern const OPTIONS s_time_options[]; +extern const OPTIONS sess_id_options[]; +extern const OPTIONS smime_options[]; +extern const OPTIONS speed_options[]; +extern const OPTIONS spkac_options[]; +extern const OPTIONS srp_options[]; +extern const OPTIONS storeutl_options[]; +extern const OPTIONS ts_options[]; +extern const OPTIONS verify_options[]; +extern const OPTIONS version_options[]; +extern const OPTIONS x509_options[]; + +extern FUNCTION functions[]; diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi b/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi new file mode 100644 index 00000000000000..51e2155c666786 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi @@ -0,0 +1,99 @@ +{ + 'variables': { + 'openssl_defines_linux64-loongarch64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_BUILDING_OPENSSL', + 'OPENSSL_PIC', + ], + 'openssl_cflags_linux64-loongarch64': [ + '-Wall -O3', + '-pthread', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-loongarch64': [ + '-ldl -pthread', + ], + 'openssl_cli_srcs_linux64-loongarch64': [ + 'openssl/apps/lib/cmp_mock_srv.c', + 'openssl/apps/asn1parse.c', + 'openssl/apps/ca.c', + 'openssl/apps/ciphers.c', + 'openssl/apps/cmp.c', + 'openssl/apps/cms.c', + 'openssl/apps/crl.c', + 'openssl/apps/crl2pkcs7.c', + 'openssl/apps/dgst.c', + 'openssl/apps/dhparam.c', + 'openssl/apps/dsa.c', + 'openssl/apps/dsaparam.c', + 'openssl/apps/ec.c', + 'openssl/apps/ecparam.c', + 'openssl/apps/enc.c', + 'openssl/apps/engine.c', + 'openssl/apps/errstr.c', + 'openssl/apps/fipsinstall.c', + 'openssl/apps/gendsa.c', + 'openssl/apps/genpkey.c', + 'openssl/apps/genrsa.c', + 'openssl/apps/info.c', + 'openssl/apps/kdf.c', + 'openssl/apps/list.c', + 'openssl/apps/mac.c', + 'openssl/apps/nseq.c', + 'openssl/apps/ocsp.c', + 'openssl/apps/openssl.c', + 'openssl/apps/passwd.c', + 'openssl/apps/pkcs12.c', + 'openssl/apps/pkcs7.c', + 'openssl/apps/pkcs8.c', + 'openssl/apps/pkey.c', + 'openssl/apps/pkeyparam.c', + 'openssl/apps/pkeyutl.c', + 'openssl/apps/prime.c', + './config/archs/linux64-loongarch64/no-asm/apps/progs.c', + 'openssl/apps/rand.c', + 'openssl/apps/rehash.c', + 'openssl/apps/req.c', + 'openssl/apps/rsa.c', + 'openssl/apps/rsautl.c', + 'openssl/apps/s_client.c', + 'openssl/apps/s_server.c', + 'openssl/apps/s_time.c', + 'openssl/apps/sess_id.c', + 'openssl/apps/smime.c', + 'openssl/apps/speed.c', + 'openssl/apps/spkac.c', + 'openssl/apps/srp.c', + 'openssl/apps/storeutl.c', + 'openssl/apps/ts.c', + 'openssl/apps/verify.c', + 'openssl/apps/version.c', + 'openssl/apps/x509.c', + 'openssl/apps/lib/app_libctx.c', + 'openssl/apps/lib/app_params.c', + 'openssl/apps/lib/app_provider.c', + 'openssl/apps/lib/app_rand.c', + 'openssl/apps/lib/app_x509.c', + 'openssl/apps/lib/apps.c', + 'openssl/apps/lib/apps_ui.c', + 'openssl/apps/lib/columns.c', + 'openssl/apps/lib/engine.c', + 'openssl/apps/lib/engine_loader.c', + 'openssl/apps/lib/fmt.c', + 'openssl/apps/lib/http_server.c', + 'openssl/apps/lib/names.c', + 'openssl/apps/lib/opt.c', + 'openssl/apps/lib/s_cb.c', + 'openssl/apps/lib/s_socket.c', + 'openssl/apps/lib/tlssrp_depr.c', + ], + }, + 'defines': ['<@(openssl_defines_linux64-loongarch64)'], + 'include_dirs': [ + './include', + ], + 'cflags' : ['<@(openssl_cflags_linux64-loongarch64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-loongarch64)'], + 'sources': ['<@(openssl_cli_srcs_linux64-loongarch64)'], +} diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-fips.gypi b/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-fips.gypi new file mode 100644 index 00000000000000..91b4e61c4de229 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-fips.gypi @@ -0,0 +1,320 @@ +{ + 'variables': { + 'openssl_sources': [ + 'openssl/crypto/aes/aes_cbc.c', + 'openssl/crypto/aes/aes_core.c', + 'openssl/crypto/aes/aes_ecb.c', + 'openssl/crypto/aes/aes_misc.c', + 'openssl/crypto/bn/bn_add.c', + 'openssl/crypto/bn/bn_asm.c', + 'openssl/crypto/bn/bn_blind.c', + 'openssl/crypto/bn/bn_const.c', + 'openssl/crypto/bn/bn_conv.c', + 'openssl/crypto/bn/bn_ctx.c', + 'openssl/crypto/bn/bn_dh.c', + 'openssl/crypto/bn/bn_div.c', + 'openssl/crypto/bn/bn_exp.c', + 'openssl/crypto/bn/bn_exp2.c', + 'openssl/crypto/bn/bn_gcd.c', + 'openssl/crypto/bn/bn_gf2m.c', + 'openssl/crypto/bn/bn_intern.c', + 'openssl/crypto/bn/bn_kron.c', + 'openssl/crypto/bn/bn_lib.c', + 'openssl/crypto/bn/bn_mod.c', + 'openssl/crypto/bn/bn_mont.c', + 'openssl/crypto/bn/bn_mpi.c', + 'openssl/crypto/bn/bn_mul.c', + 'openssl/crypto/bn/bn_nist.c', + 'openssl/crypto/bn/bn_prime.c', + 'openssl/crypto/bn/bn_rand.c', + 'openssl/crypto/bn/bn_recp.c', + 'openssl/crypto/bn/bn_rsa_fips186_4.c', + 'openssl/crypto/bn/bn_shift.c', + 'openssl/crypto/bn/bn_sqr.c', + 'openssl/crypto/bn/bn_sqrt.c', + 'openssl/crypto/bn/bn_word.c', + 'openssl/crypto/bn/rsa_sup_mul.c', + 'openssl/crypto/buffer/buffer.c', + 'openssl/crypto/cmac/cmac.c', + 'openssl/crypto/des/des_enc.c', + 'openssl/crypto/des/ecb3_enc.c', + 'openssl/crypto/des/fcrypt_b.c', + 'openssl/crypto/des/set_key.c', + 'openssl/crypto/dh/dh_backend.c', + 'openssl/crypto/dh/dh_check.c', + 'openssl/crypto/dh/dh_gen.c', + 'openssl/crypto/dh/dh_group_params.c', + 'openssl/crypto/dh/dh_kdf.c', + 'openssl/crypto/dh/dh_key.c', + 'openssl/crypto/dh/dh_lib.c', + 'openssl/crypto/dsa/dsa_backend.c', + 'openssl/crypto/dsa/dsa_check.c', + 'openssl/crypto/dsa/dsa_gen.c', + 'openssl/crypto/dsa/dsa_key.c', + 'openssl/crypto/dsa/dsa_lib.c', + 'openssl/crypto/dsa/dsa_ossl.c', + 'openssl/crypto/dsa/dsa_sign.c', + 'openssl/crypto/dsa/dsa_vrf.c', + 'openssl/crypto/ec/curve448/arch_32/f_impl32.c', + 'openssl/crypto/ec/curve448/arch_64/f_impl64.c', + 'openssl/crypto/ec/curve448/curve448.c', + 'openssl/crypto/ec/curve448/curve448_tables.c', + 'openssl/crypto/ec/curve448/eddsa.c', + 'openssl/crypto/ec/curve448/f_generic.c', + 'openssl/crypto/ec/curve448/scalar.c', + 'openssl/crypto/ec/curve25519.c', + 'openssl/crypto/ec/ec2_oct.c', + 'openssl/crypto/ec/ec2_smpl.c', + 'openssl/crypto/ec/ec_asn1.c', + 'openssl/crypto/ec/ec_backend.c', + 'openssl/crypto/ec/ec_check.c', + 'openssl/crypto/ec/ec_curve.c', + 'openssl/crypto/ec/ec_cvt.c', + 'openssl/crypto/ec/ec_key.c', + 'openssl/crypto/ec/ec_kmeth.c', + 'openssl/crypto/ec/ec_lib.c', + 'openssl/crypto/ec/ec_mult.c', + 'openssl/crypto/ec/ec_oct.c', + 'openssl/crypto/ec/ecdh_kdf.c', + 'openssl/crypto/ec/ecdh_ossl.c', + 'openssl/crypto/ec/ecdsa_ossl.c', + 'openssl/crypto/ec/ecdsa_sign.c', + 'openssl/crypto/ec/ecdsa_vrf.c', + 'openssl/crypto/ec/ecp_mont.c', + 'openssl/crypto/ec/ecp_nist.c', + 'openssl/crypto/ec/ecp_oct.c', + 'openssl/crypto/ec/ecp_smpl.c', + 'openssl/crypto/ec/ecx_backend.c', + 'openssl/crypto/ec/ecx_key.c', + 'openssl/crypto/evp/asymcipher.c', + 'openssl/crypto/evp/dh_support.c', + 'openssl/crypto/evp/digest.c', + 'openssl/crypto/evp/ec_support.c', + 'openssl/crypto/evp/evp_enc.c', + 'openssl/crypto/evp/evp_fetch.c', + 'openssl/crypto/evp/evp_lib.c', + 'openssl/crypto/evp/evp_rand.c', + 'openssl/crypto/evp/evp_utils.c', + 'openssl/crypto/evp/exchange.c', + 'openssl/crypto/evp/kdf_lib.c', + 'openssl/crypto/evp/kdf_meth.c', + 'openssl/crypto/evp/kem.c', + 'openssl/crypto/evp/keymgmt_lib.c', + 'openssl/crypto/evp/keymgmt_meth.c', + 'openssl/crypto/evp/m_sigver.c', + 'openssl/crypto/evp/mac_lib.c', + 'openssl/crypto/evp/mac_meth.c', + 'openssl/crypto/evp/p_lib.c', + 'openssl/crypto/evp/pmeth_check.c', + 'openssl/crypto/evp/pmeth_gn.c', + 'openssl/crypto/evp/pmeth_lib.c', + 'openssl/crypto/evp/signature.c', + 'openssl/crypto/ffc/ffc_backend.c', + 'openssl/crypto/ffc/ffc_dh.c', + 'openssl/crypto/ffc/ffc_key_generate.c', + 'openssl/crypto/ffc/ffc_key_validate.c', + 'openssl/crypto/ffc/ffc_params.c', + 'openssl/crypto/ffc/ffc_params_generate.c', + 'openssl/crypto/ffc/ffc_params_validate.c', + 'openssl/crypto/hmac/hmac.c', + 'openssl/crypto/lhash/lhash.c', + 'openssl/crypto/asn1_dsa.c', + 'openssl/crypto/bsearch.c', + 'openssl/crypto/context.c', + 'openssl/crypto/core_algorithm.c', + 'openssl/crypto/core_fetch.c', + 'openssl/crypto/core_namemap.c', + 'openssl/crypto/cpuid.c', + 'openssl/crypto/cryptlib.c', + 'openssl/crypto/ctype.c', + 'openssl/crypto/der_writer.c', + 'openssl/crypto/ex_data.c', + 'openssl/crypto/initthread.c', + 'openssl/crypto/mem_clr.c', + 'openssl/crypto/o_str.c', + 'openssl/crypto/packet.c', + 'openssl/crypto/param_build.c', + 'openssl/crypto/param_build_set.c', + 'openssl/crypto/params.c', + 'openssl/crypto/params_dup.c', + 'openssl/crypto/params_from_text.c', + 'openssl/crypto/provider_core.c', + 'openssl/crypto/provider_predefined.c', + 'openssl/crypto/self_test_core.c', + 'openssl/crypto/sparse_array.c', + 'openssl/crypto/threads_lib.c', + 'openssl/crypto/threads_none.c', + 'openssl/crypto/threads_pthread.c', + 'openssl/crypto/threads_win.c', + 'openssl/crypto/modes/cbc128.c', + 'openssl/crypto/modes/ccm128.c', + 'openssl/crypto/modes/cfb128.c', + 'openssl/crypto/modes/ctr128.c', + 'openssl/crypto/modes/gcm128.c', + 'openssl/crypto/modes/ofb128.c', + 'openssl/crypto/modes/wrap128.c', + 'openssl/crypto/modes/xts128.c', + 'openssl/crypto/property/defn_cache.c', + 'openssl/crypto/property/property.c', + 'openssl/crypto/property/property_parse.c', + 'openssl/crypto/property/property_query.c', + 'openssl/crypto/property/property_string.c', + 'openssl/crypto/rand/rand_lib.c', + 'openssl/crypto/rsa/rsa_acvp_test_params.c', + 'openssl/crypto/rsa/rsa_backend.c', + 'openssl/crypto/rsa/rsa_chk.c', + 'openssl/crypto/rsa/rsa_crpt.c', + 'openssl/crypto/rsa/rsa_gen.c', + 'openssl/crypto/rsa/rsa_lib.c', + 'openssl/crypto/rsa/rsa_mp_names.c', + 'openssl/crypto/rsa/rsa_none.c', + 'openssl/crypto/rsa/rsa_oaep.c', + 'openssl/crypto/rsa/rsa_ossl.c', + 'openssl/crypto/rsa/rsa_pk1.c', + 'openssl/crypto/rsa/rsa_pss.c', + 'openssl/crypto/rsa/rsa_schemes.c', + 'openssl/crypto/rsa/rsa_sign.c', + 'openssl/crypto/rsa/rsa_sp800_56b_check.c', + 'openssl/crypto/rsa/rsa_sp800_56b_gen.c', + 'openssl/crypto/rsa/rsa_x931.c', + 'openssl/crypto/sha/keccak1600.c', + 'openssl/crypto/sha/sha1dgst.c', + 'openssl/crypto/sha/sha256.c', + 'openssl/crypto/sha/sha3.c', + 'openssl/crypto/sha/sha512.c', + 'openssl/crypto/stack/stack.c', + 'openssl/providers/common/der/der_rsa_sig.c', + 'openssl/providers/common/bio_prov.c', + 'openssl/providers/common/capabilities.c', + 'openssl/providers/common/digest_to_nid.c', + 'openssl/providers/common/provider_seeding.c', + 'openssl/providers/common/provider_util.c', + 'openssl/providers/common/securitycheck.c', + 'openssl/providers/common/securitycheck_fips.c', + 'openssl/providers/fips/fipsprov.c', + 'openssl/providers/fips/self_test.c', + 'openssl/providers/fips/self_test_kats.c', + 'openssl/providers/implementations/asymciphers/rsa_enc.c', + 'openssl/providers/implementations/ciphers/cipher_aes.c', + 'openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c', + 'openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ccm.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_gcm.c', + 'openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ocb.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_wrp.c', + 'openssl/providers/implementations/ciphers/cipher_aes_xts.c', + 'openssl/providers/implementations/ciphers/cipher_aes_xts_fips.c', + 'openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c', + 'openssl/providers/implementations/ciphers/cipher_cts.c', + 'openssl/providers/implementations/ciphers/cipher_tdes.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_common.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_hw.c', + 'openssl/providers/implementations/digests/sha2_prov.c', + 'openssl/providers/implementations/digests/sha3_prov.c', + 'openssl/providers/implementations/exchange/dh_exch.c', + 'openssl/providers/implementations/exchange/ecdh_exch.c', + 'openssl/providers/implementations/exchange/ecx_exch.c', + 'openssl/providers/implementations/exchange/kdf_exch.c', + 'openssl/providers/implementations/kdfs/hkdf.c', + 'openssl/providers/implementations/kdfs/kbkdf.c', + 'openssl/providers/implementations/kdfs/pbkdf2.c', + 'openssl/providers/implementations/kdfs/pbkdf2_fips.c', + 'openssl/providers/implementations/kdfs/sshkdf.c', + 'openssl/providers/implementations/kdfs/sskdf.c', + 'openssl/providers/implementations/kdfs/tls1_prf.c', + 'openssl/providers/implementations/kdfs/x942kdf.c', + 'openssl/providers/implementations/kem/rsa_kem.c', + 'openssl/providers/implementations/keymgmt/dh_kmgmt.c', + 'openssl/providers/implementations/keymgmt/dsa_kmgmt.c', + 'openssl/providers/implementations/keymgmt/ec_kmgmt.c', + 'openssl/providers/implementations/keymgmt/ecx_kmgmt.c', + 'openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c', + 'openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c', + 'openssl/providers/implementations/keymgmt/rsa_kmgmt.c', + 'openssl/providers/implementations/macs/cmac_prov.c', + 'openssl/providers/implementations/macs/gmac_prov.c', + 'openssl/providers/implementations/macs/hmac_prov.c', + 'openssl/providers/implementations/macs/kmac_prov.c', + 'openssl/providers/implementations/rands/crngt.c', + 'openssl/providers/implementations/rands/drbg.c', + 'openssl/providers/implementations/rands/drbg_ctr.c', + 'openssl/providers/implementations/rands/drbg_hash.c', + 'openssl/providers/implementations/rands/drbg_hmac.c', + 'openssl/providers/implementations/rands/test_rng.c', + 'openssl/providers/implementations/signature/dsa_sig.c', + 'openssl/providers/implementations/signature/ecdsa_sig.c', + 'openssl/providers/implementations/signature/eddsa_sig.c', + 'openssl/providers/implementations/signature/mac_legacy_sig.c', + 'openssl/providers/implementations/signature/rsa_sig.c', + 'openssl/ssl/s3_cbc.c', + 'openssl/providers/common/der/der_dsa_key.c', + 'openssl/providers/common/der/der_dsa_sig.c', + 'openssl/providers/common/der/der_ec_key.c', + 'openssl/providers/common/der/der_ec_sig.c', + 'openssl/providers/common/der/der_ecx_key.c', + 'openssl/providers/common/der/der_rsa_key.c', + 'openssl/providers/common/provider_ctx.c', + 'openssl/providers/common/provider_err.c', + 'openssl/providers/implementations/ciphers/ciphercommon.c', + 'openssl/providers/implementations/ciphers/ciphercommon_block.c', + 'openssl/providers/implementations/ciphers/ciphercommon_ccm.c', + 'openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c', + 'openssl/providers/implementations/ciphers/ciphercommon_gcm.c', + 'openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c', + 'openssl/providers/implementations/ciphers/ciphercommon_hw.c', + 'openssl/providers/implementations/digests/digestcommon.c', + 'openssl/ssl/record/tls_pad.c', + 'openssl/providers/fips/fips_entry.c', + + ], + 'openssl_sources_linux64-loongarch64': [ + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/legacy.ld', + './config/archs/linux64-loongarch64/no-asm/providers/fips.ld', + + ], + 'openssl_defines_linux64-loongarch64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_BUILDING_OPENSSL', + 'FIPS_MODULE', + 'FIPS_MODULE', + ], + 'openssl_cflags_linux64-loongarch64': [ + '-Wall -O3', + '-pthread', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-loongarch64': [ + '-ldl -pthread', + ], + 'linker_script': '<(PRODUCT_DIR)/../../deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/fips.ld' + }, + 'include_dirs': [ + '.', + './include', + './crypto', + './crypto/include/internal', + './providers/common/include', + ], + 'defines': ['<@(openssl_defines_linux64-loongarch64)'], + 'cflags': ['<@(openssl_cflags_linux64-loongarch64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-loongarch64)'], + 'ldflags': ['-Wl,--version-script=<@(linker_script)'], + 'sources': ['<@(openssl_sources)', '<@(openssl_sources_linux64-loongarch64)'], + 'direct_dependent_settings': { + 'include_dirs': ['./include', '.'], + 'defines': ['<@(openssl_defines_linux64-loongarch64)'], + }, +} diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl.gypi b/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl.gypi new file mode 100644 index 00000000000000..357c6fbc057fd4 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl.gypi @@ -0,0 +1,997 @@ +{ + 'variables': { + 'openssl_sources': [ + 'openssl/ssl/bio_ssl.c', + 'openssl/ssl/d1_lib.c', + 'openssl/ssl/d1_msg.c', + 'openssl/ssl/d1_srtp.c', + 'openssl/ssl/methods.c', + 'openssl/ssl/pqueue.c', + 'openssl/ssl/s3_enc.c', + 'openssl/ssl/s3_lib.c', + 'openssl/ssl/s3_msg.c', + 'openssl/ssl/ssl_asn1.c', + 'openssl/ssl/ssl_cert.c', + 'openssl/ssl/ssl_ciph.c', + 'openssl/ssl/ssl_conf.c', + 'openssl/ssl/ssl_err.c', + 'openssl/ssl/ssl_err_legacy.c', + 'openssl/ssl/ssl_init.c', + 'openssl/ssl/ssl_lib.c', + 'openssl/ssl/ssl_mcnf.c', + 'openssl/ssl/ssl_quic.c', + 'openssl/ssl/ssl_rsa.c', + 'openssl/ssl/ssl_rsa_legacy.c', + 'openssl/ssl/ssl_sess.c', + 'openssl/ssl/ssl_stat.c', + 'openssl/ssl/ssl_txt.c', + 'openssl/ssl/ssl_utst.c', + 'openssl/ssl/t1_enc.c', + 'openssl/ssl/t1_lib.c', + 'openssl/ssl/t1_trce.c', + 'openssl/ssl/tls13_enc.c', + 'openssl/ssl/tls_depr.c', + 'openssl/ssl/tls_srp.c', + 'openssl/ssl/record/dtls1_bitmap.c', + 'openssl/ssl/record/rec_layer_d1.c', + 'openssl/ssl/record/rec_layer_s3.c', + 'openssl/ssl/record/ssl3_buffer.c', + 'openssl/ssl/record/ssl3_record.c', + 'openssl/ssl/record/ssl3_record_tls13.c', + 'openssl/ssl/statem/extensions.c', + 'openssl/ssl/statem/extensions_clnt.c', + 'openssl/ssl/statem/extensions_cust.c', + 'openssl/ssl/statem/extensions_srvr.c', + 'openssl/ssl/statem/statem.c', + 'openssl/ssl/statem/statem_clnt.c', + 'openssl/ssl/statem/statem_dtls.c', + 'openssl/ssl/statem/statem_lib.c', + 'openssl/ssl/statem/statem_quic.c', + 'openssl/ssl/statem/statem_srvr.c', + 'openssl/crypto/aes/aes_cbc.c', + 'openssl/crypto/aes/aes_cfb.c', + 'openssl/crypto/aes/aes_core.c', + 'openssl/crypto/aes/aes_ecb.c', + 'openssl/crypto/aes/aes_ige.c', + 'openssl/crypto/aes/aes_misc.c', + 'openssl/crypto/aes/aes_ofb.c', + 'openssl/crypto/aes/aes_wrap.c', + 'openssl/crypto/aria/aria.c', + 'openssl/crypto/asn1/a_bitstr.c', + 'openssl/crypto/asn1/a_d2i_fp.c', + 'openssl/crypto/asn1/a_digest.c', + 'openssl/crypto/asn1/a_dup.c', + 'openssl/crypto/asn1/a_gentm.c', + 'openssl/crypto/asn1/a_i2d_fp.c', + 'openssl/crypto/asn1/a_int.c', + 'openssl/crypto/asn1/a_mbstr.c', + 'openssl/crypto/asn1/a_object.c', + 'openssl/crypto/asn1/a_octet.c', + 'openssl/crypto/asn1/a_print.c', + 'openssl/crypto/asn1/a_sign.c', + 'openssl/crypto/asn1/a_strex.c', + 'openssl/crypto/asn1/a_strnid.c', + 'openssl/crypto/asn1/a_time.c', + 'openssl/crypto/asn1/a_type.c', + 'openssl/crypto/asn1/a_utctm.c', + 'openssl/crypto/asn1/a_utf8.c', + 'openssl/crypto/asn1/a_verify.c', + 'openssl/crypto/asn1/ameth_lib.c', + 'openssl/crypto/asn1/asn1_err.c', + 'openssl/crypto/asn1/asn1_gen.c', + 'openssl/crypto/asn1/asn1_item_list.c', + 'openssl/crypto/asn1/asn1_lib.c', + 'openssl/crypto/asn1/asn1_parse.c', + 'openssl/crypto/asn1/asn_mime.c', + 'openssl/crypto/asn1/asn_moid.c', + 'openssl/crypto/asn1/asn_mstbl.c', + 'openssl/crypto/asn1/asn_pack.c', + 'openssl/crypto/asn1/bio_asn1.c', + 'openssl/crypto/asn1/bio_ndef.c', + 'openssl/crypto/asn1/d2i_param.c', + 'openssl/crypto/asn1/d2i_pr.c', + 'openssl/crypto/asn1/d2i_pu.c', + 'openssl/crypto/asn1/evp_asn1.c', + 'openssl/crypto/asn1/f_int.c', + 'openssl/crypto/asn1/f_string.c', + 'openssl/crypto/asn1/i2d_evp.c', + 'openssl/crypto/asn1/n_pkey.c', + 'openssl/crypto/asn1/nsseq.c', + 'openssl/crypto/asn1/p5_pbe.c', + 'openssl/crypto/asn1/p5_pbev2.c', + 'openssl/crypto/asn1/p5_scrypt.c', + 'openssl/crypto/asn1/p8_pkey.c', + 'openssl/crypto/asn1/t_bitst.c', + 'openssl/crypto/asn1/t_pkey.c', + 'openssl/crypto/asn1/t_spki.c', + 'openssl/crypto/asn1/tasn_dec.c', + 'openssl/crypto/asn1/tasn_enc.c', + 'openssl/crypto/asn1/tasn_fre.c', + 'openssl/crypto/asn1/tasn_new.c', + 'openssl/crypto/asn1/tasn_prn.c', + 'openssl/crypto/asn1/tasn_scn.c', + 'openssl/crypto/asn1/tasn_typ.c', + 'openssl/crypto/asn1/tasn_utl.c', + 'openssl/crypto/asn1/x_algor.c', + 'openssl/crypto/asn1/x_bignum.c', + 'openssl/crypto/asn1/x_info.c', + 'openssl/crypto/asn1/x_int64.c', + 'openssl/crypto/asn1/x_long.c', + 'openssl/crypto/asn1/x_pkey.c', + 'openssl/crypto/asn1/x_sig.c', + 'openssl/crypto/asn1/x_spki.c', + 'openssl/crypto/asn1/x_val.c', + 'openssl/crypto/async/arch/async_null.c', + 'openssl/crypto/async/arch/async_posix.c', + 'openssl/crypto/async/arch/async_win.c', + 'openssl/crypto/async/async.c', + 'openssl/crypto/async/async_err.c', + 'openssl/crypto/async/async_wait.c', + 'openssl/crypto/bf/bf_cfb64.c', + 'openssl/crypto/bf/bf_ecb.c', + 'openssl/crypto/bf/bf_enc.c', + 'openssl/crypto/bf/bf_ofb64.c', + 'openssl/crypto/bf/bf_skey.c', + 'openssl/crypto/bio/bf_buff.c', + 'openssl/crypto/bio/bf_lbuf.c', + 'openssl/crypto/bio/bf_nbio.c', + 'openssl/crypto/bio/bf_null.c', + 'openssl/crypto/bio/bf_prefix.c', + 'openssl/crypto/bio/bf_readbuff.c', + 'openssl/crypto/bio/bio_addr.c', + 'openssl/crypto/bio/bio_cb.c', + 'openssl/crypto/bio/bio_dump.c', + 'openssl/crypto/bio/bio_err.c', + 'openssl/crypto/bio/bio_lib.c', + 'openssl/crypto/bio/bio_meth.c', + 'openssl/crypto/bio/bio_print.c', + 'openssl/crypto/bio/bio_sock.c', + 'openssl/crypto/bio/bio_sock2.c', + 'openssl/crypto/bio/bss_acpt.c', + 'openssl/crypto/bio/bss_bio.c', + 'openssl/crypto/bio/bss_conn.c', + 'openssl/crypto/bio/bss_core.c', + 'openssl/crypto/bio/bss_dgram.c', + 'openssl/crypto/bio/bss_fd.c', + 'openssl/crypto/bio/bss_file.c', + 'openssl/crypto/bio/bss_log.c', + 'openssl/crypto/bio/bss_mem.c', + 'openssl/crypto/bio/bss_null.c', + 'openssl/crypto/bio/bss_sock.c', + 'openssl/crypto/bio/ossl_core_bio.c', + 'openssl/crypto/bn/bn_add.c', + 'openssl/crypto/bn/bn_asm.c', + 'openssl/crypto/bn/bn_blind.c', + 'openssl/crypto/bn/bn_const.c', + 'openssl/crypto/bn/bn_conv.c', + 'openssl/crypto/bn/bn_ctx.c', + 'openssl/crypto/bn/bn_depr.c', + 'openssl/crypto/bn/bn_dh.c', + 'openssl/crypto/bn/bn_div.c', + 'openssl/crypto/bn/bn_err.c', + 'openssl/crypto/bn/bn_exp.c', + 'openssl/crypto/bn/bn_exp2.c', + 'openssl/crypto/bn/bn_gcd.c', + 'openssl/crypto/bn/bn_gf2m.c', + 'openssl/crypto/bn/bn_intern.c', + 'openssl/crypto/bn/bn_kron.c', + 'openssl/crypto/bn/bn_lib.c', + 'openssl/crypto/bn/bn_mod.c', + 'openssl/crypto/bn/bn_mont.c', + 'openssl/crypto/bn/bn_mpi.c', + 'openssl/crypto/bn/bn_mul.c', + 'openssl/crypto/bn/bn_nist.c', + 'openssl/crypto/bn/bn_prime.c', + 'openssl/crypto/bn/bn_print.c', + 'openssl/crypto/bn/bn_rand.c', + 'openssl/crypto/bn/bn_recp.c', + 'openssl/crypto/bn/bn_rsa_fips186_4.c', + 'openssl/crypto/bn/bn_shift.c', + 'openssl/crypto/bn/bn_sqr.c', + 'openssl/crypto/bn/bn_sqrt.c', + 'openssl/crypto/bn/bn_srp.c', + 'openssl/crypto/bn/bn_word.c', + 'openssl/crypto/bn/bn_x931p.c', + 'openssl/crypto/bn/rsa_sup_mul.c', + 'openssl/crypto/buffer/buf_err.c', + 'openssl/crypto/buffer/buffer.c', + 'openssl/crypto/camellia/camellia.c', + 'openssl/crypto/camellia/cmll_cbc.c', + 'openssl/crypto/camellia/cmll_cfb.c', + 'openssl/crypto/camellia/cmll_ctr.c', + 'openssl/crypto/camellia/cmll_ecb.c', + 'openssl/crypto/camellia/cmll_misc.c', + 'openssl/crypto/camellia/cmll_ofb.c', + 'openssl/crypto/cast/c_cfb64.c', + 'openssl/crypto/cast/c_ecb.c', + 'openssl/crypto/cast/c_enc.c', + 'openssl/crypto/cast/c_ofb64.c', + 'openssl/crypto/cast/c_skey.c', + 'openssl/crypto/chacha/chacha_enc.c', + 'openssl/crypto/cmac/cmac.c', + 'openssl/crypto/cmp/cmp_asn.c', + 'openssl/crypto/cmp/cmp_client.c', + 'openssl/crypto/cmp/cmp_ctx.c', + 'openssl/crypto/cmp/cmp_err.c', + 'openssl/crypto/cmp/cmp_hdr.c', + 'openssl/crypto/cmp/cmp_http.c', + 'openssl/crypto/cmp/cmp_msg.c', + 'openssl/crypto/cmp/cmp_protect.c', + 'openssl/crypto/cmp/cmp_server.c', + 'openssl/crypto/cmp/cmp_status.c', + 'openssl/crypto/cmp/cmp_util.c', + 'openssl/crypto/cmp/cmp_vfy.c', + 'openssl/crypto/cms/cms_asn1.c', + 'openssl/crypto/cms/cms_att.c', + 'openssl/crypto/cms/cms_cd.c', + 'openssl/crypto/cms/cms_dd.c', + 'openssl/crypto/cms/cms_dh.c', + 'openssl/crypto/cms/cms_ec.c', + 'openssl/crypto/cms/cms_enc.c', + 'openssl/crypto/cms/cms_env.c', + 'openssl/crypto/cms/cms_err.c', + 'openssl/crypto/cms/cms_ess.c', + 'openssl/crypto/cms/cms_io.c', + 'openssl/crypto/cms/cms_kari.c', + 'openssl/crypto/cms/cms_lib.c', + 'openssl/crypto/cms/cms_pwri.c', + 'openssl/crypto/cms/cms_rsa.c', + 'openssl/crypto/cms/cms_sd.c', + 'openssl/crypto/cms/cms_smime.c', + 'openssl/crypto/conf/conf_api.c', + 'openssl/crypto/conf/conf_def.c', + 'openssl/crypto/conf/conf_err.c', + 'openssl/crypto/conf/conf_lib.c', + 'openssl/crypto/conf/conf_mall.c', + 'openssl/crypto/conf/conf_mod.c', + 'openssl/crypto/conf/conf_sap.c', + 'openssl/crypto/conf/conf_ssl.c', + 'openssl/crypto/crmf/crmf_asn.c', + 'openssl/crypto/crmf/crmf_err.c', + 'openssl/crypto/crmf/crmf_lib.c', + 'openssl/crypto/crmf/crmf_pbm.c', + 'openssl/crypto/ct/ct_b64.c', + 'openssl/crypto/ct/ct_err.c', + 'openssl/crypto/ct/ct_log.c', + 'openssl/crypto/ct/ct_oct.c', + 'openssl/crypto/ct/ct_policy.c', + 'openssl/crypto/ct/ct_prn.c', + 'openssl/crypto/ct/ct_sct.c', + 'openssl/crypto/ct/ct_sct_ctx.c', + 'openssl/crypto/ct/ct_vfy.c', + 'openssl/crypto/ct/ct_x509v3.c', + 'openssl/crypto/des/cbc_cksm.c', + 'openssl/crypto/des/cbc_enc.c', + 'openssl/crypto/des/cfb64ede.c', + 'openssl/crypto/des/cfb64enc.c', + 'openssl/crypto/des/cfb_enc.c', + 'openssl/crypto/des/des_enc.c', + 'openssl/crypto/des/ecb3_enc.c', + 'openssl/crypto/des/ecb_enc.c', + 'openssl/crypto/des/fcrypt.c', + 'openssl/crypto/des/fcrypt_b.c', + 'openssl/crypto/des/ofb64ede.c', + 'openssl/crypto/des/ofb64enc.c', + 'openssl/crypto/des/ofb_enc.c', + 'openssl/crypto/des/pcbc_enc.c', + 'openssl/crypto/des/qud_cksm.c', + 'openssl/crypto/des/rand_key.c', + 'openssl/crypto/des/set_key.c', + 'openssl/crypto/des/str2key.c', + 'openssl/crypto/des/xcbc_enc.c', + 'openssl/crypto/dh/dh_ameth.c', + 'openssl/crypto/dh/dh_asn1.c', + 'openssl/crypto/dh/dh_backend.c', + 'openssl/crypto/dh/dh_check.c', + 'openssl/crypto/dh/dh_depr.c', + 'openssl/crypto/dh/dh_err.c', + 'openssl/crypto/dh/dh_gen.c', + 'openssl/crypto/dh/dh_group_params.c', + 'openssl/crypto/dh/dh_kdf.c', + 'openssl/crypto/dh/dh_key.c', + 'openssl/crypto/dh/dh_lib.c', + 'openssl/crypto/dh/dh_meth.c', + 'openssl/crypto/dh/dh_pmeth.c', + 'openssl/crypto/dh/dh_prn.c', + 'openssl/crypto/dh/dh_rfc5114.c', + 'openssl/crypto/dsa/dsa_ameth.c', + 'openssl/crypto/dsa/dsa_asn1.c', + 'openssl/crypto/dsa/dsa_backend.c', + 'openssl/crypto/dsa/dsa_check.c', + 'openssl/crypto/dsa/dsa_depr.c', + 'openssl/crypto/dsa/dsa_err.c', + 'openssl/crypto/dsa/dsa_gen.c', + 'openssl/crypto/dsa/dsa_key.c', + 'openssl/crypto/dsa/dsa_lib.c', + 'openssl/crypto/dsa/dsa_meth.c', + 'openssl/crypto/dsa/dsa_ossl.c', + 'openssl/crypto/dsa/dsa_pmeth.c', + 'openssl/crypto/dsa/dsa_prn.c', + 'openssl/crypto/dsa/dsa_sign.c', + 'openssl/crypto/dsa/dsa_vrf.c', + 'openssl/crypto/dso/dso_dl.c', + 'openssl/crypto/dso/dso_dlfcn.c', + 'openssl/crypto/dso/dso_err.c', + 'openssl/crypto/dso/dso_lib.c', + 'openssl/crypto/dso/dso_openssl.c', + 'openssl/crypto/dso/dso_vms.c', + 'openssl/crypto/dso/dso_win32.c', + 'openssl/crypto/ec/curve448/arch_32/f_impl32.c', + 'openssl/crypto/ec/curve448/arch_64/f_impl64.c', + 'openssl/crypto/ec/curve448/curve448.c', + 'openssl/crypto/ec/curve448/curve448_tables.c', + 'openssl/crypto/ec/curve448/eddsa.c', + 'openssl/crypto/ec/curve448/f_generic.c', + 'openssl/crypto/ec/curve448/scalar.c', + 'openssl/crypto/ec/curve25519.c', + 'openssl/crypto/ec/ec2_oct.c', + 'openssl/crypto/ec/ec2_smpl.c', + 'openssl/crypto/ec/ec_ameth.c', + 'openssl/crypto/ec/ec_asn1.c', + 'openssl/crypto/ec/ec_backend.c', + 'openssl/crypto/ec/ec_check.c', + 'openssl/crypto/ec/ec_curve.c', + 'openssl/crypto/ec/ec_cvt.c', + 'openssl/crypto/ec/ec_deprecated.c', + 'openssl/crypto/ec/ec_err.c', + 'openssl/crypto/ec/ec_key.c', + 'openssl/crypto/ec/ec_kmeth.c', + 'openssl/crypto/ec/ec_lib.c', + 'openssl/crypto/ec/ec_mult.c', + 'openssl/crypto/ec/ec_oct.c', + 'openssl/crypto/ec/ec_pmeth.c', + 'openssl/crypto/ec/ec_print.c', + 'openssl/crypto/ec/ecdh_kdf.c', + 'openssl/crypto/ec/ecdh_ossl.c', + 'openssl/crypto/ec/ecdsa_ossl.c', + 'openssl/crypto/ec/ecdsa_sign.c', + 'openssl/crypto/ec/ecdsa_vrf.c', + 'openssl/crypto/ec/eck_prn.c', + 'openssl/crypto/ec/ecp_mont.c', + 'openssl/crypto/ec/ecp_nist.c', + 'openssl/crypto/ec/ecp_oct.c', + 'openssl/crypto/ec/ecp_smpl.c', + 'openssl/crypto/ec/ecx_backend.c', + 'openssl/crypto/ec/ecx_key.c', + 'openssl/crypto/ec/ecx_meth.c', + 'openssl/crypto/encode_decode/decoder_err.c', + 'openssl/crypto/encode_decode/decoder_lib.c', + 'openssl/crypto/encode_decode/decoder_meth.c', + 'openssl/crypto/encode_decode/decoder_pkey.c', + 'openssl/crypto/encode_decode/encoder_err.c', + 'openssl/crypto/encode_decode/encoder_lib.c', + 'openssl/crypto/encode_decode/encoder_meth.c', + 'openssl/crypto/encode_decode/encoder_pkey.c', + 'openssl/crypto/engine/eng_all.c', + 'openssl/crypto/engine/eng_cnf.c', + 'openssl/crypto/engine/eng_ctrl.c', + 'openssl/crypto/engine/eng_dyn.c', + 'openssl/crypto/engine/eng_err.c', + 'openssl/crypto/engine/eng_fat.c', + 'openssl/crypto/engine/eng_init.c', + 'openssl/crypto/engine/eng_lib.c', + 'openssl/crypto/engine/eng_list.c', + 'openssl/crypto/engine/eng_openssl.c', + 'openssl/crypto/engine/eng_pkey.c', + 'openssl/crypto/engine/eng_rdrand.c', + 'openssl/crypto/engine/eng_table.c', + 'openssl/crypto/engine/tb_asnmth.c', + 'openssl/crypto/engine/tb_cipher.c', + 'openssl/crypto/engine/tb_dh.c', + 'openssl/crypto/engine/tb_digest.c', + 'openssl/crypto/engine/tb_dsa.c', + 'openssl/crypto/engine/tb_eckey.c', + 'openssl/crypto/engine/tb_pkmeth.c', + 'openssl/crypto/engine/tb_rand.c', + 'openssl/crypto/engine/tb_rsa.c', + 'openssl/crypto/err/err.c', + 'openssl/crypto/err/err_all.c', + 'openssl/crypto/err/err_all_legacy.c', + 'openssl/crypto/err/err_blocks.c', + 'openssl/crypto/err/err_prn.c', + 'openssl/crypto/ess/ess_asn1.c', + 'openssl/crypto/ess/ess_err.c', + 'openssl/crypto/ess/ess_lib.c', + 'openssl/crypto/evp/asymcipher.c', + 'openssl/crypto/evp/bio_b64.c', + 'openssl/crypto/evp/bio_enc.c', + 'openssl/crypto/evp/bio_md.c', + 'openssl/crypto/evp/bio_ok.c', + 'openssl/crypto/evp/c_allc.c', + 'openssl/crypto/evp/c_alld.c', + 'openssl/crypto/evp/cmeth_lib.c', + 'openssl/crypto/evp/ctrl_params_translate.c', + 'openssl/crypto/evp/dh_ctrl.c', + 'openssl/crypto/evp/dh_support.c', + 'openssl/crypto/evp/digest.c', + 'openssl/crypto/evp/dsa_ctrl.c', + 'openssl/crypto/evp/e_aes.c', + 'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c', + 'openssl/crypto/evp/e_aes_cbc_hmac_sha256.c', + 'openssl/crypto/evp/e_aria.c', + 'openssl/crypto/evp/e_bf.c', + 'openssl/crypto/evp/e_camellia.c', + 'openssl/crypto/evp/e_cast.c', + 'openssl/crypto/evp/e_chacha20_poly1305.c', + 'openssl/crypto/evp/e_des.c', + 'openssl/crypto/evp/e_des3.c', + 'openssl/crypto/evp/e_idea.c', + 'openssl/crypto/evp/e_null.c', + 'openssl/crypto/evp/e_old.c', + 'openssl/crypto/evp/e_rc2.c', + 'openssl/crypto/evp/e_rc4.c', + 'openssl/crypto/evp/e_rc4_hmac_md5.c', + 'openssl/crypto/evp/e_rc5.c', + 'openssl/crypto/evp/e_seed.c', + 'openssl/crypto/evp/e_sm4.c', + 'openssl/crypto/evp/e_xcbc_d.c', + 'openssl/crypto/evp/ec_ctrl.c', + 'openssl/crypto/evp/ec_support.c', + 'openssl/crypto/evp/encode.c', + 'openssl/crypto/evp/evp_cnf.c', + 'openssl/crypto/evp/evp_enc.c', + 'openssl/crypto/evp/evp_err.c', + 'openssl/crypto/evp/evp_fetch.c', + 'openssl/crypto/evp/evp_key.c', + 'openssl/crypto/evp/evp_lib.c', + 'openssl/crypto/evp/evp_pbe.c', + 'openssl/crypto/evp/evp_pkey.c', + 'openssl/crypto/evp/evp_rand.c', + 'openssl/crypto/evp/evp_utils.c', + 'openssl/crypto/evp/exchange.c', + 'openssl/crypto/evp/kdf_lib.c', + 'openssl/crypto/evp/kdf_meth.c', + 'openssl/crypto/evp/kem.c', + 'openssl/crypto/evp/keymgmt_lib.c', + 'openssl/crypto/evp/keymgmt_meth.c', + 'openssl/crypto/evp/legacy_blake2.c', + 'openssl/crypto/evp/legacy_md4.c', + 'openssl/crypto/evp/legacy_md5.c', + 'openssl/crypto/evp/legacy_md5_sha1.c', + 'openssl/crypto/evp/legacy_mdc2.c', + 'openssl/crypto/evp/legacy_ripemd.c', + 'openssl/crypto/evp/legacy_sha.c', + 'openssl/crypto/evp/legacy_wp.c', + 'openssl/crypto/evp/m_null.c', + 'openssl/crypto/evp/m_sigver.c', + 'openssl/crypto/evp/mac_lib.c', + 'openssl/crypto/evp/mac_meth.c', + 'openssl/crypto/evp/names.c', + 'openssl/crypto/evp/p5_crpt.c', + 'openssl/crypto/evp/p5_crpt2.c', + 'openssl/crypto/evp/p_dec.c', + 'openssl/crypto/evp/p_enc.c', + 'openssl/crypto/evp/p_legacy.c', + 'openssl/crypto/evp/p_lib.c', + 'openssl/crypto/evp/p_open.c', + 'openssl/crypto/evp/p_seal.c', + 'openssl/crypto/evp/p_sign.c', + 'openssl/crypto/evp/p_verify.c', + 'openssl/crypto/evp/pbe_scrypt.c', + 'openssl/crypto/evp/pmeth_check.c', + 'openssl/crypto/evp/pmeth_gn.c', + 'openssl/crypto/evp/pmeth_lib.c', + 'openssl/crypto/evp/signature.c', + 'openssl/crypto/ffc/ffc_backend.c', + 'openssl/crypto/ffc/ffc_dh.c', + 'openssl/crypto/ffc/ffc_key_generate.c', + 'openssl/crypto/ffc/ffc_key_validate.c', + 'openssl/crypto/ffc/ffc_params.c', + 'openssl/crypto/ffc/ffc_params_generate.c', + 'openssl/crypto/ffc/ffc_params_validate.c', + 'openssl/crypto/hmac/hmac.c', + 'openssl/crypto/http/http_client.c', + 'openssl/crypto/http/http_err.c', + 'openssl/crypto/http/http_lib.c', + 'openssl/crypto/idea/i_cbc.c', + 'openssl/crypto/idea/i_cfb64.c', + 'openssl/crypto/idea/i_ecb.c', + 'openssl/crypto/idea/i_ofb64.c', + 'openssl/crypto/idea/i_skey.c', + 'openssl/crypto/kdf/kdf_err.c', + 'openssl/crypto/lhash/lh_stats.c', + 'openssl/crypto/lhash/lhash.c', + 'openssl/crypto/asn1_dsa.c', + 'openssl/crypto/bsearch.c', + 'openssl/crypto/context.c', + 'openssl/crypto/core_algorithm.c', + 'openssl/crypto/core_fetch.c', + 'openssl/crypto/core_namemap.c', + 'openssl/crypto/cpt_err.c', + 'openssl/crypto/cpuid.c', + 'openssl/crypto/cryptlib.c', + 'openssl/crypto/ctype.c', + 'openssl/crypto/cversion.c', + 'openssl/crypto/der_writer.c', + 'openssl/crypto/ebcdic.c', + 'openssl/crypto/ex_data.c', + 'openssl/crypto/getenv.c', + 'openssl/crypto/info.c', + 'openssl/crypto/init.c', + 'openssl/crypto/initthread.c', + 'openssl/crypto/mem.c', + 'openssl/crypto/mem_clr.c', + 'openssl/crypto/mem_sec.c', + 'openssl/crypto/o_dir.c', + 'openssl/crypto/o_fopen.c', + 'openssl/crypto/o_init.c', + 'openssl/crypto/o_str.c', + 'openssl/crypto/o_time.c', + 'openssl/crypto/packet.c', + 'openssl/crypto/param_build.c', + 'openssl/crypto/param_build_set.c', + 'openssl/crypto/params.c', + 'openssl/crypto/params_dup.c', + 'openssl/crypto/params_from_text.c', + 'openssl/crypto/passphrase.c', + 'openssl/crypto/provider.c', + 'openssl/crypto/provider_child.c', + 'openssl/crypto/provider_conf.c', + 'openssl/crypto/provider_core.c', + 'openssl/crypto/provider_predefined.c', + 'openssl/crypto/punycode.c', + 'openssl/crypto/self_test_core.c', + 'openssl/crypto/sparse_array.c', + 'openssl/crypto/threads_lib.c', + 'openssl/crypto/threads_none.c', + 'openssl/crypto/threads_pthread.c', + 'openssl/crypto/threads_win.c', + 'openssl/crypto/trace.c', + 'openssl/crypto/uid.c', + 'openssl/crypto/md4/md4_dgst.c', + 'openssl/crypto/md4/md4_one.c', + 'openssl/crypto/md5/md5_dgst.c', + 'openssl/crypto/md5/md5_one.c', + 'openssl/crypto/md5/md5_sha1.c', + 'openssl/crypto/mdc2/mdc2_one.c', + 'openssl/crypto/mdc2/mdc2dgst.c', + 'openssl/crypto/modes/cbc128.c', + 'openssl/crypto/modes/ccm128.c', + 'openssl/crypto/modes/cfb128.c', + 'openssl/crypto/modes/ctr128.c', + 'openssl/crypto/modes/cts128.c', + 'openssl/crypto/modes/gcm128.c', + 'openssl/crypto/modes/ocb128.c', + 'openssl/crypto/modes/ofb128.c', + 'openssl/crypto/modes/siv128.c', + 'openssl/crypto/modes/wrap128.c', + 'openssl/crypto/modes/xts128.c', + 'openssl/crypto/objects/o_names.c', + 'openssl/crypto/objects/obj_dat.c', + 'openssl/crypto/objects/obj_err.c', + 'openssl/crypto/objects/obj_lib.c', + 'openssl/crypto/objects/obj_xref.c', + 'openssl/crypto/ocsp/ocsp_asn.c', + 'openssl/crypto/ocsp/ocsp_cl.c', + 'openssl/crypto/ocsp/ocsp_err.c', + 'openssl/crypto/ocsp/ocsp_ext.c', + 'openssl/crypto/ocsp/ocsp_http.c', + 'openssl/crypto/ocsp/ocsp_lib.c', + 'openssl/crypto/ocsp/ocsp_prn.c', + 'openssl/crypto/ocsp/ocsp_srv.c', + 'openssl/crypto/ocsp/ocsp_vfy.c', + 'openssl/crypto/ocsp/v3_ocsp.c', + 'openssl/crypto/pem/pem_all.c', + 'openssl/crypto/pem/pem_err.c', + 'openssl/crypto/pem/pem_info.c', + 'openssl/crypto/pem/pem_lib.c', + 'openssl/crypto/pem/pem_oth.c', + 'openssl/crypto/pem/pem_pk8.c', + 'openssl/crypto/pem/pem_pkey.c', + 'openssl/crypto/pem/pem_sign.c', + 'openssl/crypto/pem/pem_x509.c', + 'openssl/crypto/pem/pem_xaux.c', + 'openssl/crypto/pem/pvkfmt.c', + 'openssl/crypto/pkcs12/p12_add.c', + 'openssl/crypto/pkcs12/p12_asn.c', + 'openssl/crypto/pkcs12/p12_attr.c', + 'openssl/crypto/pkcs12/p12_crpt.c', + 'openssl/crypto/pkcs12/p12_crt.c', + 'openssl/crypto/pkcs12/p12_decr.c', + 'openssl/crypto/pkcs12/p12_init.c', + 'openssl/crypto/pkcs12/p12_key.c', + 'openssl/crypto/pkcs12/p12_kiss.c', + 'openssl/crypto/pkcs12/p12_mutl.c', + 'openssl/crypto/pkcs12/p12_npas.c', + 'openssl/crypto/pkcs12/p12_p8d.c', + 'openssl/crypto/pkcs12/p12_p8e.c', + 'openssl/crypto/pkcs12/p12_sbag.c', + 'openssl/crypto/pkcs12/p12_utl.c', + 'openssl/crypto/pkcs12/pk12err.c', + 'openssl/crypto/pkcs7/bio_pk7.c', + 'openssl/crypto/pkcs7/pk7_asn1.c', + 'openssl/crypto/pkcs7/pk7_attr.c', + 'openssl/crypto/pkcs7/pk7_doit.c', + 'openssl/crypto/pkcs7/pk7_lib.c', + 'openssl/crypto/pkcs7/pk7_mime.c', + 'openssl/crypto/pkcs7/pk7_smime.c', + 'openssl/crypto/pkcs7/pkcs7err.c', + 'openssl/crypto/poly1305/poly1305.c', + 'openssl/crypto/property/defn_cache.c', + 'openssl/crypto/property/property.c', + 'openssl/crypto/property/property_err.c', + 'openssl/crypto/property/property_parse.c', + 'openssl/crypto/property/property_query.c', + 'openssl/crypto/property/property_string.c', + 'openssl/crypto/rand/prov_seed.c', + 'openssl/crypto/rand/rand_deprecated.c', + 'openssl/crypto/rand/rand_err.c', + 'openssl/crypto/rand/rand_lib.c', + 'openssl/crypto/rand/rand_meth.c', + 'openssl/crypto/rand/rand_pool.c', + 'openssl/crypto/rand/randfile.c', + 'openssl/crypto/rc2/rc2_cbc.c', + 'openssl/crypto/rc2/rc2_ecb.c', + 'openssl/crypto/rc2/rc2_skey.c', + 'openssl/crypto/rc2/rc2cfb64.c', + 'openssl/crypto/rc2/rc2ofb64.c', + 'openssl/crypto/rc4/rc4_enc.c', + 'openssl/crypto/rc4/rc4_skey.c', + 'openssl/crypto/ripemd/rmd_dgst.c', + 'openssl/crypto/ripemd/rmd_one.c', + 'openssl/crypto/rsa/rsa_ameth.c', + 'openssl/crypto/rsa/rsa_asn1.c', + 'openssl/crypto/rsa/rsa_backend.c', + 'openssl/crypto/rsa/rsa_chk.c', + 'openssl/crypto/rsa/rsa_crpt.c', + 'openssl/crypto/rsa/rsa_depr.c', + 'openssl/crypto/rsa/rsa_err.c', + 'openssl/crypto/rsa/rsa_gen.c', + 'openssl/crypto/rsa/rsa_lib.c', + 'openssl/crypto/rsa/rsa_meth.c', + 'openssl/crypto/rsa/rsa_mp.c', + 'openssl/crypto/rsa/rsa_mp_names.c', + 'openssl/crypto/rsa/rsa_none.c', + 'openssl/crypto/rsa/rsa_oaep.c', + 'openssl/crypto/rsa/rsa_ossl.c', + 'openssl/crypto/rsa/rsa_pk1.c', + 'openssl/crypto/rsa/rsa_pmeth.c', + 'openssl/crypto/rsa/rsa_prn.c', + 'openssl/crypto/rsa/rsa_pss.c', + 'openssl/crypto/rsa/rsa_saos.c', + 'openssl/crypto/rsa/rsa_schemes.c', + 'openssl/crypto/rsa/rsa_sign.c', + 'openssl/crypto/rsa/rsa_sp800_56b_check.c', + 'openssl/crypto/rsa/rsa_sp800_56b_gen.c', + 'openssl/crypto/rsa/rsa_x931.c', + 'openssl/crypto/rsa/rsa_x931g.c', + 'openssl/crypto/seed/seed.c', + 'openssl/crypto/seed/seed_cbc.c', + 'openssl/crypto/seed/seed_cfb.c', + 'openssl/crypto/seed/seed_ecb.c', + 'openssl/crypto/seed/seed_ofb.c', + 'openssl/crypto/sha/keccak1600.c', + 'openssl/crypto/sha/sha1_one.c', + 'openssl/crypto/sha/sha1dgst.c', + 'openssl/crypto/sha/sha256.c', + 'openssl/crypto/sha/sha3.c', + 'openssl/crypto/sha/sha512.c', + 'openssl/crypto/siphash/siphash.c', + 'openssl/crypto/sm2/sm2_crypt.c', + 'openssl/crypto/sm2/sm2_err.c', + 'openssl/crypto/sm2/sm2_key.c', + 'openssl/crypto/sm2/sm2_sign.c', + 'openssl/crypto/sm3/legacy_sm3.c', + 'openssl/crypto/sm3/sm3.c', + 'openssl/crypto/sm4/sm4.c', + 'openssl/crypto/srp/srp_lib.c', + 'openssl/crypto/srp/srp_vfy.c', + 'openssl/crypto/stack/stack.c', + 'openssl/crypto/store/store_err.c', + 'openssl/crypto/store/store_init.c', + 'openssl/crypto/store/store_lib.c', + 'openssl/crypto/store/store_meth.c', + 'openssl/crypto/store/store_register.c', + 'openssl/crypto/store/store_result.c', + 'openssl/crypto/store/store_strings.c', + 'openssl/crypto/ts/ts_asn1.c', + 'openssl/crypto/ts/ts_conf.c', + 'openssl/crypto/ts/ts_err.c', + 'openssl/crypto/ts/ts_lib.c', + 'openssl/crypto/ts/ts_req_print.c', + 'openssl/crypto/ts/ts_req_utils.c', + 'openssl/crypto/ts/ts_rsp_print.c', + 'openssl/crypto/ts/ts_rsp_sign.c', + 'openssl/crypto/ts/ts_rsp_utils.c', + 'openssl/crypto/ts/ts_rsp_verify.c', + 'openssl/crypto/ts/ts_verify_ctx.c', + 'openssl/crypto/txt_db/txt_db.c', + 'openssl/crypto/ui/ui_err.c', + 'openssl/crypto/ui/ui_lib.c', + 'openssl/crypto/ui/ui_null.c', + 'openssl/crypto/ui/ui_openssl.c', + 'openssl/crypto/ui/ui_util.c', + 'openssl/crypto/whrlpool/wp_block.c', + 'openssl/crypto/whrlpool/wp_dgst.c', + 'openssl/crypto/x509/by_dir.c', + 'openssl/crypto/x509/by_file.c', + 'openssl/crypto/x509/by_store.c', + 'openssl/crypto/x509/pcy_cache.c', + 'openssl/crypto/x509/pcy_data.c', + 'openssl/crypto/x509/pcy_lib.c', + 'openssl/crypto/x509/pcy_map.c', + 'openssl/crypto/x509/pcy_node.c', + 'openssl/crypto/x509/pcy_tree.c', + 'openssl/crypto/x509/t_crl.c', + 'openssl/crypto/x509/t_req.c', + 'openssl/crypto/x509/t_x509.c', + 'openssl/crypto/x509/v3_addr.c', + 'openssl/crypto/x509/v3_admis.c', + 'openssl/crypto/x509/v3_akeya.c', + 'openssl/crypto/x509/v3_akid.c', + 'openssl/crypto/x509/v3_asid.c', + 'openssl/crypto/x509/v3_bcons.c', + 'openssl/crypto/x509/v3_bitst.c', + 'openssl/crypto/x509/v3_conf.c', + 'openssl/crypto/x509/v3_cpols.c', + 'openssl/crypto/x509/v3_crld.c', + 'openssl/crypto/x509/v3_enum.c', + 'openssl/crypto/x509/v3_extku.c', + 'openssl/crypto/x509/v3_genn.c', + 'openssl/crypto/x509/v3_ia5.c', + 'openssl/crypto/x509/v3_info.c', + 'openssl/crypto/x509/v3_int.c', + 'openssl/crypto/x509/v3_ist.c', + 'openssl/crypto/x509/v3_lib.c', + 'openssl/crypto/x509/v3_ncons.c', + 'openssl/crypto/x509/v3_pci.c', + 'openssl/crypto/x509/v3_pcia.c', + 'openssl/crypto/x509/v3_pcons.c', + 'openssl/crypto/x509/v3_pku.c', + 'openssl/crypto/x509/v3_pmaps.c', + 'openssl/crypto/x509/v3_prn.c', + 'openssl/crypto/x509/v3_purp.c', + 'openssl/crypto/x509/v3_san.c', + 'openssl/crypto/x509/v3_skid.c', + 'openssl/crypto/x509/v3_sxnet.c', + 'openssl/crypto/x509/v3_tlsf.c', + 'openssl/crypto/x509/v3_utf8.c', + 'openssl/crypto/x509/v3_utl.c', + 'openssl/crypto/x509/v3err.c', + 'openssl/crypto/x509/x509_att.c', + 'openssl/crypto/x509/x509_cmp.c', + 'openssl/crypto/x509/x509_d2.c', + 'openssl/crypto/x509/x509_def.c', + 'openssl/crypto/x509/x509_err.c', + 'openssl/crypto/x509/x509_ext.c', + 'openssl/crypto/x509/x509_lu.c', + 'openssl/crypto/x509/x509_meth.c', + 'openssl/crypto/x509/x509_obj.c', + 'openssl/crypto/x509/x509_r2x.c', + 'openssl/crypto/x509/x509_req.c', + 'openssl/crypto/x509/x509_set.c', + 'openssl/crypto/x509/x509_trust.c', + 'openssl/crypto/x509/x509_txt.c', + 'openssl/crypto/x509/x509_v3.c', + 'openssl/crypto/x509/x509_vfy.c', + 'openssl/crypto/x509/x509_vpm.c', + 'openssl/crypto/x509/x509cset.c', + 'openssl/crypto/x509/x509name.c', + 'openssl/crypto/x509/x509rset.c', + 'openssl/crypto/x509/x509spki.c', + 'openssl/crypto/x509/x509type.c', + 'openssl/crypto/x509/x_all.c', + 'openssl/crypto/x509/x_attrib.c', + 'openssl/crypto/x509/x_crl.c', + 'openssl/crypto/x509/x_exten.c', + 'openssl/crypto/x509/x_name.c', + 'openssl/crypto/x509/x_pubkey.c', + 'openssl/crypto/x509/x_req.c', + 'openssl/crypto/x509/x_x509.c', + 'openssl/crypto/x509/x_x509a.c', + 'openssl/engines/e_capi.c', + 'openssl/engines/e_padlock.c', + 'openssl/providers/baseprov.c', + 'openssl/providers/defltprov.c', + 'openssl/providers/nullprov.c', + 'openssl/providers/prov_running.c', + 'openssl/providers/common/der/der_rsa_sig.c', + 'openssl/providers/common/der/der_sm2_key.c', + 'openssl/providers/common/der/der_sm2_sig.c', + 'openssl/providers/common/bio_prov.c', + 'openssl/providers/common/capabilities.c', + 'openssl/providers/common/digest_to_nid.c', + 'openssl/providers/common/provider_seeding.c', + 'openssl/providers/common/provider_util.c', + 'openssl/providers/common/securitycheck.c', + 'openssl/providers/common/securitycheck_default.c', + 'openssl/providers/implementations/asymciphers/rsa_enc.c', + 'openssl/providers/implementations/asymciphers/sm2_enc.c', + 'openssl/providers/implementations/ciphers/cipher_aes.c', + 'openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c', + 'openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ccm.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_gcm.c', + 'openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ocb.c', + 'openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_siv.c', + 'openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aes_wrp.c', + 'openssl/providers/implementations/ciphers/cipher_aes_xts.c', + 'openssl/providers/implementations/ciphers/cipher_aes_xts_fips.c', + 'openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aria.c', + 'openssl/providers/implementations/ciphers/cipher_aria_ccm.c', + 'openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aria_gcm.c', + 'openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c', + 'openssl/providers/implementations/ciphers/cipher_aria_hw.c', + 'openssl/providers/implementations/ciphers/cipher_camellia.c', + 'openssl/providers/implementations/ciphers/cipher_camellia_hw.c', + 'openssl/providers/implementations/ciphers/cipher_chacha20.c', + 'openssl/providers/implementations/ciphers/cipher_chacha20_hw.c', + 'openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c', + 'openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c', + 'openssl/providers/implementations/ciphers/cipher_cts.c', + 'openssl/providers/implementations/ciphers/cipher_null.c', + 'openssl/providers/implementations/ciphers/cipher_sm4.c', + 'openssl/providers/implementations/ciphers/cipher_sm4_hw.c', + 'openssl/providers/implementations/ciphers/cipher_tdes.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_common.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_default.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_hw.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_wrap.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_wrap_hw.c', + 'openssl/providers/implementations/digests/blake2_prov.c', + 'openssl/providers/implementations/digests/blake2b_prov.c', + 'openssl/providers/implementations/digests/blake2s_prov.c', + 'openssl/providers/implementations/digests/md5_prov.c', + 'openssl/providers/implementations/digests/md5_sha1_prov.c', + 'openssl/providers/implementations/digests/null_prov.c', + 'openssl/providers/implementations/digests/ripemd_prov.c', + 'openssl/providers/implementations/digests/sha2_prov.c', + 'openssl/providers/implementations/digests/sha3_prov.c', + 'openssl/providers/implementations/digests/sm3_prov.c', + 'openssl/providers/implementations/encode_decode/decode_der2key.c', + 'openssl/providers/implementations/encode_decode/decode_epki2pki.c', + 'openssl/providers/implementations/encode_decode/decode_msblob2key.c', + 'openssl/providers/implementations/encode_decode/decode_pem2der.c', + 'openssl/providers/implementations/encode_decode/decode_pvk2key.c', + 'openssl/providers/implementations/encode_decode/decode_spki2typespki.c', + 'openssl/providers/implementations/encode_decode/encode_key2any.c', + 'openssl/providers/implementations/encode_decode/encode_key2blob.c', + 'openssl/providers/implementations/encode_decode/encode_key2ms.c', + 'openssl/providers/implementations/encode_decode/encode_key2text.c', + 'openssl/providers/implementations/encode_decode/endecoder_common.c', + 'openssl/providers/implementations/exchange/dh_exch.c', + 'openssl/providers/implementations/exchange/ecdh_exch.c', + 'openssl/providers/implementations/exchange/ecx_exch.c', + 'openssl/providers/implementations/exchange/kdf_exch.c', + 'openssl/providers/implementations/kdfs/hkdf.c', + 'openssl/providers/implementations/kdfs/kbkdf.c', + 'openssl/providers/implementations/kdfs/krb5kdf.c', + 'openssl/providers/implementations/kdfs/pbkdf2.c', + 'openssl/providers/implementations/kdfs/pbkdf2_fips.c', + 'openssl/providers/implementations/kdfs/pkcs12kdf.c', + 'openssl/providers/implementations/kdfs/scrypt.c', + 'openssl/providers/implementations/kdfs/sshkdf.c', + 'openssl/providers/implementations/kdfs/sskdf.c', + 'openssl/providers/implementations/kdfs/tls1_prf.c', + 'openssl/providers/implementations/kdfs/x942kdf.c', + 'openssl/providers/implementations/kem/rsa_kem.c', + 'openssl/providers/implementations/keymgmt/dh_kmgmt.c', + 'openssl/providers/implementations/keymgmt/dsa_kmgmt.c', + 'openssl/providers/implementations/keymgmt/ec_kmgmt.c', + 'openssl/providers/implementations/keymgmt/ecx_kmgmt.c', + 'openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c', + 'openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c', + 'openssl/providers/implementations/keymgmt/rsa_kmgmt.c', + 'openssl/providers/implementations/macs/blake2b_mac.c', + 'openssl/providers/implementations/macs/blake2s_mac.c', + 'openssl/providers/implementations/macs/cmac_prov.c', + 'openssl/providers/implementations/macs/gmac_prov.c', + 'openssl/providers/implementations/macs/hmac_prov.c', + 'openssl/providers/implementations/macs/kmac_prov.c', + 'openssl/providers/implementations/macs/poly1305_prov.c', + 'openssl/providers/implementations/macs/siphash_prov.c', + 'openssl/providers/implementations/rands/crngt.c', + 'openssl/providers/implementations/rands/drbg.c', + 'openssl/providers/implementations/rands/drbg_ctr.c', + 'openssl/providers/implementations/rands/drbg_hash.c', + 'openssl/providers/implementations/rands/drbg_hmac.c', + 'openssl/providers/implementations/rands/seed_src.c', + 'openssl/providers/implementations/rands/test_rng.c', + 'openssl/providers/implementations/rands/seeding/rand_cpu_x86.c', + 'openssl/providers/implementations/rands/seeding/rand_tsc.c', + 'openssl/providers/implementations/rands/seeding/rand_unix.c', + 'openssl/providers/implementations/rands/seeding/rand_win.c', + 'openssl/providers/implementations/signature/dsa_sig.c', + 'openssl/providers/implementations/signature/ecdsa_sig.c', + 'openssl/providers/implementations/signature/eddsa_sig.c', + 'openssl/providers/implementations/signature/mac_legacy_sig.c', + 'openssl/providers/implementations/signature/rsa_sig.c', + 'openssl/providers/implementations/signature/sm2_sig.c', + 'openssl/providers/implementations/storemgmt/file_store.c', + 'openssl/providers/implementations/storemgmt/file_store_any2obj.c', + 'openssl/ssl/s3_cbc.c', + 'openssl/providers/common/der/der_dsa_key.c', + 'openssl/providers/common/der/der_dsa_sig.c', + 'openssl/providers/common/der/der_ec_key.c', + 'openssl/providers/common/der/der_ec_sig.c', + 'openssl/providers/common/der/der_ecx_key.c', + 'openssl/providers/common/der/der_rsa_key.c', + 'openssl/providers/common/provider_ctx.c', + 'openssl/providers/common/provider_err.c', + 'openssl/providers/implementations/ciphers/ciphercommon.c', + 'openssl/providers/implementations/ciphers/ciphercommon_block.c', + 'openssl/providers/implementations/ciphers/ciphercommon_ccm.c', + 'openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c', + 'openssl/providers/implementations/ciphers/ciphercommon_gcm.c', + 'openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c', + 'openssl/providers/implementations/ciphers/ciphercommon_hw.c', + 'openssl/providers/implementations/digests/digestcommon.c', + 'openssl/ssl/record/tls_pad.c', + 'openssl/providers/implementations/ciphers/cipher_blowfish.c', + 'openssl/providers/implementations/ciphers/cipher_blowfish_hw.c', + 'openssl/providers/implementations/ciphers/cipher_cast5.c', + 'openssl/providers/implementations/ciphers/cipher_cast5_hw.c', + 'openssl/providers/implementations/ciphers/cipher_des.c', + 'openssl/providers/implementations/ciphers/cipher_des_hw.c', + 'openssl/providers/implementations/ciphers/cipher_desx.c', + 'openssl/providers/implementations/ciphers/cipher_desx_hw.c', + 'openssl/providers/implementations/ciphers/cipher_idea.c', + 'openssl/providers/implementations/ciphers/cipher_idea_hw.c', + 'openssl/providers/implementations/ciphers/cipher_rc2.c', + 'openssl/providers/implementations/ciphers/cipher_rc2_hw.c', + 'openssl/providers/implementations/ciphers/cipher_rc4.c', + 'openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c', + 'openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c', + 'openssl/providers/implementations/ciphers/cipher_rc4_hw.c', + 'openssl/providers/implementations/ciphers/cipher_seed.c', + 'openssl/providers/implementations/ciphers/cipher_seed_hw.c', + 'openssl/providers/implementations/ciphers/cipher_tdes_common.c', + 'openssl/providers/implementations/digests/md4_prov.c', + 'openssl/providers/implementations/digests/mdc2_prov.c', + 'openssl/providers/implementations/digests/ripemd_prov.c', + 'openssl/providers/implementations/digests/wp_prov.c', + 'openssl/providers/implementations/kdfs/pbkdf1.c', + 'openssl/providers/prov_running.c', + 'openssl/providers/legacyprov.c', + ], + 'openssl_sources_linux64-loongarch64': [ + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c', + './config/archs/linux64-loongarch64/no-asm/providers/legacy.ld', + './config/archs/linux64-loongarch64/no-asm/providers/fips.ld', + ], + 'openssl_defines_linux64-loongarch64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_BUILDING_OPENSSL', + 'OPENSSL_PIC', + ], + 'openssl_cflags_linux64-loongarch64': [ + '-Wall -O3', + '-pthread', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-loongarch64': [ + '-ldl -pthread', + ], + }, + 'include_dirs': [ + '.', + './include', + './crypto', + './crypto/include/internal', + './providers/common/include', + ], + 'defines': ['<@(openssl_defines_linux64-loongarch64)'], + 'cflags' : ['<@(openssl_cflags_linux64-loongarch64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-loongarch64)'], + 'sources': ['<@(openssl_sources)', '<@(openssl_sources_linux64-loongarch64)'], + 'direct_dependent_settings': { + 'include_dirs': ['./include', '.'], + 'defines': ['<@(openssl_defines_linux64-loongarch64)'], + }, +} diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c new file mode 100644 index 00000000000000..e4e14e82e5648a --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c @@ -0,0 +1,160 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_digests_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "prov/der_digests.h" + +/* Well known OIDs precompiled */ + +/* + * sigAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 3 } + */ +const unsigned char ossl_der_oid_sigAlgs[DER_OID_SZ_sigAlgs] = { + DER_OID_V_sigAlgs +}; + +/* + * id-sha1 OBJECT IDENTIFIER ::= { iso(1) + * identified-organization(3) oiw(14) + * secsig(3) algorithms(2) 26 } + */ +const unsigned char ossl_der_oid_id_sha1[DER_OID_SZ_id_sha1] = { + DER_OID_V_id_sha1 +}; + +/* + * id-md2 OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 2 } + */ +const unsigned char ossl_der_oid_id_md2[DER_OID_SZ_id_md2] = { + DER_OID_V_id_md2 +}; + +/* + * id-md5 OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 5 } + */ +const unsigned char ossl_der_oid_id_md5[DER_OID_SZ_id_md5] = { + DER_OID_V_id_md5 +}; + +/* + * id-sha256 OBJECT IDENTIFIER ::= { hashAlgs 1 } + */ +const unsigned char ossl_der_oid_id_sha256[DER_OID_SZ_id_sha256] = { + DER_OID_V_id_sha256 +}; + +/* + * id-sha384 OBJECT IDENTIFIER ::= { hashAlgs 2 } + */ +const unsigned char ossl_der_oid_id_sha384[DER_OID_SZ_id_sha384] = { + DER_OID_V_id_sha384 +}; + +/* + * id-sha512 OBJECT IDENTIFIER ::= { hashAlgs 3 } + */ +const unsigned char ossl_der_oid_id_sha512[DER_OID_SZ_id_sha512] = { + DER_OID_V_id_sha512 +}; + +/* + * id-sha224 OBJECT IDENTIFIER ::= { hashAlgs 4 } + */ +const unsigned char ossl_der_oid_id_sha224[DER_OID_SZ_id_sha224] = { + DER_OID_V_id_sha224 +}; + +/* + * id-sha512-224 OBJECT IDENTIFIER ::= { hashAlgs 5 } + */ +const unsigned char ossl_der_oid_id_sha512_224[DER_OID_SZ_id_sha512_224] = { + DER_OID_V_id_sha512_224 +}; + +/* + * id-sha512-256 OBJECT IDENTIFIER ::= { hashAlgs 6 } + */ +const unsigned char ossl_der_oid_id_sha512_256[DER_OID_SZ_id_sha512_256] = { + DER_OID_V_id_sha512_256 +}; + +/* + * id-sha3-224 OBJECT IDENTIFIER ::= { hashAlgs 7 } + */ +const unsigned char ossl_der_oid_id_sha3_224[DER_OID_SZ_id_sha3_224] = { + DER_OID_V_id_sha3_224 +}; + +/* + * id-sha3-256 OBJECT IDENTIFIER ::= { hashAlgs 8 } + */ +const unsigned char ossl_der_oid_id_sha3_256[DER_OID_SZ_id_sha3_256] = { + DER_OID_V_id_sha3_256 +}; + +/* + * id-sha3-384 OBJECT IDENTIFIER ::= { hashAlgs 9 } + */ +const unsigned char ossl_der_oid_id_sha3_384[DER_OID_SZ_id_sha3_384] = { + DER_OID_V_id_sha3_384 +}; + +/* + * id-sha3-512 OBJECT IDENTIFIER ::= { hashAlgs 10 } + */ +const unsigned char ossl_der_oid_id_sha3_512[DER_OID_SZ_id_sha3_512] = { + DER_OID_V_id_sha3_512 +}; + +/* + * id-shake128 OBJECT IDENTIFIER ::= { hashAlgs 11 } + */ +const unsigned char ossl_der_oid_id_shake128[DER_OID_SZ_id_shake128] = { + DER_OID_V_id_shake128 +}; + +/* + * id-shake256 OBJECT IDENTIFIER ::= { hashAlgs 12 } + */ +const unsigned char ossl_der_oid_id_shake256[DER_OID_SZ_id_shake256] = { + DER_OID_V_id_shake256 +}; + +/* + * id-shake128-len OBJECT IDENTIFIER ::= { hashAlgs 17 } + */ +const unsigned char ossl_der_oid_id_shake128_len[DER_OID_SZ_id_shake128_len] = { + DER_OID_V_id_shake128_len +}; + +/* + * id-shake256-len OBJECT IDENTIFIER ::= { hashAlgs 18 } + */ +const unsigned char ossl_der_oid_id_shake256_len[DER_OID_SZ_id_shake256_len] = { + DER_OID_V_id_shake256_len +}; + +/* + * id-KMACWithSHAKE128 OBJECT IDENTIFIER ::={hashAlgs 19} + */ +const unsigned char ossl_der_oid_id_KMACWithSHAKE128[DER_OID_SZ_id_KMACWithSHAKE128] = { + DER_OID_V_id_KMACWithSHAKE128 +}; + +/* + * id-KMACWithSHAKE256 OBJECT IDENTIFIER ::={ hashAlgs 20} + */ +const unsigned char ossl_der_oid_id_KMACWithSHAKE256[DER_OID_SZ_id_KMACWithSHAKE256] = { + DER_OID_V_id_KMACWithSHAKE256 +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c new file mode 100644 index 00000000000000..e5cfe91e0f2510 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c @@ -0,0 +1,94 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_dsa_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * DSA low level APIs are deprecated for public use, but still ok for + * internal use. + */ +#include "internal/deprecated.h" + +#include "prov/der_dsa.h" + +/* Well known OIDs precompiled */ + +/* + * id-dsa OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 } + */ +const unsigned char ossl_der_oid_id_dsa[DER_OID_SZ_id_dsa] = { + DER_OID_V_id_dsa +}; + +/* + * id-dsa-with-sha1 OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha1[DER_OID_SZ_id_dsa_with_sha1] = { + DER_OID_V_id_dsa_with_sha1 +}; + +/* + * id-dsa-with-sha224 OBJECT IDENTIFIER ::= { sigAlgs 1 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha224[DER_OID_SZ_id_dsa_with_sha224] = { + DER_OID_V_id_dsa_with_sha224 +}; + +/* + * id-dsa-with-sha256 OBJECT IDENTIFIER ::= { sigAlgs 2 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha256[DER_OID_SZ_id_dsa_with_sha256] = { + DER_OID_V_id_dsa_with_sha256 +}; + +/* + * id-dsa-with-sha384 OBJECT IDENTIFIER ::= { sigAlgs 3 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha384[DER_OID_SZ_id_dsa_with_sha384] = { + DER_OID_V_id_dsa_with_sha384 +}; + +/* + * id-dsa-with-sha512 OBJECT IDENTIFIER ::= { sigAlgs 4 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha512[DER_OID_SZ_id_dsa_with_sha512] = { + DER_OID_V_id_dsa_with_sha512 +}; + +/* + * id-dsa-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 5 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha3_224[DER_OID_SZ_id_dsa_with_sha3_224] = { + DER_OID_V_id_dsa_with_sha3_224 +}; + +/* + * id-dsa-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 6 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha3_256[DER_OID_SZ_id_dsa_with_sha3_256] = { + DER_OID_V_id_dsa_with_sha3_256 +}; + +/* + * id-dsa-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 7 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha3_384[DER_OID_SZ_id_dsa_with_sha3_384] = { + DER_OID_V_id_dsa_with_sha3_384 +}; + +/* + * id-dsa-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 8 } + */ +const unsigned char ossl_der_oid_id_dsa_with_sha3_512[DER_OID_SZ_id_dsa_with_sha3_512] = { + DER_OID_V_id_dsa_with_sha3_512 +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c new file mode 100644 index 00000000000000..e1ed54ba05b6ff --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c @@ -0,0 +1,279 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_ec_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "prov/der_ec.h" + +/* Well known OIDs precompiled */ + +/* + * ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 } + */ +const unsigned char ossl_der_oid_ecdsa_with_SHA1[DER_OID_SZ_ecdsa_with_SHA1] = { + DER_OID_V_ecdsa_with_SHA1 +}; + +/* + * id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 } + */ +const unsigned char ossl_der_oid_id_ecPublicKey[DER_OID_SZ_id_ecPublicKey] = { + DER_OID_V_id_ecPublicKey +}; + +/* + * c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 } + */ +const unsigned char ossl_der_oid_c2pnb163v1[DER_OID_SZ_c2pnb163v1] = { + DER_OID_V_c2pnb163v1 +}; + +/* + * c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 } + */ +const unsigned char ossl_der_oid_c2pnb163v2[DER_OID_SZ_c2pnb163v2] = { + DER_OID_V_c2pnb163v2 +}; + +/* + * c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 } + */ +const unsigned char ossl_der_oid_c2pnb163v3[DER_OID_SZ_c2pnb163v3] = { + DER_OID_V_c2pnb163v3 +}; + +/* + * c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 } + */ +const unsigned char ossl_der_oid_c2pnb176w1[DER_OID_SZ_c2pnb176w1] = { + DER_OID_V_c2pnb176w1 +}; + +/* + * c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 } + */ +const unsigned char ossl_der_oid_c2tnb191v1[DER_OID_SZ_c2tnb191v1] = { + DER_OID_V_c2tnb191v1 +}; + +/* + * c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 } + */ +const unsigned char ossl_der_oid_c2tnb191v2[DER_OID_SZ_c2tnb191v2] = { + DER_OID_V_c2tnb191v2 +}; + +/* + * c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 } + */ +const unsigned char ossl_der_oid_c2tnb191v3[DER_OID_SZ_c2tnb191v3] = { + DER_OID_V_c2tnb191v3 +}; + +/* + * c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 } + */ +const unsigned char ossl_der_oid_c2onb191v4[DER_OID_SZ_c2onb191v4] = { + DER_OID_V_c2onb191v4 +}; + +/* + * c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 } + */ +const unsigned char ossl_der_oid_c2onb191v5[DER_OID_SZ_c2onb191v5] = { + DER_OID_V_c2onb191v5 +}; + +/* + * c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 } + */ +const unsigned char ossl_der_oid_c2pnb208w1[DER_OID_SZ_c2pnb208w1] = { + DER_OID_V_c2pnb208w1 +}; + +/* + * c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 } + */ +const unsigned char ossl_der_oid_c2tnb239v1[DER_OID_SZ_c2tnb239v1] = { + DER_OID_V_c2tnb239v1 +}; + +/* + * c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 } + */ +const unsigned char ossl_der_oid_c2tnb239v2[DER_OID_SZ_c2tnb239v2] = { + DER_OID_V_c2tnb239v2 +}; + +/* + * c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 } + */ +const unsigned char ossl_der_oid_c2tnb239v3[DER_OID_SZ_c2tnb239v3] = { + DER_OID_V_c2tnb239v3 +}; + +/* + * c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 } + */ +const unsigned char ossl_der_oid_c2onb239v4[DER_OID_SZ_c2onb239v4] = { + DER_OID_V_c2onb239v4 +}; + +/* + * c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 } + */ +const unsigned char ossl_der_oid_c2onb239v5[DER_OID_SZ_c2onb239v5] = { + DER_OID_V_c2onb239v5 +}; + +/* + * c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 } + */ +const unsigned char ossl_der_oid_c2pnb272w1[DER_OID_SZ_c2pnb272w1] = { + DER_OID_V_c2pnb272w1 +}; + +/* + * c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 } + */ +const unsigned char ossl_der_oid_c2pnb304w1[DER_OID_SZ_c2pnb304w1] = { + DER_OID_V_c2pnb304w1 +}; + +/* + * c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 } + */ +const unsigned char ossl_der_oid_c2tnb359v1[DER_OID_SZ_c2tnb359v1] = { + DER_OID_V_c2tnb359v1 +}; + +/* + * c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 } + */ +const unsigned char ossl_der_oid_c2pnb368w1[DER_OID_SZ_c2pnb368w1] = { + DER_OID_V_c2pnb368w1 +}; + +/* + * c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 } + */ +const unsigned char ossl_der_oid_c2tnb431r1[DER_OID_SZ_c2tnb431r1] = { + DER_OID_V_c2tnb431r1 +}; + +/* + * prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 } + */ +const unsigned char ossl_der_oid_prime192v1[DER_OID_SZ_prime192v1] = { + DER_OID_V_prime192v1 +}; + +/* + * prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 } + */ +const unsigned char ossl_der_oid_prime192v2[DER_OID_SZ_prime192v2] = { + DER_OID_V_prime192v2 +}; + +/* + * prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 } + */ +const unsigned char ossl_der_oid_prime192v3[DER_OID_SZ_prime192v3] = { + DER_OID_V_prime192v3 +}; + +/* + * prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 } + */ +const unsigned char ossl_der_oid_prime239v1[DER_OID_SZ_prime239v1] = { + DER_OID_V_prime239v1 +}; + +/* + * prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 } + */ +const unsigned char ossl_der_oid_prime239v2[DER_OID_SZ_prime239v2] = { + DER_OID_V_prime239v2 +}; + +/* + * prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 } + */ +const unsigned char ossl_der_oid_prime239v3[DER_OID_SZ_prime239v3] = { + DER_OID_V_prime239v3 +}; + +/* + * prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 } + */ +const unsigned char ossl_der_oid_prime256v1[DER_OID_SZ_prime256v1] = { + DER_OID_V_prime256v1 +}; + +/* + * ecdsa-with-SHA224 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 1 } + */ +const unsigned char ossl_der_oid_ecdsa_with_SHA224[DER_OID_SZ_ecdsa_with_SHA224] = { + DER_OID_V_ecdsa_with_SHA224 +}; + +/* + * ecdsa-with-SHA256 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 2 } + */ +const unsigned char ossl_der_oid_ecdsa_with_SHA256[DER_OID_SZ_ecdsa_with_SHA256] = { + DER_OID_V_ecdsa_with_SHA256 +}; + +/* + * ecdsa-with-SHA384 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 3 } + */ +const unsigned char ossl_der_oid_ecdsa_with_SHA384[DER_OID_SZ_ecdsa_with_SHA384] = { + DER_OID_V_ecdsa_with_SHA384 +}; + +/* + * ecdsa-with-SHA512 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 4 } + */ +const unsigned char ossl_der_oid_ecdsa_with_SHA512[DER_OID_SZ_ecdsa_with_SHA512] = { + DER_OID_V_ecdsa_with_SHA512 +}; + +/* + * id-ecdsa-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 9 } + */ +const unsigned char ossl_der_oid_id_ecdsa_with_sha3_224[DER_OID_SZ_id_ecdsa_with_sha3_224] = { + DER_OID_V_id_ecdsa_with_sha3_224 +}; + +/* + * id-ecdsa-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 10 } + */ +const unsigned char ossl_der_oid_id_ecdsa_with_sha3_256[DER_OID_SZ_id_ecdsa_with_sha3_256] = { + DER_OID_V_id_ecdsa_with_sha3_256 +}; + +/* + * id-ecdsa-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 11 } + */ +const unsigned char ossl_der_oid_id_ecdsa_with_sha3_384[DER_OID_SZ_id_ecdsa_with_sha3_384] = { + DER_OID_V_id_ecdsa_with_sha3_384 +}; + +/* + * id-ecdsa-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 12 } + */ +const unsigned char ossl_der_oid_id_ecdsa_with_sha3_512[DER_OID_SZ_id_ecdsa_with_sha3_512] = { + DER_OID_V_id_ecdsa_with_sha3_512 +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c new file mode 100644 index 00000000000000..ba7bf14b5e156d --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c @@ -0,0 +1,44 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_ecx_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "prov/der_ecx.h" + +/* Well known OIDs precompiled */ + +/* + * id-X25519 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 110 } + */ +const unsigned char ossl_der_oid_id_X25519[DER_OID_SZ_id_X25519] = { + DER_OID_V_id_X25519 +}; + +/* + * id-X448 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 111 } + */ +const unsigned char ossl_der_oid_id_X448[DER_OID_SZ_id_X448] = { + DER_OID_V_id_X448 +}; + +/* + * id-Ed25519 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 112 } + */ +const unsigned char ossl_der_oid_id_Ed25519[DER_OID_SZ_id_Ed25519] = { + DER_OID_V_id_Ed25519 +}; + +/* + * id-Ed448 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 113 } + */ +const unsigned char ossl_der_oid_id_Ed448[DER_OID_SZ_id_Ed448] = { + DER_OID_V_id_Ed448 +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c new file mode 100644 index 00000000000000..a3431798402f3f --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c @@ -0,0 +1,174 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_rsa_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "prov/der_rsa.h" + +/* Well known OIDs precompiled */ + +/* + * hashAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 2 } + */ +const unsigned char ossl_der_oid_hashAlgs[DER_OID_SZ_hashAlgs] = { + DER_OID_V_hashAlgs +}; + +/* + * rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } + */ +const unsigned char ossl_der_oid_rsaEncryption[DER_OID_SZ_rsaEncryption] = { + DER_OID_V_rsaEncryption +}; + +/* + * id-RSAES-OAEP OBJECT IDENTIFIER ::= { pkcs-1 7 } + */ +const unsigned char ossl_der_oid_id_RSAES_OAEP[DER_OID_SZ_id_RSAES_OAEP] = { + DER_OID_V_id_RSAES_OAEP +}; + +/* + * id-pSpecified OBJECT IDENTIFIER ::= { pkcs-1 9 } + */ +const unsigned char ossl_der_oid_id_pSpecified[DER_OID_SZ_id_pSpecified] = { + DER_OID_V_id_pSpecified +}; + +/* + * id-RSASSA-PSS OBJECT IDENTIFIER ::= { pkcs-1 10 } + */ +const unsigned char ossl_der_oid_id_RSASSA_PSS[DER_OID_SZ_id_RSASSA_PSS] = { + DER_OID_V_id_RSASSA_PSS +}; + +/* + * md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 } + */ +const unsigned char ossl_der_oid_md2WithRSAEncryption[DER_OID_SZ_md2WithRSAEncryption] = { + DER_OID_V_md2WithRSAEncryption +}; + +/* + * md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 } + */ +const unsigned char ossl_der_oid_md5WithRSAEncryption[DER_OID_SZ_md5WithRSAEncryption] = { + DER_OID_V_md5WithRSAEncryption +}; + +/* + * sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } + */ +const unsigned char ossl_der_oid_sha1WithRSAEncryption[DER_OID_SZ_sha1WithRSAEncryption] = { + DER_OID_V_sha1WithRSAEncryption +}; + +/* + * sha224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 14 } + */ +const unsigned char ossl_der_oid_sha224WithRSAEncryption[DER_OID_SZ_sha224WithRSAEncryption] = { + DER_OID_V_sha224WithRSAEncryption +}; + +/* + * sha256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 11 } + */ +const unsigned char ossl_der_oid_sha256WithRSAEncryption[DER_OID_SZ_sha256WithRSAEncryption] = { + DER_OID_V_sha256WithRSAEncryption +}; + +/* + * sha384WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 12 } + */ +const unsigned char ossl_der_oid_sha384WithRSAEncryption[DER_OID_SZ_sha384WithRSAEncryption] = { + DER_OID_V_sha384WithRSAEncryption +}; + +/* + * sha512WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 13 } + */ +const unsigned char ossl_der_oid_sha512WithRSAEncryption[DER_OID_SZ_sha512WithRSAEncryption] = { + DER_OID_V_sha512WithRSAEncryption +}; + +/* + * sha512-224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 15 } + */ +const unsigned char ossl_der_oid_sha512_224WithRSAEncryption[DER_OID_SZ_sha512_224WithRSAEncryption] = { + DER_OID_V_sha512_224WithRSAEncryption +}; + +/* + * sha512-256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 16 } + */ +const unsigned char ossl_der_oid_sha512_256WithRSAEncryption[DER_OID_SZ_sha512_256WithRSAEncryption] = { + DER_OID_V_sha512_256WithRSAEncryption +}; + +/* + * id-mgf1 OBJECT IDENTIFIER ::= { pkcs-1 8 } + */ +const unsigned char ossl_der_oid_id_mgf1[DER_OID_SZ_id_mgf1] = { + DER_OID_V_id_mgf1 +}; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 13 } + */ +const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_224[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_224] = { + DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_224 +}; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 14 } + */ +const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_256[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_256] = { + DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_256 +}; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 15 } + */ +const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_384[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_384] = { + DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_384 +}; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 16 } + */ +const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_512[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_512] = { + DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_512 +}; + +/* + * md4WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 3 } + */ +const unsigned char ossl_der_oid_md4WithRSAEncryption[DER_OID_SZ_md4WithRSAEncryption] = { + DER_OID_V_md4WithRSAEncryption +}; + +/* + * ripemd160WithRSAEncryption OBJECT IDENTIFIER ::= { + * iso(1) identified-organization(3) teletrust(36) algorithm(3) signatureAlgorithm(3) rsaSignature(1) 2 + * } + */ +const unsigned char ossl_der_oid_ripemd160WithRSAEncryption[DER_OID_SZ_ripemd160WithRSAEncryption] = { + DER_OID_V_ripemd160WithRSAEncryption +}; + +/* + * mdc2WithRSASignature OBJECT IDENTIFIER ::= { + * iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) mdc2WithRSASignature(14) + * } + */ +const unsigned char ossl_der_oid_mdc2WithRSASignature[DER_OID_SZ_mdc2WithRSASignature] = { + DER_OID_V_mdc2WithRSASignature +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c new file mode 100644 index 00000000000000..6424ea166b7e15 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c @@ -0,0 +1,30 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_sm2_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "prov/der_sm2.h" + +/* Well known OIDs precompiled */ + +/* + * sm2-with-SM3 OBJECT IDENTIFIER ::= { sm-scheme 501 } + */ +const unsigned char ossl_der_oid_sm2_with_SM3[DER_OID_SZ_sm2_with_SM3] = { + DER_OID_V_sm2_with_SM3 +}; + +/* + * curveSM2 OBJECT IDENTIFIER ::= { sm-scheme 301 } + */ +const unsigned char ossl_der_oid_curveSM2[DER_OID_SZ_curveSM2] = { + DER_OID_V_curveSM2 +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c new file mode 100644 index 00000000000000..6cf93972f48b6d --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c @@ -0,0 +1,46 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/der/der_wrap_gen.c.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "prov/der_wrap.h" + +/* Well known OIDs precompiled */ + +/* + * id-alg-CMS3DESwrap OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 6 + * } + */ +const unsigned char ossl_der_oid_id_alg_CMS3DESwrap[DER_OID_SZ_id_alg_CMS3DESwrap] = { + DER_OID_V_id_alg_CMS3DESwrap +}; + +/* + * id-aes128-wrap OBJECT IDENTIFIER ::= { aes 5 } + */ +const unsigned char ossl_der_oid_id_aes128_wrap[DER_OID_SZ_id_aes128_wrap] = { + DER_OID_V_id_aes128_wrap +}; + +/* + * id-aes192-wrap OBJECT IDENTIFIER ::= { aes 25 } + */ +const unsigned char ossl_der_oid_id_aes192_wrap[DER_OID_SZ_id_aes192_wrap] = { + DER_OID_V_id_aes192_wrap +}; + +/* + * id-aes256-wrap OBJECT IDENTIFIER ::= { aes 45 } + */ +const unsigned char ossl_der_oid_id_aes256_wrap[DER_OID_SZ_id_aes256_wrap] = { + DER_OID_V_id_aes256_wrap +}; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_digests.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_digests.h new file mode 100644 index 00000000000000..b184807c80ceb5 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_digests.h @@ -0,0 +1,160 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_digests.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/der.h" + +/* Well known OIDs precompiled */ + +/* + * sigAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 3 } + */ +#define DER_OID_V_sigAlgs DER_P_OBJECT, 8, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03 +#define DER_OID_SZ_sigAlgs 10 +extern const unsigned char ossl_der_oid_sigAlgs[DER_OID_SZ_sigAlgs]; + +/* + * id-sha1 OBJECT IDENTIFIER ::= { iso(1) + * identified-organization(3) oiw(14) + * secsig(3) algorithms(2) 26 } + */ +#define DER_OID_V_id_sha1 DER_P_OBJECT, 5, 0x2B, 0x0E, 0x03, 0x02, 0x1A +#define DER_OID_SZ_id_sha1 7 +extern const unsigned char ossl_der_oid_id_sha1[DER_OID_SZ_id_sha1]; + +/* + * id-md2 OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 2 } + */ +#define DER_OID_V_id_md2 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x02 +#define DER_OID_SZ_id_md2 10 +extern const unsigned char ossl_der_oid_id_md2[DER_OID_SZ_id_md2]; + +/* + * id-md5 OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 5 } + */ +#define DER_OID_V_id_md5 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x02, 0x05 +#define DER_OID_SZ_id_md5 10 +extern const unsigned char ossl_der_oid_id_md5[DER_OID_SZ_id_md5]; + +/* + * id-sha256 OBJECT IDENTIFIER ::= { hashAlgs 1 } + */ +#define DER_OID_V_id_sha256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01 +#define DER_OID_SZ_id_sha256 11 +extern const unsigned char ossl_der_oid_id_sha256[DER_OID_SZ_id_sha256]; + +/* + * id-sha384 OBJECT IDENTIFIER ::= { hashAlgs 2 } + */ +#define DER_OID_V_id_sha384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02 +#define DER_OID_SZ_id_sha384 11 +extern const unsigned char ossl_der_oid_id_sha384[DER_OID_SZ_id_sha384]; + +/* + * id-sha512 OBJECT IDENTIFIER ::= { hashAlgs 3 } + */ +#define DER_OID_V_id_sha512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03 +#define DER_OID_SZ_id_sha512 11 +extern const unsigned char ossl_der_oid_id_sha512[DER_OID_SZ_id_sha512]; + +/* + * id-sha224 OBJECT IDENTIFIER ::= { hashAlgs 4 } + */ +#define DER_OID_V_id_sha224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x04 +#define DER_OID_SZ_id_sha224 11 +extern const unsigned char ossl_der_oid_id_sha224[DER_OID_SZ_id_sha224]; + +/* + * id-sha512-224 OBJECT IDENTIFIER ::= { hashAlgs 5 } + */ +#define DER_OID_V_id_sha512_224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x05 +#define DER_OID_SZ_id_sha512_224 11 +extern const unsigned char ossl_der_oid_id_sha512_224[DER_OID_SZ_id_sha512_224]; + +/* + * id-sha512-256 OBJECT IDENTIFIER ::= { hashAlgs 6 } + */ +#define DER_OID_V_id_sha512_256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x06 +#define DER_OID_SZ_id_sha512_256 11 +extern const unsigned char ossl_der_oid_id_sha512_256[DER_OID_SZ_id_sha512_256]; + +/* + * id-sha3-224 OBJECT IDENTIFIER ::= { hashAlgs 7 } + */ +#define DER_OID_V_id_sha3_224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x07 +#define DER_OID_SZ_id_sha3_224 11 +extern const unsigned char ossl_der_oid_id_sha3_224[DER_OID_SZ_id_sha3_224]; + +/* + * id-sha3-256 OBJECT IDENTIFIER ::= { hashAlgs 8 } + */ +#define DER_OID_V_id_sha3_256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x08 +#define DER_OID_SZ_id_sha3_256 11 +extern const unsigned char ossl_der_oid_id_sha3_256[DER_OID_SZ_id_sha3_256]; + +/* + * id-sha3-384 OBJECT IDENTIFIER ::= { hashAlgs 9 } + */ +#define DER_OID_V_id_sha3_384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x09 +#define DER_OID_SZ_id_sha3_384 11 +extern const unsigned char ossl_der_oid_id_sha3_384[DER_OID_SZ_id_sha3_384]; + +/* + * id-sha3-512 OBJECT IDENTIFIER ::= { hashAlgs 10 } + */ +#define DER_OID_V_id_sha3_512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0A +#define DER_OID_SZ_id_sha3_512 11 +extern const unsigned char ossl_der_oid_id_sha3_512[DER_OID_SZ_id_sha3_512]; + +/* + * id-shake128 OBJECT IDENTIFIER ::= { hashAlgs 11 } + */ +#define DER_OID_V_id_shake128 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0B +#define DER_OID_SZ_id_shake128 11 +extern const unsigned char ossl_der_oid_id_shake128[DER_OID_SZ_id_shake128]; + +/* + * id-shake256 OBJECT IDENTIFIER ::= { hashAlgs 12 } + */ +#define DER_OID_V_id_shake256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0C +#define DER_OID_SZ_id_shake256 11 +extern const unsigned char ossl_der_oid_id_shake256[DER_OID_SZ_id_shake256]; + +/* + * id-shake128-len OBJECT IDENTIFIER ::= { hashAlgs 17 } + */ +#define DER_OID_V_id_shake128_len DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x11 +#define DER_OID_SZ_id_shake128_len 11 +extern const unsigned char ossl_der_oid_id_shake128_len[DER_OID_SZ_id_shake128_len]; + +/* + * id-shake256-len OBJECT IDENTIFIER ::= { hashAlgs 18 } + */ +#define DER_OID_V_id_shake256_len DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x12 +#define DER_OID_SZ_id_shake256_len 11 +extern const unsigned char ossl_der_oid_id_shake256_len[DER_OID_SZ_id_shake256_len]; + +/* + * id-KMACWithSHAKE128 OBJECT IDENTIFIER ::={hashAlgs 19} + */ +#define DER_OID_V_id_KMACWithSHAKE128 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x13 +#define DER_OID_SZ_id_KMACWithSHAKE128 11 +extern const unsigned char ossl_der_oid_id_KMACWithSHAKE128[DER_OID_SZ_id_KMACWithSHAKE128]; + +/* + * id-KMACWithSHAKE256 OBJECT IDENTIFIER ::={ hashAlgs 20} + */ +#define DER_OID_V_id_KMACWithSHAKE256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x14 +#define DER_OID_SZ_id_KMACWithSHAKE256 11 +extern const unsigned char ossl_der_oid_id_KMACWithSHAKE256[DER_OID_SZ_id_KMACWithSHAKE256]; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_dsa.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_dsa.h new file mode 100644 index 00000000000000..b12a56282b2556 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_dsa.h @@ -0,0 +1,94 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_dsa.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/der.h" + +/* Well known OIDs precompiled */ + +/* + * id-dsa OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 } + */ +#define DER_OID_V_id_dsa DER_P_OBJECT, 7, 0x2A, 0x86, 0x48, 0xCE, 0x38, 0x04, 0x01 +#define DER_OID_SZ_id_dsa 9 +extern const unsigned char ossl_der_oid_id_dsa[DER_OID_SZ_id_dsa]; + +/* + * id-dsa-with-sha1 OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 } + */ +#define DER_OID_V_id_dsa_with_sha1 DER_P_OBJECT, 7, 0x2A, 0x86, 0x48, 0xCE, 0x38, 0x04, 0x03 +#define DER_OID_SZ_id_dsa_with_sha1 9 +extern const unsigned char ossl_der_oid_id_dsa_with_sha1[DER_OID_SZ_id_dsa_with_sha1]; + +/* + * id-dsa-with-sha224 OBJECT IDENTIFIER ::= { sigAlgs 1 } + */ +#define DER_OID_V_id_dsa_with_sha224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x01 +#define DER_OID_SZ_id_dsa_with_sha224 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha224[DER_OID_SZ_id_dsa_with_sha224]; + +/* + * id-dsa-with-sha256 OBJECT IDENTIFIER ::= { sigAlgs 2 } + */ +#define DER_OID_V_id_dsa_with_sha256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x02 +#define DER_OID_SZ_id_dsa_with_sha256 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha256[DER_OID_SZ_id_dsa_with_sha256]; + +/* + * id-dsa-with-sha384 OBJECT IDENTIFIER ::= { sigAlgs 3 } + */ +#define DER_OID_V_id_dsa_with_sha384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x03 +#define DER_OID_SZ_id_dsa_with_sha384 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha384[DER_OID_SZ_id_dsa_with_sha384]; + +/* + * id-dsa-with-sha512 OBJECT IDENTIFIER ::= { sigAlgs 4 } + */ +#define DER_OID_V_id_dsa_with_sha512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x04 +#define DER_OID_SZ_id_dsa_with_sha512 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha512[DER_OID_SZ_id_dsa_with_sha512]; + +/* + * id-dsa-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 5 } + */ +#define DER_OID_V_id_dsa_with_sha3_224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x05 +#define DER_OID_SZ_id_dsa_with_sha3_224 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha3_224[DER_OID_SZ_id_dsa_with_sha3_224]; + +/* + * id-dsa-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 6 } + */ +#define DER_OID_V_id_dsa_with_sha3_256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x06 +#define DER_OID_SZ_id_dsa_with_sha3_256 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha3_256[DER_OID_SZ_id_dsa_with_sha3_256]; + +/* + * id-dsa-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 7 } + */ +#define DER_OID_V_id_dsa_with_sha3_384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x07 +#define DER_OID_SZ_id_dsa_with_sha3_384 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha3_384[DER_OID_SZ_id_dsa_with_sha3_384]; + +/* + * id-dsa-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 8 } + */ +#define DER_OID_V_id_dsa_with_sha3_512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x08 +#define DER_OID_SZ_id_dsa_with_sha3_512 11 +extern const unsigned char ossl_der_oid_id_dsa_with_sha3_512[DER_OID_SZ_id_dsa_with_sha3_512]; + + +/* Subject Public Key Info */ +int ossl_DER_w_algorithmIdentifier_DSA(WPACKET *pkt, int tag, DSA *dsa); +/* Signature */ +int ossl_DER_w_algorithmIdentifier_DSA_with_MD(WPACKET *pkt, int tag, + DSA *dsa, int mdnid); diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ec.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ec.h new file mode 100644 index 00000000000000..dd697771f71166 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ec.h @@ -0,0 +1,286 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_ec.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "crypto/ec.h" +#include "internal/der.h" + +/* Well known OIDs precompiled */ + +/* + * ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 } + */ +#define DER_OID_V_ecdsa_with_SHA1 DER_P_OBJECT, 7, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x01 +#define DER_OID_SZ_ecdsa_with_SHA1 9 +extern const unsigned char ossl_der_oid_ecdsa_with_SHA1[DER_OID_SZ_ecdsa_with_SHA1]; + +/* + * id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 } + */ +#define DER_OID_V_id_ecPublicKey DER_P_OBJECT, 7, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x02, 0x01 +#define DER_OID_SZ_id_ecPublicKey 9 +extern const unsigned char ossl_der_oid_id_ecPublicKey[DER_OID_SZ_id_ecPublicKey]; + +/* + * c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 } + */ +#define DER_OID_V_c2pnb163v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x01 +#define DER_OID_SZ_c2pnb163v1 10 +extern const unsigned char ossl_der_oid_c2pnb163v1[DER_OID_SZ_c2pnb163v1]; + +/* + * c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 } + */ +#define DER_OID_V_c2pnb163v2 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x02 +#define DER_OID_SZ_c2pnb163v2 10 +extern const unsigned char ossl_der_oid_c2pnb163v2[DER_OID_SZ_c2pnb163v2]; + +/* + * c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 } + */ +#define DER_OID_V_c2pnb163v3 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x03 +#define DER_OID_SZ_c2pnb163v3 10 +extern const unsigned char ossl_der_oid_c2pnb163v3[DER_OID_SZ_c2pnb163v3]; + +/* + * c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 } + */ +#define DER_OID_V_c2pnb176w1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x04 +#define DER_OID_SZ_c2pnb176w1 10 +extern const unsigned char ossl_der_oid_c2pnb176w1[DER_OID_SZ_c2pnb176w1]; + +/* + * c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 } + */ +#define DER_OID_V_c2tnb191v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x05 +#define DER_OID_SZ_c2tnb191v1 10 +extern const unsigned char ossl_der_oid_c2tnb191v1[DER_OID_SZ_c2tnb191v1]; + +/* + * c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 } + */ +#define DER_OID_V_c2tnb191v2 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x06 +#define DER_OID_SZ_c2tnb191v2 10 +extern const unsigned char ossl_der_oid_c2tnb191v2[DER_OID_SZ_c2tnb191v2]; + +/* + * c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 } + */ +#define DER_OID_V_c2tnb191v3 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x07 +#define DER_OID_SZ_c2tnb191v3 10 +extern const unsigned char ossl_der_oid_c2tnb191v3[DER_OID_SZ_c2tnb191v3]; + +/* + * c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 } + */ +#define DER_OID_V_c2onb191v4 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x08 +#define DER_OID_SZ_c2onb191v4 10 +extern const unsigned char ossl_der_oid_c2onb191v4[DER_OID_SZ_c2onb191v4]; + +/* + * c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 } + */ +#define DER_OID_V_c2onb191v5 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x09 +#define DER_OID_SZ_c2onb191v5 10 +extern const unsigned char ossl_der_oid_c2onb191v5[DER_OID_SZ_c2onb191v5]; + +/* + * c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 } + */ +#define DER_OID_V_c2pnb208w1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0A +#define DER_OID_SZ_c2pnb208w1 10 +extern const unsigned char ossl_der_oid_c2pnb208w1[DER_OID_SZ_c2pnb208w1]; + +/* + * c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 } + */ +#define DER_OID_V_c2tnb239v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0B +#define DER_OID_SZ_c2tnb239v1 10 +extern const unsigned char ossl_der_oid_c2tnb239v1[DER_OID_SZ_c2tnb239v1]; + +/* + * c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 } + */ +#define DER_OID_V_c2tnb239v2 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0C +#define DER_OID_SZ_c2tnb239v2 10 +extern const unsigned char ossl_der_oid_c2tnb239v2[DER_OID_SZ_c2tnb239v2]; + +/* + * c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 } + */ +#define DER_OID_V_c2tnb239v3 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0D +#define DER_OID_SZ_c2tnb239v3 10 +extern const unsigned char ossl_der_oid_c2tnb239v3[DER_OID_SZ_c2tnb239v3]; + +/* + * c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 } + */ +#define DER_OID_V_c2onb239v4 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0E +#define DER_OID_SZ_c2onb239v4 10 +extern const unsigned char ossl_der_oid_c2onb239v4[DER_OID_SZ_c2onb239v4]; + +/* + * c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 } + */ +#define DER_OID_V_c2onb239v5 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0F +#define DER_OID_SZ_c2onb239v5 10 +extern const unsigned char ossl_der_oid_c2onb239v5[DER_OID_SZ_c2onb239v5]; + +/* + * c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 } + */ +#define DER_OID_V_c2pnb272w1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x10 +#define DER_OID_SZ_c2pnb272w1 10 +extern const unsigned char ossl_der_oid_c2pnb272w1[DER_OID_SZ_c2pnb272w1]; + +/* + * c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 } + */ +#define DER_OID_V_c2pnb304w1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x11 +#define DER_OID_SZ_c2pnb304w1 10 +extern const unsigned char ossl_der_oid_c2pnb304w1[DER_OID_SZ_c2pnb304w1]; + +/* + * c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 } + */ +#define DER_OID_V_c2tnb359v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x12 +#define DER_OID_SZ_c2tnb359v1 10 +extern const unsigned char ossl_der_oid_c2tnb359v1[DER_OID_SZ_c2tnb359v1]; + +/* + * c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 } + */ +#define DER_OID_V_c2pnb368w1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x13 +#define DER_OID_SZ_c2pnb368w1 10 +extern const unsigned char ossl_der_oid_c2pnb368w1[DER_OID_SZ_c2pnb368w1]; + +/* + * c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 } + */ +#define DER_OID_V_c2tnb431r1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x14 +#define DER_OID_SZ_c2tnb431r1 10 +extern const unsigned char ossl_der_oid_c2tnb431r1[DER_OID_SZ_c2tnb431r1]; + +/* + * prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 } + */ +#define DER_OID_V_prime192v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x01 +#define DER_OID_SZ_prime192v1 10 +extern const unsigned char ossl_der_oid_prime192v1[DER_OID_SZ_prime192v1]; + +/* + * prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 } + */ +#define DER_OID_V_prime192v2 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x02 +#define DER_OID_SZ_prime192v2 10 +extern const unsigned char ossl_der_oid_prime192v2[DER_OID_SZ_prime192v2]; + +/* + * prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 } + */ +#define DER_OID_V_prime192v3 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x03 +#define DER_OID_SZ_prime192v3 10 +extern const unsigned char ossl_der_oid_prime192v3[DER_OID_SZ_prime192v3]; + +/* + * prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 } + */ +#define DER_OID_V_prime239v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x04 +#define DER_OID_SZ_prime239v1 10 +extern const unsigned char ossl_der_oid_prime239v1[DER_OID_SZ_prime239v1]; + +/* + * prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 } + */ +#define DER_OID_V_prime239v2 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x05 +#define DER_OID_SZ_prime239v2 10 +extern const unsigned char ossl_der_oid_prime239v2[DER_OID_SZ_prime239v2]; + +/* + * prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 } + */ +#define DER_OID_V_prime239v3 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x06 +#define DER_OID_SZ_prime239v3 10 +extern const unsigned char ossl_der_oid_prime239v3[DER_OID_SZ_prime239v3]; + +/* + * prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 } + */ +#define DER_OID_V_prime256v1 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07 +#define DER_OID_SZ_prime256v1 10 +extern const unsigned char ossl_der_oid_prime256v1[DER_OID_SZ_prime256v1]; + +/* + * ecdsa-with-SHA224 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 1 } + */ +#define DER_OID_V_ecdsa_with_SHA224 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x01 +#define DER_OID_SZ_ecdsa_with_SHA224 10 +extern const unsigned char ossl_der_oid_ecdsa_with_SHA224[DER_OID_SZ_ecdsa_with_SHA224]; + +/* + * ecdsa-with-SHA256 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 2 } + */ +#define DER_OID_V_ecdsa_with_SHA256 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x02 +#define DER_OID_SZ_ecdsa_with_SHA256 10 +extern const unsigned char ossl_der_oid_ecdsa_with_SHA256[DER_OID_SZ_ecdsa_with_SHA256]; + +/* + * ecdsa-with-SHA384 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 3 } + */ +#define DER_OID_V_ecdsa_with_SHA384 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x03 +#define DER_OID_SZ_ecdsa_with_SHA384 10 +extern const unsigned char ossl_der_oid_ecdsa_with_SHA384[DER_OID_SZ_ecdsa_with_SHA384]; + +/* + * ecdsa-with-SHA512 OBJECT IDENTIFIER ::= { iso(1) member-body(2) + * us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) 4 } + */ +#define DER_OID_V_ecdsa_with_SHA512 DER_P_OBJECT, 8, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x04, 0x03, 0x04 +#define DER_OID_SZ_ecdsa_with_SHA512 10 +extern const unsigned char ossl_der_oid_ecdsa_with_SHA512[DER_OID_SZ_ecdsa_with_SHA512]; + +/* + * id-ecdsa-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 9 } + */ +#define DER_OID_V_id_ecdsa_with_sha3_224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x09 +#define DER_OID_SZ_id_ecdsa_with_sha3_224 11 +extern const unsigned char ossl_der_oid_id_ecdsa_with_sha3_224[DER_OID_SZ_id_ecdsa_with_sha3_224]; + +/* + * id-ecdsa-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 10 } + */ +#define DER_OID_V_id_ecdsa_with_sha3_256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0A +#define DER_OID_SZ_id_ecdsa_with_sha3_256 11 +extern const unsigned char ossl_der_oid_id_ecdsa_with_sha3_256[DER_OID_SZ_id_ecdsa_with_sha3_256]; + +/* + * id-ecdsa-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 11 } + */ +#define DER_OID_V_id_ecdsa_with_sha3_384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0B +#define DER_OID_SZ_id_ecdsa_with_sha3_384 11 +extern const unsigned char ossl_der_oid_id_ecdsa_with_sha3_384[DER_OID_SZ_id_ecdsa_with_sha3_384]; + +/* + * id-ecdsa-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 12 } + */ +#define DER_OID_V_id_ecdsa_with_sha3_512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0C +#define DER_OID_SZ_id_ecdsa_with_sha3_512 11 +extern const unsigned char ossl_der_oid_id_ecdsa_with_sha3_512[DER_OID_SZ_id_ecdsa_with_sha3_512]; + + +/* Subject Public Key Info */ +int ossl_DER_w_algorithmIdentifier_EC(WPACKET *pkt, int cont, EC_KEY *ec); +/* Signature */ +int ossl_DER_w_algorithmIdentifier_ECDSA_with_MD(WPACKET *pkt, int cont, + EC_KEY *ec, int mdnid); diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ecx.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ecx.h new file mode 100644 index 00000000000000..fc85738055b54f --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ecx.h @@ -0,0 +1,50 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_ecx.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/der.h" +#include "crypto/ecx.h" + +/* Well known OIDs precompiled */ + +/* + * id-X25519 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 110 } + */ +#define DER_OID_V_id_X25519 DER_P_OBJECT, 3, 0x2B, 0x65, 0x6E +#define DER_OID_SZ_id_X25519 5 +extern const unsigned char ossl_der_oid_id_X25519[DER_OID_SZ_id_X25519]; + +/* + * id-X448 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 111 } + */ +#define DER_OID_V_id_X448 DER_P_OBJECT, 3, 0x2B, 0x65, 0x6F +#define DER_OID_SZ_id_X448 5 +extern const unsigned char ossl_der_oid_id_X448[DER_OID_SZ_id_X448]; + +/* + * id-Ed25519 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 112 } + */ +#define DER_OID_V_id_Ed25519 DER_P_OBJECT, 3, 0x2B, 0x65, 0x70 +#define DER_OID_SZ_id_Ed25519 5 +extern const unsigned char ossl_der_oid_id_Ed25519[DER_OID_SZ_id_Ed25519]; + +/* + * id-Ed448 OBJECT IDENTIFIER ::= { id-edwards-curve-algs 113 } + */ +#define DER_OID_V_id_Ed448 DER_P_OBJECT, 3, 0x2B, 0x65, 0x71 +#define DER_OID_SZ_id_Ed448 5 +extern const unsigned char ossl_der_oid_id_Ed448[DER_OID_SZ_id_Ed448]; + + +int ossl_DER_w_algorithmIdentifier_ED25519(WPACKET *pkt, int cont, ECX_KEY *ec); +int ossl_DER_w_algorithmIdentifier_ED448(WPACKET *pkt, int cont, ECX_KEY *ec); +int ossl_DER_w_algorithmIdentifier_X25519(WPACKET *pkt, int cont, ECX_KEY *ec); +int ossl_DER_w_algorithmIdentifier_X448(WPACKET *pkt, int cont, ECX_KEY *ec); diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_rsa.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_rsa.h new file mode 100644 index 00000000000000..5ec3c515a1bdee --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_rsa.h @@ -0,0 +1,187 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_rsa.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "crypto/rsa.h" +#include "internal/der.h" + +/* Well known OIDs precompiled */ + +/* + * hashAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 2 } + */ +#define DER_OID_V_hashAlgs DER_P_OBJECT, 8, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02 +#define DER_OID_SZ_hashAlgs 10 +extern const unsigned char ossl_der_oid_hashAlgs[DER_OID_SZ_hashAlgs]; + +/* + * rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } + */ +#define DER_OID_V_rsaEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01 +#define DER_OID_SZ_rsaEncryption 11 +extern const unsigned char ossl_der_oid_rsaEncryption[DER_OID_SZ_rsaEncryption]; + +/* + * id-RSAES-OAEP OBJECT IDENTIFIER ::= { pkcs-1 7 } + */ +#define DER_OID_V_id_RSAES_OAEP DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x07 +#define DER_OID_SZ_id_RSAES_OAEP 11 +extern const unsigned char ossl_der_oid_id_RSAES_OAEP[DER_OID_SZ_id_RSAES_OAEP]; + +/* + * id-pSpecified OBJECT IDENTIFIER ::= { pkcs-1 9 } + */ +#define DER_OID_V_id_pSpecified DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x09 +#define DER_OID_SZ_id_pSpecified 11 +extern const unsigned char ossl_der_oid_id_pSpecified[DER_OID_SZ_id_pSpecified]; + +/* + * id-RSASSA-PSS OBJECT IDENTIFIER ::= { pkcs-1 10 } + */ +#define DER_OID_V_id_RSASSA_PSS DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0A +#define DER_OID_SZ_id_RSASSA_PSS 11 +extern const unsigned char ossl_der_oid_id_RSASSA_PSS[DER_OID_SZ_id_RSASSA_PSS]; + +/* + * md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 } + */ +#define DER_OID_V_md2WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x02 +#define DER_OID_SZ_md2WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_md2WithRSAEncryption[DER_OID_SZ_md2WithRSAEncryption]; + +/* + * md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 } + */ +#define DER_OID_V_md5WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04 +#define DER_OID_SZ_md5WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_md5WithRSAEncryption[DER_OID_SZ_md5WithRSAEncryption]; + +/* + * sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } + */ +#define DER_OID_V_sha1WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x05 +#define DER_OID_SZ_sha1WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha1WithRSAEncryption[DER_OID_SZ_sha1WithRSAEncryption]; + +/* + * sha224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 14 } + */ +#define DER_OID_V_sha224WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0E +#define DER_OID_SZ_sha224WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha224WithRSAEncryption[DER_OID_SZ_sha224WithRSAEncryption]; + +/* + * sha256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 11 } + */ +#define DER_OID_V_sha256WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B +#define DER_OID_SZ_sha256WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha256WithRSAEncryption[DER_OID_SZ_sha256WithRSAEncryption]; + +/* + * sha384WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 12 } + */ +#define DER_OID_V_sha384WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0C +#define DER_OID_SZ_sha384WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha384WithRSAEncryption[DER_OID_SZ_sha384WithRSAEncryption]; + +/* + * sha512WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 13 } + */ +#define DER_OID_V_sha512WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0D +#define DER_OID_SZ_sha512WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha512WithRSAEncryption[DER_OID_SZ_sha512WithRSAEncryption]; + +/* + * sha512-224WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 15 } + */ +#define DER_OID_V_sha512_224WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0F +#define DER_OID_SZ_sha512_224WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha512_224WithRSAEncryption[DER_OID_SZ_sha512_224WithRSAEncryption]; + +/* + * sha512-256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 16 } + */ +#define DER_OID_V_sha512_256WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x10 +#define DER_OID_SZ_sha512_256WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_sha512_256WithRSAEncryption[DER_OID_SZ_sha512_256WithRSAEncryption]; + +/* + * id-mgf1 OBJECT IDENTIFIER ::= { pkcs-1 8 } + */ +#define DER_OID_V_id_mgf1 DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x08 +#define DER_OID_SZ_id_mgf1 11 +extern const unsigned char ossl_der_oid_id_mgf1[DER_OID_SZ_id_mgf1]; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-224 OBJECT IDENTIFIER ::= { sigAlgs 13 } + */ +#define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_224 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0D +#define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_224 11 +extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_224[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_224]; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-256 OBJECT IDENTIFIER ::= { sigAlgs 14 } + */ +#define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_256 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0E +#define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_256 11 +extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_256[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_256]; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-384 OBJECT IDENTIFIER ::= { sigAlgs 15 } + */ +#define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_384 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x0F +#define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_384 11 +extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_384[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_384]; + +/* + * id-rsassa-pkcs1-v1_5-with-sha3-512 OBJECT IDENTIFIER ::= { sigAlgs 16 } + */ +#define DER_OID_V_id_rsassa_pkcs1_v1_5_with_sha3_512 DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x10 +#define DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_512 11 +extern const unsigned char ossl_der_oid_id_rsassa_pkcs1_v1_5_with_sha3_512[DER_OID_SZ_id_rsassa_pkcs1_v1_5_with_sha3_512]; + +/* + * md4WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 3 } + */ +#define DER_OID_V_md4WithRSAEncryption DER_P_OBJECT, 9, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x03 +#define DER_OID_SZ_md4WithRSAEncryption 11 +extern const unsigned char ossl_der_oid_md4WithRSAEncryption[DER_OID_SZ_md4WithRSAEncryption]; + +/* + * ripemd160WithRSAEncryption OBJECT IDENTIFIER ::= { + * iso(1) identified-organization(3) teletrust(36) algorithm(3) signatureAlgorithm(3) rsaSignature(1) 2 + * } + */ +#define DER_OID_V_ripemd160WithRSAEncryption DER_P_OBJECT, 6, 0x2B, 0x24, 0x03, 0x03, 0x01, 0x02 +#define DER_OID_SZ_ripemd160WithRSAEncryption 8 +extern const unsigned char ossl_der_oid_ripemd160WithRSAEncryption[DER_OID_SZ_ripemd160WithRSAEncryption]; + +/* + * mdc2WithRSASignature OBJECT IDENTIFIER ::= { + * iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) mdc2WithRSASignature(14) + * } + */ +#define DER_OID_V_mdc2WithRSASignature DER_P_OBJECT, 5, 0x2B, 0x0E, 0x03, 0x02, 0x0E +#define DER_OID_SZ_mdc2WithRSASignature 7 +extern const unsigned char ossl_der_oid_mdc2WithRSASignature[DER_OID_SZ_mdc2WithRSASignature]; + + +/* PSS parameters */ +int ossl_DER_w_RSASSA_PSS_params(WPACKET *pkt, int tag, + const RSA_PSS_PARAMS_30 *pss); +/* Subject Public Key Info */ +int ossl_DER_w_algorithmIdentifier_RSA(WPACKET *pkt, int tag, RSA *rsa); +int ossl_DER_w_algorithmIdentifier_RSA_PSS(WPACKET *pkt, int tag, + int rsa_type, + const RSA_PSS_PARAMS_30 *pss); +/* Signature */ +int ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption(WPACKET *pkt, int tag, + int mdnid); diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_sm2.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_sm2.h new file mode 100644 index 00000000000000..9d41b31265ca34 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_sm2.h @@ -0,0 +1,37 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_sm2.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "crypto/ec.h" +#include "internal/der.h" + +/* Well known OIDs precompiled */ + +/* + * sm2-with-SM3 OBJECT IDENTIFIER ::= { sm-scheme 501 } + */ +#define DER_OID_V_sm2_with_SM3 DER_P_OBJECT, 8, 0x2A, 0x81, 0x1C, 0xCF, 0x55, 0x01, 0x83, 0x75 +#define DER_OID_SZ_sm2_with_SM3 10 +extern const unsigned char ossl_der_oid_sm2_with_SM3[DER_OID_SZ_sm2_with_SM3]; + +/* + * curveSM2 OBJECT IDENTIFIER ::= { sm-scheme 301 } + */ +#define DER_OID_V_curveSM2 DER_P_OBJECT, 8, 0x2A, 0x81, 0x1C, 0xCF, 0x55, 0x01, 0x82, 0x2D +#define DER_OID_SZ_curveSM2 10 +extern const unsigned char ossl_der_oid_curveSM2[DER_OID_SZ_curveSM2]; + + +/* Subject Public Key Info */ +int ossl_DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY *ec); +/* Signature */ +int ossl_DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont, + EC_KEY *ec, int mdnid); diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_wrap.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_wrap.h new file mode 100644 index 00000000000000..ff2954037727b9 --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_wrap.h @@ -0,0 +1,46 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from providers/common/include/prov/der_wrap.h.in + * + * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/der.h" + +/* Well known OIDs precompiled */ + +/* + * id-alg-CMS3DESwrap OBJECT IDENTIFIER ::= { + * iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 6 + * } + */ +#define DER_OID_V_id_alg_CMS3DESwrap DER_P_OBJECT, 11, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x03, 0x06 +#define DER_OID_SZ_id_alg_CMS3DESwrap 13 +extern const unsigned char ossl_der_oid_id_alg_CMS3DESwrap[DER_OID_SZ_id_alg_CMS3DESwrap]; + +/* + * id-aes128-wrap OBJECT IDENTIFIER ::= { aes 5 } + */ +#define DER_OID_V_id_aes128_wrap DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x01, 0x05 +#define DER_OID_SZ_id_aes128_wrap 11 +extern const unsigned char ossl_der_oid_id_aes128_wrap[DER_OID_SZ_id_aes128_wrap]; + +/* + * id-aes192-wrap OBJECT IDENTIFIER ::= { aes 25 } + */ +#define DER_OID_V_id_aes192_wrap DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x01, 0x19 +#define DER_OID_SZ_id_aes192_wrap 11 +extern const unsigned char ossl_der_oid_id_aes192_wrap[DER_OID_SZ_id_aes192_wrap]; + +/* + * id-aes256-wrap OBJECT IDENTIFIER ::= { aes 45 } + */ +#define DER_OID_V_id_aes256_wrap DER_P_OBJECT, 9, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x01, 0x2D +#define DER_OID_SZ_id_aes256_wrap 11 +extern const unsigned char ossl_der_oid_id_aes256_wrap[DER_OID_SZ_id_aes256_wrap]; + diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/fips.ld b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/fips.ld new file mode 100644 index 00000000000000..1debaaa7ff652d --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/fips.ld @@ -0,0 +1,5 @@ +{ + global: + OSSL_provider_init; + local: *; +}; diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/legacy.ld b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/legacy.ld new file mode 100644 index 00000000000000..1debaaa7ff652d --- /dev/null +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/legacy.ld @@ -0,0 +1,5 @@ +{ + global: + OSSL_provider_init; + local: *; +}; From f7c4daaf67178e86238543e97e66548dac0a9765 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 17 May 2023 01:28:24 +0100 Subject: [PATCH 009/146] deps: update ada to 2.4.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48036 Reviewed-By: Yagiz Nizipli Reviewed-By: Debadree Chatterjee Reviewed-By: Matthew Aitken Reviewed-By: Tobias Nießen --- deps/ada/ada.cpp | 146 ++++++++++++++++++++++++++++++++++++----------- deps/ada/ada.h | 32 ++++++++--- deps/ada/ada_c.h | 36 +++++++----- 3 files changed, 159 insertions(+), 55 deletions(-) diff --git a/deps/ada/ada.cpp b/deps/ada/ada.cpp index 84dd6db3e1ed78..e0ee4a508dd7e9 100644 --- a/deps/ada/ada.cpp +++ b/deps/ada/ada.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2023-05-08 12:41:03 -0400. Do not edit! */ +/* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */ /* begin file src/ada.cpp */ #include "ada.h" /* begin file src/checkers.cpp */ @@ -9786,6 +9786,11 @@ std::string to_unicode(std::string_view input) { ADA_POP_DISABLE_WARNINGS #include +#if ADA_NEON +#include +#elif ADA_SSE2 +#include +#endif namespace ada::unicode { @@ -9817,8 +9822,58 @@ constexpr bool to_lower_ascii(char* input, size_t length) noexcept { } return non_ascii == 0; } - -ada_really_inline constexpr bool has_tabs_or_newline( +#if ADA_NEON +ada_really_inline bool has_tabs_or_newline( + std::string_view user_input) noexcept { + size_t i = 0; + const uint8x16_t mask1 = vmovq_n_u8('\r'); + const uint8x16_t mask2 = vmovq_n_u8('\n'); + const uint8x16_t mask3 = vmovq_n_u8('\t'); + uint8x16_t running{0}; + for (; i + 15 < user_input.size(); i += 16) { + uint8x16_t word = vld1q_u8((const uint8_t*)user_input.data() + i); + running = vorrq_u8(vorrq_u8(running, vorrq_u8(vceqq_u8(word, mask1), + vceqq_u8(word, mask2))), + vceqq_u8(word, mask3)); + } + if (i < user_input.size()) { + uint8_t buffer[16]{}; + memcpy(buffer, user_input.data() + i, user_input.size() - i); + uint8x16_t word = vld1q_u8((const uint8_t*)user_input.data() + i); + running = vorrq_u8(vorrq_u8(running, vorrq_u8(vceqq_u8(word, mask1), + vceqq_u8(word, mask2))), + vceqq_u8(word, mask3)); + } + return vmaxvq_u8(running) != 0; +} +#elif ADA_SSE2 +ada_really_inline bool has_tabs_or_newline( + std::string_view user_input) noexcept { + size_t i = 0; + const __m128i mask1 = _mm_set1_epi8('\r'); + const __m128i mask2 = _mm_set1_epi8('\n'); + const __m128i mask3 = _mm_set1_epi8('\t'); + __m128i running{0}; + for (; i + 15 < user_input.size(); i += 16) { + __m128i word = _mm_loadu_si128((const __m128i*)(user_input.data() + i)); + running = _mm_or_si128( + _mm_or_si128(running, _mm_or_si128(_mm_cmpeq_epi8(word, mask1), + _mm_cmpeq_epi8(word, mask2))), + _mm_cmpeq_epi8(word, mask3)); + } + if (i < user_input.size()) { + uint8_t buffer[16]{}; + memcpy(buffer, user_input.data() + i, user_input.size() - i); + __m128i word = _mm_loadu_si128((const __m128i*)buffer); + running = _mm_or_si128( + _mm_or_si128(running, _mm_or_si128(_mm_cmpeq_epi8(word, mask1), + _mm_cmpeq_epi8(word, mask2))), + _mm_cmpeq_epi8(word, mask3)); + } + return _mm_movemask_epi8(running) != 0; +} +#else +ada_really_inline bool has_tabs_or_newline( std::string_view user_input) noexcept { auto has_zero_byte = [](uint64_t v) { return ((v - 0x0101010101010101) & ~(v)&0x8080808080808080); @@ -9849,6 +9904,7 @@ ada_really_inline constexpr bool has_tabs_or_newline( } return running; } +#endif // A forbidden host code point is U+0000 NULL, U+0009 TAB, U+000A LF, U+000D CR, // U+0020 SPACE, U+0023 (#), U+002F (/), U+003A (:), U+003C (<), U+003E (>), @@ -13732,8 +13788,11 @@ bool url_aggregator::set_hostname(const std::string_view input) { [[nodiscard]] std::string_view url_aggregator::get_host() const noexcept { ada_log("url_aggregator::get_host"); + // Technically, we should check if there is a hostname, but + // the code below works even if there isn't. + // if(!has_hostname()) { return ""; } size_t start = components.host_start; - if (buffer.size() > components.host_start && + if (components.host_end > components.host_start && buffer[components.host_start] == '@') { start++; } @@ -13747,9 +13806,12 @@ bool url_aggregator::set_hostname(const std::string_view input) { [[nodiscard]] std::string_view url_aggregator::get_hostname() const noexcept { ada_log("url_aggregator::get_hostname"); + // Technically, we should check if there is a hostname, but + // the code below works even if there isn't. + // if(!has_hostname()) { return ""; } size_t start = components.host_start; // So host_start is not where the host begins. - if (buffer.size() > components.host_start && + if (components.host_end > components.host_start && buffer[components.host_start] == '@') { start++; } @@ -14807,17 +14869,32 @@ struct ada_url_components { uint32_t hash_start; }; -ada_url ada_parse(const char* input) noexcept { +ada_url ada_parse(const char* input, size_t length) noexcept { return new ada::result( - ada::parse(input)); + ada::parse(std::string_view(input, length))); } -bool ada_can_parse(const char* input, const char* base) noexcept { - if (base == nullptr) { - return ada::can_parse(input); +ada_url ada_parse_with_base(const char* input, size_t input_length, + const char* base, size_t base_length) noexcept { + auto base_out = + ada::parse(std::string_view(base, base_length)); + + if (!base_out) { + return new ada::result(base_out); } - std::string_view sv(base); - return ada::can_parse(input, &sv); + + return new ada::result(ada::parse( + std::string_view(input, input_length), &base_out.value())); +} + +bool ada_can_parse(const char* input, size_t length) noexcept { + return ada::can_parse(std::string_view(input, length)); +} + +bool ada_can_parse_with_base(const char* input, size_t input_length, + const char* base, size_t base_length) noexcept { + auto base_view = std::string_view(base, base_length); + return ada::can_parse(std::string_view(input, input_length), &base_view); } void ada_free(ada_url result) noexcept { @@ -14943,81 +15020,86 @@ ada_string ada_get_protocol(ada_url result) noexcept { return ada_string_create(out.data(), out.length()); } -bool ada_set_href(ada_url result, const char* input) noexcept { +bool ada_set_href(ada_url result, const char* input, size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_href(input); + return r->set_href(std::string_view(input, length)); } -bool ada_set_host(ada_url result, const char* input) noexcept { +bool ada_set_host(ada_url result, const char* input, size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_host(input); + return r->set_host(std::string_view(input, length)); } -bool ada_set_hostname(ada_url result, const char* input) noexcept { +bool ada_set_hostname(ada_url result, const char* input, + size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_hostname(input); + return r->set_hostname(std::string_view(input, length)); } -bool ada_set_protocol(ada_url result, const char* input) noexcept { +bool ada_set_protocol(ada_url result, const char* input, + size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_protocol(input); + return r->set_protocol(std::string_view(input, length)); } -bool ada_set_username(ada_url result, const char* input) noexcept { +bool ada_set_username(ada_url result, const char* input, + size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_username(input); + return r->set_username(std::string_view(input, length)); } -bool ada_set_password(ada_url result, const char* input) noexcept { +bool ada_set_password(ada_url result, const char* input, + size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_password(input); + return r->set_password(std::string_view(input, length)); } -bool ada_set_port(ada_url result, const char* input) noexcept { +bool ada_set_port(ada_url result, const char* input, size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_port(input); + return r->set_port(std::string_view(input, length)); } -bool ada_set_pathname(ada_url result, const char* input) noexcept { +bool ada_set_pathname(ada_url result, const char* input, + size_t length) noexcept { ada::result& r = get_instance(result); if (!r) { return false; } - return r->set_pathname(input); + return r->set_pathname(std::string_view(input, length)); } -void ada_set_search(ada_url result, const char* input) noexcept { +void ada_set_search(ada_url result, const char* input, size_t length) noexcept { ada::result& r = get_instance(result); if (r) { - r->set_search(input); + r->set_search(std::string_view(input, length)); } } -void ada_set_hash(ada_url result, const char* input) noexcept { +void ada_set_hash(ada_url result, const char* input, size_t length) noexcept { ada::result& r = get_instance(result); if (r) { - r->set_hash(input); + r->set_hash(std::string_view(input, length)); } } diff --git a/deps/ada/ada.h b/deps/ada/ada.h index 9f0df05e152e14..5afa7abc62d8f5 100644 --- a/deps/ada/ada.h +++ b/deps/ada/ada.h @@ -1,4 +1,4 @@ -/* auto-generated on 2023-05-08 12:41:03 -0400. Do not edit! */ +/* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */ /* begin file include/ada.h */ /** * @file ada.h @@ -468,6 +468,17 @@ namespace ada { if (!(COND)) __builtin_unreachable(); \ } while (0) #endif + +#if defined(__SSE2__) || defined(__x86_64__) || defined(__x86_64) || \ + (defined(_M_AMD64) || defined(_M_X64) || \ + (defined(_M_IX86_FP) && _M_IX86_FP == 2)) +#define ADA_SSE2 1 +#endif + +#if defined(__aarch64__) || defined(_M_ARM64) +#define ADA_NEON 1 +#endif + #endif // ADA_COMMON_DEFS_H /* end file include/ada/common_defs.h */ #include @@ -4320,7 +4331,7 @@ std::string to_unicode(std::string_view input); * @attention The has_tabs_or_newline function is a bottleneck and it is simple * enough that compilers like GCC can 'autovectorize it'. */ -ada_really_inline constexpr bool has_tabs_or_newline( +ada_really_inline bool has_tabs_or_newline( std::string_view user_input) noexcept; /** @@ -6473,14 +6484,14 @@ inline std::ostream &operator<<(std::ostream &out, #ifndef ADA_ADA_VERSION_H #define ADA_ADA_VERSION_H -#define ADA_VERSION "2.4.0" +#define ADA_VERSION "2.4.1" namespace ada { enum { ADA_VERSION_MAJOR = 2, ADA_VERSION_MINOR = 4, - ADA_VERSION_REVISION = 0, + ADA_VERSION_REVISION = 1, }; } // namespace ada @@ -6508,11 +6519,11 @@ using result = tl::expected; /** * The URL parser takes a scalar value string input, with an optional null or - * base URL base (default null). The parser assumes the input has an UTF-8 - * encoding. + * base URL base (default null). The parser assumes the input is a valid ASCII + * or UTF-8 string. * - * @param input the string input to analyze. - * @param base_url the optional string input to use as a base url. + * @param input the string input to analyze (must be valid ASCII or UTF-8) + * @param base_url the optional URL input to use as a base url. * @return a parsed URL. */ template @@ -6525,6 +6536,8 @@ extern template ada::result parse( std::string_view input, const url_aggregator* base_url); /** + * Verifies whether the URL strings can be parsed. The function assumes + * that the inputs are valid ASCII or UTF-8 strings. * @see https://url.spec.whatwg.org/#dom-url-canparse * @return If URL can be parsed or not. */ @@ -6532,7 +6545,8 @@ bool can_parse(std::string_view input, const std::string_view* base_input = nullptr); /** - * Computes a href string from a file path. + * Computes a href string from a file path. The function assumes + * that the input is a valid ASCII or UTF-8 string. * @return a href string (starts with file:://) */ std::string href_from_file(std::string_view path); diff --git a/deps/ada/ada_c.h b/deps/ada/ada_c.h index 4c64a5aece5181..f8bcbdcd14d161 100644 --- a/deps/ada/ada_c.h +++ b/deps/ada/ada_c.h @@ -9,6 +9,10 @@ #include #include +// This is a reference to ada::url_components::omitted +// It represents "uint32_t(-1)" +#define ada_url_omitted 0xffffffff + // string that is owned by the ada_url instance typedef struct { const char* data; @@ -34,21 +38,25 @@ typedef struct { typedef void* ada_url; -// input should be a null terminated C string +// input should be a null terminated C string (ASCII or UTF-8) // you must call ada_free on the returned pointer -ada_url ada_parse(const char* string); +ada_url ada_parse(const char* input, size_t length); +ada_url ada_parse_with_base(const char* input, size_t input_length, + const char* base, size_t base_length); // input and base should be a null terminated C strings -bool ada_can_parse(const char* input, const char* base); +bool ada_can_parse(const char* input, size_t length); +bool ada_can_parse_with_base(const char* input, size_t input_length, + const char* base, size_t base_length); void ada_free(ada_url result); +void ada_free_owned_string(ada_owned_string owned); bool ada_is_valid(ada_url result); // url_aggregator getters // if ada_is_valid(result)) is false, an empty string is returned ada_owned_string ada_get_origin(ada_url result); -void ada_free_owned_string(ada_owned_string owned); ada_string ada_get_href(ada_url result); ada_string ada_get_username(ada_url result); ada_string ada_get_password(ada_url result); @@ -63,16 +71,16 @@ ada_string ada_get_protocol(ada_url result); // url_aggregator setters // if ada_is_valid(result)) is false, the setters have no effect // input should be a null terminated C string -bool ada_set_href(ada_url result, const char* input); -bool ada_set_host(ada_url result, const char* input); -bool ada_set_hostname(ada_url result, const char* input); -bool ada_set_protocol(ada_url result, const char* input); -bool ada_set_username(ada_url result, const char* input); -bool ada_set_password(ada_url result, const char* input); -bool ada_set_port(ada_url result, const char* input); -bool ada_set_pathname(ada_url result, const char* input); -void ada_set_search(ada_url result, const char* input); -void ada_set_hash(ada_url result, const char* input); +bool ada_set_href(ada_url result, const char* input, size_t length); +bool ada_set_host(ada_url result, const char* input, size_t length); +bool ada_set_hostname(ada_url result, const char* input, size_t length); +bool ada_set_protocol(ada_url result, const char* input, size_t length); +bool ada_set_username(ada_url result, const char* input, size_t length); +bool ada_set_password(ada_url result, const char* input, size_t length); +bool ada_set_port(ada_url result, const char* input, size_t length); +bool ada_set_pathname(ada_url result, const char* input, size_t length); +void ada_set_search(ada_url result, const char* input, size_t length); +void ada_set_hash(ada_url result, const char* input, size_t length); // url_aggregator functions // if ada_is_valid(result) is false, functions below will return false From 9c5711f3ea0e7c5d7d94cb1b12996d349d8db7f4 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 17 May 2023 05:23:04 +0100 Subject: [PATCH 010/146] meta: move one or more collaborators to emeritus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48010 Reviewed-By: Antoine du Hamel Reviewed-By: Darshan Sen Reviewed-By: Yagiz Nizipli Reviewed-By: Andrey Pechkurov Reviewed-By: Tobias Nießen Reviewed-By: Richard Lau Reviewed-By: Michael Dawson Reviewed-By: Luigi Pinca --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 809d1f0c157ce6..e2a7968f45b212 100644 --- a/README.md +++ b/README.md @@ -417,8 +417,6 @@ For information about the governance of the Node.js project, see **Ouyang Yadong** <> (he/him) * [panva](https://github.com/panva) - **Filip Skokan** <> (he/him) -* [puzpuzpuz](https://github.com/puzpuzpuz) - - **Andrey Pechkurov** <> (he/him) * [Qard](https://github.com/Qard) - **Stephen Belanger** <> (he/him) * [RafaelGSS](https://github.com/RafaelGSS) - @@ -621,6 +619,8 @@ For information about the governance of the Node.js project, see **Prince John Wesley** <> * [psmarshall](https://github.com/psmarshall) - **Peter Marshall** <> (he/him) +* [puzpuzpuz](https://github.com/puzpuzpuz) - + **Andrey Pechkurov** <> (he/him) * [refack](https://github.com/refack) - **Refael Ackermann (רפאל פלחי)** <> (he/him/הוא/אתה) * [rexagod](https://github.com/rexagod) - From 6adaf4c648075359d7f29f80f6cd4797a02ca9e7 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 17 May 2023 06:05:53 +0100 Subject: [PATCH 011/146] tools: update remark-preset-lint-node to 4.0.0 PR-URL: https://github.com/nodejs/node/pull/47995 Reviewed-By: Antoine du Hamel Reviewed-By: Darshan Sen --- tools/lint-md/lint-md.mjs | 1168 ++++++++++++++++--------------- tools/lint-md/package-lock.json | 302 ++++---- tools/lint-md/package.json | 6 +- 3 files changed, 775 insertions(+), 701 deletions(-) diff --git a/tools/lint-md/lint-md.mjs b/tools/lint-md/lint-md.mjs index 2c364ffbf10092..d1f76da5b5a048 100644 --- a/tools/lint-md/lint-md.mjs +++ b/tools/lint-md/lint-md.mjs @@ -1,7 +1,6 @@ import fs from 'fs'; import path$1 from 'path'; import { fileURLToPath, pathToFileURL, URL as URL$1 } from 'url'; -import require$$5 from 'util'; import proc from 'process'; import process$1 from 'node:process'; import os from 'node:os'; @@ -10179,444 +10178,516 @@ function gfmStrikethrough(options) { } } -const gfmTable = { - flow: { - null: { - tokenize: tokenizeTable, - resolve: resolveTable - } +class EditMap { + constructor() { + this.map = []; } -}; -const nextPrefixedOrBlank = { - tokenize: tokenizeNextPrefixedOrBlank, - partial: true -}; -function resolveTable(events, context) { - let index = -1; - let inHead; - let inDelimiterRow; - let inRow; - let contentStart; - let contentEnd; - let cellStart; - let seenCellInRow; - while (++index < events.length) { - const token = events[index][1]; - if (inRow) { - if (token.type === 'temporaryTableCellContent') { - contentStart = contentStart || index; - contentEnd = index; - } - if ( - (token.type === 'tableCellDivider' || token.type === 'tableRow') && - contentEnd - ) { - const content = { - type: 'tableContent', - start: events[contentStart][1].start, - end: events[contentEnd][1].end - }; - const text = { - type: 'chunkText', - start: content.start, - end: content.end, - contentType: 'text' - }; - events.splice( - contentStart, - contentEnd - contentStart + 1, - ['enter', content, context], - ['enter', text, context], - ['exit', text, context], - ['exit', content, context] - ); - index -= contentEnd - contentStart - 3; - contentStart = undefined; - contentEnd = undefined; - } + add(index, remove, add) { + addImpl(this, index, remove, add); + } + consume(events) { + this.map.sort((a, b) => a[0] - b[0]); + if (this.map.length === 0) { + return } - if ( - events[index][0] === 'exit' && - cellStart !== undefined && - cellStart + (seenCellInRow ? 0 : 1) < index && - (token.type === 'tableCellDivider' || - (token.type === 'tableRow' && - (cellStart + 3 < index || - events[cellStart][1].type !== 'whitespace'))) - ) { - const cell = { - type: inDelimiterRow - ? 'tableDelimiter' - : inHead - ? 'tableHeader' - : 'tableData', - start: events[cellStart][1].start, - end: events[index][1].end - }; - events.splice(index + (token.type === 'tableCellDivider' ? 1 : 0), 0, [ - 'exit', - cell, - context - ]); - events.splice(cellStart, 0, ['enter', cell, context]); - index += 2; - cellStart = index + 1; - seenCellInRow = true; + let index = this.map.length; + const vecs = []; + while (index > 0) { + index -= 1; + vecs.push(events.slice(this.map[index][0] + this.map[index][1])); + vecs.push(this.map[index][2]); + events.length = this.map[index][0]; + } + vecs.push([...events]); + events.length = 0; + let slice = vecs.pop(); + while (slice) { + events.push(...slice); + slice = vecs.pop(); + } + this.map.length = 0; + } +} +function addImpl(editMap, at, remove, add) { + let index = 0; + if (remove === 0 && add.length === 0) { + return + } + while (index < editMap.map.length) { + if (editMap.map[index][0] === at) { + editMap.map[index][1] += remove; + editMap.map[index][2].push(...add); + return } - if (token.type === 'tableRow') { - inRow = events[index][0] === 'enter'; - if (inRow) { - cellStart = index + 1; - seenCellInRow = false; + index += 1; + } + editMap.map.push([at, remove, add]); +} + +function gfmTableAlign(events, index) { + let inDelimiterRow = false; + const align = []; + while (index < events.length) { + const event = events[index]; + if (inDelimiterRow) { + if (event[0] === 'enter') { + if (event[1].type === 'tableContent') { + align.push( + events[index + 1][1].type === 'tableDelimiterMarker' + ? 'left' + : 'none' + ); + } } - } - if (token.type === 'tableDelimiterRow') { - inDelimiterRow = events[index][0] === 'enter'; - if (inDelimiterRow) { - cellStart = index + 1; - seenCellInRow = false; + else if (event[1].type === 'tableContent') { + if (events[index - 1][1].type === 'tableDelimiterMarker') { + const alignIndex = align.length - 1; + align[alignIndex] = align[alignIndex] === 'left' ? 'center' : 'right'; + } } + else if (event[1].type === 'tableDelimiterRow') { + break + } + } else if (event[0] === 'enter' && event[1].type === 'tableDelimiterRow') { + inDelimiterRow = true; } - if (token.type === 'tableHead') { - inHead = events[index][0] === 'enter'; - } + index += 1; } - return events + return align } + +const gfmTable = { + flow: { + null: { + tokenize: tokenizeTable, + resolveAll: resolveTable + } + } +}; function tokenizeTable(effects, ok, nok) { const self = this; - const align = []; - let tableHeaderCount = 0; - let seenDelimiter; - let hasDash; + let size = 0; + let sizeB = 0; + let seen; return start function start(code) { - effects.enter('table')._align = align; + let index = self.events.length - 1; + while (index > -1) { + const type = self.events[index][1].type; + if ( + type === 'lineEnding' || + type === 'linePrefix' + ) + index--; + else break + } + const tail = index > -1 ? self.events[index][1].type : null; + const next = + tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore; + if (next === bodyRowStart && self.parser.lazy[self.now().line]) { + return nok(code) + } + return next(code) + } + function headRowBefore(code) { effects.enter('tableHead'); effects.enter('tableRow'); + return headRowStart(code) + } + function headRowStart(code) { if (code === 124) { - return cellDividerHead(code) + return headRowBreak(code) } - tableHeaderCount++; - effects.enter('temporaryTableCellContent'); - return inCellContentHead(code) - } - function cellDividerHead(code) { - effects.enter('tableCellDivider'); - effects.consume(code); - effects.exit('tableCellDivider'); - seenDelimiter = true; - return cellBreakHead + seen = true; + sizeB += 1; + return headRowBreak(code) } - function cellBreakHead(code) { - if (code === null || markdownLineEnding(code)) { - return atRowEndHead(code) + function headRowBreak(code) { + if (code === null) { + return nok(code) + } + if (markdownLineEnding(code)) { + if (sizeB > 1) { + sizeB = 0; + self.interrupt = true; + effects.exit('tableRow'); + effects.enter('lineEnding'); + effects.consume(code); + effects.exit('lineEnding'); + return headDelimiterStart + } + return nok(code) } if (markdownSpace(code)) { - effects.enter('whitespace'); - effects.consume(code); - return inWhitespaceHead + return factorySpace(effects, headRowBreak, 'whitespace')(code) } - if (seenDelimiter) { - seenDelimiter = undefined; - tableHeaderCount++; + sizeB += 1; + if (seen) { + seen = false; + size += 1; } if (code === 124) { - return cellDividerHead(code) - } - effects.enter('temporaryTableCellContent'); - return inCellContentHead(code) - } - function inWhitespaceHead(code) { - if (markdownSpace(code)) { + effects.enter('tableCellDivider'); effects.consume(code); - return inWhitespaceHead + effects.exit('tableCellDivider'); + seen = true; + return headRowBreak } - effects.exit('whitespace'); - return cellBreakHead(code) + effects.enter('data'); + return headRowData(code) } - function inCellContentHead(code) { + function headRowData(code) { if (code === null || code === 124 || markdownLineEndingOrSpace(code)) { - effects.exit('temporaryTableCellContent'); - return cellBreakHead(code) + effects.exit('data'); + return headRowBreak(code) } effects.consume(code); - return code === 92 ? inCellContentEscapeHead : inCellContentHead + return code === 92 ? headRowEscape : headRowData } - function inCellContentEscapeHead(code) { + function headRowEscape(code) { if (code === 92 || code === 124) { effects.consume(code); - return inCellContentHead + return headRowData } - return inCellContentHead(code) + return headRowData(code) } - function atRowEndHead(code) { - if (code === null) { + function headDelimiterStart(code) { + self.interrupt = false; + if (self.parser.lazy[self.now().line]) { return nok(code) } - effects.exit('tableRow'); - effects.exit('tableHead'); - const originalInterrupt = self.interrupt; - self.interrupt = true; - return effects.attempt( - { - tokenize: tokenizeRowEnd, - partial: true - }, - function (code) { - self.interrupt = originalInterrupt; - effects.enter('tableDelimiterRow'); - return atDelimiterRowBreak(code) - }, - function (code) { - self.interrupt = originalInterrupt; - return nok(code) - } - )(code) - } - function atDelimiterRowBreak(code) { - if (code === null || markdownLineEnding(code)) { - return rowEndDelimiter(code) - } + effects.enter('tableDelimiterRow'); + seen = false; if (markdownSpace(code)) { - effects.enter('whitespace'); - effects.consume(code); - return inWhitespaceDelimiter - } - if (code === 45) { - effects.enter('tableDelimiterFiller'); - effects.consume(code); - hasDash = true; - align.push('none'); - return inFillerDelimiter + return factorySpace( + effects, + headDelimiterBefore, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) } - if (code === 58) { - effects.enter('tableDelimiterAlignment'); - effects.consume(code); - effects.exit('tableDelimiterAlignment'); - align.push('left'); - return afterLeftAlignment + return headDelimiterBefore(code) + } + function headDelimiterBefore(code) { + if (code === 45 || code === 58) { + return headDelimiterValueBefore(code) } if (code === 124) { + seen = true; effects.enter('tableCellDivider'); effects.consume(code); effects.exit('tableCellDivider'); - return atDelimiterRowBreak + return headDelimiterCellBefore } - return nok(code) + return headDelimiterNok(code) } - function inWhitespaceDelimiter(code) { + function headDelimiterCellBefore(code) { if (markdownSpace(code)) { - effects.consume(code); - return inWhitespaceDelimiter + return factorySpace(effects, headDelimiterValueBefore, 'whitespace')(code) } - effects.exit('whitespace'); - return atDelimiterRowBreak(code) + return headDelimiterValueBefore(code) } - function inFillerDelimiter(code) { - if (code === 45) { - effects.consume(code); - return inFillerDelimiter - } - effects.exit('tableDelimiterFiller'); + function headDelimiterValueBefore(code) { if (code === 58) { - effects.enter('tableDelimiterAlignment'); + sizeB += 1; + seen = true; + effects.enter('tableDelimiterMarker'); effects.consume(code); - effects.exit('tableDelimiterAlignment'); - align[align.length - 1] = - align[align.length - 1] === 'left' ? 'center' : 'right'; - return afterRightAlignment + effects.exit('tableDelimiterMarker'); + return headDelimiterLeftAlignmentAfter + } + if (code === 45) { + sizeB += 1; + return headDelimiterLeftAlignmentAfter(code) + } + if (code === null || markdownLineEnding(code)) { + return headDelimiterCellAfter(code) } - return atDelimiterRowBreak(code) + return headDelimiterNok(code) } - function afterLeftAlignment(code) { + function headDelimiterLeftAlignmentAfter(code) { if (code === 45) { effects.enter('tableDelimiterFiller'); - effects.consume(code); - hasDash = true; - return inFillerDelimiter + return headDelimiterFiller(code) } - return nok(code) + return headDelimiterNok(code) } - function afterRightAlignment(code) { - if (code === null || markdownLineEnding(code)) { - return rowEndDelimiter(code) - } - if (markdownSpace(code)) { - effects.enter('whitespace'); + function headDelimiterFiller(code) { + if (code === 45) { effects.consume(code); - return inWhitespaceDelimiter + return headDelimiterFiller } - if (code === 124) { - effects.enter('tableCellDivider'); + if (code === 58) { + seen = true; + effects.exit('tableDelimiterFiller'); + effects.enter('tableDelimiterMarker'); effects.consume(code); - effects.exit('tableCellDivider'); - return atDelimiterRowBreak + effects.exit('tableDelimiterMarker'); + return headDelimiterRightAlignmentAfter } - return nok(code) + effects.exit('tableDelimiterFiller'); + return headDelimiterRightAlignmentAfter(code) } - function rowEndDelimiter(code) { - effects.exit('tableDelimiterRow'); - if (!hasDash || tableHeaderCount !== align.length) { - return nok(code) - } - if (code === null) { - return tableClose(code) + function headDelimiterRightAlignmentAfter(code) { + if (markdownSpace(code)) { + return factorySpace(effects, headDelimiterCellAfter, 'whitespace')(code) } - return effects.check( - nextPrefixedOrBlank, - tableClose, - effects.attempt( - { - tokenize: tokenizeRowEnd, - partial: true - }, - factorySpace(effects, bodyStart, 'linePrefix', 4), - tableClose - ) - )(code) - } - function tableClose(code) { - effects.exit('table'); - return ok(code) + return headDelimiterCellAfter(code) } - function bodyStart(code) { - effects.enter('tableBody'); - return rowStartBody(code) - } - function rowStartBody(code) { - effects.enter('tableRow'); + function headDelimiterCellAfter(code) { if (code === 124) { - return cellDividerBody(code) + return headDelimiterBefore(code) } - effects.enter('temporaryTableCellContent'); - return inCellContentBody(code) - } - function cellDividerBody(code) { - effects.enter('tableCellDivider'); - effects.consume(code); - effects.exit('tableCellDivider'); - return cellBreakBody - } - function cellBreakBody(code) { if (code === null || markdownLineEnding(code)) { - return atRowEndBody(code) + if (!seen || size !== sizeB) { + return headDelimiterNok(code) + } + effects.exit('tableDelimiterRow'); + effects.exit('tableHead'); + return ok(code) } - if (markdownSpace(code)) { - effects.enter('whitespace'); + return headDelimiterNok(code) + } + function headDelimiterNok(code) { + return nok(code) + } + function bodyRowStart(code) { + effects.enter('tableRow'); + return bodyRowBreak(code) + } + function bodyRowBreak(code) { + if (code === 124) { + effects.enter('tableCellDivider'); effects.consume(code); - return inWhitespaceBody + effects.exit('tableCellDivider'); + return bodyRowBreak } - if (code === 124) { - return cellDividerBody(code) + if (code === null || markdownLineEnding(code)) { + effects.exit('tableRow'); + return ok(code) } - effects.enter('temporaryTableCellContent'); - return inCellContentBody(code) - } - function inWhitespaceBody(code) { if (markdownSpace(code)) { - effects.consume(code); - return inWhitespaceBody + return factorySpace(effects, bodyRowBreak, 'whitespace')(code) } - effects.exit('whitespace'); - return cellBreakBody(code) + effects.enter('data'); + return bodyRowData(code) } - function inCellContentBody(code) { + function bodyRowData(code) { if (code === null || code === 124 || markdownLineEndingOrSpace(code)) { - effects.exit('temporaryTableCellContent'); - return cellBreakBody(code) + effects.exit('data'); + return bodyRowBreak(code) } effects.consume(code); - return code === 92 ? inCellContentEscapeBody : inCellContentBody + return code === 92 ? bodyRowEscape : bodyRowData } - function inCellContentEscapeBody(code) { + function bodyRowEscape(code) { if (code === 92 || code === 124) { effects.consume(code); - return inCellContentBody + return bodyRowData } - return inCellContentBody(code) + return bodyRowData(code) } - function atRowEndBody(code) { - effects.exit('tableRow'); - if (code === null) { - return tableBodyClose(code) - } - return effects.check( - nextPrefixedOrBlank, - tableBodyClose, - effects.attempt( - { - tokenize: tokenizeRowEnd, - partial: true - }, - factorySpace(effects, rowStartBody, 'linePrefix', 4), - tableBodyClose - ) - )(code) - } - function tableBodyClose(code) { - effects.exit('tableBody'); - return tableClose(code) - } - function tokenizeRowEnd(effects, ok, nok) { - return start - function start(code) { - effects.enter('lineEnding'); - effects.consume(code); - effects.exit('lineEnding'); - return factorySpace(effects, prefixed, 'linePrefix') - } - function prefixed(code) { - if ( - self.parser.lazy[self.now().line] || - code === null || - markdownLineEnding(code) +} +function resolveTable(events, context) { + let index = -1; + let inFirstCellAwaitingPipe = true; + let rowKind = 0; + let lastCell = [0, 0, 0, 0]; + let cell = [0, 0, 0, 0]; + let afterHeadAwaitingFirstBodyRow = false; + let lastTableEnd = 0; + let currentTable; + let currentBody; + let currentCell; + const map = new EditMap(); + while (++index < events.length) { + const event = events[index]; + const token = event[1]; + if (event[0] === 'enter') { + if (token.type === 'tableHead') { + afterHeadAwaitingFirstBodyRow = false; + if (lastTableEnd !== 0) { + flushTableEnd(map, context, lastTableEnd, currentTable, currentBody); + currentBody = undefined; + lastTableEnd = 0; + } + currentTable = { + type: 'table', + start: Object.assign({}, token.start), + end: Object.assign({}, token.end) + }; + map.add(index, 0, [['enter', currentTable, context]]); + } else if ( + token.type === 'tableRow' || + token.type === 'tableDelimiterRow' ) { - return nok(code) + inFirstCellAwaitingPipe = true; + currentCell = undefined; + lastCell = [0, 0, 0, 0]; + cell = [0, index + 1, 0, 0]; + if (afterHeadAwaitingFirstBodyRow) { + afterHeadAwaitingFirstBodyRow = false; + currentBody = { + type: 'tableBody', + start: Object.assign({}, token.start), + end: Object.assign({}, token.end) + }; + map.add(index, 0, [['enter', currentBody, context]]); + } + rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1; } - const tail = self.events[self.events.length - 1]; - if ( - !self.parser.constructs.disable.null.includes('codeIndented') && - tail && - tail[1].type === 'linePrefix' && - tail[2].sliceSerialize(tail[1], true).length >= 4 + else if ( + rowKind && + (token.type === 'data' || + token.type === 'tableDelimiterMarker' || + token.type === 'tableDelimiterFiller') ) { - return nok(code) - } - self._gfmTableDynamicInterruptHack = true; - return effects.check( - self.parser.constructs.flow, - function (code) { - self._gfmTableDynamicInterruptHack = false; - return nok(code) - }, - function (code) { - self._gfmTableDynamicInterruptHack = false; - return ok(code) + inFirstCellAwaitingPipe = false; + if (cell[2] === 0) { + if (lastCell[1] !== 0) { + cell[0] = cell[1]; + currentCell = flushCell( + map, + context, + lastCell, + rowKind, + undefined, + currentCell + ); + lastCell = [0, 0, 0, 0]; + } + cell[2] = index; } - )(code) + } else if (token.type === 'tableCellDivider') { + if (inFirstCellAwaitingPipe) { + inFirstCellAwaitingPipe = false; + } else { + if (lastCell[1] !== 0) { + cell[0] = cell[1]; + currentCell = flushCell( + map, + context, + lastCell, + rowKind, + undefined, + currentCell + ); + } + lastCell = cell; + cell = [lastCell[1], index, 0, 0]; + } + } + } + else if (token.type === 'tableHead') { + afterHeadAwaitingFirstBodyRow = true; + lastTableEnd = index; + } else if ( + token.type === 'tableRow' || + token.type === 'tableDelimiterRow' + ) { + lastTableEnd = index; + if (lastCell[1] !== 0) { + cell[0] = cell[1]; + currentCell = flushCell( + map, + context, + lastCell, + rowKind, + index, + currentCell + ); + } else if (cell[1] !== 0) { + currentCell = flushCell(map, context, cell, rowKind, index, currentCell); + } + rowKind = 0; + } else if ( + rowKind && + (token.type === 'data' || + token.type === 'tableDelimiterMarker' || + token.type === 'tableDelimiterFiller') + ) { + cell[3] = index; } } -} -function tokenizeNextPrefixedOrBlank(effects, ok, nok) { - let size = 0; - return start - function start(code) { - effects.enter('check'); - effects.consume(code); - return whitespace + if (lastTableEnd !== 0) { + flushTableEnd(map, context, lastTableEnd, currentTable, currentBody); } - function whitespace(code) { - if (code === -1 || code === 32) { - effects.consume(code); - size++; - return size === 4 ? ok : whitespace - } - if (code === null || markdownLineEndingOrSpace(code)) { - return ok(code) + map.consume(context.events); + index = -1; + while (++index < context.events.length) { + const event = context.events[index]; + if (event[0] === 'enter' && event[1].type === 'table') { + event[1]._align = gfmTableAlign(context.events, index); } - return nok(code) } + return events +} +function flushCell(map, context, range, rowKind, rowEnd, previousCell) { + const groupName = + rowKind === 1 + ? 'tableHeader' + : rowKind === 2 + ? 'tableDelimiter' + : 'tableData'; + const valueName = 'tableContent'; + if (range[0] !== 0) { + previousCell.end = Object.assign({}, getPoint(context.events, range[0])); + map.add(range[0], 0, [['exit', previousCell, context]]); + } + const now = getPoint(context.events, range[1]); + previousCell = { + type: groupName, + start: Object.assign({}, now), + end: Object.assign({}, now) + }; + map.add(range[1], 0, [['enter', previousCell, context]]); + if (range[2] !== 0) { + const relatedStart = getPoint(context.events, range[2]); + const relatedEnd = getPoint(context.events, range[3]); + const valueToken = { + type: valueName, + start: Object.assign({}, relatedStart), + end: Object.assign({}, relatedEnd) + }; + map.add(range[2], 0, [['enter', valueToken, context]]); + if (rowKind !== 2) { + const start = context.events[range[2]]; + const end = context.events[range[3]]; + start[1].end = Object.assign({}, end[1].end); + start[1].type = 'chunkText'; + start[1].contentType = 'text'; + if (range[3] > range[2] + 1) { + const a = range[2] + 1; + const b = range[3] - range[2] - 1; + map.add(a, b, []); + } + } + map.add(range[3] + 1, 0, [['exit', valueToken, context]]); + } + if (rowEnd !== undefined) { + previousCell.end = Object.assign({}, getPoint(context.events, rowEnd)); + map.add(rowEnd, 0, [['exit', previousCell, context]]); + previousCell = undefined; + } + return previousCell +} +function flushTableEnd(map, context, index, table, tableBody) { + const exits = []; + const related = getPoint(context.events, index); + if (tableBody) { + tableBody.end = Object.assign({}, related); + exits.push(['exit', tableBody, context]); + } + table.end = Object.assign({}, related); + exits.push(['exit', table, context]); + map.add(index + 1, 0, exits); +} +function getPoint(events, index) { + const event = events[index]; + const side = event[0] === 'enter' ? 'start' : 'end'; + return event[1][side] } const tasklistCheck = { @@ -12001,7 +12072,6 @@ function lintMessageControl() { return remarkMessageControl({name: 'lint', source: 'remark-lint'}) } -const primitives = new Set(['string', 'number', 'boolean']); function lintRule(meta, rule) { const id = typeof meta === 'string' ? meta : meta.origin; const url = typeof meta === 'string' ? undefined : meta.url; @@ -12010,8 +12080,8 @@ function lintRule(meta, rule) { const ruleId = parts[1]; Object.defineProperty(plugin, 'name', {value: id}); return plugin - function plugin(raw) { - const [severity, options] = coerce$1(ruleId, raw); + function plugin(config) { + const [severity, options] = coerce$1(ruleId, config); if (!severity) return const fatal = severity === 2; return (tree, file, next) => { @@ -12031,47 +12101,37 @@ function lintRule(meta, rule) { } } } -function coerce$1(name, value) { - let result; - if (typeof value === 'boolean') { - result = [value]; - } else if (value === null || value === undefined) { - result = [1]; - } else if ( - Array.isArray(value) && - primitives.has(typeof value[0]) - ) { - result = [...value]; - } else { - result = [1, value]; - } - let level = result[0]; - if (typeof level === 'boolean') { - level = level ? 1 : 0; - } else if (typeof level === 'string') { - if (level === 'off') { - level = 0; - } else if (level === 'on' || level === 'warn') { - level = 1; - } else if (level === 'error') { - level = 2; - } else { - level = 1; - result = [level, result]; +function coerce$1(name, config) { + if (!Array.isArray(config)) return [1, config] + const [severity, ...options] = config; + switch (severity) { + case false: + case 'off': + case 0: { + return [0, ...options] + } + case true: + case 'on': + case 'warn': + case 1: { + return [1, ...options] + } + case 'error': + case 2: { + return [2, ...options] + } + default: { + if (typeof severity !== 'number') return [1, config] + throw new Error( + 'Incorrect severity `' + + severity + + '` for `' + + name + + '`, ' + + 'expected 0, 1, or 2' + ) } } - if (typeof level !== 'number' || level < 0 || level > 2) { - throw new Error( - 'Incorrect severity `' + - level + - '` for `' + - name + - '`, ' + - 'expected 0, 1, or 2' - ) - } - result[0] = level; - return result } /** @@ -12684,7 +12744,7 @@ function generated(node) { * ····item. * * @example - * {"name": "ok.md", "setting": "mixed"} + * {"name": "ok.md", "config": "mixed"} * * *·List item. * @@ -12701,7 +12761,7 @@ function generated(node) { * ····item. * * @example - * {"name": "ok.md", "setting": "space"} + * {"name": "ok.md", "config": "space"} * * *·List item. * @@ -12718,39 +12778,39 @@ function generated(node) { * ··item. * * @example - * {"name": "not-ok.md", "setting": "space", "label": "input"} + * {"name": "not-ok.md", "config": "space", "label": "input"} * * *···List * ····item. * * @example - * {"name": "not-ok.md", "setting": "space", "label": "output"} + * {"name": "not-ok.md", "config": "space", "label": "output"} * * 1:5: Incorrect list-item indent: remove 2 spaces * * @example - * {"name": "not-ok.md", "setting": "tab-size", "label": "input"} + * {"name": "not-ok.md", "config": "tab-size", "label": "input"} * * *·List * ··item. * * @example - * {"name": "not-ok.md", "setting": "tab-size", "label": "output"} + * {"name": "not-ok.md", "config": "tab-size", "label": "output"} * * 1:3: Incorrect list-item indent: add 2 spaces * * @example - * {"name": "not-ok.md", "setting": "mixed", "label": "input"} + * {"name": "not-ok.md", "config": "mixed", "label": "input"} * * *···List item. * * @example - * {"name": "not-ok.md", "setting": "mixed", "label": "output"} + * {"name": "not-ok.md", "config": "mixed", "label": "output"} * * 1:5: Incorrect list-item indent: remove 2 spaces * * @example - * {"name": "not-ok.md", "setting": "💩", "label": "output", "positionless": true} + * {"name": "not-ok.md", "config": "💩", "label": "output", "positionless": true} * * 1:1: Incorrect list-item indent style `💩`: use either `'tab-size'`, `'space'`, or `'mixed'` */ @@ -13014,14 +13074,14 @@ var remarkLintNoLiteralUrls$1 = remarkLintNoLiteralUrls; * * Foo * * @example - * {"name": "ok.md", "setting": "."} + * {"name": "ok.md", "config": "."} * * 1. Foo * * 2. Bar * * @example - * {"name": "ok.md", "setting": ")"} + * {"name": "ok.md", "config": ")"} * * 1) Foo * @@ -13040,7 +13100,7 @@ var remarkLintNoLiteralUrls$1 = remarkLintNoLiteralUrls; * 3:1-3:8: Marker style should be `.` * * @example - * {"name": "not-ok.md", "label": "output", "setting": "💩", "positionless": true} + * {"name": "not-ok.md", "label": "output", "config": "💩", "positionless": true} * * 1:1: Incorrect ordered list item marker style `💩`: use either `'.'` or `')'` */ @@ -13535,7 +13595,7 @@ var remarkLintNoShortcutReferenceLink$1 = remarkLintNoShortcutReferenceLink; * default: `[]`) * — text or regex that you want to be allowed between `[` and `]` * even though it’s undefined; regex is provided via a `RegExp` object - * or via a `{ source: string }` object where `source` is the source + * or via a `{source: string}` object where `source` is the source * text of a case-insensitive regex * * ## Recommendation @@ -13943,7 +14003,7 @@ var remarkPresetLintRecommended$1 = remarkPresetLintRecommended; * @copyright 2015 Titus Wormer * @license MIT * @example - * {"name": "ok.md", "setting": 4} + * {"name": "ok.md", "config": 4} * * > Hello * @@ -13951,7 +14011,7 @@ var remarkPresetLintRecommended$1 = remarkPresetLintRecommended; * * > World * @example - * {"name": "ok.md", "setting": 2} + * {"name": "ok.md", "config": 2} * * > Hello * @@ -14052,19 +14112,19 @@ function check$1(node) { * @copyright 2015 Titus Wormer * @license MIT * @example - * {"name": "ok.md", "setting": {"checked": "x"}, "gfm": true} + * {"name": "ok.md", "config": {"checked": "x"}, "gfm": true} * * - [x] List item * - [x] List item * * @example - * {"name": "ok.md", "setting": {"checked": "X"}, "gfm": true} + * {"name": "ok.md", "config": {"checked": "X"}, "gfm": true} * * - [X] List item * - [X] List item * * @example - * {"name": "ok.md", "setting": {"unchecked": " "}, "gfm": true} + * {"name": "ok.md", "config": {"unchecked": " "}, "gfm": true} * * - [ ] List item * - [ ] List item @@ -14072,7 +14132,7 @@ function check$1(node) { * - [ ] * * @example - * {"name": "ok.md", "setting": {"unchecked": "\t"}, "gfm": true} + * {"name": "ok.md", "config": {"unchecked": "\t"}, "gfm": true} * * - [»] List item * - [»] List item @@ -14092,12 +14152,12 @@ function check$1(node) { * 4:5: Unchecked checkboxes should use ` ` as a marker * * @example - * {"setting": {"unchecked": "💩"}, "name": "not-ok.md", "label": "output", "positionless": true, "gfm": true} + * {"config": {"unchecked": "💩"}, "name": "not-ok.md", "label": "output", "positionless": true, "gfm": true} * * 1:1: Incorrect unchecked checkbox marker `💩`: use either `'\t'`, or `' '` * * @example - * {"setting": {"checked": "💩"}, "name": "not-ok.md", "label": "output", "positionless": true, "gfm": true} + * {"config": {"checked": "💩"}, "name": "not-ok.md", "label": "output", "positionless": true, "gfm": true} * * 1:1: Incorrect checked checkbox marker `💩`: use either `'x'`, or `'X'` */ @@ -14264,32 +14324,57 @@ const remarkLintCheckboxContentIndent = lintRule( var remarkLintCheckboxContentIndent$1 = remarkLintCheckboxContentIndent; /** - * @author Titus Wormer - * @copyright 2015 Titus Wormer - * @license MIT - * @module code-block-style - * @fileoverview - * Warn when code blocks do not adhere to a given style. + * ## When should I use this? + * + * You can use this package to check that code blocks are consistent. * - * Options: `'consistent'`, `'fenced'`, or `'indented'`, default: `'consistent'`. + * ## API + * + * The following options (default: `'consistent'`) are accepted: * - * `'consistent'` detects the first used code block style and warns when - * subsequent code blocks uses different styles. + * * `'fenced'` + * — prefer fenced code blocks: + * ````markdown + * ```js + * code() + * ``` + * ```` + * * `'indented'` + * — prefer indented code blocks: + * ```markdown + * code() + * ``` + * * `'consistent'` + * — detect the first used style and warn when further code blocks differ * - * ## Fix + * ## Recommendation * - * [`remark-stringify`](https://github.com/remarkjs/remark/tree/HEAD/packages/remark-stringify) - * formats code blocks using a fence if they have a language flag and - * indentation if not. - * Pass - * [`fences: true`](https://github.com/remarkjs/remark/tree/HEAD/packages/remark-stringify#optionsfences) - * to always use fences for code blocks. + * Indentation in markdown is complex, especially because lists and indented + * code can interfere in unexpected ways. + * Fenced code has more features than indented code: importantly, specifying a + * programming language. + * Since CommonMark took the idea of fenced code from GFM, fenced code became + * widely supported. + * Due to this, it’s recommended to configure this rule with `'fenced'`. * - * See [Using remark to fix your Markdown](https://github.com/remarkjs/remark-lint#using-remark-to-fix-your-markdown) - * on how to automatically fix warnings for this rule. + * ## Fix + * + * [`remark-stringify`](https://github.com/remarkjs/remark/tree/main/packages/remark-stringify) + * formats code blocks as fenced code when they have a language flag and as + * indented code otherwise. + * Pass + * [`fences: true`](https://github.com/remarkjs/remark/tree/main/packages/remark-stringify#optionsfences) + * to always use fenced code. + * + * @module code-block-style + * @summary + * remark-lint rule to warn when code blocks violate a given style. + * @author Titus Wormer + * @copyright 2015 Titus Wormer + * @license MIT * * @example - * {"setting": "indented", "name": "ok.md"} + * {"config": "indented", "name": "ok.md"} * * alpha() * @@ -14298,7 +14383,7 @@ var remarkLintCheckboxContentIndent$1 = remarkLintCheckboxContentIndent; * bravo() * * @example - * {"setting": "indented", "name": "not-ok.md", "label": "input"} + * {"config": "indented", "name": "not-ok.md", "label": "input"} * * ``` * alpha() @@ -14311,13 +14396,13 @@ var remarkLintCheckboxContentIndent$1 = remarkLintCheckboxContentIndent; * ``` * * @example - * {"setting": "indented", "name": "not-ok.md", "label": "output"} + * {"config": "indented", "name": "not-ok.md", "label": "output"} * * 1:1-3:4: Code blocks should be indented * 7:1-9:4: Code blocks should be indented * * @example - * {"setting": "fenced", "name": "ok.md"} + * {"config": "fenced", "name": "ok.md"} * * ``` * alpha() @@ -14330,7 +14415,7 @@ var remarkLintCheckboxContentIndent$1 = remarkLintCheckboxContentIndent; * ``` * * @example - * {"setting": "fenced", "name": "not-ok-fenced.md", "label": "input"} + * {"config": "fenced", "name": "not-ok-fenced.md", "label": "input"} * * alpha() * @@ -14339,7 +14424,7 @@ var remarkLintCheckboxContentIndent$1 = remarkLintCheckboxContentIndent; * bravo() * * @example - * {"setting": "fenced", "name": "not-ok-fenced.md", "label": "output"} + * {"config": "fenced", "name": "not-ok-fenced.md", "label": "output"} * * 1:1-1:12: Code blocks should be fenced * 5:1-5:12: Code blocks should be fenced @@ -14361,7 +14446,7 @@ var remarkLintCheckboxContentIndent$1 = remarkLintCheckboxContentIndent; * 5:1-7:4: Code blocks should be indented * * @example - * {"setting": "💩", "name": "not-ok-incorrect.md", "label": "output", "positionless": true} + * {"config": "💩", "name": "not-ok-incorrect.md", "label": "output", "positionless": true} * * 1:1: Incorrect code block style `💩`: use either `'consistent'`, `'fenced'`, or `'indented'` */ @@ -14522,47 +14607,47 @@ var remarkLintDefinitionSpacing$1 = remarkLintDefinitionSpacing; * 1:1-3:4: Missing code language flag * * @example - * {"name": "ok.md", "setting": {"allowEmpty": true}} + * {"name": "ok.md", "config": {"allowEmpty": true}} * * ``` * alpha() * ``` * * @example - * {"name": "not-ok.md", "setting": {"allowEmpty": false}, "label": "input"} + * {"name": "not-ok.md", "config": {"allowEmpty": false}, "label": "input"} * * ``` * alpha() * ``` * * @example - * {"name": "not-ok.md", "setting": {"allowEmpty": false}, "label": "output"} + * {"name": "not-ok.md", "config": {"allowEmpty": false}, "label": "output"} * * 1:1-3:4: Missing code language flag * * @example - * {"name": "ok.md", "setting": ["alpha"]} + * {"name": "ok.md", "config": ["alpha"]} * * ```alpha * bravo() * ``` * * @example - * {"name": "ok.md", "setting": {"flags":["alpha"]}} + * {"name": "ok.md", "config": {"flags":["alpha"]}} * * ```alpha * bravo() * ``` * * @example - * {"name": "not-ok.md", "setting": ["charlie"], "label": "input"} + * {"name": "not-ok.md", "config": ["charlie"], "label": "input"} * * ```alpha * bravo() * ``` * * @example - * {"name": "not-ok.md", "setting": ["charlie"], "label": "output"} + * {"name": "not-ok.md", "config": ["charlie"], "label": "output"} * * 1:1-3:4: Incorrect code language flag */ @@ -14650,7 +14735,7 @@ var remarkLintFencedCodeFlag$1 = remarkLintFencedCodeFlag; * bravo() * * @example - * {"name": "ok.md", "setting": "`"} + * {"name": "ok.md", "config": "`"} * * ```alpha * bravo() @@ -14661,7 +14746,7 @@ var remarkLintFencedCodeFlag$1 = remarkLintFencedCodeFlag; * ``` * * @example - * {"name": "ok.md", "setting": "~"} + * {"name": "ok.md", "config": "~"} * * ~~~alpha * bravo() @@ -14704,7 +14789,7 @@ var remarkLintFencedCodeFlag$1 = remarkLintFencedCodeFlag; * 5:1-7:4: Fenced code should use `~` as a marker * * @example - * {"name": "not-ok-incorrect.md", "setting": "💩", "label": "output", "positionless": true} + * {"name": "not-ok-incorrect.md", "config": "💩", "label": "output", "positionless": true} * * 1:1: Incorrect fenced code marker `💩`: use either `'consistent'`, `` '`' ``, or `'~'` */ @@ -14787,7 +14872,7 @@ var remarkLintFencedCodeMarker$1 = remarkLintFencedCodeMarker; * 1:1: Incorrect extension: use `md` * * @example - * {"name": "readme.mkd", "setting": "mkd"} + * {"name": "readme.mkd", "config": "mkd"} */ const remarkLintFileExtension = lintRule( { @@ -14965,40 +15050,40 @@ var remarkLintFinalDefinition$1 = remarkLintFinalDefinition; * 1:1-1:17: First heading level should be `1` * * @example - * {"name": "ok.md", "setting": 2} + * {"name": "ok.md", "config": 2} * * ## Delta * * Paragraph. * * @example - * {"name": "ok-html.md", "setting": 2} + * {"name": "ok-html.md", "config": 2} * *

Echo

* * Paragraph. * * @example - * {"name": "not-ok.md", "setting": 2, "label": "input"} + * {"name": "not-ok.md", "config": 2, "label": "input"} * * # Foxtrot * * Paragraph. * * @example - * {"name": "not-ok.md", "setting": 2, "label": "output"} + * {"name": "not-ok.md", "config": 2, "label": "output"} * * 1:1-1:10: First heading level should be `2` * * @example - * {"name": "not-ok-html.md", "setting": 2, "label": "input"} + * {"name": "not-ok-html.md", "config": 2, "label": "input"} * *

Golf

* * Paragraph. * * @example - * {"name": "not-ok-html.md", "setting": 2, "label": "output"} + * {"name": "not-ok-html.md", "config": 2, "label": "output"} * * 1:1-1:14: First heading level should be `2` */ @@ -15097,7 +15182,7 @@ function infer(node) { * @copyright 2015 Titus Wormer * @license MIT * @example - * {"name": "ok.md", "setting": "atx"} + * {"name": "ok.md", "config": "atx"} * * # Alpha * @@ -15106,7 +15191,7 @@ function infer(node) { * ### Charlie * * @example - * {"name": "ok.md", "setting": "atx-closed"} + * {"name": "ok.md", "config": "atx-closed"} * * # Delta ## * @@ -15115,7 +15200,7 @@ function infer(node) { * ### Foxtrot ### * * @example - * {"name": "ok.md", "setting": "setext"} + * {"name": "ok.md", "config": "setext"} * * Golf * ==== @@ -15142,7 +15227,7 @@ function infer(node) { * 6:1-6:13: Headings should use setext * * @example - * {"name": "not-ok.md", "setting": "💩", "label": "output", "positionless": true} + * {"name": "not-ok.md", "config": "💩", "label": "output", "positionless": true} * * 1:1: Incorrect heading style type `💩`: use either `'consistent'`, `'atx'`, `'atx-closed'`, or `'setext'` */ @@ -15237,7 +15322,7 @@ var remarkLintHeadingStyle$1 = remarkLintHeadingStyle; * [foo]: * * @example - * {"name": "not-ok.md", "setting": 80, "label": "input", "positionless": true} + * {"name": "not-ok.md", "config": 80, "label": "input", "positionless": true} * * This line is simply not tooooooooooooooooooooooooooooooooooooooooooooooooooooooo * long. @@ -15253,7 +15338,7 @@ var remarkLintHeadingStyle$1 = remarkLintHeadingStyle; * `alphaBravoCharlieDeltaEchoFoxtrotGolfHotelIndiaJuliettKiloLimaMikeNovemberOscar.papa()` and such. * * @example - * {"name": "not-ok.md", "setting": 80, "label": "output", "positionless": true} + * {"name": "not-ok.md", "config": 80, "label": "output", "positionless": true} * * 4:86: Line must be at most 80 characters * 6:99: Line must be at most 80 characters @@ -15262,7 +15347,7 @@ var remarkLintHeadingStyle$1 = remarkLintHeadingStyle; * 12:99: Line must be at most 80 characters * * @example - * {"name": "ok-mixed-line-endings.md", "setting": 10, "positionless": true} + * {"name": "ok-mixed-line-endings.md", "config": 10, "positionless": true} * * 0123456789␍␊ * 0123456789␊ @@ -15270,7 +15355,7 @@ var remarkLintHeadingStyle$1 = remarkLintHeadingStyle; * 01234␊ * * @example - * {"name": "not-ok-mixed-line-endings.md", "setting": 10, "label": "input", "positionless": true} + * {"name": "not-ok-mixed-line-endings.md", "config": 10, "label": "input", "positionless": true} * * 012345678901␍␊ * 012345678901␊ @@ -15278,7 +15363,7 @@ var remarkLintHeadingStyle$1 = remarkLintHeadingStyle; * 01234567890␊ * * @example - * {"name": "not-ok-mixed-line-endings.md", "setting": 10, "label": "output", "positionless": true} + * {"name": "not-ok-mixed-line-endings.md", "config": 10, "label": "output", "positionless": true} * * 1:13: Line must be at most 10 characters * 2:13: Line must be at most 10 characters @@ -15313,8 +15398,7 @@ const remarkLintMaximumLineLength = lintRule( allowList(pointStart(node).line - 1, pointEnd(node).line); } }); - visit$1(tree, (node, pos, parent_) => { - const parent = (parent_); + visit$1(tree, (node, pos, parent) => { if ( (node.type === 'link' || node.type === 'image' || @@ -15717,21 +15801,21 @@ var remarkLintNoHeadingIndent$1 = remarkLintNoHeadingIndent; * @copyright 2015 Titus Wormer * @license MIT * @example - * {"name": "ok.md", "setting": 1} + * {"name": "ok.md", "config": 1} * * # Foo * * ## Bar * * @example - * {"name": "not-ok.md", "setting": 1, "label": "input"} + * {"name": "not-ok.md", "config": 1, "label": "input"} * * # Foo * * # Bar * * @example - * {"name": "not-ok.md", "setting": 1, "label": "output"} + * {"name": "not-ok.md", "config": 1, "label": "output"} * * 3:1-3:6: Don’t use multiple top level headings (1:1) */ @@ -19475,7 +19559,7 @@ let SemVer$2 = class SemVer { version = version.version; } } else if (typeof version !== 'string') { - throw new TypeError(`Invalid Version: ${require$$5.inspect(version)}`) + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) } if (version.length > MAX_LENGTH) { throw new TypeError( @@ -20053,14 +20137,14 @@ function prohibitedStrings (ast, file, strings) { * @copyright 2015 Titus Wormer * @license MIT * @example - * {"name": "ok.md", "setting": "* * *"} + * {"name": "ok.md", "config": "* * *"} * * * * * * * * * * * * @example - * {"name": "ok.md", "setting": "_______"} + * {"name": "ok.md", "config": "_______"} * * _______ * @@ -20079,7 +20163,7 @@ function prohibitedStrings (ast, file, strings) { * 3:1-3:6: Rules should use `***` * * @example - * {"name": "not-ok.md", "label": "output", "setting": "💩", "positionless": true} + * {"name": "not-ok.md", "label": "output", "config": "💩", "positionless": true} * * 1:1: Incorrect preferred rule style: provide a correct markdown rule or `'consistent'` */ @@ -20163,12 +20247,12 @@ var remarkLintRuleStyle$1 = remarkLintRuleStyle; * __foo__ and __bar__. * * @example - * {"name": "ok.md", "setting": "*"} + * {"name": "ok.md", "config": "*"} * * **foo**. * * @example - * {"name": "ok.md", "setting": "_"} + * {"name": "ok.md", "config": "_"} * * __foo__. * @@ -20183,7 +20267,7 @@ var remarkLintRuleStyle$1 = remarkLintRuleStyle; * 1:13-1:20: Strong should use `*` as a marker * * @example - * {"name": "not-ok.md", "label": "output", "setting": "💩", "positionless": true} + * {"name": "not-ok.md", "label": "output", "config": "💩", "positionless": true} * * 1:1: Incorrect strong marker `💩`: use either `'consistent'`, `'*'`, or `'_'` */ @@ -20254,14 +20338,14 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * @copyright 2015 Titus Wormer * @license MIT * @example - * {"name": "ok.md", "setting": "padded", "gfm": true} + * {"name": "ok.md", "config": "padded", "gfm": true} * * | A | B | * | ----- | ----- | * | Alpha | Bravo | * * @example - * {"name": "not-ok.md", "label": "input", "setting": "padded", "gfm": true} + * {"name": "not-ok.md", "label": "input", "config": "padded", "gfm": true} * * | A | B | * | :----|----: | @@ -20278,27 +20362,27 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * | Echo | Foxtrot | Golf | Hotel | * * @example - * {"name": "not-ok.md", "label": "output", "setting": "padded", "gfm": true} + * {"name": "not-ok.md", "label": "output", "config": "padded", "gfm": true} * * 3:8: Cell should be padded * 3:9: Cell should be padded * 7:2: Cell should be padded * 7:17: Cell should be padded - * 13:9: Cell should be padded with 1 space, not 2 - * 13:20: Cell should be padded with 1 space, not 2 - * 13:21: Cell should be padded with 1 space, not 2 - * 13:29: Cell should be padded with 1 space, not 2 - * 13:30: Cell should be padded with 1 space, not 2 + * 13:7: Cell should be padded with 1 space, not 2 + * 13:18: Cell should be padded with 1 space, not 2 + * 13:23: Cell should be padded with 1 space, not 2 + * 13:27: Cell should be padded with 1 space, not 2 + * 13:32: Cell should be padded with 1 space, not 2 * * @example - * {"name": "ok.md", "setting": "compact", "gfm": true} + * {"name": "ok.md", "config": "compact", "gfm": true} * * |A |B | * |-----|-----| * |Alpha|Bravo| * * @example - * {"name": "not-ok.md", "label": "input", "setting": "compact", "gfm": true} + * {"name": "not-ok.md", "label": "input", "config": "compact", "gfm": true} * * | A | B | * | -----| -----| @@ -20309,14 +20393,14 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * |Charlie|Delta | * * @example - * {"name": "not-ok.md", "label": "output", "setting": "compact", "gfm": true} + * {"name": "not-ok.md", "label": "output", "config": "compact", "gfm": true} * - * 3:2: Cell should be compact - * 3:11: Cell should be compact - * 7:16: Cell should be compact + * 3:5: Cell should be compact + * 3:12: Cell should be compact + * 7:15: Cell should be compact * * @example - * {"name": "ok-padded.md", "setting": "consistent", "gfm": true} + * {"name": "ok-padded.md", "config": "consistent", "gfm": true} * * | A | B | * | ----- | ----- | @@ -20327,7 +20411,7 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * | Charlie | Delta | * * @example - * {"name": "not-ok-padded.md", "label": "input", "setting": "consistent", "gfm": true} + * {"name": "not-ok-padded.md", "label": "input", "config": "consistent", "gfm": true} * * | A | B | * | ----- | ----- | @@ -20338,12 +20422,12 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * |Charlie | Delta | * * @example - * {"name": "not-ok-padded.md", "label": "output", "setting": "consistent", "gfm": true} + * {"name": "not-ok-padded.md", "label": "output", "config": "consistent", "gfm": true} * * 7:2: Cell should be padded * * @example - * {"name": "ok-compact.md", "setting": "consistent", "gfm": true} + * {"name": "ok-compact.md", "config": "consistent", "gfm": true} * * |A |B | * |-----|-----| @@ -20354,7 +20438,7 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * |Charlie|Delta| * * @example - * {"name": "not-ok-compact.md", "label": "input", "setting": "consistent", "gfm": true} + * {"name": "not-ok-compact.md", "label": "input", "config": "consistent", "gfm": true} * * |A |B | * |-----|-----| @@ -20365,17 +20449,17 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * |Charlie|Delta | * * @example - * {"name": "not-ok-compact.md", "label": "output", "setting": "consistent", "gfm": true} + * {"name": "not-ok-compact.md", "label": "output", "config": "consistent", "gfm": true} * - * 7:16: Cell should be compact + * 7:15: Cell should be compact * * @example - * {"name": "not-ok.md", "label": "output", "setting": "💩", "positionless": true, "gfm": true} + * {"name": "not-ok.md", "label": "output", "config": "💩", "positionless": true, "gfm": true} * * 1:1: Incorrect table cell padding style `💩`, expected `'padded'`, `'compact'`, or `'consistent'` * * @example - * {"name": "empty.md", "label": "input", "setting": "padded", "gfm": true} + * {"name": "empty.md", "label": "input", "config": "padded", "gfm": true} * * * @@ -20384,14 +20468,14 @@ var remarkLintStrongMarker$1 = remarkLintStrongMarker; * | Charlie| | Echo| * * @example - * {"name": "empty.md", "label": "output", "setting": "padded", "gfm": true} + * {"name": "empty.md", "label": "output", "config": "padded", "gfm": true} * * 3:25: Cell should be padded * 5:10: Cell should be padded * 5:25: Cell should be padded * * @example - * {"name": "missing-body.md", "setting": "padded", "gfm": true} + * {"name": "missing-body.md", "config": "padded", "gfm": true} * * * @@ -20433,32 +20517,33 @@ const remarkLintTableCellPadding = lintRule( let column = -1; while (++column < row.children.length) { const cell = row.children[column]; - if (cell.children.length > 0) { - const cellStart = pointStart(cell).offset; - const cellEnd = pointEnd(cell).offset; - const contentStart = pointStart(cell.children[0]).offset; - const contentEnd = pointEnd( - cell.children[cell.children.length - 1] - ).offset; - if ( - typeof cellStart !== 'number' || - typeof cellEnd !== 'number' || - typeof contentStart !== 'number' || - typeof contentEnd !== 'number' - ) { - continue - } - entries.push({ - node: cell, - start: contentStart - cellStart - (column ? 0 : 1), - end: cellEnd - contentEnd - 1, - column - }); - sizes[column] = Math.max( - sizes[column] || 0, - contentEnd - contentStart - ); + const cellStart = pointStart(cell).offset; + const cellEnd = pointEnd(cell).offset; + const contentStart = pointStart(cell.children[0]).offset; + const contentEnd = pointEnd( + cell.children[cell.children.length - 1] + ).offset; + if ( + typeof cellStart !== 'number' || + typeof cellEnd !== 'number' || + typeof contentStart !== 'number' || + typeof contentEnd !== 'number' + ) { + continue } + entries.push({ + node: cell, + start: contentStart - cellStart - 1, + end: + cellEnd - + contentEnd - + (column === row.children.length - 1 ? 1 : 0), + column + }); + sizes[column] = Math.max( + sizes[column] || 0, + contentEnd - contentStart + ); } } const style = @@ -20498,23 +20583,12 @@ const remarkLintTableCellPadding = lintRule( reason += ' with 1 space, not ' + spacing; } } - let point; - if (side === 'start') { - point = pointStart(cell); - if (!column) { - point.column++; - if (typeof point.offset === 'number') { - point.offset++; - } - } - } else { - point = pointEnd(cell); - point.column--; - if (typeof point.offset === 'number') { - point.offset--; - } - } - file.message(reason, point); + file.message( + reason, + side === 'start' + ? pointStart(cell.children[0]) + : pointEnd(cell.children[cell.children.length - 1]) + ); } } ); @@ -20665,17 +20739,17 @@ var remarkLintTablePipes$1 = remarkLintTablePipes; * 3. Baz * * @example - * {"name": "ok.md", "setting": "*"} + * {"name": "ok.md", "config": "*"} * * * Foo * * @example - * {"name": "ok.md", "setting": "-"} + * {"name": "ok.md", "config": "-"} * * - Foo * * @example - * {"name": "ok.md", "setting": "+"} + * {"name": "ok.md", "config": "+"} * * + Foo * @@ -20693,7 +20767,7 @@ var remarkLintTablePipes$1 = remarkLintTablePipes; * 3:1-3:6: Marker style should be `*` * * @example - * {"name": "not-ok.md", "label": "output", "setting": "💩", "positionless": true} + * {"name": "not-ok.md", "label": "output", "config": "💩", "positionless": true} * * 1:1: Incorrect unordered list item marker style `💩`: use either `'-'`, `'*'`, or `'+'` */ diff --git a/tools/lint-md/package-lock.json b/tools/lint-md/package-lock.json index be45f2dc9e5364..d1aa1eab233dab 100644 --- a/tools/lint-md/package-lock.json +++ b/tools/lint-md/package-lock.json @@ -9,16 +9,16 @@ "version": "1.0.0", "dependencies": { "remark-parse": "^10.0.1", - "remark-preset-lint-node": "^3.4.0", + "remark-preset-lint-node": "^4.0.0", "remark-stringify": "^10.0.2", "to-vfile": "^7.2.4", "unified": "^10.1.2", "vfile-reporter": "^7.0.5" }, "devDependencies": { - "@rollup/plugin-commonjs": "^24.1.0", + "@rollup/plugin-commonjs": "^25.0.0", "@rollup/plugin-node-resolve": "^15.0.2", - "rollup": "^3.21.5", + "rollup": "^3.21.7", "rollup-plugin-cleanup": "^3.2.1" } }, @@ -29,9 +29,9 @@ "dev": true }, "node_modules/@rollup/plugin-commonjs": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.1.0.tgz", - "integrity": "sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==", + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.0.tgz", + "integrity": "sha512-hoho2Kay9TZrLu0bnDsTTCaj4Npa+THk9snajP/XDNb9a9mmjTjh52EQM9sKl3HD1LsnihX7js+eA2sd2uKAhw==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -834,9 +834,9 @@ } }, "node_modules/micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", "dependencies": { "micromark-extension-gfm-autolink-literal": "^1.0.0", "micromark-extension-gfm-footnote": "^1.0.0", @@ -904,9 +904,9 @@ } }, "node_modules/micromark-extension-gfm-table": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", - "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.6.tgz", + "integrity": "sha512-92pq7Q+T+4kXH4M6kL+pc8WU23Z9iuhcqmtYFWdFWjm73ZscFpH2xE28+XFpGWlvgq3LUwcN0XC0PGCicYFpgA==", "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", @@ -1387,9 +1387,9 @@ } }, "node_modules/remark-lint": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.1.tgz", - "integrity": "sha512-zhe6twuqgkx/9KgZyNyaO0cceA4jQuJcyzMOBC+JZiAzMN6mFUmcssWZyY30ko8ut9vQDMX/pyQnolGn+Fg/Tw==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-9.1.2.tgz", + "integrity": "sha512-m9e/aPlh7tsvfJfj8tPxrQzD6oEdb9Foko+Ya/6OwUP9EoGMfehv1Qtv26W1DoH58Wn8rT8CD+KuprTWscMmIA==", "dependencies": { "@types/mdast": "^3.0.0", "remark-message-control": "^7.0.0", @@ -1401,9 +1401,9 @@ } }, "node_modules/remark-lint-blockquote-indentation": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-3.1.1.tgz", - "integrity": "sha512-u9cjedM6zcK8vRicis5n/xeOSDIC3FGBCKc3K9pqw+nNrOjY85FwxDQKZZ/kx7rmkdRZEhgyHak+wzPBllcxBQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-3.1.2.tgz", + "integrity": "sha512-5DOrFsZd5dXqA4p/VZvWSrqIWNFbBXjX7IV/FkVkxlNhNF/0FMf/4v8x1I2W3mzaZ7yDsWS/egpZnmligq1ckQ==", "dependencies": { "@types/mdast": "^3.0.0", "pluralize": "^8.0.0", @@ -1419,9 +1419,9 @@ } }, "node_modules/remark-lint-checkbox-character-style": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-checkbox-character-style/-/remark-lint-checkbox-character-style-4.1.1.tgz", - "integrity": "sha512-KPSW3wfHfB8m9hzrtHiBHCTUIsOPX5nZR7VM+2pMjwqnhI6Mp94DKprkNo1ekNZALNeoZIDWZUSYxSiiwFfmVQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-checkbox-character-style/-/remark-lint-checkbox-character-style-4.1.2.tgz", + "integrity": "sha512-5ITz+1cCuJ3Jv/Q7rKgDEucCOnIgjWDnSHPJA1tb4TI/D316h+ALbDhZIpP8gyfAm6sBAh3Pwz9XZJN2uJB5UQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1435,9 +1435,9 @@ } }, "node_modules/remark-lint-checkbox-content-indent": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-checkbox-content-indent/-/remark-lint-checkbox-content-indent-4.1.1.tgz", - "integrity": "sha512-apkM6sqCwAHwNV0v6KuEbq50fH3mTAV4wKTwI1nWgEj33/nf4+RvLLPgznoc2olZyeAIHR69EKPQiernjCXPOw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-checkbox-content-indent/-/remark-lint-checkbox-content-indent-4.1.2.tgz", + "integrity": "sha512-8uaHAm4bSqB7XpnecLRObe00Lj9eoHiecV+44CfJeWyoo50cTPR/hIMfsMtDxsNt4LZP+6oCV9z+vACJqDv8Hg==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1452,9 +1452,9 @@ } }, "node_modules/remark-lint-code-block-style": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-3.1.0.tgz", - "integrity": "sha512-Hv4YQ8ueLGpjItla4CkcOkcfGj+nlquqylDgCm1/xKnW+Ke2a4qVTMVJrP9Krp4FWmXgktJLDHjhRH+pzhDXLg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-3.1.2.tgz", + "integrity": "sha512-3wsWmzzdyEsB9sOzBOf46TSkwwVKXN2JpTEQb6feN0Tl6Vg75F7T9MHqMz7aqk/56bOXSxUzdpXDscGBhziLRA==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1469,9 +1469,9 @@ } }, "node_modules/remark-lint-definition-spacing": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-3.1.1.tgz", - "integrity": "sha512-PR+cYvc0FMtFWjkaXePysW88r7Y7eIwbpUGPFDIWE48fiRiz8U3VIk05P3loQCpCkbmUeInAAYD8tIFPTg4Jlg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-3.1.2.tgz", + "integrity": "sha512-l058jAKfZfCOmlbIzoTll+CrZm9Bh42ZVCHcODPSZC8Yx4terCKgIoks+RWJDEdUbEw0YQoYvPc59ZVmp3BIew==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1485,9 +1485,9 @@ } }, "node_modules/remark-lint-fenced-code-flag": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.1.tgz", - "integrity": "sha512-FFVZmYsBccKIIEgOtgdZEpQdARtAat1LTLBydnIpyNIvcntzWwtrtlj9mtjL8ZoSRre8HtwmEnBFyOfmM/NWaA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-3.1.2.tgz", + "integrity": "sha512-yh4m3dlPmRsqM/BFhpqHYfrmBvFQ+D5dZZKDDYP2rf3YEoXlEVt8T8lWQueTTSxcq6yXAqL/XQL/iqqUHlLcHw==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1502,9 +1502,9 @@ } }, "node_modules/remark-lint-fenced-code-marker": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-3.1.1.tgz", - "integrity": "sha512-x/t8sJWPvE46knKz6zW03j9VX5477srHUmRFbnXhZ3K8e37cYVUIvfbPhcPCAosSsOki9+dvGfZsWQiKuUNNfQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-3.1.2.tgz", + "integrity": "sha512-6XNqjOuhT+0c7Q/22aCsMz61ne9g8HRpYF79EXQPdbzYa+PcfPXMiQKStONY3PfC8OE2/3WXI2zcs8w9x+8+VQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1518,9 +1518,9 @@ } }, "node_modules/remark-lint-file-extension": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-2.1.1.tgz", - "integrity": "sha512-r6OMe27YZzr2NFjPMbBxgm8RZxigRwzeFSjapPlqcxk0Q0w/6sosJsceBNlGGlk00pltvv7NPqSexbXUjirrQQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-2.1.2.tgz", + "integrity": "sha512-Nq54F5R7F1gyj/IMW6SvkAbVNrH+p38WK3//KCoZLDUYFrH0oXgXXFGHi9CT/O0VEopW+bWJfTn8YAJRs0qI5Q==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1532,9 +1532,9 @@ } }, "node_modules/remark-lint-final-definition": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-3.1.1.tgz", - "integrity": "sha512-94hRV+EBIuLVFooiimsZwh5ZPEcTqjy5wr7LgqxoUUWy+srTanndaLoki7bxQJeIcWUnomZncsJAyL0Lo7toxw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-3.1.2.tgz", + "integrity": "sha512-3O3JT6xqlrgq+UjhMPxshgMtwXn99w0BEO9JwbDls49N0XCu0n22Pq1n6X3tEVzskPLo3YYyVYfW2Z2C2rneKQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1549,9 +1549,9 @@ } }, "node_modules/remark-lint-final-newline": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-2.1.1.tgz", - "integrity": "sha512-cgKYaI7ujUse/kV4KajLv2j1kmi1CxpAu+w7wIU0/Faihhb3sZAf4a5ACf2Wu8NoTSIr1Q//3hDysG507PIoDg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-2.1.2.tgz", + "integrity": "sha512-K0FdPGPyEB94PwNgopwVJFE8oRWi7IhY2ycXFVAMReI51el7EHB8F1gX14tB6p6zyGy6mUh69bCVU9mMTNeOUg==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1563,9 +1563,9 @@ } }, "node_modules/remark-lint-first-heading-level": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-first-heading-level/-/remark-lint-first-heading-level-3.1.1.tgz", - "integrity": "sha512-Z2+gn9sLyI/sT2c1JMPf1dj9kQkFCpL1/wT5Skm5nMbjI8/dIiTF2bKr9XKsFZUFP7GTA57tfeZvzD1rjWbMwg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-first-heading-level/-/remark-lint-first-heading-level-3.1.2.tgz", + "integrity": "sha512-uSgDMAKOolDcxfJwQU+iJK2Vbz2ZIzBAjQiN0f+9O/7XwrAH5IuVQH60w7chuxVrauVHmd1rbjmvzXVq8R30VQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1579,9 +1579,9 @@ } }, "node_modules/remark-lint-hard-break-spaces": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-3.1.1.tgz", - "integrity": "sha512-UfwFvESpX32qwyHJeluuUuRPWmxJDTkmjnWv2r49G9fC4Jrzm4crdJMs3sWsrGiQ3mSex6bgp/8rqDgtBng2IA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-3.1.2.tgz", + "integrity": "sha512-HaW0xsl3TI7VFAqGWWcZtPqyz0NWu19KKjSO7OGFTUJU4S9YiRnhIxmSFM0ZLSsVAynE+dhzVKa8U7dOpWDcOg==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1596,9 +1596,9 @@ } }, "node_modules/remark-lint-heading-style": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-3.1.1.tgz", - "integrity": "sha512-Qm7ZAF+s46ns0Wo5TlHGIn/PPMMynytn8SSLEdMIo6Uo/+8PAcmQ3zU1pj57KYxfyDoN5iQPgPIwPYMLYQ2TSQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-3.1.2.tgz", + "integrity": "sha512-0RkcRPV/H2bPFgeInzBkK1cWUwtFTm83I+Db/Z5tDY02GzKOosHLvxtJyj/1391/opAH1LYbHtHWffir99IUgw==", "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-heading-style": "^2.0.0", @@ -1613,9 +1613,9 @@ } }, "node_modules/remark-lint-list-item-bullet-indent": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-4.1.1.tgz", - "integrity": "sha512-NFvXVj1Nm12+Ma48NOjZCGb/D0IhmUcxyrTCpPp+UNJhEWrmFxM8nSyIiZgXadgXErnuv+xm2Atw7TAcZ9a1Cg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-4.1.2.tgz", + "integrity": "sha512-WgU5nooqIEm6f35opcbHKBzWrdFJA3XcyTfB3nv/v0KX43/h6qFGmmMJ5kEiaFExuQp3dZSdatWuY0YZ9YRbUg==", "dependencies": { "@types/mdast": "^3.0.0", "pluralize": "^8.0.0", @@ -1629,9 +1629,9 @@ } }, "node_modules/remark-lint-list-item-indent": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-3.1.1.tgz", - "integrity": "sha512-OSTG64e52v8XBmmeT0lefpiAfCMYHJxMMUrMnhTjLVyWAbEO0vqqR5bLvfLwzK+P4nY2D/8XKku0hw35dM86Rw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-3.1.2.tgz", + "integrity": "sha512-tkrra1pxZVE4OVJGfN435u/v0ljruXU+dHzWiKDYeifquD4aWhJxvSApu7+FbE098D/4usVXgMxwFkNhrpZcSQ==", "dependencies": { "@types/mdast": "^3.0.0", "pluralize": "^8.0.0", @@ -1647,9 +1647,9 @@ } }, "node_modules/remark-lint-maximum-line-length": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-3.1.2.tgz", - "integrity": "sha512-KwddpVmNifTHNXwTQQgVufuUvv0hhu9kJVvmpNdEvfEc7tc3wBkaavyi3kKsUB8WwMhGtZuXVWy6OdPC1axzhw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-3.1.3.tgz", + "integrity": "sha512-TA7IE+0c8agRm1k7JZr7ZZFiL44JMBAj1KlMxSTACBuebdPJe7IPaLIQga10bnz75jfWMzSiRURMFHo4lt3kdw==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1664,9 +1664,9 @@ } }, "node_modules/remark-lint-no-blockquote-without-marker": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-5.1.1.tgz", - "integrity": "sha512-7jL7eKS25kKRhQ7SKKB5eRfNleDMWKWAmZ5Y/votJdDoM+6qsopLLumPWaSzP0onyV3dyHRhPfBtqelt3hvcyA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-5.1.2.tgz", + "integrity": "sha512-QPbqsrt7EfpSWqTkZJ9tepabPIhBDlNqZkuxxMQYD0OQ2N+tHDUq3zE1JxI5ts1V9o/mWApgySocqGd3jlcKmQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1682,9 +1682,9 @@ } }, "node_modules/remark-lint-no-consecutive-blank-lines": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-4.1.2.tgz", - "integrity": "sha512-wRsR3kFgHaZ4mO3KASU43oXGLGezNZ64yNs1ChPUacKh0Bm7cwGnxN9GHGAbOXspwrYrN2eCDxzCbdPEZi2qKw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-4.1.3.tgz", + "integrity": "sha512-yU3jH6UMHvaxX3DPBen+7CoPiCcqJ4BeteyOKeKX+tKWCWKILpiz+TVToRbeLnWO4IvFNnSRFMSXmcWSDdbY4w==", "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -1701,9 +1701,9 @@ } }, "node_modules/remark-lint-no-duplicate-definitions": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-3.1.1.tgz", - "integrity": "sha512-9p+nBz8VvV+t4g/ALNLVN8naV+ffAzC4ADyg9QivzmKwLjyF93Avt4HYNlb2GZ+aoXRQSVG1wjjWFeDC9c7Tdg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-3.1.2.tgz", + "integrity": "sha512-vi0nXA7p+pjQOorZOkr9E+QDhG74JAdbzqglWPrWWNI3z2rUYWYHTNSyWJbwEXaIIcev1ZAw8SCAOis5MNm+pA==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1719,9 +1719,9 @@ } }, "node_modules/remark-lint-no-file-name-articles": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-2.1.1.tgz", - "integrity": "sha512-7fiHKQUGvP4WOsieZ1dxm8WQWWjXjPj0Uix6pk2dSTJqxvaosjKH1AV0J/eVvliat0BGH8Cz4SUbuz5vG6YbdQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-2.1.2.tgz", + "integrity": "sha512-kM4vwBkne7f9euDKsuyxTtrsiafjH+KOwu8ZmuSVWh5U+u0EMcPyN5fxfaQIW+5FkrJA1jwnRu7ciXJBJt74Og==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1733,9 +1733,9 @@ } }, "node_modules/remark-lint-no-file-name-consecutive-dashes": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-2.1.1.tgz", - "integrity": "sha512-tM4IpURGuresyeIBsXT5jsY3lZakgO6IO59ixcFt015bFjTOW54MrBvdJxA60QHhf5DAyHzD8wGeULPSs7ZQfg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-2.1.2.tgz", + "integrity": "sha512-gw06jaaFwBR3s+3E2kJlv+E7rAzS7Nj+MFU7TViwbsYnR7PA96htLVDCjClyNUE7JHUNcv93HdLm8ykg8kRyNA==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1747,9 +1747,9 @@ } }, "node_modules/remark-lint-no-file-name-outer-dashes": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-2.1.1.tgz", - "integrity": "sha512-2kRcVNzZb0zS3jE+Iaa6MEpplhqXSdsHBILS+BxJ4cDGAAIdeipY8hKaDLdZi+34wvrfnDxNgvNLcHpgqO+OZA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-2.1.2.tgz", + "integrity": "sha512-VrbHg25Oo9k/bNbS7ye1X7F6ER4uZSubO+t5DHJ4WZ6iVbNtBar/JwzVelY1YxUAutv42OvHfuveh4vKlcNgVA==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1761,9 +1761,9 @@ } }, "node_modules/remark-lint-no-heading-content-indent": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-4.1.1.tgz", - "integrity": "sha512-W4zF7MA72IDC5JB0qzciwsnioL5XlnoE0r1F7sDS0I5CJfQtHYOLlxb3UAIlgRCkBokPWCp0E4o1fsY/gQUKVg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-4.1.2.tgz", + "integrity": "sha512-TTxFsm1f4ZHFxZQCuz7j0QK4RvP6oArTiwazKLr16yaZe1608ypogMek4A30j2xX8WuO9+2uBzLXCY5OBo5x5Q==", "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-heading-style": "^2.0.0", @@ -1780,9 +1780,9 @@ } }, "node_modules/remark-lint-no-heading-indent": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-heading-indent/-/remark-lint-no-heading-indent-4.1.1.tgz", - "integrity": "sha512-3vIfT7gPdpE9D7muIQ6YzSF1q27H9SbsDD7ClJRkEWxMiAzBg0obOZFOIBYukUkmGWdOR5P1EDn5n9TEzS1Fyg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-heading-indent/-/remark-lint-no-heading-indent-4.1.2.tgz", + "integrity": "sha512-XFoSebfsYV6EFYRCYkCzSw6xxgltN5l3aPH+UfCk/0geMnl3DrCQjbQt9qhxQzBSBa4gA91CGs2DRI5Xxbwzig==", "dependencies": { "@types/mdast": "^3.0.0", "pluralize": "^8.0.0", @@ -1798,9 +1798,9 @@ } }, "node_modules/remark-lint-no-inline-padding": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-4.1.1.tgz", - "integrity": "sha512-++IMm6ohOPKNOrybqjP9eiclEtVX/Rd2HpF2UD9icrC1X5nvrI6tlfN55tePaFvWAB7pe6MW4LzNEMnWse61Lw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-4.1.2.tgz", + "integrity": "sha512-dGyhWsiqCZS3Slob0EVBUfsFBbdpMIBCvb56LlCgaHbnLsnNYx8PpF/wA5CgsN8BXIbXfRpyPB5cIJwIq5taYg==", "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-string": "^3.0.0", @@ -1815,9 +1815,9 @@ } }, "node_modules/remark-lint-no-literal-urls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-3.1.1.tgz", - "integrity": "sha512-tZZ4gtZMA//ZAf7GJTE8S9yjzqXUfUTlR/lvU7ffc7NeSurqCBwAtHqeXVCHiD39JnlHVSW2MLYhvHp53lBGvA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-3.1.2.tgz", + "integrity": "sha512-4tV9JGLKxAMFSuWDMOqLozkFJ3HyRvhzgrPrxASoziaml23m7UXAozk5dkIrFny1cN2oG988Z8tORxX2FL1Ilw==", "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-string": "^3.0.0", @@ -1833,9 +1833,9 @@ } }, "node_modules/remark-lint-no-multiple-toplevel-headings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-3.1.1.tgz", - "integrity": "sha512-bM//SIBvIkoGUpA8hR5QibJ+7C2R50PTIRrc4te93YNRG+ie8bJzjwuO9jIMedoDfJB6/+7EqO9FYBivjBZ3MA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-3.1.2.tgz", + "integrity": "sha512-9rJSsrwdzwKmtuloBjJobLzjGL7Lgtk3+vMNUyuH9z/nBfkUCN3qxn3Nt9AxL+wwSAsHV6e74W+W2S1ohBLt6A==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1851,9 +1851,9 @@ } }, "node_modules/remark-lint-no-shell-dollars": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.1.tgz", - "integrity": "sha512-Q3Ad1TaOPxbYog5+Of/quPG3Fy+dMKiHjT8KsU7NDiHG6YJOnAJ3f3w+y13CIlNIaKc/MrisgcthhrZ7NsgXfA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-3.1.2.tgz", + "integrity": "sha512-np2MDEhXHviXhbQFjnC1QYv5/fxCV1cIHfGMoJpqiW7Zcu/UGCOo5TE3XswZH4ukHZJ65c3X2A6qfLDW+ur3CQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1867,9 +1867,9 @@ } }, "node_modules/remark-lint-no-shortcut-reference-image": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-3.1.1.tgz", - "integrity": "sha512-m8tH+loDagd1JUns/T4eyulVXgVvE+ZSs7owRUOmP+dgsKJuO5sl1AdN9eyKDVMEvxHF3Pm5WqE62QIRNM48mA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-3.1.2.tgz", + "integrity": "sha512-NX4XJFPyDeJJ77pmETxRj4oM/zayf7Lmn/O87HgExBkQIPz2NYbDeKD8QEyliLaV/oKA2rQufpzuFw55xa1Tww==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1883,9 +1883,9 @@ } }, "node_modules/remark-lint-no-shortcut-reference-link": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-3.1.1.tgz", - "integrity": "sha512-oDJ92/jXQ842HgrBGgZdP7FA+N2jBMCBU2+jRElkS+OWVut0UaDILtNavNy/e85B3SLPj3RoXKF96M4vfJ7B2A==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-3.1.2.tgz", + "integrity": "sha512-/9iPN7FLKaaIzw4tLWKu7Rx0wAP7E2EuzIeentQlkY0rO/mMHipmT3IlgiebsAInKagzTY6TNFoG1rq2VnaCcA==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1899,9 +1899,9 @@ } }, "node_modules/remark-lint-no-table-indentation": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-4.1.1.tgz", - "integrity": "sha512-eklvBxUSrkVbJxeokepOvFZ3n2V6zaJERIiOowR+y/Bz4dRHDMij1Ojg55AMO9yUMvxWPV3JPOeThliAcPmrMg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-4.1.2.tgz", + "integrity": "sha512-5lkO+Yrtni/CDMZi7mlwbB2zzRQLH94DesboXg51aO2UfZlSn5dZNhmN5wkyCU2AiApUhlFNbxfKMHOWFPLdog==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1916,9 +1916,9 @@ } }, "node_modules/remark-lint-no-tabs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-tabs/-/remark-lint-no-tabs-3.1.1.tgz", - "integrity": "sha512-+MjXoHSSqRFUUz6XHgB1z7F5zIETxhkY+lC5LsOYb1r2ZdujZQWzBzNW5ya4HH5JiDVBPhp8MrqM9cP1v7tB5g==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-tabs/-/remark-lint-no-tabs-3.1.2.tgz", + "integrity": "sha512-PQQmRpGHRW9tMnAXtlQbMke8byIJu9hlotCH6pJZPO4FodpXvD4JW5EMM3BmO0JQDZsQWrx3qfqxCEMxrj8Qbg==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1951,9 +1951,9 @@ } }, "node_modules/remark-lint-no-undefined-references": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-4.2.0.tgz", - "integrity": "sha512-EDV9B1ZXMLcKVtMQFvfvtbag4AkLcu8aUNGXoez5GJLcCAQ8Q+sG74yOtIW4xNVlVubEjl0vdkFhaKYLxvn2Sw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-4.2.1.tgz", + "integrity": "sha512-HdNg5b2KiuNplcuVvRtsrUiROw557kAG1CiZYB7jQrrVWFgd86lKTa3bDiywe+87dGrGmHd3qQ28eZYTuHz2Nw==", "dependencies": { "@types/mdast": "^3.0.0", "micromark-util-normalize-identifier": "^1.0.0", @@ -1970,9 +1970,9 @@ } }, "node_modules/remark-lint-no-unused-definitions": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-3.1.1.tgz", - "integrity": "sha512-/GtyBukhAxi5MEX/g/m+FzDEflSbTe2/cpe2H+tJZyDmiLhjGXRdwWnPRDp+mB9g1iIZgVRCk7T4v90RbQX/mw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-3.1.2.tgz", + "integrity": "sha512-bOcaJAnjKxT3kASFquUA3fO9xem9wZhVqt8TbqjA84+G4n40qjaLXDs/4vq73aMsSde73K0f3j1u0pMe7et8yQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -1986,9 +1986,9 @@ } }, "node_modules/remark-lint-ordered-list-marker-style": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-3.1.1.tgz", - "integrity": "sha512-IWcWaJoaSb4yoSOuvDbj9B2uXp9kSj58DqtrMKo8MoRShmbj1onVfulTxoTLeLtI11NvW+mj3jPSpqjMjls+5Q==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-3.1.2.tgz", + "integrity": "sha512-62iVE/YQsA0Azaqt8yAJWPplWLS47kDLjXeC2PlRIAzCqbNt9qH3HId8vZ15QTSrp8rHmJwrCMdcqV6AZUi7gQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -2015,9 +2015,9 @@ } }, "node_modules/remark-lint-rule-style": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-3.1.1.tgz", - "integrity": "sha512-+oZe0ph4DWHGwPkQ/FpqiGp4WULTXB1edftnnNbizYT+Wr+/ux7GNTx78oXH/PHwlnOtVIExMc4W/vDXrUj/DQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-3.1.2.tgz", + "integrity": "sha512-0CsX2XcX9pIhAP5N7Y8mhYXp3/Ld+NvxXY1p0LHAq0NZu17UsZLuegvx/s25uFbQs08DcmSqyKnepU9qGGqmTQ==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -2031,9 +2031,9 @@ } }, "node_modules/remark-lint-strong-marker": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-3.1.1.tgz", - "integrity": "sha512-tX9Os2C48Hh8P8CouY4dcnAhGnR3trL+NCDqIvJvFDR9Rvm9yfNQaY2N4ZHWVY0iUicq9DpqEiJTgUsT8AGv/w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-3.1.2.tgz", + "integrity": "sha512-U/g4wngmiI0Q6WBRQG6pZxnDS33Wt/0QYA3+KNFBDykoi1vXsDEorIqy3dEag9z6XHwcMvFDsff6VRUhaOJWQg==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -2047,9 +2047,9 @@ } }, "node_modules/remark-lint-table-cell-padding": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-4.1.2.tgz", - "integrity": "sha512-cx5BXjHtpACa7Z51Vuqzy9BI4Z8Hnxz7vklhhrubkoB7mbctP/mR+Nh4B8eE5VtgFYJNHFwIltl96PuoctFCeQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-4.1.3.tgz", + "integrity": "sha512-N9xtnS6MG/H3srAMjqqaF26A7socr87pIgt64dr5rxoSbDRWRPChGQ8y7wKyV8VeyRNF37e3E5KB3bQVqjSYaQ==", "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -2064,9 +2064,9 @@ } }, "node_modules/remark-lint-table-pipes": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-4.1.1.tgz", - "integrity": "sha512-mJnB2FpjJTE4s9kE1JX8gcCjCFvtGPjzXUiQy0sbPHn2YM9EWG7kvFWYoqWK4w569CEQJyxZraEPltmhDjQTjg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-4.1.2.tgz", + "integrity": "sha512-Ex2cJDXA0hdD9CC5Nu0p3K5LP+AhzPvk4sIOSbevCTSRyCS/SkNk4CQ6pwWBxuPVuHQUkqXkT8lgu8wwr/9A3A==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -2080,9 +2080,9 @@ } }, "node_modules/remark-lint-unordered-list-marker-style": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-3.1.1.tgz", - "integrity": "sha512-JwH8oIDi9f5Z8cTQLimhJ/fkbPwI3OpNSifjYyObNNuc4PG4/NUoe5ZuD10uPmPYHZW+713RZ8S5ucVCkI8dDA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-3.1.2.tgz", + "integrity": "sha512-JFiyB4ZprJGGndCaFB8FssXd48m4Kh+CUqzNgu3lBLEiW8dEAGRlD9M2AzyyA+Q29WJP/FntDCbP22DeON91UA==", "dependencies": { "@types/mdast": "^3.0.0", "unified": "^10.0.0", @@ -2127,9 +2127,9 @@ } }, "node_modules/remark-preset-lint-node": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/remark-preset-lint-node/-/remark-preset-lint-node-3.4.0.tgz", - "integrity": "sha512-8y2zZMwME1f7WGJSTAJGpAH6QRCQUV0Q3d8w3ecGoK/veRWX1gNpsRB3TH4JLDFF3v3zEOL7bs9Sexq47mT+MQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-preset-lint-node/-/remark-preset-lint-node-4.0.0.tgz", + "integrity": "sha512-r1n+NkNnzAV/QawwfxngfNO7oTpgVwy2OXYp6X6ETDAO9JFBKog2R/goORGf5THgNQCpwhHs2FVxTWWcO4Z6kQ==", "dependencies": { "js-yaml": "^4.1.0", "remark-gfm": "^3.0.1", @@ -2165,16 +2165,16 @@ "remark-preset-lint-recommended": "^6.1.2", "semver": "^7.3.5", "unified-lint-rule": "^2.1.1", - "unist-util-visit": "^4.1.0" + "unist-util-visit": "^4.1.2" }, "engines": { "node": ">=12.0.0" } }, "node_modules/remark-preset-lint-recommended": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/remark-preset-lint-recommended/-/remark-preset-lint-recommended-6.1.2.tgz", - "integrity": "sha512-x9kWufNY8PNAhY4fsl+KD3atgQdo4imP3GDAQYbQ6ylWVyX13suPRLkqnupW0ODRynfUg8ZRt8pVX0wMHwgPAg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/remark-preset-lint-recommended/-/remark-preset-lint-recommended-6.1.3.tgz", + "integrity": "sha512-DGjbeP2TsFmQeJflUiIvJWAOs1PxJt7SG3WQyMxOppkRr/up+mxWVkuv+6AUuaR0EsuaaFGz7WmZM5TrSSFWJw==", "dependencies": { "@types/mdast": "^3.0.0", "remark-lint": "^9.0.0", @@ -2231,9 +2231,9 @@ } }, "node_modules/rollup": { - "version": "3.21.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz", - "integrity": "sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==", + "version": "3.21.7", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.7.tgz", + "integrity": "sha512-KXPaEuR8FfUoK2uHwNjxTmJ18ApyvD6zJpYv9FOJSqLStmt6xOY84l1IjK2dSolQmoXknrhEFRaPRgOPdqCT5w==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -2289,9 +2289,9 @@ } }, "node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2417,9 +2417,9 @@ } }, "node_modules/unified-lint-rule": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-2.1.1.tgz", - "integrity": "sha512-vsLHyLZFstqtGse2gvrGwasOmH8M2y+r2kQMoDSWzSqUkQx2MjHjvZuGSv5FUaiv4RQO1bHRajy7lSGp7XWq5A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-2.1.2.tgz", + "integrity": "sha512-JWudPtRN7TLFHVLEVZ+Rm8FUb6kCAtHxEXFgBGDxRSdNMnGyTU5zyYvduHSF/liExlFB3vdFvsAHnNVE/UjAwA==", "dependencies": { "@types/unist": "^2.0.0", "trough": "^2.0.0", diff --git a/tools/lint-md/package.json b/tools/lint-md/package.json index 7faf898edb52e1..0f8e55408e70a1 100644 --- a/tools/lint-md/package.json +++ b/tools/lint-md/package.json @@ -7,16 +7,16 @@ }, "dependencies": { "remark-parse": "^10.0.1", - "remark-preset-lint-node": "^3.4.0", + "remark-preset-lint-node": "^4.0.0", "remark-stringify": "^10.0.2", "to-vfile": "^7.2.4", "unified": "^10.1.2", "vfile-reporter": "^7.0.5" }, "devDependencies": { - "@rollup/plugin-commonjs": "^24.1.0", + "@rollup/plugin-commonjs": "^25.0.0", "@rollup/plugin-node-resolve": "^15.0.2", - "rollup": "^3.21.5", + "rollup": "^3.21.7", "rollup-plugin-cleanup": "^3.2.1" } } From 35c96156d17f6e8896d0304b9a557ead46ee4469 Mon Sep 17 00:00:00 2001 From: Deokjin Kim Date: Wed, 17 May 2023 14:51:53 +0900 Subject: [PATCH 012/146] benchmark: use `cluster.isPrimary` instead of `cluster.isMaster` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `cluster.isMaster` was deprecated. So need to use `cluster.isPrimary` for benchmark. Refs: https://github.com/nodejs/node/pull/47981 PR-URL: https://github.com/nodejs/node/pull/48002 Reviewed-By: Moshe Atlow Reviewed-By: Tobias Nießen Reviewed-By: Luigi Pinca --- benchmark/cluster/echo.js | 2 +- benchmark/http/cluster.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/cluster/echo.js b/benchmark/cluster/echo.js index bedfa063257d63..71ded75c9d2572 100644 --- a/benchmark/cluster/echo.js +++ b/benchmark/cluster/echo.js @@ -1,7 +1,7 @@ 'use strict'; const cluster = require('cluster'); -if (cluster.isMaster) { +if (cluster.isPrimary) { const common = require('../common.js'); const bench = common.createBenchmark(main, { workers: [1], diff --git a/benchmark/http/cluster.js b/benchmark/http/cluster.js index ea0d925d8c94c4..789bfc0e4dc7ac 100644 --- a/benchmark/http/cluster.js +++ b/benchmark/http/cluster.js @@ -4,7 +4,7 @@ const PORT = common.PORT; const cluster = require('cluster'); let bench; -if (cluster.isMaster) { +if (cluster.isPrimary) { bench = common.createBenchmark(main, { // Unicode confuses ab on os x. type: ['bytes', 'buffer'], From a41cfd183f7baf71c16e93e83b81d22e84f0c127 Mon Sep 17 00:00:00 2001 From: Daeyeon Jeong Date: Wed, 17 May 2023 15:24:07 +0900 Subject: [PATCH 013/146] test: fix parsing test flags This removes replacing `_` with `-` in the flags defined. Signed-off-by: Daeyeon Jeong PR-URL: https://github.com/nodejs/node/pull/48012 Reviewed-By: Moshe Atlow Reviewed-By: Luigi Pinca --- test/common/index.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/common/index.js b/test/common/index.js index f3caa9d1d4bdce..6bea72487f3676 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -82,7 +82,6 @@ function parseTestFlags(filename = process.argv[1]) { } return source .substring(flagStart, flagEnd) - .replace(/_/g, '-') .split(/\s+/) .filter(Boolean); } @@ -98,9 +97,8 @@ if (process.argv.length === 2 && require('cluster').isPrimary && fs.existsSync(process.argv[1])) { const flags = parseTestFlags(); - const args = process.execArgv.map((arg) => arg.replace(/_/g, '-')); for (const flag of flags) { - if (!args.includes(flag) && + if (!process.execArgv.includes(flag) && // If the binary is build without `intl` the inspect option is // invalid. The test itself should handle this case. (process.features.inspector || !flag.startsWith('--inspect'))) { From a80dd3a8b38aae21672a485d9b8983e2b4e68ac8 Mon Sep 17 00:00:00 2001 From: Benjamin Gruenbaum Date: Wed, 17 May 2023 11:57:21 +0300 Subject: [PATCH 014/146] test: fix suite signal PR-URL: https://github.com/nodejs/node/pull/47800 Fixes: https://github.com/nodejs/node/issues/47882 Reviewed-By: Moshe Atlow Reviewed-By: Antoine du Hamel --- lib/internal/test_runner/test.js | 5 +- .../test-runner/output/abort_suite.snapshot | 54 +++++++++++++++---- test/parallel/test-runner-misc.js | 10 +++- 3 files changed, 58 insertions(+), 11 deletions(-) diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index 083cc441ae314c..ea6578e53f666a 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -1,6 +1,7 @@ 'use strict'; const { ArrayPrototypePush, + ArrayPrototypePushApply, ArrayPrototypeReduce, ArrayPrototypeShift, ArrayPrototypeSlice, @@ -760,8 +761,10 @@ class Suite extends Test { try { const { ctx, args } = this.getRunArgs(); + const runArgs = [this.fn, ctx]; + ArrayPrototypePushApply(runArgs, args); this.buildSuite = PromisePrototypeThen( - PromiseResolve(this.runInAsyncScope(this.fn, ctx, args)), + PromiseResolve(ReflectApply(this.runInAsyncScope, this, runArgs)), undefined, (err) => { this.fail(new ERR_TEST_FAILURE(err, kTestCodeFailure)); diff --git a/test/fixtures/test-runner/output/abort_suite.snapshot b/test/fixtures/test-runner/output/abort_suite.snapshot index 995e8512218bdb..e2abdadaf5a4b7 100644 --- a/test/fixtures/test-runner/output/abort_suite.snapshot +++ b/test/fixtures/test-runner/output/abort_suite.snapshot @@ -40,25 +40,61 @@ TAP version 13 not ok 7 - not ok 3 --- duration_ms: ZERO - failureType: 'cancelledByParent' - error: 'test did not finish before its parent and was cancelled' - code: 'ERR_TEST_FAILURE' + failureType: 'testAborted' + error: 'This operation was aborted' + code: 20 + name: 'AbortError' + stack: |- + * + * + * + * + * + * + * + * + * + * ... # Subtest: not ok 4 not ok 8 - not ok 4 --- duration_ms: ZERO - failureType: 'cancelledByParent' - error: 'test did not finish before its parent and was cancelled' - code: 'ERR_TEST_FAILURE' + failureType: 'testAborted' + error: 'This operation was aborted' + code: 20 + name: 'AbortError' + stack: |- + * + * + * + * + * + * + * + * + * + * ... # Subtest: not ok 5 not ok 9 - not ok 5 --- duration_ms: ZERO - failureType: 'cancelledByParent' - error: 'test did not finish before its parent and was cancelled' - code: 'ERR_TEST_FAILURE' + failureType: 'testAborted' + error: 'This operation was aborted' + code: 20 + name: 'AbortError' + stack: |- + * + * + * + * + * + * + * + * + * + * ... 1..9 not ok 1 - describe timeout signal diff --git a/test/parallel/test-runner-misc.js b/test/parallel/test-runner-misc.js index 34abaf5c120be3..abc2715dcfba48 100644 --- a/test/parallel/test-runner-misc.js +++ b/test/parallel/test-runner-misc.js @@ -21,11 +21,19 @@ if (process.argv[2] === 'child') { })).finally(common.mustCall(() => { test(() => assert.strictEqual(testSignal.aborted, true)); })); + + // TODO(benjamingr) add more tests to describe + AbortSignal + // this just tests the parameter is passed + test.describe('Abort Signal in describe', common.mustCall(({ signal }) => { + test.it('Supports AbortSignal', () => { + assert.strictEqual(signal.aborted, false); + }); + })); } else assert.fail('unreachable'); } else { const child = spawnSync(process.execPath, [__filename, 'child', 'abortSignal']); const stdout = child.stdout.toString(); - assert.match(stdout, /^# pass 1$/m); + assert.match(stdout, /^# pass 2$/m); assert.match(stdout, /^# fail 0$/m); assert.match(stdout, /^# cancelled 1$/m); assert.strictEqual(child.status, 1); From 85bbaa94eadae1d94bfadd786f0faf78a48d12ed Mon Sep 17 00:00:00 2001 From: Saba Kharanauli <114554280+runday198@users.noreply.github.com> Date: Wed, 17 May 2023 16:53:32 +0400 Subject: [PATCH 015/146] doc: update process.versions properties Fixes: https://github.com/nodejs/node/issues/48016 PR-URL: https://github.com/nodejs/node/pull/48019 Reviewed-By: Darshan Sen Reviewed-By: Mestery Reviewed-By: Richard Lau Reviewed-By: Deokjin Kim Reviewed-By: Luigi Pinca --- doc/api/process.md | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/doc/api/process.md b/doc/api/process.md index 27bc7a333bb53c..ad94a9721de3b7 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -3843,21 +3843,30 @@ console.log(versions); Will generate an object similar to: ```console -{ node: '11.13.0', - v8: '7.0.276.38-node.18', - uv: '1.27.0', - zlib: '1.2.11', - brotli: '1.0.7', - ares: '1.15.0', - modules: '67', - nghttp2: '1.34.0', - napi: '4', - llhttp: '1.1.1', - openssl: '1.1.1b', - cldr: '34.0', - icu: '63.1', - tz: '2018e', - unicode: '11.0' } +{ node: '20.2.0', + acorn: '8.8.2', + ada: '2.4.0', + ares: '1.19.0', + base64: '0.5.0', + brotli: '1.0.9', + cjs_module_lexer: '1.2.2', + cldr: '43.0', + icu: '73.1', + llhttp: '8.1.0', + modules: '115', + napi: '8', + nghttp2: '1.52.0', + nghttp3: '0.7.0', + ngtcp2: '0.8.1', + openssl: '3.0.8+quic', + simdutf: '3.2.9', + tz: '2023c', + undici: '5.22.0', + unicode: '15.0', + uv: '1.44.2', + uvwasi: '0.0.16', + v8: '11.3.244.8-node.9', + zlib: '1.2.13' } ``` ## Exit codes From 7a96d825fd61994c67a174420c0ff77515e73387 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Wed, 17 May 2023 09:26:05 -0400 Subject: [PATCH 016/146] test: move `test-cluster-primary-error` flaky test PR-URL: https://github.com/nodejs/node/pull/48039 Reviewed-By: Antoine du Hamel Reviewed-By: Deokjin Kim --- test/parallel/parallel.status | 4 ++++ test/sequential/sequential.status | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 0f199a9e4934d2..7fd430df0290c7 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -89,3 +89,7 @@ test-http-server-unconsume: PASS, FLAKY test-http-upgrade-advertise: PASS, FLAKY test-tls-client-mindhsize: PASS, FLAKY test-tls-write-error: PASS, FLAKY + +[$asan==on] +# https://github.com/nodejs/node/issues/39655 +test-cluster-primary-error: PASS, FLAKY diff --git a/test/sequential/sequential.status b/test/sequential/sequential.status index 5487281311c6f8..5cefcb95773bed 100644 --- a/test/sequential/sequential.status +++ b/test/sequential/sequential.status @@ -41,7 +41,3 @@ test-tls-securepair-client: PASS, FLAKY [$arch==s390x] # https://github.com/nodejs/node/issues/41286 test-performance-eventloopdelay: PASS, FLAKY - -[$asan==on] -# https://github.com/nodejs/node/issues/39655 -test-cluster-primary-error: PASS, FLAKY From b1828b325e225483a5163df25790234f9c83530c Mon Sep 17 00:00:00 2001 From: Chemi Atlow Date: Thu, 18 May 2023 11:11:07 +0300 Subject: [PATCH 017/146] lib: implement AbortSignal.any() PR-URL: https://github.com/nodejs/node/pull/47821 Fixes: https://github.com/nodejs/node/issues/47811 Refs: https://github.com/whatwg/dom/pull/1152 Reviewed-By: Antoine du Hamel Reviewed-By: Moshe Atlow Reviewed-By: Benjamin Gruenbaum --- doc/api/globals.md | 13 ++ lib/internal/abort_controller.js | 71 ++++++- lib/internal/validators.js | 21 ++ test/common/wpt.js | 8 +- test/common/wpt/worker.js | 9 + test/fixtures/wpt/README.md | 2 +- .../wpt/dom/abort/abort-signal-any.any.js | 4 + .../abort/resources/abort-signal-any-tests.js | 185 ++++++++++++++++++ test/fixtures/wpt/versions.json | 2 +- test/parallel/test-abortsignal-any.mjs | 104 ++++++++++ 10 files changed, 406 insertions(+), 13 deletions(-) create mode 100644 test/fixtures/wpt/dom/abort/abort-signal-any.any.js create mode 100644 test/fixtures/wpt/dom/abort/resources/abort-signal-any-tests.js create mode 100644 test/parallel/test-abortsignal-any.mjs diff --git a/doc/api/globals.md b/doc/api/globals.md index 28aa3526110e7e..dc530b796f68b8 100644 --- a/doc/api/globals.md +++ b/doc/api/globals.md @@ -121,6 +121,18 @@ added: Returns a new `AbortSignal` which will be aborted in `delay` milliseconds. +#### Static method: `AbortSignal.any(signals)` + + + +* `signals` {AbortSignal\[]} The `AbortSignal`s of which to compose a new `AbortSignal`. + +Returns a new `AbortSignal` which will be aborted if any of the provided +signals are aborted. Its [`abortSignal.reason`][] will be set to whichever +one of the `signals` caused it to be aborted. + #### Event: `'abort'` + +- > Stability: 1 - Experimental +``` + +#### Step 5. Update change history + +If this release includes new Node-APIs runtime version guards that were first +released in this version and are necessary to document, the relevant commits +should already have documented the new behavior in a "Change History" section. + +For all runtime version guards updated in Step 2, check for these definitions +with: + +```console +grep NAPI_EXPERIMENTAL doc/api/n-api.md +``` + +In `doc/api/n-api.md`, update the `experimental` change history item to be the +released version `x`: + +```diff + Change History: + +- * experimental (`NAPI_EXPERIMENTAL` is defined): ++ * version 10: +``` + +### 6. Create release commit + +When committing these to git, use the following message format: + +```text +node-api: define version x +``` + +### 7. Propose release on GitHub + +Create a pull request targeting the `main` branch. These PRs should be left +open for at least 24 hours, and can be updated as new commits land. + +If you need any additional information about any of the commits, this PR is a +good place to @-mention the relevant contributors. + +Tag the PR with the `notable-change` label, and @-mention the GitHub team +@nodejs/node-api and @nodejs/node-api-implementer. + +### 8. Ensure that the release branch is stable + +Run a **[`node-test-pull-request`](https://ci.nodejs.org/job/node-test-pull-request/)** +test run to ensure that the build is stable and the HEAD commit is ready for +release. + +### 9. Land the release + +See the steps documented in [Collaborator Guide - Landing a PR][] to land the +PR. + +### 10. Backport the release + +Consider backporting the release to all LTS versions following the steps +documented in the [backporting guide][]. + +[Collaborator Guide - Landing a PR]: ./collaborator-guide.md#landing-pull-requests +[abi-stable-node issue tracker]: https://github.com/nodejs/abi-stable-node/issues +[backporting guide]: backporting-to-release-lines.md From 03f67d6d6d0ddf06cc5d87ac80d9171ab065ad3e Mon Sep 17 00:00:00 2001 From: npm CLI robot Date: Fri, 19 May 2023 06:45:02 -0700 Subject: [PATCH 026/146] deps: upgrade npm to 9.6.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48062 Reviewed-By: Luke Karrys Reviewed-By: Michaël Zasso Reviewed-By: Marco Ippolito Reviewed-By: Jiawen Geng Reviewed-By: Luigi Pinca --- deps/npm/docs/content/commands/npm-ls.md | 2 +- deps/npm/docs/content/commands/npm.md | 2 +- .../content/configuring-npm/package-json.md | 2 +- deps/npm/docs/content/using-npm/config.md | 22 +- deps/npm/docs/output/commands/npm-ls.html | 2 +- deps/npm/docs/output/commands/npm.html | 2 +- .../output/configuring-npm/package-json.html | 2 +- deps/npm/docs/output/using-npm/config.html | 22 +- deps/npm/lib/commands/cache.js | 3 +- deps/npm/lib/utils/config/definitions.js | 3 + deps/npm/lib/utils/exit-handler.js | 4 +- deps/npm/man/man1/npm-ls.1 | 2 +- deps/npm/man/man1/npm.1 | 2 +- deps/npm/man/man5/npm-json.5 | 2 +- deps/npm/man/man5/package-json.5 | 2 +- deps/npm/man/man7/config.7 | 22 +- .../node_modules/@npmcli/config/lib/index.js | 25 +- .../node_modules/@npmcli/config/package.json | 2 +- .../@npmcli/package-json/lib/index.js | 157 ++++++++-- .../@npmcli/package-json/lib/normalize.js | 284 ++++++++++++++++++ .../@npmcli/package-json/package.json | 14 +- .../@npmcli/run-script/lib/run-script-pkg.js | 4 + .../@npmcli/run-script/lib/signal-manager.js | 14 +- .../@npmcli/run-script/package.json | 6 +- .../node_modules/cacache/lib/content/write.js | 32 +- deps/npm/node_modules/cacache/package.json | 6 +- .../node_modules/glob/dist/cjs/package.json | 4 +- .../glob/dist/cjs/src/glob.d.ts.map | 2 +- .../node_modules/glob/dist/cjs/src/glob.js | 7 +- .../glob/dist/cjs/src/glob.js.map | 2 +- .../node_modules/glob/dist/mjs/glob.d.ts.map | 2 +- deps/npm/node_modules/glob/dist/mjs/glob.js | 7 +- .../node_modules/glob/dist/mjs/glob.js.map | 2 +- .../node_modules/glob/dist/mjs/package.json | 2 +- deps/npm/node_modules/glob/package.json | 4 +- .../node_modules/libnpmpublish/lib/publish.js | 53 +++- .../node_modules/libnpmpublish/package.json | 2 +- .../path-scurry/dist/cjs/index.js | 49 ++- .../path-scurry/dist/mjs/index.js | 49 ++- .../npm/node_modules/path-scurry/package.json | 8 +- .../postcss-selector-parser/API.md | 7 +- .../postcss-selector-parser/dist/parser.js | 4 + .../postcss-selector-parser/package.json | 2 +- .../lib/internal/streams/add-abort-signal.js | 30 +- .../lib/internal/streams/compose.js | 143 ++++++--- .../lib/internal/streams/destroy.js | 19 +- .../lib/internal/streams/duplexify.js | 2 - .../lib/internal/streams/end-of-stream.js | 81 ++++- .../lib/internal/streams/operators.js | 25 +- .../lib/internal/streams/pipeline.js | 113 ++++++- .../lib/internal/streams/utils.js | 30 +- .../lib/internal/validators.js | 119 +++++++- .../readable-stream/lib/ours/primordials.js | 1 + .../readable-stream/lib/stream/promises.js | 11 +- .../node_modules/readable-stream/package.json | 2 +- .../npm/node_modules/semver/classes/semver.js | 2 +- deps/npm/node_modules/semver/package.json | 6 +- .../signal-exit/dist/cjs/index.js | 1 - .../signal-exit/dist/mjs/index.js | 1 - .../npm/node_modules/signal-exit/package.json | 2 +- deps/npm/node_modules/sigstore/README.md | 78 ++--- .../node_modules/sigstore/dist/ca/index.d.ts | 5 +- .../node_modules/sigstore/dist/ca/index.js | 19 +- .../sigstore/dist/ca/verify/chain.d.ts | 2 +- .../sigstore/dist/ca/verify/chain.js | 11 +- .../sigstore/dist/ca/verify/index.js | 5 +- .../node_modules/sigstore/dist/config.d.ts | 24 +- deps/npm/node_modules/sigstore/dist/config.js | 19 +- .../npm/node_modules/sigstore/dist/error.d.ts | 2 +- .../sigstore/dist/external/fulcio.d.ts | 13 +- .../sigstore/dist/external/fulcio.js | 4 +- .../sigstore/dist/external/index.d.ts | 1 + .../sigstore/dist/external/index.js | 4 +- .../sigstore/dist/external/rekor.d.ts | 5 +- .../sigstore/dist/external/rekor.js | 4 +- .../sigstore/dist/external/tsa.d.ts | 18 ++ .../sigstore/dist/external/tsa.js | 47 +++ deps/npm/node_modules/sigstore/dist/sign.d.ts | 17 +- deps/npm/node_modules/sigstore/dist/sign.js | 53 +++- .../sigstore/dist/sigstore-utils.js | 7 +- .../node_modules/sigstore/dist/sigstore.d.ts | 3 + .../node_modules/sigstore/dist/sigstore.js | 19 +- .../sigstore/dist/tlog/index.d.ts | 16 +- .../node_modules/sigstore/dist/tlog/index.js | 13 +- .../node_modules/sigstore/dist/tsa/index.d.ts | 13 + .../node_modules/sigstore/dist/tsa/index.js | 47 +++ .../node_modules/sigstore/dist/tuf/index.d.ts | 13 +- .../node_modules/sigstore/dist/tuf/index.js | 49 ++- .../node_modules/sigstore/dist/tuf/target.js | 2 +- .../sigstore/dist/types/fetch.d.ts | 6 + .../node_modules/sigstore/dist/types/fetch.js | 2 + .../sigstore/dist/types/sigstore/index.d.ts | 20 +- .../sigstore/dist/types/sigstore/index.js | 48 ++- deps/npm/node_modules/sigstore/dist/verify.js | 4 +- .../sigstore/dist/x509/verify.d.ts | 2 +- .../node_modules/sigstore/dist/x509/verify.js | 36 ++- deps/npm/node_modules/sigstore/package.json | 44 +-- .../store/public-good-instance-root.json | 157 +--------- deps/npm/node_modules/tuf-js/dist/fetcher.js | 3 + deps/npm/node_modules/tuf-js/dist/updater.js | 8 + deps/npm/node_modules/tuf-js/package.json | 10 +- deps/npm/package.json | 16 +- .../tap-snapshots/test/lib/docs.js.test.cjs | 22 +- 103 files changed, 1702 insertions(+), 623 deletions(-) create mode 100644 deps/npm/node_modules/@npmcli/package-json/lib/normalize.js create mode 100644 deps/npm/node_modules/sigstore/dist/external/tsa.d.ts create mode 100644 deps/npm/node_modules/sigstore/dist/external/tsa.js create mode 100644 deps/npm/node_modules/sigstore/dist/tsa/index.d.ts create mode 100644 deps/npm/node_modules/sigstore/dist/tsa/index.js create mode 100644 deps/npm/node_modules/sigstore/dist/types/fetch.d.ts create mode 100644 deps/npm/node_modules/sigstore/dist/types/fetch.js diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md index b712738b3dd294..1ba7a4b73d5000 100644 --- a/deps/npm/docs/content/commands/npm-ls.md +++ b/deps/npm/docs/content/commands/npm-ls.md @@ -27,7 +27,7 @@ packages will *also* show the paths to the specified packages. For example, running `npm ls promzard` in npm's source tree will show: ```bash -npm@9.6.6 /path/to/npm +npm@9.6.7 /path/to/npm └─┬ init-package-json@0.0.4 └── promzard@0.1.5 ``` diff --git a/deps/npm/docs/content/commands/npm.md b/deps/npm/docs/content/commands/npm.md index 91356999e3a8d7..347e7d40993c88 100644 --- a/deps/npm/docs/content/commands/npm.md +++ b/deps/npm/docs/content/commands/npm.md @@ -14,7 +14,7 @@ Note: This command is unaware of workspaces. ### Version -9.6.6 +9.6.7 ### Description diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md index ac5a5740ed3bfd..ff06a872d38c5d 100644 --- a/deps/npm/docs/content/configuring-npm/package-json.md +++ b/deps/npm/docs/content/configuring-npm/package-json.md @@ -323,7 +323,7 @@ This should be a module relative to the root of your package folder. For most modules, it makes the most sense to have a main script and often not much else. -If `main` is not set it defaults to `index.js` in the package's root folder. +If `main` is not set, it defaults to `index.js` in the package's root folder. ### browser diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md index ae46b1eb438e2f..51983cbbe16718 100644 --- a/deps/npm/docs/content/using-npm/config.md +++ b/deps/npm/docs/content/using-npm/config.md @@ -289,16 +289,6 @@ npm exec --package yo --package generator-node --call "yo node" ``` -#### `ci-name` - -* Default: The name of the current CI system, or `null` when not on a known CI - platform. -* Type: null or String - -The name of a continuous integration system. If not set explicitly, npm will -detect the current CI environment using the -[`ci-info`](http://npm.im/ci-info) module. - #### `cidr` * Default: null @@ -1514,6 +1504,18 @@ It is _not_ the path to a certificate file, though you can set a registry-scoped "certfile" path like "//other-registry.tld/:certfile=/path/to/cert.pem". +#### `ci-name` + +* Default: The name of the current CI system, or `null` when not on a known CI + platform. +* Type: null or String +* DEPRECATED: This config is deprecated and will not be changeable in future + version of npm. + +The name of a continuous integration system. If not set explicitly, npm will +detect the current CI environment using the +[`ci-info`](http://npm.im/ci-info) module. + #### `dev` * Default: false diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html index 5fa3e0c1cc9430..4aeaf0cb69c526 100644 --- a/deps/npm/docs/output/commands/npm-ls.html +++ b/deps/npm/docs/output/commands/npm-ls.html @@ -160,7 +160,7 @@

Description

the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

-
npm@9.6.6 /path/to/npm
+
npm@9.6.7 /path/to/npm
 └─┬ init-package-json@0.0.4
   └── promzard@0.1.5
 
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html index 18c1361e596677..0cfc2ef24f9661 100644 --- a/deps/npm/docs/output/commands/npm.html +++ b/deps/npm/docs/output/commands/npm.html @@ -150,7 +150,7 @@

Table of contents

Note: This command is unaware of workspaces.

Version

-

9.6.6

+

9.6.7

Description

npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency diff --git a/deps/npm/docs/output/configuring-npm/package-json.html b/deps/npm/docs/output/configuring-npm/package-json.html index 22255659969e8f..2e1bd00abda30d 100644 --- a/deps/npm/docs/output/configuring-npm/package-json.html +++ b/deps/npm/docs/output/configuring-npm/package-json.html @@ -391,7 +391,7 @@

main

This should be a module relative to the root of your package folder.

For most modules, it makes the most sense to have a main script and often not much else.

-

If main is not set it defaults to index.js in the package's root folder.

+

If main is not set, it defaults to index.js in the package's root folder.

browser

If your module is meant to be used client-side the browser field should be used instead of the main field. This is helpful to hint users that it might diff --git a/deps/npm/docs/output/using-npm/config.html b/deps/npm/docs/output/using-npm/config.html index 5d62af0a4c8384..ba718decd27ed1 100644 --- a/deps/npm/docs/output/using-npm/config.html +++ b/deps/npm/docs/output/using-npm/config.html @@ -142,7 +142,7 @@

config

Table of contents

-
+

Description

@@ -378,15 +378,6 @@

call

custom command to be run along with the installed packages.

npm exec --package yo --package generator-node --call "yo node"
 
-

ci-name

-
    -
  • Default: The name of the current CI system, or null when not on a known CI -platform.
  • -
  • Type: null or String
  • -
-

The name of a continuous integration system. If not set explicitly, npm will -detect the current CI environment using the -ci-info module.

cidr

  • Default: null
  • @@ -1413,6 +1404,17 @@

    cert

    It is not the path to a certificate file, though you can set a registry-scoped "certfile" path like "//other-registry.tld/:certfile=/path/to/cert.pem".

    +

    ci-name

    +
      +
    • Default: The name of the current CI system, or null when not on a known CI +platform.
    • +
    • Type: null or String
    • +
    • DEPRECATED: This config is deprecated and will not be changeable in future +version of npm.
    • +
    +

    The name of a continuous integration system. If not set explicitly, npm will +detect the current CI environment using the +ci-info module.

    dev

    • Default: false
    • diff --git a/deps/npm/lib/commands/cache.js b/deps/npm/lib/commands/cache.js index 9965f7085d9ad6..66b432dfc13a66 100644 --- a/deps/npm/lib/commands/cache.js +++ b/deps/npm/lib/commands/cache.js @@ -76,7 +76,7 @@ class Cache extends BaseCommand { async completion (opts) { const argv = opts.conf.argv.remain if (argv.length === 2) { - return ['add', 'clean', 'verify', 'ls', 'delete'] + return ['add', 'clean', 'verify', 'ls'] } // TODO - eventually... @@ -85,7 +85,6 @@ class Cache extends BaseCommand { case 'clean': case 'add': case 'ls': - case 'delete': return [] } } diff --git a/deps/npm/lib/utils/config/definitions.js b/deps/npm/lib/utils/config/definitions.js index 373989dbea0d5f..78c341eabeffa7 100644 --- a/deps/npm/lib/utils/config/definitions.js +++ b/deps/npm/lib/utils/config/definitions.js @@ -439,6 +439,9 @@ define('ci-name', { platform. `, type: [null, String], + deprecated: ` + This config is deprecated and will not be changeable in future version of npm. + `, description: ` The name of a continuous integration system. If not set explicitly, npm will detect the current CI environment using the diff --git a/deps/npm/lib/utils/exit-handler.js b/deps/npm/lib/utils/exit-handler.js index b5d6cd030fb5c3..25cecd170a584c 100644 --- a/deps/npm/lib/utils/exit-handler.js +++ b/deps/npm/lib/utils/exit-handler.js @@ -131,8 +131,8 @@ const exitHandler = err => { log.level = level } - let exitCode - let noLogMessage + let exitCode = process.exitCode || 0 + let noLogMessage = exitCode !== 0 let jsonError if (err) { diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index 07e8c22eeb5e4b..fe605158b7aaa9 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -20,7 +20,7 @@ Positional arguments are \fBname@version-range\fR identifiers, which will limit .P .RS 2 .nf -npm@9.6.6 /path/to/npm +npm@9.6.7 /path/to/npm └─┬ init-package-json@0.0.4 └── promzard@0.1.5 .fi diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 9dcf8d2caa05ad..1fcb52d7b3952b 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -12,7 +12,7 @@ npm Note: This command is unaware of workspaces. .SS "Version" .P -9.6.6 +9.6.7 .SS "Description" .P npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently. diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5 index 290a10e369c57c..c646afa88dfedc 100644 --- a/deps/npm/man/man5/npm-json.5 +++ b/deps/npm/man/man5/npm-json.5 @@ -303,7 +303,7 @@ This should be a module relative to the root of your package folder. .P For most modules, it makes the most sense to have a main script and often not much else. .P -If \fBmain\fR is not set it defaults to \fBindex.js\fR in the package's root folder. +If \fBmain\fR is not set, it defaults to \fBindex.js\fR in the package's root folder. .SS "browser" .P If your module is meant to be used client-side the browser field should be used instead of the main field. This is helpful to hint users that it might rely on primitives that aren't available in Node.js modules. (e.g. \fBwindow\fR) diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5 index 290a10e369c57c..c646afa88dfedc 100644 --- a/deps/npm/man/man5/package-json.5 +++ b/deps/npm/man/man5/package-json.5 @@ -303,7 +303,7 @@ This should be a module relative to the root of your package folder. .P For most modules, it makes the most sense to have a main script and often not much else. .P -If \fBmain\fR is not set it defaults to \fBindex.js\fR in the package's root folder. +If \fBmain\fR is not set, it defaults to \fBindex.js\fR in the package's root folder. .SS "browser" .P If your module is meant to be used client-side the browser field should be used instead of the main field. This is helpful to hint users that it might rely on primitives that aren't available in Node.js modules. (e.g. \fBwindow\fR) diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7 index 471e2d9a9a82c9..e20d300946a863 100644 --- a/deps/npm/man/man7/config.7 +++ b/deps/npm/man/man7/config.7 @@ -320,16 +320,6 @@ Optional companion option for \fBnpm exec\fR, \fBnpx\fR that allows for specifyi npm exec --package yo --package generator-node --call "yo node" .fi .RE -.SS "\fBci-name\fR" -.RS 0 -.IP \(bu 4 -Default: The name of the current CI system, or \fBnull\fR when not on a known CI platform. -.IP \(bu 4 -Type: null or String -.RE 0 - -.P -The name of a continuous integration system. If not set explicitly, npm will detect the current CI environment using the \fB\fBci-info\fR\fR \fI\(lahttp://npm.im/ci-info\(ra\fR module. .SS "\fBcidr\fR" .RS 0 .IP \(bu 4 @@ -1757,6 +1747,18 @@ cert="-----BEGIN CERTIFICATE-----\[rs]nXXXX\[rs]nXXXX\[rs]n-----END CERTIFICATE- .RE .P It is \fInot\fR the path to a certificate file, though you can set a registry-scoped "certfile" path like "//other-registry.tld/:certfile=/path/to/cert.pem". +.SS "\fBci-name\fR" +.RS 0 +.IP \(bu 4 +Default: The name of the current CI system, or \fBnull\fR when not on a known CI platform. +.IP \(bu 4 +Type: null or String +.IP \(bu 4 +DEPRECATED: This config is deprecated and will not be changeable in future version of npm. +.RE 0 + +.P +The name of a continuous integration system. If not set explicitly, npm will detect the current CI environment using the \fB\fBci-info\fR\fR \fI\(lahttp://npm.im/ci-info\(ra\fR module. .SS "\fBdev\fR" .RS 0 .IP \(bu 4 diff --git a/deps/npm/node_modules/@npmcli/config/lib/index.js b/deps/npm/node_modules/@npmcli/config/lib/index.js index 9bba1d6977ae39..b7b848dea151c8 100644 --- a/deps/npm/node_modules/@npmcli/config/lib/index.js +++ b/deps/npm/node_modules/@npmcli/config/lib/index.js @@ -524,21 +524,28 @@ class Config { } const typeDesc = typeDescription(type) - const oneOrMore = typeDesc.indexOf(Array) !== -1 const mustBe = typeDesc .filter(m => m !== undefined && m !== Array) - const oneOf = mustBe.length === 1 && oneOrMore ? ' one or more' - : mustBe.length > 1 && oneOrMore ? ' one or more of:' - : mustBe.length > 1 ? ' one of:' - : '' - const msg = 'Must be' + oneOf + const msg = 'Must be' + this.#getOneOfKeywords(mustBe, typeDesc) const desc = mustBe.length === 1 ? mustBe[0] - : mustBe.filter(m => m !== Array) - .map(n => typeof n === 'string' ? n : JSON.stringify(n)) - .join(', ') + : [...new Set(mustBe.map(n => typeof n === 'string' ? n : JSON.stringify(n)))].join(', ') log.warn('invalid config', msg, desc) } + #getOneOfKeywords (mustBe, typeDesc) { + let keyword + if (mustBe.length === 1 && typeDesc.includes(Array)) { + keyword = ' one or more' + } else if (mustBe.length > 1 && typeDesc.includes(Array)) { + keyword = ' one or more of:' + } else if (mustBe.length > 1) { + keyword = ' one of:' + } else { + keyword = '' + } + return keyword + } + #loadObject (obj, where, source, er = null) { // obj is the raw data read from the file const conf = this.data.get(where) diff --git a/deps/npm/node_modules/@npmcli/config/package.json b/deps/npm/node_modules/@npmcli/config/package.json index f34d20f1e4dd83..e68d5166901451 100644 --- a/deps/npm/node_modules/@npmcli/config/package.json +++ b/deps/npm/node_modules/@npmcli/config/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/config", - "version": "6.1.6", + "version": "6.1.7", "files": [ "bin/", "lib/" diff --git a/deps/npm/node_modules/@npmcli/package-json/lib/index.js b/deps/npm/node_modules/@npmcli/package-json/lib/index.js index e98308f3d3b843..34e415b45d49fe 100644 --- a/deps/npm/node_modules/@npmcli/package-json/lib/index.js +++ b/deps/npm/node_modules/@npmcli/package-json/lib/index.js @@ -1,18 +1,12 @@ -const fs = require('fs') -const promisify = require('util').promisify -const readFile = promisify(fs.readFile) -const writeFile = promisify(fs.writeFile) +const { readFile, writeFile } = require('fs/promises') const { resolve } = require('path') const updateDeps = require('./update-dependencies.js') const updateScripts = require('./update-scripts.js') const updateWorkspaces = require('./update-workspaces.js') +const normalize = require('./normalize.js') const parseJSON = require('json-parse-even-better-errors') -const _filename = Symbol('filename') -const _manifest = Symbol('manifest') -const _readFileContent = Symbol('readFileContent') - // a list of handy specialized helper functions that take // care of special cases that are handled by the npm cli const knownSteps = new Set([ @@ -29,42 +23,111 @@ const knownKeys = new Set([ ]) class PackageJson { + static normalizeSteps = Object.freeze([ + '_id', + '_attributes', + 'bundledDependencies', + 'bundleDependencies', + 'optionalDedupe', + 'scripts', + 'funding', + 'bin', + ]) + + static prepareSteps = Object.freeze([ + '_attributes', + 'bundledDependencies', + 'bundleDependencies', + 'gypfile', + 'serverjs', + 'scriptpath', + 'authors', + 'readme', + 'mans', + 'binDir', + 'gitHead', + 'fillTypes', + 'normalizeData', + 'binRefs', + ]) + + // default behavior, just loads and parses static async load (path) { return await new PackageJson(path).load() } + // read-package-json compatible behavior + static async prepare (path, opts) { + return await new PackageJson(path).prepare(opts) + } + + // read-package-json-fast compatible behavior + static async normalize (path, opts) { + return await new PackageJson(path).normalize(opts) + } + + #filename + #path + #manifest = {} + #readFileContent = '' + #fromIndex = false + constructor (path) { - this[_filename] = resolve(path, 'package.json') - this[_manifest] = {} - this[_readFileContent] = '' + this.#path = path + this.#filename = resolve(path, 'package.json') } - async load () { + async load (parseIndex) { + let parseErr try { - this[_readFileContent] = - await readFile(this[_filename], 'utf8') + this.#readFileContent = + await readFile(this.#filename, 'utf8') } catch (err) { - throw new Error('package.json not found') + err.message = `Could not read package.json: ${err}` + if (!parseIndex) { + throw err + } + parseErr = err + } + + if (parseErr) { + const indexFile = resolve(this.#path, 'index.js') + let indexFileContent + try { + indexFileContent = await readFile(indexFile, 'utf8') + } catch (err) { + throw parseErr + } + try { + this.#manifest = fromComment(indexFileContent) + } catch (err) { + throw parseErr + } + this.#fromIndex = true + return this } try { - this[_manifest] = - parseJSON(this[_readFileContent]) + this.#manifest = parseJSON(this.#readFileContent) } catch (err) { - throw new Error(`Invalid package.json: ${err}`) + err.message = `Invalid package.json: ${err}` + throw err } - return this } get content () { - return this[_manifest] + return this.#manifest + } + + get path () { + return this.#path } update (content) { // validates both current manifest and content param const invalidContent = - typeof this[_manifest] !== 'object' + typeof this.#manifest !== 'object' || typeof content !== 'object' if (invalidContent) { throw Object.assign( @@ -74,13 +137,13 @@ class PackageJson { } for (const step of knownSteps) { - this[_manifest] = step({ content, originalContent: this[_manifest] }) + this.#manifest = step({ content, originalContent: this.#manifest }) } // unknown properties will just be overwitten for (const [key, value] of Object.entries(content)) { if (!knownKeys.has(key)) { - this[_manifest][key] = value + this.#manifest[key] = value } } @@ -88,22 +151,62 @@ class PackageJson { } async save () { + if (this.#fromIndex) { + throw new Error('No package.json to save to') + } const { [Symbol.for('indent')]: indent, [Symbol.for('newline')]: newline, - } = this[_manifest] + } = this.#manifest const format = indent === undefined ? ' ' : indent const eol = newline === undefined ? '\n' : newline const fileContent = `${ - JSON.stringify(this[_manifest], null, format) + JSON.stringify(this.#manifest, null, format) }\n` .replace(/\n/g, eol) - if (fileContent.trim() !== this[_readFileContent].trim()) { - return await writeFile(this[_filename], fileContent) + if (fileContent.trim() !== this.#readFileContent.trim()) { + return await writeFile(this.#filename, fileContent) } } + + async normalize (opts = {}) { + if (!opts.steps) { + opts.steps = this.constructor.normalizeSteps + } + await this.load() + await normalize(this, opts) + return this + } + + async prepare (opts = {}) { + if (!opts.steps) { + opts.steps = this.constructor.prepareSteps + } + await this.load(true) + await normalize(this, opts) + return this + } +} + +// /**package { "name": "foo", "version": "1.2.3", ... } **/ +function fromComment (data) { + data = data.split(/^\/\*\*package(?:\s|$)/m) + + if (data.length < 2) { + throw new Error('File has no package in comments') + } + data = data[1] + data = data.split(/\*\*\/$/m) + + if (data.length < 2) { + throw new Error('File has no package in comments') + } + data = data[0] + data = data.replace(/^\s*\*/mg, '') + + return parseJSON(data) } module.exports = PackageJson diff --git a/deps/npm/node_modules/@npmcli/package-json/lib/normalize.js b/deps/npm/node_modules/@npmcli/package-json/lib/normalize.js new file mode 100644 index 00000000000000..bc101cd4fde1b0 --- /dev/null +++ b/deps/npm/node_modules/@npmcli/package-json/lib/normalize.js @@ -0,0 +1,284 @@ +const fs = require('fs/promises') +const { glob } = require('glob') +const normalizePackageBin = require('npm-normalize-package-bin') +const normalizePackageData = require('normalize-package-data') +const path = require('path') + +const normalize = async (pkg, { strict, steps }) => { + const data = pkg.content + const scripts = data.scripts || {} + + // remove attributes that start with "_" + if (steps.includes('_attributes')) { + for (const key in data) { + if (key.startsWith('_')) { + delete pkg.content[key] + } + } + } + + // build the "_id" attribute + if (steps.includes('_id')) { + if (data.name && data.version) { + data._id = `${data.name}@${data.version}` + } + } + + // fix bundledDependencies typo + if (steps.includes('bundledDependencies')) { + if (data.bundleDependencies === undefined && data.bundledDependencies !== undefined) { + data.bundleDependencies = data.bundledDependencies + } + delete data.bundledDependencies + } + // expand "bundleDependencies: true or translate from object" + if (steps.includes('bundleDependencies')) { + const bd = data.bundleDependencies + if (bd === true) { + data.bundleDependencies = Object.keys(data.dependencies || {}) + } else if (bd && typeof bd === 'object') { + if (!Array.isArray(bd)) { + data.bundleDependencies = Object.keys(bd) + } + } else { + delete data.bundleDependencies + } + } + + // it was once common practice to list deps both in optionalDependencies and + // in dependencies, to support npm versions that did not know about + // optionalDependencies. This is no longer a relevant need, so duplicating + // the deps in two places is unnecessary and excessive. + if (steps.includes('optionalDedupe')) { + if (data.dependencies && + data.optionalDependencies && typeof data.optionalDependencies === 'object') { + for (const name in data.optionalDependencies) { + delete data.dependencies[name] + } + if (!Object.keys(data.dependencies).length) { + delete data.dependencies + } + } + } + + // add "install" attribute if any "*.gyp" files exist + if (steps.includes('gypfile')) { + if (!scripts.install && !scripts.preinstall && data.gypfile !== false) { + const files = await glob('*.gyp', { cwd: pkg.path }) + if (files.length) { + scripts.install = 'node-gyp rebuild' + data.scripts = scripts + data.gypfile = true + } + } + } + + // add "start" attribute if "server.js" exists + if (steps.includes('serverjs') && !scripts.start) { + try { + await fs.access(path.join(pkg.path, 'server.js')) + scripts.start = 'node server.js' + data.scripts = scripts + } catch { + // do nothing + } + } + + // strip "node_modules/.bin" from scripts entries + if (steps.includes('scripts') || steps.includes('scriptpath')) { + const spre = /^(\.[/\\])?node_modules[/\\].bin[\\/]/ + if (typeof data.scripts === 'object') { + for (const name in data.scripts) { + if (typeof data.scripts[name] !== 'string') { + delete data.scripts[name] + } else if (steps.includes('scriptpath')) { + data.scripts[name] = data.scripts[name].replace(spre, '') + } + } + } else { + delete data.scripts + } + } + + if (steps.includes('funding')) { + if (data.funding && typeof data.funding === 'string') { + data.funding = { url: data.funding } + } + } + + // populate "authors" attribute + if (steps.includes('authors') && !data.contributors) { + try { + const authorData = await fs.readFile(path.join(pkg.path, 'AUTHORS'), 'utf8') + const authors = authorData.split(/\r?\n/g) + .map(line => line.replace(/^\s*#.*$/, '').trim()) + .filter(line => line) + data.contributors = authors + } catch { + // do nothing + } + } + + // populate "readme" attribute + if (steps.includes('readme') && !data.readme) { + const mdre = /\.m?a?r?k?d?o?w?n?$/i + const files = await glob('{README,README.*}', { cwd: pkg.path, nocase: true, mark: true }) + let readmeFile + for (const file of files) { + // don't accept directories. + if (!file.endsWith(path.sep)) { + if (file.match(mdre)) { + readmeFile = file + break + } + if (file.endsWith('README')) { + readmeFile = file + } + } + } + if (readmeFile) { + const readmeData = await fs.readFile(path.join(pkg.path, readmeFile), 'utf8') + data.readme = readmeData + data.readmeFilename = readmeFile + } + } + + // expand directories.man + if (steps.includes('mans') && !data.man && data.directories?.man) { + const manDir = data.directories.man + const cwd = path.resolve(pkg.path, manDir) + const files = await glob('**/*.[0-9]', { cwd }) + data.man = files.map(man => + path.relative(pkg.path, path.join(cwd, man)).split(path.sep).join('/') + ) + } + + if (steps.includes('bin') || steps.includes('binDir') || steps.includes('binRefs')) { + normalizePackageBin(data) + } + + // expand "directories.bin" + if (steps.includes('binDir') && data.directories?.bin) { + const binsDir = path.resolve(pkg.path, path.join('.', path.join('/', data.directories.bin))) + const bins = await glob('**', { cwd: binsDir }) + data.bin = bins.reduce((acc, binFile) => { + if (binFile && !binFile.startsWith('.')) { + const binName = path.basename(binFile) + acc[binName] = path.join(data.directories.bin, binFile) + } + return acc + }, {}) + // *sigh* + normalizePackageBin(data) + } + + // populate "gitHead" attribute + if (steps.includes('gitHead') && !data.gitHead) { + let head + try { + head = await fs.readFile(path.resolve(pkg.path, '.git/HEAD'), 'utf8') + } catch (err) { + // do nothing + } + let headData + if (head) { + if (head.startsWith('ref: ')) { + const headRef = head.replace(/^ref: /, '').trim() + const headFile = path.resolve(pkg.path, '.git', headRef) + try { + headData = await fs.readFile(headFile, 'utf8') + headData = headData.replace(/^ref: /, '').trim() + } catch (err) { + // do nothing + } + if (!headData) { + const packFile = path.resolve(pkg.path, '.git/packed-refs') + try { + let refs = await fs.readFile(packFile, 'utf8') + if (refs) { + refs = refs.split('\n') + for (let i = 0; i < refs.length; i++) { + const match = refs[i].match(/^([0-9a-f]{40}) (.+)$/) + if (match && match[2].trim() === headRef) { + headData = match[1] + break + } + } + } + } catch { + // do nothing + } + } + } else { + headData = head.trim() + } + } + if (headData) { + data.gitHead = headData + } + } + + // populate "types" attribute + if (steps.includes('fillTypes')) { + const index = data.main || 'index.js' + + if (typeof index !== 'string') { + throw new TypeError('The "main" attribute must be of type string.') + } + + // TODO exports is much more complicated than this in verbose format + // We need to support for instance + + // "exports": { + // ".": [ + // { + // "default": "./lib/npm.js" + // }, + // "./lib/npm.js" + // ], + // "./package.json": "./package.json" + // }, + // as well as conditional exports + + // if (data.exports && typeof data.exports === 'string') { + // index = data.exports + // } + + // if (data.exports && data.exports['.']) { + // index = data.exports['.'] + // if (typeof index !== 'string') { + // } + // } + const extless = path.join(path.dirname(index), path.basename(index, path.extname(index))) + const dts = `./${extless}.d.ts` + const hasDTSFields = 'types' in data || 'typings' in data + if (!hasDTSFields) { + try { + await fs.access(path.join(pkg.path, dts)) + data.types = dts.split(path.sep).join('/') + } catch { + // do nothing + } + } + } + + // "normalizeData" from read-package-json + if (steps.includes('normalizeData')) { + normalizePackageData(data, strict) + } + + // Warn if the bin references don't point to anything. This might be better + // in normalize-package-data if it had access to the file path. + if (steps.includes('binRefs') && data.bin instanceof Object) { + for (const key in data.bin) { + const binPath = path.resolve(pkg.path, data.bin[key]) + try { + await fs.access(binPath) + } catch { + delete data.bin[key] + } + } + } +} + +module.exports = normalize diff --git a/deps/npm/node_modules/@npmcli/package-json/package.json b/deps/npm/node_modules/@npmcli/package-json/package.json index faae7891a1e728..61607c5bb6ae70 100644 --- a/deps/npm/node_modules/@npmcli/package-json/package.json +++ b/deps/npm/node_modules/@npmcli/package-json/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/package-json", - "version": "3.0.0", + "version": "3.1.0", "description": "Programmatic API to update package.json", "main": "lib/index.js", "files": [ @@ -24,12 +24,15 @@ "author": "GitHub Inc.", "license": "ISC", "devDependencies": { - "@npmcli/eslint-config": "^3.0.1", - "@npmcli/template-oss": "4.5.1", + "@npmcli/eslint-config": "^4.0.0", + "@npmcli/template-oss": "4.15.1", "tap": "^16.0.1" }, "dependencies": { - "json-parse-even-better-errors": "^3.0.0" + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.1" }, "repository": { "type": "git", @@ -40,7 +43,8 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.5.1" + "version": "4.15.1", + "publish": "true" }, "tap": { "nyc-arg": [ diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js b/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js index cbb0a0b3a5e733..a5518285d1af1b 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js @@ -94,7 +94,11 @@ const runScriptPkg = async options => { return p.catch(er => { const { signal } = er if (stdio === 'inherit' && signal) { + // by the time we reach here, the child has already exited. we send the + // signal back to ourselves again so that npm will exit with the same + // status as the child process.kill(process.pid, signal) + // just in case we don't die, reject after 500ms // this also keeps the node process open long enough to actually // get the signal, rather than terminating gracefully. diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js b/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js index 7e10f859e0a689..efc00b488063ff 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js @@ -1,17 +1,19 @@ const runningProcs = new Set() let handlersInstalled = false +// NOTE: these signals aren't actually forwarded anywhere. they're trapped and +// ignored until all child processes have exited. in our next breaking change +// we should rename this const forwardedSignals = [ 'SIGINT', 'SIGTERM', ] -const handleSignal = signal => { - for (const proc of runningProcs) { - proc.kill(signal) - } -} - +// no-op, this is so receiving the signal doesn't cause us to exit immediately +// instead, we exit after all children have exited when we re-send the signal +// to ourselves. see the catch handler at the bottom of run-script-pkg.js +// istanbul ignore next - this function does nothing +const handleSignal = () => {} const setupListeners = () => { for (const signal of forwardedSignals) { process.on(signal, handleSignal) diff --git a/deps/npm/node_modules/@npmcli/run-script/package.json b/deps/npm/node_modules/@npmcli/run-script/package.json index cdcf6fb0fcf823..38f6f72fa6ad90 100644 --- a/deps/npm/node_modules/@npmcli/run-script/package.json +++ b/deps/npm/node_modules/@npmcli/run-script/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/run-script", - "version": "6.0.1", + "version": "6.0.2", "description": "Run a lifecycle script for a package (descendant of npm-lifecycle)", "author": "GitHub Inc.", "license": "ISC", @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^4.0.0", - "@npmcli/template-oss": "4.14.1", + "@npmcli/template-oss": "4.15.1", "require-inject": "^1.4.4", "tap": "^16.0.1" }, @@ -41,7 +41,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.14.1", + "version": "4.15.1", "publish": "true" }, "tap": { diff --git a/deps/npm/node_modules/cacache/lib/content/write.js b/deps/npm/node_modules/cacache/lib/content/write.js index b6f5c5623b58b4..71461465812878 100644 --- a/deps/npm/node_modules/cacache/lib/content/write.js +++ b/deps/npm/node_modules/cacache/lib/content/write.js @@ -15,6 +15,9 @@ const fsm = require('fs-minipass') module.exports = write +// Cache of move operations in process so we don't duplicate +const moveOperations = new Map() + async function write (cache, data, opts = {}) { const { algorithms, size, integrity } = opts @@ -159,16 +162,27 @@ async function makeTmp (cache, opts) { async function moveToDestination (tmp, cache, sri, opts) { const destination = contentPath(cache, sri) const destDir = path.dirname(destination) - - await fs.mkdir(destDir, { recursive: true }) - try { - await moveFile(tmp.target, destination, { overwrite: false }) - tmp.moved = true - } catch (err) { - if (!err.message.startsWith('The destination file exists')) { - throw Object.assign(err, { code: 'EEXIST' }) - } + if (moveOperations.has(destination)) { + return moveOperations.get(destination) } + moveOperations.set( + destination, + fs.mkdir(destDir, { recursive: true }) + .then(async () => { + await moveFile(tmp.target, destination, { overwrite: false }) + tmp.moved = true + return tmp.moved + }) + .catch(err => { + if (!err.message.startsWith('The destination file exists')) { + throw Object.assign(err, { code: 'EEXIST' }) + } + }).finally(() => { + moveOperations.delete(destination) + }) + + ) + return moveOperations.get(destination) } function sizeError (expected, found) { diff --git a/deps/npm/node_modules/cacache/package.json b/deps/npm/node_modules/cacache/package.json index b8ee783388d847..db17e3a41bc5e4 100644 --- a/deps/npm/node_modules/cacache/package.json +++ b/deps/npm/node_modules/cacache/package.json @@ -1,6 +1,6 @@ { "name": "cacache", - "version": "17.1.0", + "version": "17.1.2", "cache-version": { "content": "2", "index": "5" @@ -60,7 +60,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^4.0.0", - "@npmcli/template-oss": "4.14.1", + "@npmcli/template-oss": "4.15.1", "tap": "^16.0.0" }, "engines": { @@ -69,7 +69,7 @@ "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", "windowsCI": false, - "version": "4.14.1", + "version": "4.15.1", "publish": "true" }, "author": "GitHub Inc.", diff --git a/deps/npm/node_modules/glob/dist/cjs/package.json b/deps/npm/node_modules/glob/dist/cjs/package.json index e225638de741d7..8762de67dc4d55 100644 --- a/deps/npm/node_modules/glob/dist/cjs/package.json +++ b/deps/npm/node_modules/glob/dist/cjs/package.json @@ -2,7 +2,7 @@ "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "name": "glob", "description": "the most correct and second fastest glob implementation in JavaScript", - "version": "10.2.2", + "version": "10.2.4", "bin": "./dist/cjs/src/bin.js", "repository": { "type": "git", @@ -63,7 +63,7 @@ "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", "minimatch": "^9.0.0", - "minipass": "^5.0.0", + "minipass": "^5.0.0 || ^6.0.0", "path-scurry": "^1.7.0" }, "devDependencies": { diff --git a/deps/npm/node_modules/glob/dist/cjs/src/glob.d.ts.map b/deps/npm/node_modules/glob/dist/cjs/src/glob.d.ts.map index bd44bbf49d5949..b0ea3b71e222ad 100644 --- a/deps/npm/node_modules/glob/dist/cjs/src/glob.d.ts.map +++ b/deps/npm/node_modules/glob/dist/cjs/src/glob.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/glob.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,UAAU,EAIX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAA;AAWlE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAElB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IAEvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAA;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD,aAAa,EAAE,IAAI,CAAA;IAEnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GAChE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,MAAM,GAAG,IAAI,CAAA;AACjB,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;AAE1C,MAAM,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GACnE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,OAAO,CAAA;AAEX;;GAEG;AACH,qBAAa,IAAI,CAAC,IAAI,SAAS,WAAW,CAAE,YAAW,WAAW;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IACvC,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB;;;;;;;;;;;OAWG;gBACS,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IA8GlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAmBpC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB;;OAEG;IACH,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAa9C;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAalD;;;OAGG;IACH,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGlD,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;;OAGG;IACH,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGnD,CAAC,MAAM,CAAC,aAAa,CAAC;CAGvB"} \ No newline at end of file +{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/glob.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,UAAU,EAIX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAA;AAWlE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAElB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IAEvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAA;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD,aAAa,EAAE,IAAI,CAAA;IAEnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GAChE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,MAAM,GAAG,IAAI,CAAA;AACjB,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;AAE1C,MAAM,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GACnE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,OAAO,CAAA;AAEX;;GAEG;AACH,qBAAa,IAAI,CAAC,IAAI,SAAS,WAAW,CAAE,YAAW,WAAW;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IACvC,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB;;;;;;;;;;;OAWG;gBACS,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IAqHlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAmBpC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB;;OAEG;IACH,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAa9C;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAalD;;;OAGG;IACH,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGlD,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;;OAGG;IACH,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGnD,CAAC,MAAM,CAAC,aAAa,CAAC;CAGvB"} \ No newline at end of file diff --git a/deps/npm/node_modules/glob/dist/cjs/src/glob.js b/deps/npm/node_modules/glob/dist/cjs/src/glob.js index a05d9f0eb39637..e7ad4deb980d30 100644 --- a/deps/npm/node_modules/glob/dist/cjs/src/glob.js +++ b/deps/npm/node_modules/glob/dist/cjs/src/glob.js @@ -130,6 +130,11 @@ class Glob { }); } this.nocase = this.scurry.nocase; + // If you do nocase:true on a case-sensitive file system, then + // we need to use regexps instead of strings for non-magic + // path portions, because statting `aBc` won't return results + // for the file `AbC` for example. + const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32'; const mmo = { // default nocase based on platform ...opts, @@ -137,7 +142,7 @@ class Glob { matchBase: this.matchBase, nobrace: this.nobrace, nocase: this.nocase, - nocaseMagicOnly: true, + nocaseMagicOnly, nocomment: true, noext: this.noext, nonegate: true, diff --git a/deps/npm/node_modules/glob/dist/cjs/src/glob.js.map b/deps/npm/node_modules/glob/dist/cjs/src/glob.js.map index aae70b0e4479f3..bf6fb4d0f0b724 100644 --- a/deps/npm/node_modules/glob/dist/cjs/src/glob.js.map +++ b/deps/npm/node_modules/glob/dist/cjs/src/glob.js.map @@ -1 +1 @@ -{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../src/glob.ts"],"names":[],"mappings":";;;AAAA,yCAAuD;AAEvD,6CAOoB;AACpB,6BAAmC;AAEnC,6CAAsC;AACtC,2CAAoD;AAKpD,4CAA4C;AAC5C,gDAAgD;AAChD,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ;IAC3B,OAAO;IACP,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAClC,CAAC,CAAC,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CAAA;AAgTb;;GAEG;AACH,MAAa,IAAI;IACf,QAAQ,CAAU;IAClB,GAAG,CAAQ;IACX,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,WAAW,CAAS;IACpB,MAAM,CAAS;IACf,MAAM,CAAiC;IACvC,aAAa,CAAS;IACtB,IAAI,CAAU;IACd,SAAS,CAAS;IAClB,QAAQ,CAAQ;IAChB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAiB;IACzB,QAAQ,CAAS;IACjB,MAAM,CAAY;IAClB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,oBAAoB,CAAS;IAC7B,aAAa,CAAiB;IAE9B;;OAEG;IACH,IAAI,CAAM;IAEV;;OAEG;IACH,QAAQ,CAAW;IAEnB;;;;;;;;;;;OAWG;IACH,YAAY,OAA0B,EAAE,IAAU;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAgC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;SACd;aAAM,IAAI,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACpE,IAAI,CAAC,GAAG,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;SACpB;QAED,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB;gBAC1B,IAAoB,CAAC,kBAAkB,KAAK,KAAK,CAAA;QAEpD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;aACvD;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;SAChE;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAClC;gBACA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;aACpE;SACF;aAAM;YACL,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,KAAK,OAAO;gBACvB,CAAC,CAAC,6BAAe;gBACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC5B,CAAC,CAAC,8BAAgB;oBAClB,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACf,CAAC,CAAC,6BAAe;wBACjB,CAAC,CAAC,wBAAU,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAA;SACH;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAEhC,MAAM,GAAG,GAAqB;YAC5B,mCAAmC;YACnC,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;SACzB,CAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,CACtC,CAAC,GAA0B,EAAE,CAAC,EAAE,EAAE;YAChC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACrB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtC,OAAO,IAAI,oBAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAMD,KAAK,CAAC,IAAI;QACR,kEAAkE;QAClE,iEAAiE;QACjE,uEAAuE;QACvE,sCAAsC;QACtC,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACvD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,IAAI,EAAE,CAAC;SACX,CAAA;IACH,CAAC;IAMD,QAAQ;QACN,OAAO;YACL,GAAG,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBAChD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,QAAQ,EAAE;SACd,CAAA;IACH,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,MAAM,EAAE,CAAA;IACb,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,UAAU,EAAE,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC9C,CAAC;IACD,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;CACF;AA3PD,oBA2PC","sourcesContent":["import { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport {\n FSOption,\n Path,\n PathScurry,\n PathScurryDarwin,\n PathScurryPosix,\n PathScurryWin32,\n} from 'path-scurry'\nimport { fileURLToPath } from 'url'\nimport { IgnoreLike } from './ignore.js'\nimport { Pattern } from './pattern.js'\nimport { GlobStream, GlobWalker } from './walker.js'\n\nexport type MatchSet = Minimatch['set']\nexport type GlobParts = Exclude\n\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform: NodeJS.Platform =\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ? process.platform\n : 'linux'\n\n/**\n * A `GlobOptions` object may be provided to any of the exported methods, and\n * must be provided to the `Glob` constructor.\n *\n * All options are optional, boolean, and false by default, unless otherwise\n * noted.\n *\n * All resolved options are added to the Glob object as properties.\n *\n * If you are running many `glob` operations, you can pass a Glob object as the\n * `options` argument to a subsequent operation to share the previously loaded\n * cache.\n */\nexport interface GlobOptions {\n /**\n * Set to `true` to always receive absolute paths for\n * matched files. Set to `false` to always return relative paths.\n *\n * When this option is not set, absolute paths are returned for patterns\n * that are absolute, and otherwise paths are returned that are relative\n * to the `cwd` setting.\n *\n * This does _not_ make an extra system call to get\n * the realpath, it only does string path resolution.\n *\n * Conflicts with {@link withFileTypes}\n */\n absolute?: boolean\n\n /**\n * Set to false to enable {@link windowsPathsNoEscape}\n *\n * @deprecated\n */\n allowWindowsEscape?: boolean\n\n /**\n * The current working directory in which to search. Defaults to\n * `process.cwd()`.\n *\n * May be eiher a string path or a `file://` URL object or string.\n */\n cwd?: string | URL\n\n /**\n * Include `.dot` files in normal matches and `globstar`\n * matches. Note that an explicit dot in a portion of the pattern\n * will always match dot files.\n */\n dot?: boolean\n\n /**\n * Prepend all relative path strings with `./` (or `.\\` on Windows).\n *\n * Without this option, returned relative paths are \"bare\", so instead of\n * returning `'./foo/bar'`, they are returned as `'foo/bar'`.\n *\n * Relative patterns starting with `'../'` are not prepended with `./`, even\n * if this option is set.\n */\n dotRelative?: boolean\n\n /**\n * Follow symlinked directories when expanding `**`\n * patterns. This can result in a lot of duplicate references in\n * the presence of cyclic links, and make performance quite bad.\n *\n * By default, a `**` in a pattern will follow 1 symbolic link if\n * it is not the first item in the pattern, or none if it is the\n * first item in the pattern, following the same behavior as Bash.\n */\n follow?: boolean\n\n /**\n * string or string[], or an object with `ignore` and `ignoreChildren`\n * methods.\n *\n * If a string or string[] is provided, then this is treated as a glob\n * pattern or array of glob patterns to exclude from matches. To ignore all\n * children within a directory, as well as the entry itself, append `'/**'`\n * to the ignore pattern.\n *\n * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of\n * any other settings.\n *\n * If an object is provided that has `ignored(path)` and/or\n * `childrenIgnored(path)` methods, then these methods will be called to\n * determine whether any Path is a match or if its children should be\n * traversed, respectively.\n */\n ignore?: string | string[] | IgnoreLike\n\n /**\n * Treat brace expansion like `{a,b}` as a \"magic\" pattern. Has no\n * effect if {@link nobrace} is set.\n *\n * Only has effect on the {@link hasMagic} function.\n */\n magicalBraces?: boolean\n\n /**\n * Add a `/` character to directory matches. Note that this requires\n * additional stat calls in some cases.\n */\n mark?: boolean\n\n /**\n * Perform a basename-only match if the pattern does not contain any slash\n * characters. That is, `*.js` would be treated as equivalent to\n * `**\\/*.js`, matching all js files in all directories.\n */\n matchBase?: boolean\n\n /**\n * Limit the directory traversal to a given depth below the cwd.\n * Note that this does NOT prevent traversal to sibling folders,\n * root patterns, and so on. It only limits the maximum folder depth\n * that the walk will descend, relative to the cwd.\n */\n maxDepth?: number\n\n /**\n * Do not expand `{a,b}` and `{1..3}` brace sets.\n */\n nobrace?: boolean\n\n /**\n * Perform a case-insensitive match. This defaults to `true` on macOS and\n * Windows systems, and `false` on all others.\n *\n * **Note** `nocase` should only be explicitly set when it is\n * known that the filesystem's case sensitivity differs from the\n * platform default. If set `true` on case-sensitive file\n * systems, or `false` on case-insensitive file systems, then the\n * walk may return more or less results than expected.\n */\n nocase?: boolean\n\n /**\n * Do not match directories, only files. (Note: to match\n * _only_ directories, put a `/` at the end of the pattern.)\n */\n nodir?: boolean\n\n /**\n * Do not match \"extglob\" patterns such as `+(a|b)`.\n */\n noext?: boolean\n\n /**\n * Do not match `**` against multiple filenames. (Ie, treat it as a normal\n * `*` instead.)\n *\n * Conflicts with {@link matchBase}\n */\n noglobstar?: boolean\n\n /**\n * Defaults to value of `process.platform` if available, or `'linux'` if\n * not. Setting `platform:'win32'` on non-Windows systems may cause strange\n * behavior.\n */\n platform?: NodeJS.Platform\n\n /**\n * Set to true to call `fs.realpath` on all of the\n * results. In the case of an entry that cannot be resolved, the\n * entry is omitted. This incurs a slight performance penalty, of\n * course, because of the added system calls.\n */\n realpath?: boolean\n\n /**\n *\n * A string path resolved against the `cwd` option, which\n * is used as the starting point for absolute patterns that start\n * with `/`, (but not drive letters or UNC paths on Windows).\n *\n * Note that this _doesn't_ necessarily limit the walk to the\n * `root` directory, and doesn't affect the cwd starting point for\n * non-absolute patterns. A pattern containing `..` will still be\n * able to traverse out of the root directory, if it is not an\n * actual root directory on the filesystem, and any non-absolute\n * patterns will be matched in the `cwd`. For example, the\n * pattern `/../*` with `{root:'/some/path'}` will return all\n * files in `/some`, not all files in `/some/path`. The pattern\n * `*` with `{root:'/some/path'}` will return all the entries in\n * the cwd, not the entries in `/some/path`.\n *\n * To start absolute and non-absolute patterns in the same\n * path, you can use `{root:''}`. However, be aware that on\n * Windows systems, a pattern like `x:/*` or `//host/share/*` will\n * _always_ start in the `x:/` or `//host/share` directory,\n * regardless of the `root` setting.\n */\n root?: string\n\n /**\n * A [PathScurry](http://npm.im/path-scurry) object used\n * to traverse the file system. If the `nocase` option is set\n * explicitly, then any provided `scurry` object must match this\n * setting.\n */\n scurry?: PathScurry\n\n /**\n * Call `lstat()` on all entries, whether required or not to determine\n * if it's a valid match. When used with {@link withFileTypes}, this means\n * that matches will include data such as modified time, permissions, and\n * so on. Note that this will incur a performance cost due to the added\n * system calls.\n */\n stat?: boolean\n\n /**\n * An AbortSignal which will cancel the Glob walk when\n * triggered.\n */\n signal?: AbortSignal\n\n /**\n * Use `\\\\` as a path separator _only_, and\n * _never_ as an escape character. If set, all `\\\\` characters are\n * replaced with `/` in the pattern.\n *\n * Note that this makes it **impossible** to match against paths\n * containing literal glob pattern characters, but allows matching\n * with patterns constructed using `path.join()` and\n * `path.resolve()` on Windows platforms, mimicking the (buggy!)\n * behavior of Glob v7 and before on Windows. Please use with\n * caution, and be mindful of [the caveat below about Windows\n * paths](#windows). (For legacy reasons, this is also set if\n * `allowWindowsEscape` is set to the exact value `false`.)\n */\n windowsPathsNoEscape?: boolean\n\n /**\n * Return [PathScurry](http://npm.im/path-scurry)\n * `Path` objects instead of strings. These are similar to a\n * NodeJS `Dirent` object, but with additional methods and\n * properties.\n *\n * Conflicts with {@link absolute}\n */\n withFileTypes?: boolean\n\n /**\n * An fs implementation to override some or all of the defaults. See\n * http://npm.im/path-scurry for details about what can be overridden.\n */\n fs?: FSOption\n\n /**\n * Just passed along to Minimatch. Note that this makes all pattern\n * matching operations slower and *extremely* noisy.\n */\n debug?: boolean\n\n /**\n * Return `/` delimited paths, even on Windows.\n *\n * On posix systems, this has no effect. But, on Windows, it means that\n * paths will be `/` delimited, and absolute paths will be their full\n * resolved UNC forms, eg instead of `'C:\\\\foo\\\\bar'`, it would return\n * `'//?/C:/foo/bar'`\n */\n posix?: boolean\n}\n\nexport type GlobOptionsWithFileTypesTrue = GlobOptions & {\n withFileTypes: true\n // string options not relevant if returning Path objects.\n absolute?: undefined\n mark?: undefined\n posix?: undefined\n}\n\nexport type GlobOptionsWithFileTypesFalse = GlobOptions & {\n withFileTypes?: false\n}\n\nexport type GlobOptionsWithFileTypesUnset = GlobOptions & {\n withFileTypes?: undefined\n}\n\nexport type Result = Opts extends GlobOptionsWithFileTypesTrue\n ? Path\n : Opts extends GlobOptionsWithFileTypesFalse\n ? string\n : Opts extends GlobOptionsWithFileTypesUnset\n ? string\n : string | Path\nexport type Results = Result[]\n\nexport type FileTypes = Opts extends GlobOptionsWithFileTypesTrue\n ? true\n : Opts extends GlobOptionsWithFileTypesFalse\n ? false\n : Opts extends GlobOptionsWithFileTypesUnset\n ? false\n : boolean\n\n/**\n * An object that can perform glob pattern traversals.\n */\nexport class Glob implements GlobOptions {\n absolute?: boolean\n cwd: string\n root?: string\n dot: boolean\n dotRelative: boolean\n follow: boolean\n ignore?: string | string[] | IgnoreLike\n magicalBraces: boolean\n mark?: boolean\n matchBase: boolean\n maxDepth: number\n nobrace: boolean\n nocase: boolean\n nodir: boolean\n noext: boolean\n noglobstar: boolean\n pattern: string[]\n platform: NodeJS.Platform\n realpath: boolean\n scurry: PathScurry\n stat: boolean\n signal?: AbortSignal\n windowsPathsNoEscape: boolean\n withFileTypes: FileTypes\n\n /**\n * The options provided to the constructor.\n */\n opts: Opts\n\n /**\n * An array of parsed immutable {@link Pattern} objects.\n */\n patterns: Pattern[]\n\n /**\n * All options are stored as properties on the `Glob` object.\n *\n * See {@link GlobOptions} for full options descriptions.\n *\n * Note that a previous `Glob` object can be passed as the\n * `GlobOptions` to another `Glob` instantiation to re-use settings\n * and caches with a new pattern.\n *\n * Traversal functions can be called multiple times to run the walk\n * again.\n */\n constructor(pattern: string | string[], opts: Opts) {\n this.withFileTypes = !!opts.withFileTypes as FileTypes\n this.signal = opts.signal\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.dotRelative = !!opts.dotRelative\n this.nodir = !!opts.nodir\n this.mark = !!opts.mark\n if (!opts.cwd) {\n this.cwd = ''\n } else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n opts.cwd = fileURLToPath(opts.cwd)\n }\n this.cwd = opts.cwd || ''\n this.root = opts.root\n this.magicalBraces = !!opts.magicalBraces\n this.nobrace = !!opts.nobrace\n this.noext = !!opts.noext\n this.realpath = !!opts.realpath\n this.absolute = opts.absolute\n\n this.noglobstar = !!opts.noglobstar\n this.matchBase = !!opts.matchBase\n this.maxDepth =\n typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity\n this.stat = !!opts.stat\n this.ignore = opts.ignore\n\n if (this.withFileTypes && this.absolute !== undefined) {\n throw new Error('cannot set absolute and withFileTypes:true')\n }\n\n if (typeof pattern === 'string') {\n pattern = [pattern]\n }\n\n this.windowsPathsNoEscape =\n !!opts.windowsPathsNoEscape ||\n (opts as GlobOptions).allowWindowsEscape === false\n\n if (this.windowsPathsNoEscape) {\n pattern = pattern.map(p => p.replace(/\\\\/g, '/'))\n }\n\n if (this.matchBase) {\n if (opts.noglobstar) {\n throw new TypeError('base matching requires globstar')\n }\n pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`))\n }\n\n this.pattern = pattern\n\n this.platform = opts.platform || defaultPlatform\n this.opts = { ...opts, platform: this.platform }\n if (opts.scurry) {\n this.scurry = opts.scurry\n if (\n opts.nocase !== undefined &&\n opts.nocase !== opts.scurry.nocase\n ) {\n throw new Error('nocase option contradicts provided scurry option')\n }\n } else {\n const Scurry =\n opts.platform === 'win32'\n ? PathScurryWin32\n : opts.platform === 'darwin'\n ? PathScurryDarwin\n : opts.platform\n ? PathScurryPosix\n : PathScurry\n this.scurry = new Scurry(this.cwd, {\n nocase: opts.nocase,\n fs: opts.fs,\n })\n }\n this.nocase = this.scurry.nocase\n\n const mmo: MinimatchOptions = {\n // default nocase based on platform\n ...opts,\n dot: this.dot,\n matchBase: this.matchBase,\n nobrace: this.nobrace,\n nocase: this.nocase,\n nocaseMagicOnly: true,\n nocomment: true,\n noext: this.noext,\n nonegate: true,\n optimizationLevel: 2,\n platform: this.platform,\n windowsPathsNoEscape: this.windowsPathsNoEscape,\n debug: !!this.opts.debug,\n }\n\n const mms = this.pattern.map(p => new Minimatch(p, mmo))\n const [matchSet, globParts] = mms.reduce(\n (set: [MatchSet, GlobParts], m) => {\n set[0].push(...m.set)\n set[1].push(...m.globParts)\n return set\n },\n [[], []]\n )\n this.patterns = matchSet.map((set, i) => {\n return new Pattern(set, globParts[i], 0, this.platform)\n })\n }\n\n /**\n * Returns a Promise that resolves to the results array.\n */\n async walk(): Promise>\n async walk(): Promise<(string | Path)[]> {\n // Walkers always return array of Path objects, so we just have to\n // coerce them into the right shape. It will have already called\n // realpath() if the option was set to do so, so we know that's cached.\n // start out knowing the cwd, at least\n return [\n ...(await new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walk()),\n ]\n }\n\n /**\n * synchronous {@link Glob.walk}\n */\n walkSync(): Results\n walkSync(): (string | Path)[] {\n return [\n ...new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walkSync(),\n ]\n }\n\n /**\n * Stream results asynchronously.\n */\n stream(): Minipass, Result>\n stream(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).stream()\n }\n\n /**\n * Stream results synchronously.\n */\n streamSync(): Minipass, Result>\n streamSync(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).streamSync()\n }\n\n /**\n * Default sync iteration function. Returns a Generator that\n * iterates over the results.\n */\n iterateSync(): Generator, void, void> {\n return this.streamSync()[Symbol.iterator]()\n }\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n /**\n * Default async iteration function. Returns an AsyncGenerator that\n * iterates over the results.\n */\n iterate(): AsyncGenerator, void, void> {\n return this.stream()[Symbol.asyncIterator]()\n }\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../src/glob.ts"],"names":[],"mappings":";;;AAAA,yCAAuD;AAEvD,6CAOoB;AACpB,6BAAmC;AAEnC,6CAAsC;AACtC,2CAAoD;AAKpD,4CAA4C;AAC5C,gDAAgD;AAChD,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ;IAC3B,OAAO;IACP,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAClC,CAAC,CAAC,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CAAA;AAgTb;;GAEG;AACH,MAAa,IAAI;IACf,QAAQ,CAAU;IAClB,GAAG,CAAQ;IACX,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,WAAW,CAAS;IACpB,MAAM,CAAS;IACf,MAAM,CAAiC;IACvC,aAAa,CAAS;IACtB,IAAI,CAAU;IACd,SAAS,CAAS;IAClB,QAAQ,CAAQ;IAChB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAiB;IACzB,QAAQ,CAAS;IACjB,MAAM,CAAY;IAClB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,oBAAoB,CAAS;IAC7B,aAAa,CAAiB;IAE9B;;OAEG;IACH,IAAI,CAAM;IAEV;;OAEG;IACH,QAAQ,CAAW;IAEnB;;;;;;;;;;;OAWG;IACH,YAAY,OAA0B,EAAE,IAAU;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAgC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;SACd;aAAM,IAAI,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACpE,IAAI,CAAC,GAAG,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;SACpB;QAED,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB;gBAC1B,IAAoB,CAAC,kBAAkB,KAAK,KAAK,CAAA;QAEpD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;aACvD;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;SAChE;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAClC;gBACA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;aACpE;SACF;aAAM;YACL,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,KAAK,OAAO;gBACvB,CAAC,CAAC,6BAAe;gBACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC5B,CAAC,CAAC,8BAAgB;oBAClB,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACf,CAAC,CAAC,6BAAe;wBACjB,CAAC,CAAC,wBAAU,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAA;SACH;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAEhC,8DAA8D;QAC9D,0DAA0D;QAC1D,6DAA6D;QAC7D,kCAAkC;QAClC,MAAM,eAAe,GACnB,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAA;QAEzD,MAAM,GAAG,GAAqB;YAC5B,mCAAmC;YACnC,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;SACzB,CAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,CACtC,CAAC,GAA0B,EAAE,CAAC,EAAE,EAAE;YAChC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACrB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtC,OAAO,IAAI,oBAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAMD,KAAK,CAAC,IAAI;QACR,kEAAkE;QAClE,iEAAiE;QACjE,uEAAuE;QACvE,sCAAsC;QACtC,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACvD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,IAAI,EAAE,CAAC;SACX,CAAA;IACH,CAAC;IAMD,QAAQ;QACN,OAAO;YACL,GAAG,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBAChD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,QAAQ,EAAE;SACd,CAAA;IACH,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,MAAM,EAAE,CAAA;IACb,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,sBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,UAAU,EAAE,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC9C,CAAC;IACD,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;CACF;AAlQD,oBAkQC","sourcesContent":["import { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport {\n FSOption,\n Path,\n PathScurry,\n PathScurryDarwin,\n PathScurryPosix,\n PathScurryWin32,\n} from 'path-scurry'\nimport { fileURLToPath } from 'url'\nimport { IgnoreLike } from './ignore.js'\nimport { Pattern } from './pattern.js'\nimport { GlobStream, GlobWalker } from './walker.js'\n\nexport type MatchSet = Minimatch['set']\nexport type GlobParts = Exclude\n\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform: NodeJS.Platform =\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ? process.platform\n : 'linux'\n\n/**\n * A `GlobOptions` object may be provided to any of the exported methods, and\n * must be provided to the `Glob` constructor.\n *\n * All options are optional, boolean, and false by default, unless otherwise\n * noted.\n *\n * All resolved options are added to the Glob object as properties.\n *\n * If you are running many `glob` operations, you can pass a Glob object as the\n * `options` argument to a subsequent operation to share the previously loaded\n * cache.\n */\nexport interface GlobOptions {\n /**\n * Set to `true` to always receive absolute paths for\n * matched files. Set to `false` to always return relative paths.\n *\n * When this option is not set, absolute paths are returned for patterns\n * that are absolute, and otherwise paths are returned that are relative\n * to the `cwd` setting.\n *\n * This does _not_ make an extra system call to get\n * the realpath, it only does string path resolution.\n *\n * Conflicts with {@link withFileTypes}\n */\n absolute?: boolean\n\n /**\n * Set to false to enable {@link windowsPathsNoEscape}\n *\n * @deprecated\n */\n allowWindowsEscape?: boolean\n\n /**\n * The current working directory in which to search. Defaults to\n * `process.cwd()`.\n *\n * May be eiher a string path or a `file://` URL object or string.\n */\n cwd?: string | URL\n\n /**\n * Include `.dot` files in normal matches and `globstar`\n * matches. Note that an explicit dot in a portion of the pattern\n * will always match dot files.\n */\n dot?: boolean\n\n /**\n * Prepend all relative path strings with `./` (or `.\\` on Windows).\n *\n * Without this option, returned relative paths are \"bare\", so instead of\n * returning `'./foo/bar'`, they are returned as `'foo/bar'`.\n *\n * Relative patterns starting with `'../'` are not prepended with `./`, even\n * if this option is set.\n */\n dotRelative?: boolean\n\n /**\n * Follow symlinked directories when expanding `**`\n * patterns. This can result in a lot of duplicate references in\n * the presence of cyclic links, and make performance quite bad.\n *\n * By default, a `**` in a pattern will follow 1 symbolic link if\n * it is not the first item in the pattern, or none if it is the\n * first item in the pattern, following the same behavior as Bash.\n */\n follow?: boolean\n\n /**\n * string or string[], or an object with `ignore` and `ignoreChildren`\n * methods.\n *\n * If a string or string[] is provided, then this is treated as a glob\n * pattern or array of glob patterns to exclude from matches. To ignore all\n * children within a directory, as well as the entry itself, append `'/**'`\n * to the ignore pattern.\n *\n * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of\n * any other settings.\n *\n * If an object is provided that has `ignored(path)` and/or\n * `childrenIgnored(path)` methods, then these methods will be called to\n * determine whether any Path is a match or if its children should be\n * traversed, respectively.\n */\n ignore?: string | string[] | IgnoreLike\n\n /**\n * Treat brace expansion like `{a,b}` as a \"magic\" pattern. Has no\n * effect if {@link nobrace} is set.\n *\n * Only has effect on the {@link hasMagic} function.\n */\n magicalBraces?: boolean\n\n /**\n * Add a `/` character to directory matches. Note that this requires\n * additional stat calls in some cases.\n */\n mark?: boolean\n\n /**\n * Perform a basename-only match if the pattern does not contain any slash\n * characters. That is, `*.js` would be treated as equivalent to\n * `**\\/*.js`, matching all js files in all directories.\n */\n matchBase?: boolean\n\n /**\n * Limit the directory traversal to a given depth below the cwd.\n * Note that this does NOT prevent traversal to sibling folders,\n * root patterns, and so on. It only limits the maximum folder depth\n * that the walk will descend, relative to the cwd.\n */\n maxDepth?: number\n\n /**\n * Do not expand `{a,b}` and `{1..3}` brace sets.\n */\n nobrace?: boolean\n\n /**\n * Perform a case-insensitive match. This defaults to `true` on macOS and\n * Windows systems, and `false` on all others.\n *\n * **Note** `nocase` should only be explicitly set when it is\n * known that the filesystem's case sensitivity differs from the\n * platform default. If set `true` on case-sensitive file\n * systems, or `false` on case-insensitive file systems, then the\n * walk may return more or less results than expected.\n */\n nocase?: boolean\n\n /**\n * Do not match directories, only files. (Note: to match\n * _only_ directories, put a `/` at the end of the pattern.)\n */\n nodir?: boolean\n\n /**\n * Do not match \"extglob\" patterns such as `+(a|b)`.\n */\n noext?: boolean\n\n /**\n * Do not match `**` against multiple filenames. (Ie, treat it as a normal\n * `*` instead.)\n *\n * Conflicts with {@link matchBase}\n */\n noglobstar?: boolean\n\n /**\n * Defaults to value of `process.platform` if available, or `'linux'` if\n * not. Setting `platform:'win32'` on non-Windows systems may cause strange\n * behavior.\n */\n platform?: NodeJS.Platform\n\n /**\n * Set to true to call `fs.realpath` on all of the\n * results. In the case of an entry that cannot be resolved, the\n * entry is omitted. This incurs a slight performance penalty, of\n * course, because of the added system calls.\n */\n realpath?: boolean\n\n /**\n *\n * A string path resolved against the `cwd` option, which\n * is used as the starting point for absolute patterns that start\n * with `/`, (but not drive letters or UNC paths on Windows).\n *\n * Note that this _doesn't_ necessarily limit the walk to the\n * `root` directory, and doesn't affect the cwd starting point for\n * non-absolute patterns. A pattern containing `..` will still be\n * able to traverse out of the root directory, if it is not an\n * actual root directory on the filesystem, and any non-absolute\n * patterns will be matched in the `cwd`. For example, the\n * pattern `/../*` with `{root:'/some/path'}` will return all\n * files in `/some`, not all files in `/some/path`. The pattern\n * `*` with `{root:'/some/path'}` will return all the entries in\n * the cwd, not the entries in `/some/path`.\n *\n * To start absolute and non-absolute patterns in the same\n * path, you can use `{root:''}`. However, be aware that on\n * Windows systems, a pattern like `x:/*` or `//host/share/*` will\n * _always_ start in the `x:/` or `//host/share` directory,\n * regardless of the `root` setting.\n */\n root?: string\n\n /**\n * A [PathScurry](http://npm.im/path-scurry) object used\n * to traverse the file system. If the `nocase` option is set\n * explicitly, then any provided `scurry` object must match this\n * setting.\n */\n scurry?: PathScurry\n\n /**\n * Call `lstat()` on all entries, whether required or not to determine\n * if it's a valid match. When used with {@link withFileTypes}, this means\n * that matches will include data such as modified time, permissions, and\n * so on. Note that this will incur a performance cost due to the added\n * system calls.\n */\n stat?: boolean\n\n /**\n * An AbortSignal which will cancel the Glob walk when\n * triggered.\n */\n signal?: AbortSignal\n\n /**\n * Use `\\\\` as a path separator _only_, and\n * _never_ as an escape character. If set, all `\\\\` characters are\n * replaced with `/` in the pattern.\n *\n * Note that this makes it **impossible** to match against paths\n * containing literal glob pattern characters, but allows matching\n * with patterns constructed using `path.join()` and\n * `path.resolve()` on Windows platforms, mimicking the (buggy!)\n * behavior of Glob v7 and before on Windows. Please use with\n * caution, and be mindful of [the caveat below about Windows\n * paths](#windows). (For legacy reasons, this is also set if\n * `allowWindowsEscape` is set to the exact value `false`.)\n */\n windowsPathsNoEscape?: boolean\n\n /**\n * Return [PathScurry](http://npm.im/path-scurry)\n * `Path` objects instead of strings. These are similar to a\n * NodeJS `Dirent` object, but with additional methods and\n * properties.\n *\n * Conflicts with {@link absolute}\n */\n withFileTypes?: boolean\n\n /**\n * An fs implementation to override some or all of the defaults. See\n * http://npm.im/path-scurry for details about what can be overridden.\n */\n fs?: FSOption\n\n /**\n * Just passed along to Minimatch. Note that this makes all pattern\n * matching operations slower and *extremely* noisy.\n */\n debug?: boolean\n\n /**\n * Return `/` delimited paths, even on Windows.\n *\n * On posix systems, this has no effect. But, on Windows, it means that\n * paths will be `/` delimited, and absolute paths will be their full\n * resolved UNC forms, eg instead of `'C:\\\\foo\\\\bar'`, it would return\n * `'//?/C:/foo/bar'`\n */\n posix?: boolean\n}\n\nexport type GlobOptionsWithFileTypesTrue = GlobOptions & {\n withFileTypes: true\n // string options not relevant if returning Path objects.\n absolute?: undefined\n mark?: undefined\n posix?: undefined\n}\n\nexport type GlobOptionsWithFileTypesFalse = GlobOptions & {\n withFileTypes?: false\n}\n\nexport type GlobOptionsWithFileTypesUnset = GlobOptions & {\n withFileTypes?: undefined\n}\n\nexport type Result = Opts extends GlobOptionsWithFileTypesTrue\n ? Path\n : Opts extends GlobOptionsWithFileTypesFalse\n ? string\n : Opts extends GlobOptionsWithFileTypesUnset\n ? string\n : string | Path\nexport type Results = Result[]\n\nexport type FileTypes = Opts extends GlobOptionsWithFileTypesTrue\n ? true\n : Opts extends GlobOptionsWithFileTypesFalse\n ? false\n : Opts extends GlobOptionsWithFileTypesUnset\n ? false\n : boolean\n\n/**\n * An object that can perform glob pattern traversals.\n */\nexport class Glob implements GlobOptions {\n absolute?: boolean\n cwd: string\n root?: string\n dot: boolean\n dotRelative: boolean\n follow: boolean\n ignore?: string | string[] | IgnoreLike\n magicalBraces: boolean\n mark?: boolean\n matchBase: boolean\n maxDepth: number\n nobrace: boolean\n nocase: boolean\n nodir: boolean\n noext: boolean\n noglobstar: boolean\n pattern: string[]\n platform: NodeJS.Platform\n realpath: boolean\n scurry: PathScurry\n stat: boolean\n signal?: AbortSignal\n windowsPathsNoEscape: boolean\n withFileTypes: FileTypes\n\n /**\n * The options provided to the constructor.\n */\n opts: Opts\n\n /**\n * An array of parsed immutable {@link Pattern} objects.\n */\n patterns: Pattern[]\n\n /**\n * All options are stored as properties on the `Glob` object.\n *\n * See {@link GlobOptions} for full options descriptions.\n *\n * Note that a previous `Glob` object can be passed as the\n * `GlobOptions` to another `Glob` instantiation to re-use settings\n * and caches with a new pattern.\n *\n * Traversal functions can be called multiple times to run the walk\n * again.\n */\n constructor(pattern: string | string[], opts: Opts) {\n this.withFileTypes = !!opts.withFileTypes as FileTypes\n this.signal = opts.signal\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.dotRelative = !!opts.dotRelative\n this.nodir = !!opts.nodir\n this.mark = !!opts.mark\n if (!opts.cwd) {\n this.cwd = ''\n } else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n opts.cwd = fileURLToPath(opts.cwd)\n }\n this.cwd = opts.cwd || ''\n this.root = opts.root\n this.magicalBraces = !!opts.magicalBraces\n this.nobrace = !!opts.nobrace\n this.noext = !!opts.noext\n this.realpath = !!opts.realpath\n this.absolute = opts.absolute\n\n this.noglobstar = !!opts.noglobstar\n this.matchBase = !!opts.matchBase\n this.maxDepth =\n typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity\n this.stat = !!opts.stat\n this.ignore = opts.ignore\n\n if (this.withFileTypes && this.absolute !== undefined) {\n throw new Error('cannot set absolute and withFileTypes:true')\n }\n\n if (typeof pattern === 'string') {\n pattern = [pattern]\n }\n\n this.windowsPathsNoEscape =\n !!opts.windowsPathsNoEscape ||\n (opts as GlobOptions).allowWindowsEscape === false\n\n if (this.windowsPathsNoEscape) {\n pattern = pattern.map(p => p.replace(/\\\\/g, '/'))\n }\n\n if (this.matchBase) {\n if (opts.noglobstar) {\n throw new TypeError('base matching requires globstar')\n }\n pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`))\n }\n\n this.pattern = pattern\n\n this.platform = opts.platform || defaultPlatform\n this.opts = { ...opts, platform: this.platform }\n if (opts.scurry) {\n this.scurry = opts.scurry\n if (\n opts.nocase !== undefined &&\n opts.nocase !== opts.scurry.nocase\n ) {\n throw new Error('nocase option contradicts provided scurry option')\n }\n } else {\n const Scurry =\n opts.platform === 'win32'\n ? PathScurryWin32\n : opts.platform === 'darwin'\n ? PathScurryDarwin\n : opts.platform\n ? PathScurryPosix\n : PathScurry\n this.scurry = new Scurry(this.cwd, {\n nocase: opts.nocase,\n fs: opts.fs,\n })\n }\n this.nocase = this.scurry.nocase\n\n // If you do nocase:true on a case-sensitive file system, then\n // we need to use regexps instead of strings for non-magic\n // path portions, because statting `aBc` won't return results\n // for the file `AbC` for example.\n const nocaseMagicOnly =\n this.platform === 'darwin' || this.platform === 'win32'\n\n const mmo: MinimatchOptions = {\n // default nocase based on platform\n ...opts,\n dot: this.dot,\n matchBase: this.matchBase,\n nobrace: this.nobrace,\n nocase: this.nocase,\n nocaseMagicOnly,\n nocomment: true,\n noext: this.noext,\n nonegate: true,\n optimizationLevel: 2,\n platform: this.platform,\n windowsPathsNoEscape: this.windowsPathsNoEscape,\n debug: !!this.opts.debug,\n }\n\n const mms = this.pattern.map(p => new Minimatch(p, mmo))\n const [matchSet, globParts] = mms.reduce(\n (set: [MatchSet, GlobParts], m) => {\n set[0].push(...m.set)\n set[1].push(...m.globParts)\n return set\n },\n [[], []]\n )\n this.patterns = matchSet.map((set, i) => {\n return new Pattern(set, globParts[i], 0, this.platform)\n })\n }\n\n /**\n * Returns a Promise that resolves to the results array.\n */\n async walk(): Promise>\n async walk(): Promise<(string | Path)[]> {\n // Walkers always return array of Path objects, so we just have to\n // coerce them into the right shape. It will have already called\n // realpath() if the option was set to do so, so we know that's cached.\n // start out knowing the cwd, at least\n return [\n ...(await new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walk()),\n ]\n }\n\n /**\n * synchronous {@link Glob.walk}\n */\n walkSync(): Results\n walkSync(): (string | Path)[] {\n return [\n ...new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walkSync(),\n ]\n }\n\n /**\n * Stream results asynchronously.\n */\n stream(): Minipass, Result>\n stream(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).stream()\n }\n\n /**\n * Stream results synchronously.\n */\n streamSync(): Minipass, Result>\n streamSync(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).streamSync()\n }\n\n /**\n * Default sync iteration function. Returns a Generator that\n * iterates over the results.\n */\n iterateSync(): Generator, void, void> {\n return this.streamSync()[Symbol.iterator]()\n }\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n /**\n * Default async iteration function. Returns an AsyncGenerator that\n * iterates over the results.\n */\n iterate(): AsyncGenerator, void, void> {\n return this.stream()[Symbol.asyncIterator]()\n }\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n}\n"]} \ No newline at end of file diff --git a/deps/npm/node_modules/glob/dist/mjs/glob.d.ts.map b/deps/npm/node_modules/glob/dist/mjs/glob.d.ts.map index e5423682233478..b06e4633443c87 100644 --- a/deps/npm/node_modules/glob/dist/mjs/glob.d.ts.map +++ b/deps/npm/node_modules/glob/dist/mjs/glob.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,UAAU,EAIX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAA;AAWlE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAElB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IAEvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAA;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD,aAAa,EAAE,IAAI,CAAA;IAEnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GAChE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,MAAM,GAAG,IAAI,CAAA;AACjB,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;AAE1C,MAAM,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GACnE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,OAAO,CAAA;AAEX;;GAEG;AACH,qBAAa,IAAI,CAAC,IAAI,SAAS,WAAW,CAAE,YAAW,WAAW;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IACvC,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB;;;;;;;;;;;OAWG;gBACS,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IA8GlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAmBpC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB;;OAEG;IACH,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAa9C;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAalD;;;OAGG;IACH,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGlD,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;;OAGG;IACH,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGnD,CAAC,MAAM,CAAC,aAAa,CAAC;CAGvB"} \ No newline at end of file +{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,UAAU,EAIX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAA;AAWlE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAElB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IAEvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;OAGG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAA;IAEb;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,4BAA4B,GAAG,WAAW,GAAG;IACvD,aAAa,EAAE,IAAI,CAAA;IAEnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG;IACxD,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GAChE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,IAAI,SAAS,6BAA6B,GAC1C,MAAM,GACN,MAAM,GAAG,IAAI,CAAA;AACjB,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;AAE1C,MAAM,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI,SAAS,4BAA4B,GACnE,IAAI,GACJ,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,IAAI,SAAS,6BAA6B,GAC1C,KAAK,GACL,OAAO,CAAA;AAEX;;GAEG;AACH,qBAAa,IAAI,CAAC,IAAI,SAAS,WAAW,CAAE,YAAW,WAAW;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IACvC,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB;;;;;;;;;;;OAWG;gBACS,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;IAqHlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAmBpC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB;;OAEG;IACH,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAa9C;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAalD;;;OAGG;IACH,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGlD,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;;OAGG;IACH,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAGnD,CAAC,MAAM,CAAC,aAAa,CAAC;CAGvB"} \ No newline at end of file diff --git a/deps/npm/node_modules/glob/dist/mjs/glob.js b/deps/npm/node_modules/glob/dist/mjs/glob.js index a246019cd35f95..f158065746e586 100644 --- a/deps/npm/node_modules/glob/dist/mjs/glob.js +++ b/deps/npm/node_modules/glob/dist/mjs/glob.js @@ -127,6 +127,11 @@ export class Glob { }); } this.nocase = this.scurry.nocase; + // If you do nocase:true on a case-sensitive file system, then + // we need to use regexps instead of strings for non-magic + // path portions, because statting `aBc` won't return results + // for the file `AbC` for example. + const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32'; const mmo = { // default nocase based on platform ...opts, @@ -134,7 +139,7 @@ export class Glob { matchBase: this.matchBase, nobrace: this.nobrace, nocase: this.nocase, - nocaseMagicOnly: true, + nocaseMagicOnly, nocomment: true, noext: this.noext, nonegate: true, diff --git a/deps/npm/node_modules/glob/dist/mjs/glob.js.map b/deps/npm/node_modules/glob/dist/mjs/glob.js.map index 8917735ad9296f..93eb61df16f5ca 100644 --- a/deps/npm/node_modules/glob/dist/mjs/glob.js.map +++ b/deps/npm/node_modules/glob/dist/mjs/glob.js.map @@ -1 +1 @@ -{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AAEvD,OAAO,EAGL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAKpD,4CAA4C;AAC5C,gDAAgD;AAChD,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ;IAC3B,OAAO;IACP,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAClC,CAAC,CAAC,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CAAA;AAgTb;;GAEG;AACH,MAAM,OAAO,IAAI;IACf,QAAQ,CAAU;IAClB,GAAG,CAAQ;IACX,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,WAAW,CAAS;IACpB,MAAM,CAAS;IACf,MAAM,CAAiC;IACvC,aAAa,CAAS;IACtB,IAAI,CAAU;IACd,SAAS,CAAS;IAClB,QAAQ,CAAQ;IAChB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAiB;IACzB,QAAQ,CAAS;IACjB,MAAM,CAAY;IAClB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,oBAAoB,CAAS;IAC7B,aAAa,CAAiB;IAE9B;;OAEG;IACH,IAAI,CAAM;IAEV;;OAEG;IACH,QAAQ,CAAW;IAEnB;;;;;;;;;;;OAWG;IACH,YAAY,OAA0B,EAAE,IAAU;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAgC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;SACd;aAAM,IAAI,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACpE,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;SACpB;QAED,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB;gBAC1B,IAAoB,CAAC,kBAAkB,KAAK,KAAK,CAAA;QAEpD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;aACvD;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;SAChE;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAClC;gBACA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;aACpE;SACF;aAAM;YACL,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,KAAK,OAAO;gBACvB,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC5B,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACf,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,UAAU,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAA;SACH;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAEhC,MAAM,GAAG,GAAqB;YAC5B,mCAAmC;YACnC,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;SACzB,CAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,CACtC,CAAC,GAA0B,EAAE,CAAC,EAAE,EAAE;YAChC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACrB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAMD,KAAK,CAAC,IAAI;QACR,kEAAkE;QAClE,iEAAiE;QACjE,uEAAuE;QACvE,sCAAsC;QACtC,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACvD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,IAAI,EAAE,CAAC;SACX,CAAA;IACH,CAAC;IAMD,QAAQ;QACN,OAAO;YACL,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBAChD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,QAAQ,EAAE;SACd,CAAA;IACH,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,MAAM,EAAE,CAAA;IACb,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,UAAU,EAAE,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC9C,CAAC;IACD,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;CACF","sourcesContent":["import { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport {\n FSOption,\n Path,\n PathScurry,\n PathScurryDarwin,\n PathScurryPosix,\n PathScurryWin32,\n} from 'path-scurry'\nimport { fileURLToPath } from 'url'\nimport { IgnoreLike } from './ignore.js'\nimport { Pattern } from './pattern.js'\nimport { GlobStream, GlobWalker } from './walker.js'\n\nexport type MatchSet = Minimatch['set']\nexport type GlobParts = Exclude\n\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform: NodeJS.Platform =\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ? process.platform\n : 'linux'\n\n/**\n * A `GlobOptions` object may be provided to any of the exported methods, and\n * must be provided to the `Glob` constructor.\n *\n * All options are optional, boolean, and false by default, unless otherwise\n * noted.\n *\n * All resolved options are added to the Glob object as properties.\n *\n * If you are running many `glob` operations, you can pass a Glob object as the\n * `options` argument to a subsequent operation to share the previously loaded\n * cache.\n */\nexport interface GlobOptions {\n /**\n * Set to `true` to always receive absolute paths for\n * matched files. Set to `false` to always return relative paths.\n *\n * When this option is not set, absolute paths are returned for patterns\n * that are absolute, and otherwise paths are returned that are relative\n * to the `cwd` setting.\n *\n * This does _not_ make an extra system call to get\n * the realpath, it only does string path resolution.\n *\n * Conflicts with {@link withFileTypes}\n */\n absolute?: boolean\n\n /**\n * Set to false to enable {@link windowsPathsNoEscape}\n *\n * @deprecated\n */\n allowWindowsEscape?: boolean\n\n /**\n * The current working directory in which to search. Defaults to\n * `process.cwd()`.\n *\n * May be eiher a string path or a `file://` URL object or string.\n */\n cwd?: string | URL\n\n /**\n * Include `.dot` files in normal matches and `globstar`\n * matches. Note that an explicit dot in a portion of the pattern\n * will always match dot files.\n */\n dot?: boolean\n\n /**\n * Prepend all relative path strings with `./` (or `.\\` on Windows).\n *\n * Without this option, returned relative paths are \"bare\", so instead of\n * returning `'./foo/bar'`, they are returned as `'foo/bar'`.\n *\n * Relative patterns starting with `'../'` are not prepended with `./`, even\n * if this option is set.\n */\n dotRelative?: boolean\n\n /**\n * Follow symlinked directories when expanding `**`\n * patterns. This can result in a lot of duplicate references in\n * the presence of cyclic links, and make performance quite bad.\n *\n * By default, a `**` in a pattern will follow 1 symbolic link if\n * it is not the first item in the pattern, or none if it is the\n * first item in the pattern, following the same behavior as Bash.\n */\n follow?: boolean\n\n /**\n * string or string[], or an object with `ignore` and `ignoreChildren`\n * methods.\n *\n * If a string or string[] is provided, then this is treated as a glob\n * pattern or array of glob patterns to exclude from matches. To ignore all\n * children within a directory, as well as the entry itself, append `'/**'`\n * to the ignore pattern.\n *\n * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of\n * any other settings.\n *\n * If an object is provided that has `ignored(path)` and/or\n * `childrenIgnored(path)` methods, then these methods will be called to\n * determine whether any Path is a match or if its children should be\n * traversed, respectively.\n */\n ignore?: string | string[] | IgnoreLike\n\n /**\n * Treat brace expansion like `{a,b}` as a \"magic\" pattern. Has no\n * effect if {@link nobrace} is set.\n *\n * Only has effect on the {@link hasMagic} function.\n */\n magicalBraces?: boolean\n\n /**\n * Add a `/` character to directory matches. Note that this requires\n * additional stat calls in some cases.\n */\n mark?: boolean\n\n /**\n * Perform a basename-only match if the pattern does not contain any slash\n * characters. That is, `*.js` would be treated as equivalent to\n * `**\\/*.js`, matching all js files in all directories.\n */\n matchBase?: boolean\n\n /**\n * Limit the directory traversal to a given depth below the cwd.\n * Note that this does NOT prevent traversal to sibling folders,\n * root patterns, and so on. It only limits the maximum folder depth\n * that the walk will descend, relative to the cwd.\n */\n maxDepth?: number\n\n /**\n * Do not expand `{a,b}` and `{1..3}` brace sets.\n */\n nobrace?: boolean\n\n /**\n * Perform a case-insensitive match. This defaults to `true` on macOS and\n * Windows systems, and `false` on all others.\n *\n * **Note** `nocase` should only be explicitly set when it is\n * known that the filesystem's case sensitivity differs from the\n * platform default. If set `true` on case-sensitive file\n * systems, or `false` on case-insensitive file systems, then the\n * walk may return more or less results than expected.\n */\n nocase?: boolean\n\n /**\n * Do not match directories, only files. (Note: to match\n * _only_ directories, put a `/` at the end of the pattern.)\n */\n nodir?: boolean\n\n /**\n * Do not match \"extglob\" patterns such as `+(a|b)`.\n */\n noext?: boolean\n\n /**\n * Do not match `**` against multiple filenames. (Ie, treat it as a normal\n * `*` instead.)\n *\n * Conflicts with {@link matchBase}\n */\n noglobstar?: boolean\n\n /**\n * Defaults to value of `process.platform` if available, or `'linux'` if\n * not. Setting `platform:'win32'` on non-Windows systems may cause strange\n * behavior.\n */\n platform?: NodeJS.Platform\n\n /**\n * Set to true to call `fs.realpath` on all of the\n * results. In the case of an entry that cannot be resolved, the\n * entry is omitted. This incurs a slight performance penalty, of\n * course, because of the added system calls.\n */\n realpath?: boolean\n\n /**\n *\n * A string path resolved against the `cwd` option, which\n * is used as the starting point for absolute patterns that start\n * with `/`, (but not drive letters or UNC paths on Windows).\n *\n * Note that this _doesn't_ necessarily limit the walk to the\n * `root` directory, and doesn't affect the cwd starting point for\n * non-absolute patterns. A pattern containing `..` will still be\n * able to traverse out of the root directory, if it is not an\n * actual root directory on the filesystem, and any non-absolute\n * patterns will be matched in the `cwd`. For example, the\n * pattern `/../*` with `{root:'/some/path'}` will return all\n * files in `/some`, not all files in `/some/path`. The pattern\n * `*` with `{root:'/some/path'}` will return all the entries in\n * the cwd, not the entries in `/some/path`.\n *\n * To start absolute and non-absolute patterns in the same\n * path, you can use `{root:''}`. However, be aware that on\n * Windows systems, a pattern like `x:/*` or `//host/share/*` will\n * _always_ start in the `x:/` or `//host/share` directory,\n * regardless of the `root` setting.\n */\n root?: string\n\n /**\n * A [PathScurry](http://npm.im/path-scurry) object used\n * to traverse the file system. If the `nocase` option is set\n * explicitly, then any provided `scurry` object must match this\n * setting.\n */\n scurry?: PathScurry\n\n /**\n * Call `lstat()` on all entries, whether required or not to determine\n * if it's a valid match. When used with {@link withFileTypes}, this means\n * that matches will include data such as modified time, permissions, and\n * so on. Note that this will incur a performance cost due to the added\n * system calls.\n */\n stat?: boolean\n\n /**\n * An AbortSignal which will cancel the Glob walk when\n * triggered.\n */\n signal?: AbortSignal\n\n /**\n * Use `\\\\` as a path separator _only_, and\n * _never_ as an escape character. If set, all `\\\\` characters are\n * replaced with `/` in the pattern.\n *\n * Note that this makes it **impossible** to match against paths\n * containing literal glob pattern characters, but allows matching\n * with patterns constructed using `path.join()` and\n * `path.resolve()` on Windows platforms, mimicking the (buggy!)\n * behavior of Glob v7 and before on Windows. Please use with\n * caution, and be mindful of [the caveat below about Windows\n * paths](#windows). (For legacy reasons, this is also set if\n * `allowWindowsEscape` is set to the exact value `false`.)\n */\n windowsPathsNoEscape?: boolean\n\n /**\n * Return [PathScurry](http://npm.im/path-scurry)\n * `Path` objects instead of strings. These are similar to a\n * NodeJS `Dirent` object, but with additional methods and\n * properties.\n *\n * Conflicts with {@link absolute}\n */\n withFileTypes?: boolean\n\n /**\n * An fs implementation to override some or all of the defaults. See\n * http://npm.im/path-scurry for details about what can be overridden.\n */\n fs?: FSOption\n\n /**\n * Just passed along to Minimatch. Note that this makes all pattern\n * matching operations slower and *extremely* noisy.\n */\n debug?: boolean\n\n /**\n * Return `/` delimited paths, even on Windows.\n *\n * On posix systems, this has no effect. But, on Windows, it means that\n * paths will be `/` delimited, and absolute paths will be their full\n * resolved UNC forms, eg instead of `'C:\\\\foo\\\\bar'`, it would return\n * `'//?/C:/foo/bar'`\n */\n posix?: boolean\n}\n\nexport type GlobOptionsWithFileTypesTrue = GlobOptions & {\n withFileTypes: true\n // string options not relevant if returning Path objects.\n absolute?: undefined\n mark?: undefined\n posix?: undefined\n}\n\nexport type GlobOptionsWithFileTypesFalse = GlobOptions & {\n withFileTypes?: false\n}\n\nexport type GlobOptionsWithFileTypesUnset = GlobOptions & {\n withFileTypes?: undefined\n}\n\nexport type Result = Opts extends GlobOptionsWithFileTypesTrue\n ? Path\n : Opts extends GlobOptionsWithFileTypesFalse\n ? string\n : Opts extends GlobOptionsWithFileTypesUnset\n ? string\n : string | Path\nexport type Results = Result[]\n\nexport type FileTypes = Opts extends GlobOptionsWithFileTypesTrue\n ? true\n : Opts extends GlobOptionsWithFileTypesFalse\n ? false\n : Opts extends GlobOptionsWithFileTypesUnset\n ? false\n : boolean\n\n/**\n * An object that can perform glob pattern traversals.\n */\nexport class Glob implements GlobOptions {\n absolute?: boolean\n cwd: string\n root?: string\n dot: boolean\n dotRelative: boolean\n follow: boolean\n ignore?: string | string[] | IgnoreLike\n magicalBraces: boolean\n mark?: boolean\n matchBase: boolean\n maxDepth: number\n nobrace: boolean\n nocase: boolean\n nodir: boolean\n noext: boolean\n noglobstar: boolean\n pattern: string[]\n platform: NodeJS.Platform\n realpath: boolean\n scurry: PathScurry\n stat: boolean\n signal?: AbortSignal\n windowsPathsNoEscape: boolean\n withFileTypes: FileTypes\n\n /**\n * The options provided to the constructor.\n */\n opts: Opts\n\n /**\n * An array of parsed immutable {@link Pattern} objects.\n */\n patterns: Pattern[]\n\n /**\n * All options are stored as properties on the `Glob` object.\n *\n * See {@link GlobOptions} for full options descriptions.\n *\n * Note that a previous `Glob` object can be passed as the\n * `GlobOptions` to another `Glob` instantiation to re-use settings\n * and caches with a new pattern.\n *\n * Traversal functions can be called multiple times to run the walk\n * again.\n */\n constructor(pattern: string | string[], opts: Opts) {\n this.withFileTypes = !!opts.withFileTypes as FileTypes\n this.signal = opts.signal\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.dotRelative = !!opts.dotRelative\n this.nodir = !!opts.nodir\n this.mark = !!opts.mark\n if (!opts.cwd) {\n this.cwd = ''\n } else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n opts.cwd = fileURLToPath(opts.cwd)\n }\n this.cwd = opts.cwd || ''\n this.root = opts.root\n this.magicalBraces = !!opts.magicalBraces\n this.nobrace = !!opts.nobrace\n this.noext = !!opts.noext\n this.realpath = !!opts.realpath\n this.absolute = opts.absolute\n\n this.noglobstar = !!opts.noglobstar\n this.matchBase = !!opts.matchBase\n this.maxDepth =\n typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity\n this.stat = !!opts.stat\n this.ignore = opts.ignore\n\n if (this.withFileTypes && this.absolute !== undefined) {\n throw new Error('cannot set absolute and withFileTypes:true')\n }\n\n if (typeof pattern === 'string') {\n pattern = [pattern]\n }\n\n this.windowsPathsNoEscape =\n !!opts.windowsPathsNoEscape ||\n (opts as GlobOptions).allowWindowsEscape === false\n\n if (this.windowsPathsNoEscape) {\n pattern = pattern.map(p => p.replace(/\\\\/g, '/'))\n }\n\n if (this.matchBase) {\n if (opts.noglobstar) {\n throw new TypeError('base matching requires globstar')\n }\n pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`))\n }\n\n this.pattern = pattern\n\n this.platform = opts.platform || defaultPlatform\n this.opts = { ...opts, platform: this.platform }\n if (opts.scurry) {\n this.scurry = opts.scurry\n if (\n opts.nocase !== undefined &&\n opts.nocase !== opts.scurry.nocase\n ) {\n throw new Error('nocase option contradicts provided scurry option')\n }\n } else {\n const Scurry =\n opts.platform === 'win32'\n ? PathScurryWin32\n : opts.platform === 'darwin'\n ? PathScurryDarwin\n : opts.platform\n ? PathScurryPosix\n : PathScurry\n this.scurry = new Scurry(this.cwd, {\n nocase: opts.nocase,\n fs: opts.fs,\n })\n }\n this.nocase = this.scurry.nocase\n\n const mmo: MinimatchOptions = {\n // default nocase based on platform\n ...opts,\n dot: this.dot,\n matchBase: this.matchBase,\n nobrace: this.nobrace,\n nocase: this.nocase,\n nocaseMagicOnly: true,\n nocomment: true,\n noext: this.noext,\n nonegate: true,\n optimizationLevel: 2,\n platform: this.platform,\n windowsPathsNoEscape: this.windowsPathsNoEscape,\n debug: !!this.opts.debug,\n }\n\n const mms = this.pattern.map(p => new Minimatch(p, mmo))\n const [matchSet, globParts] = mms.reduce(\n (set: [MatchSet, GlobParts], m) => {\n set[0].push(...m.set)\n set[1].push(...m.globParts)\n return set\n },\n [[], []]\n )\n this.patterns = matchSet.map((set, i) => {\n return new Pattern(set, globParts[i], 0, this.platform)\n })\n }\n\n /**\n * Returns a Promise that resolves to the results array.\n */\n async walk(): Promise>\n async walk(): Promise<(string | Path)[]> {\n // Walkers always return array of Path objects, so we just have to\n // coerce them into the right shape. It will have already called\n // realpath() if the option was set to do so, so we know that's cached.\n // start out knowing the cwd, at least\n return [\n ...(await new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walk()),\n ]\n }\n\n /**\n * synchronous {@link Glob.walk}\n */\n walkSync(): Results\n walkSync(): (string | Path)[] {\n return [\n ...new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walkSync(),\n ]\n }\n\n /**\n * Stream results asynchronously.\n */\n stream(): Minipass, Result>\n stream(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).stream()\n }\n\n /**\n * Stream results synchronously.\n */\n streamSync(): Minipass, Result>\n streamSync(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).streamSync()\n }\n\n /**\n * Default sync iteration function. Returns a Generator that\n * iterates over the results.\n */\n iterateSync(): Generator, void, void> {\n return this.streamSync()[Symbol.iterator]()\n }\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n /**\n * Default async iteration function. Returns an AsyncGenerator that\n * iterates over the results.\n */\n iterate(): AsyncGenerator, void, void> {\n return this.stream()[Symbol.asyncIterator]()\n }\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AAEvD,OAAO,EAGL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAKpD,4CAA4C;AAC5C,gDAAgD;AAChD,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ;IAC3B,OAAO;IACP,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;IAClC,CAAC,CAAC,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CAAA;AAgTb;;GAEG;AACH,MAAM,OAAO,IAAI;IACf,QAAQ,CAAU;IAClB,GAAG,CAAQ;IACX,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,WAAW,CAAS;IACpB,MAAM,CAAS;IACf,MAAM,CAAiC;IACvC,aAAa,CAAS;IACtB,IAAI,CAAU;IACd,SAAS,CAAS;IAClB,QAAQ,CAAQ;IAChB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAiB;IACzB,QAAQ,CAAS;IACjB,MAAM,CAAY;IAClB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,oBAAoB,CAAS;IAC7B,aAAa,CAAiB;IAE9B;;OAEG;IACH,IAAI,CAAM;IAEV;;OAEG;IACH,QAAQ,CAAW;IAEnB;;;;;;;;;;;OAWG;IACH,YAAY,OAA0B,EAAE,IAAU;QAChD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAgC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;SACd;aAAM,IAAI,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACpE,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAE7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAEzB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC9D;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;SACpB;QAED,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,IAAI,CAAC,oBAAoB;gBAC1B,IAAoB,CAAC,kBAAkB,KAAK,KAAK,CAAA;QAEpD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;SAClD;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;aACvD;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;SAChE;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;gBACzB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAClC;gBACA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;aACpE;SACF;aAAM;YACL,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,KAAK,OAAO;gBACvB,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBAC5B,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACf,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,UAAU,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAA;SACH;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAEhC,8DAA8D;QAC9D,0DAA0D;QAC1D,6DAA6D;QAC7D,kCAAkC;QAClC,MAAM,eAAe,GACnB,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAA;QAEzD,MAAM,GAAG,GAAqB;YAC5B,mCAAmC;YACnC,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;SACzB,CAAA;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,CACtC,CAAC,GAA0B,EAAE,CAAC,EAAE,EAAE;YAChC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACrB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;YAC3B,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,CAAC,EAAE,EAAE,EAAE,CAAC,CACT,CAAA;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAMD,KAAK,CAAC,IAAI;QACR,kEAAkE;QAClE,iEAAiE;QACjE,uEAAuE;QACvE,sCAAsC;QACtC,OAAO;YACL,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACvD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,IAAI,EAAE,CAAC;SACX,CAAA;IACH,CAAC;IAMD,QAAQ;QACN,OAAO;YACL,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBAChD,GAAG,IAAI,CAAC,IAAI;gBACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;oBACzC,CAAC,CAAC,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,QAAQ,EAAE;SACd,CAAA;IACH,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,MAAM,EAAE,CAAA;IACb,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpD,GAAG,IAAI,CAAC,IAAI;YACZ,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBACzC,CAAC,CAAC,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,UAAU,EAAE,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7C,CAAC;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC9C,CAAC;IACD,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACvB,CAAC;CACF","sourcesContent":["import { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport {\n FSOption,\n Path,\n PathScurry,\n PathScurryDarwin,\n PathScurryPosix,\n PathScurryWin32,\n} from 'path-scurry'\nimport { fileURLToPath } from 'url'\nimport { IgnoreLike } from './ignore.js'\nimport { Pattern } from './pattern.js'\nimport { GlobStream, GlobWalker } from './walker.js'\n\nexport type MatchSet = Minimatch['set']\nexport type GlobParts = Exclude\n\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform: NodeJS.Platform =\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ? process.platform\n : 'linux'\n\n/**\n * A `GlobOptions` object may be provided to any of the exported methods, and\n * must be provided to the `Glob` constructor.\n *\n * All options are optional, boolean, and false by default, unless otherwise\n * noted.\n *\n * All resolved options are added to the Glob object as properties.\n *\n * If you are running many `glob` operations, you can pass a Glob object as the\n * `options` argument to a subsequent operation to share the previously loaded\n * cache.\n */\nexport interface GlobOptions {\n /**\n * Set to `true` to always receive absolute paths for\n * matched files. Set to `false` to always return relative paths.\n *\n * When this option is not set, absolute paths are returned for patterns\n * that are absolute, and otherwise paths are returned that are relative\n * to the `cwd` setting.\n *\n * This does _not_ make an extra system call to get\n * the realpath, it only does string path resolution.\n *\n * Conflicts with {@link withFileTypes}\n */\n absolute?: boolean\n\n /**\n * Set to false to enable {@link windowsPathsNoEscape}\n *\n * @deprecated\n */\n allowWindowsEscape?: boolean\n\n /**\n * The current working directory in which to search. Defaults to\n * `process.cwd()`.\n *\n * May be eiher a string path or a `file://` URL object or string.\n */\n cwd?: string | URL\n\n /**\n * Include `.dot` files in normal matches and `globstar`\n * matches. Note that an explicit dot in a portion of the pattern\n * will always match dot files.\n */\n dot?: boolean\n\n /**\n * Prepend all relative path strings with `./` (or `.\\` on Windows).\n *\n * Without this option, returned relative paths are \"bare\", so instead of\n * returning `'./foo/bar'`, they are returned as `'foo/bar'`.\n *\n * Relative patterns starting with `'../'` are not prepended with `./`, even\n * if this option is set.\n */\n dotRelative?: boolean\n\n /**\n * Follow symlinked directories when expanding `**`\n * patterns. This can result in a lot of duplicate references in\n * the presence of cyclic links, and make performance quite bad.\n *\n * By default, a `**` in a pattern will follow 1 symbolic link if\n * it is not the first item in the pattern, or none if it is the\n * first item in the pattern, following the same behavior as Bash.\n */\n follow?: boolean\n\n /**\n * string or string[], or an object with `ignore` and `ignoreChildren`\n * methods.\n *\n * If a string or string[] is provided, then this is treated as a glob\n * pattern or array of glob patterns to exclude from matches. To ignore all\n * children within a directory, as well as the entry itself, append `'/**'`\n * to the ignore pattern.\n *\n * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of\n * any other settings.\n *\n * If an object is provided that has `ignored(path)` and/or\n * `childrenIgnored(path)` methods, then these methods will be called to\n * determine whether any Path is a match or if its children should be\n * traversed, respectively.\n */\n ignore?: string | string[] | IgnoreLike\n\n /**\n * Treat brace expansion like `{a,b}` as a \"magic\" pattern. Has no\n * effect if {@link nobrace} is set.\n *\n * Only has effect on the {@link hasMagic} function.\n */\n magicalBraces?: boolean\n\n /**\n * Add a `/` character to directory matches. Note that this requires\n * additional stat calls in some cases.\n */\n mark?: boolean\n\n /**\n * Perform a basename-only match if the pattern does not contain any slash\n * characters. That is, `*.js` would be treated as equivalent to\n * `**\\/*.js`, matching all js files in all directories.\n */\n matchBase?: boolean\n\n /**\n * Limit the directory traversal to a given depth below the cwd.\n * Note that this does NOT prevent traversal to sibling folders,\n * root patterns, and so on. It only limits the maximum folder depth\n * that the walk will descend, relative to the cwd.\n */\n maxDepth?: number\n\n /**\n * Do not expand `{a,b}` and `{1..3}` brace sets.\n */\n nobrace?: boolean\n\n /**\n * Perform a case-insensitive match. This defaults to `true` on macOS and\n * Windows systems, and `false` on all others.\n *\n * **Note** `nocase` should only be explicitly set when it is\n * known that the filesystem's case sensitivity differs from the\n * platform default. If set `true` on case-sensitive file\n * systems, or `false` on case-insensitive file systems, then the\n * walk may return more or less results than expected.\n */\n nocase?: boolean\n\n /**\n * Do not match directories, only files. (Note: to match\n * _only_ directories, put a `/` at the end of the pattern.)\n */\n nodir?: boolean\n\n /**\n * Do not match \"extglob\" patterns such as `+(a|b)`.\n */\n noext?: boolean\n\n /**\n * Do not match `**` against multiple filenames. (Ie, treat it as a normal\n * `*` instead.)\n *\n * Conflicts with {@link matchBase}\n */\n noglobstar?: boolean\n\n /**\n * Defaults to value of `process.platform` if available, or `'linux'` if\n * not. Setting `platform:'win32'` on non-Windows systems may cause strange\n * behavior.\n */\n platform?: NodeJS.Platform\n\n /**\n * Set to true to call `fs.realpath` on all of the\n * results. In the case of an entry that cannot be resolved, the\n * entry is omitted. This incurs a slight performance penalty, of\n * course, because of the added system calls.\n */\n realpath?: boolean\n\n /**\n *\n * A string path resolved against the `cwd` option, which\n * is used as the starting point for absolute patterns that start\n * with `/`, (but not drive letters or UNC paths on Windows).\n *\n * Note that this _doesn't_ necessarily limit the walk to the\n * `root` directory, and doesn't affect the cwd starting point for\n * non-absolute patterns. A pattern containing `..` will still be\n * able to traverse out of the root directory, if it is not an\n * actual root directory on the filesystem, and any non-absolute\n * patterns will be matched in the `cwd`. For example, the\n * pattern `/../*` with `{root:'/some/path'}` will return all\n * files in `/some`, not all files in `/some/path`. The pattern\n * `*` with `{root:'/some/path'}` will return all the entries in\n * the cwd, not the entries in `/some/path`.\n *\n * To start absolute and non-absolute patterns in the same\n * path, you can use `{root:''}`. However, be aware that on\n * Windows systems, a pattern like `x:/*` or `//host/share/*` will\n * _always_ start in the `x:/` or `//host/share` directory,\n * regardless of the `root` setting.\n */\n root?: string\n\n /**\n * A [PathScurry](http://npm.im/path-scurry) object used\n * to traverse the file system. If the `nocase` option is set\n * explicitly, then any provided `scurry` object must match this\n * setting.\n */\n scurry?: PathScurry\n\n /**\n * Call `lstat()` on all entries, whether required or not to determine\n * if it's a valid match. When used with {@link withFileTypes}, this means\n * that matches will include data such as modified time, permissions, and\n * so on. Note that this will incur a performance cost due to the added\n * system calls.\n */\n stat?: boolean\n\n /**\n * An AbortSignal which will cancel the Glob walk when\n * triggered.\n */\n signal?: AbortSignal\n\n /**\n * Use `\\\\` as a path separator _only_, and\n * _never_ as an escape character. If set, all `\\\\` characters are\n * replaced with `/` in the pattern.\n *\n * Note that this makes it **impossible** to match against paths\n * containing literal glob pattern characters, but allows matching\n * with patterns constructed using `path.join()` and\n * `path.resolve()` on Windows platforms, mimicking the (buggy!)\n * behavior of Glob v7 and before on Windows. Please use with\n * caution, and be mindful of [the caveat below about Windows\n * paths](#windows). (For legacy reasons, this is also set if\n * `allowWindowsEscape` is set to the exact value `false`.)\n */\n windowsPathsNoEscape?: boolean\n\n /**\n * Return [PathScurry](http://npm.im/path-scurry)\n * `Path` objects instead of strings. These are similar to a\n * NodeJS `Dirent` object, but with additional methods and\n * properties.\n *\n * Conflicts with {@link absolute}\n */\n withFileTypes?: boolean\n\n /**\n * An fs implementation to override some or all of the defaults. See\n * http://npm.im/path-scurry for details about what can be overridden.\n */\n fs?: FSOption\n\n /**\n * Just passed along to Minimatch. Note that this makes all pattern\n * matching operations slower and *extremely* noisy.\n */\n debug?: boolean\n\n /**\n * Return `/` delimited paths, even on Windows.\n *\n * On posix systems, this has no effect. But, on Windows, it means that\n * paths will be `/` delimited, and absolute paths will be their full\n * resolved UNC forms, eg instead of `'C:\\\\foo\\\\bar'`, it would return\n * `'//?/C:/foo/bar'`\n */\n posix?: boolean\n}\n\nexport type GlobOptionsWithFileTypesTrue = GlobOptions & {\n withFileTypes: true\n // string options not relevant if returning Path objects.\n absolute?: undefined\n mark?: undefined\n posix?: undefined\n}\n\nexport type GlobOptionsWithFileTypesFalse = GlobOptions & {\n withFileTypes?: false\n}\n\nexport type GlobOptionsWithFileTypesUnset = GlobOptions & {\n withFileTypes?: undefined\n}\n\nexport type Result = Opts extends GlobOptionsWithFileTypesTrue\n ? Path\n : Opts extends GlobOptionsWithFileTypesFalse\n ? string\n : Opts extends GlobOptionsWithFileTypesUnset\n ? string\n : string | Path\nexport type Results = Result[]\n\nexport type FileTypes = Opts extends GlobOptionsWithFileTypesTrue\n ? true\n : Opts extends GlobOptionsWithFileTypesFalse\n ? false\n : Opts extends GlobOptionsWithFileTypesUnset\n ? false\n : boolean\n\n/**\n * An object that can perform glob pattern traversals.\n */\nexport class Glob implements GlobOptions {\n absolute?: boolean\n cwd: string\n root?: string\n dot: boolean\n dotRelative: boolean\n follow: boolean\n ignore?: string | string[] | IgnoreLike\n magicalBraces: boolean\n mark?: boolean\n matchBase: boolean\n maxDepth: number\n nobrace: boolean\n nocase: boolean\n nodir: boolean\n noext: boolean\n noglobstar: boolean\n pattern: string[]\n platform: NodeJS.Platform\n realpath: boolean\n scurry: PathScurry\n stat: boolean\n signal?: AbortSignal\n windowsPathsNoEscape: boolean\n withFileTypes: FileTypes\n\n /**\n * The options provided to the constructor.\n */\n opts: Opts\n\n /**\n * An array of parsed immutable {@link Pattern} objects.\n */\n patterns: Pattern[]\n\n /**\n * All options are stored as properties on the `Glob` object.\n *\n * See {@link GlobOptions} for full options descriptions.\n *\n * Note that a previous `Glob` object can be passed as the\n * `GlobOptions` to another `Glob` instantiation to re-use settings\n * and caches with a new pattern.\n *\n * Traversal functions can be called multiple times to run the walk\n * again.\n */\n constructor(pattern: string | string[], opts: Opts) {\n this.withFileTypes = !!opts.withFileTypes as FileTypes\n this.signal = opts.signal\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.dotRelative = !!opts.dotRelative\n this.nodir = !!opts.nodir\n this.mark = !!opts.mark\n if (!opts.cwd) {\n this.cwd = ''\n } else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n opts.cwd = fileURLToPath(opts.cwd)\n }\n this.cwd = opts.cwd || ''\n this.root = opts.root\n this.magicalBraces = !!opts.magicalBraces\n this.nobrace = !!opts.nobrace\n this.noext = !!opts.noext\n this.realpath = !!opts.realpath\n this.absolute = opts.absolute\n\n this.noglobstar = !!opts.noglobstar\n this.matchBase = !!opts.matchBase\n this.maxDepth =\n typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity\n this.stat = !!opts.stat\n this.ignore = opts.ignore\n\n if (this.withFileTypes && this.absolute !== undefined) {\n throw new Error('cannot set absolute and withFileTypes:true')\n }\n\n if (typeof pattern === 'string') {\n pattern = [pattern]\n }\n\n this.windowsPathsNoEscape =\n !!opts.windowsPathsNoEscape ||\n (opts as GlobOptions).allowWindowsEscape === false\n\n if (this.windowsPathsNoEscape) {\n pattern = pattern.map(p => p.replace(/\\\\/g, '/'))\n }\n\n if (this.matchBase) {\n if (opts.noglobstar) {\n throw new TypeError('base matching requires globstar')\n }\n pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`))\n }\n\n this.pattern = pattern\n\n this.platform = opts.platform || defaultPlatform\n this.opts = { ...opts, platform: this.platform }\n if (opts.scurry) {\n this.scurry = opts.scurry\n if (\n opts.nocase !== undefined &&\n opts.nocase !== opts.scurry.nocase\n ) {\n throw new Error('nocase option contradicts provided scurry option')\n }\n } else {\n const Scurry =\n opts.platform === 'win32'\n ? PathScurryWin32\n : opts.platform === 'darwin'\n ? PathScurryDarwin\n : opts.platform\n ? PathScurryPosix\n : PathScurry\n this.scurry = new Scurry(this.cwd, {\n nocase: opts.nocase,\n fs: opts.fs,\n })\n }\n this.nocase = this.scurry.nocase\n\n // If you do nocase:true on a case-sensitive file system, then\n // we need to use regexps instead of strings for non-magic\n // path portions, because statting `aBc` won't return results\n // for the file `AbC` for example.\n const nocaseMagicOnly =\n this.platform === 'darwin' || this.platform === 'win32'\n\n const mmo: MinimatchOptions = {\n // default nocase based on platform\n ...opts,\n dot: this.dot,\n matchBase: this.matchBase,\n nobrace: this.nobrace,\n nocase: this.nocase,\n nocaseMagicOnly,\n nocomment: true,\n noext: this.noext,\n nonegate: true,\n optimizationLevel: 2,\n platform: this.platform,\n windowsPathsNoEscape: this.windowsPathsNoEscape,\n debug: !!this.opts.debug,\n }\n\n const mms = this.pattern.map(p => new Minimatch(p, mmo))\n const [matchSet, globParts] = mms.reduce(\n (set: [MatchSet, GlobParts], m) => {\n set[0].push(...m.set)\n set[1].push(...m.globParts)\n return set\n },\n [[], []]\n )\n this.patterns = matchSet.map((set, i) => {\n return new Pattern(set, globParts[i], 0, this.platform)\n })\n }\n\n /**\n * Returns a Promise that resolves to the results array.\n */\n async walk(): Promise>\n async walk(): Promise<(string | Path)[]> {\n // Walkers always return array of Path objects, so we just have to\n // coerce them into the right shape. It will have already called\n // realpath() if the option was set to do so, so we know that's cached.\n // start out knowing the cwd, at least\n return [\n ...(await new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walk()),\n ]\n }\n\n /**\n * synchronous {@link Glob.walk}\n */\n walkSync(): Results\n walkSync(): (string | Path)[] {\n return [\n ...new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).walkSync(),\n ]\n }\n\n /**\n * Stream results asynchronously.\n */\n stream(): Minipass, Result>\n stream(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).stream()\n }\n\n /**\n * Stream results synchronously.\n */\n streamSync(): Minipass, Result>\n streamSync(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity\n ? this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n }).streamSync()\n }\n\n /**\n * Default sync iteration function. Returns a Generator that\n * iterates over the results.\n */\n iterateSync(): Generator, void, void> {\n return this.streamSync()[Symbol.iterator]()\n }\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n /**\n * Default async iteration function. Returns an AsyncGenerator that\n * iterates over the results.\n */\n iterate(): AsyncGenerator, void, void> {\n return this.stream()[Symbol.asyncIterator]()\n }\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n}\n"]} \ No newline at end of file diff --git a/deps/npm/node_modules/glob/dist/mjs/package.json b/deps/npm/node_modules/glob/dist/mjs/package.json index ff3441b45957b2..e066bfabfb543c 100644 --- a/deps/npm/node_modules/glob/dist/mjs/package.json +++ b/deps/npm/node_modules/glob/dist/mjs/package.json @@ -1,4 +1,4 @@ { - "version": "10.2.1", + "version": "10.2.3", "type": "module" } diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json index b04d087e28d898..e11e8e33025795 100644 --- a/deps/npm/node_modules/glob/package.json +++ b/deps/npm/node_modules/glob/package.json @@ -2,7 +2,7 @@ "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "name": "glob", "description": "the most correct and second fastest glob implementation in JavaScript", - "version": "10.2.2", + "version": "10.2.4", "bin": "./dist/cjs/src/bin.js", "repository": { "type": "git", @@ -63,7 +63,7 @@ "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", "minimatch": "^9.0.0", - "minipass": "^5.0.0", + "minipass": "^5.0.0 || ^6.0.0", "path-scurry": "^1.7.0" }, "devDependencies": { diff --git a/deps/npm/node_modules/libnpmpublish/lib/publish.js b/deps/npm/node_modules/libnpmpublish/lib/publish.js index 89ca01662cdb57..79c00eb68ad0c8 100644 --- a/deps/npm/node_modules/libnpmpublish/lib/publish.js +++ b/deps/npm/node_modules/libnpmpublish/lib/publish.js @@ -42,15 +42,25 @@ Remove the 'private' field from the package.json to publish it.`), ) } - const metadata = await buildMetadata(reg, pubManifest, tarballData, spec, opts) + const { metadata, transparencyLogUrl } = await buildMetadata( + reg, + pubManifest, + tarballData, + spec, + opts + ) try { - return await npmFetch(spec.escapedName, { + const res = await npmFetch(spec.escapedName, { ...opts, method: 'PUT', body: metadata, ignoreBody: true, }) + if (transparencyLogUrl) { + res.transparencyLogUrl = transparencyLogUrl + } + return res } catch (err) { if (err.code !== 'E409') { throw err @@ -64,12 +74,17 @@ Remove the 'private' field from the package.json to publish it.`), query: { write: true }, }) const newMetadata = patchMetadata(current, metadata) - return npmFetch(spec.escapedName, { + const res = await npmFetch(spec.escapedName, { ...opts, method: 'PUT', body: newMetadata, ignoreBody: true, }) + /* istanbul ignore next */ + if (transparencyLogUrl) { + res.transparencyLogUrl = transparencyLogUrl + } + return res } } @@ -138,6 +153,7 @@ const buildMetadata = async (registry, manifest, tarballData, spec, opts) => { } // Handle case where --provenance flag was set to true + let transparencyLogUrl if (provenance === true) { const subject = { name: npa.toPurl(spec), @@ -161,8 +177,23 @@ const buildMetadata = async (registry, manifest, tarballData, spec, opts) => { ) } - const visibility = - await npmFetch.json(`${registry}/-/package/${spec.escapedName}/visibility`, opts) + // Some registries (e.g. GH packages) require auth to check visibility, + // and always return 404 when no auth is supplied. In this case we assume + // the package is always private and require `--access public` to publish + // with provenance. + let visibility = { public: false } + if (opts.provenance === true && opts.access !== 'public') { + try { + const res = await npmFetch + .json(`${registry}/-/package/${spec.escapedName}/visibility`, opts) + visibility = res + } catch (err) { + if (err.code !== 'E404') { + throw err + } + } + } + if (!visibility.public && opts.provenance === true && opts.access !== 'public') { throw Object.assign( /* eslint-disable-next-line max-len */ @@ -178,8 +209,11 @@ const buildMetadata = async (registry, manifest, tarballData, spec, opts) => { const tlogEntry = provenanceBundle?.verificationMaterial?.tlogEntries[0] /* istanbul ignore else */ if (tlogEntry) { - const logUrl = `${TLOG_BASE_URL}?logIndex=${tlogEntry.logIndex}` - log.notice('publish', `Provenance statement published to transparency log: ${logUrl}`) + transparencyLogUrl = `${TLOG_BASE_URL}?logIndex=${tlogEntry.logIndex}` + log.notice( + 'publish', + `Provenance statement published to transparency log: ${transparencyLogUrl}` + ) } const serializedBundle = JSON.stringify(provenanceBundle) @@ -190,7 +224,10 @@ const buildMetadata = async (registry, manifest, tarballData, spec, opts) => { } } - return root + return { + metadata: root, + transparencyLogUrl, + } } const patchMetadata = (current, newData) => { diff --git a/deps/npm/node_modules/libnpmpublish/package.json b/deps/npm/node_modules/libnpmpublish/package.json index 2034ef85e47390..a4adbe2a50f154 100644 --- a/deps/npm/node_modules/libnpmpublish/package.json +++ b/deps/npm/node_modules/libnpmpublish/package.json @@ -1,6 +1,6 @@ { "name": "libnpmpublish", - "version": "7.1.4", + "version": "7.2.0", "description": "Programmatic API for the bits behind npm publish and unpublish", "author": "GitHub Inc.", "main": "lib/index.js", diff --git a/deps/npm/node_modules/path-scurry/dist/cjs/index.js b/deps/npm/node_modules/path-scurry/dist/cjs/index.js index d209f0e8330492..8044c7e581d2e4 100644 --- a/deps/npm/node_modules/path-scurry/dist/cjs/index.js +++ b/deps/npm/node_modules/path-scurry/dist/cjs/index.js @@ -159,6 +159,7 @@ class ChildrenCache extends lru_cache_1.LRUCache { } } exports.ChildrenCache = ChildrenCache; +const setAsCwd = Symbol('PathScurry setAsCwd'); /** * Path objects are sort of like a super-powered * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent} @@ -291,6 +292,16 @@ class PathBase { #children; #linkTarget; #realpath; + /** + * This property is for compatibility with the Dirent class as of + * Node v20, where Dirent['path'] refers to the path of the directory + * that was passed to readdir. So, somewhat counterintuitively, this + * property refers to the *parent* path, not the path object itself. + * For root entries, it's the path to the entry itself. + */ + get path() { + return (this.parent || this).fullpath(); + } /** * Do not create new Path objects directly. They should always be accessed * via the PathScurry class or other methods on the Path class. @@ -438,8 +449,7 @@ class PathBase { return (this.#relative = this.name); } const pv = p.relative(); - const rp = pv + (!pv || !p.parent ? '' : this.sep) + name; - return (this.#relative = rp); + return pv + (!pv || !p.parent ? '' : this.sep) + name; } /** * The relative path from the cwd, using / as the path separator. @@ -458,8 +468,7 @@ class PathBase { return (this.#relativePosix = this.fullpathPosix()); } const pv = p.relativePosix(); - const rp = pv + (!pv || !p.parent ? '' : '/') + name; - return (this.#relativePosix = rp); + return pv + (!pv || !p.parent ? '' : '/') + name; } /** * The fully resolved path string for this Path entry @@ -1111,6 +1120,33 @@ class PathBase { this.#markENOREALPATH(); } } + /** + * Internal method to mark this Path object as the scurry cwd, + * called by {@link PathScurry#chdir} + * + * @internal + */ + [setAsCwd](oldCwd) { + if (oldCwd === this) + return; + const changed = new Set([]); + let rp = []; + let p = this; + while (p && p.parent) { + changed.add(p); + p.#relative = rp.join(this.sep); + p.#relativePosix = rp.join('/'); + p = p.parent; + rp.push('..'); + } + // now un-memoize parents of old cwd + p = oldCwd; + while (p && p.parent && !changed.has(p)) { + p.#relative = undefined; + p.#relativePosix = undefined; + p = p.parent; + } + } } exports.PathBase = PathBase; /** @@ -1838,6 +1874,11 @@ class PathScurryBase { process(); return results; } + chdir(path = this.cwd) { + const oldCwd = this.cwd; + this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path; + this.cwd[setAsCwd](oldCwd); + } } exports.PathScurryBase = PathScurryBase; /** diff --git a/deps/npm/node_modules/path-scurry/dist/mjs/index.js b/deps/npm/node_modules/path-scurry/dist/mjs/index.js index 8490cf73124f3b..957f087c865147 100644 --- a/deps/npm/node_modules/path-scurry/dist/mjs/index.js +++ b/deps/npm/node_modules/path-scurry/dist/mjs/index.js @@ -131,6 +131,7 @@ export class ChildrenCache extends LRUCache { }); } } +const setAsCwd = Symbol('PathScurry setAsCwd'); /** * Path objects are sort of like a super-powered * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent} @@ -263,6 +264,16 @@ export class PathBase { #children; #linkTarget; #realpath; + /** + * This property is for compatibility with the Dirent class as of + * Node v20, where Dirent['path'] refers to the path of the directory + * that was passed to readdir. So, somewhat counterintuitively, this + * property refers to the *parent* path, not the path object itself. + * For root entries, it's the path to the entry itself. + */ + get path() { + return (this.parent || this).fullpath(); + } /** * Do not create new Path objects directly. They should always be accessed * via the PathScurry class or other methods on the Path class. @@ -410,8 +421,7 @@ export class PathBase { return (this.#relative = this.name); } const pv = p.relative(); - const rp = pv + (!pv || !p.parent ? '' : this.sep) + name; - return (this.#relative = rp); + return pv + (!pv || !p.parent ? '' : this.sep) + name; } /** * The relative path from the cwd, using / as the path separator. @@ -430,8 +440,7 @@ export class PathBase { return (this.#relativePosix = this.fullpathPosix()); } const pv = p.relativePosix(); - const rp = pv + (!pv || !p.parent ? '' : '/') + name; - return (this.#relativePosix = rp); + return pv + (!pv || !p.parent ? '' : '/') + name; } /** * The fully resolved path string for this Path entry @@ -1083,6 +1092,33 @@ export class PathBase { this.#markENOREALPATH(); } } + /** + * Internal method to mark this Path object as the scurry cwd, + * called by {@link PathScurry#chdir} + * + * @internal + */ + [setAsCwd](oldCwd) { + if (oldCwd === this) + return; + const changed = new Set([]); + let rp = []; + let p = this; + while (p && p.parent) { + changed.add(p); + p.#relative = rp.join(this.sep); + p.#relativePosix = rp.join('/'); + p = p.parent; + rp.push('..'); + } + // now un-memoize parents of old cwd + p = oldCwd; + while (p && p.parent && !changed.has(p)) { + p.#relative = undefined; + p.#relativePosix = undefined; + p = p.parent; + } + } } /** * Path class used on win32 systems @@ -1807,6 +1843,11 @@ export class PathScurryBase { process(); return results; } + chdir(path = this.cwd) { + const oldCwd = this.cwd; + this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path; + this.cwd[setAsCwd](oldCwd); + } } /** * Windows implementation of {@link PathScurryBase} diff --git a/deps/npm/node_modules/path-scurry/package.json b/deps/npm/node_modules/path-scurry/package.json index bb282b966c53c1..677bf1ce9b6e58 100644 --- a/deps/npm/node_modules/path-scurry/package.json +++ b/deps/npm/node_modules/path-scurry/package.json @@ -1,6 +1,6 @@ { "name": "path-scurry", - "version": "1.7.0", + "version": "1.9.1", "description": "walk paths fast and efficiently", "author": "Isaac Z. Schlueter (https://blog.izs.me)", "main": "./dist/cjs/index.js", @@ -58,7 +58,7 @@ }, "devDependencies": { "@nodelib/fs.walk": "^1.2.8", - "@types/node": "^18.11.18", + "@types/node": "^20.1.4", "@types/tap": "^15.0.7", "c8": "^7.12.0", "eslint-config-prettier": "^8.6.0", @@ -81,7 +81,7 @@ "url": "git+https://github.com/isaacs/path-walker" }, "dependencies": { - "lru-cache": "^9.0.0", - "minipass": "^5.0.0" + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.0" } } diff --git a/deps/npm/node_modules/postcss-selector-parser/API.md b/deps/npm/node_modules/postcss-selector-parser/API.md index 36c7298fc9753c..64459e3376fba3 100644 --- a/deps/npm/node_modules/postcss-selector-parser/API.md +++ b/deps/npm/node_modules/postcss-selector-parser/API.md @@ -278,16 +278,13 @@ if (node.type === 'id') { } ``` -### `node.clone()` +### `node.clone([opts])` Returns a copy of a node, detached from any parent containers that the original might have had. ```js -const cloned = parser.id({value: 'search'}); -String(cloned); - -// => #search +const cloned = node.clone(); ``` ### `node.isAtPosition(line, column)` diff --git a/deps/npm/node_modules/postcss-selector-parser/dist/parser.js b/deps/npm/node_modules/postcss-selector-parser/dist/parser.js index 2a1e72c6c6c009..b4c75e3edc3fe6 100644 --- a/deps/npm/node_modules/postcss-selector-parser/dist/parser.js +++ b/deps/npm/node_modules/postcss-selector-parser/dist/parser.js @@ -609,6 +609,9 @@ var Parser = /*#__PURE__*/function () { _proto.unexpected = function unexpected() { return this.error("Unexpected '" + this.content() + "'. Escaping special characters with \\ may help.", this.currToken[_tokenize.FIELDS.START_POS]); }; + _proto.unexpectedPipe = function unexpectedPipe() { + return this.error("Unexpected '|'.", this.currToken[_tokenize.FIELDS.START_POS]); + }; _proto.namespace = function namespace() { var before = this.prevToken && this.content(this.prevToken) || true; if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.word) { @@ -618,6 +621,7 @@ var Parser = /*#__PURE__*/function () { this.position++; return this.universal(before); } + this.unexpectedPipe(); }; _proto.nesting = function nesting() { if (this.nextToken) { diff --git a/deps/npm/node_modules/postcss-selector-parser/package.json b/deps/npm/node_modules/postcss-selector-parser/package.json index ff9c40960f737a..dce071cdcb2b3a 100644 --- a/deps/npm/node_modules/postcss-selector-parser/package.json +++ b/deps/npm/node_modules/postcss-selector-parser/package.json @@ -1,6 +1,6 @@ { "name": "postcss-selector-parser", - "version": "6.0.12", + "version": "6.0.13", "devDependencies": { "@babel/cli": "^7.11.6", "@babel/core": "^7.11.6", diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js index c6ba8b9c298f18..3a26a1d3e6d76d 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js @@ -1,6 +1,7 @@ 'use strict' const { AbortError, codes } = require('../../ours/errors') +const { isNodeStream, isWebStream, kControllerErrorFunction } = require('./utils') const eos = require('./end-of-stream') const { ERR_INVALID_ARG_TYPE } = codes @@ -12,13 +13,10 @@ const validateAbortSignal = (signal, name) => { throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal) } } -function isNodeStream(obj) { - return !!(obj && typeof obj.pipe === 'function') -} module.exports.addAbortSignal = function addAbortSignal(signal, stream) { validateAbortSignal(signal, 'signal') - if (!isNodeStream(stream)) { - throw new ERR_INVALID_ARG_TYPE('stream', 'stream.Stream', stream) + if (!isNodeStream(stream) && !isWebStream(stream)) { + throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream) } return module.exports.addAbortSignalNoValidate(signal, stream) } @@ -26,13 +24,21 @@ module.exports.addAbortSignalNoValidate = function (signal, stream) { if (typeof signal !== 'object' || !('aborted' in signal)) { return stream } - const onAbort = () => { - stream.destroy( - new AbortError(undefined, { - cause: signal.reason - }) - ) - } + const onAbort = isNodeStream(stream) + ? () => { + stream.destroy( + new AbortError(undefined, { + cause: signal.reason + }) + ) + } + : () => { + stream[kControllerErrorFunction]( + new AbortError(undefined, { + cause: signal.reason + }) + ) + } if (signal.aborted) { onAbort() } else { diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/compose.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/compose.js index 4a00aead883c2f..f565c12ef3620c 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/compose.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/compose.js @@ -3,11 +3,20 @@ const { pipeline } = require('./pipeline') const Duplex = require('./duplex') const { destroyer } = require('./destroy') -const { isNodeStream, isReadable, isWritable } = require('./utils') +const { + isNodeStream, + isReadable, + isWritable, + isWebStream, + isTransformStream, + isWritableStream, + isReadableStream +} = require('./utils') const { AbortError, codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS } } = require('../../ours/errors') +const eos = require('./end-of-stream') module.exports = function compose(...streams) { if (streams.length === 0) { throw new ERR_MISSING_ARGS('streams') @@ -24,14 +33,17 @@ module.exports = function compose(...streams) { streams[idx] = Duplex.from(streams[idx]) } for (let n = 0; n < streams.length; ++n) { - if (!isNodeStream(streams[n])) { + if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) { // TODO(ronag): Add checks for non streams. continue } - if (n < streams.length - 1 && !isReadable(streams[n])) { + if ( + n < streams.length - 1 && + !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n])) + ) { throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be readable') } - if (n > 0 && !isWritable(streams[n])) { + if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) { throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be writable') } } @@ -53,8 +65,8 @@ module.exports = function compose(...streams) { } const head = streams[0] const tail = pipeline(streams, onfinished) - const writable = !!isWritable(head) - const readable = !!isReadable(tail) + const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head)) + const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail)) // TODO(ronag): Avoid double buffering. // Implement Writable/Readable/Duplex traits. @@ -67,25 +79,49 @@ module.exports = function compose(...streams) { readable }) if (writable) { - d._write = function (chunk, encoding, callback) { - if (head.write(chunk, encoding)) { - callback() - } else { - ondrain = callback + if (isNodeStream(head)) { + d._write = function (chunk, encoding, callback) { + if (head.write(chunk, encoding)) { + callback() + } else { + ondrain = callback + } } - } - d._final = function (callback) { - head.end() - onfinish = callback - } - head.on('drain', function () { - if (ondrain) { - const cb = ondrain - ondrain = null - cb() + d._final = function (callback) { + head.end() + onfinish = callback } - }) - tail.on('finish', function () { + head.on('drain', function () { + if (ondrain) { + const cb = ondrain + ondrain = null + cb() + } + }) + } else if (isWebStream(head)) { + const writable = isTransformStream(head) ? head.writable : head + const writer = writable.getWriter() + d._write = async function (chunk, encoding, callback) { + try { + await writer.ready + writer.write(chunk).catch(() => {}) + callback() + } catch (err) { + callback(err) + } + } + d._final = async function (callback) { + try { + await writer.ready + writer.close().catch(() => {}) + onfinish = callback + } catch (err) { + callback(err) + } + } + } + const toRead = isTransformStream(tail) ? tail.readable : tail + eos(toRead, () => { if (onfinish) { const cb = onfinish onfinish = null @@ -94,25 +130,46 @@ module.exports = function compose(...streams) { }) } if (readable) { - tail.on('readable', function () { - if (onreadable) { - const cb = onreadable - onreadable = null - cb() - } - }) - tail.on('end', function () { - d.push(null) - }) - d._read = function () { - while (true) { - const buf = tail.read() - if (buf === null) { - onreadable = d._read - return + if (isNodeStream(tail)) { + tail.on('readable', function () { + if (onreadable) { + const cb = onreadable + onreadable = null + cb() + } + }) + tail.on('end', function () { + d.push(null) + }) + d._read = function () { + while (true) { + const buf = tail.read() + if (buf === null) { + onreadable = d._read + return + } + if (!d.push(buf)) { + return + } } - if (!d.push(buf)) { - return + } + } else if (isWebStream(tail)) { + const readable = isTransformStream(tail) ? tail.readable : tail + const reader = readable.getReader() + d._read = async function () { + while (true) { + try { + const { value, done } = await reader.read() + if (!d.push(value)) { + return + } + if (done) { + d.push(null) + return + } + } catch { + return + } } } } @@ -128,7 +185,9 @@ module.exports = function compose(...streams) { callback(err) } else { onclose = callback - destroyer(tail, err) + if (isNodeStream(tail)) { + destroyer(tail, err) + } } } return d diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js index 768f2d79d3a893..db76c29f94bab0 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/destroy.js @@ -36,7 +36,7 @@ function destroy(err, cb) { const w = this._writableState // With duplex streams we use the writable side for state. const s = w || r - if ((w && w.destroyed) || (r && r.destroyed)) { + if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) { if (typeof cb === 'function') { cb() } @@ -107,14 +107,14 @@ function emitCloseNT(self) { if (r) { r.closeEmitted = true } - if ((w && w.emitClose) || (r && r.emitClose)) { + if ((w !== null && w !== undefined && w.emitClose) || (r !== null && r !== undefined && r.emitClose)) { self.emit('close') } } function emitErrorNT(self, err) { const r = self._readableState const w = self._writableState - if ((w && w.errorEmitted) || (r && r.errorEmitted)) { + if ((w !== null && w !== undefined && w.errorEmitted) || (r !== null && r !== undefined && r.errorEmitted)) { return } if (w) { @@ -162,10 +162,11 @@ function errorOrDestroy(stream, err, sync) { const r = stream._readableState const w = stream._writableState - if ((w && w.destroyed) || (r && r.destroyed)) { + if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) { return this } - if ((r && r.autoDestroy) || (w && w.autoDestroy)) stream.destroy(err) + if ((r !== null && r !== undefined && r.autoDestroy) || (w !== null && w !== undefined && w.autoDestroy)) + stream.destroy(err) else if (err) { // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364 err.stack // eslint-disable-line no-unused-expressions @@ -228,16 +229,18 @@ function constructNT(stream) { } } try { - stream._construct(onConstruct) + stream._construct((err) => { + process.nextTick(onConstruct, err) + }) } catch (err) { - onConstruct(err) + process.nextTick(onConstruct, err) } } function emitConstructNT(stream) { stream.emit(kConstruct) } function isRequest(stream) { - return stream && stream.setHeader && typeof stream.abort === 'function' + return (stream === null || stream === undefined ? undefined : stream.setHeader) && typeof stream.abort === 'function' } function emitCloseLegacy(stream) { stream.emit('close') diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/duplexify.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/duplexify.js index 43300ddc8a45bc..599fb47ab53c2e 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/duplexify.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/duplexify.js @@ -282,8 +282,6 @@ function _duplexify(pair) { cb(err) } else if (err) { d.destroy(err) - } else if (!readable && !writable) { - d.destroy() } } diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/end-of-stream.js index 57dbaa48a3ca5a..043c9c4bdac518 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/end-of-stream.js @@ -10,20 +10,23 @@ const process = require('process/') const { AbortError, codes } = require('../../ours/errors') const { ERR_INVALID_ARG_TYPE, ERR_STREAM_PREMATURE_CLOSE } = codes const { kEmptyObject, once } = require('../../ours/util') -const { validateAbortSignal, validateFunction, validateObject } = require('../validators') -const { Promise } = require('../../ours/primordials') +const { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require('../validators') +const { Promise, PromisePrototypeThen } = require('../../ours/primordials') const { isClosed, isReadable, isReadableNodeStream, + isReadableStream, isReadableFinished, isReadableErrored, isWritable, isWritableNodeStream, + isWritableStream, isWritableFinished, isWritableErrored, isNodeStream, - willEmitClose: _willEmitClose + willEmitClose: _willEmitClose, + kIsClosedPromise } = require('./utils') function isRequest(stream) { return stream.setHeader && typeof stream.abort === 'function' @@ -42,6 +45,12 @@ function eos(stream, options, callback) { validateFunction(callback, 'callback') validateAbortSignal(options.signal, 'options.signal') callback = once(callback) + if (isReadableStream(stream) || isWritableStream(stream)) { + return eosWeb(stream, options, callback) + } + if (!isNodeStream(stream)) { + throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream) + } const readable = (_options$readable = options.readable) !== null && _options$readable !== undefined ? _options$readable @@ -50,10 +59,6 @@ function eos(stream, options, callback) { (_options$writable = options.writable) !== null && _options$writable !== undefined ? _options$writable : isWritableNodeStream(stream) - if (!isNodeStream(stream)) { - // TODO: Webstreams. - throw new ERR_INVALID_ARG_TYPE('stream', 'Stream', stream) - } const wState = stream._writableState const rState = stream._readableState const onlegacyfinish = () => { @@ -117,6 +122,14 @@ function eos(stream, options, callback) { } callback.call(stream) } + const onclosed = () => { + closed = true + const errored = isWritableErrored(stream) || isReadableErrored(stream) + if (errored && typeof errored !== 'boolean') { + return callback.call(stream, errored) + } + callback.call(stream) + } const onrequest = () => { stream.req.on('finish', onfinish) } @@ -153,22 +166,22 @@ function eos(stream, options, callback) { (rState !== null && rState !== undefined && rState.errorEmitted) ) { if (!willEmitClose) { - process.nextTick(onclose) + process.nextTick(onclosed) } } else if ( !readable && (!willEmitClose || isReadable(stream)) && (writableFinished || isWritable(stream) === false) ) { - process.nextTick(onclose) + process.nextTick(onclosed) } else if ( !writable && (!willEmitClose || isWritable(stream)) && (readableFinished || isReadable(stream) === false) ) { - process.nextTick(onclose) + process.nextTick(onclosed) } else if (rState && stream.req && stream.aborted) { - process.nextTick(onclose) + process.nextTick(onclosed) } const cleanup = () => { callback = nop @@ -209,9 +222,53 @@ function eos(stream, options, callback) { } return cleanup } +function eosWeb(stream, options, callback) { + let isAborted = false + let abort = nop + if (options.signal) { + abort = () => { + isAborted = true + callback.call( + stream, + new AbortError(undefined, { + cause: options.signal.reason + }) + ) + } + if (options.signal.aborted) { + process.nextTick(abort) + } else { + const originalCallback = callback + callback = once((...args) => { + options.signal.removeEventListener('abort', abort) + originalCallback.apply(stream, args) + }) + options.signal.addEventListener('abort', abort) + } + } + const resolverFn = (...args) => { + if (!isAborted) { + process.nextTick(() => callback.apply(stream, args)) + } + } + PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn) + return nop +} function finished(stream, opts) { + var _opts + let autoCleanup = false + if (opts === null) { + opts = kEmptyObject + } + if ((_opts = opts) !== null && _opts !== undefined && _opts.cleanup) { + validateBoolean(opts.cleanup, 'cleanup') + autoCleanup = opts.cleanup + } return new Promise((resolve, reject) => { - eos(stream, opts, (err) => { + const cleanup = eos(stream, opts, (err) => { + if (autoCleanup) { + cleanup() + } if (err) { reject(err) } else { diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/operators.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/operators.js index 323a74a17c32e9..869cacb39faca9 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/operators.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/operators.js @@ -2,12 +2,15 @@ const AbortController = globalThis.AbortController || require('abort-controller').AbortController const { - codes: { ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE }, + codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE }, AbortError } = require('../../ours/errors') const { validateAbortSignal, validateInteger, validateObject } = require('../validators') const kWeakHandler = require('../../ours/primordials').Symbol('kWeak') const { finished } = require('./end-of-stream') +const staticCompose = require('./compose') +const { addAbortSignalNoValidate } = require('./add-abort-signal') +const { isWritable, isNodeStream } = require('./utils') const { ArrayPrototypePush, MathFloor, @@ -20,6 +23,23 @@ const { } = require('../../ours/primordials') const kEmpty = Symbol('kEmpty') const kEof = Symbol('kEof') +function compose(stream, options) { + if (options != null) { + validateObject(options, 'options') + } + if ((options === null || options === undefined ? undefined : options.signal) != null) { + validateAbortSignal(options.signal, 'options.signal') + } + if (isNodeStream(stream) && !isWritable(stream)) { + throw new ERR_INVALID_ARG_VALUE('stream', stream, 'must be writable') + } + const composedStream = staticCompose(this, stream) + if (options !== null && options !== undefined && options.signal) { + // Not validating as we already validated before + addAbortSignalNoValidate(options.signal, composedStream) + } + return composedStream +} function map(fn, options) { if (typeof fn !== 'function') { throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn) @@ -424,7 +444,8 @@ module.exports.streamReturningOperators = { filter, flatMap, map, - take + take, + compose } module.exports.promiseReturningOperators = { every, diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/pipeline.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/pipeline.js index 016e96ee6ff247..8393ba5146991b 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/pipeline.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/pipeline.js @@ -24,7 +24,16 @@ const { AbortError } = require('../../ours/errors') const { validateFunction, validateAbortSignal } = require('../validators') -const { isIterable, isReadable, isReadableNodeStream, isNodeStream } = require('./utils') +const { + isIterable, + isReadable, + isReadableNodeStream, + isNodeStream, + isTransformStream, + isWebStream, + isReadableStream, + isReadableEnded +} = require('./utils') const AbortController = globalThis.AbortController || require('abort-controller').AbortController let PassThrough let Readable @@ -74,7 +83,7 @@ async function* fromReadable(val) { } yield* Readable.prototype[SymbolAsyncIterator].call(val) } -async function pump(iterable, writable, finish, { end }) { +async function pumpToNode(iterable, writable, finish, { end }) { let error let onresolve = null const resume = (err) => { @@ -130,6 +139,31 @@ async function pump(iterable, writable, finish, { end }) { writable.off('drain', resume) } } +async function pumpToWeb(readable, writable, finish, { end }) { + if (isTransformStream(writable)) { + writable = writable.writable + } + // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure + const writer = writable.getWriter() + try { + for await (const chunk of readable) { + await writer.ready + writer.write(chunk).catch(() => {}) + } + await writer.ready + if (end) { + await writer.close() + } + finish() + } catch (err) { + try { + await writer.abort(err) + finish(err) + } catch (err) { + finish(err) + } + } +} function pipeline(...streams) { return pipelineImpl(streams, once(popCallback(streams))) } @@ -215,13 +249,18 @@ function pipelineImpl(streams, callback, opts) { if (!isIterable(ret)) { throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or Stream', 'source', ret) } - } else if (isIterable(stream) || isReadableNodeStream(stream)) { + } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) { ret = stream } else { ret = Duplex.from(stream) } } else if (typeof stream === 'function') { - ret = makeAsyncIterable(ret) + if (isTransformStream(ret)) { + var _ret + ret = makeAsyncIterable((_ret = ret) === null || _ret === undefined ? undefined : _ret.readable) + } else { + ret = makeAsyncIterable(ret) + } ret = stream(ret, { signal }) @@ -230,7 +269,7 @@ function pipelineImpl(streams, callback, opts) { throw new ERR_INVALID_RETURN_VALUE('AsyncIterable', `transform[${i - 1}]`, ret) } } else { - var _ret + var _ret2 if (!PassThrough) { PassThrough = require('./passthrough') } @@ -246,7 +285,7 @@ function pipelineImpl(streams, callback, opts) { // Handle Promises/A+ spec, `then` could be a getter that throws on // second use. - const then = (_ret = ret) === null || _ret === undefined ? undefined : _ret.then + const then = (_ret2 = ret) === null || _ret2 === undefined ? undefined : _ret2.then if (typeof then === 'function') { finishCount++ then.call( @@ -268,7 +307,13 @@ function pipelineImpl(streams, callback, opts) { ) } else if (isIterable(ret, true)) { finishCount++ - pump(ret, pt, finish, { + pumpToNode(ret, pt, finish, { + end + }) + } else if (isReadableStream(ret) || isTransformStream(ret)) { + const toRead = ret.readable || ret + finishCount++ + pumpToNode(toRead, pt, finish, { end }) } else { @@ -290,13 +335,47 @@ function pipelineImpl(streams, callback, opts) { if (isReadable(stream) && isLastStream) { lastStreamCleanup.push(cleanup) } + } else if (isTransformStream(ret) || isReadableStream(ret)) { + const toRead = ret.readable || ret + finishCount++ + pumpToNode(toRead, stream, finish, { + end + }) } else if (isIterable(ret)) { finishCount++ - pump(ret, stream, finish, { + pumpToNode(ret, stream, finish, { end }) } else { - throw new ERR_INVALID_ARG_TYPE('val', ['Readable', 'Iterable', 'AsyncIterable'], ret) + throw new ERR_INVALID_ARG_TYPE( + 'val', + ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'], + ret + ) + } + ret = stream + } else if (isWebStream(stream)) { + if (isReadableNodeStream(ret)) { + finishCount++ + pumpToWeb(makeAsyncIterable(ret), stream, finish, { + end + }) + } else if (isReadableStream(ret) || isIterable(ret)) { + finishCount++ + pumpToWeb(ret, stream, finish, { + end + }) + } else if (isTransformStream(ret)) { + finishCount++ + pumpToWeb(ret.readable, stream, finish, { + end + }) + } else { + throw new ERR_INVALID_ARG_TYPE( + 'val', + ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'], + ret + ) } ret = stream } else { @@ -320,16 +399,24 @@ function pipe(src, dst, finish, { end }) { } }) src.pipe(dst, { - end - }) + end: false + }) // If end is true we already will have a listener to end dst. + if (end) { // Compat. Before node v10.12.0 stdio used to throw an error so // pipe() did/does not end() stdio destinations. // Now they allow it but "secretly" don't close the underlying fd. - src.once('end', () => { + + function endFn() { ended = true dst.end() - }) + } + if (isReadableEnded(src)) { + // End the destination if the source has already ended. + process.nextTick(endFn) + } else { + src.once('end', endFn) + } } else { finish() } diff --git a/deps/npm/node_modules/readable-stream/lib/internal/streams/utils.js b/deps/npm/node_modules/readable-stream/lib/internal/streams/utils.js index f87e9fe68e6a82..e589ad96c6924e 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/streams/utils.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/streams/utils.js @@ -1,10 +1,12 @@ 'use strict' -const { Symbol, SymbolAsyncIterator, SymbolIterator } = require('../../ours/primordials') +const { Symbol, SymbolAsyncIterator, SymbolIterator, SymbolFor } = require('../../ours/primordials') const kDestroyed = Symbol('kDestroyed') const kIsErrored = Symbol('kIsErrored') const kIsReadable = Symbol('kIsReadable') const kIsDisturbed = Symbol('kIsDisturbed') +const kIsClosedPromise = SymbolFor('nodejs.webstream.isClosedPromise') +const kControllerErrorFunction = SymbolFor('nodejs.webstream.controllerErrorFunction') function isReadableNodeStream(obj, strict = false) { var _obj$_readableState return !!( @@ -56,6 +58,24 @@ function isNodeStream(obj) { (typeof obj.pipe === 'function' && typeof obj.on === 'function')) ) } +function isReadableStream(obj) { + return !!( + obj && + !isNodeStream(obj) && + typeof obj.pipeThrough === 'function' && + typeof obj.getReader === 'function' && + typeof obj.cancel === 'function' + ) +} +function isWritableStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === 'function' && typeof obj.abort === 'function') +} +function isTransformStream(obj) { + return !!(obj && !isNodeStream(obj) && typeof obj.readable === 'object' && typeof obj.writable === 'object') +} +function isWebStream(obj) { + return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj) +} function isIterable(obj, isAsync) { if (obj == null) return false if (isAsync === true) return typeof obj[SymbolAsyncIterator] === 'function' @@ -274,22 +294,28 @@ module.exports = { kIsErrored, isReadable, kIsReadable, + kIsClosedPromise, + kControllerErrorFunction, isClosed, isDestroyed, isDuplexNodeStream, isFinished, isIterable, isReadableNodeStream, + isReadableStream, isReadableEnded, isReadableFinished, isReadableErrored, isNodeStream, + isWebStream, isWritable, isWritableNodeStream, + isWritableStream, isWritableEnded, isWritableFinished, isWritableErrored, isServerRequest, isServerResponse, - willEmitClose + willEmitClose, + isTransformStream } diff --git a/deps/npm/node_modules/readable-stream/lib/internal/validators.js b/deps/npm/node_modules/readable-stream/lib/internal/validators.js index f9e6e555971a1b..85b2e9cd593d9b 100644 --- a/deps/npm/node_modules/readable-stream/lib/internal/validators.js +++ b/deps/npm/node_modules/readable-stream/lib/internal/validators.js @@ -1,3 +1,5 @@ +/* eslint jsdoc/require-jsdoc: "error" */ + 'use strict' const { @@ -199,6 +201,13 @@ const validateOneOf = hideStackFrames((value, name, oneOf) => { function validateBoolean(value, name) { if (typeof value !== 'boolean') throw new ERR_INVALID_ARG_TYPE(name, 'boolean', value) } + +/** + * @param {any} options + * @param {string} key + * @param {boolean} defaultValue + * @returns {boolean} + */ function getOwnPropertyValueOrDefault(options, key, defaultValue) { return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key] } @@ -228,6 +237,24 @@ const validateObject = hideStackFrames((value, name, options = null) => { } }) +/** + * @callback validateDictionary - We are using the Web IDL Standard definition + * of "dictionary" here, which means any value + * whose Type is either Undefined, Null, or + * Object (which includes functions). + * @param {*} value + * @param {string} name + * @see https://webidl.spec.whatwg.org/#es-dictionary + * @see https://tc39.es/ecma262/#table-typeof-operator-results + */ + +/** @type {validateDictionary} */ +const validateDictionary = hideStackFrames((value, name) => { + if (value != null && typeof value !== 'object' && typeof value !== 'function') { + throw new ERR_INVALID_ARG_TYPE(name, 'a dictionary', value) + } +}) + /** * @callback validateArray * @param {*} value @@ -247,7 +274,36 @@ const validateArray = hideStackFrames((value, name, minLength = 0) => { } }) -// eslint-disable-next-line jsdoc/require-returns-check +/** + * @callback validateStringArray + * @param {*} value + * @param {string} name + * @returns {asserts value is string[]} + */ + +/** @type {validateStringArray} */ +function validateStringArray(value, name) { + validateArray(value, name) + for (let i = 0; i < value.length; i++) { + validateString(value[i], `${name}[${i}]`) + } +} + +/** + * @callback validateBooleanArray + * @param {*} value + * @param {string} name + * @returns {asserts value is boolean[]} + */ + +/** @type {validateBooleanArray} */ +function validateBooleanArray(value, name) { + validateArray(value, name) + for (let i = 0; i < value.length; i++) { + validateBoolean(value[i], `${name}[${i}]`) + } +} + /** * @param {*} signal * @param {string} [name='signal'] @@ -370,13 +426,71 @@ function validateUnion(value, name, union) { throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value) } } + +/* + The rules for the Link header field are described here: + https://www.rfc-editor.org/rfc/rfc8288.html#section-3 + + This regex validates any string surrounded by angle brackets + (not necessarily a valid URI reference) followed by zero or more + link-params separated by semicolons. +*/ +const linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/ + +/** + * @param {any} value + * @param {string} name + */ +function validateLinkHeaderFormat(value, name) { + if (typeof value === 'undefined' || !RegExpPrototypeExec(linkValueRegExp, value)) { + throw new ERR_INVALID_ARG_VALUE( + name, + value, + 'must be an array or string of format "; rel=preload; as=style"' + ) + } +} + +/** + * @param {any} hints + * @return {string} + */ +function validateLinkHeaderValue(hints) { + if (typeof hints === 'string') { + validateLinkHeaderFormat(hints, 'hints') + return hints + } else if (ArrayIsArray(hints)) { + const hintsLength = hints.length + let result = '' + if (hintsLength === 0) { + return result + } + for (let i = 0; i < hintsLength; i++) { + const link = hints[i] + validateLinkHeaderFormat(link, 'hints') + result += link + if (i !== hintsLength - 1) { + result += ', ' + } + } + return result + } + throw new ERR_INVALID_ARG_VALUE( + 'hints', + hints, + 'must be an array or string of format "; rel=preload; as=style"' + ) +} module.exports = { isInt32, isUint32, parseFileMode, validateArray, + validateStringArray, + validateBooleanArray, validateBoolean, validateBuffer, + validateDictionary, validateEncoding, validateFunction, validateInt32, @@ -391,5 +505,6 @@ module.exports = { validateUint32, validateUndefined, validateUnion, - validateAbortSignal + validateAbortSignal, + validateLinkHeaderValue } diff --git a/deps/npm/node_modules/readable-stream/lib/ours/primordials.js b/deps/npm/node_modules/readable-stream/lib/ours/primordials.js index 6a98b01681caf0..9464cc7fea6a12 100644 --- a/deps/npm/node_modules/readable-stream/lib/ours/primordials.js +++ b/deps/npm/node_modules/readable-stream/lib/ours/primordials.js @@ -90,6 +90,7 @@ module.exports = { return self.trim() }, Symbol, + SymbolFor: Symbol.for, SymbolAsyncIterator: Symbol.asyncIterator, SymbolHasInstance: Symbol.hasInstance, SymbolIterator: Symbol.iterator, diff --git a/deps/npm/node_modules/readable-stream/lib/stream/promises.js b/deps/npm/node_modules/readable-stream/lib/stream/promises.js index d44dd8ad0e0f3f..b85c51f47f1ce1 100644 --- a/deps/npm/node_modules/readable-stream/lib/stream/promises.js +++ b/deps/npm/node_modules/readable-stream/lib/stream/promises.js @@ -1,15 +1,22 @@ 'use strict' const { ArrayPrototypePop, Promise } = require('../ours/primordials') -const { isIterable, isNodeStream } = require('../internal/streams/utils') +const { isIterable, isNodeStream, isWebStream } = require('../internal/streams/utils') const { pipelineImpl: pl } = require('../internal/streams/pipeline') const { finished } = require('../internal/streams/end-of-stream') +require('stream') function pipeline(...streams) { return new Promise((resolve, reject) => { let signal let end const lastArg = streams[streams.length - 1] - if (lastArg && typeof lastArg === 'object' && !isNodeStream(lastArg) && !isIterable(lastArg)) { + if ( + lastArg && + typeof lastArg === 'object' && + !isNodeStream(lastArg) && + !isIterable(lastArg) && + !isWebStream(lastArg) + ) { const options = ArrayPrototypePop(streams) signal = options.signal end = options.end diff --git a/deps/npm/node_modules/readable-stream/package.json b/deps/npm/node_modules/readable-stream/package.json index 7df83d9eb990a9..c4f6504cc7cc66 100644 --- a/deps/npm/node_modules/readable-stream/package.json +++ b/deps/npm/node_modules/readable-stream/package.json @@ -1,6 +1,6 @@ { "name": "readable-stream", - "version": "4.3.0", + "version": "4.4.0", "description": "Node.js Streams, a user-land copy of the stream library from Node.js", "homepage": "https://github.com/nodejs/readable-stream", "license": "MIT", diff --git a/deps/npm/node_modules/semver/classes/semver.js b/deps/npm/node_modules/semver/classes/semver.js index 25ee889d1492af..99dbe82db4dc59 100644 --- a/deps/npm/node_modules/semver/classes/semver.js +++ b/deps/npm/node_modules/semver/classes/semver.js @@ -16,7 +16,7 @@ class SemVer { version = version.version } } else if (typeof version !== 'string') { - throw new TypeError(`Invalid Version: ${require('util').inspect(version)}`) + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) } if (version.length > MAX_LENGTH) { diff --git a/deps/npm/node_modules/semver/package.json b/deps/npm/node_modules/semver/package.json index 0a6095b8900a62..592404a3c9d1c0 100644 --- a/deps/npm/node_modules/semver/package.json +++ b/deps/npm/node_modules/semver/package.json @@ -1,6 +1,6 @@ { "name": "semver", - "version": "7.5.0", + "version": "7.5.1", "description": "The semantic version parser used by npm.", "main": "index.js", "scripts": { @@ -14,7 +14,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^4.0.0", - "@npmcli/template-oss": "4.13.0", + "@npmcli/template-oss": "4.14.1", "tap": "^16.0.0" }, "license": "ISC", @@ -53,7 +53,7 @@ "author": "GitHub Inc.", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.13.0", + "version": "4.14.1", "engines": ">=10", "ciVersions": [ "10.0.0", diff --git a/deps/npm/node_modules/signal-exit/dist/cjs/index.js b/deps/npm/node_modules/signal-exit/dist/cjs/index.js index 5a9ea081d7a5f5..2e6c18316b9a5d 100644 --- a/deps/npm/node_modules/signal-exit/dist/cjs/index.js +++ b/deps/npm/node_modules/signal-exit/dist/cjs/index.js @@ -34,7 +34,6 @@ class Emitter { id = Math.random(); constructor() { if (global[kExitEmitter]) { - console.error('reusing global emitter'); return global[kExitEmitter]; } ObjectDefineProperty(global, kExitEmitter, { diff --git a/deps/npm/node_modules/signal-exit/dist/mjs/index.js b/deps/npm/node_modules/signal-exit/dist/mjs/index.js index cc86788031646a..1e8dea6d4930b6 100644 --- a/deps/npm/node_modules/signal-exit/dist/mjs/index.js +++ b/deps/npm/node_modules/signal-exit/dist/mjs/index.js @@ -30,7 +30,6 @@ class Emitter { id = Math.random(); constructor() { if (global[kExitEmitter]) { - console.error('reusing global emitter'); return global[kExitEmitter]; } ObjectDefineProperty(global, kExitEmitter, { diff --git a/deps/npm/node_modules/signal-exit/package.json b/deps/npm/node_modules/signal-exit/package.json index 5e7e3a74d95d87..455452f96a0b3f 100644 --- a/deps/npm/node_modules/signal-exit/package.json +++ b/deps/npm/node_modules/signal-exit/package.json @@ -1,6 +1,6 @@ { "name": "signal-exit", - "version": "4.0.1", + "version": "4.0.2", "description": "when you want to fire an event no matter how a process exits.", "main": "./dist/cjs/index.js", "module": "./dist/mjs/index.js", diff --git a/deps/npm/node_modules/sigstore/README.md b/deps/npm/node_modules/sigstore/README.md index 0f015c580b6663..fd9260fb107ef4 100644 --- a/deps/npm/node_modules/sigstore/README.md +++ b/deps/npm/node_modules/sigstore/README.md @@ -1,4 +1,4 @@ -# sigstore-js · [![npm version](https://img.shields.io/npm/v/sigstore.svg?style=flat)](https://www.npmjs.com/package/sigstore) [![CI Status](https://github.com/sigstore/sigstore-js/workflows/CI/badge.svg)](https://github.com/sigstore/sigstore-js/actions/workflows/ci.yml) [![Smoke Test Status](https://github.com/sigstore/sigstore-js/workflows/smoke-test/badge.svg)](https://github.com/sigstore/sigstore-js/actions/workflows/smoke-test.yml) +# sigstore · [![npm version](https://img.shields.io/npm/v/sigstore.svg?style=flat)](https://www.npmjs.com/package/sigstore) [![CI Status](https://github.com/sigstore/sigstore-js/workflows/CI/badge.svg)](https://github.com/sigstore/sigstore-js/actions/workflows/ci.yml) [![Smoke Test Status](https://github.com/sigstore/sigstore-js/workflows/smoke-test/badge.svg)](https://github.com/sigstore/sigstore-js/actions/workflows/smoke-test.yml) A JavaScript library for generating and verifying Sigstore signatures. One of the intended uses is to sign and verify npm packages but it can be used to sign @@ -40,6 +40,8 @@ necessary to verify the signature. * `options` `` * `fulcioURL` ``: The base URL of the Fulcio instance to use for retrieving the signing certificate. Defaults to `'https://fulcio.sigstore.dev'`. * `rekorURL` ``: The base URL of the Rekor instance to use when adding the signature to the transparency log. Defaults to `'https://rekor.sigstore.dev'`. + * `tsaServerURL` ``: The base URL of the Timestamp Authority instance to use when requesting a signed timestamp. If omitted, no timestamp will be requested. + * `tlogUpload` ``: Flag indicating whether or not the signature should be recorded on the Rekor transparency log. Defaults to `true`. * `identityToken` ``: The OIDC token identifying the signer. If no explicit token is supplied, an attempt will be made to retrieve one from the environment. ### attest(payload, payloadType[, options]) @@ -53,6 +55,8 @@ as well as the verification material necessary to verify the signature. * `options` `` * `fulcioURL` ``: The base URL of the Fulcio instance to use for retrieving the signing certificate. Defaults to `'https://fulcio.sigstore.dev'`. * `rekorURL` ``: The base URL of the Rekor instance to use when adding the signature to the transparency log. Defaults to `'https://rekor.sigstore.dev'`. + * `tsaServerURL` ``: The base URL of the Timestamp Authority instance to use when requesting a signed timestamp. If omitted, no timestamp will be requested. + * `tlogUpload` ``: Flag indicating whether or not the signed statement should be recorded on the Rekor transparency log. Defaults to `true`. * `identityToken` ``: The OIDC token identifying the signer. If no explicit token is supplied, an attempt will be made to retrieve one from the environment. @@ -76,9 +80,25 @@ Verifies the signature in the supplied bundle. The `tuf` object contains utility function for working with the Sigstore TUF repository. -#### getTarget(path[, options]) +#### client([options]) + +Returns a TUF client which can be used to retrieve targets from the Sigstore TUF repository. + +* `options` `` + * `tufMirrorURL` ``: Base URL for the Sigstore TUF repository. Defaults to `'https://tuf-repo-cdn.sigstore.dev'` + * `tufRootPath` ``: Path to the initial trusted root for the TUF repository. Defaults to the embedded root. + * `tufCachePath` ``: Absolute path to the directory to be used for caching downloaded TUF metadata and targets. Defaults to a directory named "sigstore-js" within the platform-specific application data directory. + +The returned object exposes a `getTarget(path)` function which returns the +contents of the target at the specified path in the Sigstore TUF repository. + +#### getTarget(path[, options]) (deprecated) Returns the contents of the target at the specified path in the Sigstore TUF repository. +This method has been deprecated and will be removed in the next major version. +You should use the TUF `client` function to retrieve a stateful TUF client and +then call `getTarget` against that object. This will avoid re-initializing the +internal TUF state between requests. * `path` ``: The [path-relative-url string](https://url.spec.whatwg.org/#path-relative-url-string) that uniquely identifies the target within the Sigstore TUF repository. * `options` `` @@ -135,63 +155,9 @@ It is the callers responsibility to make sure that this token has the correct sc If sigstore-js cannot detect ambient credentials, then it will prompt the user to go through the interactive flow. -## Development - -### Changesets -If you are contributing a user-facing or noteworthy change that should be added to the changelog, you should include a changeset with your PR by running the following command: - -```console -npx changeset add -``` - -Follow the prompts to specify whether the change is a major, minor or patch change. This will create a file in the `.changesets` directory of the repo. This change should be committed and included with your PR. - -### Updating Rekor Types - -Update the git `REF` in `hack/generate-rekor-types` from the [sigstore/rekor][1] repository. - -Generate TypeScript types (should update files in scr/types/rekor/\_\_generated\_\_): - -``` -npm run codegen:rekor -``` - -### Release Steps - -Whenever a new changeset is merged to the "main" branch, the `release` workflow will open a PR (or append to the existing PR if one is already open) with the all of the pending changesets. - -Publishing a release simply requires that you approve/merge this PR. This will trigger the publishing of the package to the npm registry and the creation of the GitHub release. - -## Licensing - -`sigstore-js` is licensed under the Apache 2.0 License. - -## Contributing - -See [the contributing docs][7] for details. - -## Code of Conduct -Everyone interacting with this project is expected to follow the [sigstore Code of Conduct][8]. - -## Security - -Should you discover any security issues, please refer to sigstore's [security process][9]. - -## Info - -`sigstore-js` is developed as part of the [`sigstore`][6] project. - -We also use a [slack channel][10]! Click [here][11] for the invite link. [1]: https://github.com/sigstore/rekor [2]: https://github.com/sigstore/protobuf-specs/blob/9b722b68a717778ba4f11543afa4ef93205ab502/protos/sigstore_bundle.proto#L63-L84 [3]: https://github.com/secure-systems-lab/dsse [4]: https://github.com/sigstore/cosign -[5]: https://github.com/sigstore/protobuf-specs -[6]: https://sigstore.dev -[7]: https://github.com/sigstore/.github/blob/main/CONTRIBUTING.md -[8]: https://github.com/sigstore/.github/blob/main/CODE_OF_CONDUCT.md -[9]: https://github.com/sigstore/.github/blob/main/SECURITY.md -[10]: https://sigstore.slack.com -[11]: https://join.slack.com/t/sigstore/shared_invite/zt-mhs55zh0-XmY3bcfWn4XEyMqUUutbUQ diff --git a/deps/npm/node_modules/sigstore/dist/ca/index.d.ts b/deps/npm/node_modules/sigstore/dist/ca/index.d.ts index 0ee0bf4ae67b2b..3a6347293aaa8b 100644 --- a/deps/npm/node_modules/sigstore/dist/ca/index.d.ts +++ b/deps/npm/node_modules/sigstore/dist/ca/index.d.ts @@ -1,12 +1,13 @@ /// /// import { KeyObject } from 'crypto'; +import type { FetchOptions } from '../types/fetch'; export interface CA { createSigningCertificate: (identityToken: string, publicKey: KeyObject, challenge: Buffer) => Promise; } -export interface CAClientOptions { +export type CAClientOptions = { fulcioBaseURL: string; -} +} & FetchOptions; export declare class CAClient implements CA { private fulcio; constructor(options: CAClientOptions); diff --git a/deps/npm/node_modules/sigstore/dist/ca/index.js b/deps/npm/node_modules/sigstore/dist/ca/index.js index 7e0f9e0c5c4c0b..340dd46609aad2 100644 --- a/deps/npm/node_modules/sigstore/dist/ca/index.js +++ b/deps/npm/node_modules/sigstore/dist/ca/index.js @@ -6,13 +6,26 @@ const external_1 = require("../external"); const format_1 = require("./format"); class CAClient { constructor(options) { - this.fulcio = new external_1.Fulcio({ baseURL: options.fulcioBaseURL }); + this.fulcio = new external_1.Fulcio({ + baseURL: options.fulcioBaseURL, + retry: options.retry, + timeout: options.timeout, + }); } async createSigningCertificate(identityToken, publicKey, challenge) { const request = (0, format_1.toCertificateRequest)(identityToken, publicKey, challenge); try { - const certificate = await this.fulcio.createSigningCertificate(request); - return certificate.signedCertificateEmbeddedSct.chain.certificates; + const resp = await this.fulcio.createSigningCertificate(request); + // Account for the fact that the response may contain either a + // signedCertificateEmbeddedSct or a signedCertificateDetachedSct. + const cert = resp.signedCertificateEmbeddedSct + ? resp.signedCertificateEmbeddedSct + : resp.signedCertificateDetachedSct; + // Return the first certificate in the chain, which is the signing + // certificate. Specifically not returning the rest of the chain to + // mitigate the risk of errors when verifying the certificate chain. + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return cert.chain.certificates.slice(0, 1); } catch (err) { throw new error_1.InternalError({ diff --git a/deps/npm/node_modules/sigstore/dist/ca/verify/chain.d.ts b/deps/npm/node_modules/sigstore/dist/ca/verify/chain.d.ts index 7ccc0dcf8d15c8..0a79b42f714a0f 100644 --- a/deps/npm/node_modules/sigstore/dist/ca/verify/chain.d.ts +++ b/deps/npm/node_modules/sigstore/dist/ca/verify/chain.d.ts @@ -1,3 +1,3 @@ import * as sigstore from '../../types/sigstore'; import { x509Certificate } from '../../x509/cert'; -export declare function verifyChain(bundleCerts: sigstore.X509Certificate[], certificateAuthorities: sigstore.CertificateAuthority[]): x509Certificate[]; +export declare function verifyChain(certificate: sigstore.X509Certificate, certificateAuthorities: sigstore.CertificateAuthority[]): x509Certificate[]; diff --git a/deps/npm/node_modules/sigstore/dist/ca/verify/chain.js b/deps/npm/node_modules/sigstore/dist/ca/verify/chain.js index 0f6f7146957284..3246c7a154e2d9 100644 --- a/deps/npm/node_modules/sigstore/dist/ca/verify/chain.js +++ b/deps/npm/node_modules/sigstore/dist/ca/verify/chain.js @@ -19,12 +19,11 @@ limitations under the License. const error_1 = require("../../error"); const cert_1 = require("../../x509/cert"); const verify_1 = require("../../x509/verify"); -function verifyChain(bundleCerts, certificateAuthorities) { - const certs = parseCerts(bundleCerts); - const signingCert = certs[0]; +function verifyChain(certificate, certificateAuthorities) { + const untrustedCert = cert_1.x509Certificate.parse(certificate.rawBytes); // Filter the list of certificate authorities to those which are valid for the // signing certificate's notBefore date. - const validCAs = filterCertificateAuthorities(certificateAuthorities, signingCert.notBefore); + const validCAs = filterCertificateAuthorities(certificateAuthorities, untrustedCert.notBefore); if (validCAs.length === 0) { throw new error_1.VerificationError('No valid certificate authorities'); } @@ -34,9 +33,9 @@ function verifyChain(bundleCerts, certificateAuthorities) { const trustedCerts = parseCerts(ca.certChain?.certificates || []); try { trustedChain = (0, verify_1.verifyCertificateChain)({ + untrustedCert, trustedCerts, - certs, - validAt: signingCert.notBefore, + validAt: untrustedCert.notBefore, }); return true; } diff --git a/deps/npm/node_modules/sigstore/dist/ca/verify/index.js b/deps/npm/node_modules/sigstore/dist/ca/verify/index.js index 9c42f3094338f8..32f85c828fe5a4 100644 --- a/deps/npm/node_modules/sigstore/dist/ca/verify/index.js +++ b/deps/npm/node_modules/sigstore/dist/ca/verify/index.js @@ -6,8 +6,9 @@ const sct_1 = require("./sct"); const signer_1 = require("./signer"); function verifySigningCertificate(bundle, trustedRoot, options) { // Check that a trusted certificate chain can be found for the signing - // certificate in the bundle - const trustedChain = (0, chain_1.verifyChain)(bundle.verificationMaterial.content.x509CertificateChain.certificates, trustedRoot.certificateAuthorities); + // certificate in the bundle. Only the first certificate in the bundle's + // chain is used -- everything else must come from the trusted root. + const trustedChain = (0, chain_1.verifyChain)(bundle.verificationMaterial.content.x509CertificateChain.certificates[0], trustedRoot.certificateAuthorities); // Unless disabled, verify the SCTs in the signing certificate if (options.ctlogOptions.disable === false) { (0, sct_1.verifySCTs)(trustedChain, trustedRoot.ctlogs, options.ctlogOptions); diff --git a/deps/npm/node_modules/sigstore/dist/config.d.ts b/deps/npm/node_modules/sigstore/dist/config.d.ts index 227013f7aa4e48..46be669a181842 100644 --- a/deps/npm/node_modules/sigstore/dist/config.d.ts +++ b/deps/npm/node_modules/sigstore/dist/config.d.ts @@ -1,7 +1,9 @@ import { CA } from './ca'; import { Provider } from './identity'; import { TLog } from './tlog'; +import { TSA } from './tsa'; import * as sigstore from './types/sigstore'; +import type { FetchOptions, Retry } from './types/fetch'; import type { KeySelector } from './verify'; interface CAOptions { fulcioURL?: string; @@ -9,6 +11,9 @@ interface CAOptions { interface TLogOptions { rekorURL?: string; } +interface TSAOptions { + tsaServerURL?: string; +} export interface IdentityProviderOptions { identityToken?: string; oidcIssuer?: string; @@ -16,12 +21,14 @@ export interface IdentityProviderOptions { oidcClientSecret?: string; oidcRedirectURL?: string; } -export interface TUFOptions { +export type TUFOptions = { tufMirrorURL?: string; tufRootPath?: string; tufCachePath?: string; -} -export type SignOptions = CAOptions & TLogOptions & IdentityProviderOptions; +} & FetchOptions; +export type SignOptions = { + tlogUpload?: boolean; +} & CAOptions & TLogOptions & TSAOptions & FetchOptions & IdentityProviderOptions; export type VerifyOptions = { ctLogThreshold?: number; tlogThreshold?: number; @@ -33,12 +40,11 @@ export type VerifyOptions = { } & TLogOptions & TUFOptions; export declare const DEFAULT_FULCIO_URL = "https://fulcio.sigstore.dev"; export declare const DEFAULT_REKOR_URL = "https://rekor.sigstore.dev"; -export declare function createCAClient(options: { - fulcioURL?: string; -}): CA; -export declare function createTLogClient(options: { - rekorURL?: string; -}): TLog; +export declare const DEFAULT_RETRY: Retry; +export declare const DEFAULT_TIMEOUT = 5000; +export declare function createCAClient(options: CAOptions & FetchOptions): CA; +export declare function createTLogClient(options: TLogOptions & FetchOptions): TLog; +export declare function createTSAClient(options: TSAOptions & FetchOptions): TSA | undefined; export declare function artifactVerificationOptions(options: VerifyOptions): sigstore.RequiredArtifactVerificationOptions; export declare function identityProviders(options: IdentityProviderOptions): Provider[]; export {}; diff --git a/deps/npm/node_modules/sigstore/dist/config.js b/deps/npm/node_modules/sigstore/dist/config.js index 7e6e42d9bf3693..1a22c5fef313b7 100644 --- a/deps/npm/node_modules/sigstore/dist/config.js +++ b/deps/npm/node_modules/sigstore/dist/config.js @@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.identityProviders = exports.artifactVerificationOptions = exports.createTLogClient = exports.createCAClient = exports.DEFAULT_REKOR_URL = exports.DEFAULT_FULCIO_URL = void 0; +exports.identityProviders = exports.artifactVerificationOptions = exports.createTSAClient = exports.createTLogClient = exports.createCAClient = exports.DEFAULT_TIMEOUT = exports.DEFAULT_RETRY = exports.DEFAULT_REKOR_URL = exports.DEFAULT_FULCIO_URL = void 0; /* Copyright 2023 The Sigstore Authors. @@ -45,21 +45,38 @@ limitations under the License. const ca_1 = require("./ca"); const identity_1 = __importDefault(require("./identity")); const tlog_1 = require("./tlog"); +const tsa_1 = require("./tsa"); const sigstore = __importStar(require("./types/sigstore")); exports.DEFAULT_FULCIO_URL = 'https://fulcio.sigstore.dev'; exports.DEFAULT_REKOR_URL = 'https://rekor.sigstore.dev'; +exports.DEFAULT_RETRY = { retries: 2 }; +exports.DEFAULT_TIMEOUT = 5000; function createCAClient(options) { return new ca_1.CAClient({ fulcioBaseURL: options.fulcioURL || exports.DEFAULT_FULCIO_URL, + retry: options.retry ?? exports.DEFAULT_RETRY, + timeout: options.timeout ?? exports.DEFAULT_TIMEOUT, }); } exports.createCAClient = createCAClient; function createTLogClient(options) { return new tlog_1.TLogClient({ rekorBaseURL: options.rekorURL || exports.DEFAULT_REKOR_URL, + retry: options.retry ?? exports.DEFAULT_RETRY, + timeout: options.timeout ?? exports.DEFAULT_TIMEOUT, }); } exports.createTLogClient = createTLogClient; +function createTSAClient(options) { + return options.tsaServerURL + ? new tsa_1.TSAClient({ + tsaBaseURL: options.tsaServerURL, + retry: options.retry ?? exports.DEFAULT_RETRY, + timeout: options.timeout ?? exports.DEFAULT_TIMEOUT, + }) + : undefined; +} +exports.createTSAClient = createTSAClient; // Assembles the AtifactVerificationOptions from the supplied VerifyOptions. function artifactVerificationOptions(options) { // The trusted signers are only used if the options contain a certificate diff --git a/deps/npm/node_modules/sigstore/dist/error.d.ts b/deps/npm/node_modules/sigstore/dist/error.d.ts index 011fc4d75fe773..c03bbc31697745 100644 --- a/deps/npm/node_modules/sigstore/dist/error.d.ts +++ b/deps/npm/node_modules/sigstore/dist/error.d.ts @@ -8,7 +8,7 @@ export declare class ValidationError extends BaseError { } export declare class PolicyError extends BaseError { } -type InternalErrorCode = 'TLOG_FETCH_ENTRY_ERROR' | 'TLOG_CREATE_ENTRY_ERROR' | 'CA_CREATE_SIGNING_CERTIFICATE_ERROR' | 'TUF_FIND_TARGET_ERROR' | 'TUF_REFRESH_METADATA_ERROR' | 'TUF_DOWNLOAD_TARGET_ERROR' | 'TUF_READ_TARGET_ERROR'; +type InternalErrorCode = 'TLOG_FETCH_ENTRY_ERROR' | 'TLOG_CREATE_ENTRY_ERROR' | 'CA_CREATE_SIGNING_CERTIFICATE_ERROR' | 'TSA_CREATE_TIMESTAMP_ERROR' | 'TUF_FIND_TARGET_ERROR' | 'TUF_REFRESH_METADATA_ERROR' | 'TUF_DOWNLOAD_TARGET_ERROR' | 'TUF_READ_TARGET_ERROR'; export declare class InternalError extends BaseError { code: InternalErrorCode; constructor({ code, message, cause, }: { diff --git a/deps/npm/node_modules/sigstore/dist/external/fulcio.d.ts b/deps/npm/node_modules/sigstore/dist/external/fulcio.d.ts index 91fe53e69f9387..64b0fc5e347982 100644 --- a/deps/npm/node_modules/sigstore/dist/external/fulcio.d.ts +++ b/deps/npm/node_modules/sigstore/dist/external/fulcio.d.ts @@ -1,6 +1,7 @@ -export interface FulcioOptions { +import type { FetchOptions } from '../types/fetch'; +export type FulcioOptions = { baseURL: string; -} +} & FetchOptions; export interface SigningCertificateRequest { credentials: { oidcIdentityToken: string; @@ -14,10 +15,16 @@ export interface SigningCertificateRequest { }; } export interface SigningCertificateResponse { - signedCertificateEmbeddedSct: { + signedCertificateEmbeddedSct?: { + chain: { + certificates: string[]; + }; + }; + signedCertificateDetachedSct?: { chain: { certificates: string[]; }; + signedCertificateTimestamp: string; }; } /** diff --git a/deps/npm/node_modules/sigstore/dist/external/fulcio.js b/deps/npm/node_modules/sigstore/dist/external/fulcio.js index 288ca32caaea78..aeb48d58d8d83e 100644 --- a/deps/npm/node_modules/sigstore/dist/external/fulcio.js +++ b/deps/npm/node_modules/sigstore/dist/external/fulcio.js @@ -28,8 +28,8 @@ const error_1 = require("./error"); class Fulcio { constructor(options) { this.fetch = make_fetch_happen_1.default.defaults({ - retry: { retries: 2 }, - timeout: 5000, + retry: options.retry, + timeout: options.timeout, headers: { 'Content-Type': 'application/json', 'User-Agent': util_1.ua.getUserAgent(), diff --git a/deps/npm/node_modules/sigstore/dist/external/index.d.ts b/deps/npm/node_modules/sigstore/dist/external/index.d.ts index 07251e93579b18..ef28eca4a951dd 100644 --- a/deps/npm/node_modules/sigstore/dist/external/index.d.ts +++ b/deps/npm/node_modules/sigstore/dist/external/index.d.ts @@ -1,3 +1,4 @@ export { HTTPError } from './error'; export { Fulcio } from './fulcio'; export { Rekor } from './rekor'; +export { TimestampAuthority } from './tsa'; diff --git a/deps/npm/node_modules/sigstore/dist/external/index.js b/deps/npm/node_modules/sigstore/dist/external/index.js index da5f0840012791..f40816e9b7ca40 100644 --- a/deps/npm/node_modules/sigstore/dist/external/index.js +++ b/deps/npm/node_modules/sigstore/dist/external/index.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Rekor = exports.Fulcio = exports.HTTPError = void 0; +exports.TimestampAuthority = exports.Rekor = exports.Fulcio = exports.HTTPError = void 0; /* Copyright 2022 The Sigstore Authors. @@ -22,3 +22,5 @@ var fulcio_1 = require("./fulcio"); Object.defineProperty(exports, "Fulcio", { enumerable: true, get: function () { return fulcio_1.Fulcio; } }); var rekor_1 = require("./rekor"); Object.defineProperty(exports, "Rekor", { enumerable: true, get: function () { return rekor_1.Rekor; } }); +var tsa_1 = require("./tsa"); +Object.defineProperty(exports, "TimestampAuthority", { enumerable: true, get: function () { return tsa_1.TimestampAuthority; } }); diff --git a/deps/npm/node_modules/sigstore/dist/external/rekor.d.ts b/deps/npm/node_modules/sigstore/dist/external/rekor.d.ts index 55a909f11a35d9..fde9a50a5b5399 100644 --- a/deps/npm/node_modules/sigstore/dist/external/rekor.d.ts +++ b/deps/npm/node_modules/sigstore/dist/external/rekor.d.ts @@ -1,7 +1,8 @@ import { Entry, EntryKind } from '../tlog'; -export interface RekorOptions { +import type { FetchOptions } from '../types/fetch'; +export type RekorOptions = { baseURL: string; -} +} & FetchOptions; export interface SearchIndex { email?: string; hash?: string; diff --git a/deps/npm/node_modules/sigstore/dist/external/rekor.js b/deps/npm/node_modules/sigstore/dist/external/rekor.js index 6bb085c44cecd5..80650ce02ff9b1 100644 --- a/deps/npm/node_modules/sigstore/dist/external/rekor.js +++ b/deps/npm/node_modules/sigstore/dist/external/rekor.js @@ -28,8 +28,8 @@ const error_1 = require("./error"); class Rekor { constructor(options) { this.fetch = make_fetch_happen_1.default.defaults({ - retry: { retries: 2 }, - timeout: 5000, + retry: options.retry, + timeout: options.timeout, headers: { Accept: 'application/json', 'User-Agent': util_1.ua.getUserAgent(), diff --git a/deps/npm/node_modules/sigstore/dist/external/tsa.d.ts b/deps/npm/node_modules/sigstore/dist/external/tsa.d.ts new file mode 100644 index 00000000000000..9b5f31151a83d8 --- /dev/null +++ b/deps/npm/node_modules/sigstore/dist/external/tsa.d.ts @@ -0,0 +1,18 @@ +/// +import type { FetchOptions } from '../types/fetch'; +export interface TimestampRequest { + artifactHash: string; + hashAlgorithm: string; + certificates?: boolean; + nonce?: number; + tsaPolicyOID?: string; +} +export type TimestampAuthorityOptions = { + baseURL: string; +} & FetchOptions; +export declare class TimestampAuthority { + private fetch; + private baseUrl; + constructor(options: TimestampAuthorityOptions); + createTimestamp(request: TimestampRequest): Promise; +} diff --git a/deps/npm/node_modules/sigstore/dist/external/tsa.js b/deps/npm/node_modules/sigstore/dist/external/tsa.js new file mode 100644 index 00000000000000..5277d7d3f97071 --- /dev/null +++ b/deps/npm/node_modules/sigstore/dist/external/tsa.js @@ -0,0 +1,47 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TimestampAuthority = void 0; +/* +Copyright 2023 The Sigstore Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +const make_fetch_happen_1 = __importDefault(require("make-fetch-happen")); +const util_1 = require("../util"); +const error_1 = require("./error"); +class TimestampAuthority { + constructor(options) { + this.fetch = make_fetch_happen_1.default.defaults({ + retry: options.retry, + timeout: options.timeout, + headers: { + 'Content-Type': 'application/json', + 'User-Agent': util_1.ua.getUserAgent(), + }, + }); + this.baseUrl = options.baseURL; + } + async createTimestamp(request) { + const url = `${this.baseUrl}/api/v1/timestamp`; + const response = await this.fetch(url, { + method: 'POST', + body: JSON.stringify(request), + }); + (0, error_1.checkStatus)(response); + return response.buffer(); + } +} +exports.TimestampAuthority = TimestampAuthority; diff --git a/deps/npm/node_modules/sigstore/dist/sign.d.ts b/deps/npm/node_modules/sigstore/dist/sign.d.ts index 7d8b4f0de464ec..7d903c06e120a0 100644 --- a/deps/npm/node_modules/sigstore/dist/sign.d.ts +++ b/deps/npm/node_modules/sigstore/dist/sign.d.ts @@ -1,23 +1,28 @@ /// -import { CA } from './ca'; -import { Provider } from './identity'; -import { TLog } from './tlog'; import { SignerFunc } from './types/signature'; -import { Bundle } from './types/sigstore'; +import * as sigstore from './types/sigstore'; +import type { CA } from './ca'; +import type { Provider } from './identity'; +import type { TLog } from './tlog'; +import type { TSA } from './tsa'; export interface SignOptions { ca: CA; tlog: TLog; + tsa?: TSA; identityProviders: Provider[]; + tlogUpload?: boolean; signer?: SignerFunc; } export declare class Signer { private ca; private tlog; + private tsa?; + private tlogUpload; private signer; private identityProviders; constructor(options: SignOptions); - signBlob(payload: Buffer): Promise; - signAttestation(payload: Buffer, payloadType: string): Promise; + signBlob(payload: Buffer): Promise; + signAttestation(payload: Buffer, payloadType: string): Promise; private signWithEphemeralKey; private getIdentityToken; } diff --git a/deps/npm/node_modules/sigstore/dist/sign.js b/deps/npm/node_modules/sigstore/dist/sign.js index 97c3da04b065b7..96e6272750b493 100644 --- a/deps/npm/node_modules/sigstore/dist/sign.js +++ b/deps/npm/node_modules/sigstore/dist/sign.js @@ -1,13 +1,39 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (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.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Signer = void 0; +const sigstore = __importStar(require("./types/sigstore")); const util_1 = require("./util"); class Signer { constructor(options) { this.identityProviders = []; this.ca = options.ca; this.tlog = options.tlog; + this.tsa = options.tsa; this.identityProviders = options.identityProviders; + this.tlogUpload = options.tlogUpload ?? true; this.signer = options.signer || this.signWithEphemeralKey.bind(this); } async signBlob(payload) { @@ -15,8 +41,18 @@ class Signer { const sigMaterial = await this.signer(payload); // Calculate artifact digest const digest = util_1.crypto.hash(payload); - // Create Rekor entry - return this.tlog.createMessageSignatureEntry(digest, sigMaterial); + // Create a Rekor entry (if tlogUpload is enabled) + const entry = this.tlogUpload + ? await this.tlog.createMessageSignatureEntry(digest, sigMaterial) + : undefined; + return sigstore.toMessageSignatureBundle({ + digest, + signature: sigMaterial, + tlogEntry: entry, + timestamp: this.tsa + ? await this.tsa.createTimestamp(sigMaterial.signature) + : undefined, + }); } async signAttestation(payload, payloadType) { // Pre-authentication encoding to be signed @@ -33,7 +69,18 @@ class Signer { }, ], }; - return this.tlog.createDSSEEntry(envelope, sigMaterial); + // Create a Rekor entry (if tlogUpload is enabled) + const entry = this.tlogUpload + ? await this.tlog.createDSSEEntry(envelope, sigMaterial) + : undefined; + return sigstore.toDSSEBundle({ + envelope, + signature: sigMaterial, + tlogEntry: entry, + timestamp: this.tsa + ? await this.tsa.createTimestamp(sigMaterial.signature) + : undefined, + }); } async signWithEphemeralKey(payload) { // Create emphemeral key pair diff --git a/deps/npm/node_modules/sigstore/dist/sigstore-utils.js b/deps/npm/node_modules/sigstore/dist/sigstore-utils.js index 79918a806b17db..13410520472294 100644 --- a/deps/npm/node_modules/sigstore/dist/sigstore-utils.js +++ b/deps/npm/node_modules/sigstore/dist/sigstore-utils.js @@ -67,9 +67,14 @@ async function createRekorEntry(dsseEnvelope, publicKey, options = {}) { const envelope = sigstore.Envelope.fromJSON(dsseEnvelope); const tlog = (0, config_1.createTLogClient)(options); const sigMaterial = (0, signature_1.extractSignatureMaterial)(envelope, publicKey); - const bundle = await tlog.createDSSEEntry(envelope, sigMaterial, { + const entry = await tlog.createDSSEEntry(envelope, sigMaterial, { fetchOnConflict: true, }); + const bundle = sigstore.toDSSEBundle({ + envelope, + signature: sigMaterial, + tlogEntry: entry, + }); return sigstore.Bundle.toJSON(bundle); } exports.createRekorEntry = createRekorEntry; diff --git a/deps/npm/node_modules/sigstore/dist/sigstore.d.ts b/deps/npm/node_modules/sigstore/dist/sigstore.d.ts index 97a64f61fd1d0e..d4fba2be9d01b9 100644 --- a/deps/npm/node_modules/sigstore/dist/sigstore.d.ts +++ b/deps/npm/node_modules/sigstore/dist/sigstore.d.ts @@ -1,15 +1,18 @@ /// import * as config from './config'; +import * as tuf from './tuf'; import * as sigstore from './types/sigstore'; export declare function sign(payload: Buffer, options?: config.SignOptions): Promise; export declare function attest(payload: Buffer, payloadType: string, options?: config.SignOptions): Promise; export declare function verify(bundle: sigstore.SerializedBundle, payload?: Buffer, options?: config.VerifyOptions): Promise; declare const tufUtils: { + client: (options?: config.TUFOptions) => Promise; getTarget: (path: string, options?: config.TUFOptions) => Promise; }; export type { SignOptions, VerifyOptions } from './config'; export { InternalError, PolicyError, ValidationError, VerificationError, } from './error'; export * as utils from './sigstore-utils'; +export type { TUF } from './tuf'; export type { SerializedBundle as Bundle, SerializedEnvelope as Envelope, } from './types/sigstore'; export { tufUtils as tuf }; export declare const DEFAULT_FULCIO_URL = "https://fulcio.sigstore.dev"; diff --git a/deps/npm/node_modules/sigstore/dist/sigstore.js b/deps/npm/node_modules/sigstore/dist/sigstore.js index f45270217b0171..8d245e17b2a0c8 100644 --- a/deps/npm/node_modules/sigstore/dist/sigstore.js +++ b/deps/npm/node_modules/sigstore/dist/sigstore.js @@ -52,6 +52,7 @@ async function sign(payload, options = {}) { ca, tlog, identityProviders: idps, + tlogUpload: options.tlogUpload, }); const bundle = await signer.signBlob(payload); return sigstore.Bundle.toJSON(bundle); @@ -60,11 +61,14 @@ exports.sign = sign; async function attest(payload, payloadType, options = {}) { const ca = config.createCAClient(options); const tlog = config.createTLogClient(options); + const tsa = config.createTSAClient(options); const idps = config.identityProviders(options); const signer = new sign_1.Signer({ ca, tlog, + tsa, identityProviders: idps, + tlogUpload: options.tlogUpload, }); const bundle = await signer.signAttestation(payload, payloadType); return sigstore.Bundle.toJSON(bundle); @@ -75,6 +79,8 @@ async function verify(bundle, payload, options = {}) { mirrorURL: options.tufMirrorURL, rootPath: options.tufRootPath, cachePath: options.tufCachePath, + retry: options.retry ?? config.DEFAULT_RETRY, + timeout: options.timeout ?? config.DEFAULT_TIMEOUT, }); const verifier = new verify_1.Verifier(trustedRoot, options.keySelector); const deserializedBundle = sigstore.bundleFromJSON(bundle); @@ -83,12 +89,21 @@ async function verify(bundle, payload, options = {}) { } exports.verify = verify; const tufUtils = { - getTarget: (path, options = {}) => { - return tuf.getTarget(path, { + client: (options = {}) => { + const t = new tuf.TUFClient({ mirrorURL: options.tufMirrorURL, rootPath: options.tufRootPath, cachePath: options.tufCachePath, + retry: options.retry ?? config.DEFAULT_RETRY, + timeout: options.timeout ?? config.DEFAULT_TIMEOUT, }); + return t.refresh().then(() => t); + }, + /* + * @deprecated Use tufUtils.client instead. + */ + getTarget: (path, options = {}) => { + return tufUtils.client(options).then((t) => t.getTarget(path)); }, }; exports.tuf = tufUtils; diff --git a/deps/npm/node_modules/sigstore/dist/tlog/index.d.ts b/deps/npm/node_modules/sigstore/dist/tlog/index.d.ts index 9d9cc77c70d657..7ef070c6337654 100644 --- a/deps/npm/node_modules/sigstore/dist/tlog/index.d.ts +++ b/deps/npm/node_modules/sigstore/dist/tlog/index.d.ts @@ -1,21 +1,23 @@ /// import { SignatureMaterial } from '../types/signature'; -import { Bundle, Envelope } from '../types/sigstore'; +import * as sigstore from '../types/sigstore'; +import { Entry } from './types'; +import type { FetchOptions } from '../types/fetch'; interface CreateEntryOptions { fetchOnConflict?: boolean; } export { Entry, EntryKind, HashedRekordKind } from './types'; export interface TLog { - createMessageSignatureEntry: (digest: Buffer, sigMaterial: SignatureMaterial) => Promise; - createDSSEEntry: (envelope: Envelope, sigMaterial: SignatureMaterial, options?: CreateEntryOptions) => Promise; + createMessageSignatureEntry: (digest: Buffer, sigMaterial: SignatureMaterial) => Promise; + createDSSEEntry: (envelope: sigstore.Envelope, sigMaterial: SignatureMaterial, options?: CreateEntryOptions) => Promise; } -export interface TLogClientOptions { +export type TLogClientOptions = { rekorBaseURL: string; -} +} & FetchOptions; export declare class TLogClient implements TLog { private rekor; constructor(options: TLogClientOptions); - createMessageSignatureEntry(digest: Buffer, sigMaterial: SignatureMaterial, options?: CreateEntryOptions): Promise; - createDSSEEntry(envelope: Envelope, sigMaterial: SignatureMaterial, options?: CreateEntryOptions): Promise; + createMessageSignatureEntry(digest: Buffer, sigMaterial: SignatureMaterial, options?: CreateEntryOptions): Promise; + createDSSEEntry(envelope: sigstore.Envelope, sigMaterial: SignatureMaterial, options?: CreateEntryOptions): Promise; private createEntry; } diff --git a/deps/npm/node_modules/sigstore/dist/tlog/index.js b/deps/npm/node_modules/sigstore/dist/tlog/index.js index 4193e55752ff00..7f5f531983b37d 100644 --- a/deps/npm/node_modules/sigstore/dist/tlog/index.js +++ b/deps/npm/node_modules/sigstore/dist/tlog/index.js @@ -18,21 +18,22 @@ limitations under the License. */ const error_1 = require("../error"); const external_1 = require("../external"); -const sigstore_1 = require("../types/sigstore"); const format_1 = require("./format"); class TLogClient { constructor(options) { - this.rekor = new external_1.Rekor({ baseURL: options.rekorBaseURL }); + this.rekor = new external_1.Rekor({ + baseURL: options.rekorBaseURL, + retry: options.retry, + timeout: options.timeout, + }); } async createMessageSignatureEntry(digest, sigMaterial, options = {}) { const proposedEntry = (0, format_1.toProposedHashedRekordEntry)(digest, sigMaterial); - const entry = await this.createEntry(proposedEntry, options.fetchOnConflict); - return sigstore_1.bundle.toMessageSignatureBundle(digest, sigMaterial, entry); + return this.createEntry(proposedEntry, options.fetchOnConflict); } async createDSSEEntry(envelope, sigMaterial, options = {}) { const proposedEntry = (0, format_1.toProposedIntotoEntry)(envelope, sigMaterial); - const entry = await this.createEntry(proposedEntry, options.fetchOnConflict); - return sigstore_1.bundle.toDSSEBundle(envelope, sigMaterial, entry); + return this.createEntry(proposedEntry, options.fetchOnConflict); } async createEntry(proposedEntry, fetchOnConflict = false) { let entry; diff --git a/deps/npm/node_modules/sigstore/dist/tsa/index.d.ts b/deps/npm/node_modules/sigstore/dist/tsa/index.d.ts new file mode 100644 index 00000000000000..e94b20c075e557 --- /dev/null +++ b/deps/npm/node_modules/sigstore/dist/tsa/index.d.ts @@ -0,0 +1,13 @@ +/// +import type { FetchOptions } from '../types/fetch'; +export interface TSA { + createTimestamp: (signature: Buffer) => Promise; +} +export type TSAClientOptions = { + tsaBaseURL: string; +} & FetchOptions; +export declare class TSAClient implements TSA { + private tsa; + constructor(options: TSAClientOptions); + createTimestamp(signature: Buffer): Promise; +} diff --git a/deps/npm/node_modules/sigstore/dist/tsa/index.js b/deps/npm/node_modules/sigstore/dist/tsa/index.js new file mode 100644 index 00000000000000..4951b24a93f4fe --- /dev/null +++ b/deps/npm/node_modules/sigstore/dist/tsa/index.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TSAClient = void 0; +/* +Copyright 2022 The Sigstore Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ +const error_1 = require("../error"); +const external_1 = require("../external"); +const util_1 = require("../util"); +class TSAClient { + constructor(options) { + this.tsa = new external_1.TimestampAuthority({ + baseURL: options.tsaBaseURL, + retry: options.retry, + timeout: options.timeout, + }); + } + async createTimestamp(signature) { + const request = { + artifactHash: util_1.crypto.hash(signature).toString('base64'), + hashAlgorithm: 'sha256', + }; + try { + return await this.tsa.createTimestamp(request); + } + catch (err) { + throw new error_1.InternalError({ + code: 'TSA_CREATE_TIMESTAMP_ERROR', + message: 'error creating timestamp', + cause: err, + }); + } + } +} +exports.TSAClient = TSAClient; diff --git a/deps/npm/node_modules/sigstore/dist/tuf/index.d.ts b/deps/npm/node_modules/sigstore/dist/tuf/index.d.ts index 53b9c094d57d3e..12b6b7a423ef5d 100644 --- a/deps/npm/node_modules/sigstore/dist/tuf/index.d.ts +++ b/deps/npm/node_modules/sigstore/dist/tuf/index.d.ts @@ -1,8 +1,17 @@ import * as sigstore from '../types/sigstore'; -export interface TUFOptions { +import type { FetchOptions } from '../types/fetch'; +export type TUFOptions = { cachePath?: string; mirrorURL?: string; rootPath?: string; +} & FetchOptions; +export interface TUF { + getTarget(targetName: string): Promise; } export declare function getTrustedRoot(options?: TUFOptions): Promise; -export declare function getTarget(targetName: string, options?: TUFOptions): Promise; +export declare class TUFClient implements TUF { + private updater; + constructor(options: TUFOptions); + refresh(): Promise; + getTarget(targetName: string): Promise; +} diff --git a/deps/npm/node_modules/sigstore/dist/tuf/index.js b/deps/npm/node_modules/sigstore/dist/tuf/index.js index 89923d63fa6577..86a081de9f3afb 100644 --- a/deps/npm/node_modules/sigstore/dist/tuf/index.js +++ b/deps/npm/node_modules/sigstore/dist/tuf/index.js @@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.getTarget = exports.getTrustedRoot = void 0; +exports.TUFClient = exports.getTrustedRoot = void 0; /* Copyright 2023 The Sigstore Authors. @@ -53,20 +53,28 @@ const DEFAULT_CACHE_DIR = util_1.appdata.appDataPath('sigstore-js'); const DEFAULT_MIRROR_URL = 'https://tuf-repo-cdn.sigstore.dev'; const DEFAULT_TUF_ROOT_PATH = '../../store/public-good-instance-root.json'; async function getTrustedRoot(options = {}) { - const trustedRoot = await getTarget(TRUSTED_ROOT_TARGET, options); + const client = new TUFClient(options); + const trustedRoot = await client.getTarget(TRUSTED_ROOT_TARGET); return sigstore.TrustedRoot.fromJSON(JSON.parse(trustedRoot)); } exports.getTrustedRoot = getTrustedRoot; -async function getTarget(targetName, options = {}) { - const cachePath = options.cachePath || DEFAULT_CACHE_DIR; - const tufRootPath = options.rootPath || require.resolve(DEFAULT_TUF_ROOT_PATH); - const mirrorURL = options.mirrorURL || DEFAULT_MIRROR_URL; - initTufCache(cachePath, tufRootPath); - const remote = initRemoteConfig(cachePath, mirrorURL); - const repoClient = initClient(cachePath, remote); - return (0, target_1.readTarget)(repoClient, targetName); +class TUFClient { + constructor(options) { + const cachePath = options.cachePath || DEFAULT_CACHE_DIR; + const tufRootPath = options.rootPath || require.resolve(DEFAULT_TUF_ROOT_PATH); + const mirrorURL = options.mirrorURL || DEFAULT_MIRROR_URL; + initTufCache(cachePath, tufRootPath); + const remote = initRemoteConfig(cachePath, mirrorURL); + this.updater = initClient(cachePath, remote, options); + } + async refresh() { + return this.updater.refresh(); + } + getTarget(targetName) { + return (0, target_1.readTarget)(this.updater, targetName); + } } -exports.getTarget = getTarget; +exports.TUFClient = TUFClient; // Initializes the TUF cache directory structure including the initial // root.json file. If the cache directory does not exist, it will be // created. If the targets directory does not exist, it will be created. @@ -102,12 +110,29 @@ function initRemoteConfig(rootDir, mirrorURL) { } return remoteConfig; } -function initClient(cachePath, remote) { +function initClient(cachePath, remote, options) { const baseURL = remote.mirror; + const config = { + fetchTimeout: options.timeout, + }; + // tuf-js only supports a number for fetchRetries so we have to + // convert the boolean and object options to a number. + if (typeof options.retry !== 'undefined') { + if (typeof options.retry === 'number') { + config.fetchRetries = options.retry; + } + else if (typeof options.retry === 'object') { + config.fetchRetries = options.retry.retries; + } + else if (options.retry === true) { + config.fetchRetries = 1; + } + } return new tuf_js_1.Updater({ metadataBaseUrl: baseURL, targetBaseUrl: `${baseURL}/targets`, metadataDir: cachePath, targetDir: path_1.default.join(cachePath, 'targets'), + config, }); } diff --git a/deps/npm/node_modules/sigstore/dist/tuf/target.js b/deps/npm/node_modules/sigstore/dist/tuf/target.js index b79411c3dd0a4a..d7df61e5a40761 100644 --- a/deps/npm/node_modules/sigstore/dist/tuf/target.js +++ b/deps/npm/node_modules/sigstore/dist/tuf/target.js @@ -46,7 +46,7 @@ exports.readTarget = readTarget; async function getTargetPath(tuf, target) { let targetInfo; try { - targetInfo = await tuf.refresh().then(() => tuf.getTargetInfo(target)); + targetInfo = await tuf.getTargetInfo(target); } catch (err) { throw new error_1.InternalError({ diff --git a/deps/npm/node_modules/sigstore/dist/types/fetch.d.ts b/deps/npm/node_modules/sigstore/dist/types/fetch.d.ts new file mode 100644 index 00000000000000..510aeee6a37d72 --- /dev/null +++ b/deps/npm/node_modules/sigstore/dist/types/fetch.d.ts @@ -0,0 +1,6 @@ +import type { MakeFetchHappenOptions } from 'make-fetch-happen'; +export type Retry = MakeFetchHappenOptions['retry']; +export type FetchOptions = { + retry?: Retry; + timeout?: number | undefined; +}; diff --git a/deps/npm/node_modules/sigstore/dist/types/fetch.js b/deps/npm/node_modules/sigstore/dist/types/fetch.js new file mode 100644 index 00000000000000..c8ad2e549bdc68 --- /dev/null +++ b/deps/npm/node_modules/sigstore/dist/types/fetch.js @@ -0,0 +1,2 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/deps/npm/node_modules/sigstore/dist/types/sigstore/index.d.ts b/deps/npm/node_modules/sigstore/dist/types/sigstore/index.d.ts index e80e6b15e60aa7..1eeaac215b9a9f 100644 --- a/deps/npm/node_modules/sigstore/dist/types/sigstore/index.d.ts +++ b/deps/npm/node_modules/sigstore/dist/types/sigstore/index.d.ts @@ -1,10 +1,10 @@ /// import { ArtifactVerificationOptions, Bundle, Envelope, TransparencyLogEntry, VerificationMaterial } from '@sigstore/protobuf-specs'; -import { Entry } from '../../tlog'; import { x509Certificate } from '../../x509/cert'; -import { SignatureMaterial } from '../signature'; import { WithRequired } from '../utility'; import { ValidBundle } from './validate'; +import type { Entry } from '../../tlog'; +import type { SignatureMaterial } from '../signature'; export * from '@sigstore/protobuf-specs'; export * from './serialized'; export * from './validate'; @@ -28,8 +28,16 @@ export type CAArtifactVerificationOptions = WithRequired; export declare function isVerifiableTransparencyLogEntry(entry: TransparencyLogEntry): entry is VerifiableTransparencyLogEntry; -export declare const bundle: { - toDSSEBundle: (envelope: Envelope, signature: SignatureMaterial, rekorEntry: Entry) => Bundle; - toMessageSignatureBundle: (digest: Buffer, signature: SignatureMaterial, rekorEntry: Entry) => Bundle; -}; +export declare function toDSSEBundle({ envelope, signature, tlogEntry, timestamp, }: { + envelope: Envelope; + signature: SignatureMaterial; + tlogEntry?: Entry; + timestamp?: Buffer; +}): Bundle; +export declare function toMessageSignatureBundle({ digest, signature, tlogEntry, timestamp, }: { + digest: Buffer; + signature: SignatureMaterial; + tlogEntry?: Entry; + timestamp?: Buffer; +}): Bundle; export declare function signingCertificate(bundle: Bundle): x509Certificate | undefined; diff --git a/deps/npm/node_modules/sigstore/dist/types/sigstore/index.js b/deps/npm/node_modules/sigstore/dist/types/sigstore/index.js index 9fcdb42bdcf343..544db63b002bf8 100644 --- a/deps/npm/node_modules/sigstore/dist/types/sigstore/index.js +++ b/deps/npm/node_modules/sigstore/dist/types/sigstore/index.js @@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.signingCertificate = exports.bundle = exports.isVerifiableTransparencyLogEntry = exports.isCAVerificationOptions = exports.isBundleWithCertificateChain = exports.isBundleWithVerificationMaterial = exports.bundleFromJSON = void 0; +exports.signingCertificate = exports.toMessageSignatureBundle = exports.toDSSEBundle = exports.isVerifiableTransparencyLogEntry = exports.isCAVerificationOptions = exports.isBundleWithCertificateChain = exports.isBundleWithVerificationMaterial = exports.bundleFromJSON = void 0; /* Copyright 2023 The Sigstore Authors. @@ -69,16 +69,20 @@ function isVerifiableTransparencyLogEntry(entry) { entry.kindVersion !== undefined); } exports.isVerifiableTransparencyLogEntry = isVerifiableTransparencyLogEntry; -exports.bundle = { - toDSSEBundle: (envelope, signature, rekorEntry) => ({ +function toDSSEBundle({ envelope, signature, tlogEntry, timestamp, }) { + return { mediaType: BUNDLE_MEDIA_TYPE, - content: { - $case: 'dsseEnvelope', - dsseEnvelope: envelope, - }, - verificationMaterial: toVerificationMaterial(signature, rekorEntry), - }), - toMessageSignatureBundle: (digest, signature, rekorEntry) => ({ + content: { $case: 'dsseEnvelope', dsseEnvelope: envelope }, + verificationMaterial: toVerificationMaterial({ + signature, + tlogEntry, + timestamp, + }), + }; +} +exports.toDSSEBundle = toDSSEBundle; +function toMessageSignatureBundle({ digest, signature, tlogEntry, timestamp, }) { + return { mediaType: BUNDLE_MEDIA_TYPE, content: { $case: 'messageSignature', @@ -90,9 +94,14 @@ exports.bundle = { signature: signature.signature, }, }, - verificationMaterial: toVerificationMaterial(signature, rekorEntry), - }), -}; + verificationMaterial: toVerificationMaterial({ + signature, + tlogEntry, + timestamp, + }), + }; +} +exports.toMessageSignatureBundle = toMessageSignatureBundle; function toTransparencyLogEntry(entry) { const set = Buffer.from(entry.verification.signedEntryTimestamp, 'base64'); const logID = Buffer.from(entry.logID, 'hex'); @@ -116,13 +125,15 @@ function toTransparencyLogEntry(entry) { canonicalizedBody: Buffer.from(entry.body, 'base64'), }; } -function toVerificationMaterial(signature, entry) { +function toVerificationMaterial({ signature, tlogEntry, timestamp, }) { return { content: signature.certificates ? toVerificationMaterialx509CertificateChain(signature.certificates) : toVerificationMaterialPublicKey(signature.key.id || ''), - tlogEntries: [toTransparencyLogEntry(entry)], - timestampVerificationData: undefined, + tlogEntries: tlogEntry ? [toTransparencyLogEntry(tlogEntry)] : [], + timestampVerificationData: timestamp + ? toTimestampVerificationData(timestamp) + : undefined, }; } function toVerificationMaterialx509CertificateChain(certificates) { @@ -138,6 +149,11 @@ function toVerificationMaterialx509CertificateChain(certificates) { function toVerificationMaterialPublicKey(hint) { return { $case: 'publicKey', publicKey: { hint } }; } +function toTimestampVerificationData(timestamp) { + return { + rfc3161Timestamps: [{ signedTimestamp: timestamp }], + }; +} function signingCertificate(bundle) { if (!isBundleWithCertificateChain(bundle)) { return undefined; diff --git a/deps/npm/node_modules/sigstore/dist/verify.js b/deps/npm/node_modules/sigstore/dist/verify.js index 9d21b553ac5232..49f63d93abb268 100644 --- a/deps/npm/node_modules/sigstore/dist/verify.js +++ b/deps/npm/node_modules/sigstore/dist/verify.js @@ -41,7 +41,9 @@ class Verifier { if (sigstore.isBundleWithCertificateChain(bundle)) { this.verifySigningCertificate(bundle, options); } - this.verifyTLogEntries(bundle, options); + if (options.tlogOptions.disable === false) { + this.verifyTLogEntries(bundle, options); + } } // Performs bundle signature verification. Determines the type of the bundle // content and delegates to the appropriate signature verification function. diff --git a/deps/npm/node_modules/sigstore/dist/x509/verify.d.ts b/deps/npm/node_modules/sigstore/dist/x509/verify.d.ts index 04c324dca01c06..b12594adb2ea88 100644 --- a/deps/npm/node_modules/sigstore/dist/x509/verify.d.ts +++ b/deps/npm/node_modules/sigstore/dist/x509/verify.d.ts @@ -1,7 +1,7 @@ import { x509Certificate } from './cert'; interface VerifyCertificateChainOptions { trustedCerts: x509Certificate[]; - certs: x509Certificate[]; + untrustedCert: x509Certificate; validAt?: Date; } export declare function verifyCertificateChain(opts: VerifyCertificateChainOptions): x509Certificate[]; diff --git a/deps/npm/node_modules/sigstore/dist/x509/verify.js b/deps/npm/node_modules/sigstore/dist/x509/verify.js index cc34a9ea23abe0..b4c7f39912a847 100644 --- a/deps/npm/node_modules/sigstore/dist/x509/verify.js +++ b/deps/npm/node_modules/sigstore/dist/x509/verify.js @@ -24,15 +24,15 @@ function verifyCertificateChain(opts) { exports.verifyCertificateChain = verifyCertificateChain; class CertificateChainVerifier { constructor(opts) { - this.certs = opts.certs; + this.untrustedCert = opts.untrustedCert; this.trustedCerts = opts.trustedCerts; - this.localCerts = dedupeCertificates([...opts.trustedCerts, ...opts.certs]); + this.localCerts = dedupeCertificates([ + ...opts.trustedCerts, + opts.untrustedCert, + ]); this.validAt = opts.validAt || new Date(); } verify() { - if (this.certs.length === 0) { - throw new error_1.VerificationError('No certificates provided'); - } // Construct certificate path from leaf to root const certificatePath = this.sort(); // Perform validation checks on each certificate in the path @@ -41,7 +41,7 @@ class CertificateChainVerifier { return certificatePath; } sort() { - const leafCert = this.localCerts[this.localCerts.length - 1]; + const leafCert = this.untrustedCert; // Construct all possible paths from the leaf let paths = this.buildPaths(leafCert); // Filter for paths which contain a trusted certificate @@ -52,7 +52,9 @@ class CertificateChainVerifier { // Find the shortest of possible paths const path = paths.reduce((prev, curr) => prev.length < curr.length ? prev : curr); // Construct chain from shortest path - return [leafCert, ...path]; + // Removes the last certificate in the path, which will be a second copy + // of the root certificate given that the root is self-signed. + return [leafCert, ...path].slice(0, -1); } // Recursively build all possible paths from the leaf to the root buildPaths(certificate) { @@ -123,8 +125,8 @@ class CertificateChainVerifier { return issuers; } checkPath(path) { - if (path.length < 2) { - throw new error_1.VerificationError('Certificate chain must contain at least two certificates'); + if (path.length < 1) { + throw new error_1.VerificationError('Certificate chain must contain at least one certificate'); } // Check that all certificates are valid at the check date const validForDate = path.every((cert) => cert.validForDate(this.validAt)); @@ -143,6 +145,22 @@ class CertificateChainVerifier { throw new error_1.VerificationError('Incorrect certificate name chaining'); } } + // Check pathlength constraints + for (let i = 0; i < path.length; i++) { + const cert = path[i]; + // If the certificate is a CA, check the path length + if (cert.extBasicConstraints?.isCA) { + const pathLength = cert.extBasicConstraints.pathLenConstraint; + // The path length, if set, indicates how many intermediate + // certificates (NOT including the leaf) are allowed to follow. The + // pathLength constraint of any intermediate CA certificate MUST be + // greater than or equal to it's own depth in the chain (with an + // adjustment for the leaf certificate) + if (pathLength !== undefined && pathLength < i - 1) { + throw new error_1.VerificationError('Path length constraint exceeded'); + } + } + } } } // Remove duplicate certificates from the array diff --git a/deps/npm/node_modules/sigstore/package.json b/deps/npm/node_modules/sigstore/package.json index 2df3467186765e..2ca34e2a445ad2 100644 --- a/deps/npm/node_modules/sigstore/package.json +++ b/deps/npm/node_modules/sigstore/package.json @@ -1,58 +1,40 @@ { "name": "sigstore", - "version": "1.4.0", + "version": "1.5.2", "description": "code-signing for npm packages", "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { - "build": "tsc", - "test": "jest", - "test:watch": "jest --watch", - "test:ci": "jest --maxWorkers=2 --coverage", - "lint": "eslint --fix --ext .ts src/**", - "lint:check": "eslint --max-warnings 0 --ext .ts src/**", - "format": "prettier --write \"src/**/*\"", - "release": "npm run build && changeset publish", - "codegen:rekor": "./hack/generate-rekor-types" + "build": "tsc --build", + "test": "jest" }, "bin": { "sigstore": "bin/sigstore.js" }, - "repository": { - "type": "git", - "url": "git+https://github.com/sigstore/sigstore-js.git" - }, - "publishConfig": { - "provenance": true - }, "files": [ "dist", "store" ], "author": "bdehamer@github.com", "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "git+https://github.com/sigstore/sigstore-js.git" + }, "bugs": { "url": "https://github.com/sigstore/sigstore-js/issues" }, - "homepage": "https://github.com/sigstore/sigstore-js#readme", + "homepage": "https://github.com/sigstore/sigstore-js/tree/main/packages/client#readme", + "publishConfig": { + "provenance": true + }, "devDependencies": { - "@changesets/cli": "^2.26.0", "@total-typescript/shoehorn": "^0.1.0", - "@tsconfig/node14": "^1.0.3", "@tufjs/repo-mock": "^1.1.0", - "@types/jest": "^29.4.0", "@types/make-fetch-happen": "^10.0.0", - "@types/node": "^18.6.5", - "@typescript-eslint/eslint-plugin": "^5.26.0", - "@typescript-eslint/parser": "^5.26.0", - "eslint": "^8.16.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^29.4.1", - "json-schema-to-typescript": "^12.0.0", + "@types/node": "^20.0.0", + "json-schema-to-typescript": "^13.0.0", "nock": "^13.2.4", - "prettier": "^2.6.2", - "ts-jest": "^29.0.5", "typescript": "^5.0.2" }, "dependencies": { diff --git a/deps/npm/node_modules/sigstore/store/public-good-instance-root.json b/deps/npm/node_modules/sigstore/store/public-good-instance-root.json index 38f80f940473ac..e95c7e88cdf092 100644 --- a/deps/npm/node_modules/sigstore/store/public-good-instance-root.json +++ b/deps/npm/node_modules/sigstore/store/public-good-instance-root.json @@ -1,156 +1 @@ -{ - "signed": { - "_type": "root", - "spec_version": "1.0", - "version": 5, - "expires": "2023-04-18T18:13:43Z", - "keys": { - "25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEXsz3SZXFb8jMV42j6pJlyjbjR8K\nN3Bwocexq6LMIb5qsWKOQvLN16NUefLc4HswOoumRsVVaajSpQS6fobkRw==\n-----END PUBLIC KEY-----\n" - } - }, - "2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0ghrh92Lw1Yr3idGV5WqCtMDB8Cx\n+D8hdC4w2ZLNIplVRoVGLskYa3gheMyOjiJ8kPi15aQ2//7P+oj7UvJPGw==\n-----END PUBLIC KEY-----\n" - } - }, - "45b283825eb184cabd582eb17b74fc8ed404f68cf452acabdad2ed6f90ce216b": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELrWvNt94v4R085ELeeCMxHp7PldF\n0/T1GxukUh2ODuggLGJE0pc1e8CSBf6CS91Fwo9FUOuRsjBUld+VqSyCdQ==\n-----END PUBLIC KEY-----\n" - } - }, - "7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEinikSsAQmYkNeH5eYq/CnIzLaacO\nxlSaawQDOwqKy/tCqxq5xxPSJc21K4WIhs9GyOkKfzueY3GILzcMJZ4cWw==\n-----END PUBLIC KEY-----\n" - } - }, - "e1863ba02070322ebc626dcecf9d881a3a38c35c3b41a83765b6ad6c37eaec2a": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWRiGr5+j+3J5SsH+Ztr5nE2H2wO7\nBV+nO3s93gLca18qTOzHY1oWyAGDykMSsGTUBSt9D+An0KfKsD2mfSM42Q==\n-----END PUBLIC KEY-----\n" - } - }, - "f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzBzVOmHCPojMVLSI364WiiV8NPrD\n6IgRxVliskz/v+y3JER5mcVGcONliDcWMC5J2lfHmjPNPhb4H7xm8LzfSA==\n-----END PUBLIC KEY-----\n" - } - }, - "ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c": { - "keytype": "ecdsa-sha2-nistp256", - "scheme": "ecdsa-sha2-nistp256", - "keyid_hash_algorithms": [ - "sha256", - "sha512" - ], - "keyval": { - "public": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEy8XKsmhBYDI8Jc0GwzBxeKax0cm5\nSTKEU65HPFunUn41sT8pi0FjM4IkHz/YUmwmLUO0Wt7lxhj6BkLIK4qYAw==\n-----END PUBLIC KEY-----\n" - } - } - }, - "roles": { - "root": { - "keyids": [ - "ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c", - "25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99", - "f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f", - "7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b", - "2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de" - ], - "threshold": 3 - }, - "snapshot": { - "keyids": [ - "45b283825eb184cabd582eb17b74fc8ed404f68cf452acabdad2ed6f90ce216b" - ], - "threshold": 1 - }, - "targets": { - "keyids": [ - "ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c", - "25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99", - "f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f", - "7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b", - "2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de" - ], - "threshold": 3 - }, - "timestamp": { - "keyids": [ - "e1863ba02070322ebc626dcecf9d881a3a38c35c3b41a83765b6ad6c37eaec2a" - ], - "threshold": 1 - } - }, - "consistent_snapshot": true - }, - "signatures": [ - { - "keyid": "ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c", - "sig": "3045022100fc1c2be509ce50ea917bbad1d9efe9d96c8c2ebea04af2717aa3d9c6fe617a75022012eef282a19f2d8bd4818aa333ef48a06489f49d4d34a20b8fe8fc867bb25a7a" - }, - { - "keyid": "25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99", - "sig": "30450221008a4392ae5057fc00778b651e61fea244766a4ae58db84d9f1d3810720ab0f3b702207c49e59e8031318caf02252ecea1281cecc1e5986c309a9cef61f455ecf7165d" - }, - { - "keyid": "7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b", - "sig": "3046022100da1b8dc5d53aaffbbfac98de3e23ee2d2ad3446a7bed09fac0f88bae19be2587022100b681c046afc3919097dfe794e0d819be891e2e850aade315bec06b0c4dea221b" - }, - { - "keyid": "2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de", - "sig": "3046022100b534e0030e1b271133ecfbdf3ba9fbf3becb3689abea079a2150afbb63cdb7c70221008c39a718fd9495f249b4ab8788d5b9dc269f0868dbe38b272f48207359d3ded9" - }, - { - "keyid": "2f64fb5eac0cf94dd39bb45308b98920055e9a0d8e012a7220787834c60aef97", - "sig": "3045022100fc1c2be509ce50ea917bbad1d9efe9d96c8c2ebea04af2717aa3d9c6fe617a75022012eef282a19f2d8bd4818aa333ef48a06489f49d4d34a20b8fe8fc867bb25a7a" - }, - { - "keyid": "eaf22372f417dd618a46f6c627dbc276e9fd30a004fc94f9be946e73f8bd090b", - "sig": "30450221008a4392ae5057fc00778b651e61fea244766a4ae58db84d9f1d3810720ab0f3b702207c49e59e8031318caf02252ecea1281cecc1e5986c309a9cef61f455ecf7165d" - }, - { - "keyid": "f505595165a177a41750a8e864ed1719b1edfccd5a426fd2c0ffda33ce7ff209", - "sig": "3046022100da1b8dc5d53aaffbbfac98de3e23ee2d2ad3446a7bed09fac0f88bae19be2587022100b681c046afc3919097dfe794e0d819be891e2e850aade315bec06b0c4dea221b" - }, - { - "keyid": "75e867ab10e121fdef32094af634707f43ddd79c6bab8ad6c5ab9f03f4ea8c90", - "sig": "3046022100b534e0030e1b271133ecfbdf3ba9fbf3becb3689abea079a2150afbb63cdb7c70221008c39a718fd9495f249b4ab8788d5b9dc269f0868dbe38b272f48207359d3ded9" - } - ] -} \ No newline at end of file +{"signed":{"_type":"root","spec_version":"1.0","version":7,"expires":"2023-10-04T13:08:11Z","keys":{"25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEXsz3SZXFb8jMV42j6pJlyjbjR8K\nN3Bwocexq6LMIb5qsWKOQvLN16NUefLc4HswOoumRsVVaajSpQS6fobkRw==\n-----END PUBLIC KEY-----\n"}},"2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0ghrh92Lw1Yr3idGV5WqCtMDB8Cx\n+D8hdC4w2ZLNIplVRoVGLskYa3gheMyOjiJ8kPi15aQ2//7P+oj7UvJPGw==\n-----END PUBLIC KEY-----\n"}},"45b283825eb184cabd582eb17b74fc8ed404f68cf452acabdad2ed6f90ce216b":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELrWvNt94v4R085ELeeCMxHp7PldF\n0/T1GxukUh2ODuggLGJE0pc1e8CSBf6CS91Fwo9FUOuRsjBUld+VqSyCdQ==\n-----END PUBLIC KEY-----\n"}},"7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEinikSsAQmYkNeH5eYq/CnIzLaacO\nxlSaawQDOwqKy/tCqxq5xxPSJc21K4WIhs9GyOkKfzueY3GILzcMJZ4cWw==\n-----END PUBLIC KEY-----\n"}},"e1863ba02070322ebc626dcecf9d881a3a38c35c3b41a83765b6ad6c37eaec2a":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWRiGr5+j+3J5SsH+Ztr5nE2H2wO7\nBV+nO3s93gLca18qTOzHY1oWyAGDykMSsGTUBSt9D+An0KfKsD2mfSM42Q==\n-----END PUBLIC KEY-----\n"}},"f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzBzVOmHCPojMVLSI364WiiV8NPrD\n6IgRxVliskz/v+y3JER5mcVGcONliDcWMC5J2lfHmjPNPhb4H7xm8LzfSA==\n-----END PUBLIC KEY-----\n"}},"ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c":{"keytype":"ecdsa-sha2-nistp256","scheme":"ecdsa-sha2-nistp256","keyid_hash_algorithms":["sha256","sha512"],"keyval":{"public":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEy8XKsmhBYDI8Jc0GwzBxeKax0cm5\nSTKEU65HPFunUn41sT8pi0FjM4IkHz/YUmwmLUO0Wt7lxhj6BkLIK4qYAw==\n-----END PUBLIC KEY-----\n"}}},"roles":{"root":{"keyids":["ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c","25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99","f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f","7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b","2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de"],"threshold":3},"snapshot":{"keyids":["45b283825eb184cabd582eb17b74fc8ed404f68cf452acabdad2ed6f90ce216b"],"threshold":1},"targets":{"keyids":["ff51e17fcf253119b7033f6f57512631da4a0969442afcf9fc8b141c7f2be99c","25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99","f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f","7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b","2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de"],"threshold":3},"timestamp":{"keyids":["e1863ba02070322ebc626dcecf9d881a3a38c35c3b41a83765b6ad6c37eaec2a"],"threshold":1}},"consistent_snapshot":true},"signatures":[{"keyid":"25a0eb450fd3ee2bd79218c963dce3f1cc6118badf251bf149f0bd07d5cabe99","sig":"3046022100c0610c0055ce5c4a52d054d7322e7b514d55baf44423d63aa4daa077cc60fd1f022100a097f2803f090fb66c42ead915a2c46ebe7db53a32bf18f2188275cc936f8bdd"},{"keyid":"f5312f542c21273d9485a49394386c4575804770667f2ddb59b3bf0669fddd2f","sig":"304502203134f0468810299d5493a867c40630b341296b92e59c29821311d353343bb3a4022100e667ae3d304e7e3da0894c7425f6b9ecd917106841280e5cf6f3496ad5f8f68e"},{"keyid":"7f7513b25429a64473e10ce3ad2f3da372bbdd14b65d07bbaf547e7c8bbbe62b","sig":"3045022037fe5f45426f21eaaf4730d2136f2b1611d6379688f79b9d1e3f61719997135c022100b63b022d7b79d4694b96f416d88aa4d7b1a3bff8a01f4fb51e0f42137c7d2d06"},{"keyid":"2e61cd0cbf4a8f45809bda9f7f78c0d33ad11842ff94ae340873e2664dc843de","sig":"3044022007cc8fcc4940809f2751ad5b535f4c5f53f5b4952f5b5696b09668e743306ac1022006dfcdf94e94c92163eeb1b47796db62cedaa730aa13aa61b573fe23714730f2"}]} diff --git a/deps/npm/node_modules/tuf-js/dist/fetcher.js b/deps/npm/node_modules/tuf-js/dist/fetcher.js index 7a7405ac53e720..d3dcf53eeb8697 100644 --- a/deps/npm/node_modules/tuf-js/dist/fetcher.js +++ b/deps/npm/node_modules/tuf-js/dist/fetcher.js @@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultFetcher = exports.BaseFetcher = void 0; +const debug_1 = __importDefault(require("debug")); const fs_1 = __importDefault(require("fs")); const make_fetch_happen_1 = __importDefault(require("make-fetch-happen")); const util_1 = __importDefault(require("util")); const error_1 = require("./error"); const tmpfile_1 = require("./utils/tmpfile"); +const log = (0, debug_1.default)('tuf:fetch'); class BaseFetcher { // Download file from given URL. The file is downloaded to a temporary // location and then passed to the given handler. The handler is responsible @@ -58,6 +60,7 @@ class DefaultFetcher extends BaseFetcher { this.retries = options.retries; } async fetch(url) { + log('GET %s', url); const response = await (0, make_fetch_happen_1.default)(url, { timeout: this.timeout, retry: this.retries, diff --git a/deps/npm/node_modules/tuf-js/dist/updater.js b/deps/npm/node_modules/tuf-js/dist/updater.js index 68243e554facb0..71fa4981e31229 100644 --- a/deps/npm/node_modules/tuf-js/dist/updater.js +++ b/deps/npm/node_modules/tuf-js/dist/updater.js @@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) { __setModuleDefault(result, mod); return result; }; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Updater = void 0; const models_1 = require("@tufjs/models"); +const debug_1 = __importDefault(require("debug")); const fs = __importStar(require("fs")); const path = __importStar(require("path")); const config_1 = require("./config"); @@ -32,6 +36,7 @@ const error_1 = require("./error"); const fetcher_1 = require("./fetcher"); const store_1 = require("./store"); const url = __importStar(require("./utils/url")); +const log = (0, debug_1.default)('tuf:cache'); class Updater { constructor(options) { const { metadataDir, metadataBaseUrl, targetDir, targetBaseUrl, fetcher, config, } = options; @@ -86,6 +91,7 @@ class Updater { // Verify hashes and length of downloaded file await targetInfo.verify(fs.createReadStream(fileName)); // Copy file to target path + log('WRITE %s', targetPath); fs.copyFileSync(fileName, targetPath); }); return targetPath; @@ -107,6 +113,7 @@ class Updater { } loadLocalMetadata(fileName) { const filePath = path.join(this.dir, `${fileName}.json`); + log('READ %s', filePath); return fs.readFileSync(filePath); } // Sequentially load and persist on local disk every newer root metadata @@ -300,6 +307,7 @@ class Updater { async persistMetadata(metaDataName, bytesData) { try { const filePath = path.join(this.dir, `${metaDataName}.json`); + log('WRITE %s', filePath); fs.writeFileSync(filePath, bytesData.toString('utf8')); } catch (error) { diff --git a/deps/npm/node_modules/tuf-js/package.json b/deps/npm/node_modules/tuf-js/package.json index ab84004c49403b..c1134af2b2ff3d 100644 --- a/deps/npm/node_modules/tuf-js/package.json +++ b/deps/npm/node_modules/tuf-js/package.json @@ -1,6 +1,6 @@ { "name": "tuf-js", - "version": "1.1.5", + "version": "1.1.6", "description": "JavaScript implementation of The Update Framework (TUF)", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -29,14 +29,16 @@ "homepage": "https://github.com/theupdateframework/tuf-js/tree/main/packages/client#readme", "devDependencies": { "@tufjs/repo-mock": "1.3.1", + "@types/debug": "^4.1.7", "@types/make-fetch-happen": "^10.0.1", - "@types/node": "^18.16.3", + "@types/node": "^20.1.1", "nock": "^13.3.1", "typescript": "^5.0.4" }, "dependencies": { - "make-fetch-happen": "^11.1.0", - "@tufjs/models": "1.0.4" + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" diff --git a/deps/npm/package.json b/deps/npm/package.json index 9486e8c6ef3099..148a2a3b9e56a4 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "9.6.6", + "version": "9.6.7", "name": "npm", "description": "a package manager for JavaScript", "workspaces": [ @@ -54,13 +54,13 @@ "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^6.2.9", - "@npmcli/config": "^6.1.6", + "@npmcli/config": "^6.1.7", "@npmcli/map-workspaces": "^3.0.4", - "@npmcli/package-json": "^3.0.0", - "@npmcli/run-script": "^6.0.1", + "@npmcli/package-json": "^3.1.0", + "@npmcli/run-script": "^6.0.2", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^17.1.0", + "cacache": "^17.1.2", "chalk": "^4.1.2", "ci-info": "^3.8.0", "cli-columns": "^4.0.0", @@ -68,7 +68,7 @@ "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.2", - "glob": "^10.2.2", + "glob": "^10.2.4", "graceful-fs": "^4.2.11", "hosted-git-info": "^6.1.1", "ini": "^4.1.0", @@ -82,7 +82,7 @@ "libnpmhook": "^9.0.3", "libnpmorg": "^5.0.4", "libnpmpack": "^5.0.17", - "libnpmpublish": "^7.1.4", + "libnpmpublish": "^7.2.0", "libnpmsearch": "^6.0.2", "libnpmteam": "^5.0.3", "libnpmversion": "^4.0.2", @@ -109,7 +109,7 @@ "read": "^2.1.0", "read-package-json": "^6.0.3", "read-package-json-fast": "^3.0.2", - "semver": "^7.5.0", + "semver": "^7.5.1", "ssri": "^10.0.4", "tar": "^6.1.14", "text-table": "~0.2.0", diff --git a/deps/npm/tap-snapshots/test/lib/docs.js.test.cjs b/deps/npm/tap-snapshots/test/lib/docs.js.test.cjs index 85c6bf7956e9cb..d7a943500e49e5 100644 --- a/deps/npm/tap-snapshots/test/lib/docs.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/docs.js.test.cjs @@ -332,16 +332,6 @@ npm exec --package yo --package generator-node --call "yo node" \`\`\` -#### \`ci-name\` - -* Default: The name of the current CI system, or \`null\` when not on a known CI - platform. -* Type: null or String - -The name of a continuous integration system. If not set explicitly, npm will -detect the current CI environment using the -[\`ci-info\`](http://npm.im/ci-info) module. - #### \`cidr\` * Default: null @@ -1557,6 +1547,18 @@ It is _not_ the path to a certificate file, though you can set a registry-scoped "certfile" path like "//other-registry.tld/:certfile=/path/to/cert.pem". +#### \`ci-name\` + +* Default: The name of the current CI system, or \`null\` when not on a known CI + platform. +* Type: null or String +* DEPRECATED: This config is deprecated and will not be changeable in future + version of npm. + +The name of a continuous integration system. If not set explicitly, npm will +detect the current CI environment using the +[\`ci-info\`](http://npm.im/ci-info) module. + #### \`dev\` * Default: false From f3809531034f1b43df43fda9c0ec306e7e34f688 Mon Sep 17 00:00:00 2001 From: Gil Tayar Date: Fri, 19 May 2023 18:50:50 +0300 Subject: [PATCH 027/146] module: change default resolver to not throw on unknown scheme Fixes https://github.com/nodejs/loaders/issues/138 PR-URL: https://github.com/nodejs/node/pull/47824 Reviewed-By: Moshe Atlow Reviewed-By: Benjamin Gruenbaum Reviewed-By: Guy Bedford Reviewed-By: Geoffrey Booth Reviewed-By: Antoine du Hamel --- doc/api/esm.md | 143 +++++++++++------- lib/internal/modules/esm/load.js | 31 ++++ lib/internal/modules/esm/resolve.js | 36 ----- test/es-module/test-esm-dynamic-import.js | 2 +- .../test-esm-import-meta-resolve.mjs | 2 + .../test-esm-loader-default-resolver.mjs | 52 +++++++ .../es-module-loaders/byop-dummy-loader.mjs | 30 ++++ .../es-module-loaders/http-loader.mjs | 18 --- 8 files changed, 202 insertions(+), 112 deletions(-) create mode 100644 test/es-module/test-esm-loader-default-resolver.mjs create mode 100644 test/fixtures/es-module-loaders/byop-dummy-loader.mjs diff --git a/doc/api/esm.md b/doc/api/esm.md index 02fed0990542b2..df50f93dddf1c9 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -143,8 +143,9 @@ There are three types of specifiers: * _Absolute specifiers_ like `'file:///opt/nodejs/config.js'`. They refer directly and explicitly to a full path. -Bare specifier resolutions are handled by the [Node.js module resolution -algorithm][]. All other specifier resolutions are always only resolved with +Bare specifier resolutions are handled by the [Node.js module +resolution and loading algorithm][]. +All other specifier resolutions are always only resolved with the standard relative [URL][] resolution semantics. Like in CommonJS, module files within packages can be accessed by appending a @@ -1029,28 +1030,6 @@ and there is no security. // https-loader.mjs import { get } from 'node:https'; -export function resolve(specifier, context, nextResolve) { - const { parentURL = null } = context; - - // Normally Node.js would error on specifiers starting with 'https://', so - // this hook intercepts them and converts them into absolute URLs to be - // passed along to the later hooks below. - if (specifier.startsWith('https://')) { - return { - shortCircuit: true, - url: specifier, - }; - } else if (parentURL && parentURL.startsWith('https://')) { - return { - shortCircuit: true, - url: new URL(specifier, parentURL).href, - }; - } - - // Let Node.js handle all other specifiers. - return nextResolve(specifier); -} - export function load(url, context, nextLoad) { // For JavaScript to be loaded over the network, we need to fetch and // return it. @@ -1091,9 +1070,7 @@ prints the current version of CoffeeScript per the module at the URL in #### Transpiler loader Sources that are in formats Node.js doesn't understand can be converted into -JavaScript using the [`load` hook][load hook]. Before that hook gets called, -however, a [`resolve` hook][resolve hook] needs to tell Node.js not to -throw an error on unknown file types. +JavaScript using the [`load` hook][load hook]. This is less performant than transpiling source files before running Node.js; a transpiler loader should only be used for development and testing @@ -1109,25 +1086,6 @@ import CoffeeScript from 'coffeescript'; const baseURL = pathToFileURL(`${cwd()}/`).href; -// CoffeeScript files end in .coffee, .litcoffee, or .coffee.md. -const extensionsRegex = /\.coffee$|\.litcoffee$|\.coffee\.md$/; - -export function resolve(specifier, context, nextResolve) { - if (extensionsRegex.test(specifier)) { - const { parentURL = baseURL } = context; - - // Node.js normally errors on unknown file extensions, so return a URL for - // specifiers ending in the CoffeeScript file extensions. - return { - shortCircuit: true, - url: new URL(specifier, parentURL).href, - }; - } - - // Let Node.js handle all other specifiers. - return nextResolve(specifier); -} - export async function load(url, context, nextLoad) { if (extensionsRegex.test(url)) { // Now that we patched resolve to let CoffeeScript URLs through, we need to @@ -1220,27 +1178,99 @@ loaded from disk but before Node.js executes it; and so on for any `.coffee`, `.litcoffee` or `.coffee.md` files referenced via `import` statements of any loaded file. -## Resolution algorithm +#### "import map" loader + +The previous two loaders defined `load` hooks. This is an example of a loader +that does its work via the `resolve` hook. This loader reads an +`import-map.json` file that specifies which specifiers to override to another +URL (this is a very simplistic implemenation of a small subset of the +"import maps" specification). + +```js +// import-map-loader.js +import fs from 'node:fs/promises'; + +const { imports } = JSON.parse(await fs.readFile('import-map.json')); + +export async function resolve(specifier, context, nextResolve) { + if (Object.hasOwn(imports, specifier)) { + return nextResolve(imports[specifier], context); + } + + return nextResolve(specifier, context); +} +``` + +Let's assume we have these files: + +```js +// main.js +import 'a-module'; +``` + +```json +// import-map.json +{ + "imports": { + "a-module": "./some-module.js" + } +} +``` + +```js +// some-module.js +console.log('some module!'); +``` + +If you run `node --experimental-loader ./import-map-loader.js main.js` +the output will be `some module!`. + +## Resolution and loading algorithm ### Features -The resolver has the following properties: +The default resolver has the following properties: * FileURL-based resolution as is used by ES modules -* Support for builtin module loading * Relative and absolute URL resolution * No default extensions * No folder mains * Bare specifier package resolution lookup through node\_modules +* Does not fail on unknown extensions or protocols +* Can optionally provide a hint of the format to the loading phase + +The default loader has the following properties -### Resolver algorithm +* Support for builtin module loading via `node:` URLs +* Support for "inline" module loading via `data:` URLs +* Support for `file:` module loading +* Fails on any other URL protocol +* Fails on unknown extensions for `file:` loading + (supports only `.cjs`, `.js`, and `.mjs`) + +### Resolution algorithm The algorithm to load an ES module specifier is given through the **ESM\_RESOLVE** method below. It returns the resolved URL for a module specifier relative to a parentURL. +The resolution algorithm determines the full resolved URL for a module +load, along with its suggested module format. The resolution algorithm +does not determine whether the resolved URL protocol can be loaded, +or whether the file extensions are permitted, instead these validations +are applied by Node.js during the load phase +(for example, if it was asked to load a URL that has a protocol that is +not `file:`, `data:`, `node:`, or if `--experimental-network-imports` +is enabled, `https:`). + +The algorithm also tries to determine the format of the file based +on the extension (see `ESM_FILE_FORMAT` algorithm below). If it does +not recognize the file extension (eg if it is not `.mjs`, `.cjs`, or +`.json`), then a format of `undefined` is returned, +which will throw during the load phase. + The algorithm to determine the module format of a resolved URL is -provided by **ESM\_FORMAT**, which returns the unique module +provided by **ESM\_FILE\_FORMAT**, which returns the unique module format for any file. The _"module"_ format is returned for an ECMAScript Module, while the _"commonjs"_ format is used to indicate loading through the legacy CommonJS loader. Additional formats such as _"addon"_ can be extended in @@ -1267,7 +1297,7 @@ The resolver can throw the following errors: * _Unsupported Directory Import_: The resolved path corresponds to a directory, which is not a supported target for module imports. -### Resolver Algorithm Specification +### Resolution Algorithm Specification **ESM\_RESOLVE**(_specifier_, _parentURL_) @@ -1301,7 +1331,7 @@ The resolver can throw the following errors: > 8. Otherwise, > 1. Set _format_ the module format of the content type associated with the > URL _resolved_. -> 9. Load _resolved_ as module format, _format_. +> 9. Return _format_ and _resolved_ to the loading phase **PACKAGE\_RESOLVE**(_packageSpecifier_, _parentURL_) @@ -1506,9 +1536,9 @@ _isImports_, _conditions_) > 7. If _pjson?.type_ exists and is _"module"_, then > 1. If _url_ ends in _".js"_, then > 1. Return _"module"_. -> 2. Throw an _Unsupported File Extension_ error. +> 2. Return **undefined**. > 8. Otherwise, -> 1. Throw an _Unsupported File Extension_ error. +> 1. Return **undefined**. **LOOKUP\_PACKAGE\_SCOPE**(_url_) @@ -1552,7 +1582,7 @@ for ESM specifiers is [commonjs-extension-resolution-loader][]. [Import Assertions proposal]: https://github.com/tc39/proposal-import-assertions [JSON modules]: #json-modules [Loaders API]: #loaders -[Node.js Module Resolution Algorithm]: #resolver-algorithm-specification +[Node.js Module Resolution And Loading Algorithm]: #resolution-algorithm-specification [Terminology]: #terminology [URL]: https://url.spec.whatwg.org/ [`"exports"`]: packages.md#exports @@ -1581,7 +1611,6 @@ for ESM specifiers is [commonjs-extension-resolution-loader][]. [custom https loader]: #https-loader [load hook]: #loadurl-context-nextload [percent-encoded]: url.md#percent-encoding-in-urls -[resolve hook]: #resolvespecifier-context-nextresolve [special scheme]: https://url.spec.whatwg.org/#special-scheme [status code]: process.md#exit-codes [the official standard format]: https://tc39.github.io/ecma262/#sec-modules diff --git a/lib/internal/modules/esm/load.js b/lib/internal/modules/esm/load.js index d2ab555c84b76e..9ab6f18f3fdda9 100644 --- a/lib/internal/modules/esm/load.js +++ b/lib/internal/modules/esm/load.js @@ -79,6 +79,8 @@ async function defaultLoad(url, context = kEmptyObject) { source, } = context; + throwIfUnsupportedURLScheme(new URL(url), experimentalNetworkImports); + if (format == null) { format = await defaultGetFormat(url, context); } @@ -102,6 +104,35 @@ async function defaultLoad(url, context = kEmptyObject) { }; } +/** + * throws an error if the protocol is not one of the protocols + * that can be loaded in the default loader + * @param {URL} parsed + * @param {boolean} experimentalNetworkImports + */ +function throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports) { + // Avoid accessing the `protocol` property due to the lazy getters. + const protocol = parsed?.protocol; + if ( + protocol && + protocol !== 'file:' && + protocol !== 'data:' && + protocol !== 'node:' && + ( + !experimentalNetworkImports || + ( + protocol !== 'https:' && + protocol !== 'http:' + ) + ) + ) { + const schemes = ['file', 'data', 'node']; + if (experimentalNetworkImports) { + ArrayPrototypePush(schemes, 'https', 'http'); + } + throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed, schemes); + } +} /** * For a falsy `format` returned from `load`, throw an error. diff --git a/lib/internal/modules/esm/resolve.js b/lib/internal/modules/esm/resolve.js index 21703d63f6aa41..927b118f8ede2b 100644 --- a/lib/internal/modules/esm/resolve.js +++ b/lib/internal/modules/esm/resolve.js @@ -3,7 +3,6 @@ const { ArrayIsArray, ArrayPrototypeJoin, - ArrayPrototypePush, ArrayPrototypeShift, JSONStringify, ObjectGetOwnPropertyNames, @@ -51,7 +50,6 @@ const { ERR_PACKAGE_PATH_NOT_EXPORTED, ERR_UNSUPPORTED_DIR_IMPORT, ERR_NETWORK_IMPORT_DISALLOWED, - ERR_UNSUPPORTED_ESM_URL_SCHEME, } = require('internal/errors').codes; const { Module: CJSModule } = require('internal/modules/cjs/loader'); @@ -941,37 +939,6 @@ function throwIfInvalidParentURL(parentURL) { } } -function throwIfUnsupportedURLProtocol(url) { - // Avoid accessing the `protocol` property due to the lazy getters. - const protocol = url.protocol; - if (protocol !== 'file:' && protocol !== 'data:' && - protocol !== 'node:') { - throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(url); - } -} - -function throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports) { - // Avoid accessing the `protocol` property due to the lazy getters. - const protocol = parsed?.protocol; - if ( - protocol && - protocol !== 'file:' && - protocol !== 'data:' && - ( - !experimentalNetworkImports || - ( - protocol !== 'https:' && - protocol !== 'http:' - ) - ) - ) { - const schemes = ['file', 'data']; - if (experimentalNetworkImports) { - ArrayPrototypePush(schemes, 'https', 'http'); - } - throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed, schemes); - } -} function defaultResolve(specifier, context = {}) { let { parentURL, conditions } = context; @@ -1048,7 +1015,6 @@ function defaultResolve(specifier, context = {}) { // This must come after checkIfDisallowedImport if (parsed && parsed.protocol === 'node:') return { __proto__: null, url: specifier }; - throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports); const isMain = parentURL === undefined; if (isMain) { @@ -1095,8 +1061,6 @@ function defaultResolve(specifier, context = {}) { throw error; } - throwIfUnsupportedURLProtocol(url); - return { __proto__: null, // Do NOT cast `url` to a string: that will work even when there are real diff --git a/test/es-module/test-esm-dynamic-import.js b/test/es-module/test-esm-dynamic-import.js index 95d34244357e7c..ac6b35ebc1bc15 100644 --- a/test/es-module/test-esm-dynamic-import.js +++ b/test/es-module/test-esm-dynamic-import.js @@ -59,7 +59,7 @@ function expectFsNamespace(result) { 'ERR_UNSUPPORTED_ESM_URL_SCHEME'); if (common.isWindows) { const msg = - 'Only URLs with a scheme in: file and data are supported by the default ' + + 'Only URLs with a scheme in: file, data, and node are supported by the default ' + 'ESM loader. On Windows, absolute paths must be valid file:// URLs. ' + "Received protocol 'c:'"; expectModuleError(import('C:\\example\\foo.mjs'), diff --git a/test/es-module/test-esm-import-meta-resolve.mjs b/test/es-module/test-esm-import-meta-resolve.mjs index 22139122eb505c..ec6cd37ab01e10 100644 --- a/test/es-module/test-esm-import-meta-resolve.mjs +++ b/test/es-module/test-esm-import-meta-resolve.mjs @@ -30,6 +30,8 @@ assert.strictEqual( code: 'ERR_INVALID_ARG_TYPE', }) ); +assert.strictEqual(import.meta.resolve('http://some-absolute/url'), 'http://some-absolute/url'); +assert.strictEqual(import.meta.resolve('some://weird/protocol'), 'some://weird/protocol'); assert.strictEqual(import.meta.resolve('baz/', fixtures), fixtures + 'node_modules/baz/'); diff --git a/test/es-module/test-esm-loader-default-resolver.mjs b/test/es-module/test-esm-loader-default-resolver.mjs new file mode 100644 index 00000000000000..27320fcfcfe862 --- /dev/null +++ b/test/es-module/test-esm-loader-default-resolver.mjs @@ -0,0 +1,52 @@ +import { spawnPromisified } from '../common/index.mjs'; +import * as fixtures from '../common/fixtures.mjs'; +import assert from 'node:assert'; +import { execPath } from 'node:process'; +import { describe, it } from 'node:test'; + +describe('default resolver', () => { + // In these tests `byop` is an acronym for "bring your own protocol", and is the + // protocol our byop-dummy-loader.mjs can load + it('should accept foreign schemas without exception (e.g. byop://something/or-other)', async () => { + const { code, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + fixtures.fileURL('/es-module-loaders/byop-dummy-loader.mjs'), + '--input-type=module', + '--eval', + "import 'byop://1/index.mjs'", + ]); + assert.strictEqual(code, 0); + assert.strictEqual(stdout.trim(), 'index.mjs!'); + assert.strictEqual(stderr, ''); + }); + + it('should resolve foreign schemas by doing regular url absolutization', async () => { + const { code, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + fixtures.fileURL('/es-module-loaders/byop-dummy-loader.mjs'), + '--input-type=module', + '--eval', + "import 'byop://1/index2.mjs'", + ]); + assert.strictEqual(code, 0); + assert.strictEqual(stdout.trim(), '42'); + assert.strictEqual(stderr, ''); + }); + + // In this test, `byoe` is an acronym for "bring your own extension" + it('should accept foreign extensions without exception (e.g. ..//something.byoe)', async () => { + const { code, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + fixtures.fileURL('/es-module-loaders/byop-dummy-loader.mjs'), + '--input-type=module', + '--eval', + "import 'byop://1/index.byoe'", + ]); + assert.strictEqual(code, 0); + assert.strictEqual(stdout.trim(), 'index.byoe!'); + assert.strictEqual(stderr, ''); + }); +}); diff --git a/test/fixtures/es-module-loaders/byop-dummy-loader.mjs b/test/fixtures/es-module-loaders/byop-dummy-loader.mjs new file mode 100644 index 00000000000000..17a3430b44e3f6 --- /dev/null +++ b/test/fixtures/es-module-loaders/byop-dummy-loader.mjs @@ -0,0 +1,30 @@ +export function load(url, context, nextLoad) { + switch (url) { + case 'byop://1/index.mjs': + return { + source: 'console.log("index.mjs!")', + format: 'module', + shortCircuit: true, + }; + case 'byop://1/index2.mjs': + return { + source: 'import c from "./sub.mjs"; console.log(c);', + format: 'module', + shortCircuit: true, + }; + case 'byop://1/sub.mjs': + return { + source: 'export default 42', + format: 'module', + shortCircuit: true, + }; + case 'byop://1/index.byoe': + return { + source: 'console.log("index.byoe!")', + format: 'module', + shortCircuit: true, + }; + default: + return nextLoad(url, context); + } +} diff --git a/test/fixtures/es-module-loaders/http-loader.mjs b/test/fixtures/es-module-loaders/http-loader.mjs index 8096dd9bb73a4c..4fe8fcb4797436 100644 --- a/test/fixtures/es-module-loaders/http-loader.mjs +++ b/test/fixtures/es-module-loaders/http-loader.mjs @@ -1,23 +1,5 @@ import { get } from 'http'; -export function resolve(specifier, context, nextResolve) { - const { parentURL = null } = context; - - if (specifier.startsWith('http://')) { - return { - shortCircuit: true, - url: specifier, - }; - } else if (parentURL?.startsWith('http://')) { - return { - shortCircuit: true, - url: new URL(specifier, parentURL).href, - }; - } - - return nextResolve(specifier); -} - export function load(url, context, nextLoad) { if (url.startsWith('http://')) { return new Promise((resolve, reject) => { From 5917ba1838fc02606534ff9219e150e89b89d3ce Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Fri, 19 May 2023 10:18:58 -0700 Subject: [PATCH 028/146] doc: update broken spkac link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48063 Reviewed-By: Richard Lau Reviewed-By: Deokjin Kim Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Tobias Nießen --- doc/api/crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 7fd9e1d2fd7f64..e18621f3647ee9 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -5995,7 +5995,7 @@ See the [list of SSL OP Flags][] for details. [NIST SP 800-132]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf [NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf [Nonce-Disrespecting Adversaries]: https://github.com/nonce-disrespect/nonce-disrespect -[OpenSSL's SPKAC implementation]: https://www.openssl.org/docs/man1.1.0/apps/openssl-spkac.html +[OpenSSL's SPKAC implementation]: https://www.openssl.org/docs/man3.0/man1/openssl-spkac.html [RFC 1421]: https://www.rfc-editor.org/rfc/rfc1421.txt [RFC 2409]: https://www.rfc-editor.org/rfc/rfc2409.txt [RFC 2818]: https://www.rfc-editor.org/rfc/rfc2818.txt From 1e3e7c9f3341640a669f7539223b2e7b22dc9cc7 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Fri, 19 May 2023 10:19:07 -0700 Subject: [PATCH 029/146] doc: update broken EVP_BytesToKey link PR-URL: https://github.com/nodejs/node/pull/48064 Reviewed-By: Richard Lau Reviewed-By: Deokjin Kim Reviewed-By: Debadree Chatterjee Reviewed-By: Mohammed Keyvanzadeh --- doc/api/crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index e18621f3647ee9..023c313549161c 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -6009,7 +6009,7 @@ See the [list of SSL OP Flags][] for details. [`BN_is_prime_ex`]: https://www.openssl.org/docs/man1.1.1/man3/BN_is_prime_ex.html [`Buffer`]: buffer.md [`DiffieHellmanGroup`]: #class-diffiehellmangroup -[`EVP_BytesToKey`]: https://www.openssl.org/docs/man1.1.0/crypto/EVP_BytesToKey.html +[`EVP_BytesToKey`]: https://www.openssl.org/docs/man3.0/man3/EVP_BytesToKey.html [`KeyObject`]: #class-keyobject [`Sign`]: #class-sign [`String.prototype.normalize()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize From 443477e041db56ee6eff3e0d79fa092e8ff5abb1 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Thu, 4 May 2023 20:42:42 +0000 Subject: [PATCH 030/146] deps: update uvwasi to 0.0.17 PR-URL: https://github.com/nodejs/node/pull/47866 Reviewed-By: Michael Dawson Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Mestery Reviewed-By: Santiago Gimeno Reviewed-By: Colin Ihrig --- deps/uvwasi/include/uvwasi.h | 2 +- deps/uvwasi/src/uvwasi.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/uvwasi/include/uvwasi.h b/deps/uvwasi/include/uvwasi.h index b5da3108629792..aee6b4de191962 100644 --- a/deps/uvwasi/include/uvwasi.h +++ b/deps/uvwasi/include/uvwasi.h @@ -10,7 +10,7 @@ extern "C" { #define UVWASI_VERSION_MAJOR 0 #define UVWASI_VERSION_MINOR 0 -#define UVWASI_VERSION_PATCH 16 +#define UVWASI_VERSION_PATCH 17 #define UVWASI_VERSION_HEX ((UVWASI_VERSION_MAJOR << 16) | \ (UVWASI_VERSION_MINOR << 8) | \ (UVWASI_VERSION_PATCH)) diff --git a/deps/uvwasi/src/uvwasi.c b/deps/uvwasi/src/uvwasi.c index 38a6817cfdac30..9e7fc7681664b8 100644 --- a/deps/uvwasi/src/uvwasi.c +++ b/deps/uvwasi/src/uvwasi.c @@ -1122,7 +1122,7 @@ uvwasi_errno_t uvwasi_fd_prestat_get(uvwasi_t* uvwasi, } buf->pr_type = UVWASI_PREOPENTYPE_DIR; - buf->u.dir.pr_name_len = strlen(wrap->path) + 1; + buf->u.dir.pr_name_len = strlen(wrap->path); err = UVWASI_ESUCCESS; exit: uv_mutex_unlock(&wrap->mutex); @@ -1156,7 +1156,7 @@ uvwasi_errno_t uvwasi_fd_prestat_dir_name(uvwasi_t* uvwasi, goto exit; } - size = strlen(wrap->path) + 1; + size = strlen(wrap->path); if (size > (size_t) path_len) { err = UVWASI_ENOBUFS; goto exit; From d95a5bb55900ce240b8eeafdf978ec5bf4d7417e Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Fri, 19 May 2023 02:23:23 +0000 Subject: [PATCH 031/146] deps: update uvwasi to 0.0.18 PR-URL: https://github.com/nodejs/node/pull/47866 Reviewed-By: Michael Dawson Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Mestery Reviewed-By: Santiago Gimeno Reviewed-By: Colin Ihrig --- deps/uvwasi/include/uvwasi.h | 2 +- deps/uvwasi/src/uv_mapping.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/deps/uvwasi/include/uvwasi.h b/deps/uvwasi/include/uvwasi.h index aee6b4de191962..d475d3e67512bf 100644 --- a/deps/uvwasi/include/uvwasi.h +++ b/deps/uvwasi/include/uvwasi.h @@ -10,7 +10,7 @@ extern "C" { #define UVWASI_VERSION_MAJOR 0 #define UVWASI_VERSION_MINOR 0 -#define UVWASI_VERSION_PATCH 17 +#define UVWASI_VERSION_PATCH 18 #define UVWASI_VERSION_HEX ((UVWASI_VERSION_MAJOR << 16) | \ (UVWASI_VERSION_MINOR << 8) | \ (UVWASI_VERSION_PATCH)) diff --git a/deps/uvwasi/src/uv_mapping.c b/deps/uvwasi/src/uv_mapping.c index 75405c163b6130..41e684d5dcf2f4 100644 --- a/deps/uvwasi/src/uv_mapping.c +++ b/deps/uvwasi/src/uv_mapping.c @@ -24,6 +24,10 @@ # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) #endif +#if !defined(S_ISFIFO) && defined(S_IFMT) && defined(S_IFIFO) +# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +#endif + uvwasi_errno_t uvwasi__translate_uv_error(int err) { switch (err) { From 13f163eace4254ddd2980f156f68354ffcaf582f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Sat, 20 May 2023 01:58:58 +0200 Subject: [PATCH 032/146] doc: use secure key length for HMAC generateKey The examples for generateKey() and generateKeySync() generate 64-bit HMAC keys. That is inadequate for virtually any HMAC instance. As per common NIST recommendations, the minimum should be roughly 112 bits, or more commonly 128 bits. Due to the design of HMAC itself, it is not unreasonable to choose the underlying hash function's block size as the key length. For many popular hash functions (SHA-256, SHA-224, SHA-1, MD5, ...) this happens to be 64 bytes (bytes, not bits!). This is consistent with the HMAC implementation in .NET, for example, even though it provides virtually no benefit over a 256-bit key. PR-URL: https://github.com/nodejs/node/pull/48052 Reviewed-By: Filip Skokan Reviewed-By: Luigi Pinca --- doc/api/crypto.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 023c313549161c..370e6859a31b5b 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -3648,7 +3648,7 @@ const { generateKey, } = await import('node:crypto'); -generateKey('hmac', { length: 64 }, (err, key) => { +generateKey('hmac', { length: 512 }, (err, key) => { if (err) throw err; console.log(key.export().toString('hex')); // 46e..........620 }); @@ -3659,7 +3659,7 @@ const { generateKey, } = require('node:crypto'); -generateKey('hmac', { length: 64 }, (err, key) => { +generateKey('hmac', { length: 512 }, (err, key) => { if (err) throw err; console.log(key.export().toString('hex')); // 46e..........620 }); @@ -3922,7 +3922,7 @@ const { generateKeySync, } = await import('node:crypto'); -const key = generateKeySync('hmac', { length: 64 }); +const key = generateKeySync('hmac', { length: 512 }); console.log(key.export().toString('hex')); // e89..........41e ``` @@ -3931,7 +3931,7 @@ const { generateKeySync, } = require('node:crypto'); -const key = generateKeySync('hmac', { length: 64 }); +const key = generateKeySync('hmac', { length: 512 }); console.log(key.export().toString('hex')); // e89..........41e ``` From e834979818abccb649d38803042afc95b6441d0b Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Sat, 13 May 2023 01:36:13 -0700 Subject: [PATCH 033/146] node-api: add status napi_cannot_run_js Add the new status in order to distinguish a state wherein an exception is pending from one wherein the engine is unable to execute JS. We take advantage of the new runtime add-on version reporting in order to remain forward compatible with add-ons that do not expect the new status code. PR-URL: https://github.com/nodejs/node/pull/47986 Reviewed-By: Chengzhong Wu Signed-off-by: Gabriel Schulhof --- doc/api/n-api.md | 19 +++++-- src/js_native_api_types.h | 3 +- src/js_native_api_v8.cc | 3 +- src/js_native_api_v8.h | 9 ++-- .../test_cannot_run_js/binding.gyp | 32 ++++++++++++ test/js-native-api/test_cannot_run_js/test.js | 24 +++++++++ .../test_cannot_run_js/test_cannot_run_js.c | 49 +++++++++++++++++++ 7 files changed, 131 insertions(+), 8 deletions(-) create mode 100644 test/js-native-api/test_cannot_run_js/binding.gyp create mode 100644 test/js-native-api/test_cannot_run_js/test.js create mode 100644 test/js-native-api/test_cannot_run_js/test_cannot_run_js.c diff --git a/doc/api/n-api.md b/doc/api/n-api.md index 54c53efcef87f9..ec8df553562be7 100644 --- a/doc/api/n-api.md +++ b/doc/api/n-api.md @@ -580,7 +580,8 @@ typedef enum { napi_arraybuffer_expected, napi_detachable_arraybuffer_expected, napi_would_deadlock, /* unused */ - napi_no_external_buffers_allowed + napi_no_external_buffers_allowed, + napi_cannot_run_js } napi_status; ``` @@ -814,6 +815,18 @@ typedef void (*napi_finalize)(napi_env env, Unless for reasons discussed in [Object Lifetime Management][], creating a handle and/or callback scope inside the function body is not necessary. +Since these functions may be called while the JavaScript engine is in a state +where it cannot execute JavaScript code, some Node-API calls may return +`napi_pending_exception` even when there is no exception pending. + +Change History: + +* experimental (`NAPI_EXPERIMENTAL` is defined): + + Node-API calls made from a finalizer will return `napi_cannot_run_js` when + the JavaScript engine is unable to execute JavaScript, and will return + `napi_exception_pending` if there is a pending exception. + #### `napi_async_execute_callback` A `boolean` that is `true` if the TTY is currently configured to operate as a -raw device. Defaults to `false`. +raw device. + +This flag is always `false` when a process starts, even if the terminal is +operating in raw mode. Its value will change with subsequent calls to +`setRawMode`. ### `readStream.isTTY` From 0c8c3835837f2caec6ea1f2d9bc29240382277b1 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Sun, 21 May 2023 18:58:01 +0200 Subject: [PATCH 040/146] tools: fix zconf.h path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the `DEPS_DIR` variable to build the path instead of hardcoding it. PR-URL: https://github.com/nodejs/node/pull/48089 Reviewed-By: Antoine du Hamel Reviewed-By: Tobias Nießen Reviewed-By: Marco Ippolito --- tools/dep_updaters/update-zlib.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/dep_updaters/update-zlib.sh b/tools/dep_updaters/update-zlib.sh index 6d59e35c9fbd93..1ab07f6a8064ed 100755 --- a/tools/dep_updaters/update-zlib.sh +++ b/tools/dep_updaters/update-zlib.sh @@ -6,7 +6,7 @@ BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd) DEPS_DIR="$BASE_DIR/deps" CURRENT_VERSION=$(grep "#define ZLIB_VERSION" "$DEPS_DIR/zlib/zlib.h" | sed -n "s/^.*VERSION \"\(.*\)\"/\1/p") - + NEW_VERSION_ZLIB_H=$(curl -s "https://chromium.googlesource.com/chromium/src/+/refs/heads/main/third_party/zlib/zlib.h?format=TEXT" | base64 --decode) NEW_VERSION=$(printf '%s' "$NEW_VERSION_ZLIB_H" | grep "#define ZLIB_VERSION" | sed -n "s/^.*VERSION \"\(.*\)\"/\1/p") @@ -47,7 +47,7 @@ mkdir "$DEPS_DIR/zlib/win32" mv "$DEPS_DIR/zlib.def" "$DEPS_DIR/zlib/win32" -perl -i -pe 's|^#include "chromeconf.h"|//#include "chromeconf.h"|' deps/zlib/zconf.h +perl -i -pe 's|^#include "chromeconf.h"|//#include "chromeconf.h"|' "$DEPS_DIR/zlib/zconf.h" echo "All done!" echo "" From 10ccb2bd812a99a9a10ead448274224e9b86af28 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 21 May 2023 11:10:07 -0700 Subject: [PATCH 041/146] doc: update SEA source link The code was moved in 3803b028d so the current source link is broken in our docs. PR-URL: https://github.com/nodejs/node/pull/48080 Reviewed-By: Darshan Sen Reviewed-By: Luigi Pinca Reviewed-By: Benjamin Gruenbaum --- doc/api/single-executable-applications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/single-executable-applications.md b/doc/api/single-executable-applications.md index 3cc8aaf00beb57..7c929d56f58dca 100644 --- a/doc/api/single-executable-applications.md +++ b/doc/api/single-executable-applications.md @@ -4,7 +4,7 @@ > Stability: 1 - Experimental: This feature is being designed and will change. - + This feature allows the distribution of a Node.js application conveniently to a system that does not have Node.js installed. From 2226088048e3a9f38e6535638804e53fe2c9ba08 Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Mon, 22 May 2023 10:22:10 +0200 Subject: [PATCH 042/146] tools: add debug logs PR-URL: https://github.com/nodejs/node/pull/48060 Reviewed-By: Ruy Adorno Reviewed-By: Richard Lau Reviewed-By: Deokjin Kim Reviewed-By: Darshan Sen Reviewed-By: Mestery Reviewed-By: Luigi Pinca --- tools/dep_updaters/update-ada.sh | 2 ++ tools/dep_updaters/update-eslint.sh | 2 ++ tools/dep_updaters/update-libuv.sh | 2 ++ tools/dep_updaters/update-ngtcp2.sh | 2 ++ tools/dep_updaters/update-postject.sh | 2 ++ tools/dep_updaters/update-simdutf.sh | 2 ++ 6 files changed, 12 insertions(+) diff --git a/tools/dep_updaters/update-ada.sh b/tools/dep_updaters/update-ada.sh index ff4b9001d37e59..a9aa64731dc344 100755 --- a/tools/dep_updaters/update-ada.sh +++ b/tools/dep_updaters/update-ada.sh @@ -17,6 +17,8 @@ EOF CURRENT_VERSION=$(grep "#define ADA_VERSION" "$DEPS_DIR/ada/ada.h" | sed -n "s/^.*VERSION \"\(.*\)\"/\1/p") +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then echo "Skipped because ada is on the latest version." exit 0 diff --git a/tools/dep_updaters/update-eslint.sh b/tools/dep_updaters/update-eslint.sh index b3025bb8ff9e7e..95aba45397bd4a 100755 --- a/tools/dep_updaters/update-eslint.sh +++ b/tools/dep_updaters/update-eslint.sh @@ -16,6 +16,8 @@ NPM="$ROOT/deps/npm/bin/npm-cli.js" NEW_VERSION=$("$NODE" "$NPM" view eslint dist-tags.latest) CURRENT_VERSION=$("$NODE" -p "require('./tools/node_modules/eslint/package.json').version") +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then echo "Skipped because ESlint is on the latest version." exit 0 diff --git a/tools/dep_updaters/update-libuv.sh b/tools/dep_updaters/update-libuv.sh index a7ab4de930fc41..b679d935a91431 100755 --- a/tools/dep_updaters/update-libuv.sh +++ b/tools/dep_updaters/update-libuv.sh @@ -24,6 +24,8 @@ CURRENT_SUFFIX_VERSION=$(grep "#define UV_VERSION_SUFFIX" "$VERSION_H" | sed -n SUFFIX_STRING=$([ "$CURRENT_IS_RELEASE" = 1 ] || [ -z "$CURRENT_SUFFIX_VERSION" ] && echo "" || echo "-$CURRENT_SUFFIX_VERSION") CURRENT_VERSION="$CURRENT_MAJOR_VERSION.$CURRENT_MINOR_VERSION.$CURRENT_PATCH_VERSION$SUFFIX_STRING" +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then echo "Skipped because libuv is on the latest version." exit 0 diff --git a/tools/dep_updaters/update-ngtcp2.sh b/tools/dep_updaters/update-ngtcp2.sh index bfc8bf64f4b107..0e7d43cb4ce0d7 100755 --- a/tools/dep_updaters/update-ngtcp2.sh +++ b/tools/dep_updaters/update-ngtcp2.sh @@ -20,6 +20,8 @@ NGTCP2_VERSION_H="$DEPS_DIR/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h" CURRENT_VERSION=$(grep "#define NGTCP2_VERSION" "$NGTCP2_VERSION_H" | sed -n "s/^.*VERSION \"\(.*\)\"/\1/p") +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then echo "Skipped because ngtcp2 is on the latest version." exit 0 diff --git a/tools/dep_updaters/update-postject.sh b/tools/dep_updaters/update-postject.sh index f7a63ce1816cf9..be7b85c2247ae0 100755 --- a/tools/dep_updaters/update-postject.sh +++ b/tools/dep_updaters/update-postject.sh @@ -15,6 +15,8 @@ NPM="$ROOT/deps/npm/bin/npm-cli.js" NEW_VERSION=$("$NODE" "$NPM" view postject dist-tags.latest) CURRENT_VERSION=$("$NODE" -p "require('./test/fixtures/postject-copy/node_modules/postject/package.json').version") +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then echo "Skipped because Postject is on the latest version." exit 0 diff --git a/tools/dep_updaters/update-simdutf.sh b/tools/dep_updaters/update-simdutf.sh index d9e97cb21e4e60..dba4ba49c62516 100755 --- a/tools/dep_updaters/update-simdutf.sh +++ b/tools/dep_updaters/update-simdutf.sh @@ -16,6 +16,8 @@ EOF )" CURRENT_VERSION=$(grep "#define SIMDUTF_VERSION" "$DEPS_DIR/simdutf/simdutf.h" | sed -n "s/^.*VERSION \"\(.*\)\"/\1/p") +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then echo "Skipped because simdutf is on the latest version." exit 0 From 638876686245991704e4bf1a355965132e45ee40 Mon Sep 17 00:00:00 2001 From: Abdirahim Musse <33973272+abmusse@users.noreply.github.com> Date: Mon, 22 May 2023 11:50:10 +0000 Subject: [PATCH 043/146] test: skip test-http-pipeline-flood on IBM i PR-URL: https://github.com/nodejs/node/pull/48048 Refs: https://github.com/nodejs/node/issues/48047 Reviewed-By: Richard Lau Reviewed-By: Michael Dawson Reviewed-By: Luigi Pinca --- test/parallel/parallel.status | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 7fd430df0290c7..0d65877f595f85 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -89,6 +89,8 @@ test-http-server-unconsume: PASS, FLAKY test-http-upgrade-advertise: PASS, FLAKY test-tls-client-mindhsize: PASS, FLAKY test-tls-write-error: PASS, FLAKY +# https://github.com/nodejs/node/issues/48047 +test-http-pipeline-flood: SKIP [$asan==on] # https://github.com/nodejs/node/issues/39655 From 5b061c89226206091a2a6512bbf6ce490ce46a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Tue, 23 May 2023 01:34:18 +0200 Subject: [PATCH 044/146] doc: fix typo in crypto legacy streams API section PR-URL: https://github.com/nodejs/node/pull/48122 Reviewed-By: Moshe Atlow Reviewed-By: Rich Trott --- doc/api/crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 370e6859a31b5b..2419634dc9bfe1 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -5561,7 +5561,7 @@ When passing strings to cryptographic APIs, consider the following factors. The Crypto module was added to Node.js before there was the concept of a unified Stream API, and before there were [`Buffer`][] objects for handling -binary data. As such, the many of the `crypto` defined classes have methods not +binary data. As such, many `crypto` classes have methods not typically found on other Node.js classes that implement the [streams][stream] API (e.g. `update()`, `final()`, or `digest()`). Also, many methods accepted and returned `'latin1'` encoded strings by default rather than `Buffer`s. This From 07df5c48e8287f1562a721d0e5e6635e64c9d6a6 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Tue, 23 May 2023 01:49:08 +0100 Subject: [PATCH 045/146] deps: update corepack to 0.18.0 PR-URL: https://github.com/nodejs/node/pull/48091 Reviewed-By: Moshe Atlow Reviewed-By: Antoine du Hamel Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Rich Trott --- deps/corepack/CHANGELOG.md | 21 + deps/corepack/README.md | 59 +- deps/corepack/dist/corepack.js | 44997 +------------------------- deps/corepack/dist/lib/corepack.cjs | 39826 +++++++++++++++++++++++ deps/corepack/dist/npm.js | 2 +- deps/corepack/dist/npx.js | 2 +- deps/corepack/dist/pnpm.js | 2 +- deps/corepack/dist/pnpx.js | 2 +- deps/corepack/dist/yarn.js | 2 +- deps/corepack/dist/yarnpkg.js | 2 +- deps/corepack/package.json | 27 +- 11 files changed, 39915 insertions(+), 45027 deletions(-) create mode 100644 deps/corepack/dist/lib/corepack.cjs diff --git a/deps/corepack/CHANGELOG.md b/deps/corepack/CHANGELOG.md index ecdc81f8a9ebca..a452caefc95459 100644 --- a/deps/corepack/CHANGELOG.md +++ b/deps/corepack/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [0.18.0](https://github.com/nodejs/corepack/compare/v0.17.2...v0.18.0) (2023-05-19) + + +### ⚠ BREAKING CHANGES + +* remove support for Node.js 14.x + +### Features + +* update package manager versions ([#256](https://github.com/nodejs/corepack/issues/256)) ([7b61ff6](https://github.com/nodejs/corepack/commit/7b61ff6bc797ec4ed50c2ba1e1f1689264cbf4fc)) + + +### Bug Fixes + +* **doc:** add a note about troubleshooting network errors ([#259](https://github.com/nodejs/corepack/issues/259)) ([aa3cbdb](https://github.com/nodejs/corepack/commit/aa3cbdb54fb21b8e0adde96dc781cdf750932843)) + + +### Miscellaneous Chores + +* update supported Node.js versions ([#258](https://github.com/nodejs/corepack/issues/258)) ([74f679d](https://github.com/nodejs/corepack/commit/74f679d8a72cc10a3720fc679b95e9bd086d95be)) + ## [0.17.2](https://github.com/nodejs/corepack/compare/v0.17.1...v0.17.2) (2023-04-07) diff --git a/deps/corepack/README.md b/deps/corepack/README.md index a68555daf5f318..84dc59c2383cb0 100644 --- a/deps/corepack/README.md +++ b/deps/corepack/README.md @@ -2,26 +2,20 @@ Corepack is a zero-runtime-dependency Node.js script that acts as a bridge between Node.js projects and the package managers they are intended to be used -with during development. In practical terms, **Corepack will let you use Yarn -and pnpm without having to install them** - just like what currently happens -with npm, which is shipped by Node.js by default. - -**Important:** At the moment, Corepack only covers Yarn and pnpm. Given that we -have little control on the npm project, we prefer to focus on the Yarn and pnpm -use cases. As a result, Corepack doesn't have any effect at all on the way you -use npm. +with during development. In practical terms, **Corepack lets you use Yarn, npm, +and pnpm without having to install them**. ## How to Install ### Default Installs -Corepack is distributed by default with Node.js 14.19.0 and 16.9.0, but is -opt-in for the time being. Run `corepack enable` to install the required shims. +Corepack is [distributed by default with all recent Node.js versions](https://nodejs.org/api/corepack.html). +Run `corepack enable` to install the required Yarn and pnpm binaries on your path. ### Manual Installs
      -Click here to see how to install Corepack using npm +Install Corepack using npm First uninstall your global Yarn and pnpm binaries (just leave npm). In general, you'd do this by running the following command: @@ -45,6 +39,12 @@ is distributed along with Node.js itself.
      +
      Install Corepack from source + +See [`CONTRIBUTING.md`](./CONTRIBUTING.md). + +
      + ## Usage ### When Building Packages @@ -131,12 +131,37 @@ on a project where the `packageManager` field references `pnpm`). | --------------------- | --------------------------------------- | | `--install-directory` | Add the shims to the specified location | -This command will detect where Node.js is installed and will create shims next +This command will detect where Corepack is installed and will create shims next to it for each of the specified package managers (or all of them if the command is called without parameters). Note that the npm shims will not be installed unless explicitly requested, as npm is currently distributed with Node.js through other means. +If the file system where the `corepack` binary is located is read-only, this +command will fail. A workaround is to add the binaries as alias in your +shell configuration file (e.g. in `~/.bash_aliases`): + +```sh +alias yarn="corepack yarn" +alias yarnpkg="corepack yarnpkg" +alias pnpm="corepack pnpm" +alias pnpx="corepack pnpx" +alias npm="corepack npm" +alias npx="corepack npx" +``` + +On Windows PowerShell, you can add functions using the `$PROFILE` automatic +variable: + +```powershell +echo "function yarn { corepack yarn `$args }" >> $PROFILE +echo "function yarnpkg { corepack yarnpkg `$args }" >> $PROFILE +echo "function pnpm { corepack pnpm `$args }" >> $PROFILE +echo "function pnpx { corepack pnpx `$args }" >> $PROFILE +echo "function npm { corepack npm `$args }" >> $PROFILE +echo "function npx { corepack npx `$args }" >> $PROFILE +``` + ### `corepack disable [... name]` | Option | Description | @@ -217,6 +242,16 @@ network interaction. - `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` are supported through [`node-proxy-agent`](https://github.com/TooTallNate/node-proxy-agent). +## Troubleshooting + +### Networking + +There are a wide variety of networking issues that can occur while running `corepack` commands. Things to check: + +- Make sure your network connection is active. +- Make sure the host for your request can be resolved by your DNS; try using `curl [URL]` from your shell. +- Check your proxy settings (see [Environment Variables](#environment-variables)). + ## Contributing See [`CONTRIBUTING.md`](./CONTRIBUTING.md). diff --git a/deps/corepack/dist/corepack.js b/deps/corepack/dist/corepack.js index 9468470f0d7aca..309c78d7841366 100755 --- a/deps/corepack/dist/corepack.js +++ b/deps/corepack/dist/corepack.js @@ -1,44997 +1,2 @@ #!/usr/bin/env node -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __esm = (fn2, res) => function __init() { - return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res; -}; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// .yarn/cache/typanion-npm-3.9.0-ef0bfe7e8b-87f118cf05.zip/node_modules/typanion/lib/index.mjs -var lib_exports = {}; -__export(lib_exports, { - KeyRelationship: () => KeyRelationship, - TypeAssertionError: () => TypeAssertionError, - applyCascade: () => applyCascade, - as: () => as, - assert: () => assert, - assertWithErrors: () => assertWithErrors, - cascade: () => cascade, - fn: () => fn, - hasExactLength: () => hasExactLength, - hasForbiddenKeys: () => hasForbiddenKeys, - hasKeyRelationship: () => hasKeyRelationship, - hasMaxLength: () => hasMaxLength, - hasMinLength: () => hasMinLength, - hasMutuallyExclusiveKeys: () => hasMutuallyExclusiveKeys, - hasRequiredKeys: () => hasRequiredKeys, - hasUniqueItems: () => hasUniqueItems, - isArray: () => isArray, - isAtLeast: () => isAtLeast, - isAtMost: () => isAtMost, - isBase64: () => isBase64, - isBoolean: () => isBoolean, - isDate: () => isDate, - isDict: () => isDict, - isEnum: () => isEnum, - isHexColor: () => isHexColor, - isISO8601: () => isISO8601, - isInExclusiveRange: () => isInExclusiveRange, - isInInclusiveRange: () => isInInclusiveRange, - isInstanceOf: () => isInstanceOf, - isInteger: () => isInteger, - isJSON: () => isJSON, - isLiteral: () => isLiteral, - isLowerCase: () => isLowerCase, - isMap: () => isMap, - isNegative: () => isNegative, - isNullable: () => isNullable, - isNumber: () => isNumber, - isObject: () => isObject, - isOneOf: () => isOneOf, - isOptional: () => isOptional, - isPartial: () => isPartial, - isPositive: () => isPositive, - isRecord: () => isRecord, - isSet: () => isSet, - isString: () => isString, - isTuple: () => isTuple, - isUUID4: () => isUUID4, - isUnknown: () => isUnknown, - isUpperCase: () => isUpperCase, - makeTrait: () => makeTrait, - makeValidator: () => makeValidator, - matchesRegExp: () => matchesRegExp, - softAssert: () => softAssert -}); -function getPrintable(value) { - if (value === null) - return `null`; - if (value === void 0) - return `undefined`; - if (value === ``) - return `an empty string`; - if (typeof value === "symbol") - return `<${value.toString()}>`; - if (Array.isArray(value)) - return `an array`; - return JSON.stringify(value); -} -function getPrintableArray(value, conjunction) { - if (value.length === 0) - return `nothing`; - if (value.length === 1) - return getPrintable(value[0]); - const rest = value.slice(0, -1); - const trailing = value[value.length - 1]; - const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `; - return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`; -} -function computeKey(state, key) { - var _a, _b, _c; - if (typeof key === `number`) { - return `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}[${key}]`; - } else if (simpleKeyRegExp.test(key)) { - return `${(_b = state === null || state === void 0 ? void 0 : state.p) !== null && _b !== void 0 ? _b : ``}.${key}`; - } else { - return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`; - } -} -function plural(n, singular, plural2) { - return n === 1 ? singular : plural2; -} -function pushError({ errors, p } = {}, message) { - errors === null || errors === void 0 ? void 0 : errors.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`); - return false; -} -function makeSetter(target, key) { - return (v) => { - target[key] = v; - }; -} -function makeCoercionFn(target, key) { - return (v) => { - const previous = target[key]; - target[key] = v; - return makeCoercionFn(target, key).bind(null, previous); - }; -} -function makeLazyCoercionFn(fn2, orig, generator) { - const commit = () => { - fn2(generator()); - return revert; - }; - const revert = () => { - fn2(orig); - return commit; - }; - return commit; -} -function isUnknown() { - return makeValidator({ - test: (value, state) => { - return true; - } - }); -} -function isLiteral(expected) { - return makeValidator({ - test: (value, state) => { - if (value !== expected) - return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`); - return true; - } - }); -} -function isString() { - return makeValidator({ - test: (value, state) => { - if (typeof value !== `string`) - return pushError(state, `Expected a string (got ${getPrintable(value)})`); - return true; - } - }); -} -function isEnum(enumSpec) { - const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec); - const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number"); - const values = new Set(valuesArray); - if (values.size === 1) - return isLiteral([...values][0]); - return makeValidator({ - test: (value, state) => { - if (!values.has(value)) { - if (isAlphaNum) { - return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`); - } else { - return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`); - } - } - return true; - } - }); -} -function isBoolean() { - return makeValidator({ - test: (value, state) => { - var _a; - if (typeof value !== `boolean`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - const coercion = BOOLEAN_COERCIONS.get(value); - if (typeof coercion !== `undefined`) { - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); - return true; - } - } - return pushError(state, `Expected a boolean (got ${getPrintable(value)})`); - } - return true; - } - }); -} -function isNumber() { - return makeValidator({ - test: (value, state) => { - var _a; - if (typeof value !== `number`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - let coercion; - if (typeof value === `string`) { - let val; - try { - val = JSON.parse(value); - } catch (_b) { - } - if (typeof val === `number`) { - if (JSON.stringify(val) === value) { - coercion = val; - } else { - return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`); - } - } - } - if (typeof coercion !== `undefined`) { - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); - return true; - } - } - return pushError(state, `Expected a number (got ${getPrintable(value)})`); - } - return true; - } - }); -} -function isDate() { - return makeValidator({ - test: (value, state) => { - var _a; - if (!(value instanceof Date)) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - let coercion; - if (typeof value === `string` && iso8601RegExp.test(value)) { - coercion = new Date(value); - } else { - let timestamp; - if (typeof value === `string`) { - let val; - try { - val = JSON.parse(value); - } catch (_b) { - } - if (typeof val === `number`) { - timestamp = val; - } - } else if (typeof value === `number`) { - timestamp = value; - } - if (typeof timestamp !== `undefined`) { - if (Number.isSafeInteger(timestamp) || !Number.isSafeInteger(timestamp * 1e3)) { - coercion = new Date(timestamp * 1e3); - } else { - return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`); - } - } - } - if (typeof coercion !== `undefined`) { - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); - return true; - } - } - return pushError(state, `Expected a date (got ${getPrintable(value)})`); - } - return true; - } - }); -} -function isArray(spec, { delimiter } = {}) { - return makeValidator({ - test: (value, state) => { - var _a; - const originalValue = value; - if (typeof value === `string` && typeof delimiter !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - value = value.split(delimiter); - } - } - if (!Array.isArray(value)) - return pushError(state, `Expected an array (got ${getPrintable(value)})`); - let valid = true; - for (let t = 0, T = value.length; t < T; ++t) { - valid = spec(value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid; - if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { - break; - } - } - if (value !== originalValue) - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); - return valid; - } - }); -} -function isSet(spec, { delimiter } = {}) { - const isArrayValidator = isArray(spec, { delimiter }); - return makeValidator({ - test: (value, state) => { - var _a, _b; - if (Object.getPrototypeOf(value).toString() === `[object Set]`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - const originalValues = [...value]; - const coercedValues = [...value]; - if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 }))) - return false; - const updateValue = () => coercedValues.some((val, t) => val !== originalValues[t]) ? new Set(coercedValues) : value; - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]); - return true; - } else { - let valid = true; - for (const subValue of value) { - valid = spec(subValue, Object.assign({}, state)) && valid; - if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { - break; - } - } - return valid; - } - } - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - const store = { value }; - if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) }))) - return false; - state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]); - return true; - } - return pushError(state, `Expected a set (got ${getPrintable(value)})`); - } - }); -} -function isMap(keySpec, valueSpec) { - const isArrayValidator = isArray(isTuple([keySpec, valueSpec])); - const isRecordValidator = isRecord(valueSpec, { keys: keySpec }); - return makeValidator({ - test: (value, state) => { - var _a, _b, _c; - if (Object.getPrototypeOf(value).toString() === `[object Map]`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - const originalValues = [...value]; - const coercedValues = [...value]; - if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 }))) - return false; - const updateValue = () => coercedValues.some((val, t) => val[0] !== originalValues[t][0] || val[1] !== originalValues[t][1]) ? new Map(coercedValues) : value; - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]); - return true; - } else { - let valid = true; - for (const [key, subValue] of value) { - valid = keySpec(key, Object.assign({}, state)) && valid; - if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { - break; - } - valid = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid; - if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { - break; - } - } - return valid; - } - } - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - const store = { value }; - if (Array.isArray(value)) { - if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 }))) - return false; - state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]); - return true; - } else { - if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) }))) - return false; - state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]); - return true; - } - } - return pushError(state, `Expected a map (got ${getPrintable(value)})`); - } - }); -} -function isTuple(spec, { delimiter } = {}) { - const lengthValidator = hasExactLength(spec.length); - return makeValidator({ - test: (value, state) => { - var _a; - if (typeof value === `string` && typeof delimiter !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - value = value.split(delimiter); - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); - } - } - if (!Array.isArray(value)) - return pushError(state, `Expected a tuple (got ${getPrintable(value)})`); - let valid = lengthValidator(value, Object.assign({}, state)); - for (let t = 0, T = value.length; t < T && t < spec.length; ++t) { - valid = spec[t](value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid; - if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { - break; - } - } - return valid; - } - }); -} -function isRecord(spec, { keys: keySpec = null } = {}) { - const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec])); - return makeValidator({ - test: (value, state) => { - var _a; - if (Array.isArray(value)) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 }))) - return false; - value = Object.fromEntries(value); - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); - return true; - } - } - if (typeof value !== `object` || value === null) - return pushError(state, `Expected an object (got ${getPrintable(value)})`); - const keys = Object.keys(value); - let valid = true; - for (let t = 0, T = keys.length; t < T && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t) { - const key = keys[t]; - const sub = value[key]; - if (key === `__proto__` || key === `constructor`) { - valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`); - continue; - } - if (keySpec !== null && !keySpec(key, state)) { - valid = false; - continue; - } - if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) { - valid = false; - continue; - } - } - return valid; - } - }); -} -function isDict(spec, opts = {}) { - return isRecord(spec, opts); -} -function isObject(props, { extra: extraSpec = null } = {}) { - const specKeys = Object.keys(props); - const validator = makeValidator({ - test: (value, state) => { - if (typeof value !== `object` || value === null) - return pushError(state, `Expected an object (got ${getPrintable(value)})`); - const keys = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]); - const extra = {}; - let valid = true; - for (const key of keys) { - if (key === `constructor` || key === `__proto__`) { - valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`); - } else { - const spec = Object.prototype.hasOwnProperty.call(props, key) ? props[key] : void 0; - const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0; - if (typeof spec !== `undefined`) { - valid = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid; - } else if (extraSpec === null) { - valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`); - } else { - Object.defineProperty(extra, key, { - enumerable: true, - get: () => sub, - set: makeSetter(value, key) - }); - } - } - if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { - break; - } - } - if (extraSpec !== null && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null)) - valid = extraSpec(extra, state) && valid; - return valid; - } - }); - return Object.assign(validator, { - properties: props - }); -} -function isPartial(props) { - return isObject(props, { extra: isRecord(isUnknown()) }); -} -function makeTrait(value) { - return () => { - return value; - }; -} -function makeValidator({ test }) { - return makeTrait(test)(); -} -function assert(val, validator) { - if (!validator(val)) { - throw new TypeAssertionError(); - } -} -function assertWithErrors(val, validator) { - const errors = []; - if (!validator(val, { errors })) { - throw new TypeAssertionError({ errors }); - } -} -function softAssert(val, validator) { -} -function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) { - const errors = storeErrors ? [] : void 0; - if (!coerce) { - if (validator(value, { errors })) { - return throws ? value : { value, errors: void 0 }; - } else if (!throws) { - return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true }; - } else { - throw new TypeAssertionError({ errors }); - } - } - const state = { value }; - const coercion = makeCoercionFn(state, `value`); - const coercions = []; - if (!validator(value, { errors, coercion, coercions })) { - if (!throws) { - return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true }; - } else { - throw new TypeAssertionError({ errors }); - } - } - for (const [, apply] of coercions) - apply(); - if (throws) { - return state.value; - } else { - return { value: state.value, errors: void 0 }; - } -} -function fn(validators, fn2) { - const isValidArgList = isTuple(validators); - return (...args) => { - const check = isValidArgList(args); - if (!check) - throw new TypeAssertionError(); - return fn2(...args); - }; -} -function hasMinLength(length) { - return makeValidator({ - test: (value, state) => { - if (!(value.length >= length)) - return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`); - return true; - } - }); -} -function hasMaxLength(length) { - return makeValidator({ - test: (value, state) => { - if (!(value.length <= length)) - return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`); - return true; - } - }); -} -function hasExactLength(length) { - return makeValidator({ - test: (value, state) => { - if (!(value.length === length)) - return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`); - return true; - } - }); -} -function hasUniqueItems({ map } = {}) { - return makeValidator({ - test: (value, state) => { - const set = /* @__PURE__ */ new Set(); - const dup = /* @__PURE__ */ new Set(); - for (let t = 0, T = value.length; t < T; ++t) { - const sub = value[t]; - const key = typeof map !== `undefined` ? map(sub) : sub; - if (set.has(key)) { - if (dup.has(key)) - continue; - pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`); - dup.add(key); - } else { - set.add(key); - } - } - return dup.size === 0; - } - }); -} -function isNegative() { - return makeValidator({ - test: (value, state) => { - if (!(value <= 0)) - return pushError(state, `Expected to be negative (got ${value})`); - return true; - } - }); -} -function isPositive() { - return makeValidator({ - test: (value, state) => { - if (!(value >= 0)) - return pushError(state, `Expected to be positive (got ${value})`); - return true; - } - }); -} -function isAtLeast(n) { - return makeValidator({ - test: (value, state) => { - if (!(value >= n)) - return pushError(state, `Expected to be at least ${n} (got ${value})`); - return true; - } - }); -} -function isAtMost(n) { - return makeValidator({ - test: (value, state) => { - if (!(value <= n)) - return pushError(state, `Expected to be at most ${n} (got ${value})`); - return true; - } - }); -} -function isInInclusiveRange(a, b) { - return makeValidator({ - test: (value, state) => { - if (!(value >= a && value <= b)) - return pushError(state, `Expected to be in the [${a}; ${b}] range (got ${value})`); - return true; - } - }); -} -function isInExclusiveRange(a, b) { - return makeValidator({ - test: (value, state) => { - if (!(value >= a && value < b)) - return pushError(state, `Expected to be in the [${a}; ${b}[ range (got ${value})`); - return true; - } - }); -} -function isInteger({ unsafe = false } = {}) { - return makeValidator({ - test: (value, state) => { - if (value !== Math.round(value)) - return pushError(state, `Expected to be an integer (got ${value})`); - if (!unsafe && !Number.isSafeInteger(value)) - return pushError(state, `Expected to be a safe integer (got ${value})`); - return true; - } - }); -} -function matchesRegExp(regExp) { - return makeValidator({ - test: (value, state) => { - if (!regExp.test(value)) - return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`); - return true; - } - }); -} -function isLowerCase() { - return makeValidator({ - test: (value, state) => { - if (value !== value.toLowerCase()) - return pushError(state, `Expected to be all-lowercase (got ${value})`); - return true; - } - }); -} -function isUpperCase() { - return makeValidator({ - test: (value, state) => { - if (value !== value.toUpperCase()) - return pushError(state, `Expected to be all-uppercase (got ${value})`); - return true; - } - }); -} -function isUUID4() { - return makeValidator({ - test: (value, state) => { - if (!uuid4RegExp.test(value)) - return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`); - return true; - } - }); -} -function isISO8601() { - return makeValidator({ - test: (value, state) => { - if (!iso8601RegExp.test(value)) - return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`); - return true; - } - }); -} -function isHexColor({ alpha = false }) { - return makeValidator({ - test: (value, state) => { - const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value); - if (!res) - return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`); - return true; - } - }); -} -function isBase64() { - return makeValidator({ - test: (value, state) => { - if (!base64RegExp.test(value)) - return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`); - return true; - } - }); -} -function isJSON(spec = isUnknown()) { - return makeValidator({ - test: (value, state) => { - let data; - try { - data = JSON.parse(value); - } catch (_a) { - return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`); - } - return spec(data, state); - } - }); -} -function cascade(spec, ...followups) { - const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups; - return makeValidator({ - test: (value, state) => { - var _a, _b; - const context = { value }; - const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0; - const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0; - if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions }))) - return false; - const reverts = []; - if (typeof subCoercions !== `undefined`) - for (const [, coercion] of subCoercions) - reverts.push(coercion()); - try { - if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { - if (context.value !== value) { - if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) - return pushError(state, `Unbound coercion result`); - state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, context.value)]); - } - (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions); - } - return resolvedFollowups.every((spec2) => { - return spec2(context.value, state); - }); - } finally { - for (const revert of reverts) { - revert(); - } - } - } - }); -} -function applyCascade(spec, ...followups) { - const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups; - return cascade(spec, resolvedFollowups); -} -function isOptional(spec) { - return makeValidator({ - test: (value, state) => { - if (typeof value === `undefined`) - return true; - return spec(value, state); - } - }); -} -function isNullable(spec) { - return makeValidator({ - test: (value, state) => { - if (value === null) - return true; - return spec(value, state); - } - }); -} -function hasRequiredKeys(requiredKeys) { - const requiredSet = new Set(requiredKeys); - return makeValidator({ - test: (value, state) => { - const keys = new Set(Object.keys(value)); - const problems = []; - for (const key of requiredSet) - if (!keys.has(key)) - problems.push(key); - if (problems.length > 0) - return pushError(state, `Missing required ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`); - return true; - } - }); -} -function hasForbiddenKeys(forbiddenKeys) { - const forbiddenSet = new Set(forbiddenKeys); - return makeValidator({ - test: (value, state) => { - const keys = new Set(Object.keys(value)); - const problems = []; - for (const key of forbiddenSet) - if (keys.has(key)) - problems.push(key); - if (problems.length > 0) - return pushError(state, `Forbidden ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`); - return true; - } - }); -} -function hasMutuallyExclusiveKeys(exclusiveKeys) { - const exclusiveSet = new Set(exclusiveKeys); - return makeValidator({ - test: (value, state) => { - const keys = new Set(Object.keys(value)); - const used = []; - for (const key of exclusiveSet) - if (keys.has(key)) - used.push(key); - if (used.length > 1) - return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`); - return true; - } - }); -} -function hasKeyRelationship(subject, relationship, others, { ignore = [] } = {}) { - const skipped = new Set(ignore); - const otherSet = new Set(others); - const spec = keyRelationships[relationship]; - const conjunction = relationship === KeyRelationship.Forbids ? `or` : `and`; - return makeValidator({ - test: (value, state) => { - const keys = new Set(Object.keys(value)); - if (!keys.has(subject) || skipped.has(value[subject])) - return true; - const problems = []; - for (const key of otherSet) - if ((keys.has(key) && !skipped.has(value[key])) !== spec.expect) - problems.push(key); - if (problems.length >= 1) - return pushError(state, `Property "${subject}" ${spec.message} ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`); - return true; - } - }); -} -var simpleKeyRegExp, colorStringRegExp, colorStringAlphaRegExp, base64RegExp, uuid4RegExp, iso8601RegExp, BOOLEAN_COERCIONS, isInstanceOf, isOneOf, TypeAssertionError, KeyRelationship, keyRelationships; -var init_lib = __esm({ - ".yarn/cache/typanion-npm-3.9.0-ef0bfe7e8b-87f118cf05.zip/node_modules/typanion/lib/index.mjs"() { - simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/; - colorStringRegExp = /^#[0-9a-f]{6}$/i; - colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i; - base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; - uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i; - iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/; - BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([ - [`true`, true], - [`True`, true], - [`1`, true], - [1, true], - [`false`, false], - [`False`, false], - [`0`, false], - [0, false] - ]); - isInstanceOf = (constructor) => makeValidator({ - test: (value, state) => { - if (!(value instanceof constructor)) - return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`); - return true; - } - }); - isOneOf = (specs, { exclusive = false } = {}) => makeValidator({ - test: (value, state) => { - var _a, _b, _c; - const matches = []; - const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0; - for (let t = 0, T = specs.length; t < T; ++t) { - const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0; - const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0; - if (specs[t](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}#${t + 1}` }))) { - matches.push([`#${t + 1}`, subCoercions]); - if (!exclusive) { - break; - } - } else { - errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]); - } - } - if (matches.length === 1) { - const [, subCoercions] = matches[0]; - if (typeof subCoercions !== `undefined`) - (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions); - return true; - } - if (matches.length > 1) - pushError(state, `Expected to match exactly a single predicate (matched ${matches.join(`, `)})`); - else - (_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer); - return false; - } - }); - TypeAssertionError = class extends Error { - constructor({ errors } = {}) { - let errorMessage = `Type mismatch`; - if (errors && errors.length > 0) { - errorMessage += ` -`; - for (const error of errors) { - errorMessage += ` -- ${error}`; - } - } - super(errorMessage); - } - }; - (function(KeyRelationship2) { - KeyRelationship2["Forbids"] = "Forbids"; - KeyRelationship2["Requires"] = "Requires"; - })(KeyRelationship || (KeyRelationship = {})); - keyRelationships = { - [KeyRelationship.Forbids]: { - expect: false, - message: `forbids using` - }, - [KeyRelationship.Requires]: { - expect: true, - message: `requires using` - } - }; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/constants.js -var require_constants = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/constants.js"(exports, module2) { - var SEMVER_SPEC_VERSION = "2.0.0"; - var MAX_LENGTH = 256; - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ - 9007199254740991; - var MAX_SAFE_COMPONENT_LENGTH = 16; - module2.exports = { - SEMVER_SPEC_VERSION, - MAX_LENGTH, - MAX_SAFE_INTEGER, - MAX_SAFE_COMPONENT_LENGTH - }; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/debug.js -var require_debug = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/debug.js"(exports, module2) { - var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { - }; - module2.exports = debug2; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/re.js -var require_re = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/re.js"(exports, module2) { - var { MAX_SAFE_COMPONENT_LENGTH } = require_constants(); - var debug2 = require_debug(); - exports = module2.exports = {}; - var re = exports.re = []; - var src = exports.src = []; - var t = exports.t = {}; - var R = 0; - var createToken = (name, value, isGlobal) => { - const index = R++; - debug2(name, index, value); - t[name] = index; - src[index] = value; - re[index] = new RegExp(value, isGlobal ? "g" : void 0); - }; - createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); - createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+"); - createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"); - createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); - createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); - createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); - createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+"); - createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); - createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); - createToken("FULL", `^${src[t.FULLPLAIN]}$`); - createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); - createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); - createToken("GTLT", "((?:<|>)?=?)"); - createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); - createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`); - createToken("COERCERTL", src[t.COERCE], true); - createToken("LONETILDE", "(?:~>?)"); - createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); - exports.tildeTrimReplace = "$1~"; - createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); - createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("LONECARET", "(?:\\^)"); - createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); - exports.caretTrimReplace = "$1^"; - createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); - createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); - createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); - createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); - exports.comparatorTrimReplace = "$1$2$3"; - createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); - createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); - createToken("STAR", "(<|>)?=?\\s*\\*"); - createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); - createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/parse-options.js -var require_parse_options = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/parse-options.js"(exports, module2) { - var opts = ["includePrerelease", "loose", "rtl"]; - var parseOptions = (options) => !options ? {} : typeof options !== "object" ? { loose: true } : opts.filter((k) => options[k]).reduce((o, k) => { - o[k] = true; - return o; - }, {}); - module2.exports = parseOptions; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/identifiers.js -var require_identifiers = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/internal/identifiers.js"(exports, module2) { - var numeric = /^[0-9]+$/; - var compareIdentifiers = (a, b) => { - const anum = numeric.test(a); - const bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - }; - var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); - module2.exports = { - compareIdentifiers, - rcompareIdentifiers - }; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/classes/semver.js -var require_semver = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/classes/semver.js"(exports, module2) { - var debug2 = require_debug(); - var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants(); - var { re, t } = require_re(); - var parseOptions = require_parse_options(); - var { compareIdentifiers } = require_identifiers(); - var SemVer = class { - constructor(version2, options) { - options = parseOptions(options); - if (version2 instanceof SemVer) { - if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) { - return version2; - } else { - version2 = version2.version; - } - } else if (typeof version2 !== "string") { - throw new TypeError(`Invalid Version: ${version2}`); - } - if (version2.length > MAX_LENGTH) { - throw new TypeError( - `version is longer than ${MAX_LENGTH} characters` - ); - } - debug2("SemVer", version2, options); - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - if (!m) { - throw new TypeError(`Invalid Version: ${version2}`); - } - this.raw = version2; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split(".").map((id) => { - if (/^[0-9]+$/.test(id)) { - const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split(".") : []; - this.format(); - } - format() { - this.version = `${this.major}.${this.minor}.${this.patch}`; - if (this.prerelease.length) { - this.version += `-${this.prerelease.join(".")}`; - } - return this.version; - } - toString() { - return this.version; - } - compare(other) { - debug2("SemVer.compare", this.version, this.options, other); - if (!(other instanceof SemVer)) { - if (typeof other === "string" && other === this.version) { - return 0; - } - other = new SemVer(other, this.options); - } - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); - } - compareMain(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); - } - comparePre(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - let i = 0; - do { - const a = this.prerelease[i]; - const b = other.prerelease[i]; - debug2("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - compareBuild(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - let i = 0; - do { - const a = this.build[i]; - const b = other.build[i]; - debug2("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - // preminor will bump the version up to the next minor release, and immediately - // down to pre-release. premajor and prepatch work the same way. - inc(release, identifier) { - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier); - this.inc("pre", identifier); - break; - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier); - } - this.inc("pre", identifier); - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - case "pre": - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - let i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === "number") { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) { - this.prerelease.push(0); - } - } - if (identifier) { - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - break; - default: - throw new Error(`invalid increment argument: ${release}`); - } - this.format(); - this.raw = this.version; - return this; - } - }; - module2.exports = SemVer; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/parse.js -var require_parse = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/parse.js"(exports, module2) { - var { MAX_LENGTH } = require_constants(); - var { re, t } = require_re(); - var SemVer = require_semver(); - var parseOptions = require_parse_options(); - var parse = (version2, options) => { - options = parseOptions(options); - if (version2 instanceof SemVer) { - return version2; - } - if (typeof version2 !== "string") { - return null; - } - if (version2.length > MAX_LENGTH) { - return null; - } - const r = options.loose ? re[t.LOOSE] : re[t.FULL]; - if (!r.test(version2)) { - return null; - } - try { - return new SemVer(version2, options); - } catch (er) { - return null; - } - }; - module2.exports = parse; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/valid.js -var require_valid = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/valid.js"(exports, module2) { - var parse = require_parse(); - var valid = (version2, options) => { - const v = parse(version2, options); - return v ? v.version : null; - }; - module2.exports = valid; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/clean.js -var require_clean = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/clean.js"(exports, module2) { - var parse = require_parse(); - var clean = (version2, options) => { - const s = parse(version2.trim().replace(/^[=v]+/, ""), options); - return s ? s.version : null; - }; - module2.exports = clean; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/inc.js -var require_inc = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/inc.js"(exports, module2) { - var SemVer = require_semver(); - var inc = (version2, release, options, identifier) => { - if (typeof options === "string") { - identifier = options; - options = void 0; - } - try { - return new SemVer( - version2 instanceof SemVer ? version2.version : version2, - options - ).inc(release, identifier).version; - } catch (er) { - return null; - } - }; - module2.exports = inc; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/compare.js -var require_compare = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/compare.js"(exports, module2) { - var SemVer = require_semver(); - var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); - module2.exports = compare; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/eq.js -var require_eq = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/eq.js"(exports, module2) { - var compare = require_compare(); - var eq = (a, b, loose) => compare(a, b, loose) === 0; - module2.exports = eq; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/diff.js -var require_diff = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/diff.js"(exports, module2) { - var parse = require_parse(); - var eq = require_eq(); - var diff = (version1, version2) => { - if (eq(version1, version2)) { - return null; - } else { - const v1 = parse(version1); - const v2 = parse(version2); - const hasPre = v1.prerelease.length || v2.prerelease.length; - const prefix = hasPre ? "pre" : ""; - const defaultResult = hasPre ? "prerelease" : ""; - for (const key in v1) { - if (key === "major" || key === "minor" || key === "patch") { - if (v1[key] !== v2[key]) { - return prefix + key; - } - } - } - return defaultResult; - } - }; - module2.exports = diff; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/major.js -var require_major = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/major.js"(exports, module2) { - var SemVer = require_semver(); - var major = (a, loose) => new SemVer(a, loose).major; - module2.exports = major; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/minor.js -var require_minor = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/minor.js"(exports, module2) { - var SemVer = require_semver(); - var minor = (a, loose) => new SemVer(a, loose).minor; - module2.exports = minor; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/patch.js -var require_patch = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/patch.js"(exports, module2) { - var SemVer = require_semver(); - var patch = (a, loose) => new SemVer(a, loose).patch; - module2.exports = patch; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/prerelease.js -var require_prerelease = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/prerelease.js"(exports, module2) { - var parse = require_parse(); - var prerelease = (version2, options) => { - const parsed = parse(version2, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; - }; - module2.exports = prerelease; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/rcompare.js -var require_rcompare = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/rcompare.js"(exports, module2) { - var compare = require_compare(); - var rcompare = (a, b, loose) => compare(b, a, loose); - module2.exports = rcompare; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/compare-loose.js -var require_compare_loose = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/compare-loose.js"(exports, module2) { - var compare = require_compare(); - var compareLoose = (a, b) => compare(a, b, true); - module2.exports = compareLoose; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/compare-build.js -var require_compare_build = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/compare-build.js"(exports, module2) { - var SemVer = require_semver(); - var compareBuild = (a, b, loose) => { - const versionA = new SemVer(a, loose); - const versionB = new SemVer(b, loose); - return versionA.compare(versionB) || versionA.compareBuild(versionB); - }; - module2.exports = compareBuild; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/sort.js -var require_sort = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/sort.js"(exports, module2) { - var compareBuild = require_compare_build(); - var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)); - module2.exports = sort; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/rsort.js -var require_rsort = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/rsort.js"(exports, module2) { - var compareBuild = require_compare_build(); - var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); - module2.exports = rsort; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/gt.js -var require_gt = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/gt.js"(exports, module2) { - var compare = require_compare(); - var gt = (a, b, loose) => compare(a, b, loose) > 0; - module2.exports = gt; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/lt.js -var require_lt = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/lt.js"(exports, module2) { - var compare = require_compare(); - var lt = (a, b, loose) => compare(a, b, loose) < 0; - module2.exports = lt; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/neq.js -var require_neq = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/neq.js"(exports, module2) { - var compare = require_compare(); - var neq = (a, b, loose) => compare(a, b, loose) !== 0; - module2.exports = neq; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/gte.js -var require_gte = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/gte.js"(exports, module2) { - var compare = require_compare(); - var gte = (a, b, loose) => compare(a, b, loose) >= 0; - module2.exports = gte; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/lte.js -var require_lte = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/lte.js"(exports, module2) { - var compare = require_compare(); - var lte = (a, b, loose) => compare(a, b, loose) <= 0; - module2.exports = lte; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/cmp.js -var require_cmp = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/cmp.js"(exports, module2) { - var eq = require_eq(); - var neq = require_neq(); - var gt = require_gt(); - var gte = require_gte(); - var lt = require_lt(); - var lte = require_lte(); - var cmp = (a, op, b, loose) => { - switch (op) { - case "===": - if (typeof a === "object") { - a = a.version; - } - if (typeof b === "object") { - b = b.version; - } - return a === b; - case "!==": - if (typeof a === "object") { - a = a.version; - } - if (typeof b === "object") { - b = b.version; - } - return a !== b; - case "": - case "=": - case "==": - return eq(a, b, loose); - case "!=": - return neq(a, b, loose); - case ">": - return gt(a, b, loose); - case ">=": - return gte(a, b, loose); - case "<": - return lt(a, b, loose); - case "<=": - return lte(a, b, loose); - default: - throw new TypeError(`Invalid operator: ${op}`); - } - }; - module2.exports = cmp; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/coerce.js -var require_coerce = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/coerce.js"(exports, module2) { - var SemVer = require_semver(); - var parse = require_parse(); - var { re, t } = require_re(); - var coerce = (version2, options) => { - if (version2 instanceof SemVer) { - return version2; - } - if (typeof version2 === "number") { - version2 = String(version2); - } - if (typeof version2 !== "string") { - return null; - } - options = options || {}; - let match = null; - if (!options.rtl) { - match = version2.match(re[t.COERCE]); - } else { - let next; - while ((next = re[t.COERCERTL].exec(version2)) && (!match || match.index + match[0].length !== version2.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; - } - re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; - } - re[t.COERCERTL].lastIndex = -1; - } - if (match === null) { - return null; - } - return parse(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options); - }; - module2.exports = coerce; - } -}); - -// .yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/iterator.js -var require_iterator = __commonJS({ - ".yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/iterator.js"(exports, module2) { - "use strict"; - module2.exports = function(Yallist) { - Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value; - } - }; - }; - } -}); - -// .yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/yallist.js -var require_yallist = __commonJS({ - ".yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/yallist.js"(exports, module2) { - "use strict"; - module2.exports = Yallist; - Yallist.Node = Node; - Yallist.create = Yallist; - function Yallist(list) { - var self2 = this; - if (!(self2 instanceof Yallist)) { - self2 = new Yallist(); - } - self2.tail = null; - self2.head = null; - self2.length = 0; - if (list && typeof list.forEach === "function") { - list.forEach(function(item) { - self2.push(item); - }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self2.push(arguments[i]); - } - } - return self2; - } - Yallist.prototype.removeNode = function(node) { - if (node.list !== this) { - throw new Error("removing node which does not belong to this list"); - } - var next = node.next; - var prev = node.prev; - if (next) { - next.prev = prev; - } - if (prev) { - prev.next = next; - } - if (node === this.head) { - this.head = next; - } - if (node === this.tail) { - this.tail = prev; - } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - return next; - }; - Yallist.prototype.unshiftNode = function(node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var head = this.head; - node.list = this; - node.next = head; - if (head) { - head.prev = node; - } - this.head = node; - if (!this.tail) { - this.tail = node; - } - this.length++; - }; - Yallist.prototype.pushNode = function(node) { - if (node === this.tail) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var tail = this.tail; - node.list = this; - node.prev = tail; - if (tail) { - tail.next = node; - } - this.tail = node; - if (!this.head) { - this.head = node; - } - this.length++; - }; - Yallist.prototype.push = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.unshift = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.pop = function() { - if (!this.tail) { - return void 0; - } - var res = this.tail.value; - this.tail = this.tail.prev; - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } - this.length--; - return res; - }; - Yallist.prototype.shift = function() { - if (!this.head) { - return void 0; - } - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } - this.length--; - return res; - }; - Yallist.prototype.forEach = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.head, i = 0; walker !== null; i++) { - fn2.call(thisp, walker.value, i, this); - walker = walker.next; - } - }; - Yallist.prototype.forEachReverse = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn2.call(thisp, walker.value, i, this); - walker = walker.prev; - } - }; - Yallist.prototype.get = function(n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - walker = walker.next; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.getReverse = function(n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - walker = walker.prev; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.map = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.head; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.next; - } - return res; - }; - Yallist.prototype.mapReverse = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.tail; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.prev; - } - return res; - }; - Yallist.prototype.reduce = function(fn2, initial) { - var acc; - var walker = this.head; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = 0; walker !== null; i++) { - acc = fn2(acc, walker.value, i); - walker = walker.next; - } - return acc; - }; - Yallist.prototype.reduceReverse = function(fn2, initial) { - var acc; - var walker = this.tail; - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = this.length - 1; walker !== null; i--) { - acc = fn2(acc, walker.value, i); - walker = walker.prev; - } - return acc; - }; - Yallist.prototype.toArray = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } - return arr; - }; - Yallist.prototype.toArrayReverse = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } - return arr; - }; - Yallist.prototype.slice = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.sliceReverse = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.splice = function(start, deleteCount, ...nodes) { - if (start > this.length) { - start = this.length - 1; - } - if (start < 0) { - start = this.length + start; - } - for (var i = 0, walker = this.head; walker !== null && i < start; i++) { - walker = walker.next; - } - var ret = []; - for (var i = 0; walker && i < deleteCount; i++) { - ret.push(walker.value); - walker = this.removeNode(walker); - } - if (walker === null) { - walker = this.tail; - } - if (walker !== this.head && walker !== this.tail) { - walker = walker.prev; - } - for (var i = 0; i < nodes.length; i++) { - walker = insert(this, walker, nodes[i]); - } - return ret; - }; - Yallist.prototype.reverse = function() { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } - this.head = tail; - this.tail = head; - return this; - }; - function insert(self2, node, value) { - var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); - if (inserted.next === null) { - self2.tail = inserted; - } - if (inserted.prev === null) { - self2.head = inserted; - } - self2.length++; - return inserted; - } - function push(self2, item) { - self2.tail = new Node(item, self2.tail, null, self2); - if (!self2.head) { - self2.head = self2.tail; - } - self2.length++; - } - function unshift(self2, item) { - self2.head = new Node(item, null, self2.head, self2); - if (!self2.tail) { - self2.tail = self2.head; - } - self2.length++; - } - function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); - } - this.list = list; - this.value = value; - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; - } - } - try { - require_iterator()(Yallist); - } catch (er) { - } - } -}); - -// .yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-b2d72088dd.zip/node_modules/lru-cache/index.js -var require_lru_cache = __commonJS({ - ".yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-b2d72088dd.zip/node_modules/lru-cache/index.js"(exports, module2) { - "use strict"; - var Yallist = require_yallist(); - var MAX = Symbol("max"); - var LENGTH = Symbol("length"); - var LENGTH_CALCULATOR = Symbol("lengthCalculator"); - var ALLOW_STALE = Symbol("allowStale"); - var MAX_AGE = Symbol("maxAge"); - var DISPOSE = Symbol("dispose"); - var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet"); - var LRU_LIST = Symbol("lruList"); - var CACHE = Symbol("cache"); - var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet"); - var naiveLength = () => 1; - var LRUCache = class { - constructor(options) { - if (typeof options === "number") - options = { max: options }; - if (!options) - options = {}; - if (options.max && (typeof options.max !== "number" || options.max < 0)) - throw new TypeError("max must be a non-negative number"); - const max = this[MAX] = options.max || Infinity; - const lc = options.length || naiveLength; - this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc; - this[ALLOW_STALE] = options.stale || false; - if (options.maxAge && typeof options.maxAge !== "number") - throw new TypeError("maxAge must be a number"); - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; - this.reset(); - } - // resize the cache when the max changes. - set max(mL) { - if (typeof mL !== "number" || mL < 0) - throw new TypeError("max must be a non-negative number"); - this[MAX] = mL || Infinity; - trim(this); - } - get max() { - return this[MAX]; - } - set allowStale(allowStale) { - this[ALLOW_STALE] = !!allowStale; - } - get allowStale() { - return this[ALLOW_STALE]; - } - set maxAge(mA) { - if (typeof mA !== "number") - throw new TypeError("maxAge must be a non-negative number"); - this[MAX_AGE] = mA; - trim(this); - } - get maxAge() { - return this[MAX_AGE]; - } - // resize the cache when the lengthCalculator changes. - set lengthCalculator(lC) { - if (typeof lC !== "function") - lC = naiveLength; - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach((hit) => { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }); - } - trim(this); - } - get lengthCalculator() { - return this[LENGTH_CALCULATOR]; - } - get length() { - return this[LENGTH]; - } - get itemCount() { - return this[LRU_LIST].length; - } - rforEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].tail; walker !== null; ) { - const prev = walker.prev; - forEachStep(this, fn2, walker, thisp); - walker = prev; - } - } - forEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].head; walker !== null; ) { - const next = walker.next; - forEachStep(this, fn2, walker, thisp); - walker = next; - } - } - keys() { - return this[LRU_LIST].toArray().map((k) => k.key); - } - values() { - return this[LRU_LIST].toArray().map((k) => k.value); - } - reset() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value)); - } - this[CACHE] = /* @__PURE__ */ new Map(); - this[LRU_LIST] = new Yallist(); - this[LENGTH] = 0; - } - dump() { - return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }).toArray().filter((h) => h); - } - dumpLru() { - return this[LRU_LIST]; - } - set(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - if (maxAge && typeof maxAge !== "number") - throw new TypeError("maxAge must be a number"); - const now = maxAge ? Date.now() : 0; - const len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; - } - const node = this[CACHE].get(key); - const item = node.value; - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) - this[DISPOSE](key, item.value); - } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim(this); - return true; - } - const hit = new Entry(key, value, len, now, maxAge); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) - this[DISPOSE](key, value); - return false; - } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim(this); - return true; - } - has(key) { - if (!this[CACHE].has(key)) - return false; - const hit = this[CACHE].get(key).value; - return !isStale(this, hit); - } - get(key) { - return get(this, key, true); - } - peek(key) { - return get(this, key, false); - } - pop() { - const node = this[LRU_LIST].tail; - if (!node) - return null; - del(this, node); - return node.value; - } - del(key) { - del(this, this[CACHE].get(key)); - } - load(arr) { - this.reset(); - const now = Date.now(); - for (let l = arr.length - 1; l >= 0; l--) { - const hit = arr[l]; - const expiresAt = hit.e || 0; - if (expiresAt === 0) - this.set(hit.k, hit.v); - else { - const maxAge = expiresAt - now; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } - } - } - } - prune() { - this[CACHE].forEach((value, key) => get(this, key, false)); - } - }; - var get = (self2, key, doUse) => { - const node = self2[CACHE].get(key); - if (node) { - const hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - return void 0; - } else { - if (doUse) { - if (self2[UPDATE_AGE_ON_GET]) - node.value.now = Date.now(); - self2[LRU_LIST].unshiftNode(node); - } - } - return hit.value; - } - }; - var isStale = (self2, hit) => { - if (!hit || !hit.maxAge && !self2[MAX_AGE]) - return false; - const diff = Date.now() - hit.now; - return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE]; - }; - var trim = (self2) => { - if (self2[LENGTH] > self2[MAX]) { - for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { - const prev = walker.prev; - del(self2, walker); - walker = prev; - } - } - }; - var del = (self2, node) => { - if (node) { - const hit = node.value; - if (self2[DISPOSE]) - self2[DISPOSE](hit.key, hit.value); - self2[LENGTH] -= hit.length; - self2[CACHE].delete(hit.key); - self2[LRU_LIST].removeNode(node); - } - }; - var Entry = class { - constructor(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; - } - }; - var forEachStep = (self2, fn2, node, thisp) => { - let hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - hit = void 0; - } - if (hit) - fn2.call(thisp, hit.value, hit.key, self2); - }; - module2.exports = LRUCache; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/classes/range.js -var require_range = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/classes/range.js"(exports, module2) { - var Range = class { - constructor(range, options) { - options = parseOptions(options); - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } - if (range instanceof Comparator) { - this.raw = range.value; - this.set = [[range]]; - this.format(); - return this; - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range; - this.set = range.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); - if (!this.set.length) { - throw new TypeError(`Invalid SemVer Range: ${range}`); - } - if (this.set.length > 1) { - const first = this.set[0]; - this.set = this.set.filter((c) => !isNullSet(c[0])); - if (this.set.length === 0) { - this.set = [first]; - } else if (this.set.length > 1) { - for (const c of this.set) { - if (c.length === 1 && isAny(c[0])) { - this.set = [c]; - break; - } - } - } - } - this.format(); - } - format() { - this.range = this.set.map((comps) => { - return comps.join(" ").trim(); - }).join("||").trim(); - return this.range; - } - toString() { - return this.range; - } - parseRange(range) { - range = range.trim(); - const memoOpts = Object.keys(this.options).join(","); - const memoKey = `parseRange:${memoOpts}:${range}`; - const cached = cache.get(memoKey); - if (cached) { - return cached; - } - const loose = this.options.loose; - const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug2("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug2("comparator trim", range); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - range = range.split(/\s+/).join(" "); - let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); - if (loose) { - rangeList = rangeList.filter((comp) => { - debug2("loose invalid filter", comp, this.options); - return !!comp.match(re[t.COMPARATORLOOSE]); - }); - } - debug2("range list", rangeList); - const rangeMap = /* @__PURE__ */ new Map(); - const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); - for (const comp of comparators) { - if (isNullSet(comp)) { - return [comp]; - } - rangeMap.set(comp.value, comp); - } - if (rangeMap.size > 1 && rangeMap.has("")) { - rangeMap.delete(""); - } - const result = [...rangeMap.values()]; - cache.set(memoKey, result); - return result; - } - intersects(range, options) { - if (!(range instanceof Range)) { - throw new TypeError("a Range is required"); - } - return this.set.some((thisComparators) => { - return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { - return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { - return rangeComparators.every((rangeComparator) => { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - } - // if ANY of the sets match ALL of its comparators, then pass - test(version2) { - if (!version2) { - return false; - } - if (typeof version2 === "string") { - try { - version2 = new SemVer(version2, this.options); - } catch (er) { - return false; - } - } - for (let i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version2, this.options)) { - return true; - } - } - return false; - } - }; - module2.exports = Range; - var LRU = require_lru_cache(); - var cache = new LRU({ max: 1e3 }); - var parseOptions = require_parse_options(); - var Comparator = require_comparator(); - var debug2 = require_debug(); - var SemVer = require_semver(); - var { - re, - t, - comparatorTrimReplace, - tildeTrimReplace, - caretTrimReplace - } = require_re(); - var isNullSet = (c) => c.value === "<0.0.0-0"; - var isAny = (c) => c.value === ""; - var isSatisfiable = (comparators, options) => { - let result = true; - const remainingComparators = comparators.slice(); - let testComparator = remainingComparators.pop(); - while (result && remainingComparators.length) { - result = remainingComparators.every((otherComparator) => { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } - return result; - }; - var parseComparator = (comp, options) => { - debug2("comp", comp, options); - comp = replaceCarets(comp, options); - debug2("caret", comp); - comp = replaceTildes(comp, options); - debug2("tildes", comp); - comp = replaceXRanges(comp, options); - debug2("xrange", comp); - comp = replaceStars(comp, options); - debug2("stars", comp); - return comp; - }; - var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; - var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => { - return replaceTilde(c, options); - }).join(" "); - var replaceTilde = (comp, options) => { - const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, (_, M, m, p, pr) => { - debug2("tilde", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; - } else if (isX(p)) { - ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; - } else if (pr) { - debug2("replaceTilde pr", pr); - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; - } - debug2("tilde return", ret); - return ret; - }); - }; - var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => { - return replaceCaret(c, options); - }).join(" "); - var replaceCaret = (comp, options) => { - debug2("caret", comp, options); - const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - const z = options.includePrerelease ? "-0" : ""; - return comp.replace(r, (_, M, m, p, pr) => { - debug2("caret", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; - } else if (isX(p)) { - if (M === "0") { - ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; - } - } else if (pr) { - debug2("replaceCaret pr", pr); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; - } - } else { - debug2("no pr"); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; - } - } - debug2("caret return", ret); - return ret; - }); - }; - var replaceXRanges = (comp, options) => { - debug2("replaceXRanges", comp, options); - return comp.split(/\s+/).map((c) => { - return replaceXRange(c, options); - }).join(" "); - }; - var replaceXRange = (comp, options) => { - comp = comp.trim(); - const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, (ret, gtlt, M, m, p, pr) => { - debug2("xRange", comp, ret, gtlt, M, m, p, pr); - const xM = isX(M); - const xm = xM || isX(m); - const xp = xm || isX(p); - const anyX = xp; - if (gtlt === "=" && anyX) { - gtlt = ""; - } - pr = options.includePrerelease ? "-0" : ""; - if (xM) { - if (gtlt === ">" || gtlt === "<") { - ret = "<0.0.0-0"; - } else { - ret = "*"; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === ">") { - gtlt = ">="; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === "<=") { - gtlt = "<"; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - if (gtlt === "<") { - pr = "-0"; - } - ret = `${gtlt + M}.${m}.${p}${pr}`; - } else if (xm) { - ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; - } else if (xp) { - ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; - } - debug2("xRange return", ret); - return ret; - }); - }; - var replaceStars = (comp, options) => { - debug2("replaceStars", comp, options); - return comp.trim().replace(re[t.STAR], ""); - }; - var replaceGTE0 = (comp, options) => { - debug2("replaceGTE0", comp, options); - return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); - }; - var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => { - if (isX(fM)) { - from = ""; - } else if (isX(fm)) { - from = `>=${fM}.0.0${incPr ? "-0" : ""}`; - } else if (isX(fp)) { - from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; - } else if (fpr) { - from = `>=${from}`; - } else { - from = `>=${from}${incPr ? "-0" : ""}`; - } - if (isX(tM)) { - to = ""; - } else if (isX(tm)) { - to = `<${+tM + 1}.0.0-0`; - } else if (isX(tp)) { - to = `<${tM}.${+tm + 1}.0-0`; - } else if (tpr) { - to = `<=${tM}.${tm}.${tp}-${tpr}`; - } else if (incPr) { - to = `<${tM}.${tm}.${+tp + 1}-0`; - } else { - to = `<=${to}`; - } - return `${from} ${to}`.trim(); - }; - var testSet = (set, version2, options) => { - for (let i = 0; i < set.length; i++) { - if (!set[i].test(version2)) { - return false; - } - } - if (version2.prerelease.length && !options.includePrerelease) { - for (let i = 0; i < set.length; i++) { - debug2(set[i].semver); - if (set[i].semver === Comparator.ANY) { - continue; - } - if (set[i].semver.prerelease.length > 0) { - const allowed = set[i].semver; - if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) { - return true; - } - } - } - return false; - } - return true; - }; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/classes/comparator.js -var require_comparator = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/classes/comparator.js"(exports, module2) { - var ANY = Symbol("SemVer ANY"); - var Comparator = class { - static get ANY() { - return ANY; - } - constructor(comp, options) { - options = parseOptions(options); - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - debug2("comparator", comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ""; - } else { - this.value = this.operator + this.semver.version; - } - debug2("comp", this); - } - parse(comp) { - const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - const m = comp.match(r); - if (!m) { - throw new TypeError(`Invalid comparator: ${comp}`); - } - this.operator = m[1] !== void 0 ? m[1] : ""; - if (this.operator === "=") { - this.operator = ""; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - } - toString() { - return this.value; - } - test(version2) { - debug2("Comparator.test", version2, this.options.loose); - if (this.semver === ANY || version2 === ANY) { - return true; - } - if (typeof version2 === "string") { - try { - version2 = new SemVer(version2, this.options); - } catch (er) { - return false; - } - } - return cmp(version2, this.operator, this.semver, this.options); - } - intersects(comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError("a Comparator is required"); - } - if (!options || typeof options !== "object") { - options = { - loose: !!options, - includePrerelease: false - }; - } - if (this.operator === "") { - if (this.value === "") { - return true; - } - return new Range(comp.value, options).test(this.value); - } else if (comp.operator === "") { - if (comp.value === "") { - return true; - } - return new Range(this.value, options).test(comp.semver); - } - const sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">"); - const sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<"); - const sameSemVer = this.semver.version === comp.semver.version; - const differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<="); - const oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<"); - const oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">"); - return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; - } - }; - module2.exports = Comparator; - var parseOptions = require_parse_options(); - var { re, t } = require_re(); - var cmp = require_cmp(); - var debug2 = require_debug(); - var SemVer = require_semver(); - var Range = require_range(); - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/satisfies.js -var require_satisfies = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/functions/satisfies.js"(exports, module2) { - var Range = require_range(); - var satisfies = (version2, range, options) => { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - return range.test(version2); - }; - module2.exports = satisfies; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/to-comparators.js -var require_to_comparators = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/to-comparators.js"(exports, module2) { - var Range = require_range(); - var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); - module2.exports = toComparators; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/max-satisfying.js -var require_max_satisfying = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/max-satisfying.js"(exports, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var maxSatisfying = (versions, range, options) => { - let max = null; - let maxSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; - }; - module2.exports = maxSatisfying; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/min-satisfying.js -var require_min_satisfying = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/min-satisfying.js"(exports, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var minSatisfying = (versions, range, options) => { - let min = null; - let minSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; - }; - module2.exports = minSatisfying; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/min-version.js -var require_min_version = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/min-version.js"(exports, module2) { - var SemVer = require_semver(); - var Range = require_range(); - var gt = require_gt(); - var minVersion = (range, loose) => { - range = new Range(range, loose); - let minver = new SemVer("0.0.0"); - if (range.test(minver)) { - return minver; - } - minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { - return minver; - } - minver = null; - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let setMin = null; - comparators.forEach((comparator) => { - const compver = new SemVer(comparator.semver.version); - switch (comparator.operator) { - case ">": - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - case "": - case ">=": - if (!setMin || gt(compver, setMin)) { - setMin = compver; - } - break; - case "<": - case "<=": - break; - default: - throw new Error(`Unexpected operation: ${comparator.operator}`); - } - }); - if (setMin && (!minver || gt(minver, setMin))) { - minver = setMin; - } - } - if (minver && range.test(minver)) { - return minver; - } - return null; - }; - module2.exports = minVersion; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/valid.js -var require_valid2 = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/valid.js"(exports, module2) { - var Range = require_range(); - var validRange = (range, options) => { - try { - return new Range(range, options).range || "*"; - } catch (er) { - return null; - } - }; - module2.exports = validRange; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/outside.js -var require_outside = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/outside.js"(exports, module2) { - var SemVer = require_semver(); - var Comparator = require_comparator(); - var { ANY } = Comparator; - var Range = require_range(); - var satisfies = require_satisfies(); - var gt = require_gt(); - var lt = require_lt(); - var lte = require_lte(); - var gte = require_gte(); - var outside = (version2, range, hilo, options) => { - version2 = new SemVer(version2, options); - range = new Range(range, options); - let gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case ">": - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = ">"; - ecomp = ">="; - break; - case "<": - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = "<"; - ecomp = "<="; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - if (satisfies(version2, range, options)) { - return false; - } - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let high = null; - let low = null; - comparators.forEach((comparator) => { - if (comparator.semver === ANY) { - comparator = new Comparator(">=0.0.0"); - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); - if (high.operator === comp || high.operator === ecomp) { - return false; - } - if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version2, low.semver)) { - return false; - } - } - return true; - }; - module2.exports = outside; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/gtr.js -var require_gtr = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/gtr.js"(exports, module2) { - var outside = require_outside(); - var gtr = (version2, range, options) => outside(version2, range, ">", options); - module2.exports = gtr; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/ltr.js -var require_ltr = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/ltr.js"(exports, module2) { - var outside = require_outside(); - var ltr = (version2, range, options) => outside(version2, range, "<", options); - module2.exports = ltr; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/intersects.js -var require_intersects = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/intersects.js"(exports, module2) { - var Range = require_range(); - var intersects = (r1, r2, options) => { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2); - }; - module2.exports = intersects; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/simplify.js -var require_simplify = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/simplify.js"(exports, module2) { - var satisfies = require_satisfies(); - var compare = require_compare(); - module2.exports = (versions, range, options) => { - const set = []; - let first = null; - let prev = null; - const v = versions.sort((a, b) => compare(a, b, options)); - for (const version2 of v) { - const included = satisfies(version2, range, options); - if (included) { - prev = version2; - if (!first) { - first = version2; - } - } else { - if (prev) { - set.push([first, prev]); - } - prev = null; - first = null; - } - } - if (first) { - set.push([first, null]); - } - const ranges = []; - for (const [min, max] of set) { - if (min === max) { - ranges.push(min); - } else if (!max && min === v[0]) { - ranges.push("*"); - } else if (!max) { - ranges.push(`>=${min}`); - } else if (min === v[0]) { - ranges.push(`<=${max}`); - } else { - ranges.push(`${min} - ${max}`); - } - } - const simplified = ranges.join(" || "); - const original = typeof range.raw === "string" ? range.raw : String(range); - return simplified.length < original.length ? simplified : range; - }; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/subset.js -var require_subset = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/ranges/subset.js"(exports, module2) { - var Range = require_range(); - var Comparator = require_comparator(); - var { ANY } = Comparator; - var satisfies = require_satisfies(); - var compare = require_compare(); - var subset = (sub, dom, options = {}) => { - if (sub === dom) { - return true; - } - sub = new Range(sub, options); - dom = new Range(dom, options); - let sawNonNull = false; - OUTER: - for (const simpleSub of sub.set) { - for (const simpleDom of dom.set) { - const isSub = simpleSubset(simpleSub, simpleDom, options); - sawNonNull = sawNonNull || isSub !== null; - if (isSub) { - continue OUTER; - } - } - if (sawNonNull) { - return false; - } - } - return true; - }; - var simpleSubset = (sub, dom, options) => { - if (sub === dom) { - return true; - } - if (sub.length === 1 && sub[0].semver === ANY) { - if (dom.length === 1 && dom[0].semver === ANY) { - return true; - } else if (options.includePrerelease) { - sub = [new Comparator(">=0.0.0-0")]; - } else { - sub = [new Comparator(">=0.0.0")]; - } - } - if (dom.length === 1 && dom[0].semver === ANY) { - if (options.includePrerelease) { - return true; - } else { - dom = [new Comparator(">=0.0.0")]; - } - } - const eqSet = /* @__PURE__ */ new Set(); - let gt, lt; - for (const c of sub) { - if (c.operator === ">" || c.operator === ">=") { - gt = higherGT(gt, c, options); - } else if (c.operator === "<" || c.operator === "<=") { - lt = lowerLT(lt, c, options); - } else { - eqSet.add(c.semver); - } - } - if (eqSet.size > 1) { - return null; - } - let gtltComp; - if (gt && lt) { - gtltComp = compare(gt.semver, lt.semver, options); - if (gtltComp > 0) { - return null; - } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) { - return null; - } - } - for (const eq of eqSet) { - if (gt && !satisfies(eq, String(gt), options)) { - return null; - } - if (lt && !satisfies(eq, String(lt), options)) { - return null; - } - for (const c of dom) { - if (!satisfies(eq, String(c), options)) { - return false; - } - } - return true; - } - let higher, lower; - let hasDomLT, hasDomGT; - let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; - let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; - if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { - needDomLTPre = false; - } - for (const c of dom) { - hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; - hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; - if (gt) { - if (needDomGTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { - needDomGTPre = false; - } - } - if (c.operator === ">" || c.operator === ">=") { - higher = higherGT(gt, c, options); - if (higher === c && higher !== gt) { - return false; - } - } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) { - return false; - } - } - if (lt) { - if (needDomLTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) { - needDomLTPre = false; - } - } - if (c.operator === "<" || c.operator === "<=") { - lower = lowerLT(lt, c, options); - if (lower === c && lower !== lt) { - return false; - } - } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) { - return false; - } - } - if (!c.operator && (lt || gt) && gtltComp !== 0) { - return false; - } - } - if (gt && hasDomLT && !lt && gtltComp !== 0) { - return false; - } - if (lt && hasDomGT && !gt && gtltComp !== 0) { - return false; - } - if (needDomGTPre || needDomLTPre) { - return false; - } - return true; - }; - var higherGT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a; - }; - var lowerLT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a; - }; - module2.exports = subset; - } -}); - -// .yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/index.js -var require_semver2 = __commonJS({ - ".yarn/cache/semver-npm-7.3.7-3bfe704194-67bcf24790.zip/node_modules/semver/index.js"(exports, module2) { - var internalRe = require_re(); - module2.exports = { - re: internalRe.re, - src: internalRe.src, - tokens: internalRe.t, - SEMVER_SPEC_VERSION: require_constants().SEMVER_SPEC_VERSION, - SemVer: require_semver(), - compareIdentifiers: require_identifiers().compareIdentifiers, - rcompareIdentifiers: require_identifiers().rcompareIdentifiers, - parse: require_parse(), - valid: require_valid(), - clean: require_clean(), - inc: require_inc(), - diff: require_diff(), - major: require_major(), - minor: require_minor(), - patch: require_patch(), - prerelease: require_prerelease(), - compare: require_compare(), - rcompare: require_rcompare(), - compareLoose: require_compare_loose(), - compareBuild: require_compare_build(), - sort: require_sort(), - rsort: require_rsort(), - gt: require_gt(), - lt: require_lt(), - eq: require_eq(), - neq: require_neq(), - gte: require_gte(), - lte: require_lte(), - cmp: require_cmp(), - coerce: require_coerce(), - Comparator: require_comparator(), - Range: require_range(), - satisfies: require_satisfies(), - toComparators: require_to_comparators(), - maxSatisfying: require_max_satisfying(), - minSatisfying: require_min_satisfying(), - minVersion: require_min_version(), - validRange: require_valid2(), - outside: require_outside(), - gtr: require_gtr(), - ltr: require_ltr(), - intersects: require_intersects(), - simplifyRange: require_simplify(), - subset: require_subset() - }; - } -}); - -// .yarn/cache/ms-npm-2.1.2-ec0c1512ff-3f46af60a0.zip/node_modules/ms/index.js -var require_ms = __commonJS({ - ".yarn/cache/ms-npm-2.1.2-ec0c1512ff-3f46af60a0.zip/node_modules/ms/index.js"(exports, module2) { - var s = 1e3; - var m = s * 60; - var h = m * 60; - var d = h * 24; - var w = d * 7; - var y = d * 365.25; - module2.exports = function(val, options) { - options = options || {}; - var type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "number" && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - throw new Error( - "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) - ); - }; - function parse(str) { - str = String(str); - if (str.length > 100) { - return; - } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - case "years": - case "year": - case "yrs": - case "yr": - case "y": - return n * y; - case "weeks": - case "week": - case "w": - return n * w; - case "days": - case "day": - case "d": - return n * d; - case "hours": - case "hour": - case "hrs": - case "hr": - case "h": - return n * h; - case "minutes": - case "minute": - case "mins": - case "min": - case "m": - return n * m; - case "seconds": - case "second": - case "secs": - case "sec": - case "s": - return n * s; - case "milliseconds": - case "millisecond": - case "msecs": - case "msec": - case "ms": - return n; - default: - return void 0; - } - } - function fmtShort(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return Math.round(ms / d) + "d"; - } - if (msAbs >= h) { - return Math.round(ms / h) + "h"; - } - if (msAbs >= m) { - return Math.round(ms / m) + "m"; - } - if (msAbs >= s) { - return Math.round(ms / s) + "s"; - } - return ms + "ms"; - } - function fmtLong(ms) { - var msAbs = Math.abs(ms); - if (msAbs >= d) { - return plural2(ms, msAbs, d, "day"); - } - if (msAbs >= h) { - return plural2(ms, msAbs, h, "hour"); - } - if (msAbs >= m) { - return plural2(ms, msAbs, m, "minute"); - } - if (msAbs >= s) { - return plural2(ms, msAbs, s, "second"); - } - return ms + " ms"; - } - function plural2(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); - } - } -}); - -// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js -var require_common = __commonJS({ - ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js"(exports, module2) { - function setup(env2) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms(); - createDebug.destroy = destroy; - Object.keys(env2).forEach((key) => { - createDebug[key] = env2[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug2(...args) { - if (!debug2.enabled) { - return; - } - const self2 = debug2; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args[0] = createDebug.coerce(args[0]); - if (typeof args[0] !== "string") { - args.unshift("%O"); - } - let index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format]; - if (typeof formatter === "function") { - const val = args[index]; - match = formatter.call(self2, val); - args.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args); - } - debug2.namespace = namespace; - debug2.useColors = createDebug.useColors(); - debug2.color = createDebug.selectColor(namespace); - debug2.extend = extend; - debug2.destroy = createDebug.destroy; - Object.defineProperty(debug2, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug2); - } - return debug2; - } - function extend(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js -var require_browser = __commonJS({ - ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js"(exports, module2) { - exports.formatArgs = formatArgs; - exports.save = save; - exports.load = load; - exports.useColors = useColors; - exports.storage = localstorage(); - exports.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args) { - args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args.splice(lastC, 0, c); - } - exports.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports.storage.setItem("debug", namespaces); - } else { - exports.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common()(exports); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// .yarn/cache/supports-color-npm-9.2.2-d003069e84-19d162c9d9.zip/node_modules/supports-color/index.js -var supports_color_exports = {}; -__export(supports_color_exports, { - createSupportsColor: () => createSupportsColor, - default: () => supports_color_default -}); -function hasFlag(flag, argv = import_node_process.default.argv) { - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; - const position = argv.indexOf(prefix + flag); - const terminatorPosition = argv.indexOf("--"); - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); -} -function envForceColor() { - if ("FORCE_COLOR" in env) { - if (env.FORCE_COLOR === "true") { - return 1; - } - if (env.FORCE_COLOR === "false") { - return 0; - } - return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); - } -} -function translateLevel(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} -function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { - const noFlagForceColor = envForceColor(); - if (noFlagForceColor !== void 0) { - flagForceColor = noFlagForceColor; - } - const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; - if (forceColor === 0) { - return 0; - } - if (sniffFlags) { - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - } - if (haveStream && !streamIsTTY && forceColor === void 0) { - return 0; - } - const min = forceColor || 0; - if (env.TERM === "dumb") { - return min; - } - if (import_node_process.default.platform === "win32") { - const osRelease = import_node_os.default.release().split("."); - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - if ("TF_BUILD" in env && "AGENT_NAME" in env) { - return 1; - } - if (env.COLORTERM === "truecolor") { - return 3; - } - if ("TERM_PROGRAM" in env) { - const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env.TERM_PROGRAM) { - case "iTerm.app": - return version2 >= 3 ? 3 : 2; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - if ("COLORTERM" in env) { - return 1; - } - return min; -} -function createSupportsColor(stream, options = {}) { - const level = _supportsColor(stream, { - streamIsTTY: stream && stream.isTTY, - ...options - }); - return translateLevel(level); -} -var import_node_process, import_node_os, import_node_tty, env, flagForceColor, supportsColor, supports_color_default; -var init_supports_color = __esm({ - ".yarn/cache/supports-color-npm-9.2.2-d003069e84-19d162c9d9.zip/node_modules/supports-color/index.js"() { - import_node_process = __toESM(require("process"), 1); - import_node_os = __toESM(require("os"), 1); - import_node_tty = __toESM(require("tty"), 1); - ({ env } = import_node_process.default); - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { - flagForceColor = 0; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - flagForceColor = 1; - } - supportsColor = { - stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }), - stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) }) - }; - supports_color_default = supportsColor; - } -}); - -// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js -var require_node = __commonJS({ - ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js"(exports, module2) { - var tty2 = require("tty"); - var util = require("util"); - exports.init = init; - exports.log = log2; - exports.formatArgs = formatArgs; - exports.save = save; - exports.load = load; - exports.useColors = useColors; - exports.destroy = util.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports)); - if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) { - exports.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty2.isatty(process.stderr.fd); - } - function formatArgs(args) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args[0] = prefix + args[0].split("\n").join("\n" + prefix); - args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args[0] = getDate() + name + " " + args[0]; - } - } - function getDate() { - if (exports.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args) { - return process.stderr.write(util.format(...args) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug2) { - debug2.inspectOpts = {}; - const keys = Object.keys(exports.inspectOpts); - for (let i = 0; i < keys.length; i++) { - debug2.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } - } - module2.exports = require_common()(exports); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); - }; - } -}); - -// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js -var require_src = __commonJS({ - ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js"(exports, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser(); - } else { - module2.exports = require_node(); - } - } -}); - -// .yarn/cache/yallist-npm-3.1.1-a568a556b4-8d382abef6.zip/node_modules/yallist/iterator.js -var require_iterator2 = __commonJS({ - ".yarn/cache/yallist-npm-3.1.1-a568a556b4-8d382abef6.zip/node_modules/yallist/iterator.js"(exports, module2) { - "use strict"; - module2.exports = function(Yallist) { - Yallist.prototype[Symbol.iterator] = function* () { - for (let walker = this.head; walker; walker = walker.next) { - yield walker.value; - } - }; - }; - } -}); - -// .yarn/cache/yallist-npm-3.1.1-a568a556b4-8d382abef6.zip/node_modules/yallist/yallist.js -var require_yallist2 = __commonJS({ - ".yarn/cache/yallist-npm-3.1.1-a568a556b4-8d382abef6.zip/node_modules/yallist/yallist.js"(exports, module2) { - "use strict"; - module2.exports = Yallist; - Yallist.Node = Node; - Yallist.create = Yallist; - function Yallist(list) { - var self2 = this; - if (!(self2 instanceof Yallist)) { - self2 = new Yallist(); - } - self2.tail = null; - self2.head = null; - self2.length = 0; - if (list && typeof list.forEach === "function") { - list.forEach(function(item) { - self2.push(item); - }); - } else if (arguments.length > 0) { - for (var i = 0, l = arguments.length; i < l; i++) { - self2.push(arguments[i]); - } - } - return self2; - } - Yallist.prototype.removeNode = function(node) { - if (node.list !== this) { - throw new Error("removing node which does not belong to this list"); - } - var next = node.next; - var prev = node.prev; - if (next) { - next.prev = prev; - } - if (prev) { - prev.next = next; - } - if (node === this.head) { - this.head = next; - } - if (node === this.tail) { - this.tail = prev; - } - node.list.length--; - node.next = null; - node.prev = null; - node.list = null; - return next; - }; - Yallist.prototype.unshiftNode = function(node) { - if (node === this.head) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var head = this.head; - node.list = this; - node.next = head; - if (head) { - head.prev = node; - } - this.head = node; - if (!this.tail) { - this.tail = node; - } - this.length++; - }; - Yallist.prototype.pushNode = function(node) { - if (node === this.tail) { - return; - } - if (node.list) { - node.list.removeNode(node); - } - var tail = this.tail; - node.list = this; - node.prev = tail; - if (tail) { - tail.next = node; - } - this.tail = node; - if (!this.head) { - this.head = node; - } - this.length++; - }; - Yallist.prototype.push = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.unshift = function() { - for (var i = 0, l = arguments.length; i < l; i++) { - unshift(this, arguments[i]); - } - return this.length; - }; - Yallist.prototype.pop = function() { - if (!this.tail) { - return void 0; - } - var res = this.tail.value; - this.tail = this.tail.prev; - if (this.tail) { - this.tail.next = null; - } else { - this.head = null; - } - this.length--; - return res; - }; - Yallist.prototype.shift = function() { - if (!this.head) { - return void 0; - } - var res = this.head.value; - this.head = this.head.next; - if (this.head) { - this.head.prev = null; - } else { - this.tail = null; - } - this.length--; - return res; - }; - Yallist.prototype.forEach = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.head, i = 0; walker !== null; i++) { - fn2.call(thisp, walker.value, i, this); - walker = walker.next; - } - }; - Yallist.prototype.forEachReverse = function(fn2, thisp) { - thisp = thisp || this; - for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { - fn2.call(thisp, walker.value, i, this); - walker = walker.prev; - } - }; - Yallist.prototype.get = function(n) { - for (var i = 0, walker = this.head; walker !== null && i < n; i++) { - walker = walker.next; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.getReverse = function(n) { - for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { - walker = walker.prev; - } - if (i === n && walker !== null) { - return walker.value; - } - }; - Yallist.prototype.map = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.head; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.next; - } - return res; - }; - Yallist.prototype.mapReverse = function(fn2, thisp) { - thisp = thisp || this; - var res = new Yallist(); - for (var walker = this.tail; walker !== null; ) { - res.push(fn2.call(thisp, walker.value, this)); - walker = walker.prev; - } - return res; - }; - Yallist.prototype.reduce = function(fn2, initial) { - var acc; - var walker = this.head; - if (arguments.length > 1) { - acc = initial; - } else if (this.head) { - walker = this.head.next; - acc = this.head.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = 0; walker !== null; i++) { - acc = fn2(acc, walker.value, i); - walker = walker.next; - } - return acc; - }; - Yallist.prototype.reduceReverse = function(fn2, initial) { - var acc; - var walker = this.tail; - if (arguments.length > 1) { - acc = initial; - } else if (this.tail) { - walker = this.tail.prev; - acc = this.tail.value; - } else { - throw new TypeError("Reduce of empty list with no initial value"); - } - for (var i = this.length - 1; walker !== null; i--) { - acc = fn2(acc, walker.value, i); - walker = walker.prev; - } - return acc; - }; - Yallist.prototype.toArray = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.head; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.next; - } - return arr; - }; - Yallist.prototype.toArrayReverse = function() { - var arr = new Array(this.length); - for (var i = 0, walker = this.tail; walker !== null; i++) { - arr[i] = walker.value; - walker = walker.prev; - } - return arr; - }; - Yallist.prototype.slice = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = 0, walker = this.head; walker !== null && i < from; i++) { - walker = walker.next; - } - for (; walker !== null && i < to; i++, walker = walker.next) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.sliceReverse = function(from, to) { - to = to || this.length; - if (to < 0) { - to += this.length; - } - from = from || 0; - if (from < 0) { - from += this.length; - } - var ret = new Yallist(); - if (to < from || to < 0) { - return ret; - } - if (from < 0) { - from = 0; - } - if (to > this.length) { - to = this.length; - } - for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { - walker = walker.prev; - } - for (; walker !== null && i > from; i--, walker = walker.prev) { - ret.push(walker.value); - } - return ret; - }; - Yallist.prototype.splice = function(start, deleteCount) { - if (start > this.length) { - start = this.length - 1; - } - if (start < 0) { - start = this.length + start; - } - for (var i = 0, walker = this.head; walker !== null && i < start; i++) { - walker = walker.next; - } - var ret = []; - for (var i = 0; walker && i < deleteCount; i++) { - ret.push(walker.value); - walker = this.removeNode(walker); - } - if (walker === null) { - walker = this.tail; - } - if (walker !== this.head && walker !== this.tail) { - walker = walker.prev; - } - for (var i = 2; i < arguments.length; i++) { - walker = insert(this, walker, arguments[i]); - } - return ret; - }; - Yallist.prototype.reverse = function() { - var head = this.head; - var tail = this.tail; - for (var walker = head; walker !== null; walker = walker.prev) { - var p = walker.prev; - walker.prev = walker.next; - walker.next = p; - } - this.head = tail; - this.tail = head; - return this; - }; - function insert(self2, node, value) { - var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); - if (inserted.next === null) { - self2.tail = inserted; - } - if (inserted.prev === null) { - self2.head = inserted; - } - self2.length++; - return inserted; - } - function push(self2, item) { - self2.tail = new Node(item, self2.tail, null, self2); - if (!self2.head) { - self2.head = self2.tail; - } - self2.length++; - } - function unshift(self2, item) { - self2.head = new Node(item, null, self2.head, self2); - if (!self2.tail) { - self2.tail = self2.head; - } - self2.length++; - } - function Node(value, prev, next, list) { - if (!(this instanceof Node)) { - return new Node(value, prev, next, list); - } - this.list = list; - this.value = value; - if (prev) { - prev.next = this; - this.prev = prev; - } else { - this.prev = null; - } - if (next) { - next.prev = this; - this.next = next; - } else { - this.next = null; - } - } - try { - require_iterator2()(Yallist); - } catch (er) { - } - } -}); - -// .yarn/cache/lru-cache-npm-5.1.1-f475882a51-7e3274d093.zip/node_modules/lru-cache/index.js -var require_lru_cache2 = __commonJS({ - ".yarn/cache/lru-cache-npm-5.1.1-f475882a51-7e3274d093.zip/node_modules/lru-cache/index.js"(exports, module2) { - "use strict"; - var Yallist = require_yallist2(); - var MAX = Symbol("max"); - var LENGTH = Symbol("length"); - var LENGTH_CALCULATOR = Symbol("lengthCalculator"); - var ALLOW_STALE = Symbol("allowStale"); - var MAX_AGE = Symbol("maxAge"); - var DISPOSE = Symbol("dispose"); - var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet"); - var LRU_LIST = Symbol("lruList"); - var CACHE = Symbol("cache"); - var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet"); - var naiveLength = () => 1; - var LRUCache = class { - constructor(options) { - if (typeof options === "number") - options = { max: options }; - if (!options) - options = {}; - if (options.max && (typeof options.max !== "number" || options.max < 0)) - throw new TypeError("max must be a non-negative number"); - const max = this[MAX] = options.max || Infinity; - const lc = options.length || naiveLength; - this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc; - this[ALLOW_STALE] = options.stale || false; - if (options.maxAge && typeof options.maxAge !== "number") - throw new TypeError("maxAge must be a number"); - this[MAX_AGE] = options.maxAge || 0; - this[DISPOSE] = options.dispose; - this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; - this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; - this.reset(); - } - // resize the cache when the max changes. - set max(mL) { - if (typeof mL !== "number" || mL < 0) - throw new TypeError("max must be a non-negative number"); - this[MAX] = mL || Infinity; - trim(this); - } - get max() { - return this[MAX]; - } - set allowStale(allowStale) { - this[ALLOW_STALE] = !!allowStale; - } - get allowStale() { - return this[ALLOW_STALE]; - } - set maxAge(mA) { - if (typeof mA !== "number") - throw new TypeError("maxAge must be a non-negative number"); - this[MAX_AGE] = mA; - trim(this); - } - get maxAge() { - return this[MAX_AGE]; - } - // resize the cache when the lengthCalculator changes. - set lengthCalculator(lC) { - if (typeof lC !== "function") - lC = naiveLength; - if (lC !== this[LENGTH_CALCULATOR]) { - this[LENGTH_CALCULATOR] = lC; - this[LENGTH] = 0; - this[LRU_LIST].forEach((hit) => { - hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); - this[LENGTH] += hit.length; - }); - } - trim(this); - } - get lengthCalculator() { - return this[LENGTH_CALCULATOR]; - } - get length() { - return this[LENGTH]; - } - get itemCount() { - return this[LRU_LIST].length; - } - rforEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].tail; walker !== null; ) { - const prev = walker.prev; - forEachStep(this, fn2, walker, thisp); - walker = prev; - } - } - forEach(fn2, thisp) { - thisp = thisp || this; - for (let walker = this[LRU_LIST].head; walker !== null; ) { - const next = walker.next; - forEachStep(this, fn2, walker, thisp); - walker = next; - } - } - keys() { - return this[LRU_LIST].toArray().map((k) => k.key); - } - values() { - return this[LRU_LIST].toArray().map((k) => k.value); - } - reset() { - if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { - this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value)); - } - this[CACHE] = /* @__PURE__ */ new Map(); - this[LRU_LIST] = new Yallist(); - this[LENGTH] = 0; - } - dump() { - return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : { - k: hit.key, - v: hit.value, - e: hit.now + (hit.maxAge || 0) - }).toArray().filter((h) => h); - } - dumpLru() { - return this[LRU_LIST]; - } - set(key, value, maxAge) { - maxAge = maxAge || this[MAX_AGE]; - if (maxAge && typeof maxAge !== "number") - throw new TypeError("maxAge must be a number"); - const now = maxAge ? Date.now() : 0; - const len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { - if (len > this[MAX]) { - del(this, this[CACHE].get(key)); - return false; - } - const node = this[CACHE].get(key); - const item = node.value; - if (this[DISPOSE]) { - if (!this[NO_DISPOSE_ON_SET]) - this[DISPOSE](key, item.value); - } - item.now = now; - item.maxAge = maxAge; - item.value = value; - this[LENGTH] += len - item.length; - item.length = len; - this.get(key); - trim(this); - return true; - } - const hit = new Entry(key, value, len, now, maxAge); - if (hit.length > this[MAX]) { - if (this[DISPOSE]) - this[DISPOSE](key, value); - return false; - } - this[LENGTH] += hit.length; - this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); - trim(this); - return true; - } - has(key) { - if (!this[CACHE].has(key)) - return false; - const hit = this[CACHE].get(key).value; - return !isStale(this, hit); - } - get(key) { - return get(this, key, true); - } - peek(key) { - return get(this, key, false); - } - pop() { - const node = this[LRU_LIST].tail; - if (!node) - return null; - del(this, node); - return node.value; - } - del(key) { - del(this, this[CACHE].get(key)); - } - load(arr) { - this.reset(); - const now = Date.now(); - for (let l = arr.length - 1; l >= 0; l--) { - const hit = arr[l]; - const expiresAt = hit.e || 0; - if (expiresAt === 0) - this.set(hit.k, hit.v); - else { - const maxAge = expiresAt - now; - if (maxAge > 0) { - this.set(hit.k, hit.v, maxAge); - } - } - } - } - prune() { - this[CACHE].forEach((value, key) => get(this, key, false)); - } - }; - var get = (self2, key, doUse) => { - const node = self2[CACHE].get(key); - if (node) { - const hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - return void 0; - } else { - if (doUse) { - if (self2[UPDATE_AGE_ON_GET]) - node.value.now = Date.now(); - self2[LRU_LIST].unshiftNode(node); - } - } - return hit.value; - } - }; - var isStale = (self2, hit) => { - if (!hit || !hit.maxAge && !self2[MAX_AGE]) - return false; - const diff = Date.now() - hit.now; - return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE]; - }; - var trim = (self2) => { - if (self2[LENGTH] > self2[MAX]) { - for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { - const prev = walker.prev; - del(self2, walker); - walker = prev; - } - } - }; - var del = (self2, node) => { - if (node) { - const hit = node.value; - if (self2[DISPOSE]) - self2[DISPOSE](hit.key, hit.value); - self2[LENGTH] -= hit.length; - self2[CACHE].delete(hit.key); - self2[LRU_LIST].removeNode(node); - } - }; - var Entry = class { - constructor(key, value, length, now, maxAge) { - this.key = key; - this.value = value; - this.length = length; - this.now = now; - this.maxAge = maxAge || 0; - } - }; - var forEachStep = (self2, fn2, node, thisp) => { - let hit = node.value; - if (isStale(self2, hit)) { - del(self2, node); - if (!self2[ALLOW_STALE]) - hit = void 0; - } - if (hit) - fn2.call(thisp, hit.value, hit.key, self2); - }; - module2.exports = LRUCache; - } -}); - -// .yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js -var require_common2 = __commonJS({ - ".yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js"(exports, module2) { - function setup(env2) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms(); - createDebug.destroy = destroy; - Object.keys(env2).forEach((key) => { - createDebug[key] = env2[key]; - }); - createDebug.names = []; - createDebug.skips = []; - createDebug.formatters = {}; - function selectColor(namespace) { - let hash = 0; - for (let i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; - } - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - function debug2(...args) { - if (!debug2.enabled) { - return; - } - const self2 = debug2; - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args[0] = createDebug.coerce(args[0]); - if (typeof args[0] !== "string") { - args.unshift("%O"); - } - let index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format]; - if (typeof formatter === "function") { - const val = args[index]; - match = formatter.call(self2, val); - args.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args); - } - debug2.namespace = namespace; - debug2.useColors = createDebug.useColors(); - debug2.color = createDebug.selectColor(namespace); - debug2.extend = extend; - debug2.destroy = createDebug.destroy; - Object.defineProperty(debug2, "enabled", { - enumerable: true, - configurable: false, - get: () => { - if (enableOverride !== null) { - return enableOverride; - } - if (namespacesCache !== createDebug.namespaces) { - namespacesCache = createDebug.namespaces; - enabledCache = createDebug.enabled(namespace); - } - return enabledCache; - }, - set: (v) => { - enableOverride = v; - } - }); - if (typeof createDebug.init === "function") { - createDebug.init(debug2); - } - return debug2; - } - function extend(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - createDebug.names = []; - createDebug.skips = []; - let i; - const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[i].replace(/\*/g, ".*?"); - if (namespaces[0] === "-") { - createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); - } else { - createDebug.names.push(new RegExp("^" + namespaces + "$")); - } - } - } - function disable() { - const namespaces = [ - ...createDebug.names.map(toNamespace), - ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) - ].join(","); - createDebug.enable(""); - return namespaces; - } - function enabled(name) { - if (name[name.length - 1] === "*") { - return true; - } - let i; - let len; - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - return false; - } - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); - } - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - function destroy() { - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - createDebug.enable(createDebug.load()); - return createDebug; - } - module2.exports = setup; - } -}); - -// .yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js -var require_browser2 = __commonJS({ - ".yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js"(exports, module2) { - exports.formatArgs = formatArgs; - exports.save = save; - exports.load = load; - exports.useColors = useColors; - exports.storage = localstorage(); - exports.destroy = (() => { - let warned = false; - return () => { - if (!warned) { - warned = true; - console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); - } - }; - })(); - exports.colors = [ - "#0000CC", - "#0000FF", - "#0033CC", - "#0033FF", - "#0066CC", - "#0066FF", - "#0099CC", - "#0099FF", - "#00CC00", - "#00CC33", - "#00CC66", - "#00CC99", - "#00CCCC", - "#00CCFF", - "#3300CC", - "#3300FF", - "#3333CC", - "#3333FF", - "#3366CC", - "#3366FF", - "#3399CC", - "#3399FF", - "#33CC00", - "#33CC33", - "#33CC66", - "#33CC99", - "#33CCCC", - "#33CCFF", - "#6600CC", - "#6600FF", - "#6633CC", - "#6633FF", - "#66CC00", - "#66CC33", - "#9900CC", - "#9900FF", - "#9933CC", - "#9933FF", - "#99CC00", - "#99CC33", - "#CC0000", - "#CC0033", - "#CC0066", - "#CC0099", - "#CC00CC", - "#CC00FF", - "#CC3300", - "#CC3333", - "#CC3366", - "#CC3399", - "#CC33CC", - "#CC33FF", - "#CC6600", - "#CC6633", - "#CC9900", - "#CC9933", - "#CCCC00", - "#CCCC33", - "#FF0000", - "#FF0033", - "#FF0066", - "#FF0099", - "#FF00CC", - "#FF00FF", - "#FF3300", - "#FF3333", - "#FF3366", - "#FF3399", - "#FF33CC", - "#FF33FF", - "#FF6600", - "#FF6633", - "#FF9900", - "#FF9933", - "#FFCC00", - "#FFCC33" - ]; - function useColors() { - if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { - return true; - } - if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args) { - args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args.splice(lastC, 0, c); - } - exports.log = console.debug || console.log || (() => { - }); - function save(namespaces) { - try { - if (namespaces) { - exports.storage.setItem("debug", namespaces); - } else { - exports.storage.removeItem("debug"); - } - } catch (error) { - } - } - function load() { - let r; - try { - r = exports.storage.getItem("debug"); - } catch (error) { - } - if (!r && typeof process !== "undefined" && "env" in process) { - r = process.env.DEBUG; - } - return r; - } - function localstorage() { - try { - return localStorage; - } catch (error) { - } - } - module2.exports = require_common2()(exports); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// .yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js -var require_node2 = __commonJS({ - ".yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js"(exports, module2) { - var tty2 = require("tty"); - var util = require("util"); - exports.init = init; - exports.log = log2; - exports.formatArgs = formatArgs; - exports.save = save; - exports.load = load; - exports.useColors = useColors; - exports.destroy = util.deprecate( - () => { - }, - "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." - ); - exports.colors = [6, 2, 3, 4, 5, 1]; - try { - const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports)); - if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) { - exports.colors = [ - 20, - 21, - 26, - 27, - 32, - 33, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 56, - 57, - 62, - 63, - 68, - 69, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 92, - 93, - 98, - 99, - 112, - 113, - 128, - 129, - 134, - 135, - 148, - 149, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 178, - 179, - 184, - 185, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 214, - 215, - 220, - 221 - ]; - } - } catch (error) { - } - exports.inspectOpts = Object.keys(process.env).filter((key) => { - return /^debug_/i.test(key); - }).reduce((obj, key) => { - const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - let val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) { - val = true; - } else if (/^(no|off|false|disabled)$/i.test(val)) { - val = false; - } else if (val === "null") { - val = null; - } else { - val = Number(val); - } - obj[prop] = val; - return obj; - }, {}); - function useColors() { - return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty2.isatty(process.stderr.fd); - } - function formatArgs(args) { - const { namespace: name, useColors: useColors2 } = this; - if (useColors2) { - const c = this.color; - const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); - const prefix = ` ${colorCode};1m${name} \x1B[0m`; - args[0] = prefix + args[0].split("\n").join("\n" + prefix); - args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args[0] = getDate() + name + " " + args[0]; - } - } - function getDate() { - if (exports.inspectOpts.hideDate) { - return ""; - } - return new Date().toISOString() + " "; - } - function log2(...args) { - return process.stderr.write(util.format(...args) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug2) { - debug2.inspectOpts = {}; - const keys = Object.keys(exports.inspectOpts); - for (let i = 0; i < keys.length; i++) { - debug2.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } - } - module2.exports = require_common2()(exports); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); - }; - } -}); - -// .yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js -var require_src2 = __commonJS({ - ".yarn/__virtual__/debug-virtual-450dae1bfe/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js"(exports, module2) { - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser2(); - } else { - module2.exports = require_node2(); - } - } -}); - -// .yarn/cache/agent-base-npm-6.0.2-428f325a93-2d0cdeccfe.zip/node_modules/agent-base/dist/src/promisify.js -var require_promisify = __commonJS({ - ".yarn/cache/agent-base-npm-6.0.2-428f325a93-2d0cdeccfe.zip/node_modules/agent-base/dist/src/promisify.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function promisify(fn2) { - return function(req, opts) { - return new Promise((resolve, reject) => { - fn2.call(this, req, opts, (err, rtn) => { - if (err) { - reject(err); - } else { - resolve(rtn); - } - }); - }); - }; - } - exports.default = promisify; - } -}); - -// .yarn/cache/agent-base-npm-6.0.2-428f325a93-2d0cdeccfe.zip/node_modules/agent-base/dist/src/index.js -var require_src3 = __commonJS({ - ".yarn/cache/agent-base-npm-6.0.2-428f325a93-2d0cdeccfe.zip/node_modules/agent-base/dist/src/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var events_1 = require("events"); - var debug_1 = __importDefault2(require_src2()); - var promisify_1 = __importDefault2(require_promisify()); - var debug2 = debug_1.default("agent-base"); - function isAgent(v) { - return Boolean(v) && typeof v.addRequest === "function"; - } - function isSecureEndpoint() { - const { stack } = new Error(); - if (typeof stack !== "string") - return false; - return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1); - } - function createAgent(callback, opts) { - return new createAgent.Agent(callback, opts); - } - (function(createAgent2) { - class Agent extends events_1.EventEmitter { - constructor(callback, _opts) { - super(); - let opts = _opts; - if (typeof callback === "function") { - this.callback = callback; - } else if (callback) { - opts = callback; - } - this.timeout = null; - if (opts && typeof opts.timeout === "number") { - this.timeout = opts.timeout; - } - this.maxFreeSockets = 1; - this.maxSockets = 1; - this.maxTotalSockets = Infinity; - this.sockets = {}; - this.freeSockets = {}; - this.requests = {}; - this.options = {}; - } - get defaultPort() { - if (typeof this.explicitDefaultPort === "number") { - return this.explicitDefaultPort; - } - return isSecureEndpoint() ? 443 : 80; - } - set defaultPort(v) { - this.explicitDefaultPort = v; - } - get protocol() { - if (typeof this.explicitProtocol === "string") { - return this.explicitProtocol; - } - return isSecureEndpoint() ? "https:" : "http:"; - } - set protocol(v) { - this.explicitProtocol = v; - } - callback(req, opts, fn2) { - throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`'); - } - /** - * Called by node-core's "_http_client.js" module when creating - * a new HTTP request with this Agent instance. - * - * @api public - */ - addRequest(req, _opts) { - const opts = Object.assign({}, _opts); - if (typeof opts.secureEndpoint !== "boolean") { - opts.secureEndpoint = isSecureEndpoint(); - } - if (opts.host == null) { - opts.host = "localhost"; - } - if (opts.port == null) { - opts.port = opts.secureEndpoint ? 443 : 80; - } - if (opts.protocol == null) { - opts.protocol = opts.secureEndpoint ? "https:" : "http:"; - } - if (opts.host && opts.path) { - delete opts.path; - } - delete opts.agent; - delete opts.hostname; - delete opts._defaultAgent; - delete opts.defaultPort; - delete opts.createConnection; - req._last = true; - req.shouldKeepAlive = false; - let timedOut = false; - let timeoutId = null; - const timeoutMs = opts.timeout || this.timeout; - const onerror = (err) => { - if (req._hadError) - return; - req.emit("error", err); - req._hadError = true; - }; - const ontimeout = () => { - timeoutId = null; - timedOut = true; - const err = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`); - err.code = "ETIMEOUT"; - onerror(err); - }; - const callbackError = (err) => { - if (timedOut) - return; - if (timeoutId !== null) { - clearTimeout(timeoutId); - timeoutId = null; - } - onerror(err); - }; - const onsocket = (socket) => { - if (timedOut) - return; - if (timeoutId != null) { - clearTimeout(timeoutId); - timeoutId = null; - } - if (isAgent(socket)) { - debug2("Callback returned another Agent instance %o", socket.constructor.name); - socket.addRequest(req, opts); - return; - } - if (socket) { - socket.once("free", () => { - this.freeSocket(socket, opts); - }); - req.onSocket(socket); - return; - } - const err = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``); - onerror(err); - }; - if (typeof this.callback !== "function") { - onerror(new Error("`callback` is not defined")); - return; - } - if (!this.promisifiedCallback) { - if (this.callback.length >= 3) { - debug2("Converting legacy callback function to promise"); - this.promisifiedCallback = promisify_1.default(this.callback); - } else { - this.promisifiedCallback = this.callback; - } - } - if (typeof timeoutMs === "number" && timeoutMs > 0) { - timeoutId = setTimeout(ontimeout, timeoutMs); - } - if ("port" in opts && typeof opts.port !== "number") { - opts.port = Number(opts.port); - } - try { - debug2("Resolving socket for %o request: %o", opts.protocol, `${req.method} ${req.path}`); - Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError); - } catch (err) { - Promise.reject(err).catch(callbackError); - } - } - freeSocket(socket, opts) { - debug2("Freeing socket %o %o", socket.constructor.name, opts); - socket.destroy(); - } - destroy() { - debug2("Destroying agent %o", this.constructor.name); - } - } - createAgent2.Agent = Agent; - createAgent2.prototype = createAgent2.Agent.prototype; - })(createAgent || (createAgent = {})); - module2.exports = createAgent; - } -}); - -// .yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-0bba2ef7c8.zip/node_modules/proxy-from-env/index.js -var require_proxy_from_env = __commonJS({ - ".yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-0bba2ef7c8.zip/node_modules/proxy-from-env/index.js"(exports) { - "use strict"; - var parseUrl = require("url").parse; - var DEFAULT_PORTS = { - ftp: 21, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; - }; - function getProxyForUrl(url) { - var parsedUrl = typeof url === "string" ? parseUrl(url) : url || {}; - var proto = parsedUrl.protocol; - var hostname = parsedUrl.host; - var port = parsedUrl.port; - if (typeof hostname !== "string" || !hostname || typeof proto !== "string") { - return ""; - } - proto = proto.split(":", 1)[0]; - hostname = hostname.replace(/:\d*$/, ""); - port = parseInt(port) || DEFAULT_PORTS[proto] || 0; - if (!shouldProxy(hostname, port)) { - return ""; - } - var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy"); - if (proxy && proxy.indexOf("://") === -1) { - proxy = proto + "://" + proxy; - } - return proxy; - } - function shouldProxy(hostname, port) { - var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase(); - if (!NO_PROXY) { - return true; - } - if (NO_PROXY === "*") { - return false; - } - return NO_PROXY.split(/[,\s]/).every(function(proxy) { - if (!proxy) { - return true; - } - var parsedProxy = proxy.match(/^(.+):(\d+)$/); - var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; - var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; - if (parsedProxyPort && parsedProxyPort !== port) { - return true; - } - if (!/^[.*]/.test(parsedProxyHostname)) { - return hostname !== parsedProxyHostname; - } - if (parsedProxyHostname.charAt(0) === "*") { - parsedProxyHostname = parsedProxyHostname.slice(1); - } - return !stringEndsWith.call(hostname, parsedProxyHostname); - }); - } - function getEnv(key) { - return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ""; - } - exports.getProxyForUrl = getProxyForUrl; - } -}); - -// .yarn/cache/data-uri-to-buffer-npm-3.0.1-830646f9ee-c7225ec422.zip/node_modules/data-uri-to-buffer/dist/src/index.js -var require_src4 = __commonJS({ - ".yarn/cache/data-uri-to-buffer-npm-3.0.1-830646f9ee-c7225ec422.zip/node_modules/data-uri-to-buffer/dist/src/index.js"(exports, module2) { - "use strict"; - function dataUriToBuffer(uri) { - if (!/^data:/i.test(uri)) { - throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")'); - } - uri = uri.replace(/\r?\n/g, ""); - const firstComma = uri.indexOf(","); - if (firstComma === -1 || firstComma <= 4) { - throw new TypeError("malformed data: URI"); - } - const meta = uri.substring(5, firstComma).split(";"); - let charset = ""; - let base64 = false; - const type = meta[0] || "text/plain"; - let typeFull = type; - for (let i = 1; i < meta.length; i++) { - if (meta[i] === "base64") { - base64 = true; - } else { - typeFull += `;${meta[i]}`; - if (meta[i].indexOf("charset=") === 0) { - charset = meta[i].substring(8); - } - } - } - if (!meta[0] && !charset.length) { - typeFull += ";charset=US-ASCII"; - charset = "US-ASCII"; - } - const encoding = base64 ? "base64" : "ascii"; - const data = unescape(uri.substring(firstComma + 1)); - const buffer = Buffer.from(data, encoding); - buffer.type = type; - buffer.typeFull = typeFull; - buffer.charset = charset; - return buffer; - } - module2.exports = dataUriToBuffer; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/notmodified.js -var require_notmodified = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/notmodified.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var NotModifiedError = class extends Error { - constructor(message) { - super(message || 'Source has not been modified since the provied "cache", re-use previous results'); - this.code = "ENOTMODIFIED"; - Object.setPrototypeOf(this, new.target.prototype); - } - }; - exports.default = NotModifiedError; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/data.js -var require_data = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/data.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var debug_1 = __importDefault2(require_src2()); - var stream_1 = require("stream"); - var crypto_1 = require("crypto"); - var data_uri_to_buffer_1 = __importDefault2(require_src4()); - var notmodified_1 = __importDefault2(require_notmodified()); - var debug2 = debug_1.default("get-uri:data"); - var DataReadable = class extends stream_1.Readable { - constructor(hash, buf) { - super(); - this.push(buf); - this.push(null); - this.hash = hash; - } - }; - function get({ href: uri }, { cache }) { - return __awaiter2(this, void 0, void 0, function* () { - const shasum = crypto_1.createHash("sha1"); - shasum.update(uri); - const hash = shasum.digest("hex"); - debug2('generated SHA1 hash for "data:" URI: %o', hash); - if (cache && cache.hash === hash) { - debug2("got matching cache SHA1 hash: %o", hash); - throw new notmodified_1.default(); - } else { - debug2('creating Readable stream from "data:" URI buffer'); - const buf = data_uri_to_buffer_1.default(uri); - return new DataReadable(hash, buf); - } - }); - } - exports.default = get; - } -}); - -// .yarn/cache/universalify-npm-0.1.2-9b22d31d2d-056559913f.zip/node_modules/universalify/index.js -var require_universalify = __commonJS({ - ".yarn/cache/universalify-npm-0.1.2-9b22d31d2d-056559913f.zip/node_modules/universalify/index.js"(exports) { - "use strict"; - exports.fromCallback = function(fn2) { - return Object.defineProperty(function() { - if (typeof arguments[arguments.length - 1] === "function") - fn2.apply(this, arguments); - else { - return new Promise((resolve, reject) => { - arguments[arguments.length] = (err, res) => { - if (err) - return reject(err); - resolve(res); - }; - arguments.length++; - fn2.apply(this, arguments); - }); - } - }, "name", { value: fn2.name }); - }; - exports.fromPromise = function(fn2) { - return Object.defineProperty(function() { - const cb = arguments[arguments.length - 1]; - if (typeof cb !== "function") - return fn2.apply(this, arguments); - else - fn2.apply(this, arguments).then((r) => cb(null, r), cb); - }, "name", { value: fn2.name }); - }; - } -}); - -// .yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/polyfills.js -var require_polyfills = __commonJS({ - ".yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/polyfills.js"(exports, module2) { - var constants = require("constants"); - var origCwd = process.cwd; - var cwd = null; - var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform; - process.cwd = function() { - if (!cwd) - cwd = origCwd.call(process); - return cwd; - }; - try { - process.cwd(); - } catch (er) { - } - if (typeof process.chdir === "function") { - chdir = process.chdir; - process.chdir = function(d) { - cwd = null; - chdir.call(process, d); - }; - if (Object.setPrototypeOf) - Object.setPrototypeOf(process.chdir, chdir); - } - var chdir; - module2.exports = patch; - function patch(fs6) { - if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - patchLchmod(fs6); - } - if (!fs6.lutimes) { - patchLutimes(fs6); - } - fs6.chown = chownFix(fs6.chown); - fs6.fchown = chownFix(fs6.fchown); - fs6.lchown = chownFix(fs6.lchown); - fs6.chmod = chmodFix(fs6.chmod); - fs6.fchmod = chmodFix(fs6.fchmod); - fs6.lchmod = chmodFix(fs6.lchmod); - fs6.chownSync = chownFixSync(fs6.chownSync); - fs6.fchownSync = chownFixSync(fs6.fchownSync); - fs6.lchownSync = chownFixSync(fs6.lchownSync); - fs6.chmodSync = chmodFixSync(fs6.chmodSync); - fs6.fchmodSync = chmodFixSync(fs6.fchmodSync); - fs6.lchmodSync = chmodFixSync(fs6.lchmodSync); - fs6.stat = statFix(fs6.stat); - fs6.fstat = statFix(fs6.fstat); - fs6.lstat = statFix(fs6.lstat); - fs6.statSync = statFixSync(fs6.statSync); - fs6.fstatSync = statFixSync(fs6.fstatSync); - fs6.lstatSync = statFixSync(fs6.lstatSync); - if (fs6.chmod && !fs6.lchmod) { - fs6.lchmod = function(path9, mode, cb) { - if (cb) - process.nextTick(cb); - }; - fs6.lchmodSync = function() { - }; - } - if (fs6.chown && !fs6.lchown) { - fs6.lchown = function(path9, uid, gid, cb) { - if (cb) - process.nextTick(cb); - }; - fs6.lchownSync = function() { - }; - } - if (platform === "win32") { - fs6.rename = typeof fs6.rename !== "function" ? fs6.rename : function(fs$rename) { - function rename(from, to, cb) { - var start = Date.now(); - var backoff = 0; - fs$rename(from, to, function CB(er) { - if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) { - setTimeout(function() { - fs6.stat(to, function(stater, st) { - if (stater && stater.code === "ENOENT") - fs$rename(from, to, CB); - else - cb(er); - }); - }, backoff); - if (backoff < 100) - backoff += 10; - return; - } - if (cb) - cb(er); - }); - } - if (Object.setPrototypeOf) - Object.setPrototypeOf(rename, fs$rename); - return rename; - }(fs6.rename); - } - fs6.read = typeof fs6.read !== "function" ? fs6.read : function(fs$read) { - function read(fd, buffer, offset, length, position, callback_) { - var callback; - if (callback_ && typeof callback_ === "function") { - var eagCounter = 0; - callback = function(er, _, __) { - if (er && er.code === "EAGAIN" && eagCounter < 10) { - eagCounter++; - return fs$read.call(fs6, fd, buffer, offset, length, position, callback); - } - callback_.apply(this, arguments); - }; - } - return fs$read.call(fs6, fd, buffer, offset, length, position, callback); - } - if (Object.setPrototypeOf) - Object.setPrototypeOf(read, fs$read); - return read; - }(fs6.read); - fs6.readSync = typeof fs6.readSync !== "function" ? fs6.readSync : function(fs$readSync) { - return function(fd, buffer, offset, length, position) { - var eagCounter = 0; - while (true) { - try { - return fs$readSync.call(fs6, fd, buffer, offset, length, position); - } catch (er) { - if (er.code === "EAGAIN" && eagCounter < 10) { - eagCounter++; - continue; - } - throw er; - } - } - }; - }(fs6.readSync); - function patchLchmod(fs7) { - fs7.lchmod = function(path9, mode, callback) { - fs7.open( - path9, - constants.O_WRONLY | constants.O_SYMLINK, - mode, - function(err, fd) { - if (err) { - if (callback) - callback(err); - return; - } - fs7.fchmod(fd, mode, function(err2) { - fs7.close(fd, function(err22) { - if (callback) - callback(err2 || err22); - }); - }); - } - ); - }; - fs7.lchmodSync = function(path9, mode) { - var fd = fs7.openSync(path9, constants.O_WRONLY | constants.O_SYMLINK, mode); - var threw = true; - var ret; - try { - ret = fs7.fchmodSync(fd, mode); - threw = false; - } finally { - if (threw) { - try { - fs7.closeSync(fd); - } catch (er) { - } - } else { - fs7.closeSync(fd); - } - } - return ret; - }; - } - function patchLutimes(fs7) { - if (constants.hasOwnProperty("O_SYMLINK") && fs7.futimes) { - fs7.lutimes = function(path9, at, mt, cb) { - fs7.open(path9, constants.O_SYMLINK, function(er, fd) { - if (er) { - if (cb) - cb(er); - return; - } - fs7.futimes(fd, at, mt, function(er2) { - fs7.close(fd, function(er22) { - if (cb) - cb(er2 || er22); - }); - }); - }); - }; - fs7.lutimesSync = function(path9, at, mt) { - var fd = fs7.openSync(path9, constants.O_SYMLINK); - var ret; - var threw = true; - try { - ret = fs7.futimesSync(fd, at, mt); - threw = false; - } finally { - if (threw) { - try { - fs7.closeSync(fd); - } catch (er) { - } - } else { - fs7.closeSync(fd); - } - } - return ret; - }; - } else if (fs7.futimes) { - fs7.lutimes = function(_a, _b, _c, cb) { - if (cb) - process.nextTick(cb); - }; - fs7.lutimesSync = function() { - }; - } - } - function chmodFix(orig) { - if (!orig) - return orig; - return function(target, mode, cb) { - return orig.call(fs6, target, mode, function(er) { - if (chownErOk(er)) - er = null; - if (cb) - cb.apply(this, arguments); - }); - }; - } - function chmodFixSync(orig) { - if (!orig) - return orig; - return function(target, mode) { - try { - return orig.call(fs6, target, mode); - } catch (er) { - if (!chownErOk(er)) - throw er; - } - }; - } - function chownFix(orig) { - if (!orig) - return orig; - return function(target, uid, gid, cb) { - return orig.call(fs6, target, uid, gid, function(er) { - if (chownErOk(er)) - er = null; - if (cb) - cb.apply(this, arguments); - }); - }; - } - function chownFixSync(orig) { - if (!orig) - return orig; - return function(target, uid, gid) { - try { - return orig.call(fs6, target, uid, gid); - } catch (er) { - if (!chownErOk(er)) - throw er; - } - }; - } - function statFix(orig) { - if (!orig) - return orig; - return function(target, options, cb) { - if (typeof options === "function") { - cb = options; - options = null; - } - function callback(er, stats) { - if (stats) { - if (stats.uid < 0) - stats.uid += 4294967296; - if (stats.gid < 0) - stats.gid += 4294967296; - } - if (cb) - cb.apply(this, arguments); - } - return options ? orig.call(fs6, target, options, callback) : orig.call(fs6, target, callback); - }; - } - function statFixSync(orig) { - if (!orig) - return orig; - return function(target, options) { - var stats = options ? orig.call(fs6, target, options) : orig.call(fs6, target); - if (stats) { - if (stats.uid < 0) - stats.uid += 4294967296; - if (stats.gid < 0) - stats.gid += 4294967296; - } - return stats; - }; - } - function chownErOk(er) { - if (!er) - return true; - if (er.code === "ENOSYS") - return true; - var nonroot = !process.getuid || process.getuid() !== 0; - if (nonroot) { - if (er.code === "EINVAL" || er.code === "EPERM") - return true; - } - return false; - } - } - } -}); - -// .yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/legacy-streams.js -var require_legacy_streams = __commonJS({ - ".yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/legacy-streams.js"(exports, module2) { - var Stream = require("stream").Stream; - module2.exports = legacy; - function legacy(fs6) { - return { - ReadStream, - WriteStream - }; - function ReadStream(path9, options) { - if (!(this instanceof ReadStream)) - return new ReadStream(path9, options); - Stream.call(this); - var self2 = this; - this.path = path9; - this.fd = null; - this.readable = true; - this.paused = false; - this.flags = "r"; - this.mode = 438; - this.bufferSize = 64 * 1024; - options = options || {}; - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - if (this.encoding) - this.setEncoding(this.encoding); - if (this.start !== void 0) { - if ("number" !== typeof this.start) { - throw TypeError("start must be a Number"); - } - if (this.end === void 0) { - this.end = Infinity; - } else if ("number" !== typeof this.end) { - throw TypeError("end must be a Number"); - } - if (this.start > this.end) { - throw new Error("start must be <= end"); - } - this.pos = this.start; - } - if (this.fd !== null) { - process.nextTick(function() { - self2._read(); - }); - return; - } - fs6.open(this.path, this.flags, this.mode, function(err, fd) { - if (err) { - self2.emit("error", err); - self2.readable = false; - return; - } - self2.fd = fd; - self2.emit("open", fd); - self2._read(); - }); - } - function WriteStream(path9, options) { - if (!(this instanceof WriteStream)) - return new WriteStream(path9, options); - Stream.call(this); - this.path = path9; - this.fd = null; - this.writable = true; - this.flags = "w"; - this.encoding = "binary"; - this.mode = 438; - this.bytesWritten = 0; - options = options || {}; - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - if (this.start !== void 0) { - if ("number" !== typeof this.start) { - throw TypeError("start must be a Number"); - } - if (this.start < 0) { - throw new Error("start must be >= zero"); - } - this.pos = this.start; - } - this.busy = false; - this._queue = []; - if (this.fd === null) { - this._open = fs6.open; - this._queue.push([this._open, this.path, this.flags, this.mode, void 0]); - this.flush(); - } - } - } - } -}); - -// .yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/clone.js -var require_clone = __commonJS({ - ".yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/clone.js"(exports, module2) { - "use strict"; - module2.exports = clone; - var getPrototypeOf = Object.getPrototypeOf || function(obj) { - return obj.__proto__; - }; - function clone(obj) { - if (obj === null || typeof obj !== "object") - return obj; - if (obj instanceof Object) - var copy = { __proto__: getPrototypeOf(obj) }; - else - var copy = /* @__PURE__ */ Object.create(null); - Object.getOwnPropertyNames(obj).forEach(function(key) { - Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)); - }); - return copy; - } - } -}); - -// .yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/graceful-fs.js -var require_graceful_fs = __commonJS({ - ".yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-6b5f9b5aea.zip/node_modules/graceful-fs/graceful-fs.js"(exports, module2) { - var fs6 = require("fs"); - var polyfills = require_polyfills(); - var legacy = require_legacy_streams(); - var clone = require_clone(); - var util = require("util"); - var gracefulQueue; - var previousSymbol; - if (typeof Symbol === "function" && typeof Symbol.for === "function") { - gracefulQueue = Symbol.for("graceful-fs.queue"); - previousSymbol = Symbol.for("graceful-fs.previous"); - } else { - gracefulQueue = "___graceful-fs.queue"; - previousSymbol = "___graceful-fs.previous"; - } - function noop() { - } - function publishQueue(context, queue2) { - Object.defineProperty(context, gracefulQueue, { - get: function() { - return queue2; - } - }); - } - var debug2 = noop; - if (util.debuglog) - debug2 = util.debuglog("gfs4"); - else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) - debug2 = function() { - var m = util.format.apply(util, arguments); - m = "GFS4: " + m.split(/\n/).join("\nGFS4: "); - console.error(m); - }; - if (!fs6[gracefulQueue]) { - queue = global[gracefulQueue] || []; - publishQueue(fs6, queue); - fs6.close = function(fs$close) { - function close(fd, cb) { - return fs$close.call(fs6, fd, function(err) { - if (!err) { - resetQueue(); - } - if (typeof cb === "function") - cb.apply(this, arguments); - }); - } - Object.defineProperty(close, previousSymbol, { - value: fs$close - }); - return close; - }(fs6.close); - fs6.closeSync = function(fs$closeSync) { - function closeSync(fd) { - fs$closeSync.apply(fs6, arguments); - resetQueue(); - } - Object.defineProperty(closeSync, previousSymbol, { - value: fs$closeSync - }); - return closeSync; - }(fs6.closeSync); - if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) { - process.on("exit", function() { - debug2(fs6[gracefulQueue]); - require("assert").equal(fs6[gracefulQueue].length, 0); - }); - } - } - var queue; - if (!global[gracefulQueue]) { - publishQueue(global, fs6[gracefulQueue]); - } - module2.exports = patch(clone(fs6)); - if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs6.__patched) { - module2.exports = patch(fs6); - fs6.__patched = true; - } - function patch(fs7) { - polyfills(fs7); - fs7.gracefulify = patch; - fs7.createReadStream = createReadStream; - fs7.createWriteStream = createWriteStream; - var fs$readFile = fs7.readFile; - fs7.readFile = readFile; - function readFile(path9, options, cb) { - if (typeof options === "function") - cb = options, options = null; - return go$readFile(path9, options, cb); - function go$readFile(path10, options2, cb2, startTime) { - return fs$readFile(path10, options2, function(err) { - if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$readFile, [path10, options2, cb2], err, startTime || Date.now(), Date.now()]); - else { - if (typeof cb2 === "function") - cb2.apply(this, arguments); - } - }); - } - } - var fs$writeFile = fs7.writeFile; - fs7.writeFile = writeFile; - function writeFile(path9, data, options, cb) { - if (typeof options === "function") - cb = options, options = null; - return go$writeFile(path9, data, options, cb); - function go$writeFile(path10, data2, options2, cb2, startTime) { - return fs$writeFile(path10, data2, options2, function(err) { - if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$writeFile, [path10, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); - else { - if (typeof cb2 === "function") - cb2.apply(this, arguments); - } - }); - } - } - var fs$appendFile = fs7.appendFile; - if (fs$appendFile) - fs7.appendFile = appendFile; - function appendFile(path9, data, options, cb) { - if (typeof options === "function") - cb = options, options = null; - return go$appendFile(path9, data, options, cb); - function go$appendFile(path10, data2, options2, cb2, startTime) { - return fs$appendFile(path10, data2, options2, function(err) { - if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$appendFile, [path10, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); - else { - if (typeof cb2 === "function") - cb2.apply(this, arguments); - } - }); - } - } - var fs$copyFile = fs7.copyFile; - if (fs$copyFile) - fs7.copyFile = copyFile; - function copyFile(src, dest, flags, cb) { - if (typeof flags === "function") { - cb = flags; - flags = 0; - } - return go$copyFile(src, dest, flags, cb); - function go$copyFile(src2, dest2, flags2, cb2, startTime) { - return fs$copyFile(src2, dest2, flags2, function(err) { - if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]); - else { - if (typeof cb2 === "function") - cb2.apply(this, arguments); - } - }); - } - } - var fs$readdir = fs7.readdir; - fs7.readdir = readdir; - var noReaddirOptionVersions = /^v[0-5]\./; - function readdir(path9, options, cb) { - if (typeof options === "function") - cb = options, options = null; - var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path10, options2, cb2, startTime) { - return fs$readdir(path10, fs$readdirCallback( - path10, - options2, - cb2, - startTime - )); - } : function go$readdir2(path10, options2, cb2, startTime) { - return fs$readdir(path10, options2, fs$readdirCallback( - path10, - options2, - cb2, - startTime - )); - }; - return go$readdir(path9, options, cb); - function fs$readdirCallback(path10, options2, cb2, startTime) { - return function(err, files) { - if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([ - go$readdir, - [path10, options2, cb2], - err, - startTime || Date.now(), - Date.now() - ]); - else { - if (files && files.sort) - files.sort(); - if (typeof cb2 === "function") - cb2.call(this, err, files); - } - }; - } - } - if (process.version.substr(0, 4) === "v0.8") { - var legStreams = legacy(fs7); - ReadStream = legStreams.ReadStream; - WriteStream = legStreams.WriteStream; - } - var fs$ReadStream = fs7.ReadStream; - if (fs$ReadStream) { - ReadStream.prototype = Object.create(fs$ReadStream.prototype); - ReadStream.prototype.open = ReadStream$open; - } - var fs$WriteStream = fs7.WriteStream; - if (fs$WriteStream) { - WriteStream.prototype = Object.create(fs$WriteStream.prototype); - WriteStream.prototype.open = WriteStream$open; - } - Object.defineProperty(fs7, "ReadStream", { - get: function() { - return ReadStream; - }, - set: function(val) { - ReadStream = val; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(fs7, "WriteStream", { - get: function() { - return WriteStream; - }, - set: function(val) { - WriteStream = val; - }, - enumerable: true, - configurable: true - }); - var FileReadStream = ReadStream; - Object.defineProperty(fs7, "FileReadStream", { - get: function() { - return FileReadStream; - }, - set: function(val) { - FileReadStream = val; - }, - enumerable: true, - configurable: true - }); - var FileWriteStream = WriteStream; - Object.defineProperty(fs7, "FileWriteStream", { - get: function() { - return FileWriteStream; - }, - set: function(val) { - FileWriteStream = val; - }, - enumerable: true, - configurable: true - }); - function ReadStream(path9, options) { - if (this instanceof ReadStream) - return fs$ReadStream.apply(this, arguments), this; - else - return ReadStream.apply(Object.create(ReadStream.prototype), arguments); - } - function ReadStream$open() { - var that = this; - open(that.path, that.flags, that.mode, function(err, fd) { - if (err) { - if (that.autoClose) - that.destroy(); - that.emit("error", err); - } else { - that.fd = fd; - that.emit("open", fd); - that.read(); - } - }); - } - function WriteStream(path9, options) { - if (this instanceof WriteStream) - return fs$WriteStream.apply(this, arguments), this; - else - return WriteStream.apply(Object.create(WriteStream.prototype), arguments); - } - function WriteStream$open() { - var that = this; - open(that.path, that.flags, that.mode, function(err, fd) { - if (err) { - that.destroy(); - that.emit("error", err); - } else { - that.fd = fd; - that.emit("open", fd); - } - }); - } - function createReadStream(path9, options) { - return new fs7.ReadStream(path9, options); - } - function createWriteStream(path9, options) { - return new fs7.WriteStream(path9, options); - } - var fs$open = fs7.open; - fs7.open = open; - function open(path9, flags, mode, cb) { - if (typeof mode === "function") - cb = mode, mode = null; - return go$open(path9, flags, mode, cb); - function go$open(path10, flags2, mode2, cb2, startTime) { - return fs$open(path10, flags2, mode2, function(err, fd) { - if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$open, [path10, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]); - else { - if (typeof cb2 === "function") - cb2.apply(this, arguments); - } - }); - } - } - return fs7; - } - function enqueue(elem) { - debug2("ENQUEUE", elem[0].name, elem[1]); - fs6[gracefulQueue].push(elem); - retry(); - } - var retryTimer; - function resetQueue() { - var now = Date.now(); - for (var i = 0; i < fs6[gracefulQueue].length; ++i) { - if (fs6[gracefulQueue][i].length > 2) { - fs6[gracefulQueue][i][3] = now; - fs6[gracefulQueue][i][4] = now; - } - } - retry(); - } - function retry() { - clearTimeout(retryTimer); - retryTimer = void 0; - if (fs6[gracefulQueue].length === 0) - return; - var elem = fs6[gracefulQueue].shift(); - var fn2 = elem[0]; - var args = elem[1]; - var err = elem[2]; - var startTime = elem[3]; - var lastTime = elem[4]; - if (startTime === void 0) { - debug2("RETRY", fn2.name, args); - fn2.apply(null, args); - } else if (Date.now() - startTime >= 6e4) { - debug2("TIMEOUT", fn2.name, args); - var cb = args.pop(); - if (typeof cb === "function") - cb.call(null, err); - } else { - var sinceAttempt = Date.now() - lastTime; - var sinceStart = Math.max(lastTime - startTime, 1); - var desiredDelay = Math.min(sinceStart * 1.2, 100); - if (sinceAttempt >= desiredDelay) { - debug2("RETRY", fn2.name, args); - fn2.apply(null, args.concat([startTime])); - } else { - fs6[gracefulQueue].push(elem); - } - } - if (retryTimer === void 0) { - retryTimer = setTimeout(retry, 0); - } - } - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/fs/index.js -var require_fs = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/fs/index.js"(exports) { - "use strict"; - var u = require_universalify().fromCallback; - var fs6 = require_graceful_fs(); - var api = [ - "access", - "appendFile", - "chmod", - "chown", - "close", - "copyFile", - "fchmod", - "fchown", - "fdatasync", - "fstat", - "fsync", - "ftruncate", - "futimes", - "lchown", - "lchmod", - "link", - "lstat", - "mkdir", - "mkdtemp", - "open", - "readFile", - "readdir", - "readlink", - "realpath", - "rename", - "rmdir", - "stat", - "symlink", - "truncate", - "unlink", - "utimes", - "writeFile" - ].filter((key) => { - return typeof fs6[key] === "function"; - }); - Object.keys(fs6).forEach((key) => { - if (key === "promises") { - return; - } - exports[key] = fs6[key]; - }); - api.forEach((method) => { - exports[method] = u(fs6[method]); - }); - exports.exists = function(filename, callback) { - if (typeof callback === "function") { - return fs6.exists(filename, callback); - } - return new Promise((resolve) => { - return fs6.exists(filename, resolve); - }); - }; - exports.read = function(fd, buffer, offset, length, position, callback) { - if (typeof callback === "function") { - return fs6.read(fd, buffer, offset, length, position, callback); - } - return new Promise((resolve, reject) => { - fs6.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => { - if (err) - return reject(err); - resolve({ bytesRead, buffer: buffer2 }); - }); - }); - }; - exports.write = function(fd, buffer, ...args) { - if (typeof args[args.length - 1] === "function") { - return fs6.write(fd, buffer, ...args); - } - return new Promise((resolve, reject) => { - fs6.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => { - if (err) - return reject(err); - resolve({ bytesWritten, buffer: buffer2 }); - }); - }); - }; - if (typeof fs6.realpath.native === "function") { - exports.realpath.native = u(fs6.realpath.native); - } - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/win32.js -var require_win32 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/win32.js"(exports, module2) { - "use strict"; - var path9 = require("path"); - function getRootPath(p) { - p = path9.normalize(path9.resolve(p)).split(path9.sep); - if (p.length > 0) - return p[0]; - return null; - } - var INVALID_PATH_CHARS = /[<>:"|?*]/; - function invalidWin32Path(p) { - const rp = getRootPath(p); - p = p.replace(rp, ""); - return INVALID_PATH_CHARS.test(p); - } - module2.exports = { - getRootPath, - invalidWin32Path - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs.js -var require_mkdirs = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var invalidWin32Path = require_win32().invalidWin32Path; - var o777 = parseInt("0777", 8); - function mkdirs(p, opts, callback, made) { - if (typeof opts === "function") { - callback = opts; - opts = {}; - } else if (!opts || typeof opts !== "object") { - opts = { mode: opts }; - } - if (process.platform === "win32" && invalidWin32Path(p)) { - const errInval = new Error(p + " contains invalid WIN32 path characters."); - errInval.code = "EINVAL"; - return callback(errInval); - } - let mode = opts.mode; - const xfs = opts.fs || fs6; - if (mode === void 0) { - mode = o777 & ~process.umask(); - } - if (!made) - made = null; - callback = callback || function() { - }; - p = path9.resolve(p); - xfs.mkdir(p, mode, (er) => { - if (!er) { - made = made || p; - return callback(null, made); - } - switch (er.code) { - case "ENOENT": - if (path9.dirname(p) === p) - return callback(er); - mkdirs(path9.dirname(p), opts, (er2, made2) => { - if (er2) - callback(er2, made2); - else - mkdirs(p, opts, callback, made2); - }); - break; - default: - xfs.stat(p, (er2, stat) => { - if (er2 || !stat.isDirectory()) - callback(er, made); - else - callback(null, made); - }); - break; - } - }); - } - module2.exports = mkdirs; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js -var require_mkdirs_sync = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var invalidWin32Path = require_win32().invalidWin32Path; - var o777 = parseInt("0777", 8); - function mkdirsSync(p, opts, made) { - if (!opts || typeof opts !== "object") { - opts = { mode: opts }; - } - let mode = opts.mode; - const xfs = opts.fs || fs6; - if (process.platform === "win32" && invalidWin32Path(p)) { - const errInval = new Error(p + " contains invalid WIN32 path characters."); - errInval.code = "EINVAL"; - throw errInval; - } - if (mode === void 0) { - mode = o777 & ~process.umask(); - } - if (!made) - made = null; - p = path9.resolve(p); - try { - xfs.mkdirSync(p, mode); - made = made || p; - } catch (err0) { - if (err0.code === "ENOENT") { - if (path9.dirname(p) === p) - throw err0; - made = mkdirsSync(path9.dirname(p), opts, made); - mkdirsSync(p, opts, made); - } else { - let stat; - try { - stat = xfs.statSync(p); - } catch (err1) { - throw err0; - } - if (!stat.isDirectory()) - throw err0; - } - } - return made; - } - module2.exports = mkdirsSync; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/index.js -var require_mkdirs2 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var mkdirs = u(require_mkdirs()); - var mkdirsSync = require_mkdirs_sync(); - module2.exports = { - mkdirs, - mkdirsSync, - // alias - mkdirp: mkdirs, - mkdirpSync: mkdirsSync, - ensureDir: mkdirs, - ensureDirSync: mkdirsSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/utimes.js -var require_utimes = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/utimes.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var os2 = require("os"); - var path9 = require("path"); - function hasMillisResSync() { - let tmpfile = path9.join("millis-test-sync" + Date.now().toString() + Math.random().toString().slice(2)); - tmpfile = path9.join(os2.tmpdir(), tmpfile); - const d = new Date(1435410243862); - fs6.writeFileSync(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141"); - const fd = fs6.openSync(tmpfile, "r+"); - fs6.futimesSync(fd, d, d); - fs6.closeSync(fd); - return fs6.statSync(tmpfile).mtime > 1435410243e3; - } - function hasMillisRes(callback) { - let tmpfile = path9.join("millis-test" + Date.now().toString() + Math.random().toString().slice(2)); - tmpfile = path9.join(os2.tmpdir(), tmpfile); - const d = new Date(1435410243862); - fs6.writeFile(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141", (err) => { - if (err) - return callback(err); - fs6.open(tmpfile, "r+", (err2, fd) => { - if (err2) - return callback(err2); - fs6.futimes(fd, d, d, (err3) => { - if (err3) - return callback(err3); - fs6.close(fd, (err4) => { - if (err4) - return callback(err4); - fs6.stat(tmpfile, (err5, stats) => { - if (err5) - return callback(err5); - callback(null, stats.mtime > 1435410243e3); - }); - }); - }); - }); - }); - } - function timeRemoveMillis(timestamp) { - if (typeof timestamp === "number") { - return Math.floor(timestamp / 1e3) * 1e3; - } else if (timestamp instanceof Date) { - return new Date(Math.floor(timestamp.getTime() / 1e3) * 1e3); - } else { - throw new Error("fs-extra: timeRemoveMillis() unknown parameter type"); - } - } - function utimesMillis(path10, atime, mtime, callback) { - fs6.open(path10, "r+", (err, fd) => { - if (err) - return callback(err); - fs6.futimes(fd, atime, mtime, (futimesErr) => { - fs6.close(fd, (closeErr) => { - if (callback) - callback(futimesErr || closeErr); - }); - }); - }); - } - function utimesMillisSync(path10, atime, mtime) { - const fd = fs6.openSync(path10, "r+"); - fs6.futimesSync(fd, atime, mtime); - return fs6.closeSync(fd); - } - module2.exports = { - hasMillisRes, - hasMillisResSync, - timeRemoveMillis, - utimesMillis, - utimesMillisSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/stat.js -var require_stat = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/stat.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var NODE_VERSION_MAJOR_WITH_BIGINT = 10; - var NODE_VERSION_MINOR_WITH_BIGINT = 5; - var NODE_VERSION_PATCH_WITH_BIGINT = 0; - var nodeVersion = process.versions.node.split("."); - var nodeVersionMajor = Number.parseInt(nodeVersion[0], 10); - var nodeVersionMinor = Number.parseInt(nodeVersion[1], 10); - var nodeVersionPatch = Number.parseInt(nodeVersion[2], 10); - function nodeSupportsBigInt() { - if (nodeVersionMajor > NODE_VERSION_MAJOR_WITH_BIGINT) { - return true; - } else if (nodeVersionMajor === NODE_VERSION_MAJOR_WITH_BIGINT) { - if (nodeVersionMinor > NODE_VERSION_MINOR_WITH_BIGINT) { - return true; - } else if (nodeVersionMinor === NODE_VERSION_MINOR_WITH_BIGINT) { - if (nodeVersionPatch >= NODE_VERSION_PATCH_WITH_BIGINT) { - return true; - } - } - } - return false; - } - function getStats(src, dest, cb) { - if (nodeSupportsBigInt()) { - fs6.stat(src, { bigint: true }, (err, srcStat) => { - if (err) - return cb(err); - fs6.stat(dest, { bigint: true }, (err2, destStat) => { - if (err2) { - if (err2.code === "ENOENT") - return cb(null, { srcStat, destStat: null }); - return cb(err2); - } - return cb(null, { srcStat, destStat }); - }); - }); - } else { - fs6.stat(src, (err, srcStat) => { - if (err) - return cb(err); - fs6.stat(dest, (err2, destStat) => { - if (err2) { - if (err2.code === "ENOENT") - return cb(null, { srcStat, destStat: null }); - return cb(err2); - } - return cb(null, { srcStat, destStat }); - }); - }); - } - } - function getStatsSync(src, dest) { - let srcStat, destStat; - if (nodeSupportsBigInt()) { - srcStat = fs6.statSync(src, { bigint: true }); - } else { - srcStat = fs6.statSync(src); - } - try { - if (nodeSupportsBigInt()) { - destStat = fs6.statSync(dest, { bigint: true }); - } else { - destStat = fs6.statSync(dest); - } - } catch (err) { - if (err.code === "ENOENT") - return { srcStat, destStat: null }; - throw err; - } - return { srcStat, destStat }; - } - function checkPaths(src, dest, funcName, cb) { - getStats(src, dest, (err, stats) => { - if (err) - return cb(err); - const { srcStat, destStat } = stats; - if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { - return cb(new Error("Source and destination must not be the same.")); - } - if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { - return cb(new Error(errMsg(src, dest, funcName))); - } - return cb(null, { srcStat, destStat }); - }); - } - function checkPathsSync(src, dest, funcName) { - const { srcStat, destStat } = getStatsSync(src, dest); - if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { - throw new Error("Source and destination must not be the same."); - } - if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { - throw new Error(errMsg(src, dest, funcName)); - } - return { srcStat, destStat }; - } - function checkParentPaths(src, srcStat, dest, funcName, cb) { - const srcParent = path9.resolve(path9.dirname(src)); - const destParent = path9.resolve(path9.dirname(dest)); - if (destParent === srcParent || destParent === path9.parse(destParent).root) - return cb(); - if (nodeSupportsBigInt()) { - fs6.stat(destParent, { bigint: true }, (err, destStat) => { - if (err) { - if (err.code === "ENOENT") - return cb(); - return cb(err); - } - if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { - return cb(new Error(errMsg(src, dest, funcName))); - } - return checkParentPaths(src, srcStat, destParent, funcName, cb); - }); - } else { - fs6.stat(destParent, (err, destStat) => { - if (err) { - if (err.code === "ENOENT") - return cb(); - return cb(err); - } - if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { - return cb(new Error(errMsg(src, dest, funcName))); - } - return checkParentPaths(src, srcStat, destParent, funcName, cb); - }); - } - } - function checkParentPathsSync(src, srcStat, dest, funcName) { - const srcParent = path9.resolve(path9.dirname(src)); - const destParent = path9.resolve(path9.dirname(dest)); - if (destParent === srcParent || destParent === path9.parse(destParent).root) - return; - let destStat; - try { - if (nodeSupportsBigInt()) { - destStat = fs6.statSync(destParent, { bigint: true }); - } else { - destStat = fs6.statSync(destParent); - } - } catch (err) { - if (err.code === "ENOENT") - return; - throw err; - } - if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { - throw new Error(errMsg(src, dest, funcName)); - } - return checkParentPathsSync(src, srcStat, destParent, funcName); - } - function isSrcSubdir(src, dest) { - const srcArr = path9.resolve(src).split(path9.sep).filter((i) => i); - const destArr = path9.resolve(dest).split(path9.sep).filter((i) => i); - return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true); - } - function errMsg(src, dest, funcName) { - return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`; - } - module2.exports = { - checkPaths, - checkPathsSync, - checkParentPaths, - checkParentPathsSync, - isSrcSubdir - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/buffer.js -var require_buffer = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/buffer.js"(exports, module2) { - "use strict"; - module2.exports = function(size) { - if (typeof Buffer.allocUnsafe === "function") { - try { - return Buffer.allocUnsafe(size); - } catch (e) { - return new Buffer(size); - } - } - return new Buffer(size); - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/copy-sync.js -var require_copy_sync = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var mkdirpSync = require_mkdirs2().mkdirsSync; - var utimesSync = require_utimes().utimesMillisSync; - var stat = require_stat(); - function copySync(src, dest, opts) { - if (typeof opts === "function") { - opts = { filter: opts }; - } - opts = opts || {}; - opts.clobber = "clobber" in opts ? !!opts.clobber : true; - opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; - if (opts.preserveTimestamps && process.arch === "ia32") { - console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; - - see https://github.com/jprichardson/node-fs-extra/issues/269`); - } - const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy"); - stat.checkParentPathsSync(src, srcStat, dest, "copy"); - return handleFilterAndCopy(destStat, src, dest, opts); - } - function handleFilterAndCopy(destStat, src, dest, opts) { - if (opts.filter && !opts.filter(src, dest)) - return; - const destParent = path9.dirname(dest); - if (!fs6.existsSync(destParent)) - mkdirpSync(destParent); - return startCopy(destStat, src, dest, opts); - } - function startCopy(destStat, src, dest, opts) { - if (opts.filter && !opts.filter(src, dest)) - return; - return getStats(destStat, src, dest, opts); - } - function getStats(destStat, src, dest, opts) { - const statSync = opts.dereference ? fs6.statSync : fs6.lstatSync; - const srcStat = statSync(src); - if (srcStat.isDirectory()) - return onDir(srcStat, destStat, src, dest, opts); - else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) - return onFile(srcStat, destStat, src, dest, opts); - else if (srcStat.isSymbolicLink()) - return onLink(destStat, src, dest, opts); - } - function onFile(srcStat, destStat, src, dest, opts) { - if (!destStat) - return copyFile(srcStat, src, dest, opts); - return mayCopyFile(srcStat, src, dest, opts); - } - function mayCopyFile(srcStat, src, dest, opts) { - if (opts.overwrite) { - fs6.unlinkSync(dest); - return copyFile(srcStat, src, dest, opts); - } else if (opts.errorOnExist) { - throw new Error(`'${dest}' already exists`); - } - } - function copyFile(srcStat, src, dest, opts) { - if (typeof fs6.copyFileSync === "function") { - fs6.copyFileSync(src, dest); - fs6.chmodSync(dest, srcStat.mode); - if (opts.preserveTimestamps) { - return utimesSync(dest, srcStat.atime, srcStat.mtime); - } - return; - } - return copyFileFallback(srcStat, src, dest, opts); - } - function copyFileFallback(srcStat, src, dest, opts) { - const BUF_LENGTH = 64 * 1024; - const _buff = require_buffer()(BUF_LENGTH); - const fdr = fs6.openSync(src, "r"); - const fdw = fs6.openSync(dest, "w", srcStat.mode); - let pos = 0; - while (pos < srcStat.size) { - const bytesRead = fs6.readSync(fdr, _buff, 0, BUF_LENGTH, pos); - fs6.writeSync(fdw, _buff, 0, bytesRead); - pos += bytesRead; - } - if (opts.preserveTimestamps) - fs6.futimesSync(fdw, srcStat.atime, srcStat.mtime); - fs6.closeSync(fdr); - fs6.closeSync(fdw); - } - function onDir(srcStat, destStat, src, dest, opts) { - if (!destStat) - return mkDirAndCopy(srcStat, src, dest, opts); - if (destStat && !destStat.isDirectory()) { - throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); - } - return copyDir(src, dest, opts); - } - function mkDirAndCopy(srcStat, src, dest, opts) { - fs6.mkdirSync(dest); - copyDir(src, dest, opts); - return fs6.chmodSync(dest, srcStat.mode); - } - function copyDir(src, dest, opts) { - fs6.readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts)); - } - function copyDirItem(item, src, dest, opts) { - const srcItem = path9.join(src, item); - const destItem = path9.join(dest, item); - const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy"); - return startCopy(destStat, srcItem, destItem, opts); - } - function onLink(destStat, src, dest, opts) { - let resolvedSrc = fs6.readlinkSync(src); - if (opts.dereference) { - resolvedSrc = path9.resolve(process.cwd(), resolvedSrc); - } - if (!destStat) { - return fs6.symlinkSync(resolvedSrc, dest); - } else { - let resolvedDest; - try { - resolvedDest = fs6.readlinkSync(dest); - } catch (err) { - if (err.code === "EINVAL" || err.code === "UNKNOWN") - return fs6.symlinkSync(resolvedSrc, dest); - throw err; - } - if (opts.dereference) { - resolvedDest = path9.resolve(process.cwd(), resolvedDest); - } - if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { - throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); - } - if (fs6.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { - throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); - } - return copyLink(resolvedSrc, dest); - } - } - function copyLink(resolvedSrc, dest) { - fs6.unlinkSync(dest); - return fs6.symlinkSync(resolvedSrc, dest); - } - module2.exports = copySync; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/index.js -var require_copy_sync2 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/index.js"(exports, module2) { - "use strict"; - module2.exports = { - copySync: require_copy_sync() - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/path-exists/index.js -var require_path_exists = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/path-exists/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromPromise; - var fs6 = require_fs(); - function pathExists(path9) { - return fs6.access(path9).then(() => true).catch(() => false); - } - module2.exports = { - pathExists: u(pathExists), - pathExistsSync: fs6.existsSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/copy.js -var require_copy = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/copy.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var mkdirp = require_mkdirs2().mkdirs; - var pathExists = require_path_exists().pathExists; - var utimes = require_utimes().utimesMillis; - var stat = require_stat(); - function copy(src, dest, opts, cb) { - if (typeof opts === "function" && !cb) { - cb = opts; - opts = {}; - } else if (typeof opts === "function") { - opts = { filter: opts }; - } - cb = cb || function() { - }; - opts = opts || {}; - opts.clobber = "clobber" in opts ? !!opts.clobber : true; - opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; - if (opts.preserveTimestamps && process.arch === "ia32") { - console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; - - see https://github.com/jprichardson/node-fs-extra/issues/269`); - } - stat.checkPaths(src, dest, "copy", (err, stats) => { - if (err) - return cb(err); - const { srcStat, destStat } = stats; - stat.checkParentPaths(src, srcStat, dest, "copy", (err2) => { - if (err2) - return cb(err2); - if (opts.filter) - return handleFilter(checkParentDir, destStat, src, dest, opts, cb); - return checkParentDir(destStat, src, dest, opts, cb); - }); - }); - } - function checkParentDir(destStat, src, dest, opts, cb) { - const destParent = path9.dirname(dest); - pathExists(destParent, (err, dirExists) => { - if (err) - return cb(err); - if (dirExists) - return startCopy(destStat, src, dest, opts, cb); - mkdirp(destParent, (err2) => { - if (err2) - return cb(err2); - return startCopy(destStat, src, dest, opts, cb); - }); - }); - } - function handleFilter(onInclude, destStat, src, dest, opts, cb) { - Promise.resolve(opts.filter(src, dest)).then((include) => { - if (include) - return onInclude(destStat, src, dest, opts, cb); - return cb(); - }, (error) => cb(error)); - } - function startCopy(destStat, src, dest, opts, cb) { - if (opts.filter) - return handleFilter(getStats, destStat, src, dest, opts, cb); - return getStats(destStat, src, dest, opts, cb); - } - function getStats(destStat, src, dest, opts, cb) { - const stat2 = opts.dereference ? fs6.stat : fs6.lstat; - stat2(src, (err, srcStat) => { - if (err) - return cb(err); - if (srcStat.isDirectory()) - return onDir(srcStat, destStat, src, dest, opts, cb); - else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) - return onFile(srcStat, destStat, src, dest, opts, cb); - else if (srcStat.isSymbolicLink()) - return onLink(destStat, src, dest, opts, cb); - }); - } - function onFile(srcStat, destStat, src, dest, opts, cb) { - if (!destStat) - return copyFile(srcStat, src, dest, opts, cb); - return mayCopyFile(srcStat, src, dest, opts, cb); - } - function mayCopyFile(srcStat, src, dest, opts, cb) { - if (opts.overwrite) { - fs6.unlink(dest, (err) => { - if (err) - return cb(err); - return copyFile(srcStat, src, dest, opts, cb); - }); - } else if (opts.errorOnExist) { - return cb(new Error(`'${dest}' already exists`)); - } else - return cb(); - } - function copyFile(srcStat, src, dest, opts, cb) { - if (typeof fs6.copyFile === "function") { - return fs6.copyFile(src, dest, (err) => { - if (err) - return cb(err); - return setDestModeAndTimestamps(srcStat, dest, opts, cb); - }); - } - return copyFileFallback(srcStat, src, dest, opts, cb); - } - function copyFileFallback(srcStat, src, dest, opts, cb) { - const rs = fs6.createReadStream(src); - rs.on("error", (err) => cb(err)).once("open", () => { - const ws = fs6.createWriteStream(dest, { mode: srcStat.mode }); - ws.on("error", (err) => cb(err)).on("open", () => rs.pipe(ws)).once("close", () => setDestModeAndTimestamps(srcStat, dest, opts, cb)); - }); - } - function setDestModeAndTimestamps(srcStat, dest, opts, cb) { - fs6.chmod(dest, srcStat.mode, (err) => { - if (err) - return cb(err); - if (opts.preserveTimestamps) { - return utimes(dest, srcStat.atime, srcStat.mtime, cb); - } - return cb(); - }); - } - function onDir(srcStat, destStat, src, dest, opts, cb) { - if (!destStat) - return mkDirAndCopy(srcStat, src, dest, opts, cb); - if (destStat && !destStat.isDirectory()) { - return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)); - } - return copyDir(src, dest, opts, cb); - } - function mkDirAndCopy(srcStat, src, dest, opts, cb) { - fs6.mkdir(dest, (err) => { - if (err) - return cb(err); - copyDir(src, dest, opts, (err2) => { - if (err2) - return cb(err2); - return fs6.chmod(dest, srcStat.mode, cb); - }); - }); - } - function copyDir(src, dest, opts, cb) { - fs6.readdir(src, (err, items) => { - if (err) - return cb(err); - return copyDirItems(items, src, dest, opts, cb); - }); - } - function copyDirItems(items, src, dest, opts, cb) { - const item = items.pop(); - if (!item) - return cb(); - return copyDirItem(items, item, src, dest, opts, cb); - } - function copyDirItem(items, item, src, dest, opts, cb) { - const srcItem = path9.join(src, item); - const destItem = path9.join(dest, item); - stat.checkPaths(srcItem, destItem, "copy", (err, stats) => { - if (err) - return cb(err); - const { destStat } = stats; - startCopy(destStat, srcItem, destItem, opts, (err2) => { - if (err2) - return cb(err2); - return copyDirItems(items, src, dest, opts, cb); - }); - }); - } - function onLink(destStat, src, dest, opts, cb) { - fs6.readlink(src, (err, resolvedSrc) => { - if (err) - return cb(err); - if (opts.dereference) { - resolvedSrc = path9.resolve(process.cwd(), resolvedSrc); - } - if (!destStat) { - return fs6.symlink(resolvedSrc, dest, cb); - } else { - fs6.readlink(dest, (err2, resolvedDest) => { - if (err2) { - if (err2.code === "EINVAL" || err2.code === "UNKNOWN") - return fs6.symlink(resolvedSrc, dest, cb); - return cb(err2); - } - if (opts.dereference) { - resolvedDest = path9.resolve(process.cwd(), resolvedDest); - } - if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { - return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)); - } - if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { - return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)); - } - return copyLink(resolvedSrc, dest, cb); - }); - } - }); - } - function copyLink(resolvedSrc, dest, cb) { - fs6.unlink(dest, (err) => { - if (err) - return cb(err); - return fs6.symlink(resolvedSrc, dest, cb); - }); - } - module2.exports = copy; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/index.js -var require_copy2 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - module2.exports = { - copy: u(require_copy()) - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/rimraf.js -var require_rimraf = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/rimraf.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var assert2 = require("assert"); - var isWindows = process.platform === "win32"; - function defaults(options) { - const methods = [ - "unlink", - "chmod", - "stat", - "lstat", - "rmdir", - "readdir" - ]; - methods.forEach((m) => { - options[m] = options[m] || fs6[m]; - m = m + "Sync"; - options[m] = options[m] || fs6[m]; - }); - options.maxBusyTries = options.maxBusyTries || 3; - } - function rimraf2(p, options, cb) { - let busyTries = 0; - if (typeof options === "function") { - cb = options; - options = {}; - } - assert2(p, "rimraf: missing path"); - assert2.strictEqual(typeof p, "string", "rimraf: path should be a string"); - assert2.strictEqual(typeof cb, "function", "rimraf: callback function required"); - assert2(options, "rimraf: invalid options argument provided"); - assert2.strictEqual(typeof options, "object", "rimraf: options should be object"); - defaults(options); - rimraf_(p, options, function CB(er) { - if (er) { - if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && busyTries < options.maxBusyTries) { - busyTries++; - const time = busyTries * 100; - return setTimeout(() => rimraf_(p, options, CB), time); - } - if (er.code === "ENOENT") - er = null; - } - cb(er); - }); - } - function rimraf_(p, options, cb) { - assert2(p); - assert2(options); - assert2(typeof cb === "function"); - options.lstat(p, (er, st) => { - if (er && er.code === "ENOENT") { - return cb(null); - } - if (er && er.code === "EPERM" && isWindows) { - return fixWinEPERM(p, options, er, cb); - } - if (st && st.isDirectory()) { - return rmdir(p, options, er, cb); - } - options.unlink(p, (er2) => { - if (er2) { - if (er2.code === "ENOENT") { - return cb(null); - } - if (er2.code === "EPERM") { - return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb); - } - if (er2.code === "EISDIR") { - return rmdir(p, options, er2, cb); - } - } - return cb(er2); - }); - }); - } - function fixWinEPERM(p, options, er, cb) { - assert2(p); - assert2(options); - assert2(typeof cb === "function"); - if (er) { - assert2(er instanceof Error); - } - options.chmod(p, 438, (er2) => { - if (er2) { - cb(er2.code === "ENOENT" ? null : er); - } else { - options.stat(p, (er3, stats) => { - if (er3) { - cb(er3.code === "ENOENT" ? null : er); - } else if (stats.isDirectory()) { - rmdir(p, options, er, cb); - } else { - options.unlink(p, cb); - } - }); - } - }); - } - function fixWinEPERMSync(p, options, er) { - let stats; - assert2(p); - assert2(options); - if (er) { - assert2(er instanceof Error); - } - try { - options.chmodSync(p, 438); - } catch (er2) { - if (er2.code === "ENOENT") { - return; - } else { - throw er; - } - } - try { - stats = options.statSync(p); - } catch (er3) { - if (er3.code === "ENOENT") { - return; - } else { - throw er; - } - } - if (stats.isDirectory()) { - rmdirSync(p, options, er); - } else { - options.unlinkSync(p); - } - } - function rmdir(p, options, originalEr, cb) { - assert2(p); - assert2(options); - if (originalEr) { - assert2(originalEr instanceof Error); - } - assert2(typeof cb === "function"); - options.rmdir(p, (er) => { - if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) { - rmkids(p, options, cb); - } else if (er && er.code === "ENOTDIR") { - cb(originalEr); - } else { - cb(er); - } - }); - } - function rmkids(p, options, cb) { - assert2(p); - assert2(options); - assert2(typeof cb === "function"); - options.readdir(p, (er, files) => { - if (er) - return cb(er); - let n = files.length; - let errState; - if (n === 0) - return options.rmdir(p, cb); - files.forEach((f) => { - rimraf2(path9.join(p, f), options, (er2) => { - if (errState) { - return; - } - if (er2) - return cb(errState = er2); - if (--n === 0) { - options.rmdir(p, cb); - } - }); - }); - }); - } - function rimrafSync(p, options) { - let st; - options = options || {}; - defaults(options); - assert2(p, "rimraf: missing path"); - assert2.strictEqual(typeof p, "string", "rimraf: path should be a string"); - assert2(options, "rimraf: missing options"); - assert2.strictEqual(typeof options, "object", "rimraf: options should be object"); - try { - st = options.lstatSync(p); - } catch (er) { - if (er.code === "ENOENT") { - return; - } - if (er.code === "EPERM" && isWindows) { - fixWinEPERMSync(p, options, er); - } - } - try { - if (st && st.isDirectory()) { - rmdirSync(p, options, null); - } else { - options.unlinkSync(p); - } - } catch (er) { - if (er.code === "ENOENT") { - return; - } else if (er.code === "EPERM") { - return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er); - } else if (er.code !== "EISDIR") { - throw er; - } - rmdirSync(p, options, er); - } - } - function rmdirSync(p, options, originalEr) { - assert2(p); - assert2(options); - if (originalEr) { - assert2(originalEr instanceof Error); - } - try { - options.rmdirSync(p); - } catch (er) { - if (er.code === "ENOTDIR") { - throw originalEr; - } else if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") { - rmkidsSync(p, options); - } else if (er.code !== "ENOENT") { - throw er; - } - } - } - function rmkidsSync(p, options) { - assert2(p); - assert2(options); - options.readdirSync(p).forEach((f) => rimrafSync(path9.join(p, f), options)); - if (isWindows) { - const startTime = Date.now(); - do { - try { - const ret = options.rmdirSync(p, options); - return ret; - } catch (er) { - } - } while (Date.now() - startTime < 500); - } else { - const ret = options.rmdirSync(p, options); - return ret; - } - } - module2.exports = rimraf2; - rimraf2.sync = rimrafSync; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/index.js -var require_remove = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var rimraf2 = require_rimraf(); - module2.exports = { - remove: u(rimraf2), - removeSync: rimraf2.sync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/empty/index.js -var require_empty = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/empty/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var mkdir3 = require_mkdirs2(); - var remove = require_remove(); - var emptyDir = u(function emptyDir2(dir, callback) { - callback = callback || function() { - }; - fs6.readdir(dir, (err, items) => { - if (err) - return mkdir3.mkdirs(dir, callback); - items = items.map((item) => path9.join(dir, item)); - deleteItem(); - function deleteItem() { - const item = items.pop(); - if (!item) - return callback(); - remove.remove(item, (err2) => { - if (err2) - return callback(err2); - deleteItem(); - }); - } - }); - }); - function emptyDirSync(dir) { - let items; - try { - items = fs6.readdirSync(dir); - } catch (err) { - return mkdir3.mkdirsSync(dir); - } - items.forEach((item) => { - item = path9.join(dir, item); - remove.removeSync(item); - }); - } - module2.exports = { - emptyDirSync, - emptydirSync: emptyDirSync, - emptyDir, - emptydir: emptyDir - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/file.js -var require_file = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/file.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var path9 = require("path"); - var fs6 = require_graceful_fs(); - var mkdir3 = require_mkdirs2(); - var pathExists = require_path_exists().pathExists; - function createFile(file, callback) { - function makeFile() { - fs6.writeFile(file, "", (err) => { - if (err) - return callback(err); - callback(); - }); - } - fs6.stat(file, (err, stats) => { - if (!err && stats.isFile()) - return callback(); - const dir = path9.dirname(file); - pathExists(dir, (err2, dirExists) => { - if (err2) - return callback(err2); - if (dirExists) - return makeFile(); - mkdir3.mkdirs(dir, (err3) => { - if (err3) - return callback(err3); - makeFile(); - }); - }); - }); - } - function createFileSync(file) { - let stats; - try { - stats = fs6.statSync(file); - } catch (e) { - } - if (stats && stats.isFile()) - return; - const dir = path9.dirname(file); - if (!fs6.existsSync(dir)) { - mkdir3.mkdirsSync(dir); - } - fs6.writeFileSync(file, ""); - } - module2.exports = { - createFile: u(createFile), - createFileSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/link.js -var require_link = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/link.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var path9 = require("path"); - var fs6 = require_graceful_fs(); - var mkdir3 = require_mkdirs2(); - var pathExists = require_path_exists().pathExists; - function createLink(srcpath, dstpath, callback) { - function makeLink(srcpath2, dstpath2) { - fs6.link(srcpath2, dstpath2, (err) => { - if (err) - return callback(err); - callback(null); - }); - } - pathExists(dstpath, (err, destinationExists) => { - if (err) - return callback(err); - if (destinationExists) - return callback(null); - fs6.lstat(srcpath, (err2) => { - if (err2) { - err2.message = err2.message.replace("lstat", "ensureLink"); - return callback(err2); - } - const dir = path9.dirname(dstpath); - pathExists(dir, (err3, dirExists) => { - if (err3) - return callback(err3); - if (dirExists) - return makeLink(srcpath, dstpath); - mkdir3.mkdirs(dir, (err4) => { - if (err4) - return callback(err4); - makeLink(srcpath, dstpath); - }); - }); - }); - }); - } - function createLinkSync(srcpath, dstpath) { - const destinationExists = fs6.existsSync(dstpath); - if (destinationExists) - return void 0; - try { - fs6.lstatSync(srcpath); - } catch (err) { - err.message = err.message.replace("lstat", "ensureLink"); - throw err; - } - const dir = path9.dirname(dstpath); - const dirExists = fs6.existsSync(dir); - if (dirExists) - return fs6.linkSync(srcpath, dstpath); - mkdir3.mkdirsSync(dir); - return fs6.linkSync(srcpath, dstpath); - } - module2.exports = { - createLink: u(createLink), - createLinkSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-paths.js -var require_symlink_paths = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports, module2) { - "use strict"; - var path9 = require("path"); - var fs6 = require_graceful_fs(); - var pathExists = require_path_exists().pathExists; - function symlinkPaths(srcpath, dstpath, callback) { - if (path9.isAbsolute(srcpath)) { - return fs6.lstat(srcpath, (err) => { - if (err) { - err.message = err.message.replace("lstat", "ensureSymlink"); - return callback(err); - } - return callback(null, { - "toCwd": srcpath, - "toDst": srcpath - }); - }); - } else { - const dstdir = path9.dirname(dstpath); - const relativeToDst = path9.join(dstdir, srcpath); - return pathExists(relativeToDst, (err, exists) => { - if (err) - return callback(err); - if (exists) { - return callback(null, { - "toCwd": relativeToDst, - "toDst": srcpath - }); - } else { - return fs6.lstat(srcpath, (err2) => { - if (err2) { - err2.message = err2.message.replace("lstat", "ensureSymlink"); - return callback(err2); - } - return callback(null, { - "toCwd": srcpath, - "toDst": path9.relative(dstdir, srcpath) - }); - }); - } - }); - } - } - function symlinkPathsSync(srcpath, dstpath) { - let exists; - if (path9.isAbsolute(srcpath)) { - exists = fs6.existsSync(srcpath); - if (!exists) - throw new Error("absolute srcpath does not exist"); - return { - "toCwd": srcpath, - "toDst": srcpath - }; - } else { - const dstdir = path9.dirname(dstpath); - const relativeToDst = path9.join(dstdir, srcpath); - exists = fs6.existsSync(relativeToDst); - if (exists) { - return { - "toCwd": relativeToDst, - "toDst": srcpath - }; - } else { - exists = fs6.existsSync(srcpath); - if (!exists) - throw new Error("relative srcpath does not exist"); - return { - "toCwd": srcpath, - "toDst": path9.relative(dstdir, srcpath) - }; - } - } - } - module2.exports = { - symlinkPaths, - symlinkPathsSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-type.js -var require_symlink_type = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - function symlinkType(srcpath, type, callback) { - callback = typeof type === "function" ? type : callback; - type = typeof type === "function" ? false : type; - if (type) - return callback(null, type); - fs6.lstat(srcpath, (err, stats) => { - if (err) - return callback(null, "file"); - type = stats && stats.isDirectory() ? "dir" : "file"; - callback(null, type); - }); - } - function symlinkTypeSync(srcpath, type) { - let stats; - if (type) - return type; - try { - stats = fs6.lstatSync(srcpath); - } catch (e) { - return "file"; - } - return stats && stats.isDirectory() ? "dir" : "file"; - } - module2.exports = { - symlinkType, - symlinkTypeSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink.js -var require_symlink = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var path9 = require("path"); - var fs6 = require_graceful_fs(); - var _mkdirs = require_mkdirs2(); - var mkdirs = _mkdirs.mkdirs; - var mkdirsSync = _mkdirs.mkdirsSync; - var _symlinkPaths = require_symlink_paths(); - var symlinkPaths = _symlinkPaths.symlinkPaths; - var symlinkPathsSync = _symlinkPaths.symlinkPathsSync; - var _symlinkType = require_symlink_type(); - var symlinkType = _symlinkType.symlinkType; - var symlinkTypeSync = _symlinkType.symlinkTypeSync; - var pathExists = require_path_exists().pathExists; - function createSymlink(srcpath, dstpath, type, callback) { - callback = typeof type === "function" ? type : callback; - type = typeof type === "function" ? false : type; - pathExists(dstpath, (err, destinationExists) => { - if (err) - return callback(err); - if (destinationExists) - return callback(null); - symlinkPaths(srcpath, dstpath, (err2, relative) => { - if (err2) - return callback(err2); - srcpath = relative.toDst; - symlinkType(relative.toCwd, type, (err3, type2) => { - if (err3) - return callback(err3); - const dir = path9.dirname(dstpath); - pathExists(dir, (err4, dirExists) => { - if (err4) - return callback(err4); - if (dirExists) - return fs6.symlink(srcpath, dstpath, type2, callback); - mkdirs(dir, (err5) => { - if (err5) - return callback(err5); - fs6.symlink(srcpath, dstpath, type2, callback); - }); - }); - }); - }); - }); - } - function createSymlinkSync(srcpath, dstpath, type) { - const destinationExists = fs6.existsSync(dstpath); - if (destinationExists) - return void 0; - const relative = symlinkPathsSync(srcpath, dstpath); - srcpath = relative.toDst; - type = symlinkTypeSync(relative.toCwd, type); - const dir = path9.dirname(dstpath); - const exists = fs6.existsSync(dir); - if (exists) - return fs6.symlinkSync(srcpath, dstpath, type); - mkdirsSync(dir); - return fs6.symlinkSync(srcpath, dstpath, type); - } - module2.exports = { - createSymlink: u(createSymlink), - createSymlinkSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/index.js -var require_ensure = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/index.js"(exports, module2) { - "use strict"; - var file = require_file(); - var link = require_link(); - var symlink = require_symlink(); - module2.exports = { - // file - createFile: file.createFile, - createFileSync: file.createFileSync, - ensureFile: file.createFile, - ensureFileSync: file.createFileSync, - // link - createLink: link.createLink, - createLinkSync: link.createLinkSync, - ensureLink: link.createLink, - ensureLinkSync: link.createLinkSync, - // symlink - createSymlink: symlink.createSymlink, - createSymlinkSync: symlink.createSymlinkSync, - ensureSymlink: symlink.createSymlink, - ensureSymlinkSync: symlink.createSymlinkSync - }; - } -}); - -// .yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-d85d544514.zip/node_modules/jsonfile/index.js -var require_jsonfile = __commonJS({ - ".yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-d85d544514.zip/node_modules/jsonfile/index.js"(exports, module2) { - var _fs; - try { - _fs = require_graceful_fs(); - } catch (_) { - _fs = require("fs"); - } - function readFile(file, options, callback) { - if (callback == null) { - callback = options; - options = {}; - } - if (typeof options === "string") { - options = { encoding: options }; - } - options = options || {}; - var fs6 = options.fs || _fs; - var shouldThrow = true; - if ("throws" in options) { - shouldThrow = options.throws; - } - fs6.readFile(file, options, function(err, data) { - if (err) - return callback(err); - data = stripBom(data); - var obj; - try { - obj = JSON.parse(data, options ? options.reviver : null); - } catch (err2) { - if (shouldThrow) { - err2.message = file + ": " + err2.message; - return callback(err2); - } else { - return callback(null, null); - } - } - callback(null, obj); - }); - } - function readFileSync(file, options) { - options = options || {}; - if (typeof options === "string") { - options = { encoding: options }; - } - var fs6 = options.fs || _fs; - var shouldThrow = true; - if ("throws" in options) { - shouldThrow = options.throws; - } - try { - var content = fs6.readFileSync(file, options); - content = stripBom(content); - return JSON.parse(content, options.reviver); - } catch (err) { - if (shouldThrow) { - err.message = file + ": " + err.message; - throw err; - } else { - return null; - } - } - } - function stringify(obj, options) { - var spaces; - var EOL = "\n"; - if (typeof options === "object" && options !== null) { - if (options.spaces) { - spaces = options.spaces; - } - if (options.EOL) { - EOL = options.EOL; - } - } - var str = JSON.stringify(obj, options ? options.replacer : null, spaces); - return str.replace(/\n/g, EOL) + EOL; - } - function writeFile(file, obj, options, callback) { - if (callback == null) { - callback = options; - options = {}; - } - options = options || {}; - var fs6 = options.fs || _fs; - var str = ""; - try { - str = stringify(obj, options); - } catch (err) { - if (callback) - callback(err, null); - return; - } - fs6.writeFile(file, str, options, callback); - } - function writeFileSync(file, obj, options) { - options = options || {}; - var fs6 = options.fs || _fs; - var str = stringify(obj, options); - return fs6.writeFileSync(file, str, options); - } - function stripBom(content) { - if (Buffer.isBuffer(content)) - content = content.toString("utf8"); - content = content.replace(/^\uFEFF/, ""); - return content; - } - var jsonfile = { - readFile, - readFileSync, - writeFile, - writeFileSync - }; - module2.exports = jsonfile; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/jsonfile.js -var require_jsonfile2 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/jsonfile.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var jsonFile = require_jsonfile(); - module2.exports = { - // jsonfile exports - readJson: u(jsonFile.readFile), - readJsonSync: jsonFile.readFileSync, - writeJson: u(jsonFile.writeFile), - writeJsonSync: jsonFile.writeFileSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json.js -var require_output_json = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json.js"(exports, module2) { - "use strict"; - var path9 = require("path"); - var mkdir3 = require_mkdirs2(); - var pathExists = require_path_exists().pathExists; - var jsonFile = require_jsonfile2(); - function outputJson(file, data, options, callback) { - if (typeof options === "function") { - callback = options; - options = {}; - } - const dir = path9.dirname(file); - pathExists(dir, (err, itDoes) => { - if (err) - return callback(err); - if (itDoes) - return jsonFile.writeJson(file, data, options, callback); - mkdir3.mkdirs(dir, (err2) => { - if (err2) - return callback(err2); - jsonFile.writeJson(file, data, options, callback); - }); - }); - } - module2.exports = outputJson; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json-sync.js -var require_output_json_sync = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json-sync.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var mkdir3 = require_mkdirs2(); - var jsonFile = require_jsonfile2(); - function outputJsonSync(file, data, options) { - const dir = path9.dirname(file); - if (!fs6.existsSync(dir)) { - mkdir3.mkdirsSync(dir); - } - jsonFile.writeJsonSync(file, data, options); - } - module2.exports = outputJsonSync; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/index.js -var require_json = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var jsonFile = require_jsonfile2(); - jsonFile.outputJson = u(require_output_json()); - jsonFile.outputJsonSync = require_output_json_sync(); - jsonFile.outputJSON = jsonFile.outputJson; - jsonFile.outputJSONSync = jsonFile.outputJsonSync; - jsonFile.writeJSON = jsonFile.writeJson; - jsonFile.writeJSONSync = jsonFile.writeJsonSync; - jsonFile.readJSON = jsonFile.readJson; - jsonFile.readJSONSync = jsonFile.readJsonSync; - module2.exports = jsonFile; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/move-sync.js -var require_move_sync = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/move-sync.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var copySync = require_copy_sync2().copySync; - var removeSync = require_remove().removeSync; - var mkdirpSync = require_mkdirs2().mkdirpSync; - var stat = require_stat(); - function moveSync(src, dest, opts) { - opts = opts || {}; - const overwrite = opts.overwrite || opts.clobber || false; - const { srcStat } = stat.checkPathsSync(src, dest, "move"); - stat.checkParentPathsSync(src, srcStat, dest, "move"); - mkdirpSync(path9.dirname(dest)); - return doRename(src, dest, overwrite); - } - function doRename(src, dest, overwrite) { - if (overwrite) { - removeSync(dest); - return rename(src, dest, overwrite); - } - if (fs6.existsSync(dest)) - throw new Error("dest already exists."); - return rename(src, dest, overwrite); - } - function rename(src, dest, overwrite) { - try { - fs6.renameSync(src, dest); - } catch (err) { - if (err.code !== "EXDEV") - throw err; - return moveAcrossDevice(src, dest, overwrite); - } - } - function moveAcrossDevice(src, dest, overwrite) { - const opts = { - overwrite, - errorOnExist: true - }; - copySync(src, dest, opts); - return removeSync(src); - } - module2.exports = moveSync; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/index.js -var require_move_sync2 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/index.js"(exports, module2) { - "use strict"; - module2.exports = { - moveSync: require_move_sync() - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/move.js -var require_move = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/move.js"(exports, module2) { - "use strict"; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var copy = require_copy2().copy; - var remove = require_remove().remove; - var mkdirp = require_mkdirs2().mkdirp; - var pathExists = require_path_exists().pathExists; - var stat = require_stat(); - function move(src, dest, opts, cb) { - if (typeof opts === "function") { - cb = opts; - opts = {}; - } - const overwrite = opts.overwrite || opts.clobber || false; - stat.checkPaths(src, dest, "move", (err, stats) => { - if (err) - return cb(err); - const { srcStat } = stats; - stat.checkParentPaths(src, srcStat, dest, "move", (err2) => { - if (err2) - return cb(err2); - mkdirp(path9.dirname(dest), (err3) => { - if (err3) - return cb(err3); - return doRename(src, dest, overwrite, cb); - }); - }); - }); - } - function doRename(src, dest, overwrite, cb) { - if (overwrite) { - return remove(dest, (err) => { - if (err) - return cb(err); - return rename(src, dest, overwrite, cb); - }); - } - pathExists(dest, (err, destExists) => { - if (err) - return cb(err); - if (destExists) - return cb(new Error("dest already exists.")); - return rename(src, dest, overwrite, cb); - }); - } - function rename(src, dest, overwrite, cb) { - fs6.rename(src, dest, (err) => { - if (!err) - return cb(); - if (err.code !== "EXDEV") - return cb(err); - return moveAcrossDevice(src, dest, overwrite, cb); - }); - } - function moveAcrossDevice(src, dest, overwrite, cb) { - const opts = { - overwrite, - errorOnExist: true - }; - copy(src, dest, opts, (err) => { - if (err) - return cb(err); - return remove(src, cb); - }); - } - module2.exports = move; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/index.js -var require_move2 = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - module2.exports = { - move: u(require_move()) - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/output/index.js -var require_output = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/output/index.js"(exports, module2) { - "use strict"; - var u = require_universalify().fromCallback; - var fs6 = require_graceful_fs(); - var path9 = require("path"); - var mkdir3 = require_mkdirs2(); - var pathExists = require_path_exists().pathExists; - function outputFile(file, data, encoding, callback) { - if (typeof encoding === "function") { - callback = encoding; - encoding = "utf8"; - } - const dir = path9.dirname(file); - pathExists(dir, (err, itDoes) => { - if (err) - return callback(err); - if (itDoes) - return fs6.writeFile(file, data, encoding, callback); - mkdir3.mkdirs(dir, (err2) => { - if (err2) - return callback(err2); - fs6.writeFile(file, data, encoding, callback); - }); - }); - } - function outputFileSync(file, ...args) { - const dir = path9.dirname(file); - if (fs6.existsSync(dir)) { - return fs6.writeFileSync(file, ...args); - } - mkdir3.mkdirsSync(dir); - fs6.writeFileSync(file, ...args); - } - module2.exports = { - outputFile: u(outputFile), - outputFileSync - }; - } -}); - -// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/index.js -var require_lib = __commonJS({ - ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/index.js"(exports, module2) { - "use strict"; - module2.exports = Object.assign( - {}, - // Export promiseified graceful-fs: - require_fs(), - // Export extra methods: - require_copy_sync2(), - require_copy2(), - require_empty(), - require_ensure(), - require_json(), - require_mkdirs2(), - require_move_sync2(), - require_move2(), - require_output(), - require_path_exists(), - require_remove() - ); - var fs6 = require("fs"); - if (Object.getOwnPropertyDescriptor(fs6, "promises")) { - Object.defineProperty(module2.exports, "promises", { - get() { - return fs6.promises; - } - }); - } - } -}); - -// .yarn/cache/file-uri-to-path-npm-2.0.0-667f38da3a-6eab583708.zip/node_modules/file-uri-to-path/dist/src/index.js -var require_src5 = __commonJS({ - ".yarn/cache/file-uri-to-path-npm-2.0.0-667f38da3a-6eab583708.zip/node_modules/file-uri-to-path/dist/src/index.js"(exports, module2) { - "use strict"; - var path_1 = require("path"); - function fileUriToPath(uri) { - if (typeof uri !== "string" || uri.length <= 7 || uri.substring(0, 7) !== "file://") { - throw new TypeError("must pass in a file:// URI to convert to a file path"); - } - const rest = decodeURI(uri.substring(7)); - const firstSlash = rest.indexOf("/"); - let host = rest.substring(0, firstSlash); - let path9 = rest.substring(firstSlash + 1); - if (host === "localhost") { - host = ""; - } - if (host) { - host = path_1.sep + path_1.sep + host; - } - path9 = path9.replace(/^(.+)\|/, "$1:"); - if (path_1.sep === "\\") { - path9 = path9.replace(/\//g, "\\"); - } - if (/^.+:/.test(path9)) { - } else { - path9 = path_1.sep + path9; - } - return host + path9; - } - module2.exports = fileUriToPath; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/notfound.js -var require_notfound = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/notfound.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var NotFoundError = class extends Error { - constructor(message) { - super(message || "File does not exist at the specified endpoint"); - this.code = "ENOTFOUND"; - Object.setPrototypeOf(this, new.target.prototype); - } - }; - exports.default = NotFoundError; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/file.js -var require_file2 = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/file.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var debug_1 = __importDefault2(require_src2()); - var fs_1 = require("fs"); - var fs_extra_1 = require_lib(); - var file_uri_to_path_1 = __importDefault2(require_src5()); - var notfound_1 = __importDefault2(require_notfound()); - var notmodified_1 = __importDefault2(require_notmodified()); - var debug2 = debug_1.default("get-uri:file"); - function get({ href: uri }, opts) { - return __awaiter2(this, void 0, void 0, function* () { - const { - cache, - flags = "r", - mode = 438 - // =0666 - } = opts; - try { - const filepath = file_uri_to_path_1.default(uri); - debug2("Normalized pathname: %o", filepath); - const fd = yield fs_extra_1.open(filepath, flags, mode); - const stat = yield fs_extra_1.fstat(fd); - if (cache && cache.stat && stat && isNotModified(cache.stat, stat)) { - throw new notmodified_1.default(); - } - const rs = fs_1.createReadStream(null, Object.assign(Object.assign({ autoClose: true }, opts), { fd })); - rs.stat = stat; - return rs; - } catch (err) { - if (err.code === "ENOENT") { - throw new notfound_1.default(); - } - throw err; - } - }); - } - exports.default = get; - function isNotModified(prev, curr) { - return +prev.mtime === +curr.mtime; - } - } -}); - -// .yarn/cache/@tootallnate-once-npm-1.1.2-0517220057-6d907308b0.zip/node_modules/@tootallnate/once/dist/index.js -var require_dist = __commonJS({ - ".yarn/cache/@tootallnate-once-npm-1.1.2-0517220057-6d907308b0.zip/node_modules/@tootallnate/once/dist/index.js"(exports, module2) { - "use strict"; - function noop() { - } - function once2(emitter, name) { - const o = once2.spread(emitter, name); - const r = o.then((args) => args[0]); - r.cancel = o.cancel; - return r; - } - (function(once3) { - function spread(emitter, name) { - let c = null; - const p = new Promise((resolve, reject) => { - function cancel() { - emitter.removeListener(name, onEvent); - emitter.removeListener("error", onError); - p.cancel = noop; - } - function onEvent(...args) { - cancel(); - resolve(args); - } - function onError(err) { - cancel(); - reject(err); - } - c = cancel; - emitter.on(name, onEvent); - emitter.on("error", onError); - }); - if (!c) { - throw new TypeError("Could not get `cancel()` function"); - } - p.cancel = c; - return p; - } - once3.spread = spread; - })(once2 || (once2 = {})); - module2.exports = once2; - } -}); - -// .yarn/cache/isarray-npm-0.0.1-92e37e0a70-70b0db8fef.zip/node_modules/isarray/index.js -var require_isarray = __commonJS({ - ".yarn/cache/isarray-npm-0.0.1-92e37e0a70-70b0db8fef.zip/node_modules/isarray/index.js"(exports, module2) { - module2.exports = Array.isArray || function(arr) { - return Object.prototype.toString.call(arr) == "[object Array]"; - }; - } -}); - -// .yarn/cache/core-util-is-npm-1.0.3-ca74b76c90-3bd2c52819.zip/node_modules/core-util-is/lib/util.js -var require_util = __commonJS({ - ".yarn/cache/core-util-is-npm-1.0.3-ca74b76c90-3bd2c52819.zip/node_modules/core-util-is/lib/util.js"(exports) { - function isArray2(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === "[object Array]"; - } - exports.isArray = isArray2; - function isBoolean2(arg) { - return typeof arg === "boolean"; - } - exports.isBoolean = isBoolean2; - function isNull(arg) { - return arg === null; - } - exports.isNull = isNull; - function isNullOrUndefined(arg) { - return arg == null; - } - exports.isNullOrUndefined = isNullOrUndefined; - function isNumber2(arg) { - return typeof arg === "number"; - } - exports.isNumber = isNumber2; - function isString2(arg) { - return typeof arg === "string"; - } - exports.isString = isString2; - function isSymbol(arg) { - return typeof arg === "symbol"; - } - exports.isSymbol = isSymbol; - function isUndefined(arg) { - return arg === void 0; - } - exports.isUndefined = isUndefined; - function isRegExp(re) { - return objectToString(re) === "[object RegExp]"; - } - exports.isRegExp = isRegExp; - function isObject2(arg) { - return typeof arg === "object" && arg !== null; - } - exports.isObject = isObject2; - function isDate2(d) { - return objectToString(d) === "[object Date]"; - } - exports.isDate = isDate2; - function isError(e) { - return objectToString(e) === "[object Error]" || e instanceof Error; - } - exports.isError = isError; - function isFunction(arg) { - return typeof arg === "function"; - } - exports.isFunction = isFunction; - function isPrimitive(arg) { - return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol - typeof arg === "undefined"; - } - exports.isPrimitive = isPrimitive; - exports.isBuffer = require("buffer").Buffer.isBuffer; - function objectToString(o) { - return Object.prototype.toString.call(o); - } - } -}); - -// .yarn/cache/inherits-npm-2.0.4-c66b3957a0-ca76c7e45e.zip/node_modules/inherits/inherits_browser.js -var require_inherits_browser = __commonJS({ - ".yarn/cache/inherits-npm-2.0.4-c66b3957a0-ca76c7e45e.zip/node_modules/inherits/inherits_browser.js"(exports, module2) { - if (typeof Object.create === "function") { - module2.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - } - }; - } else { - module2.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - }; - } - } -}); - -// .yarn/cache/inherits-npm-2.0.4-c66b3957a0-ca76c7e45e.zip/node_modules/inherits/inherits.js -var require_inherits = __commonJS({ - ".yarn/cache/inherits-npm-2.0.4-c66b3957a0-ca76c7e45e.zip/node_modules/inherits/inherits.js"(exports, module2) { - try { - util = require("util"); - if (typeof util.inherits !== "function") - throw ""; - module2.exports = util.inherits; - } catch (e) { - module2.exports = require_inherits_browser(); - } - var util; - } -}); - -// .yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_writable.js -var require_stream_writable = __commonJS({ - ".yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_writable.js"(exports, module2) { - module2.exports = Writable; - var Buffer2 = require("buffer").Buffer; - Writable.WritableState = WritableState; - var util = require_util(); - util.inherits = require_inherits(); - var Stream = require("stream"); - util.inherits(Writable, Stream); - function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - } - function WritableState(options, stream) { - var Duplex = require_stream_duplex(); - options = options || {}; - var hwm = options.highWaterMark; - var defaultHwm = options.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - this.objectMode = !!options.objectMode; - if (stream instanceof Duplex) - this.objectMode = this.objectMode || !!options.writableObjectMode; - this.highWaterMark = ~~this.highWaterMark; - this.needDrain = false; - this.ending = false; - this.ended = false; - this.finished = false; - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; - this.defaultEncoding = options.defaultEncoding || "utf8"; - this.length = 0; - this.writing = false; - this.corked = 0; - this.sync = true; - this.bufferProcessing = false; - this.onwrite = function(er) { - onwrite(stream, er); - }; - this.writecb = null; - this.writelen = 0; - this.buffer = []; - this.pendingcb = 0; - this.prefinished = false; - this.errorEmitted = false; - } - function Writable(options) { - var Duplex = require_stream_duplex(); - if (!(this instanceof Writable) && !(this instanceof Duplex)) - return new Writable(options); - this._writableState = new WritableState(options, this); - this.writable = true; - Stream.call(this); - } - Writable.prototype.pipe = function() { - this.emit("error", new Error("Cannot pipe. Not readable.")); - }; - function writeAfterEnd(stream, state, cb) { - var er = new Error("write after end"); - stream.emit("error", er); - process.nextTick(function() { - cb(er); - }); - } - function validChunk(stream, state, chunk, cb) { - var valid = true; - if (!util.isBuffer(chunk) && !util.isString(chunk) && !util.isNullOrUndefined(chunk) && !state.objectMode) { - var er = new TypeError("Invalid non-string/buffer chunk"); - stream.emit("error", er); - process.nextTick(function() { - cb(er); - }); - valid = false; - } - return valid; - } - Writable.prototype.write = function(chunk, encoding, cb) { - var state = this._writableState; - var ret = false; - if (util.isFunction(encoding)) { - cb = encoding; - encoding = null; - } - if (util.isBuffer(chunk)) - encoding = "buffer"; - else if (!encoding) - encoding = state.defaultEncoding; - if (!util.isFunction(cb)) - cb = function() { - }; - if (state.ended) - writeAfterEnd(this, state, cb); - else if (validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, chunk, encoding, cb); - } - return ret; - }; - Writable.prototype.cork = function() { - var state = this._writableState; - state.corked++; - }; - Writable.prototype.uncork = function() { - var state = this._writableState; - if (state.corked) { - state.corked--; - if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.buffer.length) - clearBuffer(this, state); - } - }; - function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && util.isString(chunk)) { - chunk = new Buffer2(chunk, encoding); - } - return chunk; - } - function writeOrBuffer(stream, state, chunk, encoding, cb) { - chunk = decodeChunk(state, chunk, encoding); - if (util.isBuffer(chunk)) - encoding = "buffer"; - var len = state.objectMode ? 1 : chunk.length; - state.length += len; - var ret = state.length < state.highWaterMark; - if (!ret) - state.needDrain = true; - if (state.writing || state.corked) - state.buffer.push(new WriteReq(chunk, encoding, cb)); - else - doWrite(stream, state, false, len, chunk, encoding, cb); - return ret; - } - function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (writev) - stream._writev(chunk, state.onwrite); - else - stream._write(chunk, encoding, state.onwrite); - state.sync = false; - } - function onwriteError(stream, state, sync, er, cb) { - if (sync) - process.nextTick(function() { - state.pendingcb--; - cb(er); - }); - else { - state.pendingcb--; - cb(er); - } - stream._writableState.errorEmitted = true; - stream.emit("error", er); - } - function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; - } - function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - onwriteStateUpdate(state); - if (er) - onwriteError(stream, state, sync, er, cb); - else { - var finished = needFinish(stream, state); - if (!finished && !state.corked && !state.bufferProcessing && state.buffer.length) { - clearBuffer(stream, state); - } - if (sync) { - process.nextTick(function() { - afterWrite(stream, state, finished, cb); - }); - } else { - afterWrite(stream, state, finished, cb); - } - } - } - function afterWrite(stream, state, finished, cb) { - if (!finished) - onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); - } - function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit("drain"); - } - } - function clearBuffer(stream, state) { - state.bufferProcessing = true; - if (stream._writev && state.buffer.length > 1) { - var cbs = []; - for (var c = 0; c < state.buffer.length; c++) - cbs.push(state.buffer[c].callback); - state.pendingcb++; - doWrite(stream, state, true, state.length, state.buffer, "", function(err) { - for (var i = 0; i < cbs.length; i++) { - state.pendingcb--; - cbs[i](err); - } - }); - state.buffer = []; - } else { - for (var c = 0; c < state.buffer.length; c++) { - var entry = state.buffer[c]; - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - doWrite(stream, state, false, len, chunk, encoding, cb); - if (state.writing) { - c++; - break; - } - } - if (c < state.buffer.length) - state.buffer = state.buffer.slice(c); - else - state.buffer.length = 0; - } - state.bufferProcessing = false; - } - Writable.prototype._write = function(chunk, encoding, cb) { - cb(new Error("not implemented")); - }; - Writable.prototype._writev = null; - Writable.prototype.end = function(chunk, encoding, cb) { - var state = this._writableState; - if (util.isFunction(chunk)) { - cb = chunk; - chunk = null; - encoding = null; - } else if (util.isFunction(encoding)) { - cb = encoding; - encoding = null; - } - if (!util.isNullOrUndefined(chunk)) - this.write(chunk, encoding); - if (state.corked) { - state.corked = 1; - this.uncork(); - } - if (!state.ending && !state.finished) - endWritable(this, state, cb); - }; - function needFinish(stream, state) { - return state.ending && state.length === 0 && !state.finished && !state.writing; - } - function prefinish(stream, state) { - if (!state.prefinished) { - state.prefinished = true; - stream.emit("prefinish"); - } - } - function finishMaybe(stream, state) { - var need = needFinish(stream, state); - if (need) { - if (state.pendingcb === 0) { - prefinish(stream, state); - state.finished = true; - stream.emit("finish"); - } else - prefinish(stream, state); - } - return need; - } - function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); - if (cb) { - if (state.finished) - process.nextTick(cb); - else - stream.once("finish", cb); - } - state.ended = true; - } - } -}); - -// .yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_duplex.js -var require_stream_duplex = __commonJS({ - ".yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_duplex.js"(exports, module2) { - module2.exports = Duplex; - var objectKeys = Object.keys || function(obj) { - var keys = []; - for (var key in obj) - keys.push(key); - return keys; - }; - var util = require_util(); - util.inherits = require_inherits(); - var Readable = require_stream_readable(); - var Writable = require_stream_writable(); - util.inherits(Duplex, Readable); - forEach(objectKeys(Writable.prototype), function(method) { - if (!Duplex.prototype[method]) - Duplex.prototype[method] = Writable.prototype[method]; - }); - function Duplex(options) { - if (!(this instanceof Duplex)) - return new Duplex(options); - Readable.call(this, options); - Writable.call(this, options); - if (options && options.readable === false) - this.readable = false; - if (options && options.writable === false) - this.writable = false; - this.allowHalfOpen = true; - if (options && options.allowHalfOpen === false) - this.allowHalfOpen = false; - this.once("end", onend); - } - function onend() { - if (this.allowHalfOpen || this._writableState.ended) - return; - process.nextTick(this.end.bind(this)); - } - function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } - } - } -}); - -// .yarn/cache/string_decoder-npm-0.10.31-851f3f7302-c0df2eeebb.zip/node_modules/string_decoder/index.js -var require_string_decoder = __commonJS({ - ".yarn/cache/string_decoder-npm-0.10.31-851f3f7302-c0df2eeebb.zip/node_modules/string_decoder/index.js"(exports) { - var Buffer2 = require("buffer").Buffer; - var isBufferEncoding = Buffer2.isEncoding || function(encoding) { - switch (encoding && encoding.toLowerCase()) { - case "hex": - case "utf8": - case "utf-8": - case "ascii": - case "binary": - case "base64": - case "ucs2": - case "ucs-2": - case "utf16le": - case "utf-16le": - case "raw": - return true; - default: - return false; - } - }; - function assertEncoding(encoding) { - if (encoding && !isBufferEncoding(encoding)) { - throw new Error("Unknown encoding: " + encoding); - } - } - var StringDecoder = exports.StringDecoder = function(encoding) { - this.encoding = (encoding || "utf8").toLowerCase().replace(/[-_]/, ""); - assertEncoding(encoding); - switch (this.encoding) { - case "utf8": - this.surrogateSize = 3; - break; - case "ucs2": - case "utf16le": - this.surrogateSize = 2; - this.detectIncompleteChar = utf16DetectIncompleteChar; - break; - case "base64": - this.surrogateSize = 3; - this.detectIncompleteChar = base64DetectIncompleteChar; - break; - default: - this.write = passThroughWrite; - return; - } - this.charBuffer = new Buffer2(6); - this.charReceived = 0; - this.charLength = 0; - }; - StringDecoder.prototype.write = function(buffer) { - var charStr = ""; - while (this.charLength) { - var available = buffer.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : buffer.length; - buffer.copy(this.charBuffer, this.charReceived, 0, available); - this.charReceived += available; - if (this.charReceived < this.charLength) { - return ""; - } - buffer = buffer.slice(available, buffer.length); - charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); - var charCode = charStr.charCodeAt(charStr.length - 1); - if (charCode >= 55296 && charCode <= 56319) { - this.charLength += this.surrogateSize; - charStr = ""; - continue; - } - this.charReceived = this.charLength = 0; - if (buffer.length === 0) { - return charStr; - } - break; - } - this.detectIncompleteChar(buffer); - var end = buffer.length; - if (this.charLength) { - buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); - end -= this.charReceived; - } - charStr += buffer.toString(this.encoding, 0, end); - var end = charStr.length - 1; - var charCode = charStr.charCodeAt(end); - if (charCode >= 55296 && charCode <= 56319) { - var size = this.surrogateSize; - this.charLength += size; - this.charReceived += size; - this.charBuffer.copy(this.charBuffer, size, 0, size); - buffer.copy(this.charBuffer, 0, 0, size); - return charStr.substring(0, end); - } - return charStr; - }; - StringDecoder.prototype.detectIncompleteChar = function(buffer) { - var i = buffer.length >= 3 ? 3 : buffer.length; - for (; i > 0; i--) { - var c = buffer[buffer.length - i]; - if (i == 1 && c >> 5 == 6) { - this.charLength = 2; - break; - } - if (i <= 2 && c >> 4 == 14) { - this.charLength = 3; - break; - } - if (i <= 3 && c >> 3 == 30) { - this.charLength = 4; - break; - } - } - this.charReceived = i; - }; - StringDecoder.prototype.end = function(buffer) { - var res = ""; - if (buffer && buffer.length) - res = this.write(buffer); - if (this.charReceived) { - var cr = this.charReceived; - var buf = this.charBuffer; - var enc = this.encoding; - res += buf.slice(0, cr).toString(enc); - } - return res; - }; - function passThroughWrite(buffer) { - return buffer.toString(this.encoding); - } - function utf16DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 2; - this.charLength = this.charReceived ? 2 : 0; - } - function base64DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 3; - this.charLength = this.charReceived ? 3 : 0; - } - } -}); - -// .yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_readable.js -var require_stream_readable = __commonJS({ - ".yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_readable.js"(exports, module2) { - module2.exports = Readable; - var isArray2 = require_isarray(); - var Buffer2 = require("buffer").Buffer; - Readable.ReadableState = ReadableState; - var EE = require("events").EventEmitter; - if (!EE.listenerCount) - EE.listenerCount = function(emitter, type) { - return emitter.listeners(type).length; - }; - var Stream = require("stream"); - var util = require_util(); - util.inherits = require_inherits(); - var StringDecoder; - var debug2 = require("util"); - if (debug2 && debug2.debuglog) { - debug2 = debug2.debuglog("stream"); - } else { - debug2 = function() { - }; - } - util.inherits(Readable, Stream); - function ReadableState(options, stream) { - var Duplex = require_stream_duplex(); - options = options || {}; - var hwm = options.highWaterMark; - var defaultHwm = options.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; - this.highWaterMark = ~~this.highWaterMark; - this.buffer = []; - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - this.sync = true; - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.objectMode = !!options.objectMode; - if (stream instanceof Duplex) - this.objectMode = this.objectMode || !!options.readableObjectMode; - this.defaultEncoding = options.defaultEncoding || "utf8"; - this.ranOut = false; - this.awaitDrain = 0; - this.readingMore = false; - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) - StringDecoder = require_string_decoder().StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } - } - function Readable(options) { - var Duplex = require_stream_duplex(); - if (!(this instanceof Readable)) - return new Readable(options); - this._readableState = new ReadableState(options, this); - this.readable = true; - Stream.call(this); - } - Readable.prototype.push = function(chunk, encoding) { - var state = this._readableState; - if (util.isString(chunk) && !state.objectMode) { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = new Buffer2(chunk, encoding); - encoding = ""; - } - } - return readableAddChunk(this, state, chunk, encoding, false); - }; - Readable.prototype.unshift = function(chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, "", true); - }; - function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit("error", er); - } else if (util.isNullOrUndefined(chunk)) { - state.reading = false; - if (!state.ended) - onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error("stream.push() after EOF"); - stream.emit("error", e); - } else if (state.endEmitted && addToFront) { - var e = new Error("stream.unshift() after end event"); - stream.emit("error", e); - } else { - if (state.decoder && !addToFront && !encoding) - chunk = state.decoder.write(chunk); - if (!addToFront) - state.reading = false; - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit("data", chunk); - stream.read(0); - } else { - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) - state.buffer.unshift(chunk); - else - state.buffer.push(chunk); - if (state.needReadable) - emitReadable(stream); - } - maybeReadMore(stream, state); - } - } else if (!addToFront) { - state.reading = false; - } - return needMoreData(state); - } - function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); - } - Readable.prototype.setEncoding = function(enc) { - if (!StringDecoder) - StringDecoder = require_string_decoder().StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; - }; - var MAX_HWM = 8388608; - function roundUpToNextPowerOf2(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - n--; - for (var p = 1; p < 32; p <<= 1) - n |= n >> p; - n++; - } - return n; - } - function howMuchToRead(n, state) { - if (state.length === 0 && state.ended) - return 0; - if (state.objectMode) - return n === 0 ? 0 : 1; - if (isNaN(n) || util.isNull(n)) { - if (state.flowing && state.buffer.length) - return state.buffer[0].length; - else - return state.length; - } - if (n <= 0) - return 0; - if (n > state.highWaterMark) - state.highWaterMark = roundUpToNextPowerOf2(n); - if (n > state.length) { - if (!state.ended) { - state.needReadable = true; - return 0; - } else - return state.length; - } - return n; - } - Readable.prototype.read = function(n) { - debug2("read", n); - var state = this._readableState; - var nOrig = n; - if (!util.isNumber(n) || n > 0) - state.emittedReadable = false; - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug2("read: emitReadable", state.length, state.ended); - if (state.length === 0 && state.ended) - endReadable(this); - else - emitReadable(this); - return null; - } - n = howMuchToRead(n, state); - if (n === 0 && state.ended) { - if (state.length === 0) - endReadable(this); - return null; - } - var doRead = state.needReadable; - debug2("need readable", doRead); - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug2("length less than watermark", doRead); - } - if (state.ended || state.reading) { - doRead = false; - debug2("reading or ended", doRead); - } - if (doRead) { - debug2("do read"); - state.reading = true; - state.sync = true; - if (state.length === 0) - state.needReadable = true; - this._read(state.highWaterMark); - state.sync = false; - } - if (doRead && !state.reading) - n = howMuchToRead(nOrig, state); - var ret; - if (n > 0) - ret = fromList(n, state); - else - ret = null; - if (util.isNull(ret)) { - state.needReadable = true; - n = 0; - } - state.length -= n; - if (state.length === 0 && !state.ended) - state.needReadable = true; - if (nOrig !== n && state.ended && state.length === 0) - endReadable(this); - if (!util.isNull(ret)) - this.emit("data", ret); - return ret; - }; - function chunkInvalid(state, chunk) { - var er = null; - if (!util.isBuffer(chunk) && !util.isString(chunk) && !util.isNullOrUndefined(chunk) && !state.objectMode) { - er = new TypeError("Invalid non-string/buffer chunk"); - } - return er; - } - function onEofChunk(stream, state) { - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - emitReadable(stream); - } - function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug2("emitReadable", state.flowing); - state.emittedReadable = true; - if (state.sync) - process.nextTick(function() { - emitReadable_(stream); - }); - else - emitReadable_(stream); - } - } - function emitReadable_(stream) { - debug2("emit readable"); - stream.emit("readable"); - flow(stream); - } - function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(function() { - maybeReadMore_(stream, state); - }); - } - } - function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug2("maybeReadMore read 0"); - stream.read(0); - if (len === state.length) - break; - else - len = state.length; - } - state.readingMore = false; - } - Readable.prototype._read = function(n) { - this.emit("error", new Error("not implemented")); - }; - Readable.prototype.pipe = function(dest, pipeOpts) { - var src = this; - var state = this._readableState; - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug2("pipe count=%d opts=%j", state.pipesCount, pipeOpts); - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) - process.nextTick(endFn); - else - src.once("end", endFn); - dest.on("unpipe", onunpipe); - function onunpipe(readable) { - debug2("onunpipe"); - if (readable === src) { - cleanup(); - } - } - function onend() { - debug2("onend"); - dest.end(); - } - var ondrain = pipeOnDrain(src); - dest.on("drain", ondrain); - function cleanup() { - debug2("cleanup"); - dest.removeListener("close", onclose); - dest.removeListener("finish", onfinish); - dest.removeListener("drain", ondrain); - dest.removeListener("error", onerror); - dest.removeListener("unpipe", onunpipe); - src.removeListener("end", onend); - src.removeListener("end", cleanup); - src.removeListener("data", ondata); - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) - ondrain(); - } - src.on("data", ondata); - function ondata(chunk) { - debug2("ondata"); - var ret = dest.write(chunk); - if (false === ret) { - debug2( - "false write response, pause", - src._readableState.awaitDrain - ); - src._readableState.awaitDrain++; - src.pause(); - } - } - function onerror(er) { - debug2("onerror", er); - unpipe(); - dest.removeListener("error", onerror); - if (EE.listenerCount(dest, "error") === 0) - dest.emit("error", er); - } - if (!dest._events || !dest._events.error) - dest.on("error", onerror); - else if (isArray2(dest._events.error)) - dest._events.error.unshift(onerror); - else - dest._events.error = [onerror, dest._events.error]; - function onclose() { - dest.removeListener("finish", onfinish); - unpipe(); - } - dest.once("close", onclose); - function onfinish() { - debug2("onfinish"); - dest.removeListener("close", onclose); - unpipe(); - } - dest.once("finish", onfinish); - function unpipe() { - debug2("unpipe"); - src.unpipe(dest); - } - dest.emit("pipe", src); - if (!state.flowing) { - debug2("pipe resume"); - src.resume(); - } - return dest; - }; - function pipeOnDrain(src) { - return function() { - var state = src._readableState; - debug2("pipeOnDrain", state.awaitDrain); - if (state.awaitDrain) - state.awaitDrain--; - if (state.awaitDrain === 0 && EE.listenerCount(src, "data")) { - state.flowing = true; - flow(src); - } - }; - } - Readable.prototype.unpipe = function(dest) { - var state = this._readableState; - if (state.pipesCount === 0) - return this; - if (state.pipesCount === 1) { - if (dest && dest !== state.pipes) - return this; - if (!dest) - dest = state.pipes; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) - dest.emit("unpipe", this); - return this; - } - if (!dest) { - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - for (var i = 0; i < len; i++) - dests[i].emit("unpipe", this); - return this; - } - var i = indexOf(state.pipes, dest); - if (i === -1) - return this; - state.pipes.splice(i, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) - state.pipes = state.pipes[0]; - dest.emit("unpipe", this); - return this; - }; - Readable.prototype.on = function(ev, fn2) { - var res = Stream.prototype.on.call(this, ev, fn2); - if (ev === "data" && false !== this._readableState.flowing) { - this.resume(); - } - if (ev === "readable" && this.readable) { - var state = this._readableState; - if (!state.readableListening) { - state.readableListening = true; - state.emittedReadable = false; - state.needReadable = true; - if (!state.reading) { - var self2 = this; - process.nextTick(function() { - debug2("readable nexttick read 0"); - self2.read(0); - }); - } else if (state.length) { - emitReadable(this, state); - } - } - } - return res; - }; - Readable.prototype.addListener = Readable.prototype.on; - Readable.prototype.resume = function() { - var state = this._readableState; - if (!state.flowing) { - debug2("resume"); - state.flowing = true; - if (!state.reading) { - debug2("resume read 0"); - this.read(0); - } - resume(this, state); - } - return this; - }; - function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - process.nextTick(function() { - resume_(stream, state); - }); - } - } - function resume_(stream, state) { - state.resumeScheduled = false; - stream.emit("resume"); - flow(stream); - if (state.flowing && !state.reading) - stream.read(0); - } - Readable.prototype.pause = function() { - debug2("call pause flowing=%j", this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug2("pause"); - this._readableState.flowing = false; - this.emit("pause"); - } - return this; - }; - function flow(stream) { - var state = stream._readableState; - debug2("flow", state.flowing); - if (state.flowing) { - do { - var chunk = stream.read(); - } while (null !== chunk && state.flowing); - } - } - Readable.prototype.wrap = function(stream) { - var state = this._readableState; - var paused = false; - var self2 = this; - stream.on("end", function() { - debug2("wrapped end"); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) - self2.push(chunk); - } - self2.push(null); - }); - stream.on("data", function(chunk) { - debug2("wrapped data"); - if (state.decoder) - chunk = state.decoder.write(chunk); - if (!chunk || !state.objectMode && !chunk.length) - return; - var ret = self2.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - for (var i in stream) { - if (util.isFunction(stream[i]) && util.isUndefined(this[i])) { - this[i] = function(method) { - return function() { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - var events = ["error", "close", "destroy", "pause", "resume"]; - forEach(events, function(ev) { - stream.on(ev, self2.emit.bind(self2, ev)); - }); - self2._read = function(n) { - debug2("wrapped _read", n); - if (paused) { - paused = false; - stream.resume(); - } - }; - return self2; - }; - Readable._fromList = fromList; - function fromList(n, state) { - var list = state.buffer; - var length = state.length; - var stringMode = !!state.decoder; - var objectMode = !!state.objectMode; - var ret; - if (list.length === 0) - return null; - if (length === 0) - ret = null; - else if (objectMode) - ret = list.shift(); - else if (!n || n >= length) { - if (stringMode) - ret = list.join(""); - else - ret = Buffer2.concat(list, length); - list.length = 0; - } else { - if (n < list[0].length) { - var buf = list[0]; - ret = buf.slice(0, n); - list[0] = buf.slice(n); - } else if (n === list[0].length) { - ret = list.shift(); - } else { - if (stringMode) - ret = ""; - else - ret = new Buffer2(n); - var c = 0; - for (var i = 0, l = list.length; i < l && c < n; i++) { - var buf = list[0]; - var cpy = Math.min(n - c, buf.length); - if (stringMode) - ret += buf.slice(0, cpy); - else - buf.copy(ret, c, 0, cpy); - if (cpy < buf.length) - list[0] = buf.slice(cpy); - else - list.shift(); - c += cpy; - } - } - } - return ret; - } - function endReadable(stream) { - var state = stream._readableState; - if (state.length > 0) - throw new Error("endReadable called on non-empty stream"); - if (!state.endEmitted) { - state.ended = true; - process.nextTick(function() { - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit("end"); - } - }); - } - } - function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } - } - function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) - return i; - } - return -1; - } - } -}); - -// .yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_transform.js -var require_stream_transform = __commonJS({ - ".yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_transform.js"(exports, module2) { - module2.exports = Transform; - var Duplex = require_stream_duplex(); - var util = require_util(); - util.inherits = require_inherits(); - util.inherits(Transform, Duplex); - function TransformState(options, stream) { - this.afterTransform = function(er, data) { - return afterTransform(stream, er, data); - }; - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; - } - function afterTransform(stream, er, data) { - var ts = stream._transformState; - ts.transforming = false; - var cb = ts.writecb; - if (!cb) - return stream.emit("error", new Error("no writecb in Transform class")); - ts.writechunk = null; - ts.writecb = null; - if (!util.isNullOrUndefined(data)) - stream.push(data); - if (cb) - cb(er); - var rs = stream._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); - } - } - function Transform(options) { - if (!(this instanceof Transform)) - return new Transform(options); - Duplex.call(this, options); - this._transformState = new TransformState(options, this); - var stream = this; - this._readableState.needReadable = true; - this._readableState.sync = false; - this.once("prefinish", function() { - if (util.isFunction(this._flush)) - this._flush(function(er) { - done(stream, er); - }); - else - done(stream); - }); - } - Transform.prototype.push = function(chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); - }; - Transform.prototype._transform = function(chunk, encoding, cb) { - throw new Error("not implemented"); - }; - Transform.prototype._write = function(chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) - this._read(rs.highWaterMark); - } - }; - Transform.prototype._read = function(n) { - var ts = this._transformState; - if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - ts.needTransform = true; - } - }; - function done(stream, er) { - if (er) - return stream.emit("error", er); - var ws = stream._writableState; - var ts = stream._transformState; - if (ws.length) - throw new Error("calling transform done when ws.length != 0"); - if (ts.transforming) - throw new Error("calling transform done when still transforming"); - return stream.push(null); - } - } -}); - -// .yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_passthrough.js -var require_stream_passthrough = __commonJS({ - ".yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/lib/_stream_passthrough.js"(exports, module2) { - module2.exports = PassThrough; - var Transform = require_stream_transform(); - var util = require_util(); - util.inherits = require_inherits(); - util.inherits(PassThrough, Transform); - function PassThrough(options) { - if (!(this instanceof PassThrough)) - return new PassThrough(options); - Transform.call(this, options); - } - PassThrough.prototype._transform = function(chunk, encoding, cb) { - cb(null, chunk); - }; - } -}); - -// .yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/readable.js -var require_readable = __commonJS({ - ".yarn/cache/readable-stream-npm-1.1.14-41e61d1768-b961628e92.zip/node_modules/readable-stream/readable.js"(exports, module2) { - exports = module2.exports = require_stream_readable(); - exports.Stream = require("stream"); - exports.Readable = exports; - exports.Writable = require_stream_writable(); - exports.Duplex = require_stream_duplex(); - exports.Transform = require_stream_transform(); - exports.PassThrough = require_stream_passthrough(); - if (!process.browser && process.env.READABLE_STREAM === "disable") { - module2.exports = require("stream"); - } - } -}); - -// .yarn/cache/xregexp-npm-2.0.0-147587b54c-48e88f0491.zip/node_modules/xregexp/xregexp-all.js -var require_xregexp_all = __commonJS({ - ".yarn/cache/xregexp-npm-2.0.0-147587b54c-48e88f0491.zip/node_modules/xregexp/xregexp-all.js"(exports) { - var XRegExp; - XRegExp = XRegExp || function(undef) { - "use strict"; - var self2, addToken, add, features = { - natives: false, - extensibility: false - }, nativ = { - exec: RegExp.prototype.exec, - test: RegExp.prototype.test, - match: String.prototype.match, - replace: String.prototype.replace, - split: String.prototype.split - }, fixed = {}, cache = {}, tokens = [], defaultScope = "default", classScope = "class", nativeTokens = { - // Any native multicharacter token in default scope (includes octals, excludes character classes) - "default": /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/, - // Any native multicharacter token in character class scope (includes octals) - "class": /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/ - }, replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g, duplicateFlags = /([\s\S])(?=[\s\S]*\1)/g, quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undef, hasNativeY = RegExp.prototype.sticky !== undef, isInsideConstructor = false, registeredFlags = "gim" + (hasNativeY ? "y" : ""); - function augment(regex, captureNames, isNative) { - var p; - for (p in self2.prototype) { - if (self2.prototype.hasOwnProperty(p)) { - regex[p] = self2.prototype[p]; - } - } - regex.xregexp = { captureNames, isNative: !!isNative }; - return regex; - } - function getNativeFlags(regex) { - return (regex.global ? "g" : "") + (regex.ignoreCase ? "i" : "") + (regex.multiline ? "m" : "") + (regex.extended ? "x" : "") + (regex.sticky ? "y" : ""); - } - function copy(regex, addFlags, removeFlags) { - if (!self2.isRegExp(regex)) { - throw new TypeError("type RegExp expected"); - } - var flags = nativ.replace.call(getNativeFlags(regex) + (addFlags || ""), duplicateFlags, ""); - if (removeFlags) { - flags = nativ.replace.call(flags, new RegExp("[" + removeFlags + "]+", "g"), ""); - } - if (regex.xregexp && !regex.xregexp.isNative) { - regex = augment( - self2(regex.source, flags), - regex.xregexp.captureNames ? regex.xregexp.captureNames.slice(0) : null - ); - } else { - regex = augment(new RegExp(regex.source, flags), null, true); - } - return regex; - } - function lastIndexOf(array, value) { - var i = array.length; - if (Array.prototype.lastIndexOf) { - return array.lastIndexOf(value); - } - while (i--) { - if (array[i] === value) { - return i; - } - } - return -1; - } - function isType(value, type) { - return Object.prototype.toString.call(value).toLowerCase() === "[object " + type + "]"; - } - function prepareOptions(value) { - value = value || {}; - if (value === "all" || value.all) { - value = { natives: true, extensibility: true }; - } else if (isType(value, "string")) { - value = self2.forEach(value, /[^\s,]+/, function(m) { - this[m] = true; - }, {}); - } - return value; - } - function runTokens(pattern, pos, scope, context) { - var i = tokens.length, result = null, match, t; - isInsideConstructor = true; - try { - while (i--) { - t = tokens[i]; - if ((t.scope === "all" || t.scope === scope) && (!t.trigger || t.trigger.call(context))) { - t.pattern.lastIndex = pos; - match = fixed.exec.call(t.pattern, pattern); - if (match && match.index === pos) { - result = { - output: t.handler.call(context, match, scope), - match - }; - break; - } - } - } - } catch (err) { - throw err; - } finally { - isInsideConstructor = false; - } - return result; - } - function setExtensibility(on) { - self2.addToken = addToken[on ? "on" : "off"]; - features.extensibility = on; - } - function setNatives(on) { - RegExp.prototype.exec = (on ? fixed : nativ).exec; - RegExp.prototype.test = (on ? fixed : nativ).test; - String.prototype.match = (on ? fixed : nativ).match; - String.prototype.replace = (on ? fixed : nativ).replace; - String.prototype.split = (on ? fixed : nativ).split; - features.natives = on; - } - self2 = function(pattern, flags) { - if (self2.isRegExp(pattern)) { - if (flags !== undef) { - throw new TypeError("can't supply flags when constructing one RegExp from another"); - } - return copy(pattern); - } - if (isInsideConstructor) { - throw new Error("can't call the XRegExp constructor within token definition functions"); - } - var output = [], scope = defaultScope, tokenContext = { - hasNamedCapture: false, - captureNames: [], - hasFlag: function(flag) { - return flags.indexOf(flag) > -1; - } - }, pos = 0, tokenResult, match, chr; - pattern = pattern === undef ? "" : String(pattern); - flags = flags === undef ? "" : String(flags); - if (nativ.match.call(flags, duplicateFlags)) { - throw new SyntaxError("invalid duplicate regular expression flag"); - } - pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function($0, $1) { - if (nativ.test.call(/[gy]/, $1)) { - throw new SyntaxError("can't use flag g or y in mode modifier"); - } - flags = nativ.replace.call(flags + $1, duplicateFlags, ""); - return ""; - }); - self2.forEach(flags, /[\s\S]/, function(m) { - if (registeredFlags.indexOf(m[0]) < 0) { - throw new SyntaxError("invalid regular expression flag " + m[0]); - } - }); - while (pos < pattern.length) { - tokenResult = runTokens(pattern, pos, scope, tokenContext); - if (tokenResult) { - output.push(tokenResult.output); - pos += tokenResult.match[0].length || 1; - } else { - match = nativ.exec.call(nativeTokens[scope], pattern.slice(pos)); - if (match) { - output.push(match[0]); - pos += match[0].length; - } else { - chr = pattern.charAt(pos); - if (chr === "[") { - scope = classScope; - } else if (chr === "]") { - scope = defaultScope; - } - output.push(chr); - ++pos; - } - } - } - return augment( - new RegExp(output.join(""), nativ.replace.call(flags, /[^gimy]+/g, "")), - tokenContext.hasNamedCapture ? tokenContext.captureNames : null - ); - }; - addToken = { - on: function(regex, handler, options) { - options = options || {}; - if (regex) { - tokens.push({ - pattern: copy(regex, "g" + (hasNativeY ? "y" : "")), - handler, - scope: options.scope || defaultScope, - trigger: options.trigger || null - }); - } - if (options.customFlags) { - registeredFlags = nativ.replace.call(registeredFlags + options.customFlags, duplicateFlags, ""); - } - }, - off: function() { - throw new Error("extensibility must be installed before using addToken"); - } - }; - self2.addToken = addToken.off; - self2.cache = function(pattern, flags) { - var key = pattern + "/" + (flags || ""); - return cache[key] || (cache[key] = self2(pattern, flags)); - }; - self2.escape = function(str) { - return nativ.replace.call(str, /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - }; - self2.exec = function(str, regex, pos, sticky) { - var r2 = copy(regex, "g" + (sticky && hasNativeY ? "y" : ""), sticky === false ? "y" : ""), match; - r2.lastIndex = pos = pos || 0; - match = fixed.exec.call(r2, str); - if (sticky && match && match.index !== pos) { - match = null; - } - if (regex.global) { - regex.lastIndex = match ? r2.lastIndex : 0; - } - return match; - }; - self2.forEach = function(str, regex, callback, context) { - var pos = 0, i = -1, match; - while (match = self2.exec(str, regex, pos)) { - callback.call(context, match, ++i, str, regex); - pos = match.index + (match[0].length || 1); - } - return context; - }; - self2.globalize = function(regex) { - return copy(regex, "g"); - }; - self2.install = function(options) { - options = prepareOptions(options); - if (!features.natives && options.natives) { - setNatives(true); - } - if (!features.extensibility && options.extensibility) { - setExtensibility(true); - } - }; - self2.isInstalled = function(feature) { - return !!features[feature]; - }; - self2.isRegExp = function(value) { - return isType(value, "regexp"); - }; - self2.matchChain = function(str, chain) { - return function recurseChain(values, level) { - var item = chain[level].regex ? chain[level] : { regex: chain[level] }, matches = [], addMatch = function(match) { - matches.push(item.backref ? match[item.backref] || "" : match[0]); - }, i; - for (i = 0; i < values.length; ++i) { - self2.forEach(values[i], item.regex, addMatch); - } - return level === chain.length - 1 || !matches.length ? matches : recurseChain(matches, level + 1); - }([str], 0); - }; - self2.replace = function(str, search, replacement, scope) { - var isRegex = self2.isRegExp(search), search2 = search, result; - if (isRegex) { - if (scope === undef && search.global) { - scope = "all"; - } - search2 = copy(search, scope === "all" ? "g" : "", scope === "all" ? "" : "g"); - } else if (scope === "all") { - search2 = new RegExp(self2.escape(String(search)), "g"); - } - result = fixed.replace.call(String(str), search2, replacement); - if (isRegex && search.global) { - search.lastIndex = 0; - } - return result; - }; - self2.split = function(str, separator, limit) { - return fixed.split.call(str, separator, limit); - }; - self2.test = function(str, regex, pos, sticky) { - return !!self2.exec(str, regex, pos, sticky); - }; - self2.uninstall = function(options) { - options = prepareOptions(options); - if (features.natives && options.natives) { - setNatives(false); - } - if (features.extensibility && options.extensibility) { - setExtensibility(false); - } - }; - self2.union = function(patterns, flags) { - var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, numCaptures = 0, numPriorCaptures, captureNames, rewrite = function(match, paren, backref) { - var name = captureNames[numCaptures - numPriorCaptures]; - if (paren) { - ++numCaptures; - if (name) { - return "(?<" + name + ">"; - } - } else if (backref) { - return "\\" + (+backref + numPriorCaptures); - } - return match; - }, output = [], pattern, i; - if (!(isType(patterns, "array") && patterns.length)) { - throw new TypeError("patterns must be a nonempty array"); - } - for (i = 0; i < patterns.length; ++i) { - pattern = patterns[i]; - if (self2.isRegExp(pattern)) { - numPriorCaptures = numCaptures; - captureNames = pattern.xregexp && pattern.xregexp.captureNames || []; - output.push(self2(pattern.source).source.replace(parts, rewrite)); - } else { - output.push(self2.escape(pattern)); - } - } - return self2(output.join("|"), flags); - }; - self2.version = "2.0.0"; - fixed.exec = function(str) { - var match, name, r2, origLastIndex, i; - if (!this.global) { - origLastIndex = this.lastIndex; - } - match = nativ.exec.apply(this, arguments); - if (match) { - if (!compliantExecNpcg && match.length > 1 && lastIndexOf(match, "") > -1) { - r2 = new RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", "")); - nativ.replace.call(String(str).slice(match.index), r2, function() { - var i2; - for (i2 = 1; i2 < arguments.length - 2; ++i2) { - if (arguments[i2] === undef) { - match[i2] = undef; - } - } - }); - } - if (this.xregexp && this.xregexp.captureNames) { - for (i = 1; i < match.length; ++i) { - name = this.xregexp.captureNames[i - 1]; - if (name) { - match[name] = match[i]; - } - } - } - if (this.global && !match[0].length && this.lastIndex > match.index) { - this.lastIndex = match.index; - } - } - if (!this.global) { - this.lastIndex = origLastIndex; - } - return match; - }; - fixed.test = function(str) { - return !!fixed.exec.call(this, str); - }; - fixed.match = function(regex) { - if (!self2.isRegExp(regex)) { - regex = new RegExp(regex); - } else if (regex.global) { - var result = nativ.match.apply(this, arguments); - regex.lastIndex = 0; - return result; - } - return fixed.exec.call(regex, this); - }; - fixed.replace = function(search, replacement) { - var isRegex = self2.isRegExp(search), captureNames, result, str, origLastIndex; - if (isRegex) { - if (search.xregexp) { - captureNames = search.xregexp.captureNames; - } - if (!search.global) { - origLastIndex = search.lastIndex; - } - } else { - search += ""; - } - if (isType(replacement, "function")) { - result = nativ.replace.call(String(this), search, function() { - var args = arguments, i; - if (captureNames) { - args[0] = new String(args[0]); - for (i = 0; i < captureNames.length; ++i) { - if (captureNames[i]) { - args[0][captureNames[i]] = args[i + 1]; - } - } - } - if (isRegex && search.global) { - search.lastIndex = args[args.length - 2] + args[0].length; - } - return replacement.apply(null, args); - }); - } else { - str = String(this); - result = nativ.replace.call(str, search, function() { - var args = arguments; - return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) { - var n; - if ($1) { - n = +$1; - if (n <= args.length - 3) { - return args[n] || ""; - } - n = captureNames ? lastIndexOf(captureNames, $1) : -1; - if (n < 0) { - throw new SyntaxError("backreference to undefined group " + $0); - } - return args[n + 1] || ""; - } - if ($2 === "$") - return "$"; - if ($2 === "&" || +$2 === 0) - return args[0]; - if ($2 === "`") - return args[args.length - 1].slice(0, args[args.length - 2]); - if ($2 === "'") - return args[args.length - 1].slice(args[args.length - 2] + args[0].length); - $2 = +$2; - if (!isNaN($2)) { - if ($2 > args.length - 3) { - throw new SyntaxError("backreference to undefined group " + $0); - } - return args[$2] || ""; - } - throw new SyntaxError("invalid token " + $0); - }); - }); - } - if (isRegex) { - if (search.global) { - search.lastIndex = 0; - } else { - search.lastIndex = origLastIndex; - } - } - return result; - }; - fixed.split = function(separator, limit) { - if (!self2.isRegExp(separator)) { - return nativ.split.apply(this, arguments); - } - var str = String(this), origLastIndex = separator.lastIndex, output = [], lastLastIndex = 0, lastLength; - limit = (limit === undef ? -1 : limit) >>> 0; - self2.forEach(str, separator, function(match) { - if (match.index + match[0].length > lastLastIndex) { - output.push(str.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < str.length) { - Array.prototype.push.apply(output, match.slice(1)); - } - lastLength = match[0].length; - lastLastIndex = match.index + lastLength; - } - }); - if (lastLastIndex === str.length) { - if (!nativ.test.call(separator, "") || lastLength) { - output.push(""); - } - } else { - output.push(str.slice(lastLastIndex)); - } - separator.lastIndex = origLastIndex; - return output.length > limit ? output.slice(0, limit) : output; - }; - add = addToken.on; - add( - /\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/, - function(match, scope) { - if (match[1] === "B" && scope === defaultScope) { - return match[0]; - } - throw new SyntaxError("invalid escape " + match[0]); - }, - { scope: "all" } - ); - add( - /\[(\^?)]/, - function(match) { - return match[1] ? "[\\s\\S]" : "\\b\\B"; - } - ); - add( - /(?:\(\?#[^)]*\))+/, - function(match) { - return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; - } - ); - add( - /\\k<([\w$]+)>/, - function(match) { - var index = isNaN(match[1]) ? lastIndexOf(this.captureNames, match[1]) + 1 : +match[1], endIndex = match.index + match[0].length; - if (!index || index > this.captureNames.length) { - throw new SyntaxError("backreference to undefined group " + match[0]); - } - return "\\" + index + (endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? "" : "(?:)"); - } - ); - add( - /(?:\s+|#.*)+/, - function(match) { - return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; - }, - { - trigger: function() { - return this.hasFlag("x"); - }, - customFlags: "x" - } - ); - add( - /\./, - function() { - return "[\\s\\S]"; - }, - { - trigger: function() { - return this.hasFlag("s"); - }, - customFlags: "s" - } - ); - add( - /\(\?P?<([\w$]+)>/, - function(match) { - if (!isNaN(match[1])) { - throw new SyntaxError("can't use integer as capture name " + match[0]); - } - this.captureNames.push(match[1]); - this.hasNamedCapture = true; - return "("; - } - ); - add( - /\\(\d+)/, - function(match, scope) { - if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && match[1] !== "0") { - throw new SyntaxError("can't use octal escape or backreference to undefined group " + match[0]); - } - return match[0]; - }, - { scope: "all" } - ); - add( - /\((?!\?)/, - function() { - if (this.hasFlag("n")) { - return "(?:"; - } - this.captureNames.push(null); - return "("; - }, - { customFlags: "n" } - ); - if (typeof exports !== "undefined") { - exports.XRegExp = self2; - } - return self2; - }(); - (function(XRegExp2) { - "use strict"; - var unicode = {}; - function slug(name) { - return name.replace(/[- _]+/g, "").toLowerCase(); - } - function expand(str) { - return str.replace(/\w{4}/g, "\\u$&"); - } - function pad4(str) { - while (str.length < 4) { - str = "0" + str; - } - return str; - } - function dec(hex2) { - return parseInt(hex2, 16); - } - function hex(dec2) { - return parseInt(dec2, 10).toString(16); - } - function invert(range) { - var output = [], lastEnd = -1, start; - XRegExp2.forEach(range, /\\u(\w{4})(?:-\\u(\w{4}))?/, function(m) { - start = dec(m[1]); - if (start > lastEnd + 1) { - output.push("\\u" + pad4(hex(lastEnd + 1))); - if (start > lastEnd + 2) { - output.push("-\\u" + pad4(hex(start - 1))); - } - } - lastEnd = dec(m[2] || m[1]); - }); - if (lastEnd < 65535) { - output.push("\\u" + pad4(hex(lastEnd + 1))); - if (lastEnd < 65534) { - output.push("-\\uFFFF"); - } - } - return output.join(""); - } - function cacheInversion(item) { - return unicode["^" + item] || (unicode["^" + item] = invert(unicode[item])); - } - XRegExp2.install("extensibility"); - XRegExp2.addUnicodePackage = function(pack, aliases) { - var p; - if (!XRegExp2.isInstalled("extensibility")) { - throw new Error("extensibility must be installed before adding Unicode packages"); - } - if (pack) { - for (p in pack) { - if (pack.hasOwnProperty(p)) { - unicode[slug(p)] = expand(pack[p]); - } - } - } - if (aliases) { - for (p in aliases) { - if (aliases.hasOwnProperty(p)) { - unicode[slug(aliases[p])] = unicode[slug(p)]; - } - } - } - }; - XRegExp2.addUnicodePackage({ - L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC" - }, { - L: "Letter" - }); - XRegExp2.addToken( - /\\([pP]){(\^?)([^}]*)}/, - function(match, scope) { - var inv = match[1] === "P" || match[2] ? "^" : "", item = slug(match[3]); - if (match[1] === "P" && match[2]) { - throw new SyntaxError("invalid double negation \\P{^"); - } - if (!unicode.hasOwnProperty(item)) { - throw new SyntaxError("invalid or unknown Unicode property " + match[0]); - } - return scope === "class" ? inv ? cacheInversion(item) : unicode[item] : "[" + inv + unicode[item] + "]"; - }, - { scope: "all" } - ); - })(XRegExp); - (function(XRegExp2) { - "use strict"; - if (!XRegExp2.addUnicodePackage) { - throw new ReferenceError("Unicode Base must be loaded before Unicode Categories"); - } - XRegExp2.install("extensibility"); - XRegExp2.addUnicodePackage({ - //L: "", // Included in the Unicode Base addon - Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A", - Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", - Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC", - Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F", - Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", - M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26", - Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26", - Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC", - Me: "0488048920DD-20E020E2-20E4A670-A672", - N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", - Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", - Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF", - No: "00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835", - P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65", - Pd: "002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D", - Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62", - Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63", - Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20", - Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21", - Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F", - Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65", - S: "0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD", - Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC", - Sc: "002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6", - Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3", - So: "00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD", - Z: "002000A01680180E2000-200A20282029202F205F3000", - Zs: "002000A01680180E2000-200A202F205F3000", - Zl: "2028", - Zp: "2029", - C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF", - Cc: "0000-001F007F-009F", - Cf: "00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB", - Co: "E000-F8FF", - Cs: "D800-DFFF", - Cn: "03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF" - }, { - //L: "Letter", // Included in the Unicode Base addon - Ll: "Lowercase_Letter", - Lu: "Uppercase_Letter", - Lt: "Titlecase_Letter", - Lm: "Modifier_Letter", - Lo: "Other_Letter", - M: "Mark", - Mn: "Nonspacing_Mark", - Mc: "Spacing_Mark", - Me: "Enclosing_Mark", - N: "Number", - Nd: "Decimal_Number", - Nl: "Letter_Number", - No: "Other_Number", - P: "Punctuation", - Pd: "Dash_Punctuation", - Ps: "Open_Punctuation", - Pe: "Close_Punctuation", - Pi: "Initial_Punctuation", - Pf: "Final_Punctuation", - Pc: "Connector_Punctuation", - Po: "Other_Punctuation", - S: "Symbol", - Sm: "Math_Symbol", - Sc: "Currency_Symbol", - Sk: "Modifier_Symbol", - So: "Other_Symbol", - Z: "Separator", - Zs: "Space_Separator", - Zl: "Line_Separator", - Zp: "Paragraph_Separator", - C: "Other", - Cc: "Control", - Cf: "Format", - Co: "Private_Use", - Cs: "Surrogate", - Cn: "Unassigned" - }); - })(XRegExp); - (function(XRegExp2) { - "use strict"; - if (!XRegExp2.addUnicodePackage) { - throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts"); - } - XRegExp2.install("extensibility"); - XRegExp2.addUnicodePackage({ - Arabic: "0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC", - Armenian: "0531-05560559-055F0561-0587058A058FFB13-FB17", - Balinese: "1B00-1B4B1B50-1B7C", - Bamum: "A6A0-A6F7", - Batak: "1BC0-1BF31BFC-1BFF", - Bengali: "0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB", - Bopomofo: "02EA02EB3105-312D31A0-31BA", - Braille: "2800-28FF", - Buginese: "1A00-1A1B1A1E1A1F", - Buhid: "1740-1753", - Canadian_Aboriginal: "1400-167F18B0-18F5", - Cham: "AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F", - Cherokee: "13A0-13F4", - Common: "0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD", - Coptic: "03E2-03EF2C80-2CF32CF9-2CFF", - Cyrillic: "0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F", - Devanagari: "0900-09500953-09630966-09770979-097FA8E0-A8FB", - Ethiopic: "1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E", - Georgian: "10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D", - Glagolitic: "2C00-2C2E2C30-2C5E", - Greek: "0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126", - Gujarati: "0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1", - Gurmukhi: "0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75", - Han: "2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9", - Hangul: "1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", - Hanunoo: "1720-1734", - Hebrew: "0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F", - Hiragana: "3041-3096309D-309F", - Inherited: "0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26", - Javanese: "A980-A9CDA9CF-A9D9A9DEA9DF", - Kannada: "0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2", - Katakana: "30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D", - Kayah_Li: "A900-A92F", - Khmer: "1780-17DD17E0-17E917F0-17F919E0-19FF", - Lao: "0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF", - Latin: "0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A", - Lepcha: "1C00-1C371C3B-1C491C4D-1C4F", - Limbu: "1900-191C1920-192B1930-193B19401944-194F", - Lisu: "A4D0-A4FF", - Malayalam: "0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F", - Mandaic: "0840-085B085E", - Meetei_Mayek: "AAE0-AAF6ABC0-ABEDABF0-ABF9", - Mongolian: "1800180118041806-180E1810-18191820-18771880-18AA", - Myanmar: "1000-109FAA60-AA7B", - New_Tai_Lue: "1980-19AB19B0-19C919D0-19DA19DE19DF", - Nko: "07C0-07FA", - Ogham: "1680-169C", - Ol_Chiki: "1C50-1C7F", - Oriya: "0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77", - Phags_Pa: "A840-A877", - Rejang: "A930-A953A95F", - Runic: "16A0-16EA16EE-16F0", - Samaritan: "0800-082D0830-083E", - Saurashtra: "A880-A8C4A8CE-A8D9", - Sinhala: "0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4", - Sundanese: "1B80-1BBF1CC0-1CC7", - Syloti_Nagri: "A800-A82B", - Syriac: "0700-070D070F-074A074D-074F", - Tagalog: "1700-170C170E-1714", - Tagbanwa: "1760-176C176E-177017721773", - Tai_Le: "1950-196D1970-1974", - Tai_Tham: "1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD", - Tai_Viet: "AA80-AAC2AADB-AADF", - Tamil: "0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA", - Telugu: "0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F", - Thaana: "0780-07B1", - Thai: "0E01-0E3A0E40-0E5B", - Tibetan: "0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA", - Tifinagh: "2D30-2D672D6F2D702D7F", - Vai: "A500-A62B", - Yi: "A000-A48CA490-A4C6" - }); - })(XRegExp); - (function(XRegExp2) { - "use strict"; - if (!XRegExp2.addUnicodePackage) { - throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks"); - } - XRegExp2.install("extensibility"); - XRegExp2.addUnicodePackage({ - InBasic_Latin: "0000-007F", - InLatin_1_Supplement: "0080-00FF", - InLatin_Extended_A: "0100-017F", - InLatin_Extended_B: "0180-024F", - InIPA_Extensions: "0250-02AF", - InSpacing_Modifier_Letters: "02B0-02FF", - InCombining_Diacritical_Marks: "0300-036F", - InGreek_and_Coptic: "0370-03FF", - InCyrillic: "0400-04FF", - InCyrillic_Supplement: "0500-052F", - InArmenian: "0530-058F", - InHebrew: "0590-05FF", - InArabic: "0600-06FF", - InSyriac: "0700-074F", - InArabic_Supplement: "0750-077F", - InThaana: "0780-07BF", - InNKo: "07C0-07FF", - InSamaritan: "0800-083F", - InMandaic: "0840-085F", - InArabic_Extended_A: "08A0-08FF", - InDevanagari: "0900-097F", - InBengali: "0980-09FF", - InGurmukhi: "0A00-0A7F", - InGujarati: "0A80-0AFF", - InOriya: "0B00-0B7F", - InTamil: "0B80-0BFF", - InTelugu: "0C00-0C7F", - InKannada: "0C80-0CFF", - InMalayalam: "0D00-0D7F", - InSinhala: "0D80-0DFF", - InThai: "0E00-0E7F", - InLao: "0E80-0EFF", - InTibetan: "0F00-0FFF", - InMyanmar: "1000-109F", - InGeorgian: "10A0-10FF", - InHangul_Jamo: "1100-11FF", - InEthiopic: "1200-137F", - InEthiopic_Supplement: "1380-139F", - InCherokee: "13A0-13FF", - InUnified_Canadian_Aboriginal_Syllabics: "1400-167F", - InOgham: "1680-169F", - InRunic: "16A0-16FF", - InTagalog: "1700-171F", - InHanunoo: "1720-173F", - InBuhid: "1740-175F", - InTagbanwa: "1760-177F", - InKhmer: "1780-17FF", - InMongolian: "1800-18AF", - InUnified_Canadian_Aboriginal_Syllabics_Extended: "18B0-18FF", - InLimbu: "1900-194F", - InTai_Le: "1950-197F", - InNew_Tai_Lue: "1980-19DF", - InKhmer_Symbols: "19E0-19FF", - InBuginese: "1A00-1A1F", - InTai_Tham: "1A20-1AAF", - InBalinese: "1B00-1B7F", - InSundanese: "1B80-1BBF", - InBatak: "1BC0-1BFF", - InLepcha: "1C00-1C4F", - InOl_Chiki: "1C50-1C7F", - InSundanese_Supplement: "1CC0-1CCF", - InVedic_Extensions: "1CD0-1CFF", - InPhonetic_Extensions: "1D00-1D7F", - InPhonetic_Extensions_Supplement: "1D80-1DBF", - InCombining_Diacritical_Marks_Supplement: "1DC0-1DFF", - InLatin_Extended_Additional: "1E00-1EFF", - InGreek_Extended: "1F00-1FFF", - InGeneral_Punctuation: "2000-206F", - InSuperscripts_and_Subscripts: "2070-209F", - InCurrency_Symbols: "20A0-20CF", - InCombining_Diacritical_Marks_for_Symbols: "20D0-20FF", - InLetterlike_Symbols: "2100-214F", - InNumber_Forms: "2150-218F", - InArrows: "2190-21FF", - InMathematical_Operators: "2200-22FF", - InMiscellaneous_Technical: "2300-23FF", - InControl_Pictures: "2400-243F", - InOptical_Character_Recognition: "2440-245F", - InEnclosed_Alphanumerics: "2460-24FF", - InBox_Drawing: "2500-257F", - InBlock_Elements: "2580-259F", - InGeometric_Shapes: "25A0-25FF", - InMiscellaneous_Symbols: "2600-26FF", - InDingbats: "2700-27BF", - InMiscellaneous_Mathematical_Symbols_A: "27C0-27EF", - InSupplemental_Arrows_A: "27F0-27FF", - InBraille_Patterns: "2800-28FF", - InSupplemental_Arrows_B: "2900-297F", - InMiscellaneous_Mathematical_Symbols_B: "2980-29FF", - InSupplemental_Mathematical_Operators: "2A00-2AFF", - InMiscellaneous_Symbols_and_Arrows: "2B00-2BFF", - InGlagolitic: "2C00-2C5F", - InLatin_Extended_C: "2C60-2C7F", - InCoptic: "2C80-2CFF", - InGeorgian_Supplement: "2D00-2D2F", - InTifinagh: "2D30-2D7F", - InEthiopic_Extended: "2D80-2DDF", - InCyrillic_Extended_A: "2DE0-2DFF", - InSupplemental_Punctuation: "2E00-2E7F", - InCJK_Radicals_Supplement: "2E80-2EFF", - InKangxi_Radicals: "2F00-2FDF", - InIdeographic_Description_Characters: "2FF0-2FFF", - InCJK_Symbols_and_Punctuation: "3000-303F", - InHiragana: "3040-309F", - InKatakana: "30A0-30FF", - InBopomofo: "3100-312F", - InHangul_Compatibility_Jamo: "3130-318F", - InKanbun: "3190-319F", - InBopomofo_Extended: "31A0-31BF", - InCJK_Strokes: "31C0-31EF", - InKatakana_Phonetic_Extensions: "31F0-31FF", - InEnclosed_CJK_Letters_and_Months: "3200-32FF", - InCJK_Compatibility: "3300-33FF", - InCJK_Unified_Ideographs_Extension_A: "3400-4DBF", - InYijing_Hexagram_Symbols: "4DC0-4DFF", - InCJK_Unified_Ideographs: "4E00-9FFF", - InYi_Syllables: "A000-A48F", - InYi_Radicals: "A490-A4CF", - InLisu: "A4D0-A4FF", - InVai: "A500-A63F", - InCyrillic_Extended_B: "A640-A69F", - InBamum: "A6A0-A6FF", - InModifier_Tone_Letters: "A700-A71F", - InLatin_Extended_D: "A720-A7FF", - InSyloti_Nagri: "A800-A82F", - InCommon_Indic_Number_Forms: "A830-A83F", - InPhags_pa: "A840-A87F", - InSaurashtra: "A880-A8DF", - InDevanagari_Extended: "A8E0-A8FF", - InKayah_Li: "A900-A92F", - InRejang: "A930-A95F", - InHangul_Jamo_Extended_A: "A960-A97F", - InJavanese: "A980-A9DF", - InCham: "AA00-AA5F", - InMyanmar_Extended_A: "AA60-AA7F", - InTai_Viet: "AA80-AADF", - InMeetei_Mayek_Extensions: "AAE0-AAFF", - InEthiopic_Extended_A: "AB00-AB2F", - InMeetei_Mayek: "ABC0-ABFF", - InHangul_Syllables: "AC00-D7AF", - InHangul_Jamo_Extended_B: "D7B0-D7FF", - InHigh_Surrogates: "D800-DB7F", - InHigh_Private_Use_Surrogates: "DB80-DBFF", - InLow_Surrogates: "DC00-DFFF", - InPrivate_Use_Area: "E000-F8FF", - InCJK_Compatibility_Ideographs: "F900-FAFF", - InAlphabetic_Presentation_Forms: "FB00-FB4F", - InArabic_Presentation_Forms_A: "FB50-FDFF", - InVariation_Selectors: "FE00-FE0F", - InVertical_Forms: "FE10-FE1F", - InCombining_Half_Marks: "FE20-FE2F", - InCJK_Compatibility_Forms: "FE30-FE4F", - InSmall_Form_Variants: "FE50-FE6F", - InArabic_Presentation_Forms_B: "FE70-FEFF", - InHalfwidth_and_Fullwidth_Forms: "FF00-FFEF", - InSpecials: "FFF0-FFFF" - }); - })(XRegExp); - (function(XRegExp2) { - "use strict"; - if (!XRegExp2.addUnicodePackage) { - throw new ReferenceError("Unicode Base must be loaded before Unicode Properties"); - } - XRegExp2.install("extensibility"); - XRegExp2.addUnicodePackage({ - Alphabetic: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", - Uppercase: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", - Lowercase: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A", - White_Space: "0009-000D0020008500A01680180E2000-200A20282029202F205F3000", - Noncharacter_Code_Point: "FDD0-FDEFFFFEFFFF", - Default_Ignorable_Code_Point: "00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8", - // \p{Any} matches a code unit. To match any code point via surrogate pairs, use (?:[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]) - Any: "0000-FFFF", - // \p{^Any} compiles to [^\u0000-\uFFFF]; [\p{^Any}] to [] - Ascii: "0000-007F", - // \p{Assigned} is equivalent to \p{^Cn} - //Assigned: XRegExp("[\\p{^Cn}]").source.replace(/[[\]]|\\u/g, "") // Negation inside a character class triggers inversion - Assigned: "0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD" - }); - })(XRegExp); - (function(XRegExp2) { - "use strict"; - function row(value, name, start, end) { - return { value, name, start, end }; - } - XRegExp2.matchRecursive = function(str, left, right, flags, options) { - flags = flags || ""; - options = options || {}; - var global2 = flags.indexOf("g") > -1, sticky = flags.indexOf("y") > -1, basicFlags = flags.replace(/y/g, ""), escapeChar = options.escapeChar, vN = options.valueNames, output = [], openTokens = 0, delimStart = 0, delimEnd = 0, lastOuterEnd = 0, outerStart, innerStart, leftMatch, rightMatch, esc; - left = XRegExp2(left, basicFlags); - right = XRegExp2(right, basicFlags); - if (escapeChar) { - if (escapeChar.length > 1) { - throw new SyntaxError("can't use more than one escape character"); - } - escapeChar = XRegExp2.escape(escapeChar); - esc = new RegExp( - "(?:" + escapeChar + "[\\S\\s]|(?:(?!" + XRegExp2.union([left, right]).source + ")[^" + escapeChar + "])+)+", - flags.replace(/[^im]+/g, "") - // Flags gy not needed here; flags nsx handled by XRegExp - ); - } - while (true) { - if (escapeChar) { - delimEnd += (XRegExp2.exec(str, esc, delimEnd, "sticky") || [""])[0].length; - } - leftMatch = XRegExp2.exec(str, left, delimEnd); - rightMatch = XRegExp2.exec(str, right, delimEnd); - if (leftMatch && rightMatch) { - if (leftMatch.index <= rightMatch.index) { - rightMatch = null; - } else { - leftMatch = null; - } - } - if (leftMatch || rightMatch) { - delimStart = (leftMatch || rightMatch).index; - delimEnd = delimStart + (leftMatch || rightMatch)[0].length; - } else if (!openTokens) { - break; - } - if (sticky && !openTokens && delimStart > lastOuterEnd) { - break; - } - if (leftMatch) { - if (!openTokens) { - outerStart = delimStart; - innerStart = delimEnd; - } - ++openTokens; - } else if (rightMatch && openTokens) { - if (!--openTokens) { - if (vN) { - if (vN[0] && outerStart > lastOuterEnd) { - output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart)); - } - if (vN[1]) { - output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart)); - } - if (vN[2]) { - output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart)); - } - if (vN[3]) { - output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd)); - } - } else { - output.push(str.slice(innerStart, delimStart)); - } - lastOuterEnd = delimEnd; - if (!global2) { - break; - } - } - } else { - throw new Error("string contains unbalanced delimiters"); - } - if (delimStart === delimEnd) { - ++delimEnd; - } - } - if (global2 && !sticky && vN && vN[0] && str.length > lastOuterEnd) { - output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length)); - } - return output; - }; - })(XRegExp); - (function(XRegExp2) { - "use strict"; - var subparts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, parts = XRegExp2.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subparts], "g"); - function deanchor(pattern) { - var startAnchor = /^(?:\(\?:\))?\^/, endAnchor = /\$(?:\(\?:\))?$/; - if (endAnchor.test(pattern.replace(/\\[\s\S]/g, ""))) { - return pattern.replace(startAnchor, "").replace(endAnchor, ""); - } - return pattern; - } - function asXRegExp(value) { - return XRegExp2.isRegExp(value) ? value.xregexp && !value.xregexp.isNative ? value : XRegExp2(value.source) : XRegExp2(value); - } - XRegExp2.build = function(pattern, subs, flags) { - var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern), data = {}, numCaps = 0, numPriorCaps, numOuterCaps = 0, outerCapsMap = [0], outerCapNames, sub, p; - if (inlineFlags) { - flags = flags || ""; - inlineFlags[1].replace(/./g, function(flag) { - flags += flags.indexOf(flag) > -1 ? "" : flag; - }); - } - for (p in subs) { - if (subs.hasOwnProperty(p)) { - sub = asXRegExp(subs[p]); - data[p] = { pattern: deanchor(sub.source), names: sub.xregexp.captureNames || [] }; - } - } - pattern = asXRegExp(pattern); - outerCapNames = pattern.xregexp.captureNames || []; - pattern = pattern.source.replace(parts, function($0, $1, $2, $3, $4) { - var subName = $1 || $2, capName, intro; - if (subName) { - if (!data.hasOwnProperty(subName)) { - throw new ReferenceError("undefined property " + $0); - } - if ($1) { - capName = outerCapNames[numOuterCaps]; - outerCapsMap[++numOuterCaps] = ++numCaps; - intro = "(?<" + (capName || subName) + ">"; - } else { - intro = "(?:"; - } - numPriorCaps = numCaps; - return intro + data[subName].pattern.replace(subparts, function(match, paren, backref) { - if (paren) { - capName = data[subName].names[numCaps - numPriorCaps]; - ++numCaps; - if (capName) { - return "(?<" + capName + ">"; - } - } else if (backref) { - return "\\" + (+backref + numPriorCaps); - } - return match; - }) + ")"; - } - if ($3) { - capName = outerCapNames[numOuterCaps]; - outerCapsMap[++numOuterCaps] = ++numCaps; - if (capName) { - return "(?<" + capName + ">"; - } - } else if ($4) { - return "\\" + outerCapsMap[+$4]; - } - return $0; - }); - return XRegExp2(pattern, flags); - }; - })(XRegExp); - (function(XRegExp2) { - "use strict"; - function extend(a, b) { - for (var p in b) { - if (b.hasOwnProperty(p)) { - a[p] = b[p]; - } - } - } - extend(XRegExp2.prototype, { - /** - * Implicitly calls the regex's `test` method with the first value in the provided arguments array. - * @memberOf XRegExp.prototype - * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.apply`. - * @param {Array} args Array with the string to search as its first value. - * @returns {Boolean} Whether the regex matched the provided value. - * @example - * - * XRegExp('[a-z]').apply(null, ['abc']); // -> true - */ - apply: function(context, args) { - return this.test(args[0]); - }, - /** - * Implicitly calls the regex's `test` method with the provided string. - * @memberOf XRegExp.prototype - * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.call`. - * @param {String} str String to search. - * @returns {Boolean} Whether the regex matched the provided value. - * @example - * - * XRegExp('[a-z]').call(null, 'abc'); // -> true - */ - call: function(context, str) { - return this.test(str); - }, - /** - * Implicitly calls {@link #XRegExp.forEach}. - * @memberOf XRegExp.prototype - * @example - * - * XRegExp('\\d').forEach('1a2345', function (match, i) { - * if (i % 2) this.push(+match[0]); - * }, []); - * // -> [2, 4] - */ - forEach: function(str, callback, context) { - return XRegExp2.forEach(str, this, callback, context); - }, - /** - * Implicitly calls {@link #XRegExp.globalize}. - * @memberOf XRegExp.prototype - * @example - * - * var globalCopy = XRegExp('regex').globalize(); - * globalCopy.global; // -> true - */ - globalize: function() { - return XRegExp2.globalize(this); - }, - /** - * Implicitly calls {@link #XRegExp.exec}. - * @memberOf XRegExp.prototype - * @example - * - * var match = XRegExp('U\\+(?[0-9A-F]{4})').xexec('U+2620'); - * match.hex; // -> '2620' - */ - xexec: function(str, pos, sticky) { - return XRegExp2.exec(str, this, pos, sticky); - }, - /** - * Implicitly calls {@link #XRegExp.test}. - * @memberOf XRegExp.prototype - * @example - * - * XRegExp('c').xtest('abc'); // -> true - */ - xtest: function(str, pos, sticky) { - return XRegExp2.test(str, this, pos, sticky); - } - }); - })(XRegExp); - } -}); - -// .yarn/cache/ftp-npm-0.3.10-348fb9ac23-f6e077bde1.zip/node_modules/ftp/lib/parser.js -var require_parser = __commonJS({ - ".yarn/cache/ftp-npm-0.3.10-348fb9ac23-f6e077bde1.zip/node_modules/ftp/lib/parser.js"(exports, module2) { - var WritableStream = require("stream").Writable || require_readable().Writable; - var inherits = require("util").inherits; - var inspect = require("util").inspect; - var XRegExp = require_xregexp_all().XRegExp; - var REX_LISTUNIX = XRegExp.cache("^(?[\\-ld])(?([\\-r][\\-w][\\-xstT]){3})(?(\\+))?\\s+(?\\d+)\\s+(?\\S+)\\s+(?\\S+)\\s+(?\\d+)\\s+(?((?\\w{3})\\s+(?\\d{1,2})\\s+(?\\d{1,2}):(?\\d{2}))|((?\\w{3})\\s+(?\\d{1,2})\\s+(?\\d{4})))\\s+(?.+)$"); - var REX_LISTMSDOS = XRegExp.cache("^(?\\d{2})(?:\\-|\\/)(?\\d{2})(?:\\-|\\/)(?\\d{2,4})\\s+(?\\d{2}):(?\\d{2})\\s{0,1}(?[AaMmPp]{1,2})\\s+(?:(?\\d+)|(?\\))\\s+(?.+)$"); - var RE_ENTRY_TOTAL = /^total/; - var RE_RES_END = /(?:^|\r?\n)(\d{3}) [^\r\n]*\r?\n/; - var RE_EOL = /\r?\n/g; - var RE_DASH = /\-/g; - var MONTHS = { - jan: 1, - feb: 2, - mar: 3, - apr: 4, - may: 5, - jun: 6, - jul: 7, - aug: 8, - sep: 9, - oct: 10, - nov: 11, - dec: 12 - }; - function Parser(options) { - if (!(this instanceof Parser)) - return new Parser(options); - WritableStream.call(this); - this._buffer = ""; - this._debug = options.debug; - } - inherits(Parser, WritableStream); - Parser.prototype._write = function(chunk, encoding, cb) { - var m, code, reRmLeadCode, rest = "", debug2 = this._debug; - this._buffer += chunk.toString("binary"); - while (m = RE_RES_END.exec(this._buffer)) { - rest = this._buffer.substring(m.index + m[0].length); - if (rest.length) - this._buffer = this._buffer.substring(0, m.index + m[0].length); - debug2 && debug2("[parser] < " + inspect(this._buffer)); - code = parseInt(m[1], 10); - reRmLeadCode = "(^|\\r?\\n)"; - reRmLeadCode += m[1]; - reRmLeadCode += "(?: |\\-)"; - reRmLeadCode = new RegExp(reRmLeadCode, "g"); - var text = this._buffer.replace(reRmLeadCode, "$1").trim(); - this._buffer = rest; - debug2 && debug2("[parser] Response: code=" + code + ", buffer=" + inspect(text)); - this.emit("response", code, text); - } - cb(); - }; - Parser.parseFeat = function(text) { - var lines = text.split(RE_EOL); - lines.shift(); - lines.pop(); - for (var i = 0, len = lines.length; i < len; ++i) - lines[i] = lines[i].trim(); - return lines; - }; - Parser.parseListEntry = function(line) { - var ret, info, month, day, year, hour, mins; - if (ret = XRegExp.exec(line, REX_LISTUNIX)) { - info = { - type: ret.type, - name: void 0, - target: void 0, - sticky: false, - rights: { - user: ret.permission.substr(0, 3).replace(RE_DASH, ""), - group: ret.permission.substr(3, 3).replace(RE_DASH, ""), - other: ret.permission.substr(6, 3).replace(RE_DASH, "") - }, - acl: ret.acl === "+", - owner: ret.owner, - group: ret.group, - size: parseInt(ret.size, 10), - date: void 0 - }; - var lastbit = info.rights.other.slice(-1); - if (lastbit === "t") { - info.rights.other = info.rights.other.slice(0, -1) + "x"; - info.sticky = true; - } else if (lastbit === "T") { - info.rights.other = info.rights.other.slice(0, -1); - info.sticky = true; - } - if (ret.month1 !== void 0) { - month = parseInt(MONTHS[ret.month1.toLowerCase()], 10); - day = parseInt(ret.date1, 10); - year = new Date().getFullYear(); - hour = parseInt(ret.hour, 10); - mins = parseInt(ret.minute, 10); - if (month < 10) - month = "0" + month; - if (day < 10) - day = "0" + day; - if (hour < 10) - hour = "0" + hour; - if (mins < 10) - mins = "0" + mins; - info.date = new Date(year + "-" + month + "-" + day + "T" + hour + ":" + mins); - if (info.date.getTime() - Date.now() > 1008e5) { - info.date = new Date(year - 1 + "-" + month + "-" + day + "T" + hour + ":" + mins); - } - if (Date.now() - info.date.getTime() > 160704e5) { - info.date = new Date(year + 1 + "-" + month + "-" + day + "T" + hour + ":" + mins); - } - } else if (ret.month2 !== void 0) { - month = parseInt(MONTHS[ret.month2.toLowerCase()], 10); - day = parseInt(ret.date2, 10); - year = parseInt(ret.year, 10); - if (month < 10) - month = "0" + month; - if (day < 10) - day = "0" + day; - info.date = new Date(year + "-" + month + "-" + day); - } - if (ret.type === "l") { - var pos = ret.name.indexOf(" -> "); - info.name = ret.name.substring(0, pos); - info.target = ret.name.substring(pos + 4); - } else - info.name = ret.name; - ret = info; - } else if (ret = XRegExp.exec(line, REX_LISTMSDOS)) { - info = { - name: ret.name, - type: ret.isdir ? "d" : "-", - size: ret.isdir ? 0 : parseInt(ret.size, 10), - date: void 0 - }; - month = parseInt(ret.month, 10), day = parseInt(ret.date, 10), year = parseInt(ret.year, 10), hour = parseInt(ret.hour, 10), mins = parseInt(ret.minute, 10); - if (year < 70) - year += 2e3; - else - year += 1900; - if (ret.ampm[0].toLowerCase() === "p" && hour < 12) - hour += 12; - else if (ret.ampm[0].toLowerCase() === "a" && hour === 12) - hour = 0; - info.date = new Date(year, month - 1, day, hour, mins); - ret = info; - } else if (!RE_ENTRY_TOTAL.test(line)) - ret = line; - return ret; - }; - module2.exports = Parser; - } -}); - -// .yarn/cache/ftp-npm-0.3.10-348fb9ac23-f6e077bde1.zip/node_modules/ftp/lib/connection.js -var require_connection = __commonJS({ - ".yarn/cache/ftp-npm-0.3.10-348fb9ac23-f6e077bde1.zip/node_modules/ftp/lib/connection.js"(exports, module2) { - var fs6 = require("fs"); - var tls = require("tls"); - var zlib = require("zlib"); - var Socket = require("net").Socket; - var EventEmitter = require("events").EventEmitter; - var inherits = require("util").inherits; - var inspect = require("util").inspect; - var Parser = require_parser(); - var XRegExp = require_xregexp_all().XRegExp; - var REX_TIMEVAL = XRegExp.cache("^(?\\d{4})(?\\d{2})(?\\d{2})(?\\d{2})(?\\d{2})(?\\d+)(?:.\\d+)?$"); - var RE_PASV = /([\d]+),([\d]+),([\d]+),([\d]+),([-\d]+),([-\d]+)/; - var RE_EOL = /\r?\n/g; - var RE_WD = /"(.+)"(?: |$)/; - var RE_SYST = /^([^ ]+)(?: |$)/; - var RETVAL = { - PRELIM: 1, - OK: 2, - WAITING: 3, - ERR_TEMP: 4, - ERR_PERM: 5 - }; - var bytesNOOP = new Buffer("NOOP\r\n"); - var FTP = module2.exports = function() { - if (!(this instanceof FTP)) - return new FTP(); - this._socket = void 0; - this._pasvSock = void 0; - this._feat = void 0; - this._curReq = void 0; - this._queue = []; - this._secstate = void 0; - this._debug = void 0; - this._keepalive = void 0; - this._ending = false; - this._parser = void 0; - this.options = { - host: void 0, - port: void 0, - user: void 0, - password: void 0, - secure: false, - secureOptions: void 0, - connTimeout: void 0, - pasvTimeout: void 0, - aliveTimeout: void 0 - }; - this.connected = false; - }; - inherits(FTP, EventEmitter); - FTP.prototype.connect = function(options) { - var self2 = this; - if (typeof options !== "object") - options = {}; - this.connected = false; - this.options.host = options.host || "localhost"; - this.options.port = options.port || 21; - this.options.user = options.user || "anonymous"; - this.options.password = options.password || "anonymous@"; - this.options.secure = options.secure || false; - this.options.secureOptions = options.secureOptions; - this.options.connTimeout = options.connTimeout || 1e4; - this.options.pasvTimeout = options.pasvTimeout || 1e4; - this.options.aliveTimeout = options.keepalive || 1e4; - if (typeof options.debug === "function") - this._debug = options.debug; - var secureOptions, debug2 = this._debug, socket = new Socket(); - socket.setTimeout(0); - socket.setKeepAlive(true); - this._parser = new Parser({ debug: debug2 }); - this._parser.on("response", function(code, text) { - var retval = code / 100 >> 0; - if (retval === RETVAL.ERR_TEMP || retval === RETVAL.ERR_PERM) { - if (self2._curReq) - self2._curReq.cb(makeError(code, text), void 0, code); - else - self2.emit("error", makeError(code, text)); - } else if (self2._curReq) - self2._curReq.cb(void 0, text, code); - if (self2._curReq && retval !== RETVAL.PRELIM) { - self2._curReq = void 0; - self2._send(); - } - noopreq.cb(); - }); - if (this.options.secure) { - secureOptions = {}; - secureOptions.host = this.options.host; - for (var k in this.options.secureOptions) - secureOptions[k] = this.options.secureOptions[k]; - secureOptions.socket = socket; - this.options.secureOptions = secureOptions; - } - if (this.options.secure === "implicit") - this._socket = tls.connect(secureOptions, onconnect); - else { - socket.once("connect", onconnect); - this._socket = socket; - } - var noopreq = { - cmd: "NOOP", - cb: function() { - clearTimeout(self2._keepalive); - self2._keepalive = setTimeout(donoop, self2.options.aliveTimeout); - } - }; - function donoop() { - if (!self2._socket || !self2._socket.writable) - clearTimeout(self2._keepalive); - else if (!self2._curReq && self2._queue.length === 0) { - self2._curReq = noopreq; - debug2 && debug2("[connection] > NOOP"); - self2._socket.write(bytesNOOP); - } else - noopreq.cb(); - } - function onconnect() { - clearTimeout(timer); - clearTimeout(self2._keepalive); - self2.connected = true; - self2._socket = socket; - var cmd; - if (self2._secstate) { - if (self2._secstate === "upgraded-tls" && self2.options.secure === true) { - cmd = "PBSZ"; - self2._send("PBSZ 0", reentry, true); - } else { - cmd = "USER"; - self2._send("USER " + self2.options.user, reentry, true); - } - } else { - self2._curReq = { - cmd: "", - cb: reentry - }; - } - function reentry(err, text, code) { - if (err && (!cmd || cmd === "USER" || cmd === "PASS" || cmd === "TYPE")) { - self2.emit("error", err); - return self2._socket && self2._socket.end(); - } - if (cmd === "AUTH TLS" && code !== 234 && self2.options.secure !== true || cmd === "AUTH SSL" && code !== 334 || cmd === "PBSZ" && code !== 200 || cmd === "PROT" && code !== 200) { - self2.emit("error", makeError(code, "Unable to secure connection(s)")); - return self2._socket && self2._socket.end(); - } - if (!cmd) { - self2.emit("greeting", text); - if (self2.options.secure && self2.options.secure !== "implicit") { - cmd = "AUTH TLS"; - self2._send(cmd, reentry, true); - } else { - cmd = "USER"; - self2._send("USER " + self2.options.user, reentry, true); - } - } else if (cmd === "USER") { - if (code !== 230) { - if (!self2.options.password) { - self2.emit("error", makeError(code, "Password required")); - return self2._socket && self2._socket.end(); - } - cmd = "PASS"; - self2._send("PASS " + self2.options.password, reentry, true); - } else { - cmd = "PASS"; - reentry(void 0, text, code); - } - } else if (cmd === "PASS") { - cmd = "FEAT"; - self2._send(cmd, reentry, true); - } else if (cmd === "FEAT") { - if (!err) - self2._feat = Parser.parseFeat(text); - cmd = "TYPE"; - self2._send("TYPE I", reentry, true); - } else if (cmd === "TYPE") - self2.emit("ready"); - else if (cmd === "PBSZ") { - cmd = "PROT"; - self2._send("PROT P", reentry, true); - } else if (cmd === "PROT") { - cmd = "USER"; - self2._send("USER " + self2.options.user, reentry, true); - } else if (cmd.substr(0, 4) === "AUTH") { - if (cmd === "AUTH TLS" && code !== 234) { - cmd = "AUTH SSL"; - return self2._send(cmd, reentry, true); - } else if (cmd === "AUTH TLS") - self2._secstate = "upgraded-tls"; - else if (cmd === "AUTH SSL") - self2._secstate = "upgraded-ssl"; - socket.removeAllListeners("data"); - socket.removeAllListeners("error"); - socket._decoder = null; - self2._curReq = null; - secureOptions.socket = self2._socket; - secureOptions.session = void 0; - socket = tls.connect(secureOptions, onconnect); - socket.setEncoding("binary"); - socket.on("data", ondata); - socket.once("end", onend); - socket.on("error", onerror); - } - } - } - socket.on("data", ondata); - function ondata(chunk) { - debug2 && debug2("[connection] < " + inspect(chunk.toString("binary"))); - if (self2._parser) - self2._parser.write(chunk); - } - socket.on("error", onerror); - function onerror(err) { - clearTimeout(timer); - clearTimeout(self2._keepalive); - self2.emit("error", err); - } - socket.once("end", onend); - function onend() { - ondone(); - self2.emit("end"); - } - socket.once("close", function(had_err) { - ondone(); - self2.emit("close", had_err); - }); - var hasReset = false; - function ondone() { - if (!hasReset) { - hasReset = true; - clearTimeout(timer); - self2._reset(); - } - } - var timer = setTimeout(function() { - self2.emit("error", new Error("Timeout while connecting to server")); - self2._socket && self2._socket.destroy(); - self2._reset(); - }, this.options.connTimeout); - this._socket.connect(this.options.port, this.options.host); - }; - FTP.prototype.end = function() { - if (this._queue.length) - this._ending = true; - else - this._reset(); - }; - FTP.prototype.destroy = function() { - this._reset(); - }; - FTP.prototype.ascii = function(cb) { - return this._send("TYPE A", cb); - }; - FTP.prototype.binary = function(cb) { - return this._send("TYPE I", cb); - }; - FTP.prototype.abort = function(immediate, cb) { - if (typeof immediate === "function") { - cb = immediate; - immediate = true; - } - if (immediate) - this._send("ABOR", cb, true); - else - this._send("ABOR", cb); - }; - FTP.prototype.cwd = function(path9, cb, promote) { - this._send("CWD " + path9, function(err, text, code) { - if (err) - return cb(err); - var m = RE_WD.exec(text); - cb(void 0, m ? m[1] : void 0); - }, promote); - }; - FTP.prototype.delete = function(path9, cb) { - this._send("DELE " + path9, cb); - }; - FTP.prototype.site = function(cmd, cb) { - this._send("SITE " + cmd, cb); - }; - FTP.prototype.status = function(cb) { - this._send("STAT", cb); - }; - FTP.prototype.rename = function(from, to, cb) { - var self2 = this; - this._send("RNFR " + from, function(err) { - if (err) - return cb(err); - self2._send("RNTO " + to, cb, true); - }); - }; - FTP.prototype.logout = function(cb) { - this._send("QUIT", cb); - }; - FTP.prototype.listSafe = function(path9, zcomp, cb) { - if (typeof path9 === "string") { - var self2 = this; - this.pwd(function(err, origpath) { - if (err) - return cb(err); - self2.cwd(path9, function(err2) { - if (err2) - return cb(err2); - self2.list(zcomp || false, function(err3, list) { - if (err3) - return self2.cwd(origpath, cb); - self2.cwd(origpath, function(err4) { - if (err4) - return cb(err4); - cb(err4, list); - }); - }); - }); - }); - } else - this.list(path9, zcomp, cb); - }; - FTP.prototype.list = function(path9, zcomp, cb) { - var self2 = this, cmd; - if (typeof path9 === "function") { - cb = path9; - path9 = void 0; - cmd = "LIST"; - zcomp = false; - } else if (typeof path9 === "boolean") { - cb = zcomp; - zcomp = path9; - path9 = void 0; - cmd = "LIST"; - } else if (typeof zcomp === "function") { - cb = zcomp; - cmd = "LIST " + path9; - zcomp = false; - } else - cmd = "LIST " + path9; - this._pasv(function(err, sock) { - if (err) - return cb(err); - if (self2._queue[0] && self2._queue[0].cmd === "ABOR") { - sock.destroy(); - return cb(); - } - var sockerr, done = false, replies = 0, entries, buffer = "", source = sock; - if (zcomp) { - source = zlib.createInflate(); - sock.pipe(source); - } - source.on("data", function(chunk) { - buffer += chunk.toString("binary"); - }); - source.once("error", function(err2) { - if (!sock.aborting) - sockerr = err2; - }); - source.once("end", ondone); - source.once("close", ondone); - function ondone() { - done = true; - final(); - } - function final() { - if (done && replies === 2) { - replies = 3; - if (sockerr) - return cb(new Error("Unexpected data connection error: " + sockerr)); - if (sock.aborting) - return cb(); - entries = buffer.split(RE_EOL); - entries.pop(); - var parsed = []; - for (var i = 0, len = entries.length; i < len; ++i) { - var parsedVal = Parser.parseListEntry(entries[i]); - if (parsedVal !== null) - parsed.push(parsedVal); - } - if (zcomp) { - self2._send("MODE S", function() { - cb(void 0, parsed); - }, true); - } else - cb(void 0, parsed); - } - } - if (zcomp) { - self2._send("MODE Z", function(err2, text, code) { - if (err2) { - sock.destroy(); - return cb(makeError(code, "Compression not supported")); - } - sendList(); - }, true); - } else - sendList(); - function sendList() { - self2._send(cmd, function(err2, text, code) { - if (err2) { - sock.destroy(); - if (zcomp) { - self2._send("MODE S", function() { - cb(err2); - }, true); - } else - cb(err2); - return; - } - if (++replies === 1 && code === 226) { - replies = 2; - sock.destroy(); - final(); - } else if (replies === 2) - final(); - }, true); - } - }); - }; - FTP.prototype.get = function(path9, zcomp, cb) { - var self2 = this; - if (typeof zcomp === "function") { - cb = zcomp; - zcomp = false; - } - this._pasv(function(err, sock) { - if (err) - return cb(err); - if (self2._queue[0] && self2._queue[0].cmd === "ABOR") { - sock.destroy(); - return cb(); - } - var sockerr, started = false, lastreply = false, done = false, source = sock; - if (zcomp) { - source = zlib.createInflate(); - sock.pipe(source); - sock._emit = sock.emit; - sock.emit = function(ev, arg1) { - if (ev === "error") { - if (!sockerr) - sockerr = arg1; - return; - } - sock._emit.apply(sock, Array.prototype.slice.call(arguments)); - }; - } - source._emit = source.emit; - source.emit = function(ev, arg1) { - if (ev === "error") { - if (!sockerr) - sockerr = arg1; - return; - } else if (ev === "end" || ev === "close") { - if (!done) { - done = true; - ondone(); - } - return; - } - source._emit.apply(source, Array.prototype.slice.call(arguments)); - }; - function ondone() { - if (done && lastreply) { - self2._send("MODE S", function() { - source._emit("end"); - source._emit("close"); - }, true); - } - } - sock.pause(); - if (zcomp) { - self2._send("MODE Z", function(err2, text, code) { - if (err2) { - sock.destroy(); - return cb(makeError(code, "Compression not supported")); - } - sendRetr(); - }, true); - } else - sendRetr(); - function sendRetr() { - self2._send("RETR " + path9, function(err2, text, code) { - if (sockerr || err2) { - sock.destroy(); - if (!started) { - if (zcomp) { - self2._send("MODE S", function() { - cb(sockerr || err2); - }, true); - } else - cb(sockerr || err2); - } else { - source._emit("error", sockerr || err2); - source._emit("close", true); - } - return; - } - if (code === 150 || code === 125) { - started = true; - cb(void 0, source); - sock.resume(); - } else { - lastreply = true; - ondone(); - } - }, true); - } - }); - }; - FTP.prototype.put = function(input, path9, zcomp, cb) { - this._store("STOR " + path9, input, zcomp, cb); - }; - FTP.prototype.append = function(input, path9, zcomp, cb) { - this._store("APPE " + path9, input, zcomp, cb); - }; - FTP.prototype.pwd = function(cb) { - var self2 = this; - this._send("PWD", function(err, text, code) { - if (code === 502) { - return self2.cwd(".", function(cwderr, cwd) { - if (cwderr) - return cb(cwderr); - if (cwd === void 0) - cb(err); - else - cb(void 0, cwd); - }, true); - } else if (err) - return cb(err); - cb(void 0, RE_WD.exec(text)[1]); - }); - }; - FTP.prototype.cdup = function(cb) { - var self2 = this; - this._send("CDUP", function(err, text, code) { - if (code === 502) - self2.cwd("..", cb, true); - else - cb(err); - }); - }; - FTP.prototype.mkdir = function(path9, recursive, cb) { - if (typeof recursive === "function") { - cb = recursive; - recursive = false; - } - if (!recursive) - this._send("MKD " + path9, cb); - else { - var self2 = this, owd, abs, dirs, dirslen, i = -1, searching = true; - abs = path9[0] === "/"; - var nextDir = function() { - if (++i === dirslen) { - return self2._send("CWD " + owd, cb, true); - } - if (searching) { - self2._send("CWD " + dirs[i], function(err, text, code) { - if (code === 550) { - searching = false; - --i; - } else if (err) { - return self2._send("CWD " + owd, function() { - cb(err); - }, true); - } - nextDir(); - }, true); - } else { - self2._send("MKD " + dirs[i], function(err, text, code) { - if (err) { - return self2._send("CWD " + owd, function() { - cb(err); - }, true); - } - self2._send("CWD " + dirs[i], nextDir, true); - }, true); - } - }; - this.pwd(function(err, cwd) { - if (err) - return cb(err); - owd = cwd; - if (abs) - path9 = path9.substr(1); - if (path9[path9.length - 1] === "/") - path9 = path9.substring(0, path9.length - 1); - dirs = path9.split("/"); - dirslen = dirs.length; - if (abs) - self2._send("CWD /", function(err2) { - if (err2) - return cb(err2); - nextDir(); - }, true); - else - nextDir(); - }); - } - }; - FTP.prototype.rmdir = function(path9, recursive, cb) { - if (typeof recursive === "function") { - cb = recursive; - recursive = false; - } - if (!recursive) { - return this._send("RMD " + path9, cb); - } - var self2 = this; - this.list(path9, function(err, list) { - if (err) - return cb(err); - var idx = 0; - var deleteNextEntry; - deleteNextEntry = function(err2) { - if (err2) - return cb(err2); - if (idx >= list.length) { - if (list[0] && list[0].name === path9) { - return cb(null); - } else { - return self2.rmdir(path9, cb); - } - } - var entry = list[idx++]; - var subpath = null; - if (entry.name[0] === "/") { - subpath = entry.name; - } else { - if (path9[path9.length - 1] == "/") { - subpath = path9 + entry.name; - } else { - subpath = path9 + "/" + entry.name; - } - } - if (entry.type === "d") { - if (entry.name === "." || entry.name === "..") { - return deleteNextEntry(); - } - self2.rmdir(subpath, true, deleteNextEntry); - } else { - self2.delete(subpath, deleteNextEntry); - } - }; - deleteNextEntry(); - }); - }; - FTP.prototype.system = function(cb) { - this._send("SYST", function(err, text) { - if (err) - return cb(err); - cb(void 0, RE_SYST.exec(text)[1]); - }); - }; - FTP.prototype.size = function(path9, cb) { - var self2 = this; - this._send("SIZE " + path9, function(err, text, code) { - if (code === 502) { - return self2.list(path9, function(err2, list) { - if (err2) - return cb(err2); - if (list.length === 1) - cb(void 0, list[0].size); - else { - cb(new Error("File not found")); - } - }, true); - } else if (err) - return cb(err); - cb(void 0, parseInt(text, 10)); - }); - }; - FTP.prototype.lastMod = function(path9, cb) { - var self2 = this; - this._send("MDTM " + path9, function(err, text, code) { - if (code === 502) { - return self2.list(path9, function(err2, list) { - if (err2) - return cb(err2); - if (list.length === 1) - cb(void 0, list[0].date); - else - cb(new Error("File not found")); - }, true); - } else if (err) - return cb(err); - var val = XRegExp.exec(text, REX_TIMEVAL), ret; - if (!val) - return cb(new Error("Invalid date/time format from server")); - ret = new Date(val.year + "-" + val.month + "-" + val.date + "T" + val.hour + ":" + val.minute + ":" + val.second); - cb(void 0, ret); - }); - }; - FTP.prototype.restart = function(offset, cb) { - this._send("REST " + offset, cb); - }; - FTP.prototype._pasv = function(cb) { - var self2 = this, first = true, ip, port; - this._send("PASV", function reentry(err, text) { - if (err) - return cb(err); - self2._curReq = void 0; - if (first) { - var m = RE_PASV.exec(text); - if (!m) - return cb(new Error("Unable to parse PASV server response")); - ip = m[1]; - ip += "."; - ip += m[2]; - ip += "."; - ip += m[3]; - ip += "."; - ip += m[4]; - port = parseInt(m[5], 10) * 256 + parseInt(m[6], 10); - first = false; - } - self2._pasvConnect(ip, port, function(err2, sock) { - if (err2) { - if (self2._socket && ip !== self2._socket.remoteAddress) { - ip = self2._socket.remoteAddress; - return reentry(); - } - self2._send("ABOR", function() { - cb(err2); - self2._send(); - }, true); - return; - } - cb(void 0, sock); - self2._send(); - }); - }); - }; - FTP.prototype._pasvConnect = function(ip, port, cb) { - var self2 = this, socket = new Socket(), sockerr, timedOut = false, timer = setTimeout(function() { - timedOut = true; - socket.destroy(); - cb(new Error("Timed out while making data connection")); - }, this.options.pasvTimeout); - socket.setTimeout(0); - socket.once("connect", function() { - self2._debug && self2._debug("[connection] PASV socket connected"); - if (self2.options.secure === true) { - self2.options.secureOptions.socket = socket; - self2.options.secureOptions.session = self2._socket.getSession(); - socket = tls.connect(self2.options.secureOptions); - socket.setTimeout(0); - } - clearTimeout(timer); - self2._pasvSocket = socket; - cb(void 0, socket); - }); - socket.once("error", onerror); - function onerror(err) { - sockerr = err; - } - socket.once("end", function() { - clearTimeout(timer); - }); - socket.once("close", function(had_err) { - clearTimeout(timer); - if (!self2._pasvSocket && !timedOut) { - var errmsg = "Unable to make data connection"; - if (sockerr) { - errmsg += "( " + sockerr + ")"; - sockerr = void 0; - } - cb(new Error(errmsg)); - } - self2._pasvSocket = void 0; - }); - socket.connect(port, ip); - }; - FTP.prototype._store = function(cmd, input, zcomp, cb) { - var isBuffer = Buffer.isBuffer(input); - if (!isBuffer && input.pause !== void 0) - input.pause(); - if (typeof zcomp === "function") { - cb = zcomp; - zcomp = false; - } - var self2 = this; - this._pasv(function(err, sock) { - if (err) - return cb(err); - if (self2._queue[0] && self2._queue[0].cmd === "ABOR") { - sock.destroy(); - return cb(); - } - var sockerr, dest = sock; - sock.once("error", function(err2) { - sockerr = err2; - }); - if (zcomp) { - self2._send("MODE Z", function(err2, text, code) { - if (err2) { - sock.destroy(); - return cb(makeError(code, "Compression not supported")); - } - dest = zlib.createDeflate({ level: 8 }); - dest.pipe(sock); - sendStore(); - }, true); - } else - sendStore(); - function sendStore() { - self2._send(cmd, function(err2, text, code) { - if (sockerr || err2) { - if (zcomp) { - self2._send("MODE S", function() { - cb(sockerr || err2); - }, true); - } else - cb(sockerr || err2); - return; - } - if (code === 150 || code === 125) { - if (isBuffer) - dest.end(input); - else if (typeof input === "string") { - fs6.stat(input, function(err3, stats) { - if (err3) - dest.end(input); - else - fs6.createReadStream(input).pipe(dest); - }); - } else { - input.pipe(dest); - input.resume(); - } - } else { - if (zcomp) - self2._send("MODE S", cb, true); - else - cb(); - } - }, true); - } - }); - }; - FTP.prototype._send = function(cmd, cb, promote) { - clearTimeout(this._keepalive); - if (cmd !== void 0) { - if (promote) - this._queue.unshift({ cmd, cb }); - else - this._queue.push({ cmd, cb }); - } - var queueLen = this._queue.length; - if (!this._curReq && queueLen && this._socket && this._socket.readable) { - this._curReq = this._queue.shift(); - if (this._curReq.cmd === "ABOR" && this._pasvSocket) - this._pasvSocket.aborting = true; - this._debug && this._debug("[connection] > " + inspect(this._curReq.cmd)); - this._socket.write(this._curReq.cmd + "\r\n"); - } else if (!this._curReq && !queueLen && this._ending) - this._reset(); - }; - FTP.prototype._reset = function() { - if (this._pasvSock && this._pasvSock.writable) - this._pasvSock.end(); - if (this._socket && this._socket.writable) - this._socket.end(); - this._socket = void 0; - this._pasvSock = void 0; - this._feat = void 0; - this._curReq = void 0; - this._secstate = void 0; - clearTimeout(this._keepalive); - this._keepalive = void 0; - this._queue = []; - this._ending = false; - this._parser = void 0; - this.options.host = this.options.port = this.options.user = this.options.password = this.options.secure = this.options.connTimeout = this.options.pasvTimeout = this.options.keepalive = this._debug = void 0; - this.connected = false; - }; - function makeError(code, text) { - var err = new Error(text); - err.code = code; - return err; - } - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/ftp.js -var require_ftp = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/ftp.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var once_1 = __importDefault2(require_dist()); - var ftp_1 = __importDefault2(require_connection()); - var path_1 = require("path"); - var debug_1 = __importDefault2(require_src2()); - var notfound_1 = __importDefault2(require_notfound()); - var notmodified_1 = __importDefault2(require_notmodified()); - var debug2 = debug_1.default("get-uri:ftp"); - function get(parsed, opts) { - return __awaiter2(this, void 0, void 0, function* () { - const { cache } = opts; - const filepath = parsed.pathname; - let lastModified = null; - if (!filepath) { - throw new TypeError('No "pathname"!'); - } - const client = new ftp_1.default(); - client.once("greeting", (greeting) => { - debug2("FTP greeting: %o", greeting); - }); - function onend() { - client.end(); - } - try { - opts.host = parsed.hostname || parsed.host || "localhost"; - opts.port = parseInt(parsed.port || "0", 10) || 21; - opts.debug = debug2; - if (parsed.auth) { - const [user, password] = parsed.auth.split(":"); - opts.user = user; - opts.password = password; - } - const readyPromise = once_1.default(client, "ready"); - client.connect(opts); - yield readyPromise; - try { - lastModified = yield new Promise((resolve, reject) => { - client.lastMod(filepath, (err, res) => { - return err ? reject(err) : resolve(res); - }); - }); - } catch (err) { - if (err.code === 550) { - throw new notfound_1.default(); - } - } - if (!lastModified) { - const list = yield new Promise((resolve, reject) => { - client.list(path_1.dirname(filepath), (err, res) => { - return err ? reject(err) : resolve(res); - }); - }); - const name = path_1.basename(filepath); - const entry = list.find((e) => e.name === name); - if (entry) { - lastModified = entry.date; - } - } - if (lastModified) { - if (isNotModified()) { - throw new notmodified_1.default(); - } - } else { - throw new notfound_1.default(); - } - const rs = yield new Promise((resolve, reject) => { - client.get(filepath, (err, res) => { - return err ? reject(err) : resolve(res); - }); - }); - rs.once("end", onend); - rs.lastModified = lastModified; - return rs; - } catch (err) { - client.destroy(); - throw err; - } - function isNotModified() { - if (cache && cache.lastModified && lastModified) { - return +cache.lastModified === +lastModified; - } - return false; - } - }); - } - exports.default = get; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/http-error.js -var require_http_error = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/http-error.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var http_1 = require("http"); - var HTTPError = class extends Error { - constructor(statusCode, message = http_1.STATUS_CODES[statusCode]) { - super(message); - Object.setPrototypeOf(this, new.target.prototype); - this.statusCode = statusCode; - this.code = `E${String(message).toUpperCase().replace(/\s+/g, "")}`; - } - }; - exports.default = HTTPError; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/http.js -var require_http = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/http.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var http_1 = __importDefault2(require("http")); - var https_1 = __importDefault2(require("https")); - var once_1 = __importDefault2(require_dist()); - var debug_1 = __importDefault2(require_src2()); - var url_1 = require("url"); - var http_error_1 = __importDefault2(require_http_error()); - var notfound_1 = __importDefault2(require_notfound()); - var notmodified_1 = __importDefault2(require_notmodified()); - var debug2 = debug_1.default("get-uri:http"); - function get(parsed, opts) { - return __awaiter2(this, void 0, void 0, function* () { - debug2("GET %o", parsed.href); - const cache = getCache(parsed, opts.cache); - if (cache && isFresh(cache) && typeof cache.statusCode === "number") { - const type2 = cache.statusCode / 100 | 0; - if (type2 === 3 && cache.headers.location) { - debug2("cached redirect"); - throw new Error("TODO: implement cached redirects!"); - } - throw new notmodified_1.default(); - } - const maxRedirects = typeof opts.maxRedirects === "number" ? opts.maxRedirects : 5; - debug2("allowing %o max redirects", maxRedirects); - let mod; - if (opts.http) { - mod = opts.http; - debug2("using secure `https` core module"); - } else { - mod = http_1.default; - debug2("using `http` core module"); - } - const options = Object.assign(Object.assign({}, opts), parsed); - if (cache) { - if (!options.headers) { - options.headers = {}; - } - const lastModified = cache.headers["last-modified"]; - if (lastModified) { - options.headers["If-Modified-Since"] = lastModified; - debug2('added "If-Modified-Since" request header: %o', lastModified); - } - const etag = cache.headers.etag; - if (etag) { - options.headers["If-None-Match"] = etag; - debug2('added "If-None-Match" request header: %o', etag); - } - } - const req = mod.get(options); - const res = yield once_1.default(req, "response"); - const code = res.statusCode || 0; - res.date = Date.now(); - res.parsed = parsed; - debug2("got %o response status code", code); - let type = code / 100 | 0; - let location = res.headers.location; - if (type === 3 && location) { - if (!opts.redirects) - opts.redirects = []; - let redirects = opts.redirects; - if (redirects.length < maxRedirects) { - debug2('got a "redirect" status code with Location: %o', location); - res.resume(); - redirects.push(res); - let newUri = url_1.resolve(parsed.href, location); - debug2("resolved redirect URL: %o", newUri); - let left = maxRedirects - redirects.length; - debug2("%o more redirects allowed after this one", left); - let parsedUrl = url_1.parse(newUri); - if (parsedUrl.protocol !== parsed.protocol) { - opts.http = parsedUrl.protocol === "https:" ? https_1.default : void 0; - } - return get(parsedUrl, opts); - } - } - if (type !== 2) { - res.resume(); - if (code === 304) { - throw new notmodified_1.default(); - } else if (code === 404) { - throw new notfound_1.default(); - } - throw new http_error_1.default(code); - } - if (opts.redirects) { - res.redirects = opts.redirects; - } - return res; - }); - } - exports.default = get; - function isFresh(cache) { - let fresh = false; - let expires = parseInt(cache.headers.expires || "", 10); - const cacheControl = cache.headers["cache-control"]; - if (cacheControl) { - debug2("Cache-Control: %o", cacheControl); - const parts = cacheControl.split(/,\s*?\b/); - for (let i = 0; i < parts.length; i++) { - const part = parts[i]; - const subparts = part.split("="); - const name = subparts[0]; - switch (name) { - case "max-age": - expires = (cache.date || 0) + parseInt(subparts[1], 10) * 1e3; - fresh = Date.now() < expires; - if (fresh) { - debug2('cache is "fresh" due to previous %o Cache-Control param', part); - } - return fresh; - case "must-revalidate": - break; - case "no-cache": - case "no-store": - debug2('cache is "stale" due to explicit %o Cache-Control param', name); - return false; - default: - break; - } - } - } else if (expires) { - debug2("Expires: %o", expires); - fresh = Date.now() < expires; - if (fresh) { - debug2('cache is "fresh" due to previous Expires response header'); - } - return fresh; - } - return false; - } - function getCache(parsed, cache) { - if (cache) { - if (cache.parsed && cache.parsed.href === parsed.href) { - return cache; - } - if (cache.redirects) { - for (let i = 0; i < cache.redirects.length; i++) { - const c = getCache(parsed, cache.redirects[i]); - if (c) { - return c; - } - } - } - } - return null; - } - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/https.js -var require_https = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/https.js"(exports) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var https_1 = __importDefault2(require("https")); - var http_1 = __importDefault2(require_http()); - function get(parsed, opts) { - return http_1.default(parsed, Object.assign(Object.assign({}, opts), { http: https_1.default })); - } - exports.default = get; - } -}); - -// .yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/index.js -var require_dist2 = __commonJS({ - ".yarn/cache/get-uri-npm-3.0.2-53176650ff-be009d579f.zip/node_modules/get-uri/dist/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var debug_1 = __importDefault2(require_src2()); - var url_1 = require("url"); - var data_1 = __importDefault2(require_data()); - var file_1 = __importDefault2(require_file2()); - var ftp_1 = __importDefault2(require_ftp()); - var http_1 = __importDefault2(require_http()); - var https_1 = __importDefault2(require_https()); - var debug2 = debug_1.default("get-uri"); - function getUri(uri, opts, fn2) { - const p = new Promise((resolve, reject) => { - debug2("getUri(%o)", uri); - if (typeof opts === "function") { - fn2 = opts; - opts = void 0; - } - if (!uri) { - reject(new TypeError('Must pass in a URI to "get"')); - return; - } - const parsed = url_1.parse(uri); - const protocol = (parsed.protocol || "").replace(/:$/, ""); - if (!protocol) { - reject(new TypeError(`URI does not contain a protocol: ${uri}`)); - return; - } - const getter = getUri.protocols[protocol]; - if (typeof getter !== "function") { - throw new TypeError(`Unsupported protocol "${protocol}" specified in URI: ${uri}`); - } - resolve(getter(parsed, opts || {})); - }); - if (typeof fn2 === "function") { - p.then((rtn) => fn2(null, rtn), (err) => fn2(err)); - } else { - return p; - } - } - (function(getUri2) { - getUri2.protocols = { - data: data_1.default, - file: file_1.default, - ftp: ftp_1.default, - http: http_1.default, - https: https_1.default - }; - })(getUri || (getUri = {})); - module2.exports = getUri; - } -}); - -// .yarn/cache/bytes-npm-3.1.2-28b8643004-b9b056ed67.zip/node_modules/bytes/index.js -var require_bytes = __commonJS({ - ".yarn/cache/bytes-npm-3.1.2-28b8643004-b9b056ed67.zip/node_modules/bytes/index.js"(exports, module2) { - "use strict"; - module2.exports = bytes; - module2.exports.format = format; - module2.exports.parse = parse; - var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; - var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; - var map = { - b: 1, - kb: 1 << 10, - mb: 1 << 20, - gb: 1 << 30, - tb: Math.pow(1024, 4), - pb: Math.pow(1024, 5) - }; - var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; - function bytes(value, options) { - if (typeof value === "string") { - return parse(value); - } - if (typeof value === "number") { - return format(value, options); - } - return null; - } - function format(value, options) { - if (!Number.isFinite(value)) { - return null; - } - var mag = Math.abs(value); - var thousandsSeparator = options && options.thousandsSeparator || ""; - var unitSeparator = options && options.unitSeparator || ""; - var decimalPlaces = options && options.decimalPlaces !== void 0 ? options.decimalPlaces : 2; - var fixedDecimals = Boolean(options && options.fixedDecimals); - var unit = options && options.unit || ""; - if (!unit || !map[unit.toLowerCase()]) { - if (mag >= map.pb) { - unit = "PB"; - } else if (mag >= map.tb) { - unit = "TB"; - } else if (mag >= map.gb) { - unit = "GB"; - } else if (mag >= map.mb) { - unit = "MB"; - } else if (mag >= map.kb) { - unit = "KB"; - } else { - unit = "B"; - } - } - var val = value / map[unit.toLowerCase()]; - var str = val.toFixed(decimalPlaces); - if (!fixedDecimals) { - str = str.replace(formatDecimalsRegExp, "$1"); - } - if (thousandsSeparator) { - str = str.split(".").map(function(s, i) { - return i === 0 ? s.replace(formatThousandsRegExp, thousandsSeparator) : s; - }).join("."); - } - return str + unitSeparator + unit; - } - function parse(val) { - if (typeof val === "number" && !isNaN(val)) { - return val; - } - if (typeof val !== "string") { - return null; - } - var results = parseRegExp.exec(val); - var floatValue; - var unit = "b"; - if (!results) { - floatValue = parseInt(val, 10); - unit = "b"; - } else { - floatValue = parseFloat(results[1]); - unit = results[4].toLowerCase(); - } - if (isNaN(floatValue)) { - return null; - } - return Math.floor(map[unit] * floatValue); - } - } -}); - -// .yarn/cache/depd-npm-2.0.0-b6c51a4b43-170e90bfa9.zip/node_modules/depd/index.js -var require_depd = __commonJS({ - ".yarn/cache/depd-npm-2.0.0-b6c51a4b43-170e90bfa9.zip/node_modules/depd/index.js"(exports, module2) { - var relative = require("path").relative; - module2.exports = depd; - var basePath = process.cwd(); - function containsNamespace(str, namespace) { - var vals = str.split(/[ ,]+/); - var ns = String(namespace).toLowerCase(); - for (var i = 0; i < vals.length; i++) { - var val = vals[i]; - if (val && (val === "*" || val.toLowerCase() === ns)) { - return true; - } - } - return false; - } - function convertDataDescriptorToAccessor(obj, prop, message) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - var value = descriptor.value; - descriptor.get = function getter() { - return value; - }; - if (descriptor.writable) { - descriptor.set = function setter(val) { - return value = val; - }; - } - delete descriptor.value; - delete descriptor.writable; - Object.defineProperty(obj, prop, descriptor); - return descriptor; - } - function createArgumentsString(arity) { - var str = ""; - for (var i = 0; i < arity; i++) { - str += ", arg" + i; - } - return str.substr(2); - } - function createStackString(stack) { - var str = this.name + ": " + this.namespace; - if (this.message) { - str += " deprecated " + this.message; - } - for (var i = 0; i < stack.length; i++) { - str += "\n at " + stack[i].toString(); - } - return str; - } - function depd(namespace) { - if (!namespace) { - throw new TypeError("argument namespace is required"); - } - var stack = getStack(); - var site = callSiteLocation(stack[1]); - var file = site[0]; - function deprecate(message) { - log2.call(deprecate, message); - } - deprecate._file = file; - deprecate._ignored = isignored(namespace); - deprecate._namespace = namespace; - deprecate._traced = istraced(namespace); - deprecate._warned = /* @__PURE__ */ Object.create(null); - deprecate.function = wrapfunction; - deprecate.property = wrapproperty; - return deprecate; - } - function eehaslisteners(emitter, type) { - var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type); - return count > 0; - } - function isignored(namespace) { - if (process.noDeprecation) { - return true; - } - var str = process.env.NO_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function istraced(namespace) { - if (process.traceDeprecation) { - return true; - } - var str = process.env.TRACE_DEPRECATION || ""; - return containsNamespace(str, namespace); - } - function log2(message, site) { - var haslisteners = eehaslisteners(process, "deprecation"); - if (!haslisteners && this._ignored) { - return; - } - var caller; - var callFile; - var callSite; - var depSite; - var i = 0; - var seen = false; - var stack = getStack(); - var file = this._file; - if (site) { - depSite = site; - callSite = callSiteLocation(stack[1]); - callSite.name = depSite.name; - file = callSite[0]; - } else { - i = 2; - depSite = callSiteLocation(stack[i]); - callSite = depSite; - } - for (; i < stack.length; i++) { - caller = callSiteLocation(stack[i]); - callFile = caller[0]; - if (callFile === file) { - seen = true; - } else if (callFile === this._file) { - file = this._file; - } else if (seen) { - break; - } - } - var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; - if (key !== void 0 && key in this._warned) { - return; - } - this._warned[key] = true; - var msg = message; - if (!msg) { - msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); - } - if (haslisteners) { - var err = DeprecationError(this._namespace, msg, stack.slice(i)); - process.emit("deprecation", err); - return; - } - var format = process.stderr.isTTY ? formatColor : formatPlain; - var output = format.call(this, msg, caller, stack.slice(i)); - process.stderr.write(output + "\n", "utf8"); - } - function callSiteLocation(callSite) { - var file = callSite.getFileName() || ""; - var line = callSite.getLineNumber(); - var colm = callSite.getColumnNumber(); - if (callSite.isEval()) { - file = callSite.getEvalOrigin() + ", " + file; - } - var site = [file, line, colm]; - site.callSite = callSite; - site.name = callSite.getFunctionName(); - return site; - } - function defaultMessage(site) { - var callSite = site.callSite; - var funcName = site.name; - if (!funcName) { - funcName = ""; - } - var context = callSite.getThis(); - var typeName = context && callSite.getTypeName(); - if (typeName === "Object") { - typeName = void 0; - } - if (typeName === "Function") { - typeName = context.name || typeName; - } - return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; - } - function formatPlain(msg, caller, stack) { - var timestamp = new Date().toUTCString(); - var formatted = timestamp + " " + this._namespace + " deprecated " + msg; - if (this._traced) { - for (var i = 0; i < stack.length; i++) { - formatted += "\n at " + stack[i].toString(); - } - return formatted; - } - if (caller) { - formatted += " at " + formatLocation(caller); - } - return formatted; - } - function formatColor(msg, caller, stack) { - var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; - if (this._traced) { - for (var i = 0; i < stack.length; i++) { - formatted += "\n \x1B[36mat " + stack[i].toString() + "\x1B[39m"; - } - return formatted; - } - if (caller) { - formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; - } - return formatted; - } - function formatLocation(callSite) { - return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; - } - function getStack() { - var limit = Error.stackTraceLimit; - var obj = {}; - var prep = Error.prepareStackTrace; - Error.prepareStackTrace = prepareObjectStackTrace; - Error.stackTraceLimit = Math.max(10, limit); - Error.captureStackTrace(obj); - var stack = obj.stack.slice(1); - Error.prepareStackTrace = prep; - Error.stackTraceLimit = limit; - return stack; - } - function prepareObjectStackTrace(obj, stack) { - return stack; - } - function wrapfunction(fn2, message) { - if (typeof fn2 !== "function") { - throw new TypeError("argument fn must be a function"); - } - var args = createArgumentsString(fn2.length); - var stack = getStack(); - var site = callSiteLocation(stack[1]); - site.name = fn2.name; - var deprecatedfn = new Function( - "fn", - "log", - "deprecate", - "message", - "site", - '"use strict"\nreturn function (' + args + ") {log.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n}" - )(fn2, log2, this, message, site); - return deprecatedfn; - } - function wrapproperty(obj, prop, message) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") { - throw new TypeError("argument obj must be object"); - } - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) { - throw new TypeError("must call property on owner object"); - } - if (!descriptor.configurable) { - throw new TypeError("property must be configurable"); - } - var deprecate = this; - var stack = getStack(); - var site = callSiteLocation(stack[1]); - site.name = prop; - if ("value" in descriptor) { - descriptor = convertDataDescriptorToAccessor(obj, prop, message); - } - var get = descriptor.get; - var set = descriptor.set; - if (typeof get === "function") { - descriptor.get = function getter() { - log2.call(deprecate, message, site); - return get.apply(this, arguments); - }; - } - if (typeof set === "function") { - descriptor.set = function setter() { - log2.call(deprecate, message, site); - return set.apply(this, arguments); - }; - } - Object.defineProperty(obj, prop, descriptor); - } - function DeprecationError(namespace, message, stack) { - var error = new Error(); - var stackString; - Object.defineProperty(error, "constructor", { - value: DeprecationError - }); - Object.defineProperty(error, "message", { - configurable: true, - enumerable: false, - value: message, - writable: true - }); - Object.defineProperty(error, "name", { - enumerable: false, - configurable: true, - value: "DeprecationError", - writable: true - }); - Object.defineProperty(error, "namespace", { - configurable: true, - enumerable: false, - value: namespace, - writable: true - }); - Object.defineProperty(error, "stack", { - configurable: true, - enumerable: false, - get: function() { - if (stackString !== void 0) { - return stackString; - } - return stackString = createStackString.call(this, stack); - }, - set: function setter(val) { - stackString = val; - } - }); - return error; - } - } -}); - -// .yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-ba389f4722.zip/node_modules/setprototypeof/index.js -var require_setprototypeof = __commonJS({ - ".yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-ba389f4722.zip/node_modules/setprototypeof/index.js"(exports, module2) { - "use strict"; - module2.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); - function setProtoOf(obj, proto) { - obj.__proto__ = proto; - return obj; - } - function mixinProperties(obj, proto) { - for (var prop in proto) { - if (!Object.prototype.hasOwnProperty.call(obj, prop)) { - obj[prop] = proto[prop]; - } - } - return obj; - } - } -}); - -// .yarn/cache/statuses-npm-2.0.1-81d2b97fee-a7e9d41901.zip/node_modules/statuses/codes.json -var require_codes = __commonJS({ - ".yarn/cache/statuses-npm-2.0.1-81d2b97fee-a7e9d41901.zip/node_modules/statuses/codes.json"(exports, module2) { - module2.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "103": "Early Hints", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a Teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Too Early", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" - }; - } -}); - -// .yarn/cache/statuses-npm-2.0.1-81d2b97fee-a7e9d41901.zip/node_modules/statuses/index.js -var require_statuses = __commonJS({ - ".yarn/cache/statuses-npm-2.0.1-81d2b97fee-a7e9d41901.zip/node_modules/statuses/index.js"(exports, module2) { - "use strict"; - var codes = require_codes(); - module2.exports = status; - status.message = codes; - status.code = createMessageToStatusCodeMap(codes); - status.codes = createStatusCodeList(codes); - status.redirect = { - 300: true, - 301: true, - 302: true, - 303: true, - 305: true, - 307: true, - 308: true - }; - status.empty = { - 204: true, - 205: true, - 304: true - }; - status.retry = { - 502: true, - 503: true, - 504: true - }; - function createMessageToStatusCodeMap(codes2) { - var map = {}; - Object.keys(codes2).forEach(function forEachCode(code) { - var message = codes2[code]; - var status2 = Number(code); - map[message.toLowerCase()] = status2; - }); - return map; - } - function createStatusCodeList(codes2) { - return Object.keys(codes2).map(function mapCode(code) { - return Number(code); - }); - } - function getStatusCode(message) { - var msg = message.toLowerCase(); - if (!Object.prototype.hasOwnProperty.call(status.code, msg)) { - throw new Error('invalid status message: "' + message + '"'); - } - return status.code[msg]; - } - function getStatusMessage(code) { - if (!Object.prototype.hasOwnProperty.call(status.message, code)) { - throw new Error("invalid status code: " + code); - } - return status.message[code]; - } - function status(code) { - if (typeof code === "number") { - return getStatusMessage(code); - } - if (typeof code !== "string") { - throw new TypeError("code must be a number or string"); - } - var n = parseInt(code, 10); - if (!isNaN(n)) { - return getStatusMessage(n); - } - return getStatusCode(code); - } - } -}); - -// .yarn/cache/toidentifier-npm-1.0.1-f759712599-ed889234ce.zip/node_modules/toidentifier/index.js -var require_toidentifier = __commonJS({ - ".yarn/cache/toidentifier-npm-1.0.1-f759712599-ed889234ce.zip/node_modules/toidentifier/index.js"(exports, module2) { - "use strict"; - module2.exports = toIdentifier; - function toIdentifier(str) { - return str.split(" ").map(function(token) { - return token.slice(0, 1).toUpperCase() + token.slice(1); - }).join("").replace(/[^ _0-9a-z]/gi, ""); - } - } -}); - -// .yarn/cache/http-errors-npm-2.0.0-3f1c503428-4ca6443716.zip/node_modules/http-errors/index.js -var require_http_errors = __commonJS({ - ".yarn/cache/http-errors-npm-2.0.0-3f1c503428-4ca6443716.zip/node_modules/http-errors/index.js"(exports, module2) { - "use strict"; - var deprecate = require_depd()("http-errors"); - var setPrototypeOf = require_setprototypeof(); - var statuses = require_statuses(); - var inherits = require_inherits(); - var toIdentifier = require_toidentifier(); - module2.exports = createError; - module2.exports.HttpError = createHttpErrorConstructor(); - module2.exports.isHttpError = createIsHttpErrorFunction(module2.exports.HttpError); - populateConstructorExports(module2.exports, statuses.codes, module2.exports.HttpError); - function codeClass(status) { - return Number(String(status).charAt(0) + "00"); - } - function createError() { - var err; - var msg; - var status = 500; - var props = {}; - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - var type = typeof arg; - if (type === "object" && arg instanceof Error) { - err = arg; - status = err.status || err.statusCode || status; - } else if (type === "number" && i === 0) { - status = arg; - } else if (type === "string") { - msg = arg; - } else if (type === "object") { - props = arg; - } else { - throw new TypeError("argument #" + (i + 1) + " unsupported type " + type); - } - } - if (typeof status === "number" && (status < 400 || status >= 600)) { - deprecate("non-error status code; use only 4xx or 5xx status codes"); - } - if (typeof status !== "number" || !statuses.message[status] && (status < 400 || status >= 600)) { - status = 500; - } - var HttpError = createError[status] || createError[codeClass(status)]; - if (!err) { - err = HttpError ? new HttpError(msg) : new Error(msg || statuses.message[status]); - Error.captureStackTrace(err, createError); - } - if (!HttpError || !(err instanceof HttpError) || err.status !== status) { - err.expose = status < 500; - err.status = err.statusCode = status; - } - for (var key in props) { - if (key !== "status" && key !== "statusCode") { - err[key] = props[key]; - } - } - return err; - } - function createHttpErrorConstructor() { - function HttpError() { - throw new TypeError("cannot construct abstract class"); - } - inherits(HttpError, Error); - return HttpError; - } - function createClientErrorConstructor(HttpError, name, code) { - var className = toClassName(name); - function ClientError(message) { - var msg = message != null ? message : statuses.message[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ClientError); - setPrototypeOf(err, ClientError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits(ClientError, HttpError); - nameFunc(ClientError, className); - ClientError.prototype.status = code; - ClientError.prototype.statusCode = code; - ClientError.prototype.expose = true; - return ClientError; - } - function createIsHttpErrorFunction(HttpError) { - return function isHttpError(val) { - if (!val || typeof val !== "object") { - return false; - } - if (val instanceof HttpError) { - return true; - } - return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; - }; - } - function createServerErrorConstructor(HttpError, name, code) { - var className = toClassName(name); - function ServerError(message) { - var msg = message != null ? message : statuses.message[code]; - var err = new Error(msg); - Error.captureStackTrace(err, ServerError); - setPrototypeOf(err, ServerError.prototype); - Object.defineProperty(err, "message", { - enumerable: true, - configurable: true, - value: msg, - writable: true - }); - Object.defineProperty(err, "name", { - enumerable: false, - configurable: true, - value: className, - writable: true - }); - return err; - } - inherits(ServerError, HttpError); - nameFunc(ServerError, className); - ServerError.prototype.status = code; - ServerError.prototype.statusCode = code; - ServerError.prototype.expose = false; - return ServerError; - } - function nameFunc(func, name) { - var desc = Object.getOwnPropertyDescriptor(func, "name"); - if (desc && desc.configurable) { - desc.value = name; - Object.defineProperty(func, "name", desc); - } - } - function populateConstructorExports(exports2, codes, HttpError) { - codes.forEach(function forEachCode(code) { - var CodeError; - var name = toIdentifier(statuses.message[code]); - switch (codeClass(code)) { - case 400: - CodeError = createClientErrorConstructor(HttpError, name, code); - break; - case 500: - CodeError = createServerErrorConstructor(HttpError, name, code); - break; - } - if (CodeError) { - exports2[code] = CodeError; - exports2[name] = CodeError; - } - }); - } - function toClassName(name) { - return name.substr(-5) !== "Error" ? name + "Error" : name; - } - } -}); - -// .yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-d4199666e9.zip/node_modules/safer-buffer/safer.js -var require_safer = __commonJS({ - ".yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-d4199666e9.zip/node_modules/safer-buffer/safer.js"(exports, module2) { - "use strict"; - var buffer = require("buffer"); - var Buffer2 = buffer.Buffer; - var safer = {}; - var key; - for (key in buffer) { - if (!buffer.hasOwnProperty(key)) - continue; - if (key === "SlowBuffer" || key === "Buffer") - continue; - safer[key] = buffer[key]; - } - var Safer = safer.Buffer = {}; - for (key in Buffer2) { - if (!Buffer2.hasOwnProperty(key)) - continue; - if (key === "allocUnsafe" || key === "allocUnsafeSlow") - continue; - Safer[key] = Buffer2[key]; - } - safer.Buffer.prototype = Buffer2.prototype; - if (!Safer.from || Safer.from === Uint8Array.from) { - Safer.from = function(value, encodingOrOffset, length) { - if (typeof value === "number") { - throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); - } - if (value && typeof value.length === "undefined") { - throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); - } - return Buffer2(value, encodingOrOffset, length); - }; - } - if (!Safer.alloc) { - Safer.alloc = function(size, fill, encoding) { - if (typeof size !== "number") { - throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); - } - if (size < 0 || size >= 2 * (1 << 30)) { - throw new RangeError('The value "' + size + '" is invalid for option "size"'); - } - var buf = Buffer2(size); - if (!fill || fill.length === 0) { - buf.fill(0); - } else if (typeof encoding === "string") { - buf.fill(fill, encoding); - } else { - buf.fill(fill); - } - return buf; - }; - } - if (!safer.kStringMaxLength) { - try { - safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; - } catch (e) { - } - } - if (!safer.constants) { - safer.constants = { - MAX_LENGTH: safer.kMaxLength - }; - if (safer.kStringMaxLength) { - safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; - } - } - module2.exports = safer; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/bom-handling.js -var require_bom_handling = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/bom-handling.js"(exports) { - "use strict"; - var BOMChar = "\uFEFF"; - exports.PrependBOM = PrependBOMWrapper; - function PrependBOMWrapper(encoder, options) { - this.encoder = encoder; - this.addBOM = true; - } - PrependBOMWrapper.prototype.write = function(str) { - if (this.addBOM) { - str = BOMChar + str; - this.addBOM = false; - } - return this.encoder.write(str); - }; - PrependBOMWrapper.prototype.end = function() { - return this.encoder.end(); - }; - exports.StripBOM = StripBOMWrapper; - function StripBOMWrapper(decoder, options) { - this.decoder = decoder; - this.pass = false; - this.options = options || {}; - } - StripBOMWrapper.prototype.write = function(buf) { - var res = this.decoder.write(buf); - if (this.pass || !res) - return res; - if (res[0] === BOMChar) { - res = res.slice(1); - if (typeof this.options.stripBOM === "function") - this.options.stripBOM(); - } - this.pass = true; - return res; - }; - StripBOMWrapper.prototype.end = function() { - return this.decoder.end(); - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/internal.js -var require_internal = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/internal.js"(exports, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - module2.exports = { - // Encodings - utf8: { type: "_internal", bomAware: true }, - cesu8: { type: "_internal", bomAware: true }, - unicode11utf8: "utf8", - ucs2: { type: "_internal", bomAware: true }, - utf16le: "ucs2", - binary: { type: "_internal" }, - base64: { type: "_internal" }, - hex: { type: "_internal" }, - // Codec. - _internal: InternalCodec - }; - function InternalCodec(codecOptions, iconv) { - this.enc = codecOptions.encodingName; - this.bomAware = codecOptions.bomAware; - if (this.enc === "base64") - this.encoder = InternalEncoderBase64; - else if (this.enc === "cesu8") { - this.enc = "utf8"; - this.encoder = InternalEncoderCesu8; - if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { - this.decoder = InternalDecoderCesu8; - this.defaultCharUnicode = iconv.defaultCharUnicode; - } - } - } - InternalCodec.prototype.encoder = InternalEncoder; - InternalCodec.prototype.decoder = InternalDecoder; - var StringDecoder = require("string_decoder").StringDecoder; - if (!StringDecoder.prototype.end) - StringDecoder.prototype.end = function() { - }; - function InternalDecoder(options, codec) { - StringDecoder.call(this, codec.enc); - } - InternalDecoder.prototype = StringDecoder.prototype; - function InternalEncoder(options, codec) { - this.enc = codec.enc; - } - InternalEncoder.prototype.write = function(str) { - return Buffer2.from(str, this.enc); - }; - InternalEncoder.prototype.end = function() { - }; - function InternalEncoderBase64(options, codec) { - this.prevStr = ""; - } - InternalEncoderBase64.prototype.write = function(str) { - str = this.prevStr + str; - var completeQuads = str.length - str.length % 4; - this.prevStr = str.slice(completeQuads); - str = str.slice(0, completeQuads); - return Buffer2.from(str, "base64"); - }; - InternalEncoderBase64.prototype.end = function() { - return Buffer2.from(this.prevStr, "base64"); - }; - function InternalEncoderCesu8(options, codec) { - } - InternalEncoderCesu8.prototype.write = function(str) { - var buf = Buffer2.alloc(str.length * 3), bufIdx = 0; - for (var i = 0; i < str.length; i++) { - var charCode = str.charCodeAt(i); - if (charCode < 128) - buf[bufIdx++] = charCode; - else if (charCode < 2048) { - buf[bufIdx++] = 192 + (charCode >>> 6); - buf[bufIdx++] = 128 + (charCode & 63); - } else { - buf[bufIdx++] = 224 + (charCode >>> 12); - buf[bufIdx++] = 128 + (charCode >>> 6 & 63); - buf[bufIdx++] = 128 + (charCode & 63); - } - } - return buf.slice(0, bufIdx); - }; - InternalEncoderCesu8.prototype.end = function() { - }; - function InternalDecoderCesu8(options, codec) { - this.acc = 0; - this.contBytes = 0; - this.accBytes = 0; - this.defaultCharUnicode = codec.defaultCharUnicode; - } - InternalDecoderCesu8.prototype.write = function(buf) { - var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = ""; - for (var i = 0; i < buf.length; i++) { - var curByte = buf[i]; - if ((curByte & 192) !== 128) { - if (contBytes > 0) { - res += this.defaultCharUnicode; - contBytes = 0; - } - if (curByte < 128) { - res += String.fromCharCode(curByte); - } else if (curByte < 224) { - acc = curByte & 31; - contBytes = 1; - accBytes = 1; - } else if (curByte < 240) { - acc = curByte & 15; - contBytes = 2; - accBytes = 1; - } else { - res += this.defaultCharUnicode; - } - } else { - if (contBytes > 0) { - acc = acc << 6 | curByte & 63; - contBytes--; - accBytes++; - if (contBytes === 0) { - if (accBytes === 2 && acc < 128 && acc > 0) - res += this.defaultCharUnicode; - else if (accBytes === 3 && acc < 2048) - res += this.defaultCharUnicode; - else - res += String.fromCharCode(acc); - } - } else { - res += this.defaultCharUnicode; - } - } - } - this.acc = acc; - this.contBytes = contBytes; - this.accBytes = accBytes; - return res; - }; - InternalDecoderCesu8.prototype.end = function() { - var res = 0; - if (this.contBytes > 0) - res += this.defaultCharUnicode; - return res; - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/utf16.js -var require_utf16 = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/utf16.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports.utf16be = Utf16BECodec; - function Utf16BECodec() { - } - Utf16BECodec.prototype.encoder = Utf16BEEncoder; - Utf16BECodec.prototype.decoder = Utf16BEDecoder; - Utf16BECodec.prototype.bomAware = true; - function Utf16BEEncoder() { - } - Utf16BEEncoder.prototype.write = function(str) { - var buf = Buffer2.from(str, "ucs2"); - for (var i = 0; i < buf.length; i += 2) { - var tmp = buf[i]; - buf[i] = buf[i + 1]; - buf[i + 1] = tmp; - } - return buf; - }; - Utf16BEEncoder.prototype.end = function() { - }; - function Utf16BEDecoder() { - this.overflowByte = -1; - } - Utf16BEDecoder.prototype.write = function(buf) { - if (buf.length == 0) - return ""; - var buf2 = Buffer2.alloc(buf.length + 1), i = 0, j = 0; - if (this.overflowByte !== -1) { - buf2[0] = buf[0]; - buf2[1] = this.overflowByte; - i = 1; - j = 2; - } - for (; i < buf.length - 1; i += 2, j += 2) { - buf2[j] = buf[i + 1]; - buf2[j + 1] = buf[i]; - } - this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; - return buf2.slice(0, j).toString("ucs2"); - }; - Utf16BEDecoder.prototype.end = function() { - }; - exports.utf16 = Utf16Codec; - function Utf16Codec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf16Codec.prototype.encoder = Utf16Encoder; - Utf16Codec.prototype.decoder = Utf16Decoder; - function Utf16Encoder(options, codec) { - options = options || {}; - if (options.addBOM === void 0) - options.addBOM = true; - this.encoder = codec.iconv.getEncoder("utf-16le", options); - } - Utf16Encoder.prototype.write = function(str) { - return this.encoder.write(str); - }; - Utf16Encoder.prototype.end = function() { - return this.encoder.end(); - }; - function Utf16Decoder(options, codec) { - this.decoder = null; - this.initialBytes = []; - this.initialBytesLen = 0; - this.options = options || {}; - this.iconv = codec.iconv; - } - Utf16Decoder.prototype.write = function(buf) { - if (!this.decoder) { - this.initialBytes.push(buf); - this.initialBytesLen += buf.length; - if (this.initialBytesLen < 16) - return ""; - var buf = Buffer2.concat(this.initialBytes), encoding = detectEncoding(buf, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - this.initialBytes.length = this.initialBytesLen = 0; - } - return this.decoder.write(buf); - }; - Utf16Decoder.prototype.end = function() { - if (!this.decoder) { - var buf = Buffer2.concat(this.initialBytes), encoding = detectEncoding(buf, this.options.defaultEncoding); - this.decoder = this.iconv.getDecoder(encoding, this.options); - var res = this.decoder.write(buf), trail = this.decoder.end(); - return trail ? res + trail : res; - } - return this.decoder.end(); - }; - function detectEncoding(buf, defaultEncoding) { - var enc = defaultEncoding || "utf-16le"; - if (buf.length >= 2) { - if (buf[0] == 254 && buf[1] == 255) - enc = "utf-16be"; - else if (buf[0] == 255 && buf[1] == 254) - enc = "utf-16le"; - else { - var asciiCharsLE = 0, asciiCharsBE = 0, _len = Math.min(buf.length - buf.length % 2, 64); - for (var i = 0; i < _len; i += 2) { - if (buf[i] === 0 && buf[i + 1] !== 0) - asciiCharsBE++; - if (buf[i] !== 0 && buf[i + 1] === 0) - asciiCharsLE++; - } - if (asciiCharsBE > asciiCharsLE) - enc = "utf-16be"; - else if (asciiCharsBE < asciiCharsLE) - enc = "utf-16le"; - } - } - return enc; - } - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/utf7.js -var require_utf7 = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/utf7.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports.utf7 = Utf7Codec; - exports.unicode11utf7 = "utf7"; - function Utf7Codec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf7Codec.prototype.encoder = Utf7Encoder; - Utf7Codec.prototype.decoder = Utf7Decoder; - Utf7Codec.prototype.bomAware = true; - var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; - function Utf7Encoder(options, codec) { - this.iconv = codec.iconv; - } - Utf7Encoder.prototype.write = function(str) { - return Buffer2.from(str.replace(nonDirectChars, function(chunk) { - return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; - }.bind(this))); - }; - Utf7Encoder.prototype.end = function() { - }; - function Utf7Decoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ""; - } - var base64Regex = /[A-Za-z0-9\/+]/; - var base64Chars = []; - for (i = 0; i < 256; i++) - base64Chars[i] = base64Regex.test(String.fromCharCode(i)); - var i; - var plusChar = "+".charCodeAt(0); - var minusChar = "-".charCodeAt(0); - var andChar = "&".charCodeAt(0); - Utf7Decoder.prototype.write = function(buf) { - var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; - for (var i2 = 0; i2 < buf.length; i2++) { - if (!inBase64) { - if (buf[i2] == plusChar) { - res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); - lastI = i2 + 1; - inBase64 = true; - } - } else { - if (!base64Chars[buf[i2]]) { - if (i2 == lastI && buf[i2] == minusChar) { - res += "+"; - } else { - var b64str = base64Accum + buf.slice(lastI, i2).toString(); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - if (buf[i2] != minusChar) - i2--; - lastI = i2 + 1; - inBase64 = false; - base64Accum = ""; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); - } else { - var b64str = base64Accum + buf.slice(lastI).toString(); - var canBeDecoded = b64str.length - b64str.length % 8; - base64Accum = b64str.slice(canBeDecoded); - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; - return res; - }; - Utf7Decoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); - this.inBase64 = false; - this.base64Accum = ""; - return res; - }; - exports.utf7imap = Utf7IMAPCodec; - function Utf7IMAPCodec(codecOptions, iconv) { - this.iconv = iconv; - } - Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; - Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; - Utf7IMAPCodec.prototype.bomAware = true; - function Utf7IMAPEncoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = Buffer2.alloc(6); - this.base64AccumIdx = 0; - } - Utf7IMAPEncoder.prototype.write = function(str) { - var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer2.alloc(str.length * 5 + 10), bufIdx = 0; - for (var i2 = 0; i2 < str.length; i2++) { - var uChar = str.charCodeAt(i2); - if (32 <= uChar && uChar <= 126) { - if (inBase64) { - if (base64AccumIdx > 0) { - bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); - base64AccumIdx = 0; - } - buf[bufIdx++] = minusChar; - inBase64 = false; - } - if (!inBase64) { - buf[bufIdx++] = uChar; - if (uChar === andChar) - buf[bufIdx++] = minusChar; - } - } else { - if (!inBase64) { - buf[bufIdx++] = andChar; - inBase64 = true; - } - if (inBase64) { - base64Accum[base64AccumIdx++] = uChar >> 8; - base64Accum[base64AccumIdx++] = uChar & 255; - if (base64AccumIdx == base64Accum.length) { - bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); - base64AccumIdx = 0; - } - } - } - } - this.inBase64 = inBase64; - this.base64AccumIdx = base64AccumIdx; - return buf.slice(0, bufIdx); - }; - Utf7IMAPEncoder.prototype.end = function() { - var buf = Buffer2.alloc(10), bufIdx = 0; - if (this.inBase64) { - if (this.base64AccumIdx > 0) { - bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); - this.base64AccumIdx = 0; - } - buf[bufIdx++] = minusChar; - this.inBase64 = false; - } - return buf.slice(0, bufIdx); - }; - function Utf7IMAPDecoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ""; - } - var base64IMAPChars = base64Chars.slice(); - base64IMAPChars[",".charCodeAt(0)] = true; - Utf7IMAPDecoder.prototype.write = function(buf) { - var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum; - for (var i2 = 0; i2 < buf.length; i2++) { - if (!inBase64) { - if (buf[i2] == andChar) { - res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); - lastI = i2 + 1; - inBase64 = true; - } - } else { - if (!base64IMAPChars[buf[i2]]) { - if (i2 == lastI && buf[i2] == minusChar) { - res += "&"; - } else { - var b64str = base64Accum + buf.slice(lastI, i2).toString().replace(/,/g, "/"); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - if (buf[i2] != minusChar) - i2--; - lastI = i2 + 1; - inBase64 = false; - base64Accum = ""; - } - } - } - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); - } else { - var b64str = base64Accum + buf.slice(lastI).toString().replace(/,/g, "/"); - var canBeDecoded = b64str.length - b64str.length % 8; - base64Accum = b64str.slice(canBeDecoded); - b64str = b64str.slice(0, canBeDecoded); - res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); - } - this.inBase64 = inBase64; - this.base64Accum = base64Accum; - return res; - }; - Utf7IMAPDecoder.prototype.end = function() { - var res = ""; - if (this.inBase64 && this.base64Accum.length > 0) - res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); - this.inBase64 = false; - this.base64Accum = ""; - return res; - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/sbcs-codec.js -var require_sbcs_codec = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports._sbcs = SBCSCodec; - function SBCSCodec(codecOptions, iconv) { - if (!codecOptions) - throw new Error("SBCS codec is called without the data."); - if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) - throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); - if (codecOptions.chars.length === 128) { - var asciiString = ""; - for (var i = 0; i < 128; i++) - asciiString += String.fromCharCode(i); - codecOptions.chars = asciiString + codecOptions.chars; - } - this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); - var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); - for (var i = 0; i < codecOptions.chars.length; i++) - encodeBuf[codecOptions.chars.charCodeAt(i)] = i; - this.encodeBuf = encodeBuf; - } - SBCSCodec.prototype.encoder = SBCSEncoder; - SBCSCodec.prototype.decoder = SBCSDecoder; - function SBCSEncoder(options, codec) { - this.encodeBuf = codec.encodeBuf; - } - SBCSEncoder.prototype.write = function(str) { - var buf = Buffer2.alloc(str.length); - for (var i = 0; i < str.length; i++) - buf[i] = this.encodeBuf[str.charCodeAt(i)]; - return buf; - }; - SBCSEncoder.prototype.end = function() { - }; - function SBCSDecoder(options, codec) { - this.decodeBuf = codec.decodeBuf; - } - SBCSDecoder.prototype.write = function(buf) { - var decodeBuf = this.decodeBuf; - var newBuf = Buffer2.alloc(buf.length * 2); - var idx1 = 0, idx2 = 0; - for (var i = 0; i < buf.length; i++) { - idx1 = buf[i] * 2; - idx2 = i * 2; - newBuf[idx2] = decodeBuf[idx1]; - newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; - } - return newBuf.toString("ucs2"); - }; - SBCSDecoder.prototype.end = function() { - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/sbcs-data.js -var require_sbcs_data = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module2) { - "use strict"; - module2.exports = { - // Not supported by iconv, not sure why. - "10029": "maccenteuro", - "maccenteuro": { - "type": "_sbcs", - "chars": "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" - }, - "808": "cp808", - "ibm808": "cp808", - "cp808": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" - }, - "mik": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - // Aliases of generated encodings. - "ascii8bit": "ascii", - "usascii": "ascii", - "ansix34": "ascii", - "ansix341968": "ascii", - "ansix341986": "ascii", - "csascii": "ascii", - "cp367": "ascii", - "ibm367": "ascii", - "isoir6": "ascii", - "iso646us": "ascii", - "iso646irv": "ascii", - "us": "ascii", - "latin1": "iso88591", - "latin2": "iso88592", - "latin3": "iso88593", - "latin4": "iso88594", - "latin5": "iso88599", - "latin6": "iso885910", - "latin7": "iso885913", - "latin8": "iso885914", - "latin9": "iso885915", - "latin10": "iso885916", - "csisolatin1": "iso88591", - "csisolatin2": "iso88592", - "csisolatin3": "iso88593", - "csisolatin4": "iso88594", - "csisolatincyrillic": "iso88595", - "csisolatinarabic": "iso88596", - "csisolatingreek": "iso88597", - "csisolatinhebrew": "iso88598", - "csisolatin5": "iso88599", - "csisolatin6": "iso885910", - "l1": "iso88591", - "l2": "iso88592", - "l3": "iso88593", - "l4": "iso88594", - "l5": "iso88599", - "l6": "iso885910", - "l7": "iso885913", - "l8": "iso885914", - "l9": "iso885915", - "l10": "iso885916", - "isoir14": "iso646jp", - "isoir57": "iso646cn", - "isoir100": "iso88591", - "isoir101": "iso88592", - "isoir109": "iso88593", - "isoir110": "iso88594", - "isoir144": "iso88595", - "isoir127": "iso88596", - "isoir126": "iso88597", - "isoir138": "iso88598", - "isoir148": "iso88599", - "isoir157": "iso885910", - "isoir166": "tis620", - "isoir179": "iso885913", - "isoir199": "iso885914", - "isoir203": "iso885915", - "isoir226": "iso885916", - "cp819": "iso88591", - "ibm819": "iso88591", - "cyrillic": "iso88595", - "arabic": "iso88596", - "arabic8": "iso88596", - "ecma114": "iso88596", - "asmo708": "iso88596", - "greek": "iso88597", - "greek8": "iso88597", - "ecma118": "iso88597", - "elot928": "iso88597", - "hebrew": "iso88598", - "hebrew8": "iso88598", - "turkish": "iso88599", - "turkish8": "iso88599", - "thai": "iso885911", - "thai8": "iso885911", - "celtic": "iso885914", - "celtic8": "iso885914", - "isoceltic": "iso885914", - "tis6200": "tis620", - "tis62025291": "tis620", - "tis62025330": "tis620", - "10000": "macroman", - "10006": "macgreek", - "10007": "maccyrillic", - "10079": "maciceland", - "10081": "macturkish", - "cspc8codepage437": "cp437", - "cspc775baltic": "cp775", - "cspc850multilingual": "cp850", - "cspcp852": "cp852", - "cspc862latinhebrew": "cp862", - "cpgr": "cp869", - "msee": "cp1250", - "mscyrl": "cp1251", - "msansi": "cp1252", - "msgreek": "cp1253", - "msturk": "cp1254", - "mshebr": "cp1255", - "msarab": "cp1256", - "winbaltrim": "cp1257", - "cp20866": "koi8r", - "20866": "koi8r", - "ibm878": "koi8r", - "cskoi8r": "koi8r", - "cp21866": "koi8u", - "21866": "koi8u", - "ibm1168": "koi8u", - "strk10482002": "rk1048", - "tcvn5712": "tcvn", - "tcvn57121": "tcvn", - "gb198880": "iso646cn", - "cn": "iso646cn", - "csiso14jisc6220ro": "iso646jp", - "jisc62201969ro": "iso646jp", - "jp": "iso646jp", - "cshproman8": "hproman8", - "r8": "hproman8", - "roman8": "hproman8", - "xroman8": "hproman8", - "ibm1051": "hproman8", - "mac": "macintosh", - "csmacintosh": "macintosh" - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/sbcs-data-generated.js -var require_sbcs_data_generated = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module2) { - "use strict"; - module2.exports = { - "437": "cp437", - "737": "cp737", - "775": "cp775", - "850": "cp850", - "852": "cp852", - "855": "cp855", - "856": "cp856", - "857": "cp857", - "858": "cp858", - "860": "cp860", - "861": "cp861", - "862": "cp862", - "863": "cp863", - "864": "cp864", - "865": "cp865", - "866": "cp866", - "869": "cp869", - "874": "windows874", - "922": "cp922", - "1046": "cp1046", - "1124": "cp1124", - "1125": "cp1125", - "1129": "cp1129", - "1133": "cp1133", - "1161": "cp1161", - "1162": "cp1162", - "1163": "cp1163", - "1250": "windows1250", - "1251": "windows1251", - "1252": "windows1252", - "1253": "windows1253", - "1254": "windows1254", - "1255": "windows1255", - "1256": "windows1256", - "1257": "windows1257", - "1258": "windows1258", - "28591": "iso88591", - "28592": "iso88592", - "28593": "iso88593", - "28594": "iso88594", - "28595": "iso88595", - "28596": "iso88596", - "28597": "iso88597", - "28598": "iso88598", - "28599": "iso88599", - "28600": "iso885910", - "28601": "iso885911", - "28603": "iso885913", - "28604": "iso885914", - "28605": "iso885915", - "28606": "iso885916", - "windows874": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "win874": "windows874", - "cp874": "windows874", - "windows1250": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" - }, - "win1250": "windows1250", - "cp1250": "windows1250", - "windows1251": { - "type": "_sbcs", - "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "win1251": "windows1251", - "cp1251": "windows1251", - "windows1252": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "win1252": "windows1252", - "cp1252": "windows1252", - "windows1253": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" - }, - "win1253": "windows1253", - "cp1253": "windows1253", - "windows1254": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" - }, - "win1254": "windows1254", - "cp1254": "windows1254", - "windows1255": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" - }, - "win1255": "windows1255", - "cp1255": "windows1255", - "windows1256": { - "type": "_sbcs", - "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" - }, - "win1256": "windows1256", - "cp1256": "windows1256", - "windows1257": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" - }, - "win1257": "windows1257", - "cp1257": "windows1257", - "windows1258": { - "type": "_sbcs", - "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "win1258": "windows1258", - "cp1258": "windows1258", - "iso88591": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "cp28591": "iso88591", - "iso88592": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" - }, - "cp28592": "iso88592", - "iso88593": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" - }, - "cp28593": "iso88593", - "iso88594": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" - }, - "cp28594": "iso88594", - "iso88595": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" - }, - "cp28595": "iso88595", - "iso88596": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "cp28596": "iso88596", - "iso88597": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" - }, - "cp28597": "iso88597", - "iso88598": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" - }, - "cp28598": "iso88598", - "iso88599": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" - }, - "cp28599": "iso88599", - "iso885910": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" - }, - "cp28600": "iso885910", - "iso885911": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "cp28601": "iso885911", - "iso885913": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" - }, - "cp28603": "iso885913", - "iso885914": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" - }, - "cp28604": "iso885914", - "iso885915": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "cp28605": "iso885915", - "iso885916": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" - }, - "cp28606": "iso885916", - "cp437": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm437": "cp437", - "csibm437": "cp437", - "cp737": { - "type": "_sbcs", - "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm737": "cp737", - "csibm737": "cp737", - "cp775": { - "type": "_sbcs", - "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm775": "cp775", - "csibm775": "cp775", - "cp850": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm850": "cp850", - "csibm850": "cp850", - "cp852": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" - }, - "ibm852": "cp852", - "csibm852": "cp852", - "cp855": { - "type": "_sbcs", - "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" - }, - "ibm855": "cp855", - "csibm855": "cp855", - "cp856": { - "type": "_sbcs", - "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm856": "cp856", - "csibm856": "cp856", - "cp857": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm857": "cp857", - "csibm857": "cp857", - "cp858": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" - }, - "ibm858": "cp858", - "csibm858": "cp858", - "cp860": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm860": "cp860", - "csibm860": "cp860", - "cp861": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm861": "cp861", - "csibm861": "cp861", - "cp862": { - "type": "_sbcs", - "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm862": "cp862", - "csibm862": "cp862", - "cp863": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm863": "cp863", - "csibm863": "cp863", - "cp864": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" - }, - "ibm864": "cp864", - "csibm864": "cp864", - "cp865": { - "type": "_sbcs", - "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" - }, - "ibm865": "cp865", - "csibm865": "cp865", - "cp866": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" - }, - "ibm866": "cp866", - "csibm866": "cp866", - "cp869": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" - }, - "ibm869": "cp869", - "csibm869": "cp869", - "cp922": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" - }, - "ibm922": "cp922", - "csibm922": "cp922", - "cp1046": { - "type": "_sbcs", - "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" - }, - "ibm1046": "cp1046", - "csibm1046": "cp1046", - "cp1124": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" - }, - "ibm1124": "cp1124", - "csibm1124": "cp1124", - "cp1125": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" - }, - "ibm1125": "cp1125", - "csibm1125": "cp1125", - "cp1129": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "ibm1129": "cp1129", - "csibm1129": "cp1129", - "cp1133": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" - }, - "ibm1133": "cp1133", - "csibm1133": "cp1133", - "cp1161": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" - }, - "ibm1161": "cp1161", - "csibm1161": "cp1161", - "cp1162": { - "type": "_sbcs", - "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "ibm1162": "cp1162", - "csibm1162": "cp1162", - "cp1163": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" - }, - "ibm1163": "cp1163", - "csibm1163": "cp1163", - "maccroatian": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" - }, - "maccyrillic": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" - }, - "macgreek": { - "type": "_sbcs", - "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" - }, - "maciceland": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macroman": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macromania": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macthai": { - "type": "_sbcs", - "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "macturkish": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "macukraine": { - "type": "_sbcs", - "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" - }, - "koi8r": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8u": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8ru": { - "type": "_sbcs", - "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "koi8t": { - "type": "_sbcs", - "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" - }, - "armscii8": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" - }, - "rk1048": { - "type": "_sbcs", - "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "tcvn": { - "type": "_sbcs", - "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" - }, - "georgianacademy": { - "type": "_sbcs", - "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "georgianps": { - "type": "_sbcs", - "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" - }, - "pt154": { - "type": "_sbcs", - "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" - }, - "viscii": { - "type": "_sbcs", - "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" - }, - "iso646cn": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "iso646jp": { - "type": "_sbcs", - "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "hproman8": { - "type": "_sbcs", - "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" - }, - "macintosh": { - "type": "_sbcs", - "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" - }, - "ascii": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" - }, - "tis620": { - "type": "_sbcs", - "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" - } - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/dbcs-codec.js -var require_dbcs_codec = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) { - "use strict"; - var Buffer2 = require_safer().Buffer; - exports._dbcs = DBCSCodec; - var UNASSIGNED = -1; - var GB18030_CODE = -2; - var SEQ_START = -10; - var NODE_START = -1e3; - var UNASSIGNED_NODE = new Array(256); - var DEF_CHAR = -1; - for (i = 0; i < 256; i++) - UNASSIGNED_NODE[i] = UNASSIGNED; - var i; - function DBCSCodec(codecOptions, iconv) { - this.encodingName = codecOptions.encodingName; - if (!codecOptions) - throw new Error("DBCS codec is called without the data."); - if (!codecOptions.table) - throw new Error("Encoding '" + this.encodingName + "' has no data."); - var mappingTable = codecOptions.table(); - this.decodeTables = []; - this.decodeTables[0] = UNASSIGNED_NODE.slice(0); - this.decodeTableSeq = []; - for (var i2 = 0; i2 < mappingTable.length; i2++) - this._addDecodeChunk(mappingTable[i2]); - this.defaultCharUnicode = iconv.defaultCharUnicode; - this.encodeTable = []; - this.encodeTableSeq = []; - var skipEncodeChars = {}; - if (codecOptions.encodeSkipVals) - for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { - var val = codecOptions.encodeSkipVals[i2]; - if (typeof val === "number") - skipEncodeChars[val] = true; - else - for (var j = val.from; j <= val.to; j++) - skipEncodeChars[j] = true; - } - this._fillEncodeTable(0, 0, skipEncodeChars); - if (codecOptions.encodeAdd) { - for (var uChar in codecOptions.encodeAdd) - if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) - this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); - } - this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; - if (this.defCharSB === UNASSIGNED) - this.defCharSB = this.encodeTable[0]["?"]; - if (this.defCharSB === UNASSIGNED) - this.defCharSB = "?".charCodeAt(0); - if (typeof codecOptions.gb18030 === "function") { - this.gb18030 = codecOptions.gb18030(); - var thirdByteNodeIdx = this.decodeTables.length; - var thirdByteNode = this.decodeTables[thirdByteNodeIdx] = UNASSIGNED_NODE.slice(0); - var fourthByteNodeIdx = this.decodeTables.length; - var fourthByteNode = this.decodeTables[fourthByteNodeIdx] = UNASSIGNED_NODE.slice(0); - for (var i2 = 129; i2 <= 254; i2++) { - var secondByteNodeIdx = NODE_START - this.decodeTables[0][i2]; - var secondByteNode = this.decodeTables[secondByteNodeIdx]; - for (var j = 48; j <= 57; j++) - secondByteNode[j] = NODE_START - thirdByteNodeIdx; - } - for (var i2 = 129; i2 <= 254; i2++) - thirdByteNode[i2] = NODE_START - fourthByteNodeIdx; - for (var i2 = 48; i2 <= 57; i2++) - fourthByteNode[i2] = GB18030_CODE; - } - } - DBCSCodec.prototype.encoder = DBCSEncoder; - DBCSCodec.prototype.decoder = DBCSDecoder; - DBCSCodec.prototype._getDecodeTrieNode = function(addr) { - var bytes = []; - for (; addr > 0; addr >>= 8) - bytes.push(addr & 255); - if (bytes.length == 0) - bytes.push(0); - var node = this.decodeTables[0]; - for (var i2 = bytes.length - 1; i2 > 0; i2--) { - var val = node[bytes[i2]]; - if (val == UNASSIGNED) { - node[bytes[i2]] = NODE_START - this.decodeTables.length; - this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); - } else if (val <= NODE_START) { - node = this.decodeTables[NODE_START - val]; - } else - throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); - } - return node; - }; - DBCSCodec.prototype._addDecodeChunk = function(chunk) { - var curAddr = parseInt(chunk[0], 16); - var writeTable = this._getDecodeTrieNode(curAddr); - curAddr = curAddr & 255; - for (var k = 1; k < chunk.length; k++) { - var part = chunk[k]; - if (typeof part === "string") { - for (var l = 0; l < part.length; ) { - var code = part.charCodeAt(l++); - if (55296 <= code && code < 56320) { - var codeTrail = part.charCodeAt(l++); - if (56320 <= codeTrail && codeTrail < 57344) - writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); - else - throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); - } else if (4080 < code && code <= 4095) { - var len = 4095 - code + 2; - var seq = []; - for (var m = 0; m < len; m++) - seq.push(part.charCodeAt(l++)); - writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; - this.decodeTableSeq.push(seq); - } else - writeTable[curAddr++] = code; - } - } else if (typeof part === "number") { - var charCode = writeTable[curAddr - 1] + 1; - for (var l = 0; l < part; l++) - writeTable[curAddr++] = charCode++; - } else - throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); - } - if (curAddr > 255) - throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); - }; - DBCSCodec.prototype._getEncodeBucket = function(uCode) { - var high = uCode >> 8; - if (this.encodeTable[high] === void 0) - this.encodeTable[high] = UNASSIGNED_NODE.slice(0); - return this.encodeTable[high]; - }; - DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 255; - if (bucket[low] <= SEQ_START) - this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; - else if (bucket[low] == UNASSIGNED) - bucket[low] = dbcsCode; - }; - DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { - var uCode = seq[0]; - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 255; - var node; - if (bucket[low] <= SEQ_START) { - node = this.encodeTableSeq[SEQ_START - bucket[low]]; - } else { - node = {}; - if (bucket[low] !== UNASSIGNED) - node[DEF_CHAR] = bucket[low]; - bucket[low] = SEQ_START - this.encodeTableSeq.length; - this.encodeTableSeq.push(node); - } - for (var j = 1; j < seq.length - 1; j++) { - var oldVal = node[uCode]; - if (typeof oldVal === "object") - node = oldVal; - else { - node = node[uCode] = {}; - if (oldVal !== void 0) - node[DEF_CHAR] = oldVal; - } - } - uCode = seq[seq.length - 1]; - node[uCode] = dbcsCode; - }; - DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { - var node = this.decodeTables[nodeIdx]; - for (var i2 = 0; i2 < 256; i2++) { - var uCode = node[i2]; - var mbCode = prefix + i2; - if (skipEncodeChars[mbCode]) - continue; - if (uCode >= 0) - this._setEncodeChar(uCode, mbCode); - else if (uCode <= NODE_START) - this._fillEncodeTable(NODE_START - uCode, mbCode << 8, skipEncodeChars); - else if (uCode <= SEQ_START) - this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); - } - }; - function DBCSEncoder(options, codec) { - this.leadSurrogate = -1; - this.seqObj = void 0; - this.encodeTable = codec.encodeTable; - this.encodeTableSeq = codec.encodeTableSeq; - this.defaultCharSingleByte = codec.defCharSB; - this.gb18030 = codec.gb18030; - } - DBCSEncoder.prototype.write = function(str) { - var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i2 = 0, j = 0; - while (true) { - if (nextChar === -1) { - if (i2 == str.length) - break; - var uCode = str.charCodeAt(i2++); - } else { - var uCode = nextChar; - nextChar = -1; - } - if (55296 <= uCode && uCode < 57344) { - if (uCode < 56320) { - if (leadSurrogate === -1) { - leadSurrogate = uCode; - continue; - } else { - leadSurrogate = uCode; - uCode = UNASSIGNED; - } - } else { - if (leadSurrogate !== -1) { - uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); - leadSurrogate = -1; - } else { - uCode = UNASSIGNED; - } - } - } else if (leadSurrogate !== -1) { - nextChar = uCode; - uCode = UNASSIGNED; - leadSurrogate = -1; - } - var dbcsCode = UNASSIGNED; - if (seqObj !== void 0 && uCode != UNASSIGNED) { - var resCode = seqObj[uCode]; - if (typeof resCode === "object") { - seqObj = resCode; - continue; - } else if (typeof resCode == "number") { - dbcsCode = resCode; - } else if (resCode == void 0) { - resCode = seqObj[DEF_CHAR]; - if (resCode !== void 0) { - dbcsCode = resCode; - nextChar = uCode; - } else { - } - } - seqObj = void 0; - } else if (uCode >= 0) { - var subtable = this.encodeTable[uCode >> 8]; - if (subtable !== void 0) - dbcsCode = subtable[uCode & 255]; - if (dbcsCode <= SEQ_START) { - seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; - continue; - } - if (dbcsCode == UNASSIGNED && this.gb18030) { - var idx = findIdx(this.gb18030.uChars, uCode); - if (idx != -1) { - var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); - newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); - dbcsCode = dbcsCode % 12600; - newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); - dbcsCode = dbcsCode % 1260; - newBuf[j++] = 129 + Math.floor(dbcsCode / 10); - dbcsCode = dbcsCode % 10; - newBuf[j++] = 48 + dbcsCode; - continue; - } - } - } - if (dbcsCode === UNASSIGNED) - dbcsCode = this.defaultCharSingleByte; - if (dbcsCode < 256) { - newBuf[j++] = dbcsCode; - } else if (dbcsCode < 65536) { - newBuf[j++] = dbcsCode >> 8; - newBuf[j++] = dbcsCode & 255; - } else { - newBuf[j++] = dbcsCode >> 16; - newBuf[j++] = dbcsCode >> 8 & 255; - newBuf[j++] = dbcsCode & 255; - } - } - this.seqObj = seqObj; - this.leadSurrogate = leadSurrogate; - return newBuf.slice(0, j); - }; - DBCSEncoder.prototype.end = function() { - if (this.leadSurrogate === -1 && this.seqObj === void 0) - return; - var newBuf = Buffer2.alloc(10), j = 0; - if (this.seqObj) { - var dbcsCode = this.seqObj[DEF_CHAR]; - if (dbcsCode !== void 0) { - if (dbcsCode < 256) { - newBuf[j++] = dbcsCode; - } else { - newBuf[j++] = dbcsCode >> 8; - newBuf[j++] = dbcsCode & 255; - } - } else { - } - this.seqObj = void 0; - } - if (this.leadSurrogate !== -1) { - newBuf[j++] = this.defaultCharSingleByte; - this.leadSurrogate = -1; - } - return newBuf.slice(0, j); - }; - DBCSEncoder.prototype.findIdx = findIdx; - function DBCSDecoder(options, codec) { - this.nodeIdx = 0; - this.prevBuf = Buffer2.alloc(0); - this.decodeTables = codec.decodeTables; - this.decodeTableSeq = codec.decodeTableSeq; - this.defaultCharUnicode = codec.defaultCharUnicode; - this.gb18030 = codec.gb18030; - } - DBCSDecoder.prototype.write = function(buf) { - var newBuf = Buffer2.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBuf = this.prevBuf, prevBufOffset = this.prevBuf.length, seqStart = -this.prevBuf.length, uCode; - if (prevBufOffset > 0) - prevBuf = Buffer2.concat([prevBuf, buf.slice(0, 10)]); - for (var i2 = 0, j = 0; i2 < buf.length; i2++) { - var curByte = i2 >= 0 ? buf[i2] : prevBuf[i2 + prevBufOffset]; - var uCode = this.decodeTables[nodeIdx][curByte]; - if (uCode >= 0) { - } else if (uCode === UNASSIGNED) { - i2 = seqStart; - uCode = this.defaultCharUnicode.charCodeAt(0); - } else if (uCode === GB18030_CODE) { - var curSeq = seqStart >= 0 ? buf.slice(seqStart, i2 + 1) : prevBuf.slice(seqStart + prevBufOffset, i2 + 1 + prevBufOffset); - var ptr = (curSeq[0] - 129) * 12600 + (curSeq[1] - 48) * 1260 + (curSeq[2] - 129) * 10 + (curSeq[3] - 48); - var idx = findIdx(this.gb18030.gbChars, ptr); - uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; - } else if (uCode <= NODE_START) { - nodeIdx = NODE_START - uCode; - continue; - } else if (uCode <= SEQ_START) { - var seq = this.decodeTableSeq[SEQ_START - uCode]; - for (var k = 0; k < seq.length - 1; k++) { - uCode = seq[k]; - newBuf[j++] = uCode & 255; - newBuf[j++] = uCode >> 8; - } - uCode = seq[seq.length - 1]; - } else - throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); - if (uCode > 65535) { - uCode -= 65536; - var uCodeLead = 55296 + Math.floor(uCode / 1024); - newBuf[j++] = uCodeLead & 255; - newBuf[j++] = uCodeLead >> 8; - uCode = 56320 + uCode % 1024; - } - newBuf[j++] = uCode & 255; - newBuf[j++] = uCode >> 8; - nodeIdx = 0; - seqStart = i2 + 1; - } - this.nodeIdx = nodeIdx; - this.prevBuf = seqStart >= 0 ? buf.slice(seqStart) : prevBuf.slice(seqStart + prevBufOffset); - return newBuf.slice(0, j).toString("ucs2"); - }; - DBCSDecoder.prototype.end = function() { - var ret = ""; - while (this.prevBuf.length > 0) { - ret += this.defaultCharUnicode; - var buf = this.prevBuf.slice(1); - this.prevBuf = Buffer2.alloc(0); - this.nodeIdx = 0; - if (buf.length > 0) - ret += this.write(buf); - } - this.nodeIdx = 0; - return ret; - }; - function findIdx(table, val) { - if (table[0] > val) - return -1; - var l = 0, r = table.length; - while (l < r - 1) { - var mid = l + Math.floor((r - l + 1) / 2); - if (table[mid] <= val) - l = mid; - else - r = mid; - } - return l; - } - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/shiftjis.json -var require_shiftjis = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 128], - ["a1", "\uFF61", 62], - ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], - ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], - ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], - ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], - ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], - ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], - ["81fc", "\u25EF"], - ["824f", "\uFF10", 9], - ["8260", "\uFF21", 25], - ["8281", "\uFF41", 25], - ["829f", "\u3041", 82], - ["8340", "\u30A1", 62], - ["8380", "\u30E0", 22], - ["839f", "\u0391", 16, "\u03A3", 6], - ["83bf", "\u03B1", 16, "\u03C3", 6], - ["8440", "\u0410", 5, "\u0401\u0416", 25], - ["8470", "\u0430", 5, "\u0451\u0436", 7], - ["8480", "\u043E", 17], - ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], - ["8740", "\u2460", 19, "\u2160", 9], - ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], - ["877e", "\u337B"], - ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], - ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], - ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], - ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], - ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], - ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], - ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], - ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], - ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], - ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], - ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], - ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], - ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], - ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], - ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], - ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], - ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], - ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], - ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], - ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], - ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], - ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], - ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], - ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], - ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], - ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], - ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], - ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], - ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], - ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], - ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], - ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], - ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], - ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], - ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], - ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], - ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], - ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], - ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], - ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], - ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], - ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], - ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], - ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], - ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], - ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], - ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], - ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], - ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], - ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], - ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], - ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], - ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], - ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], - ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], - ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], - ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], - ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], - ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], - ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], - ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], - ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], - ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], - ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], - ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], - ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], - ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], - ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], - ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], - ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], - ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], - ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], - ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], - ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], - ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], - ["f040", "\uE000", 62], - ["f080", "\uE03F", 124], - ["f140", "\uE0BC", 62], - ["f180", "\uE0FB", 124], - ["f240", "\uE178", 62], - ["f280", "\uE1B7", 124], - ["f340", "\uE234", 62], - ["f380", "\uE273", 124], - ["f440", "\uE2F0", 62], - ["f480", "\uE32F", 124], - ["f540", "\uE3AC", 62], - ["f580", "\uE3EB", 124], - ["f640", "\uE468", 62], - ["f680", "\uE4A7", 124], - ["f740", "\uE524", 62], - ["f780", "\uE563", 124], - ["f840", "\uE5E0", 62], - ["f880", "\uE61F", 124], - ["f940", "\uE69C"], - ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], - ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], - ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], - ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], - ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/eucjp.json -var require_eucjp = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127], - ["8ea1", "\uFF61", 62], - ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], - ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], - ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], - ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], - ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], - ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], - ["a2fe", "\u25EF"], - ["a3b0", "\uFF10", 9], - ["a3c1", "\uFF21", 25], - ["a3e1", "\uFF41", 25], - ["a4a1", "\u3041", 82], - ["a5a1", "\u30A1", 85], - ["a6a1", "\u0391", 16, "\u03A3", 6], - ["a6c1", "\u03B1", 16, "\u03C3", 6], - ["a7a1", "\u0410", 5, "\u0401\u0416", 25], - ["a7d1", "\u0430", 5, "\u0451\u0436", 25], - ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], - ["ada1", "\u2460", 19, "\u2160", 9], - ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], - ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], - ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], - ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], - ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], - ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], - ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], - ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], - ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], - ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], - ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], - ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], - ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], - ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], - ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], - ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], - ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], - ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], - ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], - ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], - ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], - ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], - ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], - ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], - ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], - ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], - ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], - ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], - ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], - ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], - ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], - ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], - ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], - ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], - ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], - ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], - ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], - ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], - ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], - ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], - ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], - ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], - ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], - ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], - ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], - ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], - ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], - ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], - ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], - ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], - ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], - ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], - ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], - ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], - ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], - ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], - ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], - ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], - ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], - ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], - ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], - ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], - ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], - ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], - ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], - ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], - ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], - ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], - ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], - ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], - ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], - ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], - ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], - ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], - ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], - ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], - ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], - ["8fa2c2", "\xA1\xA6\xBF"], - ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], - ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], - ["8fa6e7", "\u038C"], - ["8fa6e9", "\u038E\u03AB"], - ["8fa6ec", "\u038F"], - ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], - ["8fa7c2", "\u0402", 10, "\u040E\u040F"], - ["8fa7f2", "\u0452", 10, "\u045E\u045F"], - ["8fa9a1", "\xC6\u0110"], - ["8fa9a4", "\u0126"], - ["8fa9a6", "\u0132"], - ["8fa9a8", "\u0141\u013F"], - ["8fa9ab", "\u014A\xD8\u0152"], - ["8fa9af", "\u0166\xDE"], - ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], - ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], - ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], - ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], - ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], - ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], - ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], - ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], - ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], - ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], - ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], - ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], - ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], - ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], - ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], - ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], - ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], - ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], - ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], - ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], - ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], - ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], - ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], - ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], - ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], - ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], - ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], - ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], - ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], - ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], - ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], - ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], - ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], - ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], - ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], - ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], - ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], - ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], - ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], - ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], - ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], - ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], - ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], - ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], - ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], - ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], - ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], - ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], - ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], - ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], - ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], - ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], - ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], - ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], - ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], - ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], - ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], - ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], - ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], - ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], - ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], - ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], - ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], - ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], - ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], - ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], - ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], - ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/cp936.json -var require_cp936 = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127, "\u20AC"], - ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], - ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], - ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], - ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], - ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], - ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], - ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], - ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], - ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], - ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], - ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], - ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], - ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], - ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], - ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], - ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], - ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], - ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], - ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], - ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], - ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], - ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], - ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], - ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], - ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], - ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], - ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], - ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], - ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], - ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], - ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], - ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], - ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], - ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], - ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], - ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], - ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], - ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], - ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], - ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], - ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], - ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], - ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], - ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], - ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], - ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], - ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], - ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], - ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], - ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], - ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], - ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], - ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], - ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], - ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], - ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], - ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], - ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], - ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], - ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], - ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], - ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], - ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], - ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], - ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], - ["a2a1", "\u2170", 9], - ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], - ["a2e5", "\u3220", 9], - ["a2f1", "\u2160", 11], - ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], - ["a4a1", "\u3041", 82], - ["a5a1", "\u30A1", 85], - ["a6a1", "\u0391", 16, "\u03A3", 6], - ["a6c1", "\u03B1", 16, "\u03C3", 6], - ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], - ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], - ["a6f4", "\uFE33\uFE34"], - ["a7a1", "\u0410", 5, "\u0401\u0416", 25], - ["a7d1", "\u0430", 5, "\u0451\u0436", 25], - ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], - ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], - ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], - ["a8bd", "\u0144\u0148"], - ["a8c0", "\u0261"], - ["a8c5", "\u3105", 36], - ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], - ["a959", "\u2121\u3231"], - ["a95c", "\u2010"], - ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], - ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], - ["a996", "\u3007"], - ["a9a4", "\u2500", 75], - ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], - ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], - ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], - ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], - ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], - ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], - ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], - ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], - ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], - ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], - ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], - ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], - ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], - ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], - ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], - ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], - ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], - ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], - ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], - ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], - ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], - ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], - ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], - ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], - ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], - ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], - ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], - ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], - ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], - ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], - ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], - ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], - ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], - ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], - ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], - ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], - ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], - ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], - ["bd40", "\u7D37", 54, "\u7D6F", 7], - ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], - ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], - ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], - ["bf40", "\u7DFB", 62], - ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], - ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], - ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], - ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], - ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], - ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], - ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], - ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], - ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], - ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], - ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], - ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], - ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], - ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], - ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], - ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], - ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], - ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], - ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], - ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], - ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], - ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], - ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], - ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], - ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], - ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], - ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], - ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], - ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], - ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], - ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], - ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], - ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], - ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], - ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], - ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], - ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], - ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], - ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], - ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], - ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], - ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], - ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], - ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], - ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], - ["d640", "\u8AE4", 34, "\u8B08", 27], - ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], - ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], - ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], - ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], - ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], - ["d940", "\u8CAE", 62], - ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], - ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], - ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], - ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], - ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], - ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], - ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], - ["dd40", "\u8EE5", 62], - ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], - ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], - ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], - ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], - ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], - ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], - ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], - ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], - ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], - ["e240", "\u91E6", 62], - ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], - ["e340", "\u9246", 45, "\u9275", 16], - ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], - ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], - ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], - ["e540", "\u930A", 51, "\u933F", 10], - ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], - ["e640", "\u936C", 34, "\u9390", 27], - ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], - ["e740", "\u93CE", 7, "\u93D7", 54], - ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], - ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], - ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], - ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], - ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], - ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], - ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], - ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], - ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], - ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], - ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], - ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], - ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], - ["ee40", "\u980F", 62], - ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], - ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], - ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], - ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], - ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], - ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], - ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], - ["f240", "\u99FA", 62], - ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], - ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], - ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], - ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], - ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], - ["f540", "\u9B7C", 62], - ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], - ["f640", "\u9BDC", 62], - ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], - ["f740", "\u9C3C", 62], - ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], - ["f840", "\u9CE3", 62], - ["f880", "\u9D22", 32], - ["f940", "\u9D43", 62], - ["f980", "\u9D82", 32], - ["fa40", "\u9DA3", 62], - ["fa80", "\u9DE2", 32], - ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], - ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], - ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], - ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], - ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], - ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], - ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/gbk-added.json -var require_gbk_added = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module2) { - module2.exports = [ - ["a140", "\uE4C6", 62], - ["a180", "\uE505", 32], - ["a240", "\uE526", 62], - ["a280", "\uE565", 32], - ["a2ab", "\uE766", 5], - ["a2e3", "\u20AC\uE76D"], - ["a2ef", "\uE76E\uE76F"], - ["a2fd", "\uE770\uE771"], - ["a340", "\uE586", 62], - ["a380", "\uE5C5", 31, "\u3000"], - ["a440", "\uE5E6", 62], - ["a480", "\uE625", 32], - ["a4f4", "\uE772", 10], - ["a540", "\uE646", 62], - ["a580", "\uE685", 32], - ["a5f7", "\uE77D", 7], - ["a640", "\uE6A6", 62], - ["a680", "\uE6E5", 32], - ["a6b9", "\uE785", 7], - ["a6d9", "\uE78D", 6], - ["a6ec", "\uE794\uE795"], - ["a6f3", "\uE796"], - ["a6f6", "\uE797", 8], - ["a740", "\uE706", 62], - ["a780", "\uE745", 32], - ["a7c2", "\uE7A0", 14], - ["a7f2", "\uE7AF", 12], - ["a896", "\uE7BC", 10], - ["a8bc", "\uE7C7"], - ["a8bf", "\u01F9"], - ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], - ["a8ea", "\uE7CD", 20], - ["a958", "\uE7E2"], - ["a95b", "\uE7E3"], - ["a95d", "\uE7E4\uE7E5\uE7E6"], - ["a989", "\u303E\u2FF0", 11], - ["a997", "\uE7F4", 12], - ["a9f0", "\uE801", 14], - ["aaa1", "\uE000", 93], - ["aba1", "\uE05E", 93], - ["aca1", "\uE0BC", 93], - ["ada1", "\uE11A", 93], - ["aea1", "\uE178", 93], - ["afa1", "\uE1D6", 93], - ["d7fa", "\uE810", 4], - ["f8a1", "\uE234", 93], - ["f9a1", "\uE292", 93], - ["faa1", "\uE2F0", 93], - ["fba1", "\uE34E", 93], - ["fca1", "\uE3AC", 93], - ["fda1", "\uE40A", 93], - ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], - ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json -var require_gb18030_ranges = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module2) { - module2.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/cp949.json -var require_cp949 = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127], - ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], - ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], - ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], - ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], - ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], - ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], - ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], - ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], - ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], - ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], - ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], - ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], - ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], - ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], - ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], - ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], - ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], - ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], - ["8741", "\uB19E", 9, "\uB1A9", 15], - ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], - ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], - ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], - ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], - ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], - ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], - ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], - ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], - ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], - ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], - ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], - ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], - ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], - ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], - ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], - ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], - ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], - ["8d41", "\uB6C3", 16, "\uB6D5", 8], - ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], - ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], - ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], - ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], - ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], - ["8f41", "\uB885", 7, "\uB88E", 17], - ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], - ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], - ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], - ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], - ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], - ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], - ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], - ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], - ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], - ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], - ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], - ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], - ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], - ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], - ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], - ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], - ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], - ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], - ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], - ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], - ["9641", "\uBEB8", 23, "\uBED2\uBED3"], - ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], - ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], - ["9741", "\uBF83", 16, "\uBF95", 8], - ["9761", "\uBF9E", 17, "\uBFB1", 7], - ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], - ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], - ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], - ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], - ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], - ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], - ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], - ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], - ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], - ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], - ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], - ["9b61", "\uC333", 17, "\uC346", 7], - ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], - ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], - ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], - ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], - ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], - ["9d61", "\uC4C6", 25], - ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], - ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], - ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], - ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], - ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], - ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], - ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], - ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], - ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], - ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], - ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], - ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], - ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], - ["a241", "\uC910\uC912", 5, "\uC919", 18], - ["a261", "\uC92D", 6, "\uC935", 18], - ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], - ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], - ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], - ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], - ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], - ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], - ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], - ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], - ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], - ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], - ["a5b0", "\u2160", 9], - ["a5c1", "\u0391", 16, "\u03A3", 6], - ["a5e1", "\u03B1", 16, "\u03C3", 6], - ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], - ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], - ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], - ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], - ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], - ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], - ["a841", "\uCB6D", 10, "\uCB7A", 14], - ["a861", "\uCB89", 18, "\uCB9D", 6], - ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], - ["a8a6", "\u0132"], - ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], - ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], - ["a941", "\uCBC5", 14, "\uCBD5", 10], - ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], - ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], - ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], - ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], - ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], - ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], - ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], - ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], - ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], - ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], - ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], - ["acd1", "\u0430", 5, "\u0451\u0436", 25], - ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], - ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], - ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], - ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], - ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], - ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], - ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], - ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], - ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], - ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], - ["b061", "\uCEBB", 5, "\uCEC2", 19], - ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], - ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], - ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], - ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], - ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], - ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], - ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], - ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], - ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], - ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], - ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], - ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], - ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], - ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], - ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], - ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], - ["b641", "\uD105", 7, "\uD10E", 17], - ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], - ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], - ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], - ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], - ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], - ["b841", "\uD1D0", 7, "\uD1D9", 17], - ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], - ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], - ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], - ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], - ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], - ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], - ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], - ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], - ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], - ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], - ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], - ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], - ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], - ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], - ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], - ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], - ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], - ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], - ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], - ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], - ["bf41", "\uD49E", 10, "\uD4AA", 14], - ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], - ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], - ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], - ["c061", "\uD51E", 25], - ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], - ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], - ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], - ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], - ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], - ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], - ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], - ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], - ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], - ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], - ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], - ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], - ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], - ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], - ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], - ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], - ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], - ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], - ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], - ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], - ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], - ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], - ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], - ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], - ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], - ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], - ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], - ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], - ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], - ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], - ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], - ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], - ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], - ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], - ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], - ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], - ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], - ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], - ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], - ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], - ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], - ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], - ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], - ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], - ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], - ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], - ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], - ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], - ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], - ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], - ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], - ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], - ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], - ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], - ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], - ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], - ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], - ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], - ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], - ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], - ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], - ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], - ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], - ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], - ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], - ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], - ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], - ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], - ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], - ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], - ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], - ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/cp950.json -var require_cp950 = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module2) { - module2.exports = [ - ["0", "\0", 127], - ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], - ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], - ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], - ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], - ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], - ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], - ["a3e1", "\u20AC"], - ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], - ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], - ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], - ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], - ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], - ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], - ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], - ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], - ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], - ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], - ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], - ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], - ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], - ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], - ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], - ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], - ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], - ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], - ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], - ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], - ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], - ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], - ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], - ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], - ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], - ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], - ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], - ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], - ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], - ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], - ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], - ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], - ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], - ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], - ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], - ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], - ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], - ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], - ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], - ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], - ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], - ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], - ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], - ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], - ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], - ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], - ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], - ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], - ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], - ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], - ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], - ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], - ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], - ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], - ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], - ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], - ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], - ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], - ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], - ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], - ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], - ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], - ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], - ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], - ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], - ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], - ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], - ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], - ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], - ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], - ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], - ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], - ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], - ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], - ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], - ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], - ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], - ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], - ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], - ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], - ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], - ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], - ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], - ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], - ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], - ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], - ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], - ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], - ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], - ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], - ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], - ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], - ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], - ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], - ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], - ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], - ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], - ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], - ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], - ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], - ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], - ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], - ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], - ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], - ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], - ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], - ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], - ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], - ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], - ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], - ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], - ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], - ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], - ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], - ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], - ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], - ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], - ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], - ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], - ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], - ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], - ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], - ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], - ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], - ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], - ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], - ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], - ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], - ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], - ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], - ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], - ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], - ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], - ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], - ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], - ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], - ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], - ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], - ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], - ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], - ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], - ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], - ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], - ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], - ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], - ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], - ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], - ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], - ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], - ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], - ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], - ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], - ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], - ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], - ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], - ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], - ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], - ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], - ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], - ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], - ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], - ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], - ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], - ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], - ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], - ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], - ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/big5-added.json -var require_big5_added = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module2) { - module2.exports = [ - ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], - ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], - ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], - ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], - ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], - ["8940", "\u{2A3A9}\u{21145}"], - ["8943", "\u650A"], - ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], - ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], - ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], - ["89ab", "\u918C\u78B8\u915E\u80BC"], - ["89b0", "\u8D0B\u80F6\u{209E7}"], - ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], - ["89c1", "\u6E9A\u823E\u7519"], - ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], - ["8a40", "\u{27D84}\u5525"], - ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], - ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], - ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], - ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], - ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], - ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], - ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], - ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], - ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], - ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], - ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], - ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], - ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], - ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], - ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], - ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], - ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], - ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], - ["8cc9", "\u9868\u676B\u4276\u573D"], - ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], - ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], - ["8d40", "\u{20B9F}"], - ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], - ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], - ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], - ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], - ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], - ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], - ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], - ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], - ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], - ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], - ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], - ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], - ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], - ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], - ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], - ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], - ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], - ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], - ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], - ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], - ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], - ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], - ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], - ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], - ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], - ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], - ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], - ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], - ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], - ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], - ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], - ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], - ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], - ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], - ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], - ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], - ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], - ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], - ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], - ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], - ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], - ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], - ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], - ["9fae", "\u9159\u9681\u915C"], - ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], - ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], - ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], - ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], - ["9fe7", "\u6BFA\u8818\u7F78"], - ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], - ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], - ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], - ["a055", "\u{2183B}\u{26E05}"], - ["a058", "\u8A7E\u{2251B}"], - ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], - ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], - ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], - ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], - ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], - ["a0ae", "\u77FE"], - ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], - ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], - ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], - ["a3c0", "\u2400", 31, "\u2421"], - ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], - ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], - ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], - ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], - ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], - ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], - ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], - ["f9fe", "\uFFED"], - ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], - ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], - ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], - ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], - ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], - ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], - ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], - ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], - ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], - ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] - ]; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/dbcs-data.js -var require_dbcs_data = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module2) { - "use strict"; - module2.exports = { - // == Japanese/ShiftJIS ==================================================== - // All japanese encodings are based on JIS X set of standards: - // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. - // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. - // Has several variations in 1978, 1983, 1990 and 1997. - // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. - // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. - // 2 planes, first is superset of 0208, second - revised 0212. - // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) - // Byte encodings are: - // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte - // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. - // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. - // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. - // 0x00-0x7F - lower part of 0201 - // 0x8E, 0xA1-0xDF - upper part of 0201 - // (0xA1-0xFE)x2 - 0208 plane (94x94). - // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). - // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. - // Used as-is in ISO2022 family. - // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, - // 0201-1976 Roman, 0208-1978, 0208-1983. - // * ISO2022-JP-1: Adds esc seq for 0212-1990. - // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. - // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. - // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. - // - // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. - // - // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html - "shiftjis": { - type: "_dbcs", - table: function() { - return require_shiftjis(); - }, - encodeAdd: { "\xA5": 92, "\u203E": 126 }, - encodeSkipVals: [{ from: 60736, to: 63808 }] - }, - "csshiftjis": "shiftjis", - "mskanji": "shiftjis", - "sjis": "shiftjis", - "windows31j": "shiftjis", - "ms31j": "shiftjis", - "xsjis": "shiftjis", - "windows932": "shiftjis", - "ms932": "shiftjis", - "932": "shiftjis", - "cp932": "shiftjis", - "eucjp": { - type: "_dbcs", - table: function() { - return require_eucjp(); - }, - encodeAdd: { "\xA5": 92, "\u203E": 126 } - }, - // TODO: KDDI extension to Shift_JIS - // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. - // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. - // == Chinese/GBK ========================================================== - // http://en.wikipedia.org/wiki/GBK - // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder - // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 - "gb2312": "cp936", - "gb231280": "cp936", - "gb23121980": "cp936", - "csgb2312": "cp936", - "csiso58gb231280": "cp936", - "euccn": "cp936", - // Microsoft's CP936 is a subset and approximation of GBK. - "windows936": "cp936", - "ms936": "cp936", - "936": "cp936", - "cp936": { - type: "_dbcs", - table: function() { - return require_cp936(); - } - }, - // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. - "gbk": { - type: "_dbcs", - table: function() { - return require_cp936().concat(require_gbk_added()); - } - }, - "xgbk": "gbk", - "isoir58": "gbk", - // GB18030 is an algorithmic extension of GBK. - // Main source: https://www.w3.org/TR/encoding/#gbk-encoder - // http://icu-project.org/docs/papers/gb18030.html - // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml - // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 - "gb18030": { - type: "_dbcs", - table: function() { - return require_cp936().concat(require_gbk_added()); - }, - gb18030: function() { - return require_gb18030_ranges(); - }, - encodeSkipVals: [128], - encodeAdd: { "\u20AC": 41699 } - }, - "chinese": "gb18030", - // == Korean =============================================================== - // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. - "windows949": "cp949", - "ms949": "cp949", - "949": "cp949", - "cp949": { - type: "_dbcs", - table: function() { - return require_cp949(); - } - }, - "cseuckr": "cp949", - "csksc56011987": "cp949", - "euckr": "cp949", - "isoir149": "cp949", - "korean": "cp949", - "ksc56011987": "cp949", - "ksc56011989": "cp949", - "ksc5601": "cp949", - // == Big5/Taiwan/Hong Kong ================================================ - // There are lots of tables for Big5 and cp950. Please see the following links for history: - // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html - // Variations, in roughly number of defined chars: - // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT - // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ - // * Big5-2003 (Taiwan standard) almost superset of cp950. - // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. - // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. - // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. - // Plus, it has 4 combining sequences. - // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 - // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. - // Implementations are not consistent within browsers; sometimes labeled as just big5. - // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. - // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 - // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. - // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt - // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt - // - // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder - // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. - "windows950": "cp950", - "ms950": "cp950", - "950": "cp950", - "cp950": { - type: "_dbcs", - table: function() { - return require_cp950(); - } - }, - // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. - "big5": "big5hkscs", - "big5hkscs": { - type: "_dbcs", - table: function() { - return require_cp950().concat(require_big5_added()); - }, - encodeSkipVals: [41676] - }, - "cnbig5": "big5hkscs", - "csbig5": "big5hkscs", - "xxbig5": "big5hkscs" - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/index.js -var require_encodings = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/encodings/index.js"(exports, module2) { - "use strict"; - var modules = [ - require_internal(), - require_utf16(), - require_utf7(), - require_sbcs_codec(), - require_sbcs_data(), - require_sbcs_data_generated(), - require_dbcs_codec(), - require_dbcs_data() - ]; - for (i = 0; i < modules.length; i++) { - module2 = modules[i]; - for (enc in module2) - if (Object.prototype.hasOwnProperty.call(module2, enc)) - exports[enc] = module2[enc]; - } - var module2; - var enc; - var i; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/streams.js -var require_streams = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/streams.js"(exports, module2) { - "use strict"; - var Buffer2 = require("buffer").Buffer; - var Transform = require("stream").Transform; - module2.exports = function(iconv) { - iconv.encodeStream = function encodeStream(encoding, options) { - return new IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options); - }; - iconv.decodeStream = function decodeStream(encoding, options) { - return new IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options); - }; - iconv.supportsStreams = true; - iconv.IconvLiteEncoderStream = IconvLiteEncoderStream; - iconv.IconvLiteDecoderStream = IconvLiteDecoderStream; - iconv._collect = IconvLiteDecoderStream.prototype.collect; - }; - function IconvLiteEncoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.decodeStrings = false; - Transform.call(this, options); - } - IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteEncoderStream } - }); - IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { - if (typeof chunk != "string") - return done(new Error("Iconv encoding stream needs strings as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) - this.push(res); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteEncoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) - this.push(res); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteEncoderStream.prototype.collect = function(cb) { - var chunks = []; - this.on("error", cb); - this.on("data", function(chunk) { - chunks.push(chunk); - }); - this.on("end", function() { - cb(null, Buffer2.concat(chunks)); - }); - return this; - }; - function IconvLiteDecoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.encoding = this.encoding = "utf8"; - Transform.call(this, options); - } - IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteDecoderStream } - }); - IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { - if (!Buffer2.isBuffer(chunk)) - return done(new Error("Iconv decoding stream needs buffers as its input.")); - try { - var res = this.conv.write(chunk); - if (res && res.length) - this.push(res, this.encoding); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteDecoderStream.prototype._flush = function(done) { - try { - var res = this.conv.end(); - if (res && res.length) - this.push(res, this.encoding); - done(); - } catch (e) { - done(e); - } - }; - IconvLiteDecoderStream.prototype.collect = function(cb) { - var res = ""; - this.on("error", cb); - this.on("data", function(chunk) { - res += chunk; - }); - this.on("end", function() { - cb(null, res); - }); - return this; - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/extend-node.js -var require_extend_node = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/extend-node.js"(exports, module2) { - "use strict"; - var Buffer2 = require("buffer").Buffer; - module2.exports = function(iconv) { - var original = void 0; - iconv.supportsNodeEncodingsExtension = !(Buffer2.from || new Buffer2(0) instanceof Uint8Array); - iconv.extendNodeEncodings = function extendNodeEncodings() { - if (original) - return; - original = {}; - if (!iconv.supportsNodeEncodingsExtension) { - console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"); - console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility"); - return; - } - var nodeNativeEncodings = { - "hex": true, - "utf8": true, - "utf-8": true, - "ascii": true, - "binary": true, - "base64": true, - "ucs2": true, - "ucs-2": true, - "utf16le": true, - "utf-16le": true - }; - Buffer2.isNativeEncoding = function(enc) { - return enc && nodeNativeEncodings[enc.toLowerCase()]; - }; - var SlowBuffer = require("buffer").SlowBuffer; - original.SlowBufferToString = SlowBuffer.prototype.toString; - SlowBuffer.prototype.toString = function(encoding, start, end) { - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.SlowBufferToString.call(this, encoding, start, end); - if (typeof start == "undefined") - start = 0; - if (typeof end == "undefined") - end = this.length; - return iconv.decode(this.slice(start, end), encoding); - }; - original.SlowBufferWrite = SlowBuffer.prototype.write; - SlowBuffer.prototype.write = function(string, offset, length, encoding) { - if (isFinite(offset)) { - if (!isFinite(length)) { - encoding = length; - length = void 0; - } - } else { - var swap = encoding; - encoding = offset; - offset = length; - length = swap; - } - offset = +offset || 0; - var remaining = this.length - offset; - if (!length) { - length = remaining; - } else { - length = +length; - if (length > remaining) { - length = remaining; - } - } - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.SlowBufferWrite.call(this, string, offset, length, encoding); - if (string.length > 0 && (length < 0 || offset < 0)) - throw new RangeError("attempt to write beyond buffer bounds"); - var buf = iconv.encode(string, encoding); - if (buf.length < length) - length = buf.length; - buf.copy(this, offset, 0, length); - return length; - }; - original.BufferIsEncoding = Buffer2.isEncoding; - Buffer2.isEncoding = function(encoding) { - return Buffer2.isNativeEncoding(encoding) || iconv.encodingExists(encoding); - }; - original.BufferByteLength = Buffer2.byteLength; - Buffer2.byteLength = SlowBuffer.byteLength = function(str, encoding) { - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.BufferByteLength.call(this, str, encoding); - return iconv.encode(str, encoding).length; - }; - original.BufferToString = Buffer2.prototype.toString; - Buffer2.prototype.toString = function(encoding, start, end) { - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.BufferToString.call(this, encoding, start, end); - if (typeof start == "undefined") - start = 0; - if (typeof end == "undefined") - end = this.length; - return iconv.decode(this.slice(start, end), encoding); - }; - original.BufferWrite = Buffer2.prototype.write; - Buffer2.prototype.write = function(string, offset, length, encoding) { - var _offset = offset, _length = length, _encoding = encoding; - if (isFinite(offset)) { - if (!isFinite(length)) { - encoding = length; - length = void 0; - } - } else { - var swap = encoding; - encoding = offset; - offset = length; - length = swap; - } - encoding = String(encoding || "utf8").toLowerCase(); - if (Buffer2.isNativeEncoding(encoding)) - return original.BufferWrite.call(this, string, _offset, _length, _encoding); - offset = +offset || 0; - var remaining = this.length - offset; - if (!length) { - length = remaining; - } else { - length = +length; - if (length > remaining) { - length = remaining; - } - } - if (string.length > 0 && (length < 0 || offset < 0)) - throw new RangeError("attempt to write beyond buffer bounds"); - var buf = iconv.encode(string, encoding); - if (buf.length < length) - length = buf.length; - buf.copy(this, offset, 0, length); - return length; - }; - if (iconv.supportsStreams) { - var Readable = require("stream").Readable; - original.ReadableSetEncoding = Readable.prototype.setEncoding; - Readable.prototype.setEncoding = function setEncoding(enc, options) { - this._readableState.decoder = iconv.getDecoder(enc, options); - this._readableState.encoding = enc; - }; - Readable.prototype.collect = iconv._collect; - } - }; - iconv.undoExtendNodeEncodings = function undoExtendNodeEncodings() { - if (!iconv.supportsNodeEncodingsExtension) - return; - if (!original) - throw new Error("require('iconv-lite').undoExtendNodeEncodings(): Nothing to undo; extendNodeEncodings() is not called."); - delete Buffer2.isNativeEncoding; - var SlowBuffer = require("buffer").SlowBuffer; - SlowBuffer.prototype.toString = original.SlowBufferToString; - SlowBuffer.prototype.write = original.SlowBufferWrite; - Buffer2.isEncoding = original.BufferIsEncoding; - Buffer2.byteLength = original.BufferByteLength; - Buffer2.prototype.toString = original.BufferToString; - Buffer2.prototype.write = original.BufferWrite; - if (iconv.supportsStreams) { - var Readable = require("stream").Readable; - Readable.prototype.setEncoding = original.ReadableSetEncoding; - delete Readable.prototype.collect; - } - original = void 0; - }; - }; - } -}); - -// .yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/index.js -var require_lib2 = __commonJS({ - ".yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-6cc23a171d.zip/node_modules/iconv-lite/lib/index.js"(exports, module2) { - "use strict"; - var Buffer2 = require_safer().Buffer; - var bomHandling = require_bom_handling(); - var iconv = module2.exports; - iconv.encodings = null; - iconv.defaultCharUnicode = "\uFFFD"; - iconv.defaultCharSingleByte = "?"; - iconv.encode = function encode(str, encoding, options) { - str = "" + (str || ""); - var encoder = iconv.getEncoder(encoding, options); - var res = encoder.write(str); - var trail = encoder.end(); - return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; - }; - iconv.decode = function decode(buf, encoding, options) { - if (typeof buf === "string") { - if (!iconv.skipDecodeWarning) { - console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); - iconv.skipDecodeWarning = true; - } - buf = Buffer2.from("" + (buf || ""), "binary"); - } - var decoder = iconv.getDecoder(encoding, options); - var res = decoder.write(buf); - var trail = decoder.end(); - return trail ? res + trail : res; - }; - iconv.encodingExists = function encodingExists(enc) { - try { - iconv.getCodec(enc); - return true; - } catch (e) { - return false; - } - }; - iconv.toEncoding = iconv.encode; - iconv.fromEncoding = iconv.decode; - iconv._codecDataCache = {}; - iconv.getCodec = function getCodec(encoding) { - if (!iconv.encodings) - iconv.encodings = require_encodings(); - var enc = iconv._canonicalizeEncoding(encoding); - var codecOptions = {}; - while (true) { - var codec = iconv._codecDataCache[enc]; - if (codec) - return codec; - var codecDef = iconv.encodings[enc]; - switch (typeof codecDef) { - case "string": - enc = codecDef; - break; - case "object": - for (var key in codecDef) - codecOptions[key] = codecDef[key]; - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - enc = codecDef.type; - break; - case "function": - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - codec = new codecDef(codecOptions, iconv); - iconv._codecDataCache[codecOptions.encodingName] = codec; - return codec; - default: - throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); - } - } - }; - iconv._canonicalizeEncoding = function(encoding) { - return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); - }; - iconv.getEncoder = function getEncoder(encoding, options) { - var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec); - if (codec.bomAware && options && options.addBOM) - encoder = new bomHandling.PrependBOM(encoder, options); - return encoder; - }; - iconv.getDecoder = function getDecoder(encoding, options) { - var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec); - if (codec.bomAware && !(options && options.stripBOM === false)) - decoder = new bomHandling.StripBOM(decoder, options); - return decoder; - }; - var nodeVer = typeof process !== "undefined" && process.versions && process.versions.node; - if (nodeVer) { - nodeVerArr = nodeVer.split(".").map(Number); - if (nodeVerArr[0] > 0 || nodeVerArr[1] >= 10) { - require_streams()(iconv); - } - require_extend_node()(iconv); - } - var nodeVerArr; - if (false) { - console.error("iconv-lite warning: javascript files use encoding different from utf-8. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); - } - } -}); - -// .yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-0504c357ea.zip/node_modules/unpipe/index.js -var require_unpipe = __commonJS({ - ".yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-0504c357ea.zip/node_modules/unpipe/index.js"(exports, module2) { - "use strict"; - module2.exports = unpipe; - function hasPipeDataListeners(stream) { - var listeners = stream.listeners("data"); - for (var i = 0; i < listeners.length; i++) { - if (listeners[i].name === "ondata") { - return true; - } - } - return false; - } - function unpipe(stream) { - if (!stream) { - throw new TypeError("argument stream is required"); - } - if (typeof stream.unpipe === "function") { - stream.unpipe(); - return; - } - if (!hasPipeDataListeners(stream)) { - return; - } - var listener; - var listeners = stream.listeners("close"); - for (var i = 0; i < listeners.length; i++) { - listener = listeners[i]; - if (listener.name !== "cleanup" && listener.name !== "onclose") { - continue; - } - listener.call(stream); - } - } - } -}); - -// .yarn/cache/raw-body-npm-2.5.1-9dd1d9fff9-b5e41c0e72.zip/node_modules/raw-body/index.js -var require_raw_body = __commonJS({ - ".yarn/cache/raw-body-npm-2.5.1-9dd1d9fff9-b5e41c0e72.zip/node_modules/raw-body/index.js"(exports, module2) { - "use strict"; - var asyncHooks = tryRequireAsyncHooks(); - var bytes = require_bytes(); - var createError = require_http_errors(); - var iconv = require_lib2(); - var unpipe = require_unpipe(); - module2.exports = getRawBody; - var ICONV_ENCODING_MESSAGE_REGEXP = /^Encoding not recognized: /; - function getDecoder(encoding) { - if (!encoding) - return null; - try { - return iconv.getDecoder(encoding); - } catch (e) { - if (!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message)) - throw e; - throw createError(415, "specified encoding unsupported", { - encoding, - type: "encoding.unsupported" - }); - } - } - function getRawBody(stream, options, callback) { - var done = callback; - var opts = options || {}; - if (options === true || typeof options === "string") { - opts = { - encoding: options - }; - } - if (typeof options === "function") { - done = options; - opts = {}; - } - if (done !== void 0 && typeof done !== "function") { - throw new TypeError("argument callback must be a function"); - } - if (!done && !global.Promise) { - throw new TypeError("argument callback is required"); - } - var encoding = opts.encoding !== true ? opts.encoding : "utf-8"; - var limit = bytes.parse(opts.limit); - var length = opts.length != null && !isNaN(opts.length) ? parseInt(opts.length, 10) : null; - if (done) { - return readStream(stream, encoding, length, limit, wrap(done)); - } - return new Promise(function executor(resolve, reject) { - readStream(stream, encoding, length, limit, function onRead(err, buf) { - if (err) - return reject(err); - resolve(buf); - }); - }); - } - function halt(stream) { - unpipe(stream); - if (typeof stream.pause === "function") { - stream.pause(); - } - } - function readStream(stream, encoding, length, limit, callback) { - var complete = false; - var sync = true; - if (limit !== null && length !== null && length > limit) { - return done(createError(413, "request entity too large", { - expected: length, - length, - limit, - type: "entity.too.large" - })); - } - var state = stream._readableState; - if (stream._decoder || state && (state.encoding || state.decoder)) { - return done(createError(500, "stream encoding should not be set", { - type: "stream.encoding.set" - })); - } - if (typeof stream.readable !== "undefined" && !stream.readable) { - return done(createError(500, "stream is not readable", { - type: "stream.not.readable" - })); - } - var received = 0; - var decoder; - try { - decoder = getDecoder(encoding); - } catch (err) { - return done(err); - } - var buffer = decoder ? "" : []; - stream.on("aborted", onAborted); - stream.on("close", cleanup); - stream.on("data", onData); - stream.on("end", onEnd); - stream.on("error", onEnd); - sync = false; - function done() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - complete = true; - if (sync) { - process.nextTick(invokeCallback); - } else { - invokeCallback(); - } - function invokeCallback() { - cleanup(); - if (args[0]) { - halt(stream); - } - callback.apply(null, args); - } - } - function onAborted() { - if (complete) - return; - done(createError(400, "request aborted", { - code: "ECONNABORTED", - expected: length, - length, - received, - type: "request.aborted" - })); - } - function onData(chunk) { - if (complete) - return; - received += chunk.length; - if (limit !== null && received > limit) { - done(createError(413, "request entity too large", { - limit, - received, - type: "entity.too.large" - })); - } else if (decoder) { - buffer += decoder.write(chunk); - } else { - buffer.push(chunk); - } - } - function onEnd(err) { - if (complete) - return; - if (err) - return done(err); - if (length !== null && received !== length) { - done(createError(400, "request size did not match content length", { - expected: length, - length, - received, - type: "request.size.invalid" - })); - } else { - var string = decoder ? buffer + (decoder.end() || "") : Buffer.concat(buffer); - done(null, string); - } - } - function cleanup() { - buffer = null; - stream.removeListener("aborted", onAborted); - stream.removeListener("data", onData); - stream.removeListener("end", onEnd); - stream.removeListener("error", onEnd); - stream.removeListener("close", cleanup); - } - } - function tryRequireAsyncHooks() { - try { - return require("async_hooks"); - } catch (e) { - return {}; - } - } - function wrap(fn2) { - var res; - if (asyncHooks.AsyncResource) { - res = new asyncHooks.AsyncResource(fn2.name || "bound-anonymous-fn"); - } - if (!res || !res.runInAsyncScope) { - return fn2; - } - return res.runInAsyncScope.bind(res, fn2, null); - } - } -}); - -// .yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-469cd61a70.zip/node_modules/http-proxy-agent/dist/agent.js -var require_agent = __commonJS({ - ".yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-469cd61a70.zip/node_modules/http-proxy-agent/dist/agent.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var net_1 = __importDefault2(require("net")); - var tls_1 = __importDefault2(require("tls")); - var url_1 = __importDefault2(require("url")); - var debug_1 = __importDefault2(require_src2()); - var once_1 = __importDefault2(require_dist()); - var agent_base_1 = require_src3(); - var debug2 = debug_1.default("http-proxy-agent"); - function isHTTPS(protocol) { - return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false; - } - var HttpProxyAgent = class extends agent_base_1.Agent { - constructor(_opts) { - let opts; - if (typeof _opts === "string") { - opts = url_1.default.parse(_opts); - } else { - opts = _opts; - } - if (!opts) { - throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!"); - } - debug2("Creating new HttpProxyAgent instance: %o", opts); - super(opts); - const proxy = Object.assign({}, opts); - this.secureProxy = opts.secureProxy || isHTTPS(proxy.protocol); - proxy.host = proxy.hostname || proxy.host; - if (typeof proxy.port === "string") { - proxy.port = parseInt(proxy.port, 10); - } - if (!proxy.port && proxy.host) { - proxy.port = this.secureProxy ? 443 : 80; - } - if (proxy.host && proxy.path) { - delete proxy.path; - delete proxy.pathname; - } - this.proxy = proxy; - } - /** - * Called when the node-core HTTP client library is creating a - * new HTTP request. - * - * @api protected - */ - callback(req, opts) { - return __awaiter2(this, void 0, void 0, function* () { - const { proxy, secureProxy } = this; - const parsed = url_1.default.parse(req.path); - if (!parsed.protocol) { - parsed.protocol = "http:"; - } - if (!parsed.hostname) { - parsed.hostname = opts.hostname || opts.host || null; - } - if (parsed.port == null && typeof opts.port) { - parsed.port = String(opts.port); - } - if (parsed.port === "80") { - delete parsed.port; - } - req.path = url_1.default.format(parsed); - if (proxy.auth) { - req.setHeader("Proxy-Authorization", `Basic ${Buffer.from(proxy.auth).toString("base64")}`); - } - let socket; - if (secureProxy) { - debug2("Creating `tls.Socket`: %o", proxy); - socket = tls_1.default.connect(proxy); - } else { - debug2("Creating `net.Socket`: %o", proxy); - socket = net_1.default.connect(proxy); - } - if (req._header) { - let first; - let endOfHeaders; - debug2("Regenerating stored HTTP header string for request"); - req._header = null; - req._implicitHeader(); - if (req.output && req.output.length > 0) { - debug2("Patching connection write() output buffer with updated header"); - first = req.output[0]; - endOfHeaders = first.indexOf("\r\n\r\n") + 4; - req.output[0] = req._header + first.substring(endOfHeaders); - debug2("Output buffer: %o", req.output); - } else if (req.outputData && req.outputData.length > 0) { - debug2("Patching connection write() output buffer with updated header"); - first = req.outputData[0].data; - endOfHeaders = first.indexOf("\r\n\r\n") + 4; - req.outputData[0].data = req._header + first.substring(endOfHeaders); - debug2("Output buffer: %o", req.outputData[0].data); - } - } - yield once_1.default(socket, "connect"); - return socket; - }); - } - }; - exports.default = HttpProxyAgent; - } -}); - -// .yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-469cd61a70.zip/node_modules/http-proxy-agent/dist/index.js -var require_dist3 = __commonJS({ - ".yarn/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-469cd61a70.zip/node_modules/http-proxy-agent/dist/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var agent_1 = __importDefault2(require_agent()); - function createHttpProxyAgent(opts) { - return new agent_1.default(opts); - } - (function(createHttpProxyAgent2) { - createHttpProxyAgent2.HttpProxyAgent = agent_1.default; - createHttpProxyAgent2.prototype = agent_1.default.prototype; - })(createHttpProxyAgent || (createHttpProxyAgent = {})); - module2.exports = createHttpProxyAgent; - } -}); - -// .yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-8e767faec9.zip/node_modules/https-proxy-agent/dist/parse-proxy-response.js -var require_parse_proxy_response = __commonJS({ - ".yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-8e767faec9.zip/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var debug_1 = __importDefault2(require_src2()); - var debug2 = debug_1.default("https-proxy-agent:parse-proxy-response"); - function parseProxyResponse(socket) { - return new Promise((resolve, reject) => { - let buffersLength = 0; - const buffers = []; - function read() { - const b = socket.read(); - if (b) - ondata(b); - else - socket.once("readable", read); - } - function cleanup() { - socket.removeListener("end", onend); - socket.removeListener("error", onerror); - socket.removeListener("close", onclose); - socket.removeListener("readable", read); - } - function onclose(err) { - debug2("onclose had error %o", err); - } - function onend() { - debug2("onend"); - } - function onerror(err) { - cleanup(); - debug2("onerror %o", err); - reject(err); - } - function ondata(b) { - buffers.push(b); - buffersLength += b.length; - const buffered = Buffer.concat(buffers, buffersLength); - const endOfHeaders = buffered.indexOf("\r\n\r\n"); - if (endOfHeaders === -1) { - debug2("have not received end of HTTP headers yet..."); - read(); - return; - } - const firstLine = buffered.toString("ascii", 0, buffered.indexOf("\r\n")); - const statusCode = +firstLine.split(" ")[1]; - debug2("got proxy server response: %o", firstLine); - resolve({ - statusCode, - buffered - }); - } - socket.on("error", onerror); - socket.on("close", onclose); - socket.on("end", onend); - read(); - }); - } - exports.default = parseProxyResponse; - } -}); - -// .yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-8e767faec9.zip/node_modules/https-proxy-agent/dist/agent.js -var require_agent2 = __commonJS({ - ".yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-8e767faec9.zip/node_modules/https-proxy-agent/dist/agent.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var net_1 = __importDefault2(require("net")); - var tls_1 = __importDefault2(require("tls")); - var url_1 = __importDefault2(require("url")); - var assert_1 = __importDefault2(require("assert")); - var debug_1 = __importDefault2(require_src2()); - var agent_base_1 = require_src3(); - var parse_proxy_response_1 = __importDefault2(require_parse_proxy_response()); - var debug2 = debug_1.default("https-proxy-agent:agent"); - var HttpsProxyAgent = class extends agent_base_1.Agent { - constructor(_opts) { - let opts; - if (typeof _opts === "string") { - opts = url_1.default.parse(_opts); - } else { - opts = _opts; - } - if (!opts) { - throw new Error("an HTTP(S) proxy server `host` and `port` must be specified!"); - } - debug2("creating new HttpsProxyAgent instance: %o", opts); - super(opts); - const proxy = Object.assign({}, opts); - this.secureProxy = opts.secureProxy || isHTTPS(proxy.protocol); - proxy.host = proxy.hostname || proxy.host; - if (typeof proxy.port === "string") { - proxy.port = parseInt(proxy.port, 10); - } - if (!proxy.port && proxy.host) { - proxy.port = this.secureProxy ? 443 : 80; - } - if (this.secureProxy && !("ALPNProtocols" in proxy)) { - proxy.ALPNProtocols = ["http 1.1"]; - } - if (proxy.host && proxy.path) { - delete proxy.path; - delete proxy.pathname; - } - this.proxy = proxy; - } - /** - * Called when the node-core HTTP client library is creating a - * new HTTP request. - * - * @api protected - */ - callback(req, opts) { - return __awaiter2(this, void 0, void 0, function* () { - const { proxy, secureProxy } = this; - let socket; - if (secureProxy) { - debug2("Creating `tls.Socket`: %o", proxy); - socket = tls_1.default.connect(proxy); - } else { - debug2("Creating `net.Socket`: %o", proxy); - socket = net_1.default.connect(proxy); - } - const headers = Object.assign({}, proxy.headers); - const hostname = `${opts.host}:${opts.port}`; - let payload = `CONNECT ${hostname} HTTP/1.1\r -`; - if (proxy.auth) { - headers["Proxy-Authorization"] = `Basic ${Buffer.from(proxy.auth).toString("base64")}`; - } - let { host, port, secureEndpoint } = opts; - if (!isDefaultPort(port, secureEndpoint)) { - host += `:${port}`; - } - headers.Host = host; - headers.Connection = "close"; - for (const name of Object.keys(headers)) { - payload += `${name}: ${headers[name]}\r -`; - } - const proxyResponsePromise = parse_proxy_response_1.default(socket); - socket.write(`${payload}\r -`); - const { statusCode, buffered } = yield proxyResponsePromise; - if (statusCode === 200) { - req.once("socket", resume); - if (opts.secureEndpoint) { - debug2("Upgrading socket connection to TLS"); - const servername = opts.servername || opts.host; - return tls_1.default.connect(Object.assign(Object.assign({}, omit(opts, "host", "hostname", "path", "port")), { - socket, - servername - })); - } - return socket; - } - socket.destroy(); - const fakeSocket = new net_1.default.Socket({ writable: false }); - fakeSocket.readable = true; - req.once("socket", (s) => { - debug2("replaying proxy buffer for failed request"); - assert_1.default(s.listenerCount("data") > 0); - s.push(buffered); - s.push(null); - }); - return fakeSocket; - }); - } - }; - exports.default = HttpsProxyAgent; - function resume(socket) { - socket.resume(); - } - function isDefaultPort(port, secure) { - return Boolean(!secure && port === 80 || secure && port === 443); - } - function isHTTPS(protocol) { - return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false; - } - function omit(obj, ...keys) { - const ret = {}; - let key; - for (key in obj) { - if (!keys.includes(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - } -}); - -// .yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-8e767faec9.zip/node_modules/https-proxy-agent/dist/index.js -var require_dist4 = __commonJS({ - ".yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-8e767faec9.zip/node_modules/https-proxy-agent/dist/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var agent_1 = __importDefault2(require_agent2()); - function createHttpsProxyAgent(opts) { - return new agent_1.default(opts); - } - (function(createHttpsProxyAgent2) { - createHttpsProxyAgent2.HttpsProxyAgent = agent_1.default; - createHttpsProxyAgent2.prototype = agent_1.default.prototype; - })(createHttpsProxyAgent || (createHttpsProxyAgent = {})); - module2.exports = createHttpsProxyAgent; - } -}); - -// .yarn/cache/ip-npm-2.0.0-204facb3cc-42a7cf251b.zip/node_modules/ip/lib/ip.js -var require_ip = __commonJS({ - ".yarn/cache/ip-npm-2.0.0-204facb3cc-42a7cf251b.zip/node_modules/ip/lib/ip.js"(exports) { - var ip = exports; - var { Buffer: Buffer2 } = require("buffer"); - var os2 = require("os"); - ip.toBuffer = function(ip2, buff, offset) { - offset = ~~offset; - let result; - if (this.isV4Format(ip2)) { - result = buff || Buffer2.alloc(offset + 4); - ip2.split(/\./g).map((byte) => { - result[offset++] = parseInt(byte, 10) & 255; - }); - } else if (this.isV6Format(ip2)) { - const sections = ip2.split(":", 8); - let i; - for (i = 0; i < sections.length; i++) { - const isv4 = this.isV4Format(sections[i]); - let v4Buffer; - if (isv4) { - v4Buffer = this.toBuffer(sections[i]); - sections[i] = v4Buffer.slice(0, 2).toString("hex"); - } - if (v4Buffer && ++i < 8) { - sections.splice(i, 0, v4Buffer.slice(2, 4).toString("hex")); - } - } - if (sections[0] === "") { - while (sections.length < 8) - sections.unshift("0"); - } else if (sections[sections.length - 1] === "") { - while (sections.length < 8) - sections.push("0"); - } else if (sections.length < 8) { - for (i = 0; i < sections.length && sections[i] !== ""; i++) - ; - const argv = [i, 1]; - for (i = 9 - sections.length; i > 0; i--) { - argv.push("0"); - } - sections.splice(...argv); - } - result = buff || Buffer2.alloc(offset + 16); - for (i = 0; i < sections.length; i++) { - const word = parseInt(sections[i], 16); - result[offset++] = word >> 8 & 255; - result[offset++] = word & 255; - } - } - if (!result) { - throw Error(`Invalid ip address: ${ip2}`); - } - return result; - }; - ip.toString = function(buff, offset, length) { - offset = ~~offset; - length = length || buff.length - offset; - let result = []; - if (length === 4) { - for (let i = 0; i < length; i++) { - result.push(buff[offset + i]); - } - result = result.join("."); - } else if (length === 16) { - for (let i = 0; i < length; i += 2) { - result.push(buff.readUInt16BE(offset + i).toString(16)); - } - result = result.join(":"); - result = result.replace(/(^|:)0(:0)*:0(:|$)/, "$1::$3"); - result = result.replace(/:{3,4}/, "::"); - } - return result; - }; - var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; - var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; - ip.isV4Format = function(ip2) { - return ipv4Regex.test(ip2); - }; - ip.isV6Format = function(ip2) { - return ipv6Regex.test(ip2); - }; - function _normalizeFamily(family) { - if (family === 4) { - return "ipv4"; - } - if (family === 6) { - return "ipv6"; - } - return family ? family.toLowerCase() : "ipv4"; - } - ip.fromPrefixLen = function(prefixlen, family) { - if (prefixlen > 32) { - family = "ipv6"; - } else { - family = _normalizeFamily(family); - } - let len = 4; - if (family === "ipv6") { - len = 16; - } - const buff = Buffer2.alloc(len); - for (let i = 0, n = buff.length; i < n; ++i) { - let bits = 8; - if (prefixlen < 8) { - bits = prefixlen; - } - prefixlen -= bits; - buff[i] = ~(255 >> bits) & 255; - } - return ip.toString(buff); - }; - ip.mask = function(addr, mask) { - addr = ip.toBuffer(addr); - mask = ip.toBuffer(mask); - const result = Buffer2.alloc(Math.max(addr.length, mask.length)); - let i; - if (addr.length === mask.length) { - for (i = 0; i < addr.length; i++) { - result[i] = addr[i] & mask[i]; - } - } else if (mask.length === 4) { - for (i = 0; i < mask.length; i++) { - result[i] = addr[addr.length - 4 + i] & mask[i]; - } - } else { - for (i = 0; i < result.length - 6; i++) { - result[i] = 0; - } - result[10] = 255; - result[11] = 255; - for (i = 0; i < addr.length; i++) { - result[i + 12] = addr[i] & mask[i + 12]; - } - i += 12; - } - for (; i < result.length; i++) { - result[i] = 0; - } - return ip.toString(result); - }; - ip.cidr = function(cidrString) { - const cidrParts = cidrString.split("/"); - const addr = cidrParts[0]; - if (cidrParts.length !== 2) { - throw new Error(`invalid CIDR subnet: ${addr}`); - } - const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); - return ip.mask(addr, mask); - }; - ip.subnet = function(addr, mask) { - const networkAddress = ip.toLong(ip.mask(addr, mask)); - const maskBuffer = ip.toBuffer(mask); - let maskLength = 0; - for (let i = 0; i < maskBuffer.length; i++) { - if (maskBuffer[i] === 255) { - maskLength += 8; - } else { - let octet = maskBuffer[i] & 255; - while (octet) { - octet = octet << 1 & 255; - maskLength++; - } - } - } - const numberOfAddresses = 2 ** (32 - maskLength); - return { - networkAddress: ip.fromLong(networkAddress), - firstAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress) : ip.fromLong(networkAddress + 1), - lastAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress + numberOfAddresses - 1) : ip.fromLong(networkAddress + numberOfAddresses - 2), - broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1), - subnetMask: mask, - subnetMaskLength: maskLength, - numHosts: numberOfAddresses <= 2 ? numberOfAddresses : numberOfAddresses - 2, - length: numberOfAddresses, - contains(other) { - return networkAddress === ip.toLong(ip.mask(other, mask)); - } - }; - }; - ip.cidrSubnet = function(cidrString) { - const cidrParts = cidrString.split("/"); - const addr = cidrParts[0]; - if (cidrParts.length !== 2) { - throw new Error(`invalid CIDR subnet: ${addr}`); - } - const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); - return ip.subnet(addr, mask); - }; - ip.not = function(addr) { - const buff = ip.toBuffer(addr); - for (let i = 0; i < buff.length; i++) { - buff[i] = 255 ^ buff[i]; - } - return ip.toString(buff); - }; - ip.or = function(a, b) { - a = ip.toBuffer(a); - b = ip.toBuffer(b); - if (a.length === b.length) { - for (let i = 0; i < a.length; ++i) { - a[i] |= b[i]; - } - return ip.toString(a); - } - let buff = a; - let other = b; - if (b.length > a.length) { - buff = b; - other = a; - } - const offset = buff.length - other.length; - for (let i = offset; i < buff.length; ++i) { - buff[i] |= other[i - offset]; - } - return ip.toString(buff); - }; - ip.isEqual = function(a, b) { - a = ip.toBuffer(a); - b = ip.toBuffer(b); - if (a.length === b.length) { - for (let i = 0; i < a.length; i++) { - if (a[i] !== b[i]) - return false; - } - return true; - } - if (b.length === 4) { - const t = b; - b = a; - a = t; - } - for (let i = 0; i < 10; i++) { - if (b[i] !== 0) - return false; - } - const word = b.readUInt16BE(10); - if (word !== 0 && word !== 65535) - return false; - for (let i = 0; i < 4; i++) { - if (a[i] !== b[i + 12]) - return false; - } - return true; - }; - ip.isPrivate = function(addr) { - return /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^f[cd][0-9a-f]{2}:/i.test(addr) || /^fe80:/i.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); - }; - ip.isPublic = function(addr) { - return !ip.isPrivate(addr); - }; - ip.isLoopback = function(addr) { - return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || /^fe80::1$/.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); - }; - ip.loopback = function(family) { - family = _normalizeFamily(family); - if (family !== "ipv4" && family !== "ipv6") { - throw new Error("family must be ipv4 or ipv6"); - } - return family === "ipv4" ? "127.0.0.1" : "fe80::1"; - }; - ip.address = function(name, family) { - const interfaces = os2.networkInterfaces(); - family = _normalizeFamily(family); - if (name && name !== "private" && name !== "public") { - const res = interfaces[name].filter((details) => { - const itemFamily = _normalizeFamily(details.family); - return itemFamily === family; - }); - if (res.length === 0) { - return void 0; - } - return res[0].address; - } - const all = Object.keys(interfaces).map((nic) => { - const addresses = interfaces[nic].filter((details) => { - details.family = _normalizeFamily(details.family); - if (details.family !== family || ip.isLoopback(details.address)) { - return false; - } - if (!name) { - return true; - } - return name === "public" ? ip.isPrivate(details.address) : ip.isPublic(details.address); - }); - return addresses.length ? addresses[0].address : void 0; - }).filter(Boolean); - return !all.length ? ip.loopback(family) : all[0]; - }; - ip.toLong = function(ip2) { - let ipl = 0; - ip2.split(".").forEach((octet) => { - ipl <<= 8; - ipl += parseInt(octet); - }); - return ipl >>> 0; - }; - ip.fromLong = function(ipl) { - return `${ipl >>> 24}.${ipl >> 16 & 255}.${ipl >> 8 & 255}.${ipl & 255}`; - }; - } -}); - -// .yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/utils.js -var require_utils = __commonJS({ - ".yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/utils.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var buffer_1 = require("buffer"); - var ERRORS = { - INVALID_ENCODING: "Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.", - INVALID_SMARTBUFFER_SIZE: "Invalid size provided. Size must be a valid integer greater than zero.", - INVALID_SMARTBUFFER_BUFFER: "Invalid Buffer provided in SmartBufferOptions.", - INVALID_SMARTBUFFER_OBJECT: "Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.", - INVALID_OFFSET: "An invalid offset value was provided.", - INVALID_OFFSET_NON_NUMBER: "An invalid offset value was provided. A numeric value is required.", - INVALID_LENGTH: "An invalid length value was provided.", - INVALID_LENGTH_NON_NUMBER: "An invalid length value was provived. A numeric value is required.", - INVALID_TARGET_OFFSET: "Target offset is beyond the bounds of the internal SmartBuffer data.", - INVALID_TARGET_LENGTH: "Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.", - INVALID_READ_BEYOND_BOUNDS: "Attempted to read beyond the bounds of the managed data.", - INVALID_WRITE_BEYOND_BOUNDS: "Attempted to write beyond the bounds of the managed data." - }; - exports.ERRORS = ERRORS; - function checkEncoding(encoding) { - if (!buffer_1.Buffer.isEncoding(encoding)) { - throw new Error(ERRORS.INVALID_ENCODING); - } - } - exports.checkEncoding = checkEncoding; - function isFiniteInteger(value) { - return typeof value === "number" && isFinite(value) && isInteger2(value); - } - exports.isFiniteInteger = isFiniteInteger; - function checkOffsetOrLengthValue(value, offset) { - if (typeof value === "number") { - if (!isFiniteInteger(value) || value < 0) { - throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH); - } - } else { - throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER); - } - } - function checkLengthValue(length) { - checkOffsetOrLengthValue(length, false); - } - exports.checkLengthValue = checkLengthValue; - function checkOffsetValue(offset) { - checkOffsetOrLengthValue(offset, true); - } - exports.checkOffsetValue = checkOffsetValue; - function checkTargetOffset(offset, buff) { - if (offset < 0 || offset > buff.length) { - throw new Error(ERRORS.INVALID_TARGET_OFFSET); - } - } - exports.checkTargetOffset = checkTargetOffset; - function isInteger2(value) { - return typeof value === "number" && isFinite(value) && Math.floor(value) === value; - } - function bigIntAndBufferInt64Check(bufferMethod) { - if (typeof BigInt === "undefined") { - throw new Error("Platform does not support JS BigInt type."); - } - if (typeof buffer_1.Buffer.prototype[bufferMethod] === "undefined") { - throw new Error(`Platform does not support Buffer.prototype.${bufferMethod}.`); - } - } - exports.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check; - } -}); - -// .yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/smartbuffer.js -var require_smartbuffer = __commonJS({ - ".yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/smartbuffer.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var utils_1 = require_utils(); - var DEFAULT_SMARTBUFFER_SIZE = 4096; - var DEFAULT_SMARTBUFFER_ENCODING = "utf8"; - var SmartBuffer = class { - /** - * Creates a new SmartBuffer instance. - * - * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance. - */ - constructor(options) { - this.length = 0; - this._encoding = DEFAULT_SMARTBUFFER_ENCODING; - this._writeOffset = 0; - this._readOffset = 0; - if (SmartBuffer.isSmartBufferOptions(options)) { - if (options.encoding) { - utils_1.checkEncoding(options.encoding); - this._encoding = options.encoding; - } - if (options.size) { - if (utils_1.isFiniteInteger(options.size) && options.size > 0) { - this._buff = Buffer.allocUnsafe(options.size); - } else { - throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE); - } - } else if (options.buff) { - if (Buffer.isBuffer(options.buff)) { - this._buff = options.buff; - this.length = options.buff.length; - } else { - throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER); - } - } else { - this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); - } - } else { - if (typeof options !== "undefined") { - throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT); - } - this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); - } - } - /** - * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding. - * - * @param size { Number } The size of the internal Buffer. - * @param encoding { String } The BufferEncoding to use for strings. - * - * @return { SmartBuffer } - */ - static fromSize(size, encoding) { - return new this({ - size, - encoding - }); - } - /** - * Creates a new SmartBuffer instance with the provided Buffer and optional encoding. - * - * @param buffer { Buffer } The Buffer to use as the internal Buffer value. - * @param encoding { String } The BufferEncoding to use for strings. - * - * @return { SmartBuffer } - */ - static fromBuffer(buff, encoding) { - return new this({ - buff, - encoding - }); - } - /** - * Creates a new SmartBuffer instance with the provided SmartBufferOptions options. - * - * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance. - */ - static fromOptions(options) { - return new this(options); - } - /** - * Type checking function that determines if an object is a SmartBufferOptions object. - */ - static isSmartBufferOptions(options) { - const castOptions = options; - return castOptions && (castOptions.encoding !== void 0 || castOptions.size !== void 0 || castOptions.buff !== void 0); - } - // Signed integers - /** - * Reads an Int8 value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readInt8(offset) { - return this._readNumberValue(Buffer.prototype.readInt8, 1, offset); - } - /** - * Reads an Int16BE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readInt16BE(offset) { - return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset); - } - /** - * Reads an Int16LE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readInt16LE(offset) { - return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset); - } - /** - * Reads an Int32BE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readInt32BE(offset) { - return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset); - } - /** - * Reads an Int32LE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readInt32LE(offset) { - return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset); - } - /** - * Reads a BigInt64BE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { BigInt } - */ - readBigInt64BE(offset) { - utils_1.bigIntAndBufferInt64Check("readBigInt64BE"); - return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset); - } - /** - * Reads a BigInt64LE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { BigInt } - */ - readBigInt64LE(offset) { - utils_1.bigIntAndBufferInt64Check("readBigInt64LE"); - return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset); - } - /** - * Writes an Int8 value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeInt8(value, offset) { - this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset); - return this; - } - /** - * Inserts an Int8 value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertInt8(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset); - } - /** - * Writes an Int16BE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeInt16BE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); - } - /** - * Inserts an Int16BE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertInt16BE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); - } - /** - * Writes an Int16LE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeInt16LE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); - } - /** - * Inserts an Int16LE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertInt16LE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); - } - /** - * Writes an Int32BE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeInt32BE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); - } - /** - * Inserts an Int32BE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertInt32BE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); - } - /** - * Writes an Int32LE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeInt32LE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); - } - /** - * Inserts an Int32LE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertInt32LE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); - } - /** - * Writes a BigInt64BE value to the current write position (or at optional offset). - * - * @param value { BigInt } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeBigInt64BE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigInt64BE"); - return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); - } - /** - * Inserts a BigInt64BE value at the given offset value. - * - * @param value { BigInt } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertBigInt64BE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigInt64BE"); - return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); - } - /** - * Writes a BigInt64LE value to the current write position (or at optional offset). - * - * @param value { BigInt } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeBigInt64LE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigInt64LE"); - return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); - } - /** - * Inserts a Int64LE value at the given offset value. - * - * @param value { BigInt } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertBigInt64LE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigInt64LE"); - return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); - } - // Unsigned Integers - /** - * Reads an UInt8 value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readUInt8(offset) { - return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset); - } - /** - * Reads an UInt16BE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readUInt16BE(offset) { - return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset); - } - /** - * Reads an UInt16LE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readUInt16LE(offset) { - return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset); - } - /** - * Reads an UInt32BE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readUInt32BE(offset) { - return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset); - } - /** - * Reads an UInt32LE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readUInt32LE(offset) { - return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset); - } - /** - * Reads a BigUInt64BE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { BigInt } - */ - readBigUInt64BE(offset) { - utils_1.bigIntAndBufferInt64Check("readBigUInt64BE"); - return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset); - } - /** - * Reads a BigUInt64LE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { BigInt } - */ - readBigUInt64LE(offset) { - utils_1.bigIntAndBufferInt64Check("readBigUInt64LE"); - return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset); - } - /** - * Writes an UInt8 value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeUInt8(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); - } - /** - * Inserts an UInt8 value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertUInt8(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); - } - /** - * Writes an UInt16BE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeUInt16BE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); - } - /** - * Inserts an UInt16BE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertUInt16BE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); - } - /** - * Writes an UInt16LE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeUInt16LE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); - } - /** - * Inserts an UInt16LE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertUInt16LE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); - } - /** - * Writes an UInt32BE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeUInt32BE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); - } - /** - * Inserts an UInt32BE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertUInt32BE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); - } - /** - * Writes an UInt32LE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeUInt32LE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); - } - /** - * Inserts an UInt32LE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertUInt32LE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); - } - /** - * Writes a BigUInt64BE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeBigUInt64BE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE"); - return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); - } - /** - * Inserts a BigUInt64BE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertBigUInt64BE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE"); - return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); - } - /** - * Writes a BigUInt64LE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeBigUInt64LE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE"); - return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); - } - /** - * Inserts a BigUInt64LE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertBigUInt64LE(value, offset) { - utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE"); - return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); - } - // Floating Point - /** - * Reads an FloatBE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readFloatBE(offset) { - return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset); - } - /** - * Reads an FloatLE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readFloatLE(offset) { - return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset); - } - /** - * Writes a FloatBE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeFloatBE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); - } - /** - * Inserts a FloatBE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertFloatBE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); - } - /** - * Writes a FloatLE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeFloatLE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); - } - /** - * Inserts a FloatLE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertFloatLE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); - } - // Double Floating Point - /** - * Reads an DoublEBE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readDoubleBE(offset) { - return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset); - } - /** - * Reads an DoubleLE value from the current read position or an optionally provided offset. - * - * @param offset { Number } The offset to read data from (optional) - * @return { Number } - */ - readDoubleLE(offset) { - return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset); - } - /** - * Writes a DoubleBE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeDoubleBE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); - } - /** - * Inserts a DoubleBE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertDoubleBE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); - } - /** - * Writes a DoubleLE value to the current write position (or at optional offset). - * - * @param value { Number } The value to write. - * @param offset { Number } The offset to write the value at. - * - * @return this - */ - writeDoubleLE(value, offset) { - return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); - } - /** - * Inserts a DoubleLE value at the given offset value. - * - * @param value { Number } The value to insert. - * @param offset { Number } The offset to insert the value at. - * - * @return this - */ - insertDoubleLE(value, offset) { - return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); - } - // Strings - /** - * Reads a String from the current read position. - * - * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for - * the string (Defaults to instance level encoding). - * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). - * - * @return { String } - */ - readString(arg1, encoding) { - let lengthVal; - if (typeof arg1 === "number") { - utils_1.checkLengthValue(arg1); - lengthVal = Math.min(arg1, this.length - this._readOffset); - } else { - encoding = arg1; - lengthVal = this.length - this._readOffset; - } - if (typeof encoding !== "undefined") { - utils_1.checkEncoding(encoding); - } - const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding); - this._readOffset += lengthVal; - return value; - } - /** - * Inserts a String - * - * @param value { String } The String value to insert. - * @param offset { Number } The offset to insert the string at. - * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). - * - * @return this - */ - insertString(value, offset, encoding) { - utils_1.checkOffsetValue(offset); - return this._handleString(value, true, offset, encoding); - } - /** - * Writes a String - * - * @param value { String } The String value to write. - * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use. - * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). - * - * @return this - */ - writeString(value, arg2, encoding) { - return this._handleString(value, false, arg2, encoding); - } - /** - * Reads a null-terminated String from the current read position. - * - * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). - * - * @return { String } - */ - readStringNT(encoding) { - if (typeof encoding !== "undefined") { - utils_1.checkEncoding(encoding); - } - let nullPos = this.length; - for (let i = this._readOffset; i < this.length; i++) { - if (this._buff[i] === 0) { - nullPos = i; - break; - } - } - const value = this._buff.slice(this._readOffset, nullPos); - this._readOffset = nullPos + 1; - return value.toString(encoding || this._encoding); - } - /** - * Inserts a null-terminated String. - * - * @param value { String } The String value to write. - * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. - * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). - * - * @return this - */ - insertStringNT(value, offset, encoding) { - utils_1.checkOffsetValue(offset); - this.insertString(value, offset, encoding); - this.insertUInt8(0, offset + value.length); - return this; - } - /** - * Writes a null-terminated String. - * - * @param value { String } The String value to write. - * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. - * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). - * - * @return this - */ - writeStringNT(value, arg2, encoding) { - this.writeString(value, arg2, encoding); - this.writeUInt8(0, typeof arg2 === "number" ? arg2 + value.length : this.writeOffset); - return this; - } - // Buffers - /** - * Reads a Buffer from the internal read position. - * - * @param length { Number } The length of data to read as a Buffer. - * - * @return { Buffer } - */ - readBuffer(length) { - if (typeof length !== "undefined") { - utils_1.checkLengthValue(length); - } - const lengthVal = typeof length === "number" ? length : this.length; - const endPoint = Math.min(this.length, this._readOffset + lengthVal); - const value = this._buff.slice(this._readOffset, endPoint); - this._readOffset = endPoint; - return value; - } - /** - * Writes a Buffer to the current write position. - * - * @param value { Buffer } The Buffer to write. - * @param offset { Number } The offset to write the Buffer to. - * - * @return this - */ - insertBuffer(value, offset) { - utils_1.checkOffsetValue(offset); - return this._handleBuffer(value, true, offset); - } - /** - * Writes a Buffer to the current write position. - * - * @param value { Buffer } The Buffer to write. - * @param offset { Number } The offset to write the Buffer to. - * - * @return this - */ - writeBuffer(value, offset) { - return this._handleBuffer(value, false, offset); - } - /** - * Reads a null-terminated Buffer from the current read poisiton. - * - * @return { Buffer } - */ - readBufferNT() { - let nullPos = this.length; - for (let i = this._readOffset; i < this.length; i++) { - if (this._buff[i] === 0) { - nullPos = i; - break; - } - } - const value = this._buff.slice(this._readOffset, nullPos); - this._readOffset = nullPos + 1; - return value; - } - /** - * Inserts a null-terminated Buffer. - * - * @param value { Buffer } The Buffer to write. - * @param offset { Number } The offset to write the Buffer to. - * - * @return this - */ - insertBufferNT(value, offset) { - utils_1.checkOffsetValue(offset); - this.insertBuffer(value, offset); - this.insertUInt8(0, offset + value.length); - return this; - } - /** - * Writes a null-terminated Buffer. - * - * @param value { Buffer } The Buffer to write. - * @param offset { Number } The offset to write the Buffer to. - * - * @return this - */ - writeBufferNT(value, offset) { - if (typeof offset !== "undefined") { - utils_1.checkOffsetValue(offset); - } - this.writeBuffer(value, offset); - this.writeUInt8(0, typeof offset === "number" ? offset + value.length : this._writeOffset); - return this; - } - /** - * Clears the SmartBuffer instance to its original empty state. - */ - clear() { - this._writeOffset = 0; - this._readOffset = 0; - this.length = 0; - return this; - } - /** - * Gets the remaining data left to be read from the SmartBuffer instance. - * - * @return { Number } - */ - remaining() { - return this.length - this._readOffset; - } - /** - * Gets the current read offset value of the SmartBuffer instance. - * - * @return { Number } - */ - get readOffset() { - return this._readOffset; - } - /** - * Sets the read offset value of the SmartBuffer instance. - * - * @param offset { Number } - The offset value to set. - */ - set readOffset(offset) { - utils_1.checkOffsetValue(offset); - utils_1.checkTargetOffset(offset, this); - this._readOffset = offset; - } - /** - * Gets the current write offset value of the SmartBuffer instance. - * - * @return { Number } - */ - get writeOffset() { - return this._writeOffset; - } - /** - * Sets the write offset value of the SmartBuffer instance. - * - * @param offset { Number } - The offset value to set. - */ - set writeOffset(offset) { - utils_1.checkOffsetValue(offset); - utils_1.checkTargetOffset(offset, this); - this._writeOffset = offset; - } - /** - * Gets the currently set string encoding of the SmartBuffer instance. - * - * @return { BufferEncoding } The string Buffer encoding currently set. - */ - get encoding() { - return this._encoding; - } - /** - * Sets the string encoding of the SmartBuffer instance. - * - * @param encoding { BufferEncoding } The string Buffer encoding to set. - */ - set encoding(encoding) { - utils_1.checkEncoding(encoding); - this._encoding = encoding; - } - /** - * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer) - * - * @return { Buffer } The Buffer value. - */ - get internalBuffer() { - return this._buff; - } - /** - * Gets the value of the internal managed Buffer (Includes managed data only) - * - * @param { Buffer } - */ - toBuffer() { - return this._buff.slice(0, this.length); - } - /** - * Gets the String value of the internal managed Buffer - * - * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding). - */ - toString(encoding) { - const encodingVal = typeof encoding === "string" ? encoding : this._encoding; - utils_1.checkEncoding(encodingVal); - return this._buff.toString(encodingVal, 0, this.length); - } - /** - * Destroys the SmartBuffer instance. - */ - destroy() { - this.clear(); - return this; - } - /** - * Handles inserting and writing strings. - * - * @param value { String } The String value to insert. - * @param isInsert { Boolean } True if inserting a string, false if writing. - * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use. - * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). - */ - _handleString(value, isInsert, arg3, encoding) { - let offsetVal = this._writeOffset; - let encodingVal = this._encoding; - if (typeof arg3 === "number") { - offsetVal = arg3; - } else if (typeof arg3 === "string") { - utils_1.checkEncoding(arg3); - encodingVal = arg3; - } - if (typeof encoding === "string") { - utils_1.checkEncoding(encoding); - encodingVal = encoding; - } - const byteLength = Buffer.byteLength(value, encodingVal); - if (isInsert) { - this.ensureInsertable(byteLength, offsetVal); - } else { - this._ensureWriteable(byteLength, offsetVal); - } - this._buff.write(value, offsetVal, byteLength, encodingVal); - if (isInsert) { - this._writeOffset += byteLength; - } else { - if (typeof arg3 === "number") { - this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength); - } else { - this._writeOffset += byteLength; - } - } - return this; - } - /** - * Handles writing or insert of a Buffer. - * - * @param value { Buffer } The Buffer to write. - * @param offset { Number } The offset to write the Buffer to. - */ - _handleBuffer(value, isInsert, offset) { - const offsetVal = typeof offset === "number" ? offset : this._writeOffset; - if (isInsert) { - this.ensureInsertable(value.length, offsetVal); - } else { - this._ensureWriteable(value.length, offsetVal); - } - value.copy(this._buff, offsetVal); - if (isInsert) { - this._writeOffset += value.length; - } else { - if (typeof offset === "number") { - this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length); - } else { - this._writeOffset += value.length; - } - } - return this; - } - /** - * Ensures that the internal Buffer is large enough to read data. - * - * @param length { Number } The length of the data that needs to be read. - * @param offset { Number } The offset of the data that needs to be read. - */ - ensureReadable(length, offset) { - let offsetVal = this._readOffset; - if (typeof offset !== "undefined") { - utils_1.checkOffsetValue(offset); - offsetVal = offset; - } - if (offsetVal < 0 || offsetVal + length > this.length) { - throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS); - } - } - /** - * Ensures that the internal Buffer is large enough to insert data. - * - * @param dataLength { Number } The length of the data that needs to be written. - * @param offset { Number } The offset of the data to be written. - */ - ensureInsertable(dataLength, offset) { - utils_1.checkOffsetValue(offset); - this._ensureCapacity(this.length + dataLength); - if (offset < this.length) { - this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length); - } - if (offset + dataLength > this.length) { - this.length = offset + dataLength; - } else { - this.length += dataLength; - } - } - /** - * Ensures that the internal Buffer is large enough to write data. - * - * @param dataLength { Number } The length of the data that needs to be written. - * @param offset { Number } The offset of the data to be written (defaults to writeOffset). - */ - _ensureWriteable(dataLength, offset) { - const offsetVal = typeof offset === "number" ? offset : this._writeOffset; - this._ensureCapacity(offsetVal + dataLength); - if (offsetVal + dataLength > this.length) { - this.length = offsetVal + dataLength; - } - } - /** - * Ensures that the internal Buffer is large enough to write at least the given amount of data. - * - * @param minLength { Number } The minimum length of the data needs to be written. - */ - _ensureCapacity(minLength) { - const oldLength = this._buff.length; - if (minLength > oldLength) { - let data = this._buff; - let newLength = oldLength * 3 / 2 + 1; - if (newLength < minLength) { - newLength = minLength; - } - this._buff = Buffer.allocUnsafe(newLength); - data.copy(this._buff, 0, 0, oldLength); - } - } - /** - * Reads a numeric number value using the provided function. - * - * @typeparam T { number | bigint } The type of the value to be read - * - * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with. - * @param byteSize { Number } The number of bytes read. - * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead. - * - * @returns { T } the number value - */ - _readNumberValue(func, byteSize, offset) { - this.ensureReadable(byteSize, offset); - const value = func.call(this._buff, typeof offset === "number" ? offset : this._readOffset); - if (typeof offset === "undefined") { - this._readOffset += byteSize; - } - return value; - } - /** - * Inserts a numeric number value based on the given offset and value. - * - * @typeparam T { number | bigint } The type of the value to be written - * - * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. - * @param byteSize { Number } The number of bytes written. - * @param value { T } The number value to write. - * @param offset { Number } the offset to write the number at (REQUIRED). - * - * @returns SmartBuffer this buffer - */ - _insertNumberValue(func, byteSize, value, offset) { - utils_1.checkOffsetValue(offset); - this.ensureInsertable(byteSize, offset); - func.call(this._buff, value, offset); - this._writeOffset += byteSize; - return this; - } - /** - * Writes a numeric number value based on the given offset and value. - * - * @typeparam T { number | bigint } The type of the value to be written - * - * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. - * @param byteSize { Number } The number of bytes written. - * @param value { T } The number value to write. - * @param offset { Number } the offset to write the number at (REQUIRED). - * - * @returns SmartBuffer this buffer - */ - _writeNumberValue(func, byteSize, value, offset) { - if (typeof offset === "number") { - if (offset < 0) { - throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS); - } - utils_1.checkOffsetValue(offset); - } - const offsetVal = typeof offset === "number" ? offset : this._writeOffset; - this._ensureWriteable(byteSize, offsetVal); - func.call(this._buff, value, offsetVal); - if (typeof offset === "number") { - this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize); - } else { - this._writeOffset += byteSize; - } - return this; - } - }; - exports.SmartBuffer = SmartBuffer; - } -}); - -// .yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/constants.js -var require_constants2 = __commonJS({ - ".yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SOCKS5_NO_ACCEPTABLE_AUTH = exports.SOCKS5_CUSTOM_AUTH_END = exports.SOCKS5_CUSTOM_AUTH_START = exports.SOCKS_INCOMING_PACKET_SIZES = exports.SocksClientState = exports.Socks5Response = exports.Socks5HostType = exports.Socks5Auth = exports.Socks4Response = exports.SocksCommand = exports.ERRORS = exports.DEFAULT_TIMEOUT = void 0; - var DEFAULT_TIMEOUT = 3e4; - exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; - var ERRORS = { - InvalidSocksCommand: "An invalid SOCKS command was provided. Valid options are connect, bind, and associate.", - InvalidSocksCommandForOperation: "An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.", - InvalidSocksCommandChain: "An invalid SOCKS command was provided. Chaining currently only supports the connect command.", - InvalidSocksClientOptionsDestination: "An invalid destination host was provided.", - InvalidSocksClientOptionsExistingSocket: "An invalid existing socket was provided. This should be an instance of stream.Duplex.", - InvalidSocksClientOptionsProxy: "Invalid SOCKS proxy details were provided.", - InvalidSocksClientOptionsTimeout: "An invalid timeout value was provided. Please enter a value above 0 (in ms).", - InvalidSocksClientOptionsProxiesLength: "At least two socks proxies must be provided for chaining.", - InvalidSocksClientOptionsCustomAuthRange: "Custom auth must be a value between 0x80 and 0xFE.", - InvalidSocksClientOptionsCustomAuthOptions: "When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.", - NegotiationError: "Negotiation error", - SocketClosed: "Socket closed", - ProxyConnectionTimedOut: "Proxy connection timed out", - InternalError: "SocksClient internal error (this should not happen)", - InvalidSocks4HandshakeResponse: "Received invalid Socks4 handshake response", - Socks4ProxyRejectedConnection: "Socks4 Proxy rejected connection", - InvalidSocks4IncomingConnectionResponse: "Socks4 invalid incoming connection response", - Socks4ProxyRejectedIncomingBoundConnection: "Socks4 Proxy rejected incoming bound connection", - InvalidSocks5InitialHandshakeResponse: "Received invalid Socks5 initial handshake response", - InvalidSocks5IntiailHandshakeSocksVersion: "Received invalid Socks5 initial handshake (invalid socks version)", - InvalidSocks5InitialHandshakeNoAcceptedAuthType: "Received invalid Socks5 initial handshake (no accepted authentication type)", - InvalidSocks5InitialHandshakeUnknownAuthType: "Received invalid Socks5 initial handshake (unknown authentication type)", - Socks5AuthenticationFailed: "Socks5 Authentication failed", - InvalidSocks5FinalHandshake: "Received invalid Socks5 final handshake response", - InvalidSocks5FinalHandshakeRejected: "Socks5 proxy rejected connection", - InvalidSocks5IncomingConnectionResponse: "Received invalid Socks5 incoming connection response", - Socks5ProxyRejectedIncomingBoundConnection: "Socks5 Proxy rejected incoming bound connection" - }; - exports.ERRORS = ERRORS; - var SOCKS_INCOMING_PACKET_SIZES = { - Socks5InitialHandshakeResponse: 2, - Socks5UserPassAuthenticationResponse: 2, - // Command response + incoming connection (bind) - Socks5ResponseHeader: 5, - Socks5ResponseIPv4: 10, - Socks5ResponseIPv6: 22, - Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7, - // Command response + incoming connection (bind) - Socks4Response: 8 - // 2 header + 2 port + 4 ip - }; - exports.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES; - var SocksCommand; - (function(SocksCommand2) { - SocksCommand2[SocksCommand2["connect"] = 1] = "connect"; - SocksCommand2[SocksCommand2["bind"] = 2] = "bind"; - SocksCommand2[SocksCommand2["associate"] = 3] = "associate"; - })(SocksCommand || (SocksCommand = {})); - exports.SocksCommand = SocksCommand; - var Socks4Response; - (function(Socks4Response2) { - Socks4Response2[Socks4Response2["Granted"] = 90] = "Granted"; - Socks4Response2[Socks4Response2["Failed"] = 91] = "Failed"; - Socks4Response2[Socks4Response2["Rejected"] = 92] = "Rejected"; - Socks4Response2[Socks4Response2["RejectedIdent"] = 93] = "RejectedIdent"; - })(Socks4Response || (Socks4Response = {})); - exports.Socks4Response = Socks4Response; - var Socks5Auth; - (function(Socks5Auth2) { - Socks5Auth2[Socks5Auth2["NoAuth"] = 0] = "NoAuth"; - Socks5Auth2[Socks5Auth2["GSSApi"] = 1] = "GSSApi"; - Socks5Auth2[Socks5Auth2["UserPass"] = 2] = "UserPass"; - })(Socks5Auth || (Socks5Auth = {})); - exports.Socks5Auth = Socks5Auth; - var SOCKS5_CUSTOM_AUTH_START = 128; - exports.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START; - var SOCKS5_CUSTOM_AUTH_END = 254; - exports.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END; - var SOCKS5_NO_ACCEPTABLE_AUTH = 255; - exports.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH; - var Socks5Response; - (function(Socks5Response2) { - Socks5Response2[Socks5Response2["Granted"] = 0] = "Granted"; - Socks5Response2[Socks5Response2["Failure"] = 1] = "Failure"; - Socks5Response2[Socks5Response2["NotAllowed"] = 2] = "NotAllowed"; - Socks5Response2[Socks5Response2["NetworkUnreachable"] = 3] = "NetworkUnreachable"; - Socks5Response2[Socks5Response2["HostUnreachable"] = 4] = "HostUnreachable"; - Socks5Response2[Socks5Response2["ConnectionRefused"] = 5] = "ConnectionRefused"; - Socks5Response2[Socks5Response2["TTLExpired"] = 6] = "TTLExpired"; - Socks5Response2[Socks5Response2["CommandNotSupported"] = 7] = "CommandNotSupported"; - Socks5Response2[Socks5Response2["AddressNotSupported"] = 8] = "AddressNotSupported"; - })(Socks5Response || (Socks5Response = {})); - exports.Socks5Response = Socks5Response; - var Socks5HostType; - (function(Socks5HostType2) { - Socks5HostType2[Socks5HostType2["IPv4"] = 1] = "IPv4"; - Socks5HostType2[Socks5HostType2["Hostname"] = 3] = "Hostname"; - Socks5HostType2[Socks5HostType2["IPv6"] = 4] = "IPv6"; - })(Socks5HostType || (Socks5HostType = {})); - exports.Socks5HostType = Socks5HostType; - var SocksClientState; - (function(SocksClientState2) { - SocksClientState2[SocksClientState2["Created"] = 0] = "Created"; - SocksClientState2[SocksClientState2["Connecting"] = 1] = "Connecting"; - SocksClientState2[SocksClientState2["Connected"] = 2] = "Connected"; - SocksClientState2[SocksClientState2["SentInitialHandshake"] = 3] = "SentInitialHandshake"; - SocksClientState2[SocksClientState2["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse"; - SocksClientState2[SocksClientState2["SentAuthentication"] = 5] = "SentAuthentication"; - SocksClientState2[SocksClientState2["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse"; - SocksClientState2[SocksClientState2["SentFinalHandshake"] = 7] = "SentFinalHandshake"; - SocksClientState2[SocksClientState2["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse"; - SocksClientState2[SocksClientState2["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection"; - SocksClientState2[SocksClientState2["Established"] = 10] = "Established"; - SocksClientState2[SocksClientState2["Disconnected"] = 11] = "Disconnected"; - SocksClientState2[SocksClientState2["Error"] = 99] = "Error"; - })(SocksClientState || (SocksClientState = {})); - exports.SocksClientState = SocksClientState; - } -}); - -// .yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/util.js -var require_util2 = __commonJS({ - ".yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.shuffleArray = exports.SocksClientError = void 0; - var SocksClientError = class extends Error { - constructor(message, options) { - super(message); - this.options = options; - } - }; - exports.SocksClientError = SocksClientError; - function shuffleArray(array) { - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(Math.random() * (i + 1)); - [array[i], array[j]] = [array[j], array[i]]; - } - } - exports.shuffleArray = shuffleArray; - } -}); - -// .yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/helpers.js -var require_helpers = __commonJS({ - ".yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/helpers.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateSocksClientChainOptions = exports.validateSocksClientOptions = void 0; - var util_1 = require_util2(); - var constants_1 = require_constants2(); - var stream = require("stream"); - function validateSocksClientOptions(options, acceptedCommands = ["connect", "bind", "associate"]) { - if (!constants_1.SocksCommand[options.command]) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options); - } - if (acceptedCommands.indexOf(options.command) === -1) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options); - } - if (!isValidSocksRemoteHost(options.destination)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options); - } - if (!isValidSocksProxy(options.proxy)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options); - } - validateCustomProxyAuth(options.proxy, options); - if (options.timeout && !isValidTimeoutValue(options.timeout)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options); - } - if (options.existing_socket && !(options.existing_socket instanceof stream.Duplex)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options); - } - } - exports.validateSocksClientOptions = validateSocksClientOptions; - function validateSocksClientChainOptions(options) { - if (options.command !== "connect") { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options); - } - if (!isValidSocksRemoteHost(options.destination)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options); - } - if (!(options.proxies && Array.isArray(options.proxies) && options.proxies.length >= 2)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options); - } - options.proxies.forEach((proxy) => { - if (!isValidSocksProxy(proxy)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options); - } - validateCustomProxyAuth(proxy, options); - }); - if (options.timeout && !isValidTimeoutValue(options.timeout)) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options); - } - } - exports.validateSocksClientChainOptions = validateSocksClientChainOptions; - function validateCustomProxyAuth(proxy, options) { - if (proxy.custom_auth_method !== void 0) { - if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START || proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options); - } - if (proxy.custom_auth_request_handler === void 0 || typeof proxy.custom_auth_request_handler !== "function") { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); - } - if (proxy.custom_auth_response_size === void 0) { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); - } - if (proxy.custom_auth_response_handler === void 0 || typeof proxy.custom_auth_response_handler !== "function") { - throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); - } - } - } - function isValidSocksRemoteHost(remoteHost) { - return remoteHost && typeof remoteHost.host === "string" && typeof remoteHost.port === "number" && remoteHost.port >= 0 && remoteHost.port <= 65535; - } - function isValidSocksProxy(proxy) { - return proxy && (typeof proxy.host === "string" || typeof proxy.ipaddress === "string") && typeof proxy.port === "number" && proxy.port >= 0 && proxy.port <= 65535 && (proxy.type === 4 || proxy.type === 5); - } - function isValidTimeoutValue(value) { - return typeof value === "number" && value > 0; - } - } -}); - -// .yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/receivebuffer.js -var require_receivebuffer = __commonJS({ - ".yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/common/receivebuffer.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ReceiveBuffer = void 0; - var ReceiveBuffer = class { - constructor(size = 4096) { - this.buffer = Buffer.allocUnsafe(size); - this.offset = 0; - this.originalSize = size; - } - get length() { - return this.offset; - } - append(data) { - if (!Buffer.isBuffer(data)) { - throw new Error("Attempted to append a non-buffer instance to ReceiveBuffer."); - } - if (this.offset + data.length >= this.buffer.length) { - const tmp = this.buffer; - this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length)); - tmp.copy(this.buffer); - } - data.copy(this.buffer, this.offset); - return this.offset += data.length; - } - peek(length) { - if (length > this.offset) { - throw new Error("Attempted to read beyond the bounds of the managed internal data."); - } - return this.buffer.slice(0, length); - } - get(length) { - if (length > this.offset) { - throw new Error("Attempted to read beyond the bounds of the managed internal data."); - } - const value = Buffer.allocUnsafe(length); - this.buffer.slice(0, length).copy(value); - this.buffer.copyWithin(0, length, length + this.offset - length); - this.offset -= length; - return value; - } - }; - exports.ReceiveBuffer = ReceiveBuffer; - } -}); - -// .yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/client/socksclient.js -var require_socksclient = __commonJS({ - ".yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/client/socksclient.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SocksClientError = exports.SocksClient = void 0; - var events_1 = require("events"); - var net = require("net"); - var ip = require_ip(); - var smart_buffer_1 = require_smartbuffer(); - var constants_1 = require_constants2(); - var helpers_1 = require_helpers(); - var receivebuffer_1 = require_receivebuffer(); - var util_1 = require_util2(); - Object.defineProperty(exports, "SocksClientError", { enumerable: true, get: function() { - return util_1.SocksClientError; - } }); - var SocksClient = class extends events_1.EventEmitter { - constructor(options) { - super(); - this.options = Object.assign({}, options); - (0, helpers_1.validateSocksClientOptions)(options); - this.setState(constants_1.SocksClientState.Created); - } - /** - * Creates a new SOCKS connection. - * - * Note: Supports callbacks and promises. Only supports the connect command. - * @param options { SocksClientOptions } Options. - * @param callback { Function } An optional callback function. - * @returns { Promise } - */ - static createConnection(options, callback) { - return new Promise((resolve, reject) => { - try { - (0, helpers_1.validateSocksClientOptions)(options, ["connect"]); - } catch (err) { - if (typeof callback === "function") { - callback(err); - return resolve(err); - } else { - return reject(err); - } - } - const client = new SocksClient(options); - client.connect(options.existing_socket); - client.once("established", (info) => { - client.removeAllListeners(); - if (typeof callback === "function") { - callback(null, info); - resolve(info); - } else { - resolve(info); - } - }); - client.once("error", (err) => { - client.removeAllListeners(); - if (typeof callback === "function") { - callback(err); - resolve(err); - } else { - reject(err); - } - }); - }); - } - /** - * Creates a new SOCKS connection chain to a destination host through 2 or more SOCKS proxies. - * - * Note: Supports callbacks and promises. Only supports the connect method. - * Note: Implemented via createConnection() factory function. - * @param options { SocksClientChainOptions } Options - * @param callback { Function } An optional callback function. - * @returns { Promise } - */ - static createConnectionChain(options, callback) { - return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () { - try { - (0, helpers_1.validateSocksClientChainOptions)(options); - } catch (err) { - if (typeof callback === "function") { - callback(err); - return resolve(err); - } else { - return reject(err); - } - } - let sock; - if (options.randomizeChain) { - (0, util_1.shuffleArray)(options.proxies); - } - try { - for (let i = 0; i < options.proxies.length; i++) { - const nextProxy = options.proxies[i]; - const nextDestination = i === options.proxies.length - 1 ? options.destination : { - host: options.proxies[i + 1].host || options.proxies[i + 1].ipaddress, - port: options.proxies[i + 1].port - }; - const result = yield SocksClient.createConnection({ - command: "connect", - proxy: nextProxy, - destination: nextDestination - // Initial connection ignores this as sock is undefined. Subsequent connections re-use the first proxy socket to form a chain. - }); - if (!sock) { - sock = result.socket; - } - } - if (typeof callback === "function") { - callback(null, { socket: sock }); - resolve({ socket: sock }); - } else { - resolve({ socket: sock }); - } - } catch (err) { - if (typeof callback === "function") { - callback(err); - resolve(err); - } else { - reject(err); - } - } - })); - } - /** - * Creates a SOCKS UDP Frame. - * @param options - */ - static createUDPFrame(options) { - const buff = new smart_buffer_1.SmartBuffer(); - buff.writeUInt16BE(0); - buff.writeUInt8(options.frameNumber || 0); - if (net.isIPv4(options.remoteHost.host)) { - buff.writeUInt8(constants_1.Socks5HostType.IPv4); - buff.writeUInt32BE(ip.toLong(options.remoteHost.host)); - } else if (net.isIPv6(options.remoteHost.host)) { - buff.writeUInt8(constants_1.Socks5HostType.IPv6); - buff.writeBuffer(ip.toBuffer(options.remoteHost.host)); - } else { - buff.writeUInt8(constants_1.Socks5HostType.Hostname); - buff.writeUInt8(Buffer.byteLength(options.remoteHost.host)); - buff.writeString(options.remoteHost.host); - } - buff.writeUInt16BE(options.remoteHost.port); - buff.writeBuffer(options.data); - return buff.toBuffer(); - } - /** - * Parses a SOCKS UDP frame. - * @param data - */ - static parseUDPFrame(data) { - const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); - buff.readOffset = 2; - const frameNumber = buff.readUInt8(); - const hostType = buff.readUInt8(); - let remoteHost; - if (hostType === constants_1.Socks5HostType.IPv4) { - remoteHost = ip.fromLong(buff.readUInt32BE()); - } else if (hostType === constants_1.Socks5HostType.IPv6) { - remoteHost = ip.toString(buff.readBuffer(16)); - } else { - remoteHost = buff.readString(buff.readUInt8()); - } - const remotePort = buff.readUInt16BE(); - return { - frameNumber, - remoteHost: { - host: remoteHost, - port: remotePort - }, - data: buff.readBuffer() - }; - } - /** - * Internal state setter. If the SocksClient is in an error state, it cannot be changed to a non error state. - */ - setState(newState) { - if (this.state !== constants_1.SocksClientState.Error) { - this.state = newState; - } - } - /** - * Starts the connection establishment to the proxy and destination. - * @param existingSocket Connected socket to use instead of creating a new one (internal use). - */ - connect(existingSocket) { - this.onDataReceived = (data) => this.onDataReceivedHandler(data); - this.onClose = () => this.onCloseHandler(); - this.onError = (err) => this.onErrorHandler(err); - this.onConnect = () => this.onConnectHandler(); - const timer = setTimeout(() => this.onEstablishedTimeout(), this.options.timeout || constants_1.DEFAULT_TIMEOUT); - if (timer.unref && typeof timer.unref === "function") { - timer.unref(); - } - if (existingSocket) { - this.socket = existingSocket; - } else { - this.socket = new net.Socket(); - } - this.socket.once("close", this.onClose); - this.socket.once("error", this.onError); - this.socket.once("connect", this.onConnect); - this.socket.on("data", this.onDataReceived); - this.setState(constants_1.SocksClientState.Connecting); - this.receiveBuffer = new receivebuffer_1.ReceiveBuffer(); - if (existingSocket) { - this.socket.emit("connect"); - } else { - this.socket.connect(this.getSocketOptions()); - if (this.options.set_tcp_nodelay !== void 0 && this.options.set_tcp_nodelay !== null) { - this.socket.setNoDelay(!!this.options.set_tcp_nodelay); - } - } - this.prependOnceListener("established", (info) => { - setImmediate(() => { - if (this.receiveBuffer.length > 0) { - const excessData = this.receiveBuffer.get(this.receiveBuffer.length); - info.socket.emit("data", excessData); - } - info.socket.resume(); - }); - }); - } - // Socket options (defaults host/port to options.proxy.host/options.proxy.port) - getSocketOptions() { - return Object.assign(Object.assign({}, this.options.socket_options), { host: this.options.proxy.host || this.options.proxy.ipaddress, port: this.options.proxy.port }); - } - /** - * Handles internal Socks timeout callback. - * Note: If the Socks client is not BoundWaitingForConnection or Established, the connection will be closed. - */ - onEstablishedTimeout() { - if (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.BoundWaitingForConnection) { - this.closeSocket(constants_1.ERRORS.ProxyConnectionTimedOut); - } - } - /** - * Handles Socket connect event. - */ - onConnectHandler() { - this.setState(constants_1.SocksClientState.Connected); - if (this.options.proxy.type === 4) { - this.sendSocks4InitialHandshake(); - } else { - this.sendSocks5InitialHandshake(); - } - this.setState(constants_1.SocksClientState.SentInitialHandshake); - } - /** - * Handles Socket data event. - * @param data - */ - onDataReceivedHandler(data) { - this.receiveBuffer.append(data); - this.processData(); - } - /** - * Handles processing of the data we have received. - */ - processData() { - while (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.Error && this.receiveBuffer.length >= this.nextRequiredPacketBufferSize) { - if (this.state === constants_1.SocksClientState.SentInitialHandshake) { - if (this.options.proxy.type === 4) { - this.handleSocks4FinalHandshakeResponse(); - } else { - this.handleInitialSocks5HandshakeResponse(); - } - } else if (this.state === constants_1.SocksClientState.SentAuthentication) { - this.handleInitialSocks5AuthenticationHandshakeResponse(); - } else if (this.state === constants_1.SocksClientState.SentFinalHandshake) { - this.handleSocks5FinalHandshakeResponse(); - } else if (this.state === constants_1.SocksClientState.BoundWaitingForConnection) { - if (this.options.proxy.type === 4) { - this.handleSocks4IncomingConnectionResponse(); - } else { - this.handleSocks5IncomingConnectionResponse(); - } - } else { - this.closeSocket(constants_1.ERRORS.InternalError); - break; - } - } - } - /** - * Handles Socket close event. - * @param had_error - */ - onCloseHandler() { - this.closeSocket(constants_1.ERRORS.SocketClosed); - } - /** - * Handles Socket error event. - * @param err - */ - onErrorHandler(err) { - this.closeSocket(err.message); - } - /** - * Removes internal event listeners on the underlying Socket. - */ - removeInternalSocketHandlers() { - this.socket.pause(); - this.socket.removeListener("data", this.onDataReceived); - this.socket.removeListener("close", this.onClose); - this.socket.removeListener("error", this.onError); - this.socket.removeListener("connect", this.onConnect); - } - /** - * Closes and destroys the underlying Socket. Emits an error event. - * @param err { String } An error string to include in error event. - */ - closeSocket(err) { - if (this.state !== constants_1.SocksClientState.Error) { - this.setState(constants_1.SocksClientState.Error); - this.socket.destroy(); - this.removeInternalSocketHandlers(); - this.emit("error", new util_1.SocksClientError(err, this.options)); - } - } - /** - * Sends initial Socks v4 handshake request. - */ - sendSocks4InitialHandshake() { - const userId = this.options.proxy.userId || ""; - const buff = new smart_buffer_1.SmartBuffer(); - buff.writeUInt8(4); - buff.writeUInt8(constants_1.SocksCommand[this.options.command]); - buff.writeUInt16BE(this.options.destination.port); - if (net.isIPv4(this.options.destination.host)) { - buff.writeBuffer(ip.toBuffer(this.options.destination.host)); - buff.writeStringNT(userId); - } else { - buff.writeUInt8(0); - buff.writeUInt8(0); - buff.writeUInt8(0); - buff.writeUInt8(1); - buff.writeStringNT(userId); - buff.writeStringNT(this.options.destination.host); - } - this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks4Response; - this.socket.write(buff.toBuffer()); - } - /** - * Handles Socks v4 handshake response. - * @param data - */ - handleSocks4FinalHandshakeResponse() { - const data = this.receiveBuffer.get(8); - if (data[1] !== constants_1.Socks4Response.Granted) { - this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedConnection} - (${constants_1.Socks4Response[data[1]]})`); - } else { - if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) { - const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); - buff.readOffset = 2; - const remoteHost = { - port: buff.readUInt16BE(), - host: ip.fromLong(buff.readUInt32BE()) - }; - if (remoteHost.host === "0.0.0.0") { - remoteHost.host = this.options.proxy.ipaddress; - } - this.setState(constants_1.SocksClientState.BoundWaitingForConnection); - this.emit("bound", { remoteHost, socket: this.socket }); - } else { - this.setState(constants_1.SocksClientState.Established); - this.removeInternalSocketHandlers(); - this.emit("established", { socket: this.socket }); - } - } - } - /** - * Handles Socks v4 incoming connection request (BIND) - * @param data - */ - handleSocks4IncomingConnectionResponse() { - const data = this.receiveBuffer.get(8); - if (data[1] !== constants_1.Socks4Response.Granted) { - this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedIncomingBoundConnection} - (${constants_1.Socks4Response[data[1]]})`); - } else { - const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); - buff.readOffset = 2; - const remoteHost = { - port: buff.readUInt16BE(), - host: ip.fromLong(buff.readUInt32BE()) - }; - this.setState(constants_1.SocksClientState.Established); - this.removeInternalSocketHandlers(); - this.emit("established", { remoteHost, socket: this.socket }); - } - } - /** - * Sends initial Socks v5 handshake request. - */ - sendSocks5InitialHandshake() { - const buff = new smart_buffer_1.SmartBuffer(); - const supportedAuthMethods = [constants_1.Socks5Auth.NoAuth]; - if (this.options.proxy.userId || this.options.proxy.password) { - supportedAuthMethods.push(constants_1.Socks5Auth.UserPass); - } - if (this.options.proxy.custom_auth_method !== void 0) { - supportedAuthMethods.push(this.options.proxy.custom_auth_method); - } - buff.writeUInt8(5); - buff.writeUInt8(supportedAuthMethods.length); - for (const authMethod of supportedAuthMethods) { - buff.writeUInt8(authMethod); - } - this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5InitialHandshakeResponse; - this.socket.write(buff.toBuffer()); - this.setState(constants_1.SocksClientState.SentInitialHandshake); - } - /** - * Handles initial Socks v5 handshake response. - * @param data - */ - handleInitialSocks5HandshakeResponse() { - const data = this.receiveBuffer.get(2); - if (data[0] !== 5) { - this.closeSocket(constants_1.ERRORS.InvalidSocks5IntiailHandshakeSocksVersion); - } else if (data[1] === constants_1.SOCKS5_NO_ACCEPTABLE_AUTH) { - this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeNoAcceptedAuthType); - } else { - if (data[1] === constants_1.Socks5Auth.NoAuth) { - this.socks5ChosenAuthType = constants_1.Socks5Auth.NoAuth; - this.sendSocks5CommandRequest(); - } else if (data[1] === constants_1.Socks5Auth.UserPass) { - this.socks5ChosenAuthType = constants_1.Socks5Auth.UserPass; - this.sendSocks5UserPassAuthentication(); - } else if (data[1] === this.options.proxy.custom_auth_method) { - this.socks5ChosenAuthType = this.options.proxy.custom_auth_method; - this.sendSocks5CustomAuthentication(); - } else { - this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeUnknownAuthType); - } - } - } - /** - * Sends Socks v5 user & password auth handshake. - * - * Note: No auth and user/pass are currently supported. - */ - sendSocks5UserPassAuthentication() { - const userId = this.options.proxy.userId || ""; - const password = this.options.proxy.password || ""; - const buff = new smart_buffer_1.SmartBuffer(); - buff.writeUInt8(1); - buff.writeUInt8(Buffer.byteLength(userId)); - buff.writeString(userId); - buff.writeUInt8(Buffer.byteLength(password)); - buff.writeString(password); - this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5UserPassAuthenticationResponse; - this.socket.write(buff.toBuffer()); - this.setState(constants_1.SocksClientState.SentAuthentication); - } - sendSocks5CustomAuthentication() { - return __awaiter2(this, void 0, void 0, function* () { - this.nextRequiredPacketBufferSize = this.options.proxy.custom_auth_response_size; - this.socket.write(yield this.options.proxy.custom_auth_request_handler()); - this.setState(constants_1.SocksClientState.SentAuthentication); - }); - } - handleSocks5CustomAuthHandshakeResponse(data) { - return __awaiter2(this, void 0, void 0, function* () { - return yield this.options.proxy.custom_auth_response_handler(data); - }); - } - handleSocks5AuthenticationNoAuthHandshakeResponse(data) { - return __awaiter2(this, void 0, void 0, function* () { - return data[1] === 0; - }); - } - handleSocks5AuthenticationUserPassHandshakeResponse(data) { - return __awaiter2(this, void 0, void 0, function* () { - return data[1] === 0; - }); - } - /** - * Handles Socks v5 auth handshake response. - * @param data - */ - handleInitialSocks5AuthenticationHandshakeResponse() { - return __awaiter2(this, void 0, void 0, function* () { - this.setState(constants_1.SocksClientState.ReceivedAuthenticationResponse); - let authResult = false; - if (this.socks5ChosenAuthType === constants_1.Socks5Auth.NoAuth) { - authResult = yield this.handleSocks5AuthenticationNoAuthHandshakeResponse(this.receiveBuffer.get(2)); - } else if (this.socks5ChosenAuthType === constants_1.Socks5Auth.UserPass) { - authResult = yield this.handleSocks5AuthenticationUserPassHandshakeResponse(this.receiveBuffer.get(2)); - } else if (this.socks5ChosenAuthType === this.options.proxy.custom_auth_method) { - authResult = yield this.handleSocks5CustomAuthHandshakeResponse(this.receiveBuffer.get(this.options.proxy.custom_auth_response_size)); - } - if (!authResult) { - this.closeSocket(constants_1.ERRORS.Socks5AuthenticationFailed); - } else { - this.sendSocks5CommandRequest(); - } - }); - } - /** - * Sends Socks v5 final handshake request. - */ - sendSocks5CommandRequest() { - const buff = new smart_buffer_1.SmartBuffer(); - buff.writeUInt8(5); - buff.writeUInt8(constants_1.SocksCommand[this.options.command]); - buff.writeUInt8(0); - if (net.isIPv4(this.options.destination.host)) { - buff.writeUInt8(constants_1.Socks5HostType.IPv4); - buff.writeBuffer(ip.toBuffer(this.options.destination.host)); - } else if (net.isIPv6(this.options.destination.host)) { - buff.writeUInt8(constants_1.Socks5HostType.IPv6); - buff.writeBuffer(ip.toBuffer(this.options.destination.host)); - } else { - buff.writeUInt8(constants_1.Socks5HostType.Hostname); - buff.writeUInt8(this.options.destination.host.length); - buff.writeString(this.options.destination.host); - } - buff.writeUInt16BE(this.options.destination.port); - this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader; - this.socket.write(buff.toBuffer()); - this.setState(constants_1.SocksClientState.SentFinalHandshake); - } - /** - * Handles Socks v5 final handshake response. - * @param data - */ - handleSocks5FinalHandshakeResponse() { - const header = this.receiveBuffer.peek(5); - if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) { - this.closeSocket(`${constants_1.ERRORS.InvalidSocks5FinalHandshakeRejected} - ${constants_1.Socks5Response[header[1]]}`); - } else { - const addressType = header[3]; - let remoteHost; - let buff; - if (addressType === constants_1.Socks5HostType.IPv4) { - const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4; - if (this.receiveBuffer.length < dataNeeded) { - this.nextRequiredPacketBufferSize = dataNeeded; - return; - } - buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); - remoteHost = { - host: ip.fromLong(buff.readUInt32BE()), - port: buff.readUInt16BE() - }; - if (remoteHost.host === "0.0.0.0") { - remoteHost.host = this.options.proxy.ipaddress; - } - } else if (addressType === constants_1.Socks5HostType.Hostname) { - const hostLength = header[4]; - const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength); - if (this.receiveBuffer.length < dataNeeded) { - this.nextRequiredPacketBufferSize = dataNeeded; - return; - } - buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5)); - remoteHost = { - host: buff.readString(hostLength), - port: buff.readUInt16BE() - }; - } else if (addressType === constants_1.Socks5HostType.IPv6) { - const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6; - if (this.receiveBuffer.length < dataNeeded) { - this.nextRequiredPacketBufferSize = dataNeeded; - return; - } - buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); - remoteHost = { - host: ip.toString(buff.readBuffer(16)), - port: buff.readUInt16BE() - }; - } - this.setState(constants_1.SocksClientState.ReceivedFinalResponse); - if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.connect) { - this.setState(constants_1.SocksClientState.Established); - this.removeInternalSocketHandlers(); - this.emit("established", { remoteHost, socket: this.socket }); - } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) { - this.setState(constants_1.SocksClientState.BoundWaitingForConnection); - this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader; - this.emit("bound", { remoteHost, socket: this.socket }); - } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.associate) { - this.setState(constants_1.SocksClientState.Established); - this.removeInternalSocketHandlers(); - this.emit("established", { - remoteHost, - socket: this.socket - }); - } - } - } - /** - * Handles Socks v5 incoming connection request (BIND). - */ - handleSocks5IncomingConnectionResponse() { - const header = this.receiveBuffer.peek(5); - if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) { - this.closeSocket(`${constants_1.ERRORS.Socks5ProxyRejectedIncomingBoundConnection} - ${constants_1.Socks5Response[header[1]]}`); - } else { - const addressType = header[3]; - let remoteHost; - let buff; - if (addressType === constants_1.Socks5HostType.IPv4) { - const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4; - if (this.receiveBuffer.length < dataNeeded) { - this.nextRequiredPacketBufferSize = dataNeeded; - return; - } - buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); - remoteHost = { - host: ip.fromLong(buff.readUInt32BE()), - port: buff.readUInt16BE() - }; - if (remoteHost.host === "0.0.0.0") { - remoteHost.host = this.options.proxy.ipaddress; - } - } else if (addressType === constants_1.Socks5HostType.Hostname) { - const hostLength = header[4]; - const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength); - if (this.receiveBuffer.length < dataNeeded) { - this.nextRequiredPacketBufferSize = dataNeeded; - return; - } - buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5)); - remoteHost = { - host: buff.readString(hostLength), - port: buff.readUInt16BE() - }; - } else if (addressType === constants_1.Socks5HostType.IPv6) { - const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6; - if (this.receiveBuffer.length < dataNeeded) { - this.nextRequiredPacketBufferSize = dataNeeded; - return; - } - buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); - remoteHost = { - host: ip.toString(buff.readBuffer(16)), - port: buff.readUInt16BE() - }; - } - this.setState(constants_1.SocksClientState.Established); - this.removeInternalSocketHandlers(); - this.emit("established", { remoteHost, socket: this.socket }); - } - } - get socksClientOptions() { - return Object.assign({}, this.options); - } - }; - exports.SocksClient = SocksClient; - } -}); - -// .yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/index.js -var require_build = __commonJS({ - ".yarn/cache/socks-npm-2.7.0-cc1cb019db-50863d0aa1.zip/node_modules/socks/build/index.js"(exports) { - "use strict"; - var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __exportStar2 = exports && exports.__exportStar || function(m, exports2) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) - __createBinding2(exports2, m, p); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - __exportStar2(require_socksclient(), exports); - } -}); - -// .yarn/cache/socks-proxy-agent-npm-5.0.1-dc5271bb57-c99bec8d7e.zip/node_modules/socks-proxy-agent/dist/agent.js -var require_agent3 = __commonJS({ - ".yarn/cache/socks-proxy-agent-npm-5.0.1-dc5271bb57-c99bec8d7e.zip/node_modules/socks-proxy-agent/dist/agent.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var dns_1 = __importDefault2(require("dns")); - var tls_1 = __importDefault2(require("tls")); - var url_1 = __importDefault2(require("url")); - var debug_1 = __importDefault2(require_src2()); - var agent_base_1 = require_src3(); - var socks_1 = require_build(); - var debug2 = debug_1.default("socks-proxy-agent"); - function dnsLookup(host) { - return new Promise((resolve, reject) => { - dns_1.default.lookup(host, (err, res) => { - if (err) { - reject(err); - } else { - resolve(res); - } - }); - }); - } - function parseSocksProxy(opts) { - let port = 0; - let lookup = false; - let type = 5; - const host = opts.hostname || opts.host; - if (!host) { - throw new TypeError('No "host"'); - } - if (typeof opts.port === "number") { - port = opts.port; - } else if (typeof opts.port === "string") { - port = parseInt(opts.port, 10); - } - if (!port) { - port = 1080; - } - if (opts.protocol) { - switch (opts.protocol.replace(":", "")) { - case "socks4": - lookup = true; - case "socks4a": - type = 4; - break; - case "socks5": - lookup = true; - case "socks": - case "socks5h": - type = 5; - break; - default: - throw new TypeError(`A "socks" protocol must be specified! Got: ${opts.protocol}`); - } - } - if (typeof opts.type !== "undefined") { - if (opts.type === 4 || opts.type === 5) { - type = opts.type; - } else { - throw new TypeError(`"type" must be 4 or 5, got: ${opts.type}`); - } - } - const proxy = { - host, - port, - type - }; - let userId = opts.userId || opts.username; - let password = opts.password; - if (opts.auth) { - const auth = opts.auth.split(":"); - userId = auth[0]; - password = auth[1]; - } - if (userId) { - Object.defineProperty(proxy, "userId", { - value: userId, - enumerable: false - }); - } - if (password) { - Object.defineProperty(proxy, "password", { - value: password, - enumerable: false - }); - } - return { lookup, proxy }; - } - var SocksProxyAgent = class extends agent_base_1.Agent { - constructor(_opts) { - let opts; - if (typeof _opts === "string") { - opts = url_1.default.parse(_opts); - } else { - opts = _opts; - } - if (!opts) { - throw new TypeError("a SOCKS proxy server `host` and `port` must be specified!"); - } - super(opts); - const parsedProxy = parseSocksProxy(opts); - this.lookup = parsedProxy.lookup; - this.proxy = parsedProxy.proxy; - } - /** - * Initiates a SOCKS connection to the specified SOCKS proxy server, - * which in turn connects to the specified remote host and port. - * - * @api protected - */ - callback(req, opts) { - return __awaiter2(this, void 0, void 0, function* () { - const { lookup, proxy } = this; - let { host, port, timeout } = opts; - if (!host) { - throw new Error("No `host` defined!"); - } - if (lookup) { - host = yield dnsLookup(host); - } - const socksOpts = { - proxy, - destination: { host, port }, - command: "connect", - timeout - }; - debug2("Creating socks proxy connection: %o", socksOpts); - const { socket } = yield socks_1.SocksClient.createConnection(socksOpts); - debug2("Successfully created socks proxy connection"); - if (opts.secureEndpoint) { - debug2("Upgrading socket connection to TLS"); - const servername = opts.servername || host; - return tls_1.default.connect(Object.assign(Object.assign({}, omit(opts, "host", "hostname", "path", "port")), { - socket, - servername - })); - } - return socket; - }); - } - }; - exports.default = SocksProxyAgent; - function omit(obj, ...keys) { - const ret = {}; - let key; - for (key in obj) { - if (!keys.includes(key)) { - ret[key] = obj[key]; - } - } - return ret; - } - } -}); - -// .yarn/cache/socks-proxy-agent-npm-5.0.1-dc5271bb57-c99bec8d7e.zip/node_modules/socks-proxy-agent/dist/index.js -var require_dist5 = __commonJS({ - ".yarn/cache/socks-proxy-agent-npm-5.0.1-dc5271bb57-c99bec8d7e.zip/node_modules/socks-proxy-agent/dist/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var agent_1 = __importDefault2(require_agent3()); - function createSocksProxyAgent(opts) { - return new agent_1.default(opts); - } - (function(createSocksProxyAgent2) { - createSocksProxyAgent2.SocksProxyAgent = agent_1.default; - createSocksProxyAgent2.prototype = agent_1.default.prototype; - })(createSocksProxyAgent || (createSocksProxyAgent = {})); - module2.exports = createSocksProxyAgent; - } -}); - -// .yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/package.json -var require_package = __commonJS({ - ".yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/package.json"(exports, module2) { - module2.exports = { - name: "estraverse", - description: "ECMAScript JS AST traversal functions", - homepage: "https://github.com/estools/estraverse", - main: "estraverse.js", - version: "4.3.0", - engines: { - node: ">=4.0" - }, - maintainers: [ - { - name: "Yusuke Suzuki", - email: "utatane.tea@gmail.com", - web: "http://github.com/Constellation" - } - ], - repository: { - type: "git", - url: "http://github.com/estools/estraverse.git" - }, - devDependencies: { - "babel-preset-env": "^1.6.1", - "babel-register": "^6.3.13", - chai: "^2.1.1", - espree: "^1.11.0", - gulp: "^3.8.10", - "gulp-bump": "^0.2.2", - "gulp-filter": "^2.0.0", - "gulp-git": "^1.0.1", - "gulp-tag-version": "^1.3.0", - jshint: "^2.5.6", - mocha: "^2.1.0" - }, - license: "BSD-2-Clause", - scripts: { - test: "npm run-script lint && npm run-script unit-test", - lint: "jshint estraverse.js", - "unit-test": "mocha --compilers js:babel-register" - } - }; - } -}); - -// .yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/estraverse.js -var require_estraverse = __commonJS({ - ".yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/estraverse.js"(exports) { - (function clone(exports2) { - "use strict"; - var Syntax, VisitorOption, VisitorKeys, BREAK, SKIP, REMOVE; - function deepCopy(obj) { - var ret = {}, key, val; - for (key in obj) { - if (obj.hasOwnProperty(key)) { - val = obj[key]; - if (typeof val === "object" && val !== null) { - ret[key] = deepCopy(val); - } else { - ret[key] = val; - } - } - } - return ret; - } - function upperBound(array, func) { - var diff, len, i, current; - len = array.length; - i = 0; - while (len) { - diff = len >>> 1; - current = i + diff; - if (func(array[current])) { - len = diff; - } else { - i = current + 1; - len -= diff + 1; - } - } - return i; - } - Syntax = { - AssignmentExpression: "AssignmentExpression", - AssignmentPattern: "AssignmentPattern", - ArrayExpression: "ArrayExpression", - ArrayPattern: "ArrayPattern", - ArrowFunctionExpression: "ArrowFunctionExpression", - AwaitExpression: "AwaitExpression", - // CAUTION: It's deferred to ES7. - BlockStatement: "BlockStatement", - BinaryExpression: "BinaryExpression", - BreakStatement: "BreakStatement", - CallExpression: "CallExpression", - CatchClause: "CatchClause", - ClassBody: "ClassBody", - ClassDeclaration: "ClassDeclaration", - ClassExpression: "ClassExpression", - ComprehensionBlock: "ComprehensionBlock", - // CAUTION: It's deferred to ES7. - ComprehensionExpression: "ComprehensionExpression", - // CAUTION: It's deferred to ES7. - ConditionalExpression: "ConditionalExpression", - ContinueStatement: "ContinueStatement", - DebuggerStatement: "DebuggerStatement", - DirectiveStatement: "DirectiveStatement", - DoWhileStatement: "DoWhileStatement", - EmptyStatement: "EmptyStatement", - ExportAllDeclaration: "ExportAllDeclaration", - ExportDefaultDeclaration: "ExportDefaultDeclaration", - ExportNamedDeclaration: "ExportNamedDeclaration", - ExportSpecifier: "ExportSpecifier", - ExpressionStatement: "ExpressionStatement", - ForStatement: "ForStatement", - ForInStatement: "ForInStatement", - ForOfStatement: "ForOfStatement", - FunctionDeclaration: "FunctionDeclaration", - FunctionExpression: "FunctionExpression", - GeneratorExpression: "GeneratorExpression", - // CAUTION: It's deferred to ES7. - Identifier: "Identifier", - IfStatement: "IfStatement", - ImportExpression: "ImportExpression", - ImportDeclaration: "ImportDeclaration", - ImportDefaultSpecifier: "ImportDefaultSpecifier", - ImportNamespaceSpecifier: "ImportNamespaceSpecifier", - ImportSpecifier: "ImportSpecifier", - Literal: "Literal", - LabeledStatement: "LabeledStatement", - LogicalExpression: "LogicalExpression", - MemberExpression: "MemberExpression", - MetaProperty: "MetaProperty", - MethodDefinition: "MethodDefinition", - ModuleSpecifier: "ModuleSpecifier", - NewExpression: "NewExpression", - ObjectExpression: "ObjectExpression", - ObjectPattern: "ObjectPattern", - Program: "Program", - Property: "Property", - RestElement: "RestElement", - ReturnStatement: "ReturnStatement", - SequenceExpression: "SequenceExpression", - SpreadElement: "SpreadElement", - Super: "Super", - SwitchStatement: "SwitchStatement", - SwitchCase: "SwitchCase", - TaggedTemplateExpression: "TaggedTemplateExpression", - TemplateElement: "TemplateElement", - TemplateLiteral: "TemplateLiteral", - ThisExpression: "ThisExpression", - ThrowStatement: "ThrowStatement", - TryStatement: "TryStatement", - UnaryExpression: "UnaryExpression", - UpdateExpression: "UpdateExpression", - VariableDeclaration: "VariableDeclaration", - VariableDeclarator: "VariableDeclarator", - WhileStatement: "WhileStatement", - WithStatement: "WithStatement", - YieldExpression: "YieldExpression" - }; - VisitorKeys = { - AssignmentExpression: ["left", "right"], - AssignmentPattern: ["left", "right"], - ArrayExpression: ["elements"], - ArrayPattern: ["elements"], - ArrowFunctionExpression: ["params", "body"], - AwaitExpression: ["argument"], - // CAUTION: It's deferred to ES7. - BlockStatement: ["body"], - BinaryExpression: ["left", "right"], - BreakStatement: ["label"], - CallExpression: ["callee", "arguments"], - CatchClause: ["param", "body"], - ClassBody: ["body"], - ClassDeclaration: ["id", "superClass", "body"], - ClassExpression: ["id", "superClass", "body"], - ComprehensionBlock: ["left", "right"], - // CAUTION: It's deferred to ES7. - ComprehensionExpression: ["blocks", "filter", "body"], - // CAUTION: It's deferred to ES7. - ConditionalExpression: ["test", "consequent", "alternate"], - ContinueStatement: ["label"], - DebuggerStatement: [], - DirectiveStatement: [], - DoWhileStatement: ["body", "test"], - EmptyStatement: [], - ExportAllDeclaration: ["source"], - ExportDefaultDeclaration: ["declaration"], - ExportNamedDeclaration: ["declaration", "specifiers", "source"], - ExportSpecifier: ["exported", "local"], - ExpressionStatement: ["expression"], - ForStatement: ["init", "test", "update", "body"], - ForInStatement: ["left", "right", "body"], - ForOfStatement: ["left", "right", "body"], - FunctionDeclaration: ["id", "params", "body"], - FunctionExpression: ["id", "params", "body"], - GeneratorExpression: ["blocks", "filter", "body"], - // CAUTION: It's deferred to ES7. - Identifier: [], - IfStatement: ["test", "consequent", "alternate"], - ImportExpression: ["source"], - ImportDeclaration: ["specifiers", "source"], - ImportDefaultSpecifier: ["local"], - ImportNamespaceSpecifier: ["local"], - ImportSpecifier: ["imported", "local"], - Literal: [], - LabeledStatement: ["label", "body"], - LogicalExpression: ["left", "right"], - MemberExpression: ["object", "property"], - MetaProperty: ["meta", "property"], - MethodDefinition: ["key", "value"], - ModuleSpecifier: [], - NewExpression: ["callee", "arguments"], - ObjectExpression: ["properties"], - ObjectPattern: ["properties"], - Program: ["body"], - Property: ["key", "value"], - RestElement: ["argument"], - ReturnStatement: ["argument"], - SequenceExpression: ["expressions"], - SpreadElement: ["argument"], - Super: [], - SwitchStatement: ["discriminant", "cases"], - SwitchCase: ["test", "consequent"], - TaggedTemplateExpression: ["tag", "quasi"], - TemplateElement: [], - TemplateLiteral: ["quasis", "expressions"], - ThisExpression: [], - ThrowStatement: ["argument"], - TryStatement: ["block", "handler", "finalizer"], - UnaryExpression: ["argument"], - UpdateExpression: ["argument"], - VariableDeclaration: ["declarations"], - VariableDeclarator: ["id", "init"], - WhileStatement: ["test", "body"], - WithStatement: ["object", "body"], - YieldExpression: ["argument"] - }; - BREAK = {}; - SKIP = {}; - REMOVE = {}; - VisitorOption = { - Break: BREAK, - Skip: SKIP, - Remove: REMOVE - }; - function Reference(parent, key) { - this.parent = parent; - this.key = key; - } - Reference.prototype.replace = function replace2(node) { - this.parent[this.key] = node; - }; - Reference.prototype.remove = function remove() { - if (Array.isArray(this.parent)) { - this.parent.splice(this.key, 1); - return true; - } else { - this.replace(null); - return false; - } - }; - function Element(node, path9, wrap, ref) { - this.node = node; - this.path = path9; - this.wrap = wrap; - this.ref = ref; - } - function Controller() { - } - Controller.prototype.path = function path9() { - var i, iz, j, jz, result, element; - function addToPath(result2, path10) { - if (Array.isArray(path10)) { - for (j = 0, jz = path10.length; j < jz; ++j) { - result2.push(path10[j]); - } - } else { - result2.push(path10); - } - } - if (!this.__current.path) { - return null; - } - result = []; - for (i = 2, iz = this.__leavelist.length; i < iz; ++i) { - element = this.__leavelist[i]; - addToPath(result, element.path); - } - addToPath(result, this.__current.path); - return result; - }; - Controller.prototype.type = function() { - var node = this.current(); - return node.type || this.__current.wrap; - }; - Controller.prototype.parents = function parents() { - var i, iz, result; - result = []; - for (i = 1, iz = this.__leavelist.length; i < iz; ++i) { - result.push(this.__leavelist[i].node); - } - return result; - }; - Controller.prototype.current = function current() { - return this.__current.node; - }; - Controller.prototype.__execute = function __execute(callback, element) { - var previous, result; - result = void 0; - previous = this.__current; - this.__current = element; - this.__state = null; - if (callback) { - result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node); - } - this.__current = previous; - return result; - }; - Controller.prototype.notify = function notify(flag) { - this.__state = flag; - }; - Controller.prototype.skip = function() { - this.notify(SKIP); - }; - Controller.prototype["break"] = function() { - this.notify(BREAK); - }; - Controller.prototype.remove = function() { - this.notify(REMOVE); - }; - Controller.prototype.__initialize = function(root, visitor) { - this.visitor = visitor; - this.root = root; - this.__worklist = []; - this.__leavelist = []; - this.__current = null; - this.__state = null; - this.__fallback = null; - if (visitor.fallback === "iteration") { - this.__fallback = Object.keys; - } else if (typeof visitor.fallback === "function") { - this.__fallback = visitor.fallback; - } - this.__keys = VisitorKeys; - if (visitor.keys) { - this.__keys = Object.assign(Object.create(this.__keys), visitor.keys); - } - }; - function isNode(node) { - if (node == null) { - return false; - } - return typeof node === "object" && typeof node.type === "string"; - } - function isProperty(nodeType, key) { - return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && "properties" === key; - } - Controller.prototype.traverse = function traverse2(root, visitor) { - var worklist, leavelist, element, node, nodeType, ret, key, current, current2, candidates, candidate, sentinel; - this.__initialize(root, visitor); - sentinel = {}; - worklist = this.__worklist; - leavelist = this.__leavelist; - worklist.push(new Element(root, null, null, null)); - leavelist.push(new Element(null, null, null, null)); - while (worklist.length) { - element = worklist.pop(); - if (element === sentinel) { - element = leavelist.pop(); - ret = this.__execute(visitor.leave, element); - if (this.__state === BREAK || ret === BREAK) { - return; - } - continue; - } - if (element.node) { - ret = this.__execute(visitor.enter, element); - if (this.__state === BREAK || ret === BREAK) { - return; - } - worklist.push(sentinel); - leavelist.push(element); - if (this.__state === SKIP || ret === SKIP) { - continue; - } - node = element.node; - nodeType = node.type || element.wrap; - candidates = this.__keys[nodeType]; - if (!candidates) { - if (this.__fallback) { - candidates = this.__fallback(node); - } else { - throw new Error("Unknown node type " + nodeType + "."); - } - } - current = candidates.length; - while ((current -= 1) >= 0) { - key = candidates[current]; - candidate = node[key]; - if (!candidate) { - continue; - } - if (Array.isArray(candidate)) { - current2 = candidate.length; - while ((current2 -= 1) >= 0) { - if (!candidate[current2]) { - continue; - } - if (isProperty(nodeType, candidates[current])) { - element = new Element(candidate[current2], [key, current2], "Property", null); - } else if (isNode(candidate[current2])) { - element = new Element(candidate[current2], [key, current2], null, null); - } else { - continue; - } - worklist.push(element); - } - } else if (isNode(candidate)) { - worklist.push(new Element(candidate, key, null, null)); - } - } - } - } - }; - Controller.prototype.replace = function replace2(root, visitor) { - var worklist, leavelist, node, nodeType, target, element, current, current2, candidates, candidate, sentinel, outer, key; - function removeElem(element2) { - var i, key2, nextElem, parent; - if (element2.ref.remove()) { - key2 = element2.ref.key; - parent = element2.ref.parent; - i = worklist.length; - while (i--) { - nextElem = worklist[i]; - if (nextElem.ref && nextElem.ref.parent === parent) { - if (nextElem.ref.key < key2) { - break; - } - --nextElem.ref.key; - } - } - } - } - this.__initialize(root, visitor); - sentinel = {}; - worklist = this.__worklist; - leavelist = this.__leavelist; - outer = { - root - }; - element = new Element(root, null, null, new Reference(outer, "root")); - worklist.push(element); - leavelist.push(element); - while (worklist.length) { - element = worklist.pop(); - if (element === sentinel) { - element = leavelist.pop(); - target = this.__execute(visitor.leave, element); - if (target !== void 0 && target !== BREAK && target !== SKIP && target !== REMOVE) { - element.ref.replace(target); - } - if (this.__state === REMOVE || target === REMOVE) { - removeElem(element); - } - if (this.__state === BREAK || target === BREAK) { - return outer.root; - } - continue; - } - target = this.__execute(visitor.enter, element); - if (target !== void 0 && target !== BREAK && target !== SKIP && target !== REMOVE) { - element.ref.replace(target); - element.node = target; - } - if (this.__state === REMOVE || target === REMOVE) { - removeElem(element); - element.node = null; - } - if (this.__state === BREAK || target === BREAK) { - return outer.root; - } - node = element.node; - if (!node) { - continue; - } - worklist.push(sentinel); - leavelist.push(element); - if (this.__state === SKIP || target === SKIP) { - continue; - } - nodeType = node.type || element.wrap; - candidates = this.__keys[nodeType]; - if (!candidates) { - if (this.__fallback) { - candidates = this.__fallback(node); - } else { - throw new Error("Unknown node type " + nodeType + "."); - } - } - current = candidates.length; - while ((current -= 1) >= 0) { - key = candidates[current]; - candidate = node[key]; - if (!candidate) { - continue; - } - if (Array.isArray(candidate)) { - current2 = candidate.length; - while ((current2 -= 1) >= 0) { - if (!candidate[current2]) { - continue; - } - if (isProperty(nodeType, candidates[current])) { - element = new Element(candidate[current2], [key, current2], "Property", new Reference(candidate, current2)); - } else if (isNode(candidate[current2])) { - element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2)); - } else { - continue; - } - worklist.push(element); - } - } else if (isNode(candidate)) { - worklist.push(new Element(candidate, key, null, new Reference(node, key))); - } - } - } - return outer.root; - }; - function traverse(root, visitor) { - var controller = new Controller(); - return controller.traverse(root, visitor); - } - function replace(root, visitor) { - var controller = new Controller(); - return controller.replace(root, visitor); - } - function extendCommentRange(comment, tokens) { - var target; - target = upperBound(tokens, function search(token) { - return token.range[0] > comment.range[0]; - }); - comment.extendedRange = [comment.range[0], comment.range[1]]; - if (target !== tokens.length) { - comment.extendedRange[1] = tokens[target].range[0]; - } - target -= 1; - if (target >= 0) { - comment.extendedRange[0] = tokens[target].range[1]; - } - return comment; - } - function attachComments(tree, providedComments, tokens) { - var comments = [], comment, len, i, cursor; - if (!tree.range) { - throw new Error("attachComments needs range information"); - } - if (!tokens.length) { - if (providedComments.length) { - for (i = 0, len = providedComments.length; i < len; i += 1) { - comment = deepCopy(providedComments[i]); - comment.extendedRange = [0, tree.range[0]]; - comments.push(comment); - } - tree.leadingComments = comments; - } - return tree; - } - for (i = 0, len = providedComments.length; i < len; i += 1) { - comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens)); - } - cursor = 0; - traverse(tree, { - enter: function(node) { - var comment2; - while (cursor < comments.length) { - comment2 = comments[cursor]; - if (comment2.extendedRange[1] > node.range[0]) { - break; - } - if (comment2.extendedRange[1] === node.range[0]) { - if (!node.leadingComments) { - node.leadingComments = []; - } - node.leadingComments.push(comment2); - comments.splice(cursor, 1); - } else { - cursor += 1; - } - } - if (cursor === comments.length) { - return VisitorOption.Break; - } - if (comments[cursor].extendedRange[0] > node.range[1]) { - return VisitorOption.Skip; - } - } - }); - cursor = 0; - traverse(tree, { - leave: function(node) { - var comment2; - while (cursor < comments.length) { - comment2 = comments[cursor]; - if (node.range[1] < comment2.extendedRange[0]) { - break; - } - if (node.range[1] === comment2.extendedRange[0]) { - if (!node.trailingComments) { - node.trailingComments = []; - } - node.trailingComments.push(comment2); - comments.splice(cursor, 1); - } else { - cursor += 1; - } - } - if (cursor === comments.length) { - return VisitorOption.Break; - } - if (comments[cursor].extendedRange[0] > node.range[1]) { - return VisitorOption.Skip; - } - } - }); - return tree; - } - exports2.version = require_package().version; - exports2.Syntax = Syntax; - exports2.traverse = traverse; - exports2.replace = replace; - exports2.attachComments = attachComments; - exports2.VisitorKeys = VisitorKeys; - exports2.VisitorOption = VisitorOption; - exports2.Controller = Controller; - exports2.cloneEnvironment = function() { - return clone({}); - }; - return exports2; - })(exports); - } -}); - -// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/ast.js -var require_ast = __commonJS({ - ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/ast.js"(exports, module2) { - (function() { - "use strict"; - function isExpression(node) { - if (node == null) { - return false; - } - switch (node.type) { - case "ArrayExpression": - case "AssignmentExpression": - case "BinaryExpression": - case "CallExpression": - case "ConditionalExpression": - case "FunctionExpression": - case "Identifier": - case "Literal": - case "LogicalExpression": - case "MemberExpression": - case "NewExpression": - case "ObjectExpression": - case "SequenceExpression": - case "ThisExpression": - case "UnaryExpression": - case "UpdateExpression": - return true; - } - return false; - } - function isIterationStatement(node) { - if (node == null) { - return false; - } - switch (node.type) { - case "DoWhileStatement": - case "ForInStatement": - case "ForStatement": - case "WhileStatement": - return true; - } - return false; - } - function isStatement(node) { - if (node == null) { - return false; - } - switch (node.type) { - case "BlockStatement": - case "BreakStatement": - case "ContinueStatement": - case "DebuggerStatement": - case "DoWhileStatement": - case "EmptyStatement": - case "ExpressionStatement": - case "ForInStatement": - case "ForStatement": - case "IfStatement": - case "LabeledStatement": - case "ReturnStatement": - case "SwitchStatement": - case "ThrowStatement": - case "TryStatement": - case "VariableDeclaration": - case "WhileStatement": - case "WithStatement": - return true; - } - return false; - } - function isSourceElement(node) { - return isStatement(node) || node != null && node.type === "FunctionDeclaration"; - } - function trailingStatement(node) { - switch (node.type) { - case "IfStatement": - if (node.alternate != null) { - return node.alternate; - } - return node.consequent; - case "LabeledStatement": - case "ForStatement": - case "ForInStatement": - case "WhileStatement": - case "WithStatement": - return node.body; - } - return null; - } - function isProblematicIfStatement(node) { - var current; - if (node.type !== "IfStatement") { - return false; - } - if (node.alternate == null) { - return false; - } - current = node.consequent; - do { - if (current.type === "IfStatement") { - if (current.alternate == null) { - return true; - } - } - current = trailingStatement(current); - } while (current); - return false; - } - module2.exports = { - isExpression, - isStatement, - isIterationStatement, - isSourceElement, - isProblematicIfStatement, - trailingStatement - }; - })(); - } -}); - -// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/code.js -var require_code = __commonJS({ - ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/code.js"(exports, module2) { - (function() { - "use strict"; - var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; - ES5Regex = { - // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ - }; - ES6Regex = { - // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, - // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ - }; - function isDecimalDigit(ch2) { - return 48 <= ch2 && ch2 <= 57; - } - function isHexDigit(ch2) { - return 48 <= ch2 && ch2 <= 57 || // 0..9 - 97 <= ch2 && ch2 <= 102 || // a..f - 65 <= ch2 && ch2 <= 70; - } - function isOctalDigit(ch2) { - return ch2 >= 48 && ch2 <= 55; - } - NON_ASCII_WHITESPACES = [ - 5760, - 8192, - 8193, - 8194, - 8195, - 8196, - 8197, - 8198, - 8199, - 8200, - 8201, - 8202, - 8239, - 8287, - 12288, - 65279 - ]; - function isWhiteSpace(ch2) { - return ch2 === 32 || ch2 === 9 || ch2 === 11 || ch2 === 12 || ch2 === 160 || ch2 >= 5760 && NON_ASCII_WHITESPACES.indexOf(ch2) >= 0; - } - function isLineTerminator(ch2) { - return ch2 === 10 || ch2 === 13 || ch2 === 8232 || ch2 === 8233; - } - function fromCodePoint(cp) { - if (cp <= 65535) { - return String.fromCharCode(cp); - } - var cu1 = String.fromCharCode(Math.floor((cp - 65536) / 1024) + 55296); - var cu2 = String.fromCharCode((cp - 65536) % 1024 + 56320); - return cu1 + cu2; - } - IDENTIFIER_START = new Array(128); - for (ch = 0; ch < 128; ++ch) { - IDENTIFIER_START[ch] = ch >= 97 && ch <= 122 || // a..z - ch >= 65 && ch <= 90 || // A..Z - ch === 36 || ch === 95; - } - IDENTIFIER_PART = new Array(128); - for (ch = 0; ch < 128; ++ch) { - IDENTIFIER_PART[ch] = ch >= 97 && ch <= 122 || // a..z - ch >= 65 && ch <= 90 || // A..Z - ch >= 48 && ch <= 57 || // 0..9 - ch === 36 || ch === 95; - } - function isIdentifierStartES5(ch2) { - return ch2 < 128 ? IDENTIFIER_START[ch2] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2)); - } - function isIdentifierPartES5(ch2) { - return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2)); - } - function isIdentifierStartES6(ch2) { - return ch2 < 128 ? IDENTIFIER_START[ch2] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2)); - } - function isIdentifierPartES6(ch2) { - return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2)); - } - module2.exports = { - isDecimalDigit, - isHexDigit, - isOctalDigit, - isWhiteSpace, - isLineTerminator, - isIdentifierStartES5, - isIdentifierPartES5, - isIdentifierStartES6, - isIdentifierPartES6 - }; - })(); - } -}); - -// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/keyword.js -var require_keyword = __commonJS({ - ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/keyword.js"(exports, module2) { - (function() { - "use strict"; - var code = require_code(); - function isStrictModeReservedWordES6(id) { - switch (id) { - case "implements": - case "interface": - case "package": - case "private": - case "protected": - case "public": - case "static": - case "let": - return true; - default: - return false; - } - } - function isKeywordES5(id, strict) { - if (!strict && id === "yield") { - return false; - } - return isKeywordES6(id, strict); - } - function isKeywordES6(id, strict) { - if (strict && isStrictModeReservedWordES6(id)) { - return true; - } - switch (id.length) { - case 2: - return id === "if" || id === "in" || id === "do"; - case 3: - return id === "var" || id === "for" || id === "new" || id === "try"; - case 4: - return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum"; - case 5: - return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super"; - case 6: - return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import"; - case 7: - return id === "default" || id === "finally" || id === "extends"; - case 8: - return id === "function" || id === "continue" || id === "debugger"; - case 10: - return id === "instanceof"; - default: - return false; - } - } - function isReservedWordES5(id, strict) { - return id === "null" || id === "true" || id === "false" || isKeywordES5(id, strict); - } - function isReservedWordES6(id, strict) { - return id === "null" || id === "true" || id === "false" || isKeywordES6(id, strict); - } - function isRestrictedWord(id) { - return id === "eval" || id === "arguments"; - } - function isIdentifierNameES5(id) { - var i, iz, ch; - if (id.length === 0) { - return false; - } - ch = id.charCodeAt(0); - if (!code.isIdentifierStartES5(ch)) { - return false; - } - for (i = 1, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (!code.isIdentifierPartES5(ch)) { - return false; - } - } - return true; - } - function decodeUtf16(lead, trail) { - return (lead - 55296) * 1024 + (trail - 56320) + 65536; - } - function isIdentifierNameES6(id) { - var i, iz, ch, lowCh, check; - if (id.length === 0) { - return false; - } - check = code.isIdentifierStartES6; - for (i = 0, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - if (55296 <= ch && ch <= 56319) { - ++i; - if (i >= iz) { - return false; - } - lowCh = id.charCodeAt(i); - if (!(56320 <= lowCh && lowCh <= 57343)) { - return false; - } - ch = decodeUtf16(ch, lowCh); - } - if (!check(ch)) { - return false; - } - check = code.isIdentifierPartES6; - } - return true; - } - function isIdentifierES5(id, strict) { - return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); - } - function isIdentifierES6(id, strict) { - return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); - } - module2.exports = { - isKeywordES5, - isKeywordES6, - isReservedWordES5, - isReservedWordES6, - isRestrictedWord, - isIdentifierNameES5, - isIdentifierNameES6, - isIdentifierES5, - isIdentifierES6 - }; - })(); - } -}); - -// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/utils.js -var require_utils2 = __commonJS({ - ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/utils.js"(exports) { - (function() { - "use strict"; - exports.ast = require_ast(); - exports.code = require_code(); - exports.keyword = require_keyword(); - })(); - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64.js -var require_base64 = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64.js"(exports) { - var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); - exports.encode = function(number) { - if (0 <= number && number < intToCharMap.length) { - return intToCharMap[number]; - } - throw new TypeError("Must be between 0 and 63: " + number); - }; - exports.decode = function(charCode) { - var bigA = 65; - var bigZ = 90; - var littleA = 97; - var littleZ = 122; - var zero = 48; - var nine = 57; - var plus = 43; - var slash = 47; - var littleOffset = 26; - var numberOffset = 52; - if (bigA <= charCode && charCode <= bigZ) { - return charCode - bigA; - } - if (littleA <= charCode && charCode <= littleZ) { - return charCode - littleA + littleOffset; - } - if (zero <= charCode && charCode <= nine) { - return charCode - zero + numberOffset; - } - if (charCode == plus) { - return 62; - } - if (charCode == slash) { - return 63; - } - return -1; - }; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64-vlq.js -var require_base64_vlq = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64-vlq.js"(exports) { - var base64 = require_base64(); - var VLQ_BASE_SHIFT = 5; - var VLQ_BASE = 1 << VLQ_BASE_SHIFT; - var VLQ_BASE_MASK = VLQ_BASE - 1; - var VLQ_CONTINUATION_BIT = VLQ_BASE; - function toVLQSigned(aValue) { - return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; - } - function fromVLQSigned(aValue) { - var isNegative2 = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative2 ? -shifted : shifted; - } - exports.encode = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; - var vlq = toVLQSigned(aValue); - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - if (vlq > 0) { - digit |= VLQ_CONTINUATION_BIT; - } - encoded += base64.encode(digit); - } while (vlq > 0); - return encoded; - }; - exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; - do { - if (aIndex >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } - digit = base64.decode(aStr.charCodeAt(aIndex++)); - if (digit === -1) { - throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); - } - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); - aOutParam.value = fromVLQSigned(result); - aOutParam.rest = aIndex; - }; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/util.js -var require_util3 = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/util.js"(exports) { - function getArg(aArgs, aName, aDefaultValue) { - if (aName in aArgs) { - return aArgs[aName]; - } else if (arguments.length === 3) { - return aDefaultValue; - } else { - throw new Error('"' + aName + '" is a required argument.'); - } - } - exports.getArg = getArg; - var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; - var dataUrlRegexp = /^data:.+\,.+$/; - function urlParse(aUrl) { - var match = aUrl.match(urlRegexp); - if (!match) { - return null; - } - return { - scheme: match[1], - auth: match[2], - host: match[3], - port: match[4], - path: match[5] - }; - } - exports.urlParse = urlParse; - function urlGenerate(aParsedUrl) { - var url = ""; - if (aParsedUrl.scheme) { - url += aParsedUrl.scheme + ":"; - } - url += "//"; - if (aParsedUrl.auth) { - url += aParsedUrl.auth + "@"; - } - if (aParsedUrl.host) { - url += aParsedUrl.host; - } - if (aParsedUrl.port) { - url += ":" + aParsedUrl.port; - } - if (aParsedUrl.path) { - url += aParsedUrl.path; - } - return url; - } - exports.urlGenerate = urlGenerate; - function normalize(aPath) { - var path9 = aPath; - var url = urlParse(aPath); - if (url) { - if (!url.path) { - return aPath; - } - path9 = url.path; - } - var isAbsolute = exports.isAbsolute(path9); - var parts = path9.split(/\/+/); - for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { - part = parts[i]; - if (part === ".") { - parts.splice(i, 1); - } else if (part === "..") { - up++; - } else if (up > 0) { - if (part === "") { - parts.splice(i + 1, up); - up = 0; - } else { - parts.splice(i, 2); - up--; - } - } - } - path9 = parts.join("/"); - if (path9 === "") { - path9 = isAbsolute ? "/" : "."; - } - if (url) { - url.path = path9; - return urlGenerate(url); - } - return path9; - } - exports.normalize = normalize; - function join2(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - if (aPath === "") { - aPath = "."; - } - var aPathUrl = urlParse(aPath); - var aRootUrl = urlParse(aRoot); - if (aRootUrl) { - aRoot = aRootUrl.path || "/"; - } - if (aPathUrl && !aPathUrl.scheme) { - if (aRootUrl) { - aPathUrl.scheme = aRootUrl.scheme; - } - return urlGenerate(aPathUrl); - } - if (aPathUrl || aPath.match(dataUrlRegexp)) { - return aPath; - } - if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { - aRootUrl.host = aPath; - return urlGenerate(aRootUrl); - } - var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath); - if (aRootUrl) { - aRootUrl.path = joined; - return urlGenerate(aRootUrl); - } - return joined; - } - exports.join = join2; - exports.isAbsolute = function(aPath) { - return aPath.charAt(0) === "/" || urlRegexp.test(aPath); - }; - function relative(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - aRoot = aRoot.replace(/\/$/, ""); - var level = 0; - while (aPath.indexOf(aRoot + "/") !== 0) { - var index = aRoot.lastIndexOf("/"); - if (index < 0) { - return aPath; - } - aRoot = aRoot.slice(0, index); - if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { - return aPath; - } - ++level; - } - return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); - } - exports.relative = relative; - var supportsNullProto = function() { - var obj = /* @__PURE__ */ Object.create(null); - return !("__proto__" in obj); - }(); - function identity(s) { - return s; - } - function toSetString(aStr) { - if (isProtoString(aStr)) { - return "$" + aStr; - } - return aStr; - } - exports.toSetString = supportsNullProto ? identity : toSetString; - function fromSetString(aStr) { - if (isProtoString(aStr)) { - return aStr.slice(1); - } - return aStr; - } - exports.fromSetString = supportsNullProto ? identity : fromSetString; - function isProtoString(s) { - if (!s) { - return false; - } - var length = s.length; - if (length < 9) { - return false; - } - if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) { - return false; - } - for (var i = length - 10; i >= 0; i--) { - if (s.charCodeAt(i) !== 36) { - return false; - } - } - return true; - } - function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { - var cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0 || onlyCompareOriginal) { - return cmp; - } - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - return strcmp(mappingA.name, mappingB.name); - } - exports.compareByOriginalPositions = compareByOriginalPositions; - function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0 || onlyCompareGenerated) { - return cmp; - } - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0) { - return cmp; - } - return strcmp(mappingA.name, mappingB.name); - } - exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; - function strcmp(aStr1, aStr2) { - if (aStr1 === aStr2) { - return 0; - } - if (aStr1 === null) { - return 1; - } - if (aStr2 === null) { - return -1; - } - if (aStr1 > aStr2) { - return 1; - } - return -1; - } - function compareByGeneratedPositionsInflated(mappingA, mappingB) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0) { - return cmp; - } - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0) { - return cmp; - } - return strcmp(mappingA.name, mappingB.name); - } - exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; - function parseSourceMapInput(str) { - return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, "")); - } - exports.parseSourceMapInput = parseSourceMapInput; - function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { - sourceURL = sourceURL || ""; - if (sourceRoot) { - if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") { - sourceRoot += "/"; - } - sourceURL = sourceRoot + sourceURL; - } - if (sourceMapURL) { - var parsed = urlParse(sourceMapURL); - if (!parsed) { - throw new Error("sourceMapURL could not be parsed"); - } - if (parsed.path) { - var index = parsed.path.lastIndexOf("/"); - if (index >= 0) { - parsed.path = parsed.path.substring(0, index + 1); - } - } - sourceURL = join2(urlGenerate(parsed), sourceURL); - } - return normalize(sourceURL); - } - exports.computeSourceURL = computeSourceURL; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/array-set.js -var require_array_set = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/array-set.js"(exports) { - var util = require_util3(); - var has = Object.prototype.hasOwnProperty; - var hasNativeMap = typeof Map !== "undefined"; - function ArraySet() { - this._array = []; - this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null); - } - ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - return set; - }; - ArraySet.prototype.size = function ArraySet_size() { - return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; - }; - ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var sStr = hasNativeMap ? aStr : util.toSetString(aStr); - var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); - var idx = this._array.length; - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - if (!isDuplicate) { - if (hasNativeMap) { - this._set.set(aStr, idx); - } else { - this._set[sStr] = idx; - } - } - }; - ArraySet.prototype.has = function ArraySet_has(aStr) { - if (hasNativeMap) { - return this._set.has(aStr); - } else { - var sStr = util.toSetString(aStr); - return has.call(this._set, sStr); - } - }; - ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - if (hasNativeMap) { - var idx = this._set.get(aStr); - if (idx >= 0) { - return idx; - } - } else { - var sStr = util.toSetString(aStr); - if (has.call(this._set, sStr)) { - return this._set[sStr]; - } - } - throw new Error('"' + aStr + '" is not in the set.'); - }; - ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - throw new Error("No element indexed by " + aIdx); - }; - ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); - }; - exports.ArraySet = ArraySet; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/mapping-list.js -var require_mapping_list = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/mapping-list.js"(exports) { - var util = require_util3(); - function generatedPositionAfter(mappingA, mappingB) { - var lineA = mappingA.generatedLine; - var lineB = mappingB.generatedLine; - var columnA = mappingA.generatedColumn; - var columnB = mappingB.generatedColumn; - return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; - } - function MappingList() { - this._array = []; - this._sorted = true; - this._last = { generatedLine: -1, generatedColumn: 0 }; - } - MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { - this._array.forEach(aCallback, aThisArg); - }; - MappingList.prototype.add = function MappingList_add(aMapping) { - if (generatedPositionAfter(this._last, aMapping)) { - this._last = aMapping; - this._array.push(aMapping); - } else { - this._sorted = false; - this._array.push(aMapping); - } - }; - MappingList.prototype.toArray = function MappingList_toArray() { - if (!this._sorted) { - this._array.sort(util.compareByGeneratedPositionsInflated); - this._sorted = true; - } - return this._array; - }; - exports.MappingList = MappingList; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-generator.js -var require_source_map_generator = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-generator.js"(exports) { - var base64VLQ = require_base64_vlq(); - var util = require_util3(); - var ArraySet = require_array_set().ArraySet; - var MappingList = require_mapping_list().MappingList; - function SourceMapGenerator(aArgs) { - if (!aArgs) { - aArgs = {}; - } - this._file = util.getArg(aArgs, "file", null); - this._sourceRoot = util.getArg(aArgs, "sourceRoot", null); - this._skipValidation = util.getArg(aArgs, "skipValidation", false); - this._sources = new ArraySet(); - this._names = new ArraySet(); - this._mappings = new MappingList(); - this._sourcesContents = null; - } - SourceMapGenerator.prototype._version = 3; - SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot - }); - aSourceMapConsumer.eachMapping(function(mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } - }; - if (mapping.source != null) { - newMapping.source = mapping.source; - if (sourceRoot != null) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; - if (mapping.name != null) { - newMapping.name = mapping.name; - } - } - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function(sourceFile) { - var sourceRelative = sourceFile; - if (sourceRoot !== null) { - sourceRelative = util.relative(sourceRoot, sourceFile); - } - if (!generator._sources.has(sourceRelative)) { - generator._sources.add(sourceRelative); - } - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; - }; - SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, "generated"); - var original = util.getArg(aArgs, "original", null); - var source = util.getArg(aArgs, "source", null); - var name = util.getArg(aArgs, "name", null); - if (!this._skipValidation) { - this._validateMapping(generated, original, source, name); - } - if (source != null) { - source = String(source); - if (!this._sources.has(source)) { - this._sources.add(source); - } - } - if (name != null) { - name = String(name); - if (!this._names.has(name)) { - this._names.add(name); - } - } - this._mappings.add({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source, - name - }); - }; - SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - if (this._sourceRoot != null) { - source = util.relative(this._sourceRoot, source); - } - if (aSourceContent != null) { - if (!this._sourcesContents) { - this._sourcesContents = /* @__PURE__ */ Object.create(null); - } - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else if (this._sourcesContents) { - delete this._sourcesContents[util.toSetString(source)]; - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } - }; - SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { - var sourceFile = aSourceFile; - if (aSourceFile == null) { - if (aSourceMapConsumer.file == null) { - throw new Error( - `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.` - ); - } - sourceFile = aSourceMapConsumer.file; - } - var sourceRoot = this._sourceRoot; - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - var newSources = new ArraySet(); - var newNames = new ArraySet(); - this._mappings.unsortedForEach(function(mapping) { - if (mapping.source === sourceFile && mapping.originalLine != null) { - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - if (original.source != null) { - mapping.source = original.source; - if (aSourceMapPath != null) { - mapping.source = util.join(aSourceMapPath, mapping.source); - } - if (sourceRoot != null) { - mapping.source = util.relative(sourceRoot, mapping.source); - } - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - if (original.name != null) { - mapping.name = original.name; - } - } - } - var source = mapping.source; - if (source != null && !newSources.has(source)) { - newSources.add(source); - } - var name = mapping.name; - if (name != null && !newNames.has(name)) { - newNames.add(name); - } - }, this); - this._sources = newSources; - this._names = newNames; - aSourceMapConsumer.sources.forEach(function(sourceFile2) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile2); - if (content != null) { - if (aSourceMapPath != null) { - sourceFile2 = util.join(aSourceMapPath, sourceFile2); - } - if (sourceRoot != null) { - sourceFile2 = util.relative(sourceRoot, sourceFile2); - } - this.setSourceContent(sourceFile2, content); - } - }, this); - }; - SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { - if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") { - throw new Error( - "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values." - ); - } - if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { - return; - } else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { - return; - } else { - throw new Error("Invalid mapping: " + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } - }; - SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ""; - var next; - var mapping; - var nameIdx; - var sourceIdx; - var mappings = this._mappings.toArray(); - for (var i = 0, len = mappings.length; i < len; i++) { - mapping = mappings[i]; - next = ""; - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - while (mapping.generatedLine !== previousGeneratedLine) { - next += ";"; - previousGeneratedLine++; - } - } else { - if (i > 0) { - if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { - continue; - } - next += ","; - } - } - next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; - if (mapping.source != null) { - sourceIdx = this._sources.indexOf(mapping.source); - next += base64VLQ.encode(sourceIdx - previousSource); - previousSource = sourceIdx; - next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; - next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; - if (mapping.name != null) { - nameIdx = this._names.indexOf(mapping.name); - next += base64VLQ.encode(nameIdx - previousName); - previousName = nameIdx; - } - } - result += next; - } - return result; - }; - SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function(source) { - if (!this._sourcesContents) { - return null; - } - if (aSourceRoot != null) { - source = util.relative(aSourceRoot, source); - } - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; - }, this); - }; - SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - if (this._file != null) { - map.file = this._file; - } - if (this._sourceRoot != null) { - map.sourceRoot = this._sourceRoot; - } - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } - return map; - }; - SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { - return JSON.stringify(this.toJSON()); - }; - exports.SourceMapGenerator = SourceMapGenerator; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/binary-search.js -var require_binary_search = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/binary-search.js"(exports) { - exports.GREATEST_LOWER_BOUND = 1; - exports.LEAST_UPPER_BOUND = 2; - function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { - var mid = Math.floor((aHigh - aLow) / 2) + aLow; - var cmp = aCompare(aNeedle, aHaystack[mid], true); - if (cmp === 0) { - return mid; - } else if (cmp > 0) { - if (aHigh - mid > 1) { - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); - } - if (aBias == exports.LEAST_UPPER_BOUND) { - return aHigh < aHaystack.length ? aHigh : -1; - } else { - return mid; - } - } else { - if (mid - aLow > 1) { - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); - } - if (aBias == exports.LEAST_UPPER_BOUND) { - return mid; - } else { - return aLow < 0 ? -1 : aLow; - } - } - } - exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { - if (aHaystack.length === 0) { - return -1; - } - var index = recursiveSearch( - -1, - aHaystack.length, - aNeedle, - aHaystack, - aCompare, - aBias || exports.GREATEST_LOWER_BOUND - ); - if (index < 0) { - return -1; - } - while (index - 1 >= 0) { - if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { - break; - } - --index; - } - return index; - }; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/quick-sort.js -var require_quick_sort = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/quick-sort.js"(exports) { - function swap(ary, x, y) { - var temp = ary[x]; - ary[x] = ary[y]; - ary[y] = temp; - } - function randomIntInRange(low, high) { - return Math.round(low + Math.random() * (high - low)); - } - function doQuickSort(ary, comparator, p, r) { - if (p < r) { - var pivotIndex = randomIntInRange(p, r); - var i = p - 1; - swap(ary, pivotIndex, r); - var pivot = ary[r]; - for (var j = p; j < r; j++) { - if (comparator(ary[j], pivot) <= 0) { - i += 1; - swap(ary, i, j); - } - } - swap(ary, i + 1, j); - var q = i + 1; - doQuickSort(ary, comparator, p, q - 1); - doQuickSort(ary, comparator, q + 1, r); - } - } - exports.quickSort = function(ary, comparator) { - doQuickSort(ary, comparator, 0, ary.length - 1); - }; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-consumer.js -var require_source_map_consumer = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-consumer.js"(exports) { - var util = require_util3(); - var binarySearch = require_binary_search(); - var ArraySet = require_array_set().ArraySet; - var base64VLQ = require_base64_vlq(); - var quickSort = require_quick_sort().quickSort; - function SourceMapConsumer(aSourceMap, aSourceMapURL) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === "string") { - sourceMap = util.parseSourceMapInput(aSourceMap); - } - return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); - } - SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { - return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); - }; - SourceMapConsumer.prototype._version = 3; - SourceMapConsumer.prototype.__generatedMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", { - configurable: true, - enumerable: true, - get: function() { - if (!this.__generatedMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } - return this.__generatedMappings; - } - }); - SourceMapConsumer.prototype.__originalMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", { - configurable: true, - enumerable: true, - get: function() { - if (!this.__originalMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } - return this.__originalMappings; - } - }); - SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { - var c = aStr.charAt(index); - return c === ";" || c === ","; - }; - SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - throw new Error("Subclasses must implement _parseMappings"); - }; - SourceMapConsumer.GENERATED_ORDER = 1; - SourceMapConsumer.ORIGINAL_ORDER = 2; - SourceMapConsumer.GREATEST_LOWER_BOUND = 1; - SourceMapConsumer.LEAST_UPPER_BOUND = 2; - SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { - var context = aContext || null; - var order = aOrder || SourceMapConsumer.GENERATED_ORDER; - var mappings; - switch (order) { - case SourceMapConsumer.GENERATED_ORDER: - mappings = this._generatedMappings; - break; - case SourceMapConsumer.ORIGINAL_ORDER: - mappings = this._originalMappings; - break; - default: - throw new Error("Unknown order of iteration."); - } - var sourceRoot = this.sourceRoot; - mappings.map(function(mapping) { - var source = mapping.source === null ? null : this._sources.at(mapping.source); - source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); - return { - source, - generatedLine: mapping.generatedLine, - generatedColumn: mapping.generatedColumn, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name === null ? null : this._names.at(mapping.name) - }; - }, this).forEach(aCallback, context); - }; - SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { - var line = util.getArg(aArgs, "line"); - var needle = { - source: util.getArg(aArgs, "source"), - originalLine: line, - originalColumn: util.getArg(aArgs, "column", 0) - }; - needle.source = this._findSourceIndex(needle.source); - if (needle.source < 0) { - return []; - } - var mappings = []; - var index = this._findMapping( - needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions, - binarySearch.LEAST_UPPER_BOUND - ); - if (index >= 0) { - var mapping = this._originalMappings[index]; - if (aArgs.column === void 0) { - var originalLine = mapping.originalLine; - while (mapping && mapping.originalLine === originalLine) { - mappings.push({ - line: util.getArg(mapping, "generatedLine", null), - column: util.getArg(mapping, "generatedColumn", null), - lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) - }); - mapping = this._originalMappings[++index]; - } - } else { - var originalColumn = mapping.originalColumn; - while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { - mappings.push({ - line: util.getArg(mapping, "generatedLine", null), - column: util.getArg(mapping, "generatedColumn", null), - lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) - }); - mapping = this._originalMappings[++index]; - } - } - } - return mappings; - }; - exports.SourceMapConsumer = SourceMapConsumer; - function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === "string") { - sourceMap = util.parseSourceMapInput(aSourceMap); - } - var version2 = util.getArg(sourceMap, "version"); - var sources = util.getArg(sourceMap, "sources"); - var names = util.getArg(sourceMap, "names", []); - var sourceRoot = util.getArg(sourceMap, "sourceRoot", null); - var sourcesContent = util.getArg(sourceMap, "sourcesContent", null); - var mappings = util.getArg(sourceMap, "mappings"); - var file = util.getArg(sourceMap, "file", null); - if (version2 != this._version) { - throw new Error("Unsupported version: " + version2); - } - if (sourceRoot) { - sourceRoot = util.normalize(sourceRoot); - } - sources = sources.map(String).map(util.normalize).map(function(source) { - return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; - }); - this._names = ArraySet.fromArray(names.map(String), true); - this._sources = ArraySet.fromArray(sources, true); - this._absoluteSources = this._sources.toArray().map(function(s) { - return util.computeSourceURL(sourceRoot, s, aSourceMapURL); - }); - this.sourceRoot = sourceRoot; - this.sourcesContent = sourcesContent; - this._mappings = mappings; - this._sourceMapURL = aSourceMapURL; - this.file = file; - } - BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); - BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; - BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { - var relativeSource = aSource; - if (this.sourceRoot != null) { - relativeSource = util.relative(this.sourceRoot, relativeSource); - } - if (this._sources.has(relativeSource)) { - return this._sources.indexOf(relativeSource); - } - var i; - for (i = 0; i < this._absoluteSources.length; ++i) { - if (this._absoluteSources[i] == aSource) { - return i; - } - } - return -1; - }; - BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { - var smc = Object.create(BasicSourceMapConsumer.prototype); - var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); - var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); - smc.sourceRoot = aSourceMap._sourceRoot; - smc.sourcesContent = aSourceMap._generateSourcesContent( - smc._sources.toArray(), - smc.sourceRoot - ); - smc.file = aSourceMap._file; - smc._sourceMapURL = aSourceMapURL; - smc._absoluteSources = smc._sources.toArray().map(function(s) { - return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); - }); - var generatedMappings = aSourceMap._mappings.toArray().slice(); - var destGeneratedMappings = smc.__generatedMappings = []; - var destOriginalMappings = smc.__originalMappings = []; - for (var i = 0, length = generatedMappings.length; i < length; i++) { - var srcMapping = generatedMappings[i]; - var destMapping = new Mapping(); - destMapping.generatedLine = srcMapping.generatedLine; - destMapping.generatedColumn = srcMapping.generatedColumn; - if (srcMapping.source) { - destMapping.source = sources.indexOf(srcMapping.source); - destMapping.originalLine = srcMapping.originalLine; - destMapping.originalColumn = srcMapping.originalColumn; - if (srcMapping.name) { - destMapping.name = names.indexOf(srcMapping.name); - } - destOriginalMappings.push(destMapping); - } - destGeneratedMappings.push(destMapping); - } - quickSort(smc.__originalMappings, util.compareByOriginalPositions); - return smc; - }; - BasicSourceMapConsumer.prototype._version = 3; - Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", { - get: function() { - return this._absoluteSources.slice(); - } - }); - function Mapping() { - this.generatedLine = 0; - this.generatedColumn = 0; - this.source = null; - this.originalLine = null; - this.originalColumn = null; - this.name = null; - } - BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - var generatedLine = 1; - var previousGeneratedColumn = 0; - var previousOriginalLine = 0; - var previousOriginalColumn = 0; - var previousSource = 0; - var previousName = 0; - var length = aStr.length; - var index = 0; - var cachedSegments = {}; - var temp = {}; - var originalMappings = []; - var generatedMappings = []; - var mapping, str, segment, end, value; - while (index < length) { - if (aStr.charAt(index) === ";") { - generatedLine++; - index++; - previousGeneratedColumn = 0; - } else if (aStr.charAt(index) === ",") { - index++; - } else { - mapping = new Mapping(); - mapping.generatedLine = generatedLine; - for (end = index; end < length; end++) { - if (this._charIsMappingSeparator(aStr, end)) { - break; - } - } - str = aStr.slice(index, end); - segment = cachedSegments[str]; - if (segment) { - index += str.length; - } else { - segment = []; - while (index < end) { - base64VLQ.decode(aStr, index, temp); - value = temp.value; - index = temp.rest; - segment.push(value); - } - if (segment.length === 2) { - throw new Error("Found a source, but no line and column"); - } - if (segment.length === 3) { - throw new Error("Found a source and line, but no column"); - } - cachedSegments[str] = segment; - } - mapping.generatedColumn = previousGeneratedColumn + segment[0]; - previousGeneratedColumn = mapping.generatedColumn; - if (segment.length > 1) { - mapping.source = previousSource + segment[1]; - previousSource += segment[1]; - mapping.originalLine = previousOriginalLine + segment[2]; - previousOriginalLine = mapping.originalLine; - mapping.originalLine += 1; - mapping.originalColumn = previousOriginalColumn + segment[3]; - previousOriginalColumn = mapping.originalColumn; - if (segment.length > 4) { - mapping.name = previousName + segment[4]; - previousName += segment[4]; - } - } - generatedMappings.push(mapping); - if (typeof mapping.originalLine === "number") { - originalMappings.push(mapping); - } - } - } - quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); - this.__generatedMappings = generatedMappings; - quickSort(originalMappings, util.compareByOriginalPositions); - this.__originalMappings = originalMappings; - }; - BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { - if (aNeedle[aLineName] <= 0) { - throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]); - } - if (aNeedle[aColumnName] < 0) { - throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]); - } - return binarySearch.search(aNeedle, aMappings, aComparator, aBias); - }; - BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { - for (var index = 0; index < this._generatedMappings.length; ++index) { - var mapping = this._generatedMappings[index]; - if (index + 1 < this._generatedMappings.length) { - var nextMapping = this._generatedMappings[index + 1]; - if (mapping.generatedLine === nextMapping.generatedLine) { - mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; - continue; - } - } - mapping.lastGeneratedColumn = Infinity; - } - }; - BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, "line"), - generatedColumn: util.getArg(aArgs, "column") - }; - var index = this._findMapping( - needle, - this._generatedMappings, - "generatedLine", - "generatedColumn", - util.compareByGeneratedPositionsDeflated, - util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) - ); - if (index >= 0) { - var mapping = this._generatedMappings[index]; - if (mapping.generatedLine === needle.generatedLine) { - var source = util.getArg(mapping, "source", null); - if (source !== null) { - source = this._sources.at(source); - source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); - } - var name = util.getArg(mapping, "name", null); - if (name !== null) { - name = this._names.at(name); - } - return { - source, - line: util.getArg(mapping, "originalLine", null), - column: util.getArg(mapping, "originalColumn", null), - name - }; - } - } - return { - source: null, - line: null, - column: null, - name: null - }; - }; - BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { - if (!this.sourcesContent) { - return false; - } - return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) { - return sc == null; - }); - }; - BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - if (!this.sourcesContent) { - return null; - } - var index = this._findSourceIndex(aSource); - if (index >= 0) { - return this.sourcesContent[index]; - } - var relativeSource = aSource; - if (this.sourceRoot != null) { - relativeSource = util.relative(this.sourceRoot, relativeSource); - } - var url; - if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { - var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); - if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; - } - if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) { - return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; - } - } - if (nullOnMissing) { - return null; - } else { - throw new Error('"' + relativeSource + '" is not in the SourceMap.'); - } - }; - BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { - var source = util.getArg(aArgs, "source"); - source = this._findSourceIndex(source); - if (source < 0) { - return { - line: null, - column: null, - lastColumn: null - }; - } - var needle = { - source, - originalLine: util.getArg(aArgs, "line"), - originalColumn: util.getArg(aArgs, "column") - }; - var index = this._findMapping( - needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions, - util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) - ); - if (index >= 0) { - var mapping = this._originalMappings[index]; - if (mapping.source === needle.source) { - return { - line: util.getArg(mapping, "generatedLine", null), - column: util.getArg(mapping, "generatedColumn", null), - lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) - }; - } - } - return { - line: null, - column: null, - lastColumn: null - }; - }; - exports.BasicSourceMapConsumer = BasicSourceMapConsumer; - function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === "string") { - sourceMap = util.parseSourceMapInput(aSourceMap); - } - var version2 = util.getArg(sourceMap, "version"); - var sections = util.getArg(sourceMap, "sections"); - if (version2 != this._version) { - throw new Error("Unsupported version: " + version2); - } - this._sources = new ArraySet(); - this._names = new ArraySet(); - var lastOffset = { - line: -1, - column: 0 - }; - this._sections = sections.map(function(s) { - if (s.url) { - throw new Error("Support for url field in sections not implemented."); - } - var offset = util.getArg(s, "offset"); - var offsetLine = util.getArg(offset, "line"); - var offsetColumn = util.getArg(offset, "column"); - if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { - throw new Error("Section offsets must be ordered and non-overlapping."); - } - lastOffset = offset; - return { - generatedOffset: { - // The offset fields are 0-based, but we use 1-based indices when - // encoding/decoding from VLQ. - generatedLine: offsetLine + 1, - generatedColumn: offsetColumn + 1 - }, - consumer: new SourceMapConsumer(util.getArg(s, "map"), aSourceMapURL) - }; - }); - } - IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); - IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; - IndexedSourceMapConsumer.prototype._version = 3; - Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", { - get: function() { - var sources = []; - for (var i = 0; i < this._sections.length; i++) { - for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { - sources.push(this._sections[i].consumer.sources[j]); - } - } - return sources; - } - }); - IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, "line"), - generatedColumn: util.getArg(aArgs, "column") - }; - var sectionIndex = binarySearch.search( - needle, - this._sections, - function(needle2, section2) { - var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine; - if (cmp) { - return cmp; - } - return needle2.generatedColumn - section2.generatedOffset.generatedColumn; - } - ); - var section = this._sections[sectionIndex]; - if (!section) { - return { - source: null, - line: null, - column: null, - name: null - }; - } - return section.consumer.originalPositionFor({ - line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), - column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), - bias: aArgs.bias - }); - }; - IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { - return this._sections.every(function(s) { - return s.consumer.hasContentsOfAllSources(); - }); - }; - IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var content = section.consumer.sourceContentFor(aSource, true); - if (content) { - return content; - } - } - if (nullOnMissing) { - return null; - } else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } - }; - IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) { - continue; - } - var generatedPosition = section.consumer.generatedPositionFor(aArgs); - if (generatedPosition) { - var ret = { - line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), - column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) - }; - return ret; - } - } - return { - line: null, - column: null - }; - }; - IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { - this.__generatedMappings = []; - this.__originalMappings = []; - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var sectionMappings = section.consumer._generatedMappings; - for (var j = 0; j < sectionMappings.length; j++) { - var mapping = sectionMappings[j]; - var source = section.consumer._sources.at(mapping.source); - source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); - this._sources.add(source); - source = this._sources.indexOf(source); - var name = null; - if (mapping.name) { - name = section.consumer._names.at(mapping.name); - this._names.add(name); - name = this._names.indexOf(name); - } - var adjustedMapping = { - source, - generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), - generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name - }; - this.__generatedMappings.push(adjustedMapping); - if (typeof adjustedMapping.originalLine === "number") { - this.__originalMappings.push(adjustedMapping); - } - } - } - quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); - quickSort(this.__originalMappings, util.compareByOriginalPositions); - }; - exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-node.js -var require_source_node = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-node.js"(exports) { - var SourceMapGenerator = require_source_map_generator().SourceMapGenerator; - var util = require_util3(); - var REGEX_NEWLINE = /(\r?\n)/; - var NEWLINE_CODE = 10; - var isSourceNode = "$$$isSourceNode$$$"; - function SourceNode(aLine, aColumn, aSource, aChunks, aName) { - this.children = []; - this.sourceContents = {}; - this.line = aLine == null ? null : aLine; - this.column = aColumn == null ? null : aColumn; - this.source = aSource == null ? null : aSource; - this.name = aName == null ? null : aName; - this[isSourceNode] = true; - if (aChunks != null) - this.add(aChunks); - } - SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { - var node = new SourceNode(); - var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); - var remainingLinesIndex = 0; - var shiftNextLine = function() { - var lineContents = getNextLine(); - var newLine = getNextLine() || ""; - return lineContents + newLine; - function getNextLine() { - return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0; - } - }; - var lastGeneratedLine = 1, lastGeneratedColumn = 0; - var lastMapping = null; - aSourceMapConsumer.eachMapping(function(mapping) { - if (lastMapping !== null) { - if (lastGeneratedLine < mapping.generatedLine) { - addMappingWithCode(lastMapping, shiftNextLine()); - lastGeneratedLine++; - lastGeneratedColumn = 0; - } else { - var nextLine = remainingLines[remainingLinesIndex] || ""; - var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); - lastGeneratedColumn = mapping.generatedColumn; - addMappingWithCode(lastMapping, code); - lastMapping = mapping; - return; - } - } - while (lastGeneratedLine < mapping.generatedLine) { - node.add(shiftNextLine()); - lastGeneratedLine++; - } - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[remainingLinesIndex] || ""; - node.add(nextLine.substr(0, mapping.generatedColumn)); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - lastMapping = mapping; - }, this); - if (remainingLinesIndex < remainingLines.length) { - if (lastMapping) { - addMappingWithCode(lastMapping, shiftNextLine()); - } - node.add(remainingLines.splice(remainingLinesIndex).join("")); - } - aSourceMapConsumer.sources.forEach(function(sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aRelativePath != null) { - sourceFile = util.join(aRelativePath, sourceFile); - } - node.setSourceContent(sourceFile, content); - } - }); - return node; - function addMappingWithCode(mapping, code) { - if (mapping === null || mapping.source === void 0) { - node.add(code); - } else { - var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; - node.add(new SourceNode( - mapping.originalLine, - mapping.originalColumn, - source, - code, - mapping.name - )); - } - } - }; - SourceNode.prototype.add = function SourceNode_add(aChunk) { - if (Array.isArray(aChunk)) { - aChunk.forEach(function(chunk) { - this.add(chunk); - }, this); - } else if (aChunk[isSourceNode] || typeof aChunk === "string") { - if (aChunk) { - this.children.push(aChunk); - } - } else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; - SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { - if (Array.isArray(aChunk)) { - for (var i = aChunk.length - 1; i >= 0; i--) { - this.prepend(aChunk[i]); - } - } else if (aChunk[isSourceNode] || typeof aChunk === "string") { - this.children.unshift(aChunk); - } else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; - SourceNode.prototype.walk = function SourceNode_walk(aFn) { - var chunk; - for (var i = 0, len = this.children.length; i < len; i++) { - chunk = this.children[i]; - if (chunk[isSourceNode]) { - chunk.walk(aFn); - } else { - if (chunk !== "") { - aFn(chunk, { - source: this.source, - line: this.line, - column: this.column, - name: this.name - }); - } - } - } - }; - SourceNode.prototype.join = function SourceNode_join(aSep) { - var newChildren; - var i; - var len = this.children.length; - if (len > 0) { - newChildren = []; - for (i = 0; i < len - 1; i++) { - newChildren.push(this.children[i]); - newChildren.push(aSep); - } - newChildren.push(this.children[i]); - this.children = newChildren; - } - return this; - }; - SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { - var lastChild = this.children[this.children.length - 1]; - if (lastChild[isSourceNode]) { - lastChild.replaceRight(aPattern, aReplacement); - } else if (typeof lastChild === "string") { - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); - } else { - this.children.push("".replace(aPattern, aReplacement)); - } - return this; - }; - SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; - }; - SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { - for (var i = 0, len = this.children.length; i < len; i++) { - if (this.children[i][isSourceNode]) { - this.children[i].walkSourceContents(aFn); - } - } - var sources = Object.keys(this.sourceContents); - for (var i = 0, len = sources.length; i < len; i++) { - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); - } - }; - SourceNode.prototype.toString = function SourceNode_toString() { - var str = ""; - this.walk(function(chunk) { - str += chunk; - }); - return str; - }; - SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { - var generated = { - code: "", - line: 1, - column: 0 - }; - var map = new SourceMapGenerator(aArgs); - var sourceMappingActive = false; - var lastOriginalSource = null; - var lastOriginalLine = null; - var lastOriginalColumn = null; - var lastOriginalName = null; - this.walk(function(chunk, original) { - generated.code += chunk; - if (original.source !== null && original.line !== null && original.column !== null) { - if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - lastOriginalSource = original.source; - lastOriginalLine = original.line; - lastOriginalColumn = original.column; - lastOriginalName = original.name; - sourceMappingActive = true; - } else if (sourceMappingActive) { - map.addMapping({ - generated: { - line: generated.line, - column: generated.column - } - }); - lastOriginalSource = null; - sourceMappingActive = false; - } - for (var idx = 0, length = chunk.length; idx < length; idx++) { - if (chunk.charCodeAt(idx) === NEWLINE_CODE) { - generated.line++; - generated.column = 0; - if (idx + 1 === length) { - lastOriginalSource = null; - sourceMappingActive = false; - } else if (sourceMappingActive) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - } else { - generated.column++; - } - } - }); - this.walkSourceContents(function(sourceFile, sourceContent) { - map.setSourceContent(sourceFile, sourceContent); - }); - return { code: generated.code, map }; - }; - exports.SourceNode = SourceNode; - } -}); - -// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/source-map.js -var require_source_map = __commonJS({ - ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/source-map.js"(exports) { - exports.SourceMapGenerator = require_source_map_generator().SourceMapGenerator; - exports.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer; - exports.SourceNode = require_source_node().SourceNode; - } -}); - -// .yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/package.json -var require_package2 = __commonJS({ - ".yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/package.json"(exports, module2) { - module2.exports = { - name: "escodegen", - description: "ECMAScript code generator", - homepage: "http://github.com/estools/escodegen", - main: "escodegen.js", - bin: { - esgenerate: "./bin/esgenerate.js", - escodegen: "./bin/escodegen.js" - }, - files: [ - "LICENSE.BSD", - "README.md", - "bin", - "escodegen.js", - "package.json" - ], - version: "1.14.3", - engines: { - node: ">=4.0" - }, - maintainers: [ - { - name: "Yusuke Suzuki", - email: "utatane.tea@gmail.com", - web: "http://github.com/Constellation" - } - ], - repository: { - type: "git", - url: "http://github.com/estools/escodegen.git" - }, - dependencies: { - estraverse: "^4.2.0", - esutils: "^2.0.2", - esprima: "^4.0.1", - optionator: "^0.8.1" - }, - optionalDependencies: { - "source-map": "~0.6.1" - }, - devDependencies: { - acorn: "^7.1.0", - bluebird: "^3.4.7", - "bower-registry-client": "^1.0.0", - chai: "^3.5.0", - "commonjs-everywhere": "^0.9.7", - gulp: "^3.8.10", - "gulp-eslint": "^3.0.1", - "gulp-mocha": "^3.0.1", - semver: "^5.1.0" - }, - license: "BSD-2-Clause", - scripts: { - test: "gulp travis", - "unit-test": "gulp test", - lint: "gulp lint", - release: "node tools/release.js", - "build-min": "./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js", - build: "./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js" - } - }; - } -}); - -// .yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/escodegen.js -var require_escodegen = __commonJS({ - ".yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/escodegen.js"(exports) { - (function() { - "use strict"; - var Syntax, Precedence, BinaryPrecedence, SourceNode, estraverse, esutils, base, indent, json, renumber, hexadecimal, quotes, escapeless, newline, space, parentheses, semicolons, safeConcatenation, directive, extra, parse, sourceMap, sourceCode, preserveBlankLines, FORMAT_MINIFY, FORMAT_DEFAULTS; - estraverse = require_estraverse(); - esutils = require_utils2(); - Syntax = estraverse.Syntax; - function isExpression(node) { - return CodeGenerator.Expression.hasOwnProperty(node.type); - } - function isStatement(node) { - return CodeGenerator.Statement.hasOwnProperty(node.type); - } - Precedence = { - Sequence: 0, - Yield: 1, - Assignment: 1, - Conditional: 2, - ArrowFunction: 2, - LogicalOR: 3, - LogicalAND: 4, - BitwiseOR: 5, - BitwiseXOR: 6, - BitwiseAND: 7, - Equality: 8, - Relational: 9, - BitwiseSHIFT: 10, - Additive: 11, - Multiplicative: 12, - Exponentiation: 13, - Await: 14, - Unary: 14, - Postfix: 15, - Call: 16, - New: 17, - TaggedTemplate: 18, - Member: 19, - Primary: 20 - }; - BinaryPrecedence = { - "||": Precedence.LogicalOR, - "&&": Precedence.LogicalAND, - "|": Precedence.BitwiseOR, - "^": Precedence.BitwiseXOR, - "&": Precedence.BitwiseAND, - "==": Precedence.Equality, - "!=": Precedence.Equality, - "===": Precedence.Equality, - "!==": Precedence.Equality, - "is": Precedence.Equality, - "isnt": Precedence.Equality, - "<": Precedence.Relational, - ">": Precedence.Relational, - "<=": Precedence.Relational, - ">=": Precedence.Relational, - "in": Precedence.Relational, - "instanceof": Precedence.Relational, - "<<": Precedence.BitwiseSHIFT, - ">>": Precedence.BitwiseSHIFT, - ">>>": Precedence.BitwiseSHIFT, - "+": Precedence.Additive, - "-": Precedence.Additive, - "*": Precedence.Multiplicative, - "%": Precedence.Multiplicative, - "/": Precedence.Multiplicative, - "**": Precedence.Exponentiation - }; - var F_ALLOW_IN = 1, F_ALLOW_CALL = 1 << 1, F_ALLOW_UNPARATH_NEW = 1 << 2, F_FUNC_BODY = 1 << 3, F_DIRECTIVE_CTX = 1 << 4, F_SEMICOLON_OPT = 1 << 5; - var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, E_TTF = F_ALLOW_IN | F_ALLOW_CALL, E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, E_TFF = F_ALLOW_IN, E_FFT = F_ALLOW_UNPARATH_NEW, E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW; - var S_TFFF = F_ALLOW_IN, S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT, S_FFFF = 0, S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX, S_TTFF = F_ALLOW_IN | F_FUNC_BODY; - function getDefaultOptions() { - return { - indent: null, - base: null, - parse: null, - comment: false, - format: { - indent: { - style: " ", - base: 0, - adjustMultilineComment: false - }, - newline: "\n", - space: " ", - json: false, - renumber: false, - hexadecimal: false, - quotes: "single", - escapeless: false, - compact: false, - parentheses: true, - semicolons: true, - safeConcatenation: false, - preserveBlankLines: false - }, - moz: { - comprehensionExpressionStartsWithAssignment: false, - starlessGenerator: false - }, - sourceMap: null, - sourceMapRoot: null, - sourceMapWithCode: false, - directive: false, - raw: true, - verbatim: null, - sourceCode: null - }; - } - function stringRepeat(str, num) { - var result = ""; - for (num |= 0; num > 0; num >>>= 1, str += str) { - if (num & 1) { - result += str; - } - } - return result; - } - function hasLineTerminator(str) { - return /[\r\n]/g.test(str); - } - function endsWithLineTerminator(str) { - var len = str.length; - return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1)); - } - function merge(target, override) { - var key; - for (key in override) { - if (override.hasOwnProperty(key)) { - target[key] = override[key]; - } - } - return target; - } - function updateDeeply(target, override) { - var key, val; - function isHashObject(target2) { - return typeof target2 === "object" && target2 instanceof Object && !(target2 instanceof RegExp); - } - for (key in override) { - if (override.hasOwnProperty(key)) { - val = override[key]; - if (isHashObject(val)) { - if (isHashObject(target[key])) { - updateDeeply(target[key], val); - } else { - target[key] = updateDeeply({}, val); - } - } else { - target[key] = val; - } - } - } - return target; - } - function generateNumber(value) { - var result, point, temp, exponent, pos; - if (value !== value) { - throw new Error("Numeric literal whose value is NaN"); - } - if (value < 0 || value === 0 && 1 / value < 0) { - throw new Error("Numeric literal whose value is negative"); - } - if (value === 1 / 0) { - return json ? "null" : renumber ? "1e400" : "1e+400"; - } - result = "" + value; - if (!renumber || result.length < 3) { - return result; - } - point = result.indexOf("."); - if (!json && result.charCodeAt(0) === 48 && point === 1) { - point = 0; - result = result.slice(1); - } - temp = result; - result = result.replace("e+", "e"); - exponent = 0; - if ((pos = temp.indexOf("e")) > 0) { - exponent = +temp.slice(pos + 1); - temp = temp.slice(0, pos); - } - if (point >= 0) { - exponent -= temp.length - point - 1; - temp = +(temp.slice(0, point) + temp.slice(point + 1)) + ""; - } - pos = 0; - while (temp.charCodeAt(temp.length + pos - 1) === 48) { - --pos; - } - if (pos !== 0) { - exponent -= pos; - temp = temp.slice(0, pos); - } - if (exponent !== 0) { - temp += "e" + exponent; - } - if ((temp.length < result.length || hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = "0x" + value.toString(16)).length < result.length) && +temp === value) { - result = temp; - } - return result; - } - function escapeRegExpCharacter(ch, previousIsBackslash) { - if ((ch & ~1) === 8232) { - return (previousIsBackslash ? "u" : "\\u") + (ch === 8232 ? "2028" : "2029"); - } else if (ch === 10 || ch === 13) { - return (previousIsBackslash ? "" : "\\") + (ch === 10 ? "n" : "r"); - } - return String.fromCharCode(ch); - } - function generateRegExp(reg) { - var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash; - result = reg.toString(); - if (reg.source) { - match = result.match(/\/([^/]*)$/); - if (!match) { - return result; - } - flags = match[1]; - result = ""; - characterInBrack = false; - previousIsBackslash = false; - for (i = 0, iz = reg.source.length; i < iz; ++i) { - ch = reg.source.charCodeAt(i); - if (!previousIsBackslash) { - if (characterInBrack) { - if (ch === 93) { - characterInBrack = false; - } - } else { - if (ch === 47) { - result += "\\"; - } else if (ch === 91) { - characterInBrack = true; - } - } - result += escapeRegExpCharacter(ch, previousIsBackslash); - previousIsBackslash = ch === 92; - } else { - result += escapeRegExpCharacter(ch, previousIsBackslash); - previousIsBackslash = false; - } - } - return "/" + result + "/" + flags; - } - return result; - } - function escapeAllowedCharacter(code, next) { - var hex; - if (code === 8) { - return "\\b"; - } - if (code === 12) { - return "\\f"; - } - if (code === 9) { - return "\\t"; - } - hex = code.toString(16).toUpperCase(); - if (json || code > 255) { - return "\\u" + "0000".slice(hex.length) + hex; - } else if (code === 0 && !esutils.code.isDecimalDigit(next)) { - return "\\0"; - } else if (code === 11) { - return "\\x0B"; - } else { - return "\\x" + "00".slice(hex.length) + hex; - } - } - function escapeDisallowedCharacter(code) { - if (code === 92) { - return "\\\\"; - } - if (code === 10) { - return "\\n"; - } - if (code === 13) { - return "\\r"; - } - if (code === 8232) { - return "\\u2028"; - } - if (code === 8233) { - return "\\u2029"; - } - throw new Error("Incorrectly classified character"); - } - function escapeDirective(str) { - var i, iz, code, quote; - quote = quotes === "double" ? '"' : "'"; - for (i = 0, iz = str.length; i < iz; ++i) { - code = str.charCodeAt(i); - if (code === 39) { - quote = '"'; - break; - } else if (code === 34) { - quote = "'"; - break; - } else if (code === 92) { - ++i; - } - } - return quote + str + quote; - } - function escapeString(str) { - var result = "", i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote; - for (i = 0, len = str.length; i < len; ++i) { - code = str.charCodeAt(i); - if (code === 39) { - ++singleQuotes; - } else if (code === 34) { - ++doubleQuotes; - } else if (code === 47 && json) { - result += "\\"; - } else if (esutils.code.isLineTerminator(code) || code === 92) { - result += escapeDisallowedCharacter(code); - continue; - } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 32 || !json && !escapeless && (code < 32 || code > 126))) { - result += escapeAllowedCharacter(code, str.charCodeAt(i + 1)); - continue; - } - result += String.fromCharCode(code); - } - single = !(quotes === "double" || quotes === "auto" && doubleQuotes < singleQuotes); - quote = single ? "'" : '"'; - if (!(single ? singleQuotes : doubleQuotes)) { - return quote + result + quote; - } - str = result; - result = quote; - for (i = 0, len = str.length; i < len; ++i) { - code = str.charCodeAt(i); - if (code === 39 && single || code === 34 && !single) { - result += "\\"; - } - result += String.fromCharCode(code); - } - return result + quote; - } - function flattenToString(arr) { - var i, iz, elem, result = ""; - for (i = 0, iz = arr.length; i < iz; ++i) { - elem = arr[i]; - result += Array.isArray(elem) ? flattenToString(elem) : elem; - } - return result; - } - function toSourceNodeWhenNeeded(generated, node) { - if (!sourceMap) { - if (Array.isArray(generated)) { - return flattenToString(generated); - } else { - return generated; - } - } - if (node == null) { - if (generated instanceof SourceNode) { - return generated; - } else { - node = {}; - } - } - if (node.loc == null) { - return new SourceNode(null, null, sourceMap, generated, node.name || null); - } - return new SourceNode(node.loc.start.line, node.loc.start.column, sourceMap === true ? node.loc.source || null : sourceMap, generated, node.name || null); - } - function noEmptySpace() { - return space ? space : " "; - } - function join2(left, right) { - var leftSource, rightSource, leftCharCode, rightCharCode; - leftSource = toSourceNodeWhenNeeded(left).toString(); - if (leftSource.length === 0) { - return [right]; - } - rightSource = toSourceNodeWhenNeeded(right).toString(); - if (rightSource.length === 0) { - return [left]; - } - leftCharCode = leftSource.charCodeAt(leftSource.length - 1); - rightCharCode = rightSource.charCodeAt(0); - if ((leftCharCode === 43 || leftCharCode === 45) && leftCharCode === rightCharCode || esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) || leftCharCode === 47 && rightCharCode === 105) { - return [left, noEmptySpace(), right]; - } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) || esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) { - return [left, right]; - } - return [left, space, right]; - } - function addIndent(stmt) { - return [base, stmt]; - } - function withIndent(fn2) { - var previousBase; - previousBase = base; - base += indent; - fn2(base); - base = previousBase; - } - function calculateSpaces(str) { - var i; - for (i = str.length - 1; i >= 0; --i) { - if (esutils.code.isLineTerminator(str.charCodeAt(i))) { - break; - } - } - return str.length - 1 - i; - } - function adjustMultilineComment(value, specialBase) { - var array, i, len, line, j, spaces, previousBase, sn; - array = value.split(/\r\n|[\r\n]/); - spaces = Number.MAX_VALUE; - for (i = 1, len = array.length; i < len; ++i) { - line = array[i]; - j = 0; - while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) { - ++j; - } - if (spaces > j) { - spaces = j; - } - } - if (typeof specialBase !== "undefined") { - previousBase = base; - if (array[1][spaces] === "*") { - specialBase += " "; - } - base = specialBase; - } else { - if (spaces & 1) { - --spaces; - } - previousBase = base; - } - for (i = 1, len = array.length; i < len; ++i) { - sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces))); - array[i] = sourceMap ? sn.join("") : sn; - } - base = previousBase; - return array.join("\n"); - } - function generateComment(comment, specialBase) { - if (comment.type === "Line") { - if (endsWithLineTerminator(comment.value)) { - return "//" + comment.value; - } else { - var result = "//" + comment.value; - if (!preserveBlankLines) { - result += "\n"; - } - return result; - } - } - if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) { - return adjustMultilineComment("/*" + comment.value + "*/", specialBase); - } - return "/*" + comment.value + "*/"; - } - function addComments(stmt, result) { - var i, len, comment, save, tailingToStatement, specialBase, fragment, extRange, range, prevRange, prefix, infix, suffix, count; - if (stmt.leadingComments && stmt.leadingComments.length > 0) { - save = result; - if (preserveBlankLines) { - comment = stmt.leadingComments[0]; - result = []; - extRange = comment.extendedRange; - range = comment.range; - prefix = sourceCode.substring(extRange[0], range[0]); - count = (prefix.match(/\n/g) || []).length; - if (count > 0) { - result.push(stringRepeat("\n", count)); - result.push(addIndent(generateComment(comment))); - } else { - result.push(prefix); - result.push(generateComment(comment)); - } - prevRange = range; - for (i = 1, len = stmt.leadingComments.length; i < len; i++) { - comment = stmt.leadingComments[i]; - range = comment.range; - infix = sourceCode.substring(prevRange[1], range[0]); - count = (infix.match(/\n/g) || []).length; - result.push(stringRepeat("\n", count)); - result.push(addIndent(generateComment(comment))); - prevRange = range; - } - suffix = sourceCode.substring(range[1], extRange[1]); - count = (suffix.match(/\n/g) || []).length; - result.push(stringRepeat("\n", count)); - } else { - comment = stmt.leadingComments[0]; - result = []; - if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) { - result.push("\n"); - } - result.push(generateComment(comment)); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push("\n"); - } - for (i = 1, len = stmt.leadingComments.length; i < len; ++i) { - comment = stmt.leadingComments[i]; - fragment = [generateComment(comment)]; - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - fragment.push("\n"); - } - result.push(addIndent(fragment)); - } - } - result.push(addIndent(save)); - } - if (stmt.trailingComments) { - if (preserveBlankLines) { - comment = stmt.trailingComments[0]; - extRange = comment.extendedRange; - range = comment.range; - prefix = sourceCode.substring(extRange[0], range[0]); - count = (prefix.match(/\n/g) || []).length; - if (count > 0) { - result.push(stringRepeat("\n", count)); - result.push(addIndent(generateComment(comment))); - } else { - result.push(prefix); - result.push(generateComment(comment)); - } - } else { - tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString()); - specialBase = stringRepeat(" ", calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString())); - for (i = 0, len = stmt.trailingComments.length; i < len; ++i) { - comment = stmt.trailingComments[i]; - if (tailingToStatement) { - if (i === 0) { - result = [result, indent]; - } else { - result = [result, specialBase]; - } - result.push(generateComment(comment, specialBase)); - } else { - result = [result, addIndent(generateComment(comment))]; - } - if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result = [result, "\n"]; - } - } - } - } - return result; - } - function generateBlankLines(start, end, result) { - var j, newlineCount = 0; - for (j = start; j < end; j++) { - if (sourceCode[j] === "\n") { - newlineCount++; - } - } - for (j = 1; j < newlineCount; j++) { - result.push(newline); - } - } - function parenthesize(text, current, should) { - if (current < should) { - return ["(", text, ")"]; - } - return text; - } - function generateVerbatimString(string) { - var i, iz, result; - result = string.split(/\r\n|\n/); - for (i = 1, iz = result.length; i < iz; i++) { - result[i] = newline + base + result[i]; - } - return result; - } - function generateVerbatim(expr, precedence) { - var verbatim, result, prec; - verbatim = expr[extra.verbatim]; - if (typeof verbatim === "string") { - result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence); - } else { - result = generateVerbatimString(verbatim.content); - prec = verbatim.precedence != null ? verbatim.precedence : Precedence.Sequence; - result = parenthesize(result, prec, precedence); - } - return toSourceNodeWhenNeeded(result, expr); - } - function CodeGenerator() { - } - CodeGenerator.prototype.maybeBlock = function(stmt, flags) { - var result, noLeadingComment, that = this; - noLeadingComment = !extra.comment || !stmt.leadingComments; - if (stmt.type === Syntax.BlockStatement && noLeadingComment) { - return [space, this.generateStatement(stmt, flags)]; - } - if (stmt.type === Syntax.EmptyStatement && noLeadingComment) { - return ";"; - } - withIndent(function() { - result = [ - newline, - addIndent(that.generateStatement(stmt, flags)) - ]; - }); - return result; - }; - CodeGenerator.prototype.maybeBlockSuffix = function(stmt, result) { - var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString()); - if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) { - return [result, space]; - } - if (ends) { - return [result, base]; - } - return [result, newline, base]; - }; - function generateIdentifier(node) { - return toSourceNodeWhenNeeded(node.name, node); - } - function generateAsyncPrefix(node, spaceRequired) { - return node.async ? "async" + (spaceRequired ? noEmptySpace() : space) : ""; - } - function generateStarSuffix(node) { - var isGenerator = node.generator && !extra.moz.starlessGenerator; - return isGenerator ? "*" + space : ""; - } - function generateMethodPrefix(prop) { - var func = prop.value, prefix = ""; - if (func.async) { - prefix += generateAsyncPrefix(func, !prop.computed); - } - if (func.generator) { - prefix += generateStarSuffix(func) ? "*" : ""; - } - return prefix; - } - CodeGenerator.prototype.generatePattern = function(node, precedence, flags) { - if (node.type === Syntax.Identifier) { - return generateIdentifier(node); - } - return this.generateExpression(node, precedence, flags); - }; - CodeGenerator.prototype.generateFunctionParams = function(node) { - var i, iz, result, hasDefault; - hasDefault = false; - if (node.type === Syntax.ArrowFunctionExpression && !node.rest && (!node.defaults || node.defaults.length === 0) && node.params.length === 1 && node.params[0].type === Syntax.Identifier) { - result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])]; - } else { - result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : []; - result.push("("); - if (node.defaults) { - hasDefault = true; - } - for (i = 0, iz = node.params.length; i < iz; ++i) { - if (hasDefault && node.defaults[i]) { - result.push(this.generateAssignment(node.params[i], node.defaults[i], "=", Precedence.Assignment, E_TTT)); - } else { - result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT)); - } - if (i + 1 < iz) { - result.push("," + space); - } - } - if (node.rest) { - if (node.params.length) { - result.push("," + space); - } - result.push("..."); - result.push(generateIdentifier(node.rest)); - } - result.push(")"); - } - return result; - }; - CodeGenerator.prototype.generateFunctionBody = function(node) { - var result, expr; - result = this.generateFunctionParams(node); - if (node.type === Syntax.ArrowFunctionExpression) { - result.push(space); - result.push("=>"); - } - if (node.expression) { - result.push(space); - expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT); - if (expr.toString().charAt(0) === "{") { - expr = ["(", expr, ")"]; - } - result.push(expr); - } else { - result.push(this.maybeBlock(node.body, S_TTFF)); - } - return result; - }; - CodeGenerator.prototype.generateIterationForStatement = function(operator, stmt, flags) { - var result = ["for" + (stmt.await ? noEmptySpace() + "await" : "") + space + "("], that = this; - withIndent(function() { - if (stmt.left.type === Syntax.VariableDeclaration) { - withIndent(function() { - result.push(stmt.left.kind + noEmptySpace()); - result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF)); - }); - } else { - result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT)); - } - result = join2(result, operator); - result = [join2( - result, - that.generateExpression(stmt.right, Precedence.Assignment, E_TTT) - ), ")"]; - }); - result.push(this.maybeBlock(stmt.body, flags)); - return result; - }; - CodeGenerator.prototype.generatePropertyKey = function(expr, computed) { - var result = []; - if (computed) { - result.push("["); - } - result.push(this.generateExpression(expr, Precedence.Assignment, E_TTT)); - if (computed) { - result.push("]"); - } - return result; - }; - CodeGenerator.prototype.generateAssignment = function(left, right, operator, precedence, flags) { - if (Precedence.Assignment < precedence) { - flags |= F_ALLOW_IN; - } - return parenthesize( - [ - this.generateExpression(left, Precedence.Call, flags), - space + operator + space, - this.generateExpression(right, Precedence.Assignment, flags) - ], - Precedence.Assignment, - precedence - ); - }; - CodeGenerator.prototype.semicolon = function(flags) { - if (!semicolons && flags & F_SEMICOLON_OPT) { - return ""; - } - return ";"; - }; - CodeGenerator.Statement = { - BlockStatement: function(stmt, flags) { - var range, content, result = ["{", newline], that = this; - withIndent(function() { - if (stmt.body.length === 0 && preserveBlankLines) { - range = stmt.range; - if (range[1] - range[0] > 2) { - content = sourceCode.substring(range[0] + 1, range[1] - 1); - if (content[0] === "\n") { - result = ["{"]; - } - result.push(content); - } - } - var i, iz, fragment, bodyFlags; - bodyFlags = S_TFFF; - if (flags & F_FUNC_BODY) { - bodyFlags |= F_DIRECTIVE_CTX; - } - for (i = 0, iz = stmt.body.length; i < iz; ++i) { - if (preserveBlankLines) { - if (i === 0) { - if (stmt.body[0].leadingComments) { - range = stmt.body[0].leadingComments[0].extendedRange; - content = sourceCode.substring(range[0], range[1]); - if (content[0] === "\n") { - result = ["{"]; - } - } - if (!stmt.body[0].leadingComments) { - generateBlankLines(stmt.range[0], stmt.body[0].range[0], result); - } - } - if (i > 0) { - if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) { - generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result); - } - } - } - if (i === iz - 1) { - bodyFlags |= F_SEMICOLON_OPT; - } - if (stmt.body[i].leadingComments && preserveBlankLines) { - fragment = that.generateStatement(stmt.body[i], bodyFlags); - } else { - fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags)); - } - result.push(fragment); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - if (preserveBlankLines && i < iz - 1) { - if (!stmt.body[i + 1].leadingComments) { - result.push(newline); - } - } else { - result.push(newline); - } - } - if (preserveBlankLines) { - if (i === iz - 1) { - if (!stmt.body[i].trailingComments) { - generateBlankLines(stmt.body[i].range[1], stmt.range[1], result); - } - } - } - } - }); - result.push(addIndent("}")); - return result; - }, - BreakStatement: function(stmt, flags) { - if (stmt.label) { - return "break " + stmt.label.name + this.semicolon(flags); - } - return "break" + this.semicolon(flags); - }, - ContinueStatement: function(stmt, flags) { - if (stmt.label) { - return "continue " + stmt.label.name + this.semicolon(flags); - } - return "continue" + this.semicolon(flags); - }, - ClassBody: function(stmt, flags) { - var result = ["{", newline], that = this; - withIndent(function(indent2) { - var i, iz; - for (i = 0, iz = stmt.body.length; i < iz; ++i) { - result.push(indent2); - result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push(newline); - } - } - }); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base); - result.push("}"); - return result; - }, - ClassDeclaration: function(stmt, flags) { - var result, fragment; - result = ["class"]; - if (stmt.id) { - result = join2(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT)); - } - if (stmt.superClass) { - fragment = join2("extends", this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT)); - result = join2(result, fragment); - } - result.push(space); - result.push(this.generateStatement(stmt.body, S_TFFT)); - return result; - }, - DirectiveStatement: function(stmt, flags) { - if (extra.raw && stmt.raw) { - return stmt.raw + this.semicolon(flags); - } - return escapeDirective(stmt.directive) + this.semicolon(flags); - }, - DoWhileStatement: function(stmt, flags) { - var result = join2("do", this.maybeBlock(stmt.body, S_TFFF)); - result = this.maybeBlockSuffix(stmt.body, result); - return join2(result, [ - "while" + space + "(", - this.generateExpression(stmt.test, Precedence.Sequence, E_TTT), - ")" + this.semicolon(flags) - ]); - }, - CatchClause: function(stmt, flags) { - var result, that = this; - withIndent(function() { - var guard; - if (stmt.param) { - result = [ - "catch" + space + "(", - that.generateExpression(stmt.param, Precedence.Sequence, E_TTT), - ")" - ]; - if (stmt.guard) { - guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT); - result.splice(2, 0, " if ", guard); - } - } else { - result = ["catch"]; - } - }); - result.push(this.maybeBlock(stmt.body, S_TFFF)); - return result; - }, - DebuggerStatement: function(stmt, flags) { - return "debugger" + this.semicolon(flags); - }, - EmptyStatement: function(stmt, flags) { - return ";"; - }, - ExportDefaultDeclaration: function(stmt, flags) { - var result = ["export"], bodyFlags; - bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF; - result = join2(result, "default"); - if (isStatement(stmt.declaration)) { - result = join2(result, this.generateStatement(stmt.declaration, bodyFlags)); - } else { - result = join2(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags)); - } - return result; - }, - ExportNamedDeclaration: function(stmt, flags) { - var result = ["export"], bodyFlags, that = this; - bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF; - if (stmt.declaration) { - return join2(result, this.generateStatement(stmt.declaration, bodyFlags)); - } - if (stmt.specifiers) { - if (stmt.specifiers.length === 0) { - result = join2(result, "{" + space + "}"); - } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) { - result = join2(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT)); - } else { - result = join2(result, "{"); - withIndent(function(indent2) { - var i, iz; - result.push(newline); - for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) { - result.push(indent2); - result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push("," + newline); - } - } - }); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base + "}"); - } - if (stmt.source) { - result = join2(result, [ - "from" + space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]); - } else { - result.push(this.semicolon(flags)); - } - } - return result; - }, - ExportAllDeclaration: function(stmt, flags) { - return [ - "export" + space, - "*" + space, - "from" + space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]; - }, - ExpressionStatement: function(stmt, flags) { - var result, fragment; - function isClassPrefixed(fragment2) { - var code; - if (fragment2.slice(0, 5) !== "class") { - return false; - } - code = fragment2.charCodeAt(5); - return code === 123 || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code); - } - function isFunctionPrefixed(fragment2) { - var code; - if (fragment2.slice(0, 8) !== "function") { - return false; - } - code = fragment2.charCodeAt(8); - return code === 40 || esutils.code.isWhiteSpace(code) || code === 42 || esutils.code.isLineTerminator(code); - } - function isAsyncPrefixed(fragment2) { - var code, i, iz; - if (fragment2.slice(0, 5) !== "async") { - return false; - } - if (!esutils.code.isWhiteSpace(fragment2.charCodeAt(5))) { - return false; - } - for (i = 6, iz = fragment2.length; i < iz; ++i) { - if (!esutils.code.isWhiteSpace(fragment2.charCodeAt(i))) { - break; - } - } - if (i === iz) { - return false; - } - if (fragment2.slice(i, i + 8) !== "function") { - return false; - } - code = fragment2.charCodeAt(i + 8); - return code === 40 || esutils.code.isWhiteSpace(code) || code === 42 || esutils.code.isLineTerminator(code); - } - result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)]; - fragment = toSourceNodeWhenNeeded(result).toString(); - if (fragment.charCodeAt(0) === 123 || // ObjectExpression - isClassPrefixed(fragment) || isFunctionPrefixed(fragment) || isAsyncPrefixed(fragment) || directive && flags & F_DIRECTIVE_CTX && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === "string") { - result = ["(", result, ")" + this.semicolon(flags)]; - } else { - result.push(this.semicolon(flags)); - } - return result; - }, - ImportDeclaration: function(stmt, flags) { - var result, cursor, that = this; - if (stmt.specifiers.length === 0) { - return [ - "import", - space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]; - } - result = [ - "import" - ]; - cursor = 0; - if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) { - result = join2(result, [ - this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT) - ]); - ++cursor; - } - if (stmt.specifiers[cursor]) { - if (cursor !== 0) { - result.push(","); - } - if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) { - result = join2(result, [ - space, - this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT) - ]); - } else { - result.push(space + "{"); - if (stmt.specifiers.length - cursor === 1) { - result.push(space); - result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)); - result.push(space + "}" + space); - } else { - withIndent(function(indent2) { - var i, iz; - result.push(newline); - for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) { - result.push(indent2); - result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push("," + newline); - } - } - }); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base + "}" + space); - } - } - } - result = join2(result, [ - "from" + space, - // ModuleSpecifier - this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), - this.semicolon(flags) - ]); - return result; - }, - VariableDeclarator: function(stmt, flags) { - var itemFlags = flags & F_ALLOW_IN ? E_TTT : E_FTT; - if (stmt.init) { - return [ - this.generateExpression(stmt.id, Precedence.Assignment, itemFlags), - space, - "=", - space, - this.generateExpression(stmt.init, Precedence.Assignment, itemFlags) - ]; - } - return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags); - }, - VariableDeclaration: function(stmt, flags) { - var result, i, iz, node, bodyFlags, that = this; - result = [stmt.kind]; - bodyFlags = flags & F_ALLOW_IN ? S_TFFF : S_FFFF; - function block() { - node = stmt.declarations[0]; - if (extra.comment && node.leadingComments) { - result.push("\n"); - result.push(addIndent(that.generateStatement(node, bodyFlags))); - } else { - result.push(noEmptySpace()); - result.push(that.generateStatement(node, bodyFlags)); - } - for (i = 1, iz = stmt.declarations.length; i < iz; ++i) { - node = stmt.declarations[i]; - if (extra.comment && node.leadingComments) { - result.push("," + newline); - result.push(addIndent(that.generateStatement(node, bodyFlags))); - } else { - result.push("," + space); - result.push(that.generateStatement(node, bodyFlags)); - } - } - } - if (stmt.declarations.length > 1) { - withIndent(block); - } else { - block(); - } - result.push(this.semicolon(flags)); - return result; - }, - ThrowStatement: function(stmt, flags) { - return [join2( - "throw", - this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT) - ), this.semicolon(flags)]; - }, - TryStatement: function(stmt, flags) { - var result, i, iz, guardedHandlers; - result = ["try", this.maybeBlock(stmt.block, S_TFFF)]; - result = this.maybeBlockSuffix(stmt.block, result); - if (stmt.handlers) { - for (i = 0, iz = stmt.handlers.length; i < iz; ++i) { - result = join2(result, this.generateStatement(stmt.handlers[i], S_TFFF)); - if (stmt.finalizer || i + 1 !== iz) { - result = this.maybeBlockSuffix(stmt.handlers[i].body, result); - } - } - } else { - guardedHandlers = stmt.guardedHandlers || []; - for (i = 0, iz = guardedHandlers.length; i < iz; ++i) { - result = join2(result, this.generateStatement(guardedHandlers[i], S_TFFF)); - if (stmt.finalizer || i + 1 !== iz) { - result = this.maybeBlockSuffix(guardedHandlers[i].body, result); - } - } - if (stmt.handler) { - if (Array.isArray(stmt.handler)) { - for (i = 0, iz = stmt.handler.length; i < iz; ++i) { - result = join2(result, this.generateStatement(stmt.handler[i], S_TFFF)); - if (stmt.finalizer || i + 1 !== iz) { - result = this.maybeBlockSuffix(stmt.handler[i].body, result); - } - } - } else { - result = join2(result, this.generateStatement(stmt.handler, S_TFFF)); - if (stmt.finalizer) { - result = this.maybeBlockSuffix(stmt.handler.body, result); - } - } - } - } - if (stmt.finalizer) { - result = join2(result, ["finally", this.maybeBlock(stmt.finalizer, S_TFFF)]); - } - return result; - }, - SwitchStatement: function(stmt, flags) { - var result, fragment, i, iz, bodyFlags, that = this; - withIndent(function() { - result = [ - "switch" + space + "(", - that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT), - ")" + space + "{" + newline - ]; - }); - if (stmt.cases) { - bodyFlags = S_TFFF; - for (i = 0, iz = stmt.cases.length; i < iz; ++i) { - if (i === iz - 1) { - bodyFlags |= F_SEMICOLON_OPT; - } - fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags)); - result.push(fragment); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - result.push(newline); - } - } - } - result.push(addIndent("}")); - return result; - }, - SwitchCase: function(stmt, flags) { - var result, fragment, i, iz, bodyFlags, that = this; - withIndent(function() { - if (stmt.test) { - result = [ - join2("case", that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)), - ":" - ]; - } else { - result = ["default:"]; - } - i = 0; - iz = stmt.consequent.length; - if (iz && stmt.consequent[0].type === Syntax.BlockStatement) { - fragment = that.maybeBlock(stmt.consequent[0], S_TFFF); - result.push(fragment); - i = 1; - } - if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - bodyFlags = S_TFFF; - for (; i < iz; ++i) { - if (i === iz - 1 && flags & F_SEMICOLON_OPT) { - bodyFlags |= F_SEMICOLON_OPT; - } - fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags)); - result.push(fragment); - if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - result.push(newline); - } - } - }); - return result; - }, - IfStatement: function(stmt, flags) { - var result, bodyFlags, semicolonOptional, that = this; - withIndent(function() { - result = [ - "if" + space + "(", - that.generateExpression(stmt.test, Precedence.Sequence, E_TTT), - ")" - ]; - }); - semicolonOptional = flags & F_SEMICOLON_OPT; - bodyFlags = S_TFFF; - if (semicolonOptional) { - bodyFlags |= F_SEMICOLON_OPT; - } - if (stmt.alternate) { - result.push(this.maybeBlock(stmt.consequent, S_TFFF)); - result = this.maybeBlockSuffix(stmt.consequent, result); - if (stmt.alternate.type === Syntax.IfStatement) { - result = join2(result, ["else ", this.generateStatement(stmt.alternate, bodyFlags)]); - } else { - result = join2(result, join2("else", this.maybeBlock(stmt.alternate, bodyFlags))); - } - } else { - result.push(this.maybeBlock(stmt.consequent, bodyFlags)); - } - return result; - }, - ForStatement: function(stmt, flags) { - var result, that = this; - withIndent(function() { - result = ["for" + space + "("]; - if (stmt.init) { - if (stmt.init.type === Syntax.VariableDeclaration) { - result.push(that.generateStatement(stmt.init, S_FFFF)); - } else { - result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT)); - result.push(";"); - } - } else { - result.push(";"); - } - if (stmt.test) { - result.push(space); - result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)); - result.push(";"); - } else { - result.push(";"); - } - if (stmt.update) { - result.push(space); - result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT)); - result.push(")"); - } else { - result.push(")"); - } - }); - result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); - return result; - }, - ForInStatement: function(stmt, flags) { - return this.generateIterationForStatement("in", stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF); - }, - ForOfStatement: function(stmt, flags) { - return this.generateIterationForStatement("of", stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF); - }, - LabeledStatement: function(stmt, flags) { - return [stmt.label.name + ":", this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)]; - }, - Program: function(stmt, flags) { - var result, fragment, i, iz, bodyFlags; - iz = stmt.body.length; - result = [safeConcatenation && iz > 0 ? "\n" : ""]; - bodyFlags = S_TFTF; - for (i = 0; i < iz; ++i) { - if (!safeConcatenation && i === iz - 1) { - bodyFlags |= F_SEMICOLON_OPT; - } - if (preserveBlankLines) { - if (i === 0) { - if (!stmt.body[0].leadingComments) { - generateBlankLines(stmt.range[0], stmt.body[i].range[0], result); - } - } - if (i > 0) { - if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) { - generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result); - } - } - } - fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags)); - result.push(fragment); - if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - if (preserveBlankLines) { - if (!stmt.body[i + 1].leadingComments) { - result.push(newline); - } - } else { - result.push(newline); - } - } - if (preserveBlankLines) { - if (i === iz - 1) { - if (!stmt.body[i].trailingComments) { - generateBlankLines(stmt.body[i].range[1], stmt.range[1], result); - } - } - } - } - return result; - }, - FunctionDeclaration: function(stmt, flags) { - return [ - generateAsyncPrefix(stmt, true), - "function", - generateStarSuffix(stmt) || noEmptySpace(), - stmt.id ? generateIdentifier(stmt.id) : "", - this.generateFunctionBody(stmt) - ]; - }, - ReturnStatement: function(stmt, flags) { - if (stmt.argument) { - return [join2( - "return", - this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT) - ), this.semicolon(flags)]; - } - return ["return" + this.semicolon(flags)]; - }, - WhileStatement: function(stmt, flags) { - var result, that = this; - withIndent(function() { - result = [ - "while" + space + "(", - that.generateExpression(stmt.test, Precedence.Sequence, E_TTT), - ")" - ]; - }); - result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); - return result; - }, - WithStatement: function(stmt, flags) { - var result, that = this; - withIndent(function() { - result = [ - "with" + space + "(", - that.generateExpression(stmt.object, Precedence.Sequence, E_TTT), - ")" - ]; - }); - result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); - return result; - } - }; - merge(CodeGenerator.prototype, CodeGenerator.Statement); - CodeGenerator.Expression = { - SequenceExpression: function(expr, precedence, flags) { - var result, i, iz; - if (Precedence.Sequence < precedence) { - flags |= F_ALLOW_IN; - } - result = []; - for (i = 0, iz = expr.expressions.length; i < iz; ++i) { - result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags)); - if (i + 1 < iz) { - result.push("," + space); - } - } - return parenthesize(result, Precedence.Sequence, precedence); - }, - AssignmentExpression: function(expr, precedence, flags) { - return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags); - }, - ArrowFunctionExpression: function(expr, precedence, flags) { - return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence); - }, - ConditionalExpression: function(expr, precedence, flags) { - if (Precedence.Conditional < precedence) { - flags |= F_ALLOW_IN; - } - return parenthesize( - [ - this.generateExpression(expr.test, Precedence.LogicalOR, flags), - space + "?" + space, - this.generateExpression(expr.consequent, Precedence.Assignment, flags), - space + ":" + space, - this.generateExpression(expr.alternate, Precedence.Assignment, flags) - ], - Precedence.Conditional, - precedence - ); - }, - LogicalExpression: function(expr, precedence, flags) { - return this.BinaryExpression(expr, precedence, flags); - }, - BinaryExpression: function(expr, precedence, flags) { - var result, leftPrecedence, rightPrecedence, currentPrecedence, fragment, leftSource; - currentPrecedence = BinaryPrecedence[expr.operator]; - leftPrecedence = expr.operator === "**" ? Precedence.Postfix : currentPrecedence; - rightPrecedence = expr.operator === "**" ? currentPrecedence : currentPrecedence + 1; - if (currentPrecedence < precedence) { - flags |= F_ALLOW_IN; - } - fragment = this.generateExpression(expr.left, leftPrecedence, flags); - leftSource = fragment.toString(); - if (leftSource.charCodeAt(leftSource.length - 1) === 47 && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) { - result = [fragment, noEmptySpace(), expr.operator]; - } else { - result = join2(fragment, expr.operator); - } - fragment = this.generateExpression(expr.right, rightPrecedence, flags); - if (expr.operator === "/" && fragment.toString().charAt(0) === "/" || expr.operator.slice(-1) === "<" && fragment.toString().slice(0, 3) === "!--") { - result.push(noEmptySpace()); - result.push(fragment); - } else { - result = join2(result, fragment); - } - if (expr.operator === "in" && !(flags & F_ALLOW_IN)) { - return ["(", result, ")"]; - } - return parenthesize(result, currentPrecedence, precedence); - }, - CallExpression: function(expr, precedence, flags) { - var result, i, iz; - result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)]; - result.push("("); - for (i = 0, iz = expr["arguments"].length; i < iz; ++i) { - result.push(this.generateExpression(expr["arguments"][i], Precedence.Assignment, E_TTT)); - if (i + 1 < iz) { - result.push("," + space); - } - } - result.push(")"); - if (!(flags & F_ALLOW_CALL)) { - return ["(", result, ")"]; - } - return parenthesize(result, Precedence.Call, precedence); - }, - NewExpression: function(expr, precedence, flags) { - var result, length, i, iz, itemFlags; - length = expr["arguments"].length; - itemFlags = flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0 ? E_TFT : E_TFF; - result = join2( - "new", - this.generateExpression(expr.callee, Precedence.New, itemFlags) - ); - if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) { - result.push("("); - for (i = 0, iz = length; i < iz; ++i) { - result.push(this.generateExpression(expr["arguments"][i], Precedence.Assignment, E_TTT)); - if (i + 1 < iz) { - result.push("," + space); - } - } - result.push(")"); - } - return parenthesize(result, Precedence.New, precedence); - }, - MemberExpression: function(expr, precedence, flags) { - var result, fragment; - result = [this.generateExpression(expr.object, Precedence.Call, flags & F_ALLOW_CALL ? E_TTF : E_TFF)]; - if (expr.computed) { - result.push("["); - result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT)); - result.push("]"); - } else { - if (expr.object.type === Syntax.Literal && typeof expr.object.value === "number") { - fragment = toSourceNodeWhenNeeded(result).toString(); - if (fragment.indexOf(".") < 0 && !/[eExX]/.test(fragment) && esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) && !(fragment.length >= 2 && fragment.charCodeAt(0) === 48)) { - result.push(" "); - } - } - result.push("."); - result.push(generateIdentifier(expr.property)); - } - return parenthesize(result, Precedence.Member, precedence); - }, - MetaProperty: function(expr, precedence, flags) { - var result; - result = []; - result.push(typeof expr.meta === "string" ? expr.meta : generateIdentifier(expr.meta)); - result.push("."); - result.push(typeof expr.property === "string" ? expr.property : generateIdentifier(expr.property)); - return parenthesize(result, Precedence.Member, precedence); - }, - UnaryExpression: function(expr, precedence, flags) { - var result, fragment, rightCharCode, leftSource, leftCharCode; - fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT); - if (space === "") { - result = join2(expr.operator, fragment); - } else { - result = [expr.operator]; - if (expr.operator.length > 2) { - result = join2(result, fragment); - } else { - leftSource = toSourceNodeWhenNeeded(result).toString(); - leftCharCode = leftSource.charCodeAt(leftSource.length - 1); - rightCharCode = fragment.toString().charCodeAt(0); - if ((leftCharCode === 43 || leftCharCode === 45) && leftCharCode === rightCharCode || esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode)) { - result.push(noEmptySpace()); - result.push(fragment); - } else { - result.push(fragment); - } - } - } - return parenthesize(result, Precedence.Unary, precedence); - }, - YieldExpression: function(expr, precedence, flags) { - var result; - if (expr.delegate) { - result = "yield*"; - } else { - result = "yield"; - } - if (expr.argument) { - result = join2( - result, - this.generateExpression(expr.argument, Precedence.Yield, E_TTT) - ); - } - return parenthesize(result, Precedence.Yield, precedence); - }, - AwaitExpression: function(expr, precedence, flags) { - var result = join2( - expr.all ? "await*" : "await", - this.generateExpression(expr.argument, Precedence.Await, E_TTT) - ); - return parenthesize(result, Precedence.Await, precedence); - }, - UpdateExpression: function(expr, precedence, flags) { - if (expr.prefix) { - return parenthesize( - [ - expr.operator, - this.generateExpression(expr.argument, Precedence.Unary, E_TTT) - ], - Precedence.Unary, - precedence - ); - } - return parenthesize( - [ - this.generateExpression(expr.argument, Precedence.Postfix, E_TTT), - expr.operator - ], - Precedence.Postfix, - precedence - ); - }, - FunctionExpression: function(expr, precedence, flags) { - var result = [ - generateAsyncPrefix(expr, true), - "function" - ]; - if (expr.id) { - result.push(generateStarSuffix(expr) || noEmptySpace()); - result.push(generateIdentifier(expr.id)); - } else { - result.push(generateStarSuffix(expr) || space); - } - result.push(this.generateFunctionBody(expr)); - return result; - }, - ArrayPattern: function(expr, precedence, flags) { - return this.ArrayExpression(expr, precedence, flags, true); - }, - ArrayExpression: function(expr, precedence, flags, isPattern) { - var result, multiline, that = this; - if (!expr.elements.length) { - return "[]"; - } - multiline = isPattern ? false : expr.elements.length > 1; - result = ["[", multiline ? newline : ""]; - withIndent(function(indent2) { - var i, iz; - for (i = 0, iz = expr.elements.length; i < iz; ++i) { - if (!expr.elements[i]) { - if (multiline) { - result.push(indent2); - } - if (i + 1 === iz) { - result.push(","); - } - } else { - result.push(multiline ? indent2 : ""); - result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT)); - } - if (i + 1 < iz) { - result.push("," + (multiline ? newline : space)); - } - } - }); - if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(multiline ? base : ""); - result.push("]"); - return result; - }, - RestElement: function(expr, precedence, flags) { - return "..." + this.generatePattern(expr.argument); - }, - ClassExpression: function(expr, precedence, flags) { - var result, fragment; - result = ["class"]; - if (expr.id) { - result = join2(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT)); - } - if (expr.superClass) { - fragment = join2("extends", this.generateExpression(expr.superClass, Precedence.Unary, E_TTT)); - result = join2(result, fragment); - } - result.push(space); - result.push(this.generateStatement(expr.body, S_TFFT)); - return result; - }, - MethodDefinition: function(expr, precedence, flags) { - var result, fragment; - if (expr["static"]) { - result = ["static" + space]; - } else { - result = []; - } - if (expr.kind === "get" || expr.kind === "set") { - fragment = [ - join2(expr.kind, this.generatePropertyKey(expr.key, expr.computed)), - this.generateFunctionBody(expr.value) - ]; - } else { - fragment = [ - generateMethodPrefix(expr), - this.generatePropertyKey(expr.key, expr.computed), - this.generateFunctionBody(expr.value) - ]; - } - return join2(result, fragment); - }, - Property: function(expr, precedence, flags) { - if (expr.kind === "get" || expr.kind === "set") { - return [ - expr.kind, - noEmptySpace(), - this.generatePropertyKey(expr.key, expr.computed), - this.generateFunctionBody(expr.value) - ]; - } - if (expr.shorthand) { - if (expr.value.type === "AssignmentPattern") { - return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT); - } - return this.generatePropertyKey(expr.key, expr.computed); - } - if (expr.method) { - return [ - generateMethodPrefix(expr), - this.generatePropertyKey(expr.key, expr.computed), - this.generateFunctionBody(expr.value) - ]; - } - return [ - this.generatePropertyKey(expr.key, expr.computed), - ":" + space, - this.generateExpression(expr.value, Precedence.Assignment, E_TTT) - ]; - }, - ObjectExpression: function(expr, precedence, flags) { - var multiline, result, fragment, that = this; - if (!expr.properties.length) { - return "{}"; - } - multiline = expr.properties.length > 1; - withIndent(function() { - fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT); - }); - if (!multiline) { - if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { - return ["{", space, fragment, space, "}"]; - } - } - withIndent(function(indent2) { - var i, iz; - result = ["{", newline, indent2, fragment]; - if (multiline) { - result.push("," + newline); - for (i = 1, iz = expr.properties.length; i < iz; ++i) { - result.push(indent2); - result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT)); - if (i + 1 < iz) { - result.push("," + newline); - } - } - } - }); - if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(base); - result.push("}"); - return result; - }, - AssignmentPattern: function(expr, precedence, flags) { - return this.generateAssignment(expr.left, expr.right, "=", precedence, flags); - }, - ObjectPattern: function(expr, precedence, flags) { - var result, i, iz, multiline, property, that = this; - if (!expr.properties.length) { - return "{}"; - } - multiline = false; - if (expr.properties.length === 1) { - property = expr.properties[0]; - if (property.type === Syntax.Property && property.value.type !== Syntax.Identifier) { - multiline = true; - } - } else { - for (i = 0, iz = expr.properties.length; i < iz; ++i) { - property = expr.properties[i]; - if (property.type === Syntax.Property && !property.shorthand) { - multiline = true; - break; - } - } - } - result = ["{", multiline ? newline : ""]; - withIndent(function(indent2) { - var i2, iz2; - for (i2 = 0, iz2 = expr.properties.length; i2 < iz2; ++i2) { - result.push(multiline ? indent2 : ""); - result.push(that.generateExpression(expr.properties[i2], Precedence.Sequence, E_TTT)); - if (i2 + 1 < iz2) { - result.push("," + (multiline ? newline : space)); - } - } - }); - if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { - result.push(newline); - } - result.push(multiline ? base : ""); - result.push("}"); - return result; - }, - ThisExpression: function(expr, precedence, flags) { - return "this"; - }, - Super: function(expr, precedence, flags) { - return "super"; - }, - Identifier: function(expr, precedence, flags) { - return generateIdentifier(expr); - }, - ImportDefaultSpecifier: function(expr, precedence, flags) { - return generateIdentifier(expr.id || expr.local); - }, - ImportNamespaceSpecifier: function(expr, precedence, flags) { - var result = ["*"]; - var id = expr.id || expr.local; - if (id) { - result.push(space + "as" + noEmptySpace() + generateIdentifier(id)); - } - return result; - }, - ImportSpecifier: function(expr, precedence, flags) { - var imported = expr.imported; - var result = [imported.name]; - var local = expr.local; - if (local && local.name !== imported.name) { - result.push(noEmptySpace() + "as" + noEmptySpace() + generateIdentifier(local)); - } - return result; - }, - ExportSpecifier: function(expr, precedence, flags) { - var local = expr.local; - var result = [local.name]; - var exported = expr.exported; - if (exported && exported.name !== local.name) { - result.push(noEmptySpace() + "as" + noEmptySpace() + generateIdentifier(exported)); - } - return result; - }, - Literal: function(expr, precedence, flags) { - var raw; - if (expr.hasOwnProperty("raw") && parse && extra.raw) { - try { - raw = parse(expr.raw).body[0].expression; - if (raw.type === Syntax.Literal) { - if (raw.value === expr.value) { - return expr.raw; - } - } - } catch (e) { - } - } - if (expr.regex) { - return "/" + expr.regex.pattern + "/" + expr.regex.flags; - } - if (expr.value === null) { - return "null"; - } - if (typeof expr.value === "string") { - return escapeString(expr.value); - } - if (typeof expr.value === "number") { - return generateNumber(expr.value); - } - if (typeof expr.value === "boolean") { - return expr.value ? "true" : "false"; - } - return generateRegExp(expr.value); - }, - GeneratorExpression: function(expr, precedence, flags) { - return this.ComprehensionExpression(expr, precedence, flags); - }, - ComprehensionExpression: function(expr, precedence, flags) { - var result, i, iz, fragment, that = this; - result = expr.type === Syntax.GeneratorExpression ? ["("] : ["["]; - if (extra.moz.comprehensionExpressionStartsWithAssignment) { - fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT); - result.push(fragment); - } - if (expr.blocks) { - withIndent(function() { - for (i = 0, iz = expr.blocks.length; i < iz; ++i) { - fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT); - if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) { - result = join2(result, fragment); - } else { - result.push(fragment); - } - } - }); - } - if (expr.filter) { - result = join2(result, "if" + space); - fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT); - result = join2(result, ["(", fragment, ")"]); - } - if (!extra.moz.comprehensionExpressionStartsWithAssignment) { - fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT); - result = join2(result, fragment); - } - result.push(expr.type === Syntax.GeneratorExpression ? ")" : "]"); - return result; - }, - ComprehensionBlock: function(expr, precedence, flags) { - var fragment; - if (expr.left.type === Syntax.VariableDeclaration) { - fragment = [ - expr.left.kind, - noEmptySpace(), - this.generateStatement(expr.left.declarations[0], S_FFFF) - ]; - } else { - fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT); - } - fragment = join2(fragment, expr.of ? "of" : "in"); - fragment = join2(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT)); - return ["for" + space + "(", fragment, ")"]; - }, - SpreadElement: function(expr, precedence, flags) { - return [ - "...", - this.generateExpression(expr.argument, Precedence.Assignment, E_TTT) - ]; - }, - TaggedTemplateExpression: function(expr, precedence, flags) { - var itemFlags = E_TTF; - if (!(flags & F_ALLOW_CALL)) { - itemFlags = E_TFF; - } - var result = [ - this.generateExpression(expr.tag, Precedence.Call, itemFlags), - this.generateExpression(expr.quasi, Precedence.Primary, E_FFT) - ]; - return parenthesize(result, Precedence.TaggedTemplate, precedence); - }, - TemplateElement: function(expr, precedence, flags) { - return expr.value.raw; - }, - TemplateLiteral: function(expr, precedence, flags) { - var result, i, iz; - result = ["`"]; - for (i = 0, iz = expr.quasis.length; i < iz; ++i) { - result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT)); - if (i + 1 < iz) { - result.push("${" + space); - result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT)); - result.push(space + "}"); - } - } - result.push("`"); - return result; - }, - ModuleSpecifier: function(expr, precedence, flags) { - return this.Literal(expr, precedence, flags); - }, - ImportExpression: function(expr, precedence, flag) { - return parenthesize([ - "import(", - this.generateExpression(expr.source, Precedence.Assignment, E_TTT), - ")" - ], Precedence.Call, precedence); - } - }; - merge(CodeGenerator.prototype, CodeGenerator.Expression); - CodeGenerator.prototype.generateExpression = function(expr, precedence, flags) { - var result, type; - type = expr.type || Syntax.Property; - if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) { - return generateVerbatim(expr, precedence); - } - result = this[type](expr, precedence, flags); - if (extra.comment) { - result = addComments(expr, result); - } - return toSourceNodeWhenNeeded(result, expr); - }; - CodeGenerator.prototype.generateStatement = function(stmt, flags) { - var result, fragment; - result = this[stmt.type](stmt, flags); - if (extra.comment) { - result = addComments(stmt, result); - } - fragment = toSourceNodeWhenNeeded(result).toString(); - if (stmt.type === Syntax.Program && !safeConcatenation && newline === "" && fragment.charAt(fragment.length - 1) === "\n") { - result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, "") : fragment.replace(/\s+$/, ""); - } - return toSourceNodeWhenNeeded(result, stmt); - }; - function generateInternal(node) { - var codegen; - codegen = new CodeGenerator(); - if (isStatement(node)) { - return codegen.generateStatement(node, S_TFFF); - } - if (isExpression(node)) { - return codegen.generateExpression(node, Precedence.Sequence, E_TTT); - } - throw new Error("Unknown node type: " + node.type); - } - function generate(node, options) { - var defaultOptions = getDefaultOptions(), result, pair; - if (options != null) { - if (typeof options.indent === "string") { - defaultOptions.format.indent.style = options.indent; - } - if (typeof options.base === "number") { - defaultOptions.format.indent.base = options.base; - } - options = updateDeeply(defaultOptions, options); - indent = options.format.indent.style; - if (typeof options.base === "string") { - base = options.base; - } else { - base = stringRepeat(indent, options.format.indent.base); - } - } else { - options = defaultOptions; - indent = options.format.indent.style; - base = stringRepeat(indent, options.format.indent.base); - } - json = options.format.json; - renumber = options.format.renumber; - hexadecimal = json ? false : options.format.hexadecimal; - quotes = json ? "double" : options.format.quotes; - escapeless = options.format.escapeless; - newline = options.format.newline; - space = options.format.space; - if (options.format.compact) { - newline = space = indent = base = ""; - } - parentheses = options.format.parentheses; - semicolons = options.format.semicolons; - safeConcatenation = options.format.safeConcatenation; - directive = options.directive; - parse = json ? null : options.parse; - sourceMap = options.sourceMap; - sourceCode = options.sourceCode; - preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null; - extra = options; - if (sourceMap) { - if (!exports.browser) { - SourceNode = require_source_map().SourceNode; - } else { - SourceNode = global.sourceMap.SourceNode; - } - } - result = generateInternal(node); - if (!sourceMap) { - pair = { code: result.toString(), map: null }; - return options.sourceMapWithCode ? pair : pair.code; - } - pair = result.toStringWithSourceMap({ - file: options.file, - sourceRoot: options.sourceMapRoot - }); - if (options.sourceContent) { - pair.map.setSourceContent( - options.sourceMap, - options.sourceContent - ); - } - if (options.sourceMapWithCode) { - return pair; - } - return pair.map.toString(); - } - FORMAT_MINIFY = { - indent: { - style: "", - base: 0 - }, - renumber: true, - hexadecimal: true, - quotes: "auto", - escapeless: true, - compact: true, - parentheses: false, - semicolons: false - }; - FORMAT_DEFAULTS = getDefaultOptions().format; - exports.version = require_package2().version; - exports.generate = generate; - exports.attachComments = estraverse.attachComments; - exports.Precedence = updateDeeply({}, Precedence); - exports.browser = false; - exports.FORMAT_MINIFY = FORMAT_MINIFY; - exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS; - })(); - } -}); - -// .yarn/cache/esprima-npm-4.0.1-1084e98778-08b3015538.zip/node_modules/esprima/dist/esprima.js -var require_esprima = __commonJS({ - ".yarn/cache/esprima-npm-4.0.1-1084e98778-08b3015538.zip/node_modules/esprima/dist/esprima.js"(exports, module2) { - (function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === "object" && typeof module2 === "object") - module2.exports = factory(); - else if (typeof define === "function" && define.amd) - define([], factory); - else if (typeof exports === "object") - exports["esprima"] = factory(); - else - root["esprima"] = factory(); - })(exports, function() { - return function(modules) { - var installedModules = {}; - function __webpack_require__(moduleId) { - if (installedModules[moduleId]) - return installedModules[moduleId].exports; - var module3 = installedModules[moduleId] = { - /******/ - exports: {}, - /******/ - id: moduleId, - /******/ - loaded: false - /******/ - }; - modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__); - module3.loaded = true; - return module3.exports; - } - __webpack_require__.m = modules; - __webpack_require__.c = installedModules; - __webpack_require__.p = ""; - return __webpack_require__(0); - }([ - /* 0 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var comment_handler_1 = __webpack_require__(1); - var jsx_parser_1 = __webpack_require__(3); - var parser_1 = __webpack_require__(8); - var tokenizer_1 = __webpack_require__(15); - function parse(code, options, delegate) { - var commentHandler = null; - var proxyDelegate = function(node, metadata) { - if (delegate) { - delegate(node, metadata); - } - if (commentHandler) { - commentHandler.visit(node, metadata); - } - }; - var parserDelegate = typeof delegate === "function" ? proxyDelegate : null; - var collectComment = false; - if (options) { - collectComment = typeof options.comment === "boolean" && options.comment; - var attachComment = typeof options.attachComment === "boolean" && options.attachComment; - if (collectComment || attachComment) { - commentHandler = new comment_handler_1.CommentHandler(); - commentHandler.attach = attachComment; - options.comment = true; - parserDelegate = proxyDelegate; - } - } - var isModule = false; - if (options && typeof options.sourceType === "string") { - isModule = options.sourceType === "module"; - } - var parser; - if (options && typeof options.jsx === "boolean" && options.jsx) { - parser = new jsx_parser_1.JSXParser(code, options, parserDelegate); - } else { - parser = new parser_1.Parser(code, options, parserDelegate); - } - var program = isModule ? parser.parseModule() : parser.parseScript(); - var ast = program; - if (collectComment && commentHandler) { - ast.comments = commentHandler.comments; - } - if (parser.config.tokens) { - ast.tokens = parser.tokens; - } - if (parser.config.tolerant) { - ast.errors = parser.errorHandler.errors; - } - return ast; - } - exports2.parse = parse; - function parseModule(code, options, delegate) { - var parsingOptions = options || {}; - parsingOptions.sourceType = "module"; - return parse(code, parsingOptions, delegate); - } - exports2.parseModule = parseModule; - function parseScript(code, options, delegate) { - var parsingOptions = options || {}; - parsingOptions.sourceType = "script"; - return parse(code, parsingOptions, delegate); - } - exports2.parseScript = parseScript; - function tokenize(code, options, delegate) { - var tokenizer = new tokenizer_1.Tokenizer(code, options); - var tokens; - tokens = []; - try { - while (true) { - var token = tokenizer.getNextToken(); - if (!token) { - break; - } - if (delegate) { - token = delegate(token); - } - tokens.push(token); - } - } catch (e) { - tokenizer.errorHandler.tolerate(e); - } - if (tokenizer.errorHandler.tolerant) { - tokens.errors = tokenizer.errors(); - } - return tokens; - } - exports2.tokenize = tokenize; - var syntax_1 = __webpack_require__(2); - exports2.Syntax = syntax_1.Syntax; - exports2.version = "4.0.1"; - }, - /* 1 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var syntax_1 = __webpack_require__(2); - var CommentHandler = function() { - function CommentHandler2() { - this.attach = false; - this.comments = []; - this.stack = []; - this.leading = []; - this.trailing = []; - } - CommentHandler2.prototype.insertInnerComments = function(node, metadata) { - if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) { - var innerComments = []; - for (var i = this.leading.length - 1; i >= 0; --i) { - var entry = this.leading[i]; - if (metadata.end.offset >= entry.start) { - innerComments.unshift(entry.comment); - this.leading.splice(i, 1); - this.trailing.splice(i, 1); - } - } - if (innerComments.length) { - node.innerComments = innerComments; - } - } - }; - CommentHandler2.prototype.findTrailingComments = function(metadata) { - var trailingComments = []; - if (this.trailing.length > 0) { - for (var i = this.trailing.length - 1; i >= 0; --i) { - var entry_1 = this.trailing[i]; - if (entry_1.start >= metadata.end.offset) { - trailingComments.unshift(entry_1.comment); - } - } - this.trailing.length = 0; - return trailingComments; - } - var entry = this.stack[this.stack.length - 1]; - if (entry && entry.node.trailingComments) { - var firstComment = entry.node.trailingComments[0]; - if (firstComment && firstComment.range[0] >= metadata.end.offset) { - trailingComments = entry.node.trailingComments; - delete entry.node.trailingComments; - } - } - return trailingComments; - }; - CommentHandler2.prototype.findLeadingComments = function(metadata) { - var leadingComments = []; - var target; - while (this.stack.length > 0) { - var entry = this.stack[this.stack.length - 1]; - if (entry && entry.start >= metadata.start.offset) { - target = entry.node; - this.stack.pop(); - } else { - break; - } - } - if (target) { - var count = target.leadingComments ? target.leadingComments.length : 0; - for (var i = count - 1; i >= 0; --i) { - var comment = target.leadingComments[i]; - if (comment.range[1] <= metadata.start.offset) { - leadingComments.unshift(comment); - target.leadingComments.splice(i, 1); - } - } - if (target.leadingComments && target.leadingComments.length === 0) { - delete target.leadingComments; - } - return leadingComments; - } - for (var i = this.leading.length - 1; i >= 0; --i) { - var entry = this.leading[i]; - if (entry.start <= metadata.start.offset) { - leadingComments.unshift(entry.comment); - this.leading.splice(i, 1); - } - } - return leadingComments; - }; - CommentHandler2.prototype.visitNode = function(node, metadata) { - if (node.type === syntax_1.Syntax.Program && node.body.length > 0) { - return; - } - this.insertInnerComments(node, metadata); - var trailingComments = this.findTrailingComments(metadata); - var leadingComments = this.findLeadingComments(metadata); - if (leadingComments.length > 0) { - node.leadingComments = leadingComments; - } - if (trailingComments.length > 0) { - node.trailingComments = trailingComments; - } - this.stack.push({ - node, - start: metadata.start.offset - }); - }; - CommentHandler2.prototype.visitComment = function(node, metadata) { - var type = node.type[0] === "L" ? "Line" : "Block"; - var comment = { - type, - value: node.value - }; - if (node.range) { - comment.range = node.range; - } - if (node.loc) { - comment.loc = node.loc; - } - this.comments.push(comment); - if (this.attach) { - var entry = { - comment: { - type, - value: node.value, - range: [metadata.start.offset, metadata.end.offset] - }, - start: metadata.start.offset - }; - if (node.loc) { - entry.comment.loc = node.loc; - } - node.type = type; - this.leading.push(entry); - this.trailing.push(entry); - } - }; - CommentHandler2.prototype.visit = function(node, metadata) { - if (node.type === "LineComment") { - this.visitComment(node, metadata); - } else if (node.type === "BlockComment") { - this.visitComment(node, metadata); - } else if (this.attach) { - this.visitNode(node, metadata); - } - }; - return CommentHandler2; - }(); - exports2.CommentHandler = CommentHandler; - }, - /* 2 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Syntax = { - AssignmentExpression: "AssignmentExpression", - AssignmentPattern: "AssignmentPattern", - ArrayExpression: "ArrayExpression", - ArrayPattern: "ArrayPattern", - ArrowFunctionExpression: "ArrowFunctionExpression", - AwaitExpression: "AwaitExpression", - BlockStatement: "BlockStatement", - BinaryExpression: "BinaryExpression", - BreakStatement: "BreakStatement", - CallExpression: "CallExpression", - CatchClause: "CatchClause", - ClassBody: "ClassBody", - ClassDeclaration: "ClassDeclaration", - ClassExpression: "ClassExpression", - ConditionalExpression: "ConditionalExpression", - ContinueStatement: "ContinueStatement", - DoWhileStatement: "DoWhileStatement", - DebuggerStatement: "DebuggerStatement", - EmptyStatement: "EmptyStatement", - ExportAllDeclaration: "ExportAllDeclaration", - ExportDefaultDeclaration: "ExportDefaultDeclaration", - ExportNamedDeclaration: "ExportNamedDeclaration", - ExportSpecifier: "ExportSpecifier", - ExpressionStatement: "ExpressionStatement", - ForStatement: "ForStatement", - ForOfStatement: "ForOfStatement", - ForInStatement: "ForInStatement", - FunctionDeclaration: "FunctionDeclaration", - FunctionExpression: "FunctionExpression", - Identifier: "Identifier", - IfStatement: "IfStatement", - ImportDeclaration: "ImportDeclaration", - ImportDefaultSpecifier: "ImportDefaultSpecifier", - ImportNamespaceSpecifier: "ImportNamespaceSpecifier", - ImportSpecifier: "ImportSpecifier", - Literal: "Literal", - LabeledStatement: "LabeledStatement", - LogicalExpression: "LogicalExpression", - MemberExpression: "MemberExpression", - MetaProperty: "MetaProperty", - MethodDefinition: "MethodDefinition", - NewExpression: "NewExpression", - ObjectExpression: "ObjectExpression", - ObjectPattern: "ObjectPattern", - Program: "Program", - Property: "Property", - RestElement: "RestElement", - ReturnStatement: "ReturnStatement", - SequenceExpression: "SequenceExpression", - SpreadElement: "SpreadElement", - Super: "Super", - SwitchCase: "SwitchCase", - SwitchStatement: "SwitchStatement", - TaggedTemplateExpression: "TaggedTemplateExpression", - TemplateElement: "TemplateElement", - TemplateLiteral: "TemplateLiteral", - ThisExpression: "ThisExpression", - ThrowStatement: "ThrowStatement", - TryStatement: "TryStatement", - UnaryExpression: "UnaryExpression", - UpdateExpression: "UpdateExpression", - VariableDeclaration: "VariableDeclaration", - VariableDeclarator: "VariableDeclarator", - WhileStatement: "WhileStatement", - WithStatement: "WithStatement", - YieldExpression: "YieldExpression" - }; - }, - /* 3 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - var __extends2 = this && this.__extends || function() { - var extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) { - d.__proto__ = b; - } || function(d, b) { - for (var p in b) - if (b.hasOwnProperty(p)) - d[p] = b[p]; - }; - return function(d, b) { - extendStatics2(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - var character_1 = __webpack_require__(4); - var JSXNode = __webpack_require__(5); - var jsx_syntax_1 = __webpack_require__(6); - var Node = __webpack_require__(7); - var parser_1 = __webpack_require__(8); - var token_1 = __webpack_require__(13); - var xhtml_entities_1 = __webpack_require__(14); - token_1.TokenName[ - 100 - /* Identifier */ - ] = "JSXIdentifier"; - token_1.TokenName[ - 101 - /* Text */ - ] = "JSXText"; - function getQualifiedElementName(elementName) { - var qualifiedName; - switch (elementName.type) { - case jsx_syntax_1.JSXSyntax.JSXIdentifier: - var id = elementName; - qualifiedName = id.name; - break; - case jsx_syntax_1.JSXSyntax.JSXNamespacedName: - var ns = elementName; - qualifiedName = getQualifiedElementName(ns.namespace) + ":" + getQualifiedElementName(ns.name); - break; - case jsx_syntax_1.JSXSyntax.JSXMemberExpression: - var expr = elementName; - qualifiedName = getQualifiedElementName(expr.object) + "." + getQualifiedElementName(expr.property); - break; - default: - break; - } - return qualifiedName; - } - var JSXParser = function(_super) { - __extends2(JSXParser2, _super); - function JSXParser2(code, options, delegate) { - return _super.call(this, code, options, delegate) || this; - } - JSXParser2.prototype.parsePrimaryExpression = function() { - return this.match("<") ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this); - }; - JSXParser2.prototype.startJSX = function() { - this.scanner.index = this.startMarker.index; - this.scanner.lineNumber = this.startMarker.line; - this.scanner.lineStart = this.startMarker.index - this.startMarker.column; - }; - JSXParser2.prototype.finishJSX = function() { - this.nextToken(); - }; - JSXParser2.prototype.reenterJSX = function() { - this.startJSX(); - this.expectJSX("}"); - if (this.config.tokens) { - this.tokens.pop(); - } - }; - JSXParser2.prototype.createJSXNode = function() { - this.collectComments(); - return { - index: this.scanner.index, - line: this.scanner.lineNumber, - column: this.scanner.index - this.scanner.lineStart - }; - }; - JSXParser2.prototype.createJSXChildNode = function() { - return { - index: this.scanner.index, - line: this.scanner.lineNumber, - column: this.scanner.index - this.scanner.lineStart - }; - }; - JSXParser2.prototype.scanXHTMLEntity = function(quote) { - var result = "&"; - var valid = true; - var terminated = false; - var numeric = false; - var hex = false; - while (!this.scanner.eof() && valid && !terminated) { - var ch = this.scanner.source[this.scanner.index]; - if (ch === quote) { - break; - } - terminated = ch === ";"; - result += ch; - ++this.scanner.index; - if (!terminated) { - switch (result.length) { - case 2: - numeric = ch === "#"; - break; - case 3: - if (numeric) { - hex = ch === "x"; - valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0)); - numeric = numeric && !hex; - } - break; - default: - valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0))); - valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0))); - break; - } - } - } - if (valid && terminated && result.length > 2) { - var str = result.substr(1, result.length - 2); - if (numeric && str.length > 1) { - result = String.fromCharCode(parseInt(str.substr(1), 10)); - } else if (hex && str.length > 2) { - result = String.fromCharCode(parseInt("0" + str.substr(1), 16)); - } else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) { - result = xhtml_entities_1.XHTMLEntities[str]; - } - } - return result; - }; - JSXParser2.prototype.lexJSX = function() { - var cp = this.scanner.source.charCodeAt(this.scanner.index); - if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) { - var value = this.scanner.source[this.scanner.index++]; - return { - type: 7, - value, - lineNumber: this.scanner.lineNumber, - lineStart: this.scanner.lineStart, - start: this.scanner.index - 1, - end: this.scanner.index - }; - } - if (cp === 34 || cp === 39) { - var start = this.scanner.index; - var quote = this.scanner.source[this.scanner.index++]; - var str = ""; - while (!this.scanner.eof()) { - var ch = this.scanner.source[this.scanner.index++]; - if (ch === quote) { - break; - } else if (ch === "&") { - str += this.scanXHTMLEntity(quote); - } else { - str += ch; - } - } - return { - type: 8, - value: str, - lineNumber: this.scanner.lineNumber, - lineStart: this.scanner.lineStart, - start, - end: this.scanner.index - }; - } - if (cp === 46) { - var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1); - var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2); - var value = n1 === 46 && n2 === 46 ? "..." : "."; - var start = this.scanner.index; - this.scanner.index += value.length; - return { - type: 7, - value, - lineNumber: this.scanner.lineNumber, - lineStart: this.scanner.lineStart, - start, - end: this.scanner.index - }; - } - if (cp === 96) { - return { - type: 10, - value: "", - lineNumber: this.scanner.lineNumber, - lineStart: this.scanner.lineStart, - start: this.scanner.index, - end: this.scanner.index - }; - } - if (character_1.Character.isIdentifierStart(cp) && cp !== 92) { - var start = this.scanner.index; - ++this.scanner.index; - while (!this.scanner.eof()) { - var ch = this.scanner.source.charCodeAt(this.scanner.index); - if (character_1.Character.isIdentifierPart(ch) && ch !== 92) { - ++this.scanner.index; - } else if (ch === 45) { - ++this.scanner.index; - } else { - break; - } - } - var id = this.scanner.source.slice(start, this.scanner.index); - return { - type: 100, - value: id, - lineNumber: this.scanner.lineNumber, - lineStart: this.scanner.lineStart, - start, - end: this.scanner.index - }; - } - return this.scanner.lex(); - }; - JSXParser2.prototype.nextJSXToken = function() { - this.collectComments(); - this.startMarker.index = this.scanner.index; - this.startMarker.line = this.scanner.lineNumber; - this.startMarker.column = this.scanner.index - this.scanner.lineStart; - var token = this.lexJSX(); - this.lastMarker.index = this.scanner.index; - this.lastMarker.line = this.scanner.lineNumber; - this.lastMarker.column = this.scanner.index - this.scanner.lineStart; - if (this.config.tokens) { - this.tokens.push(this.convertToken(token)); - } - return token; - }; - JSXParser2.prototype.nextJSXText = function() { - this.startMarker.index = this.scanner.index; - this.startMarker.line = this.scanner.lineNumber; - this.startMarker.column = this.scanner.index - this.scanner.lineStart; - var start = this.scanner.index; - var text = ""; - while (!this.scanner.eof()) { - var ch = this.scanner.source[this.scanner.index]; - if (ch === "{" || ch === "<") { - break; - } - ++this.scanner.index; - text += ch; - if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - ++this.scanner.lineNumber; - if (ch === "\r" && this.scanner.source[this.scanner.index] === "\n") { - ++this.scanner.index; - } - this.scanner.lineStart = this.scanner.index; - } - } - this.lastMarker.index = this.scanner.index; - this.lastMarker.line = this.scanner.lineNumber; - this.lastMarker.column = this.scanner.index - this.scanner.lineStart; - var token = { - type: 101, - value: text, - lineNumber: this.scanner.lineNumber, - lineStart: this.scanner.lineStart, - start, - end: this.scanner.index - }; - if (text.length > 0 && this.config.tokens) { - this.tokens.push(this.convertToken(token)); - } - return token; - }; - JSXParser2.prototype.peekJSXToken = function() { - var state = this.scanner.saveState(); - this.scanner.scanComments(); - var next = this.lexJSX(); - this.scanner.restoreState(state); - return next; - }; - JSXParser2.prototype.expectJSX = function(value) { - var token = this.nextJSXToken(); - if (token.type !== 7 || token.value !== value) { - this.throwUnexpectedToken(token); - } - }; - JSXParser2.prototype.matchJSX = function(value) { - var next = this.peekJSXToken(); - return next.type === 7 && next.value === value; - }; - JSXParser2.prototype.parseJSXIdentifier = function() { - var node = this.createJSXNode(); - var token = this.nextJSXToken(); - if (token.type !== 100) { - this.throwUnexpectedToken(token); - } - return this.finalize(node, new JSXNode.JSXIdentifier(token.value)); - }; - JSXParser2.prototype.parseJSXElementName = function() { - var node = this.createJSXNode(); - var elementName = this.parseJSXIdentifier(); - if (this.matchJSX(":")) { - var namespace = elementName; - this.expectJSX(":"); - var name_1 = this.parseJSXIdentifier(); - elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1)); - } else if (this.matchJSX(".")) { - while (this.matchJSX(".")) { - var object = elementName; - this.expectJSX("."); - var property = this.parseJSXIdentifier(); - elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property)); - } - } - return elementName; - }; - JSXParser2.prototype.parseJSXAttributeName = function() { - var node = this.createJSXNode(); - var attributeName; - var identifier = this.parseJSXIdentifier(); - if (this.matchJSX(":")) { - var namespace = identifier; - this.expectJSX(":"); - var name_2 = this.parseJSXIdentifier(); - attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2)); - } else { - attributeName = identifier; - } - return attributeName; - }; - JSXParser2.prototype.parseJSXStringLiteralAttribute = function() { - var node = this.createJSXNode(); - var token = this.nextJSXToken(); - if (token.type !== 8) { - this.throwUnexpectedToken(token); - } - var raw = this.getTokenRaw(token); - return this.finalize(node, new Node.Literal(token.value, raw)); - }; - JSXParser2.prototype.parseJSXExpressionAttribute = function() { - var node = this.createJSXNode(); - this.expectJSX("{"); - this.finishJSX(); - if (this.match("}")) { - this.tolerateError("JSX attributes must only be assigned a non-empty expression"); - } - var expression = this.parseAssignmentExpression(); - this.reenterJSX(); - return this.finalize(node, new JSXNode.JSXExpressionContainer(expression)); - }; - JSXParser2.prototype.parseJSXAttributeValue = function() { - return this.matchJSX("{") ? this.parseJSXExpressionAttribute() : this.matchJSX("<") ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute(); - }; - JSXParser2.prototype.parseJSXNameValueAttribute = function() { - var node = this.createJSXNode(); - var name = this.parseJSXAttributeName(); - var value = null; - if (this.matchJSX("=")) { - this.expectJSX("="); - value = this.parseJSXAttributeValue(); - } - return this.finalize(node, new JSXNode.JSXAttribute(name, value)); - }; - JSXParser2.prototype.parseJSXSpreadAttribute = function() { - var node = this.createJSXNode(); - this.expectJSX("{"); - this.expectJSX("..."); - this.finishJSX(); - var argument = this.parseAssignmentExpression(); - this.reenterJSX(); - return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument)); - }; - JSXParser2.prototype.parseJSXAttributes = function() { - var attributes = []; - while (!this.matchJSX("/") && !this.matchJSX(">")) { - var attribute = this.matchJSX("{") ? this.parseJSXSpreadAttribute() : this.parseJSXNameValueAttribute(); - attributes.push(attribute); - } - return attributes; - }; - JSXParser2.prototype.parseJSXOpeningElement = function() { - var node = this.createJSXNode(); - this.expectJSX("<"); - var name = this.parseJSXElementName(); - var attributes = this.parseJSXAttributes(); - var selfClosing = this.matchJSX("/"); - if (selfClosing) { - this.expectJSX("/"); - } - this.expectJSX(">"); - return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes)); - }; - JSXParser2.prototype.parseJSXBoundaryElement = function() { - var node = this.createJSXNode(); - this.expectJSX("<"); - if (this.matchJSX("/")) { - this.expectJSX("/"); - var name_3 = this.parseJSXElementName(); - this.expectJSX(">"); - return this.finalize(node, new JSXNode.JSXClosingElement(name_3)); - } - var name = this.parseJSXElementName(); - var attributes = this.parseJSXAttributes(); - var selfClosing = this.matchJSX("/"); - if (selfClosing) { - this.expectJSX("/"); - } - this.expectJSX(">"); - return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes)); - }; - JSXParser2.prototype.parseJSXEmptyExpression = function() { - var node = this.createJSXChildNode(); - this.collectComments(); - this.lastMarker.index = this.scanner.index; - this.lastMarker.line = this.scanner.lineNumber; - this.lastMarker.column = this.scanner.index - this.scanner.lineStart; - return this.finalize(node, new JSXNode.JSXEmptyExpression()); - }; - JSXParser2.prototype.parseJSXExpressionContainer = function() { - var node = this.createJSXNode(); - this.expectJSX("{"); - var expression; - if (this.matchJSX("}")) { - expression = this.parseJSXEmptyExpression(); - this.expectJSX("}"); - } else { - this.finishJSX(); - expression = this.parseAssignmentExpression(); - this.reenterJSX(); - } - return this.finalize(node, new JSXNode.JSXExpressionContainer(expression)); - }; - JSXParser2.prototype.parseJSXChildren = function() { - var children = []; - while (!this.scanner.eof()) { - var node = this.createJSXChildNode(); - var token = this.nextJSXText(); - if (token.start < token.end) { - var raw = this.getTokenRaw(token); - var child = this.finalize(node, new JSXNode.JSXText(token.value, raw)); - children.push(child); - } - if (this.scanner.source[this.scanner.index] === "{") { - var container = this.parseJSXExpressionContainer(); - children.push(container); - } else { - break; - } - } - return children; - }; - JSXParser2.prototype.parseComplexJSXElement = function(el) { - var stack = []; - while (!this.scanner.eof()) { - el.children = el.children.concat(this.parseJSXChildren()); - var node = this.createJSXChildNode(); - var element = this.parseJSXBoundaryElement(); - if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) { - var opening = element; - if (opening.selfClosing) { - var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null)); - el.children.push(child); - } else { - stack.push(el); - el = { node, opening, closing: null, children: [] }; - } - } - if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) { - el.closing = element; - var open_1 = getQualifiedElementName(el.opening.name); - var close_1 = getQualifiedElementName(el.closing.name); - if (open_1 !== close_1) { - this.tolerateError("Expected corresponding JSX closing tag for %0", open_1); - } - if (stack.length > 0) { - var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing)); - el = stack[stack.length - 1]; - el.children.push(child); - stack.pop(); - } else { - break; - } - } - } - return el; - }; - JSXParser2.prototype.parseJSXElement = function() { - var node = this.createJSXNode(); - var opening = this.parseJSXOpeningElement(); - var children = []; - var closing = null; - if (!opening.selfClosing) { - var el = this.parseComplexJSXElement({ node, opening, closing, children }); - children = el.children; - closing = el.closing; - } - return this.finalize(node, new JSXNode.JSXElement(opening, children, closing)); - }; - JSXParser2.prototype.parseJSXRoot = function() { - if (this.config.tokens) { - this.tokens.pop(); - } - this.startJSX(); - var element = this.parseJSXElement(); - this.finishJSX(); - return element; - }; - JSXParser2.prototype.isStartOfExpression = function() { - return _super.prototype.isStartOfExpression.call(this) || this.match("<"); - }; - return JSXParser2; - }(parser_1.Parser); - exports2.JSXParser = JSXParser; - }, - /* 4 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var Regex = { - // Unicode v8.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, - // Unicode v8.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ - }; - exports2.Character = { - /* tslint:disable:no-bitwise */ - fromCodePoint: function(cp) { - return cp < 65536 ? String.fromCharCode(cp) : String.fromCharCode(55296 + (cp - 65536 >> 10)) + String.fromCharCode(56320 + (cp - 65536 & 1023)); - }, - // https://tc39.github.io/ecma262/#sec-white-space - isWhiteSpace: function(cp) { - return cp === 32 || cp === 9 || cp === 11 || cp === 12 || cp === 160 || cp >= 5760 && [5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].indexOf(cp) >= 0; - }, - // https://tc39.github.io/ecma262/#sec-line-terminators - isLineTerminator: function(cp) { - return cp === 10 || cp === 13 || cp === 8232 || cp === 8233; - }, - // https://tc39.github.io/ecma262/#sec-names-and-keywords - isIdentifierStart: function(cp) { - return cp === 36 || cp === 95 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 92 || cp >= 128 && Regex.NonAsciiIdentifierStart.test(exports2.Character.fromCodePoint(cp)); - }, - isIdentifierPart: function(cp) { - return cp === 36 || cp === 95 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp >= 48 && cp <= 57 || cp === 92 || cp >= 128 && Regex.NonAsciiIdentifierPart.test(exports2.Character.fromCodePoint(cp)); - }, - // https://tc39.github.io/ecma262/#sec-literals-numeric-literals - isDecimalDigit: function(cp) { - return cp >= 48 && cp <= 57; - }, - isHexDigit: function(cp) { - return cp >= 48 && cp <= 57 || cp >= 65 && cp <= 70 || cp >= 97 && cp <= 102; - }, - isOctalDigit: function(cp) { - return cp >= 48 && cp <= 55; - } - }; - }, - /* 5 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var jsx_syntax_1 = __webpack_require__(6); - var JSXClosingElement = function() { - function JSXClosingElement2(name) { - this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement; - this.name = name; - } - return JSXClosingElement2; - }(); - exports2.JSXClosingElement = JSXClosingElement; - var JSXElement = function() { - function JSXElement2(openingElement, children, closingElement) { - this.type = jsx_syntax_1.JSXSyntax.JSXElement; - this.openingElement = openingElement; - this.children = children; - this.closingElement = closingElement; - } - return JSXElement2; - }(); - exports2.JSXElement = JSXElement; - var JSXEmptyExpression = function() { - function JSXEmptyExpression2() { - this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression; - } - return JSXEmptyExpression2; - }(); - exports2.JSXEmptyExpression = JSXEmptyExpression; - var JSXExpressionContainer = function() { - function JSXExpressionContainer2(expression) { - this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer; - this.expression = expression; - } - return JSXExpressionContainer2; - }(); - exports2.JSXExpressionContainer = JSXExpressionContainer; - var JSXIdentifier = function() { - function JSXIdentifier2(name) { - this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier; - this.name = name; - } - return JSXIdentifier2; - }(); - exports2.JSXIdentifier = JSXIdentifier; - var JSXMemberExpression = function() { - function JSXMemberExpression2(object, property) { - this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression; - this.object = object; - this.property = property; - } - return JSXMemberExpression2; - }(); - exports2.JSXMemberExpression = JSXMemberExpression; - var JSXAttribute = function() { - function JSXAttribute2(name, value) { - this.type = jsx_syntax_1.JSXSyntax.JSXAttribute; - this.name = name; - this.value = value; - } - return JSXAttribute2; - }(); - exports2.JSXAttribute = JSXAttribute; - var JSXNamespacedName = function() { - function JSXNamespacedName2(namespace, name) { - this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName; - this.namespace = namespace; - this.name = name; - } - return JSXNamespacedName2; - }(); - exports2.JSXNamespacedName = JSXNamespacedName; - var JSXOpeningElement = function() { - function JSXOpeningElement2(name, selfClosing, attributes) { - this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement; - this.name = name; - this.selfClosing = selfClosing; - this.attributes = attributes; - } - return JSXOpeningElement2; - }(); - exports2.JSXOpeningElement = JSXOpeningElement; - var JSXSpreadAttribute = function() { - function JSXSpreadAttribute2(argument) { - this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute; - this.argument = argument; - } - return JSXSpreadAttribute2; - }(); - exports2.JSXSpreadAttribute = JSXSpreadAttribute; - var JSXText = function() { - function JSXText2(value, raw) { - this.type = jsx_syntax_1.JSXSyntax.JSXText; - this.value = value; - this.raw = raw; - } - return JSXText2; - }(); - exports2.JSXText = JSXText; - }, - /* 6 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.JSXSyntax = { - JSXAttribute: "JSXAttribute", - JSXClosingElement: "JSXClosingElement", - JSXElement: "JSXElement", - JSXEmptyExpression: "JSXEmptyExpression", - JSXExpressionContainer: "JSXExpressionContainer", - JSXIdentifier: "JSXIdentifier", - JSXMemberExpression: "JSXMemberExpression", - JSXNamespacedName: "JSXNamespacedName", - JSXOpeningElement: "JSXOpeningElement", - JSXSpreadAttribute: "JSXSpreadAttribute", - JSXText: "JSXText" - }; - }, - /* 7 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var syntax_1 = __webpack_require__(2); - var ArrayExpression = function() { - function ArrayExpression2(elements) { - this.type = syntax_1.Syntax.ArrayExpression; - this.elements = elements; - } - return ArrayExpression2; - }(); - exports2.ArrayExpression = ArrayExpression; - var ArrayPattern = function() { - function ArrayPattern2(elements) { - this.type = syntax_1.Syntax.ArrayPattern; - this.elements = elements; - } - return ArrayPattern2; - }(); - exports2.ArrayPattern = ArrayPattern; - var ArrowFunctionExpression = function() { - function ArrowFunctionExpression2(params, body, expression) { - this.type = syntax_1.Syntax.ArrowFunctionExpression; - this.id = null; - this.params = params; - this.body = body; - this.generator = false; - this.expression = expression; - this.async = false; - } - return ArrowFunctionExpression2; - }(); - exports2.ArrowFunctionExpression = ArrowFunctionExpression; - var AssignmentExpression = function() { - function AssignmentExpression2(operator, left, right) { - this.type = syntax_1.Syntax.AssignmentExpression; - this.operator = operator; - this.left = left; - this.right = right; - } - return AssignmentExpression2; - }(); - exports2.AssignmentExpression = AssignmentExpression; - var AssignmentPattern = function() { - function AssignmentPattern2(left, right) { - this.type = syntax_1.Syntax.AssignmentPattern; - this.left = left; - this.right = right; - } - return AssignmentPattern2; - }(); - exports2.AssignmentPattern = AssignmentPattern; - var AsyncArrowFunctionExpression = function() { - function AsyncArrowFunctionExpression2(params, body, expression) { - this.type = syntax_1.Syntax.ArrowFunctionExpression; - this.id = null; - this.params = params; - this.body = body; - this.generator = false; - this.expression = expression; - this.async = true; - } - return AsyncArrowFunctionExpression2; - }(); - exports2.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression; - var AsyncFunctionDeclaration = function() { - function AsyncFunctionDeclaration2(id, params, body) { - this.type = syntax_1.Syntax.FunctionDeclaration; - this.id = id; - this.params = params; - this.body = body; - this.generator = false; - this.expression = false; - this.async = true; - } - return AsyncFunctionDeclaration2; - }(); - exports2.AsyncFunctionDeclaration = AsyncFunctionDeclaration; - var AsyncFunctionExpression = function() { - function AsyncFunctionExpression2(id, params, body) { - this.type = syntax_1.Syntax.FunctionExpression; - this.id = id; - this.params = params; - this.body = body; - this.generator = false; - this.expression = false; - this.async = true; - } - return AsyncFunctionExpression2; - }(); - exports2.AsyncFunctionExpression = AsyncFunctionExpression; - var AwaitExpression = function() { - function AwaitExpression2(argument) { - this.type = syntax_1.Syntax.AwaitExpression; - this.argument = argument; - } - return AwaitExpression2; - }(); - exports2.AwaitExpression = AwaitExpression; - var BinaryExpression = function() { - function BinaryExpression2(operator, left, right) { - var logical = operator === "||" || operator === "&&"; - this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression; - this.operator = operator; - this.left = left; - this.right = right; - } - return BinaryExpression2; - }(); - exports2.BinaryExpression = BinaryExpression; - var BlockStatement = function() { - function BlockStatement2(body) { - this.type = syntax_1.Syntax.BlockStatement; - this.body = body; - } - return BlockStatement2; - }(); - exports2.BlockStatement = BlockStatement; - var BreakStatement = function() { - function BreakStatement2(label) { - this.type = syntax_1.Syntax.BreakStatement; - this.label = label; - } - return BreakStatement2; - }(); - exports2.BreakStatement = BreakStatement; - var CallExpression = function() { - function CallExpression2(callee, args) { - this.type = syntax_1.Syntax.CallExpression; - this.callee = callee; - this.arguments = args; - } - return CallExpression2; - }(); - exports2.CallExpression = CallExpression; - var CatchClause = function() { - function CatchClause2(param, body) { - this.type = syntax_1.Syntax.CatchClause; - this.param = param; - this.body = body; - } - return CatchClause2; - }(); - exports2.CatchClause = CatchClause; - var ClassBody = function() { - function ClassBody2(body) { - this.type = syntax_1.Syntax.ClassBody; - this.body = body; - } - return ClassBody2; - }(); - exports2.ClassBody = ClassBody; - var ClassDeclaration = function() { - function ClassDeclaration2(id, superClass, body) { - this.type = syntax_1.Syntax.ClassDeclaration; - this.id = id; - this.superClass = superClass; - this.body = body; - } - return ClassDeclaration2; - }(); - exports2.ClassDeclaration = ClassDeclaration; - var ClassExpression = function() { - function ClassExpression2(id, superClass, body) { - this.type = syntax_1.Syntax.ClassExpression; - this.id = id; - this.superClass = superClass; - this.body = body; - } - return ClassExpression2; - }(); - exports2.ClassExpression = ClassExpression; - var ComputedMemberExpression = function() { - function ComputedMemberExpression2(object, property) { - this.type = syntax_1.Syntax.MemberExpression; - this.computed = true; - this.object = object; - this.property = property; - } - return ComputedMemberExpression2; - }(); - exports2.ComputedMemberExpression = ComputedMemberExpression; - var ConditionalExpression = function() { - function ConditionalExpression2(test, consequent, alternate) { - this.type = syntax_1.Syntax.ConditionalExpression; - this.test = test; - this.consequent = consequent; - this.alternate = alternate; - } - return ConditionalExpression2; - }(); - exports2.ConditionalExpression = ConditionalExpression; - var ContinueStatement = function() { - function ContinueStatement2(label) { - this.type = syntax_1.Syntax.ContinueStatement; - this.label = label; - } - return ContinueStatement2; - }(); - exports2.ContinueStatement = ContinueStatement; - var DebuggerStatement = function() { - function DebuggerStatement2() { - this.type = syntax_1.Syntax.DebuggerStatement; - } - return DebuggerStatement2; - }(); - exports2.DebuggerStatement = DebuggerStatement; - var Directive = function() { - function Directive2(expression, directive) { - this.type = syntax_1.Syntax.ExpressionStatement; - this.expression = expression; - this.directive = directive; - } - return Directive2; - }(); - exports2.Directive = Directive; - var DoWhileStatement = function() { - function DoWhileStatement2(body, test) { - this.type = syntax_1.Syntax.DoWhileStatement; - this.body = body; - this.test = test; - } - return DoWhileStatement2; - }(); - exports2.DoWhileStatement = DoWhileStatement; - var EmptyStatement = function() { - function EmptyStatement2() { - this.type = syntax_1.Syntax.EmptyStatement; - } - return EmptyStatement2; - }(); - exports2.EmptyStatement = EmptyStatement; - var ExportAllDeclaration = function() { - function ExportAllDeclaration2(source) { - this.type = syntax_1.Syntax.ExportAllDeclaration; - this.source = source; - } - return ExportAllDeclaration2; - }(); - exports2.ExportAllDeclaration = ExportAllDeclaration; - var ExportDefaultDeclaration = function() { - function ExportDefaultDeclaration2(declaration) { - this.type = syntax_1.Syntax.ExportDefaultDeclaration; - this.declaration = declaration; - } - return ExportDefaultDeclaration2; - }(); - exports2.ExportDefaultDeclaration = ExportDefaultDeclaration; - var ExportNamedDeclaration = function() { - function ExportNamedDeclaration2(declaration, specifiers, source) { - this.type = syntax_1.Syntax.ExportNamedDeclaration; - this.declaration = declaration; - this.specifiers = specifiers; - this.source = source; - } - return ExportNamedDeclaration2; - }(); - exports2.ExportNamedDeclaration = ExportNamedDeclaration; - var ExportSpecifier = function() { - function ExportSpecifier2(local, exported) { - this.type = syntax_1.Syntax.ExportSpecifier; - this.exported = exported; - this.local = local; - } - return ExportSpecifier2; - }(); - exports2.ExportSpecifier = ExportSpecifier; - var ExpressionStatement = function() { - function ExpressionStatement2(expression) { - this.type = syntax_1.Syntax.ExpressionStatement; - this.expression = expression; - } - return ExpressionStatement2; - }(); - exports2.ExpressionStatement = ExpressionStatement; - var ForInStatement = function() { - function ForInStatement2(left, right, body) { - this.type = syntax_1.Syntax.ForInStatement; - this.left = left; - this.right = right; - this.body = body; - this.each = false; - } - return ForInStatement2; - }(); - exports2.ForInStatement = ForInStatement; - var ForOfStatement = function() { - function ForOfStatement2(left, right, body) { - this.type = syntax_1.Syntax.ForOfStatement; - this.left = left; - this.right = right; - this.body = body; - } - return ForOfStatement2; - }(); - exports2.ForOfStatement = ForOfStatement; - var ForStatement = function() { - function ForStatement2(init, test, update, body) { - this.type = syntax_1.Syntax.ForStatement; - this.init = init; - this.test = test; - this.update = update; - this.body = body; - } - return ForStatement2; - }(); - exports2.ForStatement = ForStatement; - var FunctionDeclaration = function() { - function FunctionDeclaration2(id, params, body, generator) { - this.type = syntax_1.Syntax.FunctionDeclaration; - this.id = id; - this.params = params; - this.body = body; - this.generator = generator; - this.expression = false; - this.async = false; - } - return FunctionDeclaration2; - }(); - exports2.FunctionDeclaration = FunctionDeclaration; - var FunctionExpression = function() { - function FunctionExpression2(id, params, body, generator) { - this.type = syntax_1.Syntax.FunctionExpression; - this.id = id; - this.params = params; - this.body = body; - this.generator = generator; - this.expression = false; - this.async = false; - } - return FunctionExpression2; - }(); - exports2.FunctionExpression = FunctionExpression; - var Identifier = function() { - function Identifier2(name) { - this.type = syntax_1.Syntax.Identifier; - this.name = name; - } - return Identifier2; - }(); - exports2.Identifier = Identifier; - var IfStatement = function() { - function IfStatement2(test, consequent, alternate) { - this.type = syntax_1.Syntax.IfStatement; - this.test = test; - this.consequent = consequent; - this.alternate = alternate; - } - return IfStatement2; - }(); - exports2.IfStatement = IfStatement; - var ImportDeclaration = function() { - function ImportDeclaration2(specifiers, source) { - this.type = syntax_1.Syntax.ImportDeclaration; - this.specifiers = specifiers; - this.source = source; - } - return ImportDeclaration2; - }(); - exports2.ImportDeclaration = ImportDeclaration; - var ImportDefaultSpecifier = function() { - function ImportDefaultSpecifier2(local) { - this.type = syntax_1.Syntax.ImportDefaultSpecifier; - this.local = local; - } - return ImportDefaultSpecifier2; - }(); - exports2.ImportDefaultSpecifier = ImportDefaultSpecifier; - var ImportNamespaceSpecifier = function() { - function ImportNamespaceSpecifier2(local) { - this.type = syntax_1.Syntax.ImportNamespaceSpecifier; - this.local = local; - } - return ImportNamespaceSpecifier2; - }(); - exports2.ImportNamespaceSpecifier = ImportNamespaceSpecifier; - var ImportSpecifier = function() { - function ImportSpecifier2(local, imported) { - this.type = syntax_1.Syntax.ImportSpecifier; - this.local = local; - this.imported = imported; - } - return ImportSpecifier2; - }(); - exports2.ImportSpecifier = ImportSpecifier; - var LabeledStatement = function() { - function LabeledStatement2(label, body) { - this.type = syntax_1.Syntax.LabeledStatement; - this.label = label; - this.body = body; - } - return LabeledStatement2; - }(); - exports2.LabeledStatement = LabeledStatement; - var Literal = function() { - function Literal2(value, raw) { - this.type = syntax_1.Syntax.Literal; - this.value = value; - this.raw = raw; - } - return Literal2; - }(); - exports2.Literal = Literal; - var MetaProperty = function() { - function MetaProperty2(meta, property) { - this.type = syntax_1.Syntax.MetaProperty; - this.meta = meta; - this.property = property; - } - return MetaProperty2; - }(); - exports2.MetaProperty = MetaProperty; - var MethodDefinition = function() { - function MethodDefinition2(key, computed, value, kind, isStatic) { - this.type = syntax_1.Syntax.MethodDefinition; - this.key = key; - this.computed = computed; - this.value = value; - this.kind = kind; - this.static = isStatic; - } - return MethodDefinition2; - }(); - exports2.MethodDefinition = MethodDefinition; - var Module2 = function() { - function Module3(body) { - this.type = syntax_1.Syntax.Program; - this.body = body; - this.sourceType = "module"; - } - return Module3; - }(); - exports2.Module = Module2; - var NewExpression = function() { - function NewExpression2(callee, args) { - this.type = syntax_1.Syntax.NewExpression; - this.callee = callee; - this.arguments = args; - } - return NewExpression2; - }(); - exports2.NewExpression = NewExpression; - var ObjectExpression = function() { - function ObjectExpression2(properties) { - this.type = syntax_1.Syntax.ObjectExpression; - this.properties = properties; - } - return ObjectExpression2; - }(); - exports2.ObjectExpression = ObjectExpression; - var ObjectPattern = function() { - function ObjectPattern2(properties) { - this.type = syntax_1.Syntax.ObjectPattern; - this.properties = properties; - } - return ObjectPattern2; - }(); - exports2.ObjectPattern = ObjectPattern; - var Property = function() { - function Property2(kind, key, computed, value, method, shorthand) { - this.type = syntax_1.Syntax.Property; - this.key = key; - this.computed = computed; - this.value = value; - this.kind = kind; - this.method = method; - this.shorthand = shorthand; - } - return Property2; - }(); - exports2.Property = Property; - var RegexLiteral = function() { - function RegexLiteral2(value, raw, pattern, flags) { - this.type = syntax_1.Syntax.Literal; - this.value = value; - this.raw = raw; - this.regex = { pattern, flags }; - } - return RegexLiteral2; - }(); - exports2.RegexLiteral = RegexLiteral; - var RestElement = function() { - function RestElement2(argument) { - this.type = syntax_1.Syntax.RestElement; - this.argument = argument; - } - return RestElement2; - }(); - exports2.RestElement = RestElement; - var ReturnStatement = function() { - function ReturnStatement2(argument) { - this.type = syntax_1.Syntax.ReturnStatement; - this.argument = argument; - } - return ReturnStatement2; - }(); - exports2.ReturnStatement = ReturnStatement; - var Script = function() { - function Script2(body) { - this.type = syntax_1.Syntax.Program; - this.body = body; - this.sourceType = "script"; - } - return Script2; - }(); - exports2.Script = Script; - var SequenceExpression = function() { - function SequenceExpression2(expressions) { - this.type = syntax_1.Syntax.SequenceExpression; - this.expressions = expressions; - } - return SequenceExpression2; - }(); - exports2.SequenceExpression = SequenceExpression; - var SpreadElement = function() { - function SpreadElement2(argument) { - this.type = syntax_1.Syntax.SpreadElement; - this.argument = argument; - } - return SpreadElement2; - }(); - exports2.SpreadElement = SpreadElement; - var StaticMemberExpression = function() { - function StaticMemberExpression2(object, property) { - this.type = syntax_1.Syntax.MemberExpression; - this.computed = false; - this.object = object; - this.property = property; - } - return StaticMemberExpression2; - }(); - exports2.StaticMemberExpression = StaticMemberExpression; - var Super = function() { - function Super2() { - this.type = syntax_1.Syntax.Super; - } - return Super2; - }(); - exports2.Super = Super; - var SwitchCase = function() { - function SwitchCase2(test, consequent) { - this.type = syntax_1.Syntax.SwitchCase; - this.test = test; - this.consequent = consequent; - } - return SwitchCase2; - }(); - exports2.SwitchCase = SwitchCase; - var SwitchStatement = function() { - function SwitchStatement2(discriminant, cases) { - this.type = syntax_1.Syntax.SwitchStatement; - this.discriminant = discriminant; - this.cases = cases; - } - return SwitchStatement2; - }(); - exports2.SwitchStatement = SwitchStatement; - var TaggedTemplateExpression = function() { - function TaggedTemplateExpression2(tag, quasi) { - this.type = syntax_1.Syntax.TaggedTemplateExpression; - this.tag = tag; - this.quasi = quasi; - } - return TaggedTemplateExpression2; - }(); - exports2.TaggedTemplateExpression = TaggedTemplateExpression; - var TemplateElement = function() { - function TemplateElement2(value, tail) { - this.type = syntax_1.Syntax.TemplateElement; - this.value = value; - this.tail = tail; - } - return TemplateElement2; - }(); - exports2.TemplateElement = TemplateElement; - var TemplateLiteral = function() { - function TemplateLiteral2(quasis, expressions) { - this.type = syntax_1.Syntax.TemplateLiteral; - this.quasis = quasis; - this.expressions = expressions; - } - return TemplateLiteral2; - }(); - exports2.TemplateLiteral = TemplateLiteral; - var ThisExpression = function() { - function ThisExpression2() { - this.type = syntax_1.Syntax.ThisExpression; - } - return ThisExpression2; - }(); - exports2.ThisExpression = ThisExpression; - var ThrowStatement = function() { - function ThrowStatement2(argument) { - this.type = syntax_1.Syntax.ThrowStatement; - this.argument = argument; - } - return ThrowStatement2; - }(); - exports2.ThrowStatement = ThrowStatement; - var TryStatement = function() { - function TryStatement2(block, handler, finalizer) { - this.type = syntax_1.Syntax.TryStatement; - this.block = block; - this.handler = handler; - this.finalizer = finalizer; - } - return TryStatement2; - }(); - exports2.TryStatement = TryStatement; - var UnaryExpression = function() { - function UnaryExpression2(operator, argument) { - this.type = syntax_1.Syntax.UnaryExpression; - this.operator = operator; - this.argument = argument; - this.prefix = true; - } - return UnaryExpression2; - }(); - exports2.UnaryExpression = UnaryExpression; - var UpdateExpression = function() { - function UpdateExpression2(operator, argument, prefix) { - this.type = syntax_1.Syntax.UpdateExpression; - this.operator = operator; - this.argument = argument; - this.prefix = prefix; - } - return UpdateExpression2; - }(); - exports2.UpdateExpression = UpdateExpression; - var VariableDeclaration = function() { - function VariableDeclaration2(declarations, kind) { - this.type = syntax_1.Syntax.VariableDeclaration; - this.declarations = declarations; - this.kind = kind; - } - return VariableDeclaration2; - }(); - exports2.VariableDeclaration = VariableDeclaration; - var VariableDeclarator = function() { - function VariableDeclarator2(id, init) { - this.type = syntax_1.Syntax.VariableDeclarator; - this.id = id; - this.init = init; - } - return VariableDeclarator2; - }(); - exports2.VariableDeclarator = VariableDeclarator; - var WhileStatement = function() { - function WhileStatement2(test, body) { - this.type = syntax_1.Syntax.WhileStatement; - this.test = test; - this.body = body; - } - return WhileStatement2; - }(); - exports2.WhileStatement = WhileStatement; - var WithStatement = function() { - function WithStatement2(object, body) { - this.type = syntax_1.Syntax.WithStatement; - this.object = object; - this.body = body; - } - return WithStatement2; - }(); - exports2.WithStatement = WithStatement; - var YieldExpression = function() { - function YieldExpression2(argument, delegate) { - this.type = syntax_1.Syntax.YieldExpression; - this.argument = argument; - this.delegate = delegate; - } - return YieldExpression2; - }(); - exports2.YieldExpression = YieldExpression; - }, - /* 8 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var assert_1 = __webpack_require__(9); - var error_handler_1 = __webpack_require__(10); - var messages_1 = __webpack_require__(11); - var Node = __webpack_require__(7); - var scanner_1 = __webpack_require__(12); - var syntax_1 = __webpack_require__(2); - var token_1 = __webpack_require__(13); - var ArrowParameterPlaceHolder = "ArrowParameterPlaceHolder"; - var Parser = function() { - function Parser2(code, options, delegate) { - if (options === void 0) { - options = {}; - } - this.config = { - range: typeof options.range === "boolean" && options.range, - loc: typeof options.loc === "boolean" && options.loc, - source: null, - tokens: typeof options.tokens === "boolean" && options.tokens, - comment: typeof options.comment === "boolean" && options.comment, - tolerant: typeof options.tolerant === "boolean" && options.tolerant - }; - if (this.config.loc && options.source && options.source !== null) { - this.config.source = String(options.source); - } - this.delegate = delegate; - this.errorHandler = new error_handler_1.ErrorHandler(); - this.errorHandler.tolerant = this.config.tolerant; - this.scanner = new scanner_1.Scanner(code, this.errorHandler); - this.scanner.trackComment = this.config.comment; - this.operatorPrecedence = { - ")": 0, - ";": 0, - ",": 0, - "=": 0, - "]": 0, - "||": 1, - "&&": 2, - "|": 3, - "^": 4, - "&": 5, - "==": 6, - "!=": 6, - "===": 6, - "!==": 6, - "<": 7, - ">": 7, - "<=": 7, - ">=": 7, - "<<": 8, - ">>": 8, - ">>>": 8, - "+": 9, - "-": 9, - "*": 11, - "/": 11, - "%": 11 - }; - this.lookahead = { - type: 2, - value: "", - lineNumber: this.scanner.lineNumber, - lineStart: 0, - start: 0, - end: 0 - }; - this.hasLineTerminator = false; - this.context = { - isModule: false, - await: false, - allowIn: true, - allowStrictDirective: true, - allowYield: true, - firstCoverInitializedNameError: null, - isAssignmentTarget: false, - isBindingElement: false, - inFunctionBody: false, - inIteration: false, - inSwitch: false, - labelSet: {}, - strict: false - }; - this.tokens = []; - this.startMarker = { - index: 0, - line: this.scanner.lineNumber, - column: 0 - }; - this.lastMarker = { - index: 0, - line: this.scanner.lineNumber, - column: 0 - }; - this.nextToken(); - this.lastMarker = { - index: this.scanner.index, - line: this.scanner.lineNumber, - column: this.scanner.index - this.scanner.lineStart - }; - } - Parser2.prototype.throwError = function(messageFormat) { - var values = []; - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - var args = Array.prototype.slice.call(arguments, 1); - var msg = messageFormat.replace(/%(\d)/g, function(whole, idx) { - assert_1.assert(idx < args.length, "Message reference must be in range"); - return args[idx]; - }); - var index = this.lastMarker.index; - var line = this.lastMarker.line; - var column = this.lastMarker.column + 1; - throw this.errorHandler.createError(index, line, column, msg); - }; - Parser2.prototype.tolerateError = function(messageFormat) { - var values = []; - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - var args = Array.prototype.slice.call(arguments, 1); - var msg = messageFormat.replace(/%(\d)/g, function(whole, idx) { - assert_1.assert(idx < args.length, "Message reference must be in range"); - return args[idx]; - }); - var index = this.lastMarker.index; - var line = this.scanner.lineNumber; - var column = this.lastMarker.column + 1; - this.errorHandler.tolerateError(index, line, column, msg); - }; - Parser2.prototype.unexpectedTokenError = function(token, message) { - var msg = message || messages_1.Messages.UnexpectedToken; - var value; - if (token) { - if (!message) { - msg = token.type === 2 ? messages_1.Messages.UnexpectedEOS : token.type === 3 ? messages_1.Messages.UnexpectedIdentifier : token.type === 6 ? messages_1.Messages.UnexpectedNumber : token.type === 8 ? messages_1.Messages.UnexpectedString : token.type === 10 ? messages_1.Messages.UnexpectedTemplate : messages_1.Messages.UnexpectedToken; - if (token.type === 4) { - if (this.scanner.isFutureReservedWord(token.value)) { - msg = messages_1.Messages.UnexpectedReserved; - } else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) { - msg = messages_1.Messages.StrictReservedWord; - } - } - } - value = token.value; - } else { - value = "ILLEGAL"; - } - msg = msg.replace("%0", value); - if (token && typeof token.lineNumber === "number") { - var index = token.start; - var line = token.lineNumber; - var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column; - var column = token.start - lastMarkerLineStart + 1; - return this.errorHandler.createError(index, line, column, msg); - } else { - var index = this.lastMarker.index; - var line = this.lastMarker.line; - var column = this.lastMarker.column + 1; - return this.errorHandler.createError(index, line, column, msg); - } - }; - Parser2.prototype.throwUnexpectedToken = function(token, message) { - throw this.unexpectedTokenError(token, message); - }; - Parser2.prototype.tolerateUnexpectedToken = function(token, message) { - this.errorHandler.tolerate(this.unexpectedTokenError(token, message)); - }; - Parser2.prototype.collectComments = function() { - if (!this.config.comment) { - this.scanner.scanComments(); - } else { - var comments = this.scanner.scanComments(); - if (comments.length > 0 && this.delegate) { - for (var i = 0; i < comments.length; ++i) { - var e = comments[i]; - var node = void 0; - node = { - type: e.multiLine ? "BlockComment" : "LineComment", - value: this.scanner.source.slice(e.slice[0], e.slice[1]) - }; - if (this.config.range) { - node.range = e.range; - } - if (this.config.loc) { - node.loc = e.loc; - } - var metadata = { - start: { - line: e.loc.start.line, - column: e.loc.start.column, - offset: e.range[0] - }, - end: { - line: e.loc.end.line, - column: e.loc.end.column, - offset: e.range[1] - } - }; - this.delegate(node, metadata); - } - } - } - }; - Parser2.prototype.getTokenRaw = function(token) { - return this.scanner.source.slice(token.start, token.end); - }; - Parser2.prototype.convertToken = function(token) { - var t = { - type: token_1.TokenName[token.type], - value: this.getTokenRaw(token) - }; - if (this.config.range) { - t.range = [token.start, token.end]; - } - if (this.config.loc) { - t.loc = { - start: { - line: this.startMarker.line, - column: this.startMarker.column - }, - end: { - line: this.scanner.lineNumber, - column: this.scanner.index - this.scanner.lineStart - } - }; - } - if (token.type === 9) { - var pattern = token.pattern; - var flags = token.flags; - t.regex = { pattern, flags }; - } - return t; - }; - Parser2.prototype.nextToken = function() { - var token = this.lookahead; - this.lastMarker.index = this.scanner.index; - this.lastMarker.line = this.scanner.lineNumber; - this.lastMarker.column = this.scanner.index - this.scanner.lineStart; - this.collectComments(); - if (this.scanner.index !== this.startMarker.index) { - this.startMarker.index = this.scanner.index; - this.startMarker.line = this.scanner.lineNumber; - this.startMarker.column = this.scanner.index - this.scanner.lineStart; - } - var next = this.scanner.lex(); - this.hasLineTerminator = token.lineNumber !== next.lineNumber; - if (next && this.context.strict && next.type === 3) { - if (this.scanner.isStrictModeReservedWord(next.value)) { - next.type = 4; - } - } - this.lookahead = next; - if (this.config.tokens && next.type !== 2) { - this.tokens.push(this.convertToken(next)); - } - return token; - }; - Parser2.prototype.nextRegexToken = function() { - this.collectComments(); - var token = this.scanner.scanRegExp(); - if (this.config.tokens) { - this.tokens.pop(); - this.tokens.push(this.convertToken(token)); - } - this.lookahead = token; - this.nextToken(); - return token; - }; - Parser2.prototype.createNode = function() { - return { - index: this.startMarker.index, - line: this.startMarker.line, - column: this.startMarker.column - }; - }; - Parser2.prototype.startNode = function(token, lastLineStart) { - if (lastLineStart === void 0) { - lastLineStart = 0; - } - var column = token.start - token.lineStart; - var line = token.lineNumber; - if (column < 0) { - column += lastLineStart; - line--; - } - return { - index: token.start, - line, - column - }; - }; - Parser2.prototype.finalize = function(marker, node) { - if (this.config.range) { - node.range = [marker.index, this.lastMarker.index]; - } - if (this.config.loc) { - node.loc = { - start: { - line: marker.line, - column: marker.column - }, - end: { - line: this.lastMarker.line, - column: this.lastMarker.column - } - }; - if (this.config.source) { - node.loc.source = this.config.source; - } - } - if (this.delegate) { - var metadata = { - start: { - line: marker.line, - column: marker.column, - offset: marker.index - }, - end: { - line: this.lastMarker.line, - column: this.lastMarker.column, - offset: this.lastMarker.index - } - }; - this.delegate(node, metadata); - } - return node; - }; - Parser2.prototype.expect = function(value) { - var token = this.nextToken(); - if (token.type !== 7 || token.value !== value) { - this.throwUnexpectedToken(token); - } - }; - Parser2.prototype.expectCommaSeparator = function() { - if (this.config.tolerant) { - var token = this.lookahead; - if (token.type === 7 && token.value === ",") { - this.nextToken(); - } else if (token.type === 7 && token.value === ";") { - this.nextToken(); - this.tolerateUnexpectedToken(token); - } else { - this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken); - } - } else { - this.expect(","); - } - }; - Parser2.prototype.expectKeyword = function(keyword) { - var token = this.nextToken(); - if (token.type !== 4 || token.value !== keyword) { - this.throwUnexpectedToken(token); - } - }; - Parser2.prototype.match = function(value) { - return this.lookahead.type === 7 && this.lookahead.value === value; - }; - Parser2.prototype.matchKeyword = function(keyword) { - return this.lookahead.type === 4 && this.lookahead.value === keyword; - }; - Parser2.prototype.matchContextualKeyword = function(keyword) { - return this.lookahead.type === 3 && this.lookahead.value === keyword; - }; - Parser2.prototype.matchAssign = function() { - if (this.lookahead.type !== 7) { - return false; - } - var op = this.lookahead.value; - return op === "=" || op === "*=" || op === "**=" || op === "/=" || op === "%=" || op === "+=" || op === "-=" || op === "<<=" || op === ">>=" || op === ">>>=" || op === "&=" || op === "^=" || op === "|="; - }; - Parser2.prototype.isolateCoverGrammar = function(parseFunction) { - var previousIsBindingElement = this.context.isBindingElement; - var previousIsAssignmentTarget = this.context.isAssignmentTarget; - var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError; - this.context.isBindingElement = true; - this.context.isAssignmentTarget = true; - this.context.firstCoverInitializedNameError = null; - var result = parseFunction.call(this); - if (this.context.firstCoverInitializedNameError !== null) { - this.throwUnexpectedToken(this.context.firstCoverInitializedNameError); - } - this.context.isBindingElement = previousIsBindingElement; - this.context.isAssignmentTarget = previousIsAssignmentTarget; - this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError; - return result; - }; - Parser2.prototype.inheritCoverGrammar = function(parseFunction) { - var previousIsBindingElement = this.context.isBindingElement; - var previousIsAssignmentTarget = this.context.isAssignmentTarget; - var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError; - this.context.isBindingElement = true; - this.context.isAssignmentTarget = true; - this.context.firstCoverInitializedNameError = null; - var result = parseFunction.call(this); - this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement; - this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget; - this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError; - return result; - }; - Parser2.prototype.consumeSemicolon = function() { - if (this.match(";")) { - this.nextToken(); - } else if (!this.hasLineTerminator) { - if (this.lookahead.type !== 2 && !this.match("}")) { - this.throwUnexpectedToken(this.lookahead); - } - this.lastMarker.index = this.startMarker.index; - this.lastMarker.line = this.startMarker.line; - this.lastMarker.column = this.startMarker.column; - } - }; - Parser2.prototype.parsePrimaryExpression = function() { - var node = this.createNode(); - var expr; - var token, raw; - switch (this.lookahead.type) { - case 3: - if ((this.context.isModule || this.context.await) && this.lookahead.value === "await") { - this.tolerateUnexpectedToken(this.lookahead); - } - expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value)); - break; - case 6: - case 8: - if (this.context.strict && this.lookahead.octal) { - this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral); - } - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - token = this.nextToken(); - raw = this.getTokenRaw(token); - expr = this.finalize(node, new Node.Literal(token.value, raw)); - break; - case 1: - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - token = this.nextToken(); - raw = this.getTokenRaw(token); - expr = this.finalize(node, new Node.Literal(token.value === "true", raw)); - break; - case 5: - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - token = this.nextToken(); - raw = this.getTokenRaw(token); - expr = this.finalize(node, new Node.Literal(null, raw)); - break; - case 10: - expr = this.parseTemplateLiteral(); - break; - case 7: - switch (this.lookahead.value) { - case "(": - this.context.isBindingElement = false; - expr = this.inheritCoverGrammar(this.parseGroupExpression); - break; - case "[": - expr = this.inheritCoverGrammar(this.parseArrayInitializer); - break; - case "{": - expr = this.inheritCoverGrammar(this.parseObjectInitializer); - break; - case "/": - case "/=": - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - this.scanner.index = this.startMarker.index; - token = this.nextRegexToken(); - raw = this.getTokenRaw(token); - expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags)); - break; - default: - expr = this.throwUnexpectedToken(this.nextToken()); - } - break; - case 4: - if (!this.context.strict && this.context.allowYield && this.matchKeyword("yield")) { - expr = this.parseIdentifierName(); - } else if (!this.context.strict && this.matchKeyword("let")) { - expr = this.finalize(node, new Node.Identifier(this.nextToken().value)); - } else { - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - if (this.matchKeyword("function")) { - expr = this.parseFunctionExpression(); - } else if (this.matchKeyword("this")) { - this.nextToken(); - expr = this.finalize(node, new Node.ThisExpression()); - } else if (this.matchKeyword("class")) { - expr = this.parseClassExpression(); - } else { - expr = this.throwUnexpectedToken(this.nextToken()); - } - } - break; - default: - expr = this.throwUnexpectedToken(this.nextToken()); - } - return expr; - }; - Parser2.prototype.parseSpreadElement = function() { - var node = this.createNode(); - this.expect("..."); - var arg = this.inheritCoverGrammar(this.parseAssignmentExpression); - return this.finalize(node, new Node.SpreadElement(arg)); - }; - Parser2.prototype.parseArrayInitializer = function() { - var node = this.createNode(); - var elements = []; - this.expect("["); - while (!this.match("]")) { - if (this.match(",")) { - this.nextToken(); - elements.push(null); - } else if (this.match("...")) { - var element = this.parseSpreadElement(); - if (!this.match("]")) { - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - this.expect(","); - } - elements.push(element); - } else { - elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression)); - if (!this.match("]")) { - this.expect(","); - } - } - } - this.expect("]"); - return this.finalize(node, new Node.ArrayExpression(elements)); - }; - Parser2.prototype.parsePropertyMethod = function(params) { - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - var previousStrict = this.context.strict; - var previousAllowStrictDirective = this.context.allowStrictDirective; - this.context.allowStrictDirective = params.simple; - var body = this.isolateCoverGrammar(this.parseFunctionSourceElements); - if (this.context.strict && params.firstRestricted) { - this.tolerateUnexpectedToken(params.firstRestricted, params.message); - } - if (this.context.strict && params.stricted) { - this.tolerateUnexpectedToken(params.stricted, params.message); - } - this.context.strict = previousStrict; - this.context.allowStrictDirective = previousAllowStrictDirective; - return body; - }; - Parser2.prototype.parsePropertyMethodFunction = function() { - var isGenerator = false; - var node = this.createNode(); - var previousAllowYield = this.context.allowYield; - this.context.allowYield = true; - var params = this.parseFormalParameters(); - var method = this.parsePropertyMethod(params); - this.context.allowYield = previousAllowYield; - return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator)); - }; - Parser2.prototype.parsePropertyMethodAsyncFunction = function() { - var node = this.createNode(); - var previousAllowYield = this.context.allowYield; - var previousAwait = this.context.await; - this.context.allowYield = false; - this.context.await = true; - var params = this.parseFormalParameters(); - var method = this.parsePropertyMethod(params); - this.context.allowYield = previousAllowYield; - this.context.await = previousAwait; - return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method)); - }; - Parser2.prototype.parseObjectPropertyKey = function() { - var node = this.createNode(); - var token = this.nextToken(); - var key; - switch (token.type) { - case 8: - case 6: - if (this.context.strict && token.octal) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral); - } - var raw = this.getTokenRaw(token); - key = this.finalize(node, new Node.Literal(token.value, raw)); - break; - case 3: - case 1: - case 5: - case 4: - key = this.finalize(node, new Node.Identifier(token.value)); - break; - case 7: - if (token.value === "[") { - key = this.isolateCoverGrammar(this.parseAssignmentExpression); - this.expect("]"); - } else { - key = this.throwUnexpectedToken(token); - } - break; - default: - key = this.throwUnexpectedToken(token); - } - return key; - }; - Parser2.prototype.isPropertyKey = function(key, value) { - return key.type === syntax_1.Syntax.Identifier && key.name === value || key.type === syntax_1.Syntax.Literal && key.value === value; - }; - Parser2.prototype.parseObjectProperty = function(hasProto) { - var node = this.createNode(); - var token = this.lookahead; - var kind; - var key = null; - var value = null; - var computed = false; - var method = false; - var shorthand = false; - var isAsync = false; - if (token.type === 3) { - var id = token.value; - this.nextToken(); - computed = this.match("["); - isAsync = !this.hasLineTerminator && id === "async" && !this.match(":") && !this.match("(") && !this.match("*") && !this.match(","); - key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id)); - } else if (this.match("*")) { - this.nextToken(); - } else { - computed = this.match("["); - key = this.parseObjectPropertyKey(); - } - var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead); - if (token.type === 3 && !isAsync && token.value === "get" && lookaheadPropertyKey) { - kind = "get"; - computed = this.match("["); - key = this.parseObjectPropertyKey(); - this.context.allowYield = false; - value = this.parseGetterMethod(); - } else if (token.type === 3 && !isAsync && token.value === "set" && lookaheadPropertyKey) { - kind = "set"; - computed = this.match("["); - key = this.parseObjectPropertyKey(); - value = this.parseSetterMethod(); - } else if (token.type === 7 && token.value === "*" && lookaheadPropertyKey) { - kind = "init"; - computed = this.match("["); - key = this.parseObjectPropertyKey(); - value = this.parseGeneratorMethod(); - method = true; - } else { - if (!key) { - this.throwUnexpectedToken(this.lookahead); - } - kind = "init"; - if (this.match(":") && !isAsync) { - if (!computed && this.isPropertyKey(key, "__proto__")) { - if (hasProto.value) { - this.tolerateError(messages_1.Messages.DuplicateProtoProperty); - } - hasProto.value = true; - } - this.nextToken(); - value = this.inheritCoverGrammar(this.parseAssignmentExpression); - } else if (this.match("(")) { - value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction(); - method = true; - } else if (token.type === 3) { - var id = this.finalize(node, new Node.Identifier(token.value)); - if (this.match("=")) { - this.context.firstCoverInitializedNameError = this.lookahead; - this.nextToken(); - shorthand = true; - var init = this.isolateCoverGrammar(this.parseAssignmentExpression); - value = this.finalize(node, new Node.AssignmentPattern(id, init)); - } else { - shorthand = true; - value = id; - } - } else { - this.throwUnexpectedToken(this.nextToken()); - } - } - return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand)); - }; - Parser2.prototype.parseObjectInitializer = function() { - var node = this.createNode(); - this.expect("{"); - var properties = []; - var hasProto = { value: false }; - while (!this.match("}")) { - properties.push(this.parseObjectProperty(hasProto)); - if (!this.match("}")) { - this.expectCommaSeparator(); - } - } - this.expect("}"); - return this.finalize(node, new Node.ObjectExpression(properties)); - }; - Parser2.prototype.parseTemplateHead = function() { - assert_1.assert(this.lookahead.head, "Template literal must start with a template head"); - var node = this.createNode(); - var token = this.nextToken(); - var raw = token.value; - var cooked = token.cooked; - return this.finalize(node, new Node.TemplateElement({ raw, cooked }, token.tail)); - }; - Parser2.prototype.parseTemplateElement = function() { - if (this.lookahead.type !== 10) { - this.throwUnexpectedToken(); - } - var node = this.createNode(); - var token = this.nextToken(); - var raw = token.value; - var cooked = token.cooked; - return this.finalize(node, new Node.TemplateElement({ raw, cooked }, token.tail)); - }; - Parser2.prototype.parseTemplateLiteral = function() { - var node = this.createNode(); - var expressions = []; - var quasis = []; - var quasi = this.parseTemplateHead(); - quasis.push(quasi); - while (!quasi.tail) { - expressions.push(this.parseExpression()); - quasi = this.parseTemplateElement(); - quasis.push(quasi); - } - return this.finalize(node, new Node.TemplateLiteral(quasis, expressions)); - }; - Parser2.prototype.reinterpretExpressionAsPattern = function(expr) { - switch (expr.type) { - case syntax_1.Syntax.Identifier: - case syntax_1.Syntax.MemberExpression: - case syntax_1.Syntax.RestElement: - case syntax_1.Syntax.AssignmentPattern: - break; - case syntax_1.Syntax.SpreadElement: - expr.type = syntax_1.Syntax.RestElement; - this.reinterpretExpressionAsPattern(expr.argument); - break; - case syntax_1.Syntax.ArrayExpression: - expr.type = syntax_1.Syntax.ArrayPattern; - for (var i = 0; i < expr.elements.length; i++) { - if (expr.elements[i] !== null) { - this.reinterpretExpressionAsPattern(expr.elements[i]); - } - } - break; - case syntax_1.Syntax.ObjectExpression: - expr.type = syntax_1.Syntax.ObjectPattern; - for (var i = 0; i < expr.properties.length; i++) { - this.reinterpretExpressionAsPattern(expr.properties[i].value); - } - break; - case syntax_1.Syntax.AssignmentExpression: - expr.type = syntax_1.Syntax.AssignmentPattern; - delete expr.operator; - this.reinterpretExpressionAsPattern(expr.left); - break; - default: - break; - } - }; - Parser2.prototype.parseGroupExpression = function() { - var expr; - this.expect("("); - if (this.match(")")) { - this.nextToken(); - if (!this.match("=>")) { - this.expect("=>"); - } - expr = { - type: ArrowParameterPlaceHolder, - params: [], - async: false - }; - } else { - var startToken = this.lookahead; - var params = []; - if (this.match("...")) { - expr = this.parseRestElement(params); - this.expect(")"); - if (!this.match("=>")) { - this.expect("=>"); - } - expr = { - type: ArrowParameterPlaceHolder, - params: [expr], - async: false - }; - } else { - var arrow = false; - this.context.isBindingElement = true; - expr = this.inheritCoverGrammar(this.parseAssignmentExpression); - if (this.match(",")) { - var expressions = []; - this.context.isAssignmentTarget = false; - expressions.push(expr); - while (this.lookahead.type !== 2) { - if (!this.match(",")) { - break; - } - this.nextToken(); - if (this.match(")")) { - this.nextToken(); - for (var i = 0; i < expressions.length; i++) { - this.reinterpretExpressionAsPattern(expressions[i]); - } - arrow = true; - expr = { - type: ArrowParameterPlaceHolder, - params: expressions, - async: false - }; - } else if (this.match("...")) { - if (!this.context.isBindingElement) { - this.throwUnexpectedToken(this.lookahead); - } - expressions.push(this.parseRestElement(params)); - this.expect(")"); - if (!this.match("=>")) { - this.expect("=>"); - } - this.context.isBindingElement = false; - for (var i = 0; i < expressions.length; i++) { - this.reinterpretExpressionAsPattern(expressions[i]); - } - arrow = true; - expr = { - type: ArrowParameterPlaceHolder, - params: expressions, - async: false - }; - } else { - expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression)); - } - if (arrow) { - break; - } - } - if (!arrow) { - expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions)); - } - } - if (!arrow) { - this.expect(")"); - if (this.match("=>")) { - if (expr.type === syntax_1.Syntax.Identifier && expr.name === "yield") { - arrow = true; - expr = { - type: ArrowParameterPlaceHolder, - params: [expr], - async: false - }; - } - if (!arrow) { - if (!this.context.isBindingElement) { - this.throwUnexpectedToken(this.lookahead); - } - if (expr.type === syntax_1.Syntax.SequenceExpression) { - for (var i = 0; i < expr.expressions.length; i++) { - this.reinterpretExpressionAsPattern(expr.expressions[i]); - } - } else { - this.reinterpretExpressionAsPattern(expr); - } - var parameters = expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr]; - expr = { - type: ArrowParameterPlaceHolder, - params: parameters, - async: false - }; - } - } - this.context.isBindingElement = false; - } - } - } - return expr; - }; - Parser2.prototype.parseArguments = function() { - this.expect("("); - var args = []; - if (!this.match(")")) { - while (true) { - var expr = this.match("...") ? this.parseSpreadElement() : this.isolateCoverGrammar(this.parseAssignmentExpression); - args.push(expr); - if (this.match(")")) { - break; - } - this.expectCommaSeparator(); - if (this.match(")")) { - break; - } - } - } - this.expect(")"); - return args; - }; - Parser2.prototype.isIdentifierName = function(token) { - return token.type === 3 || token.type === 4 || token.type === 1 || token.type === 5; - }; - Parser2.prototype.parseIdentifierName = function() { - var node = this.createNode(); - var token = this.nextToken(); - if (!this.isIdentifierName(token)) { - this.throwUnexpectedToken(token); - } - return this.finalize(node, new Node.Identifier(token.value)); - }; - Parser2.prototype.parseNewExpression = function() { - var node = this.createNode(); - var id = this.parseIdentifierName(); - assert_1.assert(id.name === "new", "New expression must start with `new`"); - var expr; - if (this.match(".")) { - this.nextToken(); - if (this.lookahead.type === 3 && this.context.inFunctionBody && this.lookahead.value === "target") { - var property = this.parseIdentifierName(); - expr = new Node.MetaProperty(id, property); - } else { - this.throwUnexpectedToken(this.lookahead); - } - } else { - var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression); - var args = this.match("(") ? this.parseArguments() : []; - expr = new Node.NewExpression(callee, args); - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - } - return this.finalize(node, expr); - }; - Parser2.prototype.parseAsyncArgument = function() { - var arg = this.parseAssignmentExpression(); - this.context.firstCoverInitializedNameError = null; - return arg; - }; - Parser2.prototype.parseAsyncArguments = function() { - this.expect("("); - var args = []; - if (!this.match(")")) { - while (true) { - var expr = this.match("...") ? this.parseSpreadElement() : this.isolateCoverGrammar(this.parseAsyncArgument); - args.push(expr); - if (this.match(")")) { - break; - } - this.expectCommaSeparator(); - if (this.match(")")) { - break; - } - } - } - this.expect(")"); - return args; - }; - Parser2.prototype.parseLeftHandSideExpressionAllowCall = function() { - var startToken = this.lookahead; - var maybeAsync = this.matchContextualKeyword("async"); - var previousAllowIn = this.context.allowIn; - this.context.allowIn = true; - var expr; - if (this.matchKeyword("super") && this.context.inFunctionBody) { - expr = this.createNode(); - this.nextToken(); - expr = this.finalize(expr, new Node.Super()); - if (!this.match("(") && !this.match(".") && !this.match("[")) { - this.throwUnexpectedToken(this.lookahead); - } - } else { - expr = this.inheritCoverGrammar(this.matchKeyword("new") ? this.parseNewExpression : this.parsePrimaryExpression); - } - while (true) { - if (this.match(".")) { - this.context.isBindingElement = false; - this.context.isAssignmentTarget = true; - this.expect("."); - var property = this.parseIdentifierName(); - expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property)); - } else if (this.match("(")) { - var asyncArrow = maybeAsync && startToken.lineNumber === this.lookahead.lineNumber; - this.context.isBindingElement = false; - this.context.isAssignmentTarget = false; - var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments(); - expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args)); - if (asyncArrow && this.match("=>")) { - for (var i = 0; i < args.length; ++i) { - this.reinterpretExpressionAsPattern(args[i]); - } - expr = { - type: ArrowParameterPlaceHolder, - params: args, - async: true - }; - } - } else if (this.match("[")) { - this.context.isBindingElement = false; - this.context.isAssignmentTarget = true; - this.expect("["); - var property = this.isolateCoverGrammar(this.parseExpression); - this.expect("]"); - expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property)); - } else if (this.lookahead.type === 10 && this.lookahead.head) { - var quasi = this.parseTemplateLiteral(); - expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi)); - } else { - break; - } - } - this.context.allowIn = previousAllowIn; - return expr; - }; - Parser2.prototype.parseSuper = function() { - var node = this.createNode(); - this.expectKeyword("super"); - if (!this.match("[") && !this.match(".")) { - this.throwUnexpectedToken(this.lookahead); - } - return this.finalize(node, new Node.Super()); - }; - Parser2.prototype.parseLeftHandSideExpression = function() { - assert_1.assert(this.context.allowIn, "callee of new expression always allow in keyword."); - var node = this.startNode(this.lookahead); - var expr = this.matchKeyword("super") && this.context.inFunctionBody ? this.parseSuper() : this.inheritCoverGrammar(this.matchKeyword("new") ? this.parseNewExpression : this.parsePrimaryExpression); - while (true) { - if (this.match("[")) { - this.context.isBindingElement = false; - this.context.isAssignmentTarget = true; - this.expect("["); - var property = this.isolateCoverGrammar(this.parseExpression); - this.expect("]"); - expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property)); - } else if (this.match(".")) { - this.context.isBindingElement = false; - this.context.isAssignmentTarget = true; - this.expect("."); - var property = this.parseIdentifierName(); - expr = this.finalize(node, new Node.StaticMemberExpression(expr, property)); - } else if (this.lookahead.type === 10 && this.lookahead.head) { - var quasi = this.parseTemplateLiteral(); - expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi)); - } else { - break; - } - } - return expr; - }; - Parser2.prototype.parseUpdateExpression = function() { - var expr; - var startToken = this.lookahead; - if (this.match("++") || this.match("--")) { - var node = this.startNode(startToken); - var token = this.nextToken(); - expr = this.inheritCoverGrammar(this.parseUnaryExpression); - if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) { - this.tolerateError(messages_1.Messages.StrictLHSPrefix); - } - if (!this.context.isAssignmentTarget) { - this.tolerateError(messages_1.Messages.InvalidLHSInAssignment); - } - var prefix = true; - expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix)); - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - } else { - expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall); - if (!this.hasLineTerminator && this.lookahead.type === 7) { - if (this.match("++") || this.match("--")) { - if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) { - this.tolerateError(messages_1.Messages.StrictLHSPostfix); - } - if (!this.context.isAssignmentTarget) { - this.tolerateError(messages_1.Messages.InvalidLHSInAssignment); - } - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - var operator = this.nextToken().value; - var prefix = false; - expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix)); - } - } - } - return expr; - }; - Parser2.prototype.parseAwaitExpression = function() { - var node = this.createNode(); - this.nextToken(); - var argument = this.parseUnaryExpression(); - return this.finalize(node, new Node.AwaitExpression(argument)); - }; - Parser2.prototype.parseUnaryExpression = function() { - var expr; - if (this.match("+") || this.match("-") || this.match("~") || this.match("!") || this.matchKeyword("delete") || this.matchKeyword("void") || this.matchKeyword("typeof")) { - var node = this.startNode(this.lookahead); - var token = this.nextToken(); - expr = this.inheritCoverGrammar(this.parseUnaryExpression); - expr = this.finalize(node, new Node.UnaryExpression(token.value, expr)); - if (this.context.strict && expr.operator === "delete" && expr.argument.type === syntax_1.Syntax.Identifier) { - this.tolerateError(messages_1.Messages.StrictDelete); - } - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - } else if (this.context.await && this.matchContextualKeyword("await")) { - expr = this.parseAwaitExpression(); - } else { - expr = this.parseUpdateExpression(); - } - return expr; - }; - Parser2.prototype.parseExponentiationExpression = function() { - var startToken = this.lookahead; - var expr = this.inheritCoverGrammar(this.parseUnaryExpression); - if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match("**")) { - this.nextToken(); - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - var left = expr; - var right = this.isolateCoverGrammar(this.parseExponentiationExpression); - expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression("**", left, right)); - } - return expr; - }; - Parser2.prototype.binaryPrecedence = function(token) { - var op = token.value; - var precedence; - if (token.type === 7) { - precedence = this.operatorPrecedence[op] || 0; - } else if (token.type === 4) { - precedence = op === "instanceof" || this.context.allowIn && op === "in" ? 7 : 0; - } else { - precedence = 0; - } - return precedence; - }; - Parser2.prototype.parseBinaryExpression = function() { - var startToken = this.lookahead; - var expr = this.inheritCoverGrammar(this.parseExponentiationExpression); - var token = this.lookahead; - var prec = this.binaryPrecedence(token); - if (prec > 0) { - this.nextToken(); - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - var markers = [startToken, this.lookahead]; - var left = expr; - var right = this.isolateCoverGrammar(this.parseExponentiationExpression); - var stack = [left, token.value, right]; - var precedences = [prec]; - while (true) { - prec = this.binaryPrecedence(this.lookahead); - if (prec <= 0) { - break; - } - while (stack.length > 2 && prec <= precedences[precedences.length - 1]) { - right = stack.pop(); - var operator = stack.pop(); - precedences.pop(); - left = stack.pop(); - markers.pop(); - var node = this.startNode(markers[markers.length - 1]); - stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right))); - } - stack.push(this.nextToken().value); - precedences.push(prec); - markers.push(this.lookahead); - stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression)); - } - var i = stack.length - 1; - expr = stack[i]; - var lastMarker = markers.pop(); - while (i > 1) { - var marker = markers.pop(); - var lastLineStart = lastMarker && lastMarker.lineStart; - var node = this.startNode(marker, lastLineStart); - var operator = stack[i - 1]; - expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr)); - i -= 2; - lastMarker = marker; - } - } - return expr; - }; - Parser2.prototype.parseConditionalExpression = function() { - var startToken = this.lookahead; - var expr = this.inheritCoverGrammar(this.parseBinaryExpression); - if (this.match("?")) { - this.nextToken(); - var previousAllowIn = this.context.allowIn; - this.context.allowIn = true; - var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression); - this.context.allowIn = previousAllowIn; - this.expect(":"); - var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression); - expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate)); - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - } - return expr; - }; - Parser2.prototype.checkPatternParam = function(options, param) { - switch (param.type) { - case syntax_1.Syntax.Identifier: - this.validateParam(options, param, param.name); - break; - case syntax_1.Syntax.RestElement: - this.checkPatternParam(options, param.argument); - break; - case syntax_1.Syntax.AssignmentPattern: - this.checkPatternParam(options, param.left); - break; - case syntax_1.Syntax.ArrayPattern: - for (var i = 0; i < param.elements.length; i++) { - if (param.elements[i] !== null) { - this.checkPatternParam(options, param.elements[i]); - } - } - break; - case syntax_1.Syntax.ObjectPattern: - for (var i = 0; i < param.properties.length; i++) { - this.checkPatternParam(options, param.properties[i].value); - } - break; - default: - break; - } - options.simple = options.simple && param instanceof Node.Identifier; - }; - Parser2.prototype.reinterpretAsCoverFormalsList = function(expr) { - var params = [expr]; - var options; - var asyncArrow = false; - switch (expr.type) { - case syntax_1.Syntax.Identifier: - break; - case ArrowParameterPlaceHolder: - params = expr.params; - asyncArrow = expr.async; - break; - default: - return null; - } - options = { - simple: true, - paramSet: {} - }; - for (var i = 0; i < params.length; ++i) { - var param = params[i]; - if (param.type === syntax_1.Syntax.AssignmentPattern) { - if (param.right.type === syntax_1.Syntax.YieldExpression) { - if (param.right.argument) { - this.throwUnexpectedToken(this.lookahead); - } - param.right.type = syntax_1.Syntax.Identifier; - param.right.name = "yield"; - delete param.right.argument; - delete param.right.delegate; - } - } else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === "await") { - this.throwUnexpectedToken(this.lookahead); - } - this.checkPatternParam(options, param); - params[i] = param; - } - if (this.context.strict || !this.context.allowYield) { - for (var i = 0; i < params.length; ++i) { - var param = params[i]; - if (param.type === syntax_1.Syntax.YieldExpression) { - this.throwUnexpectedToken(this.lookahead); - } - } - } - if (options.message === messages_1.Messages.StrictParamDupe) { - var token = this.context.strict ? options.stricted : options.firstRestricted; - this.throwUnexpectedToken(token, options.message); - } - return { - simple: options.simple, - params, - stricted: options.stricted, - firstRestricted: options.firstRestricted, - message: options.message - }; - }; - Parser2.prototype.parseAssignmentExpression = function() { - var expr; - if (!this.context.allowYield && this.matchKeyword("yield")) { - expr = this.parseYieldExpression(); - } else { - var startToken = this.lookahead; - var token = startToken; - expr = this.parseConditionalExpression(); - if (token.type === 3 && token.lineNumber === this.lookahead.lineNumber && token.value === "async") { - if (this.lookahead.type === 3 || this.matchKeyword("yield")) { - var arg = this.parsePrimaryExpression(); - this.reinterpretExpressionAsPattern(arg); - expr = { - type: ArrowParameterPlaceHolder, - params: [arg], - async: true - }; - } - } - if (expr.type === ArrowParameterPlaceHolder || this.match("=>")) { - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - var isAsync = expr.async; - var list = this.reinterpretAsCoverFormalsList(expr); - if (list) { - if (this.hasLineTerminator) { - this.tolerateUnexpectedToken(this.lookahead); - } - this.context.firstCoverInitializedNameError = null; - var previousStrict = this.context.strict; - var previousAllowStrictDirective = this.context.allowStrictDirective; - this.context.allowStrictDirective = list.simple; - var previousAllowYield = this.context.allowYield; - var previousAwait = this.context.await; - this.context.allowYield = true; - this.context.await = isAsync; - var node = this.startNode(startToken); - this.expect("=>"); - var body = void 0; - if (this.match("{")) { - var previousAllowIn = this.context.allowIn; - this.context.allowIn = true; - body = this.parseFunctionSourceElements(); - this.context.allowIn = previousAllowIn; - } else { - body = this.isolateCoverGrammar(this.parseAssignmentExpression); - } - var expression = body.type !== syntax_1.Syntax.BlockStatement; - if (this.context.strict && list.firstRestricted) { - this.throwUnexpectedToken(list.firstRestricted, list.message); - } - if (this.context.strict && list.stricted) { - this.tolerateUnexpectedToken(list.stricted, list.message); - } - expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) : this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression)); - this.context.strict = previousStrict; - this.context.allowStrictDirective = previousAllowStrictDirective; - this.context.allowYield = previousAllowYield; - this.context.await = previousAwait; - } - } else { - if (this.matchAssign()) { - if (!this.context.isAssignmentTarget) { - this.tolerateError(messages_1.Messages.InvalidLHSInAssignment); - } - if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) { - var id = expr; - if (this.scanner.isRestrictedWord(id.name)) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment); - } - if (this.scanner.isStrictModeReservedWord(id.name)) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord); - } - } - if (!this.match("=")) { - this.context.isAssignmentTarget = false; - this.context.isBindingElement = false; - } else { - this.reinterpretExpressionAsPattern(expr); - } - token = this.nextToken(); - var operator = token.value; - var right = this.isolateCoverGrammar(this.parseAssignmentExpression); - expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right)); - this.context.firstCoverInitializedNameError = null; - } - } - } - return expr; - }; - Parser2.prototype.parseExpression = function() { - var startToken = this.lookahead; - var expr = this.isolateCoverGrammar(this.parseAssignmentExpression); - if (this.match(",")) { - var expressions = []; - expressions.push(expr); - while (this.lookahead.type !== 2) { - if (!this.match(",")) { - break; - } - this.nextToken(); - expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression)); - } - expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions)); - } - return expr; - }; - Parser2.prototype.parseStatementListItem = function() { - var statement; - this.context.isAssignmentTarget = true; - this.context.isBindingElement = true; - if (this.lookahead.type === 4) { - switch (this.lookahead.value) { - case "export": - if (!this.context.isModule) { - this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration); - } - statement = this.parseExportDeclaration(); - break; - case "import": - if (!this.context.isModule) { - this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration); - } - statement = this.parseImportDeclaration(); - break; - case "const": - statement = this.parseLexicalDeclaration({ inFor: false }); - break; - case "function": - statement = this.parseFunctionDeclaration(); - break; - case "class": - statement = this.parseClassDeclaration(); - break; - case "let": - statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement(); - break; - default: - statement = this.parseStatement(); - break; - } - } else { - statement = this.parseStatement(); - } - return statement; - }; - Parser2.prototype.parseBlock = function() { - var node = this.createNode(); - this.expect("{"); - var block = []; - while (true) { - if (this.match("}")) { - break; - } - block.push(this.parseStatementListItem()); - } - this.expect("}"); - return this.finalize(node, new Node.BlockStatement(block)); - }; - Parser2.prototype.parseLexicalBinding = function(kind, options) { - var node = this.createNode(); - var params = []; - var id = this.parsePattern(params, kind); - if (this.context.strict && id.type === syntax_1.Syntax.Identifier) { - if (this.scanner.isRestrictedWord(id.name)) { - this.tolerateError(messages_1.Messages.StrictVarName); - } - } - var init = null; - if (kind === "const") { - if (!this.matchKeyword("in") && !this.matchContextualKeyword("of")) { - if (this.match("=")) { - this.nextToken(); - init = this.isolateCoverGrammar(this.parseAssignmentExpression); - } else { - this.throwError(messages_1.Messages.DeclarationMissingInitializer, "const"); - } - } - } else if (!options.inFor && id.type !== syntax_1.Syntax.Identifier || this.match("=")) { - this.expect("="); - init = this.isolateCoverGrammar(this.parseAssignmentExpression); - } - return this.finalize(node, new Node.VariableDeclarator(id, init)); - }; - Parser2.prototype.parseBindingList = function(kind, options) { - var list = [this.parseLexicalBinding(kind, options)]; - while (this.match(",")) { - this.nextToken(); - list.push(this.parseLexicalBinding(kind, options)); - } - return list; - }; - Parser2.prototype.isLexicalDeclaration = function() { - var state = this.scanner.saveState(); - this.scanner.scanComments(); - var next = this.scanner.lex(); - this.scanner.restoreState(state); - return next.type === 3 || next.type === 7 && next.value === "[" || next.type === 7 && next.value === "{" || next.type === 4 && next.value === "let" || next.type === 4 && next.value === "yield"; - }; - Parser2.prototype.parseLexicalDeclaration = function(options) { - var node = this.createNode(); - var kind = this.nextToken().value; - assert_1.assert(kind === "let" || kind === "const", "Lexical declaration must be either let or const"); - var declarations = this.parseBindingList(kind, options); - this.consumeSemicolon(); - return this.finalize(node, new Node.VariableDeclaration(declarations, kind)); - }; - Parser2.prototype.parseBindingRestElement = function(params, kind) { - var node = this.createNode(); - this.expect("..."); - var arg = this.parsePattern(params, kind); - return this.finalize(node, new Node.RestElement(arg)); - }; - Parser2.prototype.parseArrayPattern = function(params, kind) { - var node = this.createNode(); - this.expect("["); - var elements = []; - while (!this.match("]")) { - if (this.match(",")) { - this.nextToken(); - elements.push(null); - } else { - if (this.match("...")) { - elements.push(this.parseBindingRestElement(params, kind)); - break; - } else { - elements.push(this.parsePatternWithDefault(params, kind)); - } - if (!this.match("]")) { - this.expect(","); - } - } - } - this.expect("]"); - return this.finalize(node, new Node.ArrayPattern(elements)); - }; - Parser2.prototype.parsePropertyPattern = function(params, kind) { - var node = this.createNode(); - var computed = false; - var shorthand = false; - var method = false; - var key; - var value; - if (this.lookahead.type === 3) { - var keyToken = this.lookahead; - key = this.parseVariableIdentifier(); - var init = this.finalize(node, new Node.Identifier(keyToken.value)); - if (this.match("=")) { - params.push(keyToken); - shorthand = true; - this.nextToken(); - var expr = this.parseAssignmentExpression(); - value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr)); - } else if (!this.match(":")) { - params.push(keyToken); - shorthand = true; - value = init; - } else { - this.expect(":"); - value = this.parsePatternWithDefault(params, kind); - } - } else { - computed = this.match("["); - key = this.parseObjectPropertyKey(); - this.expect(":"); - value = this.parsePatternWithDefault(params, kind); - } - return this.finalize(node, new Node.Property("init", key, computed, value, method, shorthand)); - }; - Parser2.prototype.parseObjectPattern = function(params, kind) { - var node = this.createNode(); - var properties = []; - this.expect("{"); - while (!this.match("}")) { - properties.push(this.parsePropertyPattern(params, kind)); - if (!this.match("}")) { - this.expect(","); - } - } - this.expect("}"); - return this.finalize(node, new Node.ObjectPattern(properties)); - }; - Parser2.prototype.parsePattern = function(params, kind) { - var pattern; - if (this.match("[")) { - pattern = this.parseArrayPattern(params, kind); - } else if (this.match("{")) { - pattern = this.parseObjectPattern(params, kind); - } else { - if (this.matchKeyword("let") && (kind === "const" || kind === "let")) { - this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding); - } - params.push(this.lookahead); - pattern = this.parseVariableIdentifier(kind); - } - return pattern; - }; - Parser2.prototype.parsePatternWithDefault = function(params, kind) { - var startToken = this.lookahead; - var pattern = this.parsePattern(params, kind); - if (this.match("=")) { - this.nextToken(); - var previousAllowYield = this.context.allowYield; - this.context.allowYield = true; - var right = this.isolateCoverGrammar(this.parseAssignmentExpression); - this.context.allowYield = previousAllowYield; - pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right)); - } - return pattern; - }; - Parser2.prototype.parseVariableIdentifier = function(kind) { - var node = this.createNode(); - var token = this.nextToken(); - if (token.type === 4 && token.value === "yield") { - if (this.context.strict) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord); - } else if (!this.context.allowYield) { - this.throwUnexpectedToken(token); - } - } else if (token.type !== 3) { - if (this.context.strict && token.type === 4 && this.scanner.isStrictModeReservedWord(token.value)) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord); - } else { - if (this.context.strict || token.value !== "let" || kind !== "var") { - this.throwUnexpectedToken(token); - } - } - } else if ((this.context.isModule || this.context.await) && token.type === 3 && token.value === "await") { - this.tolerateUnexpectedToken(token); - } - return this.finalize(node, new Node.Identifier(token.value)); - }; - Parser2.prototype.parseVariableDeclaration = function(options) { - var node = this.createNode(); - var params = []; - var id = this.parsePattern(params, "var"); - if (this.context.strict && id.type === syntax_1.Syntax.Identifier) { - if (this.scanner.isRestrictedWord(id.name)) { - this.tolerateError(messages_1.Messages.StrictVarName); - } - } - var init = null; - if (this.match("=")) { - this.nextToken(); - init = this.isolateCoverGrammar(this.parseAssignmentExpression); - } else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) { - this.expect("="); - } - return this.finalize(node, new Node.VariableDeclarator(id, init)); - }; - Parser2.prototype.parseVariableDeclarationList = function(options) { - var opt = { inFor: options.inFor }; - var list = []; - list.push(this.parseVariableDeclaration(opt)); - while (this.match(",")) { - this.nextToken(); - list.push(this.parseVariableDeclaration(opt)); - } - return list; - }; - Parser2.prototype.parseVariableStatement = function() { - var node = this.createNode(); - this.expectKeyword("var"); - var declarations = this.parseVariableDeclarationList({ inFor: false }); - this.consumeSemicolon(); - return this.finalize(node, new Node.VariableDeclaration(declarations, "var")); - }; - Parser2.prototype.parseEmptyStatement = function() { - var node = this.createNode(); - this.expect(";"); - return this.finalize(node, new Node.EmptyStatement()); - }; - Parser2.prototype.parseExpressionStatement = function() { - var node = this.createNode(); - var expr = this.parseExpression(); - this.consumeSemicolon(); - return this.finalize(node, new Node.ExpressionStatement(expr)); - }; - Parser2.prototype.parseIfClause = function() { - if (this.context.strict && this.matchKeyword("function")) { - this.tolerateError(messages_1.Messages.StrictFunction); - } - return this.parseStatement(); - }; - Parser2.prototype.parseIfStatement = function() { - var node = this.createNode(); - var consequent; - var alternate = null; - this.expectKeyword("if"); - this.expect("("); - var test = this.parseExpression(); - if (!this.match(")") && this.config.tolerant) { - this.tolerateUnexpectedToken(this.nextToken()); - consequent = this.finalize(this.createNode(), new Node.EmptyStatement()); - } else { - this.expect(")"); - consequent = this.parseIfClause(); - if (this.matchKeyword("else")) { - this.nextToken(); - alternate = this.parseIfClause(); - } - } - return this.finalize(node, new Node.IfStatement(test, consequent, alternate)); - }; - Parser2.prototype.parseDoWhileStatement = function() { - var node = this.createNode(); - this.expectKeyword("do"); - var previousInIteration = this.context.inIteration; - this.context.inIteration = true; - var body = this.parseStatement(); - this.context.inIteration = previousInIteration; - this.expectKeyword("while"); - this.expect("("); - var test = this.parseExpression(); - if (!this.match(")") && this.config.tolerant) { - this.tolerateUnexpectedToken(this.nextToken()); - } else { - this.expect(")"); - if (this.match(";")) { - this.nextToken(); - } - } - return this.finalize(node, new Node.DoWhileStatement(body, test)); - }; - Parser2.prototype.parseWhileStatement = function() { - var node = this.createNode(); - var body; - this.expectKeyword("while"); - this.expect("("); - var test = this.parseExpression(); - if (!this.match(")") && this.config.tolerant) { - this.tolerateUnexpectedToken(this.nextToken()); - body = this.finalize(this.createNode(), new Node.EmptyStatement()); - } else { - this.expect(")"); - var previousInIteration = this.context.inIteration; - this.context.inIteration = true; - body = this.parseStatement(); - this.context.inIteration = previousInIteration; - } - return this.finalize(node, new Node.WhileStatement(test, body)); - }; - Parser2.prototype.parseForStatement = function() { - var init = null; - var test = null; - var update = null; - var forIn = true; - var left, right; - var node = this.createNode(); - this.expectKeyword("for"); - this.expect("("); - if (this.match(";")) { - this.nextToken(); - } else { - if (this.matchKeyword("var")) { - init = this.createNode(); - this.nextToken(); - var previousAllowIn = this.context.allowIn; - this.context.allowIn = false; - var declarations = this.parseVariableDeclarationList({ inFor: true }); - this.context.allowIn = previousAllowIn; - if (declarations.length === 1 && this.matchKeyword("in")) { - var decl = declarations[0]; - if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) { - this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, "for-in"); - } - init = this.finalize(init, new Node.VariableDeclaration(declarations, "var")); - this.nextToken(); - left = init; - right = this.parseExpression(); - init = null; - } else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword("of")) { - init = this.finalize(init, new Node.VariableDeclaration(declarations, "var")); - this.nextToken(); - left = init; - right = this.parseAssignmentExpression(); - init = null; - forIn = false; - } else { - init = this.finalize(init, new Node.VariableDeclaration(declarations, "var")); - this.expect(";"); - } - } else if (this.matchKeyword("const") || this.matchKeyword("let")) { - init = this.createNode(); - var kind = this.nextToken().value; - if (!this.context.strict && this.lookahead.value === "in") { - init = this.finalize(init, new Node.Identifier(kind)); - this.nextToken(); - left = init; - right = this.parseExpression(); - init = null; - } else { - var previousAllowIn = this.context.allowIn; - this.context.allowIn = false; - var declarations = this.parseBindingList(kind, { inFor: true }); - this.context.allowIn = previousAllowIn; - if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword("in")) { - init = this.finalize(init, new Node.VariableDeclaration(declarations, kind)); - this.nextToken(); - left = init; - right = this.parseExpression(); - init = null; - } else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword("of")) { - init = this.finalize(init, new Node.VariableDeclaration(declarations, kind)); - this.nextToken(); - left = init; - right = this.parseAssignmentExpression(); - init = null; - forIn = false; - } else { - this.consumeSemicolon(); - init = this.finalize(init, new Node.VariableDeclaration(declarations, kind)); - } - } - } else { - var initStartToken = this.lookahead; - var previousAllowIn = this.context.allowIn; - this.context.allowIn = false; - init = this.inheritCoverGrammar(this.parseAssignmentExpression); - this.context.allowIn = previousAllowIn; - if (this.matchKeyword("in")) { - if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) { - this.tolerateError(messages_1.Messages.InvalidLHSInForIn); - } - this.nextToken(); - this.reinterpretExpressionAsPattern(init); - left = init; - right = this.parseExpression(); - init = null; - } else if (this.matchContextualKeyword("of")) { - if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) { - this.tolerateError(messages_1.Messages.InvalidLHSInForLoop); - } - this.nextToken(); - this.reinterpretExpressionAsPattern(init); - left = init; - right = this.parseAssignmentExpression(); - init = null; - forIn = false; - } else { - if (this.match(",")) { - var initSeq = [init]; - while (this.match(",")) { - this.nextToken(); - initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression)); - } - init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq)); - } - this.expect(";"); - } - } - } - if (typeof left === "undefined") { - if (!this.match(";")) { - test = this.parseExpression(); - } - this.expect(";"); - if (!this.match(")")) { - update = this.parseExpression(); - } - } - var body; - if (!this.match(")") && this.config.tolerant) { - this.tolerateUnexpectedToken(this.nextToken()); - body = this.finalize(this.createNode(), new Node.EmptyStatement()); - } else { - this.expect(")"); - var previousInIteration = this.context.inIteration; - this.context.inIteration = true; - body = this.isolateCoverGrammar(this.parseStatement); - this.context.inIteration = previousInIteration; - } - return typeof left === "undefined" ? this.finalize(node, new Node.ForStatement(init, test, update, body)) : forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) : this.finalize(node, new Node.ForOfStatement(left, right, body)); - }; - Parser2.prototype.parseContinueStatement = function() { - var node = this.createNode(); - this.expectKeyword("continue"); - var label = null; - if (this.lookahead.type === 3 && !this.hasLineTerminator) { - var id = this.parseVariableIdentifier(); - label = id; - var key = "$" + id.name; - if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) { - this.throwError(messages_1.Messages.UnknownLabel, id.name); - } - } - this.consumeSemicolon(); - if (label === null && !this.context.inIteration) { - this.throwError(messages_1.Messages.IllegalContinue); - } - return this.finalize(node, new Node.ContinueStatement(label)); - }; - Parser2.prototype.parseBreakStatement = function() { - var node = this.createNode(); - this.expectKeyword("break"); - var label = null; - if (this.lookahead.type === 3 && !this.hasLineTerminator) { - var id = this.parseVariableIdentifier(); - var key = "$" + id.name; - if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) { - this.throwError(messages_1.Messages.UnknownLabel, id.name); - } - label = id; - } - this.consumeSemicolon(); - if (label === null && !this.context.inIteration && !this.context.inSwitch) { - this.throwError(messages_1.Messages.IllegalBreak); - } - return this.finalize(node, new Node.BreakStatement(label)); - }; - Parser2.prototype.parseReturnStatement = function() { - if (!this.context.inFunctionBody) { - this.tolerateError(messages_1.Messages.IllegalReturn); - } - var node = this.createNode(); - this.expectKeyword("return"); - var hasArgument = !this.match(";") && !this.match("}") && !this.hasLineTerminator && this.lookahead.type !== 2 || this.lookahead.type === 8 || this.lookahead.type === 10; - var argument = hasArgument ? this.parseExpression() : null; - this.consumeSemicolon(); - return this.finalize(node, new Node.ReturnStatement(argument)); - }; - Parser2.prototype.parseWithStatement = function() { - if (this.context.strict) { - this.tolerateError(messages_1.Messages.StrictModeWith); - } - var node = this.createNode(); - var body; - this.expectKeyword("with"); - this.expect("("); - var object = this.parseExpression(); - if (!this.match(")") && this.config.tolerant) { - this.tolerateUnexpectedToken(this.nextToken()); - body = this.finalize(this.createNode(), new Node.EmptyStatement()); - } else { - this.expect(")"); - body = this.parseStatement(); - } - return this.finalize(node, new Node.WithStatement(object, body)); - }; - Parser2.prototype.parseSwitchCase = function() { - var node = this.createNode(); - var test; - if (this.matchKeyword("default")) { - this.nextToken(); - test = null; - } else { - this.expectKeyword("case"); - test = this.parseExpression(); - } - this.expect(":"); - var consequent = []; - while (true) { - if (this.match("}") || this.matchKeyword("default") || this.matchKeyword("case")) { - break; - } - consequent.push(this.parseStatementListItem()); - } - return this.finalize(node, new Node.SwitchCase(test, consequent)); - }; - Parser2.prototype.parseSwitchStatement = function() { - var node = this.createNode(); - this.expectKeyword("switch"); - this.expect("("); - var discriminant = this.parseExpression(); - this.expect(")"); - var previousInSwitch = this.context.inSwitch; - this.context.inSwitch = true; - var cases = []; - var defaultFound = false; - this.expect("{"); - while (true) { - if (this.match("}")) { - break; - } - var clause = this.parseSwitchCase(); - if (clause.test === null) { - if (defaultFound) { - this.throwError(messages_1.Messages.MultipleDefaultsInSwitch); - } - defaultFound = true; - } - cases.push(clause); - } - this.expect("}"); - this.context.inSwitch = previousInSwitch; - return this.finalize(node, new Node.SwitchStatement(discriminant, cases)); - }; - Parser2.prototype.parseLabelledStatement = function() { - var node = this.createNode(); - var expr = this.parseExpression(); - var statement; - if (expr.type === syntax_1.Syntax.Identifier && this.match(":")) { - this.nextToken(); - var id = expr; - var key = "$" + id.name; - if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) { - this.throwError(messages_1.Messages.Redeclaration, "Label", id.name); - } - this.context.labelSet[key] = true; - var body = void 0; - if (this.matchKeyword("class")) { - this.tolerateUnexpectedToken(this.lookahead); - body = this.parseClassDeclaration(); - } else if (this.matchKeyword("function")) { - var token = this.lookahead; - var declaration = this.parseFunctionDeclaration(); - if (this.context.strict) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction); - } else if (declaration.generator) { - this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext); - } - body = declaration; - } else { - body = this.parseStatement(); - } - delete this.context.labelSet[key]; - statement = new Node.LabeledStatement(id, body); - } else { - this.consumeSemicolon(); - statement = new Node.ExpressionStatement(expr); - } - return this.finalize(node, statement); - }; - Parser2.prototype.parseThrowStatement = function() { - var node = this.createNode(); - this.expectKeyword("throw"); - if (this.hasLineTerminator) { - this.throwError(messages_1.Messages.NewlineAfterThrow); - } - var argument = this.parseExpression(); - this.consumeSemicolon(); - return this.finalize(node, new Node.ThrowStatement(argument)); - }; - Parser2.prototype.parseCatchClause = function() { - var node = this.createNode(); - this.expectKeyword("catch"); - this.expect("("); - if (this.match(")")) { - this.throwUnexpectedToken(this.lookahead); - } - var params = []; - var param = this.parsePattern(params); - var paramMap = {}; - for (var i = 0; i < params.length; i++) { - var key = "$" + params[i].value; - if (Object.prototype.hasOwnProperty.call(paramMap, key)) { - this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value); - } - paramMap[key] = true; - } - if (this.context.strict && param.type === syntax_1.Syntax.Identifier) { - if (this.scanner.isRestrictedWord(param.name)) { - this.tolerateError(messages_1.Messages.StrictCatchVariable); - } - } - this.expect(")"); - var body = this.parseBlock(); - return this.finalize(node, new Node.CatchClause(param, body)); - }; - Parser2.prototype.parseFinallyClause = function() { - this.expectKeyword("finally"); - return this.parseBlock(); - }; - Parser2.prototype.parseTryStatement = function() { - var node = this.createNode(); - this.expectKeyword("try"); - var block = this.parseBlock(); - var handler = this.matchKeyword("catch") ? this.parseCatchClause() : null; - var finalizer = this.matchKeyword("finally") ? this.parseFinallyClause() : null; - if (!handler && !finalizer) { - this.throwError(messages_1.Messages.NoCatchOrFinally); - } - return this.finalize(node, new Node.TryStatement(block, handler, finalizer)); - }; - Parser2.prototype.parseDebuggerStatement = function() { - var node = this.createNode(); - this.expectKeyword("debugger"); - this.consumeSemicolon(); - return this.finalize(node, new Node.DebuggerStatement()); - }; - Parser2.prototype.parseStatement = function() { - var statement; - switch (this.lookahead.type) { - case 1: - case 5: - case 6: - case 8: - case 10: - case 9: - statement = this.parseExpressionStatement(); - break; - case 7: - var value = this.lookahead.value; - if (value === "{") { - statement = this.parseBlock(); - } else if (value === "(") { - statement = this.parseExpressionStatement(); - } else if (value === ";") { - statement = this.parseEmptyStatement(); - } else { - statement = this.parseExpressionStatement(); - } - break; - case 3: - statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement(); - break; - case 4: - switch (this.lookahead.value) { - case "break": - statement = this.parseBreakStatement(); - break; - case "continue": - statement = this.parseContinueStatement(); - break; - case "debugger": - statement = this.parseDebuggerStatement(); - break; - case "do": - statement = this.parseDoWhileStatement(); - break; - case "for": - statement = this.parseForStatement(); - break; - case "function": - statement = this.parseFunctionDeclaration(); - break; - case "if": - statement = this.parseIfStatement(); - break; - case "return": - statement = this.parseReturnStatement(); - break; - case "switch": - statement = this.parseSwitchStatement(); - break; - case "throw": - statement = this.parseThrowStatement(); - break; - case "try": - statement = this.parseTryStatement(); - break; - case "var": - statement = this.parseVariableStatement(); - break; - case "while": - statement = this.parseWhileStatement(); - break; - case "with": - statement = this.parseWithStatement(); - break; - default: - statement = this.parseExpressionStatement(); - break; - } - break; - default: - statement = this.throwUnexpectedToken(this.lookahead); - } - return statement; - }; - Parser2.prototype.parseFunctionSourceElements = function() { - var node = this.createNode(); - this.expect("{"); - var body = this.parseDirectivePrologues(); - var previousLabelSet = this.context.labelSet; - var previousInIteration = this.context.inIteration; - var previousInSwitch = this.context.inSwitch; - var previousInFunctionBody = this.context.inFunctionBody; - this.context.labelSet = {}; - this.context.inIteration = false; - this.context.inSwitch = false; - this.context.inFunctionBody = true; - while (this.lookahead.type !== 2) { - if (this.match("}")) { - break; - } - body.push(this.parseStatementListItem()); - } - this.expect("}"); - this.context.labelSet = previousLabelSet; - this.context.inIteration = previousInIteration; - this.context.inSwitch = previousInSwitch; - this.context.inFunctionBody = previousInFunctionBody; - return this.finalize(node, new Node.BlockStatement(body)); - }; - Parser2.prototype.validateParam = function(options, param, name) { - var key = "$" + name; - if (this.context.strict) { - if (this.scanner.isRestrictedWord(name)) { - options.stricted = param; - options.message = messages_1.Messages.StrictParamName; - } - if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) { - options.stricted = param; - options.message = messages_1.Messages.StrictParamDupe; - } - } else if (!options.firstRestricted) { - if (this.scanner.isRestrictedWord(name)) { - options.firstRestricted = param; - options.message = messages_1.Messages.StrictParamName; - } else if (this.scanner.isStrictModeReservedWord(name)) { - options.firstRestricted = param; - options.message = messages_1.Messages.StrictReservedWord; - } else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) { - options.stricted = param; - options.message = messages_1.Messages.StrictParamDupe; - } - } - if (typeof Object.defineProperty === "function") { - Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true }); - } else { - options.paramSet[key] = true; - } - }; - Parser2.prototype.parseRestElement = function(params) { - var node = this.createNode(); - this.expect("..."); - var arg = this.parsePattern(params); - if (this.match("=")) { - this.throwError(messages_1.Messages.DefaultRestParameter); - } - if (!this.match(")")) { - this.throwError(messages_1.Messages.ParameterAfterRestParameter); - } - return this.finalize(node, new Node.RestElement(arg)); - }; - Parser2.prototype.parseFormalParameter = function(options) { - var params = []; - var param = this.match("...") ? this.parseRestElement(params) : this.parsePatternWithDefault(params); - for (var i = 0; i < params.length; i++) { - this.validateParam(options, params[i], params[i].value); - } - options.simple = options.simple && param instanceof Node.Identifier; - options.params.push(param); - }; - Parser2.prototype.parseFormalParameters = function(firstRestricted) { - var options; - options = { - simple: true, - params: [], - firstRestricted - }; - this.expect("("); - if (!this.match(")")) { - options.paramSet = {}; - while (this.lookahead.type !== 2) { - this.parseFormalParameter(options); - if (this.match(")")) { - break; - } - this.expect(","); - if (this.match(")")) { - break; - } - } - } - this.expect(")"); - return { - simple: options.simple, - params: options.params, - stricted: options.stricted, - firstRestricted: options.firstRestricted, - message: options.message - }; - }; - Parser2.prototype.matchAsyncFunction = function() { - var match = this.matchContextualKeyword("async"); - if (match) { - var state = this.scanner.saveState(); - this.scanner.scanComments(); - var next = this.scanner.lex(); - this.scanner.restoreState(state); - match = state.lineNumber === next.lineNumber && next.type === 4 && next.value === "function"; - } - return match; - }; - Parser2.prototype.parseFunctionDeclaration = function(identifierIsOptional) { - var node = this.createNode(); - var isAsync = this.matchContextualKeyword("async"); - if (isAsync) { - this.nextToken(); - } - this.expectKeyword("function"); - var isGenerator = isAsync ? false : this.match("*"); - if (isGenerator) { - this.nextToken(); - } - var message; - var id = null; - var firstRestricted = null; - if (!identifierIsOptional || !this.match("(")) { - var token = this.lookahead; - id = this.parseVariableIdentifier(); - if (this.context.strict) { - if (this.scanner.isRestrictedWord(token.value)) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName); - } - } else { - if (this.scanner.isRestrictedWord(token.value)) { - firstRestricted = token; - message = messages_1.Messages.StrictFunctionName; - } else if (this.scanner.isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = messages_1.Messages.StrictReservedWord; - } - } - } - var previousAllowAwait = this.context.await; - var previousAllowYield = this.context.allowYield; - this.context.await = isAsync; - this.context.allowYield = !isGenerator; - var formalParameters = this.parseFormalParameters(firstRestricted); - var params = formalParameters.params; - var stricted = formalParameters.stricted; - firstRestricted = formalParameters.firstRestricted; - if (formalParameters.message) { - message = formalParameters.message; - } - var previousStrict = this.context.strict; - var previousAllowStrictDirective = this.context.allowStrictDirective; - this.context.allowStrictDirective = formalParameters.simple; - var body = this.parseFunctionSourceElements(); - if (this.context.strict && firstRestricted) { - this.throwUnexpectedToken(firstRestricted, message); - } - if (this.context.strict && stricted) { - this.tolerateUnexpectedToken(stricted, message); - } - this.context.strict = previousStrict; - this.context.allowStrictDirective = previousAllowStrictDirective; - this.context.await = previousAllowAwait; - this.context.allowYield = previousAllowYield; - return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) : this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator)); - }; - Parser2.prototype.parseFunctionExpression = function() { - var node = this.createNode(); - var isAsync = this.matchContextualKeyword("async"); - if (isAsync) { - this.nextToken(); - } - this.expectKeyword("function"); - var isGenerator = isAsync ? false : this.match("*"); - if (isGenerator) { - this.nextToken(); - } - var message; - var id = null; - var firstRestricted; - var previousAllowAwait = this.context.await; - var previousAllowYield = this.context.allowYield; - this.context.await = isAsync; - this.context.allowYield = !isGenerator; - if (!this.match("(")) { - var token = this.lookahead; - id = !this.context.strict && !isGenerator && this.matchKeyword("yield") ? this.parseIdentifierName() : this.parseVariableIdentifier(); - if (this.context.strict) { - if (this.scanner.isRestrictedWord(token.value)) { - this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName); - } - } else { - if (this.scanner.isRestrictedWord(token.value)) { - firstRestricted = token; - message = messages_1.Messages.StrictFunctionName; - } else if (this.scanner.isStrictModeReservedWord(token.value)) { - firstRestricted = token; - message = messages_1.Messages.StrictReservedWord; - } - } - } - var formalParameters = this.parseFormalParameters(firstRestricted); - var params = formalParameters.params; - var stricted = formalParameters.stricted; - firstRestricted = formalParameters.firstRestricted; - if (formalParameters.message) { - message = formalParameters.message; - } - var previousStrict = this.context.strict; - var previousAllowStrictDirective = this.context.allowStrictDirective; - this.context.allowStrictDirective = formalParameters.simple; - var body = this.parseFunctionSourceElements(); - if (this.context.strict && firstRestricted) { - this.throwUnexpectedToken(firstRestricted, message); - } - if (this.context.strict && stricted) { - this.tolerateUnexpectedToken(stricted, message); - } - this.context.strict = previousStrict; - this.context.allowStrictDirective = previousAllowStrictDirective; - this.context.await = previousAllowAwait; - this.context.allowYield = previousAllowYield; - return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) : this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator)); - }; - Parser2.prototype.parseDirective = function() { - var token = this.lookahead; - var node = this.createNode(); - var expr = this.parseExpression(); - var directive = expr.type === syntax_1.Syntax.Literal ? this.getTokenRaw(token).slice(1, -1) : null; - this.consumeSemicolon(); - return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr)); - }; - Parser2.prototype.parseDirectivePrologues = function() { - var firstRestricted = null; - var body = []; - while (true) { - var token = this.lookahead; - if (token.type !== 8) { - break; - } - var statement = this.parseDirective(); - body.push(statement); - var directive = statement.directive; - if (typeof directive !== "string") { - break; - } - if (directive === "use strict") { - this.context.strict = true; - if (firstRestricted) { - this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral); - } - if (!this.context.allowStrictDirective) { - this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective); - } - } else { - if (!firstRestricted && token.octal) { - firstRestricted = token; - } - } - } - return body; - }; - Parser2.prototype.qualifiedPropertyName = function(token) { - switch (token.type) { - case 3: - case 8: - case 1: - case 5: - case 6: - case 4: - return true; - case 7: - return token.value === "["; - default: - break; - } - return false; - }; - Parser2.prototype.parseGetterMethod = function() { - var node = this.createNode(); - var isGenerator = false; - var previousAllowYield = this.context.allowYield; - this.context.allowYield = !isGenerator; - var formalParameters = this.parseFormalParameters(); - if (formalParameters.params.length > 0) { - this.tolerateError(messages_1.Messages.BadGetterArity); - } - var method = this.parsePropertyMethod(formalParameters); - this.context.allowYield = previousAllowYield; - return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator)); - }; - Parser2.prototype.parseSetterMethod = function() { - var node = this.createNode(); - var isGenerator = false; - var previousAllowYield = this.context.allowYield; - this.context.allowYield = !isGenerator; - var formalParameters = this.parseFormalParameters(); - if (formalParameters.params.length !== 1) { - this.tolerateError(messages_1.Messages.BadSetterArity); - } else if (formalParameters.params[0] instanceof Node.RestElement) { - this.tolerateError(messages_1.Messages.BadSetterRestParameter); - } - var method = this.parsePropertyMethod(formalParameters); - this.context.allowYield = previousAllowYield; - return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator)); - }; - Parser2.prototype.parseGeneratorMethod = function() { - var node = this.createNode(); - var isGenerator = true; - var previousAllowYield = this.context.allowYield; - this.context.allowYield = true; - var params = this.parseFormalParameters(); - this.context.allowYield = false; - var method = this.parsePropertyMethod(params); - this.context.allowYield = previousAllowYield; - return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator)); - }; - Parser2.prototype.isStartOfExpression = function() { - var start = true; - var value = this.lookahead.value; - switch (this.lookahead.type) { - case 7: - start = value === "[" || value === "(" || value === "{" || value === "+" || value === "-" || value === "!" || value === "~" || value === "++" || value === "--" || value === "/" || value === "/="; - break; - case 4: - start = value === "class" || value === "delete" || value === "function" || value === "let" || value === "new" || value === "super" || value === "this" || value === "typeof" || value === "void" || value === "yield"; - break; - default: - break; - } - return start; - }; - Parser2.prototype.parseYieldExpression = function() { - var node = this.createNode(); - this.expectKeyword("yield"); - var argument = null; - var delegate = false; - if (!this.hasLineTerminator) { - var previousAllowYield = this.context.allowYield; - this.context.allowYield = false; - delegate = this.match("*"); - if (delegate) { - this.nextToken(); - argument = this.parseAssignmentExpression(); - } else if (this.isStartOfExpression()) { - argument = this.parseAssignmentExpression(); - } - this.context.allowYield = previousAllowYield; - } - return this.finalize(node, new Node.YieldExpression(argument, delegate)); - }; - Parser2.prototype.parseClassElement = function(hasConstructor) { - var token = this.lookahead; - var node = this.createNode(); - var kind = ""; - var key = null; - var value = null; - var computed = false; - var method = false; - var isStatic = false; - var isAsync = false; - if (this.match("*")) { - this.nextToken(); - } else { - computed = this.match("["); - key = this.parseObjectPropertyKey(); - var id = key; - if (id.name === "static" && (this.qualifiedPropertyName(this.lookahead) || this.match("*"))) { - token = this.lookahead; - isStatic = true; - computed = this.match("["); - if (this.match("*")) { - this.nextToken(); - } else { - key = this.parseObjectPropertyKey(); - } - } - if (token.type === 3 && !this.hasLineTerminator && token.value === "async") { - var punctuator = this.lookahead.value; - if (punctuator !== ":" && punctuator !== "(" && punctuator !== "*") { - isAsync = true; - token = this.lookahead; - key = this.parseObjectPropertyKey(); - if (token.type === 3 && token.value === "constructor") { - this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync); - } - } - } - } - var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead); - if (token.type === 3) { - if (token.value === "get" && lookaheadPropertyKey) { - kind = "get"; - computed = this.match("["); - key = this.parseObjectPropertyKey(); - this.context.allowYield = false; - value = this.parseGetterMethod(); - } else if (token.value === "set" && lookaheadPropertyKey) { - kind = "set"; - computed = this.match("["); - key = this.parseObjectPropertyKey(); - value = this.parseSetterMethod(); - } - } else if (token.type === 7 && token.value === "*" && lookaheadPropertyKey) { - kind = "init"; - computed = this.match("["); - key = this.parseObjectPropertyKey(); - value = this.parseGeneratorMethod(); - method = true; - } - if (!kind && key && this.match("(")) { - kind = "init"; - value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction(); - method = true; - } - if (!kind) { - this.throwUnexpectedToken(this.lookahead); - } - if (kind === "init") { - kind = "method"; - } - if (!computed) { - if (isStatic && this.isPropertyKey(key, "prototype")) { - this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype); - } - if (!isStatic && this.isPropertyKey(key, "constructor")) { - if (kind !== "method" || !method || value && value.generator) { - this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod); - } - if (hasConstructor.value) { - this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor); - } else { - hasConstructor.value = true; - } - kind = "constructor"; - } - } - return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic)); - }; - Parser2.prototype.parseClassElementList = function() { - var body = []; - var hasConstructor = { value: false }; - this.expect("{"); - while (!this.match("}")) { - if (this.match(";")) { - this.nextToken(); - } else { - body.push(this.parseClassElement(hasConstructor)); - } - } - this.expect("}"); - return body; - }; - Parser2.prototype.parseClassBody = function() { - var node = this.createNode(); - var elementList = this.parseClassElementList(); - return this.finalize(node, new Node.ClassBody(elementList)); - }; - Parser2.prototype.parseClassDeclaration = function(identifierIsOptional) { - var node = this.createNode(); - var previousStrict = this.context.strict; - this.context.strict = true; - this.expectKeyword("class"); - var id = identifierIsOptional && this.lookahead.type !== 3 ? null : this.parseVariableIdentifier(); - var superClass = null; - if (this.matchKeyword("extends")) { - this.nextToken(); - superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall); - } - var classBody = this.parseClassBody(); - this.context.strict = previousStrict; - return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody)); - }; - Parser2.prototype.parseClassExpression = function() { - var node = this.createNode(); - var previousStrict = this.context.strict; - this.context.strict = true; - this.expectKeyword("class"); - var id = this.lookahead.type === 3 ? this.parseVariableIdentifier() : null; - var superClass = null; - if (this.matchKeyword("extends")) { - this.nextToken(); - superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall); - } - var classBody = this.parseClassBody(); - this.context.strict = previousStrict; - return this.finalize(node, new Node.ClassExpression(id, superClass, classBody)); - }; - Parser2.prototype.parseModule = function() { - this.context.strict = true; - this.context.isModule = true; - this.scanner.isModule = true; - var node = this.createNode(); - var body = this.parseDirectivePrologues(); - while (this.lookahead.type !== 2) { - body.push(this.parseStatementListItem()); - } - return this.finalize(node, new Node.Module(body)); - }; - Parser2.prototype.parseScript = function() { - var node = this.createNode(); - var body = this.parseDirectivePrologues(); - while (this.lookahead.type !== 2) { - body.push(this.parseStatementListItem()); - } - return this.finalize(node, new Node.Script(body)); - }; - Parser2.prototype.parseModuleSpecifier = function() { - var node = this.createNode(); - if (this.lookahead.type !== 8) { - this.throwError(messages_1.Messages.InvalidModuleSpecifier); - } - var token = this.nextToken(); - var raw = this.getTokenRaw(token); - return this.finalize(node, new Node.Literal(token.value, raw)); - }; - Parser2.prototype.parseImportSpecifier = function() { - var node = this.createNode(); - var imported; - var local; - if (this.lookahead.type === 3) { - imported = this.parseVariableIdentifier(); - local = imported; - if (this.matchContextualKeyword("as")) { - this.nextToken(); - local = this.parseVariableIdentifier(); - } - } else { - imported = this.parseIdentifierName(); - local = imported; - if (this.matchContextualKeyword("as")) { - this.nextToken(); - local = this.parseVariableIdentifier(); - } else { - this.throwUnexpectedToken(this.nextToken()); - } - } - return this.finalize(node, new Node.ImportSpecifier(local, imported)); - }; - Parser2.prototype.parseNamedImports = function() { - this.expect("{"); - var specifiers = []; - while (!this.match("}")) { - specifiers.push(this.parseImportSpecifier()); - if (!this.match("}")) { - this.expect(","); - } - } - this.expect("}"); - return specifiers; - }; - Parser2.prototype.parseImportDefaultSpecifier = function() { - var node = this.createNode(); - var local = this.parseIdentifierName(); - return this.finalize(node, new Node.ImportDefaultSpecifier(local)); - }; - Parser2.prototype.parseImportNamespaceSpecifier = function() { - var node = this.createNode(); - this.expect("*"); - if (!this.matchContextualKeyword("as")) { - this.throwError(messages_1.Messages.NoAsAfterImportNamespace); - } - this.nextToken(); - var local = this.parseIdentifierName(); - return this.finalize(node, new Node.ImportNamespaceSpecifier(local)); - }; - Parser2.prototype.parseImportDeclaration = function() { - if (this.context.inFunctionBody) { - this.throwError(messages_1.Messages.IllegalImportDeclaration); - } - var node = this.createNode(); - this.expectKeyword("import"); - var src; - var specifiers = []; - if (this.lookahead.type === 8) { - src = this.parseModuleSpecifier(); - } else { - if (this.match("{")) { - specifiers = specifiers.concat(this.parseNamedImports()); - } else if (this.match("*")) { - specifiers.push(this.parseImportNamespaceSpecifier()); - } else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword("default")) { - specifiers.push(this.parseImportDefaultSpecifier()); - if (this.match(",")) { - this.nextToken(); - if (this.match("*")) { - specifiers.push(this.parseImportNamespaceSpecifier()); - } else if (this.match("{")) { - specifiers = specifiers.concat(this.parseNamedImports()); - } else { - this.throwUnexpectedToken(this.lookahead); - } - } - } else { - this.throwUnexpectedToken(this.nextToken()); - } - if (!this.matchContextualKeyword("from")) { - var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause; - this.throwError(message, this.lookahead.value); - } - this.nextToken(); - src = this.parseModuleSpecifier(); - } - this.consumeSemicolon(); - return this.finalize(node, new Node.ImportDeclaration(specifiers, src)); - }; - Parser2.prototype.parseExportSpecifier = function() { - var node = this.createNode(); - var local = this.parseIdentifierName(); - var exported = local; - if (this.matchContextualKeyword("as")) { - this.nextToken(); - exported = this.parseIdentifierName(); - } - return this.finalize(node, new Node.ExportSpecifier(local, exported)); - }; - Parser2.prototype.parseExportDeclaration = function() { - if (this.context.inFunctionBody) { - this.throwError(messages_1.Messages.IllegalExportDeclaration); - } - var node = this.createNode(); - this.expectKeyword("export"); - var exportDeclaration; - if (this.matchKeyword("default")) { - this.nextToken(); - if (this.matchKeyword("function")) { - var declaration = this.parseFunctionDeclaration(true); - exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); - } else if (this.matchKeyword("class")) { - var declaration = this.parseClassDeclaration(true); - exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); - } else if (this.matchContextualKeyword("async")) { - var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression(); - exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); - } else { - if (this.matchContextualKeyword("from")) { - this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value); - } - var declaration = this.match("{") ? this.parseObjectInitializer() : this.match("[") ? this.parseArrayInitializer() : this.parseAssignmentExpression(); - this.consumeSemicolon(); - exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); - } - } else if (this.match("*")) { - this.nextToken(); - if (!this.matchContextualKeyword("from")) { - var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause; - this.throwError(message, this.lookahead.value); - } - this.nextToken(); - var src = this.parseModuleSpecifier(); - this.consumeSemicolon(); - exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src)); - } else if (this.lookahead.type === 4) { - var declaration = void 0; - switch (this.lookahead.value) { - case "let": - case "const": - declaration = this.parseLexicalDeclaration({ inFor: false }); - break; - case "var": - case "class": - case "function": - declaration = this.parseStatementListItem(); - break; - default: - this.throwUnexpectedToken(this.lookahead); - } - exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null)); - } else if (this.matchAsyncFunction()) { - var declaration = this.parseFunctionDeclaration(); - exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null)); - } else { - var specifiers = []; - var source = null; - var isExportFromIdentifier = false; - this.expect("{"); - while (!this.match("}")) { - isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword("default"); - specifiers.push(this.parseExportSpecifier()); - if (!this.match("}")) { - this.expect(","); - } - } - this.expect("}"); - if (this.matchContextualKeyword("from")) { - this.nextToken(); - source = this.parseModuleSpecifier(); - this.consumeSemicolon(); - } else if (isExportFromIdentifier) { - var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause; - this.throwError(message, this.lookahead.value); - } else { - this.consumeSemicolon(); - } - exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source)); - } - return exportDeclaration; - }; - return Parser2; - }(); - exports2.Parser = Parser; - }, - /* 9 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - function assert2(condition, message) { - if (!condition) { - throw new Error("ASSERT: " + message); - } - } - exports2.assert = assert2; - }, - /* 10 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var ErrorHandler = function() { - function ErrorHandler2() { - this.errors = []; - this.tolerant = false; - } - ErrorHandler2.prototype.recordError = function(error) { - this.errors.push(error); - }; - ErrorHandler2.prototype.tolerate = function(error) { - if (this.tolerant) { - this.recordError(error); - } else { - throw error; - } - }; - ErrorHandler2.prototype.constructError = function(msg, column) { - var error = new Error(msg); - try { - throw error; - } catch (base) { - if (Object.create && Object.defineProperty) { - error = Object.create(base); - Object.defineProperty(error, "column", { value: column }); - } - } - return error; - }; - ErrorHandler2.prototype.createError = function(index, line, col, description) { - var msg = "Line " + line + ": " + description; - var error = this.constructError(msg, col); - error.index = index; - error.lineNumber = line; - error.description = description; - return error; - }; - ErrorHandler2.prototype.throwError = function(index, line, col, description) { - throw this.createError(index, line, col, description); - }; - ErrorHandler2.prototype.tolerateError = function(index, line, col, description) { - var error = this.createError(index, line, col, description); - if (this.tolerant) { - this.recordError(error); - } else { - throw error; - } - }; - return ErrorHandler2; - }(); - exports2.ErrorHandler = ErrorHandler; - }, - /* 11 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Messages = { - BadGetterArity: "Getter must not have any formal parameters", - BadSetterArity: "Setter must have exactly one formal parameter", - BadSetterRestParameter: "Setter function argument must not be a rest parameter", - ConstructorIsAsync: "Class constructor may not be an async method", - ConstructorSpecialMethod: "Class constructor may not be an accessor", - DeclarationMissingInitializer: "Missing initializer in %0 declaration", - DefaultRestParameter: "Unexpected token =", - DuplicateBinding: "Duplicate binding %0", - DuplicateConstructor: "A class may only have one constructor", - DuplicateProtoProperty: "Duplicate __proto__ fields are not allowed in object literals", - ForInOfLoopInitializer: "%0 loop variable declaration may not have an initializer", - GeneratorInLegacyContext: "Generator declarations are not allowed in legacy contexts", - IllegalBreak: "Illegal break statement", - IllegalContinue: "Illegal continue statement", - IllegalExportDeclaration: "Unexpected token", - IllegalImportDeclaration: "Unexpected token", - IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list", - IllegalReturn: "Illegal return statement", - InvalidEscapedReservedWord: "Keyword must not contain escaped characters", - InvalidHexEscapeSequence: "Invalid hexadecimal escape sequence", - InvalidLHSInAssignment: "Invalid left-hand side in assignment", - InvalidLHSInForIn: "Invalid left-hand side in for-in", - InvalidLHSInForLoop: "Invalid left-hand side in for-loop", - InvalidModuleSpecifier: "Unexpected token", - InvalidRegExp: "Invalid regular expression", - LetInLexicalBinding: "let is disallowed as a lexically bound name", - MissingFromClause: "Unexpected token", - MultipleDefaultsInSwitch: "More than one default clause in switch statement", - NewlineAfterThrow: "Illegal newline after throw", - NoAsAfterImportNamespace: "Unexpected token", - NoCatchOrFinally: "Missing catch or finally after try", - ParameterAfterRestParameter: "Rest parameter must be last formal parameter", - Redeclaration: "%0 '%1' has already been declared", - StaticPrototype: "Classes may not have static property named prototype", - StrictCatchVariable: "Catch variable may not be eval or arguments in strict mode", - StrictDelete: "Delete of an unqualified identifier in strict mode.", - StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block", - StrictFunctionName: "Function name may not be eval or arguments in strict mode", - StrictLHSAssignment: "Assignment to eval or arguments is not allowed in strict mode", - StrictLHSPostfix: "Postfix increment/decrement may not have eval or arguments operand in strict mode", - StrictLHSPrefix: "Prefix increment/decrement may not have eval or arguments operand in strict mode", - StrictModeWith: "Strict mode code may not include a with statement", - StrictOctalLiteral: "Octal literals are not allowed in strict mode.", - StrictParamDupe: "Strict mode function may not have duplicate parameter names", - StrictParamName: "Parameter name eval or arguments is not allowed in strict mode", - StrictReservedWord: "Use of future reserved word in strict mode", - StrictVarName: "Variable name may not be eval or arguments in strict mode", - TemplateOctalLiteral: "Octal literals are not allowed in template strings.", - UnexpectedEOS: "Unexpected end of input", - UnexpectedIdentifier: "Unexpected identifier", - UnexpectedNumber: "Unexpected number", - UnexpectedReserved: "Unexpected reserved word", - UnexpectedString: "Unexpected string", - UnexpectedTemplate: "Unexpected quasi %0", - UnexpectedToken: "Unexpected token %0", - UnexpectedTokenIllegal: "Unexpected token ILLEGAL", - UnknownLabel: "Undefined label '%0'", - UnterminatedRegExp: "Invalid regular expression: missing /" - }; - }, - /* 12 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var assert_1 = __webpack_require__(9); - var character_1 = __webpack_require__(4); - var messages_1 = __webpack_require__(11); - function hexValue(ch) { - return "0123456789abcdef".indexOf(ch.toLowerCase()); - } - function octalValue(ch) { - return "01234567".indexOf(ch); - } - var Scanner = function() { - function Scanner2(code, handler) { - this.source = code; - this.errorHandler = handler; - this.trackComment = false; - this.isModule = false; - this.length = code.length; - this.index = 0; - this.lineNumber = code.length > 0 ? 1 : 0; - this.lineStart = 0; - this.curlyStack = []; - } - Scanner2.prototype.saveState = function() { - return { - index: this.index, - lineNumber: this.lineNumber, - lineStart: this.lineStart - }; - }; - Scanner2.prototype.restoreState = function(state) { - this.index = state.index; - this.lineNumber = state.lineNumber; - this.lineStart = state.lineStart; - }; - Scanner2.prototype.eof = function() { - return this.index >= this.length; - }; - Scanner2.prototype.throwUnexpectedToken = function(message) { - if (message === void 0) { - message = messages_1.Messages.UnexpectedTokenIllegal; - } - return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message); - }; - Scanner2.prototype.tolerateUnexpectedToken = function(message) { - if (message === void 0) { - message = messages_1.Messages.UnexpectedTokenIllegal; - } - this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message); - }; - Scanner2.prototype.skipSingleLineComment = function(offset) { - var comments = []; - var start, loc; - if (this.trackComment) { - comments = []; - start = this.index - offset; - loc = { - start: { - line: this.lineNumber, - column: this.index - this.lineStart - offset - }, - end: {} - }; - } - while (!this.eof()) { - var ch = this.source.charCodeAt(this.index); - ++this.index; - if (character_1.Character.isLineTerminator(ch)) { - if (this.trackComment) { - loc.end = { - line: this.lineNumber, - column: this.index - this.lineStart - 1 - }; - var entry = { - multiLine: false, - slice: [start + offset, this.index - 1], - range: [start, this.index - 1], - loc - }; - comments.push(entry); - } - if (ch === 13 && this.source.charCodeAt(this.index) === 10) { - ++this.index; - } - ++this.lineNumber; - this.lineStart = this.index; - return comments; - } - } - if (this.trackComment) { - loc.end = { - line: this.lineNumber, - column: this.index - this.lineStart - }; - var entry = { - multiLine: false, - slice: [start + offset, this.index], - range: [start, this.index], - loc - }; - comments.push(entry); - } - return comments; - }; - Scanner2.prototype.skipMultiLineComment = function() { - var comments = []; - var start, loc; - if (this.trackComment) { - comments = []; - start = this.index - 2; - loc = { - start: { - line: this.lineNumber, - column: this.index - this.lineStart - 2 - }, - end: {} - }; - } - while (!this.eof()) { - var ch = this.source.charCodeAt(this.index); - if (character_1.Character.isLineTerminator(ch)) { - if (ch === 13 && this.source.charCodeAt(this.index + 1) === 10) { - ++this.index; - } - ++this.lineNumber; - ++this.index; - this.lineStart = this.index; - } else if (ch === 42) { - if (this.source.charCodeAt(this.index + 1) === 47) { - this.index += 2; - if (this.trackComment) { - loc.end = { - line: this.lineNumber, - column: this.index - this.lineStart - }; - var entry = { - multiLine: true, - slice: [start + 2, this.index - 2], - range: [start, this.index], - loc - }; - comments.push(entry); - } - return comments; - } - ++this.index; - } else { - ++this.index; - } - } - if (this.trackComment) { - loc.end = { - line: this.lineNumber, - column: this.index - this.lineStart - }; - var entry = { - multiLine: true, - slice: [start + 2, this.index], - range: [start, this.index], - loc - }; - comments.push(entry); - } - this.tolerateUnexpectedToken(); - return comments; - }; - Scanner2.prototype.scanComments = function() { - var comments; - if (this.trackComment) { - comments = []; - } - var start = this.index === 0; - while (!this.eof()) { - var ch = this.source.charCodeAt(this.index); - if (character_1.Character.isWhiteSpace(ch)) { - ++this.index; - } else if (character_1.Character.isLineTerminator(ch)) { - ++this.index; - if (ch === 13 && this.source.charCodeAt(this.index) === 10) { - ++this.index; - } - ++this.lineNumber; - this.lineStart = this.index; - start = true; - } else if (ch === 47) { - ch = this.source.charCodeAt(this.index + 1); - if (ch === 47) { - this.index += 2; - var comment = this.skipSingleLineComment(2); - if (this.trackComment) { - comments = comments.concat(comment); - } - start = true; - } else if (ch === 42) { - this.index += 2; - var comment = this.skipMultiLineComment(); - if (this.trackComment) { - comments = comments.concat(comment); - } - } else { - break; - } - } else if (start && ch === 45) { - if (this.source.charCodeAt(this.index + 1) === 45 && this.source.charCodeAt(this.index + 2) === 62) { - this.index += 3; - var comment = this.skipSingleLineComment(3); - if (this.trackComment) { - comments = comments.concat(comment); - } - } else { - break; - } - } else if (ch === 60 && !this.isModule) { - if (this.source.slice(this.index + 1, this.index + 4) === "!--") { - this.index += 4; - var comment = this.skipSingleLineComment(4); - if (this.trackComment) { - comments = comments.concat(comment); - } - } else { - break; - } - } else { - break; - } - } - return comments; - }; - Scanner2.prototype.isFutureReservedWord = function(id) { - switch (id) { - case "enum": - case "export": - case "import": - case "super": - return true; - default: - return false; - } - }; - Scanner2.prototype.isStrictModeReservedWord = function(id) { - switch (id) { - case "implements": - case "interface": - case "package": - case "private": - case "protected": - case "public": - case "static": - case "yield": - case "let": - return true; - default: - return false; - } - }; - Scanner2.prototype.isRestrictedWord = function(id) { - return id === "eval" || id === "arguments"; - }; - Scanner2.prototype.isKeyword = function(id) { - switch (id.length) { - case 2: - return id === "if" || id === "in" || id === "do"; - case 3: - return id === "var" || id === "for" || id === "new" || id === "try" || id === "let"; - case 4: - return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum"; - case 5: - return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super"; - case 6: - return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import"; - case 7: - return id === "default" || id === "finally" || id === "extends"; - case 8: - return id === "function" || id === "continue" || id === "debugger"; - case 10: - return id === "instanceof"; - default: - return false; - } - }; - Scanner2.prototype.codePointAt = function(i) { - var cp = this.source.charCodeAt(i); - if (cp >= 55296 && cp <= 56319) { - var second = this.source.charCodeAt(i + 1); - if (second >= 56320 && second <= 57343) { - var first = cp; - cp = (first - 55296) * 1024 + second - 56320 + 65536; - } - } - return cp; - }; - Scanner2.prototype.scanHexEscape = function(prefix) { - var len = prefix === "u" ? 4 : 2; - var code = 0; - for (var i = 0; i < len; ++i) { - if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) { - code = code * 16 + hexValue(this.source[this.index++]); - } else { - return null; - } - } - return String.fromCharCode(code); - }; - Scanner2.prototype.scanUnicodeCodePointEscape = function() { - var ch = this.source[this.index]; - var code = 0; - if (ch === "}") { - this.throwUnexpectedToken(); - } - while (!this.eof()) { - ch = this.source[this.index++]; - if (!character_1.Character.isHexDigit(ch.charCodeAt(0))) { - break; - } - code = code * 16 + hexValue(ch); - } - if (code > 1114111 || ch !== "}") { - this.throwUnexpectedToken(); - } - return character_1.Character.fromCodePoint(code); - }; - Scanner2.prototype.getIdentifier = function() { - var start = this.index++; - while (!this.eof()) { - var ch = this.source.charCodeAt(this.index); - if (ch === 92) { - this.index = start; - return this.getComplexIdentifier(); - } else if (ch >= 55296 && ch < 57343) { - this.index = start; - return this.getComplexIdentifier(); - } - if (character_1.Character.isIdentifierPart(ch)) { - ++this.index; - } else { - break; - } - } - return this.source.slice(start, this.index); - }; - Scanner2.prototype.getComplexIdentifier = function() { - var cp = this.codePointAt(this.index); - var id = character_1.Character.fromCodePoint(cp); - this.index += id.length; - var ch; - if (cp === 92) { - if (this.source.charCodeAt(this.index) !== 117) { - this.throwUnexpectedToken(); - } - ++this.index; - if (this.source[this.index] === "{") { - ++this.index; - ch = this.scanUnicodeCodePointEscape(); - } else { - ch = this.scanHexEscape("u"); - if (ch === null || ch === "\\" || !character_1.Character.isIdentifierStart(ch.charCodeAt(0))) { - this.throwUnexpectedToken(); - } - } - id = ch; - } - while (!this.eof()) { - cp = this.codePointAt(this.index); - if (!character_1.Character.isIdentifierPart(cp)) { - break; - } - ch = character_1.Character.fromCodePoint(cp); - id += ch; - this.index += ch.length; - if (cp === 92) { - id = id.substr(0, id.length - 1); - if (this.source.charCodeAt(this.index) !== 117) { - this.throwUnexpectedToken(); - } - ++this.index; - if (this.source[this.index] === "{") { - ++this.index; - ch = this.scanUnicodeCodePointEscape(); - } else { - ch = this.scanHexEscape("u"); - if (ch === null || ch === "\\" || !character_1.Character.isIdentifierPart(ch.charCodeAt(0))) { - this.throwUnexpectedToken(); - } - } - id += ch; - } - } - return id; - }; - Scanner2.prototype.octalToDecimal = function(ch) { - var octal = ch !== "0"; - var code = octalValue(ch); - if (!this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) { - octal = true; - code = code * 8 + octalValue(this.source[this.index++]); - if ("0123".indexOf(ch) >= 0 && !this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) { - code = code * 8 + octalValue(this.source[this.index++]); - } - } - return { - code, - octal - }; - }; - Scanner2.prototype.scanIdentifier = function() { - var type; - var start = this.index; - var id = this.source.charCodeAt(start) === 92 ? this.getComplexIdentifier() : this.getIdentifier(); - if (id.length === 1) { - type = 3; - } else if (this.isKeyword(id)) { - type = 4; - } else if (id === "null") { - type = 5; - } else if (id === "true" || id === "false") { - type = 1; - } else { - type = 3; - } - if (type !== 3 && start + id.length !== this.index) { - var restore = this.index; - this.index = start; - this.tolerateUnexpectedToken(messages_1.Messages.InvalidEscapedReservedWord); - this.index = restore; - } - return { - type, - value: id, - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.scanPunctuator = function() { - var start = this.index; - var str = this.source[this.index]; - switch (str) { - case "(": - case "{": - if (str === "{") { - this.curlyStack.push("{"); - } - ++this.index; - break; - case ".": - ++this.index; - if (this.source[this.index] === "." && this.source[this.index + 1] === ".") { - this.index += 2; - str = "..."; - } - break; - case "}": - ++this.index; - this.curlyStack.pop(); - break; - case ")": - case ";": - case ",": - case "[": - case "]": - case ":": - case "?": - case "~": - ++this.index; - break; - default: - str = this.source.substr(this.index, 4); - if (str === ">>>=") { - this.index += 4; - } else { - str = str.substr(0, 3); - if (str === "===" || str === "!==" || str === ">>>" || str === "<<=" || str === ">>=" || str === "**=") { - this.index += 3; - } else { - str = str.substr(0, 2); - if (str === "&&" || str === "||" || str === "==" || str === "!=" || str === "+=" || str === "-=" || str === "*=" || str === "/=" || str === "++" || str === "--" || str === "<<" || str === ">>" || str === "&=" || str === "|=" || str === "^=" || str === "%=" || str === "<=" || str === ">=" || str === "=>" || str === "**") { - this.index += 2; - } else { - str = this.source[this.index]; - if ("<>=!+-*%&|^/".indexOf(str) >= 0) { - ++this.index; - } - } - } - } - } - if (this.index === start) { - this.throwUnexpectedToken(); - } - return { - type: 7, - value: str, - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.scanHexLiteral = function(start) { - var num = ""; - while (!this.eof()) { - if (!character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) { - break; - } - num += this.source[this.index++]; - } - if (num.length === 0) { - this.throwUnexpectedToken(); - } - if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) { - this.throwUnexpectedToken(); - } - return { - type: 6, - value: parseInt("0x" + num, 16), - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.scanBinaryLiteral = function(start) { - var num = ""; - var ch; - while (!this.eof()) { - ch = this.source[this.index]; - if (ch !== "0" && ch !== "1") { - break; - } - num += this.source[this.index++]; - } - if (num.length === 0) { - this.throwUnexpectedToken(); - } - if (!this.eof()) { - ch = this.source.charCodeAt(this.index); - if (character_1.Character.isIdentifierStart(ch) || character_1.Character.isDecimalDigit(ch)) { - this.throwUnexpectedToken(); - } - } - return { - type: 6, - value: parseInt(num, 2), - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.scanOctalLiteral = function(prefix, start) { - var num = ""; - var octal = false; - if (character_1.Character.isOctalDigit(prefix.charCodeAt(0))) { - octal = true; - num = "0" + this.source[this.index++]; - } else { - ++this.index; - } - while (!this.eof()) { - if (!character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) { - break; - } - num += this.source[this.index++]; - } - if (!octal && num.length === 0) { - this.throwUnexpectedToken(); - } - if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index)) || character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { - this.throwUnexpectedToken(); - } - return { - type: 6, - value: parseInt(num, 8), - octal, - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.isImplicitOctalLiteral = function() { - for (var i = this.index + 1; i < this.length; ++i) { - var ch = this.source[i]; - if (ch === "8" || ch === "9") { - return false; - } - if (!character_1.Character.isOctalDigit(ch.charCodeAt(0))) { - return true; - } - } - return true; - }; - Scanner2.prototype.scanNumericLiteral = function() { - var start = this.index; - var ch = this.source[start]; - assert_1.assert(character_1.Character.isDecimalDigit(ch.charCodeAt(0)) || ch === ".", "Numeric literal must start with a decimal digit or a decimal point"); - var num = ""; - if (ch !== ".") { - num = this.source[this.index++]; - ch = this.source[this.index]; - if (num === "0") { - if (ch === "x" || ch === "X") { - ++this.index; - return this.scanHexLiteral(start); - } - if (ch === "b" || ch === "B") { - ++this.index; - return this.scanBinaryLiteral(start); - } - if (ch === "o" || ch === "O") { - return this.scanOctalLiteral(ch, start); - } - if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) { - if (this.isImplicitOctalLiteral()) { - return this.scanOctalLiteral(ch, start); - } - } - } - while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { - num += this.source[this.index++]; - } - ch = this.source[this.index]; - } - if (ch === ".") { - num += this.source[this.index++]; - while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { - num += this.source[this.index++]; - } - ch = this.source[this.index]; - } - if (ch === "e" || ch === "E") { - num += this.source[this.index++]; - ch = this.source[this.index]; - if (ch === "+" || ch === "-") { - num += this.source[this.index++]; - } - if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { - while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { - num += this.source[this.index++]; - } - } else { - this.throwUnexpectedToken(); - } - } - if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) { - this.throwUnexpectedToken(); - } - return { - type: 6, - value: parseFloat(num), - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.scanStringLiteral = function() { - var start = this.index; - var quote = this.source[start]; - assert_1.assert(quote === "'" || quote === '"', "String literal must starts with a quote"); - ++this.index; - var octal = false; - var str = ""; - while (!this.eof()) { - var ch = this.source[this.index++]; - if (ch === quote) { - quote = ""; - break; - } else if (ch === "\\") { - ch = this.source[this.index++]; - if (!ch || !character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - switch (ch) { - case "u": - if (this.source[this.index] === "{") { - ++this.index; - str += this.scanUnicodeCodePointEscape(); - } else { - var unescaped_1 = this.scanHexEscape(ch); - if (unescaped_1 === null) { - this.throwUnexpectedToken(); - } - str += unescaped_1; - } - break; - case "x": - var unescaped = this.scanHexEscape(ch); - if (unescaped === null) { - this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence); - } - str += unescaped; - break; - case "n": - str += "\n"; - break; - case "r": - str += "\r"; - break; - case "t": - str += " "; - break; - case "b": - str += "\b"; - break; - case "f": - str += "\f"; - break; - case "v": - str += "\v"; - break; - case "8": - case "9": - str += ch; - this.tolerateUnexpectedToken(); - break; - default: - if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) { - var octToDec = this.octalToDecimal(ch); - octal = octToDec.octal || octal; - str += String.fromCharCode(octToDec.code); - } else { - str += ch; - } - break; - } - } else { - ++this.lineNumber; - if (ch === "\r" && this.source[this.index] === "\n") { - ++this.index; - } - this.lineStart = this.index; - } - } else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - break; - } else { - str += ch; - } - } - if (quote !== "") { - this.index = start; - this.throwUnexpectedToken(); - } - return { - type: 8, - value: str, - octal, - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.scanTemplate = function() { - var cooked = ""; - var terminated = false; - var start = this.index; - var head = this.source[start] === "`"; - var tail = false; - var rawOffset = 2; - ++this.index; - while (!this.eof()) { - var ch = this.source[this.index++]; - if (ch === "`") { - rawOffset = 1; - tail = true; - terminated = true; - break; - } else if (ch === "$") { - if (this.source[this.index] === "{") { - this.curlyStack.push("${"); - ++this.index; - terminated = true; - break; - } - cooked += ch; - } else if (ch === "\\") { - ch = this.source[this.index++]; - if (!character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - switch (ch) { - case "n": - cooked += "\n"; - break; - case "r": - cooked += "\r"; - break; - case "t": - cooked += " "; - break; - case "u": - if (this.source[this.index] === "{") { - ++this.index; - cooked += this.scanUnicodeCodePointEscape(); - } else { - var restore = this.index; - var unescaped_2 = this.scanHexEscape(ch); - if (unescaped_2 !== null) { - cooked += unescaped_2; - } else { - this.index = restore; - cooked += ch; - } - } - break; - case "x": - var unescaped = this.scanHexEscape(ch); - if (unescaped === null) { - this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence); - } - cooked += unescaped; - break; - case "b": - cooked += "\b"; - break; - case "f": - cooked += "\f"; - break; - case "v": - cooked += "\v"; - break; - default: - if (ch === "0") { - if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { - this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral); - } - cooked += "\0"; - } else if (character_1.Character.isOctalDigit(ch.charCodeAt(0))) { - this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral); - } else { - cooked += ch; - } - break; - } - } else { - ++this.lineNumber; - if (ch === "\r" && this.source[this.index] === "\n") { - ++this.index; - } - this.lineStart = this.index; - } - } else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - ++this.lineNumber; - if (ch === "\r" && this.source[this.index] === "\n") { - ++this.index; - } - this.lineStart = this.index; - cooked += "\n"; - } else { - cooked += ch; - } - } - if (!terminated) { - this.throwUnexpectedToken(); - } - if (!head) { - this.curlyStack.pop(); - } - return { - type: 10, - value: this.source.slice(start + 1, this.index - rawOffset), - cooked, - head, - tail, - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.testRegExp = function(pattern, flags) { - var astralSubstitute = "\uFFFF"; - var tmp = pattern; - var self2 = this; - if (flags.indexOf("u") >= 0) { - tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g, function($0, $1, $2) { - var codePoint = parseInt($1 || $2, 16); - if (codePoint > 1114111) { - self2.throwUnexpectedToken(messages_1.Messages.InvalidRegExp); - } - if (codePoint <= 65535) { - return String.fromCharCode(codePoint); - } - return astralSubstitute; - }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, astralSubstitute); - } - try { - RegExp(tmp); - } catch (e) { - this.throwUnexpectedToken(messages_1.Messages.InvalidRegExp); - } - try { - return new RegExp(pattern, flags); - } catch (exception) { - return null; - } - }; - Scanner2.prototype.scanRegExpBody = function() { - var ch = this.source[this.index]; - assert_1.assert(ch === "/", "Regular expression literal must start with a slash"); - var str = this.source[this.index++]; - var classMarker = false; - var terminated = false; - while (!this.eof()) { - ch = this.source[this.index++]; - str += ch; - if (ch === "\\") { - ch = this.source[this.index++]; - if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp); - } - str += ch; - } else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { - this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp); - } else if (classMarker) { - if (ch === "]") { - classMarker = false; - } - } else { - if (ch === "/") { - terminated = true; - break; - } else if (ch === "[") { - classMarker = true; - } - } - } - if (!terminated) { - this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp); - } - return str.substr(1, str.length - 2); - }; - Scanner2.prototype.scanRegExpFlags = function() { - var str = ""; - var flags = ""; - while (!this.eof()) { - var ch = this.source[this.index]; - if (!character_1.Character.isIdentifierPart(ch.charCodeAt(0))) { - break; - } - ++this.index; - if (ch === "\\" && !this.eof()) { - ch = this.source[this.index]; - if (ch === "u") { - ++this.index; - var restore = this.index; - var char = this.scanHexEscape("u"); - if (char !== null) { - flags += char; - for (str += "\\u"; restore < this.index; ++restore) { - str += this.source[restore]; - } - } else { - this.index = restore; - flags += "u"; - str += "\\u"; - } - this.tolerateUnexpectedToken(); - } else { - str += "\\"; - this.tolerateUnexpectedToken(); - } - } else { - flags += ch; - str += ch; - } - } - return flags; - }; - Scanner2.prototype.scanRegExp = function() { - var start = this.index; - var pattern = this.scanRegExpBody(); - var flags = this.scanRegExpFlags(); - var value = this.testRegExp(pattern, flags); - return { - type: 9, - value: "", - pattern, - flags, - regex: value, - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start, - end: this.index - }; - }; - Scanner2.prototype.lex = function() { - if (this.eof()) { - return { - type: 2, - value: "", - lineNumber: this.lineNumber, - lineStart: this.lineStart, - start: this.index, - end: this.index - }; - } - var cp = this.source.charCodeAt(this.index); - if (character_1.Character.isIdentifierStart(cp)) { - return this.scanIdentifier(); - } - if (cp === 40 || cp === 41 || cp === 59) { - return this.scanPunctuator(); - } - if (cp === 39 || cp === 34) { - return this.scanStringLiteral(); - } - if (cp === 46) { - if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index + 1))) { - return this.scanNumericLiteral(); - } - return this.scanPunctuator(); - } - if (character_1.Character.isDecimalDigit(cp)) { - return this.scanNumericLiteral(); - } - if (cp === 96 || cp === 125 && this.curlyStack[this.curlyStack.length - 1] === "${") { - return this.scanTemplate(); - } - if (cp >= 55296 && cp < 57343) { - if (character_1.Character.isIdentifierStart(this.codePointAt(this.index))) { - return this.scanIdentifier(); - } - } - return this.scanPunctuator(); - }; - return Scanner2; - }(); - exports2.Scanner = Scanner; - }, - /* 13 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.TokenName = {}; - exports2.TokenName[ - 1 - /* BooleanLiteral */ - ] = "Boolean"; - exports2.TokenName[ - 2 - /* EOF */ - ] = ""; - exports2.TokenName[ - 3 - /* Identifier */ - ] = "Identifier"; - exports2.TokenName[ - 4 - /* Keyword */ - ] = "Keyword"; - exports2.TokenName[ - 5 - /* NullLiteral */ - ] = "Null"; - exports2.TokenName[ - 6 - /* NumericLiteral */ - ] = "Numeric"; - exports2.TokenName[ - 7 - /* Punctuator */ - ] = "Punctuator"; - exports2.TokenName[ - 8 - /* StringLiteral */ - ] = "String"; - exports2.TokenName[ - 9 - /* RegularExpression */ - ] = "RegularExpression"; - exports2.TokenName[ - 10 - /* Template */ - ] = "Template"; - }, - /* 14 */ - /***/ - function(module3, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.XHTMLEntities = { - quot: '"', - amp: "&", - apos: "'", - gt: ">", - nbsp: "\xA0", - iexcl: "\xA1", - cent: "\xA2", - pound: "\xA3", - curren: "\xA4", - yen: "\xA5", - brvbar: "\xA6", - sect: "\xA7", - uml: "\xA8", - copy: "\xA9", - ordf: "\xAA", - laquo: "\xAB", - not: "\xAC", - shy: "\xAD", - reg: "\xAE", - macr: "\xAF", - deg: "\xB0", - plusmn: "\xB1", - sup2: "\xB2", - sup3: "\xB3", - acute: "\xB4", - micro: "\xB5", - para: "\xB6", - middot: "\xB7", - cedil: "\xB8", - sup1: "\xB9", - ordm: "\xBA", - raquo: "\xBB", - frac14: "\xBC", - frac12: "\xBD", - frac34: "\xBE", - iquest: "\xBF", - Agrave: "\xC0", - Aacute: "\xC1", - Acirc: "\xC2", - Atilde: "\xC3", - Auml: "\xC4", - Aring: "\xC5", - AElig: "\xC6", - Ccedil: "\xC7", - Egrave: "\xC8", - Eacute: "\xC9", - Ecirc: "\xCA", - Euml: "\xCB", - Igrave: "\xCC", - Iacute: "\xCD", - Icirc: "\xCE", - Iuml: "\xCF", - ETH: "\xD0", - Ntilde: "\xD1", - Ograve: "\xD2", - Oacute: "\xD3", - Ocirc: "\xD4", - Otilde: "\xD5", - Ouml: "\xD6", - times: "\xD7", - Oslash: "\xD8", - Ugrave: "\xD9", - Uacute: "\xDA", - Ucirc: "\xDB", - Uuml: "\xDC", - Yacute: "\xDD", - THORN: "\xDE", - szlig: "\xDF", - agrave: "\xE0", - aacute: "\xE1", - acirc: "\xE2", - atilde: "\xE3", - auml: "\xE4", - aring: "\xE5", - aelig: "\xE6", - ccedil: "\xE7", - egrave: "\xE8", - eacute: "\xE9", - ecirc: "\xEA", - euml: "\xEB", - igrave: "\xEC", - iacute: "\xED", - icirc: "\xEE", - iuml: "\xEF", - eth: "\xF0", - ntilde: "\xF1", - ograve: "\xF2", - oacute: "\xF3", - ocirc: "\xF4", - otilde: "\xF5", - ouml: "\xF6", - divide: "\xF7", - oslash: "\xF8", - ugrave: "\xF9", - uacute: "\xFA", - ucirc: "\xFB", - uuml: "\xFC", - yacute: "\xFD", - thorn: "\xFE", - yuml: "\xFF", - OElig: "\u0152", - oelig: "\u0153", - Scaron: "\u0160", - scaron: "\u0161", - Yuml: "\u0178", - fnof: "\u0192", - circ: "\u02C6", - tilde: "\u02DC", - Alpha: "\u0391", - Beta: "\u0392", - Gamma: "\u0393", - Delta: "\u0394", - Epsilon: "\u0395", - Zeta: "\u0396", - Eta: "\u0397", - Theta: "\u0398", - Iota: "\u0399", - Kappa: "\u039A", - Lambda: "\u039B", - Mu: "\u039C", - Nu: "\u039D", - Xi: "\u039E", - Omicron: "\u039F", - Pi: "\u03A0", - Rho: "\u03A1", - Sigma: "\u03A3", - Tau: "\u03A4", - Upsilon: "\u03A5", - Phi: "\u03A6", - Chi: "\u03A7", - Psi: "\u03A8", - Omega: "\u03A9", - alpha: "\u03B1", - beta: "\u03B2", - gamma: "\u03B3", - delta: "\u03B4", - epsilon: "\u03B5", - zeta: "\u03B6", - eta: "\u03B7", - theta: "\u03B8", - iota: "\u03B9", - kappa: "\u03BA", - lambda: "\u03BB", - mu: "\u03BC", - nu: "\u03BD", - xi: "\u03BE", - omicron: "\u03BF", - pi: "\u03C0", - rho: "\u03C1", - sigmaf: "\u03C2", - sigma: "\u03C3", - tau: "\u03C4", - upsilon: "\u03C5", - phi: "\u03C6", - chi: "\u03C7", - psi: "\u03C8", - omega: "\u03C9", - thetasym: "\u03D1", - upsih: "\u03D2", - piv: "\u03D6", - ensp: "\u2002", - emsp: "\u2003", - thinsp: "\u2009", - zwnj: "\u200C", - zwj: "\u200D", - lrm: "\u200E", - rlm: "\u200F", - ndash: "\u2013", - mdash: "\u2014", - lsquo: "\u2018", - rsquo: "\u2019", - sbquo: "\u201A", - ldquo: "\u201C", - rdquo: "\u201D", - bdquo: "\u201E", - dagger: "\u2020", - Dagger: "\u2021", - bull: "\u2022", - hellip: "\u2026", - permil: "\u2030", - prime: "\u2032", - Prime: "\u2033", - lsaquo: "\u2039", - rsaquo: "\u203A", - oline: "\u203E", - frasl: "\u2044", - euro: "\u20AC", - image: "\u2111", - weierp: "\u2118", - real: "\u211C", - trade: "\u2122", - alefsym: "\u2135", - larr: "\u2190", - uarr: "\u2191", - rarr: "\u2192", - darr: "\u2193", - harr: "\u2194", - crarr: "\u21B5", - lArr: "\u21D0", - uArr: "\u21D1", - rArr: "\u21D2", - dArr: "\u21D3", - hArr: "\u21D4", - forall: "\u2200", - part: "\u2202", - exist: "\u2203", - empty: "\u2205", - nabla: "\u2207", - isin: "\u2208", - notin: "\u2209", - ni: "\u220B", - prod: "\u220F", - sum: "\u2211", - minus: "\u2212", - lowast: "\u2217", - radic: "\u221A", - prop: "\u221D", - infin: "\u221E", - ang: "\u2220", - and: "\u2227", - or: "\u2228", - cap: "\u2229", - cup: "\u222A", - int: "\u222B", - there4: "\u2234", - sim: "\u223C", - cong: "\u2245", - asymp: "\u2248", - ne: "\u2260", - equiv: "\u2261", - le: "\u2264", - ge: "\u2265", - sub: "\u2282", - sup: "\u2283", - nsub: "\u2284", - sube: "\u2286", - supe: "\u2287", - oplus: "\u2295", - otimes: "\u2297", - perp: "\u22A5", - sdot: "\u22C5", - lceil: "\u2308", - rceil: "\u2309", - lfloor: "\u230A", - rfloor: "\u230B", - loz: "\u25CA", - spades: "\u2660", - clubs: "\u2663", - hearts: "\u2665", - diams: "\u2666", - lang: "\u27E8", - rang: "\u27E9" - }; - }, - /* 15 */ - /***/ - function(module3, exports2, __webpack_require__) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - var error_handler_1 = __webpack_require__(10); - var scanner_1 = __webpack_require__(12); - var token_1 = __webpack_require__(13); - var Reader = function() { - function Reader2() { - this.values = []; - this.curly = this.paren = -1; - } - Reader2.prototype.beforeFunctionExpression = function(t) { - return [ - "(", - "{", - "[", - "in", - "typeof", - "instanceof", - "new", - "return", - "case", - "delete", - "throw", - "void", - // assignment operators - "=", - "+=", - "-=", - "*=", - "**=", - "/=", - "%=", - "<<=", - ">>=", - ">>>=", - "&=", - "|=", - "^=", - ",", - // binary/unary operators - "+", - "-", - "*", - "**", - "/", - "%", - "++", - "--", - "<<", - ">>", - ">>>", - "&", - "|", - "^", - "!", - "~", - "&&", - "||", - "?", - ":", - "===", - "==", - ">=", - "<=", - "<", - ">", - "!=", - "!==" - ].indexOf(t) >= 0; - }; - Reader2.prototype.isRegexStart = function() { - var previous = this.values[this.values.length - 1]; - var regex = previous !== null; - switch (previous) { - case "this": - case "]": - regex = false; - break; - case ")": - var keyword = this.values[this.paren - 1]; - regex = keyword === "if" || keyword === "while" || keyword === "for" || keyword === "with"; - break; - case "}": - regex = false; - if (this.values[this.curly - 3] === "function") { - var check = this.values[this.curly - 4]; - regex = check ? !this.beforeFunctionExpression(check) : false; - } else if (this.values[this.curly - 4] === "function") { - var check = this.values[this.curly - 5]; - regex = check ? !this.beforeFunctionExpression(check) : true; - } - break; - default: - break; - } - return regex; - }; - Reader2.prototype.push = function(token) { - if (token.type === 7 || token.type === 4) { - if (token.value === "{") { - this.curly = this.values.length; - } else if (token.value === "(") { - this.paren = this.values.length; - } - this.values.push(token.value); - } else { - this.values.push(null); - } - }; - return Reader2; - }(); - var Tokenizer = function() { - function Tokenizer2(code, config) { - this.errorHandler = new error_handler_1.ErrorHandler(); - this.errorHandler.tolerant = config ? typeof config.tolerant === "boolean" && config.tolerant : false; - this.scanner = new scanner_1.Scanner(code, this.errorHandler); - this.scanner.trackComment = config ? typeof config.comment === "boolean" && config.comment : false; - this.trackRange = config ? typeof config.range === "boolean" && config.range : false; - this.trackLoc = config ? typeof config.loc === "boolean" && config.loc : false; - this.buffer = []; - this.reader = new Reader(); - } - Tokenizer2.prototype.errors = function() { - return this.errorHandler.errors; - }; - Tokenizer2.prototype.getNextToken = function() { - if (this.buffer.length === 0) { - var comments = this.scanner.scanComments(); - if (this.scanner.trackComment) { - for (var i = 0; i < comments.length; ++i) { - var e = comments[i]; - var value = this.scanner.source.slice(e.slice[0], e.slice[1]); - var comment = { - type: e.multiLine ? "BlockComment" : "LineComment", - value - }; - if (this.trackRange) { - comment.range = e.range; - } - if (this.trackLoc) { - comment.loc = e.loc; - } - this.buffer.push(comment); - } - } - if (!this.scanner.eof()) { - var loc = void 0; - if (this.trackLoc) { - loc = { - start: { - line: this.scanner.lineNumber, - column: this.scanner.index - this.scanner.lineStart - }, - end: {} - }; - } - var startRegex = this.scanner.source[this.scanner.index] === "/" && this.reader.isRegexStart(); - var token = startRegex ? this.scanner.scanRegExp() : this.scanner.lex(); - this.reader.push(token); - var entry = { - type: token_1.TokenName[token.type], - value: this.scanner.source.slice(token.start, token.end) - }; - if (this.trackRange) { - entry.range = [token.start, token.end]; - } - if (this.trackLoc) { - loc.end = { - line: this.scanner.lineNumber, - column: this.scanner.index - this.scanner.lineStart - }; - entry.loc = loc; - } - if (token.type === 9) { - var pattern = token.pattern; - var flags = token.flags; - entry.regex = { pattern, flags }; - } - this.buffer.push(entry); - } - } - return this.buffer.shift(); - }; - return Tokenizer2; - }(); - exports2.Tokenizer = Tokenizer; - } - /******/ - ]); - }); - } -}); - -// .yarn/cache/tslib-npm-2.4.0-9cb6dc5030-022a70708a.zip/node_modules/tslib/tslib.es6.js -var tslib_es6_exports = {}; -__export(tslib_es6_exports, { - __assign: () => __assign, - __asyncDelegator: () => __asyncDelegator, - __asyncGenerator: () => __asyncGenerator, - __asyncValues: () => __asyncValues, - __await: () => __await, - __awaiter: () => __awaiter, - __classPrivateFieldGet: () => __classPrivateFieldGet, - __classPrivateFieldIn: () => __classPrivateFieldIn, - __classPrivateFieldSet: () => __classPrivateFieldSet, - __createBinding: () => __createBinding, - __decorate: () => __decorate, - __exportStar: () => __exportStar, - __extends: () => __extends, - __generator: () => __generator, - __importDefault: () => __importDefault, - __importStar: () => __importStar, - __makeTemplateObject: () => __makeTemplateObject, - __metadata: () => __metadata, - __param: () => __param, - __read: () => __read, - __rest: () => __rest, - __spread: () => __spread, - __spreadArray: () => __spreadArray, - __spreadArrays: () => __spreadArrays, - __values: () => __values -}); -function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -function __rest(s, e) { - var t = {}; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d = decorators[i]) - r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} -function __param(paramIndex, decorator) { - return function(target, key) { - decorator(target, key, paramIndex); - }; -} -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") - return Reflect.metadata(metadataKey, metadataValue); -} -function __awaiter(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()); - }); -} -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { - return this; - }), g; - function verb(n) { - return function(v) { - return step([n, v]); - }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } -} -function __exportStar(m, o) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) - __createBinding(o, m, p); -} -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) - return m.call(o); - if (o && typeof o.length === "number") - return { - next: function() { - if (o && i >= o.length) - o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) - return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) - ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) - m.call(i); - } finally { - if (e) - throw e.error; - } - } - return ar; -} -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) - s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -} -function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) - for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) - ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i; - function verb(n) { - if (g[n]) - i[n] = function(v) { - return new Promise(function(a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); - }; - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); - } - } - function step(r) { - r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); - } - function fulfill(value) { - resume("next", value); - } - function reject(value) { - resume("throw", value); - } - function settle(f, v) { - if (f(v), q.shift(), q.length) - resume(q[0][0], q[0][1]); - } -} -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function(e) { - throw e; - }), verb("return"), i[Symbol.iterator] = function() { - return this; - }, i; - function verb(n, f) { - i[n] = o[n] ? function(v) { - return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; - } : f; - } -} -function __asyncValues(o) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function(v) { - return new Promise(function(resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); - }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function(v2) { - resolve({ value: v2, done: d }); - }, reject); - } -} -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { value: raw }); - } else { - cooked.raw = raw; - } - return cooked; -} -function __importStar(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; -} -function __importDefault(mod) { - return mod && mod.__esModule ? mod : { default: mod }; -} -function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} -function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") - throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) - throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) - throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; -} -function __classPrivateFieldIn(state, receiver) { - if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") - throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} -var extendStatics, __assign, __createBinding, __setModuleDefault; -var init_tslib_es6 = __esm({ - ".yarn/cache/tslib-npm-2.4.0-9cb6dc5030-022a70708a.zip/node_modules/tslib/tslib.es6.js"() { - extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { - d2.__proto__ = b2; - } || function(d2, b2) { - for (var p in b2) - if (Object.prototype.hasOwnProperty.call(b2, p)) - d2[p] = b2[p]; - }; - return extendStatics(d, b); - }; - __assign = function() { - __assign = Object.assign || function __assign2(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - __createBinding = Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }; - __setModuleDefault = Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/types.js -var require_types = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Def = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var Op = Object.prototype; - var objToStr = Op.toString; - var hasOwn = Op.hasOwnProperty; - var BaseType = function() { - function BaseType2() { - } - BaseType2.prototype.assert = function(value, deep) { - if (!this.check(value, deep)) { - var str = shallowStringify(value); - throw new Error(str + " does not match type " + this); - } - return true; - }; - BaseType2.prototype.arrayOf = function() { - var elemType = this; - return new ArrayType(elemType); - }; - return BaseType2; - }(); - var ArrayType = function(_super) { - tslib_1.__extends(ArrayType2, _super); - function ArrayType2(elemType) { - var _this = _super.call(this) || this; - _this.elemType = elemType; - _this.kind = "ArrayType"; - return _this; - } - ArrayType2.prototype.toString = function() { - return "[" + this.elemType + "]"; - }; - ArrayType2.prototype.check = function(value, deep) { - var _this = this; - return Array.isArray(value) && value.every(function(elem) { - return _this.elemType.check(elem, deep); - }); - }; - return ArrayType2; - }(BaseType); - var IdentityType = function(_super) { - tslib_1.__extends(IdentityType2, _super); - function IdentityType2(value) { - var _this = _super.call(this) || this; - _this.value = value; - _this.kind = "IdentityType"; - return _this; - } - IdentityType2.prototype.toString = function() { - return String(this.value); - }; - IdentityType2.prototype.check = function(value, deep) { - var result = value === this.value; - if (!result && typeof deep === "function") { - deep(this, value); - } - return result; - }; - return IdentityType2; - }(BaseType); - var ObjectType = function(_super) { - tslib_1.__extends(ObjectType2, _super); - function ObjectType2(fields) { - var _this = _super.call(this) || this; - _this.fields = fields; - _this.kind = "ObjectType"; - return _this; - } - ObjectType2.prototype.toString = function() { - return "{ " + this.fields.join(", ") + " }"; - }; - ObjectType2.prototype.check = function(value, deep) { - return objToStr.call(value) === objToStr.call({}) && this.fields.every(function(field) { - return field.type.check(value[field.name], deep); - }); - }; - return ObjectType2; - }(BaseType); - var OrType = function(_super) { - tslib_1.__extends(OrType2, _super); - function OrType2(types) { - var _this = _super.call(this) || this; - _this.types = types; - _this.kind = "OrType"; - return _this; - } - OrType2.prototype.toString = function() { - return this.types.join(" | "); - }; - OrType2.prototype.check = function(value, deep) { - return this.types.some(function(type) { - return type.check(value, deep); - }); - }; - return OrType2; - }(BaseType); - var PredicateType = function(_super) { - tslib_1.__extends(PredicateType2, _super); - function PredicateType2(name, predicate) { - var _this = _super.call(this) || this; - _this.name = name; - _this.predicate = predicate; - _this.kind = "PredicateType"; - return _this; - } - PredicateType2.prototype.toString = function() { - return this.name; - }; - PredicateType2.prototype.check = function(value, deep) { - var result = this.predicate(value, deep); - if (!result && typeof deep === "function") { - deep(this, value); - } - return result; - }; - return PredicateType2; - }(BaseType); - var Def = function() { - function Def2(type, typeName) { - this.type = type; - this.typeName = typeName; - this.baseNames = []; - this.ownFields = /* @__PURE__ */ Object.create(null); - this.allSupertypes = /* @__PURE__ */ Object.create(null); - this.supertypeList = []; - this.allFields = /* @__PURE__ */ Object.create(null); - this.fieldNames = []; - this.finalized = false; - this.buildable = false; - this.buildParams = []; - } - Def2.prototype.isSupertypeOf = function(that) { - if (that instanceof Def2) { - if (this.finalized !== true || that.finalized !== true) { - throw new Error(""); - } - return hasOwn.call(that.allSupertypes, this.typeName); - } else { - throw new Error(that + " is not a Def"); - } - }; - Def2.prototype.checkAllFields = function(value, deep) { - var allFields = this.allFields; - if (this.finalized !== true) { - throw new Error("" + this.typeName); - } - function checkFieldByName(name) { - var field = allFields[name]; - var type = field.type; - var child = field.getValue(value); - return type.check(child, deep); - } - return value !== null && typeof value === "object" && Object.keys(allFields).every(checkFieldByName); - }; - Def2.prototype.bases = function() { - var supertypeNames = []; - for (var _i = 0; _i < arguments.length; _i++) { - supertypeNames[_i] = arguments[_i]; - } - var bases = this.baseNames; - if (this.finalized) { - if (supertypeNames.length !== bases.length) { - throw new Error(""); - } - for (var i = 0; i < supertypeNames.length; i++) { - if (supertypeNames[i] !== bases[i]) { - throw new Error(""); - } - } - return this; - } - supertypeNames.forEach(function(baseName) { - if (bases.indexOf(baseName) < 0) { - bases.push(baseName); - } - }); - return this; - }; - return Def2; - }(); - exports.Def = Def; - var Field = function() { - function Field2(name, type, defaultFn, hidden) { - this.name = name; - this.type = type; - this.defaultFn = defaultFn; - this.hidden = !!hidden; - } - Field2.prototype.toString = function() { - return JSON.stringify(this.name) + ": " + this.type; - }; - Field2.prototype.getValue = function(obj) { - var value = obj[this.name]; - if (typeof value !== "undefined") { - return value; - } - if (typeof this.defaultFn === "function") { - value = this.defaultFn.call(obj); - } - return value; - }; - return Field2; - }(); - function shallowStringify(value) { - if (Array.isArray(value)) { - return "[" + value.map(shallowStringify).join(", ") + "]"; - } - if (value && typeof value === "object") { - return "{ " + Object.keys(value).map(function(key) { - return key + ": " + value[key]; - }).join(", ") + " }"; - } - return JSON.stringify(value); - } - function typesPlugin(_fork) { - var Type = { - or: function() { - var types = []; - for (var _i = 0; _i < arguments.length; _i++) { - types[_i] = arguments[_i]; - } - return new OrType(types.map(function(type) { - return Type.from(type); - })); - }, - from: function(value, name) { - if (value instanceof ArrayType || value instanceof IdentityType || value instanceof ObjectType || value instanceof OrType || value instanceof PredicateType) { - return value; - } - if (value instanceof Def) { - return value.type; - } - if (isArray2.check(value)) { - if (value.length !== 1) { - throw new Error("only one element type is permitted for typed arrays"); - } - return new ArrayType(Type.from(value[0])); - } - if (isObject2.check(value)) { - return new ObjectType(Object.keys(value).map(function(name2) { - return new Field(name2, Type.from(value[name2], name2)); - })); - } - if (typeof value === "function") { - var bicfIndex = builtInCtorFns.indexOf(value); - if (bicfIndex >= 0) { - return builtInCtorTypes[bicfIndex]; - } - if (typeof name !== "string") { - throw new Error("missing name"); - } - return new PredicateType(name, value); - } - return new IdentityType(value); - }, - // Define a type whose name is registered in a namespace (the defCache) so - // that future definitions will return the same type given the same name. - // In particular, this system allows for circular and forward definitions. - // The Def object d returned from Type.def may be used to configure the - // type d.type by calling methods such as d.bases, d.build, and d.field. - def: function(typeName) { - return hasOwn.call(defCache, typeName) ? defCache[typeName] : defCache[typeName] = new DefImpl(typeName); - }, - hasDef: function(typeName) { - return hasOwn.call(defCache, typeName); - } - }; - var builtInCtorFns = []; - var builtInCtorTypes = []; - function defBuiltInType(name, example) { - var objStr = objToStr.call(example); - var type = new PredicateType(name, function(value) { - return objToStr.call(value) === objStr; - }); - if (example && typeof example.constructor === "function") { - builtInCtorFns.push(example.constructor); - builtInCtorTypes.push(type); - } - return type; - } - var isString2 = defBuiltInType("string", "truthy"); - var isFunction = defBuiltInType("function", function() { - }); - var isArray2 = defBuiltInType("array", []); - var isObject2 = defBuiltInType("object", {}); - var isRegExp = defBuiltInType("RegExp", /./); - var isDate2 = defBuiltInType("Date", new Date()); - var isNumber2 = defBuiltInType("number", 3); - var isBoolean2 = defBuiltInType("boolean", true); - var isNull = defBuiltInType("null", null); - var isUndefined = defBuiltInType("undefined", void 0); - var builtInTypes = { - string: isString2, - function: isFunction, - array: isArray2, - object: isObject2, - RegExp: isRegExp, - Date: isDate2, - number: isNumber2, - boolean: isBoolean2, - null: isNull, - undefined: isUndefined - }; - var defCache = /* @__PURE__ */ Object.create(null); - function defFromValue(value) { - if (value && typeof value === "object") { - var type = value.type; - if (typeof type === "string" && hasOwn.call(defCache, type)) { - var d = defCache[type]; - if (d.finalized) { - return d; - } - } - } - return null; - } - var DefImpl = function(_super) { - tslib_1.__extends(DefImpl2, _super); - function DefImpl2(typeName) { - var _this = _super.call(this, new PredicateType(typeName, function(value, deep) { - return _this.check(value, deep); - }), typeName) || this; - return _this; - } - DefImpl2.prototype.check = function(value, deep) { - if (this.finalized !== true) { - throw new Error("prematurely checking unfinalized type " + this.typeName); - } - if (value === null || typeof value !== "object") { - return false; - } - var vDef = defFromValue(value); - if (!vDef) { - if (this.typeName === "SourceLocation" || this.typeName === "Position") { - return this.checkAllFields(value, deep); - } - return false; - } - if (deep && vDef === this) { - return this.checkAllFields(value, deep); - } - if (!this.isSupertypeOf(vDef)) { - return false; - } - if (!deep) { - return true; - } - return vDef.checkAllFields(value, deep) && this.checkAllFields(value, false); - }; - DefImpl2.prototype.build = function() { - var _this = this; - var buildParams = []; - for (var _i = 0; _i < arguments.length; _i++) { - buildParams[_i] = arguments[_i]; - } - this.buildParams = buildParams; - if (this.buildable) { - return this; - } - this.field("type", String, function() { - return _this.typeName; - }); - this.buildable = true; - var addParam = function(built, param, arg, isArgAvailable) { - if (hasOwn.call(built, param)) - return; - var all = _this.allFields; - if (!hasOwn.call(all, param)) { - throw new Error("" + param); - } - var field = all[param]; - var type = field.type; - var value; - if (isArgAvailable) { - value = arg; - } else if (field.defaultFn) { - value = field.defaultFn.call(built); - } else { - var message = "no value or default function given for field " + JSON.stringify(param) + " of " + _this.typeName + "(" + _this.buildParams.map(function(name) { - return all[name]; - }).join(", ") + ")"; - throw new Error(message); - } - if (!type.check(value)) { - throw new Error(shallowStringify(value) + " does not match field " + field + " of type " + _this.typeName); - } - built[param] = value; - }; - var builder = function() { - var args = []; - for (var _i2 = 0; _i2 < arguments.length; _i2++) { - args[_i2] = arguments[_i2]; - } - var argc = args.length; - if (!_this.finalized) { - throw new Error("attempting to instantiate unfinalized type " + _this.typeName); - } - var built = Object.create(nodePrototype); - _this.buildParams.forEach(function(param, i) { - if (i < argc) { - addParam(built, param, args[i], true); - } else { - addParam(built, param, null, false); - } - }); - Object.keys(_this.allFields).forEach(function(param) { - addParam(built, param, null, false); - }); - if (built.type !== _this.typeName) { - throw new Error(""); - } - return built; - }; - builder.from = function(obj) { - if (!_this.finalized) { - throw new Error("attempting to instantiate unfinalized type " + _this.typeName); - } - var built = Object.create(nodePrototype); - Object.keys(_this.allFields).forEach(function(param) { - if (hasOwn.call(obj, param)) { - addParam(built, param, obj[param], true); - } else { - addParam(built, param, null, false); - } - }); - if (built.type !== _this.typeName) { - throw new Error(""); - } - return built; - }; - Object.defineProperty(builders, getBuilderName(this.typeName), { - enumerable: true, - value: builder - }); - return this; - }; - DefImpl2.prototype.field = function(name, type, defaultFn, hidden) { - if (this.finalized) { - console.error("Ignoring attempt to redefine field " + JSON.stringify(name) + " of finalized type " + JSON.stringify(this.typeName)); - return this; - } - this.ownFields[name] = new Field(name, Type.from(type), defaultFn, hidden); - return this; - }; - DefImpl2.prototype.finalize = function() { - var _this = this; - if (!this.finalized) { - var allFields = this.allFields; - var allSupertypes = this.allSupertypes; - this.baseNames.forEach(function(name) { - var def = defCache[name]; - if (def instanceof Def) { - def.finalize(); - extend(allFields, def.allFields); - extend(allSupertypes, def.allSupertypes); - } else { - var message = "unknown supertype name " + JSON.stringify(name) + " for subtype " + JSON.stringify(_this.typeName); - throw new Error(message); - } - }); - extend(allFields, this.ownFields); - allSupertypes[this.typeName] = this; - this.fieldNames.length = 0; - for (var fieldName in allFields) { - if (hasOwn.call(allFields, fieldName) && !allFields[fieldName].hidden) { - this.fieldNames.push(fieldName); - } - } - Object.defineProperty(namedTypes, this.typeName, { - enumerable: true, - value: this.type - }); - this.finalized = true; - populateSupertypeList(this.typeName, this.supertypeList); - if (this.buildable && this.supertypeList.lastIndexOf("Expression") >= 0) { - wrapExpressionBuilderWithStatement(this.typeName); - } - } - }; - return DefImpl2; - }(Def); - function getSupertypeNames(typeName) { - if (!hasOwn.call(defCache, typeName)) { - throw new Error(""); - } - var d = defCache[typeName]; - if (d.finalized !== true) { - throw new Error(""); - } - return d.supertypeList.slice(1); - } - function computeSupertypeLookupTable(candidates) { - var table = {}; - var typeNames = Object.keys(defCache); - var typeNameCount = typeNames.length; - for (var i = 0; i < typeNameCount; ++i) { - var typeName = typeNames[i]; - var d = defCache[typeName]; - if (d.finalized !== true) { - throw new Error("" + typeName); - } - for (var j = 0; j < d.supertypeList.length; ++j) { - var superTypeName = d.supertypeList[j]; - if (hasOwn.call(candidates, superTypeName)) { - table[typeName] = superTypeName; - break; - } - } - } - return table; - } - var builders = /* @__PURE__ */ Object.create(null); - var nodePrototype = {}; - function defineMethod(name, func) { - var old = nodePrototype[name]; - if (isUndefined.check(func)) { - delete nodePrototype[name]; - } else { - isFunction.assert(func); - Object.defineProperty(nodePrototype, name, { - enumerable: true, - configurable: true, - value: func - }); - } - return old; - } - function getBuilderName(typeName) { - return typeName.replace(/^[A-Z]+/, function(upperCasePrefix) { - var len = upperCasePrefix.length; - switch (len) { - case 0: - return ""; - case 1: - return upperCasePrefix.toLowerCase(); - default: - return upperCasePrefix.slice(0, len - 1).toLowerCase() + upperCasePrefix.charAt(len - 1); - } - }); - } - function getStatementBuilderName(typeName) { - typeName = getBuilderName(typeName); - return typeName.replace(/(Expression)?$/, "Statement"); - } - var namedTypes = {}; - function getFieldNames(object) { - var d = defFromValue(object); - if (d) { - return d.fieldNames.slice(0); - } - if ("type" in object) { - throw new Error("did not recognize object of type " + JSON.stringify(object.type)); - } - return Object.keys(object); - } - function getFieldValue(object, fieldName) { - var d = defFromValue(object); - if (d) { - var field = d.allFields[fieldName]; - if (field) { - return field.getValue(object); - } - } - return object && object[fieldName]; - } - function eachField(object, callback, context) { - getFieldNames(object).forEach(function(name) { - callback.call(this, name, getFieldValue(object, name)); - }, context); - } - function someField(object, callback, context) { - return getFieldNames(object).some(function(name) { - return callback.call(this, name, getFieldValue(object, name)); - }, context); - } - function wrapExpressionBuilderWithStatement(typeName) { - var wrapperName = getStatementBuilderName(typeName); - if (builders[wrapperName]) - return; - var wrapped = builders[getBuilderName(typeName)]; - if (!wrapped) - return; - var builder = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return builders.expressionStatement(wrapped.apply(builders, args)); - }; - builder.from = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return builders.expressionStatement(wrapped.from.apply(builders, args)); - }; - builders[wrapperName] = builder; - } - function populateSupertypeList(typeName, list) { - list.length = 0; - list.push(typeName); - var lastSeen = /* @__PURE__ */ Object.create(null); - for (var pos = 0; pos < list.length; ++pos) { - typeName = list[pos]; - var d = defCache[typeName]; - if (d.finalized !== true) { - throw new Error(""); - } - if (hasOwn.call(lastSeen, typeName)) { - delete list[lastSeen[typeName]]; - } - lastSeen[typeName] = pos; - list.push.apply(list, d.baseNames); - } - for (var to = 0, from = to, len = list.length; from < len; ++from) { - if (hasOwn.call(list, from)) { - list[to++] = list[from]; - } - } - list.length = to; - } - function extend(into, from) { - Object.keys(from).forEach(function(name) { - into[name] = from[name]; - }); - return into; - } - function finalize() { - Object.keys(defCache).forEach(function(name) { - defCache[name].finalize(); - }); - } - return { - Type, - builtInTypes, - getSupertypeNames, - computeSupertypeLookupTable, - builders, - defineMethod, - getBuilderName, - getStatementBuilderName, - namedTypes, - getFieldNames, - getFieldValue, - eachField, - someField, - finalize - }; - } - exports.default = typesPlugin; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path.js -var require_path = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - function pathPlugin(fork) { - var types = fork.use(types_1.default); - var isArray2 = types.builtInTypes.array; - var isNumber2 = types.builtInTypes.number; - var Path = function Path2(value, parentPath, name) { - if (!(this instanceof Path2)) { - throw new Error("Path constructor cannot be invoked without 'new'"); - } - if (parentPath) { - if (!(parentPath instanceof Path2)) { - throw new Error(""); - } - } else { - parentPath = null; - name = null; - } - this.value = value; - this.parentPath = parentPath; - this.name = name; - this.__childCache = null; - }; - var Pp = Path.prototype; - function getChildCache(path9) { - return path9.__childCache || (path9.__childCache = /* @__PURE__ */ Object.create(null)); - } - function getChildPath(path9, name) { - var cache = getChildCache(path9); - var actualChildValue = path9.getValueProperty(name); - var childPath = cache[name]; - if (!hasOwn.call(cache, name) || // Ensure consistency between cache and reality. - childPath.value !== actualChildValue) { - childPath = cache[name] = new path9.constructor(actualChildValue, path9, name); - } - return childPath; - } - Pp.getValueProperty = function getValueProperty(name) { - return this.value[name]; - }; - Pp.get = function get() { - var names = []; - for (var _i = 0; _i < arguments.length; _i++) { - names[_i] = arguments[_i]; - } - var path9 = this; - var count = names.length; - for (var i = 0; i < count; ++i) { - path9 = getChildPath(path9, names[i]); - } - return path9; - }; - Pp.each = function each(callback, context) { - var childPaths = []; - var len = this.value.length; - var i = 0; - for (var i = 0; i < len; ++i) { - if (hasOwn.call(this.value, i)) { - childPaths[i] = this.get(i); - } - } - context = context || this; - for (i = 0; i < len; ++i) { - if (hasOwn.call(childPaths, i)) { - callback.call(context, childPaths[i]); - } - } - }; - Pp.map = function map(callback, context) { - var result = []; - this.each(function(childPath) { - result.push(callback.call(this, childPath)); - }, context); - return result; - }; - Pp.filter = function filter(callback, context) { - var result = []; - this.each(function(childPath) { - if (callback.call(this, childPath)) { - result.push(childPath); - } - }, context); - return result; - }; - function emptyMoves() { - } - function getMoves(path9, offset, start, end) { - isArray2.assert(path9.value); - if (offset === 0) { - return emptyMoves; - } - var length = path9.value.length; - if (length < 1) { - return emptyMoves; - } - var argc = arguments.length; - if (argc === 2) { - start = 0; - end = length; - } else if (argc === 3) { - start = Math.max(start, 0); - end = length; - } else { - start = Math.max(start, 0); - end = Math.min(end, length); - } - isNumber2.assert(start); - isNumber2.assert(end); - var moves = /* @__PURE__ */ Object.create(null); - var cache = getChildCache(path9); - for (var i = start; i < end; ++i) { - if (hasOwn.call(path9.value, i)) { - var childPath = path9.get(i); - if (childPath.name !== i) { - throw new Error(""); - } - var newIndex = i + offset; - childPath.name = newIndex; - moves[newIndex] = childPath; - delete cache[i]; - } - } - delete cache.length; - return function() { - for (var newIndex2 in moves) { - var childPath2 = moves[newIndex2]; - if (childPath2.name !== +newIndex2) { - throw new Error(""); - } - cache[newIndex2] = childPath2; - path9.value[newIndex2] = childPath2.value; - } - }; - } - Pp.shift = function shift() { - var move = getMoves(this, -1); - var result = this.value.shift(); - move(); - return result; - }; - Pp.unshift = function unshift() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var move = getMoves(this, args.length); - var result = this.value.unshift.apply(this.value, args); - move(); - return result; - }; - Pp.push = function push() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - isArray2.assert(this.value); - delete getChildCache(this).length; - return this.value.push.apply(this.value, args); - }; - Pp.pop = function pop() { - isArray2.assert(this.value); - var cache = getChildCache(this); - delete cache[this.value.length - 1]; - delete cache.length; - return this.value.pop(); - }; - Pp.insertAt = function insertAt(index) { - var argc = arguments.length; - var move = getMoves(this, argc - 1, index); - if (move === emptyMoves && argc <= 1) { - return this; - } - index = Math.max(index, 0); - for (var i = 1; i < argc; ++i) { - this.value[index + i - 1] = arguments[i]; - } - move(); - return this; - }; - Pp.insertBefore = function insertBefore() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var pp = this.parentPath; - var argc = args.length; - var insertAtArgs = [this.name]; - for (var i = 0; i < argc; ++i) { - insertAtArgs.push(args[i]); - } - return pp.insertAt.apply(pp, insertAtArgs); - }; - Pp.insertAfter = function insertAfter() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var pp = this.parentPath; - var argc = args.length; - var insertAtArgs = [this.name + 1]; - for (var i = 0; i < argc; ++i) { - insertAtArgs.push(args[i]); - } - return pp.insertAt.apply(pp, insertAtArgs); - }; - function repairRelationshipWithParent(path9) { - if (!(path9 instanceof Path)) { - throw new Error(""); - } - var pp = path9.parentPath; - if (!pp) { - return path9; - } - var parentValue = pp.value; - var parentCache = getChildCache(pp); - if (parentValue[path9.name] === path9.value) { - parentCache[path9.name] = path9; - } else if (isArray2.check(parentValue)) { - var i = parentValue.indexOf(path9.value); - if (i >= 0) { - parentCache[path9.name = i] = path9; - } - } else { - parentValue[path9.name] = path9.value; - parentCache[path9.name] = path9; - } - if (parentValue[path9.name] !== path9.value) { - throw new Error(""); - } - if (path9.parentPath.get(path9.name) !== path9) { - throw new Error(""); - } - return path9; - } - Pp.replace = function replace(replacement) { - var results = []; - var parentValue = this.parentPath.value; - var parentCache = getChildCache(this.parentPath); - var count = arguments.length; - repairRelationshipWithParent(this); - if (isArray2.check(parentValue)) { - var originalLength = parentValue.length; - var move = getMoves(this.parentPath, count - 1, this.name + 1); - var spliceArgs = [this.name, 1]; - for (var i = 0; i < count; ++i) { - spliceArgs.push(arguments[i]); - } - var splicedOut = parentValue.splice.apply(parentValue, spliceArgs); - if (splicedOut[0] !== this.value) { - throw new Error(""); - } - if (parentValue.length !== originalLength - 1 + count) { - throw new Error(""); - } - move(); - if (count === 0) { - delete this.value; - delete parentCache[this.name]; - this.__childCache = null; - } else { - if (parentValue[this.name] !== replacement) { - throw new Error(""); - } - if (this.value !== replacement) { - this.value = replacement; - this.__childCache = null; - } - for (i = 0; i < count; ++i) { - results.push(this.parentPath.get(this.name + i)); - } - if (results[0] !== this) { - throw new Error(""); - } - } - } else if (count === 1) { - if (this.value !== replacement) { - this.__childCache = null; - } - this.value = parentValue[this.name] = replacement; - results.push(this); - } else if (count === 0) { - delete parentValue[this.name]; - delete this.value; - this.__childCache = null; - } else { - throw new Error("Could not replace path"); - } - return results; - }; - return Path; - } - exports.default = pathPlugin; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/scope.js -var require_scope = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/scope.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var hasOwn = Object.prototype.hasOwnProperty; - function scopePlugin(fork) { - var types = fork.use(types_1.default); - var Type = types.Type; - var namedTypes = types.namedTypes; - var Node = namedTypes.Node; - var Expression = namedTypes.Expression; - var isArray2 = types.builtInTypes.array; - var b = types.builders; - var Scope = function Scope2(path9, parentScope) { - if (!(this instanceof Scope2)) { - throw new Error("Scope constructor cannot be invoked without 'new'"); - } - ScopeType.assert(path9.value); - var depth; - if (parentScope) { - if (!(parentScope instanceof Scope2)) { - throw new Error(""); - } - depth = parentScope.depth + 1; - } else { - parentScope = null; - depth = 0; - } - Object.defineProperties(this, { - path: { value: path9 }, - node: { value: path9.value }, - isGlobal: { value: !parentScope, enumerable: true }, - depth: { value: depth }, - parent: { value: parentScope }, - bindings: { value: {} }, - types: { value: {} } - }); - }; - var scopeTypes = [ - // Program nodes introduce global scopes. - namedTypes.Program, - // Function is the supertype of FunctionExpression, - // FunctionDeclaration, ArrowExpression, etc. - namedTypes.Function, - // In case you didn't know, the caught parameter shadows any variable - // of the same name in an outer scope. - namedTypes.CatchClause - ]; - var ScopeType = Type.or.apply(Type, scopeTypes); - Scope.isEstablishedBy = function(node) { - return ScopeType.check(node); - }; - var Sp = Scope.prototype; - Sp.didScan = false; - Sp.declares = function(name) { - this.scan(); - return hasOwn.call(this.bindings, name); - }; - Sp.declaresType = function(name) { - this.scan(); - return hasOwn.call(this.types, name); - }; - Sp.declareTemporary = function(prefix) { - if (prefix) { - if (!/^[a-z$_]/i.test(prefix)) { - throw new Error(""); - } - } else { - prefix = "t$"; - } - prefix += this.depth.toString(36) + "$"; - this.scan(); - var index = 0; - while (this.declares(prefix + index)) { - ++index; - } - var name = prefix + index; - return this.bindings[name] = types.builders.identifier(name); - }; - Sp.injectTemporary = function(identifier, init) { - identifier || (identifier = this.declareTemporary()); - var bodyPath = this.path.get("body"); - if (namedTypes.BlockStatement.check(bodyPath.value)) { - bodyPath = bodyPath.get("body"); - } - bodyPath.unshift(b.variableDeclaration("var", [b.variableDeclarator(identifier, init || null)])); - return identifier; - }; - Sp.scan = function(force) { - if (force || !this.didScan) { - for (var name in this.bindings) { - delete this.bindings[name]; - } - scanScope(this.path, this.bindings, this.types); - this.didScan = true; - } - }; - Sp.getBindings = function() { - this.scan(); - return this.bindings; - }; - Sp.getTypes = function() { - this.scan(); - return this.types; - }; - function scanScope(path9, bindings, scopeTypes2) { - var node = path9.value; - ScopeType.assert(node); - if (namedTypes.CatchClause.check(node)) { - var param = path9.get("param"); - if (param.value) { - addPattern(param, bindings); - } - } else { - recursiveScanScope(path9, bindings, scopeTypes2); - } - } - function recursiveScanScope(path9, bindings, scopeTypes2) { - var node = path9.value; - if (path9.parent && namedTypes.FunctionExpression.check(path9.parent.node) && path9.parent.node.id) { - addPattern(path9.parent.get("id"), bindings); - } - if (!node) { - } else if (isArray2.check(node)) { - path9.each(function(childPath) { - recursiveScanChild(childPath, bindings, scopeTypes2); - }); - } else if (namedTypes.Function.check(node)) { - path9.get("params").each(function(paramPath) { - addPattern(paramPath, bindings); - }); - recursiveScanChild(path9.get("body"), bindings, scopeTypes2); - } else if (namedTypes.TypeAlias && namedTypes.TypeAlias.check(node) || namedTypes.InterfaceDeclaration && namedTypes.InterfaceDeclaration.check(node) || namedTypes.TSTypeAliasDeclaration && namedTypes.TSTypeAliasDeclaration.check(node) || namedTypes.TSInterfaceDeclaration && namedTypes.TSInterfaceDeclaration.check(node)) { - addTypePattern(path9.get("id"), scopeTypes2); - } else if (namedTypes.VariableDeclarator.check(node)) { - addPattern(path9.get("id"), bindings); - recursiveScanChild(path9.get("init"), bindings, scopeTypes2); - } else if (node.type === "ImportSpecifier" || node.type === "ImportNamespaceSpecifier" || node.type === "ImportDefaultSpecifier") { - addPattern( - // Esprima used to use the .name field to refer to the local - // binding identifier for ImportSpecifier nodes, but .id for - // ImportNamespaceSpecifier and ImportDefaultSpecifier nodes. - // ESTree/Acorn/ESpree use .local for all three node types. - path9.get(node.local ? "local" : node.name ? "name" : "id"), - bindings - ); - } else if (Node.check(node) && !Expression.check(node)) { - types.eachField(node, function(name, child) { - var childPath = path9.get(name); - if (!pathHasValue(childPath, child)) { - throw new Error(""); - } - recursiveScanChild(childPath, bindings, scopeTypes2); - }); - } - } - function pathHasValue(path9, value) { - if (path9.value === value) { - return true; - } - if (Array.isArray(path9.value) && path9.value.length === 0 && Array.isArray(value) && value.length === 0) { - return true; - } - return false; - } - function recursiveScanChild(path9, bindings, scopeTypes2) { - var node = path9.value; - if (!node || Expression.check(node)) { - } else if (namedTypes.FunctionDeclaration.check(node) && node.id !== null) { - addPattern(path9.get("id"), bindings); - } else if (namedTypes.ClassDeclaration && namedTypes.ClassDeclaration.check(node)) { - addPattern(path9.get("id"), bindings); - } else if (ScopeType.check(node)) { - if (namedTypes.CatchClause.check(node) && // TODO Broaden this to accept any pattern. - namedTypes.Identifier.check(node.param)) { - var catchParamName = node.param.name; - var hadBinding = hasOwn.call(bindings, catchParamName); - recursiveScanScope(path9.get("body"), bindings, scopeTypes2); - if (!hadBinding) { - delete bindings[catchParamName]; - } - } - } else { - recursiveScanScope(path9, bindings, scopeTypes2); - } - } - function addPattern(patternPath, bindings) { - var pattern = patternPath.value; - namedTypes.Pattern.assert(pattern); - if (namedTypes.Identifier.check(pattern)) { - if (hasOwn.call(bindings, pattern.name)) { - bindings[pattern.name].push(patternPath); - } else { - bindings[pattern.name] = [patternPath]; - } - } else if (namedTypes.AssignmentPattern && namedTypes.AssignmentPattern.check(pattern)) { - addPattern(patternPath.get("left"), bindings); - } else if (namedTypes.ObjectPattern && namedTypes.ObjectPattern.check(pattern)) { - patternPath.get("properties").each(function(propertyPath) { - var property = propertyPath.value; - if (namedTypes.Pattern.check(property)) { - addPattern(propertyPath, bindings); - } else if (namedTypes.Property.check(property)) { - addPattern(propertyPath.get("value"), bindings); - } else if (namedTypes.SpreadProperty && namedTypes.SpreadProperty.check(property)) { - addPattern(propertyPath.get("argument"), bindings); - } - }); - } else if (namedTypes.ArrayPattern && namedTypes.ArrayPattern.check(pattern)) { - patternPath.get("elements").each(function(elementPath) { - var element = elementPath.value; - if (namedTypes.Pattern.check(element)) { - addPattern(elementPath, bindings); - } else if (namedTypes.SpreadElement && namedTypes.SpreadElement.check(element)) { - addPattern(elementPath.get("argument"), bindings); - } - }); - } else if (namedTypes.PropertyPattern && namedTypes.PropertyPattern.check(pattern)) { - addPattern(patternPath.get("pattern"), bindings); - } else if (namedTypes.SpreadElementPattern && namedTypes.SpreadElementPattern.check(pattern) || namedTypes.SpreadPropertyPattern && namedTypes.SpreadPropertyPattern.check(pattern)) { - addPattern(patternPath.get("argument"), bindings); - } - } - function addTypePattern(patternPath, types2) { - var pattern = patternPath.value; - namedTypes.Pattern.assert(pattern); - if (namedTypes.Identifier.check(pattern)) { - if (hasOwn.call(types2, pattern.name)) { - types2[pattern.name].push(patternPath); - } else { - types2[pattern.name] = [patternPath]; - } - } - } - Sp.lookup = function(name) { - for (var scope = this; scope; scope = scope.parent) - if (scope.declares(name)) - break; - return scope; - }; - Sp.lookupType = function(name) { - for (var scope = this; scope; scope = scope.parent) - if (scope.declaresType(name)) - break; - return scope; - }; - Sp.getGlobalScope = function() { - var scope = this; - while (!scope.isGlobal) - scope = scope.parent; - return scope; - }; - return Scope; - } - exports.default = scopePlugin; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/node-path.js -var require_node_path = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/node-path.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var path_1 = tslib_1.__importDefault(require_path()); - var scope_1 = tslib_1.__importDefault(require_scope()); - function nodePathPlugin(fork) { - var types = fork.use(types_1.default); - var n = types.namedTypes; - var b = types.builders; - var isNumber2 = types.builtInTypes.number; - var isArray2 = types.builtInTypes.array; - var Path = fork.use(path_1.default); - var Scope = fork.use(scope_1.default); - var NodePath = function NodePath2(value, parentPath, name) { - if (!(this instanceof NodePath2)) { - throw new Error("NodePath constructor cannot be invoked without 'new'"); - } - Path.call(this, value, parentPath, name); - }; - var NPp = NodePath.prototype = Object.create(Path.prototype, { - constructor: { - value: NodePath, - enumerable: false, - writable: true, - configurable: true - } - }); - Object.defineProperties(NPp, { - node: { - get: function() { - Object.defineProperty(this, "node", { - configurable: true, - value: this._computeNode() - }); - return this.node; - } - }, - parent: { - get: function() { - Object.defineProperty(this, "parent", { - configurable: true, - value: this._computeParent() - }); - return this.parent; - } - }, - scope: { - get: function() { - Object.defineProperty(this, "scope", { - configurable: true, - value: this._computeScope() - }); - return this.scope; - } - } - }); - NPp.replace = function() { - delete this.node; - delete this.parent; - delete this.scope; - return Path.prototype.replace.apply(this, arguments); - }; - NPp.prune = function() { - var remainingNodePath = this.parent; - this.replace(); - return cleanUpNodesAfterPrune(remainingNodePath); - }; - NPp._computeNode = function() { - var value = this.value; - if (n.Node.check(value)) { - return value; - } - var pp = this.parentPath; - return pp && pp.node || null; - }; - NPp._computeParent = function() { - var value = this.value; - var pp = this.parentPath; - if (!n.Node.check(value)) { - while (pp && !n.Node.check(pp.value)) { - pp = pp.parentPath; - } - if (pp) { - pp = pp.parentPath; - } - } - while (pp && !n.Node.check(pp.value)) { - pp = pp.parentPath; - } - return pp || null; - }; - NPp._computeScope = function() { - var value = this.value; - var pp = this.parentPath; - var scope = pp && pp.scope; - if (n.Node.check(value) && Scope.isEstablishedBy(value)) { - scope = new Scope(this, scope); - } - return scope || null; - }; - NPp.getValueProperty = function(name) { - return types.getFieldValue(this.value, name); - }; - NPp.needsParens = function(assumeExpressionContext) { - var pp = this.parentPath; - if (!pp) { - return false; - } - var node = this.value; - if (!n.Expression.check(node)) { - return false; - } - if (node.type === "Identifier") { - return false; - } - while (!n.Node.check(pp.value)) { - pp = pp.parentPath; - if (!pp) { - return false; - } - } - var parent = pp.value; - switch (node.type) { - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - return parent.type === "MemberExpression" && this.name === "object" && parent.object === node; - case "BinaryExpression": - case "LogicalExpression": - switch (parent.type) { - case "CallExpression": - return this.name === "callee" && parent.callee === node; - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - return true; - case "MemberExpression": - return this.name === "object" && parent.object === node; - case "BinaryExpression": - case "LogicalExpression": { - var n_1 = node; - var po = parent.operator; - var pp_1 = PRECEDENCE[po]; - var no = n_1.operator; - var np = PRECEDENCE[no]; - if (pp_1 > np) { - return true; - } - if (pp_1 === np && this.name === "right") { - if (parent.right !== n_1) { - throw new Error("Nodes must be equal"); - } - return true; - } - } - default: - return false; - } - case "SequenceExpression": - switch (parent.type) { - case "ForStatement": - return false; - case "ExpressionStatement": - return this.name !== "expression"; - default: - return true; - } - case "YieldExpression": - switch (parent.type) { - case "BinaryExpression": - case "LogicalExpression": - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - case "CallExpression": - case "MemberExpression": - case "NewExpression": - case "ConditionalExpression": - case "YieldExpression": - return true; - default: - return false; - } - case "Literal": - return parent.type === "MemberExpression" && isNumber2.check(node.value) && this.name === "object" && parent.object === node; - case "AssignmentExpression": - case "ConditionalExpression": - switch (parent.type) { - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - case "BinaryExpression": - case "LogicalExpression": - return true; - case "CallExpression": - return this.name === "callee" && parent.callee === node; - case "ConditionalExpression": - return this.name === "test" && parent.test === node; - case "MemberExpression": - return this.name === "object" && parent.object === node; - default: - return false; - } - default: - if (parent.type === "NewExpression" && this.name === "callee" && parent.callee === node) { - return containsCallExpression(node); - } - } - if (assumeExpressionContext !== true && !this.canBeFirstInStatement() && this.firstInStatement()) - return true; - return false; - }; - function isBinary(node) { - return n.BinaryExpression.check(node) || n.LogicalExpression.check(node); - } - function isUnaryLike(node) { - return n.UnaryExpression.check(node) || n.SpreadElement && n.SpreadElement.check(node) || n.SpreadProperty && n.SpreadProperty.check(node); - } - var PRECEDENCE = {}; - [ - ["||"], - ["&&"], - ["|"], - ["^"], - ["&"], - ["==", "===", "!=", "!=="], - ["<", ">", "<=", ">=", "in", "instanceof"], - [">>", "<<", ">>>"], - ["+", "-"], - ["*", "/", "%"] - ].forEach(function(tier, i) { - tier.forEach(function(op) { - PRECEDENCE[op] = i; - }); - }); - function containsCallExpression(node) { - if (n.CallExpression.check(node)) { - return true; - } - if (isArray2.check(node)) { - return node.some(containsCallExpression); - } - if (n.Node.check(node)) { - return types.someField(node, function(_name, child) { - return containsCallExpression(child); - }); - } - return false; - } - NPp.canBeFirstInStatement = function() { - var node = this.node; - return !n.FunctionExpression.check(node) && !n.ObjectExpression.check(node); - }; - NPp.firstInStatement = function() { - return firstInStatement(this); - }; - function firstInStatement(path9) { - for (var node, parent; path9.parent; path9 = path9.parent) { - node = path9.node; - parent = path9.parent.node; - if (n.BlockStatement.check(parent) && path9.parent.name === "body" && path9.name === 0) { - if (parent.body[0] !== node) { - throw new Error("Nodes must be equal"); - } - return true; - } - if (n.ExpressionStatement.check(parent) && path9.name === "expression") { - if (parent.expression !== node) { - throw new Error("Nodes must be equal"); - } - return true; - } - if (n.SequenceExpression.check(parent) && path9.parent.name === "expressions" && path9.name === 0) { - if (parent.expressions[0] !== node) { - throw new Error("Nodes must be equal"); - } - continue; - } - if (n.CallExpression.check(parent) && path9.name === "callee") { - if (parent.callee !== node) { - throw new Error("Nodes must be equal"); - } - continue; - } - if (n.MemberExpression.check(parent) && path9.name === "object") { - if (parent.object !== node) { - throw new Error("Nodes must be equal"); - } - continue; - } - if (n.ConditionalExpression.check(parent) && path9.name === "test") { - if (parent.test !== node) { - throw new Error("Nodes must be equal"); - } - continue; - } - if (isBinary(parent) && path9.name === "left") { - if (parent.left !== node) { - throw new Error("Nodes must be equal"); - } - continue; - } - if (n.UnaryExpression.check(parent) && !parent.prefix && path9.name === "argument") { - if (parent.argument !== node) { - throw new Error("Nodes must be equal"); - } - continue; - } - return false; - } - return true; - } - function cleanUpNodesAfterPrune(remainingNodePath) { - if (n.VariableDeclaration.check(remainingNodePath.node)) { - var declarations = remainingNodePath.get("declarations").value; - if (!declarations || declarations.length === 0) { - return remainingNodePath.prune(); - } - } else if (n.ExpressionStatement.check(remainingNodePath.node)) { - if (!remainingNodePath.get("expression").value) { - return remainingNodePath.prune(); - } - } else if (n.IfStatement.check(remainingNodePath.node)) { - cleanUpIfStatementAfterPrune(remainingNodePath); - } - return remainingNodePath; - } - function cleanUpIfStatementAfterPrune(ifStatement) { - var testExpression = ifStatement.get("test").value; - var alternate = ifStatement.get("alternate").value; - var consequent = ifStatement.get("consequent").value; - if (!consequent && !alternate) { - var testExpressionStatement = b.expressionStatement(testExpression); - ifStatement.replace(testExpressionStatement); - } else if (!consequent && alternate) { - var negatedTestExpression = b.unaryExpression("!", testExpression, true); - if (n.UnaryExpression.check(testExpression) && testExpression.operator === "!") { - negatedTestExpression = testExpression.argument; - } - ifStatement.get("test").replace(negatedTestExpression); - ifStatement.get("consequent").replace(alternate); - ifStatement.get("alternate").replace(); - } - } - return NodePath; - } - exports.default = nodePathPlugin; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path-visitor.js -var require_path_visitor = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path-visitor.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var node_path_1 = tslib_1.__importDefault(require_node_path()); - var hasOwn = Object.prototype.hasOwnProperty; - function pathVisitorPlugin(fork) { - var types = fork.use(types_1.default); - var NodePath = fork.use(node_path_1.default); - var isArray2 = types.builtInTypes.array; - var isObject2 = types.builtInTypes.object; - var isFunction = types.builtInTypes.function; - var undefined2; - var PathVisitor = function PathVisitor2() { - if (!(this instanceof PathVisitor2)) { - throw new Error("PathVisitor constructor cannot be invoked without 'new'"); - } - this._reusableContextStack = []; - this._methodNameTable = computeMethodNameTable(this); - this._shouldVisitComments = hasOwn.call(this._methodNameTable, "Block") || hasOwn.call(this._methodNameTable, "Line"); - this.Context = makeContextConstructor(this); - this._visiting = false; - this._changeReported = false; - }; - function computeMethodNameTable(visitor) { - var typeNames = /* @__PURE__ */ Object.create(null); - for (var methodName in visitor) { - if (/^visit[A-Z]/.test(methodName)) { - typeNames[methodName.slice("visit".length)] = true; - } - } - var supertypeTable = types.computeSupertypeLookupTable(typeNames); - var methodNameTable = /* @__PURE__ */ Object.create(null); - var typeNameKeys = Object.keys(supertypeTable); - var typeNameCount = typeNameKeys.length; - for (var i = 0; i < typeNameCount; ++i) { - var typeName = typeNameKeys[i]; - methodName = "visit" + supertypeTable[typeName]; - if (isFunction.check(visitor[methodName])) { - methodNameTable[typeName] = methodName; - } - } - return methodNameTable; - } - PathVisitor.fromMethodsObject = function fromMethodsObject(methods) { - if (methods instanceof PathVisitor) { - return methods; - } - if (!isObject2.check(methods)) { - return new PathVisitor(); - } - var Visitor = function Visitor2() { - if (!(this instanceof Visitor2)) { - throw new Error("Visitor constructor cannot be invoked without 'new'"); - } - PathVisitor.call(this); - }; - var Vp = Visitor.prototype = Object.create(PVp); - Vp.constructor = Visitor; - extend(Vp, methods); - extend(Visitor, PathVisitor); - isFunction.assert(Visitor.fromMethodsObject); - isFunction.assert(Visitor.visit); - return new Visitor(); - }; - function extend(target, source) { - for (var property in source) { - if (hasOwn.call(source, property)) { - target[property] = source[property]; - } - } - return target; - } - PathVisitor.visit = function visit(node, methods) { - return PathVisitor.fromMethodsObject(methods).visit(node); - }; - var PVp = PathVisitor.prototype; - PVp.visit = function() { - if (this._visiting) { - throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead."); - } - this._visiting = true; - this._changeReported = false; - this._abortRequested = false; - var argc = arguments.length; - var args = new Array(argc); - for (var i = 0; i < argc; ++i) { - args[i] = arguments[i]; - } - if (!(args[0] instanceof NodePath)) { - args[0] = new NodePath({ root: args[0] }).get("root"); - } - this.reset.apply(this, args); - var didNotThrow; - try { - var root = this.visitWithoutReset(args[0]); - didNotThrow = true; - } finally { - this._visiting = false; - if (!didNotThrow && this._abortRequested) { - return args[0].value; - } - } - return root; - }; - PVp.AbortRequest = function AbortRequest() { - }; - PVp.abort = function() { - var visitor = this; - visitor._abortRequested = true; - var request = new visitor.AbortRequest(); - request.cancel = function() { - visitor._abortRequested = false; - }; - throw request; - }; - PVp.reset = function(_path) { - }; - PVp.visitWithoutReset = function(path9) { - if (this instanceof this.Context) { - return this.visitor.visitWithoutReset(path9); - } - if (!(path9 instanceof NodePath)) { - throw new Error(""); - } - var value = path9.value; - var methodName = value && typeof value === "object" && typeof value.type === "string" && this._methodNameTable[value.type]; - if (methodName) { - var context = this.acquireContext(path9); - try { - return context.invokeVisitorMethod(methodName); - } finally { - this.releaseContext(context); - } - } else { - return visitChildren(path9, this); - } - }; - function visitChildren(path9, visitor) { - if (!(path9 instanceof NodePath)) { - throw new Error(""); - } - if (!(visitor instanceof PathVisitor)) { - throw new Error(""); - } - var value = path9.value; - if (isArray2.check(value)) { - path9.each(visitor.visitWithoutReset, visitor); - } else if (!isObject2.check(value)) { - } else { - var childNames = types.getFieldNames(value); - if (visitor._shouldVisitComments && value.comments && childNames.indexOf("comments") < 0) { - childNames.push("comments"); - } - var childCount = childNames.length; - var childPaths = []; - for (var i = 0; i < childCount; ++i) { - var childName = childNames[i]; - if (!hasOwn.call(value, childName)) { - value[childName] = types.getFieldValue(value, childName); - } - childPaths.push(path9.get(childName)); - } - for (var i = 0; i < childCount; ++i) { - visitor.visitWithoutReset(childPaths[i]); - } - } - return path9.value; - } - PVp.acquireContext = function(path9) { - if (this._reusableContextStack.length === 0) { - return new this.Context(path9); - } - return this._reusableContextStack.pop().reset(path9); - }; - PVp.releaseContext = function(context) { - if (!(context instanceof this.Context)) { - throw new Error(""); - } - this._reusableContextStack.push(context); - context.currentPath = null; - }; - PVp.reportChanged = function() { - this._changeReported = true; - }; - PVp.wasChangeReported = function() { - return this._changeReported; - }; - function makeContextConstructor(visitor) { - function Context(path9) { - if (!(this instanceof Context)) { - throw new Error(""); - } - if (!(this instanceof PathVisitor)) { - throw new Error(""); - } - if (!(path9 instanceof NodePath)) { - throw new Error(""); - } - Object.defineProperty(this, "visitor", { - value: visitor, - writable: false, - enumerable: true, - configurable: false - }); - this.currentPath = path9; - this.needToCallTraverse = true; - Object.seal(this); - } - if (!(visitor instanceof PathVisitor)) { - throw new Error(""); - } - var Cp = Context.prototype = Object.create(visitor); - Cp.constructor = Context; - extend(Cp, sharedContextProtoMethods); - return Context; - } - var sharedContextProtoMethods = /* @__PURE__ */ Object.create(null); - sharedContextProtoMethods.reset = function reset(path9) { - if (!(this instanceof this.Context)) { - throw new Error(""); - } - if (!(path9 instanceof NodePath)) { - throw new Error(""); - } - this.currentPath = path9; - this.needToCallTraverse = true; - return this; - }; - sharedContextProtoMethods.invokeVisitorMethod = function invokeVisitorMethod(methodName) { - if (!(this instanceof this.Context)) { - throw new Error(""); - } - if (!(this.currentPath instanceof NodePath)) { - throw new Error(""); - } - var result = this.visitor[methodName].call(this, this.currentPath); - if (result === false) { - this.needToCallTraverse = false; - } else if (result !== undefined2) { - this.currentPath = this.currentPath.replace(result)[0]; - if (this.needToCallTraverse) { - this.traverse(this.currentPath); - } - } - if (this.needToCallTraverse !== false) { - throw new Error("Must either call this.traverse or return false in " + methodName); - } - var path9 = this.currentPath; - return path9 && path9.value; - }; - sharedContextProtoMethods.traverse = function traverse(path9, newVisitor) { - if (!(this instanceof this.Context)) { - throw new Error(""); - } - if (!(path9 instanceof NodePath)) { - throw new Error(""); - } - if (!(this.currentPath instanceof NodePath)) { - throw new Error(""); - } - this.needToCallTraverse = false; - return visitChildren(path9, PathVisitor.fromMethodsObject(newVisitor || this.visitor)); - }; - sharedContextProtoMethods.visit = function visit(path9, newVisitor) { - if (!(this instanceof this.Context)) { - throw new Error(""); - } - if (!(path9 instanceof NodePath)) { - throw new Error(""); - } - if (!(this.currentPath instanceof NodePath)) { - throw new Error(""); - } - this.needToCallTraverse = false; - return PathVisitor.fromMethodsObject(newVisitor || this.visitor).visitWithoutReset(path9); - }; - sharedContextProtoMethods.reportChanged = function reportChanged() { - this.visitor.reportChanged(); - }; - sharedContextProtoMethods.abort = function abort() { - this.needToCallTraverse = false; - this.visitor.abort(); - }; - return PathVisitor; - } - exports.default = pathVisitorPlugin; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/equiv.js -var require_equiv = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/equiv.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - function default_1(fork) { - var types = fork.use(types_1.default); - var getFieldNames = types.getFieldNames; - var getFieldValue = types.getFieldValue; - var isArray2 = types.builtInTypes.array; - var isObject2 = types.builtInTypes.object; - var isDate2 = types.builtInTypes.Date; - var isRegExp = types.builtInTypes.RegExp; - var hasOwn = Object.prototype.hasOwnProperty; - function astNodesAreEquivalent(a, b, problemPath) { - if (isArray2.check(problemPath)) { - problemPath.length = 0; - } else { - problemPath = null; - } - return areEquivalent(a, b, problemPath); - } - astNodesAreEquivalent.assert = function(a, b) { - var problemPath = []; - if (!astNodesAreEquivalent(a, b, problemPath)) { - if (problemPath.length === 0) { - if (a !== b) { - throw new Error("Nodes must be equal"); - } - } else { - throw new Error("Nodes differ in the following path: " + problemPath.map(subscriptForProperty).join("")); - } - } - }; - function subscriptForProperty(property) { - if (/[_$a-z][_$a-z0-9]*/i.test(property)) { - return "." + property; - } - return "[" + JSON.stringify(property) + "]"; - } - function areEquivalent(a, b, problemPath) { - if (a === b) { - return true; - } - if (isArray2.check(a)) { - return arraysAreEquivalent(a, b, problemPath); - } - if (isObject2.check(a)) { - return objectsAreEquivalent(a, b, problemPath); - } - if (isDate2.check(a)) { - return isDate2.check(b) && +a === +b; - } - if (isRegExp.check(a)) { - return isRegExp.check(b) && (a.source === b.source && a.global === b.global && a.multiline === b.multiline && a.ignoreCase === b.ignoreCase); - } - return a == b; - } - function arraysAreEquivalent(a, b, problemPath) { - isArray2.assert(a); - var aLength = a.length; - if (!isArray2.check(b) || b.length !== aLength) { - if (problemPath) { - problemPath.push("length"); - } - return false; - } - for (var i = 0; i < aLength; ++i) { - if (problemPath) { - problemPath.push(i); - } - if (i in a !== i in b) { - return false; - } - if (!areEquivalent(a[i], b[i], problemPath)) { - return false; - } - if (problemPath) { - var problemPathTail = problemPath.pop(); - if (problemPathTail !== i) { - throw new Error("" + problemPathTail); - } - } - } - return true; - } - function objectsAreEquivalent(a, b, problemPath) { - isObject2.assert(a); - if (!isObject2.check(b)) { - return false; - } - if (a.type !== b.type) { - if (problemPath) { - problemPath.push("type"); - } - return false; - } - var aNames = getFieldNames(a); - var aNameCount = aNames.length; - var bNames = getFieldNames(b); - var bNameCount = bNames.length; - if (aNameCount === bNameCount) { - for (var i = 0; i < aNameCount; ++i) { - var name = aNames[i]; - var aChild = getFieldValue(a, name); - var bChild = getFieldValue(b, name); - if (problemPath) { - problemPath.push(name); - } - if (!areEquivalent(aChild, bChild, problemPath)) { - return false; - } - if (problemPath) { - var problemPathTail = problemPath.pop(); - if (problemPathTail !== name) { - throw new Error("" + problemPathTail); - } - } - } - return true; - } - if (!problemPath) { - return false; - } - var seenNames = /* @__PURE__ */ Object.create(null); - for (i = 0; i < aNameCount; ++i) { - seenNames[aNames[i]] = true; - } - for (i = 0; i < bNameCount; ++i) { - name = bNames[i]; - if (!hasOwn.call(seenNames, name)) { - problemPath.push(name); - return false; - } - delete seenNames[name]; - } - for (name in seenNames) { - problemPath.push(name); - break; - } - return false; - } - return astNodesAreEquivalent; - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/fork.js -var require_fork = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/fork.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var path_visitor_1 = tslib_1.__importDefault(require_path_visitor()); - var equiv_1 = tslib_1.__importDefault(require_equiv()); - var path_1 = tslib_1.__importDefault(require_path()); - var node_path_1 = tslib_1.__importDefault(require_node_path()); - function default_1(defs) { - var fork = createFork(); - var types = fork.use(types_1.default); - defs.forEach(fork.use); - types.finalize(); - var PathVisitor = fork.use(path_visitor_1.default); - return { - Type: types.Type, - builtInTypes: types.builtInTypes, - namedTypes: types.namedTypes, - builders: types.builders, - defineMethod: types.defineMethod, - getFieldNames: types.getFieldNames, - getFieldValue: types.getFieldValue, - eachField: types.eachField, - someField: types.someField, - getSupertypeNames: types.getSupertypeNames, - getBuilderName: types.getBuilderName, - astNodesAreEquivalent: fork.use(equiv_1.default), - finalize: types.finalize, - Path: fork.use(path_1.default), - NodePath: fork.use(node_path_1.default), - PathVisitor, - use: fork.use, - visit: PathVisitor.visit - }; - } - exports.default = default_1; - function createFork() { - var used = []; - var usedResult = []; - function use(plugin) { - var idx = used.indexOf(plugin); - if (idx === -1) { - idx = used.length; - used.push(plugin); - usedResult[idx] = plugin(fork); - } - return usedResult[idx]; - } - var fork = { use }; - return fork; - } - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/shared.js -var require_shared = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/shared.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - function default_1(fork) { - var types = fork.use(types_1.default); - var Type = types.Type; - var builtin = types.builtInTypes; - var isNumber2 = builtin.number; - function geq(than) { - return Type.from(function(value) { - return isNumber2.check(value) && value >= than; - }, isNumber2 + " >= " + than); - } - ; - var defaults = { - // Functions were used because (among other reasons) that's the most - // elegant way to allow for the emptyArray one always to give a new - // array instance. - "null": function() { - return null; - }, - "emptyArray": function() { - return []; - }, - "false": function() { - return false; - }, - "true": function() { - return true; - }, - "undefined": function() { - }, - "use strict": function() { - return "use strict"; - } - }; - var naiveIsPrimitive = Type.or(builtin.string, builtin.number, builtin.boolean, builtin.null, builtin.undefined); - var isPrimitive = Type.from(function(value) { - if (value === null) - return true; - var type = typeof value; - if (type === "object" || type === "function") { - return false; - } - return true; - }, naiveIsPrimitive.toString()); - return { - geq, - defaults, - isPrimitive - }; - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/core.js -var require_core = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/core.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - var types = fork.use(types_1.default); - var Type = types.Type; - var def = Type.def; - var or = Type.or; - var shared = fork.use(shared_1.default); - var defaults = shared.defaults; - var geq = shared.geq; - def("Printable").field("loc", or(def("SourceLocation"), null), defaults["null"], true); - def("Node").bases("Printable").field("type", String).field("comments", or([def("Comment")], null), defaults["null"], true); - def("SourceLocation").field("start", def("Position")).field("end", def("Position")).field("source", or(String, null), defaults["null"]); - def("Position").field("line", geq(1)).field("column", geq(0)); - def("File").bases("Node").build("program", "name").field("program", def("Program")).field("name", or(String, null), defaults["null"]); - def("Program").bases("Node").build("body").field("body", [def("Statement")]); - def("Function").bases("Node").field("id", or(def("Identifier"), null), defaults["null"]).field("params", [def("Pattern")]).field("body", def("BlockStatement")).field("generator", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]); - def("Statement").bases("Node"); - def("EmptyStatement").bases("Statement").build(); - def("BlockStatement").bases("Statement").build("body").field("body", [def("Statement")]); - def("ExpressionStatement").bases("Statement").build("expression").field("expression", def("Expression")); - def("IfStatement").bases("Statement").build("test", "consequent", "alternate").field("test", def("Expression")).field("consequent", def("Statement")).field("alternate", or(def("Statement"), null), defaults["null"]); - def("LabeledStatement").bases("Statement").build("label", "body").field("label", def("Identifier")).field("body", def("Statement")); - def("BreakStatement").bases("Statement").build("label").field("label", or(def("Identifier"), null), defaults["null"]); - def("ContinueStatement").bases("Statement").build("label").field("label", or(def("Identifier"), null), defaults["null"]); - def("WithStatement").bases("Statement").build("object", "body").field("object", def("Expression")).field("body", def("Statement")); - def("SwitchStatement").bases("Statement").build("discriminant", "cases", "lexical").field("discriminant", def("Expression")).field("cases", [def("SwitchCase")]).field("lexical", Boolean, defaults["false"]); - def("ReturnStatement").bases("Statement").build("argument").field("argument", or(def("Expression"), null)); - def("ThrowStatement").bases("Statement").build("argument").field("argument", def("Expression")); - def("TryStatement").bases("Statement").build("block", "handler", "finalizer").field("block", def("BlockStatement")).field("handler", or(def("CatchClause"), null), function() { - return this.handlers && this.handlers[0] || null; - }).field("handlers", [def("CatchClause")], function() { - return this.handler ? [this.handler] : []; - }, true).field("guardedHandlers", [def("CatchClause")], defaults.emptyArray).field("finalizer", or(def("BlockStatement"), null), defaults["null"]); - def("CatchClause").bases("Node").build("param", "guard", "body").field("param", or(def("Pattern"), null), defaults["null"]).field("guard", or(def("Expression"), null), defaults["null"]).field("body", def("BlockStatement")); - def("WhileStatement").bases("Statement").build("test", "body").field("test", def("Expression")).field("body", def("Statement")); - def("DoWhileStatement").bases("Statement").build("body", "test").field("body", def("Statement")).field("test", def("Expression")); - def("ForStatement").bases("Statement").build("init", "test", "update", "body").field("init", or(def("VariableDeclaration"), def("Expression"), null)).field("test", or(def("Expression"), null)).field("update", or(def("Expression"), null)).field("body", def("Statement")); - def("ForInStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Expression"))).field("right", def("Expression")).field("body", def("Statement")); - def("DebuggerStatement").bases("Statement").build(); - def("Declaration").bases("Statement"); - def("FunctionDeclaration").bases("Function", "Declaration").build("id", "params", "body").field("id", def("Identifier")); - def("FunctionExpression").bases("Function", "Expression").build("id", "params", "body"); - def("VariableDeclaration").bases("Declaration").build("kind", "declarations").field("kind", or("var", "let", "const")).field("declarations", [def("VariableDeclarator")]); - def("VariableDeclarator").bases("Node").build("id", "init").field("id", def("Pattern")).field("init", or(def("Expression"), null), defaults["null"]); - def("Expression").bases("Node"); - def("ThisExpression").bases("Expression").build(); - def("ArrayExpression").bases("Expression").build("elements").field("elements", [or(def("Expression"), null)]); - def("ObjectExpression").bases("Expression").build("properties").field("properties", [def("Property")]); - def("Property").bases("Node").build("kind", "key", "value").field("kind", or("init", "get", "set")).field("key", or(def("Literal"), def("Identifier"))).field("value", def("Expression")); - def("SequenceExpression").bases("Expression").build("expressions").field("expressions", [def("Expression")]); - var UnaryOperator = or("-", "+", "!", "~", "typeof", "void", "delete"); - def("UnaryExpression").bases("Expression").build("operator", "argument", "prefix").field("operator", UnaryOperator).field("argument", def("Expression")).field("prefix", Boolean, defaults["true"]); - var BinaryOperator = or( - "==", - "!=", - "===", - "!==", - "<", - "<=", - ">", - ">=", - "<<", - ">>", - ">>>", - "+", - "-", - "*", - "/", - "%", - "**", - "&", - // TODO Missing from the Parser API. - "|", - "^", - "in", - "instanceof" - ); - def("BinaryExpression").bases("Expression").build("operator", "left", "right").field("operator", BinaryOperator).field("left", def("Expression")).field("right", def("Expression")); - var AssignmentOperator = or("=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "|=", "^=", "&="); - def("AssignmentExpression").bases("Expression").build("operator", "left", "right").field("operator", AssignmentOperator).field("left", or(def("Pattern"), def("MemberExpression"))).field("right", def("Expression")); - var UpdateOperator = or("++", "--"); - def("UpdateExpression").bases("Expression").build("operator", "argument", "prefix").field("operator", UpdateOperator).field("argument", def("Expression")).field("prefix", Boolean); - var LogicalOperator = or("||", "&&"); - def("LogicalExpression").bases("Expression").build("operator", "left", "right").field("operator", LogicalOperator).field("left", def("Expression")).field("right", def("Expression")); - def("ConditionalExpression").bases("Expression").build("test", "consequent", "alternate").field("test", def("Expression")).field("consequent", def("Expression")).field("alternate", def("Expression")); - def("NewExpression").bases("Expression").build("callee", "arguments").field("callee", def("Expression")).field("arguments", [def("Expression")]); - def("CallExpression").bases("Expression").build("callee", "arguments").field("callee", def("Expression")).field("arguments", [def("Expression")]); - def("MemberExpression").bases("Expression").build("object", "property", "computed").field("object", def("Expression")).field("property", or(def("Identifier"), def("Expression"))).field("computed", Boolean, function() { - var type = this.property.type; - if (type === "Literal" || type === "MemberExpression" || type === "BinaryExpression") { - return true; - } - return false; - }); - def("Pattern").bases("Node"); - def("SwitchCase").bases("Node").build("test", "consequent").field("test", or(def("Expression"), null)).field("consequent", [def("Statement")]); - def("Identifier").bases("Expression", "Pattern").build("name").field("name", String).field("optional", Boolean, defaults["false"]); - def("Literal").bases("Expression").build("value").field("value", or(String, Boolean, null, Number, RegExp)).field("regex", or({ - pattern: String, - flags: String - }, null), function() { - if (this.value instanceof RegExp) { - var flags = ""; - if (this.value.ignoreCase) - flags += "i"; - if (this.value.multiline) - flags += "m"; - if (this.value.global) - flags += "g"; - return { - pattern: this.value.source, - flags - }; - } - return null; - }); - def("Comment").bases("Printable").field("value", String).field("leading", Boolean, defaults["true"]).field("trailing", Boolean, defaults["false"]); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es6.js -var require_es6 = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es6.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var core_1 = tslib_1.__importDefault(require_core()); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - fork.use(core_1.default); - var types = fork.use(types_1.default); - var def = types.Type.def; - var or = types.Type.or; - var defaults = fork.use(shared_1.default).defaults; - def("Function").field("generator", Boolean, defaults["false"]).field("expression", Boolean, defaults["false"]).field("defaults", [or(def("Expression"), null)], defaults.emptyArray).field("rest", or(def("Identifier"), null), defaults["null"]); - def("RestElement").bases("Pattern").build("argument").field("argument", def("Pattern")).field( - "typeAnnotation", - // for Babylon. Flow parser puts it on the identifier - or(def("TypeAnnotation"), def("TSTypeAnnotation"), null), - defaults["null"] - ); - def("SpreadElementPattern").bases("Pattern").build("argument").field("argument", def("Pattern")); - def("FunctionDeclaration").build("id", "params", "body", "generator", "expression"); - def("FunctionExpression").build("id", "params", "body", "generator", "expression"); - def("ArrowFunctionExpression").bases("Function", "Expression").build("params", "body", "expression").field("id", null, defaults["null"]).field("body", or(def("BlockStatement"), def("Expression"))).field("generator", false, defaults["false"]); - def("ForOfStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Pattern"))).field("right", def("Expression")).field("body", def("Statement")); - def("YieldExpression").bases("Expression").build("argument", "delegate").field("argument", or(def("Expression"), null)).field("delegate", Boolean, defaults["false"]); - def("GeneratorExpression").bases("Expression").build("body", "blocks", "filter").field("body", def("Expression")).field("blocks", [def("ComprehensionBlock")]).field("filter", or(def("Expression"), null)); - def("ComprehensionExpression").bases("Expression").build("body", "blocks", "filter").field("body", def("Expression")).field("blocks", [def("ComprehensionBlock")]).field("filter", or(def("Expression"), null)); - def("ComprehensionBlock").bases("Node").build("left", "right", "each").field("left", def("Pattern")).field("right", def("Expression")).field("each", Boolean); - def("Property").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("value", or(def("Expression"), def("Pattern"))).field("method", Boolean, defaults["false"]).field("shorthand", Boolean, defaults["false"]).field("computed", Boolean, defaults["false"]); - def("ObjectProperty").field("shorthand", Boolean, defaults["false"]); - def("PropertyPattern").bases("Pattern").build("key", "pattern").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("pattern", def("Pattern")).field("computed", Boolean, defaults["false"]); - def("ObjectPattern").bases("Pattern").build("properties").field("properties", [or(def("PropertyPattern"), def("Property"))]); - def("ArrayPattern").bases("Pattern").build("elements").field("elements", [or(def("Pattern"), null)]); - def("MethodDefinition").bases("Declaration").build("kind", "key", "value", "static").field("kind", or("constructor", "method", "get", "set")).field("key", def("Expression")).field("value", def("Function")).field("computed", Boolean, defaults["false"]).field("static", Boolean, defaults["false"]); - def("SpreadElement").bases("Node").build("argument").field("argument", def("Expression")); - def("ArrayExpression").field("elements", [or(def("Expression"), def("SpreadElement"), def("RestElement"), null)]); - def("NewExpression").field("arguments", [or(def("Expression"), def("SpreadElement"))]); - def("CallExpression").field("arguments", [or(def("Expression"), def("SpreadElement"))]); - def("AssignmentPattern").bases("Pattern").build("left", "right").field("left", def("Pattern")).field("right", def("Expression")); - var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty")); - def("ClassProperty").bases("Declaration").build("key").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("computed", Boolean, defaults["false"]); - def("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition", ClassBodyElement); - def("ClassBody").bases("Declaration").build("body").field("body", [ClassBodyElement]); - def("ClassDeclaration").bases("Declaration").build("id", "body", "superClass").field("id", or(def("Identifier"), null)).field("body", def("ClassBody")).field("superClass", or(def("Expression"), null), defaults["null"]); - def("ClassExpression").bases("Expression").build("id", "body", "superClass").field("id", or(def("Identifier"), null), defaults["null"]).field("body", def("ClassBody")).field("superClass", or(def("Expression"), null), defaults["null"]); - def("Specifier").bases("Node"); - def("ModuleSpecifier").bases("Specifier").field("local", or(def("Identifier"), null), defaults["null"]).field("id", or(def("Identifier"), null), defaults["null"]).field("name", or(def("Identifier"), null), defaults["null"]); - def("ImportSpecifier").bases("ModuleSpecifier").build("id", "name"); - def("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"); - def("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"); - def("ImportDeclaration").bases("Declaration").build("specifiers", "source", "importKind").field("specifiers", [or(def("ImportSpecifier"), def("ImportNamespaceSpecifier"), def("ImportDefaultSpecifier"))], defaults.emptyArray).field("source", def("Literal")).field("importKind", or("value", "type"), function() { - return "value"; - }); - def("TaggedTemplateExpression").bases("Expression").build("tag", "quasi").field("tag", def("Expression")).field("quasi", def("TemplateLiteral")); - def("TemplateLiteral").bases("Expression").build("quasis", "expressions").field("quasis", [def("TemplateElement")]).field("expressions", [def("Expression")]); - def("TemplateElement").bases("Node").build("value", "tail").field("value", { "cooked": String, "raw": String }).field("tail", Boolean); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es7.js -var require_es7 = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es7.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var es6_1 = tslib_1.__importDefault(require_es6()); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - fork.use(es6_1.default); - var types = fork.use(types_1.default); - var def = types.Type.def; - var or = types.Type.or; - var defaults = fork.use(shared_1.default).defaults; - def("Function").field("async", Boolean, defaults["false"]); - def("SpreadProperty").bases("Node").build("argument").field("argument", def("Expression")); - def("ObjectExpression").field("properties", [or(def("Property"), def("SpreadProperty"), def("SpreadElement"))]); - def("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument", def("Pattern")); - def("ObjectPattern").field("properties", [or(def("Property"), def("PropertyPattern"), def("SpreadPropertyPattern"))]); - def("AwaitExpression").bases("Expression").build("argument", "all").field("argument", or(def("Expression"), null)).field("all", Boolean, defaults["false"]); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es2020.js -var require_es2020 = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es2020.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var es7_1 = tslib_1.__importDefault(require_es7()); - var types_1 = tslib_1.__importDefault(require_types()); - function default_1(fork) { - fork.use(es7_1.default); - var types = fork.use(types_1.default); - var def = types.Type.def; - def("ImportExpression").bases("Expression").build("source").field("source", def("Expression")); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/jsx.js -var require_jsx = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/jsx.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var es7_1 = tslib_1.__importDefault(require_es7()); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - fork.use(es7_1.default); - var types = fork.use(types_1.default); - var def = types.Type.def; - var or = types.Type.or; - var defaults = fork.use(shared_1.default).defaults; - def("JSXAttribute").bases("Node").build("name", "value").field("name", or(def("JSXIdentifier"), def("JSXNamespacedName"))).field("value", or( - def("Literal"), - // attr="value" - def("JSXExpressionContainer"), - // attr={value} - null - // attr= or just attr - ), defaults["null"]); - def("JSXIdentifier").bases("Identifier").build("name").field("name", String); - def("JSXNamespacedName").bases("Node").build("namespace", "name").field("namespace", def("JSXIdentifier")).field("name", def("JSXIdentifier")); - def("JSXMemberExpression").bases("MemberExpression").build("object", "property").field("object", or(def("JSXIdentifier"), def("JSXMemberExpression"))).field("property", def("JSXIdentifier")).field("computed", Boolean, defaults.false); - var JSXElementName = or(def("JSXIdentifier"), def("JSXNamespacedName"), def("JSXMemberExpression")); - def("JSXSpreadAttribute").bases("Node").build("argument").field("argument", def("Expression")); - var JSXAttributes = [or(def("JSXAttribute"), def("JSXSpreadAttribute"))]; - def("JSXExpressionContainer").bases("Expression").build("expression").field("expression", def("Expression")); - def("JSXElement").bases("Expression").build("openingElement", "closingElement", "children").field("openingElement", def("JSXOpeningElement")).field("closingElement", or(def("JSXClosingElement"), null), defaults["null"]).field("children", [or( - def("JSXElement"), - def("JSXExpressionContainer"), - def("JSXFragment"), - def("JSXText"), - def("Literal") - // TODO Esprima should return JSXText instead. - )], defaults.emptyArray).field("name", JSXElementName, function() { - return this.openingElement.name; - }, true).field("selfClosing", Boolean, function() { - return this.openingElement.selfClosing; - }, true).field("attributes", JSXAttributes, function() { - return this.openingElement.attributes; - }, true); - def("JSXOpeningElement").bases("Node").build("name", "attributes", "selfClosing").field("name", JSXElementName).field("attributes", JSXAttributes, defaults.emptyArray).field("selfClosing", Boolean, defaults["false"]); - def("JSXClosingElement").bases("Node").build("name").field("name", JSXElementName); - def("JSXFragment").bases("Expression").build("openingElement", "closingElement", "children").field("openingElement", def("JSXOpeningFragment")).field("closingElement", def("JSXClosingFragment")).field("children", [or( - def("JSXElement"), - def("JSXExpressionContainer"), - def("JSXFragment"), - def("JSXText"), - def("Literal") - // TODO Esprima should return JSXText instead. - )], defaults.emptyArray); - def("JSXOpeningFragment").bases("Node").build(); - def("JSXClosingFragment").bases("Node").build(); - def("JSXText").bases("Literal").build("value").field("value", String); - def("JSXEmptyExpression").bases("Expression").build(); - def("JSXSpreadChild").bases("Expression").build("expression").field("expression", def("Expression")); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/type-annotations.js -var require_type_annotations = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/type-annotations.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - var types = fork.use(types_1.default); - var def = types.Type.def; - var or = types.Type.or; - var defaults = fork.use(shared_1.default).defaults; - var TypeAnnotation = or(def("TypeAnnotation"), def("TSTypeAnnotation"), null); - var TypeParamDecl = or(def("TypeParameterDeclaration"), def("TSTypeParameterDeclaration"), null); - def("Identifier").field("typeAnnotation", TypeAnnotation, defaults["null"]); - def("ObjectPattern").field("typeAnnotation", TypeAnnotation, defaults["null"]); - def("Function").field("returnType", TypeAnnotation, defaults["null"]).field("typeParameters", TypeParamDecl, defaults["null"]); - def("ClassProperty").build("key", "value", "typeAnnotation", "static").field("value", or(def("Expression"), null)).field("static", Boolean, defaults["false"]).field("typeAnnotation", TypeAnnotation, defaults["null"]); - [ - "ClassDeclaration", - "ClassExpression" - ].forEach(function(typeName) { - def(typeName).field("typeParameters", TypeParamDecl, defaults["null"]).field("superTypeParameters", or(def("TypeParameterInstantiation"), def("TSTypeParameterInstantiation"), null), defaults["null"]).field("implements", or([def("ClassImplements")], [def("TSExpressionWithTypeArguments")]), defaults.emptyArray); - }); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/flow.js -var require_flow = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/flow.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var es7_1 = tslib_1.__importDefault(require_es7()); - var type_annotations_1 = tslib_1.__importDefault(require_type_annotations()); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - fork.use(es7_1.default); - fork.use(type_annotations_1.default); - var types = fork.use(types_1.default); - var def = types.Type.def; - var or = types.Type.or; - var defaults = fork.use(shared_1.default).defaults; - def("Flow").bases("Node"); - def("FlowType").bases("Flow"); - def("AnyTypeAnnotation").bases("FlowType").build(); - def("EmptyTypeAnnotation").bases("FlowType").build(); - def("MixedTypeAnnotation").bases("FlowType").build(); - def("VoidTypeAnnotation").bases("FlowType").build(); - def("NumberTypeAnnotation").bases("FlowType").build(); - def("NumberLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Number).field("raw", String); - def("NumericLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Number).field("raw", String); - def("StringTypeAnnotation").bases("FlowType").build(); - def("StringLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", String).field("raw", String); - def("BooleanTypeAnnotation").bases("FlowType").build(); - def("BooleanLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Boolean).field("raw", String); - def("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation", def("FlowType")); - def("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation", def("FlowType")); - def("NullLiteralTypeAnnotation").bases("FlowType").build(); - def("NullTypeAnnotation").bases("FlowType").build(); - def("ThisTypeAnnotation").bases("FlowType").build(); - def("ExistsTypeAnnotation").bases("FlowType").build(); - def("ExistentialTypeParam").bases("FlowType").build(); - def("FunctionTypeAnnotation").bases("FlowType").build("params", "returnType", "rest", "typeParameters").field("params", [def("FunctionTypeParam")]).field("returnType", def("FlowType")).field("rest", or(def("FunctionTypeParam"), null)).field("typeParameters", or(def("TypeParameterDeclaration"), null)); - def("FunctionTypeParam").bases("Node").build("name", "typeAnnotation", "optional").field("name", def("Identifier")).field("typeAnnotation", def("FlowType")).field("optional", Boolean); - def("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType", def("FlowType")); - def("ObjectTypeAnnotation").bases("FlowType").build("properties", "indexers", "callProperties").field("properties", [ - or(def("ObjectTypeProperty"), def("ObjectTypeSpreadProperty")) - ]).field("indexers", [def("ObjectTypeIndexer")], defaults.emptyArray).field("callProperties", [def("ObjectTypeCallProperty")], defaults.emptyArray).field("inexact", or(Boolean, void 0), defaults["undefined"]).field("exact", Boolean, defaults["false"]).field("internalSlots", [def("ObjectTypeInternalSlot")], defaults.emptyArray); - def("Variance").bases("Node").build("kind").field("kind", or("plus", "minus")); - var LegacyVariance = or(def("Variance"), "plus", "minus", null); - def("ObjectTypeProperty").bases("Node").build("key", "value", "optional").field("key", or(def("Literal"), def("Identifier"))).field("value", def("FlowType")).field("optional", Boolean).field("variance", LegacyVariance, defaults["null"]); - def("ObjectTypeIndexer").bases("Node").build("id", "key", "value").field("id", def("Identifier")).field("key", def("FlowType")).field("value", def("FlowType")).field("variance", LegacyVariance, defaults["null"]); - def("ObjectTypeCallProperty").bases("Node").build("value").field("value", def("FunctionTypeAnnotation")).field("static", Boolean, defaults["false"]); - def("QualifiedTypeIdentifier").bases("Node").build("qualification", "id").field("qualification", or(def("Identifier"), def("QualifiedTypeIdentifier"))).field("id", def("Identifier")); - def("GenericTypeAnnotation").bases("FlowType").build("id", "typeParameters").field("id", or(def("Identifier"), def("QualifiedTypeIdentifier"))).field("typeParameters", or(def("TypeParameterInstantiation"), null)); - def("MemberTypeAnnotation").bases("FlowType").build("object", "property").field("object", def("Identifier")).field("property", or(def("MemberTypeAnnotation"), def("GenericTypeAnnotation"))); - def("UnionTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]); - def("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]); - def("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument", def("FlowType")); - def("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument", def("FlowType")); - def("ObjectTypeInternalSlot").bases("Node").build("id", "value", "optional", "static", "method").field("id", def("Identifier")).field("value", def("FlowType")).field("optional", Boolean).field("static", Boolean).field("method", Boolean); - def("TypeParameterDeclaration").bases("Node").build("params").field("params", [def("TypeParameter")]); - def("TypeParameterInstantiation").bases("Node").build("params").field("params", [def("FlowType")]); - def("TypeParameter").bases("FlowType").build("name", "variance", "bound").field("name", String).field("variance", LegacyVariance, defaults["null"]).field("bound", or(def("TypeAnnotation"), null), defaults["null"]); - def("ClassProperty").field("variance", LegacyVariance, defaults["null"]); - def("ClassImplements").bases("Node").build("id").field("id", def("Identifier")).field("superClass", or(def("Expression"), null), defaults["null"]).field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]); - def("InterfaceTypeAnnotation").bases("FlowType").build("body", "extends").field("body", def("ObjectTypeAnnotation")).field("extends", or([def("InterfaceExtends")], null), defaults["null"]); - def("InterfaceDeclaration").bases("Declaration").build("id", "body", "extends").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null), defaults["null"]).field("body", def("ObjectTypeAnnotation")).field("extends", [def("InterfaceExtends")]); - def("DeclareInterface").bases("InterfaceDeclaration").build("id", "body", "extends"); - def("InterfaceExtends").bases("Node").build("id").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]); - def("TypeAlias").bases("Declaration").build("id", "typeParameters", "right").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null)).field("right", def("FlowType")); - def("OpaqueType").bases("Declaration").build("id", "typeParameters", "impltype", "supertype").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null)).field("impltype", def("FlowType")).field("supertype", def("FlowType")); - def("DeclareTypeAlias").bases("TypeAlias").build("id", "typeParameters", "right"); - def("DeclareOpaqueType").bases("TypeAlias").build("id", "typeParameters", "supertype"); - def("TypeCastExpression").bases("Expression").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TypeAnnotation")); - def("TupleTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]); - def("DeclareVariable").bases("Statement").build("id").field("id", def("Identifier")); - def("DeclareFunction").bases("Statement").build("id").field("id", def("Identifier")); - def("DeclareClass").bases("InterfaceDeclaration").build("id"); - def("DeclareModule").bases("Statement").build("id", "body").field("id", or(def("Identifier"), def("Literal"))).field("body", def("BlockStatement")); - def("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation", def("TypeAnnotation")); - def("DeclareExportDeclaration").bases("Declaration").build("default", "declaration", "specifiers", "source").field("default", Boolean).field("declaration", or( - def("DeclareVariable"), - def("DeclareFunction"), - def("DeclareClass"), - def("FlowType"), - // Implies default. - null - )).field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]); - def("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source", or(def("Literal"), null), defaults["null"]); - def("FlowPredicate").bases("Flow"); - def("InferredPredicate").bases("FlowPredicate").build(); - def("DeclaredPredicate").bases("FlowPredicate").build("value").field("value", def("Expression")); - def("CallExpression").field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]); - def("NewExpression").field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/esprima.js -var require_esprima2 = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/esprima.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var es7_1 = tslib_1.__importDefault(require_es7()); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - fork.use(es7_1.default); - var types = fork.use(types_1.default); - var defaults = fork.use(shared_1.default).defaults; - var def = types.Type.def; - var or = types.Type.or; - def("VariableDeclaration").field("declarations", [or( - def("VariableDeclarator"), - def("Identifier") - // Esprima deviation. - )]); - def("Property").field("value", or( - def("Expression"), - def("Pattern") - // Esprima deviation. - )); - def("ArrayPattern").field("elements", [or(def("Pattern"), def("SpreadElement"), null)]); - def("ObjectPattern").field("properties", [or( - def("Property"), - def("PropertyPattern"), - def("SpreadPropertyPattern"), - def("SpreadProperty") - // Used by Esprima. - )]); - def("ExportSpecifier").bases("ModuleSpecifier").build("id", "name"); - def("ExportBatchSpecifier").bases("Specifier").build(); - def("ExportDeclaration").bases("Declaration").build("default", "declaration", "specifiers", "source").field("default", Boolean).field("declaration", or( - def("Declaration"), - def("Expression"), - // Implies default. - null - )).field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]); - def("Block").bases("Comment").build( - "value", - /*optional:*/ - "leading", - "trailing" - ); - def("Line").bases("Comment").build( - "value", - /*optional:*/ - "leading", - "trailing" - ); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel-core.js -var require_babel_core = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel-core.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - var es7_1 = tslib_1.__importDefault(require_es7()); - function default_1(fork) { - fork.use(es7_1.default); - var types = fork.use(types_1.default); - var defaults = fork.use(shared_1.default).defaults; - var def = types.Type.def; - var or = types.Type.or; - def("Noop").bases("Statement").build(); - def("DoExpression").bases("Expression").build("body").field("body", [def("Statement")]); - def("Super").bases("Expression").build(); - def("BindExpression").bases("Expression").build("object", "callee").field("object", or(def("Expression"), null)).field("callee", def("Expression")); - def("Decorator").bases("Node").build("expression").field("expression", def("Expression")); - def("Property").field("decorators", or([def("Decorator")], null), defaults["null"]); - def("MethodDefinition").field("decorators", or([def("Decorator")], null), defaults["null"]); - def("MetaProperty").bases("Expression").build("meta", "property").field("meta", def("Identifier")).field("property", def("Identifier")); - def("ParenthesizedExpression").bases("Expression").build("expression").field("expression", def("Expression")); - def("ImportSpecifier").bases("ModuleSpecifier").build("imported", "local").field("imported", def("Identifier")); - def("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"); - def("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"); - def("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration", or(def("Declaration"), def("Expression"))); - def("ExportNamedDeclaration").bases("Declaration").build("declaration", "specifiers", "source").field("declaration", or(def("Declaration"), null)).field("specifiers", [def("ExportSpecifier")], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]); - def("ExportSpecifier").bases("ModuleSpecifier").build("local", "exported").field("exported", def("Identifier")); - def("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported", def("Identifier")); - def("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported", def("Identifier")); - def("ExportAllDeclaration").bases("Declaration").build("exported", "source").field("exported", or(def("Identifier"), null)).field("source", def("Literal")); - def("CommentBlock").bases("Comment").build( - "value", - /*optional:*/ - "leading", - "trailing" - ); - def("CommentLine").bases("Comment").build( - "value", - /*optional:*/ - "leading", - "trailing" - ); - def("Directive").bases("Node").build("value").field("value", def("DirectiveLiteral")); - def("DirectiveLiteral").bases("Node", "Expression").build("value").field("value", String, defaults["use strict"]); - def("InterpreterDirective").bases("Node").build("value").field("value", String); - def("BlockStatement").bases("Statement").build("body").field("body", [def("Statement")]).field("directives", [def("Directive")], defaults.emptyArray); - def("Program").bases("Node").build("body").field("body", [def("Statement")]).field("directives", [def("Directive")], defaults.emptyArray).field("interpreter", or(def("InterpreterDirective"), null), defaults["null"]); - def("StringLiteral").bases("Literal").build("value").field("value", String); - def("NumericLiteral").bases("Literal").build("value").field("value", Number).field("raw", or(String, null), defaults["null"]).field("extra", { - rawValue: Number, - raw: String - }, function getDefault() { - return { - rawValue: this.value, - raw: this.value + "" - }; - }); - def("BigIntLiteral").bases("Literal").build("value").field("value", or(String, Number)).field("extra", { - rawValue: String, - raw: String - }, function getDefault() { - return { - rawValue: String(this.value), - raw: this.value + "n" - }; - }); - def("NullLiteral").bases("Literal").build().field("value", null, defaults["null"]); - def("BooleanLiteral").bases("Literal").build("value").field("value", Boolean); - def("RegExpLiteral").bases("Literal").build("pattern", "flags").field("pattern", String).field("flags", String).field("value", RegExp, function() { - return new RegExp(this.pattern, this.flags); - }); - var ObjectExpressionProperty = or(def("Property"), def("ObjectMethod"), def("ObjectProperty"), def("SpreadProperty"), def("SpreadElement")); - def("ObjectExpression").bases("Expression").build("properties").field("properties", [ObjectExpressionProperty]); - def("ObjectMethod").bases("Node", "Function").build("kind", "key", "params", "body", "computed").field("kind", or("method", "get", "set")).field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("params", [def("Pattern")]).field("body", def("BlockStatement")).field("computed", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]).field( - "accessibility", - // TypeScript - or(def("Literal"), null), - defaults["null"] - ).field("decorators", or([def("Decorator")], null), defaults["null"]); - def("ObjectProperty").bases("Node").build("key", "value").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("value", or(def("Expression"), def("Pattern"))).field( - "accessibility", - // TypeScript - or(def("Literal"), null), - defaults["null"] - ).field("computed", Boolean, defaults["false"]); - var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"), def("ClassPrivateProperty"), def("ClassMethod"), def("ClassPrivateMethod")); - def("ClassBody").bases("Declaration").build("body").field("body", [ClassBodyElement]); - def("ClassMethod").bases("Declaration", "Function").build("kind", "key", "params", "body", "computed", "static").field("key", or(def("Literal"), def("Identifier"), def("Expression"))); - def("ClassPrivateMethod").bases("Declaration", "Function").build("key", "params", "body", "kind", "computed", "static").field("key", def("PrivateName")); - [ - "ClassMethod", - "ClassPrivateMethod" - ].forEach(function(typeName) { - def(typeName).field("kind", or("get", "set", "method", "constructor"), function() { - return "method"; - }).field("body", def("BlockStatement")).field("computed", Boolean, defaults["false"]).field("static", or(Boolean, null), defaults["null"]).field("abstract", or(Boolean, null), defaults["null"]).field("access", or("public", "private", "protected", null), defaults["null"]).field("accessibility", or("public", "private", "protected", null), defaults["null"]).field("decorators", or([def("Decorator")], null), defaults["null"]).field("optional", or(Boolean, null), defaults["null"]); - }); - def("ClassPrivateProperty").bases("ClassProperty").build("key", "value").field("key", def("PrivateName")).field("value", or(def("Expression"), null), defaults["null"]); - def("PrivateName").bases("Expression", "Pattern").build("id").field("id", def("Identifier")); - var ObjectPatternProperty = or( - def("Property"), - def("PropertyPattern"), - def("SpreadPropertyPattern"), - def("SpreadProperty"), - // Used by Esprima - def("ObjectProperty"), - // Babel 6 - def("RestProperty") - // Babel 6 - ); - def("ObjectPattern").bases("Pattern").build("properties").field("properties", [ObjectPatternProperty]).field("decorators", or([def("Decorator")], null), defaults["null"]); - def("SpreadProperty").bases("Node").build("argument").field("argument", def("Expression")); - def("RestProperty").bases("Node").build("argument").field("argument", def("Expression")); - def("ForAwaitStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Expression"))).field("right", def("Expression")).field("body", def("Statement")); - def("Import").bases("Expression").build(); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel.js -var require_babel = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var babel_core_1 = tslib_1.__importDefault(require_babel_core()); - var flow_1 = tslib_1.__importDefault(require_flow()); - function default_1(fork) { - fork.use(babel_core_1.default); - fork.use(flow_1.default); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/typescript.js -var require_typescript = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/typescript.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var babel_core_1 = tslib_1.__importDefault(require_babel_core()); - var type_annotations_1 = tslib_1.__importDefault(require_type_annotations()); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - function default_1(fork) { - fork.use(babel_core_1.default); - fork.use(type_annotations_1.default); - var types = fork.use(types_1.default); - var n = types.namedTypes; - var def = types.Type.def; - var or = types.Type.or; - var defaults = fork.use(shared_1.default).defaults; - var StringLiteral = types.Type.from(function(value, deep) { - if (n.StringLiteral && n.StringLiteral.check(value, deep)) { - return true; - } - if (n.Literal && n.Literal.check(value, deep) && typeof value.value === "string") { - return true; - } - return false; - }, "StringLiteral"); - def("TSType").bases("Node"); - var TSEntityName = or(def("Identifier"), def("TSQualifiedName")); - def("TSTypeReference").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("typeName", "typeParameters").field("typeName", TSEntityName); - def("TSHasOptionalTypeParameterInstantiation").field("typeParameters", or(def("TSTypeParameterInstantiation"), null), defaults["null"]); - def("TSHasOptionalTypeParameters").field("typeParameters", or(def("TSTypeParameterDeclaration"), null, void 0), defaults["null"]); - def("TSHasOptionalTypeAnnotation").field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]); - def("TSQualifiedName").bases("Node").build("left", "right").field("left", TSEntityName).field("right", TSEntityName); - def("TSAsExpression").bases("Expression", "Pattern").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TSType")).field("extra", or({ parenthesized: Boolean }, null), defaults["null"]); - def("TSNonNullExpression").bases("Expression", "Pattern").build("expression").field("expression", def("Expression")); - [ - "TSAnyKeyword", - "TSBigIntKeyword", - "TSBooleanKeyword", - "TSNeverKeyword", - "TSNullKeyword", - "TSNumberKeyword", - "TSObjectKeyword", - "TSStringKeyword", - "TSSymbolKeyword", - "TSUndefinedKeyword", - "TSUnknownKeyword", - "TSVoidKeyword", - "TSThisType" - ].forEach(function(keywordType) { - def(keywordType).bases("TSType").build(); - }); - def("TSArrayType").bases("TSType").build("elementType").field("elementType", def("TSType")); - def("TSLiteralType").bases("TSType").build("literal").field("literal", or(def("NumericLiteral"), def("StringLiteral"), def("BooleanLiteral"), def("TemplateLiteral"), def("UnaryExpression"))); - [ - "TSUnionType", - "TSIntersectionType" - ].forEach(function(typeName) { - def(typeName).bases("TSType").build("types").field("types", [def("TSType")]); - }); - def("TSConditionalType").bases("TSType").build("checkType", "extendsType", "trueType", "falseType").field("checkType", def("TSType")).field("extendsType", def("TSType")).field("trueType", def("TSType")).field("falseType", def("TSType")); - def("TSInferType").bases("TSType").build("typeParameter").field("typeParameter", def("TSTypeParameter")); - def("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType")); - var ParametersType = [or(def("Identifier"), def("RestElement"), def("ArrayPattern"), def("ObjectPattern"))]; - [ - "TSFunctionType", - "TSConstructorType" - ].forEach(function(typeName) { - def(typeName).bases("TSType", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("parameters").field("parameters", ParametersType); - }); - def("TSDeclareFunction").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "params", "returnType").field("declare", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("id", or(def("Identifier"), null), defaults["null"]).field("params", [def("Pattern")]).field("returnType", or( - def("TSTypeAnnotation"), - def("Noop"), - // Still used? - null - ), defaults["null"]); - def("TSDeclareMethod").bases("Declaration", "TSHasOptionalTypeParameters").build("key", "params", "returnType").field("async", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("params", [def("Pattern")]).field("abstract", Boolean, defaults["false"]).field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"]).field("static", Boolean, defaults["false"]).field("computed", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("key", or( - def("Identifier"), - def("StringLiteral"), - def("NumericLiteral"), - // Only allowed if .computed is true. - def("Expression") - )).field("kind", or("get", "set", "method", "constructor"), function getDefault() { - return "method"; - }).field( - "access", - // Not "accessibility"? - or("public", "private", "protected", void 0), - defaults["undefined"] - ).field("decorators", or([def("Decorator")], null), defaults["null"]).field("returnType", or( - def("TSTypeAnnotation"), - def("Noop"), - // Still used? - null - ), defaults["null"]); - def("TSMappedType").bases("TSType").build("typeParameter", "typeAnnotation").field("readonly", or(Boolean, "+", "-"), defaults["false"]).field("typeParameter", def("TSTypeParameter")).field("optional", or(Boolean, "+", "-"), defaults["false"]).field("typeAnnotation", or(def("TSType"), null), defaults["null"]); - def("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes", [or(def("TSType"), def("TSNamedTupleMember"))]); - def("TSNamedTupleMember").bases("TSType").build("label", "elementType", "optional").field("label", def("Identifier")).field("optional", Boolean, defaults["false"]).field("elementType", def("TSType")); - def("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType")); - def("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType")); - def("TSIndexedAccessType").bases("TSType").build("objectType", "indexType").field("objectType", def("TSType")).field("indexType", def("TSType")); - def("TSTypeOperator").bases("TSType").build("operator").field("operator", String).field("typeAnnotation", def("TSType")); - def("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation", or(def("TSType"), def("TSTypeAnnotation"))); - def("TSIndexSignature").bases("Declaration", "TSHasOptionalTypeAnnotation").build("parameters", "typeAnnotation").field("parameters", [def("Identifier")]).field("readonly", Boolean, defaults["false"]); - def("TSPropertySignature").bases("Declaration", "TSHasOptionalTypeAnnotation").build("key", "typeAnnotation", "optional").field("key", def("Expression")).field("computed", Boolean, defaults["false"]).field("readonly", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("initializer", or(def("Expression"), null), defaults["null"]); - def("TSMethodSignature").bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("key", "parameters", "typeAnnotation").field("key", def("Expression")).field("computed", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("parameters", ParametersType); - def("TSTypePredicate").bases("TSTypeAnnotation", "TSType").build("parameterName", "typeAnnotation", "asserts").field("parameterName", or(def("Identifier"), def("TSThisType"))).field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]).field("asserts", Boolean, defaults["false"]); - [ - "TSCallSignatureDeclaration", - "TSConstructSignatureDeclaration" - ].forEach(function(typeName) { - def(typeName).bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("parameters", "typeAnnotation").field("parameters", ParametersType); - }); - def("TSEnumMember").bases("Node").build("id", "initializer").field("id", or(def("Identifier"), StringLiteral)).field("initializer", or(def("Expression"), null), defaults["null"]); - def("TSTypeQuery").bases("TSType").build("exprName").field("exprName", or(TSEntityName, def("TSImportType"))); - var TSTypeMember = or(def("TSCallSignatureDeclaration"), def("TSConstructSignatureDeclaration"), def("TSIndexSignature"), def("TSMethodSignature"), def("TSPropertySignature")); - def("TSTypeLiteral").bases("TSType").build("members").field("members", [TSTypeMember]); - def("TSTypeParameter").bases("Identifier").build("name", "constraint", "default").field("name", String).field("constraint", or(def("TSType"), void 0), defaults["undefined"]).field("default", or(def("TSType"), void 0), defaults["undefined"]); - def("TSTypeAssertion").bases("Expression", "Pattern").build("typeAnnotation", "expression").field("typeAnnotation", def("TSType")).field("expression", def("Expression")).field("extra", or({ parenthesized: Boolean }, null), defaults["null"]); - def("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params", [def("TSTypeParameter")]); - def("TSTypeParameterInstantiation").bases("Node").build("params").field("params", [def("TSType")]); - def("TSEnumDeclaration").bases("Declaration").build("id", "members").field("id", def("Identifier")).field("const", Boolean, defaults["false"]).field("declare", Boolean, defaults["false"]).field("members", [def("TSEnumMember")]).field("initializer", or(def("Expression"), null), defaults["null"]); - def("TSTypeAliasDeclaration").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "typeAnnotation").field("id", def("Identifier")).field("declare", Boolean, defaults["false"]).field("typeAnnotation", def("TSType")); - def("TSModuleBlock").bases("Node").build("body").field("body", [def("Statement")]); - def("TSModuleDeclaration").bases("Declaration").build("id", "body").field("id", or(StringLiteral, TSEntityName)).field("declare", Boolean, defaults["false"]).field("global", Boolean, defaults["false"]).field("body", or(def("TSModuleBlock"), def("TSModuleDeclaration"), null), defaults["null"]); - def("TSImportType").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("argument", "qualifier", "typeParameters").field("argument", StringLiteral).field("qualifier", or(TSEntityName, void 0), defaults["undefined"]); - def("TSImportEqualsDeclaration").bases("Declaration").build("id", "moduleReference").field("id", def("Identifier")).field("isExport", Boolean, defaults["false"]).field("moduleReference", or(TSEntityName, def("TSExternalModuleReference"))); - def("TSExternalModuleReference").bases("Declaration").build("expression").field("expression", StringLiteral); - def("TSExportAssignment").bases("Statement").build("expression").field("expression", def("Expression")); - def("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id", def("Identifier")); - def("TSInterfaceBody").bases("Node").build("body").field("body", [TSTypeMember]); - def("TSExpressionWithTypeArguments").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("expression", "typeParameters").field("expression", TSEntityName); - def("TSInterfaceDeclaration").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "body").field("id", TSEntityName).field("declare", Boolean, defaults["false"]).field("extends", or([def("TSExpressionWithTypeArguments")], null), defaults["null"]).field("body", def("TSInterfaceBody")); - def("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"]).field("readonly", Boolean, defaults["false"]).field("parameter", or(def("Identifier"), def("AssignmentPattern"))); - def("ClassProperty").field( - "access", - // Not "accessibility"? - or("public", "private", "protected", void 0), - defaults["undefined"] - ); - def("ClassBody").field("body", [or( - def("MethodDefinition"), - def("VariableDeclarator"), - def("ClassPropertyDefinition"), - def("ClassProperty"), - def("ClassPrivateProperty"), - def("ClassMethod"), - def("ClassPrivateMethod"), - // Just need to add these types: - def("TSDeclareMethod"), - TSTypeMember - )]); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es-proposals.js -var require_es_proposals = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es-proposals.js"(exports, module2) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var types_1 = tslib_1.__importDefault(require_types()); - var shared_1 = tslib_1.__importDefault(require_shared()); - var core_1 = tslib_1.__importDefault(require_core()); - function default_1(fork) { - fork.use(core_1.default); - var types = fork.use(types_1.default); - var Type = types.Type; - var def = types.Type.def; - var or = Type.or; - var shared = fork.use(shared_1.default); - var defaults = shared.defaults; - def("OptionalMemberExpression").bases("MemberExpression").build("object", "property", "computed", "optional").field("optional", Boolean, defaults["true"]); - def("OptionalCallExpression").bases("CallExpression").build("callee", "arguments", "optional").field("optional", Boolean, defaults["true"]); - var LogicalOperator = or("||", "&&", "??"); - def("LogicalExpression").field("operator", LogicalOperator); - } - exports.default = default_1; - module2.exports = exports["default"]; - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/gen/namedTypes.js -var require_namedTypes = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/gen/namedTypes.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.namedTypes = void 0; - var namedTypes; - (function(namedTypes2) { - })(namedTypes = exports.namedTypes || (exports.namedTypes = {})); - } -}); - -// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/main.js -var require_main = __commonJS({ - ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/main.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.visit = exports.use = exports.Type = exports.someField = exports.PathVisitor = exports.Path = exports.NodePath = exports.namedTypes = exports.getSupertypeNames = exports.getFieldValue = exports.getFieldNames = exports.getBuilderName = exports.finalize = exports.eachField = exports.defineMethod = exports.builtInTypes = exports.builders = exports.astNodesAreEquivalent = void 0; - var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); - var fork_1 = tslib_1.__importDefault(require_fork()); - var core_1 = tslib_1.__importDefault(require_core()); - var es6_1 = tslib_1.__importDefault(require_es6()); - var es7_1 = tslib_1.__importDefault(require_es7()); - var es2020_1 = tslib_1.__importDefault(require_es2020()); - var jsx_1 = tslib_1.__importDefault(require_jsx()); - var flow_1 = tslib_1.__importDefault(require_flow()); - var esprima_1 = tslib_1.__importDefault(require_esprima2()); - var babel_1 = tslib_1.__importDefault(require_babel()); - var typescript_1 = tslib_1.__importDefault(require_typescript()); - var es_proposals_1 = tslib_1.__importDefault(require_es_proposals()); - var namedTypes_1 = require_namedTypes(); - Object.defineProperty(exports, "namedTypes", { enumerable: true, get: function() { - return namedTypes_1.namedTypes; - } }); - var _a = fork_1.default([ - // This core module of AST types captures ES5 as it is parsed today by - // git://github.com/ariya/esprima.git#master. - core_1.default, - // Feel free to add to or remove from this list of extension modules to - // configure the precise type hierarchy that you need. - es6_1.default, - es7_1.default, - es2020_1.default, - jsx_1.default, - flow_1.default, - esprima_1.default, - babel_1.default, - typescript_1.default, - es_proposals_1.default - ]); - var astNodesAreEquivalent = _a.astNodesAreEquivalent; - var builders = _a.builders; - var builtInTypes = _a.builtInTypes; - var defineMethod = _a.defineMethod; - var eachField = _a.eachField; - var finalize = _a.finalize; - var getBuilderName = _a.getBuilderName; - var getFieldNames = _a.getFieldNames; - var getFieldValue = _a.getFieldValue; - var getSupertypeNames = _a.getSupertypeNames; - var n = _a.namedTypes; - var NodePath = _a.NodePath; - var Path = _a.Path; - var PathVisitor = _a.PathVisitor; - var someField = _a.someField; - var Type = _a.Type; - var use = _a.use; - var visit = _a.visit; - exports.astNodesAreEquivalent = astNodesAreEquivalent; - exports.builders = builders; - exports.builtInTypes = builtInTypes; - exports.defineMethod = defineMethod; - exports.eachField = eachField; - exports.finalize = finalize; - exports.getBuilderName = getBuilderName; - exports.getFieldNames = getFieldNames; - exports.getFieldValue = getFieldValue; - exports.getSupertypeNames = getSupertypeNames; - exports.NodePath = NodePath; - exports.Path = Path; - exports.PathVisitor = PathVisitor; - exports.someField = someField; - exports.Type = Type; - exports.use = use; - exports.visit = visit; - Object.assign(namedTypes_1.namedTypes, n); - } -}); - -// .yarn/cache/vm2-patch-b52c0bba95-d283b74b74.zip/node_modules/vm2/index.js -var require_vm2 = __commonJS({ - ".yarn/cache/vm2-patch-b52c0bba95-d283b74b74.zip/node_modules/vm2/index.js"(exports, module2) { - "use strict"; - module2.exports = { - VM: function VM() { - }, - VMScript: function VMScript() { - } - }; - } -}); - -// .yarn/cache/degenerator-npm-3.0.2-3b38df9d12-36320225e2.zip/node_modules/degenerator/dist/src/index.js -var require_src6 = __commonJS({ - ".yarn/cache/degenerator-npm-3.0.2-3b38df9d12-36320225e2.zip/node_modules/degenerator/dist/src/index.js"(exports, module2) { - "use strict"; - var util_1 = require("util"); - var escodegen_1 = require_escodegen(); - var esprima_1 = require_esprima(); - var ast_types_1 = require_main(); - var vm2_1 = require_vm2(); - function degenerator(code, _names) { - if (!Array.isArray(_names)) { - throw new TypeError('an array of async function "names" is required'); - } - const names = _names.slice(0); - const ast = esprima_1.parseScript(code); - let lastNamesLength = 0; - do { - lastNamesLength = names.length; - ast_types_1.visit(ast, { - visitVariableDeclaration(path9) { - if (path9.node.declarations) { - for (let i = 0; i < path9.node.declarations.length; i++) { - const declaration = path9.node.declarations[i]; - if (ast_types_1.namedTypes.VariableDeclarator.check(declaration) && ast_types_1.namedTypes.Identifier.check(declaration.init) && ast_types_1.namedTypes.Identifier.check(declaration.id) && checkName(declaration.init.name, names) && !checkName(declaration.id.name, names)) { - names.push(declaration.id.name); - } - } - } - return false; - }, - visitAssignmentExpression(path9) { - if (ast_types_1.namedTypes.Identifier.check(path9.node.left) && ast_types_1.namedTypes.Identifier.check(path9.node.right) && checkName(path9.node.right.name, names) && !checkName(path9.node.left.name, names)) { - names.push(path9.node.left.name); - } - return false; - }, - visitFunction(path9) { - if (path9.node.id) { - let shouldDegenerate = false; - ast_types_1.visit(path9.node, { - visitCallExpression(path10) { - if (checkNames(path10.node, names)) { - shouldDegenerate = true; - } - return false; - } - }); - if (!shouldDegenerate) { - return false; - } - path9.node.async = true; - if (!checkName(path9.node.id.name, names)) { - names.push(path9.node.id.name); - } - } - this.traverse(path9); - } - }); - } while (lastNamesLength !== names.length); - ast_types_1.visit(ast, { - visitCallExpression(path9) { - if (checkNames(path9.node, names)) { - const delegate = false; - const { name, parent: { node: pNode } } = path9; - const expr = ast_types_1.builders.awaitExpression(path9.node, delegate); - if (ast_types_1.namedTypes.CallExpression.check(pNode)) { - pNode.arguments[name] = expr; - } else { - pNode[name] = expr; - } - } - this.traverse(path9); - } - }); - return escodegen_1.generate(ast); - } - (function(degenerator2) { - function compile(code, returnName, names, options = {}) { - const compiled = degenerator2(code, names); - const vm = new vm2_1.VM(options); - const script = new vm2_1.VMScript(`${compiled};${returnName}`, { - filename: options.filename - }); - const fn2 = vm.run(script); - if (typeof fn2 !== "function") { - throw new Error(`Expected a "function" to be returned for \`${returnName}\`, but got "${typeof fn2}"`); - } - const r = function(...args) { - try { - const p = fn2.apply(this, args); - if (typeof (p === null || p === void 0 ? void 0 : p.then) === "function") { - return p; - } - return Promise.resolve(p); - } catch (err) { - return Promise.reject(err); - } - }; - Object.defineProperty(r, "toString", { - value: fn2.toString.bind(fn2), - enumerable: false - }); - return r; - } - degenerator2.compile = compile; - })(degenerator || (degenerator = {})); - function checkNames({ callee }, names) { - let name; - if (ast_types_1.namedTypes.Identifier.check(callee)) { - name = callee.name; - } else if (ast_types_1.namedTypes.MemberExpression.check(callee)) { - if (ast_types_1.namedTypes.Identifier.check(callee.object) && ast_types_1.namedTypes.Identifier.check(callee.property)) { - name = `${callee.object.name}.${callee.property.name}`; - } else { - return false; - } - } else if (ast_types_1.namedTypes.FunctionExpression.check(callee)) { - if (callee.id) { - name = callee.id.name; - } else { - return false; - } - } else { - throw new Error(`Don't know how to get name for: ${callee.type}`); - } - return checkName(name, names); - } - function checkName(name, names) { - for (let i = 0; i < names.length; i++) { - const n = names[i]; - if (util_1.isRegExp(n)) { - if (n.test(name)) { - return true; - } - } else if (name === n) { - return true; - } - } - return false; - } - module2.exports = degenerator; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dateRange.js -var require_dateRange = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dateRange.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function dateRange() { - return false; - } - exports.default = dateRange; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dnsDomainIs.js -var require_dnsDomainIs = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dnsDomainIs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function dnsDomainIs(host, domain) { - host = String(host); - domain = String(domain); - return host.substr(domain.length * -1) === domain; - } - exports.default = dnsDomainIs; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dnsDomainLevels.js -var require_dnsDomainLevels = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dnsDomainLevels.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function dnsDomainLevels(host) { - const match = String(host).match(/\./g); - let levels = 0; - if (match) { - levels = match.length; - } - return levels; - } - exports.default = dnsDomainLevels; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/util.js -var require_util4 = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isGMT = exports.dnsLookup = void 0; - var dns_1 = require("dns"); - function dnsLookup(host, opts) { - return new Promise((resolve, reject) => { - (0, dns_1.lookup)(host, opts, (err, res) => { - if (err) { - reject(err); - } else { - resolve(res); - } - }); - }); - } - exports.dnsLookup = dnsLookup; - function isGMT(v) { - return v === "GMT"; - } - exports.isGMT = isGMT; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dnsResolve.js -var require_dnsResolve = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/dnsResolve.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util4(); - function dnsResolve(host) { - return __awaiter2(this, void 0, void 0, function* () { - const family = 4; - try { - const r = yield (0, util_1.dnsLookup)(host, { family }); - if (typeof r === "string") { - return r; - } - } catch (err) { - } - return null; - }); - } - exports.default = dnsResolve; - } -}); - -// .yarn/cache/netmask-npm-2.0.2-2299510a4d-ba4edae75a.zip/node_modules/netmask/lib/netmask.js -var require_netmask = __commonJS({ - ".yarn/cache/netmask-npm-2.0.2-2299510a4d-ba4edae75a.zip/node_modules/netmask/lib/netmask.js"(exports) { - (function() { - var Netmask, atob, chr, chr0, chrA, chra, ip2long, long2ip; - long2ip = function(long) { - var a, b, c, d; - a = (long & 255 << 24) >>> 24; - b = (long & 255 << 16) >>> 16; - c = (long & 255 << 8) >>> 8; - d = long & 255; - return [a, b, c, d].join("."); - }; - ip2long = function(ip) { - var b, c, i, j, n, ref; - b = []; - for (i = j = 0; j <= 3; i = ++j) { - if (ip.length === 0) { - break; - } - if (i > 0) { - if (ip[0] !== ".") { - throw new Error("Invalid IP"); - } - ip = ip.substring(1); - } - ref = atob(ip), n = ref[0], c = ref[1]; - ip = ip.substring(c); - b.push(n); - } - if (ip.length !== 0) { - throw new Error("Invalid IP"); - } - switch (b.length) { - case 1: - if (b[0] > 4294967295) { - throw new Error("Invalid IP"); - } - return b[0] >>> 0; - case 2: - if (b[0] > 255 || b[1] > 16777215) { - throw new Error("Invalid IP"); - } - return (b[0] << 24 | b[1]) >>> 0; - case 3: - if (b[0] > 255 || b[1] > 255 || b[2] > 65535) { - throw new Error("Invalid IP"); - } - return (b[0] << 24 | b[1] << 16 | b[2]) >>> 0; - case 4: - if (b[0] > 255 || b[1] > 255 || b[2] > 255 || b[3] > 255) { - throw new Error("Invalid IP"); - } - return (b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]) >>> 0; - default: - throw new Error("Invalid IP"); - } - }; - chr = function(b) { - return b.charCodeAt(0); - }; - chr0 = chr("0"); - chra = chr("a"); - chrA = chr("A"); - atob = function(s) { - var base, dmax, i, n, start; - n = 0; - base = 10; - dmax = "9"; - i = 0; - if (s.length > 1 && s[i] === "0") { - if (s[i + 1] === "x" || s[i + 1] === "X") { - i += 2; - base = 16; - } else if ("0" <= s[i + 1] && s[i + 1] <= "9") { - i++; - base = 8; - dmax = "7"; - } - } - start = i; - while (i < s.length) { - if ("0" <= s[i] && s[i] <= dmax) { - n = n * base + (chr(s[i]) - chr0) >>> 0; - } else if (base === 16) { - if ("a" <= s[i] && s[i] <= "f") { - n = n * base + (10 + chr(s[i]) - chra) >>> 0; - } else if ("A" <= s[i] && s[i] <= "F") { - n = n * base + (10 + chr(s[i]) - chrA) >>> 0; - } else { - break; - } - } else { - break; - } - if (n > 4294967295) { - throw new Error("too large"); - } - i++; - } - if (i === start) { - throw new Error("empty octet"); - } - return [n, i]; - }; - Netmask = function() { - function Netmask2(net, mask) { - var error, i, j, ref; - if (typeof net !== "string") { - throw new Error("Missing `net' parameter"); - } - if (!mask) { - ref = net.split("/", 2), net = ref[0], mask = ref[1]; - } - if (!mask) { - mask = 32; - } - if (typeof mask === "string" && mask.indexOf(".") > -1) { - try { - this.maskLong = ip2long(mask); - } catch (error1) { - error = error1; - throw new Error("Invalid mask: " + mask); - } - for (i = j = 32; j >= 0; i = --j) { - if (this.maskLong === 4294967295 << 32 - i >>> 0) { - this.bitmask = i; - break; - } - } - } else if (mask || mask === 0) { - this.bitmask = parseInt(mask, 10); - this.maskLong = 0; - if (this.bitmask > 0) { - this.maskLong = 4294967295 << 32 - this.bitmask >>> 0; - } - } else { - throw new Error("Invalid mask: empty"); - } - try { - this.netLong = (ip2long(net) & this.maskLong) >>> 0; - } catch (error1) { - error = error1; - throw new Error("Invalid net address: " + net); - } - if (!(this.bitmask <= 32)) { - throw new Error("Invalid mask for ip4: " + mask); - } - this.size = Math.pow(2, 32 - this.bitmask); - this.base = long2ip(this.netLong); - this.mask = long2ip(this.maskLong); - this.hostmask = long2ip(~this.maskLong); - this.first = this.bitmask <= 30 ? long2ip(this.netLong + 1) : this.base; - this.last = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 2) : long2ip(this.netLong + this.size - 1); - this.broadcast = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 1) : void 0; - } - Netmask2.prototype.contains = function(ip) { - if (typeof ip === "string" && (ip.indexOf("/") > 0 || ip.split(".").length !== 4)) { - ip = new Netmask2(ip); - } - if (ip instanceof Netmask2) { - return this.contains(ip.base) && this.contains(ip.broadcast || ip.last); - } else { - return (ip2long(ip) & this.maskLong) >>> 0 === (this.netLong & this.maskLong) >>> 0; - } - }; - Netmask2.prototype.next = function(count) { - if (count == null) { - count = 1; - } - return new Netmask2(long2ip(this.netLong + this.size * count), this.mask); - }; - Netmask2.prototype.forEach = function(fn2) { - var index, lastLong, long; - long = ip2long(this.first); - lastLong = ip2long(this.last); - index = 0; - while (long <= lastLong) { - fn2(long2ip(long), long, index); - index++; - long++; - } - }; - Netmask2.prototype.toString = function() { - return this.base + "/" + this.bitmask; - }; - return Netmask2; - }(); - exports.ip2long = ip2long; - exports.long2ip = long2ip; - exports.Netmask = Netmask; - }).call(exports); - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/isInNet.js -var require_isInNet = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/isInNet.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var netmask_1 = require_netmask(); - var util_1 = require_util4(); - function isInNet(host, pattern, mask) { - return __awaiter2(this, void 0, void 0, function* () { - const family = 4; - try { - const ip = yield (0, util_1.dnsLookup)(host, { family }); - if (typeof ip === "string") { - const netmask = new netmask_1.Netmask(pattern, mask); - return netmask.contains(ip); - } - } catch (err) { - } - return false; - }); - } - exports.default = isInNet; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/isPlainHostName.js -var require_isPlainHostName = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/isPlainHostName.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function isPlainHostName(host) { - return !/\./.test(host); - } - exports.default = isPlainHostName; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/isResolvable.js -var require_isResolvable = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/isResolvable.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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()); - }); - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util4(); - function isResolvable(host) { - return __awaiter2(this, void 0, void 0, function* () { - const family = 4; - try { - if (yield (0, util_1.dnsLookup)(host, { family })) { - return true; - } - } catch (err) { - } - return false; - }); - } - exports.default = isResolvable; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/localHostOrDomainIs.js -var require_localHostOrDomainIs = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/localHostOrDomainIs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function localHostOrDomainIs(host, hostdom) { - const parts = host.split("."); - const domparts = hostdom.split("."); - let matches = true; - for (let i = 0; i < parts.length; i++) { - if (parts[i] !== domparts[i]) { - matches = false; - break; - } - } - return matches; - } - exports.default = localHostOrDomainIs; - } -}); - -// .yarn/cache/ip-npm-1.1.8-abea558b72-bb1850e7b6.zip/node_modules/ip/lib/ip.js -var require_ip2 = __commonJS({ - ".yarn/cache/ip-npm-1.1.8-abea558b72-bb1850e7b6.zip/node_modules/ip/lib/ip.js"(exports) { - var ip = exports; - var { Buffer: Buffer2 } = require("buffer"); - var os2 = require("os"); - ip.toBuffer = function(ip2, buff, offset) { - offset = ~~offset; - var result; - if (this.isV4Format(ip2)) { - result = buff || new Buffer2(offset + 4); - ip2.split(/\./g).map((byte) => { - result[offset++] = parseInt(byte, 10) & 255; - }); - } else if (this.isV6Format(ip2)) { - var sections = ip2.split(":", 8); - var i; - for (i = 0; i < sections.length; i++) { - var isv4 = this.isV4Format(sections[i]); - var v4Buffer; - if (isv4) { - v4Buffer = this.toBuffer(sections[i]); - sections[i] = v4Buffer.slice(0, 2).toString("hex"); - } - if (v4Buffer && ++i < 8) { - sections.splice(i, 0, v4Buffer.slice(2, 4).toString("hex")); - } - } - if (sections[0] === "") { - while (sections.length < 8) - sections.unshift("0"); - } else if (sections[sections.length - 1] === "") { - while (sections.length < 8) - sections.push("0"); - } else if (sections.length < 8) { - for (i = 0; i < sections.length && sections[i] !== ""; i++) - ; - var argv = [i, 1]; - for (i = 9 - sections.length; i > 0; i--) { - argv.push("0"); - } - sections.splice.apply(sections, argv); - } - result = buff || new Buffer2(offset + 16); - for (i = 0; i < sections.length; i++) { - var word = parseInt(sections[i], 16); - result[offset++] = word >> 8 & 255; - result[offset++] = word & 255; - } - } - if (!result) { - throw Error(`Invalid ip address: ${ip2}`); - } - return result; - }; - ip.toString = function(buff, offset, length) { - offset = ~~offset; - length = length || buff.length - offset; - var result = []; - var i; - if (length === 4) { - for (i = 0; i < length; i++) { - result.push(buff[offset + i]); - } - result = result.join("."); - } else if (length === 16) { - for (i = 0; i < length; i += 2) { - result.push(buff.readUInt16BE(offset + i).toString(16)); - } - result = result.join(":"); - result = result.replace(/(^|:)0(:0)*:0(:|$)/, "$1::$3"); - result = result.replace(/:{3,4}/, "::"); - } - return result; - }; - var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; - var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; - ip.isV4Format = function(ip2) { - return ipv4Regex.test(ip2); - }; - ip.isV6Format = function(ip2) { - return ipv6Regex.test(ip2); - }; - function _normalizeFamily(family) { - if (family === 4) { - return "ipv4"; - } - if (family === 6) { - return "ipv6"; - } - return family ? family.toLowerCase() : "ipv4"; - } - ip.fromPrefixLen = function(prefixlen, family) { - if (prefixlen > 32) { - family = "ipv6"; - } else { - family = _normalizeFamily(family); - } - var len = 4; - if (family === "ipv6") { - len = 16; - } - var buff = new Buffer2(len); - for (var i = 0, n = buff.length; i < n; ++i) { - var bits = 8; - if (prefixlen < 8) { - bits = prefixlen; - } - prefixlen -= bits; - buff[i] = ~(255 >> bits) & 255; - } - return ip.toString(buff); - }; - ip.mask = function(addr, mask) { - addr = ip.toBuffer(addr); - mask = ip.toBuffer(mask); - var result = new Buffer2(Math.max(addr.length, mask.length)); - var i; - if (addr.length === mask.length) { - for (i = 0; i < addr.length; i++) { - result[i] = addr[i] & mask[i]; - } - } else if (mask.length === 4) { - for (i = 0; i < mask.length; i++) { - result[i] = addr[addr.length - 4 + i] & mask[i]; - } - } else { - for (i = 0; i < result.length - 6; i++) { - result[i] = 0; - } - result[10] = 255; - result[11] = 255; - for (i = 0; i < addr.length; i++) { - result[i + 12] = addr[i] & mask[i + 12]; - } - i += 12; - } - for (; i < result.length; i++) { - result[i] = 0; - } - return ip.toString(result); - }; - ip.cidr = function(cidrString) { - var cidrParts = cidrString.split("/"); - var addr = cidrParts[0]; - if (cidrParts.length !== 2) { - throw new Error(`invalid CIDR subnet: ${addr}`); - } - var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); - return ip.mask(addr, mask); - }; - ip.subnet = function(addr, mask) { - var networkAddress = ip.toLong(ip.mask(addr, mask)); - var maskBuffer = ip.toBuffer(mask); - var maskLength = 0; - for (var i = 0; i < maskBuffer.length; i++) { - if (maskBuffer[i] === 255) { - maskLength += 8; - } else { - var octet = maskBuffer[i] & 255; - while (octet) { - octet = octet << 1 & 255; - maskLength++; - } - } - } - var numberOfAddresses = Math.pow(2, 32 - maskLength); - return { - networkAddress: ip.fromLong(networkAddress), - firstAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress) : ip.fromLong(networkAddress + 1), - lastAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress + numberOfAddresses - 1) : ip.fromLong(networkAddress + numberOfAddresses - 2), - broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1), - subnetMask: mask, - subnetMaskLength: maskLength, - numHosts: numberOfAddresses <= 2 ? numberOfAddresses : numberOfAddresses - 2, - length: numberOfAddresses, - contains(other) { - return networkAddress === ip.toLong(ip.mask(other, mask)); - } - }; - }; - ip.cidrSubnet = function(cidrString) { - var cidrParts = cidrString.split("/"); - var addr = cidrParts[0]; - if (cidrParts.length !== 2) { - throw new Error(`invalid CIDR subnet: ${addr}`); - } - var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); - return ip.subnet(addr, mask); - }; - ip.not = function(addr) { - var buff = ip.toBuffer(addr); - for (var i = 0; i < buff.length; i++) { - buff[i] = 255 ^ buff[i]; - } - return ip.toString(buff); - }; - ip.or = function(a, b) { - var i; - a = ip.toBuffer(a); - b = ip.toBuffer(b); - if (a.length === b.length) { - for (i = 0; i < a.length; ++i) { - a[i] |= b[i]; - } - return ip.toString(a); - } - var buff = a; - var other = b; - if (b.length > a.length) { - buff = b; - other = a; - } - var offset = buff.length - other.length; - for (i = offset; i < buff.length; ++i) { - buff[i] |= other[i - offset]; - } - return ip.toString(buff); - }; - ip.isEqual = function(a, b) { - var i; - a = ip.toBuffer(a); - b = ip.toBuffer(b); - if (a.length === b.length) { - for (i = 0; i < a.length; i++) { - if (a[i] !== b[i]) - return false; - } - return true; - } - if (b.length === 4) { - var t = b; - b = a; - a = t; - } - for (i = 0; i < 10; i++) { - if (b[i] !== 0) - return false; - } - var word = b.readUInt16BE(10); - if (word !== 0 && word !== 65535) - return false; - for (i = 0; i < 4; i++) { - if (a[i] !== b[i + 12]) - return false; - } - return true; - }; - ip.isPrivate = function(addr) { - return /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^f[cd][0-9a-f]{2}:/i.test(addr) || /^fe80:/i.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); - }; - ip.isPublic = function(addr) { - return !ip.isPrivate(addr); - }; - ip.isLoopback = function(addr) { - return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || /^fe80::1$/.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); - }; - ip.loopback = function(family) { - family = _normalizeFamily(family); - if (family !== "ipv4" && family !== "ipv6") { - throw new Error("family must be ipv4 or ipv6"); - } - return family === "ipv4" ? "127.0.0.1" : "fe80::1"; - }; - ip.address = function(name, family) { - var interfaces = os2.networkInterfaces(); - family = _normalizeFamily(family); - if (name && name !== "private" && name !== "public") { - var res = interfaces[name].filter((details) => { - var itemFamily = _normalizeFamily(details.family); - return itemFamily === family; - }); - if (res.length === 0) { - return void 0; - } - return res[0].address; - } - var all = Object.keys(interfaces).map((nic) => { - var addresses = interfaces[nic].filter((details) => { - details.family = _normalizeFamily(details.family); - if (details.family !== family || ip.isLoopback(details.address)) { - return false; - } - if (!name) { - return true; - } - return name === "public" ? ip.isPrivate(details.address) : ip.isPublic(details.address); - }); - return addresses.length ? addresses[0].address : void 0; - }).filter(Boolean); - return !all.length ? ip.loopback(family) : all[0]; - }; - ip.toLong = function(ip2) { - var ipl = 0; - ip2.split(".").forEach((octet) => { - ipl <<= 8; - ipl += parseInt(octet); - }); - return ipl >>> 0; - }; - ip.fromLong = function(ipl) { - return `${ipl >>> 24}.${ipl >> 16 & 255}.${ipl >> 8 & 255}.${ipl & 255}`; - }; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/myIpAddress.js -var require_myIpAddress = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/myIpAddress.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var ip_1 = __importDefault2(require_ip2()); - var net_1 = __importDefault2(require("net")); - function myIpAddress() { - return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - const socket = net_1.default.connect({ host: "8.8.8.8", port: 53 }); - const onError = () => { - resolve(ip_1.default.address()); - }; - socket.once("error", onError); - socket.once("connect", () => { - socket.removeListener("error", onError); - const addr = socket.address(); - socket.destroy(); - if (typeof addr === "string") { - resolve(addr); - } else if (addr.address) { - resolve(addr.address); - } else { - reject(new Error("Expected a `string`")); - } - }); - }); - }); - } - exports.default = myIpAddress; - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/shExpMatch.js -var require_shExpMatch = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/shExpMatch.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function shExpMatch(str, shexp) { - const re = toRegExp(shexp); - return re.test(str); - } - exports.default = shExpMatch; - function toRegExp(str) { - str = String(str).replace(/\./g, "\\.").replace(/\?/g, ".").replace(/\*/g, ".*"); - return new RegExp(`^${str}$`); - } - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/timeRange.js -var require_timeRange = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/timeRange.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function timeRange() { - const args = Array.prototype.slice.call(arguments); - const lastArg = args.pop(); - const useGMTzone = lastArg === "GMT"; - const currentDate = new Date(); - if (!useGMTzone) { - args.push(lastArg); - } - const noOfArgs = args.length; - let result = false; - let numericArgs = args.map((n) => parseInt(n, 10)); - if (noOfArgs === 1) { - result = getCurrentHour(useGMTzone, currentDate) === numericArgs[0]; - } else if (noOfArgs === 2) { - const currentHour = getCurrentHour(useGMTzone, currentDate); - result = numericArgs[0] <= currentHour && currentHour < numericArgs[1]; - } else if (noOfArgs === 4) { - result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], 0), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), 0), secondsElapsedToday(numericArgs[2], numericArgs[3], 59)); - } else if (noOfArgs === 6) { - result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], numericArgs[2]), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), getCurrentSecond(useGMTzone, currentDate)), secondsElapsedToday(numericArgs[3], numericArgs[4], numericArgs[5])); - } - return result; - } - exports.default = timeRange; - function secondsElapsedToday(hh, mm, ss) { - return hh * 3600 + mm * 60 + ss; - } - function getCurrentHour(gmt, currentDate) { - return gmt ? currentDate.getUTCHours() : currentDate.getHours(); - } - function getCurrentMinute(gmt, currentDate) { - return gmt ? currentDate.getUTCMinutes() : currentDate.getMinutes(); - } - function getCurrentSecond(gmt, currentDate) { - return gmt ? currentDate.getUTCSeconds() : currentDate.getSeconds(); - } - function valueInRange(start, value, finish) { - return start <= value && value <= finish; - } - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/weekdayRange.js -var require_weekdayRange = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/weekdayRange.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util4(); - var weekdays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; - function weekdayRange(wd1, wd2, gmt) { - let useGMTzone = false; - let wd1Index = -1; - let wd2Index = -1; - let wd2IsGmt = false; - if ((0, util_1.isGMT)(gmt)) { - useGMTzone = true; - } else if ((0, util_1.isGMT)(wd2)) { - useGMTzone = true; - wd2IsGmt = true; - } - wd1Index = weekdays.indexOf(wd1); - if (!wd2IsGmt && isWeekday(wd2)) { - wd2Index = weekdays.indexOf(wd2); - } - let todaysDay = getTodaysDay(useGMTzone); - let result; - if (wd2Index < 0) { - result = todaysDay === wd1Index; - } else if (wd1Index <= wd2Index) { - result = valueInRange(wd1Index, todaysDay, wd2Index); - } else { - result = valueInRange(wd1Index, todaysDay, 6) || valueInRange(0, todaysDay, wd2Index); - } - return result; - } - exports.default = weekdayRange; - function getTodaysDay(gmt) { - return gmt ? new Date().getUTCDay() : new Date().getDay(); - } - function valueInRange(start, value, finish) { - return start <= value && value <= finish; - } - function isWeekday(v) { - return weekdays.indexOf(v) !== -1; - } - } -}); - -// .yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/index.js -var require_dist6 = __commonJS({ - ".yarn/cache/pac-resolver-npm-5.0.1-8067cd1bf4-ff621a5afe.zip/node_modules/pac-resolver/dist/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var url_1 = require("url"); - var degenerator_1 = require_src6(); - var dateRange_1 = __importDefault2(require_dateRange()); - var dnsDomainIs_1 = __importDefault2(require_dnsDomainIs()); - var dnsDomainLevels_1 = __importDefault2(require_dnsDomainLevels()); - var dnsResolve_1 = __importDefault2(require_dnsResolve()); - var isInNet_1 = __importDefault2(require_isInNet()); - var isPlainHostName_1 = __importDefault2(require_isPlainHostName()); - var isResolvable_1 = __importDefault2(require_isResolvable()); - var localHostOrDomainIs_1 = __importDefault2(require_localHostOrDomainIs()); - var myIpAddress_1 = __importDefault2(require_myIpAddress()); - var shExpMatch_1 = __importDefault2(require_shExpMatch()); - var timeRange_1 = __importDefault2(require_timeRange()); - var weekdayRange_1 = __importDefault2(require_weekdayRange()); - function createPacResolver(_str, _opts = {}) { - const str = Buffer.isBuffer(_str) ? _str.toString("utf8") : _str; - const sandbox = Object.assign(Object.assign({}, createPacResolver.sandbox), _opts.sandbox); - const opts = Object.assign(Object.assign({ filename: "proxy.pac" }, _opts), { sandbox }); - const names = Object.keys(sandbox).filter((k) => isAsyncFunction(sandbox[k])); - const resolver = (0, degenerator_1.compile)(str, "FindProxyForURL", names, opts); - function FindProxyForURL(url, _host, _callback) { - let host = null; - let callback = null; - if (typeof _callback === "function") { - callback = _callback; - } - if (typeof _host === "string") { - host = _host; - } else if (typeof _host === "function") { - callback = _host; - } - if (!host) { - host = (0, url_1.parse)(url).hostname; - } - if (!host) { - throw new TypeError("Could not determine `host`"); - } - const promise = resolver(url, host); - if (typeof callback === "function") { - toCallback(promise, callback); - } else { - return promise; - } - } - Object.defineProperty(FindProxyForURL, "toString", { - value: () => resolver.toString(), - enumerable: false - }); - return FindProxyForURL; - } - (function(createPacResolver2) { - createPacResolver2.sandbox = Object.freeze({ - alert: (message = "") => console.log("%s", message), - dateRange: dateRange_1.default, - dnsDomainIs: dnsDomainIs_1.default, - dnsDomainLevels: dnsDomainLevels_1.default, - dnsResolve: dnsResolve_1.default, - isInNet: isInNet_1.default, - isPlainHostName: isPlainHostName_1.default, - isResolvable: isResolvable_1.default, - localHostOrDomainIs: localHostOrDomainIs_1.default, - myIpAddress: myIpAddress_1.default, - shExpMatch: shExpMatch_1.default, - timeRange: timeRange_1.default, - weekdayRange: weekdayRange_1.default - }); - })(createPacResolver || (createPacResolver = {})); - function toCallback(promise, callback) { - promise.then((rtn) => callback(null, rtn), callback); - } - function isAsyncFunction(v) { - if (typeof v !== "function") - return false; - if (v.constructor.name === "AsyncFunction") - return true; - if (String(v).indexOf("__awaiter(") !== -1) - return true; - return Boolean(v.async); - } - module2.exports = createPacResolver; - } -}); - -// .yarn/cache/pac-proxy-agent-npm-5.0.0-f989e3d5f0-a27e816eb7.zip/node_modules/pac-proxy-agent/dist/agent.js -var require_agent4 = __commonJS({ - ".yarn/cache/pac-proxy-agent-npm-5.0.0-f989e3d5f0-a27e816eb7.zip/node_modules/pac-proxy-agent/dist/agent.js"(exports) { - "use strict"; - var __awaiter2 = exports && exports.__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 __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var net_1 = __importDefault2(require("net")); - var tls_1 = __importDefault2(require("tls")); - var once_1 = __importDefault2(require_dist()); - var crypto_1 = __importDefault2(require("crypto")); - var get_uri_1 = __importDefault2(require_dist2()); - var debug_1 = __importDefault2(require_src2()); - var raw_body_1 = __importDefault2(require_raw_body()); - var url_1 = require("url"); - var http_proxy_agent_1 = require_dist3(); - var https_proxy_agent_1 = require_dist4(); - var socks_proxy_agent_1 = require_dist5(); - var pac_resolver_1 = __importDefault2(require_dist6()); - var agent_base_1 = require_src3(); - var debug2 = debug_1.default("pac-proxy-agent"); - var PacProxyAgent = class extends agent_base_1.Agent { - constructor(uri, opts = {}) { - super(opts); - this.clearResolverPromise = () => { - this.resolverPromise = void 0; - }; - debug2("Creating PacProxyAgent with URI %o and options %o", uri, opts); - this.uri = uri.replace(/^pac\+/i, ""); - this.opts = Object.assign({}, opts); - this.cache = void 0; - this.resolver = void 0; - this.resolverHash = ""; - this.resolverPromise = void 0; - if (!this.opts.filename) { - this.opts.filename = uri; - } - } - /** - * Loads the PAC proxy file from the source if necessary, and returns - * a generated `FindProxyForURL()` resolver function to use. - * - * @api private - */ - getResolver() { - if (!this.resolverPromise) { - this.resolverPromise = this.loadResolver(); - this.resolverPromise.then(this.clearResolverPromise, this.clearResolverPromise); - } - return this.resolverPromise; - } - loadResolver() { - return __awaiter2(this, void 0, void 0, function* () { - try { - const code = yield this.loadPacFile(); - const hash = crypto_1.default.createHash("sha1").update(code).digest("hex"); - if (this.resolver && this.resolverHash === hash) { - debug2("Same sha1 hash for code - contents have not changed, reusing previous proxy resolver"); - return this.resolver; - } - debug2("Creating new proxy resolver instance"); - this.resolver = pac_resolver_1.default(code, this.opts); - this.resolverHash = hash; - return this.resolver; - } catch (err) { - if (this.resolver && err.code === "ENOTMODIFIED") { - debug2("Got ENOTMODIFIED response, reusing previous proxy resolver"); - return this.resolver; - } - throw err; - } - }); - } - /** - * Loads the contents of the PAC proxy file. - * - * @api private - */ - loadPacFile() { - return __awaiter2(this, void 0, void 0, function* () { - debug2("Loading PAC file: %o", this.uri); - const rs = yield get_uri_1.default(this.uri, { cache: this.cache }); - debug2("Got `Readable` instance for URI"); - this.cache = rs; - const buf = yield raw_body_1.default(rs); - debug2("Read %o byte PAC file from URI", buf.length); - return buf.toString("utf8"); - }); - } - /** - * Called when the node-core HTTP client library is creating a new HTTP request. - * - * @api protected - */ - callback(req, opts) { - return __awaiter2(this, void 0, void 0, function* () { - const { secureEndpoint } = opts; - const resolver = yield this.getResolver(); - const defaultPort = secureEndpoint ? 443 : 80; - let path9 = req.path; - let search = null; - const firstQuestion = path9.indexOf("?"); - if (firstQuestion !== -1) { - search = path9.substring(firstQuestion); - path9 = path9.substring(0, firstQuestion); - } - const urlOpts = Object.assign(Object.assign({}, opts), { - protocol: secureEndpoint ? "https:" : "http:", - pathname: path9, - search, - // need to use `hostname` instead of `host` otherwise `port` is ignored - hostname: opts.host, - host: null, - href: null, - // set `port` to null when it is the protocol default port (80 / 443) - port: defaultPort === opts.port ? null : opts.port - }); - const url = url_1.format(urlOpts); - debug2("url: %o", url); - let result = yield resolver(url); - if (!result) { - result = "DIRECT"; - } - const proxies = String(result).trim().split(/\s*;\s*/g).filter(Boolean); - if (this.opts.fallbackToDirect && !proxies.includes("DIRECT")) { - proxies.push("DIRECT"); - } - for (const proxy of proxies) { - let agent = null; - let socket = null; - const [type, target] = proxy.split(/\s+/); - debug2("Attempting to use proxy: %o", proxy); - if (type === "DIRECT") { - socket = secureEndpoint ? tls_1.default.connect(opts) : net_1.default.connect(opts); - } else if (type === "SOCKS" || type === "SOCKS5") { - agent = new socks_proxy_agent_1.SocksProxyAgent(`socks://${target}`); - } else if (type === "SOCKS4") { - agent = new socks_proxy_agent_1.SocksProxyAgent(`socks4a://${target}`); - } else if (type === "PROXY" || type === "HTTP" || type === "HTTPS") { - const proxyURL = `${type === "HTTPS" ? "https" : "http"}://${target}`; - const proxyOpts = Object.assign(Object.assign({}, this.opts), url_1.parse(proxyURL)); - if (secureEndpoint) { - agent = new https_proxy_agent_1.HttpsProxyAgent(proxyOpts); - } else { - agent = new http_proxy_agent_1.HttpProxyAgent(proxyOpts); - } - } - try { - if (socket) { - yield once_1.default(socket, "connect"); - req.emit("proxy", { proxy, socket }); - return socket; - } - if (agent) { - const s = yield agent.callback(req, opts); - req.emit("proxy", { proxy, socket: s }); - return s; - } - throw new Error(`Could not determine proxy type for: ${proxy}`); - } catch (err) { - debug2("Got error for proxy %o: %o", proxy, err); - req.emit("proxy", { proxy, error: err }); - } - } - throw new Error(`Failed to establish a socket connection to proxies: ${JSON.stringify(proxies)}`); - }); - } - }; - exports.default = PacProxyAgent; - } -}); - -// .yarn/cache/pac-proxy-agent-npm-5.0.0-f989e3d5f0-a27e816eb7.zip/node_modules/pac-proxy-agent/dist/index.js -var require_dist7 = __commonJS({ - ".yarn/cache/pac-proxy-agent-npm-5.0.0-f989e3d5f0-a27e816eb7.zip/node_modules/pac-proxy-agent/dist/index.js"(exports, module2) { - "use strict"; - var __importDefault2 = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - var get_uri_1 = __importDefault2(require_dist2()); - var url_1 = require("url"); - var agent_1 = __importDefault2(require_agent4()); - function createPacProxyAgent(uri, opts) { - if (typeof uri === "object") { - opts = uri; - if (opts.href) { - if (opts.path && !opts.pathname) { - opts.pathname = opts.path; - } - opts.slashes = true; - uri = url_1.format(opts); - } else { - uri = opts.uri; - } - } - if (!opts) { - opts = {}; - } - if (typeof uri !== "string") { - throw new TypeError("a PAC file URI must be specified!"); - } - return new agent_1.default(uri, opts); - } - (function(createPacProxyAgent2) { - createPacProxyAgent2.PacProxyAgent = agent_1.default; - createPacProxyAgent2.protocols = Object.keys(get_uri_1.default.protocols); - createPacProxyAgent2.prototype = agent_1.default.prototype; - })(createPacProxyAgent || (createPacProxyAgent = {})); - module2.exports = createPacProxyAgent; - } -}); - -// .yarn/cache/proxy-agent-npm-5.0.0-41772f4b01-7f560f6fe8.zip/node_modules/proxy-agent/index.js -var require_proxy_agent = __commonJS({ - ".yarn/cache/proxy-agent-npm-5.0.0-41772f4b01-7f560f6fe8.zip/node_modules/proxy-agent/index.js"(exports, module2) { - "use strict"; - var url = require("url"); - var LRU = require_lru_cache2(); - var Agent = require_src3(); - var inherits = require("util").inherits; - var debug2 = require_src2()("proxy-agent"); - var getProxyForUrl = require_proxy_from_env().getProxyForUrl; - var http = require("http"); - var https = require("https"); - var PacProxyAgent = require_dist7(); - var HttpProxyAgent = require_dist3(); - var HttpsProxyAgent = require_dist4(); - var SocksProxyAgent = require_dist5(); - exports = module2.exports = ProxyAgent; - var cacheSize = 20; - exports.cache = new LRU(cacheSize); - exports.proxies = /* @__PURE__ */ Object.create(null); - exports.proxies.http = httpOrHttpsProxy; - exports.proxies.https = httpOrHttpsProxy; - exports.proxies.socks = SocksProxyAgent; - exports.proxies.socks4 = SocksProxyAgent; - exports.proxies.socks4a = SocksProxyAgent; - exports.proxies.socks5 = SocksProxyAgent; - exports.proxies.socks5h = SocksProxyAgent; - PacProxyAgent.protocols.forEach(function(protocol) { - exports.proxies["pac+" + protocol] = PacProxyAgent; - }); - function httpOrHttps(opts, secureEndpoint) { - if (secureEndpoint) { - return https.globalAgent; - } else { - return http.globalAgent; - } - } - function httpOrHttpsProxy(opts, secureEndpoint) { - if (secureEndpoint) { - return new HttpsProxyAgent(opts); - } else { - return new HttpProxyAgent(opts); - } - } - function mapOptsToProxy(opts) { - if (!opts) { - return { - uri: "no proxy", - fn: httpOrHttps - }; - } - if ("string" == typeof opts) - opts = url.parse(opts); - var proxies; - if (opts.proxies) { - proxies = Object.assign({}, exports.proxies, opts.proxies); - } else { - proxies = exports.proxies; - } - var protocol = opts.protocol; - if (!protocol) { - throw new TypeError('You must specify a "protocol" for the proxy type (' + Object.keys(proxies).join(", ") + ")"); - } - if (":" == protocol[protocol.length - 1]) { - protocol = protocol.substring(0, protocol.length - 1); - } - var proxyFn = proxies[protocol]; - if ("function" != typeof proxyFn) { - throw new TypeError('unsupported proxy protocol: "' + protocol + '"'); - } - return { - opts, - uri: url.format({ - protocol: protocol + ":", - slashes: true, - auth: opts.auth, - hostname: opts.hostname || opts.host, - port: opts.port - }), - fn: proxyFn - }; - } - function ProxyAgent(opts) { - if (!(this instanceof ProxyAgent)) - return new ProxyAgent(opts); - debug2("creating new ProxyAgent instance: %o", opts); - Agent.call(this); - if (opts) { - var proxy = mapOptsToProxy(opts); - this.proxy = proxy.opts; - this.proxyUri = proxy.uri; - this.proxyFn = proxy.fn; - } - } - inherits(ProxyAgent, Agent); - ProxyAgent.prototype.callback = function(req, opts, fn2) { - var proxyOpts = this.proxy; - var proxyUri = this.proxyUri; - var proxyFn = this.proxyFn; - if (!proxyOpts) { - var urlOpts = getProxyForUrl(opts); - var proxy = mapOptsToProxy(urlOpts, opts); - proxyOpts = proxy.opts; - proxyUri = proxy.uri; - proxyFn = proxy.fn; - } - var key = proxyUri; - if (opts.secureEndpoint) - key += " secure"; - var agent = exports.cache.get(key); - if (!agent) { - agent = proxyFn(proxyOpts, opts.secureEndpoint); - if (agent) { - exports.cache.set(key, agent); - } - } else { - debug2("cache hit with key: %o", key); - } - if (!proxyOpts) { - agent.addRequest(req, opts); - } else { - agent.callback(req, opts).then(function(socket) { - fn2(null, socket); - }).catch(function(error) { - fn2(error); - }); - } - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/high-level-opt.js -var require_high_level_opt = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/high-level-opt.js"(exports, module2) { - "use strict"; - var argmap = /* @__PURE__ */ new Map([ - ["C", "cwd"], - ["f", "file"], - ["z", "gzip"], - ["P", "preservePaths"], - ["U", "unlink"], - ["strip-components", "strip"], - ["stripComponents", "strip"], - ["keep-newer", "newer"], - ["keepNewer", "newer"], - ["keep-newer-files", "newer"], - ["keepNewerFiles", "newer"], - ["k", "keep"], - ["keep-existing", "keep"], - ["keepExisting", "keep"], - ["m", "noMtime"], - ["no-mtime", "noMtime"], - ["p", "preserveOwner"], - ["L", "follow"], - ["h", "follow"] - ]); - module2.exports = (opt) => opt ? Object.keys(opt).map((k) => [ - argmap.has(k) ? argmap.get(k) : k, - opt[k] - ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), /* @__PURE__ */ Object.create(null)) : {}; - } -}); - -// .yarn/cache/minipass-npm-3.3.5-a555b091e7-54b7be3d5d.zip/node_modules/minipass/index.js -var require_minipass = __commonJS({ - ".yarn/cache/minipass-npm-3.3.5-a555b091e7-54b7be3d5d.zip/node_modules/minipass/index.js"(exports, module2) { - "use strict"; - var proc = typeof process === "object" && process ? process : { - stdout: null, - stderr: null - }; - var EE = require("events"); - var Stream = require("stream"); - var SD = require("string_decoder").StringDecoder; - var EOF = Symbol("EOF"); - var MAYBE_EMIT_END = Symbol("maybeEmitEnd"); - var EMITTED_END = Symbol("emittedEnd"); - var EMITTING_END = Symbol("emittingEnd"); - var EMITTED_ERROR = Symbol("emittedError"); - var CLOSED = Symbol("closed"); - var READ = Symbol("read"); - var FLUSH = Symbol("flush"); - var FLUSHCHUNK = Symbol("flushChunk"); - var ENCODING = Symbol("encoding"); - var DECODER = Symbol("decoder"); - var FLOWING = Symbol("flowing"); - var PAUSED = Symbol("paused"); - var RESUME = Symbol("resume"); - var BUFFERLENGTH = Symbol("bufferLength"); - var BUFFERPUSH = Symbol("bufferPush"); - var BUFFERSHIFT = Symbol("bufferShift"); - var OBJECTMODE = Symbol("objectMode"); - var DESTROYED = Symbol("destroyed"); - var EMITDATA = Symbol("emitData"); - var EMITEND = Symbol("emitEnd"); - var EMITEND2 = Symbol("emitEnd2"); - var ASYNC = Symbol("async"); - var defer = (fn2) => Promise.resolve().then(fn2); - var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1"; - var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented"); - var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented"); - var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish"; - var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0; - var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b); - var Pipe = class { - constructor(src, dest, opts) { - this.src = src; - this.dest = dest; - this.opts = opts; - this.ondrain = () => src[RESUME](); - dest.on("drain", this.ondrain); - } - unpipe() { - this.dest.removeListener("drain", this.ondrain); - } - // istanbul ignore next - only here for the prototype - proxyErrors() { - } - end() { - this.unpipe(); - if (this.opts.end) - this.dest.end(); - } - }; - var PipeProxyErrors = class extends Pipe { - unpipe() { - this.src.removeListener("error", this.proxyErrors); - super.unpipe(); - } - constructor(src, dest, opts) { - super(src, dest, opts); - this.proxyErrors = (er) => dest.emit("error", er); - src.on("error", this.proxyErrors); - } - }; - module2.exports = class Minipass extends Stream { - constructor(options) { - super(); - this[FLOWING] = false; - this[PAUSED] = false; - this.pipes = []; - this.buffer = []; - this[OBJECTMODE] = options && options.objectMode || false; - if (this[OBJECTMODE]) - this[ENCODING] = null; - else - this[ENCODING] = options && options.encoding || null; - if (this[ENCODING] === "buffer") - this[ENCODING] = null; - this[ASYNC] = options && !!options.async || false; - this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null; - this[EOF] = false; - this[EMITTED_END] = false; - this[EMITTING_END] = false; - this[CLOSED] = false; - this[EMITTED_ERROR] = null; - this.writable = true; - this.readable = true; - this[BUFFERLENGTH] = 0; - this[DESTROYED] = false; - } - get bufferLength() { - return this[BUFFERLENGTH]; - } - get encoding() { - return this[ENCODING]; - } - set encoding(enc) { - if (this[OBJECTMODE]) - throw new Error("cannot set encoding in objectMode"); - if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH])) - throw new Error("cannot change encoding"); - if (this[ENCODING] !== enc) { - this[DECODER] = enc ? new SD(enc) : null; - if (this.buffer.length) - this.buffer = this.buffer.map((chunk) => this[DECODER].write(chunk)); - } - this[ENCODING] = enc; - } - setEncoding(enc) { - this.encoding = enc; - } - get objectMode() { - return this[OBJECTMODE]; - } - set objectMode(om) { - this[OBJECTMODE] = this[OBJECTMODE] || !!om; - } - get ["async"]() { - return this[ASYNC]; - } - set ["async"](a) { - this[ASYNC] = this[ASYNC] || !!a; - } - write(chunk, encoding, cb) { - if (this[EOF]) - throw new Error("write after end"); - if (this[DESTROYED]) { - this.emit("error", Object.assign( - new Error("Cannot call write after a stream was destroyed"), - { code: "ERR_STREAM_DESTROYED" } - )); - return true; - } - if (typeof encoding === "function") - cb = encoding, encoding = "utf8"; - if (!encoding) - encoding = "utf8"; - const fn2 = this[ASYNC] ? defer : (f) => f(); - if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { - if (isArrayBufferView(chunk)) - chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); - else if (isArrayBuffer(chunk)) - chunk = Buffer.from(chunk); - else if (typeof chunk !== "string") - this.objectMode = true; - } - if (this[OBJECTMODE]) { - if (this.flowing && this[BUFFERLENGTH] !== 0) - this[FLUSH](true); - if (this.flowing) - this.emit("data", chunk); - else - this[BUFFERPUSH](chunk); - if (this[BUFFERLENGTH] !== 0) - this.emit("readable"); - if (cb) - fn2(cb); - return this.flowing; - } - if (!chunk.length) { - if (this[BUFFERLENGTH] !== 0) - this.emit("readable"); - if (cb) - fn2(cb); - return this.flowing; - } - if (typeof chunk === "string" && // unless it is a string already ready for us to use - !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) { - chunk = Buffer.from(chunk, encoding); - } - if (Buffer.isBuffer(chunk) && this[ENCODING]) - chunk = this[DECODER].write(chunk); - if (this.flowing && this[BUFFERLENGTH] !== 0) - this[FLUSH](true); - if (this.flowing) - this.emit("data", chunk); - else - this[BUFFERPUSH](chunk); - if (this[BUFFERLENGTH] !== 0) - this.emit("readable"); - if (cb) - fn2(cb); - return this.flowing; - } - read(n) { - if (this[DESTROYED]) - return null; - if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) { - this[MAYBE_EMIT_END](); - return null; - } - if (this[OBJECTMODE]) - n = null; - if (this.buffer.length > 1 && !this[OBJECTMODE]) { - if (this.encoding) - this.buffer = [this.buffer.join("")]; - else - this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])]; - } - const ret = this[READ](n || null, this.buffer[0]); - this[MAYBE_EMIT_END](); - return ret; - } - [READ](n, chunk) { - if (n === chunk.length || n === null) - this[BUFFERSHIFT](); - else { - this.buffer[0] = chunk.slice(n); - chunk = chunk.slice(0, n); - this[BUFFERLENGTH] -= n; - } - this.emit("data", chunk); - if (!this.buffer.length && !this[EOF]) - this.emit("drain"); - return chunk; - } - end(chunk, encoding, cb) { - if (typeof chunk === "function") - cb = chunk, chunk = null; - if (typeof encoding === "function") - cb = encoding, encoding = "utf8"; - if (chunk) - this.write(chunk, encoding); - if (cb) - this.once("end", cb); - this[EOF] = true; - this.writable = false; - if (this.flowing || !this[PAUSED]) - this[MAYBE_EMIT_END](); - return this; - } - // don't let the internal resume be overwritten - [RESUME]() { - if (this[DESTROYED]) - return; - this[PAUSED] = false; - this[FLOWING] = true; - this.emit("resume"); - if (this.buffer.length) - this[FLUSH](); - else if (this[EOF]) - this[MAYBE_EMIT_END](); - else - this.emit("drain"); - } - resume() { - return this[RESUME](); - } - pause() { - this[FLOWING] = false; - this[PAUSED] = true; - } - get destroyed() { - return this[DESTROYED]; - } - get flowing() { - return this[FLOWING]; - } - get paused() { - return this[PAUSED]; - } - [BUFFERPUSH](chunk) { - if (this[OBJECTMODE]) - this[BUFFERLENGTH] += 1; - else - this[BUFFERLENGTH] += chunk.length; - this.buffer.push(chunk); - } - [BUFFERSHIFT]() { - if (this.buffer.length) { - if (this[OBJECTMODE]) - this[BUFFERLENGTH] -= 1; - else - this[BUFFERLENGTH] -= this.buffer[0].length; - } - return this.buffer.shift(); - } - [FLUSH](noDrain) { - do { - } while (this[FLUSHCHUNK](this[BUFFERSHIFT]())); - if (!noDrain && !this.buffer.length && !this[EOF]) - this.emit("drain"); - } - [FLUSHCHUNK](chunk) { - return chunk ? (this.emit("data", chunk), this.flowing) : false; - } - pipe(dest, opts) { - if (this[DESTROYED]) - return; - const ended = this[EMITTED_END]; - opts = opts || {}; - if (dest === proc.stdout || dest === proc.stderr) - opts.end = false; - else - opts.end = opts.end !== false; - opts.proxyErrors = !!opts.proxyErrors; - if (ended) { - if (opts.end) - dest.end(); - } else { - this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)); - if (this[ASYNC]) - defer(() => this[RESUME]()); - else - this[RESUME](); - } - return dest; - } - unpipe(dest) { - const p = this.pipes.find((p2) => p2.dest === dest); - if (p) { - this.pipes.splice(this.pipes.indexOf(p), 1); - p.unpipe(); - } - } - addListener(ev, fn2) { - return this.on(ev, fn2); - } - on(ev, fn2) { - const ret = super.on(ev, fn2); - if (ev === "data" && !this.pipes.length && !this.flowing) - this[RESUME](); - else if (ev === "readable" && this[BUFFERLENGTH] !== 0) - super.emit("readable"); - else if (isEndish(ev) && this[EMITTED_END]) { - super.emit(ev); - this.removeAllListeners(ev); - } else if (ev === "error" && this[EMITTED_ERROR]) { - if (this[ASYNC]) - defer(() => fn2.call(this, this[EMITTED_ERROR])); - else - fn2.call(this, this[EMITTED_ERROR]); - } - return ret; - } - get emittedEnd() { - return this[EMITTED_END]; - } - [MAYBE_EMIT_END]() { - if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this.buffer.length === 0 && this[EOF]) { - this[EMITTING_END] = true; - this.emit("end"); - this.emit("prefinish"); - this.emit("finish"); - if (this[CLOSED]) - this.emit("close"); - this[EMITTING_END] = false; - } - } - emit(ev, data, ...extra) { - if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) - return; - else if (ev === "data") { - return !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data); - } else if (ev === "end") { - return this[EMITEND](); - } else if (ev === "close") { - this[CLOSED] = true; - if (!this[EMITTED_END] && !this[DESTROYED]) - return; - const ret2 = super.emit("close"); - this.removeAllListeners("close"); - return ret2; - } else if (ev === "error") { - this[EMITTED_ERROR] = data; - const ret2 = super.emit("error", data); - this[MAYBE_EMIT_END](); - return ret2; - } else if (ev === "resume") { - const ret2 = super.emit("resume"); - this[MAYBE_EMIT_END](); - return ret2; - } else if (ev === "finish" || ev === "prefinish") { - const ret2 = super.emit(ev); - this.removeAllListeners(ev); - return ret2; - } - const ret = super.emit(ev, data, ...extra); - this[MAYBE_EMIT_END](); - return ret; - } - [EMITDATA](data) { - for (const p of this.pipes) { - if (p.dest.write(data) === false) - this.pause(); - } - const ret = super.emit("data", data); - this[MAYBE_EMIT_END](); - return ret; - } - [EMITEND]() { - if (this[EMITTED_END]) - return; - this[EMITTED_END] = true; - this.readable = false; - if (this[ASYNC]) - defer(() => this[EMITEND2]()); - else - this[EMITEND2](); - } - [EMITEND2]() { - if (this[DECODER]) { - const data = this[DECODER].end(); - if (data) { - for (const p of this.pipes) { - p.dest.write(data); - } - super.emit("data", data); - } - } - for (const p of this.pipes) { - p.end(); - } - const ret = super.emit("end"); - this.removeAllListeners("end"); - return ret; - } - // const all = await stream.collect() - collect() { - const buf = []; - if (!this[OBJECTMODE]) - buf.dataLength = 0; - const p = this.promise(); - this.on("data", (c) => { - buf.push(c); - if (!this[OBJECTMODE]) - buf.dataLength += c.length; - }); - return p.then(() => buf); - } - // const data = await stream.concat() - concat() { - return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then((buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)); - } - // stream.promise().then(() => done, er => emitted error) - promise() { - return new Promise((resolve, reject) => { - this.on(DESTROYED, () => reject(new Error("stream destroyed"))); - this.on("error", (er) => reject(er)); - this.on("end", () => resolve()); - }); - } - // for await (let chunk of stream) - [ASYNCITERATOR]() { - const next = () => { - const res = this.read(); - if (res !== null) - return Promise.resolve({ done: false, value: res }); - if (this[EOF]) - return Promise.resolve({ done: true }); - let resolve = null; - let reject = null; - const onerr = (er) => { - this.removeListener("data", ondata); - this.removeListener("end", onend); - reject(er); - }; - const ondata = (value) => { - this.removeListener("error", onerr); - this.removeListener("end", onend); - this.pause(); - resolve({ value, done: !!this[EOF] }); - }; - const onend = () => { - this.removeListener("error", onerr); - this.removeListener("data", ondata); - resolve({ done: true }); - }; - const ondestroy = () => onerr(new Error("stream destroyed")); - return new Promise((res2, rej) => { - reject = rej; - resolve = res2; - this.once(DESTROYED, ondestroy); - this.once("error", onerr); - this.once("end", onend); - this.once("data", ondata); - }); - }; - return { next }; - } - // for (let chunk of stream) - [ITERATOR]() { - const next = () => { - const value = this.read(); - const done = value === null; - return { value, done }; - }; - return { next }; - } - destroy(er) { - if (this[DESTROYED]) { - if (er) - this.emit("error", er); - else - this.emit(DESTROYED); - return this; - } - this[DESTROYED] = true; - this.buffer.length = 0; - this[BUFFERLENGTH] = 0; - if (typeof this.close === "function" && !this[CLOSED]) - this.close(); - if (er) - this.emit("error", er); - else - this.emit(DESTROYED); - return this; - } - static isStream(s) { - return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && (typeof s.pipe === "function" || typeof s.write === "function" && typeof s.end === "function")); - } - }; - } -}); - -// .yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/constants.js -var require_constants3 = __commonJS({ - ".yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/constants.js"(exports, module2) { - var realZlibConstants = require("zlib").constants || /* istanbul ignore next */ - { ZLIB_VERNUM: 4736 }; - module2.exports = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), { - Z_NO_FLUSH: 0, - Z_PARTIAL_FLUSH: 1, - Z_SYNC_FLUSH: 2, - Z_FULL_FLUSH: 3, - Z_FINISH: 4, - Z_BLOCK: 5, - Z_OK: 0, - Z_STREAM_END: 1, - Z_NEED_DICT: 2, - Z_ERRNO: -1, - Z_STREAM_ERROR: -2, - Z_DATA_ERROR: -3, - Z_MEM_ERROR: -4, - Z_BUF_ERROR: -5, - Z_VERSION_ERROR: -6, - Z_NO_COMPRESSION: 0, - Z_BEST_SPEED: 1, - Z_BEST_COMPRESSION: 9, - Z_DEFAULT_COMPRESSION: -1, - Z_FILTERED: 1, - Z_HUFFMAN_ONLY: 2, - Z_RLE: 3, - Z_FIXED: 4, - Z_DEFAULT_STRATEGY: 0, - DEFLATE: 1, - INFLATE: 2, - GZIP: 3, - GUNZIP: 4, - DEFLATERAW: 5, - INFLATERAW: 6, - UNZIP: 7, - BROTLI_DECODE: 8, - BROTLI_ENCODE: 9, - Z_MIN_WINDOWBITS: 8, - Z_MAX_WINDOWBITS: 15, - Z_DEFAULT_WINDOWBITS: 15, - Z_MIN_CHUNK: 64, - Z_MAX_CHUNK: Infinity, - Z_DEFAULT_CHUNK: 16384, - Z_MIN_MEMLEVEL: 1, - Z_MAX_MEMLEVEL: 9, - Z_DEFAULT_MEMLEVEL: 8, - Z_MIN_LEVEL: -1, - Z_MAX_LEVEL: 9, - Z_DEFAULT_LEVEL: -1, - BROTLI_OPERATION_PROCESS: 0, - BROTLI_OPERATION_FLUSH: 1, - BROTLI_OPERATION_FINISH: 2, - BROTLI_OPERATION_EMIT_METADATA: 3, - BROTLI_MODE_GENERIC: 0, - BROTLI_MODE_TEXT: 1, - BROTLI_MODE_FONT: 2, - BROTLI_DEFAULT_MODE: 0, - BROTLI_MIN_QUALITY: 0, - BROTLI_MAX_QUALITY: 11, - BROTLI_DEFAULT_QUALITY: 11, - BROTLI_MIN_WINDOW_BITS: 10, - BROTLI_MAX_WINDOW_BITS: 24, - BROTLI_LARGE_MAX_WINDOW_BITS: 30, - BROTLI_DEFAULT_WINDOW: 22, - BROTLI_MIN_INPUT_BLOCK_BITS: 16, - BROTLI_MAX_INPUT_BLOCK_BITS: 24, - BROTLI_PARAM_MODE: 0, - BROTLI_PARAM_QUALITY: 1, - BROTLI_PARAM_LGWIN: 2, - BROTLI_PARAM_LGBLOCK: 3, - BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4, - BROTLI_PARAM_SIZE_HINT: 5, - BROTLI_PARAM_LARGE_WINDOW: 6, - BROTLI_PARAM_NPOSTFIX: 7, - BROTLI_PARAM_NDIRECT: 8, - BROTLI_DECODER_RESULT_ERROR: 0, - BROTLI_DECODER_RESULT_SUCCESS: 1, - BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2, - BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3, - BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0, - BROTLI_DECODER_PARAM_LARGE_WINDOW: 1, - BROTLI_DECODER_NO_ERROR: 0, - BROTLI_DECODER_SUCCESS: 1, - BROTLI_DECODER_NEEDS_MORE_INPUT: 2, - BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3, - BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1, - BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2, - BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3, - BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4, - BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5, - BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6, - BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7, - BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8, - BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9, - BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10, - BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11, - BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12, - BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13, - BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14, - BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15, - BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16, - BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19, - BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20, - BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21, - BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22, - BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25, - BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26, - BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27, - BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30, - BROTLI_DECODER_ERROR_UNREACHABLE: -31 - }, realZlibConstants)); - } -}); - -// .yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/index.js -var require_minizlib = __commonJS({ - ".yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/index.js"(exports) { - "use strict"; - var assert2 = require("assert"); - var Buffer2 = require("buffer").Buffer; - var realZlib = require("zlib"); - var constants = exports.constants = require_constants3(); - var Minipass = require_minipass(); - var OriginalBufferConcat = Buffer2.concat; - var _superWrite = Symbol("_superWrite"); - var ZlibError = class extends Error { - constructor(err) { - super("zlib: " + err.message); - this.code = err.code; - this.errno = err.errno; - if (!this.code) - this.code = "ZLIB_ERROR"; - this.message = "zlib: " + err.message; - Error.captureStackTrace(this, this.constructor); - } - get name() { - return "ZlibError"; - } - }; - var _opts = Symbol("opts"); - var _flushFlag = Symbol("flushFlag"); - var _finishFlushFlag = Symbol("finishFlushFlag"); - var _fullFlushFlag = Symbol("fullFlushFlag"); - var _handle = Symbol("handle"); - var _onError = Symbol("onError"); - var _sawError = Symbol("sawError"); - var _level = Symbol("level"); - var _strategy = Symbol("strategy"); - var _ended = Symbol("ended"); - var _defaultFullFlush = Symbol("_defaultFullFlush"); - var ZlibBase = class extends Minipass { - constructor(opts, mode) { - if (!opts || typeof opts !== "object") - throw new TypeError("invalid options for ZlibBase constructor"); - super(opts); - this[_sawError] = false; - this[_ended] = false; - this[_opts] = opts; - this[_flushFlag] = opts.flush; - this[_finishFlushFlag] = opts.finishFlush; - try { - this[_handle] = new realZlib[mode](opts); - } catch (er) { - throw new ZlibError(er); - } - this[_onError] = (err) => { - if (this[_sawError]) - return; - this[_sawError] = true; - this.close(); - this.emit("error", err); - }; - this[_handle].on("error", (er) => this[_onError](new ZlibError(er))); - this.once("end", () => this.close); - } - close() { - if (this[_handle]) { - this[_handle].close(); - this[_handle] = null; - this.emit("close"); - } - } - reset() { - if (!this[_sawError]) { - assert2(this[_handle], "zlib binding closed"); - return this[_handle].reset(); - } - } - flush(flushFlag) { - if (this.ended) - return; - if (typeof flushFlag !== "number") - flushFlag = this[_fullFlushFlag]; - this.write(Object.assign(Buffer2.alloc(0), { [_flushFlag]: flushFlag })); - } - end(chunk, encoding, cb) { - if (chunk) - this.write(chunk, encoding); - this.flush(this[_finishFlushFlag]); - this[_ended] = true; - return super.end(null, null, cb); - } - get ended() { - return this[_ended]; - } - write(chunk, encoding, cb) { - if (typeof encoding === "function") - cb = encoding, encoding = "utf8"; - if (typeof chunk === "string") - chunk = Buffer2.from(chunk, encoding); - if (this[_sawError]) - return; - assert2(this[_handle], "zlib binding closed"); - const nativeHandle = this[_handle]._handle; - const originalNativeClose = nativeHandle.close; - nativeHandle.close = () => { - }; - const originalClose = this[_handle].close; - this[_handle].close = () => { - }; - Buffer2.concat = (args) => args; - let result; - try { - const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this[_flushFlag]; - result = this[_handle]._processChunk(chunk, flushFlag); - Buffer2.concat = OriginalBufferConcat; - } catch (err) { - Buffer2.concat = OriginalBufferConcat; - this[_onError](new ZlibError(err)); - } finally { - if (this[_handle]) { - this[_handle]._handle = nativeHandle; - nativeHandle.close = originalNativeClose; - this[_handle].close = originalClose; - this[_handle].removeAllListeners("error"); - } - } - if (this[_handle]) - this[_handle].on("error", (er) => this[_onError](new ZlibError(er))); - let writeReturn; - if (result) { - if (Array.isArray(result) && result.length > 0) { - writeReturn = this[_superWrite](Buffer2.from(result[0])); - for (let i = 1; i < result.length; i++) { - writeReturn = this[_superWrite](result[i]); - } - } else { - writeReturn = this[_superWrite](Buffer2.from(result)); - } - } - if (cb) - cb(); - return writeReturn; - } - [_superWrite](data) { - return super.write(data); - } - }; - var Zlib = class extends ZlibBase { - constructor(opts, mode) { - opts = opts || {}; - opts.flush = opts.flush || constants.Z_NO_FLUSH; - opts.finishFlush = opts.finishFlush || constants.Z_FINISH; - super(opts, mode); - this[_fullFlushFlag] = constants.Z_FULL_FLUSH; - this[_level] = opts.level; - this[_strategy] = opts.strategy; - } - params(level, strategy) { - if (this[_sawError]) - return; - if (!this[_handle]) - throw new Error("cannot switch params when binding is closed"); - if (!this[_handle].params) - throw new Error("not supported in this implementation"); - if (this[_level] !== level || this[_strategy] !== strategy) { - this.flush(constants.Z_SYNC_FLUSH); - assert2(this[_handle], "zlib binding closed"); - const origFlush = this[_handle].flush; - this[_handle].flush = (flushFlag, cb) => { - this.flush(flushFlag); - cb(); - }; - try { - this[_handle].params(level, strategy); - } finally { - this[_handle].flush = origFlush; - } - if (this[_handle]) { - this[_level] = level; - this[_strategy] = strategy; - } - } - } - }; - var Deflate = class extends Zlib { - constructor(opts) { - super(opts, "Deflate"); - } - }; - var Inflate = class extends Zlib { - constructor(opts) { - super(opts, "Inflate"); - } - }; - var _portable = Symbol("_portable"); - var Gzip = class extends Zlib { - constructor(opts) { - super(opts, "Gzip"); - this[_portable] = opts && !!opts.portable; - } - [_superWrite](data) { - if (!this[_portable]) - return super[_superWrite](data); - this[_portable] = false; - data[9] = 255; - return super[_superWrite](data); - } - }; - var Gunzip = class extends Zlib { - constructor(opts) { - super(opts, "Gunzip"); - } - }; - var DeflateRaw = class extends Zlib { - constructor(opts) { - super(opts, "DeflateRaw"); - } - }; - var InflateRaw = class extends Zlib { - constructor(opts) { - super(opts, "InflateRaw"); - } - }; - var Unzip = class extends Zlib { - constructor(opts) { - super(opts, "Unzip"); - } - }; - var Brotli = class extends ZlibBase { - constructor(opts, mode) { - opts = opts || {}; - opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS; - opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH; - super(opts, mode); - this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH; - } - }; - var BrotliCompress = class extends Brotli { - constructor(opts) { - super(opts, "BrotliCompress"); - } - }; - var BrotliDecompress = class extends Brotli { - constructor(opts) { - super(opts, "BrotliDecompress"); - } - }; - exports.Deflate = Deflate; - exports.Inflate = Inflate; - exports.Gzip = Gzip; - exports.Gunzip = Gunzip; - exports.DeflateRaw = DeflateRaw; - exports.InflateRaw = InflateRaw; - exports.Unzip = Unzip; - if (typeof realZlib.BrotliCompress === "function") { - exports.BrotliCompress = BrotliCompress; - exports.BrotliDecompress = BrotliDecompress; - } else { - exports.BrotliCompress = exports.BrotliDecompress = class { - constructor() { - throw new Error("Brotli is not supported in this version of Node.js"); - } - }; - } - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/normalize-windows-path.js -var require_normalize_windows_path = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/normalize-windows-path.js"(exports, module2) { - var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; - module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/"); - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/read-entry.js -var require_read_entry = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/read-entry.js"(exports, module2) { - "use strict"; - var MiniPass = require_minipass(); - var normPath = require_normalize_windows_path(); - var SLURP = Symbol("slurp"); - module2.exports = class ReadEntry extends MiniPass { - constructor(header, ex, gex) { - super(); - this.pause(); - this.extended = ex; - this.globalExtended = gex; - this.header = header; - this.startBlockSize = 512 * Math.ceil(header.size / 512); - this.blockRemain = this.startBlockSize; - this.remain = header.size; - this.type = header.type; - this.meta = false; - this.ignore = false; - switch (this.type) { - case "File": - case "OldFile": - case "Link": - case "SymbolicLink": - case "CharacterDevice": - case "BlockDevice": - case "Directory": - case "FIFO": - case "ContiguousFile": - case "GNUDumpDir": - break; - case "NextFileHasLongLinkpath": - case "NextFileHasLongPath": - case "OldGnuLongPath": - case "GlobalExtendedHeader": - case "ExtendedHeader": - case "OldExtendedHeader": - this.meta = true; - break; - default: - this.ignore = true; - } - this.path = normPath(header.path); - this.mode = header.mode; - if (this.mode) - this.mode = this.mode & 4095; - this.uid = header.uid; - this.gid = header.gid; - this.uname = header.uname; - this.gname = header.gname; - this.size = header.size; - this.mtime = header.mtime; - this.atime = header.atime; - this.ctime = header.ctime; - this.linkpath = normPath(header.linkpath); - this.uname = header.uname; - this.gname = header.gname; - if (ex) - this[SLURP](ex); - if (gex) - this[SLURP](gex, true); - } - write(data) { - const writeLen = data.length; - if (writeLen > this.blockRemain) - throw new Error("writing more to entry than is appropriate"); - const r = this.remain; - const br = this.blockRemain; - this.remain = Math.max(0, r - writeLen); - this.blockRemain = Math.max(0, br - writeLen); - if (this.ignore) - return true; - if (r >= writeLen) - return super.write(data); - return super.write(data.slice(0, r)); - } - [SLURP](ex, global2) { - for (const k in ex) { - if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) - this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k]; - } - } - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/types.js -var require_types2 = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/types.js"(exports) { - "use strict"; - exports.name = /* @__PURE__ */ new Map([ - ["0", "File"], - // same as File - ["", "OldFile"], - ["1", "Link"], - ["2", "SymbolicLink"], - // Devices and FIFOs aren't fully supported - // they are parsed, but skipped when unpacking - ["3", "CharacterDevice"], - ["4", "BlockDevice"], - ["5", "Directory"], - ["6", "FIFO"], - // same as File - ["7", "ContiguousFile"], - // pax headers - ["g", "GlobalExtendedHeader"], - ["x", "ExtendedHeader"], - // vendor-specific stuff - // skip - ["A", "SolarisACL"], - // like 5, but with data, which should be skipped - ["D", "GNUDumpDir"], - // metadata only, skip - ["I", "Inode"], - // data = link path of next file - ["K", "NextFileHasLongLinkpath"], - // data = path of next file - ["L", "NextFileHasLongPath"], - // skip - ["M", "ContinuationFile"], - // like L - ["N", "OldGnuLongPath"], - // skip - ["S", "SparseFile"], - // skip - ["V", "TapeVolumeHeader"], - // like x - ["X", "OldExtendedHeader"] - ]); - exports.code = new Map(Array.from(exports.name).map((kv) => [kv[1], kv[0]])); - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/large-numbers.js -var require_large_numbers = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/large-numbers.js"(exports, module2) { - "use strict"; - var encode = (num, buf) => { - if (!Number.isSafeInteger(num)) - throw Error("cannot encode number outside of javascript safe integer range"); - else if (num < 0) - encodeNegative(num, buf); - else - encodePositive(num, buf); - return buf; - }; - var encodePositive = (num, buf) => { - buf[0] = 128; - for (var i = buf.length; i > 1; i--) { - buf[i - 1] = num & 255; - num = Math.floor(num / 256); - } - }; - var encodeNegative = (num, buf) => { - buf[0] = 255; - var flipped = false; - num = num * -1; - for (var i = buf.length; i > 1; i--) { - var byte = num & 255; - num = Math.floor(num / 256); - if (flipped) - buf[i - 1] = onesComp(byte); - else if (byte === 0) - buf[i - 1] = 0; - else { - flipped = true; - buf[i - 1] = twosComp(byte); - } - } - }; - var parse = (buf) => { - const pre = buf[0]; - const value = pre === 128 ? pos(buf.slice(1, buf.length)) : pre === 255 ? twos(buf) : null; - if (value === null) - throw Error("invalid base256 encoding"); - if (!Number.isSafeInteger(value)) - throw Error("parsed number outside of javascript safe integer range"); - return value; - }; - var twos = (buf) => { - var len = buf.length; - var sum = 0; - var flipped = false; - for (var i = len - 1; i > -1; i--) { - var byte = buf[i]; - var f; - if (flipped) - f = onesComp(byte); - else if (byte === 0) - f = byte; - else { - flipped = true; - f = twosComp(byte); - } - if (f !== 0) - sum -= f * Math.pow(256, len - i - 1); - } - return sum; - }; - var pos = (buf) => { - var len = buf.length; - var sum = 0; - for (var i = len - 1; i > -1; i--) { - var byte = buf[i]; - if (byte !== 0) - sum += byte * Math.pow(256, len - i - 1); - } - return sum; - }; - var onesComp = (byte) => (255 ^ byte) & 255; - var twosComp = (byte) => (255 ^ byte) + 1 & 255; - module2.exports = { - encode, - parse - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/header.js -var require_header = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/header.js"(exports, module2) { - "use strict"; - var types = require_types2(); - var pathModule = require("path").posix; - var large = require_large_numbers(); - var SLURP = Symbol("slurp"); - var TYPE = Symbol("type"); - var Header = class { - constructor(data, off, ex, gex) { - this.cksumValid = false; - this.needPax = false; - this.nullBlock = false; - this.block = null; - this.path = null; - this.mode = null; - this.uid = null; - this.gid = null; - this.size = null; - this.mtime = null; - this.cksum = null; - this[TYPE] = "0"; - this.linkpath = null; - this.uname = null; - this.gname = null; - this.devmaj = 0; - this.devmin = 0; - this.atime = null; - this.ctime = null; - if (Buffer.isBuffer(data)) - this.decode(data, off || 0, ex, gex); - else if (data) - this.set(data); - } - decode(buf, off, ex, gex) { - if (!off) - off = 0; - if (!buf || !(buf.length >= off + 512)) - throw new Error("need 512 bytes for header"); - this.path = decString(buf, off, 100); - this.mode = decNumber(buf, off + 100, 8); - this.uid = decNumber(buf, off + 108, 8); - this.gid = decNumber(buf, off + 116, 8); - this.size = decNumber(buf, off + 124, 12); - this.mtime = decDate(buf, off + 136, 12); - this.cksum = decNumber(buf, off + 148, 12); - this[SLURP](ex); - this[SLURP](gex, true); - this[TYPE] = decString(buf, off + 156, 1); - if (this[TYPE] === "") - this[TYPE] = "0"; - if (this[TYPE] === "0" && this.path.substr(-1) === "/") - this[TYPE] = "5"; - if (this[TYPE] === "5") - this.size = 0; - this.linkpath = decString(buf, off + 157, 100); - if (buf.slice(off + 257, off + 265).toString() === "ustar\x0000") { - this.uname = decString(buf, off + 265, 32); - this.gname = decString(buf, off + 297, 32); - this.devmaj = decNumber(buf, off + 329, 8); - this.devmin = decNumber(buf, off + 337, 8); - if (buf[off + 475] !== 0) { - const prefix = decString(buf, off + 345, 155); - this.path = prefix + "/" + this.path; - } else { - const prefix = decString(buf, off + 345, 130); - if (prefix) - this.path = prefix + "/" + this.path; - this.atime = decDate(buf, off + 476, 12); - this.ctime = decDate(buf, off + 488, 12); - } - } - let sum = 8 * 32; - for (let i = off; i < off + 148; i++) - sum += buf[i]; - for (let i = off + 156; i < off + 512; i++) - sum += buf[i]; - this.cksumValid = sum === this.cksum; - if (this.cksum === null && sum === 8 * 32) - this.nullBlock = true; - } - [SLURP](ex, global2) { - for (const k in ex) { - if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) - this[k] = ex[k]; - } - } - encode(buf, off) { - if (!buf) { - buf = this.block = Buffer.alloc(512); - off = 0; - } - if (!off) - off = 0; - if (!(buf.length >= off + 512)) - throw new Error("need 512 bytes for header"); - const prefixSize = this.ctime || this.atime ? 130 : 155; - const split = splitPrefix(this.path || "", prefixSize); - const path9 = split[0]; - const prefix = split[1]; - this.needPax = split[2]; - this.needPax = encString(buf, off, 100, path9) || this.needPax; - this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax; - this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax; - this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax; - this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax; - this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax; - buf[off + 156] = this[TYPE].charCodeAt(0); - this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax; - buf.write("ustar\x0000", off + 257, 8); - this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax; - this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax; - this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax; - this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax; - this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax; - if (buf[off + 475] !== 0) - this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax; - else { - this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax; - this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax; - this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax; - } - let sum = 8 * 32; - for (let i = off; i < off + 148; i++) - sum += buf[i]; - for (let i = off + 156; i < off + 512; i++) - sum += buf[i]; - this.cksum = sum; - encNumber(buf, off + 148, 8, this.cksum); - this.cksumValid = true; - return this.needPax; - } - set(data) { - for (const i in data) { - if (data[i] !== null && data[i] !== void 0) - this[i] = data[i]; - } - } - get type() { - return types.name.get(this[TYPE]) || this[TYPE]; - } - get typeKey() { - return this[TYPE]; - } - set type(type) { - if (types.code.has(type)) - this[TYPE] = types.code.get(type); - else - this[TYPE] = type; - } - }; - var splitPrefix = (p, prefixSize) => { - const pathSize = 100; - let pp = p; - let prefix = ""; - let ret; - const root = pathModule.parse(p).root || "."; - if (Buffer.byteLength(pp) < pathSize) - ret = [pp, prefix, false]; - else { - prefix = pathModule.dirname(pp); - pp = pathModule.basename(pp); - do { - if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) - ret = [pp, prefix, false]; - else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) - ret = [pp.substr(0, pathSize - 1), prefix, true]; - else { - pp = pathModule.join(pathModule.basename(prefix), pp); - prefix = pathModule.dirname(prefix); - } - } while (prefix !== root && !ret); - if (!ret) - ret = [p.substr(0, pathSize - 1), "", true]; - } - return ret; - }; - var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, ""); - var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size)); - var numToDate = (num) => num === null ? null : new Date(num * 1e3); - var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size); - var nanNull = (value) => isNaN(value) ? null : value; - var decSmallNumber = (buf, off, size) => nanNull(parseInt( - buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(), - 8 - )); - var MAXNUM = { - 12: 8589934591, - 8: 2097151 - }; - var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false); - var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii"); - var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size); - var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0"; - var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3); - var NULLS = new Array(156).join("\0"); - var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size); - module2.exports = Header; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/pax.js -var require_pax = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/pax.js"(exports, module2) { - "use strict"; - var Header = require_header(); - var path9 = require("path"); - var Pax = class { - constructor(obj, global2) { - this.atime = obj.atime || null; - this.charset = obj.charset || null; - this.comment = obj.comment || null; - this.ctime = obj.ctime || null; - this.gid = obj.gid || null; - this.gname = obj.gname || null; - this.linkpath = obj.linkpath || null; - this.mtime = obj.mtime || null; - this.path = obj.path || null; - this.size = obj.size || null; - this.uid = obj.uid || null; - this.uname = obj.uname || null; - this.dev = obj.dev || null; - this.ino = obj.ino || null; - this.nlink = obj.nlink || null; - this.global = global2 || false; - } - encode() { - const body = this.encodeBody(); - if (body === "") - return null; - const bodyLen = Buffer.byteLength(body); - const bufLen = 512 * Math.ceil(1 + bodyLen / 512); - const buf = Buffer.allocUnsafe(bufLen); - for (let i = 0; i < 512; i++) - buf[i] = 0; - new Header({ - // XXX split the path - // then the path should be PaxHeader + basename, but less than 99, - // prepend with the dirname - path: ("PaxHeader/" + path9.basename(this.path)).slice(0, 99), - mode: this.mode || 420, - uid: this.uid || null, - gid: this.gid || null, - size: bodyLen, - mtime: this.mtime || null, - type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader", - linkpath: "", - uname: this.uname || "", - gname: this.gname || "", - devmaj: 0, - devmin: 0, - atime: this.atime || null, - ctime: this.ctime || null - }).encode(buf); - buf.write(body, 512, bodyLen, "utf8"); - for (let i = bodyLen + 512; i < buf.length; i++) - buf[i] = 0; - return buf; - } - encodeBody() { - return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname"); - } - encodeField(field) { - if (this[field] === null || this[field] === void 0) - return ""; - const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field]; - const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n"; - const byteLen = Buffer.byteLength(s); - let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1; - if (byteLen + digits >= Math.pow(10, digits)) - digits += 1; - const len = digits + byteLen; - return len + s; - } - }; - Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g); - var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a; - var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null)); - var parseKVLine = (set, line) => { - const n = parseInt(line, 10); - if (n !== Buffer.byteLength(line) + 1) - return set; - line = line.substr((n + " ").length); - const kv = line.split("="); - const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1"); - if (!k) - return set; - const v = kv.join("="); - set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v; - return set; - }; - module2.exports = Pax; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/strip-trailing-slashes.js -var require_strip_trailing_slashes = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/strip-trailing-slashes.js"(exports, module2) { - module2.exports = (str) => { - let i = str.length - 1; - let slashesStart = -1; - while (i > -1 && str.charAt(i) === "/") { - slashesStart = i; - i--; - } - return slashesStart === -1 ? str : str.slice(0, slashesStart); - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/warn-mixin.js -var require_warn_mixin = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/warn-mixin.js"(exports, module2) { - "use strict"; - module2.exports = (Base) => class extends Base { - warn(code, message, data = {}) { - if (this.file) - data.file = this.file; - if (this.cwd) - data.cwd = this.cwd; - data.code = message instanceof Error && message.code || code; - data.tarCode = code; - if (!this.strict && data.recoverable !== false) { - if (message instanceof Error) { - data = Object.assign(message, data); - message = message.message; - } - this.emit("warn", data.tarCode, message, data); - } else if (message instanceof Error) - this.emit("error", Object.assign(message, data)); - else - this.emit("error", Object.assign(new Error(`${code}: ${message}`), data)); - } - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/winchars.js -var require_winchars = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/winchars.js"(exports, module2) { - "use strict"; - var raw = [ - "|", - "<", - ">", - "?", - ":" - ]; - var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0))); - var toWin = new Map(raw.map((char, i) => [char, win[i]])); - var toRaw = new Map(win.map((char, i) => [char, raw[i]])); - module2.exports = { - encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s), - decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s) - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/strip-absolute-path.js -var require_strip_absolute_path = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/strip-absolute-path.js"(exports, module2) { - var { isAbsolute, parse } = require("path").win32; - module2.exports = (path9) => { - let r = ""; - let parsed = parse(path9); - while (isAbsolute(path9) || parsed.root) { - const root = path9.charAt(0) === "/" && path9.slice(0, 4) !== "//?/" ? "/" : parsed.root; - path9 = path9.substr(root.length); - r += root; - parsed = parse(path9); - } - return [r, path9]; - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/mode-fix.js -var require_mode_fix = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/mode-fix.js"(exports, module2) { - "use strict"; - module2.exports = (mode, isDir, portable) => { - mode &= 4095; - if (portable) - mode = (mode | 384) & ~18; - if (isDir) { - if (mode & 256) - mode |= 64; - if (mode & 32) - mode |= 8; - if (mode & 4) - mode |= 1; - } - return mode; - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/write-entry.js -var require_write_entry = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/write-entry.js"(exports, module2) { - "use strict"; - var MiniPass = require_minipass(); - var Pax = require_pax(); - var Header = require_header(); - var fs6 = require("fs"); - var path9 = require("path"); - var normPath = require_normalize_windows_path(); - var stripSlash = require_strip_trailing_slashes(); - var prefixPath = (path10, prefix) => { - if (!prefix) - return normPath(path10); - path10 = normPath(path10).replace(/^\.(\/|$)/, ""); - return stripSlash(prefix) + "/" + path10; - }; - var maxReadSize = 16 * 1024 * 1024; - var PROCESS = Symbol("process"); - var FILE = Symbol("file"); - var DIRECTORY = Symbol("directory"); - var SYMLINK = Symbol("symlink"); - var HARDLINK = Symbol("hardlink"); - var HEADER = Symbol("header"); - var READ = Symbol("read"); - var LSTAT = Symbol("lstat"); - var ONLSTAT = Symbol("onlstat"); - var ONREAD = Symbol("onread"); - var ONREADLINK = Symbol("onreadlink"); - var OPENFILE = Symbol("openfile"); - var ONOPENFILE = Symbol("onopenfile"); - var CLOSE = Symbol("close"); - var MODE = Symbol("mode"); - var AWAITDRAIN = Symbol("awaitDrain"); - var ONDRAIN = Symbol("ondrain"); - var PREFIX = Symbol("prefix"); - var HAD_ERROR = Symbol("hadError"); - var warner = require_warn_mixin(); - var winchars = require_winchars(); - var stripAbsolutePath = require_strip_absolute_path(); - var modeFix = require_mode_fix(); - var WriteEntry = warner(class WriteEntry extends MiniPass { - constructor(p, opt) { - opt = opt || {}; - super(opt); - if (typeof p !== "string") - throw new TypeError("path is required"); - this.path = normPath(p); - this.portable = !!opt.portable; - this.myuid = process.getuid && process.getuid() || 0; - this.myuser = process.env.USER || ""; - this.maxReadSize = opt.maxReadSize || maxReadSize; - this.linkCache = opt.linkCache || /* @__PURE__ */ new Map(); - this.statCache = opt.statCache || /* @__PURE__ */ new Map(); - this.preservePaths = !!opt.preservePaths; - this.cwd = normPath(opt.cwd || process.cwd()); - this.strict = !!opt.strict; - this.noPax = !!opt.noPax; - this.noMtime = !!opt.noMtime; - this.mtime = opt.mtime || null; - this.prefix = opt.prefix ? normPath(opt.prefix) : null; - this.fd = null; - this.blockLen = null; - this.blockRemain = null; - this.buf = null; - this.offset = null; - this.length = null; - this.pos = null; - this.remain = null; - if (typeof opt.onwarn === "function") - this.on("warn", opt.onwarn); - let pathWarn = false; - if (!this.preservePaths) { - const [root, stripped] = stripAbsolutePath(this.path); - if (root) { - this.path = stripped; - pathWarn = root; - } - } - this.win32 = !!opt.win32 || process.platform === "win32"; - if (this.win32) { - this.path = winchars.decode(this.path.replace(/\\/g, "/")); - p = p.replace(/\\/g, "/"); - } - this.absolute = normPath(opt.absolute || path9.resolve(this.cwd, p)); - if (this.path === "") - this.path = "./"; - if (pathWarn) { - this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { - entry: this, - path: pathWarn + this.path - }); - } - if (this.statCache.has(this.absolute)) - this[ONLSTAT](this.statCache.get(this.absolute)); - else - this[LSTAT](); - } - emit(ev, ...data) { - if (ev === "error") - this[HAD_ERROR] = true; - return super.emit(ev, ...data); - } - [LSTAT]() { - fs6.lstat(this.absolute, (er, stat) => { - if (er) - return this.emit("error", er); - this[ONLSTAT](stat); - }); - } - [ONLSTAT](stat) { - this.statCache.set(this.absolute, stat); - this.stat = stat; - if (!stat.isFile()) - stat.size = 0; - this.type = getType(stat); - this.emit("stat", stat); - this[PROCESS](); - } - [PROCESS]() { - switch (this.type) { - case "File": - return this[FILE](); - case "Directory": - return this[DIRECTORY](); - case "SymbolicLink": - return this[SYMLINK](); - default: - return this.end(); - } - } - [MODE](mode) { - return modeFix(mode, this.type === "Directory", this.portable); - } - [PREFIX](path10) { - return prefixPath(path10, this.prefix); - } - [HEADER]() { - if (this.type === "Directory" && this.portable) - this.noMtime = true; - this.header = new Header({ - path: this[PREFIX](this.path), - // only apply the prefix to hard links. - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - // only the permissions and setuid/setgid/sticky bitflags - // not the higher-order bits that specify file type - mode: this[MODE](this.stat.mode), - uid: this.portable ? null : this.stat.uid, - gid: this.portable ? null : this.stat.gid, - size: this.stat.size, - mtime: this.noMtime ? null : this.mtime || this.stat.mtime, - type: this.type, - uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "", - atime: this.portable ? null : this.stat.atime, - ctime: this.portable ? null : this.stat.ctime - }); - if (this.header.encode() && !this.noPax) { - super.write(new Pax({ - atime: this.portable ? null : this.header.atime, - ctime: this.portable ? null : this.header.ctime, - gid: this.portable ? null : this.header.gid, - mtime: this.noMtime ? null : this.mtime || this.header.mtime, - path: this[PREFIX](this.path), - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - size: this.header.size, - uid: this.portable ? null : this.header.uid, - uname: this.portable ? null : this.header.uname, - dev: this.portable ? null : this.stat.dev, - ino: this.portable ? null : this.stat.ino, - nlink: this.portable ? null : this.stat.nlink - }).encode()); - } - super.write(this.header.block); - } - [DIRECTORY]() { - if (this.path.substr(-1) !== "/") - this.path += "/"; - this.stat.size = 0; - this[HEADER](); - this.end(); - } - [SYMLINK]() { - fs6.readlink(this.absolute, (er, linkpath) => { - if (er) - return this.emit("error", er); - this[ONREADLINK](linkpath); - }); - } - [ONREADLINK](linkpath) { - this.linkpath = normPath(linkpath); - this[HEADER](); - this.end(); - } - [HARDLINK](linkpath) { - this.type = "Link"; - this.linkpath = normPath(path9.relative(this.cwd, linkpath)); - this.stat.size = 0; - this[HEADER](); - this.end(); - } - [FILE]() { - if (this.stat.nlink > 1) { - const linkKey = this.stat.dev + ":" + this.stat.ino; - if (this.linkCache.has(linkKey)) { - const linkpath = this.linkCache.get(linkKey); - if (linkpath.indexOf(this.cwd) === 0) - return this[HARDLINK](linkpath); - } - this.linkCache.set(linkKey, this.absolute); - } - this[HEADER](); - if (this.stat.size === 0) - return this.end(); - this[OPENFILE](); - } - [OPENFILE]() { - fs6.open(this.absolute, "r", (er, fd) => { - if (er) - return this.emit("error", er); - this[ONOPENFILE](fd); - }); - } - [ONOPENFILE](fd) { - this.fd = fd; - if (this[HAD_ERROR]) - return this[CLOSE](); - this.blockLen = 512 * Math.ceil(this.stat.size / 512); - this.blockRemain = this.blockLen; - const bufLen = Math.min(this.blockLen, this.maxReadSize); - this.buf = Buffer.allocUnsafe(bufLen); - this.offset = 0; - this.pos = 0; - this.remain = this.stat.size; - this.length = this.buf.length; - this[READ](); - } - [READ]() { - const { fd, buf, offset, length, pos } = this; - fs6.read(fd, buf, offset, length, pos, (er, bytesRead) => { - if (er) { - return this[CLOSE](() => this.emit("error", er)); - } - this[ONREAD](bytesRead); - }); - } - [CLOSE](cb) { - fs6.close(this.fd, cb); - } - [ONREAD](bytesRead) { - if (bytesRead <= 0 && this.remain > 0) { - const er = new Error("encountered unexpected EOF"); - er.path = this.absolute; - er.syscall = "read"; - er.code = "EOF"; - return this[CLOSE](() => this.emit("error", er)); - } - if (bytesRead > this.remain) { - const er = new Error("did not encounter expected EOF"); - er.path = this.absolute; - er.syscall = "read"; - er.code = "EOF"; - return this[CLOSE](() => this.emit("error", er)); - } - if (bytesRead === this.remain) { - for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) { - this.buf[i + this.offset] = 0; - bytesRead++; - this.remain++; - } - } - const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead); - const flushed = this.write(writeBuf); - if (!flushed) - this[AWAITDRAIN](() => this[ONDRAIN]()); - else - this[ONDRAIN](); - } - [AWAITDRAIN](cb) { - this.once("drain", cb); - } - write(writeBuf) { - if (this.blockRemain < writeBuf.length) { - const er = new Error("writing more data than expected"); - er.path = this.absolute; - return this.emit("error", er); - } - this.remain -= writeBuf.length; - this.blockRemain -= writeBuf.length; - this.pos += writeBuf.length; - this.offset += writeBuf.length; - return super.write(writeBuf); - } - [ONDRAIN]() { - if (!this.remain) { - if (this.blockRemain) - super.write(Buffer.alloc(this.blockRemain)); - return this[CLOSE]((er) => er ? this.emit("error", er) : this.end()); - } - if (this.offset >= this.length) { - this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)); - this.offset = 0; - } - this.length = this.buf.length - this.offset; - this[READ](); - } - }); - var WriteEntrySync = class extends WriteEntry { - [LSTAT]() { - this[ONLSTAT](fs6.lstatSync(this.absolute)); - } - [SYMLINK]() { - this[ONREADLINK](fs6.readlinkSync(this.absolute)); - } - [OPENFILE]() { - this[ONOPENFILE](fs6.openSync(this.absolute, "r")); - } - [READ]() { - let threw = true; - try { - const { fd, buf, offset, length, pos } = this; - const bytesRead = fs6.readSync(fd, buf, offset, length, pos); - this[ONREAD](bytesRead); - threw = false; - } finally { - if (threw) { - try { - this[CLOSE](() => { - }); - } catch (er) { - } - } - } - } - [AWAITDRAIN](cb) { - cb(); - } - [CLOSE](cb) { - fs6.closeSync(this.fd); - cb(); - } - }; - var WriteEntryTar = warner(class WriteEntryTar extends MiniPass { - constructor(readEntry, opt) { - opt = opt || {}; - super(opt); - this.preservePaths = !!opt.preservePaths; - this.portable = !!opt.portable; - this.strict = !!opt.strict; - this.noPax = !!opt.noPax; - this.noMtime = !!opt.noMtime; - this.readEntry = readEntry; - this.type = readEntry.type; - if (this.type === "Directory" && this.portable) - this.noMtime = true; - this.prefix = opt.prefix || null; - this.path = normPath(readEntry.path); - this.mode = this[MODE](readEntry.mode); - this.uid = this.portable ? null : readEntry.uid; - this.gid = this.portable ? null : readEntry.gid; - this.uname = this.portable ? null : readEntry.uname; - this.gname = this.portable ? null : readEntry.gname; - this.size = readEntry.size; - this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime; - this.atime = this.portable ? null : readEntry.atime; - this.ctime = this.portable ? null : readEntry.ctime; - this.linkpath = normPath(readEntry.linkpath); - if (typeof opt.onwarn === "function") - this.on("warn", opt.onwarn); - let pathWarn = false; - if (!this.preservePaths) { - const [root, stripped] = stripAbsolutePath(this.path); - if (root) { - this.path = stripped; - pathWarn = root; - } - } - this.remain = readEntry.size; - this.blockRemain = readEntry.startBlockSize; - this.header = new Header({ - path: this[PREFIX](this.path), - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - // only the permissions and setuid/setgid/sticky bitflags - // not the higher-order bits that specify file type - mode: this.mode, - uid: this.portable ? null : this.uid, - gid: this.portable ? null : this.gid, - size: this.size, - mtime: this.noMtime ? null : this.mtime, - type: this.type, - uname: this.portable ? null : this.uname, - atime: this.portable ? null : this.atime, - ctime: this.portable ? null : this.ctime - }); - if (pathWarn) { - this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { - entry: this, - path: pathWarn + this.path - }); - } - if (this.header.encode() && !this.noPax) { - super.write(new Pax({ - atime: this.portable ? null : this.atime, - ctime: this.portable ? null : this.ctime, - gid: this.portable ? null : this.gid, - mtime: this.noMtime ? null : this.mtime, - path: this[PREFIX](this.path), - linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, - size: this.size, - uid: this.portable ? null : this.uid, - uname: this.portable ? null : this.uname, - dev: this.portable ? null : this.readEntry.dev, - ino: this.portable ? null : this.readEntry.ino, - nlink: this.portable ? null : this.readEntry.nlink - }).encode()); - } - super.write(this.header.block); - readEntry.pipe(this); - } - [PREFIX](path10) { - return prefixPath(path10, this.prefix); - } - [MODE](mode) { - return modeFix(mode, this.type === "Directory", this.portable); - } - write(data) { - const writeLen = data.length; - if (writeLen > this.blockRemain) - throw new Error("writing more to entry than is appropriate"); - this.blockRemain -= writeLen; - return super.write(data); - } - end() { - if (this.blockRemain) - super.write(Buffer.alloc(this.blockRemain)); - return super.end(); - } - }); - WriteEntry.Sync = WriteEntrySync; - WriteEntry.Tar = WriteEntryTar; - var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported"; - module2.exports = WriteEntry; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/pack.js -var require_pack = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/pack.js"(exports, module2) { - "use strict"; - var PackJob = class { - constructor(path10, absolute) { - this.path = path10 || "./"; - this.absolute = absolute; - this.entry = null; - this.stat = null; - this.readdir = null; - this.pending = false; - this.ignore = false; - this.piped = false; - } - }; - var MiniPass = require_minipass(); - var zlib = require_minizlib(); - var ReadEntry = require_read_entry(); - var WriteEntry = require_write_entry(); - var WriteEntrySync = WriteEntry.Sync; - var WriteEntryTar = WriteEntry.Tar; - var Yallist = require_yallist(); - var EOF = Buffer.alloc(1024); - var ONSTAT = Symbol("onStat"); - var ENDED = Symbol("ended"); - var QUEUE = Symbol("queue"); - var CURRENT = Symbol("current"); - var PROCESS = Symbol("process"); - var PROCESSING = Symbol("processing"); - var PROCESSJOB = Symbol("processJob"); - var JOBS = Symbol("jobs"); - var JOBDONE = Symbol("jobDone"); - var ADDFSENTRY = Symbol("addFSEntry"); - var ADDTARENTRY = Symbol("addTarEntry"); - var STAT = Symbol("stat"); - var READDIR = Symbol("readdir"); - var ONREADDIR = Symbol("onreaddir"); - var PIPE = Symbol("pipe"); - var ENTRY = Symbol("entry"); - var ENTRYOPT = Symbol("entryOpt"); - var WRITEENTRYCLASS = Symbol("writeEntryClass"); - var WRITE = Symbol("write"); - var ONDRAIN = Symbol("ondrain"); - var fs6 = require("fs"); - var path9 = require("path"); - var warner = require_warn_mixin(); - var normPath = require_normalize_windows_path(); - var Pack = warner(class Pack extends MiniPass { - constructor(opt) { - super(opt); - opt = opt || /* @__PURE__ */ Object.create(null); - this.opt = opt; - this.file = opt.file || ""; - this.cwd = opt.cwd || process.cwd(); - this.maxReadSize = opt.maxReadSize; - this.preservePaths = !!opt.preservePaths; - this.strict = !!opt.strict; - this.noPax = !!opt.noPax; - this.prefix = normPath(opt.prefix || ""); - this.linkCache = opt.linkCache || /* @__PURE__ */ new Map(); - this.statCache = opt.statCache || /* @__PURE__ */ new Map(); - this.readdirCache = opt.readdirCache || /* @__PURE__ */ new Map(); - this[WRITEENTRYCLASS] = WriteEntry; - if (typeof opt.onwarn === "function") - this.on("warn", opt.onwarn); - this.portable = !!opt.portable; - this.zip = null; - if (opt.gzip) { - if (typeof opt.gzip !== "object") - opt.gzip = {}; - if (this.portable) - opt.gzip.portable = true; - this.zip = new zlib.Gzip(opt.gzip); - this.zip.on("data", (chunk) => super.write(chunk)); - this.zip.on("end", (_) => super.end()); - this.zip.on("drain", (_) => this[ONDRAIN]()); - this.on("resume", (_) => this.zip.resume()); - } else - this.on("drain", this[ONDRAIN]); - this.noDirRecurse = !!opt.noDirRecurse; - this.follow = !!opt.follow; - this.noMtime = !!opt.noMtime; - this.mtime = opt.mtime || null; - this.filter = typeof opt.filter === "function" ? opt.filter : (_) => true; - this[QUEUE] = new Yallist(); - this[JOBS] = 0; - this.jobs = +opt.jobs || 4; - this[PROCESSING] = false; - this[ENDED] = false; - } - [WRITE](chunk) { - return super.write(chunk); - } - add(path10) { - this.write(path10); - return this; - } - end(path10) { - if (path10) - this.write(path10); - this[ENDED] = true; - this[PROCESS](); - return this; - } - write(path10) { - if (this[ENDED]) - throw new Error("write after end"); - if (path10 instanceof ReadEntry) - this[ADDTARENTRY](path10); - else - this[ADDFSENTRY](path10); - return this.flowing; - } - [ADDTARENTRY](p) { - const absolute = normPath(path9.resolve(this.cwd, p.path)); - if (!this.filter(p.path, p)) - p.resume(); - else { - const job = new PackJob(p.path, absolute, false); - job.entry = new WriteEntryTar(p, this[ENTRYOPT](job)); - job.entry.on("end", (_) => this[JOBDONE](job)); - this[JOBS] += 1; - this[QUEUE].push(job); - } - this[PROCESS](); - } - [ADDFSENTRY](p) { - const absolute = normPath(path9.resolve(this.cwd, p)); - this[QUEUE].push(new PackJob(p, absolute)); - this[PROCESS](); - } - [STAT](job) { - job.pending = true; - this[JOBS] += 1; - const stat = this.follow ? "stat" : "lstat"; - fs6[stat](job.absolute, (er, stat2) => { - job.pending = false; - this[JOBS] -= 1; - if (er) - this.emit("error", er); - else - this[ONSTAT](job, stat2); - }); - } - [ONSTAT](job, stat) { - this.statCache.set(job.absolute, stat); - job.stat = stat; - if (!this.filter(job.path, stat)) - job.ignore = true; - this[PROCESS](); - } - [READDIR](job) { - job.pending = true; - this[JOBS] += 1; - fs6.readdir(job.absolute, (er, entries) => { - job.pending = false; - this[JOBS] -= 1; - if (er) - return this.emit("error", er); - this[ONREADDIR](job, entries); - }); - } - [ONREADDIR](job, entries) { - this.readdirCache.set(job.absolute, entries); - job.readdir = entries; - this[PROCESS](); - } - [PROCESS]() { - if (this[PROCESSING]) - return; - this[PROCESSING] = true; - for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) { - this[PROCESSJOB](w.value); - if (w.value.ignore) { - const p = w.next; - this[QUEUE].removeNode(w); - w.next = p; - } - } - this[PROCESSING] = false; - if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) { - if (this.zip) - this.zip.end(EOF); - else { - super.write(EOF); - super.end(); - } - } - } - get [CURRENT]() { - return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value; - } - [JOBDONE](job) { - this[QUEUE].shift(); - this[JOBS] -= 1; - this[PROCESS](); - } - [PROCESSJOB](job) { - if (job.pending) - return; - if (job.entry) { - if (job === this[CURRENT] && !job.piped) - this[PIPE](job); - return; - } - if (!job.stat) { - if (this.statCache.has(job.absolute)) - this[ONSTAT](job, this.statCache.get(job.absolute)); - else - this[STAT](job); - } - if (!job.stat) - return; - if (job.ignore) - return; - if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) { - if (this.readdirCache.has(job.absolute)) - this[ONREADDIR](job, this.readdirCache.get(job.absolute)); - else - this[READDIR](job); - if (!job.readdir) - return; - } - job.entry = this[ENTRY](job); - if (!job.entry) { - job.ignore = true; - return; - } - if (job === this[CURRENT] && !job.piped) - this[PIPE](job); - } - [ENTRYOPT](job) { - return { - onwarn: (code, msg, data) => this.warn(code, msg, data), - noPax: this.noPax, - cwd: this.cwd, - absolute: job.absolute, - preservePaths: this.preservePaths, - maxReadSize: this.maxReadSize, - strict: this.strict, - portable: this.portable, - linkCache: this.linkCache, - statCache: this.statCache, - noMtime: this.noMtime, - mtime: this.mtime, - prefix: this.prefix - }; - } - [ENTRY](job) { - this[JOBS] += 1; - try { - return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)).on("end", () => this[JOBDONE](job)).on("error", (er) => this.emit("error", er)); - } catch (er) { - this.emit("error", er); - } - } - [ONDRAIN]() { - if (this[CURRENT] && this[CURRENT].entry) - this[CURRENT].entry.resume(); - } - // like .pipe() but using super, because our write() is special - [PIPE](job) { - job.piped = true; - if (job.readdir) { - job.readdir.forEach((entry) => { - const p = job.path; - const base = p === "./" ? "" : p.replace(/\/*$/, "/"); - this[ADDFSENTRY](base + entry); - }); - } - const source = job.entry; - const zip = this.zip; - if (zip) { - source.on("data", (chunk) => { - if (!zip.write(chunk)) - source.pause(); - }); - } else { - source.on("data", (chunk) => { - if (!super.write(chunk)) - source.pause(); - }); - } - } - pause() { - if (this.zip) - this.zip.pause(); - return super.pause(); - } - }); - var PackSync = class extends Pack { - constructor(opt) { - super(opt); - this[WRITEENTRYCLASS] = WriteEntrySync; - } - // pause/resume are no-ops in sync streams. - pause() { - } - resume() { - } - [STAT](job) { - const stat = this.follow ? "statSync" : "lstatSync"; - this[ONSTAT](job, fs6[stat](job.absolute)); - } - [READDIR](job, stat) { - this[ONREADDIR](job, fs6.readdirSync(job.absolute)); - } - // gotta get it all in this tick - [PIPE](job) { - const source = job.entry; - const zip = this.zip; - if (job.readdir) { - job.readdir.forEach((entry) => { - const p = job.path; - const base = p === "./" ? "" : p.replace(/\/*$/, "/"); - this[ADDFSENTRY](base + entry); - }); - } - if (zip) { - source.on("data", (chunk) => { - zip.write(chunk); - }); - } else { - source.on("data", (chunk) => { - super[WRITE](chunk); - }); - } - } - }; - Pack.Sync = PackSync; - module2.exports = Pack; - } -}); - -// .yarn/cache/fs-minipass-npm-2.1.0-501ef87306-56d19f9a03.zip/node_modules/fs-minipass/index.js -var require_fs_minipass = __commonJS({ - ".yarn/cache/fs-minipass-npm-2.1.0-501ef87306-56d19f9a03.zip/node_modules/fs-minipass/index.js"(exports) { - "use strict"; - var MiniPass = require_minipass(); - var EE = require("events").EventEmitter; - var fs6 = require("fs"); - var writev = fs6.writev; - if (!writev) { - const binding = process.binding("fs"); - const FSReqWrap = binding.FSReqWrap || binding.FSReqCallback; - writev = (fd, iovec, pos, cb) => { - const done = (er, bw) => cb(er, bw, iovec); - const req = new FSReqWrap(); - req.oncomplete = done; - binding.writeBuffers(fd, iovec, pos, req); - }; - } - var _autoClose = Symbol("_autoClose"); - var _close = Symbol("_close"); - var _ended = Symbol("_ended"); - var _fd = Symbol("_fd"); - var _finished = Symbol("_finished"); - var _flags = Symbol("_flags"); - var _flush = Symbol("_flush"); - var _handleChunk = Symbol("_handleChunk"); - var _makeBuf = Symbol("_makeBuf"); - var _mode = Symbol("_mode"); - var _needDrain = Symbol("_needDrain"); - var _onerror = Symbol("_onerror"); - var _onopen = Symbol("_onopen"); - var _onread = Symbol("_onread"); - var _onwrite = Symbol("_onwrite"); - var _open = Symbol("_open"); - var _path = Symbol("_path"); - var _pos = Symbol("_pos"); - var _queue = Symbol("_queue"); - var _read = Symbol("_read"); - var _readSize = Symbol("_readSize"); - var _reading = Symbol("_reading"); - var _remain = Symbol("_remain"); - var _size = Symbol("_size"); - var _write = Symbol("_write"); - var _writing = Symbol("_writing"); - var _defaultFlag = Symbol("_defaultFlag"); - var _errored = Symbol("_errored"); - var ReadStream = class extends MiniPass { - constructor(path9, opt) { - opt = opt || {}; - super(opt); - this.readable = true; - this.writable = false; - if (typeof path9 !== "string") - throw new TypeError("path must be a string"); - this[_errored] = false; - this[_fd] = typeof opt.fd === "number" ? opt.fd : null; - this[_path] = path9; - this[_readSize] = opt.readSize || 16 * 1024 * 1024; - this[_reading] = false; - this[_size] = typeof opt.size === "number" ? opt.size : Infinity; - this[_remain] = this[_size]; - this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true; - if (typeof this[_fd] === "number") - this[_read](); - else - this[_open](); - } - get fd() { - return this[_fd]; - } - get path() { - return this[_path]; - } - write() { - throw new TypeError("this is a readable stream"); - } - end() { - throw new TypeError("this is a readable stream"); - } - [_open]() { - fs6.open(this[_path], "r", (er, fd) => this[_onopen](er, fd)); - } - [_onopen](er, fd) { - if (er) - this[_onerror](er); - else { - this[_fd] = fd; - this.emit("open", fd); - this[_read](); - } - } - [_makeBuf]() { - return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain])); - } - [_read]() { - if (!this[_reading]) { - this[_reading] = true; - const buf = this[_makeBuf](); - if (buf.length === 0) - return process.nextTick(() => this[_onread](null, 0, buf)); - fs6.read(this[_fd], buf, 0, buf.length, null, (er, br, buf2) => this[_onread](er, br, buf2)); - } - } - [_onread](er, br, buf) { - this[_reading] = false; - if (er) - this[_onerror](er); - else if (this[_handleChunk](br, buf)) - this[_read](); - } - [_close]() { - if (this[_autoClose] && typeof this[_fd] === "number") { - const fd = this[_fd]; - this[_fd] = null; - fs6.close(fd, (er) => er ? this.emit("error", er) : this.emit("close")); - } - } - [_onerror](er) { - this[_reading] = true; - this[_close](); - this.emit("error", er); - } - [_handleChunk](br, buf) { - let ret = false; - this[_remain] -= br; - if (br > 0) - ret = super.write(br < buf.length ? buf.slice(0, br) : buf); - if (br === 0 || this[_remain] <= 0) { - ret = false; - this[_close](); - super.end(); - } - return ret; - } - emit(ev, data) { - switch (ev) { - case "prefinish": - case "finish": - break; - case "drain": - if (typeof this[_fd] === "number") - this[_read](); - break; - case "error": - if (this[_errored]) - return; - this[_errored] = true; - return super.emit(ev, data); - default: - return super.emit(ev, data); - } - } - }; - var ReadStreamSync = class extends ReadStream { - [_open]() { - let threw = true; - try { - this[_onopen](null, fs6.openSync(this[_path], "r")); - threw = false; - } finally { - if (threw) - this[_close](); - } - } - [_read]() { - let threw = true; - try { - if (!this[_reading]) { - this[_reading] = true; - do { - const buf = this[_makeBuf](); - const br = buf.length === 0 ? 0 : fs6.readSync(this[_fd], buf, 0, buf.length, null); - if (!this[_handleChunk](br, buf)) - break; - } while (true); - this[_reading] = false; - } - threw = false; - } finally { - if (threw) - this[_close](); - } - } - [_close]() { - if (this[_autoClose] && typeof this[_fd] === "number") { - const fd = this[_fd]; - this[_fd] = null; - fs6.closeSync(fd); - this.emit("close"); - } - } - }; - var WriteStream = class extends EE { - constructor(path9, opt) { - opt = opt || {}; - super(opt); - this.readable = false; - this.writable = true; - this[_errored] = false; - this[_writing] = false; - this[_ended] = false; - this[_needDrain] = false; - this[_queue] = []; - this[_path] = path9; - this[_fd] = typeof opt.fd === "number" ? opt.fd : null; - this[_mode] = opt.mode === void 0 ? 438 : opt.mode; - this[_pos] = typeof opt.start === "number" ? opt.start : null; - this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true; - const defaultFlag = this[_pos] !== null ? "r+" : "w"; - this[_defaultFlag] = opt.flags === void 0; - this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags; - if (this[_fd] === null) - this[_open](); - } - emit(ev, data) { - if (ev === "error") { - if (this[_errored]) - return; - this[_errored] = true; - } - return super.emit(ev, data); - } - get fd() { - return this[_fd]; - } - get path() { - return this[_path]; - } - [_onerror](er) { - this[_close](); - this[_writing] = true; - this.emit("error", er); - } - [_open]() { - fs6.open( - this[_path], - this[_flags], - this[_mode], - (er, fd) => this[_onopen](er, fd) - ); - } - [_onopen](er, fd) { - if (this[_defaultFlag] && this[_flags] === "r+" && er && er.code === "ENOENT") { - this[_flags] = "w"; - this[_open](); - } else if (er) - this[_onerror](er); - else { - this[_fd] = fd; - this.emit("open", fd); - this[_flush](); - } - } - end(buf, enc) { - if (buf) - this.write(buf, enc); - this[_ended] = true; - if (!this[_writing] && !this[_queue].length && typeof this[_fd] === "number") - this[_onwrite](null, 0); - return this; - } - write(buf, enc) { - if (typeof buf === "string") - buf = Buffer.from(buf, enc); - if (this[_ended]) { - this.emit("error", new Error("write() after end()")); - return false; - } - if (this[_fd] === null || this[_writing] || this[_queue].length) { - this[_queue].push(buf); - this[_needDrain] = true; - return false; - } - this[_writing] = true; - this[_write](buf); - return true; - } - [_write](buf) { - fs6.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) => this[_onwrite](er, bw)); - } - [_onwrite](er, bw) { - if (er) - this[_onerror](er); - else { - if (this[_pos] !== null) - this[_pos] += bw; - if (this[_queue].length) - this[_flush](); - else { - this[_writing] = false; - if (this[_ended] && !this[_finished]) { - this[_finished] = true; - this[_close](); - this.emit("finish"); - } else if (this[_needDrain]) { - this[_needDrain] = false; - this.emit("drain"); - } - } - } - } - [_flush]() { - if (this[_queue].length === 0) { - if (this[_ended]) - this[_onwrite](null, 0); - } else if (this[_queue].length === 1) - this[_write](this[_queue].pop()); - else { - const iovec = this[_queue]; - this[_queue] = []; - writev( - this[_fd], - iovec, - this[_pos], - (er, bw) => this[_onwrite](er, bw) - ); - } - } - [_close]() { - if (this[_autoClose] && typeof this[_fd] === "number") { - const fd = this[_fd]; - this[_fd] = null; - fs6.close(fd, (er) => er ? this.emit("error", er) : this.emit("close")); - } - } - }; - var WriteStreamSync = class extends WriteStream { - [_open]() { - let fd; - if (this[_defaultFlag] && this[_flags] === "r+") { - try { - fd = fs6.openSync(this[_path], this[_flags], this[_mode]); - } catch (er) { - if (er.code === "ENOENT") { - this[_flags] = "w"; - return this[_open](); - } else - throw er; - } - } else - fd = fs6.openSync(this[_path], this[_flags], this[_mode]); - this[_onopen](null, fd); - } - [_close]() { - if (this[_autoClose] && typeof this[_fd] === "number") { - const fd = this[_fd]; - this[_fd] = null; - fs6.closeSync(fd); - this.emit("close"); - } - } - [_write](buf) { - let threw = true; - try { - this[_onwrite]( - null, - fs6.writeSync(this[_fd], buf, 0, buf.length, this[_pos]) - ); - threw = false; - } finally { - if (threw) - try { - this[_close](); - } catch (_) { - } - } - } - }; - exports.ReadStream = ReadStream; - exports.ReadStreamSync = ReadStreamSync; - exports.WriteStream = WriteStream; - exports.WriteStreamSync = WriteStreamSync; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/parse.js -var require_parse2 = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/parse.js"(exports, module2) { - "use strict"; - var warner = require_warn_mixin(); - var Header = require_header(); - var EE = require("events"); - var Yallist = require_yallist(); - var maxMetaEntrySize = 1024 * 1024; - var Entry = require_read_entry(); - var Pax = require_pax(); - var zlib = require_minizlib(); - var gzipHeader = Buffer.from([31, 139]); - var STATE = Symbol("state"); - var WRITEENTRY = Symbol("writeEntry"); - var READENTRY = Symbol("readEntry"); - var NEXTENTRY = Symbol("nextEntry"); - var PROCESSENTRY = Symbol("processEntry"); - var EX = Symbol("extendedHeader"); - var GEX = Symbol("globalExtendedHeader"); - var META = Symbol("meta"); - var EMITMETA = Symbol("emitMeta"); - var BUFFER = Symbol("buffer"); - var QUEUE = Symbol("queue"); - var ENDED = Symbol("ended"); - var EMITTEDEND = Symbol("emittedEnd"); - var EMIT = Symbol("emit"); - var UNZIP = Symbol("unzip"); - var CONSUMECHUNK = Symbol("consumeChunk"); - var CONSUMECHUNKSUB = Symbol("consumeChunkSub"); - var CONSUMEBODY = Symbol("consumeBody"); - var CONSUMEMETA = Symbol("consumeMeta"); - var CONSUMEHEADER = Symbol("consumeHeader"); - var CONSUMING = Symbol("consuming"); - var BUFFERCONCAT = Symbol("bufferConcat"); - var MAYBEEND = Symbol("maybeEnd"); - var WRITING = Symbol("writing"); - var ABORTED = Symbol("aborted"); - var DONE = Symbol("onDone"); - var SAW_VALID_ENTRY = Symbol("sawValidEntry"); - var SAW_NULL_BLOCK = Symbol("sawNullBlock"); - var SAW_EOF = Symbol("sawEOF"); - var noop = (_) => true; - module2.exports = warner(class Parser extends EE { - constructor(opt) { - opt = opt || {}; - super(opt); - this.file = opt.file || ""; - this[SAW_VALID_ENTRY] = null; - this.on(DONE, (_) => { - if (this[STATE] === "begin" || this[SAW_VALID_ENTRY] === false) { - this.warn("TAR_BAD_ARCHIVE", "Unrecognized archive format"); - } - }); - if (opt.ondone) - this.on(DONE, opt.ondone); - else { - this.on(DONE, (_) => { - this.emit("prefinish"); - this.emit("finish"); - this.emit("end"); - this.emit("close"); - }); - } - this.strict = !!opt.strict; - this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize; - this.filter = typeof opt.filter === "function" ? opt.filter : noop; - this.writable = true; - this.readable = false; - this[QUEUE] = new Yallist(); - this[BUFFER] = null; - this[READENTRY] = null; - this[WRITEENTRY] = null; - this[STATE] = "begin"; - this[META] = ""; - this[EX] = null; - this[GEX] = null; - this[ENDED] = false; - this[UNZIP] = null; - this[ABORTED] = false; - this[SAW_NULL_BLOCK] = false; - this[SAW_EOF] = false; - if (typeof opt.onwarn === "function") - this.on("warn", opt.onwarn); - if (typeof opt.onentry === "function") - this.on("entry", opt.onentry); - } - [CONSUMEHEADER](chunk, position) { - if (this[SAW_VALID_ENTRY] === null) - this[SAW_VALID_ENTRY] = false; - let header; - try { - header = new Header(chunk, position, this[EX], this[GEX]); - } catch (er) { - return this.warn("TAR_ENTRY_INVALID", er); - } - if (header.nullBlock) { - if (this[SAW_NULL_BLOCK]) { - this[SAW_EOF] = true; - if (this[STATE] === "begin") - this[STATE] = "header"; - this[EMIT]("eof"); - } else { - this[SAW_NULL_BLOCK] = true; - this[EMIT]("nullBlock"); - } - } else { - this[SAW_NULL_BLOCK] = false; - if (!header.cksumValid) - this.warn("TAR_ENTRY_INVALID", "checksum failure", { header }); - else if (!header.path) - this.warn("TAR_ENTRY_INVALID", "path is required", { header }); - else { - const type = header.type; - if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) - this.warn("TAR_ENTRY_INVALID", "linkpath required", { header }); - else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) - this.warn("TAR_ENTRY_INVALID", "linkpath forbidden", { header }); - else { - const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]); - if (!this[SAW_VALID_ENTRY]) { - if (entry.remain) { - const onend = () => { - if (!entry.invalid) - this[SAW_VALID_ENTRY] = true; - }; - entry.on("end", onend); - } else - this[SAW_VALID_ENTRY] = true; - } - if (entry.meta) { - if (entry.size > this.maxMetaEntrySize) { - entry.ignore = true; - this[EMIT]("ignoredEntry", entry); - this[STATE] = "ignore"; - entry.resume(); - } else if (entry.size > 0) { - this[META] = ""; - entry.on("data", (c) => this[META] += c); - this[STATE] = "meta"; - } - } else { - this[EX] = null; - entry.ignore = entry.ignore || !this.filter(entry.path, entry); - if (entry.ignore) { - this[EMIT]("ignoredEntry", entry); - this[STATE] = entry.remain ? "ignore" : "header"; - entry.resume(); - } else { - if (entry.remain) - this[STATE] = "body"; - else { - this[STATE] = "header"; - entry.end(); - } - if (!this[READENTRY]) { - this[QUEUE].push(entry); - this[NEXTENTRY](); - } else - this[QUEUE].push(entry); - } - } - } - } - } - } - [PROCESSENTRY](entry) { - let go = true; - if (!entry) { - this[READENTRY] = null; - go = false; - } else if (Array.isArray(entry)) - this.emit.apply(this, entry); - else { - this[READENTRY] = entry; - this.emit("entry", entry); - if (!entry.emittedEnd) { - entry.on("end", (_) => this[NEXTENTRY]()); - go = false; - } - } - return go; - } - [NEXTENTRY]() { - do { - } while (this[PROCESSENTRY](this[QUEUE].shift())); - if (!this[QUEUE].length) { - const re = this[READENTRY]; - const drainNow = !re || re.flowing || re.size === re.remain; - if (drainNow) { - if (!this[WRITING]) - this.emit("drain"); - } else - re.once("drain", (_) => this.emit("drain")); - } - } - [CONSUMEBODY](chunk, position) { - const entry = this[WRITEENTRY]; - const br = entry.blockRemain; - const c = br >= chunk.length && position === 0 ? chunk : chunk.slice(position, position + br); - entry.write(c); - if (!entry.blockRemain) { - this[STATE] = "header"; - this[WRITEENTRY] = null; - entry.end(); - } - return c.length; - } - [CONSUMEMETA](chunk, position) { - const entry = this[WRITEENTRY]; - const ret = this[CONSUMEBODY](chunk, position); - if (!this[WRITEENTRY]) - this[EMITMETA](entry); - return ret; - } - [EMIT](ev, data, extra) { - if (!this[QUEUE].length && !this[READENTRY]) - this.emit(ev, data, extra); - else - this[QUEUE].push([ev, data, extra]); - } - [EMITMETA](entry) { - this[EMIT]("meta", this[META]); - switch (entry.type) { - case "ExtendedHeader": - case "OldExtendedHeader": - this[EX] = Pax.parse(this[META], this[EX], false); - break; - case "GlobalExtendedHeader": - this[GEX] = Pax.parse(this[META], this[GEX], true); - break; - case "NextFileHasLongPath": - case "OldGnuLongPath": - this[EX] = this[EX] || /* @__PURE__ */ Object.create(null); - this[EX].path = this[META].replace(/\0.*/, ""); - break; - case "NextFileHasLongLinkpath": - this[EX] = this[EX] || /* @__PURE__ */ Object.create(null); - this[EX].linkpath = this[META].replace(/\0.*/, ""); - break; - default: - throw new Error("unknown meta: " + entry.type); - } - } - abort(error) { - this[ABORTED] = true; - this.emit("abort", error); - this.warn("TAR_ABORT", error, { recoverable: false }); - } - write(chunk) { - if (this[ABORTED]) - return; - if (this[UNZIP] === null && chunk) { - if (this[BUFFER]) { - chunk = Buffer.concat([this[BUFFER], chunk]); - this[BUFFER] = null; - } - if (chunk.length < gzipHeader.length) { - this[BUFFER] = chunk; - return true; - } - for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) { - if (chunk[i] !== gzipHeader[i]) - this[UNZIP] = false; - } - if (this[UNZIP] === null) { - const ended = this[ENDED]; - this[ENDED] = false; - this[UNZIP] = new zlib.Unzip(); - this[UNZIP].on("data", (chunk2) => this[CONSUMECHUNK](chunk2)); - this[UNZIP].on("error", (er) => this.abort(er)); - this[UNZIP].on("end", (_) => { - this[ENDED] = true; - this[CONSUMECHUNK](); - }); - this[WRITING] = true; - const ret2 = this[UNZIP][ended ? "end" : "write"](chunk); - this[WRITING] = false; - return ret2; - } - } - this[WRITING] = true; - if (this[UNZIP]) - this[UNZIP].write(chunk); - else - this[CONSUMECHUNK](chunk); - this[WRITING] = false; - const ret = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true; - if (!ret && !this[QUEUE].length) - this[READENTRY].once("drain", (_) => this.emit("drain")); - return ret; - } - [BUFFERCONCAT](c) { - if (c && !this[ABORTED]) - this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c; - } - [MAYBEEND]() { - if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) { - this[EMITTEDEND] = true; - const entry = this[WRITEENTRY]; - if (entry && entry.blockRemain) { - const have = this[BUFFER] ? this[BUFFER].length : 0; - this.warn("TAR_BAD_ARCHIVE", `Truncated input (needed ${entry.blockRemain} more bytes, only ${have} available)`, { entry }); - if (this[BUFFER]) - entry.write(this[BUFFER]); - entry.end(); - } - this[EMIT](DONE); - } - } - [CONSUMECHUNK](chunk) { - if (this[CONSUMING]) - this[BUFFERCONCAT](chunk); - else if (!chunk && !this[BUFFER]) - this[MAYBEEND](); - else { - this[CONSUMING] = true; - if (this[BUFFER]) { - this[BUFFERCONCAT](chunk); - const c = this[BUFFER]; - this[BUFFER] = null; - this[CONSUMECHUNKSUB](c); - } else - this[CONSUMECHUNKSUB](chunk); - while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) { - const c = this[BUFFER]; - this[BUFFER] = null; - this[CONSUMECHUNKSUB](c); - } - this[CONSUMING] = false; - } - if (!this[BUFFER] || this[ENDED]) - this[MAYBEEND](); - } - [CONSUMECHUNKSUB](chunk) { - let position = 0; - const length = chunk.length; - while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) { - switch (this[STATE]) { - case "begin": - case "header": - this[CONSUMEHEADER](chunk, position); - position += 512; - break; - case "ignore": - case "body": - position += this[CONSUMEBODY](chunk, position); - break; - case "meta": - position += this[CONSUMEMETA](chunk, position); - break; - default: - throw new Error("invalid state: " + this[STATE]); - } - } - if (position < length) { - if (this[BUFFER]) - this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]); - else - this[BUFFER] = chunk.slice(position); - } - } - end(chunk) { - if (!this[ABORTED]) { - if (this[UNZIP]) - this[UNZIP].end(chunk); - else { - this[ENDED] = true; - this.write(chunk); - } - } - } - }); - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/list.js -var require_list = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/list.js"(exports, module2) { - "use strict"; - var hlo = require_high_level_opt(); - var Parser = require_parse2(); - var fs6 = require("fs"); - var fsm = require_fs_minipass(); - var path9 = require("path"); - var stripSlash = require_strip_trailing_slashes(); - module2.exports = (opt_, files, cb) => { - if (typeof opt_ === "function") - cb = opt_, files = null, opt_ = {}; - else if (Array.isArray(opt_)) - files = opt_, opt_ = {}; - if (typeof files === "function") - cb = files, files = null; - if (!files) - files = []; - else - files = Array.from(files); - const opt = hlo(opt_); - if (opt.sync && typeof cb === "function") - throw new TypeError("callback not supported for sync tar functions"); - if (!opt.file && typeof cb === "function") - throw new TypeError("callback only supported with file option"); - if (files.length) - filesFilter(opt, files); - if (!opt.noResume) - onentryFunction(opt); - return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt); - }; - var onentryFunction = (opt) => { - const onentry = opt.onentry; - opt.onentry = onentry ? (e) => { - onentry(e); - e.resume(); - } : (e) => e.resume(); - }; - var filesFilter = (opt, files) => { - const map = new Map(files.map((f) => [stripSlash(f), true])); - const filter = opt.filter; - const mapHas = (file, r) => { - const root = r || path9.parse(file).root || "."; - const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path9.dirname(file), root); - map.set(file, ret); - return ret; - }; - opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file)); - }; - var listFileSync = (opt) => { - const p = list(opt); - const file = opt.file; - let threw = true; - let fd; - try { - const stat = fs6.statSync(file); - const readSize = opt.maxReadSize || 16 * 1024 * 1024; - if (stat.size < readSize) - p.end(fs6.readFileSync(file)); - else { - let pos = 0; - const buf = Buffer.allocUnsafe(readSize); - fd = fs6.openSync(file, "r"); - while (pos < stat.size) { - const bytesRead = fs6.readSync(fd, buf, 0, readSize, pos); - pos += bytesRead; - p.write(buf.slice(0, bytesRead)); - } - p.end(); - } - threw = false; - } finally { - if (threw && fd) { - try { - fs6.closeSync(fd); - } catch (er) { - } - } - } - }; - var listFile = (opt, cb) => { - const parse = new Parser(opt); - const readSize = opt.maxReadSize || 16 * 1024 * 1024; - const file = opt.file; - const p = new Promise((resolve, reject) => { - parse.on("error", reject); - parse.on("end", resolve); - fs6.stat(file, (er, stat) => { - if (er) - reject(er); - else { - const stream = new fsm.ReadStream(file, { - readSize, - size: stat.size - }); - stream.on("error", reject); - stream.pipe(parse); - } - }); - }); - return cb ? p.then(cb, cb) : p; - }; - var list = (opt) => new Parser(opt); - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/create.js -var require_create = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/create.js"(exports, module2) { - "use strict"; - var hlo = require_high_level_opt(); - var Pack = require_pack(); - var fsm = require_fs_minipass(); - var t = require_list(); - var path9 = require("path"); - module2.exports = (opt_, files, cb) => { - if (typeof files === "function") - cb = files; - if (Array.isArray(opt_)) - files = opt_, opt_ = {}; - if (!files || !Array.isArray(files) || !files.length) - throw new TypeError("no files or directories specified"); - files = Array.from(files); - const opt = hlo(opt_); - if (opt.sync && typeof cb === "function") - throw new TypeError("callback not supported for sync tar functions"); - if (!opt.file && typeof cb === "function") - throw new TypeError("callback only supported with file option"); - return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files); - }; - var createFileSync = (opt, files) => { - const p = new Pack.Sync(opt); - const stream = new fsm.WriteStreamSync(opt.file, { - mode: opt.mode || 438 - }); - p.pipe(stream); - addFilesSync(p, files); - }; - var createFile = (opt, files, cb) => { - const p = new Pack(opt); - const stream = new fsm.WriteStream(opt.file, { - mode: opt.mode || 438 - }); - p.pipe(stream); - const promise = new Promise((res, rej) => { - stream.on("error", rej); - stream.on("close", res); - p.on("error", rej); - }); - addFilesAsync(p, files); - return cb ? promise.then(cb, cb) : promise; - }; - var addFilesSync = (p, files) => { - files.forEach((file) => { - if (file.charAt(0) === "@") { - t({ - file: path9.resolve(p.cwd, file.substr(1)), - sync: true, - noResume: true, - onentry: (entry) => p.add(entry) - }); - } else - p.add(file); - }); - p.end(); - }; - var addFilesAsync = (p, files) => { - while (files.length) { - const file = files.shift(); - if (file.charAt(0) === "@") { - return t({ - file: path9.resolve(p.cwd, file.substr(1)), - noResume: true, - onentry: (entry) => p.add(entry) - }).then((_) => addFilesAsync(p, files)); - } else - p.add(file); - } - p.end(); - }; - var createSync = (opt, files) => { - const p = new Pack.Sync(opt); - addFilesSync(p, files); - return p; - }; - var create = (opt, files) => { - const p = new Pack(opt); - addFilesAsync(p, files); - return p; - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/replace.js -var require_replace = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/replace.js"(exports, module2) { - "use strict"; - var hlo = require_high_level_opt(); - var Pack = require_pack(); - var fs6 = require("fs"); - var fsm = require_fs_minipass(); - var t = require_list(); - var path9 = require("path"); - var Header = require_header(); - module2.exports = (opt_, files, cb) => { - const opt = hlo(opt_); - if (!opt.file) - throw new TypeError("file is required"); - if (opt.gzip) - throw new TypeError("cannot append to compressed archives"); - if (!files || !Array.isArray(files) || !files.length) - throw new TypeError("no files or directories specified"); - files = Array.from(files); - return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb); - }; - var replaceSync = (opt, files) => { - const p = new Pack.Sync(opt); - let threw = true; - let fd; - let position; - try { - try { - fd = fs6.openSync(opt.file, "r+"); - } catch (er) { - if (er.code === "ENOENT") - fd = fs6.openSync(opt.file, "w+"); - else - throw er; - } - const st = fs6.fstatSync(fd); - const headBuf = Buffer.alloc(512); - POSITION: - for (position = 0; position < st.size; position += 512) { - for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) { - bytes = fs6.readSync( - fd, - headBuf, - bufPos, - headBuf.length - bufPos, - position + bufPos - ); - if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) - throw new Error("cannot append to compressed archives"); - if (!bytes) - break POSITION; - } - const h = new Header(headBuf); - if (!h.cksumValid) - break; - const entryBlockSize = 512 * Math.ceil(h.size / 512); - if (position + entryBlockSize + 512 > st.size) - break; - position += entryBlockSize; - if (opt.mtimeCache) - opt.mtimeCache.set(h.path, h.mtime); - } - threw = false; - streamSync(opt, p, position, fd, files); - } finally { - if (threw) { - try { - fs6.closeSync(fd); - } catch (er) { - } - } - } - }; - var streamSync = (opt, p, position, fd, files) => { - const stream = new fsm.WriteStreamSync(opt.file, { - fd, - start: position - }); - p.pipe(stream); - addFilesSync(p, files); - }; - var replace = (opt, files, cb) => { - files = Array.from(files); - const p = new Pack(opt); - const getPos = (fd, size, cb_) => { - const cb2 = (er, pos) => { - if (er) - fs6.close(fd, (_) => cb_(er)); - else - cb_(null, pos); - }; - let position = 0; - if (size === 0) - return cb2(null, 0); - let bufPos = 0; - const headBuf = Buffer.alloc(512); - const onread = (er, bytes) => { - if (er) - return cb2(er); - bufPos += bytes; - if (bufPos < 512 && bytes) { - return fs6.read( - fd, - headBuf, - bufPos, - headBuf.length - bufPos, - position + bufPos, - onread - ); - } - if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) - return cb2(new Error("cannot append to compressed archives")); - if (bufPos < 512) - return cb2(null, position); - const h = new Header(headBuf); - if (!h.cksumValid) - return cb2(null, position); - const entryBlockSize = 512 * Math.ceil(h.size / 512); - if (position + entryBlockSize + 512 > size) - return cb2(null, position); - position += entryBlockSize + 512; - if (position >= size) - return cb2(null, position); - if (opt.mtimeCache) - opt.mtimeCache.set(h.path, h.mtime); - bufPos = 0; - fs6.read(fd, headBuf, 0, 512, position, onread); - }; - fs6.read(fd, headBuf, 0, 512, position, onread); - }; - const promise = new Promise((resolve, reject) => { - p.on("error", reject); - let flag = "r+"; - const onopen = (er, fd) => { - if (er && er.code === "ENOENT" && flag === "r+") { - flag = "w+"; - return fs6.open(opt.file, flag, onopen); - } - if (er) - return reject(er); - fs6.fstat(fd, (er2, st) => { - if (er2) - return fs6.close(fd, () => reject(er2)); - getPos(fd, st.size, (er3, position) => { - if (er3) - return reject(er3); - const stream = new fsm.WriteStream(opt.file, { - fd, - start: position - }); - p.pipe(stream); - stream.on("error", reject); - stream.on("close", resolve); - addFilesAsync(p, files); - }); - }); - }; - fs6.open(opt.file, flag, onopen); - }); - return cb ? promise.then(cb, cb) : promise; - }; - var addFilesSync = (p, files) => { - files.forEach((file) => { - if (file.charAt(0) === "@") { - t({ - file: path9.resolve(p.cwd, file.substr(1)), - sync: true, - noResume: true, - onentry: (entry) => p.add(entry) - }); - } else - p.add(file); - }); - p.end(); - }; - var addFilesAsync = (p, files) => { - while (files.length) { - const file = files.shift(); - if (file.charAt(0) === "@") { - return t({ - file: path9.resolve(p.cwd, file.substr(1)), - noResume: true, - onentry: (entry) => p.add(entry) - }).then((_) => addFilesAsync(p, files)); - } else - p.add(file); - } - p.end(); - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/update.js -var require_update = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/update.js"(exports, module2) { - "use strict"; - var hlo = require_high_level_opt(); - var r = require_replace(); - module2.exports = (opt_, files, cb) => { - const opt = hlo(opt_); - if (!opt.file) - throw new TypeError("file is required"); - if (opt.gzip) - throw new TypeError("cannot append to compressed archives"); - if (!files || !Array.isArray(files) || !files.length) - throw new TypeError("no files or directories specified"); - files = Array.from(files); - mtimeFilter(opt); - return r(opt, files, cb); - }; - var mtimeFilter = (opt) => { - const filter = opt.filter; - if (!opt.mtimeCache) - opt.mtimeCache = /* @__PURE__ */ new Map(); - opt.filter = filter ? (path9, stat) => filter(path9, stat) && !(opt.mtimeCache.get(path9) > stat.mtime) : (path9, stat) => !(opt.mtimeCache.get(path9) > stat.mtime); - }; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/opts-arg.js -var require_opts_arg = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/opts-arg.js"(exports, module2) { - var { promisify } = require("util"); - var fs6 = require("fs"); - var optsArg = (opts) => { - if (!opts) - opts = { mode: 511, fs: fs6 }; - else if (typeof opts === "object") - opts = { mode: 511, fs: fs6, ...opts }; - else if (typeof opts === "number") - opts = { mode: opts, fs: fs6 }; - else if (typeof opts === "string") - opts = { mode: parseInt(opts, 8), fs: fs6 }; - else - throw new TypeError("invalid options argument"); - opts.mkdir = opts.mkdir || opts.fs.mkdir || fs6.mkdir; - opts.mkdirAsync = promisify(opts.mkdir); - opts.stat = opts.stat || opts.fs.stat || fs6.stat; - opts.statAsync = promisify(opts.stat); - opts.statSync = opts.statSync || opts.fs.statSync || fs6.statSync; - opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs6.mkdirSync; - return opts; - }; - module2.exports = optsArg; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/path-arg.js -var require_path_arg = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/path-arg.js"(exports, module2) { - var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform; - var { resolve, parse } = require("path"); - var pathArg = (path9) => { - if (/\0/.test(path9)) { - throw Object.assign( - new TypeError("path must be a string without null bytes"), - { - path: path9, - code: "ERR_INVALID_ARG_VALUE" - } - ); - } - path9 = resolve(path9); - if (platform === "win32") { - const badWinChars = /[*|"<>?:]/; - const { root } = parse(path9); - if (badWinChars.test(path9.substr(root.length))) { - throw Object.assign(new Error("Illegal characters in path."), { - path: path9, - code: "EINVAL" - }); - } - } - return path9; - }; - module2.exports = pathArg; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/find-made.js -var require_find_made = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/find-made.js"(exports, module2) { - var { dirname } = require("path"); - var findMade = (opts, parent, path9 = void 0) => { - if (path9 === parent) - return Promise.resolve(); - return opts.statAsync(parent).then( - (st) => st.isDirectory() ? path9 : void 0, - // will fail later - (er) => er.code === "ENOENT" ? findMade(opts, dirname(parent), parent) : void 0 - ); - }; - var findMadeSync = (opts, parent, path9 = void 0) => { - if (path9 === parent) - return void 0; - try { - return opts.statSync(parent).isDirectory() ? path9 : void 0; - } catch (er) { - return er.code === "ENOENT" ? findMadeSync(opts, dirname(parent), parent) : void 0; - } - }; - module2.exports = { findMade, findMadeSync }; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-manual.js -var require_mkdirp_manual = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-manual.js"(exports, module2) { - var { dirname } = require("path"); - var mkdirpManual = (path9, opts, made) => { - opts.recursive = false; - const parent = dirname(path9); - if (parent === path9) { - return opts.mkdirAsync(path9, opts).catch((er) => { - if (er.code !== "EISDIR") - throw er; - }); - } - return opts.mkdirAsync(path9, opts).then(() => made || path9, (er) => { - if (er.code === "ENOENT") - return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path9, opts, made2)); - if (er.code !== "EEXIST" && er.code !== "EROFS") - throw er; - return opts.statAsync(path9).then((st) => { - if (st.isDirectory()) - return made; - else - throw er; - }, () => { - throw er; - }); - }); - }; - var mkdirpManualSync = (path9, opts, made) => { - const parent = dirname(path9); - opts.recursive = false; - if (parent === path9) { - try { - return opts.mkdirSync(path9, opts); - } catch (er) { - if (er.code !== "EISDIR") - throw er; - else - return; - } - } - try { - opts.mkdirSync(path9, opts); - return made || path9; - } catch (er) { - if (er.code === "ENOENT") - return mkdirpManualSync(path9, opts, mkdirpManualSync(parent, opts, made)); - if (er.code !== "EEXIST" && er.code !== "EROFS") - throw er; - try { - if (!opts.statSync(path9).isDirectory()) - throw er; - } catch (_) { - throw er; - } - } - }; - module2.exports = { mkdirpManual, mkdirpManualSync }; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-native.js -var require_mkdirp_native = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-native.js"(exports, module2) { - var { dirname } = require("path"); - var { findMade, findMadeSync } = require_find_made(); - var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual(); - var mkdirpNative = (path9, opts) => { - opts.recursive = true; - const parent = dirname(path9); - if (parent === path9) - return opts.mkdirAsync(path9, opts); - return findMade(opts, path9).then((made) => opts.mkdirAsync(path9, opts).then(() => made).catch((er) => { - if (er.code === "ENOENT") - return mkdirpManual(path9, opts); - else - throw er; - })); - }; - var mkdirpNativeSync = (path9, opts) => { - opts.recursive = true; - const parent = dirname(path9); - if (parent === path9) - return opts.mkdirSync(path9, opts); - const made = findMadeSync(opts, path9); - try { - opts.mkdirSync(path9, opts); - return made; - } catch (er) { - if (er.code === "ENOENT") - return mkdirpManualSync(path9, opts); - else - throw er; - } - }; - module2.exports = { mkdirpNative, mkdirpNativeSync }; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/use-native.js -var require_use_native = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/use-native.js"(exports, module2) { - var fs6 = require("fs"); - var version2 = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version; - var versArr = version2.replace(/^v/, "").split("."); - var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12; - var useNative = !hasNative ? () => false : (opts) => opts.mkdir === fs6.mkdir; - var useNativeSync = !hasNative ? () => false : (opts) => opts.mkdirSync === fs6.mkdirSync; - module2.exports = { useNative, useNativeSync }; - } -}); - -// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/index.js -var require_mkdirp = __commonJS({ - ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/index.js"(exports, module2) { - var optsArg = require_opts_arg(); - var pathArg = require_path_arg(); - var { mkdirpNative, mkdirpNativeSync } = require_mkdirp_native(); - var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual(); - var { useNative, useNativeSync } = require_use_native(); - var mkdirp = (path9, opts) => { - path9 = pathArg(path9); - opts = optsArg(opts); - return useNative(opts) ? mkdirpNative(path9, opts) : mkdirpManual(path9, opts); - }; - var mkdirpSync = (path9, opts) => { - path9 = pathArg(path9); - opts = optsArg(opts); - return useNativeSync(opts) ? mkdirpNativeSync(path9, opts) : mkdirpManualSync(path9, opts); - }; - mkdirp.sync = mkdirpSync; - mkdirp.native = (path9, opts) => mkdirpNative(pathArg(path9), optsArg(opts)); - mkdirp.manual = (path9, opts) => mkdirpManual(pathArg(path9), optsArg(opts)); - mkdirp.nativeSync = (path9, opts) => mkdirpNativeSync(pathArg(path9), optsArg(opts)); - mkdirp.manualSync = (path9, opts) => mkdirpManualSync(pathArg(path9), optsArg(opts)); - module2.exports = mkdirp; - } -}); - -// .yarn/cache/chownr-npm-2.0.0-638f1c9c61-7b240ff920.zip/node_modules/chownr/chownr.js -var require_chownr = __commonJS({ - ".yarn/cache/chownr-npm-2.0.0-638f1c9c61-7b240ff920.zip/node_modules/chownr/chownr.js"(exports, module2) { - "use strict"; - var fs6 = require("fs"); - var path9 = require("path"); - var LCHOWN = fs6.lchown ? "lchown" : "chown"; - var LCHOWNSYNC = fs6.lchownSync ? "lchownSync" : "chownSync"; - var needEISDIRHandled = fs6.lchown && !process.version.match(/v1[1-9]+\./) && !process.version.match(/v10\.[6-9]/); - var lchownSync = (path10, uid, gid) => { - try { - return fs6[LCHOWNSYNC](path10, uid, gid); - } catch (er) { - if (er.code !== "ENOENT") - throw er; - } - }; - var chownSync = (path10, uid, gid) => { - try { - return fs6.chownSync(path10, uid, gid); - } catch (er) { - if (er.code !== "ENOENT") - throw er; - } - }; - var handleEISDIR = needEISDIRHandled ? (path10, uid, gid, cb) => (er) => { - if (!er || er.code !== "EISDIR") - cb(er); - else - fs6.chown(path10, uid, gid, cb); - } : (_, __, ___, cb) => cb; - var handleEISDirSync = needEISDIRHandled ? (path10, uid, gid) => { - try { - return lchownSync(path10, uid, gid); - } catch (er) { - if (er.code !== "EISDIR") - throw er; - chownSync(path10, uid, gid); - } - } : (path10, uid, gid) => lchownSync(path10, uid, gid); - var nodeVersion = process.version; - var readdir = (path10, options, cb) => fs6.readdir(path10, options, cb); - var readdirSync = (path10, options) => fs6.readdirSync(path10, options); - if (/^v4\./.test(nodeVersion)) - readdir = (path10, options, cb) => fs6.readdir(path10, cb); - var chown = (cpath, uid, gid, cb) => { - fs6[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, (er) => { - cb(er && er.code !== "ENOENT" ? er : null); - })); - }; - var chownrKid = (p, child, uid, gid, cb) => { - if (typeof child === "string") - return fs6.lstat(path9.resolve(p, child), (er, stats) => { - if (er) - return cb(er.code !== "ENOENT" ? er : null); - stats.name = child; - chownrKid(p, stats, uid, gid, cb); - }); - if (child.isDirectory()) { - chownr(path9.resolve(p, child.name), uid, gid, (er) => { - if (er) - return cb(er); - const cpath = path9.resolve(p, child.name); - chown(cpath, uid, gid, cb); - }); - } else { - const cpath = path9.resolve(p, child.name); - chown(cpath, uid, gid, cb); - } - }; - var chownr = (p, uid, gid, cb) => { - readdir(p, { withFileTypes: true }, (er, children) => { - if (er) { - if (er.code === "ENOENT") - return cb(); - else if (er.code !== "ENOTDIR" && er.code !== "ENOTSUP") - return cb(er); - } - if (er || !children.length) - return chown(p, uid, gid, cb); - let len = children.length; - let errState = null; - const then = (er2) => { - if (errState) - return; - if (er2) - return cb(errState = er2); - if (--len === 0) - return chown(p, uid, gid, cb); - }; - children.forEach((child) => chownrKid(p, child, uid, gid, then)); - }); - }; - var chownrKidSync = (p, child, uid, gid) => { - if (typeof child === "string") { - try { - const stats = fs6.lstatSync(path9.resolve(p, child)); - stats.name = child; - child = stats; - } catch (er) { - if (er.code === "ENOENT") - return; - else - throw er; - } - } - if (child.isDirectory()) - chownrSync(path9.resolve(p, child.name), uid, gid); - handleEISDirSync(path9.resolve(p, child.name), uid, gid); - }; - var chownrSync = (p, uid, gid) => { - let children; - try { - children = readdirSync(p, { withFileTypes: true }); - } catch (er) { - if (er.code === "ENOENT") - return; - else if (er.code === "ENOTDIR" || er.code === "ENOTSUP") - return handleEISDirSync(p, uid, gid); - else - throw er; - } - if (children && children.length) - children.forEach((child) => chownrKidSync(p, child, uid, gid)); - return handleEISDirSync(p, uid, gid); - }; - module2.exports = chownr; - chownr.sync = chownrSync; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/mkdir.js -var require_mkdir = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/mkdir.js"(exports, module2) { - "use strict"; - var mkdirp = require_mkdirp(); - var fs6 = require("fs"); - var path9 = require("path"); - var chownr = require_chownr(); - var normPath = require_normalize_windows_path(); - var SymlinkError = class extends Error { - constructor(symlink, path10) { - super("Cannot extract through symbolic link"); - this.path = path10; - this.symlink = symlink; - } - get name() { - return "SylinkError"; - } - }; - var CwdError = class extends Error { - constructor(path10, code) { - super(code + ": Cannot cd into '" + path10 + "'"); - this.path = path10; - this.code = code; - } - get name() { - return "CwdError"; - } - }; - var cGet = (cache, key) => cache.get(normPath(key)); - var cSet = (cache, key, val) => cache.set(normPath(key), val); - var checkCwd = (dir, cb) => { - fs6.stat(dir, (er, st) => { - if (er || !st.isDirectory()) - er = new CwdError(dir, er && er.code || "ENOTDIR"); - cb(er); - }); - }; - module2.exports = (dir, opt, cb) => { - dir = normPath(dir); - const umask = opt.umask; - const mode = opt.mode | 448; - const needChmod = (mode & umask) !== 0; - const uid = opt.uid; - const gid = opt.gid; - const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid); - const preserve = opt.preserve; - const unlink = opt.unlink; - const cache = opt.cache; - const cwd = normPath(opt.cwd); - const done = (er, created) => { - if (er) - cb(er); - else { - cSet(cache, dir, true); - if (created && doChown) - chownr(created, uid, gid, (er2) => done(er2)); - else if (needChmod) - fs6.chmod(dir, mode, cb); - else - cb(); - } - }; - if (cache && cGet(cache, dir) === true) - return done(); - if (dir === cwd) - return checkCwd(dir, done); - if (preserve) - return mkdirp(dir, { mode }).then((made) => done(null, made), done); - const sub = normPath(path9.relative(cwd, dir)); - const parts = sub.split("/"); - mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done); - }; - var mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => { - if (!parts.length) - return cb(null, created); - const p = parts.shift(); - const part = normPath(path9.resolve(base + "/" + p)); - if (cGet(cache, part)) - return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb); - fs6.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)); - }; - var onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => (er) => { - if (er) { - fs6.lstat(part, (statEr, st) => { - if (statEr) { - statEr.path = statEr.path && normPath(statEr.path); - cb(statEr); - } else if (st.isDirectory()) - mkdir_(part, parts, mode, cache, unlink, cwd, created, cb); - else if (unlink) { - fs6.unlink(part, (er2) => { - if (er2) - return cb(er2); - fs6.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)); - }); - } else if (st.isSymbolicLink()) - return cb(new SymlinkError(part, part + "/" + parts.join("/"))); - else - cb(er); - }); - } else { - created = created || part; - mkdir_(part, parts, mode, cache, unlink, cwd, created, cb); - } - }; - var checkCwdSync = (dir) => { - let ok = false; - let code = "ENOTDIR"; - try { - ok = fs6.statSync(dir).isDirectory(); - } catch (er) { - code = er.code; - } finally { - if (!ok) - throw new CwdError(dir, code); - } - }; - module2.exports.sync = (dir, opt) => { - dir = normPath(dir); - const umask = opt.umask; - const mode = opt.mode | 448; - const needChmod = (mode & umask) !== 0; - const uid = opt.uid; - const gid = opt.gid; - const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid); - const preserve = opt.preserve; - const unlink = opt.unlink; - const cache = opt.cache; - const cwd = normPath(opt.cwd); - const done = (created2) => { - cSet(cache, dir, true); - if (created2 && doChown) - chownr.sync(created2, uid, gid); - if (needChmod) - fs6.chmodSync(dir, mode); - }; - if (cache && cGet(cache, dir) === true) - return done(); - if (dir === cwd) { - checkCwdSync(cwd); - return done(); - } - if (preserve) - return done(mkdirp.sync(dir, mode)); - const sub = normPath(path9.relative(cwd, dir)); - const parts = sub.split("/"); - let created = null; - for (let p = parts.shift(), part = cwd; p && (part += "/" + p); p = parts.shift()) { - part = normPath(path9.resolve(part)); - if (cGet(cache, part)) - continue; - try { - fs6.mkdirSync(part, mode); - created = created || part; - cSet(cache, part, true); - } catch (er) { - const st = fs6.lstatSync(part); - if (st.isDirectory()) { - cSet(cache, part, true); - continue; - } else if (unlink) { - fs6.unlinkSync(part); - fs6.mkdirSync(part, mode); - created = created || part; - cSet(cache, part, true); - continue; - } else if (st.isSymbolicLink()) - return new SymlinkError(part, part + "/" + parts.join("/")); - } - } - return done(created); - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/normalize-unicode.js -var require_normalize_unicode = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/normalize-unicode.js"(exports, module2) { - var normalizeCache = /* @__PURE__ */ Object.create(null); - var { hasOwnProperty } = Object.prototype; - module2.exports = (s) => { - if (!hasOwnProperty.call(normalizeCache, s)) - normalizeCache[s] = s.normalize("NFKD"); - return normalizeCache[s]; - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/path-reservations.js -var require_path_reservations = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/path-reservations.js"(exports, module2) { - var assert2 = require("assert"); - var normalize = require_normalize_unicode(); - var stripSlashes = require_strip_trailing_slashes(); - var { join: join2 } = require("path"); - var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; - var isWindows = platform === "win32"; - module2.exports = () => { - const queues = /* @__PURE__ */ new Map(); - const reservations = /* @__PURE__ */ new Map(); - const getDirs = (path9) => { - const dirs = path9.split("/").slice(0, -1).reduce((set, path10) => { - if (set.length) - path10 = join2(set[set.length - 1], path10); - set.push(path10 || "/"); - return set; - }, []); - return dirs; - }; - const running = /* @__PURE__ */ new Set(); - const getQueues = (fn2) => { - const res = reservations.get(fn2); - if (!res) - throw new Error("function does not have any path reservations"); - return { - paths: res.paths.map((path9) => queues.get(path9)), - dirs: [...res.dirs].map((path9) => queues.get(path9)) - }; - }; - const check = (fn2) => { - const { paths, dirs } = getQueues(fn2); - return paths.every((q) => q[0] === fn2) && dirs.every((q) => q[0] instanceof Set && q[0].has(fn2)); - }; - const run = (fn2) => { - if (running.has(fn2) || !check(fn2)) - return false; - running.add(fn2); - fn2(() => clear(fn2)); - return true; - }; - const clear = (fn2) => { - if (!running.has(fn2)) - return false; - const { paths, dirs } = reservations.get(fn2); - const next = /* @__PURE__ */ new Set(); - paths.forEach((path9) => { - const q = queues.get(path9); - assert2.equal(q[0], fn2); - if (q.length === 1) - queues.delete(path9); - else { - q.shift(); - if (typeof q[0] === "function") - next.add(q[0]); - else - q[0].forEach((fn3) => next.add(fn3)); - } - }); - dirs.forEach((dir) => { - const q = queues.get(dir); - assert2(q[0] instanceof Set); - if (q[0].size === 1 && q.length === 1) - queues.delete(dir); - else if (q[0].size === 1) { - q.shift(); - next.add(q[0]); - } else - q[0].delete(fn2); - }); - running.delete(fn2); - next.forEach((fn3) => run(fn3)); - return true; - }; - const reserve = (paths, fn2) => { - paths = isWindows ? ["win32 parallelization disabled"] : paths.map((p) => { - return normalize(stripSlashes(join2(p))).toLowerCase(); - }); - const dirs = new Set( - paths.map((path9) => getDirs(path9)).reduce((a, b) => a.concat(b)) - ); - reservations.set(fn2, { dirs, paths }); - paths.forEach((path9) => { - const q = queues.get(path9); - if (!q) - queues.set(path9, [fn2]); - else - q.push(fn2); - }); - dirs.forEach((dir) => { - const q = queues.get(dir); - if (!q) - queues.set(dir, [/* @__PURE__ */ new Set([fn2])]); - else if (q[q.length - 1] instanceof Set) - q[q.length - 1].add(fn2); - else - q.push(/* @__PURE__ */ new Set([fn2])); - }); - return run(fn2); - }; - return { check, reserve }; - }; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/get-write-flag.js -var require_get_write_flag = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/get-write-flag.js"(exports, module2) { - var platform = process.env.__FAKE_PLATFORM__ || process.platform; - var isWindows = platform === "win32"; - var fs6 = global.__FAKE_TESTING_FS__ || require("fs"); - var { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs6.constants; - var fMapEnabled = isWindows && !!UV_FS_O_FILEMAP; - var fMapLimit = 512 * 1024; - var fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY; - module2.exports = !fMapEnabled ? () => "w" : (size) => size < fMapLimit ? fMapFlag : "w"; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/unpack.js -var require_unpack = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/unpack.js"(exports, module2) { - "use strict"; - var assert2 = require("assert"); - var Parser = require_parse2(); - var fs6 = require("fs"); - var fsm = require_fs_minipass(); - var path9 = require("path"); - var mkdir3 = require_mkdir(); - var wc = require_winchars(); - var pathReservations = require_path_reservations(); - var stripAbsolutePath = require_strip_absolute_path(); - var normPath = require_normalize_windows_path(); - var stripSlash = require_strip_trailing_slashes(); - var normalize = require_normalize_unicode(); - var ONENTRY = Symbol("onEntry"); - var CHECKFS = Symbol("checkFs"); - var CHECKFS2 = Symbol("checkFs2"); - var PRUNECACHE = Symbol("pruneCache"); - var ISREUSABLE = Symbol("isReusable"); - var MAKEFS = Symbol("makeFs"); - var FILE = Symbol("file"); - var DIRECTORY = Symbol("directory"); - var LINK = Symbol("link"); - var SYMLINK = Symbol("symlink"); - var HARDLINK = Symbol("hardlink"); - var UNSUPPORTED = Symbol("unsupported"); - var CHECKPATH = Symbol("checkPath"); - var MKDIR = Symbol("mkdir"); - var ONERROR = Symbol("onError"); - var PENDING = Symbol("pending"); - var PEND = Symbol("pend"); - var UNPEND = Symbol("unpend"); - var ENDED = Symbol("ended"); - var MAYBECLOSE = Symbol("maybeClose"); - var SKIP = Symbol("skip"); - var DOCHOWN = Symbol("doChown"); - var UID = Symbol("uid"); - var GID = Symbol("gid"); - var CHECKED_CWD = Symbol("checkedCwd"); - var crypto = require("crypto"); - var getFlag = require_get_write_flag(); - var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; - var isWindows = platform === "win32"; - var unlinkFile = (path10, cb) => { - if (!isWindows) - return fs6.unlink(path10, cb); - const name = path10 + ".DELETE." + crypto.randomBytes(16).toString("hex"); - fs6.rename(path10, name, (er) => { - if (er) - return cb(er); - fs6.unlink(name, cb); - }); - }; - var unlinkFileSync = (path10) => { - if (!isWindows) - return fs6.unlinkSync(path10); - const name = path10 + ".DELETE." + crypto.randomBytes(16).toString("hex"); - fs6.renameSync(path10, name); - fs6.unlinkSync(name); - }; - var uint32 = (a, b, c) => a === a >>> 0 ? a : b === b >>> 0 ? b : c; - var cacheKeyNormalize = (path10) => normalize(stripSlash(normPath(path10))).toLowerCase(); - var pruneCache = (cache, abs) => { - abs = cacheKeyNormalize(abs); - for (const path10 of cache.keys()) { - const pnorm = cacheKeyNormalize(path10); - if (pnorm === abs || pnorm.indexOf(abs + "/") === 0) - cache.delete(path10); - } - }; - var dropCache = (cache) => { - for (const key of cache.keys()) - cache.delete(key); - }; - var Unpack = class extends Parser { - constructor(opt) { - if (!opt) - opt = {}; - opt.ondone = (_) => { - this[ENDED] = true; - this[MAYBECLOSE](); - }; - super(opt); - this[CHECKED_CWD] = false; - this.reservations = pathReservations(); - this.transform = typeof opt.transform === "function" ? opt.transform : null; - this.writable = true; - this.readable = false; - this[PENDING] = 0; - this[ENDED] = false; - this.dirCache = opt.dirCache || /* @__PURE__ */ new Map(); - if (typeof opt.uid === "number" || typeof opt.gid === "number") { - if (typeof opt.uid !== "number" || typeof opt.gid !== "number") - throw new TypeError("cannot set owner without number uid and gid"); - if (opt.preserveOwner) { - throw new TypeError( - "cannot preserve owner in archive and also set owner explicitly" - ); - } - this.uid = opt.uid; - this.gid = opt.gid; - this.setOwner = true; - } else { - this.uid = null; - this.gid = null; - this.setOwner = false; - } - if (opt.preserveOwner === void 0 && typeof opt.uid !== "number") - this.preserveOwner = process.getuid && process.getuid() === 0; - else - this.preserveOwner = !!opt.preserveOwner; - this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null; - this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null; - this.forceChown = opt.forceChown === true; - this.win32 = !!opt.win32 || isWindows; - this.newer = !!opt.newer; - this.keep = !!opt.keep; - this.noMtime = !!opt.noMtime; - this.preservePaths = !!opt.preservePaths; - this.unlink = !!opt.unlink; - this.cwd = normPath(path9.resolve(opt.cwd || process.cwd())); - this.strip = +opt.strip || 0; - this.processUmask = opt.noChmod ? 0 : process.umask(); - this.umask = typeof opt.umask === "number" ? opt.umask : this.processUmask; - this.dmode = opt.dmode || 511 & ~this.umask; - this.fmode = opt.fmode || 438 & ~this.umask; - this.on("entry", (entry) => this[ONENTRY](entry)); - } - // a bad or damaged archive is a warning for Parser, but an error - // when extracting. Mark those errors as unrecoverable, because - // the Unpack contract cannot be met. - warn(code, msg, data = {}) { - if (code === "TAR_BAD_ARCHIVE" || code === "TAR_ABORT") - data.recoverable = false; - return super.warn(code, msg, data); - } - [MAYBECLOSE]() { - if (this[ENDED] && this[PENDING] === 0) { - this.emit("prefinish"); - this.emit("finish"); - this.emit("end"); - this.emit("close"); - } - } - [CHECKPATH](entry) { - if (this.strip) { - const parts = normPath(entry.path).split("/"); - if (parts.length < this.strip) - return false; - entry.path = parts.slice(this.strip).join("/"); - if (entry.type === "Link") { - const linkparts = normPath(entry.linkpath).split("/"); - if (linkparts.length >= this.strip) - entry.linkpath = linkparts.slice(this.strip).join("/"); - else - return false; - } - } - if (!this.preservePaths) { - const p = normPath(entry.path); - const parts = p.split("/"); - if (parts.includes("..") || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) { - this.warn("TAR_ENTRY_ERROR", `path contains '..'`, { - entry, - path: p - }); - return false; - } - const [root, stripped] = stripAbsolutePath(p); - if (root) { - entry.path = stripped; - this.warn("TAR_ENTRY_INFO", `stripping ${root} from absolute path`, { - entry, - path: p - }); - } - } - if (path9.isAbsolute(entry.path)) - entry.absolute = normPath(path9.resolve(entry.path)); - else - entry.absolute = normPath(path9.resolve(this.cwd, entry.path)); - if (!this.preservePaths && entry.absolute.indexOf(this.cwd + "/") !== 0 && entry.absolute !== this.cwd) { - this.warn("TAR_ENTRY_ERROR", "path escaped extraction target", { - entry, - path: normPath(entry.path), - resolvedPath: entry.absolute, - cwd: this.cwd - }); - return false; - } - if (entry.absolute === this.cwd && entry.type !== "Directory" && entry.type !== "GNUDumpDir") - return false; - if (this.win32) { - const { root: aRoot } = path9.win32.parse(entry.absolute); - entry.absolute = aRoot + wc.encode(entry.absolute.substr(aRoot.length)); - const { root: pRoot } = path9.win32.parse(entry.path); - entry.path = pRoot + wc.encode(entry.path.substr(pRoot.length)); - } - return true; - } - [ONENTRY](entry) { - if (!this[CHECKPATH](entry)) - return entry.resume(); - assert2.equal(typeof entry.absolute, "string"); - switch (entry.type) { - case "Directory": - case "GNUDumpDir": - if (entry.mode) - entry.mode = entry.mode | 448; - case "File": - case "OldFile": - case "ContiguousFile": - case "Link": - case "SymbolicLink": - return this[CHECKFS](entry); - case "CharacterDevice": - case "BlockDevice": - case "FIFO": - default: - return this[UNSUPPORTED](entry); - } - } - [ONERROR](er, entry) { - if (er.name === "CwdError") - this.emit("error", er); - else { - this.warn("TAR_ENTRY_ERROR", er, { entry }); - this[UNPEND](); - entry.resume(); - } - } - [MKDIR](dir, mode, cb) { - mkdir3(normPath(dir), { - uid: this.uid, - gid: this.gid, - processUid: this.processUid, - processGid: this.processGid, - umask: this.processUmask, - preserve: this.preservePaths, - unlink: this.unlink, - cache: this.dirCache, - cwd: this.cwd, - mode, - noChmod: this.noChmod - }, cb); - } - [DOCHOWN](entry) { - return this.forceChown || this.preserveOwner && (typeof entry.uid === "number" && entry.uid !== this.processUid || typeof entry.gid === "number" && entry.gid !== this.processGid) || (typeof this.uid === "number" && this.uid !== this.processUid || typeof this.gid === "number" && this.gid !== this.processGid); - } - [UID](entry) { - return uint32(this.uid, entry.uid, this.processUid); - } - [GID](entry) { - return uint32(this.gid, entry.gid, this.processGid); - } - [FILE](entry, fullyDone) { - const mode = entry.mode & 4095 || this.fmode; - const stream = new fsm.WriteStream(entry.absolute, { - flags: getFlag(entry.size), - mode, - autoClose: false - }); - stream.on("error", (er) => { - if (stream.fd) - fs6.close(stream.fd, () => { - }); - stream.write = () => true; - this[ONERROR](er, entry); - fullyDone(); - }); - let actions = 1; - const done = (er) => { - if (er) { - if (stream.fd) - fs6.close(stream.fd, () => { - }); - this[ONERROR](er, entry); - fullyDone(); - return; - } - if (--actions === 0) { - fs6.close(stream.fd, (er2) => { - if (er2) - this[ONERROR](er2, entry); - else - this[UNPEND](); - fullyDone(); - }); - } - }; - stream.on("finish", (_) => { - const abs = entry.absolute; - const fd = stream.fd; - if (entry.mtime && !this.noMtime) { - actions++; - const atime = entry.atime || new Date(); - const mtime = entry.mtime; - fs6.futimes(fd, atime, mtime, (er) => er ? fs6.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done()); - } - if (this[DOCHOWN](entry)) { - actions++; - const uid = this[UID](entry); - const gid = this[GID](entry); - fs6.fchown(fd, uid, gid, (er) => er ? fs6.chown(abs, uid, gid, (er2) => done(er2 && er)) : done()); - } - done(); - }); - const tx = this.transform ? this.transform(entry) || entry : entry; - if (tx !== entry) { - tx.on("error", (er) => { - this[ONERROR](er, entry); - fullyDone(); - }); - entry.pipe(tx); - } - tx.pipe(stream); - } - [DIRECTORY](entry, fullyDone) { - const mode = entry.mode & 4095 || this.dmode; - this[MKDIR](entry.absolute, mode, (er) => { - if (er) { - this[ONERROR](er, entry); - fullyDone(); - return; - } - let actions = 1; - const done = (_) => { - if (--actions === 0) { - fullyDone(); - this[UNPEND](); - entry.resume(); - } - }; - if (entry.mtime && !this.noMtime) { - actions++; - fs6.utimes(entry.absolute, entry.atime || new Date(), entry.mtime, done); - } - if (this[DOCHOWN](entry)) { - actions++; - fs6.chown(entry.absolute, this[UID](entry), this[GID](entry), done); - } - done(); - }); - } - [UNSUPPORTED](entry) { - entry.unsupported = true; - this.warn( - "TAR_ENTRY_UNSUPPORTED", - `unsupported entry type: ${entry.type}`, - { entry } - ); - entry.resume(); - } - [SYMLINK](entry, done) { - this[LINK](entry, entry.linkpath, "symlink", done); - } - [HARDLINK](entry, done) { - const linkpath = normPath(path9.resolve(this.cwd, entry.linkpath)); - this[LINK](entry, linkpath, "link", done); - } - [PEND]() { - this[PENDING]++; - } - [UNPEND]() { - this[PENDING]--; - this[MAYBECLOSE](); - } - [SKIP](entry) { - this[UNPEND](); - entry.resume(); - } - // Check if we can reuse an existing filesystem entry safely and - // overwrite it, rather than unlinking and recreating - // Windows doesn't report a useful nlink, so we just never reuse entries - [ISREUSABLE](entry, st) { - return entry.type === "File" && !this.unlink && st.isFile() && st.nlink <= 1 && !isWindows; - } - // check if a thing is there, and if so, try to clobber it - [CHECKFS](entry) { - this[PEND](); - const paths = [entry.path]; - if (entry.linkpath) - paths.push(entry.linkpath); - this.reservations.reserve(paths, (done) => this[CHECKFS2](entry, done)); - } - [PRUNECACHE](entry) { - if (entry.type === "SymbolicLink") - dropCache(this.dirCache); - else if (entry.type !== "Directory") - pruneCache(this.dirCache, entry.absolute); - } - [CHECKFS2](entry, fullyDone) { - this[PRUNECACHE](entry); - const done = (er) => { - this[PRUNECACHE](entry); - fullyDone(er); - }; - const checkCwd = () => { - this[MKDIR](this.cwd, this.dmode, (er) => { - if (er) { - this[ONERROR](er, entry); - done(); - return; - } - this[CHECKED_CWD] = true; - start(); - }); - }; - const start = () => { - if (entry.absolute !== this.cwd) { - const parent = normPath(path9.dirname(entry.absolute)); - if (parent !== this.cwd) { - return this[MKDIR](parent, this.dmode, (er) => { - if (er) { - this[ONERROR](er, entry); - done(); - return; - } - afterMakeParent(); - }); - } - } - afterMakeParent(); - }; - const afterMakeParent = () => { - fs6.lstat(entry.absolute, (lstatEr, st) => { - if (st && (this.keep || this.newer && st.mtime > entry.mtime)) { - this[SKIP](entry); - done(); - return; - } - if (lstatEr || this[ISREUSABLE](entry, st)) - return this[MAKEFS](null, entry, done); - if (st.isDirectory()) { - if (entry.type === "Directory") { - const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode; - const afterChmod = (er) => this[MAKEFS](er, entry, done); - if (!needChmod) - return afterChmod(); - return fs6.chmod(entry.absolute, entry.mode, afterChmod); - } - if (entry.absolute !== this.cwd) { - return fs6.rmdir(entry.absolute, (er) => this[MAKEFS](er, entry, done)); - } - } - if (entry.absolute === this.cwd) - return this[MAKEFS](null, entry, done); - unlinkFile(entry.absolute, (er) => this[MAKEFS](er, entry, done)); - }); - }; - if (this[CHECKED_CWD]) - start(); - else - checkCwd(); - } - [MAKEFS](er, entry, done) { - if (er) { - this[ONERROR](er, entry); - done(); - return; - } - switch (entry.type) { - case "File": - case "OldFile": - case "ContiguousFile": - return this[FILE](entry, done); - case "Link": - return this[HARDLINK](entry, done); - case "SymbolicLink": - return this[SYMLINK](entry, done); - case "Directory": - case "GNUDumpDir": - return this[DIRECTORY](entry, done); - } - } - [LINK](entry, linkpath, link, done) { - fs6[link](linkpath, entry.absolute, (er) => { - if (er) - this[ONERROR](er, entry); - else { - this[UNPEND](); - entry.resume(); - } - done(); - }); - } - }; - var callSync = (fn2) => { - try { - return [null, fn2()]; - } catch (er) { - return [er, null]; - } - }; - var UnpackSync = class extends Unpack { - [MAKEFS](er, entry) { - return super[MAKEFS](er, entry, () => { - }); - } - [CHECKFS](entry) { - this[PRUNECACHE](entry); - if (!this[CHECKED_CWD]) { - const er2 = this[MKDIR](this.cwd, this.dmode); - if (er2) - return this[ONERROR](er2, entry); - this[CHECKED_CWD] = true; - } - if (entry.absolute !== this.cwd) { - const parent = normPath(path9.dirname(entry.absolute)); - if (parent !== this.cwd) { - const mkParent = this[MKDIR](parent, this.dmode); - if (mkParent) - return this[ONERROR](mkParent, entry); - } - } - const [lstatEr, st] = callSync(() => fs6.lstatSync(entry.absolute)); - if (st && (this.keep || this.newer && st.mtime > entry.mtime)) - return this[SKIP](entry); - if (lstatEr || this[ISREUSABLE](entry, st)) - return this[MAKEFS](null, entry); - if (st.isDirectory()) { - if (entry.type === "Directory") { - const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode; - const [er3] = needChmod ? callSync(() => { - fs6.chmodSync(entry.absolute, entry.mode); - }) : []; - return this[MAKEFS](er3, entry); - } - const [er2] = callSync(() => fs6.rmdirSync(entry.absolute)); - this[MAKEFS](er2, entry); - } - const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute)); - this[MAKEFS](er, entry); - } - [FILE](entry, done) { - const mode = entry.mode & 4095 || this.fmode; - const oner = (er) => { - let closeError; - try { - fs6.closeSync(fd); - } catch (e) { - closeError = e; - } - if (er || closeError) - this[ONERROR](er || closeError, entry); - done(); - }; - let fd; - try { - fd = fs6.openSync(entry.absolute, getFlag(entry.size), mode); - } catch (er) { - return oner(er); - } - const tx = this.transform ? this.transform(entry) || entry : entry; - if (tx !== entry) { - tx.on("error", (er) => this[ONERROR](er, entry)); - entry.pipe(tx); - } - tx.on("data", (chunk) => { - try { - fs6.writeSync(fd, chunk, 0, chunk.length); - } catch (er) { - oner(er); - } - }); - tx.on("end", (_) => { - let er = null; - if (entry.mtime && !this.noMtime) { - const atime = entry.atime || new Date(); - const mtime = entry.mtime; - try { - fs6.futimesSync(fd, atime, mtime); - } catch (futimeser) { - try { - fs6.utimesSync(entry.absolute, atime, mtime); - } catch (utimeser) { - er = futimeser; - } - } - } - if (this[DOCHOWN](entry)) { - const uid = this[UID](entry); - const gid = this[GID](entry); - try { - fs6.fchownSync(fd, uid, gid); - } catch (fchowner) { - try { - fs6.chownSync(entry.absolute, uid, gid); - } catch (chowner) { - er = er || fchowner; - } - } - } - oner(er); - }); - } - [DIRECTORY](entry, done) { - const mode = entry.mode & 4095 || this.dmode; - const er = this[MKDIR](entry.absolute, mode); - if (er) { - this[ONERROR](er, entry); - done(); - return; - } - if (entry.mtime && !this.noMtime) { - try { - fs6.utimesSync(entry.absolute, entry.atime || new Date(), entry.mtime); - } catch (er2) { - } - } - if (this[DOCHOWN](entry)) { - try { - fs6.chownSync(entry.absolute, this[UID](entry), this[GID](entry)); - } catch (er2) { - } - } - done(); - entry.resume(); - } - [MKDIR](dir, mode) { - try { - return mkdir3.sync(normPath(dir), { - uid: this.uid, - gid: this.gid, - processUid: this.processUid, - processGid: this.processGid, - umask: this.processUmask, - preserve: this.preservePaths, - unlink: this.unlink, - cache: this.dirCache, - cwd: this.cwd, - mode - }); - } catch (er) { - return er; - } - } - [LINK](entry, linkpath, link, done) { - try { - fs6[link + "Sync"](linkpath, entry.absolute); - done(); - entry.resume(); - } catch (er) { - return this[ONERROR](er, entry); - } - } - }; - Unpack.Sync = UnpackSync; - module2.exports = Unpack; - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/extract.js -var require_extract = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/lib/extract.js"(exports, module2) { - "use strict"; - var hlo = require_high_level_opt(); - var Unpack = require_unpack(); - var fs6 = require("fs"); - var fsm = require_fs_minipass(); - var path9 = require("path"); - var stripSlash = require_strip_trailing_slashes(); - module2.exports = (opt_, files, cb) => { - if (typeof opt_ === "function") - cb = opt_, files = null, opt_ = {}; - else if (Array.isArray(opt_)) - files = opt_, opt_ = {}; - if (typeof files === "function") - cb = files, files = null; - if (!files) - files = []; - else - files = Array.from(files); - const opt = hlo(opt_); - if (opt.sync && typeof cb === "function") - throw new TypeError("callback not supported for sync tar functions"); - if (!opt.file && typeof cb === "function") - throw new TypeError("callback only supported with file option"); - if (files.length) - filesFilter(opt, files); - return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt); - }; - var filesFilter = (opt, files) => { - const map = new Map(files.map((f) => [stripSlash(f), true])); - const filter = opt.filter; - const mapHas = (file, r) => { - const root = r || path9.parse(file).root || "."; - const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path9.dirname(file), root); - map.set(file, ret); - return ret; - }; - opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file)); - }; - var extractFileSync = (opt) => { - const u = new Unpack.Sync(opt); - const file = opt.file; - const stat = fs6.statSync(file); - const readSize = opt.maxReadSize || 16 * 1024 * 1024; - const stream = new fsm.ReadStreamSync(file, { - readSize, - size: stat.size - }); - stream.pipe(u); - }; - var extractFile = (opt, cb) => { - const u = new Unpack(opt); - const readSize = opt.maxReadSize || 16 * 1024 * 1024; - const file = opt.file; - const p = new Promise((resolve, reject) => { - u.on("error", reject); - u.on("close", resolve); - fs6.stat(file, (er, stat) => { - if (er) - reject(er); - else { - const stream = new fsm.ReadStream(file, { - readSize, - size: stat.size - }); - stream.on("error", reject); - stream.pipe(u); - } - }); - }); - return cb ? p.then(cb, cb) : p; - }; - var extractSync = (opt) => new Unpack.Sync(opt); - var extract = (opt) => new Unpack(opt); - } -}); - -// .yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/index.js -var require_tar = __commonJS({ - ".yarn/cache/tar-npm-6.1.11-e6ac3cba9c-5499de6e19.zip/node_modules/tar/index.js"(exports) { - "use strict"; - exports.c = exports.create = require_create(); - exports.r = exports.replace = require_replace(); - exports.t = exports.list = require_list(); - exports.u = exports.update = require_update(); - exports.x = exports.extract = require_extract(); - exports.Pack = require_pack(); - exports.Unpack = require_unpack(); - exports.Parse = require_parse2(); - exports.ReadEntry = require_read_entry(); - exports.WriteEntry = require_write_entry(); - exports.Header = require_header(); - exports.Pax = require_pax(); - exports.types = require_types2(); - } -}); - -// .yarn/cache/v8-compile-cache-npm-2.3.0-961375f150-757e7df6b1.zip/node_modules/v8-compile-cache/v8-compile-cache.js -var require_v8_compile_cache = __commonJS({ - ".yarn/cache/v8-compile-cache-npm-2.3.0-961375f150-757e7df6b1.zip/node_modules/v8-compile-cache/v8-compile-cache.js"(exports, module2) { - "use strict"; - var Module2 = require("module"); - var crypto = require("crypto"); - var fs6 = require("fs"); - var path9 = require("path"); - var vm = require("vm"); - var os2 = require("os"); - var hasOwnProperty = Object.prototype.hasOwnProperty; - var FileSystemBlobStore = class { - constructor(directory, prefix) { - const name = prefix ? slashEscape(prefix + ".") : ""; - this._blobFilename = path9.join(directory, name + "BLOB"); - this._mapFilename = path9.join(directory, name + "MAP"); - this._lockFilename = path9.join(directory, name + "LOCK"); - this._directory = directory; - this._load(); - } - has(key, invalidationKey) { - if (hasOwnProperty.call(this._memoryBlobs, key)) { - return this._invalidationKeys[key] === invalidationKey; - } else if (hasOwnProperty.call(this._storedMap, key)) { - return this._storedMap[key][0] === invalidationKey; - } - return false; - } - get(key, invalidationKey) { - if (hasOwnProperty.call(this._memoryBlobs, key)) { - if (this._invalidationKeys[key] === invalidationKey) { - return this._memoryBlobs[key]; - } - } else if (hasOwnProperty.call(this._storedMap, key)) { - const mapping = this._storedMap[key]; - if (mapping[0] === invalidationKey) { - return this._storedBlob.slice(mapping[1], mapping[2]); - } - } - } - set(key, invalidationKey, buffer) { - this._invalidationKeys[key] = invalidationKey; - this._memoryBlobs[key] = buffer; - this._dirty = true; - } - delete(key) { - if (hasOwnProperty.call(this._memoryBlobs, key)) { - this._dirty = true; - delete this._memoryBlobs[key]; - } - if (hasOwnProperty.call(this._invalidationKeys, key)) { - this._dirty = true; - delete this._invalidationKeys[key]; - } - if (hasOwnProperty.call(this._storedMap, key)) { - this._dirty = true; - delete this._storedMap[key]; - } - } - isDirty() { - return this._dirty; - } - save() { - const dump = this._getDump(); - const blobToStore = Buffer.concat(dump[0]); - const mapToStore = JSON.stringify(dump[1]); - try { - mkdirpSync(this._directory); - fs6.writeFileSync(this._lockFilename, "LOCK", { flag: "wx" }); - } catch (error) { - return false; - } - try { - fs6.writeFileSync(this._blobFilename, blobToStore); - fs6.writeFileSync(this._mapFilename, mapToStore); - } finally { - fs6.unlinkSync(this._lockFilename); - } - return true; - } - _load() { - try { - this._storedBlob = fs6.readFileSync(this._blobFilename); - this._storedMap = JSON.parse(fs6.readFileSync(this._mapFilename)); - } catch (e) { - this._storedBlob = Buffer.alloc(0); - this._storedMap = {}; - } - this._dirty = false; - this._memoryBlobs = {}; - this._invalidationKeys = {}; - } - _getDump() { - const buffers = []; - const newMap = {}; - let offset = 0; - function push(key, invalidationKey, buffer) { - buffers.push(buffer); - newMap[key] = [invalidationKey, offset, offset + buffer.length]; - offset += buffer.length; - } - for (const key of Object.keys(this._memoryBlobs)) { - const buffer = this._memoryBlobs[key]; - const invalidationKey = this._invalidationKeys[key]; - push(key, invalidationKey, buffer); - } - for (const key of Object.keys(this._storedMap)) { - if (hasOwnProperty.call(newMap, key)) - continue; - const mapping = this._storedMap[key]; - const buffer = this._storedBlob.slice(mapping[1], mapping[2]); - push(key, mapping[0], buffer); - } - return [buffers, newMap]; - } - }; - var NativeCompileCache = class { - constructor() { - this._cacheStore = null; - this._previousModuleCompile = null; - } - setCacheStore(cacheStore) { - this._cacheStore = cacheStore; - } - install() { - const self2 = this; - const hasRequireResolvePaths = typeof require.resolve.paths === "function"; - this._previousModuleCompile = Module2.prototype._compile; - Module2.prototype._compile = function(content, filename) { - const mod = this; - function require2(id) { - return mod.require(id); - } - function resolve(request, options) { - return Module2._resolveFilename(request, mod, false, options); - } - require2.resolve = resolve; - if (hasRequireResolvePaths) { - resolve.paths = function paths(request) { - return Module2._resolveLookupPaths(request, mod, true); - }; - } - require2.main = process.mainModule; - require2.extensions = Module2._extensions; - require2.cache = Module2._cache; - const dirname = path9.dirname(filename); - const compiledWrapper = self2._moduleCompile(filename, content); - const args = [mod.exports, require2, mod, filename, dirname, process, global, Buffer]; - return compiledWrapper.apply(mod.exports, args); - }; - } - uninstall() { - Module2.prototype._compile = this._previousModuleCompile; - } - _moduleCompile(filename, content) { - var contLen = content.length; - if (contLen >= 2) { - if (content.charCodeAt(0) === 35 && content.charCodeAt(1) === 33) { - if (contLen === 2) { - content = ""; - } else { - var i = 2; - for (; i < contLen; ++i) { - var code = content.charCodeAt(i); - if (code === 10 || code === 13) - break; - } - if (i === contLen) { - content = ""; - } else { - content = content.slice(i); - } - } - } - } - var wrapper = Module2.wrap(content); - var invalidationKey = crypto.createHash("sha1").update(content, "utf8").digest("hex"); - var buffer = this._cacheStore.get(filename, invalidationKey); - var script = new vm.Script(wrapper, { - filename, - lineOffset: 0, - displayErrors: true, - cachedData: buffer, - produceCachedData: true - }); - if (script.cachedDataProduced) { - this._cacheStore.set(filename, invalidationKey, script.cachedData); - } else if (script.cachedDataRejected) { - this._cacheStore.delete(filename); - } - var compiledWrapper = script.runInThisContext({ - filename, - lineOffset: 0, - columnOffset: 0, - displayErrors: true - }); - return compiledWrapper; - } - }; - function mkdirpSync(p_) { - _mkdirpSync(path9.resolve(p_), 511); - } - function _mkdirpSync(p, mode) { - try { - fs6.mkdirSync(p, mode); - } catch (err0) { - if (err0.code === "ENOENT") { - _mkdirpSync(path9.dirname(p)); - _mkdirpSync(p); - } else { - try { - const stat = fs6.statSync(p); - if (!stat.isDirectory()) { - throw err0; - } - } catch (err1) { - throw err0; - } - } - } - } - function slashEscape(str) { - const ESCAPE_LOOKUP = { - "\\": "zB", - ":": "zC", - "/": "zS", - "\0": "z0", - "z": "zZ" - }; - const ESCAPE_REGEX = /[\\:/\x00z]/g; - return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]); - } - function supportsCachedData() { - const script = new vm.Script('""', { produceCachedData: true }); - return script.cachedDataProduced === true; - } - function getCacheDir() { - const v8_compile_cache_cache_dir = process.env.V8_COMPILE_CACHE_CACHE_DIR; - if (v8_compile_cache_cache_dir) { - return v8_compile_cache_cache_dir; - } - const dirname = typeof process.getuid === "function" ? "v8-compile-cache-" + process.getuid() : "v8-compile-cache"; - const version2 = typeof process.versions.v8 === "string" ? process.versions.v8 : typeof process.versions.chakracore === "string" ? "chakracore-" + process.versions.chakracore : "node-" + process.version; - const cacheDir = path9.join(os2.tmpdir(), dirname, version2); - return cacheDir; - } - function getMainName() { - const mainName = require.main && typeof require.main.filename === "string" ? require.main.filename : process.cwd(); - return mainName; - } - if (!process.env.DISABLE_V8_COMPILE_CACHE && supportsCachedData()) { - const cacheDir = getCacheDir(); - const prefix = getMainName(); - const blobStore = new FileSystemBlobStore(cacheDir, prefix); - const nativeCompileCache = new NativeCompileCache(); - nativeCompileCache.setCacheStore(blobStore); - nativeCompileCache.install(); - process.once("exit", () => { - if (blobStore.isDirty()) { - blobStore.save(); - } - nativeCompileCache.uninstall(); - }); - } - module2.exports.__TEST__ = { - FileSystemBlobStore, - NativeCompileCache, - mkdirpSync, - slashEscape, - supportsCachedData, - getCacheDir, - getMainName - }; - } -}); - -// .yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/windows.js -var require_windows = __commonJS({ - ".yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/windows.js"(exports, module2) { - module2.exports = isexe; - isexe.sync = sync; - var fs6 = require("fs"); - function checkPathExt(path9, options) { - var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT; - if (!pathext) { - return true; - } - pathext = pathext.split(";"); - if (pathext.indexOf("") !== -1) { - return true; - } - for (var i = 0; i < pathext.length; i++) { - var p = pathext[i].toLowerCase(); - if (p && path9.substr(-p.length).toLowerCase() === p) { - return true; - } - } - return false; - } - function checkStat(stat, path9, options) { - if (!stat.isSymbolicLink() && !stat.isFile()) { - return false; - } - return checkPathExt(path9, options); - } - function isexe(path9, options, cb) { - fs6.stat(path9, function(er, stat) { - cb(er, er ? false : checkStat(stat, path9, options)); - }); - } - function sync(path9, options) { - return checkStat(fs6.statSync(path9), path9, options); - } - } -}); - -// .yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/mode.js -var require_mode = __commonJS({ - ".yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/mode.js"(exports, module2) { - module2.exports = isexe; - isexe.sync = sync; - var fs6 = require("fs"); - function isexe(path9, options, cb) { - fs6.stat(path9, function(er, stat) { - cb(er, er ? false : checkStat(stat, options)); - }); - } - function sync(path9, options) { - return checkStat(fs6.statSync(path9), options); - } - function checkStat(stat, options) { - return stat.isFile() && checkMode(stat, options); - } - function checkMode(stat, options) { - var mod = stat.mode; - var uid = stat.uid; - var gid = stat.gid; - var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid(); - var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid(); - var u = parseInt("100", 8); - var g = parseInt("010", 8); - var o = parseInt("001", 8); - var ug = u | g; - var ret = mod & o || mod & g && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0; - return ret; - } - } -}); - -// .yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/index.js -var require_isexe = __commonJS({ - ".yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/index.js"(exports, module2) { - var fs6 = require("fs"); - var core; - if (process.platform === "win32" || global.TESTING_WINDOWS) { - core = require_windows(); - } else { - core = require_mode(); - } - module2.exports = isexe; - isexe.sync = sync; - function isexe(path9, options, cb) { - if (typeof options === "function") { - cb = options; - options = {}; - } - if (!cb) { - if (typeof Promise !== "function") { - throw new TypeError("callback not provided"); - } - return new Promise(function(resolve, reject) { - isexe(path9, options || {}, function(er, is) { - if (er) { - reject(er); - } else { - resolve(is); - } - }); - }); - } - core(path9, options || {}, function(er, is) { - if (er) { - if (er.code === "EACCES" || options && options.ignoreErrors) { - er = null; - is = false; - } - } - cb(er, is); - }); - } - function sync(path9, options) { - try { - return core.sync(path9, options || {}); - } catch (er) { - if (options && options.ignoreErrors || er.code === "EACCES") { - return false; - } else { - throw er; - } - } - } - } -}); - -// .yarn/cache/which-npm-2.0.2-320ddf72f7-3728616c78.zip/node_modules/which/which.js -var require_which = __commonJS({ - ".yarn/cache/which-npm-2.0.2-320ddf72f7-3728616c78.zip/node_modules/which/which.js"(exports, module2) { - var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys"; - var path9 = require("path"); - var COLON = isWindows ? ";" : ":"; - var isexe = require_isexe(); - var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" }); - var getPathInfo = (cmd, opt) => { - const colon = opt.colon || COLON; - const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : [ - // windows always checks the cwd first - ...isWindows ? [process.cwd()] : [], - ...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */ - "").split(colon) - ]; - const pathExtExe = isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : ""; - const pathExt = isWindows ? pathExtExe.split(colon) : [""]; - if (isWindows) { - if (cmd.indexOf(".") !== -1 && pathExt[0] !== "") - pathExt.unshift(""); - } - return { - pathEnv, - pathExt, - pathExtExe - }; - }; - var which3 = (cmd, opt, cb) => { - if (typeof opt === "function") { - cb = opt; - opt = {}; - } - if (!opt) - opt = {}; - const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); - const found = []; - const step = (i) => new Promise((resolve, reject) => { - if (i === pathEnv.length) - return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd)); - const ppRaw = pathEnv[i]; - const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; - const pCmd = path9.join(pathPart, cmd); - const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - resolve(subStep(p, i, 0)); - }); - const subStep = (p, i, ii) => new Promise((resolve, reject) => { - if (ii === pathExt.length) - return resolve(step(i + 1)); - const ext = pathExt[ii]; - isexe(p + ext, { pathExt: pathExtExe }, (er, is) => { - if (!er && is) { - if (opt.all) - found.push(p + ext); - else - return resolve(p + ext); - } - return resolve(subStep(p, i, ii + 1)); - }); - }); - return cb ? step(0).then((res) => cb(null, res), cb) : step(0); - }; - var whichSync = (cmd, opt) => { - opt = opt || {}; - const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); - const found = []; - for (let i = 0; i < pathEnv.length; i++) { - const ppRaw = pathEnv[i]; - const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw; - const pCmd = path9.join(pathPart, cmd); - const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd; - for (let j = 0; j < pathExt.length; j++) { - const cur = p + pathExt[j]; - try { - const is = isexe.sync(cur, { pathExt: pathExtExe }); - if (is) { - if (opt.all) - found.push(cur); - else - return cur; - } - } catch (ex) { - } - } - } - if (opt.all && found.length) - return found; - if (opt.nothrow) - return null; - throw getNotFoundError(cmd); - }; - module2.exports = which3; - which3.sync = whichSync; - } -}); - -// .yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-ba7ae056a6.zip/node_modules/is-windows/index.js -var require_is_windows = __commonJS({ - ".yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-ba7ae056a6.zip/node_modules/is-windows/index.js"(exports, module2) { - (function(factory) { - if (exports && typeof exports === "object" && typeof module2 !== "undefined") { - module2.exports = factory(); - } else if (typeof define === "function" && define.amd) { - define([], factory); - } else if (typeof window !== "undefined") { - window.isWindows = factory(); - } else if (typeof global !== "undefined") { - global.isWindows = factory(); - } else if (typeof self !== "undefined") { - self.isWindows = factory(); - } else { - this.isWindows = factory(); - } - })(function() { - "use strict"; - return function isWindows() { - return process && (process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE)); - }; - }); - } -}); - -// .yarn/cache/cmd-extension-npm-1.0.2-11aa204c4b-c0f4db69b5.zip/node_modules/cmd-extension/index.js -var require_cmd_extension = __commonJS({ - ".yarn/cache/cmd-extension-npm-1.0.2-11aa204c4b-c0f4db69b5.zip/node_modules/cmd-extension/index.js"(exports, module2) { - "use strict"; - var path9 = require("path"); - var cmdExtension; - if (process.env.PATHEXT) { - cmdExtension = process.env.PATHEXT.split(path9.delimiter).find((ext) => ext.toUpperCase() === ".CMD"); - } - module2.exports = cmdExtension || ".cmd"; - } -}); - -// .yarn/cache/@zkochan-cmd-shim-npm-5.3.1-32f000bcac-a28f651f14.zip/node_modules/@zkochan/cmd-shim/index.js -var require_cmd_shim = __commonJS({ - ".yarn/cache/@zkochan-cmd-shim-npm-5.3.1-32f000bcac-a28f651f14.zip/node_modules/@zkochan/cmd-shim/index.js"(exports, module2) { - "use strict"; - cmdShim2.ifExists = cmdShimIfExists; - var util_1 = require("util"); - var path9 = require("path"); - var isWindows = require_is_windows(); - var CMD_EXTENSION = require_cmd_extension(); - var shebangExpr = /^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/; - var DEFAULT_OPTIONS = { - // Create PowerShell file by default if the option hasn't been specified - createPwshFile: true, - createCmdFile: isWindows(), - fs: require("fs") - }; - var extensionToProgramMap = /* @__PURE__ */ new Map([ - [".js", "node"], - [".cjs", "node"], - [".mjs", "node"], - [".cmd", "cmd"], - [".bat", "cmd"], - [".ps1", "pwsh"], - [".sh", "sh"] - ]); - function ingestOptions(opts) { - const opts_ = { ...DEFAULT_OPTIONS, ...opts }; - const fs6 = opts_.fs; - opts_.fs_ = { - chmod: fs6.chmod ? (0, util_1.promisify)(fs6.chmod) : async () => { - }, - mkdir: (0, util_1.promisify)(fs6.mkdir), - readFile: (0, util_1.promisify)(fs6.readFile), - stat: (0, util_1.promisify)(fs6.stat), - unlink: (0, util_1.promisify)(fs6.unlink), - writeFile: (0, util_1.promisify)(fs6.writeFile) - }; - return opts_; - } - async function cmdShim2(src, to, opts) { - const opts_ = ingestOptions(opts); - await cmdShim_(src, to, opts_); - } - function cmdShimIfExists(src, to, opts) { - return cmdShim2(src, to, opts).catch(() => { - }); - } - function rm2(path10, opts) { - return opts.fs_.unlink(path10).catch(() => { - }); - } - async function cmdShim_(src, to, opts) { - const srcRuntimeInfo = await searchScriptRuntime(src, opts); - await writeShimsPreCommon(to, opts); - return writeAllShims(src, to, srcRuntimeInfo, opts); - } - function writeShimsPreCommon(target, opts) { - return opts.fs_.mkdir(path9.dirname(target), { recursive: true }); - } - function writeAllShims(src, to, srcRuntimeInfo, opts) { - const opts_ = ingestOptions(opts); - const generatorAndExts = [{ generator: generateShShim, extension: "" }]; - if (opts_.createCmdFile) { - generatorAndExts.push({ generator: generateCmdShim, extension: CMD_EXTENSION }); - } - if (opts_.createPwshFile) { - generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" }); - } - return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_))); - } - function writeShimPre(target, opts) { - return rm2(target, opts); - } - function writeShimPost(target, opts) { - return chmodShim(target, opts); - } - async function searchScriptRuntime(target, opts) { - try { - const data = await opts.fs_.readFile(target, "utf8"); - const firstLine = data.trim().split(/\r*\n/)[0]; - const shebang = firstLine.match(shebangExpr); - if (!shebang) { - const targetExtension = path9.extname(target).toLowerCase(); - return { - // undefined if extension is unknown but it's converted to null. - program: extensionToProgramMap.get(targetExtension) || null, - additionalArgs: "" - }; - } - return { - program: shebang[1], - additionalArgs: shebang[2] - }; - } catch (err) { - if (!isWindows() || err.code !== "ENOENT") - throw err; - if (await opts.fs_.stat(`${target}${getExeExtension()}`)) { - return { - program: null, - additionalArgs: "" - }; - } - throw err; - } - } - function getExeExtension() { - let cmdExtension; - if (process.env.PATHEXT) { - cmdExtension = process.env.PATHEXT.split(path9.delimiter).find((ext) => ext.toLowerCase() === ".exe"); - } - return cmdExtension || ".exe"; - } - async function writeShim(src, to, srcRuntimeInfo, generateShimScript, opts) { - const defaultArgs = opts.preserveSymlinks ? "--preserve-symlinks" : ""; - const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" "); - opts = Object.assign({}, opts, { - prog: srcRuntimeInfo.program, - args - }); - await writeShimPre(to, opts); - await opts.fs_.writeFile(to, generateShimScript(src, to, opts), "utf8"); - return writeShimPost(to, opts); - } - function generateCmdShim(src, to, opts) { - const shTarget = path9.relative(path9.dirname(to), src); - let target = shTarget.split("/").join("\\"); - const quotedPathToTarget = path9.isAbsolute(target) ? `"${target}"` : `"%~dp0\\${target}"`; - let longProg; - let prog = opts.prog; - let args = opts.args || ""; - const nodePath = normalizePathEnvVar(opts.nodePath).win32; - const prependToPath = normalizePathEnvVar(opts.prependToPath).win32; - if (!prog) { - prog = quotedPathToTarget; - args = ""; - target = ""; - } else if (prog === "node" && opts.nodeExecPath) { - prog = `"${opts.nodeExecPath}"`; - target = quotedPathToTarget; - } else { - longProg = `"%~dp0\\${prog}.exe"`; - target = quotedPathToTarget; - } - let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; - let cmd = "@SETLOCAL\r\n"; - if (prependToPath) { - cmd += `@SET "PATH=${prependToPath}:%PATH%"\r -`; - } - if (nodePath) { - cmd += `@IF NOT DEFINED NODE_PATH (\r - @SET "NODE_PATH=${nodePath}"\r -) ELSE (\r - @SET "NODE_PATH=%NODE_PATH%;${nodePath}"\r -)\r -`; - } - if (longProg) { - cmd += `@IF EXIST ${longProg} (\r - ${longProg} ${args} ${target} ${progArgs}%*\r -) ELSE (\r - @SET PATHEXT=%PATHEXT:;.JS;=;%\r - ${prog} ${args} ${target} ${progArgs}%*\r -)\r -`; - } else { - cmd += `@${prog} ${args} ${target} ${progArgs}%*\r -`; - } - return cmd; - } - function generateShShim(src, to, opts) { - let shTarget = path9.relative(path9.dirname(to), src); - let shProg = opts.prog && opts.prog.split("\\").join("/"); - let shLongProg; - shTarget = shTarget.split("\\").join("/"); - const quotedPathToTarget = path9.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`; - let args = opts.args || ""; - const shNodePath = normalizePathEnvVar(opts.nodePath).posix; - if (!shProg) { - shProg = quotedPathToTarget; - args = ""; - shTarget = ""; - } else if (opts.prog === "node" && opts.nodeExecPath) { - shProg = `"${opts.nodeExecPath}"`; - shTarget = quotedPathToTarget; - } else { - shLongProg = `"$basedir/${opts.prog}"`; - shTarget = quotedPathToTarget; - } - let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; - let sh = `#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") - -case \`uname\` in - *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; -esac - -`; - if (opts.prependToPath) { - sh += `export PATH="${opts.prependToPath}:$PATH" -`; - } - if (shNodePath) { - sh += `if [ -z "$NODE_PATH" ]; then - export NODE_PATH="${shNodePath}" -else - export NODE_PATH="$NODE_PATH:${shNodePath}" -fi -`; - } - if (shLongProg) { - sh += `if [ -x ${shLongProg} ]; then - exec ${shLongProg} ${args} ${shTarget} ${progArgs}"$@" -else - exec ${shProg} ${args} ${shTarget} ${progArgs}"$@" -fi -`; - } else { - sh += `${shProg} ${args} ${shTarget} ${progArgs}"$@" -exit $? -`; - } - return sh; - } - function generatePwshShim(src, to, opts) { - let shTarget = path9.relative(path9.dirname(to), src); - const shProg = opts.prog && opts.prog.split("\\").join("/"); - let pwshProg = shProg && `"${shProg}$exe"`; - let pwshLongProg; - shTarget = shTarget.split("\\").join("/"); - const quotedPathToTarget = path9.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`; - let args = opts.args || ""; - let normalizedNodePathEnvVar = normalizePathEnvVar(opts.nodePath); - const nodePath = normalizedNodePathEnvVar.win32; - const shNodePath = normalizedNodePathEnvVar.posix; - let normalizedPrependPathEnvVar = normalizePathEnvVar(opts.prependToPath); - const prependPath = normalizedPrependPathEnvVar.win32; - const shPrependPath = normalizedPrependPathEnvVar.posix; - if (!pwshProg) { - pwshProg = quotedPathToTarget; - args = ""; - shTarget = ""; - } else if (opts.prog === "node" && opts.nodeExecPath) { - pwshProg = `"${opts.nodeExecPath}"`; - shTarget = quotedPathToTarget; - } else { - pwshLongProg = `"$basedir/${opts.prog}$exe"`; - shTarget = quotedPathToTarget; - } - let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; - let pwsh = `#!/usr/bin/env pwsh -$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent - -$exe="" -${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH -$new_node_path="${nodePath}" -` : ""}${prependPath ? `$env_path=$env:PATH -$prepend_path="${prependPath}" -` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { - # Fix case when both the Windows and Linux builds of Node - # are installed in the same directory - $exe=".exe" -${nodePath || prependPath ? ' $pathsep=";"\n' : ""}}`; - if (shNodePath || shPrependPath) { - pwsh += ` else { -${shNodePath ? ` $new_node_path="${shNodePath}" -` : ""}${shPrependPath ? ` $prepend_path="${shPrependPath}" -` : ""}} -`; - } - if (shNodePath) { - pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) { - $env:NODE_PATH=$new_node_path -} else { - $env:NODE_PATH="$env_node_path$pathsep$new_node_path" -} -`; - } - if (opts.prependToPath) { - pwsh += ` -$env:PATH="$prepend_path$pathsep$env:PATH" -`; - } - if (pwshLongProg) { - pwsh += ` -$ret=0 -if (Test-Path ${pwshLongProg}) { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args - } else { - & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args - } - $ret=$LASTEXITCODE -} else { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args - } else { - & ${pwshProg} ${args} ${shTarget} ${progArgs}$args - } - $ret=$LASTEXITCODE -} -${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret -`; - } else { - pwsh += ` -# Support pipeline input -if ($MyInvocation.ExpectingInput) { - $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args -} else { - & ${pwshProg} ${args} ${shTarget} ${progArgs}$args -} -${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE -`; - } - return pwsh; - } - function chmodShim(to, opts) { - return opts.fs_.chmod(to, 493); - } - function normalizePathEnvVar(nodePath) { - if (!nodePath || !nodePath.length) { - return { - win32: "", - posix: "" - }; - } - let split = typeof nodePath === "string" ? nodePath.split(path9.delimiter) : Array.from(nodePath); - let result = {}; - for (let i = 0; i < split.length; i++) { - const win32 = split[i].split("/").join("\\"); - const posix = isWindows() ? split[i].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `/mnt/${$1.toLowerCase()}`) : split[i]; - result.win32 = result.win32 ? `${result.win32};${win32}` : win32; - result.posix = result.posix ? `${result.posix}:${posix}` : posix; - result[i] = { win32, posix }; - } - return result; - } - module2.exports = cmdShim2; - } -}); - -// sources/_entryPoint.ts -var entryPoint_exports = {}; -__export(entryPoint_exports, { - runMain: () => runMain -}); -module.exports = __toCommonJS(entryPoint_exports); - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/constants.mjs -var NODE_INITIAL = 0; -var NODE_SUCCESS = 1; -var NODE_ERRORED = 2; -var START_OF_INPUT = ``; -var END_OF_INPUT = `\0`; -var HELP_COMMAND_INDEX = -1; -var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/; -var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/; -var BATCH_REGEX = /^-[a-zA-Z]{2,}$/; -var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/; -var DEBUG = process.env.DEBUG_CLI === `1`; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/errors.mjs -var UsageError = class extends Error { - constructor(message) { - super(message); - this.clipanion = { type: `usage` }; - this.name = `UsageError`; - } -}; -var UnknownSyntaxError = class extends Error { - constructor(input, candidates) { - super(); - this.input = input; - this.candidates = candidates; - this.clipanion = { type: `none` }; - this.name = `UnknownSyntaxError`; - if (this.candidates.length === 0) { - this.message = `Command not found, but we're not sure what's the alternative.`; - } else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) { - const [{ reason }] = this.candidates; - this.message = `${reason} - -${this.candidates.map(({ usage }) => `$ ${usage}`).join(` -`)}`; - } else if (this.candidates.length === 1) { - const [{ usage }] = this.candidates; - this.message = `Command not found; did you mean: - -$ ${usage} -${whileRunning(input)}`; - } else { - this.message = `Command not found; did you mean one of: - -${this.candidates.map(({ usage }, index) => { - return `${`${index}.`.padStart(4)} ${usage}`; - }).join(` -`)} - -${whileRunning(input)}`; - } - } -}; -var AmbiguousSyntaxError = class extends Error { - constructor(input, usages) { - super(); - this.input = input; - this.usages = usages; - this.clipanion = { type: `none` }; - this.name = `AmbiguousSyntaxError`; - this.message = `Cannot find which to pick amongst the following alternatives: - -${this.usages.map((usage, index) => { - return `${`${index}.`.padStart(4)} ${usage}`; - }).join(` -`)} - -${whileRunning(input)}`; - } -}; -var whileRunning = (input) => `While running ${input.filter((token) => { - return token !== END_OF_INPUT; -}).map((token) => { - const json = JSON.stringify(token); - if (token.match(/\s/) || token.length === 0 || json !== `"${token}"`) { - return json; - } else { - return token; - } -}).join(` `)}`; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/utils.mjs -var isOptionSymbol = Symbol(`clipanion/isOption`); -function makeCommandOption(spec) { - return { ...spec, [isOptionSymbol]: true }; -} -function rerouteArguments(a, b) { - if (typeof a === `undefined`) - return [a, b]; - if (typeof a === `object` && a !== null && !Array.isArray(a)) { - return [void 0, a]; - } else { - return [a, b]; - } -} -function cleanValidationError(message, lowerCase = false) { - let cleaned = message.replace(/^\.: /, ``); - if (lowerCase) - cleaned = cleaned[0].toLowerCase() + cleaned.slice(1); - return cleaned; -} -function formatError(message, errors) { - if (errors.length === 1) { - return new UsageError(`${message}: ${cleanValidationError(errors[0], true)}`); - } else { - return new UsageError(`${message}: -${errors.map((error) => ` -- ${cleanValidationError(error)}`).join(``)}`); - } -} -function applyValidator(name, value, validator) { - if (typeof validator === `undefined`) - return value; - const errors = []; - const coercions = []; - const coercion = (v) => { - const orig = value; - value = v; - return coercion.bind(null, orig); - }; - const check = validator(value, { errors, coercions, coercion }); - if (!check) - throw formatError(`Invalid value for ${name}`, errors); - for (const [, op] of coercions) - op(); - return value; -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/Command.mjs -var Command = class { - constructor() { - this.help = false; - } - /** - * Defines the usage information for the given command. - */ - static Usage(usage) { - return usage; - } - /** - * Standard error handler which will simply rethrow the error. Can be used - * to add custom logic to handle errors from the command or simply return - * the parent class error handling. - */ - async catch(error) { - throw error; - } - async validateAndExecute() { - const commandClass = this.constructor; - const cascade2 = commandClass.schema; - if (Array.isArray(cascade2)) { - const { isDict: isDict2, isUnknown: isUnknown2, applyCascade: applyCascade2 } = await Promise.resolve().then(() => (init_lib(), lib_exports)); - const schema = applyCascade2(isDict2(isUnknown2()), cascade2); - const errors = []; - const coercions = []; - const check = schema(this, { errors, coercions }); - if (!check) - throw formatError(`Invalid option schema`, errors); - for (const [, op] of coercions) { - op(); - } - } else if (cascade2 != null) { - throw new Error(`Invalid command schema`); - } - const exitCode = await this.execute(); - if (typeof exitCode !== `undefined`) { - return exitCode; - } else { - return 0; - } - } -}; -Command.isOption = isOptionSymbol; -Command.Default = []; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/core.mjs -function debug(str) { - if (DEBUG) { - console.log(str); - } -} -var basicHelpState = { - candidateUsage: null, - requiredOptions: [], - errorMessage: null, - ignoreOptions: false, - path: [], - positionals: [], - options: [], - remainder: null, - selectedIndex: HELP_COMMAND_INDEX -}; -function makeStateMachine() { - return { - nodes: [makeNode(), makeNode(), makeNode()] - }; -} -function makeAnyOfMachine(inputs) { - const output = makeStateMachine(); - const heads = []; - let offset = output.nodes.length; - for (const input of inputs) { - heads.push(offset); - for (let t = 0; t < input.nodes.length; ++t) - if (!isTerminalNode(t)) - output.nodes.push(cloneNode(input.nodes[t], offset)); - offset += input.nodes.length - 2; - } - for (const head of heads) - registerShortcut(output, NODE_INITIAL, head); - return output; -} -function injectNode(machine, node) { - machine.nodes.push(node); - return machine.nodes.length - 1; -} -function simplifyMachine(input) { - const visited = /* @__PURE__ */ new Set(); - const process5 = (node) => { - if (visited.has(node)) - return; - visited.add(node); - const nodeDef = input.nodes[node]; - for (const transitions of Object.values(nodeDef.statics)) - for (const { to } of transitions) - process5(to); - for (const [, { to }] of nodeDef.dynamics) - process5(to); - for (const { to } of nodeDef.shortcuts) - process5(to); - const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to)); - while (nodeDef.shortcuts.length > 0) { - const { to } = nodeDef.shortcuts.shift(); - const toDef = input.nodes[to]; - for (const [segment, transitions] of Object.entries(toDef.statics)) { - const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment]; - for (const transition of transitions) { - if (!store.some(({ to: to2 }) => transition.to === to2)) { - store.push(transition); - } - } - } - for (const [test, transition] of toDef.dynamics) - if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2)) - nodeDef.dynamics.push([test, transition]); - for (const transition of toDef.shortcuts) { - if (!shortcuts.has(transition.to)) { - nodeDef.shortcuts.push(transition); - shortcuts.add(transition.to); - } - } - } - }; - process5(NODE_INITIAL); -} -function debugMachine(machine, { prefix = `` } = {}) { - if (DEBUG) { - debug(`${prefix}Nodes are:`); - for (let t = 0; t < machine.nodes.length; ++t) { - debug(`${prefix} ${t}: ${JSON.stringify(machine.nodes[t])}`); - } - } -} -function runMachineInternal(machine, input, partial = false) { - debug(`Running a vm on ${JSON.stringify(input)}`); - let branches = [{ node: NODE_INITIAL, state: { - candidateUsage: null, - requiredOptions: [], - errorMessage: null, - ignoreOptions: false, - options: [], - path: [], - positionals: [], - remainder: null, - selectedIndex: null - } }]; - debugMachine(machine, { prefix: ` ` }); - const tokens = [START_OF_INPUT, ...input]; - for (let t = 0; t < tokens.length; ++t) { - const segment = tokens[t]; - debug(` Processing ${JSON.stringify(segment)}`); - const nextBranches = []; - for (const { node, state } of branches) { - debug(` Current node is ${node}`); - const nodeDef = machine.nodes[node]; - if (node === NODE_ERRORED) { - nextBranches.push({ node, state }); - continue; - } - console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`); - const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment); - if (!partial || t < tokens.length - 1 || hasExactMatch) { - if (hasExactMatch) { - const transitions = nodeDef.statics[segment]; - for (const { to, reducer } of transitions) { - nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); - debug(` Static transition to ${to} found`); - } - } else { - debug(` No static transition found`); - } - } else { - let hasMatches = false; - for (const candidate of Object.keys(nodeDef.statics)) { - if (!candidate.startsWith(segment)) - continue; - if (segment === candidate) { - for (const { to, reducer } of nodeDef.statics[candidate]) { - nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); - debug(` Static transition to ${to} found`); - } - } else { - for (const { to } of nodeDef.statics[candidate]) { - nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } }); - debug(` Static transition to ${to} found (partial match)`); - } - } - hasMatches = true; - } - if (!hasMatches) { - debug(` No partial static transition found`); - } - } - if (segment !== END_OF_INPUT) { - for (const [test, { to, reducer }] of nodeDef.dynamics) { - if (execute(tests, test, state, segment)) { - nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); - debug(` Dynamic transition to ${to} found (via ${test})`); - } - } - } - } - if (nextBranches.length === 0 && segment === END_OF_INPUT && input.length === 1) { - return [{ - node: NODE_INITIAL, - state: basicHelpState - }]; - } - if (nextBranches.length === 0) { - throw new UnknownSyntaxError(input, branches.filter(({ node }) => { - return node !== NODE_ERRORED; - }).map(({ state }) => { - return { usage: state.candidateUsage, reason: null }; - })); - } - if (nextBranches.every(({ node }) => node === NODE_ERRORED)) { - throw new UnknownSyntaxError(input, nextBranches.map(({ state }) => { - return { usage: state.candidateUsage, reason: state.errorMessage }; - })); - } - branches = trimSmallerBranches(nextBranches); - } - if (branches.length > 0) { - debug(` Results:`); - for (const branch of branches) { - debug(` - ${branch.node} -> ${JSON.stringify(branch.state)}`); - } - } else { - debug(` No results`); - } - return branches; -} -function checkIfNodeIsFinished(node, state) { - if (state.selectedIndex !== null) - return true; - if (Object.prototype.hasOwnProperty.call(node.statics, END_OF_INPUT)) { - for (const { to } of node.statics[END_OF_INPUT]) - if (to === NODE_SUCCESS) - return true; - } - return false; -} -function suggestMachine(machine, input, partial) { - const prefix = partial && input.length > 0 ? [``] : []; - const branches = runMachineInternal(machine, input, partial); - const suggestions = []; - const suggestionsJson = /* @__PURE__ */ new Set(); - const traverseSuggestion = (suggestion, node, skipFirst = true) => { - let nextNodes = [node]; - while (nextNodes.length > 0) { - const currentNodes = nextNodes; - nextNodes = []; - for (const node2 of currentNodes) { - const nodeDef = machine.nodes[node2]; - const keys = Object.keys(nodeDef.statics); - for (const key of Object.keys(nodeDef.statics)) { - const segment = keys[0]; - for (const { to, reducer } of nodeDef.statics[segment]) { - if (reducer !== `pushPath`) - continue; - if (!skipFirst) - suggestion.push(segment); - nextNodes.push(to); - } - } - } - skipFirst = false; - } - const json = JSON.stringify(suggestion); - if (suggestionsJson.has(json)) - return; - suggestions.push(suggestion); - suggestionsJson.add(json); - }; - for (const { node, state } of branches) { - if (state.remainder !== null) { - traverseSuggestion([state.remainder], node); - continue; - } - const nodeDef = machine.nodes[node]; - const isFinished = checkIfNodeIsFinished(nodeDef, state); - for (const [candidate, transitions] of Object.entries(nodeDef.statics)) - if (isFinished && candidate !== END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`)) - traverseSuggestion([...prefix, candidate], node); - if (!isFinished) - continue; - for (const [test, { to }] of nodeDef.dynamics) { - if (to === NODE_ERRORED) - continue; - const tokens = suggest(test, state); - if (tokens === null) - continue; - for (const token of tokens) { - traverseSuggestion([...prefix, token], node); - } - } - } - return [...suggestions].sort(); -} -function runMachine(machine, input) { - const branches = runMachineInternal(machine, [...input, END_OF_INPUT]); - return selectBestState(input, branches.map(({ state }) => { - return state; - })); -} -function trimSmallerBranches(branches) { - let maxPathSize = 0; - for (const { state } of branches) - if (state.path.length > maxPathSize) - maxPathSize = state.path.length; - return branches.filter(({ state }) => { - return state.path.length === maxPathSize; - }); -} -function selectBestState(input, states) { - const terminalStates = states.filter((state) => { - return state.selectedIndex !== null; - }); - if (terminalStates.length === 0) - throw new Error(); - const requiredOptionsSetStates = terminalStates.filter((state) => state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name)))); - if (requiredOptionsSetStates.length === 0) { - throw new UnknownSyntaxError(input, terminalStates.map((state) => ({ - usage: state.candidateUsage, - reason: null - }))); - } - let maxPathSize = 0; - for (const state of requiredOptionsSetStates) - if (state.path.length > maxPathSize) - maxPathSize = state.path.length; - const bestPathBranches = requiredOptionsSetStates.filter((state) => { - return state.path.length === maxPathSize; - }); - const getPositionalCount = (state) => state.positionals.filter(({ extra }) => { - return !extra; - }).length + state.options.length; - const statesWithPositionalCount = bestPathBranches.map((state) => { - return { state, positionalCount: getPositionalCount(state) }; - }); - let maxPositionalCount = 0; - for (const { positionalCount } of statesWithPositionalCount) - if (positionalCount > maxPositionalCount) - maxPositionalCount = positionalCount; - const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => { - return positionalCount === maxPositionalCount; - }).map(({ state }) => { - return state; - }); - const fixedStates = aggregateHelpStates(bestPositionalStates); - if (fixedStates.length > 1) - throw new AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage)); - return fixedStates[0]; -} -function aggregateHelpStates(states) { - const notHelps = []; - const helps = []; - for (const state of states) { - if (state.selectedIndex === HELP_COMMAND_INDEX) { - helps.push(state); - } else { - notHelps.push(state); - } - } - if (helps.length > 0) { - notHelps.push({ - ...basicHelpState, - path: findCommonPrefix(...helps.map((state) => state.path)), - options: helps.reduce((options, state) => options.concat(state.options), []) - }); - } - return notHelps; -} -function findCommonPrefix(firstPath, secondPath, ...rest) { - if (secondPath === void 0) - return Array.from(firstPath); - return findCommonPrefix(firstPath.filter((segment, i) => segment === secondPath[i]), ...rest); -} -function makeNode() { - return { - dynamics: [], - shortcuts: [], - statics: {} - }; -} -function isTerminalNode(node) { - return node === NODE_SUCCESS || node === NODE_ERRORED; -} -function cloneTransition(input, offset = 0) { - return { - to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to, - reducer: input.reducer - }; -} -function cloneNode(input, offset = 0) { - const output = makeNode(); - for (const [test, transition] of input.dynamics) - output.dynamics.push([test, cloneTransition(transition, offset)]); - for (const transition of input.shortcuts) - output.shortcuts.push(cloneTransition(transition, offset)); - for (const [segment, transitions] of Object.entries(input.statics)) - output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset)); - return output; -} -function registerDynamic(machine, from, test, to, reducer) { - machine.nodes[from].dynamics.push([ - test, - { to, reducer } - ]); -} -function registerShortcut(machine, from, to, reducer) { - machine.nodes[from].shortcuts.push({ to, reducer }); -} -function registerStatic(machine, from, test, to, reducer) { - const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from].statics, test) ? machine.nodes[from].statics[test] = [] : machine.nodes[from].statics[test]; - store.push({ to, reducer }); -} -function execute(store, callback, state, segment) { - if (Array.isArray(callback)) { - const [name, ...args] = callback; - return store[name](state, segment, ...args); - } else { - return store[callback](state, segment); - } -} -function suggest(callback, state) { - const fn2 = Array.isArray(callback) ? tests[callback[0]] : tests[callback]; - if (typeof fn2.suggest === `undefined`) - return null; - const args = Array.isArray(callback) ? callback.slice(1) : []; - return fn2.suggest(state, ...args); -} -var tests = { - always: () => { - return true; - }, - isOptionLike: (state, segment) => { - return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`)); - }, - isNotOptionLike: (state, segment) => { - return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`); - }, - isOption: (state, segment, name, hidden) => { - return !state.ignoreOptions && segment === name; - }, - isBatchOption: (state, segment, names) => { - return !state.ignoreOptions && BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`)); - }, - isBoundOption: (state, segment, names, options) => { - const optionParsing = segment.match(BINDING_REGEX); - return !state.ignoreOptions && !!optionParsing && OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding); - }, - isNegatedOption: (state, segment, name) => { - return !state.ignoreOptions && segment === `--no-${name.slice(2)}`; - }, - isHelp: (state, segment) => { - return !state.ignoreOptions && HELP_REGEX.test(segment); - }, - isUnsupportedOption: (state, segment, names) => { - return !state.ignoreOptions && segment.startsWith(`-`) && OPTION_REGEX.test(segment) && !names.includes(segment); - }, - isInvalidOption: (state, segment) => { - return !state.ignoreOptions && segment.startsWith(`-`) && !OPTION_REGEX.test(segment); - } -}; -tests.isOption.suggest = (state, name, hidden = true) => { - return !hidden ? [name] : null; -}; -var reducers = { - setCandidateState: (state, segment, candidateState) => { - return { ...state, ...candidateState }; - }, - setSelectedIndex: (state, segment, index) => { - return { ...state, selectedIndex: index }; - }, - pushBatch: (state, segment) => { - return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) }; - }, - pushBound: (state, segment) => { - const [, name, value] = segment.match(BINDING_REGEX); - return { ...state, options: state.options.concat({ name, value }) }; - }, - pushPath: (state, segment) => { - return { ...state, path: state.path.concat(segment) }; - }, - pushPositional: (state, segment) => { - return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) }; - }, - pushExtra: (state, segment) => { - return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) }; - }, - pushExtraNoLimits: (state, segment) => { - return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) }; - }, - pushTrue: (state, segment, name = segment) => { - return { ...state, options: state.options.concat({ name: segment, value: true }) }; - }, - pushFalse: (state, segment, name = segment) => { - return { ...state, options: state.options.concat({ name, value: false }) }; - }, - pushUndefined: (state, segment) => { - return { ...state, options: state.options.concat({ name: segment, value: void 0 }) }; - }, - pushStringValue: (state, segment) => { - var _a; - const copy = { ...state, options: [...state.options] }; - const lastOption = state.options[state.options.length - 1]; - lastOption.value = ((_a = lastOption.value) !== null && _a !== void 0 ? _a : []).concat([segment]); - return copy; - }, - setStringValue: (state, segment) => { - const copy = { ...state, options: [...state.options] }; - const lastOption = state.options[state.options.length - 1]; - lastOption.value = segment; - return copy; - }, - inhibateOptions: (state) => { - return { ...state, ignoreOptions: true }; - }, - useHelp: (state, segment, command) => { - const [ - , - /* name */ - , - index - ] = segment.match(HELP_REGEX); - if (typeof index !== `undefined`) { - return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index }] }; - } else { - return { ...state, options: [{ name: `-c`, value: String(command) }] }; - } - }, - setError: (state, segment, errorMessage) => { - if (segment === END_OF_INPUT) { - return { ...state, errorMessage: `${errorMessage}.` }; - } else { - return { ...state, errorMessage: `${errorMessage} ("${segment}").` }; - } - }, - setOptionArityError: (state, segment) => { - const lastOption = state.options[state.options.length - 1]; - return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` }; - } -}; -var NoLimits = Symbol(); -var CommandBuilder = class { - constructor(cliIndex, cliOpts) { - this.allOptionNames = []; - this.arity = { leading: [], trailing: [], extra: [], proxy: false }; - this.options = []; - this.paths = []; - this.cliIndex = cliIndex; - this.cliOpts = cliOpts; - } - addPath(path9) { - this.paths.push(path9); - } - setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) { - Object.assign(this.arity, { leading, trailing, extra, proxy }); - } - addPositional({ name = `arg`, required = true } = {}) { - if (!required && this.arity.extra === NoLimits) - throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`); - if (!required && this.arity.trailing.length > 0) - throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`); - if (!required && this.arity.extra !== NoLimits) { - this.arity.extra.push(name); - } else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) { - this.arity.leading.push(name); - } else { - this.arity.trailing.push(name); - } - } - addRest({ name = `arg`, required = 0 } = {}) { - if (this.arity.extra === NoLimits) - throw new Error(`Infinite lists cannot be declared multiple times in the same command`); - if (this.arity.trailing.length > 0) - throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`); - for (let t = 0; t < required; ++t) - this.addPositional({ name }); - this.arity.extra = NoLimits; - } - addProxy({ required = 0 } = {}) { - this.addRest({ required }); - this.arity.proxy = true; - } - addOption({ names, description, arity = 0, hidden = false, required = false, allowBinding = true }) { - if (!allowBinding && arity > 1) - throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`); - if (!Number.isInteger(arity)) - throw new Error(`The arity must be an integer, got ${arity}`); - if (arity < 0) - throw new Error(`The arity must be positive, got ${arity}`); - this.allOptionNames.push(...names); - this.options.push({ names, description, arity, hidden, required, allowBinding }); - } - setContext(context) { - this.context = context; - } - usage({ detailed = true, inlineOptions = true } = {}) { - const segments = [this.cliOpts.binaryName]; - const detailedOptionList = []; - if (this.paths.length > 0) - segments.push(...this.paths[0]); - if (detailed) { - for (const { names, arity, hidden, description, required } of this.options) { - if (hidden) - continue; - const args = []; - for (let t = 0; t < arity; ++t) - args.push(` #${t}`); - const definition = `${names.join(`,`)}${args.join(``)}`; - if (!inlineOptions && description) { - detailedOptionList.push({ definition, description, required }); - } else { - segments.push(required ? `<${definition}>` : `[${definition}]`); - } - } - segments.push(...this.arity.leading.map((name) => `<${name}>`)); - if (this.arity.extra === NoLimits) - segments.push(`...`); - else - segments.push(...this.arity.extra.map((name) => `[${name}]`)); - segments.push(...this.arity.trailing.map((name) => `<${name}>`)); - } - const usage = segments.join(` `); - return { usage, options: detailedOptionList }; - } - compile() { - if (typeof this.context === `undefined`) - throw new Error(`Assertion failed: No context attached`); - const machine = makeStateMachine(); - let firstNode = NODE_INITIAL; - const candidateUsage = this.usage().usage; - const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names); - firstNode = injectNode(machine, makeNode()); - registerStatic(machine, NODE_INITIAL, START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]); - const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`; - const paths = this.paths.length > 0 ? this.paths : [[]]; - for (const path9 of paths) { - let lastPathNode = firstNode; - if (path9.length > 0) { - const optionPathNode = injectNode(machine, makeNode()); - registerShortcut(machine, lastPathNode, optionPathNode); - this.registerOptions(machine, optionPathNode); - lastPathNode = optionPathNode; - } - for (let t = 0; t < path9.length; ++t) { - const nextPathNode = injectNode(machine, makeNode()); - registerStatic(machine, lastPathNode, path9[t], nextPathNode, `pushPath`); - lastPathNode = nextPathNode; - } - if (this.arity.leading.length > 0 || !this.arity.proxy) { - const helpNode = injectNode(machine, makeNode()); - registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]); - registerStatic(machine, helpNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, HELP_COMMAND_INDEX]); - this.registerOptions(machine, lastPathNode); - } - if (this.arity.leading.length > 0) - registerStatic(machine, lastPathNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); - let lastLeadingNode = lastPathNode; - for (let t = 0; t < this.arity.leading.length; ++t) { - const nextLeadingNode = injectNode(machine, makeNode()); - if (!this.arity.proxy) - this.registerOptions(machine, nextLeadingNode); - if (this.arity.trailing.length > 0 || t + 1 !== this.arity.leading.length) - registerStatic(machine, nextLeadingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); - registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`); - lastLeadingNode = nextLeadingNode; - } - let lastExtraNode = lastLeadingNode; - if (this.arity.extra === NoLimits || this.arity.extra.length > 0) { - const extraShortcutNode = injectNode(machine, makeNode()); - registerShortcut(machine, lastLeadingNode, extraShortcutNode); - if (this.arity.extra === NoLimits) { - const extraNode = injectNode(machine, makeNode()); - if (!this.arity.proxy) - this.registerOptions(machine, extraNode); - registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`); - registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`); - registerShortcut(machine, extraNode, extraShortcutNode); - } else { - for (let t = 0; t < this.arity.extra.length; ++t) { - const nextExtraNode = injectNode(machine, makeNode()); - if (!this.arity.proxy) - this.registerOptions(machine, nextExtraNode); - registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`); - registerShortcut(machine, nextExtraNode, extraShortcutNode); - lastExtraNode = nextExtraNode; - } - } - lastExtraNode = extraShortcutNode; - } - if (this.arity.trailing.length > 0) - registerStatic(machine, lastExtraNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); - let lastTrailingNode = lastExtraNode; - for (let t = 0; t < this.arity.trailing.length; ++t) { - const nextTrailingNode = injectNode(machine, makeNode()); - if (!this.arity.proxy) - this.registerOptions(machine, nextTrailingNode); - if (t + 1 < this.arity.trailing.length) - registerStatic(machine, nextTrailingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); - registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`); - lastTrailingNode = nextTrailingNode; - } - registerDynamic(machine, lastTrailingNode, positionalArgument, NODE_ERRORED, [`setError`, `Extraneous positional argument`]); - registerStatic(machine, lastTrailingNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]); - } - return { - machine, - context: this.context - }; - } - registerOptions(machine, node) { - registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`); - registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`); - registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`); - registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], NODE_ERRORED, [`setError`, `Unsupported option name`]); - registerDynamic(machine, node, [`isInvalidOption`], NODE_ERRORED, [`setError`, `Invalid option name`]); - for (const option of this.options) { - const longestName = option.names.reduce((longestName2, name) => { - return name.length > longestName2.length ? name : longestName2; - }, ``); - if (option.arity === 0) { - for (const name of option.names) { - registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`); - if (name.startsWith(`--`) && !name.startsWith(`--no-`)) { - registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]); - } - } - } else { - let lastNode = injectNode(machine, makeNode()); - for (const name of option.names) - registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`); - for (let t = 0; t < option.arity; ++t) { - const nextNode = injectNode(machine, makeNode()); - registerStatic(machine, lastNode, END_OF_INPUT, NODE_ERRORED, `setOptionArityError`); - registerDynamic(machine, lastNode, `isOptionLike`, NODE_ERRORED, `setOptionArityError`); - const action = option.arity === 1 ? `setStringValue` : `pushStringValue`; - registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action); - lastNode = nextNode; - } - registerShortcut(machine, lastNode, node); - } - } - } -}; -var CliBuilder = class { - constructor({ binaryName = `...` } = {}) { - this.builders = []; - this.opts = { binaryName }; - } - static build(cbs, opts = {}) { - return new CliBuilder(opts).commands(cbs).compile(); - } - getBuilderByIndex(n) { - if (!(n >= 0 && n < this.builders.length)) - throw new Error(`Assertion failed: Out-of-bound command index (${n})`); - return this.builders[n]; - } - commands(cbs) { - for (const cb of cbs) - cb(this.command()); - return this; - } - command() { - const builder = new CommandBuilder(this.builders.length, this.opts); - this.builders.push(builder); - return builder; - } - compile() { - const machines = []; - const contexts = []; - for (const builder of this.builders) { - const { machine: machine2, context } = builder.compile(); - machines.push(machine2); - contexts.push(context); - } - const machine = makeAnyOfMachine(machines); - simplifyMachine(machine); - return { - machine, - contexts, - process: (input) => { - return runMachine(machine, input); - }, - suggest: (input, partial) => { - return suggestMachine(machine, input, partial); - } - }; - } -}; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/format.mjs -var MAX_LINE_LENGTH = 80; -var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`); -for (let t = 0; t <= 24; ++t) - richLine[richLine.length - t] = `\x1B[38;5;${232 + t}m\u2501`; -var richFormat = { - header: (str) => `\x1B[1m\u2501\u2501\u2501 ${str}${str.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str.length + 5).join(``)}` : `:`}\x1B[0m`, - bold: (str) => `\x1B[1m${str}\x1B[22m`, - error: (str) => `\x1B[31m\x1B[1m${str}\x1B[22m\x1B[39m`, - code: (str) => `\x1B[36m${str}\x1B[39m` -}; -var textFormat = { - header: (str) => str, - bold: (str) => str, - error: (str) => str, - code: (str) => str -}; -function dedent(text) { - const lines = text.split(` -`); - const nonEmptyLines = lines.filter((line) => line.match(/\S/)); - const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0; - return lines.map((line) => line.slice(indent).trimRight()).join(` -`); -} -function formatMarkdownish(text, { format, paragraphs }) { - text = text.replace(/\r\n?/g, ` -`); - text = dedent(text); - text = text.replace(/^\n+|\n+$/g, ``); - text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2 - -`); - text = text.replace(/\n(\n)?\n*/g, `$1`); - if (paragraphs) { - text = text.split(/\n/).map((paragraph) => { - const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/); - if (!bulletMatch) - return paragraph.match(/(.{1,80})(?: |$)/g).join(` -`); - const indent = paragraph.length - paragraph.trimStart().length; - return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index) => { - return ` `.repeat(indent) + (index === 0 ? `- ` : ` `) + line; - }).join(` -`); - }).join(` - -`); - } - text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { - return format.code($1 + $2 + $1); - }); - text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { - return format.bold($1 + $2 + $1); - }); - return text ? `${text} -` : ``; -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/HelpCommand.mjs -var HelpCommand = class extends Command { - constructor(contexts) { - super(); - this.contexts = contexts; - this.commands = []; - } - static from(state, contexts) { - const command = new HelpCommand(contexts); - command.path = state.path; - for (const opt of state.options) { - switch (opt.name) { - case `-c`: - { - command.commands.push(Number(opt.value)); - } - break; - case `-i`: - { - command.index = Number(opt.value); - } - break; - } - } - return command; - } - async execute() { - let commands = this.commands; - if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands.length) - commands = [commands[this.index]]; - if (commands.length === 0) { - this.context.stdout.write(this.cli.usage()); - } else if (commands.length === 1) { - this.context.stdout.write(this.cli.usage(this.contexts[commands[0]].commandClass, { detailed: true })); - } else if (commands.length > 1) { - this.context.stdout.write(`Multiple commands match your selection: -`); - this.context.stdout.write(` -`); - let index = 0; - for (const command of this.commands) - this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index++}. `.padStart(5) })); - this.context.stdout.write(` -`); - this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`); - } - } -}; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/Cli.mjs -var errorCommandSymbol = Symbol(`clipanion/errorCommand`); -function getDefaultColorSettings() { - if (process.env.FORCE_COLOR === `0`) - return false; - if (process.env.FORCE_COLOR === `1`) - return true; - if (typeof process.stdout !== `undefined` && process.stdout.isTTY) - return true; - return false; -} -var Cli = class { - constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors = getDefaultColorSettings() } = {}) { - this.registrations = /* @__PURE__ */ new Map(); - this.builder = new CliBuilder({ binaryName: binaryNameOpt }); - this.binaryLabel = binaryLabel; - this.binaryName = binaryNameOpt; - this.binaryVersion = binaryVersion; - this.enableCapture = enableCapture; - this.enableColors = enableColors; - } - /** - * Creates a new Cli and registers all commands passed as parameters. - * - * @param commandClasses The Commands to register - * @returns The created `Cli` instance - */ - static from(commandClasses, options = {}) { - const cli = new Cli(options); - for (const commandClass of commandClasses) - cli.register(commandClass); - return cli; - } - /** - * Registers a command inside the CLI. - */ - register(commandClass) { - var _a; - const specs = /* @__PURE__ */ new Map(); - const command = new commandClass(); - for (const key in command) { - const value = command[key]; - if (typeof value === `object` && value !== null && value[Command.isOption]) { - specs.set(key, value); - } - } - const builder = this.builder.command(); - const index = builder.cliIndex; - const paths = (_a = commandClass.paths) !== null && _a !== void 0 ? _a : command.paths; - if (typeof paths !== `undefined`) - for (const path9 of paths) - builder.addPath(path9); - this.registrations.set(commandClass, { specs, builder, index }); - for (const [key, { definition }] of specs.entries()) - definition(builder, key); - builder.setContext({ - commandClass - }); - } - process(input) { - const { contexts, process: process5 } = this.builder.compile(); - const state = process5(input); - switch (state.selectedIndex) { - case HELP_COMMAND_INDEX: { - return HelpCommand.from(state, contexts); - } - default: - { - const { commandClass } = contexts[state.selectedIndex]; - const record = this.registrations.get(commandClass); - if (typeof record === `undefined`) - throw new Error(`Assertion failed: Expected the command class to have been registered.`); - const command = new commandClass(); - command.path = state.path; - try { - for (const [key, { transformer }] of record.specs.entries()) - command[key] = transformer(record.builder, key, state); - return command; - } catch (error) { - error[errorCommandSymbol] = command; - throw error; - } - } - break; - } - } - async run(input, userContext) { - let command; - const context = { - ...Cli.defaultContext, - ...userContext - }; - if (!Array.isArray(input)) { - command = input; - } else { - try { - command = this.process(input); - } catch (error) { - context.stdout.write(this.error(error)); - return 1; - } - } - if (command.help) { - context.stdout.write(this.usage(command, { detailed: true })); - return 0; - } - command.context = context; - command.cli = { - binaryLabel: this.binaryLabel, - binaryName: this.binaryName, - binaryVersion: this.binaryVersion, - enableCapture: this.enableCapture, - enableColors: this.enableColors, - definitions: () => this.definitions(), - error: (error, opts) => this.error(error, opts), - process: (input2) => this.process(input2), - run: (input2, subContext) => this.run(input2, { ...context, ...subContext }), - usage: (command2, opts) => this.usage(command2, opts) - }; - const activate = this.enableCapture ? getCaptureActivator(context) : noopCaptureActivator; - let exitCode; - try { - exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0))); - } catch (error) { - context.stdout.write(this.error(error, { command })); - return 1; - } - return exitCode; - } - /** - * Runs a command and exits the current `process` with the exit code returned by the command. - * - * @param input An array containing the name of the command and its arguments. - * - * @example - * cli.runExit(process.argv.slice(2)) - */ - async runExit(input, context) { - process.exitCode = await this.run(input, context); - } - suggest(input, partial) { - const { suggest: suggest2 } = this.builder.compile(); - return suggest2(input, partial); - } - definitions({ colored = false } = {}) { - const data = []; - for (const [commandClass, { index }] of this.registrations) { - if (typeof commandClass.usage === `undefined`) - continue; - const { usage: path9 } = this.getUsageByIndex(index, { detailed: false }); - const { usage, options } = this.getUsageByIndex(index, { detailed: true, inlineOptions: false }); - const category = typeof commandClass.usage.category !== `undefined` ? formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0; - const description = typeof commandClass.usage.description !== `undefined` ? formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0; - const details = typeof commandClass.usage.details !== `undefined` ? formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0; - const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0; - data.push({ path: path9, usage, category, description, details, examples, options }); - } - return data; - } - usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) { - var _a; - if (command === null) { - for (const commandClass2 of this.registrations.keys()) { - const paths = commandClass2.paths; - const isDocumented = typeof commandClass2.usage !== `undefined`; - const isExclusivelyDefault = !paths || paths.length === 0 || paths.length === 1 && paths[0].length === 0; - const isDefault = isExclusivelyDefault || ((_a = paths === null || paths === void 0 ? void 0 : paths.some((path9) => path9.length === 0)) !== null && _a !== void 0 ? _a : false); - if (isDefault) { - if (command) { - command = null; - break; - } else { - command = commandClass2; - } - } else { - if (isDocumented) { - command = null; - continue; - } - } - } - if (command) { - detailed = true; - } - } - const commandClass = command !== null && command instanceof Command ? command.constructor : command; - let result = ``; - if (!commandClass) { - const commandsByCategories = /* @__PURE__ */ new Map(); - for (const [commandClass2, { index }] of this.registrations.entries()) { - if (typeof commandClass2.usage === `undefined`) - continue; - const category = typeof commandClass2.usage.category !== `undefined` ? formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null; - let categoryCommands = commandsByCategories.get(category); - if (typeof categoryCommands === `undefined`) - commandsByCategories.set(category, categoryCommands = []); - const { usage } = this.getUsageByIndex(index); - categoryCommands.push({ commandClass: commandClass2, usage }); - } - const categoryNames = Array.from(commandsByCategories.keys()).sort((a, b) => { - if (a === null) - return -1; - if (b === null) - return 1; - return a.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` }); - }); - const hasLabel = typeof this.binaryLabel !== `undefined`; - const hasVersion = typeof this.binaryVersion !== `undefined`; - if (hasLabel || hasVersion) { - if (hasLabel && hasVersion) - result += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`; - else if (hasLabel) - result += `${this.format(colored).header(`${this.binaryLabel}`)} -`; - else - result += `${this.format(colored).header(`${this.binaryVersion}`)} -`; - result += ` ${this.format(colored).bold(prefix)}${this.binaryName} -`; - } else { - result += `${this.format(colored).bold(prefix)}${this.binaryName} -`; - } - for (const categoryName of categoryNames) { - const commands = commandsByCategories.get(categoryName).slice().sort((a, b) => { - return a.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` }); - }); - const header = categoryName !== null ? categoryName.trim() : `General commands`; - result += ` -`; - result += `${this.format(colored).header(`${header}`)} -`; - for (const { commandClass: commandClass2, usage } of commands) { - const doc = commandClass2.usage.description || `undocumented`; - result += ` -`; - result += ` ${this.format(colored).bold(usage)} -`; - result += ` ${formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`; - } - } - result += ` -`; - result += formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true }); - } else { - if (!detailed) { - const { usage } = this.getUsageByRegistration(commandClass); - result += `${this.format(colored).bold(prefix)}${usage} -`; - } else { - const { description = ``, details = ``, examples = [] } = commandClass.usage || {}; - if (description !== ``) { - result += formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase()); - result += ` -`; - } - if (details !== `` || examples.length > 0) { - result += `${this.format(colored).header(`Usage`)} -`; - result += ` -`; - } - const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false }); - result += `${this.format(colored).bold(prefix)}${usage} -`; - if (options.length > 0) { - result += ` -`; - result += `${richFormat.header(`Options`)} -`; - const maxDefinitionLength = options.reduce((length, option) => { - return Math.max(length, option.definition.length); - }, 0); - result += ` -`; - for (const { definition, description: description2 } of options) { - result += ` ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))} ${formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`; - } - } - if (details !== ``) { - result += ` -`; - result += `${this.format(colored).header(`Details`)} -`; - result += ` -`; - result += formatMarkdownish(details, { format: this.format(colored), paragraphs: true }); - } - if (examples.length > 0) { - result += ` -`; - result += `${this.format(colored).header(`Examples`)} -`; - for (const [description2, example] of examples) { - result += ` -`; - result += formatMarkdownish(description2, { format: this.format(colored), paragraphs: false }); - result += `${example.replace(/^/m, ` ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)} -`; - } - } - } - } - return result; - } - error(error, _a) { - var _b; - var { colored, command = (_b = error[errorCommandSymbol]) !== null && _b !== void 0 ? _b : null } = _a === void 0 ? {} : _a; - if (!(error instanceof Error)) - error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`); - let result = ``; - let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`); - if (name === `Error`) - name = `Internal Error`; - result += `${this.format(colored).error(name)}: ${error.message} -`; - const meta = error.clipanion; - if (typeof meta !== `undefined`) { - if (meta.type === `usage`) { - result += ` -`; - result += this.usage(command); - } - } else { - if (error.stack) { - result += `${error.stack.replace(/^.*\n/, ``)} -`; - } - } - return result; - } - getUsageByRegistration(klass, opts) { - const record = this.registrations.get(klass); - if (typeof record === `undefined`) - throw new Error(`Assertion failed: Unregistered command`); - return this.getUsageByIndex(record.index, opts); - } - getUsageByIndex(n, opts) { - return this.builder.getBuilderByIndex(n).usage(opts); - } - format(colored = this.enableColors) { - return colored ? richFormat : textFormat; - } -}; -Cli.defaultContext = { - stdin: process.stdin, - stdout: process.stdout, - stderr: process.stderr -}; -var gContextStorage; -function getCaptureActivator(context) { - let contextStorage = gContextStorage; - if (typeof contextStorage === `undefined`) { - if (context.stdout === process.stdout && context.stderr === process.stderr) - return noopCaptureActivator; - const { AsyncLocalStorage: LazyAsyncLocalStorage } = require("async_hooks"); - contextStorage = gContextStorage = new LazyAsyncLocalStorage(); - const origStdoutWrite = process.stdout._write; - process.stdout._write = function(chunk, encoding, cb) { - const context2 = contextStorage.getStore(); - if (typeof context2 === `undefined`) - return origStdoutWrite.call(this, chunk, encoding, cb); - return context2.stdout.write(chunk, encoding, cb); - }; - const origStderrWrite = process.stderr._write; - process.stderr._write = function(chunk, encoding, cb) { - const context2 = contextStorage.getStore(); - if (typeof context2 === `undefined`) - return origStderrWrite.call(this, chunk, encoding, cb); - return context2.stderr.write(chunk, encoding, cb); - }; - } - return (fn2) => { - return contextStorage.run(context, fn2); - }; -} -function noopCaptureActivator(fn2) { - return fn2(); -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/builtins/index.mjs -var builtins_exports = {}; -__export(builtins_exports, { - DefinitionsCommand: () => DefinitionsCommand, - HelpCommand: () => HelpCommand2, - VersionCommand: () => VersionCommand -}); - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/builtins/definitions.mjs -var DefinitionsCommand = class extends Command { - async execute() { - this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)} -`); - } -}; -DefinitionsCommand.paths = [[`--clipanion=definitions`]]; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/builtins/help.mjs -var HelpCommand2 = class extends Command { - async execute() { - this.context.stdout.write(this.cli.usage()); - } -}; -HelpCommand2.paths = [[`-h`], [`--help`]]; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/builtins/version.mjs -var VersionCommand = class extends Command { - async execute() { - var _a; - this.context.stdout.write(`${(_a = this.cli.binaryVersion) !== null && _a !== void 0 ? _a : ``} -`); - } -}; -VersionCommand.paths = [[`-v`], [`--version`]]; - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/index.mjs -var options_exports = {}; -__export(options_exports, { - Array: () => Array2, - Boolean: () => Boolean2, - Counter: () => Counter, - Proxy: () => Proxy2, - Rest: () => Rest, - String: () => String2, - applyValidator: () => applyValidator, - cleanValidationError: () => cleanValidationError, - formatError: () => formatError, - isOptionSymbol: () => isOptionSymbol, - makeCommandOption: () => makeCommandOption, - rerouteArguments: () => rerouteArguments -}); - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/Array.mjs -function Array2(descriptor, initialValueBase, optsBase) { - const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); - const { arity = 1 } = opts; - const optNames = descriptor.split(`,`); - const nameSet = new Set(optNames); - return makeCommandOption({ - definition(builder) { - builder.addOption({ - names: optNames, - arity, - hidden: opts === null || opts === void 0 ? void 0 : opts.hidden, - description: opts === null || opts === void 0 ? void 0 : opts.description, - required: opts.required - }); - }, - transformer(builder, key, state) { - let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0; - for (const { name, value } of state.options) { - if (!nameSet.has(name)) - continue; - currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : []; - currentValue.push(value); - } - return currentValue; - } - }); -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/Boolean.mjs -function Boolean2(descriptor, initialValueBase, optsBase) { - const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); - const optNames = descriptor.split(`,`); - const nameSet = new Set(optNames); - return makeCommandOption({ - definition(builder) { - builder.addOption({ - names: optNames, - allowBinding: false, - arity: 0, - hidden: opts.hidden, - description: opts.description, - required: opts.required - }); - }, - transformer(builer, key, state) { - let currentValue = initialValue; - for (const { name, value } of state.options) { - if (!nameSet.has(name)) - continue; - currentValue = value; - } - return currentValue; - } - }); -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/Counter.mjs -function Counter(descriptor, initialValueBase, optsBase) { - const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); - const optNames = descriptor.split(`,`); - const nameSet = new Set(optNames); - return makeCommandOption({ - definition(builder) { - builder.addOption({ - names: optNames, - allowBinding: false, - arity: 0, - hidden: opts.hidden, - description: opts.description, - required: opts.required - }); - }, - transformer(builder, key, state) { - let currentValue = initialValue; - for (const { name, value } of state.options) { - if (!nameSet.has(name)) - continue; - currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0; - if (!value) { - currentValue = 0; - } else { - currentValue += 1; - } - } - return currentValue; - } - }); -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/Proxy.mjs -function Proxy2(opts = {}) { - return makeCommandOption({ - definition(builder, key) { - var _a; - builder.addProxy({ - name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, - required: opts.required - }); - }, - transformer(builder, key, state) { - return state.positionals.map(({ value }) => value); - } - }); -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/Rest.mjs -function Rest(opts = {}) { - return makeCommandOption({ - definition(builder, key) { - var _a; - builder.addRest({ - name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, - required: opts.required - }); - }, - transformer(builder, key, state) { - const isRestPositional = (index) => { - const positional = state.positionals[index]; - if (positional.extra === NoLimits) - return true; - if (positional.extra === false && index < builder.arity.leading.length) - return true; - return false; - }; - let count = 0; - while (count < state.positionals.length && isRestPositional(count)) - count += 1; - return state.positionals.splice(0, count).map(({ value }) => value); - } - }); -} - -// .yarn/__virtual__/clipanion-virtual-72ec1bc418/0/cache/clipanion-npm-3.1.0-ced87dbbea-4afefd4a7a.zip/node_modules/clipanion/lib/advanced/options/String.mjs -function StringOption(descriptor, initialValueBase, optsBase) { - const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); - const { arity = 1 } = opts; - const optNames = descriptor.split(`,`); - const nameSet = new Set(optNames); - return makeCommandOption({ - definition(builder) { - builder.addOption({ - names: optNames, - arity: opts.tolerateBoolean ? 0 : arity, - hidden: opts.hidden, - description: opts.description, - required: opts.required - }); - }, - transformer(builder, key, state) { - let usedName; - let currentValue = initialValue; - for (const { name, value } of state.options) { - if (!nameSet.has(name)) - continue; - usedName = name; - currentValue = value; - } - if (typeof currentValue === `string`) { - return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator); - } else { - return currentValue; - } - } - }); -} -function StringPositional(opts = {}) { - const { required = true } = opts; - return makeCommandOption({ - definition(builder, key) { - var _a; - builder.addPositional({ - name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, - required: opts.required - }); - }, - transformer(builder, key, state) { - var _a; - for (let i = 0; i < state.positionals.length; ++i) { - if (state.positionals[i].extra === NoLimits) - continue; - if (required && state.positionals[i].extra === true) - continue; - if (!required && state.positionals[i].extra === false) - continue; - const [positional] = state.positionals.splice(i, 1); - return applyValidator((_a = opts.name) !== null && _a !== void 0 ? _a : key, positional.value, opts.validator); - } - return void 0; - } - }); -} -function String2(descriptor, ...args) { - if (typeof descriptor === `string`) { - return StringOption(descriptor, ...args); - } else { - return StringPositional(descriptor); - } -} - -// package.json -var version = "0.17.2"; - -// sources/Engine.ts -var import_fs3 = __toESM(require("fs")); -var import_path4 = __toESM(require("path")); -var import_process2 = __toESM(require("process")); -var import_semver3 = __toESM(require_semver2()); - -// config.json -var config_default = { - definitions: { - npm: { - default: "9.6.4+sha1.ff4798c9778badac2fae83078ead9a88680978c2", - fetchLatestFrom: { - type: "npm", - package: "npm" - }, - transparent: { - commands: [ - [ - "npm", - "init" - ], - [ - "npx" - ] - ] - }, - ranges: { - "*": { - url: "https://registry.npmjs.org/npm/-/npm-{}.tgz", - bin: { - npm: "./bin/npm-cli.js", - npx: "./bin/npx-cli.js" - }, - registry: { - type: "npm", - package: "npm" - } - } - } - }, - pnpm: { - default: "7.31.0+sha1.ad35cb3e7d298041e54c98924ed3b65e7475b7ce", - fetchLatestFrom: { - type: "npm", - package: "pnpm" - }, - transparent: { - commands: [ - [ - "pnpm", - "init" - ], - [ - "pnpx" - ], - [ - "pnpm", - "dlx" - ] - ] - }, - ranges: { - "<6.0.0": { - url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz", - bin: { - pnpm: "./bin/pnpm.js", - pnpx: "./bin/pnpx.js" - }, - registry: { - type: "npm", - package: "pnpm" - } - }, - ">=6.0.0": { - url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz", - bin: { - pnpm: "./bin/pnpm.cjs", - pnpx: "./bin/pnpx.cjs" - }, - registry: { - type: "npm", - package: "pnpm" - } - } - } - }, - yarn: { - default: "1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447", - fetchLatestFrom: { - type: "npm", - package: "yarn" - }, - transparent: { - default: "3.5.0+sha224.8f42459cf3e9d5e6b89b7f432466d6b4017c6d948798ba16725e047f", - commands: [ - [ - "yarn", - "dlx" - ] - ] - }, - ranges: { - "<2.0.0": { - url: "https://registry.yarnpkg.com/yarn/-/yarn-{}.tgz", - bin: { - yarn: "./bin/yarn.js", - yarnpkg: "./bin/yarn.js" - }, - registry: { - type: "npm", - package: "yarn" - } - }, - ">=2.0.0": { - name: "yarn", - url: "https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js", - bin: [ - "yarn", - "yarnpkg" - ], - registry: { - type: "url", - url: "https://repo.yarnpkg.com/tags", - fields: { - tags: "latest", - versions: "tags" - } - } - } - } - } - } -}; - -// sources/corepackUtils.ts -var import_crypto = require("crypto"); -var import_events = require("events"); -var import_fs2 = __toESM(require("fs")); -var import_path3 = __toESM(require("path")); -var import_semver = __toESM(require_semver2()); - -// sources/debugUtils.ts -var import_debug = __toESM(require_src()); -var log = (0, import_debug.default)(`corepack`); - -// sources/folderUtils.ts -var import_fs = require("fs"); -var import_os = require("os"); -var import_path = require("path"); -var import_process = __toESM(require("process")); -function getInstallFolder() { - if (import_process.default.env.COREPACK_HOME == null) { - const oldCorepackDefaultHome = (0, import_path.join)((0, import_os.homedir)(), `.node`, `corepack`); - const newCorepackDefaultHome = (0, import_path.join)( - import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)( - (0, import_os.homedir)(), - import_process.default.platform === `win32` ? `AppData/Local` : `.cache` - ), - `node/corepack` - ); - if ((0, import_fs.existsSync)(oldCorepackDefaultHome) && !(0, import_fs.existsSync)(newCorepackDefaultHome)) { - (0, import_fs.mkdirSync)(newCorepackDefaultHome, { recursive: true }); - (0, import_fs.renameSync)(oldCorepackDefaultHome, newCorepackDefaultHome); - } - return newCorepackDefaultHome; - } - return import_process.default.env.COREPACK_HOME ?? (0, import_path.join)( - import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)((0, import_os.homedir)(), import_process.default.platform === `win32` ? `AppData/Local` : `.cache`), - `node/corepack` - ); -} -function getTemporaryFolder(target = (0, import_os.tmpdir)()) { - (0, import_fs.mkdirSync)(target, { recursive: true }); - while (true) { - const rnd = Math.random() * 4294967296; - const hex = rnd.toString(16).padStart(8, `0`); - const path9 = (0, import_path.join)(target, `corepack-${import_process.default.pid}-${hex}`); - try { - (0, import_fs.mkdirSync)(path9); - return path9; - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - } -} - -// sources/fsUtils.ts -var import_promises = require("fs/promises"); -async function rimraf(path9) { - return (0, import_promises.rm)(path9, { recursive: true, force: true }); -} - -// sources/httpUtils.ts -async function fetchUrlStream(url, options = {}) { - if (process.env.COREPACK_ENABLE_NETWORK === `0`) - throw new UsageError(`Network access disabled by the environment; can't reach ${url}`); - const { default: https } = await import("https"); - const { default: ProxyAgent } = await Promise.resolve().then(() => __toESM(require_proxy_agent())); - const proxyAgent = new ProxyAgent(); - return new Promise((resolve, reject) => { - const request = https.get(url, { ...options, agent: proxyAgent }, (response) => { - const statusCode = response.statusCode ?? 500; - if (!(statusCode >= 200 && statusCode < 300)) - return reject(new Error(`Server answered with HTTP ${statusCode}`)); - return resolve(response); - }); - request.on(`error`, (err) => { - reject(new Error(`Error when performing the request`)); - }); - }); -} -async function fetchAsBuffer(url, options) { - const response = await fetchUrlStream(url, options); - return new Promise((resolve, reject) => { - const chunks = []; - response.on(`data`, (chunk) => { - chunks.push(chunk); - }); - response.on(`error`, (error) => { - reject(error); - }); - response.on(`end`, () => { - resolve(Buffer.concat(chunks)); - }); - }); -} -async function fetchAsJson(url, options) { - const buffer = await fetchAsBuffer(url, options); - const asText = buffer.toString(); - try { - return JSON.parse(asText); - } catch (error) { - const truncated = asText.length > 30 ? `${asText.slice(0, 30)}...` : asText; - throw new Error(`Couldn't parse JSON data: ${JSON.stringify(truncated)}`); - } -} - -// sources/nodeUtils.ts -var import_module = __toESM(require("module")); -var import_path2 = __toESM(require("path")); -function loadMainModule(id) { - const modulePath = import_module.default._resolveFilename(id, null, true); - const module2 = new import_module.default(modulePath, void 0); - module2.filename = modulePath; - module2.paths = import_module.default._nodeModulePaths(import_path2.default.dirname(modulePath)); - import_module.default._cache[modulePath] = module2; - process.mainModule = module2; - module2.id = `.`; - try { - return module2.load(modulePath); - } catch (error) { - delete import_module.default._cache[modulePath]; - throw error; - } -} - -// sources/npmRegistryUtils.ts -var DEFAULT_HEADERS = { - [`Accept`]: `application/vnd.npm.install-v1+json` -}; -var DEFAULT_NPM_REGISTRY_URL = `https://registry.npmjs.org`; -async function fetchAsJson2(packageName) { - const npmRegistryUrl = process.env.COREPACK_NPM_REGISTRY || DEFAULT_NPM_REGISTRY_URL; - if (process.env.COREPACK_ENABLE_NETWORK === `0`) - throw new UsageError(`Network access disabled by the environment; can't reach npm repository ${npmRegistryUrl}`); - const headers = { ...DEFAULT_HEADERS }; - if (`COREPACK_NPM_TOKEN` in process.env) { - headers.authorization = `Bearer ${process.env.COREPACK_NPM_TOKEN}`; - } else if (`COREPACK_NPM_USERNAME` in process.env && `COREPACK_NPM_PASSWORD` in process.env) { - const encodedCreds = Buffer.from(`${process.env.COREPACK_NPM_USERNAME}:${process.env.COREPACK_NPM_PASSWORD}`, `utf8`).toString(`base64`); - headers.authorization = `Basic ${encodedCreds}`; - } - return fetchAsJson(`${npmRegistryUrl}/${packageName}`, { headers }); -} -async function fetchLatestStableVersion(packageName) { - const metadata = await fetchAsJson2(packageName); - const { latest } = metadata[`dist-tags`]; - if (latest === void 0) - throw new Error(`${packageName} does not have a "latest" tag.`); - const { shasum } = metadata.versions[latest].dist; - return `${latest}+sha1.${shasum}`; -} -async function fetchAvailableTags(packageName) { - const metadata = await fetchAsJson2(packageName); - return metadata[`dist-tags`]; -} -async function fetchAvailableVersions(packageName) { - const metadata = await fetchAsJson2(packageName); - return Object.keys(metadata.versions); -} - -// sources/corepackUtils.ts -async function fetchLatestStableVersion2(spec) { - switch (spec.type) { - case `npm`: { - return await fetchLatestStableVersion(spec.package); - } - case `url`: { - const data = await fetchAsJson(spec.url); - return data[spec.fields.tags].stable; - } - default: { - throw new Error(`Unsupported specification ${JSON.stringify(spec)}`); - } - } -} -async function fetchAvailableTags2(spec) { - switch (spec.type) { - case `npm`: { - return await fetchAvailableTags(spec.package); - } - case `url`: { - const data = await fetchAsJson(spec.url); - return data[spec.fields.tags]; - } - default: { - throw new Error(`Unsupported specification ${JSON.stringify(spec)}`); - } - } -} -async function fetchAvailableVersions2(spec) { - switch (spec.type) { - case `npm`: { - return await fetchAvailableVersions(spec.package); - } - case `url`: { - const data = await fetchAsJson(spec.url); - const field = data[spec.fields.versions]; - return Array.isArray(field) ? field : Object.keys(field); - } - default: { - throw new Error(`Unsupported specification ${JSON.stringify(spec)}`); - } - } -} -async function findInstalledVersion(installTarget, descriptor) { - const installFolder = import_path3.default.join(installTarget, descriptor.name); - let cacheDirectory; - try { - cacheDirectory = await import_fs2.default.promises.opendir(installFolder); - } catch (error) { - if (error.code === `ENOENT`) { - return null; - } else { - throw error; - } - } - const range = new import_semver.default.Range(descriptor.range); - let bestMatch = null; - let maxSV = void 0; - for await (const { name } of cacheDirectory) { - if (name.startsWith(`.`)) - continue; - if (range.test(name) && (maxSV == null ? void 0 : maxSV.compare(name)) !== 1) { - bestMatch = name; - maxSV = new import_semver.default.SemVer(bestMatch); - } - } - return bestMatch; -} -async function installVersion(installTarget, locator, { spec }) { - const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar())); - const { version: version2, build } = import_semver.default.parse(locator.reference); - const installFolder = import_path3.default.join(installTarget, locator.name, version2); - if (import_fs2.default.existsSync(installFolder)) { - log(`Reusing ${locator.name}@${locator.reference}`); - return installFolder; - } - const defaultNpmRegistryURL = spec.url.replace(`{}`, version2); - const url = process.env.COREPACK_NPM_REGISTRY ? defaultNpmRegistryURL.replace( - DEFAULT_NPM_REGISTRY_URL, - () => process.env.COREPACK_NPM_REGISTRY - ) : defaultNpmRegistryURL; - const tmpFolder = getTemporaryFolder(installTarget); - log(`Installing ${locator.name}@${version2} from ${url} to ${tmpFolder}`); - const stream = await fetchUrlStream(url); - const parsedUrl = new URL(url); - const ext = import_path3.default.posix.extname(parsedUrl.pathname); - let outputFile = null; - let sendTo; - if (ext === `.tgz`) { - sendTo = tar.x({ strip: 1, cwd: tmpFolder }); - } else if (ext === `.js`) { - outputFile = import_path3.default.join(tmpFolder, import_path3.default.posix.basename(parsedUrl.pathname)); - sendTo = import_fs2.default.createWriteStream(outputFile); - } - stream.pipe(sendTo); - const hash = build[0] ? stream.pipe((0, import_crypto.createHash)(build[0])) : null; - await (0, import_events.once)(sendTo, `finish`); - const actualHash = hash == null ? void 0 : hash.digest(`hex`); - if (actualHash !== build[1]) - throw new Error(`Mismatch hashes. Expected ${build[1]}, got ${actualHash}`); - await import_fs2.default.promises.mkdir(import_path3.default.dirname(installFolder), { recursive: true }); - try { - await import_fs2.default.promises.rename(tmpFolder, installFolder); - } catch (err) { - if (err.code === `ENOTEMPTY` || err.code === `EPERM` && (await import_fs2.default.promises.stat(installFolder)).isDirectory()) { - log(`Another instance of corepack installed ${locator.name}@${locator.reference}`); - await rimraf(tmpFolder); - } else { - throw err; - } - } - log(`Install finished`); - return installFolder; -} -async function runVersion(installSpec, binName, args) { - let binPath = null; - if (Array.isArray(installSpec.spec.bin)) { - if (installSpec.spec.bin.some((bin) => bin === binName)) { - const parsedUrl = new URL(installSpec.spec.url); - const ext = import_path3.default.posix.extname(parsedUrl.pathname); - if (ext === `.js`) { - binPath = import_path3.default.join(installSpec.location, import_path3.default.posix.basename(parsedUrl.pathname)); - } - } - } else { - for (const [name, dest] of Object.entries(installSpec.spec.bin)) { - if (name === binName) { - binPath = import_path3.default.join(installSpec.location, dest); - break; - } - } - } - if (!binPath) - throw new Error(`Assertion failed: Unable to locate path for bin '${binName}'`); - await Promise.resolve().then(() => __toESM(require_v8_compile_cache())); - process.env.COREPACK_ROOT = import_path3.default.dirname(require.resolve("corepack/package.json")); - process.argv = [ - process.execPath, - binPath, - ...args - ]; - process.execArgv = []; - return loadMainModule(binPath); -} - -// sources/semverUtils.ts -var import_semver2 = __toESM(require_semver2()); -function satisfiesWithPrereleases(version2, range, loose = false) { - let semverRange; - try { - semverRange = new import_semver2.default.Range(range, loose); - } catch (err) { - return false; - } - if (!version2) - return false; - let semverVersion; - try { - semverVersion = new import_semver2.default.SemVer(version2, semverRange.loose); - if (semverVersion.prerelease) { - semverVersion.prerelease = []; - } - } catch (err) { - return false; - } - return semverRange.set.some((comparatorSet) => { - for (const comparator of comparatorSet) - if (comparator.semver.prerelease) - comparator.semver.prerelease = []; - return comparatorSet.every((comparator) => { - return comparator.test(semverVersion); - }); - }); -} - -// sources/types.ts -var SupportedPackageManagers = /* @__PURE__ */ ((SupportedPackageManagers3) => { - SupportedPackageManagers3["Npm"] = `npm`; - SupportedPackageManagers3["Pnpm"] = `pnpm`; - SupportedPackageManagers3["Yarn"] = `yarn`; - return SupportedPackageManagers3; -})(SupportedPackageManagers || {}); -var SupportedPackageManagerSet = new Set( - Object.values(SupportedPackageManagers) -); -var SupportedPackageManagerSetWithoutNpm = new Set( - Object.values(SupportedPackageManagers) -); -SupportedPackageManagerSetWithoutNpm.delete("npm" /* Npm */); -function isSupportedPackageManager(value) { - return SupportedPackageManagerSet.has(value); -} - -// sources/Engine.ts -var Engine = class { - constructor(config = config_default) { - this.config = config; - } - getPackageManagerFor(binaryName) { - for (const packageManager of SupportedPackageManagerSet) { - for (const rangeDefinition of Object.values(this.config.definitions[packageManager].ranges)) { - const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin); - if (bins.includes(binaryName)) { - return packageManager; - } - } - } - return null; - } - getBinariesFor(name) { - const binNames = /* @__PURE__ */ new Set(); - for (const rangeDefinition of Object.values(this.config.definitions[name].ranges)) { - const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin); - for (const name2 of bins) { - binNames.add(name2); - } - } - return binNames; - } - async getDefaultDescriptors() { - const locators = []; - for (const name of SupportedPackageManagerSet) - locators.push({ name, range: await this.getDefaultVersion(name) }); - return locators; - } - async getDefaultVersion(packageManager) { - const definition = this.config.definitions[packageManager]; - if (typeof definition === `undefined`) - throw new UsageError(`This package manager (${packageManager}) isn't supported by this corepack build`); - let lastKnownGood; - try { - lastKnownGood = JSON.parse(await import_fs3.default.promises.readFile(this.getLastKnownGoodFile(), `utf8`)); - } catch { - } - if (typeof lastKnownGood === `object` && lastKnownGood !== null && Object.prototype.hasOwnProperty.call(lastKnownGood, packageManager)) { - const override = lastKnownGood[packageManager]; - if (typeof override === `string`) { - return override; - } - } - if (import_process2.default.env.COREPACK_DEFAULT_TO_LATEST === `0`) - return definition.default; - const reference = await fetchLatestStableVersion2(definition.fetchLatestFrom); - await this.activatePackageManager({ - name: packageManager, - reference - }); - return reference; - } - async activatePackageManager(locator) { - const lastKnownGoodFile = this.getLastKnownGoodFile(); - let lastKnownGood; - try { - lastKnownGood = JSON.parse(await import_fs3.default.promises.readFile(lastKnownGoodFile, `utf8`)); - } catch { - } - if (typeof lastKnownGood !== `object` || lastKnownGood === null) - lastKnownGood = {}; - lastKnownGood[locator.name] = locator.reference; - await import_fs3.default.promises.mkdir(import_path4.default.dirname(lastKnownGoodFile), { recursive: true }); - await import_fs3.default.promises.writeFile(lastKnownGoodFile, `${JSON.stringify(lastKnownGood, null, 2)} -`); - } - async ensurePackageManager(locator) { - const definition = this.config.definitions[locator.name]; - if (typeof definition === `undefined`) - throw new UsageError(`This package manager (${locator.name}) isn't supported by this corepack build`); - const ranges = Object.keys(definition.ranges).reverse(); - const range = ranges.find((range2) => satisfiesWithPrereleases(locator.reference, range2)); - if (typeof range === `undefined`) - throw new Error(`Assertion failed: Specified resolution (${locator.reference}) isn't supported by any of ${ranges.join(`, `)}`); - const installedLocation = await installVersion(getInstallFolder(), locator, { - spec: definition.ranges[range] - }); - return { - location: installedLocation, - spec: definition.ranges[range] - }; - } - async resolveDescriptor(descriptor, { allowTags = false, useCache = true } = {}) { - const definition = this.config.definitions[descriptor.name]; - if (typeof definition === `undefined`) - throw new UsageError(`This package manager (${descriptor.name}) isn't supported by this corepack build`); - let finalDescriptor = descriptor; - if (!import_semver3.default.valid(descriptor.range) && !import_semver3.default.validRange(descriptor.range)) { - if (!allowTags) - throw new UsageError(`Packages managers can't be referended via tags in this context`); - const ranges = Object.keys(definition.ranges); - const tagRange = ranges[ranges.length - 1]; - const tags = await fetchAvailableTags2(definition.ranges[tagRange].registry); - if (!Object.prototype.hasOwnProperty.call(tags, descriptor.range)) - throw new UsageError(`Tag not found (${descriptor.range})`); - finalDescriptor = { - name: descriptor.name, - range: tags[descriptor.range] - }; - } - const cachedVersion = await findInstalledVersion(getInstallFolder(), finalDescriptor); - if (cachedVersion !== null && useCache) - return { name: finalDescriptor.name, reference: cachedVersion }; - if (import_semver3.default.valid(finalDescriptor.range)) - return { name: finalDescriptor.name, reference: finalDescriptor.range }; - const candidateRangeDefinitions = Object.keys(definition.ranges).filter((range) => { - return satisfiesWithPrereleases(finalDescriptor.range, range); - }); - const tagResolutions = await Promise.all(candidateRangeDefinitions.map(async (range) => { - return [range, await fetchAvailableVersions2(definition.ranges[range].registry)]; - })); - const resolutionMap = /* @__PURE__ */ new Map(); - for (const [range, resolutions] of tagResolutions) - for (const entry of resolutions) - resolutionMap.set(entry, range); - const candidates = [...resolutionMap.keys()]; - const maxSatisfying = import_semver3.default.maxSatisfying(candidates, finalDescriptor.range); - if (maxSatisfying === null) - return null; - return { name: finalDescriptor.name, reference: maxSatisfying }; - } - getLastKnownGoodFile() { - return import_path4.default.join(getInstallFolder(), `lastKnownGood.json`); - } -}; - -// sources/commands/Disable.ts -var import_fs4 = __toESM(require("fs")); -var import_path5 = __toESM(require("path")); -var import_which = __toESM(require_which()); -var DisableCommand = class extends Command { - constructor() { - super(...arguments); - this.installDirectory = options_exports.String(`--install-directory`, { - description: `Where the shims are located` - }); - this.names = options_exports.Rest(); - } - async execute() { - let installDirectory = this.installDirectory; - if (typeof installDirectory === `undefined`) - installDirectory = import_path5.default.dirname(await (0, import_which.default)(`corepack`)); - const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names; - for (const name of new Set(names)) { - if (!isSupportedPackageManager(name)) - throw new UsageError(`Invalid package manager name '${name}'`); - for (const binName of this.context.engine.getBinariesFor(name)) { - if (process.platform === `win32`) { - await this.removeWin32Link(installDirectory, binName); - } else { - await this.removePosixLink(installDirectory, binName); - } - } - } - } - async removePosixLink(installDirectory, binName) { - const file = import_path5.default.join(installDirectory, binName); - try { - await import_fs4.default.promises.unlink(file); - } catch (err) { - if (err.code !== `ENOENT`) { - throw err; - } - } - } - async removeWin32Link(installDirectory, binName) { - for (const ext of [``, `.ps1`, `.cmd`]) { - const file = import_path5.default.join(installDirectory, `${binName}${ext}`); - try { - await import_fs4.default.promises.unlink(file); - } catch (err) { - if (err.code !== `ENOENT`) { - throw err; - } - } - } - } -}; -DisableCommand.paths = [ - [`disable`] -]; -DisableCommand.usage = Command.Usage({ - description: `Remove the Corepack shims from the install directory`, - details: ` - When run, this command will remove the shims for the specified package managers from the install directory, or all shims if no parameters are passed. - - By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag. - `, - examples: [[ - `Disable all shims, removing them if they're next to the \`coreshim\` binary`, - `$0 disable` - ], [ - `Disable all shims, removing them from the specified directory`, - `$0 disable --install-directory /path/to/bin` - ], [ - `Disable the Yarn shim only`, - `$0 disable yarn` - ]] -}); - -// sources/commands/Enable.ts -var import_cmd_shim = __toESM(require_cmd_shim()); -var import_fs5 = __toESM(require("fs")); -var import_path6 = __toESM(require("path")); -var import_which2 = __toESM(require_which()); -var EnableCommand = class extends Command { - constructor() { - super(...arguments); - this.installDirectory = options_exports.String(`--install-directory`, { - description: `Where the shims are to be installed` - }); - this.names = options_exports.Rest(); - } - async execute() { - let installDirectory = this.installDirectory; - if (typeof installDirectory === `undefined`) - installDirectory = import_path6.default.dirname(await (0, import_which2.default)(`corepack`)); - installDirectory = import_fs5.default.realpathSync(installDirectory); - const manifestPath = require.resolve("corepack/package.json"); - const distFolder = import_path6.default.join(import_path6.default.dirname(manifestPath), `dist`); - if (!import_fs5.default.existsSync(distFolder)) - throw new Error(`Assertion failed: The stub folder doesn't exist`); - const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names; - for (const name of new Set(names)) { - if (!isSupportedPackageManager(name)) - throw new UsageError(`Invalid package manager name '${name}'`); - for (const binName of this.context.engine.getBinariesFor(name)) { - if (process.platform === `win32`) { - await this.generateWin32Link(installDirectory, distFolder, binName); - } else { - await this.generatePosixLink(installDirectory, distFolder, binName); - } - } - } - } - async generatePosixLink(installDirectory, distFolder, binName) { - const file = import_path6.default.join(installDirectory, binName); - const symlink = import_path6.default.relative(installDirectory, import_path6.default.join(distFolder, `${binName}.js`)); - if (import_fs5.default.existsSync(file)) { - const currentSymlink = await import_fs5.default.promises.readlink(file); - if (currentSymlink !== symlink) { - await import_fs5.default.promises.unlink(file); - } else { - return; - } - } - await import_fs5.default.promises.symlink(symlink, file); - } - async generateWin32Link(installDirectory, distFolder, binName) { - const file = import_path6.default.join(installDirectory, binName); - await (0, import_cmd_shim.default)(import_path6.default.join(distFolder, `${binName}.js`), file, { - createCmdFile: true - }); - } -}; -EnableCommand.paths = [ - [`enable`] -]; -EnableCommand.usage = Command.Usage({ - description: `Add the Corepack shims to the install directories`, - details: ` - When run, this commmand will check whether the shims for the specified package managers can be found with the correct values inside the install directory. If not, or if they don't exist, they will be created. - - By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag. - `, - examples: [[ - `Enable all shims, putting them next to the \`corepack\` binary`, - `$0 enable` - ], [ - `Enable all shims, putting them in the specified directory`, - `$0 enable --install-directory /path/to/folder` - ], [ - `Enable the Yarn shim only`, - `$0 enable yarn` - ]] -}); - -// sources/commands/Hydrate.ts -var import_promises2 = require("fs/promises"); -var import_path7 = __toESM(require("path")); -var HydrateCommand = class extends Command { - constructor() { - super(...arguments); - this.activate = options_exports.Boolean(`--activate`, false, { - description: `If true, this release will become the default one for this package manager` - }); - this.fileName = options_exports.String(); - } - async execute() { - const installFolder = getInstallFolder(); - const fileName = import_path7.default.resolve(this.context.cwd, this.fileName); - const archiveEntries = /* @__PURE__ */ new Map(); - let hasShortEntries = false; - const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar())); - await tar.t({ file: fileName, onentry: (entry) => { - const segments = entry.header.path.split(/\//g); - if (segments.length < 3) { - hasShortEntries = true; - } else { - let references = archiveEntries.get(segments[0]); - if (typeof references === `undefined`) - archiveEntries.set(segments[0], references = /* @__PURE__ */ new Set()); - references.add(segments[1]); - } - } }); - if (hasShortEntries || archiveEntries.size < 1) - throw new UsageError(`Invalid archive format; did it get generated by 'corepack prepare'?`); - for (const [name, references] of archiveEntries) { - for (const reference of references) { - if (!isSupportedPackageManager(name)) - throw new UsageError(`Unsupported package manager '${name}'`); - if (this.activate) - this.context.stdout.write(`Hydrating ${name}@${reference} for immediate activation... -`); - else - this.context.stdout.write(`Hydrating ${name}@${reference}... -`); - await (0, import_promises2.mkdir)(installFolder, { recursive: true }); - await tar.x({ file: fileName, cwd: installFolder }, [`${name}/${reference}`]); - if (this.activate) { - await this.context.engine.activatePackageManager({ name, reference }); - } - } - } - this.context.stdout.write(`All done! -`); - } -}; -HydrateCommand.paths = [ - [`hydrate`] -]; -HydrateCommand.usage = Command.Usage({ - description: `Import a package manager into the cache`, - details: ` - This command unpacks a package manager archive into the cache. The archive must have been generated by the \`corepack prepare\` command - no other will work. - `, - examples: [[ - `Import a package manager in the cache`, - `$0 hydrate corepack.tgz` - ]] -}); - -// sources/commands/Prepare.ts -var import_promises3 = require("fs/promises"); -var import_path9 = __toESM(require("path")); - -// sources/specUtils.ts -var import_fs6 = __toESM(require("fs")); -var import_path8 = __toESM(require("path")); -var import_semver4 = __toESM(require_semver2()); -var nodeModulesRegExp = /[\\/]node_modules[\\/](@[^\\/]*[\\/])?([^@\\/][^\\/]*)$/; -function parseSpec(raw, source, { enforceExactVersion = true } = {}) { - if (typeof raw !== `string`) - throw new UsageError(`Invalid package manager specification in ${source}; expected a string`); - const match = raw.match(/^(?!_)(.+)@(.+)$/); - if (match === null || enforceExactVersion && !import_semver4.default.valid(match[2])) - throw new UsageError(`Invalid package manager specification in ${source}; expected a semver version${enforceExactVersion ? `` : `, range, or tag`}`); - if (!isSupportedPackageManager(match[1])) - throw new UsageError(`Unsupported package manager specification (${match})`); - return { - name: match[1], - range: match[2] - }; -} -async function findProjectSpec(initialCwd, locator, { transparent = false } = {}) { - const fallbackLocator = { name: locator.name, range: locator.reference }; - if (process.env.COREPACK_ENABLE_PROJECT_SPEC === `0`) - return fallbackLocator; - if (process.env.COREPACK_ENABLE_STRICT === `0`) - transparent = true; - while (true) { - const result = await loadSpec(initialCwd); - switch (result.type) { - case `NoProject`: - case `NoSpec`: - { - return fallbackLocator; - } - break; - case `Found`: - { - if (result.spec.name !== locator.name) { - if (transparent) { - return fallbackLocator; - } else { - throw new UsageError(`This project is configured to use ${result.spec.name}`); - } - } else { - return result.spec; - } - } - break; - } - } -} -async function loadSpec(initialCwd) { - let nextCwd = initialCwd; - let currCwd = ``; - let selection = null; - while (nextCwd !== currCwd && (!selection || !selection.data.packageManager)) { - currCwd = nextCwd; - nextCwd = import_path8.default.dirname(currCwd); - if (nodeModulesRegExp.test(currCwd)) - continue; - const manifestPath = import_path8.default.join(currCwd, `package.json`); - if (!import_fs6.default.existsSync(manifestPath)) - continue; - const content = await import_fs6.default.promises.readFile(manifestPath, `utf8`); - let data; - try { - data = JSON.parse(content); - } catch { - } - if (typeof data !== `object` || data === null) - throw new UsageError(`Invalid package.json in ${import_path8.default.relative(initialCwd, manifestPath)}`); - selection = { data, manifestPath }; - } - if (selection === null) - return { type: `NoProject`, target: import_path8.default.join(initialCwd, `package.json`) }; - const rawPmSpec = selection.data.packageManager; - if (typeof rawPmSpec === `undefined`) - return { type: `NoSpec`, target: selection.manifestPath }; - return { - type: `Found`, - spec: parseSpec(rawPmSpec, import_path8.default.relative(initialCwd, selection.manifestPath)) - }; -} - -// sources/commands/Prepare.ts -var PrepareCommand = class extends Command { - constructor() { - super(...arguments); - this.activate = options_exports.Boolean(`--activate`, false, { - description: `If true, this release will become the default one for this package manager` - }); - this.all = options_exports.Boolean(`--all`, false, { - description: `If true, all available default package managers will be installed` - }); - this.json = options_exports.Boolean(`--json`, false, { - description: `If true, the output will be the path of the generated tarball` - }); - this.output = options_exports.String(`-o,--output`, { - description: `If true, the installed package managers will also be stored in a tarball`, - tolerateBoolean: true - }); - this.specs = options_exports.Rest(); - } - async execute() { - if (this.all && this.specs.length > 0) - throw new UsageError(`The --all option cannot be used along with an explicit package manager specification`); - const specs = this.all ? await this.context.engine.getDefaultDescriptors() : this.specs; - const installLocations = []; - if (specs.length === 0) { - const lookup = await loadSpec(this.context.cwd); - switch (lookup.type) { - case `NoProject`: - throw new UsageError(`Couldn't find a project in the local directory - please explicit the package manager to pack, or run this command from a valid project`); - case `NoSpec`: - throw new UsageError(`The local project doesn't feature a 'packageManager' field - please explicit the package manager to pack, or update the manifest to reference it`); - default: { - specs.push(lookup.spec); - } - } - } - for (const request of specs) { - const spec = typeof request === `string` ? parseSpec(request, `CLI arguments`, { enforceExactVersion: false }) : request; - const resolved = await this.context.engine.resolveDescriptor(spec, { allowTags: true }); - if (resolved === null) - throw new UsageError(`Failed to successfully resolve '${spec.range}' to a valid ${spec.name} release`); - if (!this.json) { - if (this.activate) { - this.context.stdout.write(`Preparing ${spec.name}@${spec.range} for immediate activation... -`); - } else { - this.context.stdout.write(`Preparing ${spec.name}@${spec.range}... -`); - } - } - const installSpec = await this.context.engine.ensurePackageManager(resolved); - installLocations.push(installSpec.location); - if (this.activate) { - await this.context.engine.activatePackageManager(resolved); - } - } - if (this.output) { - const outputName = typeof this.output === `string` ? this.output : `corepack.tgz`; - const baseInstallFolder = getInstallFolder(); - const outputPath = import_path9.default.resolve(this.context.cwd, outputName); - if (!this.json) - this.context.stdout.write(`Packing the selected tools in ${import_path9.default.basename(outputPath)}... -`); - const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar())); - await (0, import_promises3.mkdir)(baseInstallFolder, { recursive: true }); - await tar.c({ gzip: true, cwd: baseInstallFolder, file: import_path9.default.resolve(outputPath) }, installLocations.map((location) => { - return import_path9.default.relative(baseInstallFolder, location); - })); - if (this.json) { - this.context.stdout.write(`${JSON.stringify(outputPath)} -`); - } else { - this.context.stdout.write(`All done! -`); - } - } - } -}; -PrepareCommand.paths = [ - [`prepare`] -]; -PrepareCommand.usage = Command.Usage({ - description: `Generate a package manager archive`, - details: ` - This command makes sure that the specified package managers are installed in the local cache. Calling this command explicitly unless you operate in an environment without network access (in which case you'd have to call \`prepare\` while building your image, to make sure all tools are available for later use). - - When the \`-o,--output\` flag is set, Corepack will also compress the resulting package manager into a format suitable for \`corepack hydrate\`, and will store it at the specified location on the disk. - `, - examples: [[ - `Prepare the package manager from the active project`, - `$0 prepare` - ], [ - `Prepare a specific Yarn version`, - `$0 prepare yarn@2.2.2` - ], [ - `Prepare the latest available pnpm version`, - `$0 prepare pnpm@latest --activate` - ], [ - `Generate an archive for a specific Yarn version`, - `$0 prepare yarn@2.2.2 -o` - ], [ - `Generate a named archive`, - `$0 prepare yarn@2.2.2 --output=yarn.tgz` - ]] -}); - -// sources/miscUtils.ts -var Cancellation = class extends Error { - constructor() { - super(`Cancelled operation`); - } -}; - -// sources/main.ts -function getPackageManagerRequestFromCli(parameter, context) { - if (!parameter) - return null; - const match = parameter.match(/^([^@]*)(?:@(.*))?$/); - if (!match) - return null; - const [, binaryName, binaryVersion] = match; - const packageManager = context.engine.getPackageManagerFor(binaryName); - if (!packageManager) - return null; - return { - packageManager, - binaryName, - binaryVersion: binaryVersion || null - }; -} -async function executePackageManagerRequest({ packageManager, binaryName, binaryVersion }, args, context) { - const defaultVersion = await context.engine.getDefaultVersion(packageManager); - const definition = context.engine.config.definitions[packageManager]; - let isTransparentCommand = false; - for (const transparentPath of definition.transparent.commands) { - if (transparentPath[0] === binaryName && transparentPath.slice(1).every((segment, index) => segment === args[index])) { - isTransparentCommand = true; - break; - } - } - const fallbackReference = isTransparentCommand ? definition.transparent.default ?? defaultVersion : defaultVersion; - const fallbackLocator = { - name: packageManager, - reference: fallbackReference - }; - let descriptor; - try { - descriptor = await findProjectSpec(context.cwd, fallbackLocator, { transparent: isTransparentCommand }); - } catch (err) { - if (err instanceof Cancellation) { - return 1; - } else { - throw err; - } - } - if (binaryVersion) - descriptor.range = binaryVersion; - const resolved = await context.engine.resolveDescriptor(descriptor, { allowTags: true }); - if (resolved === null) - throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`); - const installSpec = await context.engine.ensurePackageManager(resolved); - return await runVersion(installSpec, binaryName, args); -} -async function main(argv) { - const context = { - ...Cli.defaultContext, - cwd: process.cwd(), - engine: new Engine() - }; - const [firstArg, ...restArgs] = argv; - const request = getPackageManagerRequestFromCli(firstArg, context); - let cli; - if (!request) { - cli = new Cli({ - binaryLabel: `Corepack`, - binaryName: `corepack`, - binaryVersion: version - }); - cli.register(builtins_exports.HelpCommand); - cli.register(builtins_exports.VersionCommand); - cli.register(EnableCommand); - cli.register(DisableCommand); - cli.register(HydrateCommand); - cli.register(PrepareCommand); - return await cli.run(argv, context); - } else { - const cli2 = new Cli({ - binaryLabel: `'${request.binaryName}', via Corepack`, - binaryName: request.binaryName, - binaryVersion: `corepack/${version}` - }); - cli2.register(class BinaryCommand extends Command { - constructor() { - super(...arguments); - this.proxy = options_exports.Proxy(); - } - async execute() { - return executePackageManagerRequest(request, this.proxy, this.context); - } - }); - return await cli2.run(restArgs, context); - } -} -function runMain(argv) { - main(argv).then((exitCode) => { - process.exitCode = exitCode; - }, (err) => { - console.error(err.stack); - process.exitCode = 1; - }); -} - -// sources/_entryPoint.ts -if (process.mainModule === module) - runMain(process.argv.slice(2)); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - runMain -}); -/*! Bundled license information: - -xregexp/xregexp-all.js: - (*! - * XRegExp v2.0.0 - * (c) 2007-2012 Steven Levithan - * MIT License - *) - (*! - * XRegExp Unicode Base v1.0.0 - * (c) 2008-2012 Steven Levithan - * MIT License - * Uses Unicode 6.1 - *) - (*! - * XRegExp Unicode Categories v1.2.0 - * (c) 2010-2012 Steven Levithan - * MIT License - * Uses Unicode 6.1 - *) - (*! - * XRegExp Unicode Scripts v1.2.0 - * (c) 2010-2012 Steven Levithan - * MIT License - * Uses Unicode 6.1 - *) - (*! - * XRegExp Unicode Blocks v1.2.0 - * (c) 2010-2012 Steven Levithan - * MIT License - * Uses Unicode 6.1 - *) - (*! - * XRegExp Unicode Properties v1.0.0 - * (c) 2012 Steven Levithan - * MIT License - * Uses Unicode 6.1 - *) - (*! - * XRegExp.matchRecursive v0.2.0 - * (c) 2009-2012 Steven Levithan - * MIT License - *) - (*! - * XRegExp.build v0.1.0 - * (c) 2012 Steven Levithan - * MIT License - * Inspired by RegExp.create by Lea Verou - *) - (*! - * XRegExp Prototype Methods v1.0.0 - * (c) 2012 Steven Levithan - * MIT License - *) - -bytes/index.js: - (*! - * bytes - * Copyright(c) 2012-2014 TJ Holowaychuk - * Copyright(c) 2015 Jed Watson - * MIT Licensed - *) - -depd/index.js: - (*! - * depd - * Copyright(c) 2014-2018 Douglas Christopher Wilson - * MIT Licensed - *) - -statuses/index.js: - (*! - * statuses - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - *) - -toidentifier/index.js: - (*! - * toidentifier - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - *) - -http-errors/index.js: - (*! - * http-errors - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2016 Douglas Christopher Wilson - * MIT Licensed - *) - -unpipe/index.js: - (*! - * unpipe - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - *) - -raw-body/index.js: - (*! - * raw-body - * Copyright(c) 2013-2014 Jonathan Ong - * Copyright(c) 2014-2022 Douglas Christopher Wilson - * MIT Licensed - *) - -is-windows/index.js: - (*! - * is-windows - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - *) -*/ +require('./lib/corepack.cjs').runMain(process.argv.slice(2)); \ No newline at end of file diff --git a/deps/corepack/dist/lib/corepack.cjs b/deps/corepack/dist/lib/corepack.cjs new file mode 100644 index 00000000000000..7a302d1ce1397a --- /dev/null +++ b/deps/corepack/dist/lib/corepack.cjs @@ -0,0 +1,39826 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn2, res) => function __init() { + return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// .yarn/cache/typanion-npm-3.12.1-788497c54f-492540c6ac.zip/node_modules/typanion/lib/index.mjs +var lib_exports = {}; +__export(lib_exports, { + KeyRelationship: () => KeyRelationship, + TypeAssertionError: () => TypeAssertionError, + applyCascade: () => applyCascade, + as: () => as, + assert: () => assert, + assertWithErrors: () => assertWithErrors, + cascade: () => cascade, + fn: () => fn, + hasAtLeastOneKey: () => hasAtLeastOneKey, + hasExactLength: () => hasExactLength, + hasForbiddenKeys: () => hasForbiddenKeys, + hasKeyRelationship: () => hasKeyRelationship, + hasMaxLength: () => hasMaxLength, + hasMinLength: () => hasMinLength, + hasMutuallyExclusiveKeys: () => hasMutuallyExclusiveKeys, + hasRequiredKeys: () => hasRequiredKeys, + hasUniqueItems: () => hasUniqueItems, + isArray: () => isArray, + isAtLeast: () => isAtLeast, + isAtMost: () => isAtMost, + isBase64: () => isBase64, + isBoolean: () => isBoolean, + isDate: () => isDate, + isDict: () => isDict, + isEnum: () => isEnum, + isHexColor: () => isHexColor, + isISO8601: () => isISO8601, + isInExclusiveRange: () => isInExclusiveRange, + isInInclusiveRange: () => isInInclusiveRange, + isInstanceOf: () => isInstanceOf, + isInteger: () => isInteger, + isJSON: () => isJSON, + isLiteral: () => isLiteral, + isLowerCase: () => isLowerCase, + isMap: () => isMap, + isNegative: () => isNegative, + isNullable: () => isNullable, + isNumber: () => isNumber, + isObject: () => isObject, + isOneOf: () => isOneOf, + isOptional: () => isOptional, + isPartial: () => isPartial, + isPositive: () => isPositive, + isRecord: () => isRecord, + isSet: () => isSet, + isString: () => isString, + isTuple: () => isTuple, + isUUID4: () => isUUID4, + isUnknown: () => isUnknown, + isUpperCase: () => isUpperCase, + makeTrait: () => makeTrait, + makeValidator: () => makeValidator, + matchesRegExp: () => matchesRegExp, + softAssert: () => softAssert +}); +function getPrintable(value) { + if (value === null) + return `null`; + if (value === void 0) + return `undefined`; + if (value === ``) + return `an empty string`; + if (typeof value === "symbol") + return `<${value.toString()}>`; + if (Array.isArray(value)) + return `an array`; + return JSON.stringify(value); +} +function getPrintableArray(value, conjunction) { + if (value.length === 0) + return `nothing`; + if (value.length === 1) + return getPrintable(value[0]); + const rest = value.slice(0, -1); + const trailing = value[value.length - 1]; + const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `; + return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`; +} +function computeKey(state, key) { + var _a, _b, _c; + if (typeof key === `number`) { + return `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}[${key}]`; + } else if (simpleKeyRegExp.test(key)) { + return `${(_b = state === null || state === void 0 ? void 0 : state.p) !== null && _b !== void 0 ? _b : ``}.${key}`; + } else { + return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`; + } +} +function plural(n, singular, plural2) { + return n === 1 ? singular : plural2; +} +function pushError({ errors, p } = {}, message) { + errors === null || errors === void 0 ? void 0 : errors.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`); + return false; +} +function makeSetter(target, key) { + return (v) => { + target[key] = v; + }; +} +function makeCoercionFn(target, key) { + return (v) => { + const previous = target[key]; + target[key] = v; + return makeCoercionFn(target, key).bind(null, previous); + }; +} +function makeLazyCoercionFn(fn2, orig, generator) { + const commit = () => { + fn2(generator()); + return revert; + }; + const revert = () => { + fn2(orig); + return commit; + }; + return commit; +} +function isUnknown() { + return makeValidator({ + test: (value, state) => { + return true; + } + }); +} +function isLiteral(expected) { + return makeValidator({ + test: (value, state) => { + if (value !== expected) + return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`); + return true; + } + }); +} +function isString() { + return makeValidator({ + test: (value, state) => { + if (typeof value !== `string`) + return pushError(state, `Expected a string (got ${getPrintable(value)})`); + return true; + } + }); +} +function isEnum(enumSpec) { + const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec); + const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number"); + const values = new Set(valuesArray); + if (values.size === 1) + return isLiteral([...values][0]); + return makeValidator({ + test: (value, state) => { + if (!values.has(value)) { + if (isAlphaNum) { + return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`); + } else { + return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`); + } + } + return true; + } + }); +} +function isBoolean() { + return makeValidator({ + test: (value, state) => { + var _a; + if (typeof value !== `boolean`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + const coercion = BOOLEAN_COERCIONS.get(value); + if (typeof coercion !== `undefined`) { + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); + return true; + } + } + return pushError(state, `Expected a boolean (got ${getPrintable(value)})`); + } + return true; + } + }); +} +function isNumber() { + return makeValidator({ + test: (value, state) => { + var _a; + if (typeof value !== `number`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + let coercion; + if (typeof value === `string`) { + let val; + try { + val = JSON.parse(value); + } catch (_b) { + } + if (typeof val === `number`) { + if (JSON.stringify(val) === value) { + coercion = val; + } else { + return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`); + } + } + } + if (typeof coercion !== `undefined`) { + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); + return true; + } + } + return pushError(state, `Expected a number (got ${getPrintable(value)})`); + } + return true; + } + }); +} +function isDate() { + return makeValidator({ + test: (value, state) => { + var _a; + if (!(value instanceof Date)) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + let coercion; + if (typeof value === `string` && iso8601RegExp.test(value)) { + coercion = new Date(value); + } else { + let timestamp; + if (typeof value === `string`) { + let val; + try { + val = JSON.parse(value); + } catch (_b) { + } + if (typeof val === `number`) { + timestamp = val; + } + } else if (typeof value === `number`) { + timestamp = value; + } + if (typeof timestamp !== `undefined`) { + if (Number.isSafeInteger(timestamp) || !Number.isSafeInteger(timestamp * 1e3)) { + coercion = new Date(timestamp * 1e3); + } else { + return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`); + } + } + } + if (typeof coercion !== `undefined`) { + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); + return true; + } + } + return pushError(state, `Expected a date (got ${getPrintable(value)})`); + } + return true; + } + }); +} +function isArray(spec, { delimiter } = {}) { + return makeValidator({ + test: (value, state) => { + var _a; + const originalValue = value; + if (typeof value === `string` && typeof delimiter !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + value = value.split(delimiter); + } + } + if (!Array.isArray(value)) + return pushError(state, `Expected an array (got ${getPrintable(value)})`); + let valid = true; + for (let t = 0, T = value.length; t < T; ++t) { + valid = spec(value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid; + if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { + break; + } + } + if (value !== originalValue) + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); + return valid; + } + }); +} +function isSet(spec, { delimiter } = {}) { + const isArrayValidator = isArray(spec, { delimiter }); + return makeValidator({ + test: (value, state) => { + var _a, _b; + if (Object.getPrototypeOf(value).toString() === `[object Set]`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + const originalValues = [...value]; + const coercedValues = [...value]; + if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 }))) + return false; + const updateValue = () => coercedValues.some((val, t) => val !== originalValues[t]) ? new Set(coercedValues) : value; + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]); + return true; + } else { + let valid = true; + for (const subValue of value) { + valid = spec(subValue, Object.assign({}, state)) && valid; + if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { + break; + } + } + return valid; + } + } + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + const store = { value }; + if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) }))) + return false; + state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]); + return true; + } + return pushError(state, `Expected a set (got ${getPrintable(value)})`); + } + }); +} +function isMap(keySpec, valueSpec) { + const isArrayValidator = isArray(isTuple([keySpec, valueSpec])); + const isRecordValidator = isRecord(valueSpec, { keys: keySpec }); + return makeValidator({ + test: (value, state) => { + var _a, _b, _c; + if (Object.getPrototypeOf(value).toString() === `[object Map]`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + const originalValues = [...value]; + const coercedValues = [...value]; + if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 }))) + return false; + const updateValue = () => coercedValues.some((val, t) => val[0] !== originalValues[t][0] || val[1] !== originalValues[t][1]) ? new Map(coercedValues) : value; + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]); + return true; + } else { + let valid = true; + for (const [key, subValue] of value) { + valid = keySpec(key, Object.assign({}, state)) && valid; + if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { + break; + } + valid = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid; + if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { + break; + } + } + return valid; + } + } + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + const store = { value }; + if (Array.isArray(value)) { + if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 }))) + return false; + state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]); + return true; + } else { + if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) }))) + return false; + state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]); + return true; + } + } + return pushError(state, `Expected a map (got ${getPrintable(value)})`); + } + }); +} +function isTuple(spec, { delimiter } = {}) { + const lengthValidator = hasExactLength(spec.length); + return makeValidator({ + test: (value, state) => { + var _a; + if (typeof value === `string` && typeof delimiter !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + value = value.split(delimiter); + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); + } + } + if (!Array.isArray(value)) + return pushError(state, `Expected a tuple (got ${getPrintable(value)})`); + let valid = lengthValidator(value, Object.assign({}, state)); + for (let t = 0, T = value.length; t < T && t < spec.length; ++t) { + valid = spec[t](value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid; + if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { + break; + } + } + return valid; + } + }); +} +function isRecord(spec, { keys: keySpec = null } = {}) { + const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec])); + return makeValidator({ + test: (value, state) => { + var _a; + if (Array.isArray(value)) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 }))) + return false; + value = Object.fromEntries(value); + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); + return true; + } + } + if (typeof value !== `object` || value === null) + return pushError(state, `Expected an object (got ${getPrintable(value)})`); + const keys = Object.keys(value); + let valid = true; + for (let t = 0, T = keys.length; t < T && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t) { + const key = keys[t]; + const sub = value[key]; + if (key === `__proto__` || key === `constructor`) { + valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`); + continue; + } + if (keySpec !== null && !keySpec(key, state)) { + valid = false; + continue; + } + if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) { + valid = false; + continue; + } + } + return valid; + } + }); +} +function isDict(spec, opts = {}) { + return isRecord(spec, opts); +} +function isObject(props, { extra: extraSpec = null } = {}) { + const specKeys = Object.keys(props); + const validator = makeValidator({ + test: (value, state) => { + if (typeof value !== `object` || value === null) + return pushError(state, `Expected an object (got ${getPrintable(value)})`); + const keys = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]); + const extra = {}; + let valid = true; + for (const key of keys) { + if (key === `constructor` || key === `__proto__`) { + valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`); + } else { + const spec = Object.prototype.hasOwnProperty.call(props, key) ? props[key] : void 0; + const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0; + if (typeof spec !== `undefined`) { + valid = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid; + } else if (extraSpec === null) { + valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`); + } else { + Object.defineProperty(extra, key, { + enumerable: true, + get: () => sub, + set: makeSetter(value, key) + }); + } + } + if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { + break; + } + } + if (extraSpec !== null && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null)) + valid = extraSpec(extra, state) && valid; + return valid; + } + }); + return Object.assign(validator, { + properties: props + }); +} +function isPartial(props) { + return isObject(props, { extra: isRecord(isUnknown()) }); +} +function makeTrait(value) { + return () => { + return value; + }; +} +function makeValidator({ test }) { + return makeTrait(test)(); +} +function assert(val, validator) { + if (!validator(val)) { + throw new TypeAssertionError(); + } +} +function assertWithErrors(val, validator) { + const errors = []; + if (!validator(val, { errors })) { + throw new TypeAssertionError({ errors }); + } +} +function softAssert(val, validator) { +} +function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) { + const errors = storeErrors ? [] : void 0; + if (!coerce) { + if (validator(value, { errors })) { + return throws ? value : { value, errors: void 0 }; + } else if (!throws) { + return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true }; + } else { + throw new TypeAssertionError({ errors }); + } + } + const state = { value }; + const coercion = makeCoercionFn(state, `value`); + const coercions = []; + if (!validator(value, { errors, coercion, coercions })) { + if (!throws) { + return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true }; + } else { + throw new TypeAssertionError({ errors }); + } + } + for (const [, apply] of coercions) + apply(); + if (throws) { + return state.value; + } else { + return { value: state.value, errors: void 0 }; + } +} +function fn(validators, fn2) { + const isValidArgList = isTuple(validators); + return (...args) => { + const check = isValidArgList(args); + if (!check) + throw new TypeAssertionError(); + return fn2(...args); + }; +} +function hasMinLength(length) { + return makeValidator({ + test: (value, state) => { + if (!(value.length >= length)) + return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`); + return true; + } + }); +} +function hasMaxLength(length) { + return makeValidator({ + test: (value, state) => { + if (!(value.length <= length)) + return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`); + return true; + } + }); +} +function hasExactLength(length) { + return makeValidator({ + test: (value, state) => { + if (!(value.length === length)) + return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`); + return true; + } + }); +} +function hasUniqueItems({ map } = {}) { + return makeValidator({ + test: (value, state) => { + const set = /* @__PURE__ */ new Set(); + const dup = /* @__PURE__ */ new Set(); + for (let t = 0, T = value.length; t < T; ++t) { + const sub = value[t]; + const key = typeof map !== `undefined` ? map(sub) : sub; + if (set.has(key)) { + if (dup.has(key)) + continue; + pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`); + dup.add(key); + } else { + set.add(key); + } + } + return dup.size === 0; + } + }); +} +function isNegative() { + return makeValidator({ + test: (value, state) => { + if (!(value <= 0)) + return pushError(state, `Expected to be negative (got ${value})`); + return true; + } + }); +} +function isPositive() { + return makeValidator({ + test: (value, state) => { + if (!(value >= 0)) + return pushError(state, `Expected to be positive (got ${value})`); + return true; + } + }); +} +function isAtLeast(n) { + return makeValidator({ + test: (value, state) => { + if (!(value >= n)) + return pushError(state, `Expected to be at least ${n} (got ${value})`); + return true; + } + }); +} +function isAtMost(n) { + return makeValidator({ + test: (value, state) => { + if (!(value <= n)) + return pushError(state, `Expected to be at most ${n} (got ${value})`); + return true; + } + }); +} +function isInInclusiveRange(a, b) { + return makeValidator({ + test: (value, state) => { + if (!(value >= a && value <= b)) + return pushError(state, `Expected to be in the [${a}; ${b}] range (got ${value})`); + return true; + } + }); +} +function isInExclusiveRange(a, b) { + return makeValidator({ + test: (value, state) => { + if (!(value >= a && value < b)) + return pushError(state, `Expected to be in the [${a}; ${b}[ range (got ${value})`); + return true; + } + }); +} +function isInteger({ unsafe = false } = {}) { + return makeValidator({ + test: (value, state) => { + if (value !== Math.round(value)) + return pushError(state, `Expected to be an integer (got ${value})`); + if (!unsafe && !Number.isSafeInteger(value)) + return pushError(state, `Expected to be a safe integer (got ${value})`); + return true; + } + }); +} +function matchesRegExp(regExp) { + return makeValidator({ + test: (value, state) => { + if (!regExp.test(value)) + return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`); + return true; + } + }); +} +function isLowerCase() { + return makeValidator({ + test: (value, state) => { + if (value !== value.toLowerCase()) + return pushError(state, `Expected to be all-lowercase (got ${value})`); + return true; + } + }); +} +function isUpperCase() { + return makeValidator({ + test: (value, state) => { + if (value !== value.toUpperCase()) + return pushError(state, `Expected to be all-uppercase (got ${value})`); + return true; + } + }); +} +function isUUID4() { + return makeValidator({ + test: (value, state) => { + if (!uuid4RegExp.test(value)) + return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`); + return true; + } + }); +} +function isISO8601() { + return makeValidator({ + test: (value, state) => { + if (!iso8601RegExp.test(value)) + return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`); + return true; + } + }); +} +function isHexColor({ alpha = false }) { + return makeValidator({ + test: (value, state) => { + const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value); + if (!res) + return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`); + return true; + } + }); +} +function isBase64() { + return makeValidator({ + test: (value, state) => { + if (!base64RegExp.test(value)) + return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`); + return true; + } + }); +} +function isJSON(spec = isUnknown()) { + return makeValidator({ + test: (value, state) => { + let data; + try { + data = JSON.parse(value); + } catch (_a) { + return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`); + } + return spec(data, state); + } + }); +} +function cascade(spec, ...followups) { + const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups; + return makeValidator({ + test: (value, state) => { + var _a, _b; + const context = { value }; + const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0; + const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0; + if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions }))) + return false; + const reverts = []; + if (typeof subCoercions !== `undefined`) + for (const [, coercion] of subCoercions) + reverts.push(coercion()); + try { + if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { + if (context.value !== value) { + if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) + return pushError(state, `Unbound coercion result`); + state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, context.value)]); + } + (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions); + } + return resolvedFollowups.every((spec2) => { + return spec2(context.value, state); + }); + } finally { + for (const revert of reverts) { + revert(); + } + } + } + }); +} +function applyCascade(spec, ...followups) { + const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups; + return cascade(spec, resolvedFollowups); +} +function isOptional(spec) { + return makeValidator({ + test: (value, state) => { + if (typeof value === `undefined`) + return true; + return spec(value, state); + } + }); +} +function isNullable(spec) { + return makeValidator({ + test: (value, state) => { + if (value === null) + return true; + return spec(value, state); + } + }); +} +function hasRequiredKeys(requiredKeys, options) { + var _a; + const requiredSet = new Set(requiredKeys); + const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; + return makeValidator({ + test: (value, state) => { + const keys = new Set(Object.keys(value)); + const problems = []; + for (const key of requiredSet) + if (!check(keys, key, value)) + problems.push(key); + if (problems.length > 0) + return pushError(state, `Missing required ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`); + return true; + } + }); +} +function hasAtLeastOneKey(requiredKeys, options) { + var _a; + const requiredSet = new Set(requiredKeys); + const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; + return makeValidator({ + test: (value, state) => { + const keys = Object.keys(value); + const valid = keys.some((key) => check(requiredSet, key, value)); + if (!valid) + return pushError(state, `Missing at least one property from ${getPrintableArray(Array.from(requiredSet), `or`)}`); + return true; + } + }); +} +function hasForbiddenKeys(forbiddenKeys, options) { + var _a; + const forbiddenSet = new Set(forbiddenKeys); + const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; + return makeValidator({ + test: (value, state) => { + const keys = new Set(Object.keys(value)); + const problems = []; + for (const key of forbiddenSet) + if (check(keys, key, value)) + problems.push(key); + if (problems.length > 0) + return pushError(state, `Forbidden ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`); + return true; + } + }); +} +function hasMutuallyExclusiveKeys(exclusiveKeys, options) { + var _a; + const exclusiveSet = new Set(exclusiveKeys); + const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; + return makeValidator({ + test: (value, state) => { + const keys = new Set(Object.keys(value)); + const used = []; + for (const key of exclusiveSet) + if (check(keys, key, value)) + used.push(key); + if (used.length > 1) + return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`); + return true; + } + }); +} +function hasKeyRelationship(subject, relationship, others, { ignore = [] } = {}) { + const skipped = new Set(ignore); + const otherSet = new Set(others); + const spec = keyRelationships[relationship]; + const conjunction = relationship === KeyRelationship.Forbids ? `or` : `and`; + return makeValidator({ + test: (value, state) => { + const keys = new Set(Object.keys(value)); + if (!keys.has(subject) || skipped.has(value[subject])) + return true; + const problems = []; + for (const key of otherSet) + if ((keys.has(key) && !skipped.has(value[key])) !== spec.expect) + problems.push(key); + if (problems.length >= 1) + return pushError(state, `Property "${subject}" ${spec.message} ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`); + return true; + } + }); +} +var simpleKeyRegExp, colorStringRegExp, colorStringAlphaRegExp, base64RegExp, uuid4RegExp, iso8601RegExp, BOOLEAN_COERCIONS, isInstanceOf, isOneOf, TypeAssertionError, checks, KeyRelationship, keyRelationships; +var init_lib = __esm({ + ".yarn/cache/typanion-npm-3.12.1-788497c54f-492540c6ac.zip/node_modules/typanion/lib/index.mjs"() { + simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/; + colorStringRegExp = /^#[0-9a-f]{6}$/i; + colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i; + base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; + uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i; + iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/; + BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([ + [`true`, true], + [`True`, true], + [`1`, true], + [1, true], + [`false`, false], + [`False`, false], + [`0`, false], + [0, false] + ]); + isInstanceOf = (constructor) => makeValidator({ + test: (value, state) => { + if (!(value instanceof constructor)) + return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`); + return true; + } + }); + isOneOf = (specs, { exclusive = false } = {}) => makeValidator({ + test: (value, state) => { + var _a, _b, _c; + const matches = []; + const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0; + for (let t = 0, T = specs.length; t < T; ++t) { + const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0; + const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0; + if (specs[t](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}#${t + 1}` }))) { + matches.push([`#${t + 1}`, subCoercions]); + if (!exclusive) { + break; + } + } else { + errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]); + } + } + if (matches.length === 1) { + const [, subCoercions] = matches[0]; + if (typeof subCoercions !== `undefined`) + (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions); + return true; + } + if (matches.length > 1) + pushError(state, `Expected to match exactly a single predicate (matched ${matches.join(`, `)})`); + else + (_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer); + return false; + } + }); + TypeAssertionError = class extends Error { + constructor({ errors } = {}) { + let errorMessage = `Type mismatch`; + if (errors && errors.length > 0) { + errorMessage += ` +`; + for (const error of errors) { + errorMessage += ` +- ${error}`; + } + } + super(errorMessage); + } + }; + checks = { + missing: (keys, key) => keys.has(key), + undefined: (keys, key, value) => keys.has(key) && typeof value[key] !== `undefined`, + nil: (keys, key, value) => keys.has(key) && value[key] != null, + falsy: (keys, key, value) => keys.has(key) && !!value[key] + }; + (function(KeyRelationship2) { + KeyRelationship2["Forbids"] = "Forbids"; + KeyRelationship2["Requires"] = "Requires"; + })(KeyRelationship || (KeyRelationship = {})); + keyRelationships = { + [KeyRelationship.Forbids]: { + expect: false, + message: `forbids using` + }, + [KeyRelationship.Requires]: { + expect: true, + message: `requires using` + } + }; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/constants.js +var require_constants = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/constants.js"(exports, module2) { + var SEMVER_SPEC_VERSION = "2.0.0"; + var MAX_LENGTH = 256; + var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ + 9007199254740991; + var MAX_SAFE_COMPONENT_LENGTH = 16; + var RELEASE_TYPES = [ + "major", + "premajor", + "minor", + "preminor", + "patch", + "prepatch", + "prerelease" + ]; + module2.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 1, + FLAG_LOOSE: 2 + }; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/debug.js +var require_debug = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/debug.js"(exports, module2) { + var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { + }; + module2.exports = debug2; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/re.js +var require_re = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/re.js"(exports, module2) { + var { MAX_SAFE_COMPONENT_LENGTH } = require_constants(); + var debug2 = require_debug(); + exports = module2.exports = {}; + var re = exports.re = []; + var src = exports.src = []; + var t = exports.t = {}; + var R = 0; + var createToken = (name, value, isGlobal) => { + const index = R++; + debug2(name, index, value); + t[name] = index; + src[index] = value; + re[index] = new RegExp(value, isGlobal ? "g" : void 0); + }; + createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); + createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+"); + createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"); + createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); + createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); + createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`); + createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`); + createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); + createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); + createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+"); + createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); + createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); + createToken("FULL", `^${src[t.FULLPLAIN]}$`); + createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); + createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); + createToken("GTLT", "((?:<|>)?=?)"); + createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); + createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); + createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); + createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); + createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); + createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); + createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`); + createToken("COERCERTL", src[t.COERCE], true); + createToken("LONETILDE", "(?:~>?)"); + createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); + exports.tildeTrimReplace = "$1~"; + createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); + createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); + createToken("LONECARET", "(?:\\^)"); + createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); + exports.caretTrimReplace = "$1^"; + createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); + createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); + createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); + createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); + createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); + exports.comparatorTrimReplace = "$1$2$3"; + createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); + createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); + createToken("STAR", "(<|>)?=?\\s*\\*"); + createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); + createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/parse-options.js +var require_parse_options = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/parse-options.js"(exports, module2) { + var looseOption = Object.freeze({ loose: true }); + var emptyOpts = Object.freeze({}); + var parseOptions = (options) => { + if (!options) { + return emptyOpts; + } + if (typeof options !== "object") { + return looseOption; + } + return options; + }; + module2.exports = parseOptions; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/identifiers.js +var require_identifiers = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/internal/identifiers.js"(exports, module2) { + var numeric = /^[0-9]+$/; + var compareIdentifiers = (a, b) => { + const anum = numeric.test(a); + const bnum = numeric.test(b); + if (anum && bnum) { + a = +a; + b = +b; + } + return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; + }; + var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); + module2.exports = { + compareIdentifiers, + rcompareIdentifiers + }; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/classes/semver.js +var require_semver = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/classes/semver.js"(exports, module2) { + var debug2 = require_debug(); + var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants(); + var { re, t } = require_re(); + var parseOptions = require_parse_options(); + var { compareIdentifiers } = require_identifiers(); + var SemVer = class { + constructor(version2, options) { + options = parseOptions(options); + if (version2 instanceof SemVer) { + if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) { + return version2; + } else { + version2 = version2.version; + } + } else if (typeof version2 !== "string") { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`); + } + if (version2.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ); + } + debug2("SemVer", version2, options); + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; + const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); + if (!m) { + throw new TypeError(`Invalid Version: ${version2}`); + } + this.raw = version2; + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError("Invalid major version"); + } + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError("Invalid minor version"); + } + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError("Invalid patch version"); + } + if (!m[4]) { + this.prerelease = []; + } else { + this.prerelease = m[4].split(".").map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id; + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num; + } + } + return id; + }); + } + this.build = m[5] ? m[5].split(".") : []; + this.format(); + } + format() { + this.version = `${this.major}.${this.minor}.${this.patch}`; + if (this.prerelease.length) { + this.version += `-${this.prerelease.join(".")}`; + } + return this.version; + } + toString() { + return this.version; + } + compare(other) { + debug2("SemVer.compare", this.version, this.options, other); + if (!(other instanceof SemVer)) { + if (typeof other === "string" && other === this.version) { + return 0; + } + other = new SemVer(other, this.options); + } + if (other.version === this.version) { + return 0; + } + return this.compareMain(other) || this.comparePre(other); + } + compareMain(other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); + } + comparePre(other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + if (this.prerelease.length && !other.prerelease.length) { + return -1; + } else if (!this.prerelease.length && other.prerelease.length) { + return 1; + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0; + } + let i = 0; + do { + const a = this.prerelease[i]; + const b = other.prerelease[i]; + debug2("prerelease compare", i, a, b); + if (a === void 0 && b === void 0) { + return 0; + } else if (b === void 0) { + return 1; + } else if (a === void 0) { + return -1; + } else if (a === b) { + continue; + } else { + return compareIdentifiers(a, b); + } + } while (++i); + } + compareBuild(other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + let i = 0; + do { + const a = this.build[i]; + const b = other.build[i]; + debug2("prerelease compare", i, a, b); + if (a === void 0 && b === void 0) { + return 0; + } else if (b === void 0) { + return 1; + } else if (a === void 0) { + return -1; + } else if (a === b) { + continue; + } else { + return compareIdentifiers(a, b); + } + } while (++i); + } + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc(release, identifier, identifierBase) { + switch (release) { + case "premajor": + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc("pre", identifier, identifierBase); + break; + case "preminor": + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc("pre", identifier, identifierBase); + break; + case "prepatch": + this.prerelease.length = 0; + this.inc("patch", identifier, identifierBase); + this.inc("pre", identifier, identifierBase); + break; + case "prerelease": + if (this.prerelease.length === 0) { + this.inc("patch", identifier, identifierBase); + } + this.inc("pre", identifier, identifierBase); + break; + case "major": + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { + this.major++; + } + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + case "minor": + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++; + } + this.patch = 0; + this.prerelease = []; + break; + case "patch": + if (this.prerelease.length === 0) { + this.patch++; + } + this.prerelease = []; + break; + case "pre": { + const base = Number(identifierBase) ? 1 : 0; + if (!identifier && identifierBase === false) { + throw new Error("invalid increment argument: identifier is empty"); + } + if (this.prerelease.length === 0) { + this.prerelease = [base]; + } else { + let i = this.prerelease.length; + while (--i >= 0) { + if (typeof this.prerelease[i] === "number") { + this.prerelease[i]++; + i = -2; + } + } + if (i === -1) { + if (identifier === this.prerelease.join(".") && identifierBase === false) { + throw new Error("invalid increment argument: identifier already exists"); + } + this.prerelease.push(base); + } + } + if (identifier) { + let prerelease = [identifier, base]; + if (identifierBase === false) { + prerelease = [identifier]; + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease; + } + } else { + this.prerelease = prerelease; + } + } + break; + } + default: + throw new Error(`invalid increment argument: ${release}`); + } + this.format(); + this.raw = this.version; + return this; + } + }; + module2.exports = SemVer; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/parse.js +var require_parse = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/parse.js"(exports, module2) { + var SemVer = require_semver(); + var parse = (version2, options, throwErrors = false) => { + if (version2 instanceof SemVer) { + return version2; + } + try { + return new SemVer(version2, options); + } catch (er) { + if (!throwErrors) { + return null; + } + throw er; + } + }; + module2.exports = parse; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/valid.js +var require_valid = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/valid.js"(exports, module2) { + var parse = require_parse(); + var valid = (version2, options) => { + const v = parse(version2, options); + return v ? v.version : null; + }; + module2.exports = valid; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/clean.js +var require_clean = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/clean.js"(exports, module2) { + var parse = require_parse(); + var clean = (version2, options) => { + const s = parse(version2.trim().replace(/^[=v]+/, ""), options); + return s ? s.version : null; + }; + module2.exports = clean; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/inc.js +var require_inc = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/inc.js"(exports, module2) { + var SemVer = require_semver(); + var inc = (version2, release, options, identifier, identifierBase) => { + if (typeof options === "string") { + identifierBase = identifier; + identifier = options; + options = void 0; + } + try { + return new SemVer( + version2 instanceof SemVer ? version2.version : version2, + options + ).inc(release, identifier, identifierBase).version; + } catch (er) { + return null; + } + }; + module2.exports = inc; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/diff.js +var require_diff = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/diff.js"(exports, module2) { + var parse = require_parse(); + var diff = (version1, version2) => { + const v1 = parse(version1, null, true); + const v2 = parse(version2, null, true); + const comparison = v1.compare(v2); + if (comparison === 0) { + return null; + } + const v1Higher = comparison > 0; + const highVersion = v1Higher ? v1 : v2; + const lowVersion = v1Higher ? v2 : v1; + const highHasPre = !!highVersion.prerelease.length; + const prefix = highHasPre ? "pre" : ""; + if (v1.major !== v2.major) { + return prefix + "major"; + } + if (v1.minor !== v2.minor) { + return prefix + "minor"; + } + if (v1.patch !== v2.patch) { + return prefix + "patch"; + } + if (highHasPre) { + return "prerelease"; + } + if (lowVersion.patch) { + return "patch"; + } + if (lowVersion.minor) { + return "minor"; + } + return "major"; + }; + module2.exports = diff; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/major.js +var require_major = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/major.js"(exports, module2) { + var SemVer = require_semver(); + var major = (a, loose) => new SemVer(a, loose).major; + module2.exports = major; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/minor.js +var require_minor = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/minor.js"(exports, module2) { + var SemVer = require_semver(); + var minor = (a, loose) => new SemVer(a, loose).minor; + module2.exports = minor; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/patch.js +var require_patch = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/patch.js"(exports, module2) { + var SemVer = require_semver(); + var patch = (a, loose) => new SemVer(a, loose).patch; + module2.exports = patch; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/prerelease.js +var require_prerelease = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/prerelease.js"(exports, module2) { + var parse = require_parse(); + var prerelease = (version2, options) => { + const parsed = parse(version2, options); + return parsed && parsed.prerelease.length ? parsed.prerelease : null; + }; + module2.exports = prerelease; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/compare.js +var require_compare = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/compare.js"(exports, module2) { + var SemVer = require_semver(); + var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); + module2.exports = compare; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/rcompare.js +var require_rcompare = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/rcompare.js"(exports, module2) { + var compare = require_compare(); + var rcompare = (a, b, loose) => compare(b, a, loose); + module2.exports = rcompare; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/compare-loose.js +var require_compare_loose = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/compare-loose.js"(exports, module2) { + var compare = require_compare(); + var compareLoose = (a, b) => compare(a, b, true); + module2.exports = compareLoose; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/compare-build.js +var require_compare_build = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/compare-build.js"(exports, module2) { + var SemVer = require_semver(); + var compareBuild = (a, b, loose) => { + const versionA = new SemVer(a, loose); + const versionB = new SemVer(b, loose); + return versionA.compare(versionB) || versionA.compareBuild(versionB); + }; + module2.exports = compareBuild; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/sort.js +var require_sort = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/sort.js"(exports, module2) { + var compareBuild = require_compare_build(); + var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)); + module2.exports = sort; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/rsort.js +var require_rsort = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/rsort.js"(exports, module2) { + var compareBuild = require_compare_build(); + var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); + module2.exports = rsort; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/gt.js +var require_gt = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/gt.js"(exports, module2) { + var compare = require_compare(); + var gt = (a, b, loose) => compare(a, b, loose) > 0; + module2.exports = gt; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/lt.js +var require_lt = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/lt.js"(exports, module2) { + var compare = require_compare(); + var lt = (a, b, loose) => compare(a, b, loose) < 0; + module2.exports = lt; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/eq.js +var require_eq = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/eq.js"(exports, module2) { + var compare = require_compare(); + var eq = (a, b, loose) => compare(a, b, loose) === 0; + module2.exports = eq; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/neq.js +var require_neq = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/neq.js"(exports, module2) { + var compare = require_compare(); + var neq = (a, b, loose) => compare(a, b, loose) !== 0; + module2.exports = neq; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/gte.js +var require_gte = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/gte.js"(exports, module2) { + var compare = require_compare(); + var gte = (a, b, loose) => compare(a, b, loose) >= 0; + module2.exports = gte; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/lte.js +var require_lte = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/lte.js"(exports, module2) { + var compare = require_compare(); + var lte = (a, b, loose) => compare(a, b, loose) <= 0; + module2.exports = lte; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/cmp.js +var require_cmp = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/cmp.js"(exports, module2) { + var eq = require_eq(); + var neq = require_neq(); + var gt = require_gt(); + var gte = require_gte(); + var lt = require_lt(); + var lte = require_lte(); + var cmp = (a, op, b, loose) => { + switch (op) { + case "===": + if (typeof a === "object") { + a = a.version; + } + if (typeof b === "object") { + b = b.version; + } + return a === b; + case "!==": + if (typeof a === "object") { + a = a.version; + } + if (typeof b === "object") { + b = b.version; + } + return a !== b; + case "": + case "=": + case "==": + return eq(a, b, loose); + case "!=": + return neq(a, b, loose); + case ">": + return gt(a, b, loose); + case ">=": + return gte(a, b, loose); + case "<": + return lt(a, b, loose); + case "<=": + return lte(a, b, loose); + default: + throw new TypeError(`Invalid operator: ${op}`); + } + }; + module2.exports = cmp; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/coerce.js +var require_coerce = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/coerce.js"(exports, module2) { + var SemVer = require_semver(); + var parse = require_parse(); + var { re, t } = require_re(); + var coerce = (version2, options) => { + if (version2 instanceof SemVer) { + return version2; + } + if (typeof version2 === "number") { + version2 = String(version2); + } + if (typeof version2 !== "string") { + return null; + } + options = options || {}; + let match = null; + if (!options.rtl) { + match = version2.match(re[t.COERCE]); + } else { + let next; + while ((next = re[t.COERCERTL].exec(version2)) && (!match || match.index + match[0].length !== version2.length)) { + if (!match || next.index + next[0].length !== match.index + match[0].length) { + match = next; + } + re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; + } + re[t.COERCERTL].lastIndex = -1; + } + if (match === null) { + return null; + } + return parse(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options); + }; + module2.exports = coerce; + } +}); + +// .yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/iterator.js +var require_iterator = __commonJS({ + ".yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/iterator.js"(exports, module2) { + "use strict"; + module2.exports = function(Yallist) { + Yallist.prototype[Symbol.iterator] = function* () { + for (let walker = this.head; walker; walker = walker.next) { + yield walker.value; + } + }; + }; + } +}); + +// .yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/yallist.js +var require_yallist = __commonJS({ + ".yarn/cache/yallist-npm-4.0.0-b493d9e907-cd7fe32508.zip/node_modules/yallist/yallist.js"(exports, module2) { + "use strict"; + module2.exports = Yallist; + Yallist.Node = Node; + Yallist.create = Yallist; + function Yallist(list) { + var self2 = this; + if (!(self2 instanceof Yallist)) { + self2 = new Yallist(); + } + self2.tail = null; + self2.head = null; + self2.length = 0; + if (list && typeof list.forEach === "function") { + list.forEach(function(item) { + self2.push(item); + }); + } else if (arguments.length > 0) { + for (var i = 0, l = arguments.length; i < l; i++) { + self2.push(arguments[i]); + } + } + return self2; + } + Yallist.prototype.removeNode = function(node) { + if (node.list !== this) { + throw new Error("removing node which does not belong to this list"); + } + var next = node.next; + var prev = node.prev; + if (next) { + next.prev = prev; + } + if (prev) { + prev.next = next; + } + if (node === this.head) { + this.head = next; + } + if (node === this.tail) { + this.tail = prev; + } + node.list.length--; + node.next = null; + node.prev = null; + node.list = null; + return next; + }; + Yallist.prototype.unshiftNode = function(node) { + if (node === this.head) { + return; + } + if (node.list) { + node.list.removeNode(node); + } + var head = this.head; + node.list = this; + node.next = head; + if (head) { + head.prev = node; + } + this.head = node; + if (!this.tail) { + this.tail = node; + } + this.length++; + }; + Yallist.prototype.pushNode = function(node) { + if (node === this.tail) { + return; + } + if (node.list) { + node.list.removeNode(node); + } + var tail = this.tail; + node.list = this; + node.prev = tail; + if (tail) { + tail.next = node; + } + this.tail = node; + if (!this.head) { + this.head = node; + } + this.length++; + }; + Yallist.prototype.push = function() { + for (var i = 0, l = arguments.length; i < l; i++) { + push(this, arguments[i]); + } + return this.length; + }; + Yallist.prototype.unshift = function() { + for (var i = 0, l = arguments.length; i < l; i++) { + unshift(this, arguments[i]); + } + return this.length; + }; + Yallist.prototype.pop = function() { + if (!this.tail) { + return void 0; + } + var res = this.tail.value; + this.tail = this.tail.prev; + if (this.tail) { + this.tail.next = null; + } else { + this.head = null; + } + this.length--; + return res; + }; + Yallist.prototype.shift = function() { + if (!this.head) { + return void 0; + } + var res = this.head.value; + this.head = this.head.next; + if (this.head) { + this.head.prev = null; + } else { + this.tail = null; + } + this.length--; + return res; + }; + Yallist.prototype.forEach = function(fn2, thisp) { + thisp = thisp || this; + for (var walker = this.head, i = 0; walker !== null; i++) { + fn2.call(thisp, walker.value, i, this); + walker = walker.next; + } + }; + Yallist.prototype.forEachReverse = function(fn2, thisp) { + thisp = thisp || this; + for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { + fn2.call(thisp, walker.value, i, this); + walker = walker.prev; + } + }; + Yallist.prototype.get = function(n) { + for (var i = 0, walker = this.head; walker !== null && i < n; i++) { + walker = walker.next; + } + if (i === n && walker !== null) { + return walker.value; + } + }; + Yallist.prototype.getReverse = function(n) { + for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { + walker = walker.prev; + } + if (i === n && walker !== null) { + return walker.value; + } + }; + Yallist.prototype.map = function(fn2, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.head; walker !== null; ) { + res.push(fn2.call(thisp, walker.value, this)); + walker = walker.next; + } + return res; + }; + Yallist.prototype.mapReverse = function(fn2, thisp) { + thisp = thisp || this; + var res = new Yallist(); + for (var walker = this.tail; walker !== null; ) { + res.push(fn2.call(thisp, walker.value, this)); + walker = walker.prev; + } + return res; + }; + Yallist.prototype.reduce = function(fn2, initial) { + var acc; + var walker = this.head; + if (arguments.length > 1) { + acc = initial; + } else if (this.head) { + walker = this.head.next; + acc = this.head.value; + } else { + throw new TypeError("Reduce of empty list with no initial value"); + } + for (var i = 0; walker !== null; i++) { + acc = fn2(acc, walker.value, i); + walker = walker.next; + } + return acc; + }; + Yallist.prototype.reduceReverse = function(fn2, initial) { + var acc; + var walker = this.tail; + if (arguments.length > 1) { + acc = initial; + } else if (this.tail) { + walker = this.tail.prev; + acc = this.tail.value; + } else { + throw new TypeError("Reduce of empty list with no initial value"); + } + for (var i = this.length - 1; walker !== null; i--) { + acc = fn2(acc, walker.value, i); + walker = walker.prev; + } + return acc; + }; + Yallist.prototype.toArray = function() { + var arr = new Array(this.length); + for (var i = 0, walker = this.head; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.next; + } + return arr; + }; + Yallist.prototype.toArrayReverse = function() { + var arr = new Array(this.length); + for (var i = 0, walker = this.tail; walker !== null; i++) { + arr[i] = walker.value; + walker = walker.prev; + } + return arr; + }; + Yallist.prototype.slice = function(from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; + } + from = from || 0; + if (from < 0) { + from += this.length; + } + var ret = new Yallist(); + if (to < from || to < 0) { + return ret; + } + if (from < 0) { + from = 0; + } + if (to > this.length) { + to = this.length; + } + for (var i = 0, walker = this.head; walker !== null && i < from; i++) { + walker = walker.next; + } + for (; walker !== null && i < to; i++, walker = walker.next) { + ret.push(walker.value); + } + return ret; + }; + Yallist.prototype.sliceReverse = function(from, to) { + to = to || this.length; + if (to < 0) { + to += this.length; + } + from = from || 0; + if (from < 0) { + from += this.length; + } + var ret = new Yallist(); + if (to < from || to < 0) { + return ret; + } + if (from < 0) { + from = 0; + } + if (to > this.length) { + to = this.length; + } + for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { + walker = walker.prev; + } + for (; walker !== null && i > from; i--, walker = walker.prev) { + ret.push(walker.value); + } + return ret; + }; + Yallist.prototype.splice = function(start, deleteCount, ...nodes) { + if (start > this.length) { + start = this.length - 1; + } + if (start < 0) { + start = this.length + start; + } + for (var i = 0, walker = this.head; walker !== null && i < start; i++) { + walker = walker.next; + } + var ret = []; + for (var i = 0; walker && i < deleteCount; i++) { + ret.push(walker.value); + walker = this.removeNode(walker); + } + if (walker === null) { + walker = this.tail; + } + if (walker !== this.head && walker !== this.tail) { + walker = walker.prev; + } + for (var i = 0; i < nodes.length; i++) { + walker = insert(this, walker, nodes[i]); + } + return ret; + }; + Yallist.prototype.reverse = function() { + var head = this.head; + var tail = this.tail; + for (var walker = head; walker !== null; walker = walker.prev) { + var p = walker.prev; + walker.prev = walker.next; + walker.next = p; + } + this.head = tail; + this.tail = head; + return this; + }; + function insert(self2, node, value) { + var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); + if (inserted.next === null) { + self2.tail = inserted; + } + if (inserted.prev === null) { + self2.head = inserted; + } + self2.length++; + return inserted; + } + function push(self2, item) { + self2.tail = new Node(item, self2.tail, null, self2); + if (!self2.head) { + self2.head = self2.tail; + } + self2.length++; + } + function unshift(self2, item) { + self2.head = new Node(item, null, self2.head, self2); + if (!self2.tail) { + self2.tail = self2.head; + } + self2.length++; + } + function Node(value, prev, next, list) { + if (!(this instanceof Node)) { + return new Node(value, prev, next, list); + } + this.list = list; + this.value = value; + if (prev) { + prev.next = this; + this.prev = prev; + } else { + this.prev = null; + } + if (next) { + next.prev = this; + this.next = next; + } else { + this.next = null; + } + } + try { + require_iterator()(Yallist); + } catch (er) { + } + } +}); + +// .yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-b2d72088dd.zip/node_modules/lru-cache/index.js +var require_lru_cache = __commonJS({ + ".yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-b2d72088dd.zip/node_modules/lru-cache/index.js"(exports, module2) { + "use strict"; + var Yallist = require_yallist(); + var MAX = Symbol("max"); + var LENGTH = Symbol("length"); + var LENGTH_CALCULATOR = Symbol("lengthCalculator"); + var ALLOW_STALE = Symbol("allowStale"); + var MAX_AGE = Symbol("maxAge"); + var DISPOSE = Symbol("dispose"); + var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet"); + var LRU_LIST = Symbol("lruList"); + var CACHE = Symbol("cache"); + var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet"); + var naiveLength = () => 1; + var LRUCache = class { + constructor(options) { + if (typeof options === "number") + options = { max: options }; + if (!options) + options = {}; + if (options.max && (typeof options.max !== "number" || options.max < 0)) + throw new TypeError("max must be a non-negative number"); + const max = this[MAX] = options.max || Infinity; + const lc = options.length || naiveLength; + this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc; + this[ALLOW_STALE] = options.stale || false; + if (options.maxAge && typeof options.maxAge !== "number") + throw new TypeError("maxAge must be a number"); + this[MAX_AGE] = options.maxAge || 0; + this[DISPOSE] = options.dispose; + this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; + this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; + this.reset(); + } + // resize the cache when the max changes. + set max(mL) { + if (typeof mL !== "number" || mL < 0) + throw new TypeError("max must be a non-negative number"); + this[MAX] = mL || Infinity; + trim(this); + } + get max() { + return this[MAX]; + } + set allowStale(allowStale) { + this[ALLOW_STALE] = !!allowStale; + } + get allowStale() { + return this[ALLOW_STALE]; + } + set maxAge(mA) { + if (typeof mA !== "number") + throw new TypeError("maxAge must be a non-negative number"); + this[MAX_AGE] = mA; + trim(this); + } + get maxAge() { + return this[MAX_AGE]; + } + // resize the cache when the lengthCalculator changes. + set lengthCalculator(lC) { + if (typeof lC !== "function") + lC = naiveLength; + if (lC !== this[LENGTH_CALCULATOR]) { + this[LENGTH_CALCULATOR] = lC; + this[LENGTH] = 0; + this[LRU_LIST].forEach((hit) => { + hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); + this[LENGTH] += hit.length; + }); + } + trim(this); + } + get lengthCalculator() { + return this[LENGTH_CALCULATOR]; + } + get length() { + return this[LENGTH]; + } + get itemCount() { + return this[LRU_LIST].length; + } + rforEach(fn2, thisp) { + thisp = thisp || this; + for (let walker = this[LRU_LIST].tail; walker !== null; ) { + const prev = walker.prev; + forEachStep(this, fn2, walker, thisp); + walker = prev; + } + } + forEach(fn2, thisp) { + thisp = thisp || this; + for (let walker = this[LRU_LIST].head; walker !== null; ) { + const next = walker.next; + forEachStep(this, fn2, walker, thisp); + walker = next; + } + } + keys() { + return this[LRU_LIST].toArray().map((k) => k.key); + } + values() { + return this[LRU_LIST].toArray().map((k) => k.value); + } + reset() { + if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { + this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value)); + } + this[CACHE] = /* @__PURE__ */ new Map(); + this[LRU_LIST] = new Yallist(); + this[LENGTH] = 0; + } + dump() { + return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : { + k: hit.key, + v: hit.value, + e: hit.now + (hit.maxAge || 0) + }).toArray().filter((h) => h); + } + dumpLru() { + return this[LRU_LIST]; + } + set(key, value, maxAge) { + maxAge = maxAge || this[MAX_AGE]; + if (maxAge && typeof maxAge !== "number") + throw new TypeError("maxAge must be a number"); + const now = maxAge ? Date.now() : 0; + const len = this[LENGTH_CALCULATOR](value, key); + if (this[CACHE].has(key)) { + if (len > this[MAX]) { + del(this, this[CACHE].get(key)); + return false; + } + const node = this[CACHE].get(key); + const item = node.value; + if (this[DISPOSE]) { + if (!this[NO_DISPOSE_ON_SET]) + this[DISPOSE](key, item.value); + } + item.now = now; + item.maxAge = maxAge; + item.value = value; + this[LENGTH] += len - item.length; + item.length = len; + this.get(key); + trim(this); + return true; + } + const hit = new Entry(key, value, len, now, maxAge); + if (hit.length > this[MAX]) { + if (this[DISPOSE]) + this[DISPOSE](key, value); + return false; + } + this[LENGTH] += hit.length; + this[LRU_LIST].unshift(hit); + this[CACHE].set(key, this[LRU_LIST].head); + trim(this); + return true; + } + has(key) { + if (!this[CACHE].has(key)) + return false; + const hit = this[CACHE].get(key).value; + return !isStale(this, hit); + } + get(key) { + return get(this, key, true); + } + peek(key) { + return get(this, key, false); + } + pop() { + const node = this[LRU_LIST].tail; + if (!node) + return null; + del(this, node); + return node.value; + } + del(key) { + del(this, this[CACHE].get(key)); + } + load(arr) { + this.reset(); + const now = Date.now(); + for (let l = arr.length - 1; l >= 0; l--) { + const hit = arr[l]; + const expiresAt = hit.e || 0; + if (expiresAt === 0) + this.set(hit.k, hit.v); + else { + const maxAge = expiresAt - now; + if (maxAge > 0) { + this.set(hit.k, hit.v, maxAge); + } + } + } + } + prune() { + this[CACHE].forEach((value, key) => get(this, key, false)); + } + }; + var get = (self2, key, doUse) => { + const node = self2[CACHE].get(key); + if (node) { + const hit = node.value; + if (isStale(self2, hit)) { + del(self2, node); + if (!self2[ALLOW_STALE]) + return void 0; + } else { + if (doUse) { + if (self2[UPDATE_AGE_ON_GET]) + node.value.now = Date.now(); + self2[LRU_LIST].unshiftNode(node); + } + } + return hit.value; + } + }; + var isStale = (self2, hit) => { + if (!hit || !hit.maxAge && !self2[MAX_AGE]) + return false; + const diff = Date.now() - hit.now; + return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE]; + }; + var trim = (self2) => { + if (self2[LENGTH] > self2[MAX]) { + for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { + const prev = walker.prev; + del(self2, walker); + walker = prev; + } + } + }; + var del = (self2, node) => { + if (node) { + const hit = node.value; + if (self2[DISPOSE]) + self2[DISPOSE](hit.key, hit.value); + self2[LENGTH] -= hit.length; + self2[CACHE].delete(hit.key); + self2[LRU_LIST].removeNode(node); + } + }; + var Entry = class { + constructor(key, value, length, now, maxAge) { + this.key = key; + this.value = value; + this.length = length; + this.now = now; + this.maxAge = maxAge || 0; + } + }; + var forEachStep = (self2, fn2, node, thisp) => { + let hit = node.value; + if (isStale(self2, hit)) { + del(self2, node); + if (!self2[ALLOW_STALE]) + hit = void 0; + } + if (hit) + fn2.call(thisp, hit.value, hit.key, self2); + }; + module2.exports = LRUCache; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/classes/range.js +var require_range = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/classes/range.js"(exports, module2) { + var Range = class { + constructor(range, options) { + options = parseOptions(options); + if (range instanceof Range) { + if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { + return range; + } else { + return new Range(range.raw, options); + } + } + if (range instanceof Comparator) { + this.raw = range.value; + this.set = [[range]]; + this.format(); + return this; + } + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; + this.raw = range; + this.set = range.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${range}`); + } + if (this.set.length > 1) { + const first = this.set[0]; + this.set = this.set.filter((c) => !isNullSet(c[0])); + if (this.set.length === 0) { + this.set = [first]; + } else if (this.set.length > 1) { + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c]; + break; + } + } + } + } + this.format(); + } + format() { + this.range = this.set.map((comps) => { + return comps.join(" ").trim(); + }).join("||").trim(); + return this.range; + } + toString() { + return this.range; + } + parseRange(range) { + range = range.trim(); + const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); + const memoKey = memoOpts + ":" + range; + const cached = cache.get(memoKey); + if (cached) { + return cached; + } + const loose = this.options.loose; + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); + debug2("hyphen replace", range); + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + debug2("comparator trim", range); + range = range.replace(re[t.TILDETRIM], tildeTrimReplace); + range = range.replace(re[t.CARETTRIM], caretTrimReplace); + range = range.split(/\s+/).join(" "); + let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); + if (loose) { + rangeList = rangeList.filter((comp) => { + debug2("loose invalid filter", comp, this.options); + return !!comp.match(re[t.COMPARATORLOOSE]); + }); + } + debug2("range list", rangeList); + const rangeMap = /* @__PURE__ */ new Map(); + const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp]; + } + rangeMap.set(comp.value, comp); + } + if (rangeMap.size > 1 && rangeMap.has("")) { + rangeMap.delete(""); + } + const result = [...rangeMap.values()]; + cache.set(memoKey, result); + return result; + } + intersects(range, options) { + if (!(range instanceof Range)) { + throw new TypeError("a Range is required"); + } + return this.set.some((thisComparators) => { + return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { + return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options); + }); + }); + }); + }); + } + // if ANY of the sets match ALL of its comparators, then pass + test(version2) { + if (!version2) { + return false; + } + if (typeof version2 === "string") { + try { + version2 = new SemVer(version2, this.options); + } catch (er) { + return false; + } + } + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version2, this.options)) { + return true; + } + } + return false; + } + }; + module2.exports = Range; + var LRU = require_lru_cache(); + var cache = new LRU({ max: 1e3 }); + var parseOptions = require_parse_options(); + var Comparator = require_comparator(); + var debug2 = require_debug(); + var SemVer = require_semver(); + var { + re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace + } = require_re(); + var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(); + var isNullSet = (c) => c.value === "<0.0.0-0"; + var isAny = (c) => c.value === ""; + var isSatisfiable = (comparators, options) => { + let result = true; + const remainingComparators = comparators.slice(); + let testComparator = remainingComparators.pop(); + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options); + }); + testComparator = remainingComparators.pop(); + } + return result; + }; + var parseComparator = (comp, options) => { + debug2("comp", comp, options); + comp = replaceCarets(comp, options); + debug2("caret", comp); + comp = replaceTildes(comp, options); + debug2("tildes", comp); + comp = replaceXRanges(comp, options); + debug2("xrange", comp); + comp = replaceStars(comp, options); + debug2("stars", comp); + return comp; + }; + var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; + var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => { + return replaceTilde(c, options); + }).join(" "); + var replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; + return comp.replace(r, (_, M, m, p, pr) => { + debug2("tilde", comp, _, M, m, p, pr); + let ret; + if (isX(M)) { + ret = ""; + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; + } else if (isX(p)) { + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; + } else if (pr) { + debug2("replaceTilde pr", pr); + ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; + } else { + ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; + } + debug2("tilde return", ret); + return ret; + }); + }; + var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => { + return replaceCaret(c, options); + }).join(" "); + var replaceCaret = (comp, options) => { + debug2("caret", comp, options); + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; + const z = options.includePrerelease ? "-0" : ""; + return comp.replace(r, (_, M, m, p, pr) => { + debug2("caret", comp, _, M, m, p, pr); + let ret; + if (isX(M)) { + ret = ""; + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; + } else if (isX(p)) { + if (M === "0") { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; + } + } else if (pr) { + debug2("replaceCaret pr", pr); + if (M === "0") { + if (m === "0") { + ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; + } else { + ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; + } + } else { + ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; + } + } else { + debug2("no pr"); + if (M === "0") { + if (m === "0") { + ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; + } else { + ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; + } + } else { + ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; + } + } + debug2("caret return", ret); + return ret; + }); + }; + var replaceXRanges = (comp, options) => { + debug2("replaceXRanges", comp, options); + return comp.split(/\s+/).map((c) => { + return replaceXRange(c, options); + }).join(" "); + }; + var replaceXRange = (comp, options) => { + comp = comp.trim(); + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug2("xRange", comp, ret, gtlt, M, m, p, pr); + const xM = isX(M); + const xm = xM || isX(m); + const xp = xm || isX(p); + const anyX = xp; + if (gtlt === "=" && anyX) { + gtlt = ""; + } + pr = options.includePrerelease ? "-0" : ""; + if (xM) { + if (gtlt === ">" || gtlt === "<") { + ret = "<0.0.0-0"; + } else { + ret = "*"; + } + } else if (gtlt && anyX) { + if (xm) { + m = 0; + } + p = 0; + if (gtlt === ">") { + gtlt = ">="; + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else { + m = +m + 1; + p = 0; + } + } else if (gtlt === "<=") { + gtlt = "<"; + if (xm) { + M = +M + 1; + } else { + m = +m + 1; + } + } + if (gtlt === "<") { + pr = "-0"; + } + ret = `${gtlt + M}.${m}.${p}${pr}`; + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; + } else if (xp) { + ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; + } + debug2("xRange return", ret); + return ret; + }); + }; + var replaceStars = (comp, options) => { + debug2("replaceStars", comp, options); + return comp.trim().replace(re[t.STAR], ""); + }; + var replaceGTE0 = (comp, options) => { + debug2("replaceGTE0", comp, options); + return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); + }; + var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => { + if (isX(fM)) { + from = ""; + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? "-0" : ""}`; + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; + } else if (fpr) { + from = `>=${from}`; + } else { + from = `>=${from}${incPr ? "-0" : ""}`; + } + if (isX(tM)) { + to = ""; + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0`; + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0`; + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}`; + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0`; + } else { + to = `<=${to}`; + } + return `${from} ${to}`.trim(); + }; + var testSet = (set, version2, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version2)) { + return false; + } + } + if (version2.prerelease.length && !options.includePrerelease) { + for (let i = 0; i < set.length; i++) { + debug2(set[i].semver); + if (set[i].semver === Comparator.ANY) { + continue; + } + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver; + if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) { + return true; + } + } + } + return false; + } + return true; + }; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/classes/comparator.js +var require_comparator = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/classes/comparator.js"(exports, module2) { + var ANY = Symbol("SemVer ANY"); + var Comparator = class { + static get ANY() { + return ANY; + } + constructor(comp, options) { + options = parseOptions(options); + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp; + } else { + comp = comp.value; + } + } + debug2("comparator", comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + if (this.semver === ANY) { + this.value = ""; + } else { + this.value = this.operator + this.semver.version; + } + debug2("comp", this); + } + parse(comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; + const m = comp.match(r); + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`); + } + this.operator = m[1] !== void 0 ? m[1] : ""; + if (this.operator === "=") { + this.operator = ""; + } + if (!m[2]) { + this.semver = ANY; + } else { + this.semver = new SemVer(m[2], this.options.loose); + } + } + toString() { + return this.value; + } + test(version2) { + debug2("Comparator.test", version2, this.options.loose); + if (this.semver === ANY || version2 === ANY) { + return true; + } + if (typeof version2 === "string") { + try { + version2 = new SemVer(version2, this.options); + } catch (er) { + return false; + } + } + return cmp(version2, this.operator, this.semver, this.options); + } + intersects(comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError("a Comparator is required"); + } + if (this.operator === "") { + if (this.value === "") { + return true; + } + return new Range(comp.value, options).test(this.value); + } else if (comp.operator === "") { + if (comp.value === "") { + return true; + } + return new Range(this.value, options).test(comp.semver); + } + options = parseOptions(options); + if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { + return false; + } + if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { + return false; + } + if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { + return true; + } + if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { + return true; + } + if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { + return true; + } + if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { + return true; + } + if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { + return true; + } + return false; + } + }; + module2.exports = Comparator; + var parseOptions = require_parse_options(); + var { re, t } = require_re(); + var cmp = require_cmp(); + var debug2 = require_debug(); + var SemVer = require_semver(); + var Range = require_range(); + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/satisfies.js +var require_satisfies = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/functions/satisfies.js"(exports, module2) { + var Range = require_range(); + var satisfies = (version2, range, options) => { + try { + range = new Range(range, options); + } catch (er) { + return false; + } + return range.test(version2); + }; + module2.exports = satisfies; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/to-comparators.js +var require_to_comparators = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/to-comparators.js"(exports, module2) { + var Range = require_range(); + var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); + module2.exports = toComparators; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/max-satisfying.js +var require_max_satisfying = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/max-satisfying.js"(exports, module2) { + var SemVer = require_semver(); + var Range = require_range(); + var maxSatisfying = (versions, range, options) => { + let max = null; + let maxSV = null; + let rangeObj = null; + try { + rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + if (!max || maxSV.compare(v) === -1) { + max = v; + maxSV = new SemVer(max, options); + } + } + }); + return max; + }; + module2.exports = maxSatisfying; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/min-satisfying.js +var require_min_satisfying = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/min-satisfying.js"(exports, module2) { + var SemVer = require_semver(); + var Range = require_range(); + var minSatisfying = (versions, range, options) => { + let min = null; + let minSV = null; + let rangeObj = null; + try { + rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + if (!min || minSV.compare(v) === 1) { + min = v; + minSV = new SemVer(min, options); + } + } + }); + return min; + }; + module2.exports = minSatisfying; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/min-version.js +var require_min_version = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/min-version.js"(exports, module2) { + var SemVer = require_semver(); + var Range = require_range(); + var gt = require_gt(); + var minVersion = (range, loose) => { + range = new Range(range, loose); + let minver = new SemVer("0.0.0"); + if (range.test(minver)) { + return minver; + } + minver = new SemVer("0.0.0-0"); + if (range.test(minver)) { + return minver; + } + minver = null; + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i]; + let setMin = null; + comparators.forEach((comparator) => { + const compver = new SemVer(comparator.semver.version); + switch (comparator.operator) { + case ">": + if (compver.prerelease.length === 0) { + compver.patch++; + } else { + compver.prerelease.push(0); + } + compver.raw = compver.format(); + case "": + case ">=": + if (!setMin || gt(compver, setMin)) { + setMin = compver; + } + break; + case "<": + case "<=": + break; + default: + throw new Error(`Unexpected operation: ${comparator.operator}`); + } + }); + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin; + } + } + if (minver && range.test(minver)) { + return minver; + } + return null; + }; + module2.exports = minVersion; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/valid.js +var require_valid2 = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/valid.js"(exports, module2) { + var Range = require_range(); + var validRange = (range, options) => { + try { + return new Range(range, options).range || "*"; + } catch (er) { + return null; + } + }; + module2.exports = validRange; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/outside.js +var require_outside = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/outside.js"(exports, module2) { + var SemVer = require_semver(); + var Comparator = require_comparator(); + var { ANY } = Comparator; + var Range = require_range(); + var satisfies = require_satisfies(); + var gt = require_gt(); + var lt = require_lt(); + var lte = require_lte(); + var gte = require_gte(); + var outside = (version2, range, hilo, options) => { + version2 = new SemVer(version2, options); + range = new Range(range, options); + let gtfn, ltefn, ltfn, comp, ecomp; + switch (hilo) { + case ">": + gtfn = gt; + ltefn = lte; + ltfn = lt; + comp = ">"; + ecomp = ">="; + break; + case "<": + gtfn = lt; + ltefn = gte; + ltfn = gt; + comp = "<"; + ecomp = "<="; + break; + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } + if (satisfies(version2, range, options)) { + return false; + } + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i]; + let high = null; + let low = null; + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator(">=0.0.0"); + } + high = high || comparator; + low = low || comparator; + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); + if (high.operator === comp || high.operator === ecomp) { + return false; + } + if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) { + return false; + } else if (low.operator === ecomp && ltfn(version2, low.semver)) { + return false; + } + } + return true; + }; + module2.exports = outside; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/gtr.js +var require_gtr = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/gtr.js"(exports, module2) { + var outside = require_outside(); + var gtr = (version2, range, options) => outside(version2, range, ">", options); + module2.exports = gtr; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/ltr.js +var require_ltr = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/ltr.js"(exports, module2) { + var outside = require_outside(); + var ltr = (version2, range, options) => outside(version2, range, "<", options); + module2.exports = ltr; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/intersects.js +var require_intersects = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/intersects.js"(exports, module2) { + var Range = require_range(); + var intersects = (r1, r2, options) => { + r1 = new Range(r1, options); + r2 = new Range(r2, options); + return r1.intersects(r2, options); + }; + module2.exports = intersects; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/simplify.js +var require_simplify = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/simplify.js"(exports, module2) { + var satisfies = require_satisfies(); + var compare = require_compare(); + module2.exports = (versions, range, options) => { + const set = []; + let first = null; + let prev = null; + const v = versions.sort((a, b) => compare(a, b, options)); + for (const version2 of v) { + const included = satisfies(version2, range, options); + if (included) { + prev = version2; + if (!first) { + first = version2; + } + } else { + if (prev) { + set.push([first, prev]); + } + prev = null; + first = null; + } + } + if (first) { + set.push([first, null]); + } + const ranges = []; + for (const [min, max] of set) { + if (min === max) { + ranges.push(min); + } else if (!max && min === v[0]) { + ranges.push("*"); + } else if (!max) { + ranges.push(`>=${min}`); + } else if (min === v[0]) { + ranges.push(`<=${max}`); + } else { + ranges.push(`${min} - ${max}`); + } + } + const simplified = ranges.join(" || "); + const original = typeof range.raw === "string" ? range.raw : String(range); + return simplified.length < original.length ? simplified : range; + }; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/subset.js +var require_subset = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/ranges/subset.js"(exports, module2) { + var Range = require_range(); + var Comparator = require_comparator(); + var { ANY } = Comparator; + var satisfies = require_satisfies(); + var compare = require_compare(); + var subset = (sub, dom, options = {}) => { + if (sub === dom) { + return true; + } + sub = new Range(sub, options); + dom = new Range(dom, options); + let sawNonNull = false; + OUTER: + for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options); + sawNonNull = sawNonNull || isSub !== null; + if (isSub) { + continue OUTER; + } + } + if (sawNonNull) { + return false; + } + } + return true; + }; + var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")]; + var minimumVersion = [new Comparator(">=0.0.0")]; + var simpleSubset = (sub, dom, options) => { + if (sub === dom) { + return true; + } + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true; + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease; + } else { + sub = minimumVersion; + } + } + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true; + } else { + dom = minimumVersion; + } + } + const eqSet = /* @__PURE__ */ new Set(); + let gt, lt; + for (const c of sub) { + if (c.operator === ">" || c.operator === ">=") { + gt = higherGT(gt, c, options); + } else if (c.operator === "<" || c.operator === "<=") { + lt = lowerLT(lt, c, options); + } else { + eqSet.add(c.semver); + } + } + if (eqSet.size > 1) { + return null; + } + let gtltComp; + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options); + if (gtltComp > 0) { + return null; + } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) { + return null; + } + } + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) { + return null; + } + if (lt && !satisfies(eq, String(lt), options)) { + return null; + } + for (const c of dom) { + if (!satisfies(eq, String(c), options)) { + return false; + } + } + return true; + } + let higher, lower; + let hasDomLT, hasDomGT; + let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; + let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false; + } + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; + hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; + if (gt) { + if (needDomGTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { + needDomGTPre = false; + } + } + if (c.operator === ">" || c.operator === ">=") { + higher = higherGT(gt, c, options); + if (higher === c && higher !== gt) { + return false; + } + } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) { + return false; + } + } + if (lt) { + if (needDomLTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) { + needDomLTPre = false; + } + } + if (c.operator === "<" || c.operator === "<=") { + lower = lowerLT(lt, c, options); + if (lower === c && lower !== lt) { + return false; + } + } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) { + return false; + } + } + if (!c.operator && (lt || gt) && gtltComp !== 0) { + return false; + } + } + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false; + } + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false; + } + if (needDomGTPre || needDomLTPre) { + return false; + } + return true; + }; + var higherGT = (a, b, options) => { + if (!a) { + return b; + } + const comp = compare(a.semver, b.semver, options); + return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a; + }; + var lowerLT = (a, b, options) => { + if (!a) { + return b; + } + const comp = compare(a.semver, b.semver, options); + return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a; + }; + module2.exports = subset; + } +}); + +// .yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/index.js +var require_semver2 = __commonJS({ + ".yarn/cache/semver-npm-7.5.1-0736382fb9-20fce78943.zip/node_modules/semver/index.js"(exports, module2) { + var internalRe = require_re(); + var constants = require_constants(); + var SemVer = require_semver(); + var identifiers = require_identifiers(); + var parse = require_parse(); + var valid = require_valid(); + var clean = require_clean(); + var inc = require_inc(); + var diff = require_diff(); + var major = require_major(); + var minor = require_minor(); + var patch = require_patch(); + var prerelease = require_prerelease(); + var compare = require_compare(); + var rcompare = require_rcompare(); + var compareLoose = require_compare_loose(); + var compareBuild = require_compare_build(); + var sort = require_sort(); + var rsort = require_rsort(); + var gt = require_gt(); + var lt = require_lt(); + var eq = require_eq(); + var neq = require_neq(); + var gte = require_gte(); + var lte = require_lte(); + var cmp = require_cmp(); + var coerce = require_coerce(); + var Comparator = require_comparator(); + var Range = require_range(); + var satisfies = require_satisfies(); + var toComparators = require_to_comparators(); + var maxSatisfying = require_max_satisfying(); + var minSatisfying = require_min_satisfying(); + var minVersion = require_min_version(); + var validRange = require_valid2(); + var outside = require_outside(); + var gtr = require_gtr(); + var ltr = require_ltr(); + var intersects = require_intersects(); + var simplifyRange = require_simplify(); + var subset = require_subset(); + module2.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers + }; + } +}); + +// .yarn/cache/ms-npm-2.1.2-ec0c1512ff-3f46af60a0.zip/node_modules/ms/index.js +var require_ms = __commonJS({ + ".yarn/cache/ms-npm-2.1.2-ec0c1512ff-3f46af60a0.zip/node_modules/ms/index.js"(exports, module2) { + var s = 1e3; + var m = s * 60; + var h = m * 60; + var d = h * 24; + var w = d * 7; + var y = d * 365.25; + module2.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === "string" && val.length > 0) { + return parse(val); + } else if (type === "number" && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) + ); + }; + function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || "ms").toLowerCase(); + switch (type) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return n * y; + case "weeks": + case "week": + case "w": + return n * w; + case "days": + case "day": + case "d": + return n * d; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return n * h; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return n * m; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return n * s; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return n; + default: + return void 0; + } + } + function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + "d"; + } + if (msAbs >= h) { + return Math.round(ms / h) + "h"; + } + if (msAbs >= m) { + return Math.round(ms / m) + "m"; + } + if (msAbs >= s) { + return Math.round(ms / s) + "s"; + } + return ms + "ms"; + } + function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural2(ms, msAbs, d, "day"); + } + if (msAbs >= h) { + return plural2(ms, msAbs, h, "hour"); + } + if (msAbs >= m) { + return plural2(ms, msAbs, m, "minute"); + } + if (msAbs >= s) { + return plural2(ms, msAbs, s, "second"); + } + return ms + " ms"; + } + function plural2(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + } + } +}); + +// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js +var require_common = __commonJS({ + ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js"(exports, module2) { + function setup(env2) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require_ms(); + createDebug.destroy = destroy; + Object.keys(env2).forEach((key) => { + createDebug[key] = env2[key]; + }); + createDebug.names = []; + createDebug.skips = []; + createDebug.formatters = {}; + function selectColor(namespace) { + let hash = 0; + for (let i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; + } + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + function debug2(...args) { + if (!debug2.enabled) { + return; + } + const self2 = debug2; + const curr = Number(/* @__PURE__ */ new Date()); + const ms = curr - (prevTime || curr); + self2.diff = ms; + self2.prev = prevTime; + self2.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + if (typeof args[0] !== "string") { + args.unshift("%O"); + } + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + if (match === "%%") { + return "%"; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === "function") { + const val = args[index]; + match = formatter.call(self2, val); + args.splice(index, 1); + index--; + } + return match; + }); + createDebug.formatArgs.call(self2, args); + const logFn = self2.log || createDebug.log; + logFn.apply(self2, args); + } + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + return enabledCache; + }, + set: (v) => { + enableOverride = v; + } + }); + if (typeof createDebug.init === "function") { + createDebug.init(debug2); + } + return debug2; + } + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + createDebug.names = []; + createDebug.skips = []; + let i; + const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); + const len = split.length; + for (i = 0; i < len; i++) { + if (!split[i]) { + continue; + } + namespaces = split[i].replace(/\*/g, ".*?"); + if (namespaces[0] === "-") { + createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); + } else { + createDebug.names.push(new RegExp("^" + namespaces + "$")); + } + } + } + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) + ].join(","); + createDebug.enable(""); + return namespaces; + } + function enabled(name) { + if (name[name.length - 1] === "*") { + return true; + } + let i; + let len; + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + return false; + } + function toNamespace(regexp) { + return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); + } + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + function destroy() { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + createDebug.enable(createDebug.load()); + return createDebug; + } + module2.exports = setup; + } +}); + +// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js +var require_browser = __commonJS({ + ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js"(exports, module2) { + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = localstorage(); + exports.destroy = (() => { + let warned = false; + return () => { + if (!warned) { + warned = true; + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + }; + })(); + exports.colors = [ + "#0000CC", + "#0000FF", + "#0033CC", + "#0033FF", + "#0066CC", + "#0066FF", + "#0099CC", + "#0099FF", + "#00CC00", + "#00CC33", + "#00CC66", + "#00CC99", + "#00CCCC", + "#00CCFF", + "#3300CC", + "#3300FF", + "#3333CC", + "#3333FF", + "#3366CC", + "#3366FF", + "#3399CC", + "#3399FF", + "#33CC00", + "#33CC33", + "#33CC66", + "#33CC99", + "#33CCCC", + "#33CCFF", + "#6600CC", + "#6600FF", + "#6633CC", + "#6633FF", + "#66CC00", + "#66CC33", + "#9900CC", + "#9900FF", + "#9933CC", + "#9933FF", + "#99CC00", + "#99CC33", + "#CC0000", + "#CC0033", + "#CC0066", + "#CC0099", + "#CC00CC", + "#CC00FF", + "#CC3300", + "#CC3333", + "#CC3366", + "#CC3399", + "#CC33CC", + "#CC33FF", + "#CC6600", + "#CC6633", + "#CC9900", + "#CC9933", + "#CCCC00", + "#CCCC33", + "#FF0000", + "#FF0033", + "#FF0066", + "#FF0099", + "#FF00CC", + "#FF00FF", + "#FF3300", + "#FF3333", + "#FF3366", + "#FF3399", + "#FF33CC", + "#FF33FF", + "#FF6600", + "#FF6633", + "#FF9900", + "#FF9933", + "#FFCC00", + "#FFCC33" + ]; + function useColors() { + if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { + return true; + } + if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + } + function formatArgs(args) { + args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); + if (!this.useColors) { + return; + } + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, (match) => { + if (match === "%%") { + return; + } + index++; + if (match === "%c") { + lastC = index; + } + }); + args.splice(lastC, 0, c); + } + exports.log = console.debug || console.log || (() => { + }); + function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem("debug", namespaces); + } else { + exports.storage.removeItem("debug"); + } + } catch (error) { + } + } + function load() { + let r; + try { + r = exports.storage.getItem("debug"); + } catch (error) { + } + if (!r && typeof process !== "undefined" && "env" in process) { + r = process.env.DEBUG; + } + return r; + } + function localstorage() { + try { + return localStorage; + } catch (error) { + } + } + module2.exports = require_common()(exports); + var { formatters } = module2.exports; + formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (error) { + return "[UnexpectedJSONParseError]: " + error.message; + } + }; + } +}); + +// .yarn/cache/supports-color-npm-9.3.1-08866b3304-4c447d3aff.zip/node_modules/supports-color/index.js +var supports_color_exports = {}; +__export(supports_color_exports, { + createSupportsColor: () => createSupportsColor, + default: () => supports_color_default +}); +function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) { + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf("--"); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +} +function envForceColor() { + if ("FORCE_COLOR" in env) { + if (env.FORCE_COLOR === "true") { + return 1; + } + if (env.FORCE_COLOR === "false") { + return 0; + } + return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); + } +} +function translateLevel(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} +function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { + const noFlagForceColor = envForceColor(); + if (noFlagForceColor !== void 0) { + flagForceColor = noFlagForceColor; + } + const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; + if (forceColor === 0) { + return 0; + } + if (sniffFlags) { + if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { + return 3; + } + if (hasFlag("color=256")) { + return 2; + } + } + if ("TF_BUILD" in env && "AGENT_NAME" in env) { + return 1; + } + if (haveStream && !streamIsTTY && forceColor === void 0) { + return 0; + } + const min = forceColor || 0; + if (env.TERM === "dumb") { + return min; + } + if (import_node_process.default.platform === "win32") { + const osRelease = import_node_os.default.release().split("."); + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + return 1; + } + if ("CI" in env) { + if ("GITHUB_ACTIONS" in env) { + return 3; + } + if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { + return 1; + } + return min; + } + if ("TEAMCITY_VERSION" in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + if (env.COLORTERM === "truecolor") { + return 3; + } + if (env.TERM === "xterm-kitty") { + return 3; + } + if ("TERM_PROGRAM" in env) { + const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env.TERM_PROGRAM) { + case "iTerm.app": { + return version2 >= 3 ? 3 : 2; + } + case "Apple_Terminal": { + return 2; + } + } + } + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + if ("COLORTERM" in env) { + return 1; + } + return min; +} +function createSupportsColor(stream, options = {}) { + const level = _supportsColor(stream, { + streamIsTTY: stream && stream.isTTY, + ...options + }); + return translateLevel(level); +} +var import_node_process, import_node_os, import_node_tty, env, flagForceColor, supportsColor, supports_color_default; +var init_supports_color = __esm({ + ".yarn/cache/supports-color-npm-9.3.1-08866b3304-4c447d3aff.zip/node_modules/supports-color/index.js"() { + import_node_process = __toESM(require("node:process"), 1); + import_node_os = __toESM(require("node:os"), 1); + import_node_tty = __toESM(require("node:tty"), 1); + ({ env } = import_node_process.default); + if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { + flagForceColor = 0; + } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { + flagForceColor = 1; + } + supportsColor = { + stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }), + stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) }) + }; + supports_color_default = supportsColor; + } +}); + +// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js +var require_node = __commonJS({ + ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js"(exports, module2) { + var tty3 = require("tty"); + var util = require("util"); + exports.init = init; + exports.log = log2; + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.destroy = util.deprecate( + () => { + }, + "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." + ); + exports.colors = [6, 2, 3, 4, 5, 1]; + try { + const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports)); + if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } + } catch (error) { + } + exports.inspectOpts = Object.keys(process.env).filter((key) => { + return /^debug_/i.test(key); + }).reduce((obj, key) => { + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === "null") { + val = null; + } else { + val = Number(val); + } + obj[prop] = val; + return obj; + }, {}); + function useColors() { + return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty3.isatty(process.stderr.fd); + } + function formatArgs(args) { + const { namespace: name, useColors: useColors2 } = this; + if (useColors2) { + const c = this.color; + const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); + const prefix = ` ${colorCode};1m${name} \x1B[0m`; + args[0] = prefix + args[0].split("\n").join("\n" + prefix); + args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); + } else { + args[0] = getDate() + name + " " + args[0]; + } + } + function getDate() { + if (exports.inspectOpts.hideDate) { + return ""; + } + return (/* @__PURE__ */ new Date()).toISOString() + " "; + } + function log2(...args) { + return process.stderr.write(util.format(...args) + "\n"); + } + function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + delete process.env.DEBUG; + } + } + function load() { + return process.env.DEBUG; + } + function init(debug2) { + debug2.inspectOpts = {}; + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug2.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } + } + module2.exports = require_common()(exports); + var { formatters } = module2.exports; + formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + }; + formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); + }; + } +}); + +// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js +var require_src = __commonJS({ + ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js"(exports, module2) { + if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { + module2.exports = require_browser(); + } else { + module2.exports = require_node(); + } + } +}); + +// .yarn/cache/lru-cache-npm-7.18.3-e68be5b11c-884c7cb519.zip/node_modules/lru-cache/index.js +var require_lru_cache2 = __commonJS({ + ".yarn/cache/lru-cache-npm-7.18.3-e68be5b11c-884c7cb519.zip/node_modules/lru-cache/index.js"(exports, module2) { + var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date; + var hasAbortController = typeof AbortController === "function"; + var AC = hasAbortController ? AbortController : class AbortController { + constructor() { + this.signal = new AS(); + } + abort(reason = new Error("This operation was aborted")) { + this.signal.reason = this.signal.reason || reason; + this.signal.aborted = true; + this.signal.dispatchEvent({ + type: "abort", + target: this.signal + }); + } + }; + var hasAbortSignal = typeof AbortSignal === "function"; + var hasACAbortSignal = typeof AC.AbortSignal === "function"; + var AS = hasAbortSignal ? AbortSignal : hasACAbortSignal ? AC.AbortController : class AbortSignal { + constructor() { + this.reason = void 0; + this.aborted = false; + this._listeners = []; + } + dispatchEvent(e) { + if (e.type === "abort") { + this.aborted = true; + this.onabort(e); + this._listeners.forEach((f) => f(e), this); + } + } + onabort() { + } + addEventListener(ev, fn2) { + if (ev === "abort") { + this._listeners.push(fn2); + } + } + removeEventListener(ev, fn2) { + if (ev === "abort") { + this._listeners = this._listeners.filter((f) => f !== fn2); + } + } + }; + var warned = /* @__PURE__ */ new Set(); + var deprecatedOption = (opt, instead) => { + const code = `LRU_CACHE_OPTION_${opt}`; + if (shouldWarn(code)) { + warn(code, `${opt} option`, `options.${instead}`, LRUCache); + } + }; + var deprecatedMethod = (method, instead) => { + const code = `LRU_CACHE_METHOD_${method}`; + if (shouldWarn(code)) { + const { prototype } = LRUCache; + const { get } = Object.getOwnPropertyDescriptor(prototype, method); + warn(code, `${method} method`, `cache.${instead}()`, get); + } + }; + var deprecatedProperty = (field, instead) => { + const code = `LRU_CACHE_PROPERTY_${field}`; + if (shouldWarn(code)) { + const { prototype } = LRUCache; + const { get } = Object.getOwnPropertyDescriptor(prototype, field); + warn(code, `${field} property`, `cache.${instead}`, get); + } + }; + var emitWarning = (...a) => { + typeof process === "object" && process && typeof process.emitWarning === "function" ? process.emitWarning(...a) : console.error(...a); + }; + var shouldWarn = (code) => !warned.has(code); + var warn = (code, what, instead, fn2) => { + warned.add(code); + const msg = `The ${what} is deprecated. Please use ${instead} instead.`; + emitWarning(msg, "DeprecationWarning", code, fn2); + }; + var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); + var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null; + var ZeroArray = class extends Array { + constructor(size) { + super(size); + this.fill(0); + } + }; + var Stack = class { + constructor(max) { + if (max === 0) { + return []; + } + const UintArray = getUintArray(max); + this.heap = new UintArray(max); + this.length = 0; + } + push(n) { + this.heap[this.length++] = n; + } + pop() { + return this.heap[--this.length]; + } + }; + var LRUCache = class { + constructor(options = {}) { + const { + max = 0, + ttl, + ttlResolution = 1, + ttlAutopurge, + updateAgeOnGet, + updateAgeOnHas, + allowStale, + dispose, + disposeAfter, + noDisposeOnSet, + noUpdateTTL, + maxSize = 0, + maxEntrySize = 0, + sizeCalculation, + fetchMethod, + fetchContext, + noDeleteOnFetchRejection, + noDeleteOnStaleGet, + allowStaleOnFetchRejection, + allowStaleOnFetchAbort, + ignoreFetchAbort + } = options; + const { length, maxAge, stale } = options instanceof LRUCache ? {} : options; + if (max !== 0 && !isPosInt(max)) { + throw new TypeError("max option must be a nonnegative integer"); + } + const UintArray = max ? getUintArray(max) : Array; + if (!UintArray) { + throw new Error("invalid max value: " + max); + } + this.max = max; + this.maxSize = maxSize; + this.maxEntrySize = maxEntrySize || this.maxSize; + this.sizeCalculation = sizeCalculation || length; + if (this.sizeCalculation) { + if (!this.maxSize && !this.maxEntrySize) { + throw new TypeError( + "cannot set sizeCalculation without setting maxSize or maxEntrySize" + ); + } + if (typeof this.sizeCalculation !== "function") { + throw new TypeError("sizeCalculation set to non-function"); + } + } + this.fetchMethod = fetchMethod || null; + if (this.fetchMethod && typeof this.fetchMethod !== "function") { + throw new TypeError( + "fetchMethod must be a function if specified" + ); + } + this.fetchContext = fetchContext; + if (!this.fetchMethod && fetchContext !== void 0) { + throw new TypeError( + "cannot set fetchContext without fetchMethod" + ); + } + this.keyMap = /* @__PURE__ */ new Map(); + this.keyList = new Array(max).fill(null); + this.valList = new Array(max).fill(null); + this.next = new UintArray(max); + this.prev = new UintArray(max); + this.head = 0; + this.tail = 0; + this.free = new Stack(max); + this.initialFill = 1; + this.size = 0; + if (typeof dispose === "function") { + this.dispose = dispose; + } + if (typeof disposeAfter === "function") { + this.disposeAfter = disposeAfter; + this.disposed = []; + } else { + this.disposeAfter = null; + this.disposed = null; + } + this.noDisposeOnSet = !!noDisposeOnSet; + this.noUpdateTTL = !!noUpdateTTL; + this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; + this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; + this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; + this.ignoreFetchAbort = !!ignoreFetchAbort; + if (this.maxEntrySize !== 0) { + if (this.maxSize !== 0) { + if (!isPosInt(this.maxSize)) { + throw new TypeError( + "maxSize must be a positive integer if specified" + ); + } + } + if (!isPosInt(this.maxEntrySize)) { + throw new TypeError( + "maxEntrySize must be a positive integer if specified" + ); + } + this.initializeSizeTracking(); + } + this.allowStale = !!allowStale || !!stale; + this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; + this.updateAgeOnGet = !!updateAgeOnGet; + this.updateAgeOnHas = !!updateAgeOnHas; + this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1; + this.ttlAutopurge = !!ttlAutopurge; + this.ttl = ttl || maxAge || 0; + if (this.ttl) { + if (!isPosInt(this.ttl)) { + throw new TypeError( + "ttl must be a positive integer if specified" + ); + } + this.initializeTTLTracking(); + } + if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) { + throw new TypeError( + "At least one of max, maxSize, or ttl is required" + ); + } + if (!this.ttlAutopurge && !this.max && !this.maxSize) { + const code = "LRU_CACHE_UNBOUNDED"; + if (shouldWarn(code)) { + warned.add(code); + const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption."; + emitWarning(msg, "UnboundedCacheWarning", code, LRUCache); + } + } + if (stale) { + deprecatedOption("stale", "allowStale"); + } + if (maxAge) { + deprecatedOption("maxAge", "ttl"); + } + if (length) { + deprecatedOption("length", "sizeCalculation"); + } + } + getRemainingTTL(key) { + return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0; + } + initializeTTLTracking() { + this.ttls = new ZeroArray(this.max); + this.starts = new ZeroArray(this.max); + this.setItemTTL = (index, ttl, start = perf.now()) => { + this.starts[index] = ttl !== 0 ? start : 0; + this.ttls[index] = ttl; + if (ttl !== 0 && this.ttlAutopurge) { + const t = setTimeout(() => { + if (this.isStale(index)) { + this.delete(this.keyList[index]); + } + }, ttl + 1); + if (t.unref) { + t.unref(); + } + } + }; + this.updateItemAge = (index) => { + this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0; + }; + this.statusTTL = (status, index) => { + if (status) { + status.ttl = this.ttls[index]; + status.start = this.starts[index]; + status.now = cachedNow || getNow(); + status.remainingTTL = status.now + status.ttl - status.start; + } + }; + let cachedNow = 0; + const getNow = () => { + const n = perf.now(); + if (this.ttlResolution > 0) { + cachedNow = n; + const t = setTimeout( + () => cachedNow = 0, + this.ttlResolution + ); + if (t.unref) { + t.unref(); + } + } + return n; + }; + this.getRemainingTTL = (key) => { + const index = this.keyMap.get(key); + if (index === void 0) { + return 0; + } + return this.ttls[index] === 0 || this.starts[index] === 0 ? Infinity : this.starts[index] + this.ttls[index] - (cachedNow || getNow()); + }; + this.isStale = (index) => { + return this.ttls[index] !== 0 && this.starts[index] !== 0 && (cachedNow || getNow()) - this.starts[index] > this.ttls[index]; + }; + } + updateItemAge(_index) { + } + statusTTL(_status, _index) { + } + setItemTTL(_index, _ttl, _start) { + } + isStale(_index) { + return false; + } + initializeSizeTracking() { + this.calculatedSize = 0; + this.sizes = new ZeroArray(this.max); + this.removeItemSize = (index) => { + this.calculatedSize -= this.sizes[index]; + this.sizes[index] = 0; + }; + this.requireSize = (k, v, size, sizeCalculation) => { + if (this.isBackgroundFetch(v)) { + return 0; + } + if (!isPosInt(size)) { + if (sizeCalculation) { + if (typeof sizeCalculation !== "function") { + throw new TypeError("sizeCalculation must be a function"); + } + size = sizeCalculation(v, k); + if (!isPosInt(size)) { + throw new TypeError( + "sizeCalculation return invalid (expect positive integer)" + ); + } + } else { + throw new TypeError( + "invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set." + ); + } + } + return size; + }; + this.addItemSize = (index, size, status) => { + this.sizes[index] = size; + if (this.maxSize) { + const maxSize = this.maxSize - this.sizes[index]; + while (this.calculatedSize > maxSize) { + this.evict(true); + } + } + this.calculatedSize += this.sizes[index]; + if (status) { + status.entrySize = size; + status.totalCalculatedSize = this.calculatedSize; + } + }; + } + removeItemSize(_index) { + } + addItemSize(_index, _size) { + } + requireSize(_k, _v, size, sizeCalculation) { + if (size || sizeCalculation) { + throw new TypeError( + "cannot set size without setting maxSize or maxEntrySize on cache" + ); + } + } + *indexes({ allowStale = this.allowStale } = {}) { + if (this.size) { + for (let i = this.tail; true; ) { + if (!this.isValidIndex(i)) { + break; + } + if (allowStale || !this.isStale(i)) { + yield i; + } + if (i === this.head) { + break; + } else { + i = this.prev[i]; + } + } + } + } + *rindexes({ allowStale = this.allowStale } = {}) { + if (this.size) { + for (let i = this.head; true; ) { + if (!this.isValidIndex(i)) { + break; + } + if (allowStale || !this.isStale(i)) { + yield i; + } + if (i === this.tail) { + break; + } else { + i = this.next[i]; + } + } + } + } + isValidIndex(index) { + return index !== void 0 && this.keyMap.get(this.keyList[index]) === index; + } + *entries() { + for (const i of this.indexes()) { + if (this.valList[i] !== void 0 && this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { + yield [this.keyList[i], this.valList[i]]; + } + } + } + *rentries() { + for (const i of this.rindexes()) { + if (this.valList[i] !== void 0 && this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { + yield [this.keyList[i], this.valList[i]]; + } + } + } + *keys() { + for (const i of this.indexes()) { + if (this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { + yield this.keyList[i]; + } + } + } + *rkeys() { + for (const i of this.rindexes()) { + if (this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { + yield this.keyList[i]; + } + } + } + *values() { + for (const i of this.indexes()) { + if (this.valList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { + yield this.valList[i]; + } + } + } + *rvalues() { + for (const i of this.rindexes()) { + if (this.valList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { + yield this.valList[i]; + } + } + } + [Symbol.iterator]() { + return this.entries(); + } + find(fn2, getOptions) { + for (const i of this.indexes()) { + const v = this.valList[i]; + const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; + if (value === void 0) + continue; + if (fn2(value, this.keyList[i], this)) { + return this.get(this.keyList[i], getOptions); + } + } + } + forEach(fn2, thisp = this) { + for (const i of this.indexes()) { + const v = this.valList[i]; + const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; + if (value === void 0) + continue; + fn2.call(thisp, value, this.keyList[i], this); + } + } + rforEach(fn2, thisp = this) { + for (const i of this.rindexes()) { + const v = this.valList[i]; + const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; + if (value === void 0) + continue; + fn2.call(thisp, value, this.keyList[i], this); + } + } + get prune() { + deprecatedMethod("prune", "purgeStale"); + return this.purgeStale; + } + purgeStale() { + let deleted = false; + for (const i of this.rindexes({ allowStale: true })) { + if (this.isStale(i)) { + this.delete(this.keyList[i]); + deleted = true; + } + } + return deleted; + } + dump() { + const arr = []; + for (const i of this.indexes({ allowStale: true })) { + const key = this.keyList[i]; + const v = this.valList[i]; + const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; + if (value === void 0) + continue; + const entry = { value }; + if (this.ttls) { + entry.ttl = this.ttls[i]; + const age = perf.now() - this.starts[i]; + entry.start = Math.floor(Date.now() - age); + } + if (this.sizes) { + entry.size = this.sizes[i]; + } + arr.unshift([key, entry]); + } + return arr; + } + load(arr) { + this.clear(); + for (const [key, entry] of arr) { + if (entry.start) { + const age = Date.now() - entry.start; + entry.start = perf.now() - age; + } + this.set(key, entry.value, entry); + } + } + dispose(_v, _k, _reason) { + } + set(k, v, { + ttl = this.ttl, + start, + noDisposeOnSet = this.noDisposeOnSet, + size = 0, + sizeCalculation = this.sizeCalculation, + noUpdateTTL = this.noUpdateTTL, + status + } = {}) { + size = this.requireSize(k, v, size, sizeCalculation); + if (this.maxEntrySize && size > this.maxEntrySize) { + if (status) { + status.set = "miss"; + status.maxEntrySizeExceeded = true; + } + this.delete(k); + return this; + } + let index = this.size === 0 ? void 0 : this.keyMap.get(k); + if (index === void 0) { + index = this.newIndex(); + this.keyList[index] = k; + this.valList[index] = v; + this.keyMap.set(k, index); + this.next[this.tail] = index; + this.prev[index] = this.tail; + this.tail = index; + this.size++; + this.addItemSize(index, size, status); + if (status) { + status.set = "add"; + } + noUpdateTTL = false; + } else { + this.moveToTail(index); + const oldVal = this.valList[index]; + if (v !== oldVal) { + if (this.isBackgroundFetch(oldVal)) { + oldVal.__abortController.abort(new Error("replaced")); + } else { + if (!noDisposeOnSet) { + this.dispose(oldVal, k, "set"); + if (this.disposeAfter) { + this.disposed.push([oldVal, k, "set"]); + } + } + } + this.removeItemSize(index); + this.valList[index] = v; + this.addItemSize(index, size, status); + if (status) { + status.set = "replace"; + const oldValue = oldVal && this.isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal; + if (oldValue !== void 0) + status.oldValue = oldValue; + } + } else if (status) { + status.set = "update"; + } + } + if (ttl !== 0 && this.ttl === 0 && !this.ttls) { + this.initializeTTLTracking(); + } + if (!noUpdateTTL) { + this.setItemTTL(index, ttl, start); + } + this.statusTTL(status, index); + if (this.disposeAfter) { + while (this.disposed.length) { + this.disposeAfter(...this.disposed.shift()); + } + } + return this; + } + newIndex() { + if (this.size === 0) { + return this.tail; + } + if (this.size === this.max && this.max !== 0) { + return this.evict(false); + } + if (this.free.length !== 0) { + return this.free.pop(); + } + return this.initialFill++; + } + pop() { + if (this.size) { + const val = this.valList[this.head]; + this.evict(true); + return val; + } + } + evict(free) { + const head = this.head; + const k = this.keyList[head]; + const v = this.valList[head]; + if (this.isBackgroundFetch(v)) { + v.__abortController.abort(new Error("evicted")); + } else { + this.dispose(v, k, "evict"); + if (this.disposeAfter) { + this.disposed.push([v, k, "evict"]); + } + } + this.removeItemSize(head); + if (free) { + this.keyList[head] = null; + this.valList[head] = null; + this.free.push(head); + } + this.head = this.next[head]; + this.keyMap.delete(k); + this.size--; + return head; + } + has(k, { updateAgeOnHas = this.updateAgeOnHas, status } = {}) { + const index = this.keyMap.get(k); + if (index !== void 0) { + if (!this.isStale(index)) { + if (updateAgeOnHas) { + this.updateItemAge(index); + } + if (status) + status.has = "hit"; + this.statusTTL(status, index); + return true; + } else if (status) { + status.has = "stale"; + this.statusTTL(status, index); + } + } else if (status) { + status.has = "miss"; + } + return false; + } + // like get(), but without any LRU updating or TTL expiration + peek(k, { allowStale = this.allowStale } = {}) { + const index = this.keyMap.get(k); + if (index !== void 0 && (allowStale || !this.isStale(index))) { + const v = this.valList[index]; + return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; + } + } + backgroundFetch(k, index, options, context) { + const v = index === void 0 ? void 0 : this.valList[index]; + if (this.isBackgroundFetch(v)) { + return v; + } + const ac = new AC(); + if (options.signal) { + options.signal.addEventListener( + "abort", + () => ac.abort(options.signal.reason) + ); + } + const fetchOpts = { + signal: ac.signal, + options, + context + }; + const cb = (v2, updateCache = false) => { + const { aborted } = ac.signal; + const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0; + if (options.status) { + if (aborted && !updateCache) { + options.status.fetchAborted = true; + options.status.fetchError = ac.signal.reason; + if (ignoreAbort) + options.status.fetchAbortIgnored = true; + } else { + options.status.fetchResolved = true; + } + } + if (aborted && !ignoreAbort && !updateCache) { + return fetchFail(ac.signal.reason); + } + if (this.valList[index] === p) { + if (v2 === void 0) { + if (p.__staleWhileFetching) { + this.valList[index] = p.__staleWhileFetching; + } else { + this.delete(k); + } + } else { + if (options.status) + options.status.fetchUpdated = true; + this.set(k, v2, fetchOpts.options); + } + } + return v2; + }; + const eb = (er) => { + if (options.status) { + options.status.fetchRejected = true; + options.status.fetchError = er; + } + return fetchFail(er); + }; + const fetchFail = (er) => { + const { aborted } = ac.signal; + const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; + const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; + const noDelete = allowStale || options.noDeleteOnFetchRejection; + if (this.valList[index] === p) { + const del = !noDelete || p.__staleWhileFetching === void 0; + if (del) { + this.delete(k); + } else if (!allowStaleAborted) { + this.valList[index] = p.__staleWhileFetching; + } + } + if (allowStale) { + if (options.status && p.__staleWhileFetching !== void 0) { + options.status.returnedStale = true; + } + return p.__staleWhileFetching; + } else if (p.__returned === p) { + throw er; + } + }; + const pcall = (res, rej) => { + this.fetchMethod(k, v, fetchOpts).then((v2) => res(v2), rej); + ac.signal.addEventListener("abort", () => { + if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) { + res(); + if (options.allowStaleOnFetchAbort) { + res = (v2) => cb(v2, true); + } + } + }); + }; + if (options.status) + options.status.fetchDispatched = true; + const p = new Promise(pcall).then(cb, eb); + p.__abortController = ac; + p.__staleWhileFetching = v; + p.__returned = null; + if (index === void 0) { + this.set(k, p, { ...fetchOpts.options, status: void 0 }); + index = this.keyMap.get(k); + } else { + this.valList[index] = p; + } + return p; + } + isBackgroundFetch(p) { + return p && typeof p === "object" && typeof p.then === "function" && Object.prototype.hasOwnProperty.call( + p, + "__staleWhileFetching" + ) && Object.prototype.hasOwnProperty.call(p, "__returned") && (p.__returned === p || p.__returned === null); + } + // this takes the union of get() and set() opts, because it does both + async fetch(k, { + // get options + allowStale = this.allowStale, + updateAgeOnGet = this.updateAgeOnGet, + noDeleteOnStaleGet = this.noDeleteOnStaleGet, + // set options + ttl = this.ttl, + noDisposeOnSet = this.noDisposeOnSet, + size = 0, + sizeCalculation = this.sizeCalculation, + noUpdateTTL = this.noUpdateTTL, + // fetch exclusive options + noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, + allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, + ignoreFetchAbort = this.ignoreFetchAbort, + allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, + fetchContext = this.fetchContext, + forceRefresh = false, + status, + signal + } = {}) { + if (!this.fetchMethod) { + if (status) + status.fetch = "get"; + return this.get(k, { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + status + }); + } + const options = { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + ttl, + noDisposeOnSet, + size, + sizeCalculation, + noUpdateTTL, + noDeleteOnFetchRejection, + allowStaleOnFetchRejection, + allowStaleOnFetchAbort, + ignoreFetchAbort, + status, + signal + }; + let index = this.keyMap.get(k); + if (index === void 0) { + if (status) + status.fetch = "miss"; + const p = this.backgroundFetch(k, index, options, fetchContext); + return p.__returned = p; + } else { + const v = this.valList[index]; + if (this.isBackgroundFetch(v)) { + const stale = allowStale && v.__staleWhileFetching !== void 0; + if (status) { + status.fetch = "inflight"; + if (stale) + status.returnedStale = true; + } + return stale ? v.__staleWhileFetching : v.__returned = v; + } + const isStale = this.isStale(index); + if (!forceRefresh && !isStale) { + if (status) + status.fetch = "hit"; + this.moveToTail(index); + if (updateAgeOnGet) { + this.updateItemAge(index); + } + this.statusTTL(status, index); + return v; + } + const p = this.backgroundFetch(k, index, options, fetchContext); + const hasStale = p.__staleWhileFetching !== void 0; + const staleVal = hasStale && allowStale; + if (status) { + status.fetch = hasStale && isStale ? "stale" : "refresh"; + if (staleVal && isStale) + status.returnedStale = true; + } + return staleVal ? p.__staleWhileFetching : p.__returned = p; + } + } + get(k, { + allowStale = this.allowStale, + updateAgeOnGet = this.updateAgeOnGet, + noDeleteOnStaleGet = this.noDeleteOnStaleGet, + status + } = {}) { + const index = this.keyMap.get(k); + if (index !== void 0) { + const value = this.valList[index]; + const fetching = this.isBackgroundFetch(value); + this.statusTTL(status, index); + if (this.isStale(index)) { + if (status) + status.get = "stale"; + if (!fetching) { + if (!noDeleteOnStaleGet) { + this.delete(k); + } + if (status) + status.returnedStale = allowStale; + return allowStale ? value : void 0; + } else { + if (status) { + status.returnedStale = allowStale && value.__staleWhileFetching !== void 0; + } + return allowStale ? value.__staleWhileFetching : void 0; + } + } else { + if (status) + status.get = "hit"; + if (fetching) { + return value.__staleWhileFetching; + } + this.moveToTail(index); + if (updateAgeOnGet) { + this.updateItemAge(index); + } + return value; + } + } else if (status) { + status.get = "miss"; + } + } + connect(p, n) { + this.prev[n] = p; + this.next[p] = n; + } + moveToTail(index) { + if (index !== this.tail) { + if (index === this.head) { + this.head = this.next[index]; + } else { + this.connect(this.prev[index], this.next[index]); + } + this.connect(this.tail, index); + this.tail = index; + } + } + get del() { + deprecatedMethod("del", "delete"); + return this.delete; + } + delete(k) { + let deleted = false; + if (this.size !== 0) { + const index = this.keyMap.get(k); + if (index !== void 0) { + deleted = true; + if (this.size === 1) { + this.clear(); + } else { + this.removeItemSize(index); + const v = this.valList[index]; + if (this.isBackgroundFetch(v)) { + v.__abortController.abort(new Error("deleted")); + } else { + this.dispose(v, k, "delete"); + if (this.disposeAfter) { + this.disposed.push([v, k, "delete"]); + } + } + this.keyMap.delete(k); + this.keyList[index] = null; + this.valList[index] = null; + if (index === this.tail) { + this.tail = this.prev[index]; + } else if (index === this.head) { + this.head = this.next[index]; + } else { + this.next[this.prev[index]] = this.next[index]; + this.prev[this.next[index]] = this.prev[index]; + } + this.size--; + this.free.push(index); + } + } + } + if (this.disposed) { + while (this.disposed.length) { + this.disposeAfter(...this.disposed.shift()); + } + } + return deleted; + } + clear() { + for (const index of this.rindexes({ allowStale: true })) { + const v = this.valList[index]; + if (this.isBackgroundFetch(v)) { + v.__abortController.abort(new Error("deleted")); + } else { + const k = this.keyList[index]; + this.dispose(v, k, "delete"); + if (this.disposeAfter) { + this.disposed.push([v, k, "delete"]); + } + } + } + this.keyMap.clear(); + this.valList.fill(null); + this.keyList.fill(null); + if (this.ttls) { + this.ttls.fill(0); + this.starts.fill(0); + } + if (this.sizes) { + this.sizes.fill(0); + } + this.head = 0; + this.tail = 0; + this.initialFill = 1; + this.free.length = 0; + this.calculatedSize = 0; + this.size = 0; + if (this.disposed) { + while (this.disposed.length) { + this.disposeAfter(...this.disposed.shift()); + } + } + } + get reset() { + deprecatedMethod("reset", "clear"); + return this.clear; + } + get length() { + deprecatedProperty("length", "size"); + return this.size; + } + static get AbortController() { + return AC; + } + static get AbortSignal() { + return AS; + } + }; + module2.exports = LRUCache; + } +}); + +// .yarn/cache/agent-base-npm-7.0.2-13f6445b9c-a2971dc644.zip/node_modules/agent-base/dist/helpers.js +var require_helpers = __commonJS({ + ".yarn/cache/agent-base-npm-7.0.2-13f6445b9c-a2971dc644.zip/node_modules/agent-base/dist/helpers.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.req = exports.json = exports.toBuffer = void 0; + var http = __importStar2(require("http")); + var https = __importStar2(require("https")); + async function toBuffer(stream) { + let length = 0; + const chunks = []; + for await (const chunk of stream) { + length += chunk.length; + chunks.push(chunk); + } + return Buffer.concat(chunks, length); + } + exports.toBuffer = toBuffer; + async function json(stream) { + const buf = await toBuffer(stream); + const str = buf.toString("utf8"); + try { + return JSON.parse(str); + } catch (_err) { + const err = _err; + err.message += ` (input: ${str})`; + throw err; + } + } + exports.json = json; + function req(url, opts = {}) { + const href = typeof url === "string" ? url : url.href; + const req2 = (href.startsWith("https:") ? https : http).request(url, opts); + const promise = new Promise((resolve, reject) => { + req2.once("response", resolve).once("error", reject).end(); + }); + req2.then = promise.then.bind(promise); + return req2; + } + exports.req = req; + } +}); + +// .yarn/cache/agent-base-npm-7.0.2-13f6445b9c-a2971dc644.zip/node_modules/agent-base/dist/index.js +var require_dist = __commonJS({ + ".yarn/cache/agent-base-npm-7.0.2-13f6445b9c-a2971dc644.zip/node_modules/agent-base/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __exportStar2 = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding2(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Agent = void 0; + var http = __importStar2(require("http")); + __exportStar2(require_helpers(), exports); + function isSecureEndpoint() { + const { stack } = new Error(); + if (typeof stack !== "string") + return false; + return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1); + } + var INTERNAL = Symbol("AgentBaseInternalState"); + var Agent = class extends http.Agent { + constructor(opts) { + super(opts); + this[INTERNAL] = {}; + } + createSocket(req, options, cb) { + let secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : void 0; + if (typeof secureEndpoint === "undefined" && typeof options.protocol === "string") { + secureEndpoint = options.protocol === "https:"; + } + if (typeof secureEndpoint === "undefined") { + secureEndpoint = isSecureEndpoint(); + } + const connectOpts = { ...options, secureEndpoint }; + Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => { + if (socket instanceof http.Agent) { + return socket.addRequest(req, connectOpts); + } + this[INTERNAL].currentSocket = socket; + super.createSocket(req, options, cb); + }, cb); + } + createConnection() { + const socket = this[INTERNAL].currentSocket; + this[INTERNAL].currentSocket = void 0; + if (!socket) { + throw new Error("No socket was returned in the `connect()` function"); + } + return socket; + } + get defaultPort() { + return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80); + } + set defaultPort(v) { + if (this[INTERNAL]) { + this[INTERNAL].defaultPort = v; + } + } + get protocol() { + return this[INTERNAL].protocol ?? (isSecureEndpoint() ? "https:" : "http:"); + } + set protocol(v) { + if (this[INTERNAL]) { + this[INTERNAL].protocol = v; + } + } + }; + exports.Agent = Agent; + } +}); + +// .yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js +var require_common2 = __commonJS({ + ".yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/common.js"(exports, module2) { + function setup(env2) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require_ms(); + createDebug.destroy = destroy; + Object.keys(env2).forEach((key) => { + createDebug[key] = env2[key]; + }); + createDebug.names = []; + createDebug.skips = []; + createDebug.formatters = {}; + function selectColor(namespace) { + let hash = 0; + for (let i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; + } + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + function debug2(...args) { + if (!debug2.enabled) { + return; + } + const self2 = debug2; + const curr = Number(/* @__PURE__ */ new Date()); + const ms = curr - (prevTime || curr); + self2.diff = ms; + self2.prev = prevTime; + self2.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + if (typeof args[0] !== "string") { + args.unshift("%O"); + } + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + if (match === "%%") { + return "%"; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === "function") { + const val = args[index]; + match = formatter.call(self2, val); + args.splice(index, 1); + index--; + } + return match; + }); + createDebug.formatArgs.call(self2, args); + const logFn = self2.log || createDebug.log; + logFn.apply(self2, args); + } + debug2.namespace = namespace; + debug2.useColors = createDebug.useColors(); + debug2.color = createDebug.selectColor(namespace); + debug2.extend = extend; + debug2.destroy = createDebug.destroy; + Object.defineProperty(debug2, "enabled", { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + return enabledCache; + }, + set: (v) => { + enableOverride = v; + } + }); + if (typeof createDebug.init === "function") { + createDebug.init(debug2); + } + return debug2; + } + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + createDebug.names = []; + createDebug.skips = []; + let i; + const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); + const len = split.length; + for (i = 0; i < len; i++) { + if (!split[i]) { + continue; + } + namespaces = split[i].replace(/\*/g, ".*?"); + if (namespaces[0] === "-") { + createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$")); + } else { + createDebug.names.push(new RegExp("^" + namespaces + "$")); + } + } + } + function disable() { + const namespaces = [ + ...createDebug.names.map(toNamespace), + ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace) + ].join(","); + createDebug.enable(""); + return namespaces; + } + function enabled(name) { + if (name[name.length - 1] === "*") { + return true; + } + let i; + let len; + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + return false; + } + function toNamespace(regexp) { + return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*"); + } + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + function destroy() { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + createDebug.enable(createDebug.load()); + return createDebug; + } + module2.exports = setup; + } +}); + +// .yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js +var require_browser2 = __commonJS({ + ".yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/browser.js"(exports, module2) { + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = localstorage(); + exports.destroy = (() => { + let warned = false; + return () => { + if (!warned) { + warned = true; + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + }; + })(); + exports.colors = [ + "#0000CC", + "#0000FF", + "#0033CC", + "#0033FF", + "#0066CC", + "#0066FF", + "#0099CC", + "#0099FF", + "#00CC00", + "#00CC33", + "#00CC66", + "#00CC99", + "#00CCCC", + "#00CCFF", + "#3300CC", + "#3300FF", + "#3333CC", + "#3333FF", + "#3366CC", + "#3366FF", + "#3399CC", + "#3399FF", + "#33CC00", + "#33CC33", + "#33CC66", + "#33CC99", + "#33CCCC", + "#33CCFF", + "#6600CC", + "#6600FF", + "#6633CC", + "#6633FF", + "#66CC00", + "#66CC33", + "#9900CC", + "#9900FF", + "#9933CC", + "#9933FF", + "#99CC00", + "#99CC33", + "#CC0000", + "#CC0033", + "#CC0066", + "#CC0099", + "#CC00CC", + "#CC00FF", + "#CC3300", + "#CC3333", + "#CC3366", + "#CC3399", + "#CC33CC", + "#CC33FF", + "#CC6600", + "#CC6633", + "#CC9900", + "#CC9933", + "#CCCC00", + "#CCCC33", + "#FF0000", + "#FF0033", + "#FF0066", + "#FF0099", + "#FF00CC", + "#FF00FF", + "#FF3300", + "#FF3333", + "#FF3366", + "#FF3399", + "#FF33CC", + "#FF33FF", + "#FF6600", + "#FF6633", + "#FF9900", + "#FF9933", + "#FFCC00", + "#FFCC33" + ]; + function useColors() { + if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { + return true; + } + if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + } + function formatArgs(args) { + args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); + if (!this.useColors) { + return; + } + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, (match) => { + if (match === "%%") { + return; + } + index++; + if (match === "%c") { + lastC = index; + } + }); + args.splice(lastC, 0, c); + } + exports.log = console.debug || console.log || (() => { + }); + function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem("debug", namespaces); + } else { + exports.storage.removeItem("debug"); + } + } catch (error) { + } + } + function load() { + let r; + try { + r = exports.storage.getItem("debug"); + } catch (error) { + } + if (!r && typeof process !== "undefined" && "env" in process) { + r = process.env.DEBUG; + } + return r; + } + function localstorage() { + try { + return localStorage; + } catch (error) { + } + } + module2.exports = require_common2()(exports); + var { formatters } = module2.exports; + formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (error) { + return "[UnexpectedJSONParseError]: " + error.message; + } + }; + } +}); + +// .yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js +var require_node2 = __commonJS({ + ".yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/node.js"(exports, module2) { + var tty3 = require("tty"); + var util = require("util"); + exports.init = init; + exports.log = log2; + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.destroy = util.deprecate( + () => { + }, + "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." + ); + exports.colors = [6, 2, 3, 4, 5, 1]; + try { + const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports)); + if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } + } catch (error) { + } + exports.inspectOpts = Object.keys(process.env).filter((key) => { + return /^debug_/i.test(key); + }).reduce((obj, key) => { + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === "null") { + val = null; + } else { + val = Number(val); + } + obj[prop] = val; + return obj; + }, {}); + function useColors() { + return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty3.isatty(process.stderr.fd); + } + function formatArgs(args) { + const { namespace: name, useColors: useColors2 } = this; + if (useColors2) { + const c = this.color; + const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); + const prefix = ` ${colorCode};1m${name} \x1B[0m`; + args[0] = prefix + args[0].split("\n").join("\n" + prefix); + args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); + } else { + args[0] = getDate() + name + " " + args[0]; + } + } + function getDate() { + if (exports.inspectOpts.hideDate) { + return ""; + } + return (/* @__PURE__ */ new Date()).toISOString() + " "; + } + function log2(...args) { + return process.stderr.write(util.format(...args) + "\n"); + } + function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + delete process.env.DEBUG; + } + } + function load() { + return process.env.DEBUG; + } + function init(debug2) { + debug2.inspectOpts = {}; + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug2.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } + } + module2.exports = require_common2()(exports); + var { formatters } = module2.exports; + formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + }; + formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); + }; + } +}); + +// .yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js +var require_src2 = __commonJS({ + ".yarn/__virtual__/debug-virtual-2eaddcf3b9/0/cache/debug-npm-4.3.4-4513954577-ab50d98b6f.zip/node_modules/debug/src/index.js"(exports, module2) { + if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { + module2.exports = require_browser2(); + } else { + module2.exports = require_node2(); + } + } +}); + +// .yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-0bba2ef7c8.zip/node_modules/proxy-from-env/index.js +var require_proxy_from_env = __commonJS({ + ".yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-0bba2ef7c8.zip/node_modules/proxy-from-env/index.js"(exports) { + "use strict"; + var parseUrl = require("url").parse; + var DEFAULT_PORTS = { + ftp: 21, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 + }; + var stringEndsWith = String.prototype.endsWith || function(s) { + return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; + }; + function getProxyForUrl(url) { + var parsedUrl = typeof url === "string" ? parseUrl(url) : url || {}; + var proto = parsedUrl.protocol; + var hostname = parsedUrl.host; + var port = parsedUrl.port; + if (typeof hostname !== "string" || !hostname || typeof proto !== "string") { + return ""; + } + proto = proto.split(":", 1)[0]; + hostname = hostname.replace(/:\d*$/, ""); + port = parseInt(port) || DEFAULT_PORTS[proto] || 0; + if (!shouldProxy(hostname, port)) { + return ""; + } + var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy"); + if (proxy && proxy.indexOf("://") === -1) { + proxy = proto + "://" + proxy; + } + return proxy; + } + function shouldProxy(hostname, port) { + var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase(); + if (!NO_PROXY) { + return true; + } + if (NO_PROXY === "*") { + return false; + } + return NO_PROXY.split(/[,\s]/).every(function(proxy) { + if (!proxy) { + return true; + } + var parsedProxy = proxy.match(/^(.+):(\d+)$/); + var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; + var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; + if (parsedProxyPort && parsedProxyPort !== port) { + return true; + } + if (!/^[.*]/.test(parsedProxyHostname)) { + return hostname !== parsedProxyHostname; + } + if (parsedProxyHostname.charAt(0) === "*") { + parsedProxyHostname = parsedProxyHostname.slice(1); + } + return !stringEndsWith.call(hostname, parsedProxyHostname); + }); + } + function getEnv(key) { + return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ""; + } + exports.getProxyForUrl = getProxyForUrl; + } +}); + +// .yarn/cache/http-proxy-agent-npm-6.1.0-cac4082d01-3d220db021.zip/node_modules/http-proxy-agent/dist/index.js +var require_dist2 = __commonJS({ + ".yarn/cache/http-proxy-agent-npm-6.1.0-cac4082d01-3d220db021.zip/node_modules/http-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var debug_1 = __importDefault2(require_src2()); + var events_1 = require("events"); + var agent_base_1 = require_dist(); + var debug2 = (0, debug_1.default)("http-proxy-agent"); + function isHTTPS(protocol) { + return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false; + } + var HttpProxyAgent = class extends agent_base_1.Agent { + get secureProxy() { + return isHTTPS(this.proxy.protocol); + } + constructor(proxy, opts) { + super(opts); + this.proxy = typeof proxy === "string" ? new URL(proxy) : proxy; + this.proxyHeaders = opts?.headers ?? {}; + debug2("Creating new HttpProxyAgent instance: %o", this.proxy.href); + const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); + const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.secureProxy ? 443 : 80; + this.connectOpts = { + ...opts ? omit(opts, "headers") : null, + host, + port + }; + } + async connect(req, opts) { + const { proxy } = this; + const protocol = opts.secureEndpoint ? "https:" : "http:"; + const hostname = req.getHeader("host") || "localhost"; + const base = `${protocol}//${hostname}`; + const url = new URL(req.path, base); + if (opts.port !== 80) { + url.port = String(opts.port); + } + req.path = String(url); + req._header = null; + const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; + if (proxy.username || proxy.password) { + const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; + headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; + } + if (!headers["Proxy-Connection"]) { + headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; + } + for (const name of Object.keys(headers)) { + const value = headers[name]; + if (value) { + req.setHeader(name, value); + } + } + let socket; + if (this.secureProxy) { + debug2("Creating `tls.Socket`: %o", this.connectOpts); + socket = tls.connect(this.connectOpts); + } else { + debug2("Creating `net.Socket`: %o", this.connectOpts); + socket = net.connect(this.connectOpts); + } + let first; + let endOfHeaders; + debug2("Regenerating stored HTTP header string for request"); + req._implicitHeader(); + if (req.outputData && req.outputData.length > 0) { + debug2("Patching connection write() output buffer with updated header"); + first = req.outputData[0].data; + endOfHeaders = first.indexOf("\r\n\r\n") + 4; + req.outputData[0].data = req._header + first.substring(endOfHeaders); + debug2("Output buffer: %o", req.outputData[0].data); + } + await (0, events_1.once)(socket, "connect"); + return socket; + } + }; + HttpProxyAgent.protocols = ["http", "https"]; + exports.HttpProxyAgent = HttpProxyAgent; + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// .yarn/cache/https-proxy-agent-npm-6.2.0-0406eb3743-9a7617e512.zip/node_modules/https-proxy-agent/dist/parse-proxy-response.js +var require_parse_proxy_response = __commonJS({ + ".yarn/cache/https-proxy-agent-npm-6.2.0-0406eb3743-9a7617e512.zip/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseProxyResponse = void 0; + var debug_1 = __importDefault2(require_src2()); + var debug2 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response"); + function parseProxyResponse(socket) { + return new Promise((resolve, reject) => { + let buffersLength = 0; + const buffers = []; + function read() { + const b = socket.read(); + if (b) + ondata(b); + else + socket.once("readable", read); + } + function cleanup() { + socket.removeListener("end", onend); + socket.removeListener("error", onerror); + socket.removeListener("close", onclose); + socket.removeListener("readable", read); + } + function onclose(err) { + debug2("onclose had error %o", err); + } + function onend() { + debug2("onend"); + } + function onerror(err) { + cleanup(); + debug2("onerror %o", err); + reject(err); + } + function ondata(b) { + buffers.push(b); + buffersLength += b.length; + const buffered = Buffer.concat(buffers, buffersLength); + const endOfHeaders = buffered.indexOf("\r\n\r\n"); + if (endOfHeaders === -1) { + debug2("have not received end of HTTP headers yet..."); + read(); + return; + } + const headerParts = buffered.toString("ascii").split("\r\n"); + const firstLine = headerParts.shift(); + if (!firstLine) { + throw new Error("No header received"); + } + const firstLineParts = firstLine.split(" "); + const statusCode = +firstLineParts[1]; + const statusText = firstLineParts.slice(2).join(" "); + const headers = {}; + for (const header of headerParts) { + if (!header) + continue; + const firstColon = header.indexOf(":"); + if (firstColon === -1) { + throw new Error(`Invalid header: "${header}"`); + } + const key = header.slice(0, firstColon).toLowerCase(); + const value = header.slice(firstColon + 1).trimStart(); + const current = headers[key]; + if (typeof current === "string") { + headers[key] = [current, value]; + } else if (Array.isArray(current)) { + current.push(value); + } else { + headers[key] = value; + } + } + debug2("got proxy server response: %o", firstLine); + cleanup(); + resolve({ + connect: { + statusCode, + statusText, + headers + }, + buffered + }); + } + socket.on("error", onerror); + socket.on("close", onclose); + socket.on("end", onend); + read(); + }); + } + exports.parseProxyResponse = parseProxyResponse; + } +}); + +// .yarn/cache/https-proxy-agent-npm-6.2.0-0406eb3743-9a7617e512.zip/node_modules/https-proxy-agent/dist/index.js +var require_dist3 = __commonJS({ + ".yarn/cache/https-proxy-agent-npm-6.2.0-0406eb3743-9a7617e512.zip/node_modules/https-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.HttpsProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var assert_1 = __importDefault2(require("assert")); + var debug_1 = __importDefault2(require_src2()); + var agent_base_1 = require_dist(); + var parse_proxy_response_1 = require_parse_proxy_response(); + var debug2 = (0, debug_1.default)("https-proxy-agent"); + var HttpsProxyAgent = class extends agent_base_1.Agent { + get secureProxy() { + return isHTTPS(this.proxy.protocol); + } + constructor(proxy, opts) { + super(opts); + this.options = { path: void 0 }; + this.proxy = typeof proxy === "string" ? new URL(proxy) : proxy; + this.proxyHeaders = opts?.headers ?? {}; + debug2("Creating new HttpsProxyAgent instance: %o", this.proxy.href); + const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); + const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.secureProxy ? 443 : 80; + this.connectOpts = { + // Attempt to negotiate http/1.1 for proxy servers that support http/2 + ALPNProtocols: ["http/1.1"], + ...opts ? omit(opts, "headers") : null, + host, + port + }; + } + /** + * Called when the node-core HTTP client library is creating a + * new HTTP request. + */ + async connect(req, opts) { + const { proxy, secureProxy } = this; + if (!opts.host) { + throw new TypeError('No "host" provided'); + } + let socket; + if (secureProxy) { + debug2("Creating `tls.Socket`: %o", this.connectOpts); + socket = tls.connect(this.connectOpts); + } else { + debug2("Creating `net.Socket`: %o", this.connectOpts); + socket = net.connect(this.connectOpts); + } + const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; + const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host; + let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r +`; + if (proxy.username || proxy.password) { + const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; + headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; + } + headers.Host = `${host}:${opts.port}`; + if (!headers["Proxy-Connection"]) { + headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; + } + for (const name of Object.keys(headers)) { + payload += `${name}: ${headers[name]}\r +`; + } + const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket); + socket.write(`${payload}\r +`); + const { connect, buffered } = await proxyResponsePromise; + req.emit("proxyConnect", connect); + this.emit("proxyConnect", connect, req); + if (connect.statusCode === 200) { + req.once("socket", resume); + if (opts.secureEndpoint) { + debug2("Upgrading socket connection to TLS"); + const servername = opts.servername || opts.host; + return tls.connect({ + ...omit(opts, "host", "path", "port"), + socket, + servername: net.isIP(servername) ? void 0 : servername + }); + } + return socket; + } + socket.destroy(); + const fakeSocket = new net.Socket({ writable: false }); + fakeSocket.readable = true; + req.once("socket", (s) => { + debug2("Replaying proxy buffer for failed request"); + (0, assert_1.default)(s.listenerCount("data") > 0); + s.push(buffered); + s.push(null); + }); + return fakeSocket; + } + }; + HttpsProxyAgent.protocols = ["http", "https"]; + exports.HttpsProxyAgent = HttpsProxyAgent; + function resume(socket) { + socket.resume(); + } + function isHTTPS(protocol) { + return typeof protocol === "string" ? /^https:?$/i.test(protocol) : false; + } + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// .yarn/cache/ip-npm-2.0.0-204facb3cc-42a7cf251b.zip/node_modules/ip/lib/ip.js +var require_ip = __commonJS({ + ".yarn/cache/ip-npm-2.0.0-204facb3cc-42a7cf251b.zip/node_modules/ip/lib/ip.js"(exports) { + var ip = exports; + var { Buffer: Buffer2 } = require("buffer"); + var os2 = require("os"); + ip.toBuffer = function(ip2, buff, offset) { + offset = ~~offset; + let result; + if (this.isV4Format(ip2)) { + result = buff || Buffer2.alloc(offset + 4); + ip2.split(/\./g).map((byte) => { + result[offset++] = parseInt(byte, 10) & 255; + }); + } else if (this.isV6Format(ip2)) { + const sections = ip2.split(":", 8); + let i; + for (i = 0; i < sections.length; i++) { + const isv4 = this.isV4Format(sections[i]); + let v4Buffer; + if (isv4) { + v4Buffer = this.toBuffer(sections[i]); + sections[i] = v4Buffer.slice(0, 2).toString("hex"); + } + if (v4Buffer && ++i < 8) { + sections.splice(i, 0, v4Buffer.slice(2, 4).toString("hex")); + } + } + if (sections[0] === "") { + while (sections.length < 8) + sections.unshift("0"); + } else if (sections[sections.length - 1] === "") { + while (sections.length < 8) + sections.push("0"); + } else if (sections.length < 8) { + for (i = 0; i < sections.length && sections[i] !== ""; i++) + ; + const argv = [i, 1]; + for (i = 9 - sections.length; i > 0; i--) { + argv.push("0"); + } + sections.splice(...argv); + } + result = buff || Buffer2.alloc(offset + 16); + for (i = 0; i < sections.length; i++) { + const word = parseInt(sections[i], 16); + result[offset++] = word >> 8 & 255; + result[offset++] = word & 255; + } + } + if (!result) { + throw Error(`Invalid ip address: ${ip2}`); + } + return result; + }; + ip.toString = function(buff, offset, length) { + offset = ~~offset; + length = length || buff.length - offset; + let result = []; + if (length === 4) { + for (let i = 0; i < length; i++) { + result.push(buff[offset + i]); + } + result = result.join("."); + } else if (length === 16) { + for (let i = 0; i < length; i += 2) { + result.push(buff.readUInt16BE(offset + i).toString(16)); + } + result = result.join(":"); + result = result.replace(/(^|:)0(:0)*:0(:|$)/, "$1::$3"); + result = result.replace(/:{3,4}/, "::"); + } + return result; + }; + var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; + var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; + ip.isV4Format = function(ip2) { + return ipv4Regex.test(ip2); + }; + ip.isV6Format = function(ip2) { + return ipv6Regex.test(ip2); + }; + function _normalizeFamily(family) { + if (family === 4) { + return "ipv4"; + } + if (family === 6) { + return "ipv6"; + } + return family ? family.toLowerCase() : "ipv4"; + } + ip.fromPrefixLen = function(prefixlen, family) { + if (prefixlen > 32) { + family = "ipv6"; + } else { + family = _normalizeFamily(family); + } + let len = 4; + if (family === "ipv6") { + len = 16; + } + const buff = Buffer2.alloc(len); + for (let i = 0, n = buff.length; i < n; ++i) { + let bits = 8; + if (prefixlen < 8) { + bits = prefixlen; + } + prefixlen -= bits; + buff[i] = ~(255 >> bits) & 255; + } + return ip.toString(buff); + }; + ip.mask = function(addr, mask) { + addr = ip.toBuffer(addr); + mask = ip.toBuffer(mask); + const result = Buffer2.alloc(Math.max(addr.length, mask.length)); + let i; + if (addr.length === mask.length) { + for (i = 0; i < addr.length; i++) { + result[i] = addr[i] & mask[i]; + } + } else if (mask.length === 4) { + for (i = 0; i < mask.length; i++) { + result[i] = addr[addr.length - 4 + i] & mask[i]; + } + } else { + for (i = 0; i < result.length - 6; i++) { + result[i] = 0; + } + result[10] = 255; + result[11] = 255; + for (i = 0; i < addr.length; i++) { + result[i + 12] = addr[i] & mask[i + 12]; + } + i += 12; + } + for (; i < result.length; i++) { + result[i] = 0; + } + return ip.toString(result); + }; + ip.cidr = function(cidrString) { + const cidrParts = cidrString.split("/"); + const addr = cidrParts[0]; + if (cidrParts.length !== 2) { + throw new Error(`invalid CIDR subnet: ${addr}`); + } + const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); + return ip.mask(addr, mask); + }; + ip.subnet = function(addr, mask) { + const networkAddress = ip.toLong(ip.mask(addr, mask)); + const maskBuffer = ip.toBuffer(mask); + let maskLength = 0; + for (let i = 0; i < maskBuffer.length; i++) { + if (maskBuffer[i] === 255) { + maskLength += 8; + } else { + let octet = maskBuffer[i] & 255; + while (octet) { + octet = octet << 1 & 255; + maskLength++; + } + } + } + const numberOfAddresses = 2 ** (32 - maskLength); + return { + networkAddress: ip.fromLong(networkAddress), + firstAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress) : ip.fromLong(networkAddress + 1), + lastAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress + numberOfAddresses - 1) : ip.fromLong(networkAddress + numberOfAddresses - 2), + broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1), + subnetMask: mask, + subnetMaskLength: maskLength, + numHosts: numberOfAddresses <= 2 ? numberOfAddresses : numberOfAddresses - 2, + length: numberOfAddresses, + contains(other) { + return networkAddress === ip.toLong(ip.mask(other, mask)); + } + }; + }; + ip.cidrSubnet = function(cidrString) { + const cidrParts = cidrString.split("/"); + const addr = cidrParts[0]; + if (cidrParts.length !== 2) { + throw new Error(`invalid CIDR subnet: ${addr}`); + } + const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); + return ip.subnet(addr, mask); + }; + ip.not = function(addr) { + const buff = ip.toBuffer(addr); + for (let i = 0; i < buff.length; i++) { + buff[i] = 255 ^ buff[i]; + } + return ip.toString(buff); + }; + ip.or = function(a, b) { + a = ip.toBuffer(a); + b = ip.toBuffer(b); + if (a.length === b.length) { + for (let i = 0; i < a.length; ++i) { + a[i] |= b[i]; + } + return ip.toString(a); + } + let buff = a; + let other = b; + if (b.length > a.length) { + buff = b; + other = a; + } + const offset = buff.length - other.length; + for (let i = offset; i < buff.length; ++i) { + buff[i] |= other[i - offset]; + } + return ip.toString(buff); + }; + ip.isEqual = function(a, b) { + a = ip.toBuffer(a); + b = ip.toBuffer(b); + if (a.length === b.length) { + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; + } + if (b.length === 4) { + const t = b; + b = a; + a = t; + } + for (let i = 0; i < 10; i++) { + if (b[i] !== 0) + return false; + } + const word = b.readUInt16BE(10); + if (word !== 0 && word !== 65535) + return false; + for (let i = 0; i < 4; i++) { + if (a[i] !== b[i + 12]) + return false; + } + return true; + }; + ip.isPrivate = function(addr) { + return /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^f[cd][0-9a-f]{2}:/i.test(addr) || /^fe80:/i.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); + }; + ip.isPublic = function(addr) { + return !ip.isPrivate(addr); + }; + ip.isLoopback = function(addr) { + return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || /^fe80::1$/.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); + }; + ip.loopback = function(family) { + family = _normalizeFamily(family); + if (family !== "ipv4" && family !== "ipv6") { + throw new Error("family must be ipv4 or ipv6"); + } + return family === "ipv4" ? "127.0.0.1" : "fe80::1"; + }; + ip.address = function(name, family) { + const interfaces = os2.networkInterfaces(); + family = _normalizeFamily(family); + if (name && name !== "private" && name !== "public") { + const res = interfaces[name].filter((details) => { + const itemFamily = _normalizeFamily(details.family); + return itemFamily === family; + }); + if (res.length === 0) { + return void 0; + } + return res[0].address; + } + const all = Object.keys(interfaces).map((nic) => { + const addresses = interfaces[nic].filter((details) => { + details.family = _normalizeFamily(details.family); + if (details.family !== family || ip.isLoopback(details.address)) { + return false; + } + if (!name) { + return true; + } + return name === "public" ? ip.isPrivate(details.address) : ip.isPublic(details.address); + }); + return addresses.length ? addresses[0].address : void 0; + }).filter(Boolean); + return !all.length ? ip.loopback(family) : all[0]; + }; + ip.toLong = function(ip2) { + let ipl = 0; + ip2.split(".").forEach((octet) => { + ipl <<= 8; + ipl += parseInt(octet); + }); + return ipl >>> 0; + }; + ip.fromLong = function(ipl) { + return `${ipl >>> 24}.${ipl >> 16 & 255}.${ipl >> 8 & 255}.${ipl & 255}`; + }; + } +}); + +// .yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/utils.js +var require_utils = __commonJS({ + ".yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var buffer_1 = require("buffer"); + var ERRORS = { + INVALID_ENCODING: "Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.", + INVALID_SMARTBUFFER_SIZE: "Invalid size provided. Size must be a valid integer greater than zero.", + INVALID_SMARTBUFFER_BUFFER: "Invalid Buffer provided in SmartBufferOptions.", + INVALID_SMARTBUFFER_OBJECT: "Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.", + INVALID_OFFSET: "An invalid offset value was provided.", + INVALID_OFFSET_NON_NUMBER: "An invalid offset value was provided. A numeric value is required.", + INVALID_LENGTH: "An invalid length value was provided.", + INVALID_LENGTH_NON_NUMBER: "An invalid length value was provived. A numeric value is required.", + INVALID_TARGET_OFFSET: "Target offset is beyond the bounds of the internal SmartBuffer data.", + INVALID_TARGET_LENGTH: "Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.", + INVALID_READ_BEYOND_BOUNDS: "Attempted to read beyond the bounds of the managed data.", + INVALID_WRITE_BEYOND_BOUNDS: "Attempted to write beyond the bounds of the managed data." + }; + exports.ERRORS = ERRORS; + function checkEncoding(encoding) { + if (!buffer_1.Buffer.isEncoding(encoding)) { + throw new Error(ERRORS.INVALID_ENCODING); + } + } + exports.checkEncoding = checkEncoding; + function isFiniteInteger(value) { + return typeof value === "number" && isFinite(value) && isInteger2(value); + } + exports.isFiniteInteger = isFiniteInteger; + function checkOffsetOrLengthValue(value, offset) { + if (typeof value === "number") { + if (!isFiniteInteger(value) || value < 0) { + throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH); + } + } else { + throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER); + } + } + function checkLengthValue(length) { + checkOffsetOrLengthValue(length, false); + } + exports.checkLengthValue = checkLengthValue; + function checkOffsetValue(offset) { + checkOffsetOrLengthValue(offset, true); + } + exports.checkOffsetValue = checkOffsetValue; + function checkTargetOffset(offset, buff) { + if (offset < 0 || offset > buff.length) { + throw new Error(ERRORS.INVALID_TARGET_OFFSET); + } + } + exports.checkTargetOffset = checkTargetOffset; + function isInteger2(value) { + return typeof value === "number" && isFinite(value) && Math.floor(value) === value; + } + function bigIntAndBufferInt64Check(bufferMethod) { + if (typeof BigInt === "undefined") { + throw new Error("Platform does not support JS BigInt type."); + } + if (typeof buffer_1.Buffer.prototype[bufferMethod] === "undefined") { + throw new Error(`Platform does not support Buffer.prototype.${bufferMethod}.`); + } + } + exports.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check; + } +}); + +// .yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/smartbuffer.js +var require_smartbuffer = __commonJS({ + ".yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-898a5ce465.zip/node_modules/smart-buffer/build/smartbuffer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var utils_1 = require_utils(); + var DEFAULT_SMARTBUFFER_SIZE = 4096; + var DEFAULT_SMARTBUFFER_ENCODING = "utf8"; + var SmartBuffer = class { + /** + * Creates a new SmartBuffer instance. + * + * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance. + */ + constructor(options) { + this.length = 0; + this._encoding = DEFAULT_SMARTBUFFER_ENCODING; + this._writeOffset = 0; + this._readOffset = 0; + if (SmartBuffer.isSmartBufferOptions(options)) { + if (options.encoding) { + utils_1.checkEncoding(options.encoding); + this._encoding = options.encoding; + } + if (options.size) { + if (utils_1.isFiniteInteger(options.size) && options.size > 0) { + this._buff = Buffer.allocUnsafe(options.size); + } else { + throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE); + } + } else if (options.buff) { + if (Buffer.isBuffer(options.buff)) { + this._buff = options.buff; + this.length = options.buff.length; + } else { + throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER); + } + } else { + this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); + } + } else { + if (typeof options !== "undefined") { + throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT); + } + this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); + } + } + /** + * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding. + * + * @param size { Number } The size of the internal Buffer. + * @param encoding { String } The BufferEncoding to use for strings. + * + * @return { SmartBuffer } + */ + static fromSize(size, encoding) { + return new this({ + size, + encoding + }); + } + /** + * Creates a new SmartBuffer instance with the provided Buffer and optional encoding. + * + * @param buffer { Buffer } The Buffer to use as the internal Buffer value. + * @param encoding { String } The BufferEncoding to use for strings. + * + * @return { SmartBuffer } + */ + static fromBuffer(buff, encoding) { + return new this({ + buff, + encoding + }); + } + /** + * Creates a new SmartBuffer instance with the provided SmartBufferOptions options. + * + * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance. + */ + static fromOptions(options) { + return new this(options); + } + /** + * Type checking function that determines if an object is a SmartBufferOptions object. + */ + static isSmartBufferOptions(options) { + const castOptions = options; + return castOptions && (castOptions.encoding !== void 0 || castOptions.size !== void 0 || castOptions.buff !== void 0); + } + // Signed integers + /** + * Reads an Int8 value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt8(offset) { + return this._readNumberValue(Buffer.prototype.readInt8, 1, offset); + } + /** + * Reads an Int16BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt16BE(offset) { + return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset); + } + /** + * Reads an Int16LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt16LE(offset) { + return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset); + } + /** + * Reads an Int32BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt32BE(offset) { + return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset); + } + /** + * Reads an Int32LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readInt32LE(offset) { + return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset); + } + /** + * Reads a BigInt64BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigInt64BE(offset) { + utils_1.bigIntAndBufferInt64Check("readBigInt64BE"); + return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset); + } + /** + * Reads a BigInt64LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigInt64LE(offset) { + utils_1.bigIntAndBufferInt64Check("readBigInt64LE"); + return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset); + } + /** + * Writes an Int8 value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt8(value, offset) { + this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset); + return this; + } + /** + * Inserts an Int8 value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt8(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset); + } + /** + * Writes an Int16BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt16BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); + } + /** + * Inserts an Int16BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt16BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); + } + /** + * Writes an Int16LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt16LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); + } + /** + * Inserts an Int16LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt16LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); + } + /** + * Writes an Int32BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt32BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); + } + /** + * Inserts an Int32BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt32BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); + } + /** + * Writes an Int32LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeInt32LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); + } + /** + * Inserts an Int32LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertInt32LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); + } + /** + * Writes a BigInt64BE value to the current write position (or at optional offset). + * + * @param value { BigInt } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigInt64BE"); + return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); + } + /** + * Inserts a BigInt64BE value at the given offset value. + * + * @param value { BigInt } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigInt64BE"); + return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); + } + /** + * Writes a BigInt64LE value to the current write position (or at optional offset). + * + * @param value { BigInt } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigInt64LE"); + return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); + } + /** + * Inserts a Int64LE value at the given offset value. + * + * @param value { BigInt } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigInt64LE"); + return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); + } + // Unsigned Integers + /** + * Reads an UInt8 value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt8(offset) { + return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset); + } + /** + * Reads an UInt16BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt16BE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset); + } + /** + * Reads an UInt16LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt16LE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset); + } + /** + * Reads an UInt32BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt32BE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset); + } + /** + * Reads an UInt32LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readUInt32LE(offset) { + return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset); + } + /** + * Reads a BigUInt64BE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigUInt64BE(offset) { + utils_1.bigIntAndBufferInt64Check("readBigUInt64BE"); + return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset); + } + /** + * Reads a BigUInt64LE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { BigInt } + */ + readBigUInt64LE(offset) { + utils_1.bigIntAndBufferInt64Check("readBigUInt64LE"); + return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset); + } + /** + * Writes an UInt8 value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt8(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); + } + /** + * Inserts an UInt8 value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt8(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); + } + /** + * Writes an UInt16BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt16BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); + } + /** + * Inserts an UInt16BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt16BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); + } + /** + * Writes an UInt16LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt16LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); + } + /** + * Inserts an UInt16LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt16LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); + } + /** + * Writes an UInt32BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt32BE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); + } + /** + * Inserts an UInt32BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt32BE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); + } + /** + * Writes an UInt32LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeUInt32LE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); + } + /** + * Inserts an UInt32LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertUInt32LE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); + } + /** + * Writes a BigUInt64BE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigUInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE"); + return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); + } + /** + * Inserts a BigUInt64BE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigUInt64BE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE"); + return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); + } + /** + * Writes a BigUInt64LE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeBigUInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE"); + return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); + } + /** + * Inserts a BigUInt64LE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertBigUInt64LE(value, offset) { + utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE"); + return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); + } + // Floating Point + /** + * Reads an FloatBE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readFloatBE(offset) { + return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset); + } + /** + * Reads an FloatLE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readFloatLE(offset) { + return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset); + } + /** + * Writes a FloatBE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeFloatBE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); + } + /** + * Inserts a FloatBE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertFloatBE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); + } + /** + * Writes a FloatLE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeFloatLE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); + } + /** + * Inserts a FloatLE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertFloatLE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); + } + // Double Floating Point + /** + * Reads an DoublEBE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readDoubleBE(offset) { + return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset); + } + /** + * Reads an DoubleLE value from the current read position or an optionally provided offset. + * + * @param offset { Number } The offset to read data from (optional) + * @return { Number } + */ + readDoubleLE(offset) { + return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset); + } + /** + * Writes a DoubleBE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeDoubleBE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); + } + /** + * Inserts a DoubleBE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertDoubleBE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); + } + /** + * Writes a DoubleLE value to the current write position (or at optional offset). + * + * @param value { Number } The value to write. + * @param offset { Number } The offset to write the value at. + * + * @return this + */ + writeDoubleLE(value, offset) { + return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); + } + /** + * Inserts a DoubleLE value at the given offset value. + * + * @param value { Number } The value to insert. + * @param offset { Number } The offset to insert the value at. + * + * @return this + */ + insertDoubleLE(value, offset) { + return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); + } + // Strings + /** + * Reads a String from the current read position. + * + * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for + * the string (Defaults to instance level encoding). + * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). + * + * @return { String } + */ + readString(arg1, encoding) { + let lengthVal; + if (typeof arg1 === "number") { + utils_1.checkLengthValue(arg1); + lengthVal = Math.min(arg1, this.length - this._readOffset); + } else { + encoding = arg1; + lengthVal = this.length - this._readOffset; + } + if (typeof encoding !== "undefined") { + utils_1.checkEncoding(encoding); + } + const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding); + this._readOffset += lengthVal; + return value; + } + /** + * Inserts a String + * + * @param value { String } The String value to insert. + * @param offset { Number } The offset to insert the string at. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + insertString(value, offset, encoding) { + utils_1.checkOffsetValue(offset); + return this._handleString(value, true, offset, encoding); + } + /** + * Writes a String + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + writeString(value, arg2, encoding) { + return this._handleString(value, false, arg2, encoding); + } + /** + * Reads a null-terminated String from the current read position. + * + * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). + * + * @return { String } + */ + readStringNT(encoding) { + if (typeof encoding !== "undefined") { + utils_1.checkEncoding(encoding); + } + let nullPos = this.length; + for (let i = this._readOffset; i < this.length; i++) { + if (this._buff[i] === 0) { + nullPos = i; + break; + } + } + const value = this._buff.slice(this._readOffset, nullPos); + this._readOffset = nullPos + 1; + return value.toString(encoding || this._encoding); + } + /** + * Inserts a null-terminated String. + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + insertStringNT(value, offset, encoding) { + utils_1.checkOffsetValue(offset); + this.insertString(value, offset, encoding); + this.insertUInt8(0, offset + value.length); + return this; + } + /** + * Writes a null-terminated String. + * + * @param value { String } The String value to write. + * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + * + * @return this + */ + writeStringNT(value, arg2, encoding) { + this.writeString(value, arg2, encoding); + this.writeUInt8(0, typeof arg2 === "number" ? arg2 + value.length : this.writeOffset); + return this; + } + // Buffers + /** + * Reads a Buffer from the internal read position. + * + * @param length { Number } The length of data to read as a Buffer. + * + * @return { Buffer } + */ + readBuffer(length) { + if (typeof length !== "undefined") { + utils_1.checkLengthValue(length); + } + const lengthVal = typeof length === "number" ? length : this.length; + const endPoint = Math.min(this.length, this._readOffset + lengthVal); + const value = this._buff.slice(this._readOffset, endPoint); + this._readOffset = endPoint; + return value; + } + /** + * Writes a Buffer to the current write position. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + insertBuffer(value, offset) { + utils_1.checkOffsetValue(offset); + return this._handleBuffer(value, true, offset); + } + /** + * Writes a Buffer to the current write position. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + writeBuffer(value, offset) { + return this._handleBuffer(value, false, offset); + } + /** + * Reads a null-terminated Buffer from the current read poisiton. + * + * @return { Buffer } + */ + readBufferNT() { + let nullPos = this.length; + for (let i = this._readOffset; i < this.length; i++) { + if (this._buff[i] === 0) { + nullPos = i; + break; + } + } + const value = this._buff.slice(this._readOffset, nullPos); + this._readOffset = nullPos + 1; + return value; + } + /** + * Inserts a null-terminated Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + insertBufferNT(value, offset) { + utils_1.checkOffsetValue(offset); + this.insertBuffer(value, offset); + this.insertUInt8(0, offset + value.length); + return this; + } + /** + * Writes a null-terminated Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + * + * @return this + */ + writeBufferNT(value, offset) { + if (typeof offset !== "undefined") { + utils_1.checkOffsetValue(offset); + } + this.writeBuffer(value, offset); + this.writeUInt8(0, typeof offset === "number" ? offset + value.length : this._writeOffset); + return this; + } + /** + * Clears the SmartBuffer instance to its original empty state. + */ + clear() { + this._writeOffset = 0; + this._readOffset = 0; + this.length = 0; + return this; + } + /** + * Gets the remaining data left to be read from the SmartBuffer instance. + * + * @return { Number } + */ + remaining() { + return this.length - this._readOffset; + } + /** + * Gets the current read offset value of the SmartBuffer instance. + * + * @return { Number } + */ + get readOffset() { + return this._readOffset; + } + /** + * Sets the read offset value of the SmartBuffer instance. + * + * @param offset { Number } - The offset value to set. + */ + set readOffset(offset) { + utils_1.checkOffsetValue(offset); + utils_1.checkTargetOffset(offset, this); + this._readOffset = offset; + } + /** + * Gets the current write offset value of the SmartBuffer instance. + * + * @return { Number } + */ + get writeOffset() { + return this._writeOffset; + } + /** + * Sets the write offset value of the SmartBuffer instance. + * + * @param offset { Number } - The offset value to set. + */ + set writeOffset(offset) { + utils_1.checkOffsetValue(offset); + utils_1.checkTargetOffset(offset, this); + this._writeOffset = offset; + } + /** + * Gets the currently set string encoding of the SmartBuffer instance. + * + * @return { BufferEncoding } The string Buffer encoding currently set. + */ + get encoding() { + return this._encoding; + } + /** + * Sets the string encoding of the SmartBuffer instance. + * + * @param encoding { BufferEncoding } The string Buffer encoding to set. + */ + set encoding(encoding) { + utils_1.checkEncoding(encoding); + this._encoding = encoding; + } + /** + * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer) + * + * @return { Buffer } The Buffer value. + */ + get internalBuffer() { + return this._buff; + } + /** + * Gets the value of the internal managed Buffer (Includes managed data only) + * + * @param { Buffer } + */ + toBuffer() { + return this._buff.slice(0, this.length); + } + /** + * Gets the String value of the internal managed Buffer + * + * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding). + */ + toString(encoding) { + const encodingVal = typeof encoding === "string" ? encoding : this._encoding; + utils_1.checkEncoding(encodingVal); + return this._buff.toString(encodingVal, 0, this.length); + } + /** + * Destroys the SmartBuffer instance. + */ + destroy() { + this.clear(); + return this; + } + /** + * Handles inserting and writing strings. + * + * @param value { String } The String value to insert. + * @param isInsert { Boolean } True if inserting a string, false if writing. + * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use. + * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). + */ + _handleString(value, isInsert, arg3, encoding) { + let offsetVal = this._writeOffset; + let encodingVal = this._encoding; + if (typeof arg3 === "number") { + offsetVal = arg3; + } else if (typeof arg3 === "string") { + utils_1.checkEncoding(arg3); + encodingVal = arg3; + } + if (typeof encoding === "string") { + utils_1.checkEncoding(encoding); + encodingVal = encoding; + } + const byteLength = Buffer.byteLength(value, encodingVal); + if (isInsert) { + this.ensureInsertable(byteLength, offsetVal); + } else { + this._ensureWriteable(byteLength, offsetVal); + } + this._buff.write(value, offsetVal, byteLength, encodingVal); + if (isInsert) { + this._writeOffset += byteLength; + } else { + if (typeof arg3 === "number") { + this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength); + } else { + this._writeOffset += byteLength; + } + } + return this; + } + /** + * Handles writing or insert of a Buffer. + * + * @param value { Buffer } The Buffer to write. + * @param offset { Number } The offset to write the Buffer to. + */ + _handleBuffer(value, isInsert, offset) { + const offsetVal = typeof offset === "number" ? offset : this._writeOffset; + if (isInsert) { + this.ensureInsertable(value.length, offsetVal); + } else { + this._ensureWriteable(value.length, offsetVal); + } + value.copy(this._buff, offsetVal); + if (isInsert) { + this._writeOffset += value.length; + } else { + if (typeof offset === "number") { + this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length); + } else { + this._writeOffset += value.length; + } + } + return this; + } + /** + * Ensures that the internal Buffer is large enough to read data. + * + * @param length { Number } The length of the data that needs to be read. + * @param offset { Number } The offset of the data that needs to be read. + */ + ensureReadable(length, offset) { + let offsetVal = this._readOffset; + if (typeof offset !== "undefined") { + utils_1.checkOffsetValue(offset); + offsetVal = offset; + } + if (offsetVal < 0 || offsetVal + length > this.length) { + throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS); + } + } + /** + * Ensures that the internal Buffer is large enough to insert data. + * + * @param dataLength { Number } The length of the data that needs to be written. + * @param offset { Number } The offset of the data to be written. + */ + ensureInsertable(dataLength, offset) { + utils_1.checkOffsetValue(offset); + this._ensureCapacity(this.length + dataLength); + if (offset < this.length) { + this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length); + } + if (offset + dataLength > this.length) { + this.length = offset + dataLength; + } else { + this.length += dataLength; + } + } + /** + * Ensures that the internal Buffer is large enough to write data. + * + * @param dataLength { Number } The length of the data that needs to be written. + * @param offset { Number } The offset of the data to be written (defaults to writeOffset). + */ + _ensureWriteable(dataLength, offset) { + const offsetVal = typeof offset === "number" ? offset : this._writeOffset; + this._ensureCapacity(offsetVal + dataLength); + if (offsetVal + dataLength > this.length) { + this.length = offsetVal + dataLength; + } + } + /** + * Ensures that the internal Buffer is large enough to write at least the given amount of data. + * + * @param minLength { Number } The minimum length of the data needs to be written. + */ + _ensureCapacity(minLength) { + const oldLength = this._buff.length; + if (minLength > oldLength) { + let data = this._buff; + let newLength = oldLength * 3 / 2 + 1; + if (newLength < minLength) { + newLength = minLength; + } + this._buff = Buffer.allocUnsafe(newLength); + data.copy(this._buff, 0, 0, oldLength); + } + } + /** + * Reads a numeric number value using the provided function. + * + * @typeparam T { number | bigint } The type of the value to be read + * + * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with. + * @param byteSize { Number } The number of bytes read. + * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead. + * + * @returns { T } the number value + */ + _readNumberValue(func, byteSize, offset) { + this.ensureReadable(byteSize, offset); + const value = func.call(this._buff, typeof offset === "number" ? offset : this._readOffset); + if (typeof offset === "undefined") { + this._readOffset += byteSize; + } + return value; + } + /** + * Inserts a numeric number value based on the given offset and value. + * + * @typeparam T { number | bigint } The type of the value to be written + * + * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. + * @param byteSize { Number } The number of bytes written. + * @param value { T } The number value to write. + * @param offset { Number } the offset to write the number at (REQUIRED). + * + * @returns SmartBuffer this buffer + */ + _insertNumberValue(func, byteSize, value, offset) { + utils_1.checkOffsetValue(offset); + this.ensureInsertable(byteSize, offset); + func.call(this._buff, value, offset); + this._writeOffset += byteSize; + return this; + } + /** + * Writes a numeric number value based on the given offset and value. + * + * @typeparam T { number | bigint } The type of the value to be written + * + * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. + * @param byteSize { Number } The number of bytes written. + * @param value { T } The number value to write. + * @param offset { Number } the offset to write the number at (REQUIRED). + * + * @returns SmartBuffer this buffer + */ + _writeNumberValue(func, byteSize, value, offset) { + if (typeof offset === "number") { + if (offset < 0) { + throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS); + } + utils_1.checkOffsetValue(offset); + } + const offsetVal = typeof offset === "number" ? offset : this._writeOffset; + this._ensureWriteable(byteSize, offsetVal); + func.call(this._buff, value, offsetVal); + if (typeof offset === "number") { + this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize); + } else { + this._writeOffset += byteSize; + } + return this; + } + }; + exports.SmartBuffer = SmartBuffer; + } +}); + +// .yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/constants.js +var require_constants2 = __commonJS({ + ".yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SOCKS5_NO_ACCEPTABLE_AUTH = exports.SOCKS5_CUSTOM_AUTH_END = exports.SOCKS5_CUSTOM_AUTH_START = exports.SOCKS_INCOMING_PACKET_SIZES = exports.SocksClientState = exports.Socks5Response = exports.Socks5HostType = exports.Socks5Auth = exports.Socks4Response = exports.SocksCommand = exports.ERRORS = exports.DEFAULT_TIMEOUT = void 0; + var DEFAULT_TIMEOUT = 3e4; + exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; + var ERRORS = { + InvalidSocksCommand: "An invalid SOCKS command was provided. Valid options are connect, bind, and associate.", + InvalidSocksCommandForOperation: "An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.", + InvalidSocksCommandChain: "An invalid SOCKS command was provided. Chaining currently only supports the connect command.", + InvalidSocksClientOptionsDestination: "An invalid destination host was provided.", + InvalidSocksClientOptionsExistingSocket: "An invalid existing socket was provided. This should be an instance of stream.Duplex.", + InvalidSocksClientOptionsProxy: "Invalid SOCKS proxy details were provided.", + InvalidSocksClientOptionsTimeout: "An invalid timeout value was provided. Please enter a value above 0 (in ms).", + InvalidSocksClientOptionsProxiesLength: "At least two socks proxies must be provided for chaining.", + InvalidSocksClientOptionsCustomAuthRange: "Custom auth must be a value between 0x80 and 0xFE.", + InvalidSocksClientOptionsCustomAuthOptions: "When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.", + NegotiationError: "Negotiation error", + SocketClosed: "Socket closed", + ProxyConnectionTimedOut: "Proxy connection timed out", + InternalError: "SocksClient internal error (this should not happen)", + InvalidSocks4HandshakeResponse: "Received invalid Socks4 handshake response", + Socks4ProxyRejectedConnection: "Socks4 Proxy rejected connection", + InvalidSocks4IncomingConnectionResponse: "Socks4 invalid incoming connection response", + Socks4ProxyRejectedIncomingBoundConnection: "Socks4 Proxy rejected incoming bound connection", + InvalidSocks5InitialHandshakeResponse: "Received invalid Socks5 initial handshake response", + InvalidSocks5IntiailHandshakeSocksVersion: "Received invalid Socks5 initial handshake (invalid socks version)", + InvalidSocks5InitialHandshakeNoAcceptedAuthType: "Received invalid Socks5 initial handshake (no accepted authentication type)", + InvalidSocks5InitialHandshakeUnknownAuthType: "Received invalid Socks5 initial handshake (unknown authentication type)", + Socks5AuthenticationFailed: "Socks5 Authentication failed", + InvalidSocks5FinalHandshake: "Received invalid Socks5 final handshake response", + InvalidSocks5FinalHandshakeRejected: "Socks5 proxy rejected connection", + InvalidSocks5IncomingConnectionResponse: "Received invalid Socks5 incoming connection response", + Socks5ProxyRejectedIncomingBoundConnection: "Socks5 Proxy rejected incoming bound connection" + }; + exports.ERRORS = ERRORS; + var SOCKS_INCOMING_PACKET_SIZES = { + Socks5InitialHandshakeResponse: 2, + Socks5UserPassAuthenticationResponse: 2, + // Command response + incoming connection (bind) + Socks5ResponseHeader: 5, + Socks5ResponseIPv4: 10, + Socks5ResponseIPv6: 22, + Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7, + // Command response + incoming connection (bind) + Socks4Response: 8 + // 2 header + 2 port + 4 ip + }; + exports.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES; + var SocksCommand; + (function(SocksCommand2) { + SocksCommand2[SocksCommand2["connect"] = 1] = "connect"; + SocksCommand2[SocksCommand2["bind"] = 2] = "bind"; + SocksCommand2[SocksCommand2["associate"] = 3] = "associate"; + })(SocksCommand || (SocksCommand = {})); + exports.SocksCommand = SocksCommand; + var Socks4Response; + (function(Socks4Response2) { + Socks4Response2[Socks4Response2["Granted"] = 90] = "Granted"; + Socks4Response2[Socks4Response2["Failed"] = 91] = "Failed"; + Socks4Response2[Socks4Response2["Rejected"] = 92] = "Rejected"; + Socks4Response2[Socks4Response2["RejectedIdent"] = 93] = "RejectedIdent"; + })(Socks4Response || (Socks4Response = {})); + exports.Socks4Response = Socks4Response; + var Socks5Auth; + (function(Socks5Auth2) { + Socks5Auth2[Socks5Auth2["NoAuth"] = 0] = "NoAuth"; + Socks5Auth2[Socks5Auth2["GSSApi"] = 1] = "GSSApi"; + Socks5Auth2[Socks5Auth2["UserPass"] = 2] = "UserPass"; + })(Socks5Auth || (Socks5Auth = {})); + exports.Socks5Auth = Socks5Auth; + var SOCKS5_CUSTOM_AUTH_START = 128; + exports.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START; + var SOCKS5_CUSTOM_AUTH_END = 254; + exports.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END; + var SOCKS5_NO_ACCEPTABLE_AUTH = 255; + exports.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH; + var Socks5Response; + (function(Socks5Response2) { + Socks5Response2[Socks5Response2["Granted"] = 0] = "Granted"; + Socks5Response2[Socks5Response2["Failure"] = 1] = "Failure"; + Socks5Response2[Socks5Response2["NotAllowed"] = 2] = "NotAllowed"; + Socks5Response2[Socks5Response2["NetworkUnreachable"] = 3] = "NetworkUnreachable"; + Socks5Response2[Socks5Response2["HostUnreachable"] = 4] = "HostUnreachable"; + Socks5Response2[Socks5Response2["ConnectionRefused"] = 5] = "ConnectionRefused"; + Socks5Response2[Socks5Response2["TTLExpired"] = 6] = "TTLExpired"; + Socks5Response2[Socks5Response2["CommandNotSupported"] = 7] = "CommandNotSupported"; + Socks5Response2[Socks5Response2["AddressNotSupported"] = 8] = "AddressNotSupported"; + })(Socks5Response || (Socks5Response = {})); + exports.Socks5Response = Socks5Response; + var Socks5HostType; + (function(Socks5HostType2) { + Socks5HostType2[Socks5HostType2["IPv4"] = 1] = "IPv4"; + Socks5HostType2[Socks5HostType2["Hostname"] = 3] = "Hostname"; + Socks5HostType2[Socks5HostType2["IPv6"] = 4] = "IPv6"; + })(Socks5HostType || (Socks5HostType = {})); + exports.Socks5HostType = Socks5HostType; + var SocksClientState; + (function(SocksClientState2) { + SocksClientState2[SocksClientState2["Created"] = 0] = "Created"; + SocksClientState2[SocksClientState2["Connecting"] = 1] = "Connecting"; + SocksClientState2[SocksClientState2["Connected"] = 2] = "Connected"; + SocksClientState2[SocksClientState2["SentInitialHandshake"] = 3] = "SentInitialHandshake"; + SocksClientState2[SocksClientState2["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse"; + SocksClientState2[SocksClientState2["SentAuthentication"] = 5] = "SentAuthentication"; + SocksClientState2[SocksClientState2["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse"; + SocksClientState2[SocksClientState2["SentFinalHandshake"] = 7] = "SentFinalHandshake"; + SocksClientState2[SocksClientState2["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse"; + SocksClientState2[SocksClientState2["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection"; + SocksClientState2[SocksClientState2["Established"] = 10] = "Established"; + SocksClientState2[SocksClientState2["Disconnected"] = 11] = "Disconnected"; + SocksClientState2[SocksClientState2["Error"] = 99] = "Error"; + })(SocksClientState || (SocksClientState = {})); + exports.SocksClientState = SocksClientState; + } +}); + +// .yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/util.js +var require_util = __commonJS({ + ".yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.shuffleArray = exports.SocksClientError = void 0; + var SocksClientError = class extends Error { + constructor(message, options) { + super(message); + this.options = options; + } + }; + exports.SocksClientError = SocksClientError; + function shuffleArray(array) { + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [array[i], array[j]] = [array[j], array[i]]; + } + } + exports.shuffleArray = shuffleArray; + } +}); + +// .yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/helpers.js +var require_helpers2 = __commonJS({ + ".yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/helpers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateSocksClientChainOptions = exports.validateSocksClientOptions = void 0; + var util_1 = require_util(); + var constants_1 = require_constants2(); + var stream = require("stream"); + function validateSocksClientOptions(options, acceptedCommands = ["connect", "bind", "associate"]) { + if (!constants_1.SocksCommand[options.command]) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options); + } + if (acceptedCommands.indexOf(options.command) === -1) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options); + } + if (!isValidSocksRemoteHost(options.destination)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options); + } + if (!isValidSocksProxy(options.proxy)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options); + } + validateCustomProxyAuth(options.proxy, options); + if (options.timeout && !isValidTimeoutValue(options.timeout)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options); + } + if (options.existing_socket && !(options.existing_socket instanceof stream.Duplex)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options); + } + } + exports.validateSocksClientOptions = validateSocksClientOptions; + function validateSocksClientChainOptions(options) { + if (options.command !== "connect") { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options); + } + if (!isValidSocksRemoteHost(options.destination)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options); + } + if (!(options.proxies && Array.isArray(options.proxies) && options.proxies.length >= 2)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options); + } + options.proxies.forEach((proxy) => { + if (!isValidSocksProxy(proxy)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options); + } + validateCustomProxyAuth(proxy, options); + }); + if (options.timeout && !isValidTimeoutValue(options.timeout)) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options); + } + } + exports.validateSocksClientChainOptions = validateSocksClientChainOptions; + function validateCustomProxyAuth(proxy, options) { + if (proxy.custom_auth_method !== void 0) { + if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START || proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options); + } + if (proxy.custom_auth_request_handler === void 0 || typeof proxy.custom_auth_request_handler !== "function") { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); + } + if (proxy.custom_auth_response_size === void 0) { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); + } + if (proxy.custom_auth_response_handler === void 0 || typeof proxy.custom_auth_response_handler !== "function") { + throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); + } + } + } + function isValidSocksRemoteHost(remoteHost) { + return remoteHost && typeof remoteHost.host === "string" && typeof remoteHost.port === "number" && remoteHost.port >= 0 && remoteHost.port <= 65535; + } + function isValidSocksProxy(proxy) { + return proxy && (typeof proxy.host === "string" || typeof proxy.ipaddress === "string") && typeof proxy.port === "number" && proxy.port >= 0 && proxy.port <= 65535 && (proxy.type === 4 || proxy.type === 5); + } + function isValidTimeoutValue(value) { + return typeof value === "number" && value > 0; + } + } +}); + +// .yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/receivebuffer.js +var require_receivebuffer = __commonJS({ + ".yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/common/receivebuffer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ReceiveBuffer = void 0; + var ReceiveBuffer = class { + constructor(size = 4096) { + this.buffer = Buffer.allocUnsafe(size); + this.offset = 0; + this.originalSize = size; + } + get length() { + return this.offset; + } + append(data) { + if (!Buffer.isBuffer(data)) { + throw new Error("Attempted to append a non-buffer instance to ReceiveBuffer."); + } + if (this.offset + data.length >= this.buffer.length) { + const tmp = this.buffer; + this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length)); + tmp.copy(this.buffer); + } + data.copy(this.buffer, this.offset); + return this.offset += data.length; + } + peek(length) { + if (length > this.offset) { + throw new Error("Attempted to read beyond the bounds of the managed internal data."); + } + return this.buffer.slice(0, length); + } + get(length) { + if (length > this.offset) { + throw new Error("Attempted to read beyond the bounds of the managed internal data."); + } + const value = Buffer.allocUnsafe(length); + this.buffer.slice(0, length).copy(value); + this.buffer.copyWithin(0, length, length + this.offset - length); + this.offset -= length; + return value; + } + }; + exports.ReceiveBuffer = ReceiveBuffer; + } +}); + +// .yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/client/socksclient.js +var require_socksclient = __commonJS({ + ".yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/client/socksclient.js"(exports) { + "use strict"; + var __awaiter2 = exports && exports.__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()); + }); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SocksClientError = exports.SocksClient = void 0; + var events_1 = require("events"); + var net = require("net"); + var ip = require_ip(); + var smart_buffer_1 = require_smartbuffer(); + var constants_1 = require_constants2(); + var helpers_1 = require_helpers2(); + var receivebuffer_1 = require_receivebuffer(); + var util_1 = require_util(); + Object.defineProperty(exports, "SocksClientError", { enumerable: true, get: function() { + return util_1.SocksClientError; + } }); + var SocksClient = class extends events_1.EventEmitter { + constructor(options) { + super(); + this.options = Object.assign({}, options); + (0, helpers_1.validateSocksClientOptions)(options); + this.setState(constants_1.SocksClientState.Created); + } + /** + * Creates a new SOCKS connection. + * + * Note: Supports callbacks and promises. Only supports the connect command. + * @param options { SocksClientOptions } Options. + * @param callback { Function } An optional callback function. + * @returns { Promise } + */ + static createConnection(options, callback) { + return new Promise((resolve, reject) => { + try { + (0, helpers_1.validateSocksClientOptions)(options, ["connect"]); + } catch (err) { + if (typeof callback === "function") { + callback(err); + return resolve(err); + } else { + return reject(err); + } + } + const client = new SocksClient(options); + client.connect(options.existing_socket); + client.once("established", (info) => { + client.removeAllListeners(); + if (typeof callback === "function") { + callback(null, info); + resolve(info); + } else { + resolve(info); + } + }); + client.once("error", (err) => { + client.removeAllListeners(); + if (typeof callback === "function") { + callback(err); + resolve(err); + } else { + reject(err); + } + }); + }); + } + /** + * Creates a new SOCKS connection chain to a destination host through 2 or more SOCKS proxies. + * + * Note: Supports callbacks and promises. Only supports the connect method. + * Note: Implemented via createConnection() factory function. + * @param options { SocksClientChainOptions } Options + * @param callback { Function } An optional callback function. + * @returns { Promise } + */ + static createConnectionChain(options, callback) { + return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () { + try { + (0, helpers_1.validateSocksClientChainOptions)(options); + } catch (err) { + if (typeof callback === "function") { + callback(err); + return resolve(err); + } else { + return reject(err); + } + } + if (options.randomizeChain) { + (0, util_1.shuffleArray)(options.proxies); + } + try { + let sock; + for (let i = 0; i < options.proxies.length; i++) { + const nextProxy = options.proxies[i]; + const nextDestination = i === options.proxies.length - 1 ? options.destination : { + host: options.proxies[i + 1].host || options.proxies[i + 1].ipaddress, + port: options.proxies[i + 1].port + }; + const result = yield SocksClient.createConnection({ + command: "connect", + proxy: nextProxy, + destination: nextDestination, + existing_socket: sock + }); + sock = sock || result.socket; + } + if (typeof callback === "function") { + callback(null, { socket: sock }); + resolve({ socket: sock }); + } else { + resolve({ socket: sock }); + } + } catch (err) { + if (typeof callback === "function") { + callback(err); + resolve(err); + } else { + reject(err); + } + } + })); + } + /** + * Creates a SOCKS UDP Frame. + * @param options + */ + static createUDPFrame(options) { + const buff = new smart_buffer_1.SmartBuffer(); + buff.writeUInt16BE(0); + buff.writeUInt8(options.frameNumber || 0); + if (net.isIPv4(options.remoteHost.host)) { + buff.writeUInt8(constants_1.Socks5HostType.IPv4); + buff.writeUInt32BE(ip.toLong(options.remoteHost.host)); + } else if (net.isIPv6(options.remoteHost.host)) { + buff.writeUInt8(constants_1.Socks5HostType.IPv6); + buff.writeBuffer(ip.toBuffer(options.remoteHost.host)); + } else { + buff.writeUInt8(constants_1.Socks5HostType.Hostname); + buff.writeUInt8(Buffer.byteLength(options.remoteHost.host)); + buff.writeString(options.remoteHost.host); + } + buff.writeUInt16BE(options.remoteHost.port); + buff.writeBuffer(options.data); + return buff.toBuffer(); + } + /** + * Parses a SOCKS UDP frame. + * @param data + */ + static parseUDPFrame(data) { + const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); + buff.readOffset = 2; + const frameNumber = buff.readUInt8(); + const hostType = buff.readUInt8(); + let remoteHost; + if (hostType === constants_1.Socks5HostType.IPv4) { + remoteHost = ip.fromLong(buff.readUInt32BE()); + } else if (hostType === constants_1.Socks5HostType.IPv6) { + remoteHost = ip.toString(buff.readBuffer(16)); + } else { + remoteHost = buff.readString(buff.readUInt8()); + } + const remotePort = buff.readUInt16BE(); + return { + frameNumber, + remoteHost: { + host: remoteHost, + port: remotePort + }, + data: buff.readBuffer() + }; + } + /** + * Internal state setter. If the SocksClient is in an error state, it cannot be changed to a non error state. + */ + setState(newState) { + if (this.state !== constants_1.SocksClientState.Error) { + this.state = newState; + } + } + /** + * Starts the connection establishment to the proxy and destination. + * @param existingSocket Connected socket to use instead of creating a new one (internal use). + */ + connect(existingSocket) { + this.onDataReceived = (data) => this.onDataReceivedHandler(data); + this.onClose = () => this.onCloseHandler(); + this.onError = (err) => this.onErrorHandler(err); + this.onConnect = () => this.onConnectHandler(); + const timer = setTimeout(() => this.onEstablishedTimeout(), this.options.timeout || constants_1.DEFAULT_TIMEOUT); + if (timer.unref && typeof timer.unref === "function") { + timer.unref(); + } + if (existingSocket) { + this.socket = existingSocket; + } else { + this.socket = new net.Socket(); + } + this.socket.once("close", this.onClose); + this.socket.once("error", this.onError); + this.socket.once("connect", this.onConnect); + this.socket.on("data", this.onDataReceived); + this.setState(constants_1.SocksClientState.Connecting); + this.receiveBuffer = new receivebuffer_1.ReceiveBuffer(); + if (existingSocket) { + this.socket.emit("connect"); + } else { + this.socket.connect(this.getSocketOptions()); + if (this.options.set_tcp_nodelay !== void 0 && this.options.set_tcp_nodelay !== null) { + this.socket.setNoDelay(!!this.options.set_tcp_nodelay); + } + } + this.prependOnceListener("established", (info) => { + setImmediate(() => { + if (this.receiveBuffer.length > 0) { + const excessData = this.receiveBuffer.get(this.receiveBuffer.length); + info.socket.emit("data", excessData); + } + info.socket.resume(); + }); + }); + } + // Socket options (defaults host/port to options.proxy.host/options.proxy.port) + getSocketOptions() { + return Object.assign(Object.assign({}, this.options.socket_options), { host: this.options.proxy.host || this.options.proxy.ipaddress, port: this.options.proxy.port }); + } + /** + * Handles internal Socks timeout callback. + * Note: If the Socks client is not BoundWaitingForConnection or Established, the connection will be closed. + */ + onEstablishedTimeout() { + if (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.BoundWaitingForConnection) { + this.closeSocket(constants_1.ERRORS.ProxyConnectionTimedOut); + } + } + /** + * Handles Socket connect event. + */ + onConnectHandler() { + this.setState(constants_1.SocksClientState.Connected); + if (this.options.proxy.type === 4) { + this.sendSocks4InitialHandshake(); + } else { + this.sendSocks5InitialHandshake(); + } + this.setState(constants_1.SocksClientState.SentInitialHandshake); + } + /** + * Handles Socket data event. + * @param data + */ + onDataReceivedHandler(data) { + this.receiveBuffer.append(data); + this.processData(); + } + /** + * Handles processing of the data we have received. + */ + processData() { + while (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.Error && this.receiveBuffer.length >= this.nextRequiredPacketBufferSize) { + if (this.state === constants_1.SocksClientState.SentInitialHandshake) { + if (this.options.proxy.type === 4) { + this.handleSocks4FinalHandshakeResponse(); + } else { + this.handleInitialSocks5HandshakeResponse(); + } + } else if (this.state === constants_1.SocksClientState.SentAuthentication) { + this.handleInitialSocks5AuthenticationHandshakeResponse(); + } else if (this.state === constants_1.SocksClientState.SentFinalHandshake) { + this.handleSocks5FinalHandshakeResponse(); + } else if (this.state === constants_1.SocksClientState.BoundWaitingForConnection) { + if (this.options.proxy.type === 4) { + this.handleSocks4IncomingConnectionResponse(); + } else { + this.handleSocks5IncomingConnectionResponse(); + } + } else { + this.closeSocket(constants_1.ERRORS.InternalError); + break; + } + } + } + /** + * Handles Socket close event. + * @param had_error + */ + onCloseHandler() { + this.closeSocket(constants_1.ERRORS.SocketClosed); + } + /** + * Handles Socket error event. + * @param err + */ + onErrorHandler(err) { + this.closeSocket(err.message); + } + /** + * Removes internal event listeners on the underlying Socket. + */ + removeInternalSocketHandlers() { + this.socket.pause(); + this.socket.removeListener("data", this.onDataReceived); + this.socket.removeListener("close", this.onClose); + this.socket.removeListener("error", this.onError); + this.socket.removeListener("connect", this.onConnect); + } + /** + * Closes and destroys the underlying Socket. Emits an error event. + * @param err { String } An error string to include in error event. + */ + closeSocket(err) { + if (this.state !== constants_1.SocksClientState.Error) { + this.setState(constants_1.SocksClientState.Error); + this.socket.destroy(); + this.removeInternalSocketHandlers(); + this.emit("error", new util_1.SocksClientError(err, this.options)); + } + } + /** + * Sends initial Socks v4 handshake request. + */ + sendSocks4InitialHandshake() { + const userId = this.options.proxy.userId || ""; + const buff = new smart_buffer_1.SmartBuffer(); + buff.writeUInt8(4); + buff.writeUInt8(constants_1.SocksCommand[this.options.command]); + buff.writeUInt16BE(this.options.destination.port); + if (net.isIPv4(this.options.destination.host)) { + buff.writeBuffer(ip.toBuffer(this.options.destination.host)); + buff.writeStringNT(userId); + } else { + buff.writeUInt8(0); + buff.writeUInt8(0); + buff.writeUInt8(0); + buff.writeUInt8(1); + buff.writeStringNT(userId); + buff.writeStringNT(this.options.destination.host); + } + this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks4Response; + this.socket.write(buff.toBuffer()); + } + /** + * Handles Socks v4 handshake response. + * @param data + */ + handleSocks4FinalHandshakeResponse() { + const data = this.receiveBuffer.get(8); + if (data[1] !== constants_1.Socks4Response.Granted) { + this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedConnection} - (${constants_1.Socks4Response[data[1]]})`); + } else { + if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) { + const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); + buff.readOffset = 2; + const remoteHost = { + port: buff.readUInt16BE(), + host: ip.fromLong(buff.readUInt32BE()) + }; + if (remoteHost.host === "0.0.0.0") { + remoteHost.host = this.options.proxy.ipaddress; + } + this.setState(constants_1.SocksClientState.BoundWaitingForConnection); + this.emit("bound", { remoteHost, socket: this.socket }); + } else { + this.setState(constants_1.SocksClientState.Established); + this.removeInternalSocketHandlers(); + this.emit("established", { socket: this.socket }); + } + } + } + /** + * Handles Socks v4 incoming connection request (BIND) + * @param data + */ + handleSocks4IncomingConnectionResponse() { + const data = this.receiveBuffer.get(8); + if (data[1] !== constants_1.Socks4Response.Granted) { + this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedIncomingBoundConnection} - (${constants_1.Socks4Response[data[1]]})`); + } else { + const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); + buff.readOffset = 2; + const remoteHost = { + port: buff.readUInt16BE(), + host: ip.fromLong(buff.readUInt32BE()) + }; + this.setState(constants_1.SocksClientState.Established); + this.removeInternalSocketHandlers(); + this.emit("established", { remoteHost, socket: this.socket }); + } + } + /** + * Sends initial Socks v5 handshake request. + */ + sendSocks5InitialHandshake() { + const buff = new smart_buffer_1.SmartBuffer(); + const supportedAuthMethods = [constants_1.Socks5Auth.NoAuth]; + if (this.options.proxy.userId || this.options.proxy.password) { + supportedAuthMethods.push(constants_1.Socks5Auth.UserPass); + } + if (this.options.proxy.custom_auth_method !== void 0) { + supportedAuthMethods.push(this.options.proxy.custom_auth_method); + } + buff.writeUInt8(5); + buff.writeUInt8(supportedAuthMethods.length); + for (const authMethod of supportedAuthMethods) { + buff.writeUInt8(authMethod); + } + this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5InitialHandshakeResponse; + this.socket.write(buff.toBuffer()); + this.setState(constants_1.SocksClientState.SentInitialHandshake); + } + /** + * Handles initial Socks v5 handshake response. + * @param data + */ + handleInitialSocks5HandshakeResponse() { + const data = this.receiveBuffer.get(2); + if (data[0] !== 5) { + this.closeSocket(constants_1.ERRORS.InvalidSocks5IntiailHandshakeSocksVersion); + } else if (data[1] === constants_1.SOCKS5_NO_ACCEPTABLE_AUTH) { + this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeNoAcceptedAuthType); + } else { + if (data[1] === constants_1.Socks5Auth.NoAuth) { + this.socks5ChosenAuthType = constants_1.Socks5Auth.NoAuth; + this.sendSocks5CommandRequest(); + } else if (data[1] === constants_1.Socks5Auth.UserPass) { + this.socks5ChosenAuthType = constants_1.Socks5Auth.UserPass; + this.sendSocks5UserPassAuthentication(); + } else if (data[1] === this.options.proxy.custom_auth_method) { + this.socks5ChosenAuthType = this.options.proxy.custom_auth_method; + this.sendSocks5CustomAuthentication(); + } else { + this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeUnknownAuthType); + } + } + } + /** + * Sends Socks v5 user & password auth handshake. + * + * Note: No auth and user/pass are currently supported. + */ + sendSocks5UserPassAuthentication() { + const userId = this.options.proxy.userId || ""; + const password = this.options.proxy.password || ""; + const buff = new smart_buffer_1.SmartBuffer(); + buff.writeUInt8(1); + buff.writeUInt8(Buffer.byteLength(userId)); + buff.writeString(userId); + buff.writeUInt8(Buffer.byteLength(password)); + buff.writeString(password); + this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5UserPassAuthenticationResponse; + this.socket.write(buff.toBuffer()); + this.setState(constants_1.SocksClientState.SentAuthentication); + } + sendSocks5CustomAuthentication() { + return __awaiter2(this, void 0, void 0, function* () { + this.nextRequiredPacketBufferSize = this.options.proxy.custom_auth_response_size; + this.socket.write(yield this.options.proxy.custom_auth_request_handler()); + this.setState(constants_1.SocksClientState.SentAuthentication); + }); + } + handleSocks5CustomAuthHandshakeResponse(data) { + return __awaiter2(this, void 0, void 0, function* () { + return yield this.options.proxy.custom_auth_response_handler(data); + }); + } + handleSocks5AuthenticationNoAuthHandshakeResponse(data) { + return __awaiter2(this, void 0, void 0, function* () { + return data[1] === 0; + }); + } + handleSocks5AuthenticationUserPassHandshakeResponse(data) { + return __awaiter2(this, void 0, void 0, function* () { + return data[1] === 0; + }); + } + /** + * Handles Socks v5 auth handshake response. + * @param data + */ + handleInitialSocks5AuthenticationHandshakeResponse() { + return __awaiter2(this, void 0, void 0, function* () { + this.setState(constants_1.SocksClientState.ReceivedAuthenticationResponse); + let authResult = false; + if (this.socks5ChosenAuthType === constants_1.Socks5Auth.NoAuth) { + authResult = yield this.handleSocks5AuthenticationNoAuthHandshakeResponse(this.receiveBuffer.get(2)); + } else if (this.socks5ChosenAuthType === constants_1.Socks5Auth.UserPass) { + authResult = yield this.handleSocks5AuthenticationUserPassHandshakeResponse(this.receiveBuffer.get(2)); + } else if (this.socks5ChosenAuthType === this.options.proxy.custom_auth_method) { + authResult = yield this.handleSocks5CustomAuthHandshakeResponse(this.receiveBuffer.get(this.options.proxy.custom_auth_response_size)); + } + if (!authResult) { + this.closeSocket(constants_1.ERRORS.Socks5AuthenticationFailed); + } else { + this.sendSocks5CommandRequest(); + } + }); + } + /** + * Sends Socks v5 final handshake request. + */ + sendSocks5CommandRequest() { + const buff = new smart_buffer_1.SmartBuffer(); + buff.writeUInt8(5); + buff.writeUInt8(constants_1.SocksCommand[this.options.command]); + buff.writeUInt8(0); + if (net.isIPv4(this.options.destination.host)) { + buff.writeUInt8(constants_1.Socks5HostType.IPv4); + buff.writeBuffer(ip.toBuffer(this.options.destination.host)); + } else if (net.isIPv6(this.options.destination.host)) { + buff.writeUInt8(constants_1.Socks5HostType.IPv6); + buff.writeBuffer(ip.toBuffer(this.options.destination.host)); + } else { + buff.writeUInt8(constants_1.Socks5HostType.Hostname); + buff.writeUInt8(this.options.destination.host.length); + buff.writeString(this.options.destination.host); + } + buff.writeUInt16BE(this.options.destination.port); + this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader; + this.socket.write(buff.toBuffer()); + this.setState(constants_1.SocksClientState.SentFinalHandshake); + } + /** + * Handles Socks v5 final handshake response. + * @param data + */ + handleSocks5FinalHandshakeResponse() { + const header = this.receiveBuffer.peek(5); + if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) { + this.closeSocket(`${constants_1.ERRORS.InvalidSocks5FinalHandshakeRejected} - ${constants_1.Socks5Response[header[1]]}`); + } else { + const addressType = header[3]; + let remoteHost; + let buff; + if (addressType === constants_1.Socks5HostType.IPv4) { + const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4; + if (this.receiveBuffer.length < dataNeeded) { + this.nextRequiredPacketBufferSize = dataNeeded; + return; + } + buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); + remoteHost = { + host: ip.fromLong(buff.readUInt32BE()), + port: buff.readUInt16BE() + }; + if (remoteHost.host === "0.0.0.0") { + remoteHost.host = this.options.proxy.ipaddress; + } + } else if (addressType === constants_1.Socks5HostType.Hostname) { + const hostLength = header[4]; + const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength); + if (this.receiveBuffer.length < dataNeeded) { + this.nextRequiredPacketBufferSize = dataNeeded; + return; + } + buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5)); + remoteHost = { + host: buff.readString(hostLength), + port: buff.readUInt16BE() + }; + } else if (addressType === constants_1.Socks5HostType.IPv6) { + const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6; + if (this.receiveBuffer.length < dataNeeded) { + this.nextRequiredPacketBufferSize = dataNeeded; + return; + } + buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); + remoteHost = { + host: ip.toString(buff.readBuffer(16)), + port: buff.readUInt16BE() + }; + } + this.setState(constants_1.SocksClientState.ReceivedFinalResponse); + if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.connect) { + this.setState(constants_1.SocksClientState.Established); + this.removeInternalSocketHandlers(); + this.emit("established", { remoteHost, socket: this.socket }); + } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) { + this.setState(constants_1.SocksClientState.BoundWaitingForConnection); + this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader; + this.emit("bound", { remoteHost, socket: this.socket }); + } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.associate) { + this.setState(constants_1.SocksClientState.Established); + this.removeInternalSocketHandlers(); + this.emit("established", { + remoteHost, + socket: this.socket + }); + } + } + } + /** + * Handles Socks v5 incoming connection request (BIND). + */ + handleSocks5IncomingConnectionResponse() { + const header = this.receiveBuffer.peek(5); + if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) { + this.closeSocket(`${constants_1.ERRORS.Socks5ProxyRejectedIncomingBoundConnection} - ${constants_1.Socks5Response[header[1]]}`); + } else { + const addressType = header[3]; + let remoteHost; + let buff; + if (addressType === constants_1.Socks5HostType.IPv4) { + const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4; + if (this.receiveBuffer.length < dataNeeded) { + this.nextRequiredPacketBufferSize = dataNeeded; + return; + } + buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); + remoteHost = { + host: ip.fromLong(buff.readUInt32BE()), + port: buff.readUInt16BE() + }; + if (remoteHost.host === "0.0.0.0") { + remoteHost.host = this.options.proxy.ipaddress; + } + } else if (addressType === constants_1.Socks5HostType.Hostname) { + const hostLength = header[4]; + const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength); + if (this.receiveBuffer.length < dataNeeded) { + this.nextRequiredPacketBufferSize = dataNeeded; + return; + } + buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5)); + remoteHost = { + host: buff.readString(hostLength), + port: buff.readUInt16BE() + }; + } else if (addressType === constants_1.Socks5HostType.IPv6) { + const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6; + if (this.receiveBuffer.length < dataNeeded) { + this.nextRequiredPacketBufferSize = dataNeeded; + return; + } + buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); + remoteHost = { + host: ip.toString(buff.readBuffer(16)), + port: buff.readUInt16BE() + }; + } + this.setState(constants_1.SocksClientState.Established); + this.removeInternalSocketHandlers(); + this.emit("established", { remoteHost, socket: this.socket }); + } + } + get socksClientOptions() { + return Object.assign({}, this.options); + } + }; + exports.SocksClient = SocksClient; + } +}); + +// .yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/index.js +var require_build = __commonJS({ + ".yarn/cache/socks-npm-2.7.1-17f2b53052-a8026d6abf.zip/node_modules/socks/build/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar2 = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding2(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + __exportStar2(require_socksclient(), exports); + } +}); + +// .yarn/cache/socks-proxy-agent-npm-8.0.1-646f00d0a1-6df7fae19f.zip/node_modules/socks-proxy-agent/dist/index.js +var require_dist4 = __commonJS({ + ".yarn/cache/socks-proxy-agent-npm-8.0.1-646f00d0a1-6df7fae19f.zip/node_modules/socks-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SocksProxyAgent = void 0; + var socks_1 = require_build(); + var agent_base_1 = require_dist(); + var debug_1 = __importDefault2(require_src2()); + var dns = __importStar2(require("dns")); + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var debug2 = (0, debug_1.default)("socks-proxy-agent"); + function parseSocksURL(url) { + let lookup = false; + let type = 5; + const host = url.hostname; + const port = parseInt(url.port, 10) || 1080; + switch (url.protocol.replace(":", "")) { + case "socks4": + lookup = true; + type = 4; + break; + case "socks4a": + type = 4; + break; + case "socks5": + lookup = true; + type = 5; + break; + case "socks": + type = 5; + break; + case "socks5h": + type = 5; + break; + default: + throw new TypeError(`A "socks" protocol must be specified! Got: ${String(url.protocol)}`); + } + const proxy = { + host, + port, + type + }; + if (url.username) { + Object.defineProperty(proxy, "userId", { + value: decodeURIComponent(url.username), + enumerable: false + }); + } + if (url.password != null) { + Object.defineProperty(proxy, "password", { + value: decodeURIComponent(url.password), + enumerable: false + }); + } + return { lookup, proxy }; + } + var SocksProxyAgent = class extends agent_base_1.Agent { + constructor(uri, opts) { + super(opts); + const url = typeof uri === "string" ? new URL(uri) : uri; + const { proxy, lookup } = parseSocksURL(url); + this.shouldLookup = lookup; + this.proxy = proxy; + this.timeout = opts?.timeout ?? null; + } + /** + * Initiates a SOCKS connection to the specified SOCKS proxy server, + * which in turn connects to the specified remote host and port. + */ + async connect(req, opts) { + const { shouldLookup, proxy, timeout } = this; + if (!opts.host) { + throw new Error("No `host` defined!"); + } + let { host } = opts; + const { port, lookup: lookupFn = dns.lookup } = opts; + if (shouldLookup) { + host = await new Promise((resolve, reject) => { + lookupFn(host, {}, (err, res) => { + if (err) { + reject(err); + } else { + resolve(res); + } + }); + }); + } + const socksOpts = { + proxy, + destination: { + host, + port: typeof port === "number" ? port : parseInt(port, 10) + }, + command: "connect", + timeout: timeout ?? void 0 + }; + const cleanup = (tlsSocket) => { + req.destroy(); + socket.destroy(); + if (tlsSocket) + tlsSocket.destroy(); + }; + debug2("Creating socks proxy connection: %o", socksOpts); + const { socket } = await socks_1.SocksClient.createConnection(socksOpts); + debug2("Successfully created socks proxy connection"); + if (timeout !== null) { + socket.setTimeout(timeout); + socket.on("timeout", () => cleanup()); + } + if (opts.secureEndpoint) { + debug2("Upgrading socket connection to TLS"); + const servername = opts.servername || opts.host; + const tlsSocket = tls.connect({ + ...omit(opts, "host", "path", "port"), + socket, + servername: net.isIP(servername) ? void 0 : servername + }); + tlsSocket.once("error", (error) => { + debug2("Socket TLS error", error.message); + cleanup(tlsSocket); + }); + return tlsSocket; + } + return socket; + } + }; + SocksProxyAgent.protocols = [ + "socks", + "socks4", + "socks4a", + "socks5", + "socks5h" + ]; + exports.SocksProxyAgent = SocksProxyAgent; + function omit(obj, ...keys) { + const ret = {}; + let key; + for (key in obj) { + if (!keys.includes(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + } +}); + +// .yarn/cache/data-uri-to-buffer-npm-5.0.1-a40e5ac026-ffb32d1944.zip/node_modules/data-uri-to-buffer/dist/index.js +var require_dist5 = __commonJS({ + ".yarn/cache/data-uri-to-buffer-npm-5.0.1-a40e5ac026-ffb32d1944.zip/node_modules/data-uri-to-buffer/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.dataUriToBuffer = void 0; + function dataUriToBuffer(uri) { + if (!/^data:/i.test(uri)) { + throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")'); + } + uri = uri.replace(/\r?\n/g, ""); + const firstComma = uri.indexOf(","); + if (firstComma === -1 || firstComma <= 4) { + throw new TypeError("malformed data: URI"); + } + const meta = uri.substring(5, firstComma).split(";"); + let charset = ""; + let base64 = false; + const type = meta[0] || "text/plain"; + let typeFull = type; + for (let i = 1; i < meta.length; i++) { + if (meta[i] === "base64") { + base64 = true; + } else if (meta[i]) { + typeFull += `;${meta[i]}`; + if (meta[i].indexOf("charset=") === 0) { + charset = meta[i].substring(8); + } + } + } + if (!meta[0] && !charset.length) { + typeFull += ";charset=US-ASCII"; + charset = "US-ASCII"; + } + const encoding = base64 ? "base64" : "ascii"; + const data = unescape(uri.substring(firstComma + 1)); + const buffer = Buffer.from(data, encoding); + buffer.type = type; + buffer.typeFull = typeFull; + buffer.charset = charset; + return buffer; + } + exports.dataUriToBuffer = dataUriToBuffer; + exports.default = dataUriToBuffer; + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/notmodified.js +var require_notmodified = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/notmodified.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var NotModifiedError = class extends Error { + constructor(message) { + super(message || 'Source has not been modified since the provied "cache", re-use previous results'); + this.code = "ENOTMODIFIED"; + } + }; + exports.default = NotModifiedError; + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/data.js +var require_data = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/data.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.data = void 0; + var debug_1 = __importDefault2(require_src2()); + var stream_1 = require("stream"); + var crypto_1 = require("crypto"); + var data_uri_to_buffer_1 = __importDefault2(require_dist5()); + var notmodified_1 = __importDefault2(require_notmodified()); + var debug2 = (0, debug_1.default)("get-uri:data"); + var DataReadable = class extends stream_1.Readable { + constructor(hash, buf) { + super(); + this.push(buf); + this.push(null); + this.hash = hash; + } + }; + var data = async ({ href: uri }, { cache } = {}) => { + const shasum = (0, crypto_1.createHash)("sha1"); + shasum.update(uri); + const hash = shasum.digest("hex"); + debug2('generated SHA1 hash for "data:" URI: %o', hash); + if (cache?.hash === hash) { + debug2("got matching cache SHA1 hash: %o", hash); + throw new notmodified_1.default(); + } else { + debug2('creating Readable stream from "data:" URI buffer'); + const buf = (0, data_uri_to_buffer_1.default)(uri); + return new DataReadable(hash, buf); + } + }; + exports.data = data; + } +}); + +// .yarn/cache/universalify-npm-0.1.2-9b22d31d2d-056559913f.zip/node_modules/universalify/index.js +var require_universalify = __commonJS({ + ".yarn/cache/universalify-npm-0.1.2-9b22d31d2d-056559913f.zip/node_modules/universalify/index.js"(exports) { + "use strict"; + exports.fromCallback = function(fn2) { + return Object.defineProperty(function() { + if (typeof arguments[arguments.length - 1] === "function") + fn2.apply(this, arguments); + else { + return new Promise((resolve, reject) => { + arguments[arguments.length] = (err, res) => { + if (err) + return reject(err); + resolve(res); + }; + arguments.length++; + fn2.apply(this, arguments); + }); + } + }, "name", { value: fn2.name }); + }; + exports.fromPromise = function(fn2) { + return Object.defineProperty(function() { + const cb = arguments[arguments.length - 1]; + if (typeof cb !== "function") + return fn2.apply(this, arguments); + else + fn2.apply(this, arguments).then((r) => cb(null, r), cb); + }, "name", { value: fn2.name }); + }; + } +}); + +// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/polyfills.js +var require_polyfills = __commonJS({ + ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/polyfills.js"(exports, module2) { + var constants = require("constants"); + var origCwd = process.cwd; + var cwd = null; + var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform; + process.cwd = function() { + if (!cwd) + cwd = origCwd.call(process); + return cwd; + }; + try { + process.cwd(); + } catch (er) { + } + if (typeof process.chdir === "function") { + chdir = process.chdir; + process.chdir = function(d) { + cwd = null; + chdir.call(process, d); + }; + if (Object.setPrototypeOf) + Object.setPrototypeOf(process.chdir, chdir); + } + var chdir; + module2.exports = patch; + function patch(fs6) { + if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + patchLchmod(fs6); + } + if (!fs6.lutimes) { + patchLutimes(fs6); + } + fs6.chown = chownFix(fs6.chown); + fs6.fchown = chownFix(fs6.fchown); + fs6.lchown = chownFix(fs6.lchown); + fs6.chmod = chmodFix(fs6.chmod); + fs6.fchmod = chmodFix(fs6.fchmod); + fs6.lchmod = chmodFix(fs6.lchmod); + fs6.chownSync = chownFixSync(fs6.chownSync); + fs6.fchownSync = chownFixSync(fs6.fchownSync); + fs6.lchownSync = chownFixSync(fs6.lchownSync); + fs6.chmodSync = chmodFixSync(fs6.chmodSync); + fs6.fchmodSync = chmodFixSync(fs6.fchmodSync); + fs6.lchmodSync = chmodFixSync(fs6.lchmodSync); + fs6.stat = statFix(fs6.stat); + fs6.fstat = statFix(fs6.fstat); + fs6.lstat = statFix(fs6.lstat); + fs6.statSync = statFixSync(fs6.statSync); + fs6.fstatSync = statFixSync(fs6.fstatSync); + fs6.lstatSync = statFixSync(fs6.lstatSync); + if (fs6.chmod && !fs6.lchmod) { + fs6.lchmod = function(path9, mode, cb) { + if (cb) + process.nextTick(cb); + }; + fs6.lchmodSync = function() { + }; + } + if (fs6.chown && !fs6.lchown) { + fs6.lchown = function(path9, uid, gid, cb) { + if (cb) + process.nextTick(cb); + }; + fs6.lchownSync = function() { + }; + } + if (platform === "win32") { + fs6.rename = typeof fs6.rename !== "function" ? fs6.rename : function(fs$rename) { + function rename(from, to, cb) { + var start = Date.now(); + var backoff = 0; + fs$rename(from, to, function CB(er) { + if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) { + setTimeout(function() { + fs6.stat(to, function(stater, st) { + if (stater && stater.code === "ENOENT") + fs$rename(from, to, CB); + else + cb(er); + }); + }, backoff); + if (backoff < 100) + backoff += 10; + return; + } + if (cb) + cb(er); + }); + } + if (Object.setPrototypeOf) + Object.setPrototypeOf(rename, fs$rename); + return rename; + }(fs6.rename); + } + fs6.read = typeof fs6.read !== "function" ? fs6.read : function(fs$read) { + function read(fd, buffer, offset, length, position, callback_) { + var callback; + if (callback_ && typeof callback_ === "function") { + var eagCounter = 0; + callback = function(er, _, __) { + if (er && er.code === "EAGAIN" && eagCounter < 10) { + eagCounter++; + return fs$read.call(fs6, fd, buffer, offset, length, position, callback); + } + callback_.apply(this, arguments); + }; + } + return fs$read.call(fs6, fd, buffer, offset, length, position, callback); + } + if (Object.setPrototypeOf) + Object.setPrototypeOf(read, fs$read); + return read; + }(fs6.read); + fs6.readSync = typeof fs6.readSync !== "function" ? fs6.readSync : function(fs$readSync) { + return function(fd, buffer, offset, length, position) { + var eagCounter = 0; + while (true) { + try { + return fs$readSync.call(fs6, fd, buffer, offset, length, position); + } catch (er) { + if (er.code === "EAGAIN" && eagCounter < 10) { + eagCounter++; + continue; + } + throw er; + } + } + }; + }(fs6.readSync); + function patchLchmod(fs7) { + fs7.lchmod = function(path9, mode, callback) { + fs7.open( + path9, + constants.O_WRONLY | constants.O_SYMLINK, + mode, + function(err, fd) { + if (err) { + if (callback) + callback(err); + return; + } + fs7.fchmod(fd, mode, function(err2) { + fs7.close(fd, function(err22) { + if (callback) + callback(err2 || err22); + }); + }); + } + ); + }; + fs7.lchmodSync = function(path9, mode) { + var fd = fs7.openSync(path9, constants.O_WRONLY | constants.O_SYMLINK, mode); + var threw = true; + var ret; + try { + ret = fs7.fchmodSync(fd, mode); + threw = false; + } finally { + if (threw) { + try { + fs7.closeSync(fd); + } catch (er) { + } + } else { + fs7.closeSync(fd); + } + } + return ret; + }; + } + function patchLutimes(fs7) { + if (constants.hasOwnProperty("O_SYMLINK") && fs7.futimes) { + fs7.lutimes = function(path9, at, mt, cb) { + fs7.open(path9, constants.O_SYMLINK, function(er, fd) { + if (er) { + if (cb) + cb(er); + return; + } + fs7.futimes(fd, at, mt, function(er2) { + fs7.close(fd, function(er22) { + if (cb) + cb(er2 || er22); + }); + }); + }); + }; + fs7.lutimesSync = function(path9, at, mt) { + var fd = fs7.openSync(path9, constants.O_SYMLINK); + var ret; + var threw = true; + try { + ret = fs7.futimesSync(fd, at, mt); + threw = false; + } finally { + if (threw) { + try { + fs7.closeSync(fd); + } catch (er) { + } + } else { + fs7.closeSync(fd); + } + } + return ret; + }; + } else if (fs7.futimes) { + fs7.lutimes = function(_a, _b, _c, cb) { + if (cb) + process.nextTick(cb); + }; + fs7.lutimesSync = function() { + }; + } + } + function chmodFix(orig) { + if (!orig) + return orig; + return function(target, mode, cb) { + return orig.call(fs6, target, mode, function(er) { + if (chownErOk(er)) + er = null; + if (cb) + cb.apply(this, arguments); + }); + }; + } + function chmodFixSync(orig) { + if (!orig) + return orig; + return function(target, mode) { + try { + return orig.call(fs6, target, mode); + } catch (er) { + if (!chownErOk(er)) + throw er; + } + }; + } + function chownFix(orig) { + if (!orig) + return orig; + return function(target, uid, gid, cb) { + return orig.call(fs6, target, uid, gid, function(er) { + if (chownErOk(er)) + er = null; + if (cb) + cb.apply(this, arguments); + }); + }; + } + function chownFixSync(orig) { + if (!orig) + return orig; + return function(target, uid, gid) { + try { + return orig.call(fs6, target, uid, gid); + } catch (er) { + if (!chownErOk(er)) + throw er; + } + }; + } + function statFix(orig) { + if (!orig) + return orig; + return function(target, options, cb) { + if (typeof options === "function") { + cb = options; + options = null; + } + function callback(er, stats) { + if (stats) { + if (stats.uid < 0) + stats.uid += 4294967296; + if (stats.gid < 0) + stats.gid += 4294967296; + } + if (cb) + cb.apply(this, arguments); + } + return options ? orig.call(fs6, target, options, callback) : orig.call(fs6, target, callback); + }; + } + function statFixSync(orig) { + if (!orig) + return orig; + return function(target, options) { + var stats = options ? orig.call(fs6, target, options) : orig.call(fs6, target); + if (stats) { + if (stats.uid < 0) + stats.uid += 4294967296; + if (stats.gid < 0) + stats.gid += 4294967296; + } + return stats; + }; + } + function chownErOk(er) { + if (!er) + return true; + if (er.code === "ENOSYS") + return true; + var nonroot = !process.getuid || process.getuid() !== 0; + if (nonroot) { + if (er.code === "EINVAL" || er.code === "EPERM") + return true; + } + return false; + } + } + } +}); + +// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/legacy-streams.js +var require_legacy_streams = __commonJS({ + ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/legacy-streams.js"(exports, module2) { + var Stream = require("stream").Stream; + module2.exports = legacy; + function legacy(fs6) { + return { + ReadStream, + WriteStream + }; + function ReadStream(path9, options) { + if (!(this instanceof ReadStream)) + return new ReadStream(path9, options); + Stream.call(this); + var self2 = this; + this.path = path9; + this.fd = null; + this.readable = true; + this.paused = false; + this.flags = "r"; + this.mode = 438; + this.bufferSize = 64 * 1024; + options = options || {}; + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + if (this.encoding) + this.setEncoding(this.encoding); + if (this.start !== void 0) { + if ("number" !== typeof this.start) { + throw TypeError("start must be a Number"); + } + if (this.end === void 0) { + this.end = Infinity; + } else if ("number" !== typeof this.end) { + throw TypeError("end must be a Number"); + } + if (this.start > this.end) { + throw new Error("start must be <= end"); + } + this.pos = this.start; + } + if (this.fd !== null) { + process.nextTick(function() { + self2._read(); + }); + return; + } + fs6.open(this.path, this.flags, this.mode, function(err, fd) { + if (err) { + self2.emit("error", err); + self2.readable = false; + return; + } + self2.fd = fd; + self2.emit("open", fd); + self2._read(); + }); + } + function WriteStream(path9, options) { + if (!(this instanceof WriteStream)) + return new WriteStream(path9, options); + Stream.call(this); + this.path = path9; + this.fd = null; + this.writable = true; + this.flags = "w"; + this.encoding = "binary"; + this.mode = 438; + this.bytesWritten = 0; + options = options || {}; + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + if (this.start !== void 0) { + if ("number" !== typeof this.start) { + throw TypeError("start must be a Number"); + } + if (this.start < 0) { + throw new Error("start must be >= zero"); + } + this.pos = this.start; + } + this.busy = false; + this._queue = []; + if (this.fd === null) { + this._open = fs6.open; + this._queue.push([this._open, this.path, this.flags, this.mode, void 0]); + this.flush(); + } + } + } + } +}); + +// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/clone.js +var require_clone = __commonJS({ + ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/clone.js"(exports, module2) { + "use strict"; + module2.exports = clone; + var getPrototypeOf = Object.getPrototypeOf || function(obj) { + return obj.__proto__; + }; + function clone(obj) { + if (obj === null || typeof obj !== "object") + return obj; + if (obj instanceof Object) + var copy = { __proto__: getPrototypeOf(obj) }; + else + var copy = /* @__PURE__ */ Object.create(null); + Object.getOwnPropertyNames(obj).forEach(function(key) { + Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)); + }); + return copy; + } + } +}); + +// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/graceful-fs.js +var require_graceful_fs = __commonJS({ + ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-0228fc1080.zip/node_modules/graceful-fs/graceful-fs.js"(exports, module2) { + var fs6 = require("fs"); + var polyfills = require_polyfills(); + var legacy = require_legacy_streams(); + var clone = require_clone(); + var util = require("util"); + var gracefulQueue; + var previousSymbol; + if (typeof Symbol === "function" && typeof Symbol.for === "function") { + gracefulQueue = Symbol.for("graceful-fs.queue"); + previousSymbol = Symbol.for("graceful-fs.previous"); + } else { + gracefulQueue = "___graceful-fs.queue"; + previousSymbol = "___graceful-fs.previous"; + } + function noop() { + } + function publishQueue(context, queue2) { + Object.defineProperty(context, gracefulQueue, { + get: function() { + return queue2; + } + }); + } + var debug2 = noop; + if (util.debuglog) + debug2 = util.debuglog("gfs4"); + else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) + debug2 = function() { + var m = util.format.apply(util, arguments); + m = "GFS4: " + m.split(/\n/).join("\nGFS4: "); + console.error(m); + }; + if (!fs6[gracefulQueue]) { + queue = global[gracefulQueue] || []; + publishQueue(fs6, queue); + fs6.close = function(fs$close) { + function close(fd, cb) { + return fs$close.call(fs6, fd, function(err) { + if (!err) { + resetQueue(); + } + if (typeof cb === "function") + cb.apply(this, arguments); + }); + } + Object.defineProperty(close, previousSymbol, { + value: fs$close + }); + return close; + }(fs6.close); + fs6.closeSync = function(fs$closeSync) { + function closeSync(fd) { + fs$closeSync.apply(fs6, arguments); + resetQueue(); + } + Object.defineProperty(closeSync, previousSymbol, { + value: fs$closeSync + }); + return closeSync; + }(fs6.closeSync); + if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) { + process.on("exit", function() { + debug2(fs6[gracefulQueue]); + require("assert").equal(fs6[gracefulQueue].length, 0); + }); + } + } + var queue; + if (!global[gracefulQueue]) { + publishQueue(global, fs6[gracefulQueue]); + } + module2.exports = patch(clone(fs6)); + if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs6.__patched) { + module2.exports = patch(fs6); + fs6.__patched = true; + } + function patch(fs7) { + polyfills(fs7); + fs7.gracefulify = patch; + fs7.createReadStream = createReadStream; + fs7.createWriteStream = createWriteStream; + var fs$readFile = fs7.readFile; + fs7.readFile = readFile; + function readFile(path9, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$readFile(path9, options, cb); + function go$readFile(path10, options2, cb2, startTime) { + return fs$readFile(path10, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$readFile, [path10, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); + } + } + var fs$writeFile = fs7.writeFile; + fs7.writeFile = writeFile; + function writeFile(path9, data, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$writeFile(path9, data, options, cb); + function go$writeFile(path10, data2, options2, cb2, startTime) { + return fs$writeFile(path10, data2, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$writeFile, [path10, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); + } + } + var fs$appendFile = fs7.appendFile; + if (fs$appendFile) + fs7.appendFile = appendFile; + function appendFile(path9, data, options, cb) { + if (typeof options === "function") + cb = options, options = null; + return go$appendFile(path9, data, options, cb); + function go$appendFile(path10, data2, options2, cb2, startTime) { + return fs$appendFile(path10, data2, options2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$appendFile, [path10, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); + } + } + var fs$copyFile = fs7.copyFile; + if (fs$copyFile) + fs7.copyFile = copyFile; + function copyFile(src, dest, flags, cb) { + if (typeof flags === "function") { + cb = flags; + flags = 0; + } + return go$copyFile(src, dest, flags, cb); + function go$copyFile(src2, dest2, flags2, cb2, startTime) { + return fs$copyFile(src2, dest2, flags2, function(err) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); + } + } + var fs$readdir = fs7.readdir; + fs7.readdir = readdir; + var noReaddirOptionVersions = /^v[0-5]\./; + function readdir(path9, options, cb) { + if (typeof options === "function") + cb = options, options = null; + var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path10, options2, cb2, startTime) { + return fs$readdir(path10, fs$readdirCallback( + path10, + options2, + cb2, + startTime + )); + } : function go$readdir2(path10, options2, cb2, startTime) { + return fs$readdir(path10, options2, fs$readdirCallback( + path10, + options2, + cb2, + startTime + )); + }; + return go$readdir(path9, options, cb); + function fs$readdirCallback(path10, options2, cb2, startTime) { + return function(err, files) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([ + go$readdir, + [path10, options2, cb2], + err, + startTime || Date.now(), + Date.now() + ]); + else { + if (files && files.sort) + files.sort(); + if (typeof cb2 === "function") + cb2.call(this, err, files); + } + }; + } + } + if (process.version.substr(0, 4) === "v0.8") { + var legStreams = legacy(fs7); + ReadStream = legStreams.ReadStream; + WriteStream = legStreams.WriteStream; + } + var fs$ReadStream = fs7.ReadStream; + if (fs$ReadStream) { + ReadStream.prototype = Object.create(fs$ReadStream.prototype); + ReadStream.prototype.open = ReadStream$open; + } + var fs$WriteStream = fs7.WriteStream; + if (fs$WriteStream) { + WriteStream.prototype = Object.create(fs$WriteStream.prototype); + WriteStream.prototype.open = WriteStream$open; + } + Object.defineProperty(fs7, "ReadStream", { + get: function() { + return ReadStream; + }, + set: function(val) { + ReadStream = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(fs7, "WriteStream", { + get: function() { + return WriteStream; + }, + set: function(val) { + WriteStream = val; + }, + enumerable: true, + configurable: true + }); + var FileReadStream = ReadStream; + Object.defineProperty(fs7, "FileReadStream", { + get: function() { + return FileReadStream; + }, + set: function(val) { + FileReadStream = val; + }, + enumerable: true, + configurable: true + }); + var FileWriteStream = WriteStream; + Object.defineProperty(fs7, "FileWriteStream", { + get: function() { + return FileWriteStream; + }, + set: function(val) { + FileWriteStream = val; + }, + enumerable: true, + configurable: true + }); + function ReadStream(path9, options) { + if (this instanceof ReadStream) + return fs$ReadStream.apply(this, arguments), this; + else + return ReadStream.apply(Object.create(ReadStream.prototype), arguments); + } + function ReadStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + if (that.autoClose) + that.destroy(); + that.emit("error", err); + } else { + that.fd = fd; + that.emit("open", fd); + that.read(); + } + }); + } + function WriteStream(path9, options) { + if (this instanceof WriteStream) + return fs$WriteStream.apply(this, arguments), this; + else + return WriteStream.apply(Object.create(WriteStream.prototype), arguments); + } + function WriteStream$open() { + var that = this; + open(that.path, that.flags, that.mode, function(err, fd) { + if (err) { + that.destroy(); + that.emit("error", err); + } else { + that.fd = fd; + that.emit("open", fd); + } + }); + } + function createReadStream(path9, options) { + return new fs7.ReadStream(path9, options); + } + function createWriteStream(path9, options) { + return new fs7.WriteStream(path9, options); + } + var fs$open = fs7.open; + fs7.open = open; + function open(path9, flags, mode, cb) { + if (typeof mode === "function") + cb = mode, mode = null; + return go$open(path9, flags, mode, cb); + function go$open(path10, flags2, mode2, cb2, startTime) { + return fs$open(path10, flags2, mode2, function(err, fd) { + if (err && (err.code === "EMFILE" || err.code === "ENFILE")) + enqueue([go$open, [path10, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]); + else { + if (typeof cb2 === "function") + cb2.apply(this, arguments); + } + }); + } + } + return fs7; + } + function enqueue(elem) { + debug2("ENQUEUE", elem[0].name, elem[1]); + fs6[gracefulQueue].push(elem); + retry(); + } + var retryTimer; + function resetQueue() { + var now = Date.now(); + for (var i = 0; i < fs6[gracefulQueue].length; ++i) { + if (fs6[gracefulQueue][i].length > 2) { + fs6[gracefulQueue][i][3] = now; + fs6[gracefulQueue][i][4] = now; + } + } + retry(); + } + function retry() { + clearTimeout(retryTimer); + retryTimer = void 0; + if (fs6[gracefulQueue].length === 0) + return; + var elem = fs6[gracefulQueue].shift(); + var fn2 = elem[0]; + var args = elem[1]; + var err = elem[2]; + var startTime = elem[3]; + var lastTime = elem[4]; + if (startTime === void 0) { + debug2("RETRY", fn2.name, args); + fn2.apply(null, args); + } else if (Date.now() - startTime >= 6e4) { + debug2("TIMEOUT", fn2.name, args); + var cb = args.pop(); + if (typeof cb === "function") + cb.call(null, err); + } else { + var sinceAttempt = Date.now() - lastTime; + var sinceStart = Math.max(lastTime - startTime, 1); + var desiredDelay = Math.min(sinceStart * 1.2, 100); + if (sinceAttempt >= desiredDelay) { + debug2("RETRY", fn2.name, args); + fn2.apply(null, args.concat([startTime])); + } else { + fs6[gracefulQueue].push(elem); + } + } + if (retryTimer === void 0) { + retryTimer = setTimeout(retry, 0); + } + } + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/fs/index.js +var require_fs = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/fs/index.js"(exports) { + "use strict"; + var u = require_universalify().fromCallback; + var fs6 = require_graceful_fs(); + var api = [ + "access", + "appendFile", + "chmod", + "chown", + "close", + "copyFile", + "fchmod", + "fchown", + "fdatasync", + "fstat", + "fsync", + "ftruncate", + "futimes", + "lchown", + "lchmod", + "link", + "lstat", + "mkdir", + "mkdtemp", + "open", + "readFile", + "readdir", + "readlink", + "realpath", + "rename", + "rmdir", + "stat", + "symlink", + "truncate", + "unlink", + "utimes", + "writeFile" + ].filter((key) => { + return typeof fs6[key] === "function"; + }); + Object.keys(fs6).forEach((key) => { + if (key === "promises") { + return; + } + exports[key] = fs6[key]; + }); + api.forEach((method) => { + exports[method] = u(fs6[method]); + }); + exports.exists = function(filename, callback) { + if (typeof callback === "function") { + return fs6.exists(filename, callback); + } + return new Promise((resolve) => { + return fs6.exists(filename, resolve); + }); + }; + exports.read = function(fd, buffer, offset, length, position, callback) { + if (typeof callback === "function") { + return fs6.read(fd, buffer, offset, length, position, callback); + } + return new Promise((resolve, reject) => { + fs6.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => { + if (err) + return reject(err); + resolve({ bytesRead, buffer: buffer2 }); + }); + }); + }; + exports.write = function(fd, buffer, ...args) { + if (typeof args[args.length - 1] === "function") { + return fs6.write(fd, buffer, ...args); + } + return new Promise((resolve, reject) => { + fs6.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => { + if (err) + return reject(err); + resolve({ bytesWritten, buffer: buffer2 }); + }); + }); + }; + if (typeof fs6.realpath.native === "function") { + exports.realpath.native = u(fs6.realpath.native); + } + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/win32.js +var require_win32 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/win32.js"(exports, module2) { + "use strict"; + var path9 = require("path"); + function getRootPath(p) { + p = path9.normalize(path9.resolve(p)).split(path9.sep); + if (p.length > 0) + return p[0]; + return null; + } + var INVALID_PATH_CHARS = /[<>:"|?*]/; + function invalidWin32Path(p) { + const rp = getRootPath(p); + p = p.replace(rp, ""); + return INVALID_PATH_CHARS.test(p); + } + module2.exports = { + getRootPath, + invalidWin32Path + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs.js +var require_mkdirs = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var invalidWin32Path = require_win32().invalidWin32Path; + var o777 = parseInt("0777", 8); + function mkdirs(p, opts, callback, made) { + if (typeof opts === "function") { + callback = opts; + opts = {}; + } else if (!opts || typeof opts !== "object") { + opts = { mode: opts }; + } + if (process.platform === "win32" && invalidWin32Path(p)) { + const errInval = new Error(p + " contains invalid WIN32 path characters."); + errInval.code = "EINVAL"; + return callback(errInval); + } + let mode = opts.mode; + const xfs = opts.fs || fs6; + if (mode === void 0) { + mode = o777 & ~process.umask(); + } + if (!made) + made = null; + callback = callback || function() { + }; + p = path9.resolve(p); + xfs.mkdir(p, mode, (er) => { + if (!er) { + made = made || p; + return callback(null, made); + } + switch (er.code) { + case "ENOENT": + if (path9.dirname(p) === p) + return callback(er); + mkdirs(path9.dirname(p), opts, (er2, made2) => { + if (er2) + callback(er2, made2); + else + mkdirs(p, opts, callback, made2); + }); + break; + default: + xfs.stat(p, (er2, stat) => { + if (er2 || !stat.isDirectory()) + callback(er, made); + else + callback(null, made); + }); + break; + } + }); + } + module2.exports = mkdirs; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js +var require_mkdirs_sync = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var invalidWin32Path = require_win32().invalidWin32Path; + var o777 = parseInt("0777", 8); + function mkdirsSync(p, opts, made) { + if (!opts || typeof opts !== "object") { + opts = { mode: opts }; + } + let mode = opts.mode; + const xfs = opts.fs || fs6; + if (process.platform === "win32" && invalidWin32Path(p)) { + const errInval = new Error(p + " contains invalid WIN32 path characters."); + errInval.code = "EINVAL"; + throw errInval; + } + if (mode === void 0) { + mode = o777 & ~process.umask(); + } + if (!made) + made = null; + p = path9.resolve(p); + try { + xfs.mkdirSync(p, mode); + made = made || p; + } catch (err0) { + if (err0.code === "ENOENT") { + if (path9.dirname(p) === p) + throw err0; + made = mkdirsSync(path9.dirname(p), opts, made); + mkdirsSync(p, opts, made); + } else { + let stat; + try { + stat = xfs.statSync(p); + } catch (err1) { + throw err0; + } + if (!stat.isDirectory()) + throw err0; + } + } + return made; + } + module2.exports = mkdirsSync; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/index.js +var require_mkdirs2 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/mkdirs/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var mkdirs = u(require_mkdirs()); + var mkdirsSync = require_mkdirs_sync(); + module2.exports = { + mkdirs, + mkdirsSync, + // alias + mkdirp: mkdirs, + mkdirpSync: mkdirsSync, + ensureDir: mkdirs, + ensureDirSync: mkdirsSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/utimes.js +var require_utimes = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/utimes.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var os2 = require("os"); + var path9 = require("path"); + function hasMillisResSync() { + let tmpfile = path9.join("millis-test-sync" + Date.now().toString() + Math.random().toString().slice(2)); + tmpfile = path9.join(os2.tmpdir(), tmpfile); + const d = /* @__PURE__ */ new Date(1435410243862); + fs6.writeFileSync(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141"); + const fd = fs6.openSync(tmpfile, "r+"); + fs6.futimesSync(fd, d, d); + fs6.closeSync(fd); + return fs6.statSync(tmpfile).mtime > 1435410243e3; + } + function hasMillisRes(callback) { + let tmpfile = path9.join("millis-test" + Date.now().toString() + Math.random().toString().slice(2)); + tmpfile = path9.join(os2.tmpdir(), tmpfile); + const d = /* @__PURE__ */ new Date(1435410243862); + fs6.writeFile(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141", (err) => { + if (err) + return callback(err); + fs6.open(tmpfile, "r+", (err2, fd) => { + if (err2) + return callback(err2); + fs6.futimes(fd, d, d, (err3) => { + if (err3) + return callback(err3); + fs6.close(fd, (err4) => { + if (err4) + return callback(err4); + fs6.stat(tmpfile, (err5, stats) => { + if (err5) + return callback(err5); + callback(null, stats.mtime > 1435410243e3); + }); + }); + }); + }); + }); + } + function timeRemoveMillis(timestamp) { + if (typeof timestamp === "number") { + return Math.floor(timestamp / 1e3) * 1e3; + } else if (timestamp instanceof Date) { + return new Date(Math.floor(timestamp.getTime() / 1e3) * 1e3); + } else { + throw new Error("fs-extra: timeRemoveMillis() unknown parameter type"); + } + } + function utimesMillis(path10, atime, mtime, callback) { + fs6.open(path10, "r+", (err, fd) => { + if (err) + return callback(err); + fs6.futimes(fd, atime, mtime, (futimesErr) => { + fs6.close(fd, (closeErr) => { + if (callback) + callback(futimesErr || closeErr); + }); + }); + }); + } + function utimesMillisSync(path10, atime, mtime) { + const fd = fs6.openSync(path10, "r+"); + fs6.futimesSync(fd, atime, mtime); + return fs6.closeSync(fd); + } + module2.exports = { + hasMillisRes, + hasMillisResSync, + timeRemoveMillis, + utimesMillis, + utimesMillisSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/stat.js +var require_stat = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/stat.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var NODE_VERSION_MAJOR_WITH_BIGINT = 10; + var NODE_VERSION_MINOR_WITH_BIGINT = 5; + var NODE_VERSION_PATCH_WITH_BIGINT = 0; + var nodeVersion = process.versions.node.split("."); + var nodeVersionMajor = Number.parseInt(nodeVersion[0], 10); + var nodeVersionMinor = Number.parseInt(nodeVersion[1], 10); + var nodeVersionPatch = Number.parseInt(nodeVersion[2], 10); + function nodeSupportsBigInt() { + if (nodeVersionMajor > NODE_VERSION_MAJOR_WITH_BIGINT) { + return true; + } else if (nodeVersionMajor === NODE_VERSION_MAJOR_WITH_BIGINT) { + if (nodeVersionMinor > NODE_VERSION_MINOR_WITH_BIGINT) { + return true; + } else if (nodeVersionMinor === NODE_VERSION_MINOR_WITH_BIGINT) { + if (nodeVersionPatch >= NODE_VERSION_PATCH_WITH_BIGINT) { + return true; + } + } + } + return false; + } + function getStats(src, dest, cb) { + if (nodeSupportsBigInt()) { + fs6.stat(src, { bigint: true }, (err, srcStat) => { + if (err) + return cb(err); + fs6.stat(dest, { bigint: true }, (err2, destStat) => { + if (err2) { + if (err2.code === "ENOENT") + return cb(null, { srcStat, destStat: null }); + return cb(err2); + } + return cb(null, { srcStat, destStat }); + }); + }); + } else { + fs6.stat(src, (err, srcStat) => { + if (err) + return cb(err); + fs6.stat(dest, (err2, destStat) => { + if (err2) { + if (err2.code === "ENOENT") + return cb(null, { srcStat, destStat: null }); + return cb(err2); + } + return cb(null, { srcStat, destStat }); + }); + }); + } + } + function getStatsSync(src, dest) { + let srcStat, destStat; + if (nodeSupportsBigInt()) { + srcStat = fs6.statSync(src, { bigint: true }); + } else { + srcStat = fs6.statSync(src); + } + try { + if (nodeSupportsBigInt()) { + destStat = fs6.statSync(dest, { bigint: true }); + } else { + destStat = fs6.statSync(dest); + } + } catch (err) { + if (err.code === "ENOENT") + return { srcStat, destStat: null }; + throw err; + } + return { srcStat, destStat }; + } + function checkPaths(src, dest, funcName, cb) { + getStats(src, dest, (err, stats) => { + if (err) + return cb(err); + const { srcStat, destStat } = stats; + if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + return cb(new Error("Source and destination must not be the same.")); + } + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + return cb(new Error(errMsg(src, dest, funcName))); + } + return cb(null, { srcStat, destStat }); + }); + } + function checkPathsSync(src, dest, funcName) { + const { srcStat, destStat } = getStatsSync(src, dest); + if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + throw new Error("Source and destination must not be the same."); + } + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + throw new Error(errMsg(src, dest, funcName)); + } + return { srcStat, destStat }; + } + function checkParentPaths(src, srcStat, dest, funcName, cb) { + const srcParent = path9.resolve(path9.dirname(src)); + const destParent = path9.resolve(path9.dirname(dest)); + if (destParent === srcParent || destParent === path9.parse(destParent).root) + return cb(); + if (nodeSupportsBigInt()) { + fs6.stat(destParent, { bigint: true }, (err, destStat) => { + if (err) { + if (err.code === "ENOENT") + return cb(); + return cb(err); + } + if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + return cb(new Error(errMsg(src, dest, funcName))); + } + return checkParentPaths(src, srcStat, destParent, funcName, cb); + }); + } else { + fs6.stat(destParent, (err, destStat) => { + if (err) { + if (err.code === "ENOENT") + return cb(); + return cb(err); + } + if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + return cb(new Error(errMsg(src, dest, funcName))); + } + return checkParentPaths(src, srcStat, destParent, funcName, cb); + }); + } + } + function checkParentPathsSync(src, srcStat, dest, funcName) { + const srcParent = path9.resolve(path9.dirname(src)); + const destParent = path9.resolve(path9.dirname(dest)); + if (destParent === srcParent || destParent === path9.parse(destParent).root) + return; + let destStat; + try { + if (nodeSupportsBigInt()) { + destStat = fs6.statSync(destParent, { bigint: true }); + } else { + destStat = fs6.statSync(destParent); + } + } catch (err) { + if (err.code === "ENOENT") + return; + throw err; + } + if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + throw new Error(errMsg(src, dest, funcName)); + } + return checkParentPathsSync(src, srcStat, destParent, funcName); + } + function isSrcSubdir(src, dest) { + const srcArr = path9.resolve(src).split(path9.sep).filter((i) => i); + const destArr = path9.resolve(dest).split(path9.sep).filter((i) => i); + return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true); + } + function errMsg(src, dest, funcName) { + return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`; + } + module2.exports = { + checkPaths, + checkPathsSync, + checkParentPaths, + checkParentPathsSync, + isSrcSubdir + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/buffer.js +var require_buffer = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/util/buffer.js"(exports, module2) { + "use strict"; + module2.exports = function(size) { + if (typeof Buffer.allocUnsafe === "function") { + try { + return Buffer.allocUnsafe(size); + } catch (e) { + return new Buffer(size); + } + } + return new Buffer(size); + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/copy-sync.js +var require_copy_sync = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/copy-sync.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var mkdirpSync = require_mkdirs2().mkdirsSync; + var utimesSync = require_utimes().utimesMillisSync; + var stat = require_stat(); + function copySync(src, dest, opts) { + if (typeof opts === "function") { + opts = { filter: opts }; + } + opts = opts || {}; + opts.clobber = "clobber" in opts ? !!opts.clobber : true; + opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; + if (opts.preserveTimestamps && process.arch === "ia32") { + console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`); + } + const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy"); + stat.checkParentPathsSync(src, srcStat, dest, "copy"); + return handleFilterAndCopy(destStat, src, dest, opts); + } + function handleFilterAndCopy(destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) + return; + const destParent = path9.dirname(dest); + if (!fs6.existsSync(destParent)) + mkdirpSync(destParent); + return startCopy(destStat, src, dest, opts); + } + function startCopy(destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) + return; + return getStats(destStat, src, dest, opts); + } + function getStats(destStat, src, dest, opts) { + const statSync = opts.dereference ? fs6.statSync : fs6.lstatSync; + const srcStat = statSync(src); + if (srcStat.isDirectory()) + return onDir(srcStat, destStat, src, dest, opts); + else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) + return onFile(srcStat, destStat, src, dest, opts); + else if (srcStat.isSymbolicLink()) + return onLink(destStat, src, dest, opts); + } + function onFile(srcStat, destStat, src, dest, opts) { + if (!destStat) + return copyFile(srcStat, src, dest, opts); + return mayCopyFile(srcStat, src, dest, opts); + } + function mayCopyFile(srcStat, src, dest, opts) { + if (opts.overwrite) { + fs6.unlinkSync(dest); + return copyFile(srcStat, src, dest, opts); + } else if (opts.errorOnExist) { + throw new Error(`'${dest}' already exists`); + } + } + function copyFile(srcStat, src, dest, opts) { + if (typeof fs6.copyFileSync === "function") { + fs6.copyFileSync(src, dest); + fs6.chmodSync(dest, srcStat.mode); + if (opts.preserveTimestamps) { + return utimesSync(dest, srcStat.atime, srcStat.mtime); + } + return; + } + return copyFileFallback(srcStat, src, dest, opts); + } + function copyFileFallback(srcStat, src, dest, opts) { + const BUF_LENGTH = 64 * 1024; + const _buff = require_buffer()(BUF_LENGTH); + const fdr = fs6.openSync(src, "r"); + const fdw = fs6.openSync(dest, "w", srcStat.mode); + let pos = 0; + while (pos < srcStat.size) { + const bytesRead = fs6.readSync(fdr, _buff, 0, BUF_LENGTH, pos); + fs6.writeSync(fdw, _buff, 0, bytesRead); + pos += bytesRead; + } + if (opts.preserveTimestamps) + fs6.futimesSync(fdw, srcStat.atime, srcStat.mtime); + fs6.closeSync(fdr); + fs6.closeSync(fdw); + } + function onDir(srcStat, destStat, src, dest, opts) { + if (!destStat) + return mkDirAndCopy(srcStat, src, dest, opts); + if (destStat && !destStat.isDirectory()) { + throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); + } + return copyDir(src, dest, opts); + } + function mkDirAndCopy(srcStat, src, dest, opts) { + fs6.mkdirSync(dest); + copyDir(src, dest, opts); + return fs6.chmodSync(dest, srcStat.mode); + } + function copyDir(src, dest, opts) { + fs6.readdirSync(src).forEach((item) => copyDirItem(item, src, dest, opts)); + } + function copyDirItem(item, src, dest, opts) { + const srcItem = path9.join(src, item); + const destItem = path9.join(dest, item); + const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy"); + return startCopy(destStat, srcItem, destItem, opts); + } + function onLink(destStat, src, dest, opts) { + let resolvedSrc = fs6.readlinkSync(src); + if (opts.dereference) { + resolvedSrc = path9.resolve(process.cwd(), resolvedSrc); + } + if (!destStat) { + return fs6.symlinkSync(resolvedSrc, dest); + } else { + let resolvedDest; + try { + resolvedDest = fs6.readlinkSync(dest); + } catch (err) { + if (err.code === "EINVAL" || err.code === "UNKNOWN") + return fs6.symlinkSync(resolvedSrc, dest); + throw err; + } + if (opts.dereference) { + resolvedDest = path9.resolve(process.cwd(), resolvedDest); + } + if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { + throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); + } + if (fs6.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { + throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); + } + return copyLink(resolvedSrc, dest); + } + } + function copyLink(resolvedSrc, dest) { + fs6.unlinkSync(dest); + return fs6.symlinkSync(resolvedSrc, dest); + } + module2.exports = copySync; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/index.js +var require_copy_sync2 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy-sync/index.js"(exports, module2) { + "use strict"; + module2.exports = { + copySync: require_copy_sync() + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/path-exists/index.js +var require_path_exists = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/path-exists/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromPromise; + var fs6 = require_fs(); + function pathExists(path9) { + return fs6.access(path9).then(() => true).catch(() => false); + } + module2.exports = { + pathExists: u(pathExists), + pathExistsSync: fs6.existsSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/copy.js +var require_copy = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/copy.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var mkdirp = require_mkdirs2().mkdirs; + var pathExists = require_path_exists().pathExists; + var utimes = require_utimes().utimesMillis; + var stat = require_stat(); + function copy(src, dest, opts, cb) { + if (typeof opts === "function" && !cb) { + cb = opts; + opts = {}; + } else if (typeof opts === "function") { + opts = { filter: opts }; + } + cb = cb || function() { + }; + opts = opts || {}; + opts.clobber = "clobber" in opts ? !!opts.clobber : true; + opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; + if (opts.preserveTimestamps && process.arch === "ia32") { + console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended; + + see https://github.com/jprichardson/node-fs-extra/issues/269`); + } + stat.checkPaths(src, dest, "copy", (err, stats) => { + if (err) + return cb(err); + const { srcStat, destStat } = stats; + stat.checkParentPaths(src, srcStat, dest, "copy", (err2) => { + if (err2) + return cb(err2); + if (opts.filter) + return handleFilter(checkParentDir, destStat, src, dest, opts, cb); + return checkParentDir(destStat, src, dest, opts, cb); + }); + }); + } + function checkParentDir(destStat, src, dest, opts, cb) { + const destParent = path9.dirname(dest); + pathExists(destParent, (err, dirExists) => { + if (err) + return cb(err); + if (dirExists) + return startCopy(destStat, src, dest, opts, cb); + mkdirp(destParent, (err2) => { + if (err2) + return cb(err2); + return startCopy(destStat, src, dest, opts, cb); + }); + }); + } + function handleFilter(onInclude, destStat, src, dest, opts, cb) { + Promise.resolve(opts.filter(src, dest)).then((include) => { + if (include) + return onInclude(destStat, src, dest, opts, cb); + return cb(); + }, (error) => cb(error)); + } + function startCopy(destStat, src, dest, opts, cb) { + if (opts.filter) + return handleFilter(getStats, destStat, src, dest, opts, cb); + return getStats(destStat, src, dest, opts, cb); + } + function getStats(destStat, src, dest, opts, cb) { + const stat2 = opts.dereference ? fs6.stat : fs6.lstat; + stat2(src, (err, srcStat) => { + if (err) + return cb(err); + if (srcStat.isDirectory()) + return onDir(srcStat, destStat, src, dest, opts, cb); + else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) + return onFile(srcStat, destStat, src, dest, opts, cb); + else if (srcStat.isSymbolicLink()) + return onLink(destStat, src, dest, opts, cb); + }); + } + function onFile(srcStat, destStat, src, dest, opts, cb) { + if (!destStat) + return copyFile(srcStat, src, dest, opts, cb); + return mayCopyFile(srcStat, src, dest, opts, cb); + } + function mayCopyFile(srcStat, src, dest, opts, cb) { + if (opts.overwrite) { + fs6.unlink(dest, (err) => { + if (err) + return cb(err); + return copyFile(srcStat, src, dest, opts, cb); + }); + } else if (opts.errorOnExist) { + return cb(new Error(`'${dest}' already exists`)); + } else + return cb(); + } + function copyFile(srcStat, src, dest, opts, cb) { + if (typeof fs6.copyFile === "function") { + return fs6.copyFile(src, dest, (err) => { + if (err) + return cb(err); + return setDestModeAndTimestamps(srcStat, dest, opts, cb); + }); + } + return copyFileFallback(srcStat, src, dest, opts, cb); + } + function copyFileFallback(srcStat, src, dest, opts, cb) { + const rs = fs6.createReadStream(src); + rs.on("error", (err) => cb(err)).once("open", () => { + const ws = fs6.createWriteStream(dest, { mode: srcStat.mode }); + ws.on("error", (err) => cb(err)).on("open", () => rs.pipe(ws)).once("close", () => setDestModeAndTimestamps(srcStat, dest, opts, cb)); + }); + } + function setDestModeAndTimestamps(srcStat, dest, opts, cb) { + fs6.chmod(dest, srcStat.mode, (err) => { + if (err) + return cb(err); + if (opts.preserveTimestamps) { + return utimes(dest, srcStat.atime, srcStat.mtime, cb); + } + return cb(); + }); + } + function onDir(srcStat, destStat, src, dest, opts, cb) { + if (!destStat) + return mkDirAndCopy(srcStat, src, dest, opts, cb); + if (destStat && !destStat.isDirectory()) { + return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)); + } + return copyDir(src, dest, opts, cb); + } + function mkDirAndCopy(srcStat, src, dest, opts, cb) { + fs6.mkdir(dest, (err) => { + if (err) + return cb(err); + copyDir(src, dest, opts, (err2) => { + if (err2) + return cb(err2); + return fs6.chmod(dest, srcStat.mode, cb); + }); + }); + } + function copyDir(src, dest, opts, cb) { + fs6.readdir(src, (err, items) => { + if (err) + return cb(err); + return copyDirItems(items, src, dest, opts, cb); + }); + } + function copyDirItems(items, src, dest, opts, cb) { + const item = items.pop(); + if (!item) + return cb(); + return copyDirItem(items, item, src, dest, opts, cb); + } + function copyDirItem(items, item, src, dest, opts, cb) { + const srcItem = path9.join(src, item); + const destItem = path9.join(dest, item); + stat.checkPaths(srcItem, destItem, "copy", (err, stats) => { + if (err) + return cb(err); + const { destStat } = stats; + startCopy(destStat, srcItem, destItem, opts, (err2) => { + if (err2) + return cb(err2); + return copyDirItems(items, src, dest, opts, cb); + }); + }); + } + function onLink(destStat, src, dest, opts, cb) { + fs6.readlink(src, (err, resolvedSrc) => { + if (err) + return cb(err); + if (opts.dereference) { + resolvedSrc = path9.resolve(process.cwd(), resolvedSrc); + } + if (!destStat) { + return fs6.symlink(resolvedSrc, dest, cb); + } else { + fs6.readlink(dest, (err2, resolvedDest) => { + if (err2) { + if (err2.code === "EINVAL" || err2.code === "UNKNOWN") + return fs6.symlink(resolvedSrc, dest, cb); + return cb(err2); + } + if (opts.dereference) { + resolvedDest = path9.resolve(process.cwd(), resolvedDest); + } + if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { + return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)); + } + if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { + return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)); + } + return copyLink(resolvedSrc, dest, cb); + }); + } + }); + } + function copyLink(resolvedSrc, dest, cb) { + fs6.unlink(dest, (err) => { + if (err) + return cb(err); + return fs6.symlink(resolvedSrc, dest, cb); + }); + } + module2.exports = copy; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/index.js +var require_copy2 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/copy/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + module2.exports = { + copy: u(require_copy()) + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/rimraf.js +var require_rimraf = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/rimraf.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var assert2 = require("assert"); + var isWindows = process.platform === "win32"; + function defaults(options) { + const methods = [ + "unlink", + "chmod", + "stat", + "lstat", + "rmdir", + "readdir" + ]; + methods.forEach((m) => { + options[m] = options[m] || fs6[m]; + m = m + "Sync"; + options[m] = options[m] || fs6[m]; + }); + options.maxBusyTries = options.maxBusyTries || 3; + } + function rimraf2(p, options, cb) { + let busyTries = 0; + if (typeof options === "function") { + cb = options; + options = {}; + } + assert2(p, "rimraf: missing path"); + assert2.strictEqual(typeof p, "string", "rimraf: path should be a string"); + assert2.strictEqual(typeof cb, "function", "rimraf: callback function required"); + assert2(options, "rimraf: invalid options argument provided"); + assert2.strictEqual(typeof options, "object", "rimraf: options should be object"); + defaults(options); + rimraf_(p, options, function CB(er) { + if (er) { + if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && busyTries < options.maxBusyTries) { + busyTries++; + const time = busyTries * 100; + return setTimeout(() => rimraf_(p, options, CB), time); + } + if (er.code === "ENOENT") + er = null; + } + cb(er); + }); + } + function rimraf_(p, options, cb) { + assert2(p); + assert2(options); + assert2(typeof cb === "function"); + options.lstat(p, (er, st) => { + if (er && er.code === "ENOENT") { + return cb(null); + } + if (er && er.code === "EPERM" && isWindows) { + return fixWinEPERM(p, options, er, cb); + } + if (st && st.isDirectory()) { + return rmdir(p, options, er, cb); + } + options.unlink(p, (er2) => { + if (er2) { + if (er2.code === "ENOENT") { + return cb(null); + } + if (er2.code === "EPERM") { + return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb); + } + if (er2.code === "EISDIR") { + return rmdir(p, options, er2, cb); + } + } + return cb(er2); + }); + }); + } + function fixWinEPERM(p, options, er, cb) { + assert2(p); + assert2(options); + assert2(typeof cb === "function"); + if (er) { + assert2(er instanceof Error); + } + options.chmod(p, 438, (er2) => { + if (er2) { + cb(er2.code === "ENOENT" ? null : er); + } else { + options.stat(p, (er3, stats) => { + if (er3) { + cb(er3.code === "ENOENT" ? null : er); + } else if (stats.isDirectory()) { + rmdir(p, options, er, cb); + } else { + options.unlink(p, cb); + } + }); + } + }); + } + function fixWinEPERMSync(p, options, er) { + let stats; + assert2(p); + assert2(options); + if (er) { + assert2(er instanceof Error); + } + try { + options.chmodSync(p, 438); + } catch (er2) { + if (er2.code === "ENOENT") { + return; + } else { + throw er; + } + } + try { + stats = options.statSync(p); + } catch (er3) { + if (er3.code === "ENOENT") { + return; + } else { + throw er; + } + } + if (stats.isDirectory()) { + rmdirSync(p, options, er); + } else { + options.unlinkSync(p); + } + } + function rmdir(p, options, originalEr, cb) { + assert2(p); + assert2(options); + if (originalEr) { + assert2(originalEr instanceof Error); + } + assert2(typeof cb === "function"); + options.rmdir(p, (er) => { + if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) { + rmkids(p, options, cb); + } else if (er && er.code === "ENOTDIR") { + cb(originalEr); + } else { + cb(er); + } + }); + } + function rmkids(p, options, cb) { + assert2(p); + assert2(options); + assert2(typeof cb === "function"); + options.readdir(p, (er, files) => { + if (er) + return cb(er); + let n = files.length; + let errState; + if (n === 0) + return options.rmdir(p, cb); + files.forEach((f) => { + rimraf2(path9.join(p, f), options, (er2) => { + if (errState) { + return; + } + if (er2) + return cb(errState = er2); + if (--n === 0) { + options.rmdir(p, cb); + } + }); + }); + }); + } + function rimrafSync(p, options) { + let st; + options = options || {}; + defaults(options); + assert2(p, "rimraf: missing path"); + assert2.strictEqual(typeof p, "string", "rimraf: path should be a string"); + assert2(options, "rimraf: missing options"); + assert2.strictEqual(typeof options, "object", "rimraf: options should be object"); + try { + st = options.lstatSync(p); + } catch (er) { + if (er.code === "ENOENT") { + return; + } + if (er.code === "EPERM" && isWindows) { + fixWinEPERMSync(p, options, er); + } + } + try { + if (st && st.isDirectory()) { + rmdirSync(p, options, null); + } else { + options.unlinkSync(p); + } + } catch (er) { + if (er.code === "ENOENT") { + return; + } else if (er.code === "EPERM") { + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er); + } else if (er.code !== "EISDIR") { + throw er; + } + rmdirSync(p, options, er); + } + } + function rmdirSync(p, options, originalEr) { + assert2(p); + assert2(options); + if (originalEr) { + assert2(originalEr instanceof Error); + } + try { + options.rmdirSync(p); + } catch (er) { + if (er.code === "ENOTDIR") { + throw originalEr; + } else if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") { + rmkidsSync(p, options); + } else if (er.code !== "ENOENT") { + throw er; + } + } + } + function rmkidsSync(p, options) { + assert2(p); + assert2(options); + options.readdirSync(p).forEach((f) => rimrafSync(path9.join(p, f), options)); + if (isWindows) { + const startTime = Date.now(); + do { + try { + const ret = options.rmdirSync(p, options); + return ret; + } catch (er) { + } + } while (Date.now() - startTime < 500); + } else { + const ret = options.rmdirSync(p, options); + return ret; + } + } + module2.exports = rimraf2; + rimraf2.sync = rimrafSync; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/index.js +var require_remove = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/remove/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var rimraf2 = require_rimraf(); + module2.exports = { + remove: u(rimraf2), + removeSync: rimraf2.sync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/empty/index.js +var require_empty = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/empty/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var mkdir3 = require_mkdirs2(); + var remove = require_remove(); + var emptyDir = u(function emptyDir2(dir, callback) { + callback = callback || function() { + }; + fs6.readdir(dir, (err, items) => { + if (err) + return mkdir3.mkdirs(dir, callback); + items = items.map((item) => path9.join(dir, item)); + deleteItem(); + function deleteItem() { + const item = items.pop(); + if (!item) + return callback(); + remove.remove(item, (err2) => { + if (err2) + return callback(err2); + deleteItem(); + }); + } + }); + }); + function emptyDirSync(dir) { + let items; + try { + items = fs6.readdirSync(dir); + } catch (err) { + return mkdir3.mkdirsSync(dir); + } + items.forEach((item) => { + item = path9.join(dir, item); + remove.removeSync(item); + }); + } + module2.exports = { + emptyDirSync, + emptydirSync: emptyDirSync, + emptyDir, + emptydir: emptyDir + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/file.js +var require_file = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/file.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var path9 = require("path"); + var fs6 = require_graceful_fs(); + var mkdir3 = require_mkdirs2(); + var pathExists = require_path_exists().pathExists; + function createFile(file, callback) { + function makeFile() { + fs6.writeFile(file, "", (err) => { + if (err) + return callback(err); + callback(); + }); + } + fs6.stat(file, (err, stats) => { + if (!err && stats.isFile()) + return callback(); + const dir = path9.dirname(file); + pathExists(dir, (err2, dirExists) => { + if (err2) + return callback(err2); + if (dirExists) + return makeFile(); + mkdir3.mkdirs(dir, (err3) => { + if (err3) + return callback(err3); + makeFile(); + }); + }); + }); + } + function createFileSync(file) { + let stats; + try { + stats = fs6.statSync(file); + } catch (e) { + } + if (stats && stats.isFile()) + return; + const dir = path9.dirname(file); + if (!fs6.existsSync(dir)) { + mkdir3.mkdirsSync(dir); + } + fs6.writeFileSync(file, ""); + } + module2.exports = { + createFile: u(createFile), + createFileSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/link.js +var require_link = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/link.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var path9 = require("path"); + var fs6 = require_graceful_fs(); + var mkdir3 = require_mkdirs2(); + var pathExists = require_path_exists().pathExists; + function createLink(srcpath, dstpath, callback) { + function makeLink(srcpath2, dstpath2) { + fs6.link(srcpath2, dstpath2, (err) => { + if (err) + return callback(err); + callback(null); + }); + } + pathExists(dstpath, (err, destinationExists) => { + if (err) + return callback(err); + if (destinationExists) + return callback(null); + fs6.lstat(srcpath, (err2) => { + if (err2) { + err2.message = err2.message.replace("lstat", "ensureLink"); + return callback(err2); + } + const dir = path9.dirname(dstpath); + pathExists(dir, (err3, dirExists) => { + if (err3) + return callback(err3); + if (dirExists) + return makeLink(srcpath, dstpath); + mkdir3.mkdirs(dir, (err4) => { + if (err4) + return callback(err4); + makeLink(srcpath, dstpath); + }); + }); + }); + }); + } + function createLinkSync(srcpath, dstpath) { + const destinationExists = fs6.existsSync(dstpath); + if (destinationExists) + return void 0; + try { + fs6.lstatSync(srcpath); + } catch (err) { + err.message = err.message.replace("lstat", "ensureLink"); + throw err; + } + const dir = path9.dirname(dstpath); + const dirExists = fs6.existsSync(dir); + if (dirExists) + return fs6.linkSync(srcpath, dstpath); + mkdir3.mkdirsSync(dir); + return fs6.linkSync(srcpath, dstpath); + } + module2.exports = { + createLink: u(createLink), + createLinkSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-paths.js +var require_symlink_paths = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports, module2) { + "use strict"; + var path9 = require("path"); + var fs6 = require_graceful_fs(); + var pathExists = require_path_exists().pathExists; + function symlinkPaths(srcpath, dstpath, callback) { + if (path9.isAbsolute(srcpath)) { + return fs6.lstat(srcpath, (err) => { + if (err) { + err.message = err.message.replace("lstat", "ensureSymlink"); + return callback(err); + } + return callback(null, { + "toCwd": srcpath, + "toDst": srcpath + }); + }); + } else { + const dstdir = path9.dirname(dstpath); + const relativeToDst = path9.join(dstdir, srcpath); + return pathExists(relativeToDst, (err, exists) => { + if (err) + return callback(err); + if (exists) { + return callback(null, { + "toCwd": relativeToDst, + "toDst": srcpath + }); + } else { + return fs6.lstat(srcpath, (err2) => { + if (err2) { + err2.message = err2.message.replace("lstat", "ensureSymlink"); + return callback(err2); + } + return callback(null, { + "toCwd": srcpath, + "toDst": path9.relative(dstdir, srcpath) + }); + }); + } + }); + } + } + function symlinkPathsSync(srcpath, dstpath) { + let exists; + if (path9.isAbsolute(srcpath)) { + exists = fs6.existsSync(srcpath); + if (!exists) + throw new Error("absolute srcpath does not exist"); + return { + "toCwd": srcpath, + "toDst": srcpath + }; + } else { + const dstdir = path9.dirname(dstpath); + const relativeToDst = path9.join(dstdir, srcpath); + exists = fs6.existsSync(relativeToDst); + if (exists) { + return { + "toCwd": relativeToDst, + "toDst": srcpath + }; + } else { + exists = fs6.existsSync(srcpath); + if (!exists) + throw new Error("relative srcpath does not exist"); + return { + "toCwd": srcpath, + "toDst": path9.relative(dstdir, srcpath) + }; + } + } + } + module2.exports = { + symlinkPaths, + symlinkPathsSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-type.js +var require_symlink_type = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + function symlinkType(srcpath, type, callback) { + callback = typeof type === "function" ? type : callback; + type = typeof type === "function" ? false : type; + if (type) + return callback(null, type); + fs6.lstat(srcpath, (err, stats) => { + if (err) + return callback(null, "file"); + type = stats && stats.isDirectory() ? "dir" : "file"; + callback(null, type); + }); + } + function symlinkTypeSync(srcpath, type) { + let stats; + if (type) + return type; + try { + stats = fs6.lstatSync(srcpath); + } catch (e) { + return "file"; + } + return stats && stats.isDirectory() ? "dir" : "file"; + } + module2.exports = { + symlinkType, + symlinkTypeSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink.js +var require_symlink = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/symlink.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var path9 = require("path"); + var fs6 = require_graceful_fs(); + var _mkdirs = require_mkdirs2(); + var mkdirs = _mkdirs.mkdirs; + var mkdirsSync = _mkdirs.mkdirsSync; + var _symlinkPaths = require_symlink_paths(); + var symlinkPaths = _symlinkPaths.symlinkPaths; + var symlinkPathsSync = _symlinkPaths.symlinkPathsSync; + var _symlinkType = require_symlink_type(); + var symlinkType = _symlinkType.symlinkType; + var symlinkTypeSync = _symlinkType.symlinkTypeSync; + var pathExists = require_path_exists().pathExists; + function createSymlink(srcpath, dstpath, type, callback) { + callback = typeof type === "function" ? type : callback; + type = typeof type === "function" ? false : type; + pathExists(dstpath, (err, destinationExists) => { + if (err) + return callback(err); + if (destinationExists) + return callback(null); + symlinkPaths(srcpath, dstpath, (err2, relative) => { + if (err2) + return callback(err2); + srcpath = relative.toDst; + symlinkType(relative.toCwd, type, (err3, type2) => { + if (err3) + return callback(err3); + const dir = path9.dirname(dstpath); + pathExists(dir, (err4, dirExists) => { + if (err4) + return callback(err4); + if (dirExists) + return fs6.symlink(srcpath, dstpath, type2, callback); + mkdirs(dir, (err5) => { + if (err5) + return callback(err5); + fs6.symlink(srcpath, dstpath, type2, callback); + }); + }); + }); + }); + }); + } + function createSymlinkSync(srcpath, dstpath, type) { + const destinationExists = fs6.existsSync(dstpath); + if (destinationExists) + return void 0; + const relative = symlinkPathsSync(srcpath, dstpath); + srcpath = relative.toDst; + type = symlinkTypeSync(relative.toCwd, type); + const dir = path9.dirname(dstpath); + const exists = fs6.existsSync(dir); + if (exists) + return fs6.symlinkSync(srcpath, dstpath, type); + mkdirsSync(dir); + return fs6.symlinkSync(srcpath, dstpath, type); + } + module2.exports = { + createSymlink: u(createSymlink), + createSymlinkSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/index.js +var require_ensure = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/ensure/index.js"(exports, module2) { + "use strict"; + var file = require_file(); + var link = require_link(); + var symlink = require_symlink(); + module2.exports = { + // file + createFile: file.createFile, + createFileSync: file.createFileSync, + ensureFile: file.createFile, + ensureFileSync: file.createFileSync, + // link + createLink: link.createLink, + createLinkSync: link.createLinkSync, + ensureLink: link.createLink, + ensureLinkSync: link.createLinkSync, + // symlink + createSymlink: symlink.createSymlink, + createSymlinkSync: symlink.createSymlinkSync, + ensureSymlink: symlink.createSymlink, + ensureSymlinkSync: symlink.createSymlinkSync + }; + } +}); + +// .yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-d85d544514.zip/node_modules/jsonfile/index.js +var require_jsonfile = __commonJS({ + ".yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-d85d544514.zip/node_modules/jsonfile/index.js"(exports, module2) { + var _fs; + try { + _fs = require_graceful_fs(); + } catch (_) { + _fs = require("fs"); + } + function readFile(file, options, callback) { + if (callback == null) { + callback = options; + options = {}; + } + if (typeof options === "string") { + options = { encoding: options }; + } + options = options || {}; + var fs6 = options.fs || _fs; + var shouldThrow = true; + if ("throws" in options) { + shouldThrow = options.throws; + } + fs6.readFile(file, options, function(err, data) { + if (err) + return callback(err); + data = stripBom(data); + var obj; + try { + obj = JSON.parse(data, options ? options.reviver : null); + } catch (err2) { + if (shouldThrow) { + err2.message = file + ": " + err2.message; + return callback(err2); + } else { + return callback(null, null); + } + } + callback(null, obj); + }); + } + function readFileSync(file, options) { + options = options || {}; + if (typeof options === "string") { + options = { encoding: options }; + } + var fs6 = options.fs || _fs; + var shouldThrow = true; + if ("throws" in options) { + shouldThrow = options.throws; + } + try { + var content = fs6.readFileSync(file, options); + content = stripBom(content); + return JSON.parse(content, options.reviver); + } catch (err) { + if (shouldThrow) { + err.message = file + ": " + err.message; + throw err; + } else { + return null; + } + } + } + function stringify(obj, options) { + var spaces; + var EOL = "\n"; + if (typeof options === "object" && options !== null) { + if (options.spaces) { + spaces = options.spaces; + } + if (options.EOL) { + EOL = options.EOL; + } + } + var str = JSON.stringify(obj, options ? options.replacer : null, spaces); + return str.replace(/\n/g, EOL) + EOL; + } + function writeFile(file, obj, options, callback) { + if (callback == null) { + callback = options; + options = {}; + } + options = options || {}; + var fs6 = options.fs || _fs; + var str = ""; + try { + str = stringify(obj, options); + } catch (err) { + if (callback) + callback(err, null); + return; + } + fs6.writeFile(file, str, options, callback); + } + function writeFileSync(file, obj, options) { + options = options || {}; + var fs6 = options.fs || _fs; + var str = stringify(obj, options); + return fs6.writeFileSync(file, str, options); + } + function stripBom(content) { + if (Buffer.isBuffer(content)) + content = content.toString("utf8"); + content = content.replace(/^\uFEFF/, ""); + return content; + } + var jsonfile = { + readFile, + readFileSync, + writeFile, + writeFileSync + }; + module2.exports = jsonfile; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/jsonfile.js +var require_jsonfile2 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/jsonfile.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var jsonFile = require_jsonfile(); + module2.exports = { + // jsonfile exports + readJson: u(jsonFile.readFile), + readJsonSync: jsonFile.readFileSync, + writeJson: u(jsonFile.writeFile), + writeJsonSync: jsonFile.writeFileSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json.js +var require_output_json = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json.js"(exports, module2) { + "use strict"; + var path9 = require("path"); + var mkdir3 = require_mkdirs2(); + var pathExists = require_path_exists().pathExists; + var jsonFile = require_jsonfile2(); + function outputJson(file, data, options, callback) { + if (typeof options === "function") { + callback = options; + options = {}; + } + const dir = path9.dirname(file); + pathExists(dir, (err, itDoes) => { + if (err) + return callback(err); + if (itDoes) + return jsonFile.writeJson(file, data, options, callback); + mkdir3.mkdirs(dir, (err2) => { + if (err2) + return callback(err2); + jsonFile.writeJson(file, data, options, callback); + }); + }); + } + module2.exports = outputJson; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json-sync.js +var require_output_json_sync = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/output-json-sync.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var mkdir3 = require_mkdirs2(); + var jsonFile = require_jsonfile2(); + function outputJsonSync(file, data, options) { + const dir = path9.dirname(file); + if (!fs6.existsSync(dir)) { + mkdir3.mkdirsSync(dir); + } + jsonFile.writeJsonSync(file, data, options); + } + module2.exports = outputJsonSync; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/index.js +var require_json = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/json/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var jsonFile = require_jsonfile2(); + jsonFile.outputJson = u(require_output_json()); + jsonFile.outputJsonSync = require_output_json_sync(); + jsonFile.outputJSON = jsonFile.outputJson; + jsonFile.outputJSONSync = jsonFile.outputJsonSync; + jsonFile.writeJSON = jsonFile.writeJson; + jsonFile.writeJSONSync = jsonFile.writeJsonSync; + jsonFile.readJSON = jsonFile.readJson; + jsonFile.readJSONSync = jsonFile.readJsonSync; + module2.exports = jsonFile; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/move-sync.js +var require_move_sync = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/move-sync.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var copySync = require_copy_sync2().copySync; + var removeSync = require_remove().removeSync; + var mkdirpSync = require_mkdirs2().mkdirpSync; + var stat = require_stat(); + function moveSync(src, dest, opts) { + opts = opts || {}; + const overwrite = opts.overwrite || opts.clobber || false; + const { srcStat } = stat.checkPathsSync(src, dest, "move"); + stat.checkParentPathsSync(src, srcStat, dest, "move"); + mkdirpSync(path9.dirname(dest)); + return doRename(src, dest, overwrite); + } + function doRename(src, dest, overwrite) { + if (overwrite) { + removeSync(dest); + return rename(src, dest, overwrite); + } + if (fs6.existsSync(dest)) + throw new Error("dest already exists."); + return rename(src, dest, overwrite); + } + function rename(src, dest, overwrite) { + try { + fs6.renameSync(src, dest); + } catch (err) { + if (err.code !== "EXDEV") + throw err; + return moveAcrossDevice(src, dest, overwrite); + } + } + function moveAcrossDevice(src, dest, overwrite) { + const opts = { + overwrite, + errorOnExist: true + }; + copySync(src, dest, opts); + return removeSync(src); + } + module2.exports = moveSync; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/index.js +var require_move_sync2 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move-sync/index.js"(exports, module2) { + "use strict"; + module2.exports = { + moveSync: require_move_sync() + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/move.js +var require_move = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/move.js"(exports, module2) { + "use strict"; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var copy = require_copy2().copy; + var remove = require_remove().remove; + var mkdirp = require_mkdirs2().mkdirp; + var pathExists = require_path_exists().pathExists; + var stat = require_stat(); + function move(src, dest, opts, cb) { + if (typeof opts === "function") { + cb = opts; + opts = {}; + } + const overwrite = opts.overwrite || opts.clobber || false; + stat.checkPaths(src, dest, "move", (err, stats) => { + if (err) + return cb(err); + const { srcStat } = stats; + stat.checkParentPaths(src, srcStat, dest, "move", (err2) => { + if (err2) + return cb(err2); + mkdirp(path9.dirname(dest), (err3) => { + if (err3) + return cb(err3); + return doRename(src, dest, overwrite, cb); + }); + }); + }); + } + function doRename(src, dest, overwrite, cb) { + if (overwrite) { + return remove(dest, (err) => { + if (err) + return cb(err); + return rename(src, dest, overwrite, cb); + }); + } + pathExists(dest, (err, destExists) => { + if (err) + return cb(err); + if (destExists) + return cb(new Error("dest already exists.")); + return rename(src, dest, overwrite, cb); + }); + } + function rename(src, dest, overwrite, cb) { + fs6.rename(src, dest, (err) => { + if (!err) + return cb(); + if (err.code !== "EXDEV") + return cb(err); + return moveAcrossDevice(src, dest, overwrite, cb); + }); + } + function moveAcrossDevice(src, dest, overwrite, cb) { + const opts = { + overwrite, + errorOnExist: true + }; + copy(src, dest, opts, (err) => { + if (err) + return cb(err); + return remove(src, cb); + }); + } + module2.exports = move; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/index.js +var require_move2 = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/move/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + module2.exports = { + move: u(require_move()) + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/output/index.js +var require_output = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/output/index.js"(exports, module2) { + "use strict"; + var u = require_universalify().fromCallback; + var fs6 = require_graceful_fs(); + var path9 = require("path"); + var mkdir3 = require_mkdirs2(); + var pathExists = require_path_exists().pathExists; + function outputFile(file, data, encoding, callback) { + if (typeof encoding === "function") { + callback = encoding; + encoding = "utf8"; + } + const dir = path9.dirname(file); + pathExists(dir, (err, itDoes) => { + if (err) + return callback(err); + if (itDoes) + return fs6.writeFile(file, data, encoding, callback); + mkdir3.mkdirs(dir, (err2) => { + if (err2) + return callback(err2); + fs6.writeFile(file, data, encoding, callback); + }); + }); + } + function outputFileSync(file, ...args) { + const dir = path9.dirname(file); + if (fs6.existsSync(dir)) { + return fs6.writeFileSync(file, ...args); + } + mkdir3.mkdirsSync(dir); + fs6.writeFileSync(file, ...args); + } + module2.exports = { + outputFile: u(outputFile), + outputFileSync + }; + } +}); + +// .yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/index.js +var require_lib = __commonJS({ + ".yarn/cache/fs-extra-npm-8.1.0-197473387f-cfdc1f2b8d.zip/node_modules/fs-extra/lib/index.js"(exports, module2) { + "use strict"; + module2.exports = Object.assign( + {}, + // Export promiseified graceful-fs: + require_fs(), + // Export extra methods: + require_copy_sync2(), + require_copy2(), + require_empty(), + require_ensure(), + require_json(), + require_mkdirs2(), + require_move_sync2(), + require_move2(), + require_output(), + require_path_exists(), + require_remove() + ); + var fs6 = require("fs"); + if (Object.getOwnPropertyDescriptor(fs6, "promises")) { + Object.defineProperty(module2.exports, "promises", { + get() { + return fs6.promises; + } + }); + } + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/notfound.js +var require_notfound = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/notfound.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var NotFoundError = class extends Error { + constructor(message) { + super(message || "File does not exist at the specified endpoint"); + this.code = "ENOTFOUND"; + } + }; + exports.default = NotFoundError; + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/file.js +var require_file2 = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/file.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.file = void 0; + var debug_1 = __importDefault2(require_src2()); + var fs_1 = require("fs"); + var fs_extra_1 = require_lib(); + var notfound_1 = __importDefault2(require_notfound()); + var notmodified_1 = __importDefault2(require_notmodified()); + var url_1 = require("url"); + var debug2 = (0, debug_1.default)("get-uri:file"); + var file = async ({ href: uri }, opts = {}) => { + const { + cache, + flags = "r", + mode = 438 + // =0666 + } = opts; + try { + const filepath = (0, url_1.fileURLToPath)(uri); + debug2("Normalized pathname: %o", filepath); + const fd = await (0, fs_extra_1.open)(filepath, flags, mode); + const stat = await (0, fs_extra_1.fstat)(fd); + if (cache && cache.stat && stat && isNotModified(cache.stat, stat)) { + throw new notmodified_1.default(); + } + const rs = (0, fs_1.createReadStream)(null, { + autoClose: true, + ...opts, + fd + }); + rs.stat = stat; + return rs; + } catch (err) { + if (err.code === "ENOENT") { + throw new notfound_1.default(); + } + throw err; + } + }; + exports.file = file; + function isNotModified(prev, curr) { + return +prev.mtime === +curr.mtime; + } + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseControlResponse.js +var require_parseControlResponse = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseControlResponse.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.positiveIntermediate = exports.positiveCompletion = exports.isMultiline = exports.isSingleLine = exports.parseControlResponse = void 0; + var LF = "\n"; + function parseControlResponse(text) { + const lines = text.split(/\r?\n/).filter(isNotBlank); + const messages = []; + let startAt = 0; + let tokenRegex; + for (let i = 0; i < lines.length; i++) { + const line = lines[i]; + if (!tokenRegex) { + if (isMultiline(line)) { + const token = line.substr(0, 3); + tokenRegex = new RegExp(`^${token}(?:$| )`); + startAt = i; + } else if (isSingleLine(line)) { + messages.push(line); + } + } else if (tokenRegex.test(line)) { + tokenRegex = void 0; + messages.push(lines.slice(startAt, i + 1).join(LF)); + } + } + const rest = tokenRegex ? lines.slice(startAt).join(LF) + LF : ""; + return { messages, rest }; + } + exports.parseControlResponse = parseControlResponse; + function isSingleLine(line) { + return /^\d\d\d(?:$| )/.test(line); + } + exports.isSingleLine = isSingleLine; + function isMultiline(line) { + return /^\d\d\d-/.test(line); + } + exports.isMultiline = isMultiline; + function positiveCompletion(code) { + return code >= 200 && code < 300; + } + exports.positiveCompletion = positiveCompletion; + function positiveIntermediate(code) { + return code >= 300 && code < 400; + } + exports.positiveIntermediate = positiveIntermediate; + function isNotBlank(str) { + return str.trim() !== ""; + } + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/FtpContext.js +var require_FtpContext = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/FtpContext.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.FTPContext = exports.FTPError = void 0; + var net_1 = require("net"); + var parseControlResponse_1 = require_parseControlResponse(); + var FTPError = class extends Error { + constructor(res) { + super(res.message); + this.name = this.constructor.name; + this.code = res.code; + } + }; + exports.FTPError = FTPError; + function doNothing() { + } + var FTPContext = class { + /** + * Instantiate an FTP context. + * + * @param timeout - Timeout in milliseconds to apply to control and data connections. Use 0 for no timeout. + * @param encoding - Encoding to use for control connection. UTF-8 by default. Use "latin1" for older servers. + */ + constructor(timeout = 0, encoding = "utf8") { + this.timeout = timeout; + this.verbose = false; + this.ipFamily = void 0; + this.tlsOptions = {}; + this._partialResponse = ""; + this._encoding = encoding; + this._socket = this.socket = this._newSocket(); + this._dataSocket = void 0; + } + /** + * Close the context. + */ + close() { + const message = this._task ? "User closed client during task" : "User closed client"; + const err = new Error(message); + this.closeWithError(err); + } + /** + * Close the context with an error. + */ + closeWithError(err) { + if (this._closingError) { + return; + } + this._closingError = err; + this._closeControlSocket(); + this._closeSocket(this._dataSocket); + this._passToHandler(err); + this._stopTrackingTask(); + } + /** + * Returns true if this context has been closed or hasn't been connected yet. You can reopen it with `access`. + */ + get closed() { + return this.socket.remoteAddress === void 0 || this._closingError !== void 0; + } + /** + * Reset this contex and all of its state. + */ + reset() { + this.socket = this._newSocket(); + } + /** + * Get the FTP control socket. + */ + get socket() { + return this._socket; + } + /** + * Set the socket for the control connection. This will only close the current control socket + * if the new one is not an upgrade to the current one. + */ + set socket(socket) { + this.dataSocket = void 0; + this.tlsOptions = {}; + this._partialResponse = ""; + if (this._socket) { + const newSocketUpgradesExisting = socket.localPort === this._socket.localPort; + if (newSocketUpgradesExisting) { + this._removeSocketListeners(this.socket); + } else { + this._closeControlSocket(); + } + } + if (socket) { + this._closingError = void 0; + socket.setTimeout(0); + socket.setEncoding(this._encoding); + socket.setKeepAlive(true); + socket.on("data", (data) => this._onControlSocketData(data)); + socket.on("end", () => this.closeWithError(new Error("Server sent FIN packet unexpectedly, closing connection."))); + socket.on("close", (hadError) => { + if (!hadError) + this.closeWithError(new Error("Server closed connection unexpectedly.")); + }); + this._setupDefaultErrorHandlers(socket, "control socket"); + } + this._socket = socket; + } + /** + * Get the current FTP data connection if present. + */ + get dataSocket() { + return this._dataSocket; + } + /** + * Set the socket for the data connection. This will automatically close the former data socket. + */ + set dataSocket(socket) { + this._closeSocket(this._dataSocket); + if (socket) { + socket.setTimeout(0); + this._setupDefaultErrorHandlers(socket, "data socket"); + } + this._dataSocket = socket; + } + /** + * Get the currently used encoding. + */ + get encoding() { + return this._encoding; + } + /** + * Set the encoding used for the control socket. + * + * See https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings for what encodings + * are supported by Node. + */ + set encoding(encoding) { + this._encoding = encoding; + if (this.socket) { + this.socket.setEncoding(encoding); + } + } + /** + * Send an FTP command without waiting for or handling the result. + */ + send(command) { + const containsPassword = command.startsWith("PASS"); + const message = containsPassword ? "> PASS ###" : `> ${command}`; + this.log(message); + this._socket.write(command + "\r\n", this.encoding); + } + /** + * Send an FTP command and handle the first response. Use this if you have a simple + * request-response situation. + */ + request(command) { + return this.handle(command, (res, task) => { + if (res instanceof Error) { + task.reject(res); + } else { + task.resolve(res); + } + }); + } + /** + * Send an FTP command and handle any response until you resolve/reject. Use this if you expect multiple responses + * to a request. This returns a Promise that will hold whatever the response handler passed on when resolving/rejecting its task. + */ + handle(command, responseHandler) { + if (this._task) { + const err = new Error("User launched a task while another one is still running. Forgot to use 'await' or '.then()'?"); + err.stack += ` +Running task launched at: ${this._task.stack}`; + this.closeWithError(err); + } + return new Promise((resolveTask, rejectTask) => { + this._task = { + stack: new Error().stack || "Unknown call stack", + responseHandler, + resolver: { + resolve: (arg) => { + this._stopTrackingTask(); + resolveTask(arg); + }, + reject: (err) => { + this._stopTrackingTask(); + rejectTask(err); + } + } + }; + if (this._closingError) { + const err = new Error(`Client is closed because ${this._closingError.message}`); + err.stack += ` +Closing reason: ${this._closingError.stack}`; + err.code = this._closingError.code !== void 0 ? this._closingError.code : "0"; + this._passToHandler(err); + return; + } + this.socket.setTimeout(this.timeout); + if (command) { + this.send(command); + } + }); + } + /** + * Log message if set to be verbose. + */ + log(message) { + if (this.verbose) { + console.log(message); + } + } + /** + * Return true if the control socket is using TLS. This does not mean that a session + * has already been negotiated. + */ + get hasTLS() { + return "encrypted" in this._socket; + } + /** + * Removes reference to current task and handler. This won't resolve or reject the task. + * @protected + */ + _stopTrackingTask() { + this.socket.setTimeout(0); + this._task = void 0; + } + /** + * Handle incoming data on the control socket. The chunk is going to be of type `string` + * because we let `socket` handle encoding with `setEncoding`. + * @protected + */ + _onControlSocketData(chunk) { + this.log(`< ${chunk}`); + const completeResponse = this._partialResponse + chunk; + const parsed = (0, parseControlResponse_1.parseControlResponse)(completeResponse); + this._partialResponse = parsed.rest; + for (const message of parsed.messages) { + const code = parseInt(message.substr(0, 3), 10); + const response = { code, message }; + const err = code >= 400 ? new FTPError(response) : void 0; + this._passToHandler(err ? err : response); + } + } + /** + * Send the current handler a response. This is usually a control socket response + * or a socket event, like an error or timeout. + * @protected + */ + _passToHandler(response) { + if (this._task) { + this._task.responseHandler(response, this._task.resolver); + } + } + /** + * Setup all error handlers for a socket. + * @protected + */ + _setupDefaultErrorHandlers(socket, identifier) { + socket.once("error", (error) => { + error.message += ` (${identifier})`; + this.closeWithError(error); + }); + socket.once("close", (hadError) => { + if (hadError) { + this.closeWithError(new Error(`Socket closed due to transmission error (${identifier})`)); + } + }); + socket.once("timeout", () => { + socket.destroy(); + this.closeWithError(new Error(`Timeout (${identifier})`)); + }); + } + /** + * Close the control socket. Sends QUIT, then FIN, and ignores any response or error. + */ + _closeControlSocket() { + this._removeSocketListeners(this._socket); + this._socket.on("error", doNothing); + this.send("QUIT"); + this._closeSocket(this._socket); + } + /** + * Close a socket. Sends FIN and ignores any error. + * @protected + */ + _closeSocket(socket) { + if (socket) { + this._removeSocketListeners(socket); + socket.on("error", doNothing); + socket.on("timeout", () => socket.destroy()); + socket.setTimeout(this.timeout); + socket.end(); + } + } + /** + * Remove all default listeners for socket. + * @protected + */ + _removeSocketListeners(socket) { + socket.removeAllListeners(); + socket.removeAllListeners("timeout"); + socket.removeAllListeners("data"); + socket.removeAllListeners("end"); + socket.removeAllListeners("error"); + socket.removeAllListeners("close"); + socket.removeAllListeners("connect"); + } + /** + * Provide a new socket instance. + * + * Internal use only, replaced for unit tests. + */ + _newSocket() { + return new net_1.Socket(); + } + }; + exports.FTPContext = FTPContext; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/FileInfo.js +var require_FileInfo = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/FileInfo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.FileInfo = exports.FileType = void 0; + var FileType; + (function(FileType2) { + FileType2[FileType2["Unknown"] = 0] = "Unknown"; + FileType2[FileType2["File"] = 1] = "File"; + FileType2[FileType2["Directory"] = 2] = "Directory"; + FileType2[FileType2["SymbolicLink"] = 3] = "SymbolicLink"; + })(FileType = exports.FileType || (exports.FileType = {})); + var FileInfo = class { + constructor(name) { + this.name = name; + this.type = FileType.Unknown; + this.size = 0; + this.rawModifiedAt = ""; + this.modifiedAt = void 0; + this.permissions = void 0; + this.hardLinkCount = void 0; + this.link = void 0; + this.group = void 0; + this.user = void 0; + this.uniqueID = void 0; + this.name = name; + } + get isDirectory() { + return this.type === FileType.Directory; + } + get isSymbolicLink() { + return this.type === FileType.SymbolicLink; + } + get isFile() { + return this.type === FileType.File; + } + /** + * Deprecated, legacy API. Use `rawModifiedAt` instead. + * @deprecated + */ + get date() { + return this.rawModifiedAt; + } + set date(rawModifiedAt) { + this.rawModifiedAt = rawModifiedAt; + } + }; + FileInfo.UnixPermission = { + Read: 4, + Write: 2, + Execute: 1 + }; + exports.FileInfo = FileInfo; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseListDOS.js +var require_parseListDOS = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseListDOS.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.transformList = exports.parseLine = exports.testLine = void 0; + var FileInfo_1 = require_FileInfo(); + var RE_LINE = new RegExp( + "(\\S+)\\s+(\\S+)\\s+(?:()|([0-9]+))\\s+(\\S.*)" + // First non-space followed by rest of line (name) + ); + function testLine(line) { + return /^\d{2}/.test(line) && RE_LINE.test(line); + } + exports.testLine = testLine; + function parseLine(line) { + const groups = line.match(RE_LINE); + if (groups === null) { + return void 0; + } + const name = groups[5]; + if (name === "." || name === "..") { + return void 0; + } + const file = new FileInfo_1.FileInfo(name); + const fileType = groups[3]; + if (fileType === "") { + file.type = FileInfo_1.FileType.Directory; + file.size = 0; + } else { + file.type = FileInfo_1.FileType.File; + file.size = parseInt(groups[4], 10); + } + file.rawModifiedAt = groups[1] + " " + groups[2]; + return file; + } + exports.parseLine = parseLine; + function transformList(files) { + return files; + } + exports.transformList = transformList; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseListUnix.js +var require_parseListUnix = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseListUnix.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.transformList = exports.parseLine = exports.testLine = void 0; + var FileInfo_1 = require_FileInfo(); + var JA_MONTH = "\u6708"; + var JA_DAY = "\u65E5"; + var JA_YEAR = "\u5E74"; + var RE_LINE = new RegExp("([bcdelfmpSs-])(((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]?)))\\+?\\s*(\\d+)\\s+(?:(\\S+(?:\\s\\S+)*?)\\s+)?(?:(\\S+(?:\\s\\S+)*)\\s+)?(\\d+(?:,\\s*\\d+)?)\\s+((?:\\d+[-/]\\d+[-/]\\d+)|(?:\\S{3}\\s+\\d{1,2})|(?:\\d{1,2}\\s+\\S{3})|(?:\\d{1,2}" + JA_MONTH + "\\s+\\d{1,2}" + JA_DAY + "))\\s+((?:\\d+(?::\\d+)?)|(?:\\d{4}" + JA_YEAR + "))\\s(.*)"); + function testLine(line) { + return RE_LINE.test(line); + } + exports.testLine = testLine; + function parseLine(line) { + const groups = line.match(RE_LINE); + if (groups === null) { + return void 0; + } + const name = groups[21]; + if (name === "." || name === "..") { + return void 0; + } + const file = new FileInfo_1.FileInfo(name); + file.size = parseInt(groups[18], 10); + file.user = groups[16]; + file.group = groups[17]; + file.hardLinkCount = parseInt(groups[15], 10); + file.rawModifiedAt = groups[19] + " " + groups[20]; + file.permissions = { + user: parseMode(groups[4], groups[5], groups[6]), + group: parseMode(groups[8], groups[9], groups[10]), + world: parseMode(groups[12], groups[13], groups[14]) + }; + switch (groups[1].charAt(0)) { + case "d": + file.type = FileInfo_1.FileType.Directory; + break; + case "e": + file.type = FileInfo_1.FileType.SymbolicLink; + break; + case "l": + file.type = FileInfo_1.FileType.SymbolicLink; + break; + case "b": + case "c": + file.type = FileInfo_1.FileType.File; + break; + case "f": + case "-": + file.type = FileInfo_1.FileType.File; + break; + default: + file.type = FileInfo_1.FileType.Unknown; + } + if (file.isSymbolicLink) { + const end = name.indexOf(" -> "); + if (end !== -1) { + file.name = name.substring(0, end); + file.link = name.substring(end + 4); + } + } + return file; + } + exports.parseLine = parseLine; + function transformList(files) { + return files; + } + exports.transformList = transformList; + function parseMode(r, w, x) { + let value = 0; + if (r !== "-") { + value += FileInfo_1.FileInfo.UnixPermission.Read; + } + if (w !== "-") { + value += FileInfo_1.FileInfo.UnixPermission.Write; + } + const execToken = x.charAt(0); + if (execToken !== "-" && execToken.toUpperCase() !== execToken) { + value += FileInfo_1.FileInfo.UnixPermission.Execute; + } + return value; + } + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseListMLSD.js +var require_parseListMLSD = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseListMLSD.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseMLSxDate = exports.transformList = exports.parseLine = exports.testLine = void 0; + var FileInfo_1 = require_FileInfo(); + function parseSize(value, info) { + info.size = parseInt(value, 10); + } + var factHandlersByName = { + "size": parseSize, + "sizd": parseSize, + "unique": (value, info) => { + info.uniqueID = value; + }, + "modify": (value, info) => { + info.modifiedAt = parseMLSxDate(value); + info.rawModifiedAt = info.modifiedAt.toISOString(); + }, + "type": (value, info) => { + if (value.startsWith("OS.unix=slink")) { + info.type = FileInfo_1.FileType.SymbolicLink; + info.link = value.substr(value.indexOf(":") + 1); + return 1; + } + switch (value) { + case "file": + info.type = FileInfo_1.FileType.File; + break; + case "dir": + info.type = FileInfo_1.FileType.Directory; + break; + case "OS.unix=symlink": + info.type = FileInfo_1.FileType.SymbolicLink; + break; + case "cdir": + case "pdir": + return 2; + default: + info.type = FileInfo_1.FileType.Unknown; + } + return 1; + }, + "unix.mode": (value, info) => { + const digits = value.substr(-3); + info.permissions = { + user: parseInt(digits[0], 10), + group: parseInt(digits[1], 10), + world: parseInt(digits[2], 10) + }; + }, + "unix.ownername": (value, info) => { + info.user = value; + }, + "unix.owner": (value, info) => { + if (info.user === void 0) + info.user = value; + }, + get "unix.uid"() { + return this["unix.owner"]; + }, + "unix.groupname": (value, info) => { + info.group = value; + }, + "unix.group": (value, info) => { + if (info.group === void 0) + info.group = value; + }, + get "unix.gid"() { + return this["unix.group"]; + } + // Regarding the fact "perm": + // We don't handle permission information stored in "perm" because its information is conceptually + // different from what users of FTP clients usually associate with "permissions". Those that have + // some expectations (and probably want to edit them with a SITE command) often unknowingly expect + // the Unix permission system. The information passed by "perm" describes what FTP commands can be + // executed with a file/directory. But even this can be either incomplete or just meant as a "guide" + // as the spec mentions. From https://tools.ietf.org/html/rfc3659#section-7.5.5: "The permissions are + // described here as they apply to FTP commands. They may not map easily into particular permissions + // available on the server's operating system." The parser by Apache Commons tries to translate these + // to Unix permissions – this is misleading users and might not even be correct. + }; + function splitStringOnce(str, delimiter) { + const pos = str.indexOf(delimiter); + const a = str.substr(0, pos); + const b = str.substr(pos + delimiter.length); + return [a, b]; + } + function testLine(line) { + return /^\S+=\S+;/.test(line) || line.startsWith(" "); + } + exports.testLine = testLine; + function parseLine(line) { + const [packedFacts, name] = splitStringOnce(line, " "); + if (name === "" || name === "." || name === "..") { + return void 0; + } + const info = new FileInfo_1.FileInfo(name); + const facts = packedFacts.split(";"); + for (const fact of facts) { + const [factName, factValue] = splitStringOnce(fact, "="); + if (!factValue) { + continue; + } + const factHandler = factHandlersByName[factName.toLowerCase()]; + if (!factHandler) { + continue; + } + const result = factHandler(factValue, info); + if (result === 2) { + return void 0; + } + } + return info; + } + exports.parseLine = parseLine; + function transformList(files) { + const nonLinksByID = /* @__PURE__ */ new Map(); + for (const file of files) { + if (!file.isSymbolicLink && file.uniqueID !== void 0) { + nonLinksByID.set(file.uniqueID, file); + } + } + const resolvedFiles = []; + for (const file of files) { + if (file.isSymbolicLink && file.uniqueID !== void 0 && file.link === void 0) { + const target = nonLinksByID.get(file.uniqueID); + if (target !== void 0) { + file.link = target.name; + } + } + const isPartOfDirectory = !file.name.includes("/"); + if (isPartOfDirectory) { + resolvedFiles.push(file); + } + } + return resolvedFiles; + } + exports.transformList = transformList; + function parseMLSxDate(fact) { + return new Date(Date.UTC( + +fact.slice(0, 4), + // Year + +fact.slice(4, 6) - 1, + // Month + +fact.slice(6, 8), + // Date + +fact.slice(8, 10), + // Hours + +fact.slice(10, 12), + // Minutes + +fact.slice(12, 14), + // Seconds + +fact.slice(15, 18) + // Milliseconds + )); + } + exports.parseMLSxDate = parseMLSxDate; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseList.js +var require_parseList = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/parseList.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.parseList = void 0; + var dosParser = __importStar2(require_parseListDOS()); + var unixParser = __importStar2(require_parseListUnix()); + var mlsdParser = __importStar2(require_parseListMLSD()); + var availableParsers = [ + dosParser, + unixParser, + mlsdParser + // Keep MLSD last, may accept filename only + ]; + function firstCompatibleParser(line, parsers) { + return parsers.find((parser) => parser.testLine(line) === true); + } + function isNotBlank(str) { + return str.trim() !== ""; + } + function isNotMeta(str) { + return !str.startsWith("total"); + } + var REGEX_NEWLINE = /\r?\n/; + function parseList(rawList) { + const lines = rawList.split(REGEX_NEWLINE).filter(isNotBlank).filter(isNotMeta); + if (lines.length === 0) { + return []; + } + const testLine = lines[lines.length - 1]; + const parser = firstCompatibleParser(testLine, availableParsers); + if (!parser) { + throw new Error("This library only supports MLSD, Unix- or DOS-style directory listing. Your FTP server seems to be using another format. You can see the transmitted listing when setting `client.ftp.verbose = true`. You can then provide a custom parser to `client.parseList`, see the documentation for details."); + } + const files = lines.map(parser.parseLine).filter((info) => info !== void 0); + return parser.transformList(files); + } + exports.parseList = parseList; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/ProgressTracker.js +var require_ProgressTracker = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/ProgressTracker.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ProgressTracker = void 0; + var ProgressTracker = class { + constructor() { + this.bytesOverall = 0; + this.intervalMs = 500; + this.onStop = noop; + this.onHandle = noop; + } + /** + * Register a new handler for progress info. Use `undefined` to disable reporting. + */ + reportTo(onHandle = noop) { + this.onHandle = onHandle; + } + /** + * Start tracking transfer progress of a socket. + * + * @param socket The socket to observe. + * @param name A name associated with this progress tracking, e.g. a filename. + * @param type The type of the transfer, typically "upload" or "download". + */ + start(socket, name, type) { + let lastBytes = 0; + this.onStop = poll(this.intervalMs, () => { + const bytes = socket.bytesRead + socket.bytesWritten; + this.bytesOverall += bytes - lastBytes; + lastBytes = bytes; + this.onHandle({ + name, + type, + bytes, + bytesOverall: this.bytesOverall + }); + }); + } + /** + * Stop tracking transfer progress. + */ + stop() { + this.onStop(false); + } + /** + * Call the progress handler one more time, then stop tracking. + */ + updateAndStop() { + this.onStop(true); + } + }; + exports.ProgressTracker = ProgressTracker; + function poll(intervalMs, updateFunc) { + const id = setInterval(updateFunc, intervalMs); + const stopFunc = (stopWithUpdate) => { + clearInterval(id); + if (stopWithUpdate) { + updateFunc(); + } + updateFunc = noop; + }; + updateFunc(); + return stopFunc; + } + function noop() { + } + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/StringWriter.js +var require_StringWriter = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/StringWriter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.StringWriter = void 0; + var stream_1 = require("stream"); + var StringWriter = class extends stream_1.Writable { + constructor() { + super(...arguments); + this.buf = Buffer.alloc(0); + } + _write(chunk, _, callback) { + if (chunk instanceof Buffer) { + this.buf = Buffer.concat([this.buf, chunk]); + callback(null); + } else { + callback(new Error("StringWriter expects chunks of type 'Buffer'.")); + } + } + getText(encoding) { + return this.buf.toString(encoding); + } + }; + exports.StringWriter = StringWriter; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/netUtils.js +var require_netUtils = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/netUtils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ipIsPrivateV4Address = exports.upgradeSocket = exports.describeAddress = exports.describeTLS = void 0; + var tls_1 = require("tls"); + function describeTLS(socket) { + if (socket instanceof tls_1.TLSSocket) { + const protocol = socket.getProtocol(); + return protocol ? protocol : "Server socket or disconnected client socket"; + } + return "No encryption"; + } + exports.describeTLS = describeTLS; + function describeAddress(socket) { + if (socket.remoteFamily === "IPv6") { + return `[${socket.remoteAddress}]:${socket.remotePort}`; + } + return `${socket.remoteAddress}:${socket.remotePort}`; + } + exports.describeAddress = describeAddress; + function upgradeSocket(socket, options) { + return new Promise((resolve, reject) => { + const tlsOptions = Object.assign({}, options, { + socket + }); + const tlsSocket = (0, tls_1.connect)(tlsOptions, () => { + const expectCertificate = tlsOptions.rejectUnauthorized !== false; + if (expectCertificate && !tlsSocket.authorized) { + reject(tlsSocket.authorizationError); + } else { + tlsSocket.removeAllListeners("error"); + resolve(tlsSocket); + } + }).once("error", (error) => { + reject(error); + }); + }); + } + exports.upgradeSocket = upgradeSocket; + function ipIsPrivateV4Address(ip = "") { + if (ip.startsWith("::ffff:")) { + ip = ip.substr(7); + } + const octets = ip.split(".").map((o) => parseInt(o, 10)); + return octets[0] === 10 || octets[0] === 172 && octets[1] >= 16 && octets[1] <= 31 || octets[0] === 192 && octets[1] === 168 || ip === "127.0.0.1"; + } + exports.ipIsPrivateV4Address = ipIsPrivateV4Address; + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/transfer.js +var require_transfer = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/transfer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.downloadTo = exports.uploadFrom = exports.connectForPassiveTransfer = exports.parsePasvResponse = exports.enterPassiveModeIPv4 = exports.parseEpsvResponse = exports.enterPassiveModeIPv6 = void 0; + var netUtils_1 = require_netUtils(); + var stream_1 = require("stream"); + var tls_1 = require("tls"); + var parseControlResponse_1 = require_parseControlResponse(); + async function enterPassiveModeIPv6(ftp) { + const res = await ftp.request("EPSV"); + const port = parseEpsvResponse(res.message); + if (!port) { + throw new Error("Can't parse EPSV response: " + res.message); + } + const controlHost = ftp.socket.remoteAddress; + if (controlHost === void 0) { + throw new Error("Control socket is disconnected, can't get remote address."); + } + await connectForPassiveTransfer(controlHost, port, ftp); + return res; + } + exports.enterPassiveModeIPv6 = enterPassiveModeIPv6; + function parseEpsvResponse(message) { + const groups = message.match(/[|!]{3}(.+)[|!]/); + if (groups === null || groups[1] === void 0) { + throw new Error(`Can't parse response to 'EPSV': ${message}`); + } + const port = parseInt(groups[1], 10); + if (Number.isNaN(port)) { + throw new Error(`Can't parse response to 'EPSV', port is not a number: ${message}`); + } + return port; + } + exports.parseEpsvResponse = parseEpsvResponse; + async function enterPassiveModeIPv4(ftp) { + const res = await ftp.request("PASV"); + const target = parsePasvResponse(res.message); + if (!target) { + throw new Error("Can't parse PASV response: " + res.message); + } + const controlHost = ftp.socket.remoteAddress; + if ((0, netUtils_1.ipIsPrivateV4Address)(target.host) && controlHost && !(0, netUtils_1.ipIsPrivateV4Address)(controlHost)) { + target.host = controlHost; + } + await connectForPassiveTransfer(target.host, target.port, ftp); + return res; + } + exports.enterPassiveModeIPv4 = enterPassiveModeIPv4; + function parsePasvResponse(message) { + const groups = message.match(/([-\d]+,[-\d]+,[-\d]+,[-\d]+),([-\d]+),([-\d]+)/); + if (groups === null || groups.length !== 4) { + throw new Error(`Can't parse response to 'PASV': ${message}`); + } + return { + host: groups[1].replace(/,/g, "."), + port: (parseInt(groups[2], 10) & 255) * 256 + (parseInt(groups[3], 10) & 255) + }; + } + exports.parsePasvResponse = parsePasvResponse; + function connectForPassiveTransfer(host, port, ftp) { + return new Promise((resolve, reject) => { + let socket = ftp._newSocket(); + const handleConnErr = function(err) { + err.message = "Can't open data connection in passive mode: " + err.message; + reject(err); + }; + const handleTimeout = function() { + socket.destroy(); + reject(new Error(`Timeout when trying to open data connection to ${host}:${port}`)); + }; + socket.setTimeout(ftp.timeout); + socket.on("error", handleConnErr); + socket.on("timeout", handleTimeout); + socket.connect({ port, host, family: ftp.ipFamily }, () => { + if (ftp.socket instanceof tls_1.TLSSocket) { + socket = (0, tls_1.connect)(Object.assign({}, ftp.tlsOptions, { + socket, + // Reuse the TLS session negotiated earlier when the control connection + // was upgraded. Servers expect this because it provides additional + // security: If a completely new session would be negotiated, a hacker + // could guess the port and connect to the new data connection before we do + // by just starting his/her own TLS session. + session: ftp.socket.getSession() + })); + } + socket.removeListener("error", handleConnErr); + socket.removeListener("timeout", handleTimeout); + ftp.dataSocket = socket; + resolve(); + }); + }); + } + exports.connectForPassiveTransfer = connectForPassiveTransfer; + var TransferResolver = class { + /** + * Instantiate a TransferResolver + */ + constructor(ftp, progress) { + this.ftp = ftp; + this.progress = progress; + this.response = void 0; + this.dataTransferDone = false; + } + /** + * Mark the beginning of a transfer. + * + * @param name - Name of the transfer, usually the filename. + * @param type - Type of transfer, usually "upload" or "download". + */ + onDataStart(name, type) { + if (this.ftp.dataSocket === void 0) { + throw new Error("Data transfer should start but there is no data connection."); + } + this.ftp.socket.setTimeout(0); + this.ftp.dataSocket.setTimeout(this.ftp.timeout); + this.progress.start(this.ftp.dataSocket, name, type); + } + /** + * The data connection has finished the transfer. + */ + onDataDone(task) { + this.progress.updateAndStop(); + this.ftp.socket.setTimeout(this.ftp.timeout); + if (this.ftp.dataSocket) { + this.ftp.dataSocket.setTimeout(0); + } + this.dataTransferDone = true; + this.tryResolve(task); + } + /** + * The control connection reports the transfer as finished. + */ + onControlDone(task, response) { + this.response = response; + this.tryResolve(task); + } + /** + * An error has been reported and the task should be rejected. + */ + onError(task, err) { + this.progress.updateAndStop(); + this.ftp.socket.setTimeout(this.ftp.timeout); + this.ftp.dataSocket = void 0; + task.reject(err); + } + /** + * Control connection sent an unexpected request requiring a response from our part. We + * can't provide that (because unknown) and have to close the contrext with an error because + * the FTP server is now caught up in a state we can't resolve. + */ + onUnexpectedRequest(response) { + const err = new Error(`Unexpected FTP response is requesting an answer: ${response.message}`); + this.ftp.closeWithError(err); + } + tryResolve(task) { + const canResolve = this.dataTransferDone && this.response !== void 0; + if (canResolve) { + this.ftp.dataSocket = void 0; + task.resolve(this.response); + } + } + }; + function uploadFrom(source, config) { + const resolver = new TransferResolver(config.ftp, config.tracker); + const fullCommand = `${config.command} ${config.remotePath}`; + return config.ftp.handle(fullCommand, (res, task) => { + if (res instanceof Error) { + resolver.onError(task, res); + } else if (res.code === 150 || res.code === 125) { + const dataSocket = config.ftp.dataSocket; + if (!dataSocket) { + resolver.onError(task, new Error("Upload should begin but no data connection is available.")); + return; + } + const canUpload = "getCipher" in dataSocket ? dataSocket.getCipher() !== void 0 : true; + onConditionOrEvent(canUpload, dataSocket, "secureConnect", () => { + config.ftp.log(`Uploading to ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`); + resolver.onDataStart(config.remotePath, config.type); + (0, stream_1.pipeline)(source, dataSocket, (err) => { + if (err) { + resolver.onError(task, err); + } else { + resolver.onDataDone(task); + } + }); + }); + } else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { + resolver.onControlDone(task, res); + } else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) { + resolver.onUnexpectedRequest(res); + } + }); + } + exports.uploadFrom = uploadFrom; + function downloadTo(destination, config) { + if (!config.ftp.dataSocket) { + throw new Error("Download will be initiated but no data connection is available."); + } + const resolver = new TransferResolver(config.ftp, config.tracker); + return config.ftp.handle(config.command, (res, task) => { + if (res instanceof Error) { + resolver.onError(task, res); + } else if (res.code === 150 || res.code === 125) { + const dataSocket = config.ftp.dataSocket; + if (!dataSocket) { + resolver.onError(task, new Error("Download should begin but no data connection is available.")); + return; + } + config.ftp.log(`Downloading from ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`); + resolver.onDataStart(config.remotePath, config.type); + (0, stream_1.pipeline)(dataSocket, destination, (err) => { + if (err) { + resolver.onError(task, err); + } else { + resolver.onDataDone(task); + } + }); + } else if (res.code === 350) { + config.ftp.send("RETR " + config.remotePath); + } else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { + resolver.onControlDone(task, res); + } else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) { + resolver.onUnexpectedRequest(res); + } + }); + } + exports.downloadTo = downloadTo; + function onConditionOrEvent(condition, emitter, eventName, action) { + if (condition === true) { + action(); + } else { + emitter.once(eventName, () => action()); + } + } + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/Client.js +var require_Client = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/Client.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Client = void 0; + var fs_1 = require("fs"); + var path_1 = require("path"); + var tls_1 = require("tls"); + var util_1 = require("util"); + var FtpContext_1 = require_FtpContext(); + var parseList_1 = require_parseList(); + var ProgressTracker_1 = require_ProgressTracker(); + var StringWriter_1 = require_StringWriter(); + var parseListMLSD_1 = require_parseListMLSD(); + var netUtils_1 = require_netUtils(); + var transfer_1 = require_transfer(); + var parseControlResponse_1 = require_parseControlResponse(); + var fsReadDir = (0, util_1.promisify)(fs_1.readdir); + var fsMkDir = (0, util_1.promisify)(fs_1.mkdir); + var fsStat = (0, util_1.promisify)(fs_1.stat); + var fsOpen = (0, util_1.promisify)(fs_1.open); + var fsClose = (0, util_1.promisify)(fs_1.close); + var fsUnlink = (0, util_1.promisify)(fs_1.unlink); + var LIST_COMMANDS_DEFAULT = ["LIST -a", "LIST"]; + var LIST_COMMANDS_MLSD = ["MLSD", "LIST -a", "LIST"]; + var Client = class { + /** + * Instantiate an FTP client. + * + * @param timeout Timeout in milliseconds, use 0 for no timeout. Optional, default is 30 seconds. + */ + constructor(timeout = 3e4) { + this.availableListCommands = LIST_COMMANDS_DEFAULT; + this.ftp = new FtpContext_1.FTPContext(timeout); + this.prepareTransfer = this._enterFirstCompatibleMode([transfer_1.enterPassiveModeIPv6, transfer_1.enterPassiveModeIPv4]); + this.parseList = parseList_1.parseList; + this._progressTracker = new ProgressTracker_1.ProgressTracker(); + } + /** + * Close the client and all open socket connections. + * + * Close the client and all open socket connections. The client can’t be used anymore after calling this method, + * you have to either reconnect with `access` or `connect` or instantiate a new instance to continue any work. + * A client is also closed automatically if any timeout or connection error occurs. + */ + close() { + this.ftp.close(); + this._progressTracker.stop(); + } + /** + * Returns true if the client is closed and can't be used anymore. + */ + get closed() { + return this.ftp.closed; + } + /** + * Connect (or reconnect) to an FTP server. + * + * This is an instance method and thus can be called multiple times during the lifecycle of a `Client` + * instance. Whenever you do, the client is reset with a new control connection. This also implies that + * you can reopen a `Client` instance that has been closed due to an error when reconnecting with this + * method. In fact, reconnecting is the only way to continue using a closed `Client`. + * + * @param host Host the client should connect to. Optional, default is "localhost". + * @param port Port the client should connect to. Optional, default is 21. + */ + connect(host = "localhost", port = 21) { + this.ftp.reset(); + this.ftp.socket.connect({ + host, + port, + family: this.ftp.ipFamily + }, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`)); + return this._handleConnectResponse(); + } + /** + * As `connect` but using implicit TLS. Implicit TLS is not an FTP standard and has been replaced by + * explicit TLS. There are still FTP servers that support only implicit TLS, though. + */ + connectImplicitTLS(host = "localhost", port = 21, tlsOptions = {}) { + this.ftp.reset(); + this.ftp.socket = (0, tls_1.connect)(port, host, tlsOptions, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`)); + this.ftp.tlsOptions = tlsOptions; + return this._handleConnectResponse(); + } + /** + * Handles the first reponse by an FTP server after the socket connection has been established. + */ + _handleConnectResponse() { + return this.ftp.handle(void 0, (res, task) => { + if (res instanceof Error) { + task.reject(res); + } else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { + task.resolve(res); + } else { + task.reject(new FtpContext_1.FTPError(res)); + } + }); + } + /** + * Send an FTP command and handle the first response. + */ + send(command, ignoreErrorCodesDEPRECATED = false) { + if (ignoreErrorCodesDEPRECATED) { + this.ftp.log("Deprecated call using send(command, flag) with boolean flag to ignore errors. Use sendIgnoringError(command)."); + return this.sendIgnoringError(command); + } + return this.ftp.request(command); + } + /** + * Send an FTP command and ignore an FTP error response. Any other kind of error or timeout will still reject the Promise. + * + * @param command + */ + sendIgnoringError(command) { + return this.ftp.handle(command, (res, task) => { + if (res instanceof FtpContext_1.FTPError) { + task.resolve({ code: res.code, message: res.message }); + } else if (res instanceof Error) { + task.reject(res); + } else { + task.resolve(res); + } + }); + } + /** + * Upgrade the current socket connection to TLS. + * + * @param options TLS options as in `tls.connect(options)`, optional. + * @param command Set the authentication command. Optional, default is "AUTH TLS". + */ + async useTLS(options = {}, command = "AUTH TLS") { + const ret = await this.send(command); + this.ftp.socket = await (0, netUtils_1.upgradeSocket)(this.ftp.socket, options); + this.ftp.tlsOptions = options; + this.ftp.log(`Control socket is using: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`); + return ret; + } + /** + * Login a user with a password. + * + * @param user Username to use for login. Optional, default is "anonymous". + * @param password Password to use for login. Optional, default is "guest". + */ + login(user = "anonymous", password = "guest") { + this.ftp.log(`Login security: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`); + return this.ftp.handle("USER " + user, (res, task) => { + if (res instanceof Error) { + task.reject(res); + } else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { + task.resolve(res); + } else if (res.code === 331) { + this.ftp.send("PASS " + password); + } else { + task.reject(new FtpContext_1.FTPError(res)); + } + }); + } + /** + * Set the usual default settings. + * + * Settings used: + * * Binary mode (TYPE I) + * * File structure (STRU F) + * * Additional settings for FTPS (PBSZ 0, PROT P) + */ + async useDefaultSettings() { + const features = await this.features(); + const supportsMLSD = features.has("MLST"); + this.availableListCommands = supportsMLSD ? LIST_COMMANDS_MLSD : LIST_COMMANDS_DEFAULT; + await this.send("TYPE I"); + await this.sendIgnoringError("STRU F"); + await this.sendIgnoringError("OPTS UTF8 ON"); + if (supportsMLSD) { + await this.sendIgnoringError("OPTS MLST type;size;modify;unique;unix.mode;unix.owner;unix.group;unix.ownername;unix.groupname;"); + } + if (this.ftp.hasTLS) { + await this.sendIgnoringError("PBSZ 0"); + await this.sendIgnoringError("PROT P"); + } + } + /** + * Convenience method that calls `connect`, `useTLS`, `login` and `useDefaultSettings`. + * + * This is an instance method and thus can be called multiple times during the lifecycle of a `Client` + * instance. Whenever you do, the client is reset with a new control connection. This also implies that + * you can reopen a `Client` instance that has been closed due to an error when reconnecting with this + * method. In fact, reconnecting is the only way to continue using a closed `Client`. + */ + async access(options = {}) { + var _a, _b; + const useExplicitTLS = options.secure === true; + const useImplicitTLS = options.secure === "implicit"; + let welcome; + if (useImplicitTLS) { + welcome = await this.connectImplicitTLS(options.host, options.port, options.secureOptions); + } else { + welcome = await this.connect(options.host, options.port); + } + if (useExplicitTLS) { + const secureOptions = (_a = options.secureOptions) !== null && _a !== void 0 ? _a : {}; + secureOptions.host = (_b = secureOptions.host) !== null && _b !== void 0 ? _b : options.host; + await this.useTLS(secureOptions); + } + await this.sendIgnoringError("OPTS UTF8 ON"); + await this.login(options.user, options.password); + await this.useDefaultSettings(); + return welcome; + } + /** + * Get the current working directory. + */ + async pwd() { + const res = await this.send("PWD"); + const parsed = res.message.match(/"(.+)"/); + if (parsed === null || parsed[1] === void 0) { + throw new Error(`Can't parse response to command 'PWD': ${res.message}`); + } + return parsed[1]; + } + /** + * Get a description of supported features. + * + * This sends the FEAT command and parses the result into a Map where keys correspond to available commands + * and values hold further information. Be aware that your FTP servers might not support this + * command in which case this method will not throw an exception but just return an empty Map. + */ + async features() { + const res = await this.sendIgnoringError("FEAT"); + const features = /* @__PURE__ */ new Map(); + if (res.code < 400 && (0, parseControlResponse_1.isMultiline)(res.message)) { + res.message.split("\n").slice(1, -1).forEach((line) => { + const entry = line.trim().split(" "); + features.set(entry[0], entry[1] || ""); + }); + } + return features; + } + /** + * Set the working directory. + */ + async cd(path9) { + const validPath = await this.protectWhitespace(path9); + return this.send("CWD " + validPath); + } + /** + * Switch to the parent directory of the working directory. + */ + async cdup() { + return this.send("CDUP"); + } + /** + * Get the last modified time of a file. This is not supported by every FTP server, in which case + * calling this method will throw an exception. + */ + async lastMod(path9) { + const validPath = await this.protectWhitespace(path9); + const res = await this.send(`MDTM ${validPath}`); + const date = res.message.slice(4); + return (0, parseListMLSD_1.parseMLSxDate)(date); + } + /** + * Get the size of a file. + */ + async size(path9) { + const validPath = await this.protectWhitespace(path9); + const command = `SIZE ${validPath}`; + const res = await this.send(command); + const size = parseInt(res.message.slice(4), 10); + if (Number.isNaN(size)) { + throw new Error(`Can't parse response to command '${command}' as a numerical value: ${res.message}`); + } + return size; + } + /** + * Rename a file. + * + * Depending on the FTP server this might also be used to move a file from one + * directory to another by providing full paths. + */ + async rename(srcPath, destPath) { + const validSrc = await this.protectWhitespace(srcPath); + const validDest = await this.protectWhitespace(destPath); + await this.send("RNFR " + validSrc); + return this.send("RNTO " + validDest); + } + /** + * Remove a file from the current working directory. + * + * You can ignore FTP error return codes which won't throw an exception if e.g. + * the file doesn't exist. + */ + async remove(path9, ignoreErrorCodes = false) { + const validPath = await this.protectWhitespace(path9); + if (ignoreErrorCodes) { + return this.sendIgnoringError(`DELE ${validPath}`); + } + return this.send(`DELE ${validPath}`); + } + /** + * Report transfer progress for any upload or download to a given handler. + * + * This will also reset the overall transfer counter that can be used for multiple transfers. You can + * also call the function without a handler to stop reporting to an earlier one. + * + * @param handler Handler function to call on transfer progress. + */ + trackProgress(handler) { + this._progressTracker.bytesOverall = 0; + this._progressTracker.reportTo(handler); + } + /** + * Upload data from a readable stream or a local file to a remote file. + * + * @param source Readable stream or path to a local file. + * @param toRemotePath Path to a remote file to write to. + */ + async uploadFrom(source, toRemotePath, options = {}) { + return this._uploadWithCommand(source, toRemotePath, "STOR", options); + } + /** + * Upload data from a readable stream or a local file by appending it to an existing file. If the file doesn't + * exist the FTP server should create it. + * + * @param source Readable stream or path to a local file. + * @param toRemotePath Path to a remote file to write to. + */ + async appendFrom(source, toRemotePath, options = {}) { + return this._uploadWithCommand(source, toRemotePath, "APPE", options); + } + /** + * @protected + */ + async _uploadWithCommand(source, remotePath, command, options) { + if (typeof source === "string") { + return this._uploadLocalFile(source, remotePath, command, options); + } + return this._uploadFromStream(source, remotePath, command); + } + /** + * @protected + */ + async _uploadLocalFile(localPath, remotePath, command, options) { + const fd = await fsOpen(localPath, "r"); + const source = (0, fs_1.createReadStream)("", { + fd, + start: options.localStart, + end: options.localEndInclusive, + autoClose: false + }); + try { + return await this._uploadFromStream(source, remotePath, command); + } finally { + await ignoreError(() => fsClose(fd)); + } + } + /** + * @protected + */ + async _uploadFromStream(source, remotePath, command) { + const onError = (err) => this.ftp.closeWithError(err); + source.once("error", onError); + try { + const validPath = await this.protectWhitespace(remotePath); + await this.prepareTransfer(this.ftp); + return await (0, transfer_1.uploadFrom)(source, { + ftp: this.ftp, + tracker: this._progressTracker, + command, + remotePath: validPath, + type: "upload" + }); + } finally { + source.removeListener("error", onError); + } + } + /** + * Download a remote file and pipe its data to a writable stream or to a local file. + * + * You can optionally define at which position of the remote file you'd like to start + * downloading. If the destination you provide is a file, the offset will be applied + * to it as well. For example: To resume a failed download, you'd request the size of + * the local, partially downloaded file and use that as the offset. Assuming the size + * is 23, you'd download the rest using `downloadTo("local.txt", "remote.txt", 23)`. + * + * @param destination Stream or path for a local file to write to. + * @param fromRemotePath Path of the remote file to read from. + * @param startAt Position within the remote file to start downloading at. If the destination is a file, this offset is also applied to it. + */ + async downloadTo(destination, fromRemotePath, startAt = 0) { + if (typeof destination === "string") { + return this._downloadToFile(destination, fromRemotePath, startAt); + } + return this._downloadToStream(destination, fromRemotePath, startAt); + } + /** + * @protected + */ + async _downloadToFile(localPath, remotePath, startAt) { + const appendingToLocalFile = startAt > 0; + const fileSystemFlags = appendingToLocalFile ? "r+" : "w"; + const fd = await fsOpen(localPath, fileSystemFlags); + const destination = (0, fs_1.createWriteStream)("", { + fd, + start: startAt, + autoClose: false + }); + try { + return await this._downloadToStream(destination, remotePath, startAt); + } catch (err) { + const localFileStats = await ignoreError(() => fsStat(localPath)); + const hasDownloadedData = localFileStats && localFileStats.size > 0; + const shouldRemoveLocalFile = !appendingToLocalFile && !hasDownloadedData; + if (shouldRemoveLocalFile) { + await ignoreError(() => fsUnlink(localPath)); + } + throw err; + } finally { + await ignoreError(() => fsClose(fd)); + } + } + /** + * @protected + */ + async _downloadToStream(destination, remotePath, startAt) { + const onError = (err) => this.ftp.closeWithError(err); + destination.once("error", onError); + try { + const validPath = await this.protectWhitespace(remotePath); + await this.prepareTransfer(this.ftp); + return await (0, transfer_1.downloadTo)(destination, { + ftp: this.ftp, + tracker: this._progressTracker, + command: startAt > 0 ? `REST ${startAt}` : `RETR ${validPath}`, + remotePath: validPath, + type: "download" + }); + } finally { + destination.removeListener("error", onError); + destination.end(); + } + } + /** + * List files and directories in the current working directory, or from `path` if specified. + * + * @param [path] Path to remote file or directory. + */ + async list(path9 = "") { + const validPath = await this.protectWhitespace(path9); + let lastError; + for (const candidate of this.availableListCommands) { + const command = validPath === "" ? candidate : `${candidate} ${validPath}`; + await this.prepareTransfer(this.ftp); + try { + const parsedList = await this._requestListWithCommand(command); + this.availableListCommands = [candidate]; + return parsedList; + } catch (err) { + const shouldTryNext = err instanceof FtpContext_1.FTPError; + if (!shouldTryNext) { + throw err; + } + lastError = err; + } + } + throw lastError; + } + /** + * @protected + */ + async _requestListWithCommand(command) { + const buffer = new StringWriter_1.StringWriter(); + await (0, transfer_1.downloadTo)(buffer, { + ftp: this.ftp, + tracker: this._progressTracker, + command, + remotePath: "", + type: "list" + }); + const text = buffer.getText(this.ftp.encoding); + this.ftp.log(text); + return this.parseList(text); + } + /** + * Remove a directory and all of its content. + * + * @param remoteDirPath The path of the remote directory to delete. + * @example client.removeDir("foo") // Remove directory 'foo' using a relative path. + * @example client.removeDir("foo/bar") // Remove directory 'bar' using a relative path. + * @example client.removeDir("/foo/bar") // Remove directory 'bar' using an absolute path. + * @example client.removeDir("/") // Remove everything. + */ + async removeDir(remoteDirPath) { + return this._exitAtCurrentDirectory(async () => { + await this.cd(remoteDirPath); + await this.clearWorkingDir(); + if (remoteDirPath !== "/") { + await this.cdup(); + await this.removeEmptyDir(remoteDirPath); + } + }); + } + /** + * Remove all files and directories in the working directory without removing + * the working directory itself. + */ + async clearWorkingDir() { + for (const file of await this.list()) { + if (file.isDirectory) { + await this.cd(file.name); + await this.clearWorkingDir(); + await this.cdup(); + await this.removeEmptyDir(file.name); + } else { + await this.remove(file.name); + } + } + } + /** + * Upload the contents of a local directory to the remote working directory. + * + * This will overwrite existing files with the same names and reuse existing directories. + * Unrelated files and directories will remain untouched. You can optionally provide a `remoteDirPath` + * to put the contents inside a directory which will be created if necessary including all + * intermediate directories. If you did provide a remoteDirPath the working directory will stay + * the same as before calling this method. + * + * @param localDirPath Local path, e.g. "foo/bar" or "../test" + * @param [remoteDirPath] Remote path of a directory to upload to. Working directory if undefined. + */ + async uploadFromDir(localDirPath, remoteDirPath) { + return this._exitAtCurrentDirectory(async () => { + if (remoteDirPath) { + await this.ensureDir(remoteDirPath); + } + return await this._uploadToWorkingDir(localDirPath); + }); + } + /** + * @protected + */ + async _uploadToWorkingDir(localDirPath) { + const files = await fsReadDir(localDirPath); + for (const file of files) { + const fullPath = (0, path_1.join)(localDirPath, file); + const stats = await fsStat(fullPath); + if (stats.isFile()) { + await this.uploadFrom(fullPath, file); + } else if (stats.isDirectory()) { + await this._openDir(file); + await this._uploadToWorkingDir(fullPath); + await this.cdup(); + } + } + } + /** + * Download all files and directories of the working directory to a local directory. + * + * @param localDirPath The local directory to download to. + * @param remoteDirPath Remote directory to download. Current working directory if not specified. + */ + async downloadToDir(localDirPath, remoteDirPath) { + return this._exitAtCurrentDirectory(async () => { + if (remoteDirPath) { + await this.cd(remoteDirPath); + } + return await this._downloadFromWorkingDir(localDirPath); + }); + } + /** + * @protected + */ + async _downloadFromWorkingDir(localDirPath) { + await ensureLocalDirectory(localDirPath); + for (const file of await this.list()) { + const localPath = (0, path_1.join)(localDirPath, file.name); + if (file.isDirectory) { + await this.cd(file.name); + await this._downloadFromWorkingDir(localPath); + await this.cdup(); + } else if (file.isFile) { + await this.downloadTo(localPath, file.name); + } + } + } + /** + * Make sure a given remote path exists, creating all directories as necessary. + * This function also changes the current working directory to the given path. + */ + async ensureDir(remoteDirPath) { + if (remoteDirPath.startsWith("/")) { + await this.cd("/"); + } + const names = remoteDirPath.split("/").filter((name) => name !== ""); + for (const name of names) { + await this._openDir(name); + } + } + /** + * Try to create a directory and enter it. This will not raise an exception if the directory + * couldn't be created if for example it already exists. + * @protected + */ + async _openDir(dirName) { + await this.sendIgnoringError("MKD " + dirName); + await this.cd(dirName); + } + /** + * Remove an empty directory, will fail if not empty. + */ + async removeEmptyDir(path9) { + const validPath = await this.protectWhitespace(path9); + return this.send(`RMD ${validPath}`); + } + /** + * FTP servers can't handle filenames that have leading whitespace. This method transforms + * a given path to fix that issue for most cases. + */ + async protectWhitespace(path9) { + if (!path9.startsWith(" ")) { + return path9; + } + const pwd = await this.pwd(); + const absolutePathPrefix = pwd.endsWith("/") ? pwd : pwd + "/"; + return absolutePathPrefix + path9; + } + async _exitAtCurrentDirectory(func) { + const userDir = await this.pwd(); + try { + return await func(); + } finally { + if (!this.closed) { + await ignoreError(() => this.cd(userDir)); + } + } + } + /** + * Try all available transfer strategies and pick the first one that works. Update `client` to + * use the working strategy for all successive transfer requests. + * + * @returns a function that will try the provided strategies. + */ + _enterFirstCompatibleMode(strategies) { + return async (ftp) => { + ftp.log("Trying to find optimal transfer strategy..."); + let lastError = void 0; + for (const strategy of strategies) { + try { + const res = await strategy(ftp); + ftp.log("Optimal transfer strategy found."); + this.prepareTransfer = strategy; + return res; + } catch (err) { + lastError = err; + } + } + throw new Error(`None of the available transfer strategies work. Last error response was '${lastError}'.`); + }; + } + /** + * DEPRECATED, use `uploadFrom`. + * @deprecated + */ + async upload(source, toRemotePath, options = {}) { + this.ftp.log("Warning: upload() has been deprecated, use uploadFrom()."); + return this.uploadFrom(source, toRemotePath, options); + } + /** + * DEPRECATED, use `appendFrom`. + * @deprecated + */ + async append(source, toRemotePath, options = {}) { + this.ftp.log("Warning: append() has been deprecated, use appendFrom()."); + return this.appendFrom(source, toRemotePath, options); + } + /** + * DEPRECATED, use `downloadTo`. + * @deprecated + */ + async download(destination, fromRemotePath, startAt = 0) { + this.ftp.log("Warning: download() has been deprecated, use downloadTo()."); + return this.downloadTo(destination, fromRemotePath, startAt); + } + /** + * DEPRECATED, use `uploadFromDir`. + * @deprecated + */ + async uploadDir(localDirPath, remoteDirPath) { + this.ftp.log("Warning: uploadDir() has been deprecated, use uploadFromDir()."); + return this.uploadFromDir(localDirPath, remoteDirPath); + } + /** + * DEPRECATED, use `downloadToDir`. + * @deprecated + */ + async downloadDir(localDirPath) { + this.ftp.log("Warning: downloadDir() has been deprecated, use downloadToDir()."); + return this.downloadToDir(localDirPath); + } + }; + exports.Client = Client; + async function ensureLocalDirectory(path9) { + try { + await fsStat(path9); + } catch (err) { + await fsMkDir(path9, { recursive: true }); + } + } + async function ignoreError(func) { + try { + return await func(); + } catch (err) { + return void 0; + } + } + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/StringEncoding.js +var require_StringEncoding = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/StringEncoding.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// .yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/index.js +var require_dist6 = __commonJS({ + ".yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-3d085eaea5.zip/node_modules/basic-ftp/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __exportStar2 = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) + __createBinding2(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.enterPassiveModeIPv6 = exports.enterPassiveModeIPv4 = void 0; + __exportStar2(require_Client(), exports); + __exportStar2(require_FtpContext(), exports); + __exportStar2(require_FileInfo(), exports); + __exportStar2(require_parseList(), exports); + __exportStar2(require_StringEncoding(), exports); + var transfer_1 = require_transfer(); + Object.defineProperty(exports, "enterPassiveModeIPv4", { enumerable: true, get: function() { + return transfer_1.enterPassiveModeIPv4; + } }); + Object.defineProperty(exports, "enterPassiveModeIPv6", { enumerable: true, get: function() { + return transfer_1.enterPassiveModeIPv6; + } }); + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/ftp.js +var require_ftp = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/ftp.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ftp = void 0; + var basic_ftp_1 = require_dist6(); + var stream_1 = require("stream"); + var path_1 = require("path"); + var debug_1 = __importDefault2(require_src2()); + var notfound_1 = __importDefault2(require_notfound()); + var notmodified_1 = __importDefault2(require_notmodified()); + var debug2 = (0, debug_1.default)("get-uri:ftp"); + var ftp = async (url, opts = {}) => { + const { cache } = opts; + const filepath = decodeURIComponent(url.pathname); + let lastModified; + if (!filepath) { + throw new TypeError('No "pathname"!'); + } + const client = new basic_ftp_1.Client(); + try { + const host = url.hostname || url.host || "localhost"; + const port = parseInt(url.port || "0", 10) || 21; + const user = url.username ? decodeURIComponent(url.username) : void 0; + const password = url.password ? decodeURIComponent(url.password) : void 0; + await client.access({ + host, + port, + user, + password, + ...opts + }); + try { + lastModified = await client.lastMod(filepath); + } catch (err) { + if (err.code === 550) { + throw new notfound_1.default(); + } + } + if (!lastModified) { + const list = await client.list((0, path_1.dirname)(filepath)); + const name = (0, path_1.basename)(filepath); + const entry = list.find((e) => e.name === name); + if (entry) { + lastModified = entry.modifiedAt; + } + } + if (lastModified) { + if (isNotModified()) { + throw new notmodified_1.default(); + } + } else { + throw new notfound_1.default(); + } + const stream = new stream_1.PassThrough(); + const rs = stream; + client.downloadTo(stream, filepath).then((result) => { + debug2(result.message); + client.close(); + }); + rs.lastModified = lastModified; + return rs; + } catch (err) { + client.close(); + throw err; + } + function isNotModified() { + if (cache?.lastModified && lastModified) { + return +cache.lastModified === +lastModified; + } + return false; + } + }; + exports.ftp = ftp; + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/http-error.js +var require_http_error = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/http-error.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var http_1 = require("http"); + var HTTPError = class extends Error { + constructor(statusCode, message = http_1.STATUS_CODES[statusCode]) { + super(message); + this.statusCode = statusCode; + this.code = `E${String(message).toUpperCase().replace(/\s+/g, "")}`; + } + }; + exports.default = HTTPError; + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/http.js +var require_http = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/http.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.http = void 0; + var http_1 = __importDefault2(require("http")); + var https_1 = __importDefault2(require("https")); + var events_1 = require("events"); + var debug_1 = __importDefault2(require_src2()); + var http_error_1 = __importDefault2(require_http_error()); + var notfound_1 = __importDefault2(require_notfound()); + var notmodified_1 = __importDefault2(require_notmodified()); + var debug2 = (0, debug_1.default)("get-uri:http"); + var http = async (url, opts = {}) => { + debug2("GET %o", url.href); + const cache = getCache(url, opts.cache); + if (cache && isFresh(cache) && typeof cache.statusCode === "number") { + const type2 = cache.statusCode / 100 | 0; + if (type2 === 3 && cache.headers.location) { + debug2("cached redirect"); + throw new Error("TODO: implement cached redirects!"); + } + throw new notmodified_1.default(); + } + const maxRedirects = typeof opts.maxRedirects === "number" ? opts.maxRedirects : 5; + debug2("allowing %o max redirects", maxRedirects); + let mod; + if (opts.http) { + mod = opts.http; + debug2("using secure `https` core module"); + } else { + mod = http_1.default; + debug2("using `http` core module"); + } + const options = { ...opts }; + if (cache) { + if (!options.headers) { + options.headers = {}; + } + const lastModified = cache.headers["last-modified"]; + if (lastModified) { + options.headers["If-Modified-Since"] = lastModified; + debug2('added "If-Modified-Since" request header: %o', lastModified); + } + const etag = cache.headers.etag; + if (etag) { + options.headers["If-None-Match"] = etag; + debug2('added "If-None-Match" request header: %o', etag); + } + } + const req = mod.get(url, options); + const [res] = await (0, events_1.once)(req, "response"); + const code = res.statusCode || 0; + res.date = Date.now(); + res.parsed = url; + debug2("got %o response status code", code); + const type = code / 100 | 0; + const location = res.headers.location; + if (type === 3 && location) { + if (!opts.redirects) + opts.redirects = []; + const redirects = opts.redirects; + if (redirects.length < maxRedirects) { + debug2('got a "redirect" status code with Location: %o', location); + res.resume(); + redirects.push(res); + const newUri = new URL(location, url.href); + debug2("resolved redirect URL: %o", newUri.href); + const left = maxRedirects - redirects.length; + debug2("%o more redirects allowed after this one", left); + if (newUri.protocol !== url.protocol) { + opts.http = newUri.protocol === "https:" ? https_1.default : void 0; + } + return (0, exports.http)(newUri, opts); + } + } + if (type !== 2) { + res.resume(); + if (code === 304) { + throw new notmodified_1.default(); + } else if (code === 404) { + throw new notfound_1.default(); + } + throw new http_error_1.default(code); + } + if (opts.redirects) { + res.redirects = opts.redirects; + } + return res; + }; + exports.http = http; + function isFresh(cache) { + let fresh = false; + let expires = parseInt(cache.headers.expires || "", 10); + const cacheControl = cache.headers["cache-control"]; + if (cacheControl) { + debug2("Cache-Control: %o", cacheControl); + const parts = cacheControl.split(/,\s*?\b/); + for (let i = 0; i < parts.length; i++) { + const part = parts[i]; + const subparts = part.split("="); + const name = subparts[0]; + switch (name) { + case "max-age": + expires = (cache.date || 0) + parseInt(subparts[1], 10) * 1e3; + fresh = Date.now() < expires; + if (fresh) { + debug2('cache is "fresh" due to previous %o Cache-Control param', part); + } + return fresh; + case "must-revalidate": + break; + case "no-cache": + case "no-store": + debug2('cache is "stale" due to explicit %o Cache-Control param', name); + return false; + default: + break; + } + } + } else if (expires) { + debug2("Expires: %o", expires); + fresh = Date.now() < expires; + if (fresh) { + debug2('cache is "fresh" due to previous Expires response header'); + } + return fresh; + } + return false; + } + function getCache(url, cache) { + if (cache) { + if (cache.parsed && cache.parsed.href === url.href) { + return cache; + } + if (cache.redirects) { + for (let i = 0; i < cache.redirects.length; i++) { + const c = getCache(url, cache.redirects[i]); + if (c) { + return c; + } + } + } + } + return null; + } + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/https.js +var require_https = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/https.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.https = void 0; + var https_1 = __importDefault2(require("https")); + var http_1 = require_http(); + var https = (url, opts) => { + return (0, http_1.http)(url, { ...opts, http: https_1.default }); + }; + exports.https = https; + } +}); + +// .yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/index.js +var require_dist7 = __commonJS({ + ".yarn/cache/get-uri-npm-6.0.1-d4f0bb7365-ffa2b3377c.zip/node_modules/get-uri/dist/index.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getUri = exports.isValidProtocol = exports.protocols = void 0; + var debug_1 = __importDefault2(require_src2()); + var data_1 = require_data(); + var file_1 = require_file2(); + var ftp_1 = require_ftp(); + var http_1 = require_http(); + var https_1 = require_https(); + var debug2 = (0, debug_1.default)("get-uri"); + exports.protocols = { + data: data_1.data, + file: file_1.file, + ftp: ftp_1.ftp, + http: http_1.http, + https: https_1.https + }; + var VALID_PROTOCOLS = new Set(Object.keys(exports.protocols)); + function isValidProtocol(p) { + return VALID_PROTOCOLS.has(p); + } + exports.isValidProtocol = isValidProtocol; + async function getUri(uri, opts) { + debug2("getUri(%o)", uri); + if (!uri) { + throw new TypeError('Must pass in a URI to "getUri()"'); + } + const url = typeof uri === "string" ? new URL(uri) : uri; + const protocol = url.protocol.replace(/:$/, ""); + if (!isValidProtocol(protocol)) { + throw new TypeError(`Unsupported protocol "${protocol}" specified in URI: "${uri}"`); + } + const getter = exports.protocols[protocol]; + return getter(url, opts); + } + exports.getUri = getUri; + } +}); + +// .yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/package.json +var require_package = __commonJS({ + ".yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/package.json"(exports, module2) { + module2.exports = { + name: "estraverse", + description: "ECMAScript JS AST traversal functions", + homepage: "https://github.com/estools/estraverse", + main: "estraverse.js", + version: "4.3.0", + engines: { + node: ">=4.0" + }, + maintainers: [ + { + name: "Yusuke Suzuki", + email: "utatane.tea@gmail.com", + web: "http://github.com/Constellation" + } + ], + repository: { + type: "git", + url: "http://github.com/estools/estraverse.git" + }, + devDependencies: { + "babel-preset-env": "^1.6.1", + "babel-register": "^6.3.13", + chai: "^2.1.1", + espree: "^1.11.0", + gulp: "^3.8.10", + "gulp-bump": "^0.2.2", + "gulp-filter": "^2.0.0", + "gulp-git": "^1.0.1", + "gulp-tag-version": "^1.3.0", + jshint: "^2.5.6", + mocha: "^2.1.0" + }, + license: "BSD-2-Clause", + scripts: { + test: "npm run-script lint && npm run-script unit-test", + lint: "jshint estraverse.js", + "unit-test": "mocha --compilers js:babel-register" + } + }; + } +}); + +// .yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/estraverse.js +var require_estraverse = __commonJS({ + ".yarn/cache/estraverse-npm-4.3.0-920a32f3c6-befc0287c3.zip/node_modules/estraverse/estraverse.js"(exports) { + (function clone(exports2) { + "use strict"; + var Syntax, VisitorOption, VisitorKeys, BREAK, SKIP, REMOVE; + function deepCopy(obj) { + var ret = {}, key, val; + for (key in obj) { + if (obj.hasOwnProperty(key)) { + val = obj[key]; + if (typeof val === "object" && val !== null) { + ret[key] = deepCopy(val); + } else { + ret[key] = val; + } + } + } + return ret; + } + function upperBound(array, func) { + var diff, len, i, current; + len = array.length; + i = 0; + while (len) { + diff = len >>> 1; + current = i + diff; + if (func(array[current])) { + len = diff; + } else { + i = current + 1; + len -= diff + 1; + } + } + return i; + } + Syntax = { + AssignmentExpression: "AssignmentExpression", + AssignmentPattern: "AssignmentPattern", + ArrayExpression: "ArrayExpression", + ArrayPattern: "ArrayPattern", + ArrowFunctionExpression: "ArrowFunctionExpression", + AwaitExpression: "AwaitExpression", + // CAUTION: It's deferred to ES7. + BlockStatement: "BlockStatement", + BinaryExpression: "BinaryExpression", + BreakStatement: "BreakStatement", + CallExpression: "CallExpression", + CatchClause: "CatchClause", + ClassBody: "ClassBody", + ClassDeclaration: "ClassDeclaration", + ClassExpression: "ClassExpression", + ComprehensionBlock: "ComprehensionBlock", + // CAUTION: It's deferred to ES7. + ComprehensionExpression: "ComprehensionExpression", + // CAUTION: It's deferred to ES7. + ConditionalExpression: "ConditionalExpression", + ContinueStatement: "ContinueStatement", + DebuggerStatement: "DebuggerStatement", + DirectiveStatement: "DirectiveStatement", + DoWhileStatement: "DoWhileStatement", + EmptyStatement: "EmptyStatement", + ExportAllDeclaration: "ExportAllDeclaration", + ExportDefaultDeclaration: "ExportDefaultDeclaration", + ExportNamedDeclaration: "ExportNamedDeclaration", + ExportSpecifier: "ExportSpecifier", + ExpressionStatement: "ExpressionStatement", + ForStatement: "ForStatement", + ForInStatement: "ForInStatement", + ForOfStatement: "ForOfStatement", + FunctionDeclaration: "FunctionDeclaration", + FunctionExpression: "FunctionExpression", + GeneratorExpression: "GeneratorExpression", + // CAUTION: It's deferred to ES7. + Identifier: "Identifier", + IfStatement: "IfStatement", + ImportExpression: "ImportExpression", + ImportDeclaration: "ImportDeclaration", + ImportDefaultSpecifier: "ImportDefaultSpecifier", + ImportNamespaceSpecifier: "ImportNamespaceSpecifier", + ImportSpecifier: "ImportSpecifier", + Literal: "Literal", + LabeledStatement: "LabeledStatement", + LogicalExpression: "LogicalExpression", + MemberExpression: "MemberExpression", + MetaProperty: "MetaProperty", + MethodDefinition: "MethodDefinition", + ModuleSpecifier: "ModuleSpecifier", + NewExpression: "NewExpression", + ObjectExpression: "ObjectExpression", + ObjectPattern: "ObjectPattern", + Program: "Program", + Property: "Property", + RestElement: "RestElement", + ReturnStatement: "ReturnStatement", + SequenceExpression: "SequenceExpression", + SpreadElement: "SpreadElement", + Super: "Super", + SwitchStatement: "SwitchStatement", + SwitchCase: "SwitchCase", + TaggedTemplateExpression: "TaggedTemplateExpression", + TemplateElement: "TemplateElement", + TemplateLiteral: "TemplateLiteral", + ThisExpression: "ThisExpression", + ThrowStatement: "ThrowStatement", + TryStatement: "TryStatement", + UnaryExpression: "UnaryExpression", + UpdateExpression: "UpdateExpression", + VariableDeclaration: "VariableDeclaration", + VariableDeclarator: "VariableDeclarator", + WhileStatement: "WhileStatement", + WithStatement: "WithStatement", + YieldExpression: "YieldExpression" + }; + VisitorKeys = { + AssignmentExpression: ["left", "right"], + AssignmentPattern: ["left", "right"], + ArrayExpression: ["elements"], + ArrayPattern: ["elements"], + ArrowFunctionExpression: ["params", "body"], + AwaitExpression: ["argument"], + // CAUTION: It's deferred to ES7. + BlockStatement: ["body"], + BinaryExpression: ["left", "right"], + BreakStatement: ["label"], + CallExpression: ["callee", "arguments"], + CatchClause: ["param", "body"], + ClassBody: ["body"], + ClassDeclaration: ["id", "superClass", "body"], + ClassExpression: ["id", "superClass", "body"], + ComprehensionBlock: ["left", "right"], + // CAUTION: It's deferred to ES7. + ComprehensionExpression: ["blocks", "filter", "body"], + // CAUTION: It's deferred to ES7. + ConditionalExpression: ["test", "consequent", "alternate"], + ContinueStatement: ["label"], + DebuggerStatement: [], + DirectiveStatement: [], + DoWhileStatement: ["body", "test"], + EmptyStatement: [], + ExportAllDeclaration: ["source"], + ExportDefaultDeclaration: ["declaration"], + ExportNamedDeclaration: ["declaration", "specifiers", "source"], + ExportSpecifier: ["exported", "local"], + ExpressionStatement: ["expression"], + ForStatement: ["init", "test", "update", "body"], + ForInStatement: ["left", "right", "body"], + ForOfStatement: ["left", "right", "body"], + FunctionDeclaration: ["id", "params", "body"], + FunctionExpression: ["id", "params", "body"], + GeneratorExpression: ["blocks", "filter", "body"], + // CAUTION: It's deferred to ES7. + Identifier: [], + IfStatement: ["test", "consequent", "alternate"], + ImportExpression: ["source"], + ImportDeclaration: ["specifiers", "source"], + ImportDefaultSpecifier: ["local"], + ImportNamespaceSpecifier: ["local"], + ImportSpecifier: ["imported", "local"], + Literal: [], + LabeledStatement: ["label", "body"], + LogicalExpression: ["left", "right"], + MemberExpression: ["object", "property"], + MetaProperty: ["meta", "property"], + MethodDefinition: ["key", "value"], + ModuleSpecifier: [], + NewExpression: ["callee", "arguments"], + ObjectExpression: ["properties"], + ObjectPattern: ["properties"], + Program: ["body"], + Property: ["key", "value"], + RestElement: ["argument"], + ReturnStatement: ["argument"], + SequenceExpression: ["expressions"], + SpreadElement: ["argument"], + Super: [], + SwitchStatement: ["discriminant", "cases"], + SwitchCase: ["test", "consequent"], + TaggedTemplateExpression: ["tag", "quasi"], + TemplateElement: [], + TemplateLiteral: ["quasis", "expressions"], + ThisExpression: [], + ThrowStatement: ["argument"], + TryStatement: ["block", "handler", "finalizer"], + UnaryExpression: ["argument"], + UpdateExpression: ["argument"], + VariableDeclaration: ["declarations"], + VariableDeclarator: ["id", "init"], + WhileStatement: ["test", "body"], + WithStatement: ["object", "body"], + YieldExpression: ["argument"] + }; + BREAK = {}; + SKIP = {}; + REMOVE = {}; + VisitorOption = { + Break: BREAK, + Skip: SKIP, + Remove: REMOVE + }; + function Reference(parent, key) { + this.parent = parent; + this.key = key; + } + Reference.prototype.replace = function replace2(node) { + this.parent[this.key] = node; + }; + Reference.prototype.remove = function remove() { + if (Array.isArray(this.parent)) { + this.parent.splice(this.key, 1); + return true; + } else { + this.replace(null); + return false; + } + }; + function Element(node, path9, wrap, ref) { + this.node = node; + this.path = path9; + this.wrap = wrap; + this.ref = ref; + } + function Controller() { + } + Controller.prototype.path = function path9() { + var i, iz, j, jz, result, element; + function addToPath(result2, path10) { + if (Array.isArray(path10)) { + for (j = 0, jz = path10.length; j < jz; ++j) { + result2.push(path10[j]); + } + } else { + result2.push(path10); + } + } + if (!this.__current.path) { + return null; + } + result = []; + for (i = 2, iz = this.__leavelist.length; i < iz; ++i) { + element = this.__leavelist[i]; + addToPath(result, element.path); + } + addToPath(result, this.__current.path); + return result; + }; + Controller.prototype.type = function() { + var node = this.current(); + return node.type || this.__current.wrap; + }; + Controller.prototype.parents = function parents() { + var i, iz, result; + result = []; + for (i = 1, iz = this.__leavelist.length; i < iz; ++i) { + result.push(this.__leavelist[i].node); + } + return result; + }; + Controller.prototype.current = function current() { + return this.__current.node; + }; + Controller.prototype.__execute = function __execute(callback, element) { + var previous, result; + result = void 0; + previous = this.__current; + this.__current = element; + this.__state = null; + if (callback) { + result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node); + } + this.__current = previous; + return result; + }; + Controller.prototype.notify = function notify(flag) { + this.__state = flag; + }; + Controller.prototype.skip = function() { + this.notify(SKIP); + }; + Controller.prototype["break"] = function() { + this.notify(BREAK); + }; + Controller.prototype.remove = function() { + this.notify(REMOVE); + }; + Controller.prototype.__initialize = function(root, visitor) { + this.visitor = visitor; + this.root = root; + this.__worklist = []; + this.__leavelist = []; + this.__current = null; + this.__state = null; + this.__fallback = null; + if (visitor.fallback === "iteration") { + this.__fallback = Object.keys; + } else if (typeof visitor.fallback === "function") { + this.__fallback = visitor.fallback; + } + this.__keys = VisitorKeys; + if (visitor.keys) { + this.__keys = Object.assign(Object.create(this.__keys), visitor.keys); + } + }; + function isNode(node) { + if (node == null) { + return false; + } + return typeof node === "object" && typeof node.type === "string"; + } + function isProperty(nodeType, key) { + return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && "properties" === key; + } + Controller.prototype.traverse = function traverse2(root, visitor) { + var worklist, leavelist, element, node, nodeType, ret, key, current, current2, candidates, candidate, sentinel; + this.__initialize(root, visitor); + sentinel = {}; + worklist = this.__worklist; + leavelist = this.__leavelist; + worklist.push(new Element(root, null, null, null)); + leavelist.push(new Element(null, null, null, null)); + while (worklist.length) { + element = worklist.pop(); + if (element === sentinel) { + element = leavelist.pop(); + ret = this.__execute(visitor.leave, element); + if (this.__state === BREAK || ret === BREAK) { + return; + } + continue; + } + if (element.node) { + ret = this.__execute(visitor.enter, element); + if (this.__state === BREAK || ret === BREAK) { + return; + } + worklist.push(sentinel); + leavelist.push(element); + if (this.__state === SKIP || ret === SKIP) { + continue; + } + node = element.node; + nodeType = node.type || element.wrap; + candidates = this.__keys[nodeType]; + if (!candidates) { + if (this.__fallback) { + candidates = this.__fallback(node); + } else { + throw new Error("Unknown node type " + nodeType + "."); + } + } + current = candidates.length; + while ((current -= 1) >= 0) { + key = candidates[current]; + candidate = node[key]; + if (!candidate) { + continue; + } + if (Array.isArray(candidate)) { + current2 = candidate.length; + while ((current2 -= 1) >= 0) { + if (!candidate[current2]) { + continue; + } + if (isProperty(nodeType, candidates[current])) { + element = new Element(candidate[current2], [key, current2], "Property", null); + } else if (isNode(candidate[current2])) { + element = new Element(candidate[current2], [key, current2], null, null); + } else { + continue; + } + worklist.push(element); + } + } else if (isNode(candidate)) { + worklist.push(new Element(candidate, key, null, null)); + } + } + } + } + }; + Controller.prototype.replace = function replace2(root, visitor) { + var worklist, leavelist, node, nodeType, target, element, current, current2, candidates, candidate, sentinel, outer, key; + function removeElem(element2) { + var i, key2, nextElem, parent; + if (element2.ref.remove()) { + key2 = element2.ref.key; + parent = element2.ref.parent; + i = worklist.length; + while (i--) { + nextElem = worklist[i]; + if (nextElem.ref && nextElem.ref.parent === parent) { + if (nextElem.ref.key < key2) { + break; + } + --nextElem.ref.key; + } + } + } + } + this.__initialize(root, visitor); + sentinel = {}; + worklist = this.__worklist; + leavelist = this.__leavelist; + outer = { + root + }; + element = new Element(root, null, null, new Reference(outer, "root")); + worklist.push(element); + leavelist.push(element); + while (worklist.length) { + element = worklist.pop(); + if (element === sentinel) { + element = leavelist.pop(); + target = this.__execute(visitor.leave, element); + if (target !== void 0 && target !== BREAK && target !== SKIP && target !== REMOVE) { + element.ref.replace(target); + } + if (this.__state === REMOVE || target === REMOVE) { + removeElem(element); + } + if (this.__state === BREAK || target === BREAK) { + return outer.root; + } + continue; + } + target = this.__execute(visitor.enter, element); + if (target !== void 0 && target !== BREAK && target !== SKIP && target !== REMOVE) { + element.ref.replace(target); + element.node = target; + } + if (this.__state === REMOVE || target === REMOVE) { + removeElem(element); + element.node = null; + } + if (this.__state === BREAK || target === BREAK) { + return outer.root; + } + node = element.node; + if (!node) { + continue; + } + worklist.push(sentinel); + leavelist.push(element); + if (this.__state === SKIP || target === SKIP) { + continue; + } + nodeType = node.type || element.wrap; + candidates = this.__keys[nodeType]; + if (!candidates) { + if (this.__fallback) { + candidates = this.__fallback(node); + } else { + throw new Error("Unknown node type " + nodeType + "."); + } + } + current = candidates.length; + while ((current -= 1) >= 0) { + key = candidates[current]; + candidate = node[key]; + if (!candidate) { + continue; + } + if (Array.isArray(candidate)) { + current2 = candidate.length; + while ((current2 -= 1) >= 0) { + if (!candidate[current2]) { + continue; + } + if (isProperty(nodeType, candidates[current])) { + element = new Element(candidate[current2], [key, current2], "Property", new Reference(candidate, current2)); + } else if (isNode(candidate[current2])) { + element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2)); + } else { + continue; + } + worklist.push(element); + } + } else if (isNode(candidate)) { + worklist.push(new Element(candidate, key, null, new Reference(node, key))); + } + } + } + return outer.root; + }; + function traverse(root, visitor) { + var controller = new Controller(); + return controller.traverse(root, visitor); + } + function replace(root, visitor) { + var controller = new Controller(); + return controller.replace(root, visitor); + } + function extendCommentRange(comment, tokens) { + var target; + target = upperBound(tokens, function search(token) { + return token.range[0] > comment.range[0]; + }); + comment.extendedRange = [comment.range[0], comment.range[1]]; + if (target !== tokens.length) { + comment.extendedRange[1] = tokens[target].range[0]; + } + target -= 1; + if (target >= 0) { + comment.extendedRange[0] = tokens[target].range[1]; + } + return comment; + } + function attachComments(tree, providedComments, tokens) { + var comments = [], comment, len, i, cursor; + if (!tree.range) { + throw new Error("attachComments needs range information"); + } + if (!tokens.length) { + if (providedComments.length) { + for (i = 0, len = providedComments.length; i < len; i += 1) { + comment = deepCopy(providedComments[i]); + comment.extendedRange = [0, tree.range[0]]; + comments.push(comment); + } + tree.leadingComments = comments; + } + return tree; + } + for (i = 0, len = providedComments.length; i < len; i += 1) { + comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens)); + } + cursor = 0; + traverse(tree, { + enter: function(node) { + var comment2; + while (cursor < comments.length) { + comment2 = comments[cursor]; + if (comment2.extendedRange[1] > node.range[0]) { + break; + } + if (comment2.extendedRange[1] === node.range[0]) { + if (!node.leadingComments) { + node.leadingComments = []; + } + node.leadingComments.push(comment2); + comments.splice(cursor, 1); + } else { + cursor += 1; + } + } + if (cursor === comments.length) { + return VisitorOption.Break; + } + if (comments[cursor].extendedRange[0] > node.range[1]) { + return VisitorOption.Skip; + } + } + }); + cursor = 0; + traverse(tree, { + leave: function(node) { + var comment2; + while (cursor < comments.length) { + comment2 = comments[cursor]; + if (node.range[1] < comment2.extendedRange[0]) { + break; + } + if (node.range[1] === comment2.extendedRange[0]) { + if (!node.trailingComments) { + node.trailingComments = []; + } + node.trailingComments.push(comment2); + comments.splice(cursor, 1); + } else { + cursor += 1; + } + } + if (cursor === comments.length) { + return VisitorOption.Break; + } + if (comments[cursor].extendedRange[0] > node.range[1]) { + return VisitorOption.Skip; + } + } + }); + return tree; + } + exports2.version = require_package().version; + exports2.Syntax = Syntax; + exports2.traverse = traverse; + exports2.replace = replace; + exports2.attachComments = attachComments; + exports2.VisitorKeys = VisitorKeys; + exports2.VisitorOption = VisitorOption; + exports2.Controller = Controller; + exports2.cloneEnvironment = function() { + return clone({}); + }; + return exports2; + })(exports); + } +}); + +// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/ast.js +var require_ast = __commonJS({ + ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/ast.js"(exports, module2) { + (function() { + "use strict"; + function isExpression(node) { + if (node == null) { + return false; + } + switch (node.type) { + case "ArrayExpression": + case "AssignmentExpression": + case "BinaryExpression": + case "CallExpression": + case "ConditionalExpression": + case "FunctionExpression": + case "Identifier": + case "Literal": + case "LogicalExpression": + case "MemberExpression": + case "NewExpression": + case "ObjectExpression": + case "SequenceExpression": + case "ThisExpression": + case "UnaryExpression": + case "UpdateExpression": + return true; + } + return false; + } + function isIterationStatement(node) { + if (node == null) { + return false; + } + switch (node.type) { + case "DoWhileStatement": + case "ForInStatement": + case "ForStatement": + case "WhileStatement": + return true; + } + return false; + } + function isStatement(node) { + if (node == null) { + return false; + } + switch (node.type) { + case "BlockStatement": + case "BreakStatement": + case "ContinueStatement": + case "DebuggerStatement": + case "DoWhileStatement": + case "EmptyStatement": + case "ExpressionStatement": + case "ForInStatement": + case "ForStatement": + case "IfStatement": + case "LabeledStatement": + case "ReturnStatement": + case "SwitchStatement": + case "ThrowStatement": + case "TryStatement": + case "VariableDeclaration": + case "WhileStatement": + case "WithStatement": + return true; + } + return false; + } + function isSourceElement(node) { + return isStatement(node) || node != null && node.type === "FunctionDeclaration"; + } + function trailingStatement(node) { + switch (node.type) { + case "IfStatement": + if (node.alternate != null) { + return node.alternate; + } + return node.consequent; + case "LabeledStatement": + case "ForStatement": + case "ForInStatement": + case "WhileStatement": + case "WithStatement": + return node.body; + } + return null; + } + function isProblematicIfStatement(node) { + var current; + if (node.type !== "IfStatement") { + return false; + } + if (node.alternate == null) { + return false; + } + current = node.consequent; + do { + if (current.type === "IfStatement") { + if (current.alternate == null) { + return true; + } + } + current = trailingStatement(current); + } while (current); + return false; + } + module2.exports = { + isExpression, + isStatement, + isIterationStatement, + isSourceElement, + isProblematicIfStatement, + trailingStatement + }; + })(); + } +}); + +// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/code.js +var require_code = __commonJS({ + ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/code.js"(exports, module2) { + (function() { + "use strict"; + var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; + ES5Regex = { + // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, + // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ + }; + ES6Regex = { + // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, + // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ + }; + function isDecimalDigit(ch2) { + return 48 <= ch2 && ch2 <= 57; + } + function isHexDigit(ch2) { + return 48 <= ch2 && ch2 <= 57 || // 0..9 + 97 <= ch2 && ch2 <= 102 || // a..f + 65 <= ch2 && ch2 <= 70; + } + function isOctalDigit(ch2) { + return ch2 >= 48 && ch2 <= 55; + } + NON_ASCII_WHITESPACES = [ + 5760, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8239, + 8287, + 12288, + 65279 + ]; + function isWhiteSpace(ch2) { + return ch2 === 32 || ch2 === 9 || ch2 === 11 || ch2 === 12 || ch2 === 160 || ch2 >= 5760 && NON_ASCII_WHITESPACES.indexOf(ch2) >= 0; + } + function isLineTerminator(ch2) { + return ch2 === 10 || ch2 === 13 || ch2 === 8232 || ch2 === 8233; + } + function fromCodePoint(cp) { + if (cp <= 65535) { + return String.fromCharCode(cp); + } + var cu1 = String.fromCharCode(Math.floor((cp - 65536) / 1024) + 55296); + var cu2 = String.fromCharCode((cp - 65536) % 1024 + 56320); + return cu1 + cu2; + } + IDENTIFIER_START = new Array(128); + for (ch = 0; ch < 128; ++ch) { + IDENTIFIER_START[ch] = ch >= 97 && ch <= 122 || // a..z + ch >= 65 && ch <= 90 || // A..Z + ch === 36 || ch === 95; + } + IDENTIFIER_PART = new Array(128); + for (ch = 0; ch < 128; ++ch) { + IDENTIFIER_PART[ch] = ch >= 97 && ch <= 122 || // a..z + ch >= 65 && ch <= 90 || // A..Z + ch >= 48 && ch <= 57 || // 0..9 + ch === 36 || ch === 95; + } + function isIdentifierStartES5(ch2) { + return ch2 < 128 ? IDENTIFIER_START[ch2] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2)); + } + function isIdentifierPartES5(ch2) { + return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2)); + } + function isIdentifierStartES6(ch2) { + return ch2 < 128 ? IDENTIFIER_START[ch2] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch2)); + } + function isIdentifierPartES6(ch2) { + return ch2 < 128 ? IDENTIFIER_PART[ch2] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch2)); + } + module2.exports = { + isDecimalDigit, + isHexDigit, + isOctalDigit, + isWhiteSpace, + isLineTerminator, + isIdentifierStartES5, + isIdentifierPartES5, + isIdentifierStartES6, + isIdentifierPartES6 + }; + })(); + } +}); + +// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/keyword.js +var require_keyword = __commonJS({ + ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/keyword.js"(exports, module2) { + (function() { + "use strict"; + var code = require_code(); + function isStrictModeReservedWordES6(id) { + switch (id) { + case "implements": + case "interface": + case "package": + case "private": + case "protected": + case "public": + case "static": + case "let": + return true; + default: + return false; + } + } + function isKeywordES5(id, strict) { + if (!strict && id === "yield") { + return false; + } + return isKeywordES6(id, strict); + } + function isKeywordES6(id, strict) { + if (strict && isStrictModeReservedWordES6(id)) { + return true; + } + switch (id.length) { + case 2: + return id === "if" || id === "in" || id === "do"; + case 3: + return id === "var" || id === "for" || id === "new" || id === "try"; + case 4: + return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum"; + case 5: + return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super"; + case 6: + return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import"; + case 7: + return id === "default" || id === "finally" || id === "extends"; + case 8: + return id === "function" || id === "continue" || id === "debugger"; + case 10: + return id === "instanceof"; + default: + return false; + } + } + function isReservedWordES5(id, strict) { + return id === "null" || id === "true" || id === "false" || isKeywordES5(id, strict); + } + function isReservedWordES6(id, strict) { + return id === "null" || id === "true" || id === "false" || isKeywordES6(id, strict); + } + function isRestrictedWord(id) { + return id === "eval" || id === "arguments"; + } + function isIdentifierNameES5(id) { + var i, iz, ch; + if (id.length === 0) { + return false; + } + ch = id.charCodeAt(0); + if (!code.isIdentifierStartES5(ch)) { + return false; + } + for (i = 1, iz = id.length; i < iz; ++i) { + ch = id.charCodeAt(i); + if (!code.isIdentifierPartES5(ch)) { + return false; + } + } + return true; + } + function decodeUtf16(lead, trail) { + return (lead - 55296) * 1024 + (trail - 56320) + 65536; + } + function isIdentifierNameES6(id) { + var i, iz, ch, lowCh, check; + if (id.length === 0) { + return false; + } + check = code.isIdentifierStartES6; + for (i = 0, iz = id.length; i < iz; ++i) { + ch = id.charCodeAt(i); + if (55296 <= ch && ch <= 56319) { + ++i; + if (i >= iz) { + return false; + } + lowCh = id.charCodeAt(i); + if (!(56320 <= lowCh && lowCh <= 57343)) { + return false; + } + ch = decodeUtf16(ch, lowCh); + } + if (!check(ch)) { + return false; + } + check = code.isIdentifierPartES6; + } + return true; + } + function isIdentifierES5(id, strict) { + return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); + } + function isIdentifierES6(id, strict) { + return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); + } + module2.exports = { + isKeywordES5, + isKeywordES6, + isReservedWordES5, + isReservedWordES6, + isRestrictedWord, + isIdentifierNameES5, + isIdentifierNameES6, + isIdentifierES5, + isIdentifierES6 + }; + })(); + } +}); + +// .yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/utils.js +var require_utils2 = __commonJS({ + ".yarn/cache/esutils-npm-2.0.3-f865beafd5-179e017b58.zip/node_modules/esutils/lib/utils.js"(exports) { + (function() { + "use strict"; + exports.ast = require_ast(); + exports.code = require_code(); + exports.keyword = require_keyword(); + })(); + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64.js +var require_base64 = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64.js"(exports) { + var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); + exports.encode = function(number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); + }; + exports.decode = function(charCode) { + var bigA = 65; + var bigZ = 90; + var littleA = 97; + var littleZ = 122; + var zero = 48; + var nine = 57; + var plus = 43; + var slash = 47; + var littleOffset = 26; + var numberOffset = 52; + if (bigA <= charCode && charCode <= bigZ) { + return charCode - bigA; + } + if (littleA <= charCode && charCode <= littleZ) { + return charCode - littleA + littleOffset; + } + if (zero <= charCode && charCode <= nine) { + return charCode - zero + numberOffset; + } + if (charCode == plus) { + return 62; + } + if (charCode == slash) { + return 63; + } + return -1; + }; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64-vlq.js +var require_base64_vlq = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/base64-vlq.js"(exports) { + var base64 = require_base64(); + var VLQ_BASE_SHIFT = 5; + var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + var VLQ_BASE_MASK = VLQ_BASE - 1; + var VLQ_CONTINUATION_BIT = VLQ_BASE; + function toVLQSigned(aValue) { + return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; + } + function fromVLQSigned(aValue) { + var isNegative2 = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative2 ? -shifted : shifted; + } + exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + var vlq = toVLQSigned(aValue); + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + return encoded; + }; + exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; + }; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/util.js +var require_util2 = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/util.js"(exports) { + function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } + } + exports.getArg = getArg; + var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; + var dataUrlRegexp = /^data:.+\,.+$/; + function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; + } + exports.urlParse = urlParse; + function urlGenerate(aParsedUrl) { + var url = ""; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ":"; + } + url += "//"; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + "@"; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port; + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; + } + exports.urlGenerate = urlGenerate; + function normalize(aPath) { + var path9 = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path9 = url.path; + } + var isAbsolute = exports.isAbsolute(path9); + var parts = path9.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === ".") { + parts.splice(i, 1); + } else if (part === "..") { + up++; + } else if (up > 0) { + if (part === "") { + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path9 = parts.join("/"); + if (path9 === "") { + path9 = isAbsolute ? "/" : "."; + } + if (url) { + url.path = path9; + return urlGenerate(url); + } + return path9; + } + exports.normalize = normalize; + function join2(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || "/"; + } + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath); + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; + } + exports.join = join2; + exports.isAbsolute = function(aPath) { + return aPath.charAt(0) === "/" || urlRegexp.test(aPath); + }; + function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + aRoot = aRoot.replace(/\/$/, ""); + var level = 0; + while (aPath.indexOf(aRoot + "/") !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + ++level; + } + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); + } + exports.relative = relative; + var supportsNullProto = function() { + var obj = /* @__PURE__ */ Object.create(null); + return !("__proto__" in obj); + }(); + function identity(s) { + return s; + } + function toSetString(aStr) { + if (isProtoString(aStr)) { + return "$" + aStr; + } + return aStr; + } + exports.toSetString = supportsNullProto ? identity : toSetString; + function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + return aStr; + } + exports.fromSetString = supportsNullProto ? identity : fromSetString; + function isProtoString(s) { + if (!s) { + return false; + } + var length = s.length; + if (length < 9) { + return false; + } + if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) { + return false; + } + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36) { + return false; + } + } + return true; + } + function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByOriginalPositions = compareByOriginalPositions; + function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + if (aStr1 === null) { + return 1; + } + if (aStr2 === null) { + return -1; + } + if (aStr1 > aStr2) { + return 1; + } + return -1; + } + function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); + } + exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, "")); + } + exports.parseSourceMapInput = parseSourceMapInput; + function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ""; + if (sourceRoot) { + if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") { + sourceRoot += "/"; + } + sourceURL = sourceRoot + sourceURL; + } + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + var index = parsed.path.lastIndexOf("/"); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join2(urlGenerate(parsed), sourceURL); + } + return normalize(sourceURL); + } + exports.computeSourceURL = computeSourceURL; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/array-set.js +var require_array_set = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/array-set.js"(exports) { + var util = require_util2(); + var has = Object.prototype.hasOwnProperty; + var hasNativeMap = typeof Map !== "undefined"; + function ArraySet() { + this._array = []; + this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null); + } + ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; + }; + ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; + }; + ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } + }; + ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } + }; + ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + throw new Error('"' + aStr + '" is not in the set.'); + }; + ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error("No element indexed by " + aIdx); + }; + ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); + }; + exports.ArraySet = ArraySet; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/mapping-list.js +var require_mapping_list = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/mapping-list.js"(exports) { + var util = require_util2(); + function generatedPositionAfter(mappingA, mappingB) { + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; + } + function MappingList() { + this._array = []; + this._sorted = true; + this._last = { generatedLine: -1, generatedColumn: 0 }; + } + MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } + }; + MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; + }; + exports.MappingList = MappingList; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-generator.js +var require_source_map_generator = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-generator.js"(exports) { + var base64VLQ = require_base64_vlq(); + var util = require_util2(); + var ArraySet = require_array_set().ArraySet; + var MappingList = require_mapping_list().MappingList; + function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, "file", null); + this._sourceRoot = util.getArg(aArgs, "sourceRoot", null); + this._skipValidation = util.getArg(aArgs, "skipValidation", false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; + } + SourceMapGenerator.prototype._version = 3; + SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot + }); + aSourceMapConsumer.eachMapping(function(mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, "generated"); + var original = util.getArg(aArgs, "original", null); + var source = util.getArg(aArgs, "source", null); + var name = util.getArg(aArgs, "name", null); + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source, + name + }); + }; + SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + if (aSourceContent != null) { + if (!this._sourcesContents) { + this._sourcesContents = /* @__PURE__ */ Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.` + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + var newSources = new ArraySet(); + var newNames = new ArraySet(); + this._mappings.unsortedForEach(function(mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source); + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + }, this); + this._sources = newSources; + this._names = newNames; + aSourceMapConsumer.sources.forEach(function(sourceFile2) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile2); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile2 = util.join(aSourceMapPath, sourceFile2); + } + if (sourceRoot != null) { + sourceFile2 = util.relative(sourceRoot, sourceFile2); + } + this.setSourceContent(sourceFile2, content); + } + }, this); + }; + SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { + if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") { + throw new Error( + "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values." + ); + } + if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { + return; + } else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { + return; + } else { + throw new Error("Invalid mapping: " + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ""; + var next; + var mapping; + var nameIdx; + var sourceIdx; + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = ""; + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ";"; + previousGeneratedLine++; + } + } else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ","; + } + } + next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + result += next; + } + return result; + }; + SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function(source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; + }, this); + }; + SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + return map; + }; + SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + exports.SourceMapGenerator = SourceMapGenerator; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/binary-search.js +var require_binary_search = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/binary-search.js"(exports) { + exports.GREATEST_LOWER_BOUND = 1; + exports.LEAST_UPPER_BOUND = 2; + function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + return mid; + } else if (cmp > 0) { + if (aHigh - mid > 1) { + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } else { + if (mid - aLow > 1) { + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } + } + exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + var index = recursiveSearch( + -1, + aHaystack.length, + aNeedle, + aHaystack, + aCompare, + aBias || exports.GREATEST_LOWER_BOUND + ); + if (index < 0) { + return -1; + } + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + return index; + }; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/quick-sort.js +var require_quick_sort = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/quick-sort.js"(exports) { + function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; + } + function randomIntInRange(low, high) { + return Math.round(low + Math.random() * (high - low)); + } + function doQuickSort(ary, comparator, p, r) { + if (p < r) { + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + swap(ary, pivotIndex, r); + var pivot = ary[r]; + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + swap(ary, i + 1, j); + var q = i + 1; + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } + } + exports.quickSort = function(ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); + }; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-consumer.js +var require_source_map_consumer = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-map-consumer.js"(exports) { + var util = require_util2(); + var binarySearch = require_binary_search(); + var ArraySet = require_array_set().ArraySet; + var base64VLQ = require_base64_vlq(); + var quickSort = require_quick_sort().quickSort; + function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === "string") { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); + } + SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); + }; + SourceMapConsumer.prototype._version = 3; + SourceMapConsumer.prototype.__generatedMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", { + configurable: true, + enumerable: true, + get: function() { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + return this.__generatedMappings; + } + }); + SourceMapConsumer.prototype.__originalMappings = null; + Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", { + configurable: true, + enumerable: true, + get: function() { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + return this.__originalMappings; + } + }); + SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + SourceMapConsumer.GENERATED_ORDER = 1; + SourceMapConsumer.ORIGINAL_ORDER = 2; + SourceMapConsumer.GREATEST_LOWER_BOUND = 1; + SourceMapConsumer.LEAST_UPPER_BOUND = 2; + SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + var sourceRoot = this.sourceRoot; + mappings.map(function(mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, "line"); + var needle = { + source: util.getArg(aArgs, "source"), + originalLine: line, + originalColumn: util.getArg(aArgs, "column", 0) + }; + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + var mappings = []; + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND + ); + if (index >= 0) { + var mapping = this._originalMappings[index]; + if (aArgs.column === void 0) { + var originalLine = mapping.originalLine; + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, "generatedLine", null), + column: util.getArg(mapping, "generatedColumn", null), + lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) + }); + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, "generatedLine", null), + column: util.getArg(mapping, "generatedColumn", null), + lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) + }); + mapping = this._originalMappings[++index]; + } + } + } + return mappings; + }; + exports.SourceMapConsumer = SourceMapConsumer; + function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === "string") { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + var version2 = util.getArg(sourceMap, "version"); + var sources = util.getArg(sourceMap, "sources"); + var names = util.getArg(sourceMap, "names", []); + var sourceRoot = util.getArg(sourceMap, "sourceRoot", null); + var sourcesContent = util.getArg(sourceMap, "sourcesContent", null); + var mappings = util.getArg(sourceMap, "mappings"); + var file = util.getArg(sourceMap, "file", null); + if (version2 != this._version) { + throw new Error("Unsupported version: " + version2); + } + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + sources = sources.map(String).map(util.normalize).map(function(source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; + }); + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + this._absoluteSources = this._sources.toArray().map(function(s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; + } + BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + return -1; + }; + BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent( + smc._sources.toArray(), + smc.sourceRoot + ); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function(s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping(); + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + destOriginalMappings.push(destMapping); + } + destGeneratedMappings.push(destMapping); + } + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + return smc; + }; + BasicSourceMapConsumer.prototype._version = 3; + Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", { + get: function() { + return this._absoluteSources.slice(); + } + }); + function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; + } + BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + while (index < length) { + if (aStr.charAt(index) === ";") { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } else if (aStr.charAt(index) === ",") { + index++; + } else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + if (segment.length === 2) { + throw new Error("Found a source, but no line and column"); + } + if (segment.length === 3) { + throw new Error("Found a source and line, but no column"); + } + cachedSegments[str] = segment; + } + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + if (segment.length > 1) { + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + mapping.originalLine += 1; + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + if (segment.length > 4) { + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + generatedMappings.push(mapping); + if (typeof mapping.originalLine === "number") { + originalMappings.push(mapping); + } + } + } + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { + if (aNeedle[aLineName] <= 0) { + throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]); + } + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + mapping.lastGeneratedColumn = Infinity; + } + }; + BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, "line"), + generatedColumn: util.getArg(aArgs, "column") + }; + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + if (index >= 0) { + var mapping = this._generatedMappings[index]; + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, "source", null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, "name", null); + if (name !== null) { + name = this._names.at(name); + } + return { + source, + line: util.getArg(mapping, "originalLine", null), + column: util.getArg(mapping, "originalColumn", null), + name + }; + } + } + return { + source: null, + line: null, + column: null, + name: null + }; + }; + BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) { + return sc == null; + }); + }; + BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + var url; + if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; + } + if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, "source"); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + var needle = { + source, + originalLine: util.getArg(aArgs, "line"), + originalColumn: util.getArg(aArgs, "column") + }; + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + if (index >= 0) { + var mapping = this._originalMappings[index]; + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, "generatedLine", null), + column: util.getArg(mapping, "generatedColumn", null), + lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) + }; + } + } + return { + line: null, + column: null, + lastColumn: null + }; + }; + exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === "string") { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + var version2 = util.getArg(sourceMap, "version"); + var sections = util.getArg(sourceMap, "sections"); + if (version2 != this._version) { + throw new Error("Unsupported version: " + version2); + } + this._sources = new ArraySet(); + this._names = new ArraySet(); + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function(s) { + if (s.url) { + throw new Error("Support for url field in sections not implemented."); + } + var offset = util.getArg(s, "offset"); + var offsetLine = util.getArg(offset, "line"); + var offsetColumn = util.getArg(offset, "column"); + if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { + throw new Error("Section offsets must be ordered and non-overlapping."); + } + lastOffset = offset; + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, "map"), aSourceMapURL) + }; + }); + } + IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); + IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + IndexedSourceMapConsumer.prototype._version = 3; + Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", { + get: function() { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } + }); + IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, "line"), + generatedColumn: util.getArg(aArgs, "column") + }; + var sectionIndex = binarySearch.search( + needle, + this._sections, + function(needle2, section2) { + var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + return needle2.generatedColumn - section2.generatedOffset.generatedColumn; + } + ); + var section = this._sections[sectionIndex]; + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + return section.consumer.originalPositionFor({ + line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + bias: aArgs.bias + }); + }; + IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function(s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) + }; + return ret; + } + } + return { + line: null, + column: null + }; + }; + IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + var adjustedMapping = { + source, + generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name + }; + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === "number") { + this.__originalMappings.push(adjustedMapping); + } + } + } + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-node.js +var require_source_node = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/lib/source-node.js"(exports) { + var SourceMapGenerator = require_source_map_generator().SourceMapGenerator; + var util = require_util2(); + var REGEX_NEWLINE = /(\r?\n)/; + var NEWLINE_CODE = 10; + var isSourceNode = "$$$isSourceNode$$$"; + function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) + this.add(aChunks); + } + SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + var node = new SourceNode(); + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + var newLine = getNextLine() || ""; + return lineContents + newLine; + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0; + } + }; + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + var lastMapping = null; + aSourceMapConsumer.eachMapping(function(mapping) { + if (lastMapping !== null) { + if (lastGeneratedLine < mapping.generatedLine) { + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + } else { + var nextLine = remainingLines[remainingLinesIndex] || ""; + var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + lastMapping = mapping; + return; + } + } + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ""; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + addMappingWithCode(lastMapping, shiftNextLine()); + } + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + return node; + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === void 0) { + node.add(code); + } else { + var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; + node.add(new SourceNode( + mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name + )); + } + } + }; + SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function(chunk) { + this.add(chunk); + }, this); + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length - 1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; + }; + SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } else { + if (chunk !== "") { + aFn(chunk, { + source: this.source, + line: this.line, + column: this.column, + name: this.name + }); + } + } + } + }; + SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len - 1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; + }; + SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } else if (typeof lastChild === "string") { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } else { + this.children.push("".replace(aPattern, aReplacement)); + } + return this; + }; + SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function(chunk) { + str += chunk; + }); + return str; + }; + SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function(chunk, original) { + generated.code += chunk; + if (original.source !== null && original.line !== null && original.column !== null) { + if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function(sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + return { code: generated.code, map }; + }; + exports.SourceNode = SourceNode; + } +}); + +// .yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/source-map.js +var require_source_map = __commonJS({ + ".yarn/cache/source-map-npm-0.6.1-1a3621db16-cba9f44c3a.zip/node_modules/source-map/source-map.js"(exports) { + exports.SourceMapGenerator = require_source_map_generator().SourceMapGenerator; + exports.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer; + exports.SourceNode = require_source_node().SourceNode; + } +}); + +// .yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/package.json +var require_package2 = __commonJS({ + ".yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/package.json"(exports, module2) { + module2.exports = { + name: "escodegen", + description: "ECMAScript code generator", + homepage: "http://github.com/estools/escodegen", + main: "escodegen.js", + bin: { + esgenerate: "./bin/esgenerate.js", + escodegen: "./bin/escodegen.js" + }, + files: [ + "LICENSE.BSD", + "README.md", + "bin", + "escodegen.js", + "package.json" + ], + version: "1.14.3", + engines: { + node: ">=4.0" + }, + maintainers: [ + { + name: "Yusuke Suzuki", + email: "utatane.tea@gmail.com", + web: "http://github.com/Constellation" + } + ], + repository: { + type: "git", + url: "http://github.com/estools/escodegen.git" + }, + dependencies: { + estraverse: "^4.2.0", + esutils: "^2.0.2", + esprima: "^4.0.1", + optionator: "^0.8.1" + }, + optionalDependencies: { + "source-map": "~0.6.1" + }, + devDependencies: { + acorn: "^7.1.0", + bluebird: "^3.4.7", + "bower-registry-client": "^1.0.0", + chai: "^3.5.0", + "commonjs-everywhere": "^0.9.7", + gulp: "^3.8.10", + "gulp-eslint": "^3.0.1", + "gulp-mocha": "^3.0.1", + semver: "^5.1.0" + }, + license: "BSD-2-Clause", + scripts: { + test: "gulp travis", + "unit-test": "gulp test", + lint: "gulp lint", + release: "node tools/release.js", + "build-min": "./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js", + build: "./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js" + } + }; + } +}); + +// .yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/escodegen.js +var require_escodegen = __commonJS({ + ".yarn/cache/escodegen-npm-1.14.3-a4dedc6eeb-14769d3458.zip/node_modules/escodegen/escodegen.js"(exports) { + (function() { + "use strict"; + var Syntax, Precedence, BinaryPrecedence, SourceNode, estraverse, esutils, base, indent, json, renumber, hexadecimal, quotes, escapeless, newline, space, parentheses, semicolons, safeConcatenation, directive, extra, parse, sourceMap, sourceCode, preserveBlankLines, FORMAT_MINIFY, FORMAT_DEFAULTS; + estraverse = require_estraverse(); + esutils = require_utils2(); + Syntax = estraverse.Syntax; + function isExpression(node) { + return CodeGenerator.Expression.hasOwnProperty(node.type); + } + function isStatement(node) { + return CodeGenerator.Statement.hasOwnProperty(node.type); + } + Precedence = { + Sequence: 0, + Yield: 1, + Assignment: 1, + Conditional: 2, + ArrowFunction: 2, + LogicalOR: 3, + LogicalAND: 4, + BitwiseOR: 5, + BitwiseXOR: 6, + BitwiseAND: 7, + Equality: 8, + Relational: 9, + BitwiseSHIFT: 10, + Additive: 11, + Multiplicative: 12, + Exponentiation: 13, + Await: 14, + Unary: 14, + Postfix: 15, + Call: 16, + New: 17, + TaggedTemplate: 18, + Member: 19, + Primary: 20 + }; + BinaryPrecedence = { + "||": Precedence.LogicalOR, + "&&": Precedence.LogicalAND, + "|": Precedence.BitwiseOR, + "^": Precedence.BitwiseXOR, + "&": Precedence.BitwiseAND, + "==": Precedence.Equality, + "!=": Precedence.Equality, + "===": Precedence.Equality, + "!==": Precedence.Equality, + "is": Precedence.Equality, + "isnt": Precedence.Equality, + "<": Precedence.Relational, + ">": Precedence.Relational, + "<=": Precedence.Relational, + ">=": Precedence.Relational, + "in": Precedence.Relational, + "instanceof": Precedence.Relational, + "<<": Precedence.BitwiseSHIFT, + ">>": Precedence.BitwiseSHIFT, + ">>>": Precedence.BitwiseSHIFT, + "+": Precedence.Additive, + "-": Precedence.Additive, + "*": Precedence.Multiplicative, + "%": Precedence.Multiplicative, + "/": Precedence.Multiplicative, + "**": Precedence.Exponentiation + }; + var F_ALLOW_IN = 1, F_ALLOW_CALL = 1 << 1, F_ALLOW_UNPARATH_NEW = 1 << 2, F_FUNC_BODY = 1 << 3, F_DIRECTIVE_CTX = 1 << 4, F_SEMICOLON_OPT = 1 << 5; + var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, E_TTF = F_ALLOW_IN | F_ALLOW_CALL, E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW, E_TFF = F_ALLOW_IN, E_FFT = F_ALLOW_UNPARATH_NEW, E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW; + var S_TFFF = F_ALLOW_IN, S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT, S_FFFF = 0, S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX, S_TTFF = F_ALLOW_IN | F_FUNC_BODY; + function getDefaultOptions() { + return { + indent: null, + base: null, + parse: null, + comment: false, + format: { + indent: { + style: " ", + base: 0, + adjustMultilineComment: false + }, + newline: "\n", + space: " ", + json: false, + renumber: false, + hexadecimal: false, + quotes: "single", + escapeless: false, + compact: false, + parentheses: true, + semicolons: true, + safeConcatenation: false, + preserveBlankLines: false + }, + moz: { + comprehensionExpressionStartsWithAssignment: false, + starlessGenerator: false + }, + sourceMap: null, + sourceMapRoot: null, + sourceMapWithCode: false, + directive: false, + raw: true, + verbatim: null, + sourceCode: null + }; + } + function stringRepeat(str, num) { + var result = ""; + for (num |= 0; num > 0; num >>>= 1, str += str) { + if (num & 1) { + result += str; + } + } + return result; + } + function hasLineTerminator(str) { + return /[\r\n]/g.test(str); + } + function endsWithLineTerminator(str) { + var len = str.length; + return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1)); + } + function merge(target, override) { + var key; + for (key in override) { + if (override.hasOwnProperty(key)) { + target[key] = override[key]; + } + } + return target; + } + function updateDeeply(target, override) { + var key, val; + function isHashObject(target2) { + return typeof target2 === "object" && target2 instanceof Object && !(target2 instanceof RegExp); + } + for (key in override) { + if (override.hasOwnProperty(key)) { + val = override[key]; + if (isHashObject(val)) { + if (isHashObject(target[key])) { + updateDeeply(target[key], val); + } else { + target[key] = updateDeeply({}, val); + } + } else { + target[key] = val; + } + } + } + return target; + } + function generateNumber(value) { + var result, point, temp, exponent, pos; + if (value !== value) { + throw new Error("Numeric literal whose value is NaN"); + } + if (value < 0 || value === 0 && 1 / value < 0) { + throw new Error("Numeric literal whose value is negative"); + } + if (value === 1 / 0) { + return json ? "null" : renumber ? "1e400" : "1e+400"; + } + result = "" + value; + if (!renumber || result.length < 3) { + return result; + } + point = result.indexOf("."); + if (!json && result.charCodeAt(0) === 48 && point === 1) { + point = 0; + result = result.slice(1); + } + temp = result; + result = result.replace("e+", "e"); + exponent = 0; + if ((pos = temp.indexOf("e")) > 0) { + exponent = +temp.slice(pos + 1); + temp = temp.slice(0, pos); + } + if (point >= 0) { + exponent -= temp.length - point - 1; + temp = +(temp.slice(0, point) + temp.slice(point + 1)) + ""; + } + pos = 0; + while (temp.charCodeAt(temp.length + pos - 1) === 48) { + --pos; + } + if (pos !== 0) { + exponent -= pos; + temp = temp.slice(0, pos); + } + if (exponent !== 0) { + temp += "e" + exponent; + } + if ((temp.length < result.length || hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = "0x" + value.toString(16)).length < result.length) && +temp === value) { + result = temp; + } + return result; + } + function escapeRegExpCharacter(ch, previousIsBackslash) { + if ((ch & ~1) === 8232) { + return (previousIsBackslash ? "u" : "\\u") + (ch === 8232 ? "2028" : "2029"); + } else if (ch === 10 || ch === 13) { + return (previousIsBackslash ? "" : "\\") + (ch === 10 ? "n" : "r"); + } + return String.fromCharCode(ch); + } + function generateRegExp(reg) { + var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash; + result = reg.toString(); + if (reg.source) { + match = result.match(/\/([^/]*)$/); + if (!match) { + return result; + } + flags = match[1]; + result = ""; + characterInBrack = false; + previousIsBackslash = false; + for (i = 0, iz = reg.source.length; i < iz; ++i) { + ch = reg.source.charCodeAt(i); + if (!previousIsBackslash) { + if (characterInBrack) { + if (ch === 93) { + characterInBrack = false; + } + } else { + if (ch === 47) { + result += "\\"; + } else if (ch === 91) { + characterInBrack = true; + } + } + result += escapeRegExpCharacter(ch, previousIsBackslash); + previousIsBackslash = ch === 92; + } else { + result += escapeRegExpCharacter(ch, previousIsBackslash); + previousIsBackslash = false; + } + } + return "/" + result + "/" + flags; + } + return result; + } + function escapeAllowedCharacter(code, next) { + var hex; + if (code === 8) { + return "\\b"; + } + if (code === 12) { + return "\\f"; + } + if (code === 9) { + return "\\t"; + } + hex = code.toString(16).toUpperCase(); + if (json || code > 255) { + return "\\u" + "0000".slice(hex.length) + hex; + } else if (code === 0 && !esutils.code.isDecimalDigit(next)) { + return "\\0"; + } else if (code === 11) { + return "\\x0B"; + } else { + return "\\x" + "00".slice(hex.length) + hex; + } + } + function escapeDisallowedCharacter(code) { + if (code === 92) { + return "\\\\"; + } + if (code === 10) { + return "\\n"; + } + if (code === 13) { + return "\\r"; + } + if (code === 8232) { + return "\\u2028"; + } + if (code === 8233) { + return "\\u2029"; + } + throw new Error("Incorrectly classified character"); + } + function escapeDirective(str) { + var i, iz, code, quote; + quote = quotes === "double" ? '"' : "'"; + for (i = 0, iz = str.length; i < iz; ++i) { + code = str.charCodeAt(i); + if (code === 39) { + quote = '"'; + break; + } else if (code === 34) { + quote = "'"; + break; + } else if (code === 92) { + ++i; + } + } + return quote + str + quote; + } + function escapeString(str) { + var result = "", i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote; + for (i = 0, len = str.length; i < len; ++i) { + code = str.charCodeAt(i); + if (code === 39) { + ++singleQuotes; + } else if (code === 34) { + ++doubleQuotes; + } else if (code === 47 && json) { + result += "\\"; + } else if (esutils.code.isLineTerminator(code) || code === 92) { + result += escapeDisallowedCharacter(code); + continue; + } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 32 || !json && !escapeless && (code < 32 || code > 126))) { + result += escapeAllowedCharacter(code, str.charCodeAt(i + 1)); + continue; + } + result += String.fromCharCode(code); + } + single = !(quotes === "double" || quotes === "auto" && doubleQuotes < singleQuotes); + quote = single ? "'" : '"'; + if (!(single ? singleQuotes : doubleQuotes)) { + return quote + result + quote; + } + str = result; + result = quote; + for (i = 0, len = str.length; i < len; ++i) { + code = str.charCodeAt(i); + if (code === 39 && single || code === 34 && !single) { + result += "\\"; + } + result += String.fromCharCode(code); + } + return result + quote; + } + function flattenToString(arr) { + var i, iz, elem, result = ""; + for (i = 0, iz = arr.length; i < iz; ++i) { + elem = arr[i]; + result += Array.isArray(elem) ? flattenToString(elem) : elem; + } + return result; + } + function toSourceNodeWhenNeeded(generated, node) { + if (!sourceMap) { + if (Array.isArray(generated)) { + return flattenToString(generated); + } else { + return generated; + } + } + if (node == null) { + if (generated instanceof SourceNode) { + return generated; + } else { + node = {}; + } + } + if (node.loc == null) { + return new SourceNode(null, null, sourceMap, generated, node.name || null); + } + return new SourceNode(node.loc.start.line, node.loc.start.column, sourceMap === true ? node.loc.source || null : sourceMap, generated, node.name || null); + } + function noEmptySpace() { + return space ? space : " "; + } + function join2(left, right) { + var leftSource, rightSource, leftCharCode, rightCharCode; + leftSource = toSourceNodeWhenNeeded(left).toString(); + if (leftSource.length === 0) { + return [right]; + } + rightSource = toSourceNodeWhenNeeded(right).toString(); + if (rightSource.length === 0) { + return [left]; + } + leftCharCode = leftSource.charCodeAt(leftSource.length - 1); + rightCharCode = rightSource.charCodeAt(0); + if ((leftCharCode === 43 || leftCharCode === 45) && leftCharCode === rightCharCode || esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) || leftCharCode === 47 && rightCharCode === 105) { + return [left, noEmptySpace(), right]; + } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) || esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) { + return [left, right]; + } + return [left, space, right]; + } + function addIndent(stmt) { + return [base, stmt]; + } + function withIndent(fn2) { + var previousBase; + previousBase = base; + base += indent; + fn2(base); + base = previousBase; + } + function calculateSpaces(str) { + var i; + for (i = str.length - 1; i >= 0; --i) { + if (esutils.code.isLineTerminator(str.charCodeAt(i))) { + break; + } + } + return str.length - 1 - i; + } + function adjustMultilineComment(value, specialBase) { + var array, i, len, line, j, spaces, previousBase, sn; + array = value.split(/\r\n|[\r\n]/); + spaces = Number.MAX_VALUE; + for (i = 1, len = array.length; i < len; ++i) { + line = array[i]; + j = 0; + while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) { + ++j; + } + if (spaces > j) { + spaces = j; + } + } + if (typeof specialBase !== "undefined") { + previousBase = base; + if (array[1][spaces] === "*") { + specialBase += " "; + } + base = specialBase; + } else { + if (spaces & 1) { + --spaces; + } + previousBase = base; + } + for (i = 1, len = array.length; i < len; ++i) { + sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces))); + array[i] = sourceMap ? sn.join("") : sn; + } + base = previousBase; + return array.join("\n"); + } + function generateComment(comment, specialBase) { + if (comment.type === "Line") { + if (endsWithLineTerminator(comment.value)) { + return "//" + comment.value; + } else { + var result = "//" + comment.value; + if (!preserveBlankLines) { + result += "\n"; + } + return result; + } + } + if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) { + return adjustMultilineComment("/*" + comment.value + "*/", specialBase); + } + return "/*" + comment.value + "*/"; + } + function addComments(stmt, result) { + var i, len, comment, save, tailingToStatement, specialBase, fragment, extRange, range, prevRange, prefix, infix, suffix, count; + if (stmt.leadingComments && stmt.leadingComments.length > 0) { + save = result; + if (preserveBlankLines) { + comment = stmt.leadingComments[0]; + result = []; + extRange = comment.extendedRange; + range = comment.range; + prefix = sourceCode.substring(extRange[0], range[0]); + count = (prefix.match(/\n/g) || []).length; + if (count > 0) { + result.push(stringRepeat("\n", count)); + result.push(addIndent(generateComment(comment))); + } else { + result.push(prefix); + result.push(generateComment(comment)); + } + prevRange = range; + for (i = 1, len = stmt.leadingComments.length; i < len; i++) { + comment = stmt.leadingComments[i]; + range = comment.range; + infix = sourceCode.substring(prevRange[1], range[0]); + count = (infix.match(/\n/g) || []).length; + result.push(stringRepeat("\n", count)); + result.push(addIndent(generateComment(comment))); + prevRange = range; + } + suffix = sourceCode.substring(range[1], extRange[1]); + count = (suffix.match(/\n/g) || []).length; + result.push(stringRepeat("\n", count)); + } else { + comment = stmt.leadingComments[0]; + result = []; + if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) { + result.push("\n"); + } + result.push(generateComment(comment)); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push("\n"); + } + for (i = 1, len = stmt.leadingComments.length; i < len; ++i) { + comment = stmt.leadingComments[i]; + fragment = [generateComment(comment)]; + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { + fragment.push("\n"); + } + result.push(addIndent(fragment)); + } + } + result.push(addIndent(save)); + } + if (stmt.trailingComments) { + if (preserveBlankLines) { + comment = stmt.trailingComments[0]; + extRange = comment.extendedRange; + range = comment.range; + prefix = sourceCode.substring(extRange[0], range[0]); + count = (prefix.match(/\n/g) || []).length; + if (count > 0) { + result.push(stringRepeat("\n", count)); + result.push(addIndent(generateComment(comment))); + } else { + result.push(prefix); + result.push(generateComment(comment)); + } + } else { + tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString()); + specialBase = stringRepeat(" ", calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString())); + for (i = 0, len = stmt.trailingComments.length; i < len; ++i) { + comment = stmt.trailingComments[i]; + if (tailingToStatement) { + if (i === 0) { + result = [result, indent]; + } else { + result = [result, specialBase]; + } + result.push(generateComment(comment, specialBase)); + } else { + result = [result, addIndent(generateComment(comment))]; + } + if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result = [result, "\n"]; + } + } + } + } + return result; + } + function generateBlankLines(start, end, result) { + var j, newlineCount = 0; + for (j = start; j < end; j++) { + if (sourceCode[j] === "\n") { + newlineCount++; + } + } + for (j = 1; j < newlineCount; j++) { + result.push(newline); + } + } + function parenthesize(text, current, should) { + if (current < should) { + return ["(", text, ")"]; + } + return text; + } + function generateVerbatimString(string) { + var i, iz, result; + result = string.split(/\r\n|\n/); + for (i = 1, iz = result.length; i < iz; i++) { + result[i] = newline + base + result[i]; + } + return result; + } + function generateVerbatim(expr, precedence) { + var verbatim, result, prec; + verbatim = expr[extra.verbatim]; + if (typeof verbatim === "string") { + result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence); + } else { + result = generateVerbatimString(verbatim.content); + prec = verbatim.precedence != null ? verbatim.precedence : Precedence.Sequence; + result = parenthesize(result, prec, precedence); + } + return toSourceNodeWhenNeeded(result, expr); + } + function CodeGenerator() { + } + CodeGenerator.prototype.maybeBlock = function(stmt, flags) { + var result, noLeadingComment, that = this; + noLeadingComment = !extra.comment || !stmt.leadingComments; + if (stmt.type === Syntax.BlockStatement && noLeadingComment) { + return [space, this.generateStatement(stmt, flags)]; + } + if (stmt.type === Syntax.EmptyStatement && noLeadingComment) { + return ";"; + } + withIndent(function() { + result = [ + newline, + addIndent(that.generateStatement(stmt, flags)) + ]; + }); + return result; + }; + CodeGenerator.prototype.maybeBlockSuffix = function(stmt, result) { + var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString()); + if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) { + return [result, space]; + } + if (ends) { + return [result, base]; + } + return [result, newline, base]; + }; + function generateIdentifier(node) { + return toSourceNodeWhenNeeded(node.name, node); + } + function generateAsyncPrefix(node, spaceRequired) { + return node.async ? "async" + (spaceRequired ? noEmptySpace() : space) : ""; + } + function generateStarSuffix(node) { + var isGenerator = node.generator && !extra.moz.starlessGenerator; + return isGenerator ? "*" + space : ""; + } + function generateMethodPrefix(prop) { + var func = prop.value, prefix = ""; + if (func.async) { + prefix += generateAsyncPrefix(func, !prop.computed); + } + if (func.generator) { + prefix += generateStarSuffix(func) ? "*" : ""; + } + return prefix; + } + CodeGenerator.prototype.generatePattern = function(node, precedence, flags) { + if (node.type === Syntax.Identifier) { + return generateIdentifier(node); + } + return this.generateExpression(node, precedence, flags); + }; + CodeGenerator.prototype.generateFunctionParams = function(node) { + var i, iz, result, hasDefault; + hasDefault = false; + if (node.type === Syntax.ArrowFunctionExpression && !node.rest && (!node.defaults || node.defaults.length === 0) && node.params.length === 1 && node.params[0].type === Syntax.Identifier) { + result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])]; + } else { + result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : []; + result.push("("); + if (node.defaults) { + hasDefault = true; + } + for (i = 0, iz = node.params.length; i < iz; ++i) { + if (hasDefault && node.defaults[i]) { + result.push(this.generateAssignment(node.params[i], node.defaults[i], "=", Precedence.Assignment, E_TTT)); + } else { + result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT)); + } + if (i + 1 < iz) { + result.push("," + space); + } + } + if (node.rest) { + if (node.params.length) { + result.push("," + space); + } + result.push("..."); + result.push(generateIdentifier(node.rest)); + } + result.push(")"); + } + return result; + }; + CodeGenerator.prototype.generateFunctionBody = function(node) { + var result, expr; + result = this.generateFunctionParams(node); + if (node.type === Syntax.ArrowFunctionExpression) { + result.push(space); + result.push("=>"); + } + if (node.expression) { + result.push(space); + expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT); + if (expr.toString().charAt(0) === "{") { + expr = ["(", expr, ")"]; + } + result.push(expr); + } else { + result.push(this.maybeBlock(node.body, S_TTFF)); + } + return result; + }; + CodeGenerator.prototype.generateIterationForStatement = function(operator, stmt, flags) { + var result = ["for" + (stmt.await ? noEmptySpace() + "await" : "") + space + "("], that = this; + withIndent(function() { + if (stmt.left.type === Syntax.VariableDeclaration) { + withIndent(function() { + result.push(stmt.left.kind + noEmptySpace()); + result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF)); + }); + } else { + result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT)); + } + result = join2(result, operator); + result = [join2( + result, + that.generateExpression(stmt.right, Precedence.Assignment, E_TTT) + ), ")"]; + }); + result.push(this.maybeBlock(stmt.body, flags)); + return result; + }; + CodeGenerator.prototype.generatePropertyKey = function(expr, computed) { + var result = []; + if (computed) { + result.push("["); + } + result.push(this.generateExpression(expr, Precedence.Assignment, E_TTT)); + if (computed) { + result.push("]"); + } + return result; + }; + CodeGenerator.prototype.generateAssignment = function(left, right, operator, precedence, flags) { + if (Precedence.Assignment < precedence) { + flags |= F_ALLOW_IN; + } + return parenthesize( + [ + this.generateExpression(left, Precedence.Call, flags), + space + operator + space, + this.generateExpression(right, Precedence.Assignment, flags) + ], + Precedence.Assignment, + precedence + ); + }; + CodeGenerator.prototype.semicolon = function(flags) { + if (!semicolons && flags & F_SEMICOLON_OPT) { + return ""; + } + return ";"; + }; + CodeGenerator.Statement = { + BlockStatement: function(stmt, flags) { + var range, content, result = ["{", newline], that = this; + withIndent(function() { + if (stmt.body.length === 0 && preserveBlankLines) { + range = stmt.range; + if (range[1] - range[0] > 2) { + content = sourceCode.substring(range[0] + 1, range[1] - 1); + if (content[0] === "\n") { + result = ["{"]; + } + result.push(content); + } + } + var i, iz, fragment, bodyFlags; + bodyFlags = S_TFFF; + if (flags & F_FUNC_BODY) { + bodyFlags |= F_DIRECTIVE_CTX; + } + for (i = 0, iz = stmt.body.length; i < iz; ++i) { + if (preserveBlankLines) { + if (i === 0) { + if (stmt.body[0].leadingComments) { + range = stmt.body[0].leadingComments[0].extendedRange; + content = sourceCode.substring(range[0], range[1]); + if (content[0] === "\n") { + result = ["{"]; + } + } + if (!stmt.body[0].leadingComments) { + generateBlankLines(stmt.range[0], stmt.body[0].range[0], result); + } + } + if (i > 0) { + if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) { + generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result); + } + } + } + if (i === iz - 1) { + bodyFlags |= F_SEMICOLON_OPT; + } + if (stmt.body[i].leadingComments && preserveBlankLines) { + fragment = that.generateStatement(stmt.body[i], bodyFlags); + } else { + fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags)); + } + result.push(fragment); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { + if (preserveBlankLines && i < iz - 1) { + if (!stmt.body[i + 1].leadingComments) { + result.push(newline); + } + } else { + result.push(newline); + } + } + if (preserveBlankLines) { + if (i === iz - 1) { + if (!stmt.body[i].trailingComments) { + generateBlankLines(stmt.body[i].range[1], stmt.range[1], result); + } + } + } + } + }); + result.push(addIndent("}")); + return result; + }, + BreakStatement: function(stmt, flags) { + if (stmt.label) { + return "break " + stmt.label.name + this.semicolon(flags); + } + return "break" + this.semicolon(flags); + }, + ContinueStatement: function(stmt, flags) { + if (stmt.label) { + return "continue " + stmt.label.name + this.semicolon(flags); + } + return "continue" + this.semicolon(flags); + }, + ClassBody: function(stmt, flags) { + var result = ["{", newline], that = this; + withIndent(function(indent2) { + var i, iz; + for (i = 0, iz = stmt.body.length; i < iz; ++i) { + result.push(indent2); + result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT)); + if (i + 1 < iz) { + result.push(newline); + } + } + }); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + result.push(base); + result.push("}"); + return result; + }, + ClassDeclaration: function(stmt, flags) { + var result, fragment; + result = ["class"]; + if (stmt.id) { + result = join2(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT)); + } + if (stmt.superClass) { + fragment = join2("extends", this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT)); + result = join2(result, fragment); + } + result.push(space); + result.push(this.generateStatement(stmt.body, S_TFFT)); + return result; + }, + DirectiveStatement: function(stmt, flags) { + if (extra.raw && stmt.raw) { + return stmt.raw + this.semicolon(flags); + } + return escapeDirective(stmt.directive) + this.semicolon(flags); + }, + DoWhileStatement: function(stmt, flags) { + var result = join2("do", this.maybeBlock(stmt.body, S_TFFF)); + result = this.maybeBlockSuffix(stmt.body, result); + return join2(result, [ + "while" + space + "(", + this.generateExpression(stmt.test, Precedence.Sequence, E_TTT), + ")" + this.semicolon(flags) + ]); + }, + CatchClause: function(stmt, flags) { + var result, that = this; + withIndent(function() { + var guard; + if (stmt.param) { + result = [ + "catch" + space + "(", + that.generateExpression(stmt.param, Precedence.Sequence, E_TTT), + ")" + ]; + if (stmt.guard) { + guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT); + result.splice(2, 0, " if ", guard); + } + } else { + result = ["catch"]; + } + }); + result.push(this.maybeBlock(stmt.body, S_TFFF)); + return result; + }, + DebuggerStatement: function(stmt, flags) { + return "debugger" + this.semicolon(flags); + }, + EmptyStatement: function(stmt, flags) { + return ";"; + }, + ExportDefaultDeclaration: function(stmt, flags) { + var result = ["export"], bodyFlags; + bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF; + result = join2(result, "default"); + if (isStatement(stmt.declaration)) { + result = join2(result, this.generateStatement(stmt.declaration, bodyFlags)); + } else { + result = join2(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags)); + } + return result; + }, + ExportNamedDeclaration: function(stmt, flags) { + var result = ["export"], bodyFlags, that = this; + bodyFlags = flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF; + if (stmt.declaration) { + return join2(result, this.generateStatement(stmt.declaration, bodyFlags)); + } + if (stmt.specifiers) { + if (stmt.specifiers.length === 0) { + result = join2(result, "{" + space + "}"); + } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) { + result = join2(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT)); + } else { + result = join2(result, "{"); + withIndent(function(indent2) { + var i, iz; + result.push(newline); + for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) { + result.push(indent2); + result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT)); + if (i + 1 < iz) { + result.push("," + newline); + } + } + }); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + result.push(base + "}"); + } + if (stmt.source) { + result = join2(result, [ + "from" + space, + // ModuleSpecifier + this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), + this.semicolon(flags) + ]); + } else { + result.push(this.semicolon(flags)); + } + } + return result; + }, + ExportAllDeclaration: function(stmt, flags) { + return [ + "export" + space, + "*" + space, + "from" + space, + // ModuleSpecifier + this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), + this.semicolon(flags) + ]; + }, + ExpressionStatement: function(stmt, flags) { + var result, fragment; + function isClassPrefixed(fragment2) { + var code; + if (fragment2.slice(0, 5) !== "class") { + return false; + } + code = fragment2.charCodeAt(5); + return code === 123 || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code); + } + function isFunctionPrefixed(fragment2) { + var code; + if (fragment2.slice(0, 8) !== "function") { + return false; + } + code = fragment2.charCodeAt(8); + return code === 40 || esutils.code.isWhiteSpace(code) || code === 42 || esutils.code.isLineTerminator(code); + } + function isAsyncPrefixed(fragment2) { + var code, i, iz; + if (fragment2.slice(0, 5) !== "async") { + return false; + } + if (!esutils.code.isWhiteSpace(fragment2.charCodeAt(5))) { + return false; + } + for (i = 6, iz = fragment2.length; i < iz; ++i) { + if (!esutils.code.isWhiteSpace(fragment2.charCodeAt(i))) { + break; + } + } + if (i === iz) { + return false; + } + if (fragment2.slice(i, i + 8) !== "function") { + return false; + } + code = fragment2.charCodeAt(i + 8); + return code === 40 || esutils.code.isWhiteSpace(code) || code === 42 || esutils.code.isLineTerminator(code); + } + result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)]; + fragment = toSourceNodeWhenNeeded(result).toString(); + if (fragment.charCodeAt(0) === 123 || // ObjectExpression + isClassPrefixed(fragment) || isFunctionPrefixed(fragment) || isAsyncPrefixed(fragment) || directive && flags & F_DIRECTIVE_CTX && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === "string") { + result = ["(", result, ")" + this.semicolon(flags)]; + } else { + result.push(this.semicolon(flags)); + } + return result; + }, + ImportDeclaration: function(stmt, flags) { + var result, cursor, that = this; + if (stmt.specifiers.length === 0) { + return [ + "import", + space, + // ModuleSpecifier + this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), + this.semicolon(flags) + ]; + } + result = [ + "import" + ]; + cursor = 0; + if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) { + result = join2(result, [ + this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT) + ]); + ++cursor; + } + if (stmt.specifiers[cursor]) { + if (cursor !== 0) { + result.push(","); + } + if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) { + result = join2(result, [ + space, + this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT) + ]); + } else { + result.push(space + "{"); + if (stmt.specifiers.length - cursor === 1) { + result.push(space); + result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)); + result.push(space + "}" + space); + } else { + withIndent(function(indent2) { + var i, iz; + result.push(newline); + for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) { + result.push(indent2); + result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT)); + if (i + 1 < iz) { + result.push("," + newline); + } + } + }); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + result.push(base + "}" + space); + } + } + } + result = join2(result, [ + "from" + space, + // ModuleSpecifier + this.generateExpression(stmt.source, Precedence.Sequence, E_TTT), + this.semicolon(flags) + ]); + return result; + }, + VariableDeclarator: function(stmt, flags) { + var itemFlags = flags & F_ALLOW_IN ? E_TTT : E_FTT; + if (stmt.init) { + return [ + this.generateExpression(stmt.id, Precedence.Assignment, itemFlags), + space, + "=", + space, + this.generateExpression(stmt.init, Precedence.Assignment, itemFlags) + ]; + } + return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags); + }, + VariableDeclaration: function(stmt, flags) { + var result, i, iz, node, bodyFlags, that = this; + result = [stmt.kind]; + bodyFlags = flags & F_ALLOW_IN ? S_TFFF : S_FFFF; + function block() { + node = stmt.declarations[0]; + if (extra.comment && node.leadingComments) { + result.push("\n"); + result.push(addIndent(that.generateStatement(node, bodyFlags))); + } else { + result.push(noEmptySpace()); + result.push(that.generateStatement(node, bodyFlags)); + } + for (i = 1, iz = stmt.declarations.length; i < iz; ++i) { + node = stmt.declarations[i]; + if (extra.comment && node.leadingComments) { + result.push("," + newline); + result.push(addIndent(that.generateStatement(node, bodyFlags))); + } else { + result.push("," + space); + result.push(that.generateStatement(node, bodyFlags)); + } + } + } + if (stmt.declarations.length > 1) { + withIndent(block); + } else { + block(); + } + result.push(this.semicolon(flags)); + return result; + }, + ThrowStatement: function(stmt, flags) { + return [join2( + "throw", + this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT) + ), this.semicolon(flags)]; + }, + TryStatement: function(stmt, flags) { + var result, i, iz, guardedHandlers; + result = ["try", this.maybeBlock(stmt.block, S_TFFF)]; + result = this.maybeBlockSuffix(stmt.block, result); + if (stmt.handlers) { + for (i = 0, iz = stmt.handlers.length; i < iz; ++i) { + result = join2(result, this.generateStatement(stmt.handlers[i], S_TFFF)); + if (stmt.finalizer || i + 1 !== iz) { + result = this.maybeBlockSuffix(stmt.handlers[i].body, result); + } + } + } else { + guardedHandlers = stmt.guardedHandlers || []; + for (i = 0, iz = guardedHandlers.length; i < iz; ++i) { + result = join2(result, this.generateStatement(guardedHandlers[i], S_TFFF)); + if (stmt.finalizer || i + 1 !== iz) { + result = this.maybeBlockSuffix(guardedHandlers[i].body, result); + } + } + if (stmt.handler) { + if (Array.isArray(stmt.handler)) { + for (i = 0, iz = stmt.handler.length; i < iz; ++i) { + result = join2(result, this.generateStatement(stmt.handler[i], S_TFFF)); + if (stmt.finalizer || i + 1 !== iz) { + result = this.maybeBlockSuffix(stmt.handler[i].body, result); + } + } + } else { + result = join2(result, this.generateStatement(stmt.handler, S_TFFF)); + if (stmt.finalizer) { + result = this.maybeBlockSuffix(stmt.handler.body, result); + } + } + } + } + if (stmt.finalizer) { + result = join2(result, ["finally", this.maybeBlock(stmt.finalizer, S_TFFF)]); + } + return result; + }, + SwitchStatement: function(stmt, flags) { + var result, fragment, i, iz, bodyFlags, that = this; + withIndent(function() { + result = [ + "switch" + space + "(", + that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT), + ")" + space + "{" + newline + ]; + }); + if (stmt.cases) { + bodyFlags = S_TFFF; + for (i = 0, iz = stmt.cases.length; i < iz; ++i) { + if (i === iz - 1) { + bodyFlags |= F_SEMICOLON_OPT; + } + fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags)); + result.push(fragment); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { + result.push(newline); + } + } + } + result.push(addIndent("}")); + return result; + }, + SwitchCase: function(stmt, flags) { + var result, fragment, i, iz, bodyFlags, that = this; + withIndent(function() { + if (stmt.test) { + result = [ + join2("case", that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)), + ":" + ]; + } else { + result = ["default:"]; + } + i = 0; + iz = stmt.consequent.length; + if (iz && stmt.consequent[0].type === Syntax.BlockStatement) { + fragment = that.maybeBlock(stmt.consequent[0], S_TFFF); + result.push(fragment); + i = 1; + } + if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + bodyFlags = S_TFFF; + for (; i < iz; ++i) { + if (i === iz - 1 && flags & F_SEMICOLON_OPT) { + bodyFlags |= F_SEMICOLON_OPT; + } + fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags)); + result.push(fragment); + if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { + result.push(newline); + } + } + }); + return result; + }, + IfStatement: function(stmt, flags) { + var result, bodyFlags, semicolonOptional, that = this; + withIndent(function() { + result = [ + "if" + space + "(", + that.generateExpression(stmt.test, Precedence.Sequence, E_TTT), + ")" + ]; + }); + semicolonOptional = flags & F_SEMICOLON_OPT; + bodyFlags = S_TFFF; + if (semicolonOptional) { + bodyFlags |= F_SEMICOLON_OPT; + } + if (stmt.alternate) { + result.push(this.maybeBlock(stmt.consequent, S_TFFF)); + result = this.maybeBlockSuffix(stmt.consequent, result); + if (stmt.alternate.type === Syntax.IfStatement) { + result = join2(result, ["else ", this.generateStatement(stmt.alternate, bodyFlags)]); + } else { + result = join2(result, join2("else", this.maybeBlock(stmt.alternate, bodyFlags))); + } + } else { + result.push(this.maybeBlock(stmt.consequent, bodyFlags)); + } + return result; + }, + ForStatement: function(stmt, flags) { + var result, that = this; + withIndent(function() { + result = ["for" + space + "("]; + if (stmt.init) { + if (stmt.init.type === Syntax.VariableDeclaration) { + result.push(that.generateStatement(stmt.init, S_FFFF)); + } else { + result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT)); + result.push(";"); + } + } else { + result.push(";"); + } + if (stmt.test) { + result.push(space); + result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)); + result.push(";"); + } else { + result.push(";"); + } + if (stmt.update) { + result.push(space); + result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT)); + result.push(")"); + } else { + result.push(")"); + } + }); + result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); + return result; + }, + ForInStatement: function(stmt, flags) { + return this.generateIterationForStatement("in", stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF); + }, + ForOfStatement: function(stmt, flags) { + return this.generateIterationForStatement("of", stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF); + }, + LabeledStatement: function(stmt, flags) { + return [stmt.label.name + ":", this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)]; + }, + Program: function(stmt, flags) { + var result, fragment, i, iz, bodyFlags; + iz = stmt.body.length; + result = [safeConcatenation && iz > 0 ? "\n" : ""]; + bodyFlags = S_TFTF; + for (i = 0; i < iz; ++i) { + if (!safeConcatenation && i === iz - 1) { + bodyFlags |= F_SEMICOLON_OPT; + } + if (preserveBlankLines) { + if (i === 0) { + if (!stmt.body[0].leadingComments) { + generateBlankLines(stmt.range[0], stmt.body[i].range[0], result); + } + } + if (i > 0) { + if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) { + generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result); + } + } + } + fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags)); + result.push(fragment); + if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { + if (preserveBlankLines) { + if (!stmt.body[i + 1].leadingComments) { + result.push(newline); + } + } else { + result.push(newline); + } + } + if (preserveBlankLines) { + if (i === iz - 1) { + if (!stmt.body[i].trailingComments) { + generateBlankLines(stmt.body[i].range[1], stmt.range[1], result); + } + } + } + } + return result; + }, + FunctionDeclaration: function(stmt, flags) { + return [ + generateAsyncPrefix(stmt, true), + "function", + generateStarSuffix(stmt) || noEmptySpace(), + stmt.id ? generateIdentifier(stmt.id) : "", + this.generateFunctionBody(stmt) + ]; + }, + ReturnStatement: function(stmt, flags) { + if (stmt.argument) { + return [join2( + "return", + this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT) + ), this.semicolon(flags)]; + } + return ["return" + this.semicolon(flags)]; + }, + WhileStatement: function(stmt, flags) { + var result, that = this; + withIndent(function() { + result = [ + "while" + space + "(", + that.generateExpression(stmt.test, Precedence.Sequence, E_TTT), + ")" + ]; + }); + result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); + return result; + }, + WithStatement: function(stmt, flags) { + var result, that = this; + withIndent(function() { + result = [ + "with" + space + "(", + that.generateExpression(stmt.object, Precedence.Sequence, E_TTT), + ")" + ]; + }); + result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)); + return result; + } + }; + merge(CodeGenerator.prototype, CodeGenerator.Statement); + CodeGenerator.Expression = { + SequenceExpression: function(expr, precedence, flags) { + var result, i, iz; + if (Precedence.Sequence < precedence) { + flags |= F_ALLOW_IN; + } + result = []; + for (i = 0, iz = expr.expressions.length; i < iz; ++i) { + result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags)); + if (i + 1 < iz) { + result.push("," + space); + } + } + return parenthesize(result, Precedence.Sequence, precedence); + }, + AssignmentExpression: function(expr, precedence, flags) { + return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags); + }, + ArrowFunctionExpression: function(expr, precedence, flags) { + return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence); + }, + ConditionalExpression: function(expr, precedence, flags) { + if (Precedence.Conditional < precedence) { + flags |= F_ALLOW_IN; + } + return parenthesize( + [ + this.generateExpression(expr.test, Precedence.LogicalOR, flags), + space + "?" + space, + this.generateExpression(expr.consequent, Precedence.Assignment, flags), + space + ":" + space, + this.generateExpression(expr.alternate, Precedence.Assignment, flags) + ], + Precedence.Conditional, + precedence + ); + }, + LogicalExpression: function(expr, precedence, flags) { + return this.BinaryExpression(expr, precedence, flags); + }, + BinaryExpression: function(expr, precedence, flags) { + var result, leftPrecedence, rightPrecedence, currentPrecedence, fragment, leftSource; + currentPrecedence = BinaryPrecedence[expr.operator]; + leftPrecedence = expr.operator === "**" ? Precedence.Postfix : currentPrecedence; + rightPrecedence = expr.operator === "**" ? currentPrecedence : currentPrecedence + 1; + if (currentPrecedence < precedence) { + flags |= F_ALLOW_IN; + } + fragment = this.generateExpression(expr.left, leftPrecedence, flags); + leftSource = fragment.toString(); + if (leftSource.charCodeAt(leftSource.length - 1) === 47 && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) { + result = [fragment, noEmptySpace(), expr.operator]; + } else { + result = join2(fragment, expr.operator); + } + fragment = this.generateExpression(expr.right, rightPrecedence, flags); + if (expr.operator === "/" && fragment.toString().charAt(0) === "/" || expr.operator.slice(-1) === "<" && fragment.toString().slice(0, 3) === "!--") { + result.push(noEmptySpace()); + result.push(fragment); + } else { + result = join2(result, fragment); + } + if (expr.operator === "in" && !(flags & F_ALLOW_IN)) { + return ["(", result, ")"]; + } + return parenthesize(result, currentPrecedence, precedence); + }, + CallExpression: function(expr, precedence, flags) { + var result, i, iz; + result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)]; + result.push("("); + for (i = 0, iz = expr["arguments"].length; i < iz; ++i) { + result.push(this.generateExpression(expr["arguments"][i], Precedence.Assignment, E_TTT)); + if (i + 1 < iz) { + result.push("," + space); + } + } + result.push(")"); + if (!(flags & F_ALLOW_CALL)) { + return ["(", result, ")"]; + } + return parenthesize(result, Precedence.Call, precedence); + }, + NewExpression: function(expr, precedence, flags) { + var result, length, i, iz, itemFlags; + length = expr["arguments"].length; + itemFlags = flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0 ? E_TFT : E_TFF; + result = join2( + "new", + this.generateExpression(expr.callee, Precedence.New, itemFlags) + ); + if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) { + result.push("("); + for (i = 0, iz = length; i < iz; ++i) { + result.push(this.generateExpression(expr["arguments"][i], Precedence.Assignment, E_TTT)); + if (i + 1 < iz) { + result.push("," + space); + } + } + result.push(")"); + } + return parenthesize(result, Precedence.New, precedence); + }, + MemberExpression: function(expr, precedence, flags) { + var result, fragment; + result = [this.generateExpression(expr.object, Precedence.Call, flags & F_ALLOW_CALL ? E_TTF : E_TFF)]; + if (expr.computed) { + result.push("["); + result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT)); + result.push("]"); + } else { + if (expr.object.type === Syntax.Literal && typeof expr.object.value === "number") { + fragment = toSourceNodeWhenNeeded(result).toString(); + if (fragment.indexOf(".") < 0 && !/[eExX]/.test(fragment) && esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) && !(fragment.length >= 2 && fragment.charCodeAt(0) === 48)) { + result.push(" "); + } + } + result.push("."); + result.push(generateIdentifier(expr.property)); + } + return parenthesize(result, Precedence.Member, precedence); + }, + MetaProperty: function(expr, precedence, flags) { + var result; + result = []; + result.push(typeof expr.meta === "string" ? expr.meta : generateIdentifier(expr.meta)); + result.push("."); + result.push(typeof expr.property === "string" ? expr.property : generateIdentifier(expr.property)); + return parenthesize(result, Precedence.Member, precedence); + }, + UnaryExpression: function(expr, precedence, flags) { + var result, fragment, rightCharCode, leftSource, leftCharCode; + fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT); + if (space === "") { + result = join2(expr.operator, fragment); + } else { + result = [expr.operator]; + if (expr.operator.length > 2) { + result = join2(result, fragment); + } else { + leftSource = toSourceNodeWhenNeeded(result).toString(); + leftCharCode = leftSource.charCodeAt(leftSource.length - 1); + rightCharCode = fragment.toString().charCodeAt(0); + if ((leftCharCode === 43 || leftCharCode === 45) && leftCharCode === rightCharCode || esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode)) { + result.push(noEmptySpace()); + result.push(fragment); + } else { + result.push(fragment); + } + } + } + return parenthesize(result, Precedence.Unary, precedence); + }, + YieldExpression: function(expr, precedence, flags) { + var result; + if (expr.delegate) { + result = "yield*"; + } else { + result = "yield"; + } + if (expr.argument) { + result = join2( + result, + this.generateExpression(expr.argument, Precedence.Yield, E_TTT) + ); + } + return parenthesize(result, Precedence.Yield, precedence); + }, + AwaitExpression: function(expr, precedence, flags) { + var result = join2( + expr.all ? "await*" : "await", + this.generateExpression(expr.argument, Precedence.Await, E_TTT) + ); + return parenthesize(result, Precedence.Await, precedence); + }, + UpdateExpression: function(expr, precedence, flags) { + if (expr.prefix) { + return parenthesize( + [ + expr.operator, + this.generateExpression(expr.argument, Precedence.Unary, E_TTT) + ], + Precedence.Unary, + precedence + ); + } + return parenthesize( + [ + this.generateExpression(expr.argument, Precedence.Postfix, E_TTT), + expr.operator + ], + Precedence.Postfix, + precedence + ); + }, + FunctionExpression: function(expr, precedence, flags) { + var result = [ + generateAsyncPrefix(expr, true), + "function" + ]; + if (expr.id) { + result.push(generateStarSuffix(expr) || noEmptySpace()); + result.push(generateIdentifier(expr.id)); + } else { + result.push(generateStarSuffix(expr) || space); + } + result.push(this.generateFunctionBody(expr)); + return result; + }, + ArrayPattern: function(expr, precedence, flags) { + return this.ArrayExpression(expr, precedence, flags, true); + }, + ArrayExpression: function(expr, precedence, flags, isPattern) { + var result, multiline, that = this; + if (!expr.elements.length) { + return "[]"; + } + multiline = isPattern ? false : expr.elements.length > 1; + result = ["[", multiline ? newline : ""]; + withIndent(function(indent2) { + var i, iz; + for (i = 0, iz = expr.elements.length; i < iz; ++i) { + if (!expr.elements[i]) { + if (multiline) { + result.push(indent2); + } + if (i + 1 === iz) { + result.push(","); + } + } else { + result.push(multiline ? indent2 : ""); + result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT)); + } + if (i + 1 < iz) { + result.push("," + (multiline ? newline : space)); + } + } + }); + if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + result.push(multiline ? base : ""); + result.push("]"); + return result; + }, + RestElement: function(expr, precedence, flags) { + return "..." + this.generatePattern(expr.argument); + }, + ClassExpression: function(expr, precedence, flags) { + var result, fragment; + result = ["class"]; + if (expr.id) { + result = join2(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT)); + } + if (expr.superClass) { + fragment = join2("extends", this.generateExpression(expr.superClass, Precedence.Unary, E_TTT)); + result = join2(result, fragment); + } + result.push(space); + result.push(this.generateStatement(expr.body, S_TFFT)); + return result; + }, + MethodDefinition: function(expr, precedence, flags) { + var result, fragment; + if (expr["static"]) { + result = ["static" + space]; + } else { + result = []; + } + if (expr.kind === "get" || expr.kind === "set") { + fragment = [ + join2(expr.kind, this.generatePropertyKey(expr.key, expr.computed)), + this.generateFunctionBody(expr.value) + ]; + } else { + fragment = [ + generateMethodPrefix(expr), + this.generatePropertyKey(expr.key, expr.computed), + this.generateFunctionBody(expr.value) + ]; + } + return join2(result, fragment); + }, + Property: function(expr, precedence, flags) { + if (expr.kind === "get" || expr.kind === "set") { + return [ + expr.kind, + noEmptySpace(), + this.generatePropertyKey(expr.key, expr.computed), + this.generateFunctionBody(expr.value) + ]; + } + if (expr.shorthand) { + if (expr.value.type === "AssignmentPattern") { + return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT); + } + return this.generatePropertyKey(expr.key, expr.computed); + } + if (expr.method) { + return [ + generateMethodPrefix(expr), + this.generatePropertyKey(expr.key, expr.computed), + this.generateFunctionBody(expr.value) + ]; + } + return [ + this.generatePropertyKey(expr.key, expr.computed), + ":" + space, + this.generateExpression(expr.value, Precedence.Assignment, E_TTT) + ]; + }, + ObjectExpression: function(expr, precedence, flags) { + var multiline, result, fragment, that = this; + if (!expr.properties.length) { + return "{}"; + } + multiline = expr.properties.length > 1; + withIndent(function() { + fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT); + }); + if (!multiline) { + if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) { + return ["{", space, fragment, space, "}"]; + } + } + withIndent(function(indent2) { + var i, iz; + result = ["{", newline, indent2, fragment]; + if (multiline) { + result.push("," + newline); + for (i = 1, iz = expr.properties.length; i < iz; ++i) { + result.push(indent2); + result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT)); + if (i + 1 < iz) { + result.push("," + newline); + } + } + } + }); + if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + result.push(base); + result.push("}"); + return result; + }, + AssignmentPattern: function(expr, precedence, flags) { + return this.generateAssignment(expr.left, expr.right, "=", precedence, flags); + }, + ObjectPattern: function(expr, precedence, flags) { + var result, i, iz, multiline, property, that = this; + if (!expr.properties.length) { + return "{}"; + } + multiline = false; + if (expr.properties.length === 1) { + property = expr.properties[0]; + if (property.type === Syntax.Property && property.value.type !== Syntax.Identifier) { + multiline = true; + } + } else { + for (i = 0, iz = expr.properties.length; i < iz; ++i) { + property = expr.properties[i]; + if (property.type === Syntax.Property && !property.shorthand) { + multiline = true; + break; + } + } + } + result = ["{", multiline ? newline : ""]; + withIndent(function(indent2) { + var i2, iz2; + for (i2 = 0, iz2 = expr.properties.length; i2 < iz2; ++i2) { + result.push(multiline ? indent2 : ""); + result.push(that.generateExpression(expr.properties[i2], Precedence.Sequence, E_TTT)); + if (i2 + 1 < iz2) { + result.push("," + (multiline ? newline : space)); + } + } + }); + if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) { + result.push(newline); + } + result.push(multiline ? base : ""); + result.push("}"); + return result; + }, + ThisExpression: function(expr, precedence, flags) { + return "this"; + }, + Super: function(expr, precedence, flags) { + return "super"; + }, + Identifier: function(expr, precedence, flags) { + return generateIdentifier(expr); + }, + ImportDefaultSpecifier: function(expr, precedence, flags) { + return generateIdentifier(expr.id || expr.local); + }, + ImportNamespaceSpecifier: function(expr, precedence, flags) { + var result = ["*"]; + var id = expr.id || expr.local; + if (id) { + result.push(space + "as" + noEmptySpace() + generateIdentifier(id)); + } + return result; + }, + ImportSpecifier: function(expr, precedence, flags) { + var imported = expr.imported; + var result = [imported.name]; + var local = expr.local; + if (local && local.name !== imported.name) { + result.push(noEmptySpace() + "as" + noEmptySpace() + generateIdentifier(local)); + } + return result; + }, + ExportSpecifier: function(expr, precedence, flags) { + var local = expr.local; + var result = [local.name]; + var exported = expr.exported; + if (exported && exported.name !== local.name) { + result.push(noEmptySpace() + "as" + noEmptySpace() + generateIdentifier(exported)); + } + return result; + }, + Literal: function(expr, precedence, flags) { + var raw; + if (expr.hasOwnProperty("raw") && parse && extra.raw) { + try { + raw = parse(expr.raw).body[0].expression; + if (raw.type === Syntax.Literal) { + if (raw.value === expr.value) { + return expr.raw; + } + } + } catch (e) { + } + } + if (expr.regex) { + return "/" + expr.regex.pattern + "/" + expr.regex.flags; + } + if (expr.value === null) { + return "null"; + } + if (typeof expr.value === "string") { + return escapeString(expr.value); + } + if (typeof expr.value === "number") { + return generateNumber(expr.value); + } + if (typeof expr.value === "boolean") { + return expr.value ? "true" : "false"; + } + return generateRegExp(expr.value); + }, + GeneratorExpression: function(expr, precedence, flags) { + return this.ComprehensionExpression(expr, precedence, flags); + }, + ComprehensionExpression: function(expr, precedence, flags) { + var result, i, iz, fragment, that = this; + result = expr.type === Syntax.GeneratorExpression ? ["("] : ["["]; + if (extra.moz.comprehensionExpressionStartsWithAssignment) { + fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT); + result.push(fragment); + } + if (expr.blocks) { + withIndent(function() { + for (i = 0, iz = expr.blocks.length; i < iz; ++i) { + fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT); + if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) { + result = join2(result, fragment); + } else { + result.push(fragment); + } + } + }); + } + if (expr.filter) { + result = join2(result, "if" + space); + fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT); + result = join2(result, ["(", fragment, ")"]); + } + if (!extra.moz.comprehensionExpressionStartsWithAssignment) { + fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT); + result = join2(result, fragment); + } + result.push(expr.type === Syntax.GeneratorExpression ? ")" : "]"); + return result; + }, + ComprehensionBlock: function(expr, precedence, flags) { + var fragment; + if (expr.left.type === Syntax.VariableDeclaration) { + fragment = [ + expr.left.kind, + noEmptySpace(), + this.generateStatement(expr.left.declarations[0], S_FFFF) + ]; + } else { + fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT); + } + fragment = join2(fragment, expr.of ? "of" : "in"); + fragment = join2(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT)); + return ["for" + space + "(", fragment, ")"]; + }, + SpreadElement: function(expr, precedence, flags) { + return [ + "...", + this.generateExpression(expr.argument, Precedence.Assignment, E_TTT) + ]; + }, + TaggedTemplateExpression: function(expr, precedence, flags) { + var itemFlags = E_TTF; + if (!(flags & F_ALLOW_CALL)) { + itemFlags = E_TFF; + } + var result = [ + this.generateExpression(expr.tag, Precedence.Call, itemFlags), + this.generateExpression(expr.quasi, Precedence.Primary, E_FFT) + ]; + return parenthesize(result, Precedence.TaggedTemplate, precedence); + }, + TemplateElement: function(expr, precedence, flags) { + return expr.value.raw; + }, + TemplateLiteral: function(expr, precedence, flags) { + var result, i, iz; + result = ["`"]; + for (i = 0, iz = expr.quasis.length; i < iz; ++i) { + result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT)); + if (i + 1 < iz) { + result.push("${" + space); + result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT)); + result.push(space + "}"); + } + } + result.push("`"); + return result; + }, + ModuleSpecifier: function(expr, precedence, flags) { + return this.Literal(expr, precedence, flags); + }, + ImportExpression: function(expr, precedence, flag) { + return parenthesize([ + "import(", + this.generateExpression(expr.source, Precedence.Assignment, E_TTT), + ")" + ], Precedence.Call, precedence); + } + }; + merge(CodeGenerator.prototype, CodeGenerator.Expression); + CodeGenerator.prototype.generateExpression = function(expr, precedence, flags) { + var result, type; + type = expr.type || Syntax.Property; + if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) { + return generateVerbatim(expr, precedence); + } + result = this[type](expr, precedence, flags); + if (extra.comment) { + result = addComments(expr, result); + } + return toSourceNodeWhenNeeded(result, expr); + }; + CodeGenerator.prototype.generateStatement = function(stmt, flags) { + var result, fragment; + result = this[stmt.type](stmt, flags); + if (extra.comment) { + result = addComments(stmt, result); + } + fragment = toSourceNodeWhenNeeded(result).toString(); + if (stmt.type === Syntax.Program && !safeConcatenation && newline === "" && fragment.charAt(fragment.length - 1) === "\n") { + result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, "") : fragment.replace(/\s+$/, ""); + } + return toSourceNodeWhenNeeded(result, stmt); + }; + function generateInternal(node) { + var codegen; + codegen = new CodeGenerator(); + if (isStatement(node)) { + return codegen.generateStatement(node, S_TFFF); + } + if (isExpression(node)) { + return codegen.generateExpression(node, Precedence.Sequence, E_TTT); + } + throw new Error("Unknown node type: " + node.type); + } + function generate(node, options) { + var defaultOptions = getDefaultOptions(), result, pair; + if (options != null) { + if (typeof options.indent === "string") { + defaultOptions.format.indent.style = options.indent; + } + if (typeof options.base === "number") { + defaultOptions.format.indent.base = options.base; + } + options = updateDeeply(defaultOptions, options); + indent = options.format.indent.style; + if (typeof options.base === "string") { + base = options.base; + } else { + base = stringRepeat(indent, options.format.indent.base); + } + } else { + options = defaultOptions; + indent = options.format.indent.style; + base = stringRepeat(indent, options.format.indent.base); + } + json = options.format.json; + renumber = options.format.renumber; + hexadecimal = json ? false : options.format.hexadecimal; + quotes = json ? "double" : options.format.quotes; + escapeless = options.format.escapeless; + newline = options.format.newline; + space = options.format.space; + if (options.format.compact) { + newline = space = indent = base = ""; + } + parentheses = options.format.parentheses; + semicolons = options.format.semicolons; + safeConcatenation = options.format.safeConcatenation; + directive = options.directive; + parse = json ? null : options.parse; + sourceMap = options.sourceMap; + sourceCode = options.sourceCode; + preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null; + extra = options; + if (sourceMap) { + if (!exports.browser) { + SourceNode = require_source_map().SourceNode; + } else { + SourceNode = global.sourceMap.SourceNode; + } + } + result = generateInternal(node); + if (!sourceMap) { + pair = { code: result.toString(), map: null }; + return options.sourceMapWithCode ? pair : pair.code; + } + pair = result.toStringWithSourceMap({ + file: options.file, + sourceRoot: options.sourceMapRoot + }); + if (options.sourceContent) { + pair.map.setSourceContent( + options.sourceMap, + options.sourceContent + ); + } + if (options.sourceMapWithCode) { + return pair; + } + return pair.map.toString(); + } + FORMAT_MINIFY = { + indent: { + style: "", + base: 0 + }, + renumber: true, + hexadecimal: true, + quotes: "auto", + escapeless: true, + compact: true, + parentheses: false, + semicolons: false + }; + FORMAT_DEFAULTS = getDefaultOptions().format; + exports.version = require_package2().version; + exports.generate = generate; + exports.attachComments = estraverse.attachComments; + exports.Precedence = updateDeeply({}, Precedence); + exports.browser = false; + exports.FORMAT_MINIFY = FORMAT_MINIFY; + exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS; + })(); + } +}); + +// .yarn/cache/esprima-npm-4.0.1-1084e98778-08b3015538.zip/node_modules/esprima/dist/esprima.js +var require_esprima = __commonJS({ + ".yarn/cache/esprima-npm-4.0.1-1084e98778-08b3015538.zip/node_modules/esprima/dist/esprima.js"(exports, module2) { + (function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === "object" && typeof module2 === "object") + module2.exports = factory(); + else if (typeof define === "function" && define.amd) + define([], factory); + else if (typeof exports === "object") + exports["esprima"] = factory(); + else + root["esprima"] = factory(); + })(exports, function() { + return ( + /******/ + function(modules) { + var installedModules = {}; + function __webpack_require__(moduleId) { + if (installedModules[moduleId]) + return installedModules[moduleId].exports; + var module3 = installedModules[moduleId] = { + /******/ + exports: {}, + /******/ + id: moduleId, + /******/ + loaded: false + /******/ + }; + modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__); + module3.loaded = true; + return module3.exports; + } + __webpack_require__.m = modules; + __webpack_require__.c = installedModules; + __webpack_require__.p = ""; + return __webpack_require__(0); + }([ + /* 0 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var comment_handler_1 = __webpack_require__(1); + var jsx_parser_1 = __webpack_require__(3); + var parser_1 = __webpack_require__(8); + var tokenizer_1 = __webpack_require__(15); + function parse(code, options, delegate) { + var commentHandler = null; + var proxyDelegate = function(node, metadata) { + if (delegate) { + delegate(node, metadata); + } + if (commentHandler) { + commentHandler.visit(node, metadata); + } + }; + var parserDelegate = typeof delegate === "function" ? proxyDelegate : null; + var collectComment = false; + if (options) { + collectComment = typeof options.comment === "boolean" && options.comment; + var attachComment = typeof options.attachComment === "boolean" && options.attachComment; + if (collectComment || attachComment) { + commentHandler = new comment_handler_1.CommentHandler(); + commentHandler.attach = attachComment; + options.comment = true; + parserDelegate = proxyDelegate; + } + } + var isModule = false; + if (options && typeof options.sourceType === "string") { + isModule = options.sourceType === "module"; + } + var parser; + if (options && typeof options.jsx === "boolean" && options.jsx) { + parser = new jsx_parser_1.JSXParser(code, options, parserDelegate); + } else { + parser = new parser_1.Parser(code, options, parserDelegate); + } + var program = isModule ? parser.parseModule() : parser.parseScript(); + var ast = program; + if (collectComment && commentHandler) { + ast.comments = commentHandler.comments; + } + if (parser.config.tokens) { + ast.tokens = parser.tokens; + } + if (parser.config.tolerant) { + ast.errors = parser.errorHandler.errors; + } + return ast; + } + exports2.parse = parse; + function parseModule(code, options, delegate) { + var parsingOptions = options || {}; + parsingOptions.sourceType = "module"; + return parse(code, parsingOptions, delegate); + } + exports2.parseModule = parseModule; + function parseScript(code, options, delegate) { + var parsingOptions = options || {}; + parsingOptions.sourceType = "script"; + return parse(code, parsingOptions, delegate); + } + exports2.parseScript = parseScript; + function tokenize(code, options, delegate) { + var tokenizer = new tokenizer_1.Tokenizer(code, options); + var tokens; + tokens = []; + try { + while (true) { + var token = tokenizer.getNextToken(); + if (!token) { + break; + } + if (delegate) { + token = delegate(token); + } + tokens.push(token); + } + } catch (e) { + tokenizer.errorHandler.tolerate(e); + } + if (tokenizer.errorHandler.tolerant) { + tokens.errors = tokenizer.errors(); + } + return tokens; + } + exports2.tokenize = tokenize; + var syntax_1 = __webpack_require__(2); + exports2.Syntax = syntax_1.Syntax; + exports2.version = "4.0.1"; + }, + /* 1 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var syntax_1 = __webpack_require__(2); + var CommentHandler = function() { + function CommentHandler2() { + this.attach = false; + this.comments = []; + this.stack = []; + this.leading = []; + this.trailing = []; + } + CommentHandler2.prototype.insertInnerComments = function(node, metadata) { + if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) { + var innerComments = []; + for (var i = this.leading.length - 1; i >= 0; --i) { + var entry = this.leading[i]; + if (metadata.end.offset >= entry.start) { + innerComments.unshift(entry.comment); + this.leading.splice(i, 1); + this.trailing.splice(i, 1); + } + } + if (innerComments.length) { + node.innerComments = innerComments; + } + } + }; + CommentHandler2.prototype.findTrailingComments = function(metadata) { + var trailingComments = []; + if (this.trailing.length > 0) { + for (var i = this.trailing.length - 1; i >= 0; --i) { + var entry_1 = this.trailing[i]; + if (entry_1.start >= metadata.end.offset) { + trailingComments.unshift(entry_1.comment); + } + } + this.trailing.length = 0; + return trailingComments; + } + var entry = this.stack[this.stack.length - 1]; + if (entry && entry.node.trailingComments) { + var firstComment = entry.node.trailingComments[0]; + if (firstComment && firstComment.range[0] >= metadata.end.offset) { + trailingComments = entry.node.trailingComments; + delete entry.node.trailingComments; + } + } + return trailingComments; + }; + CommentHandler2.prototype.findLeadingComments = function(metadata) { + var leadingComments = []; + var target; + while (this.stack.length > 0) { + var entry = this.stack[this.stack.length - 1]; + if (entry && entry.start >= metadata.start.offset) { + target = entry.node; + this.stack.pop(); + } else { + break; + } + } + if (target) { + var count = target.leadingComments ? target.leadingComments.length : 0; + for (var i = count - 1; i >= 0; --i) { + var comment = target.leadingComments[i]; + if (comment.range[1] <= metadata.start.offset) { + leadingComments.unshift(comment); + target.leadingComments.splice(i, 1); + } + } + if (target.leadingComments && target.leadingComments.length === 0) { + delete target.leadingComments; + } + return leadingComments; + } + for (var i = this.leading.length - 1; i >= 0; --i) { + var entry = this.leading[i]; + if (entry.start <= metadata.start.offset) { + leadingComments.unshift(entry.comment); + this.leading.splice(i, 1); + } + } + return leadingComments; + }; + CommentHandler2.prototype.visitNode = function(node, metadata) { + if (node.type === syntax_1.Syntax.Program && node.body.length > 0) { + return; + } + this.insertInnerComments(node, metadata); + var trailingComments = this.findTrailingComments(metadata); + var leadingComments = this.findLeadingComments(metadata); + if (leadingComments.length > 0) { + node.leadingComments = leadingComments; + } + if (trailingComments.length > 0) { + node.trailingComments = trailingComments; + } + this.stack.push({ + node, + start: metadata.start.offset + }); + }; + CommentHandler2.prototype.visitComment = function(node, metadata) { + var type = node.type[0] === "L" ? "Line" : "Block"; + var comment = { + type, + value: node.value + }; + if (node.range) { + comment.range = node.range; + } + if (node.loc) { + comment.loc = node.loc; + } + this.comments.push(comment); + if (this.attach) { + var entry = { + comment: { + type, + value: node.value, + range: [metadata.start.offset, metadata.end.offset] + }, + start: metadata.start.offset + }; + if (node.loc) { + entry.comment.loc = node.loc; + } + node.type = type; + this.leading.push(entry); + this.trailing.push(entry); + } + }; + CommentHandler2.prototype.visit = function(node, metadata) { + if (node.type === "LineComment") { + this.visitComment(node, metadata); + } else if (node.type === "BlockComment") { + this.visitComment(node, metadata); + } else if (this.attach) { + this.visitNode(node, metadata); + } + }; + return CommentHandler2; + }(); + exports2.CommentHandler = CommentHandler; + }, + /* 2 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Syntax = { + AssignmentExpression: "AssignmentExpression", + AssignmentPattern: "AssignmentPattern", + ArrayExpression: "ArrayExpression", + ArrayPattern: "ArrayPattern", + ArrowFunctionExpression: "ArrowFunctionExpression", + AwaitExpression: "AwaitExpression", + BlockStatement: "BlockStatement", + BinaryExpression: "BinaryExpression", + BreakStatement: "BreakStatement", + CallExpression: "CallExpression", + CatchClause: "CatchClause", + ClassBody: "ClassBody", + ClassDeclaration: "ClassDeclaration", + ClassExpression: "ClassExpression", + ConditionalExpression: "ConditionalExpression", + ContinueStatement: "ContinueStatement", + DoWhileStatement: "DoWhileStatement", + DebuggerStatement: "DebuggerStatement", + EmptyStatement: "EmptyStatement", + ExportAllDeclaration: "ExportAllDeclaration", + ExportDefaultDeclaration: "ExportDefaultDeclaration", + ExportNamedDeclaration: "ExportNamedDeclaration", + ExportSpecifier: "ExportSpecifier", + ExpressionStatement: "ExpressionStatement", + ForStatement: "ForStatement", + ForOfStatement: "ForOfStatement", + ForInStatement: "ForInStatement", + FunctionDeclaration: "FunctionDeclaration", + FunctionExpression: "FunctionExpression", + Identifier: "Identifier", + IfStatement: "IfStatement", + ImportDeclaration: "ImportDeclaration", + ImportDefaultSpecifier: "ImportDefaultSpecifier", + ImportNamespaceSpecifier: "ImportNamespaceSpecifier", + ImportSpecifier: "ImportSpecifier", + Literal: "Literal", + LabeledStatement: "LabeledStatement", + LogicalExpression: "LogicalExpression", + MemberExpression: "MemberExpression", + MetaProperty: "MetaProperty", + MethodDefinition: "MethodDefinition", + NewExpression: "NewExpression", + ObjectExpression: "ObjectExpression", + ObjectPattern: "ObjectPattern", + Program: "Program", + Property: "Property", + RestElement: "RestElement", + ReturnStatement: "ReturnStatement", + SequenceExpression: "SequenceExpression", + SpreadElement: "SpreadElement", + Super: "Super", + SwitchCase: "SwitchCase", + SwitchStatement: "SwitchStatement", + TaggedTemplateExpression: "TaggedTemplateExpression", + TemplateElement: "TemplateElement", + TemplateLiteral: "TemplateLiteral", + ThisExpression: "ThisExpression", + ThrowStatement: "ThrowStatement", + TryStatement: "TryStatement", + UnaryExpression: "UnaryExpression", + UpdateExpression: "UpdateExpression", + VariableDeclaration: "VariableDeclaration", + VariableDeclarator: "VariableDeclarator", + WhileStatement: "WhileStatement", + WithStatement: "WithStatement", + YieldExpression: "YieldExpression" + }; + }, + /* 3 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + var __extends2 = this && this.__extends || function() { + var extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b) { + d.__proto__ = b; + } || function(d, b) { + for (var p in b) + if (b.hasOwnProperty(p)) + d[p] = b[p]; + }; + return function(d, b) { + extendStatics2(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + }(); + Object.defineProperty(exports2, "__esModule", { value: true }); + var character_1 = __webpack_require__(4); + var JSXNode = __webpack_require__(5); + var jsx_syntax_1 = __webpack_require__(6); + var Node = __webpack_require__(7); + var parser_1 = __webpack_require__(8); + var token_1 = __webpack_require__(13); + var xhtml_entities_1 = __webpack_require__(14); + token_1.TokenName[ + 100 + /* Identifier */ + ] = "JSXIdentifier"; + token_1.TokenName[ + 101 + /* Text */ + ] = "JSXText"; + function getQualifiedElementName(elementName) { + var qualifiedName; + switch (elementName.type) { + case jsx_syntax_1.JSXSyntax.JSXIdentifier: + var id = elementName; + qualifiedName = id.name; + break; + case jsx_syntax_1.JSXSyntax.JSXNamespacedName: + var ns = elementName; + qualifiedName = getQualifiedElementName(ns.namespace) + ":" + getQualifiedElementName(ns.name); + break; + case jsx_syntax_1.JSXSyntax.JSXMemberExpression: + var expr = elementName; + qualifiedName = getQualifiedElementName(expr.object) + "." + getQualifiedElementName(expr.property); + break; + default: + break; + } + return qualifiedName; + } + var JSXParser = function(_super) { + __extends2(JSXParser2, _super); + function JSXParser2(code, options, delegate) { + return _super.call(this, code, options, delegate) || this; + } + JSXParser2.prototype.parsePrimaryExpression = function() { + return this.match("<") ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this); + }; + JSXParser2.prototype.startJSX = function() { + this.scanner.index = this.startMarker.index; + this.scanner.lineNumber = this.startMarker.line; + this.scanner.lineStart = this.startMarker.index - this.startMarker.column; + }; + JSXParser2.prototype.finishJSX = function() { + this.nextToken(); + }; + JSXParser2.prototype.reenterJSX = function() { + this.startJSX(); + this.expectJSX("}"); + if (this.config.tokens) { + this.tokens.pop(); + } + }; + JSXParser2.prototype.createJSXNode = function() { + this.collectComments(); + return { + index: this.scanner.index, + line: this.scanner.lineNumber, + column: this.scanner.index - this.scanner.lineStart + }; + }; + JSXParser2.prototype.createJSXChildNode = function() { + return { + index: this.scanner.index, + line: this.scanner.lineNumber, + column: this.scanner.index - this.scanner.lineStart + }; + }; + JSXParser2.prototype.scanXHTMLEntity = function(quote) { + var result = "&"; + var valid = true; + var terminated = false; + var numeric = false; + var hex = false; + while (!this.scanner.eof() && valid && !terminated) { + var ch = this.scanner.source[this.scanner.index]; + if (ch === quote) { + break; + } + terminated = ch === ";"; + result += ch; + ++this.scanner.index; + if (!terminated) { + switch (result.length) { + case 2: + numeric = ch === "#"; + break; + case 3: + if (numeric) { + hex = ch === "x"; + valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0)); + numeric = numeric && !hex; + } + break; + default: + valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0))); + valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0))); + break; + } + } + } + if (valid && terminated && result.length > 2) { + var str = result.substr(1, result.length - 2); + if (numeric && str.length > 1) { + result = String.fromCharCode(parseInt(str.substr(1), 10)); + } else if (hex && str.length > 2) { + result = String.fromCharCode(parseInt("0" + str.substr(1), 16)); + } else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) { + result = xhtml_entities_1.XHTMLEntities[str]; + } + } + return result; + }; + JSXParser2.prototype.lexJSX = function() { + var cp = this.scanner.source.charCodeAt(this.scanner.index); + if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) { + var value = this.scanner.source[this.scanner.index++]; + return { + type: 7, + value, + lineNumber: this.scanner.lineNumber, + lineStart: this.scanner.lineStart, + start: this.scanner.index - 1, + end: this.scanner.index + }; + } + if (cp === 34 || cp === 39) { + var start = this.scanner.index; + var quote = this.scanner.source[this.scanner.index++]; + var str = ""; + while (!this.scanner.eof()) { + var ch = this.scanner.source[this.scanner.index++]; + if (ch === quote) { + break; + } else if (ch === "&") { + str += this.scanXHTMLEntity(quote); + } else { + str += ch; + } + } + return { + type: 8, + value: str, + lineNumber: this.scanner.lineNumber, + lineStart: this.scanner.lineStart, + start, + end: this.scanner.index + }; + } + if (cp === 46) { + var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1); + var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2); + var value = n1 === 46 && n2 === 46 ? "..." : "."; + var start = this.scanner.index; + this.scanner.index += value.length; + return { + type: 7, + value, + lineNumber: this.scanner.lineNumber, + lineStart: this.scanner.lineStart, + start, + end: this.scanner.index + }; + } + if (cp === 96) { + return { + type: 10, + value: "", + lineNumber: this.scanner.lineNumber, + lineStart: this.scanner.lineStart, + start: this.scanner.index, + end: this.scanner.index + }; + } + if (character_1.Character.isIdentifierStart(cp) && cp !== 92) { + var start = this.scanner.index; + ++this.scanner.index; + while (!this.scanner.eof()) { + var ch = this.scanner.source.charCodeAt(this.scanner.index); + if (character_1.Character.isIdentifierPart(ch) && ch !== 92) { + ++this.scanner.index; + } else if (ch === 45) { + ++this.scanner.index; + } else { + break; + } + } + var id = this.scanner.source.slice(start, this.scanner.index); + return { + type: 100, + value: id, + lineNumber: this.scanner.lineNumber, + lineStart: this.scanner.lineStart, + start, + end: this.scanner.index + }; + } + return this.scanner.lex(); + }; + JSXParser2.prototype.nextJSXToken = function() { + this.collectComments(); + this.startMarker.index = this.scanner.index; + this.startMarker.line = this.scanner.lineNumber; + this.startMarker.column = this.scanner.index - this.scanner.lineStart; + var token = this.lexJSX(); + this.lastMarker.index = this.scanner.index; + this.lastMarker.line = this.scanner.lineNumber; + this.lastMarker.column = this.scanner.index - this.scanner.lineStart; + if (this.config.tokens) { + this.tokens.push(this.convertToken(token)); + } + return token; + }; + JSXParser2.prototype.nextJSXText = function() { + this.startMarker.index = this.scanner.index; + this.startMarker.line = this.scanner.lineNumber; + this.startMarker.column = this.scanner.index - this.scanner.lineStart; + var start = this.scanner.index; + var text = ""; + while (!this.scanner.eof()) { + var ch = this.scanner.source[this.scanner.index]; + if (ch === "{" || ch === "<") { + break; + } + ++this.scanner.index; + text += ch; + if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + ++this.scanner.lineNumber; + if (ch === "\r" && this.scanner.source[this.scanner.index] === "\n") { + ++this.scanner.index; + } + this.scanner.lineStart = this.scanner.index; + } + } + this.lastMarker.index = this.scanner.index; + this.lastMarker.line = this.scanner.lineNumber; + this.lastMarker.column = this.scanner.index - this.scanner.lineStart; + var token = { + type: 101, + value: text, + lineNumber: this.scanner.lineNumber, + lineStart: this.scanner.lineStart, + start, + end: this.scanner.index + }; + if (text.length > 0 && this.config.tokens) { + this.tokens.push(this.convertToken(token)); + } + return token; + }; + JSXParser2.prototype.peekJSXToken = function() { + var state = this.scanner.saveState(); + this.scanner.scanComments(); + var next = this.lexJSX(); + this.scanner.restoreState(state); + return next; + }; + JSXParser2.prototype.expectJSX = function(value) { + var token = this.nextJSXToken(); + if (token.type !== 7 || token.value !== value) { + this.throwUnexpectedToken(token); + } + }; + JSXParser2.prototype.matchJSX = function(value) { + var next = this.peekJSXToken(); + return next.type === 7 && next.value === value; + }; + JSXParser2.prototype.parseJSXIdentifier = function() { + var node = this.createJSXNode(); + var token = this.nextJSXToken(); + if (token.type !== 100) { + this.throwUnexpectedToken(token); + } + return this.finalize(node, new JSXNode.JSXIdentifier(token.value)); + }; + JSXParser2.prototype.parseJSXElementName = function() { + var node = this.createJSXNode(); + var elementName = this.parseJSXIdentifier(); + if (this.matchJSX(":")) { + var namespace = elementName; + this.expectJSX(":"); + var name_1 = this.parseJSXIdentifier(); + elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1)); + } else if (this.matchJSX(".")) { + while (this.matchJSX(".")) { + var object = elementName; + this.expectJSX("."); + var property = this.parseJSXIdentifier(); + elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property)); + } + } + return elementName; + }; + JSXParser2.prototype.parseJSXAttributeName = function() { + var node = this.createJSXNode(); + var attributeName; + var identifier = this.parseJSXIdentifier(); + if (this.matchJSX(":")) { + var namespace = identifier; + this.expectJSX(":"); + var name_2 = this.parseJSXIdentifier(); + attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2)); + } else { + attributeName = identifier; + } + return attributeName; + }; + JSXParser2.prototype.parseJSXStringLiteralAttribute = function() { + var node = this.createJSXNode(); + var token = this.nextJSXToken(); + if (token.type !== 8) { + this.throwUnexpectedToken(token); + } + var raw = this.getTokenRaw(token); + return this.finalize(node, new Node.Literal(token.value, raw)); + }; + JSXParser2.prototype.parseJSXExpressionAttribute = function() { + var node = this.createJSXNode(); + this.expectJSX("{"); + this.finishJSX(); + if (this.match("}")) { + this.tolerateError("JSX attributes must only be assigned a non-empty expression"); + } + var expression = this.parseAssignmentExpression(); + this.reenterJSX(); + return this.finalize(node, new JSXNode.JSXExpressionContainer(expression)); + }; + JSXParser2.prototype.parseJSXAttributeValue = function() { + return this.matchJSX("{") ? this.parseJSXExpressionAttribute() : this.matchJSX("<") ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute(); + }; + JSXParser2.prototype.parseJSXNameValueAttribute = function() { + var node = this.createJSXNode(); + var name = this.parseJSXAttributeName(); + var value = null; + if (this.matchJSX("=")) { + this.expectJSX("="); + value = this.parseJSXAttributeValue(); + } + return this.finalize(node, new JSXNode.JSXAttribute(name, value)); + }; + JSXParser2.prototype.parseJSXSpreadAttribute = function() { + var node = this.createJSXNode(); + this.expectJSX("{"); + this.expectJSX("..."); + this.finishJSX(); + var argument = this.parseAssignmentExpression(); + this.reenterJSX(); + return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument)); + }; + JSXParser2.prototype.parseJSXAttributes = function() { + var attributes = []; + while (!this.matchJSX("/") && !this.matchJSX(">")) { + var attribute = this.matchJSX("{") ? this.parseJSXSpreadAttribute() : this.parseJSXNameValueAttribute(); + attributes.push(attribute); + } + return attributes; + }; + JSXParser2.prototype.parseJSXOpeningElement = function() { + var node = this.createJSXNode(); + this.expectJSX("<"); + var name = this.parseJSXElementName(); + var attributes = this.parseJSXAttributes(); + var selfClosing = this.matchJSX("/"); + if (selfClosing) { + this.expectJSX("/"); + } + this.expectJSX(">"); + return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes)); + }; + JSXParser2.prototype.parseJSXBoundaryElement = function() { + var node = this.createJSXNode(); + this.expectJSX("<"); + if (this.matchJSX("/")) { + this.expectJSX("/"); + var name_3 = this.parseJSXElementName(); + this.expectJSX(">"); + return this.finalize(node, new JSXNode.JSXClosingElement(name_3)); + } + var name = this.parseJSXElementName(); + var attributes = this.parseJSXAttributes(); + var selfClosing = this.matchJSX("/"); + if (selfClosing) { + this.expectJSX("/"); + } + this.expectJSX(">"); + return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes)); + }; + JSXParser2.prototype.parseJSXEmptyExpression = function() { + var node = this.createJSXChildNode(); + this.collectComments(); + this.lastMarker.index = this.scanner.index; + this.lastMarker.line = this.scanner.lineNumber; + this.lastMarker.column = this.scanner.index - this.scanner.lineStart; + return this.finalize(node, new JSXNode.JSXEmptyExpression()); + }; + JSXParser2.prototype.parseJSXExpressionContainer = function() { + var node = this.createJSXNode(); + this.expectJSX("{"); + var expression; + if (this.matchJSX("}")) { + expression = this.parseJSXEmptyExpression(); + this.expectJSX("}"); + } else { + this.finishJSX(); + expression = this.parseAssignmentExpression(); + this.reenterJSX(); + } + return this.finalize(node, new JSXNode.JSXExpressionContainer(expression)); + }; + JSXParser2.prototype.parseJSXChildren = function() { + var children = []; + while (!this.scanner.eof()) { + var node = this.createJSXChildNode(); + var token = this.nextJSXText(); + if (token.start < token.end) { + var raw = this.getTokenRaw(token); + var child = this.finalize(node, new JSXNode.JSXText(token.value, raw)); + children.push(child); + } + if (this.scanner.source[this.scanner.index] === "{") { + var container = this.parseJSXExpressionContainer(); + children.push(container); + } else { + break; + } + } + return children; + }; + JSXParser2.prototype.parseComplexJSXElement = function(el) { + var stack = []; + while (!this.scanner.eof()) { + el.children = el.children.concat(this.parseJSXChildren()); + var node = this.createJSXChildNode(); + var element = this.parseJSXBoundaryElement(); + if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) { + var opening = element; + if (opening.selfClosing) { + var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null)); + el.children.push(child); + } else { + stack.push(el); + el = { node, opening, closing: null, children: [] }; + } + } + if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) { + el.closing = element; + var open_1 = getQualifiedElementName(el.opening.name); + var close_1 = getQualifiedElementName(el.closing.name); + if (open_1 !== close_1) { + this.tolerateError("Expected corresponding JSX closing tag for %0", open_1); + } + if (stack.length > 0) { + var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing)); + el = stack[stack.length - 1]; + el.children.push(child); + stack.pop(); + } else { + break; + } + } + } + return el; + }; + JSXParser2.prototype.parseJSXElement = function() { + var node = this.createJSXNode(); + var opening = this.parseJSXOpeningElement(); + var children = []; + var closing = null; + if (!opening.selfClosing) { + var el = this.parseComplexJSXElement({ node, opening, closing, children }); + children = el.children; + closing = el.closing; + } + return this.finalize(node, new JSXNode.JSXElement(opening, children, closing)); + }; + JSXParser2.prototype.parseJSXRoot = function() { + if (this.config.tokens) { + this.tokens.pop(); + } + this.startJSX(); + var element = this.parseJSXElement(); + this.finishJSX(); + return element; + }; + JSXParser2.prototype.isStartOfExpression = function() { + return _super.prototype.isStartOfExpression.call(this) || this.match("<"); + }; + return JSXParser2; + }(parser_1.Parser); + exports2.JSXParser = JSXParser; + }, + /* 4 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var Regex = { + // Unicode v8.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, + // Unicode v8.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ + }; + exports2.Character = { + /* tslint:disable:no-bitwise */ + fromCodePoint: function(cp) { + return cp < 65536 ? String.fromCharCode(cp) : String.fromCharCode(55296 + (cp - 65536 >> 10)) + String.fromCharCode(56320 + (cp - 65536 & 1023)); + }, + // https://tc39.github.io/ecma262/#sec-white-space + isWhiteSpace: function(cp) { + return cp === 32 || cp === 9 || cp === 11 || cp === 12 || cp === 160 || cp >= 5760 && [5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].indexOf(cp) >= 0; + }, + // https://tc39.github.io/ecma262/#sec-line-terminators + isLineTerminator: function(cp) { + return cp === 10 || cp === 13 || cp === 8232 || cp === 8233; + }, + // https://tc39.github.io/ecma262/#sec-names-and-keywords + isIdentifierStart: function(cp) { + return cp === 36 || cp === 95 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 92 || cp >= 128 && Regex.NonAsciiIdentifierStart.test(exports2.Character.fromCodePoint(cp)); + }, + isIdentifierPart: function(cp) { + return cp === 36 || cp === 95 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp >= 48 && cp <= 57 || cp === 92 || cp >= 128 && Regex.NonAsciiIdentifierPart.test(exports2.Character.fromCodePoint(cp)); + }, + // https://tc39.github.io/ecma262/#sec-literals-numeric-literals + isDecimalDigit: function(cp) { + return cp >= 48 && cp <= 57; + }, + isHexDigit: function(cp) { + return cp >= 48 && cp <= 57 || cp >= 65 && cp <= 70 || cp >= 97 && cp <= 102; + }, + isOctalDigit: function(cp) { + return cp >= 48 && cp <= 55; + } + }; + }, + /* 5 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var jsx_syntax_1 = __webpack_require__(6); + var JSXClosingElement = function() { + function JSXClosingElement2(name) { + this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement; + this.name = name; + } + return JSXClosingElement2; + }(); + exports2.JSXClosingElement = JSXClosingElement; + var JSXElement = function() { + function JSXElement2(openingElement, children, closingElement) { + this.type = jsx_syntax_1.JSXSyntax.JSXElement; + this.openingElement = openingElement; + this.children = children; + this.closingElement = closingElement; + } + return JSXElement2; + }(); + exports2.JSXElement = JSXElement; + var JSXEmptyExpression = function() { + function JSXEmptyExpression2() { + this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression; + } + return JSXEmptyExpression2; + }(); + exports2.JSXEmptyExpression = JSXEmptyExpression; + var JSXExpressionContainer = function() { + function JSXExpressionContainer2(expression) { + this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer; + this.expression = expression; + } + return JSXExpressionContainer2; + }(); + exports2.JSXExpressionContainer = JSXExpressionContainer; + var JSXIdentifier = function() { + function JSXIdentifier2(name) { + this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier; + this.name = name; + } + return JSXIdentifier2; + }(); + exports2.JSXIdentifier = JSXIdentifier; + var JSXMemberExpression = function() { + function JSXMemberExpression2(object, property) { + this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression; + this.object = object; + this.property = property; + } + return JSXMemberExpression2; + }(); + exports2.JSXMemberExpression = JSXMemberExpression; + var JSXAttribute = function() { + function JSXAttribute2(name, value) { + this.type = jsx_syntax_1.JSXSyntax.JSXAttribute; + this.name = name; + this.value = value; + } + return JSXAttribute2; + }(); + exports2.JSXAttribute = JSXAttribute; + var JSXNamespacedName = function() { + function JSXNamespacedName2(namespace, name) { + this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName; + this.namespace = namespace; + this.name = name; + } + return JSXNamespacedName2; + }(); + exports2.JSXNamespacedName = JSXNamespacedName; + var JSXOpeningElement = function() { + function JSXOpeningElement2(name, selfClosing, attributes) { + this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement; + this.name = name; + this.selfClosing = selfClosing; + this.attributes = attributes; + } + return JSXOpeningElement2; + }(); + exports2.JSXOpeningElement = JSXOpeningElement; + var JSXSpreadAttribute = function() { + function JSXSpreadAttribute2(argument) { + this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute; + this.argument = argument; + } + return JSXSpreadAttribute2; + }(); + exports2.JSXSpreadAttribute = JSXSpreadAttribute; + var JSXText = function() { + function JSXText2(value, raw) { + this.type = jsx_syntax_1.JSXSyntax.JSXText; + this.value = value; + this.raw = raw; + } + return JSXText2; + }(); + exports2.JSXText = JSXText; + }, + /* 6 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.JSXSyntax = { + JSXAttribute: "JSXAttribute", + JSXClosingElement: "JSXClosingElement", + JSXElement: "JSXElement", + JSXEmptyExpression: "JSXEmptyExpression", + JSXExpressionContainer: "JSXExpressionContainer", + JSXIdentifier: "JSXIdentifier", + JSXMemberExpression: "JSXMemberExpression", + JSXNamespacedName: "JSXNamespacedName", + JSXOpeningElement: "JSXOpeningElement", + JSXSpreadAttribute: "JSXSpreadAttribute", + JSXText: "JSXText" + }; + }, + /* 7 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var syntax_1 = __webpack_require__(2); + var ArrayExpression = function() { + function ArrayExpression2(elements) { + this.type = syntax_1.Syntax.ArrayExpression; + this.elements = elements; + } + return ArrayExpression2; + }(); + exports2.ArrayExpression = ArrayExpression; + var ArrayPattern = function() { + function ArrayPattern2(elements) { + this.type = syntax_1.Syntax.ArrayPattern; + this.elements = elements; + } + return ArrayPattern2; + }(); + exports2.ArrayPattern = ArrayPattern; + var ArrowFunctionExpression = function() { + function ArrowFunctionExpression2(params, body, expression) { + this.type = syntax_1.Syntax.ArrowFunctionExpression; + this.id = null; + this.params = params; + this.body = body; + this.generator = false; + this.expression = expression; + this.async = false; + } + return ArrowFunctionExpression2; + }(); + exports2.ArrowFunctionExpression = ArrowFunctionExpression; + var AssignmentExpression = function() { + function AssignmentExpression2(operator, left, right) { + this.type = syntax_1.Syntax.AssignmentExpression; + this.operator = operator; + this.left = left; + this.right = right; + } + return AssignmentExpression2; + }(); + exports2.AssignmentExpression = AssignmentExpression; + var AssignmentPattern = function() { + function AssignmentPattern2(left, right) { + this.type = syntax_1.Syntax.AssignmentPattern; + this.left = left; + this.right = right; + } + return AssignmentPattern2; + }(); + exports2.AssignmentPattern = AssignmentPattern; + var AsyncArrowFunctionExpression = function() { + function AsyncArrowFunctionExpression2(params, body, expression) { + this.type = syntax_1.Syntax.ArrowFunctionExpression; + this.id = null; + this.params = params; + this.body = body; + this.generator = false; + this.expression = expression; + this.async = true; + } + return AsyncArrowFunctionExpression2; + }(); + exports2.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression; + var AsyncFunctionDeclaration = function() { + function AsyncFunctionDeclaration2(id, params, body) { + this.type = syntax_1.Syntax.FunctionDeclaration; + this.id = id; + this.params = params; + this.body = body; + this.generator = false; + this.expression = false; + this.async = true; + } + return AsyncFunctionDeclaration2; + }(); + exports2.AsyncFunctionDeclaration = AsyncFunctionDeclaration; + var AsyncFunctionExpression = function() { + function AsyncFunctionExpression2(id, params, body) { + this.type = syntax_1.Syntax.FunctionExpression; + this.id = id; + this.params = params; + this.body = body; + this.generator = false; + this.expression = false; + this.async = true; + } + return AsyncFunctionExpression2; + }(); + exports2.AsyncFunctionExpression = AsyncFunctionExpression; + var AwaitExpression = function() { + function AwaitExpression2(argument) { + this.type = syntax_1.Syntax.AwaitExpression; + this.argument = argument; + } + return AwaitExpression2; + }(); + exports2.AwaitExpression = AwaitExpression; + var BinaryExpression = function() { + function BinaryExpression2(operator, left, right) { + var logical = operator === "||" || operator === "&&"; + this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression; + this.operator = operator; + this.left = left; + this.right = right; + } + return BinaryExpression2; + }(); + exports2.BinaryExpression = BinaryExpression; + var BlockStatement = function() { + function BlockStatement2(body) { + this.type = syntax_1.Syntax.BlockStatement; + this.body = body; + } + return BlockStatement2; + }(); + exports2.BlockStatement = BlockStatement; + var BreakStatement = function() { + function BreakStatement2(label) { + this.type = syntax_1.Syntax.BreakStatement; + this.label = label; + } + return BreakStatement2; + }(); + exports2.BreakStatement = BreakStatement; + var CallExpression = function() { + function CallExpression2(callee, args) { + this.type = syntax_1.Syntax.CallExpression; + this.callee = callee; + this.arguments = args; + } + return CallExpression2; + }(); + exports2.CallExpression = CallExpression; + var CatchClause = function() { + function CatchClause2(param, body) { + this.type = syntax_1.Syntax.CatchClause; + this.param = param; + this.body = body; + } + return CatchClause2; + }(); + exports2.CatchClause = CatchClause; + var ClassBody = function() { + function ClassBody2(body) { + this.type = syntax_1.Syntax.ClassBody; + this.body = body; + } + return ClassBody2; + }(); + exports2.ClassBody = ClassBody; + var ClassDeclaration = function() { + function ClassDeclaration2(id, superClass, body) { + this.type = syntax_1.Syntax.ClassDeclaration; + this.id = id; + this.superClass = superClass; + this.body = body; + } + return ClassDeclaration2; + }(); + exports2.ClassDeclaration = ClassDeclaration; + var ClassExpression = function() { + function ClassExpression2(id, superClass, body) { + this.type = syntax_1.Syntax.ClassExpression; + this.id = id; + this.superClass = superClass; + this.body = body; + } + return ClassExpression2; + }(); + exports2.ClassExpression = ClassExpression; + var ComputedMemberExpression = function() { + function ComputedMemberExpression2(object, property) { + this.type = syntax_1.Syntax.MemberExpression; + this.computed = true; + this.object = object; + this.property = property; + } + return ComputedMemberExpression2; + }(); + exports2.ComputedMemberExpression = ComputedMemberExpression; + var ConditionalExpression = function() { + function ConditionalExpression2(test, consequent, alternate) { + this.type = syntax_1.Syntax.ConditionalExpression; + this.test = test; + this.consequent = consequent; + this.alternate = alternate; + } + return ConditionalExpression2; + }(); + exports2.ConditionalExpression = ConditionalExpression; + var ContinueStatement = function() { + function ContinueStatement2(label) { + this.type = syntax_1.Syntax.ContinueStatement; + this.label = label; + } + return ContinueStatement2; + }(); + exports2.ContinueStatement = ContinueStatement; + var DebuggerStatement = function() { + function DebuggerStatement2() { + this.type = syntax_1.Syntax.DebuggerStatement; + } + return DebuggerStatement2; + }(); + exports2.DebuggerStatement = DebuggerStatement; + var Directive = function() { + function Directive2(expression, directive) { + this.type = syntax_1.Syntax.ExpressionStatement; + this.expression = expression; + this.directive = directive; + } + return Directive2; + }(); + exports2.Directive = Directive; + var DoWhileStatement = function() { + function DoWhileStatement2(body, test) { + this.type = syntax_1.Syntax.DoWhileStatement; + this.body = body; + this.test = test; + } + return DoWhileStatement2; + }(); + exports2.DoWhileStatement = DoWhileStatement; + var EmptyStatement = function() { + function EmptyStatement2() { + this.type = syntax_1.Syntax.EmptyStatement; + } + return EmptyStatement2; + }(); + exports2.EmptyStatement = EmptyStatement; + var ExportAllDeclaration = function() { + function ExportAllDeclaration2(source) { + this.type = syntax_1.Syntax.ExportAllDeclaration; + this.source = source; + } + return ExportAllDeclaration2; + }(); + exports2.ExportAllDeclaration = ExportAllDeclaration; + var ExportDefaultDeclaration = function() { + function ExportDefaultDeclaration2(declaration) { + this.type = syntax_1.Syntax.ExportDefaultDeclaration; + this.declaration = declaration; + } + return ExportDefaultDeclaration2; + }(); + exports2.ExportDefaultDeclaration = ExportDefaultDeclaration; + var ExportNamedDeclaration = function() { + function ExportNamedDeclaration2(declaration, specifiers, source) { + this.type = syntax_1.Syntax.ExportNamedDeclaration; + this.declaration = declaration; + this.specifiers = specifiers; + this.source = source; + } + return ExportNamedDeclaration2; + }(); + exports2.ExportNamedDeclaration = ExportNamedDeclaration; + var ExportSpecifier = function() { + function ExportSpecifier2(local, exported) { + this.type = syntax_1.Syntax.ExportSpecifier; + this.exported = exported; + this.local = local; + } + return ExportSpecifier2; + }(); + exports2.ExportSpecifier = ExportSpecifier; + var ExpressionStatement = function() { + function ExpressionStatement2(expression) { + this.type = syntax_1.Syntax.ExpressionStatement; + this.expression = expression; + } + return ExpressionStatement2; + }(); + exports2.ExpressionStatement = ExpressionStatement; + var ForInStatement = function() { + function ForInStatement2(left, right, body) { + this.type = syntax_1.Syntax.ForInStatement; + this.left = left; + this.right = right; + this.body = body; + this.each = false; + } + return ForInStatement2; + }(); + exports2.ForInStatement = ForInStatement; + var ForOfStatement = function() { + function ForOfStatement2(left, right, body) { + this.type = syntax_1.Syntax.ForOfStatement; + this.left = left; + this.right = right; + this.body = body; + } + return ForOfStatement2; + }(); + exports2.ForOfStatement = ForOfStatement; + var ForStatement = function() { + function ForStatement2(init, test, update, body) { + this.type = syntax_1.Syntax.ForStatement; + this.init = init; + this.test = test; + this.update = update; + this.body = body; + } + return ForStatement2; + }(); + exports2.ForStatement = ForStatement; + var FunctionDeclaration = function() { + function FunctionDeclaration2(id, params, body, generator) { + this.type = syntax_1.Syntax.FunctionDeclaration; + this.id = id; + this.params = params; + this.body = body; + this.generator = generator; + this.expression = false; + this.async = false; + } + return FunctionDeclaration2; + }(); + exports2.FunctionDeclaration = FunctionDeclaration; + var FunctionExpression = function() { + function FunctionExpression2(id, params, body, generator) { + this.type = syntax_1.Syntax.FunctionExpression; + this.id = id; + this.params = params; + this.body = body; + this.generator = generator; + this.expression = false; + this.async = false; + } + return FunctionExpression2; + }(); + exports2.FunctionExpression = FunctionExpression; + var Identifier = function() { + function Identifier2(name) { + this.type = syntax_1.Syntax.Identifier; + this.name = name; + } + return Identifier2; + }(); + exports2.Identifier = Identifier; + var IfStatement = function() { + function IfStatement2(test, consequent, alternate) { + this.type = syntax_1.Syntax.IfStatement; + this.test = test; + this.consequent = consequent; + this.alternate = alternate; + } + return IfStatement2; + }(); + exports2.IfStatement = IfStatement; + var ImportDeclaration = function() { + function ImportDeclaration2(specifiers, source) { + this.type = syntax_1.Syntax.ImportDeclaration; + this.specifiers = specifiers; + this.source = source; + } + return ImportDeclaration2; + }(); + exports2.ImportDeclaration = ImportDeclaration; + var ImportDefaultSpecifier = function() { + function ImportDefaultSpecifier2(local) { + this.type = syntax_1.Syntax.ImportDefaultSpecifier; + this.local = local; + } + return ImportDefaultSpecifier2; + }(); + exports2.ImportDefaultSpecifier = ImportDefaultSpecifier; + var ImportNamespaceSpecifier = function() { + function ImportNamespaceSpecifier2(local) { + this.type = syntax_1.Syntax.ImportNamespaceSpecifier; + this.local = local; + } + return ImportNamespaceSpecifier2; + }(); + exports2.ImportNamespaceSpecifier = ImportNamespaceSpecifier; + var ImportSpecifier = function() { + function ImportSpecifier2(local, imported) { + this.type = syntax_1.Syntax.ImportSpecifier; + this.local = local; + this.imported = imported; + } + return ImportSpecifier2; + }(); + exports2.ImportSpecifier = ImportSpecifier; + var LabeledStatement = function() { + function LabeledStatement2(label, body) { + this.type = syntax_1.Syntax.LabeledStatement; + this.label = label; + this.body = body; + } + return LabeledStatement2; + }(); + exports2.LabeledStatement = LabeledStatement; + var Literal = function() { + function Literal2(value, raw) { + this.type = syntax_1.Syntax.Literal; + this.value = value; + this.raw = raw; + } + return Literal2; + }(); + exports2.Literal = Literal; + var MetaProperty = function() { + function MetaProperty2(meta, property) { + this.type = syntax_1.Syntax.MetaProperty; + this.meta = meta; + this.property = property; + } + return MetaProperty2; + }(); + exports2.MetaProperty = MetaProperty; + var MethodDefinition = function() { + function MethodDefinition2(key, computed, value, kind, isStatic) { + this.type = syntax_1.Syntax.MethodDefinition; + this.key = key; + this.computed = computed; + this.value = value; + this.kind = kind; + this.static = isStatic; + } + return MethodDefinition2; + }(); + exports2.MethodDefinition = MethodDefinition; + var Module2 = function() { + function Module3(body) { + this.type = syntax_1.Syntax.Program; + this.body = body; + this.sourceType = "module"; + } + return Module3; + }(); + exports2.Module = Module2; + var NewExpression = function() { + function NewExpression2(callee, args) { + this.type = syntax_1.Syntax.NewExpression; + this.callee = callee; + this.arguments = args; + } + return NewExpression2; + }(); + exports2.NewExpression = NewExpression; + var ObjectExpression = function() { + function ObjectExpression2(properties) { + this.type = syntax_1.Syntax.ObjectExpression; + this.properties = properties; + } + return ObjectExpression2; + }(); + exports2.ObjectExpression = ObjectExpression; + var ObjectPattern = function() { + function ObjectPattern2(properties) { + this.type = syntax_1.Syntax.ObjectPattern; + this.properties = properties; + } + return ObjectPattern2; + }(); + exports2.ObjectPattern = ObjectPattern; + var Property = function() { + function Property2(kind, key, computed, value, method, shorthand) { + this.type = syntax_1.Syntax.Property; + this.key = key; + this.computed = computed; + this.value = value; + this.kind = kind; + this.method = method; + this.shorthand = shorthand; + } + return Property2; + }(); + exports2.Property = Property; + var RegexLiteral = function() { + function RegexLiteral2(value, raw, pattern, flags) { + this.type = syntax_1.Syntax.Literal; + this.value = value; + this.raw = raw; + this.regex = { pattern, flags }; + } + return RegexLiteral2; + }(); + exports2.RegexLiteral = RegexLiteral; + var RestElement = function() { + function RestElement2(argument) { + this.type = syntax_1.Syntax.RestElement; + this.argument = argument; + } + return RestElement2; + }(); + exports2.RestElement = RestElement; + var ReturnStatement = function() { + function ReturnStatement2(argument) { + this.type = syntax_1.Syntax.ReturnStatement; + this.argument = argument; + } + return ReturnStatement2; + }(); + exports2.ReturnStatement = ReturnStatement; + var Script = function() { + function Script2(body) { + this.type = syntax_1.Syntax.Program; + this.body = body; + this.sourceType = "script"; + } + return Script2; + }(); + exports2.Script = Script; + var SequenceExpression = function() { + function SequenceExpression2(expressions) { + this.type = syntax_1.Syntax.SequenceExpression; + this.expressions = expressions; + } + return SequenceExpression2; + }(); + exports2.SequenceExpression = SequenceExpression; + var SpreadElement = function() { + function SpreadElement2(argument) { + this.type = syntax_1.Syntax.SpreadElement; + this.argument = argument; + } + return SpreadElement2; + }(); + exports2.SpreadElement = SpreadElement; + var StaticMemberExpression = function() { + function StaticMemberExpression2(object, property) { + this.type = syntax_1.Syntax.MemberExpression; + this.computed = false; + this.object = object; + this.property = property; + } + return StaticMemberExpression2; + }(); + exports2.StaticMemberExpression = StaticMemberExpression; + var Super = function() { + function Super2() { + this.type = syntax_1.Syntax.Super; + } + return Super2; + }(); + exports2.Super = Super; + var SwitchCase = function() { + function SwitchCase2(test, consequent) { + this.type = syntax_1.Syntax.SwitchCase; + this.test = test; + this.consequent = consequent; + } + return SwitchCase2; + }(); + exports2.SwitchCase = SwitchCase; + var SwitchStatement = function() { + function SwitchStatement2(discriminant, cases) { + this.type = syntax_1.Syntax.SwitchStatement; + this.discriminant = discriminant; + this.cases = cases; + } + return SwitchStatement2; + }(); + exports2.SwitchStatement = SwitchStatement; + var TaggedTemplateExpression = function() { + function TaggedTemplateExpression2(tag, quasi) { + this.type = syntax_1.Syntax.TaggedTemplateExpression; + this.tag = tag; + this.quasi = quasi; + } + return TaggedTemplateExpression2; + }(); + exports2.TaggedTemplateExpression = TaggedTemplateExpression; + var TemplateElement = function() { + function TemplateElement2(value, tail) { + this.type = syntax_1.Syntax.TemplateElement; + this.value = value; + this.tail = tail; + } + return TemplateElement2; + }(); + exports2.TemplateElement = TemplateElement; + var TemplateLiteral = function() { + function TemplateLiteral2(quasis, expressions) { + this.type = syntax_1.Syntax.TemplateLiteral; + this.quasis = quasis; + this.expressions = expressions; + } + return TemplateLiteral2; + }(); + exports2.TemplateLiteral = TemplateLiteral; + var ThisExpression = function() { + function ThisExpression2() { + this.type = syntax_1.Syntax.ThisExpression; + } + return ThisExpression2; + }(); + exports2.ThisExpression = ThisExpression; + var ThrowStatement = function() { + function ThrowStatement2(argument) { + this.type = syntax_1.Syntax.ThrowStatement; + this.argument = argument; + } + return ThrowStatement2; + }(); + exports2.ThrowStatement = ThrowStatement; + var TryStatement = function() { + function TryStatement2(block, handler, finalizer) { + this.type = syntax_1.Syntax.TryStatement; + this.block = block; + this.handler = handler; + this.finalizer = finalizer; + } + return TryStatement2; + }(); + exports2.TryStatement = TryStatement; + var UnaryExpression = function() { + function UnaryExpression2(operator, argument) { + this.type = syntax_1.Syntax.UnaryExpression; + this.operator = operator; + this.argument = argument; + this.prefix = true; + } + return UnaryExpression2; + }(); + exports2.UnaryExpression = UnaryExpression; + var UpdateExpression = function() { + function UpdateExpression2(operator, argument, prefix) { + this.type = syntax_1.Syntax.UpdateExpression; + this.operator = operator; + this.argument = argument; + this.prefix = prefix; + } + return UpdateExpression2; + }(); + exports2.UpdateExpression = UpdateExpression; + var VariableDeclaration = function() { + function VariableDeclaration2(declarations, kind) { + this.type = syntax_1.Syntax.VariableDeclaration; + this.declarations = declarations; + this.kind = kind; + } + return VariableDeclaration2; + }(); + exports2.VariableDeclaration = VariableDeclaration; + var VariableDeclarator = function() { + function VariableDeclarator2(id, init) { + this.type = syntax_1.Syntax.VariableDeclarator; + this.id = id; + this.init = init; + } + return VariableDeclarator2; + }(); + exports2.VariableDeclarator = VariableDeclarator; + var WhileStatement = function() { + function WhileStatement2(test, body) { + this.type = syntax_1.Syntax.WhileStatement; + this.test = test; + this.body = body; + } + return WhileStatement2; + }(); + exports2.WhileStatement = WhileStatement; + var WithStatement = function() { + function WithStatement2(object, body) { + this.type = syntax_1.Syntax.WithStatement; + this.object = object; + this.body = body; + } + return WithStatement2; + }(); + exports2.WithStatement = WithStatement; + var YieldExpression = function() { + function YieldExpression2(argument, delegate) { + this.type = syntax_1.Syntax.YieldExpression; + this.argument = argument; + this.delegate = delegate; + } + return YieldExpression2; + }(); + exports2.YieldExpression = YieldExpression; + }, + /* 8 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var assert_1 = __webpack_require__(9); + var error_handler_1 = __webpack_require__(10); + var messages_1 = __webpack_require__(11); + var Node = __webpack_require__(7); + var scanner_1 = __webpack_require__(12); + var syntax_1 = __webpack_require__(2); + var token_1 = __webpack_require__(13); + var ArrowParameterPlaceHolder = "ArrowParameterPlaceHolder"; + var Parser = function() { + function Parser2(code, options, delegate) { + if (options === void 0) { + options = {}; + } + this.config = { + range: typeof options.range === "boolean" && options.range, + loc: typeof options.loc === "boolean" && options.loc, + source: null, + tokens: typeof options.tokens === "boolean" && options.tokens, + comment: typeof options.comment === "boolean" && options.comment, + tolerant: typeof options.tolerant === "boolean" && options.tolerant + }; + if (this.config.loc && options.source && options.source !== null) { + this.config.source = String(options.source); + } + this.delegate = delegate; + this.errorHandler = new error_handler_1.ErrorHandler(); + this.errorHandler.tolerant = this.config.tolerant; + this.scanner = new scanner_1.Scanner(code, this.errorHandler); + this.scanner.trackComment = this.config.comment; + this.operatorPrecedence = { + ")": 0, + ";": 0, + ",": 0, + "=": 0, + "]": 0, + "||": 1, + "&&": 2, + "|": 3, + "^": 4, + "&": 5, + "==": 6, + "!=": 6, + "===": 6, + "!==": 6, + "<": 7, + ">": 7, + "<=": 7, + ">=": 7, + "<<": 8, + ">>": 8, + ">>>": 8, + "+": 9, + "-": 9, + "*": 11, + "/": 11, + "%": 11 + }; + this.lookahead = { + type: 2, + value: "", + lineNumber: this.scanner.lineNumber, + lineStart: 0, + start: 0, + end: 0 + }; + this.hasLineTerminator = false; + this.context = { + isModule: false, + await: false, + allowIn: true, + allowStrictDirective: true, + allowYield: true, + firstCoverInitializedNameError: null, + isAssignmentTarget: false, + isBindingElement: false, + inFunctionBody: false, + inIteration: false, + inSwitch: false, + labelSet: {}, + strict: false + }; + this.tokens = []; + this.startMarker = { + index: 0, + line: this.scanner.lineNumber, + column: 0 + }; + this.lastMarker = { + index: 0, + line: this.scanner.lineNumber, + column: 0 + }; + this.nextToken(); + this.lastMarker = { + index: this.scanner.index, + line: this.scanner.lineNumber, + column: this.scanner.index - this.scanner.lineStart + }; + } + Parser2.prototype.throwError = function(messageFormat) { + var values = []; + for (var _i = 1; _i < arguments.length; _i++) { + values[_i - 1] = arguments[_i]; + } + var args = Array.prototype.slice.call(arguments, 1); + var msg = messageFormat.replace(/%(\d)/g, function(whole, idx) { + assert_1.assert(idx < args.length, "Message reference must be in range"); + return args[idx]; + }); + var index = this.lastMarker.index; + var line = this.lastMarker.line; + var column = this.lastMarker.column + 1; + throw this.errorHandler.createError(index, line, column, msg); + }; + Parser2.prototype.tolerateError = function(messageFormat) { + var values = []; + for (var _i = 1; _i < arguments.length; _i++) { + values[_i - 1] = arguments[_i]; + } + var args = Array.prototype.slice.call(arguments, 1); + var msg = messageFormat.replace(/%(\d)/g, function(whole, idx) { + assert_1.assert(idx < args.length, "Message reference must be in range"); + return args[idx]; + }); + var index = this.lastMarker.index; + var line = this.scanner.lineNumber; + var column = this.lastMarker.column + 1; + this.errorHandler.tolerateError(index, line, column, msg); + }; + Parser2.prototype.unexpectedTokenError = function(token, message) { + var msg = message || messages_1.Messages.UnexpectedToken; + var value; + if (token) { + if (!message) { + msg = token.type === 2 ? messages_1.Messages.UnexpectedEOS : token.type === 3 ? messages_1.Messages.UnexpectedIdentifier : token.type === 6 ? messages_1.Messages.UnexpectedNumber : token.type === 8 ? messages_1.Messages.UnexpectedString : token.type === 10 ? messages_1.Messages.UnexpectedTemplate : messages_1.Messages.UnexpectedToken; + if (token.type === 4) { + if (this.scanner.isFutureReservedWord(token.value)) { + msg = messages_1.Messages.UnexpectedReserved; + } else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) { + msg = messages_1.Messages.StrictReservedWord; + } + } + } + value = token.value; + } else { + value = "ILLEGAL"; + } + msg = msg.replace("%0", value); + if (token && typeof token.lineNumber === "number") { + var index = token.start; + var line = token.lineNumber; + var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column; + var column = token.start - lastMarkerLineStart + 1; + return this.errorHandler.createError(index, line, column, msg); + } else { + var index = this.lastMarker.index; + var line = this.lastMarker.line; + var column = this.lastMarker.column + 1; + return this.errorHandler.createError(index, line, column, msg); + } + }; + Parser2.prototype.throwUnexpectedToken = function(token, message) { + throw this.unexpectedTokenError(token, message); + }; + Parser2.prototype.tolerateUnexpectedToken = function(token, message) { + this.errorHandler.tolerate(this.unexpectedTokenError(token, message)); + }; + Parser2.prototype.collectComments = function() { + if (!this.config.comment) { + this.scanner.scanComments(); + } else { + var comments = this.scanner.scanComments(); + if (comments.length > 0 && this.delegate) { + for (var i = 0; i < comments.length; ++i) { + var e = comments[i]; + var node = void 0; + node = { + type: e.multiLine ? "BlockComment" : "LineComment", + value: this.scanner.source.slice(e.slice[0], e.slice[1]) + }; + if (this.config.range) { + node.range = e.range; + } + if (this.config.loc) { + node.loc = e.loc; + } + var metadata = { + start: { + line: e.loc.start.line, + column: e.loc.start.column, + offset: e.range[0] + }, + end: { + line: e.loc.end.line, + column: e.loc.end.column, + offset: e.range[1] + } + }; + this.delegate(node, metadata); + } + } + } + }; + Parser2.prototype.getTokenRaw = function(token) { + return this.scanner.source.slice(token.start, token.end); + }; + Parser2.prototype.convertToken = function(token) { + var t = { + type: token_1.TokenName[token.type], + value: this.getTokenRaw(token) + }; + if (this.config.range) { + t.range = [token.start, token.end]; + } + if (this.config.loc) { + t.loc = { + start: { + line: this.startMarker.line, + column: this.startMarker.column + }, + end: { + line: this.scanner.lineNumber, + column: this.scanner.index - this.scanner.lineStart + } + }; + } + if (token.type === 9) { + var pattern = token.pattern; + var flags = token.flags; + t.regex = { pattern, flags }; + } + return t; + }; + Parser2.prototype.nextToken = function() { + var token = this.lookahead; + this.lastMarker.index = this.scanner.index; + this.lastMarker.line = this.scanner.lineNumber; + this.lastMarker.column = this.scanner.index - this.scanner.lineStart; + this.collectComments(); + if (this.scanner.index !== this.startMarker.index) { + this.startMarker.index = this.scanner.index; + this.startMarker.line = this.scanner.lineNumber; + this.startMarker.column = this.scanner.index - this.scanner.lineStart; + } + var next = this.scanner.lex(); + this.hasLineTerminator = token.lineNumber !== next.lineNumber; + if (next && this.context.strict && next.type === 3) { + if (this.scanner.isStrictModeReservedWord(next.value)) { + next.type = 4; + } + } + this.lookahead = next; + if (this.config.tokens && next.type !== 2) { + this.tokens.push(this.convertToken(next)); + } + return token; + }; + Parser2.prototype.nextRegexToken = function() { + this.collectComments(); + var token = this.scanner.scanRegExp(); + if (this.config.tokens) { + this.tokens.pop(); + this.tokens.push(this.convertToken(token)); + } + this.lookahead = token; + this.nextToken(); + return token; + }; + Parser2.prototype.createNode = function() { + return { + index: this.startMarker.index, + line: this.startMarker.line, + column: this.startMarker.column + }; + }; + Parser2.prototype.startNode = function(token, lastLineStart) { + if (lastLineStart === void 0) { + lastLineStart = 0; + } + var column = token.start - token.lineStart; + var line = token.lineNumber; + if (column < 0) { + column += lastLineStart; + line--; + } + return { + index: token.start, + line, + column + }; + }; + Parser2.prototype.finalize = function(marker, node) { + if (this.config.range) { + node.range = [marker.index, this.lastMarker.index]; + } + if (this.config.loc) { + node.loc = { + start: { + line: marker.line, + column: marker.column + }, + end: { + line: this.lastMarker.line, + column: this.lastMarker.column + } + }; + if (this.config.source) { + node.loc.source = this.config.source; + } + } + if (this.delegate) { + var metadata = { + start: { + line: marker.line, + column: marker.column, + offset: marker.index + }, + end: { + line: this.lastMarker.line, + column: this.lastMarker.column, + offset: this.lastMarker.index + } + }; + this.delegate(node, metadata); + } + return node; + }; + Parser2.prototype.expect = function(value) { + var token = this.nextToken(); + if (token.type !== 7 || token.value !== value) { + this.throwUnexpectedToken(token); + } + }; + Parser2.prototype.expectCommaSeparator = function() { + if (this.config.tolerant) { + var token = this.lookahead; + if (token.type === 7 && token.value === ",") { + this.nextToken(); + } else if (token.type === 7 && token.value === ";") { + this.nextToken(); + this.tolerateUnexpectedToken(token); + } else { + this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken); + } + } else { + this.expect(","); + } + }; + Parser2.prototype.expectKeyword = function(keyword) { + var token = this.nextToken(); + if (token.type !== 4 || token.value !== keyword) { + this.throwUnexpectedToken(token); + } + }; + Parser2.prototype.match = function(value) { + return this.lookahead.type === 7 && this.lookahead.value === value; + }; + Parser2.prototype.matchKeyword = function(keyword) { + return this.lookahead.type === 4 && this.lookahead.value === keyword; + }; + Parser2.prototype.matchContextualKeyword = function(keyword) { + return this.lookahead.type === 3 && this.lookahead.value === keyword; + }; + Parser2.prototype.matchAssign = function() { + if (this.lookahead.type !== 7) { + return false; + } + var op = this.lookahead.value; + return op === "=" || op === "*=" || op === "**=" || op === "/=" || op === "%=" || op === "+=" || op === "-=" || op === "<<=" || op === ">>=" || op === ">>>=" || op === "&=" || op === "^=" || op === "|="; + }; + Parser2.prototype.isolateCoverGrammar = function(parseFunction) { + var previousIsBindingElement = this.context.isBindingElement; + var previousIsAssignmentTarget = this.context.isAssignmentTarget; + var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError; + this.context.isBindingElement = true; + this.context.isAssignmentTarget = true; + this.context.firstCoverInitializedNameError = null; + var result = parseFunction.call(this); + if (this.context.firstCoverInitializedNameError !== null) { + this.throwUnexpectedToken(this.context.firstCoverInitializedNameError); + } + this.context.isBindingElement = previousIsBindingElement; + this.context.isAssignmentTarget = previousIsAssignmentTarget; + this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError; + return result; + }; + Parser2.prototype.inheritCoverGrammar = function(parseFunction) { + var previousIsBindingElement = this.context.isBindingElement; + var previousIsAssignmentTarget = this.context.isAssignmentTarget; + var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError; + this.context.isBindingElement = true; + this.context.isAssignmentTarget = true; + this.context.firstCoverInitializedNameError = null; + var result = parseFunction.call(this); + this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement; + this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget; + this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError; + return result; + }; + Parser2.prototype.consumeSemicolon = function() { + if (this.match(";")) { + this.nextToken(); + } else if (!this.hasLineTerminator) { + if (this.lookahead.type !== 2 && !this.match("}")) { + this.throwUnexpectedToken(this.lookahead); + } + this.lastMarker.index = this.startMarker.index; + this.lastMarker.line = this.startMarker.line; + this.lastMarker.column = this.startMarker.column; + } + }; + Parser2.prototype.parsePrimaryExpression = function() { + var node = this.createNode(); + var expr; + var token, raw; + switch (this.lookahead.type) { + case 3: + if ((this.context.isModule || this.context.await) && this.lookahead.value === "await") { + this.tolerateUnexpectedToken(this.lookahead); + } + expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value)); + break; + case 6: + case 8: + if (this.context.strict && this.lookahead.octal) { + this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral); + } + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + token = this.nextToken(); + raw = this.getTokenRaw(token); + expr = this.finalize(node, new Node.Literal(token.value, raw)); + break; + case 1: + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + token = this.nextToken(); + raw = this.getTokenRaw(token); + expr = this.finalize(node, new Node.Literal(token.value === "true", raw)); + break; + case 5: + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + token = this.nextToken(); + raw = this.getTokenRaw(token); + expr = this.finalize(node, new Node.Literal(null, raw)); + break; + case 10: + expr = this.parseTemplateLiteral(); + break; + case 7: + switch (this.lookahead.value) { + case "(": + this.context.isBindingElement = false; + expr = this.inheritCoverGrammar(this.parseGroupExpression); + break; + case "[": + expr = this.inheritCoverGrammar(this.parseArrayInitializer); + break; + case "{": + expr = this.inheritCoverGrammar(this.parseObjectInitializer); + break; + case "/": + case "/=": + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + this.scanner.index = this.startMarker.index; + token = this.nextRegexToken(); + raw = this.getTokenRaw(token); + expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags)); + break; + default: + expr = this.throwUnexpectedToken(this.nextToken()); + } + break; + case 4: + if (!this.context.strict && this.context.allowYield && this.matchKeyword("yield")) { + expr = this.parseIdentifierName(); + } else if (!this.context.strict && this.matchKeyword("let")) { + expr = this.finalize(node, new Node.Identifier(this.nextToken().value)); + } else { + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + if (this.matchKeyword("function")) { + expr = this.parseFunctionExpression(); + } else if (this.matchKeyword("this")) { + this.nextToken(); + expr = this.finalize(node, new Node.ThisExpression()); + } else if (this.matchKeyword("class")) { + expr = this.parseClassExpression(); + } else { + expr = this.throwUnexpectedToken(this.nextToken()); + } + } + break; + default: + expr = this.throwUnexpectedToken(this.nextToken()); + } + return expr; + }; + Parser2.prototype.parseSpreadElement = function() { + var node = this.createNode(); + this.expect("..."); + var arg = this.inheritCoverGrammar(this.parseAssignmentExpression); + return this.finalize(node, new Node.SpreadElement(arg)); + }; + Parser2.prototype.parseArrayInitializer = function() { + var node = this.createNode(); + var elements = []; + this.expect("["); + while (!this.match("]")) { + if (this.match(",")) { + this.nextToken(); + elements.push(null); + } else if (this.match("...")) { + var element = this.parseSpreadElement(); + if (!this.match("]")) { + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + this.expect(","); + } + elements.push(element); + } else { + elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression)); + if (!this.match("]")) { + this.expect(","); + } + } + } + this.expect("]"); + return this.finalize(node, new Node.ArrayExpression(elements)); + }; + Parser2.prototype.parsePropertyMethod = function(params) { + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + var previousStrict = this.context.strict; + var previousAllowStrictDirective = this.context.allowStrictDirective; + this.context.allowStrictDirective = params.simple; + var body = this.isolateCoverGrammar(this.parseFunctionSourceElements); + if (this.context.strict && params.firstRestricted) { + this.tolerateUnexpectedToken(params.firstRestricted, params.message); + } + if (this.context.strict && params.stricted) { + this.tolerateUnexpectedToken(params.stricted, params.message); + } + this.context.strict = previousStrict; + this.context.allowStrictDirective = previousAllowStrictDirective; + return body; + }; + Parser2.prototype.parsePropertyMethodFunction = function() { + var isGenerator = false; + var node = this.createNode(); + var previousAllowYield = this.context.allowYield; + this.context.allowYield = true; + var params = this.parseFormalParameters(); + var method = this.parsePropertyMethod(params); + this.context.allowYield = previousAllowYield; + return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator)); + }; + Parser2.prototype.parsePropertyMethodAsyncFunction = function() { + var node = this.createNode(); + var previousAllowYield = this.context.allowYield; + var previousAwait = this.context.await; + this.context.allowYield = false; + this.context.await = true; + var params = this.parseFormalParameters(); + var method = this.parsePropertyMethod(params); + this.context.allowYield = previousAllowYield; + this.context.await = previousAwait; + return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method)); + }; + Parser2.prototype.parseObjectPropertyKey = function() { + var node = this.createNode(); + var token = this.nextToken(); + var key; + switch (token.type) { + case 8: + case 6: + if (this.context.strict && token.octal) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral); + } + var raw = this.getTokenRaw(token); + key = this.finalize(node, new Node.Literal(token.value, raw)); + break; + case 3: + case 1: + case 5: + case 4: + key = this.finalize(node, new Node.Identifier(token.value)); + break; + case 7: + if (token.value === "[") { + key = this.isolateCoverGrammar(this.parseAssignmentExpression); + this.expect("]"); + } else { + key = this.throwUnexpectedToken(token); + } + break; + default: + key = this.throwUnexpectedToken(token); + } + return key; + }; + Parser2.prototype.isPropertyKey = function(key, value) { + return key.type === syntax_1.Syntax.Identifier && key.name === value || key.type === syntax_1.Syntax.Literal && key.value === value; + }; + Parser2.prototype.parseObjectProperty = function(hasProto) { + var node = this.createNode(); + var token = this.lookahead; + var kind; + var key = null; + var value = null; + var computed = false; + var method = false; + var shorthand = false; + var isAsync = false; + if (token.type === 3) { + var id = token.value; + this.nextToken(); + computed = this.match("["); + isAsync = !this.hasLineTerminator && id === "async" && !this.match(":") && !this.match("(") && !this.match("*") && !this.match(","); + key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id)); + } else if (this.match("*")) { + this.nextToken(); + } else { + computed = this.match("["); + key = this.parseObjectPropertyKey(); + } + var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead); + if (token.type === 3 && !isAsync && token.value === "get" && lookaheadPropertyKey) { + kind = "get"; + computed = this.match("["); + key = this.parseObjectPropertyKey(); + this.context.allowYield = false; + value = this.parseGetterMethod(); + } else if (token.type === 3 && !isAsync && token.value === "set" && lookaheadPropertyKey) { + kind = "set"; + computed = this.match("["); + key = this.parseObjectPropertyKey(); + value = this.parseSetterMethod(); + } else if (token.type === 7 && token.value === "*" && lookaheadPropertyKey) { + kind = "init"; + computed = this.match("["); + key = this.parseObjectPropertyKey(); + value = this.parseGeneratorMethod(); + method = true; + } else { + if (!key) { + this.throwUnexpectedToken(this.lookahead); + } + kind = "init"; + if (this.match(":") && !isAsync) { + if (!computed && this.isPropertyKey(key, "__proto__")) { + if (hasProto.value) { + this.tolerateError(messages_1.Messages.DuplicateProtoProperty); + } + hasProto.value = true; + } + this.nextToken(); + value = this.inheritCoverGrammar(this.parseAssignmentExpression); + } else if (this.match("(")) { + value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction(); + method = true; + } else if (token.type === 3) { + var id = this.finalize(node, new Node.Identifier(token.value)); + if (this.match("=")) { + this.context.firstCoverInitializedNameError = this.lookahead; + this.nextToken(); + shorthand = true; + var init = this.isolateCoverGrammar(this.parseAssignmentExpression); + value = this.finalize(node, new Node.AssignmentPattern(id, init)); + } else { + shorthand = true; + value = id; + } + } else { + this.throwUnexpectedToken(this.nextToken()); + } + } + return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand)); + }; + Parser2.prototype.parseObjectInitializer = function() { + var node = this.createNode(); + this.expect("{"); + var properties = []; + var hasProto = { value: false }; + while (!this.match("}")) { + properties.push(this.parseObjectProperty(hasProto)); + if (!this.match("}")) { + this.expectCommaSeparator(); + } + } + this.expect("}"); + return this.finalize(node, new Node.ObjectExpression(properties)); + }; + Parser2.prototype.parseTemplateHead = function() { + assert_1.assert(this.lookahead.head, "Template literal must start with a template head"); + var node = this.createNode(); + var token = this.nextToken(); + var raw = token.value; + var cooked = token.cooked; + return this.finalize(node, new Node.TemplateElement({ raw, cooked }, token.tail)); + }; + Parser2.prototype.parseTemplateElement = function() { + if (this.lookahead.type !== 10) { + this.throwUnexpectedToken(); + } + var node = this.createNode(); + var token = this.nextToken(); + var raw = token.value; + var cooked = token.cooked; + return this.finalize(node, new Node.TemplateElement({ raw, cooked }, token.tail)); + }; + Parser2.prototype.parseTemplateLiteral = function() { + var node = this.createNode(); + var expressions = []; + var quasis = []; + var quasi = this.parseTemplateHead(); + quasis.push(quasi); + while (!quasi.tail) { + expressions.push(this.parseExpression()); + quasi = this.parseTemplateElement(); + quasis.push(quasi); + } + return this.finalize(node, new Node.TemplateLiteral(quasis, expressions)); + }; + Parser2.prototype.reinterpretExpressionAsPattern = function(expr) { + switch (expr.type) { + case syntax_1.Syntax.Identifier: + case syntax_1.Syntax.MemberExpression: + case syntax_1.Syntax.RestElement: + case syntax_1.Syntax.AssignmentPattern: + break; + case syntax_1.Syntax.SpreadElement: + expr.type = syntax_1.Syntax.RestElement; + this.reinterpretExpressionAsPattern(expr.argument); + break; + case syntax_1.Syntax.ArrayExpression: + expr.type = syntax_1.Syntax.ArrayPattern; + for (var i = 0; i < expr.elements.length; i++) { + if (expr.elements[i] !== null) { + this.reinterpretExpressionAsPattern(expr.elements[i]); + } + } + break; + case syntax_1.Syntax.ObjectExpression: + expr.type = syntax_1.Syntax.ObjectPattern; + for (var i = 0; i < expr.properties.length; i++) { + this.reinterpretExpressionAsPattern(expr.properties[i].value); + } + break; + case syntax_1.Syntax.AssignmentExpression: + expr.type = syntax_1.Syntax.AssignmentPattern; + delete expr.operator; + this.reinterpretExpressionAsPattern(expr.left); + break; + default: + break; + } + }; + Parser2.prototype.parseGroupExpression = function() { + var expr; + this.expect("("); + if (this.match(")")) { + this.nextToken(); + if (!this.match("=>")) { + this.expect("=>"); + } + expr = { + type: ArrowParameterPlaceHolder, + params: [], + async: false + }; + } else { + var startToken = this.lookahead; + var params = []; + if (this.match("...")) { + expr = this.parseRestElement(params); + this.expect(")"); + if (!this.match("=>")) { + this.expect("=>"); + } + expr = { + type: ArrowParameterPlaceHolder, + params: [expr], + async: false + }; + } else { + var arrow = false; + this.context.isBindingElement = true; + expr = this.inheritCoverGrammar(this.parseAssignmentExpression); + if (this.match(",")) { + var expressions = []; + this.context.isAssignmentTarget = false; + expressions.push(expr); + while (this.lookahead.type !== 2) { + if (!this.match(",")) { + break; + } + this.nextToken(); + if (this.match(")")) { + this.nextToken(); + for (var i = 0; i < expressions.length; i++) { + this.reinterpretExpressionAsPattern(expressions[i]); + } + arrow = true; + expr = { + type: ArrowParameterPlaceHolder, + params: expressions, + async: false + }; + } else if (this.match("...")) { + if (!this.context.isBindingElement) { + this.throwUnexpectedToken(this.lookahead); + } + expressions.push(this.parseRestElement(params)); + this.expect(")"); + if (!this.match("=>")) { + this.expect("=>"); + } + this.context.isBindingElement = false; + for (var i = 0; i < expressions.length; i++) { + this.reinterpretExpressionAsPattern(expressions[i]); + } + arrow = true; + expr = { + type: ArrowParameterPlaceHolder, + params: expressions, + async: false + }; + } else { + expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression)); + } + if (arrow) { + break; + } + } + if (!arrow) { + expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions)); + } + } + if (!arrow) { + this.expect(")"); + if (this.match("=>")) { + if (expr.type === syntax_1.Syntax.Identifier && expr.name === "yield") { + arrow = true; + expr = { + type: ArrowParameterPlaceHolder, + params: [expr], + async: false + }; + } + if (!arrow) { + if (!this.context.isBindingElement) { + this.throwUnexpectedToken(this.lookahead); + } + if (expr.type === syntax_1.Syntax.SequenceExpression) { + for (var i = 0; i < expr.expressions.length; i++) { + this.reinterpretExpressionAsPattern(expr.expressions[i]); + } + } else { + this.reinterpretExpressionAsPattern(expr); + } + var parameters = expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr]; + expr = { + type: ArrowParameterPlaceHolder, + params: parameters, + async: false + }; + } + } + this.context.isBindingElement = false; + } + } + } + return expr; + }; + Parser2.prototype.parseArguments = function() { + this.expect("("); + var args = []; + if (!this.match(")")) { + while (true) { + var expr = this.match("...") ? this.parseSpreadElement() : this.isolateCoverGrammar(this.parseAssignmentExpression); + args.push(expr); + if (this.match(")")) { + break; + } + this.expectCommaSeparator(); + if (this.match(")")) { + break; + } + } + } + this.expect(")"); + return args; + }; + Parser2.prototype.isIdentifierName = function(token) { + return token.type === 3 || token.type === 4 || token.type === 1 || token.type === 5; + }; + Parser2.prototype.parseIdentifierName = function() { + var node = this.createNode(); + var token = this.nextToken(); + if (!this.isIdentifierName(token)) { + this.throwUnexpectedToken(token); + } + return this.finalize(node, new Node.Identifier(token.value)); + }; + Parser2.prototype.parseNewExpression = function() { + var node = this.createNode(); + var id = this.parseIdentifierName(); + assert_1.assert(id.name === "new", "New expression must start with `new`"); + var expr; + if (this.match(".")) { + this.nextToken(); + if (this.lookahead.type === 3 && this.context.inFunctionBody && this.lookahead.value === "target") { + var property = this.parseIdentifierName(); + expr = new Node.MetaProperty(id, property); + } else { + this.throwUnexpectedToken(this.lookahead); + } + } else { + var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression); + var args = this.match("(") ? this.parseArguments() : []; + expr = new Node.NewExpression(callee, args); + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + } + return this.finalize(node, expr); + }; + Parser2.prototype.parseAsyncArgument = function() { + var arg = this.parseAssignmentExpression(); + this.context.firstCoverInitializedNameError = null; + return arg; + }; + Parser2.prototype.parseAsyncArguments = function() { + this.expect("("); + var args = []; + if (!this.match(")")) { + while (true) { + var expr = this.match("...") ? this.parseSpreadElement() : this.isolateCoverGrammar(this.parseAsyncArgument); + args.push(expr); + if (this.match(")")) { + break; + } + this.expectCommaSeparator(); + if (this.match(")")) { + break; + } + } + } + this.expect(")"); + return args; + }; + Parser2.prototype.parseLeftHandSideExpressionAllowCall = function() { + var startToken = this.lookahead; + var maybeAsync = this.matchContextualKeyword("async"); + var previousAllowIn = this.context.allowIn; + this.context.allowIn = true; + var expr; + if (this.matchKeyword("super") && this.context.inFunctionBody) { + expr = this.createNode(); + this.nextToken(); + expr = this.finalize(expr, new Node.Super()); + if (!this.match("(") && !this.match(".") && !this.match("[")) { + this.throwUnexpectedToken(this.lookahead); + } + } else { + expr = this.inheritCoverGrammar(this.matchKeyword("new") ? this.parseNewExpression : this.parsePrimaryExpression); + } + while (true) { + if (this.match(".")) { + this.context.isBindingElement = false; + this.context.isAssignmentTarget = true; + this.expect("."); + var property = this.parseIdentifierName(); + expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property)); + } else if (this.match("(")) { + var asyncArrow = maybeAsync && startToken.lineNumber === this.lookahead.lineNumber; + this.context.isBindingElement = false; + this.context.isAssignmentTarget = false; + var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments(); + expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args)); + if (asyncArrow && this.match("=>")) { + for (var i = 0; i < args.length; ++i) { + this.reinterpretExpressionAsPattern(args[i]); + } + expr = { + type: ArrowParameterPlaceHolder, + params: args, + async: true + }; + } + } else if (this.match("[")) { + this.context.isBindingElement = false; + this.context.isAssignmentTarget = true; + this.expect("["); + var property = this.isolateCoverGrammar(this.parseExpression); + this.expect("]"); + expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property)); + } else if (this.lookahead.type === 10 && this.lookahead.head) { + var quasi = this.parseTemplateLiteral(); + expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi)); + } else { + break; + } + } + this.context.allowIn = previousAllowIn; + return expr; + }; + Parser2.prototype.parseSuper = function() { + var node = this.createNode(); + this.expectKeyword("super"); + if (!this.match("[") && !this.match(".")) { + this.throwUnexpectedToken(this.lookahead); + } + return this.finalize(node, new Node.Super()); + }; + Parser2.prototype.parseLeftHandSideExpression = function() { + assert_1.assert(this.context.allowIn, "callee of new expression always allow in keyword."); + var node = this.startNode(this.lookahead); + var expr = this.matchKeyword("super") && this.context.inFunctionBody ? this.parseSuper() : this.inheritCoverGrammar(this.matchKeyword("new") ? this.parseNewExpression : this.parsePrimaryExpression); + while (true) { + if (this.match("[")) { + this.context.isBindingElement = false; + this.context.isAssignmentTarget = true; + this.expect("["); + var property = this.isolateCoverGrammar(this.parseExpression); + this.expect("]"); + expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property)); + } else if (this.match(".")) { + this.context.isBindingElement = false; + this.context.isAssignmentTarget = true; + this.expect("."); + var property = this.parseIdentifierName(); + expr = this.finalize(node, new Node.StaticMemberExpression(expr, property)); + } else if (this.lookahead.type === 10 && this.lookahead.head) { + var quasi = this.parseTemplateLiteral(); + expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi)); + } else { + break; + } + } + return expr; + }; + Parser2.prototype.parseUpdateExpression = function() { + var expr; + var startToken = this.lookahead; + if (this.match("++") || this.match("--")) { + var node = this.startNode(startToken); + var token = this.nextToken(); + expr = this.inheritCoverGrammar(this.parseUnaryExpression); + if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) { + this.tolerateError(messages_1.Messages.StrictLHSPrefix); + } + if (!this.context.isAssignmentTarget) { + this.tolerateError(messages_1.Messages.InvalidLHSInAssignment); + } + var prefix = true; + expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix)); + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + } else { + expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall); + if (!this.hasLineTerminator && this.lookahead.type === 7) { + if (this.match("++") || this.match("--")) { + if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) { + this.tolerateError(messages_1.Messages.StrictLHSPostfix); + } + if (!this.context.isAssignmentTarget) { + this.tolerateError(messages_1.Messages.InvalidLHSInAssignment); + } + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + var operator = this.nextToken().value; + var prefix = false; + expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix)); + } + } + } + return expr; + }; + Parser2.prototype.parseAwaitExpression = function() { + var node = this.createNode(); + this.nextToken(); + var argument = this.parseUnaryExpression(); + return this.finalize(node, new Node.AwaitExpression(argument)); + }; + Parser2.prototype.parseUnaryExpression = function() { + var expr; + if (this.match("+") || this.match("-") || this.match("~") || this.match("!") || this.matchKeyword("delete") || this.matchKeyword("void") || this.matchKeyword("typeof")) { + var node = this.startNode(this.lookahead); + var token = this.nextToken(); + expr = this.inheritCoverGrammar(this.parseUnaryExpression); + expr = this.finalize(node, new Node.UnaryExpression(token.value, expr)); + if (this.context.strict && expr.operator === "delete" && expr.argument.type === syntax_1.Syntax.Identifier) { + this.tolerateError(messages_1.Messages.StrictDelete); + } + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + } else if (this.context.await && this.matchContextualKeyword("await")) { + expr = this.parseAwaitExpression(); + } else { + expr = this.parseUpdateExpression(); + } + return expr; + }; + Parser2.prototype.parseExponentiationExpression = function() { + var startToken = this.lookahead; + var expr = this.inheritCoverGrammar(this.parseUnaryExpression); + if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match("**")) { + this.nextToken(); + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + var left = expr; + var right = this.isolateCoverGrammar(this.parseExponentiationExpression); + expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression("**", left, right)); + } + return expr; + }; + Parser2.prototype.binaryPrecedence = function(token) { + var op = token.value; + var precedence; + if (token.type === 7) { + precedence = this.operatorPrecedence[op] || 0; + } else if (token.type === 4) { + precedence = op === "instanceof" || this.context.allowIn && op === "in" ? 7 : 0; + } else { + precedence = 0; + } + return precedence; + }; + Parser2.prototype.parseBinaryExpression = function() { + var startToken = this.lookahead; + var expr = this.inheritCoverGrammar(this.parseExponentiationExpression); + var token = this.lookahead; + var prec = this.binaryPrecedence(token); + if (prec > 0) { + this.nextToken(); + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + var markers = [startToken, this.lookahead]; + var left = expr; + var right = this.isolateCoverGrammar(this.parseExponentiationExpression); + var stack = [left, token.value, right]; + var precedences = [prec]; + while (true) { + prec = this.binaryPrecedence(this.lookahead); + if (prec <= 0) { + break; + } + while (stack.length > 2 && prec <= precedences[precedences.length - 1]) { + right = stack.pop(); + var operator = stack.pop(); + precedences.pop(); + left = stack.pop(); + markers.pop(); + var node = this.startNode(markers[markers.length - 1]); + stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right))); + } + stack.push(this.nextToken().value); + precedences.push(prec); + markers.push(this.lookahead); + stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression)); + } + var i = stack.length - 1; + expr = stack[i]; + var lastMarker = markers.pop(); + while (i > 1) { + var marker = markers.pop(); + var lastLineStart = lastMarker && lastMarker.lineStart; + var node = this.startNode(marker, lastLineStart); + var operator = stack[i - 1]; + expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr)); + i -= 2; + lastMarker = marker; + } + } + return expr; + }; + Parser2.prototype.parseConditionalExpression = function() { + var startToken = this.lookahead; + var expr = this.inheritCoverGrammar(this.parseBinaryExpression); + if (this.match("?")) { + this.nextToken(); + var previousAllowIn = this.context.allowIn; + this.context.allowIn = true; + var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression); + this.context.allowIn = previousAllowIn; + this.expect(":"); + var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression); + expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate)); + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + } + return expr; + }; + Parser2.prototype.checkPatternParam = function(options, param) { + switch (param.type) { + case syntax_1.Syntax.Identifier: + this.validateParam(options, param, param.name); + break; + case syntax_1.Syntax.RestElement: + this.checkPatternParam(options, param.argument); + break; + case syntax_1.Syntax.AssignmentPattern: + this.checkPatternParam(options, param.left); + break; + case syntax_1.Syntax.ArrayPattern: + for (var i = 0; i < param.elements.length; i++) { + if (param.elements[i] !== null) { + this.checkPatternParam(options, param.elements[i]); + } + } + break; + case syntax_1.Syntax.ObjectPattern: + for (var i = 0; i < param.properties.length; i++) { + this.checkPatternParam(options, param.properties[i].value); + } + break; + default: + break; + } + options.simple = options.simple && param instanceof Node.Identifier; + }; + Parser2.prototype.reinterpretAsCoverFormalsList = function(expr) { + var params = [expr]; + var options; + var asyncArrow = false; + switch (expr.type) { + case syntax_1.Syntax.Identifier: + break; + case ArrowParameterPlaceHolder: + params = expr.params; + asyncArrow = expr.async; + break; + default: + return null; + } + options = { + simple: true, + paramSet: {} + }; + for (var i = 0; i < params.length; ++i) { + var param = params[i]; + if (param.type === syntax_1.Syntax.AssignmentPattern) { + if (param.right.type === syntax_1.Syntax.YieldExpression) { + if (param.right.argument) { + this.throwUnexpectedToken(this.lookahead); + } + param.right.type = syntax_1.Syntax.Identifier; + param.right.name = "yield"; + delete param.right.argument; + delete param.right.delegate; + } + } else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === "await") { + this.throwUnexpectedToken(this.lookahead); + } + this.checkPatternParam(options, param); + params[i] = param; + } + if (this.context.strict || !this.context.allowYield) { + for (var i = 0; i < params.length; ++i) { + var param = params[i]; + if (param.type === syntax_1.Syntax.YieldExpression) { + this.throwUnexpectedToken(this.lookahead); + } + } + } + if (options.message === messages_1.Messages.StrictParamDupe) { + var token = this.context.strict ? options.stricted : options.firstRestricted; + this.throwUnexpectedToken(token, options.message); + } + return { + simple: options.simple, + params, + stricted: options.stricted, + firstRestricted: options.firstRestricted, + message: options.message + }; + }; + Parser2.prototype.parseAssignmentExpression = function() { + var expr; + if (!this.context.allowYield && this.matchKeyword("yield")) { + expr = this.parseYieldExpression(); + } else { + var startToken = this.lookahead; + var token = startToken; + expr = this.parseConditionalExpression(); + if (token.type === 3 && token.lineNumber === this.lookahead.lineNumber && token.value === "async") { + if (this.lookahead.type === 3 || this.matchKeyword("yield")) { + var arg = this.parsePrimaryExpression(); + this.reinterpretExpressionAsPattern(arg); + expr = { + type: ArrowParameterPlaceHolder, + params: [arg], + async: true + }; + } + } + if (expr.type === ArrowParameterPlaceHolder || this.match("=>")) { + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + var isAsync = expr.async; + var list = this.reinterpretAsCoverFormalsList(expr); + if (list) { + if (this.hasLineTerminator) { + this.tolerateUnexpectedToken(this.lookahead); + } + this.context.firstCoverInitializedNameError = null; + var previousStrict = this.context.strict; + var previousAllowStrictDirective = this.context.allowStrictDirective; + this.context.allowStrictDirective = list.simple; + var previousAllowYield = this.context.allowYield; + var previousAwait = this.context.await; + this.context.allowYield = true; + this.context.await = isAsync; + var node = this.startNode(startToken); + this.expect("=>"); + var body = void 0; + if (this.match("{")) { + var previousAllowIn = this.context.allowIn; + this.context.allowIn = true; + body = this.parseFunctionSourceElements(); + this.context.allowIn = previousAllowIn; + } else { + body = this.isolateCoverGrammar(this.parseAssignmentExpression); + } + var expression = body.type !== syntax_1.Syntax.BlockStatement; + if (this.context.strict && list.firstRestricted) { + this.throwUnexpectedToken(list.firstRestricted, list.message); + } + if (this.context.strict && list.stricted) { + this.tolerateUnexpectedToken(list.stricted, list.message); + } + expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) : this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression)); + this.context.strict = previousStrict; + this.context.allowStrictDirective = previousAllowStrictDirective; + this.context.allowYield = previousAllowYield; + this.context.await = previousAwait; + } + } else { + if (this.matchAssign()) { + if (!this.context.isAssignmentTarget) { + this.tolerateError(messages_1.Messages.InvalidLHSInAssignment); + } + if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) { + var id = expr; + if (this.scanner.isRestrictedWord(id.name)) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment); + } + if (this.scanner.isStrictModeReservedWord(id.name)) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord); + } + } + if (!this.match("=")) { + this.context.isAssignmentTarget = false; + this.context.isBindingElement = false; + } else { + this.reinterpretExpressionAsPattern(expr); + } + token = this.nextToken(); + var operator = token.value; + var right = this.isolateCoverGrammar(this.parseAssignmentExpression); + expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right)); + this.context.firstCoverInitializedNameError = null; + } + } + } + return expr; + }; + Parser2.prototype.parseExpression = function() { + var startToken = this.lookahead; + var expr = this.isolateCoverGrammar(this.parseAssignmentExpression); + if (this.match(",")) { + var expressions = []; + expressions.push(expr); + while (this.lookahead.type !== 2) { + if (!this.match(",")) { + break; + } + this.nextToken(); + expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression)); + } + expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions)); + } + return expr; + }; + Parser2.prototype.parseStatementListItem = function() { + var statement; + this.context.isAssignmentTarget = true; + this.context.isBindingElement = true; + if (this.lookahead.type === 4) { + switch (this.lookahead.value) { + case "export": + if (!this.context.isModule) { + this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration); + } + statement = this.parseExportDeclaration(); + break; + case "import": + if (!this.context.isModule) { + this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration); + } + statement = this.parseImportDeclaration(); + break; + case "const": + statement = this.parseLexicalDeclaration({ inFor: false }); + break; + case "function": + statement = this.parseFunctionDeclaration(); + break; + case "class": + statement = this.parseClassDeclaration(); + break; + case "let": + statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement(); + break; + default: + statement = this.parseStatement(); + break; + } + } else { + statement = this.parseStatement(); + } + return statement; + }; + Parser2.prototype.parseBlock = function() { + var node = this.createNode(); + this.expect("{"); + var block = []; + while (true) { + if (this.match("}")) { + break; + } + block.push(this.parseStatementListItem()); + } + this.expect("}"); + return this.finalize(node, new Node.BlockStatement(block)); + }; + Parser2.prototype.parseLexicalBinding = function(kind, options) { + var node = this.createNode(); + var params = []; + var id = this.parsePattern(params, kind); + if (this.context.strict && id.type === syntax_1.Syntax.Identifier) { + if (this.scanner.isRestrictedWord(id.name)) { + this.tolerateError(messages_1.Messages.StrictVarName); + } + } + var init = null; + if (kind === "const") { + if (!this.matchKeyword("in") && !this.matchContextualKeyword("of")) { + if (this.match("=")) { + this.nextToken(); + init = this.isolateCoverGrammar(this.parseAssignmentExpression); + } else { + this.throwError(messages_1.Messages.DeclarationMissingInitializer, "const"); + } + } + } else if (!options.inFor && id.type !== syntax_1.Syntax.Identifier || this.match("=")) { + this.expect("="); + init = this.isolateCoverGrammar(this.parseAssignmentExpression); + } + return this.finalize(node, new Node.VariableDeclarator(id, init)); + }; + Parser2.prototype.parseBindingList = function(kind, options) { + var list = [this.parseLexicalBinding(kind, options)]; + while (this.match(",")) { + this.nextToken(); + list.push(this.parseLexicalBinding(kind, options)); + } + return list; + }; + Parser2.prototype.isLexicalDeclaration = function() { + var state = this.scanner.saveState(); + this.scanner.scanComments(); + var next = this.scanner.lex(); + this.scanner.restoreState(state); + return next.type === 3 || next.type === 7 && next.value === "[" || next.type === 7 && next.value === "{" || next.type === 4 && next.value === "let" || next.type === 4 && next.value === "yield"; + }; + Parser2.prototype.parseLexicalDeclaration = function(options) { + var node = this.createNode(); + var kind = this.nextToken().value; + assert_1.assert(kind === "let" || kind === "const", "Lexical declaration must be either let or const"); + var declarations = this.parseBindingList(kind, options); + this.consumeSemicolon(); + return this.finalize(node, new Node.VariableDeclaration(declarations, kind)); + }; + Parser2.prototype.parseBindingRestElement = function(params, kind) { + var node = this.createNode(); + this.expect("..."); + var arg = this.parsePattern(params, kind); + return this.finalize(node, new Node.RestElement(arg)); + }; + Parser2.prototype.parseArrayPattern = function(params, kind) { + var node = this.createNode(); + this.expect("["); + var elements = []; + while (!this.match("]")) { + if (this.match(",")) { + this.nextToken(); + elements.push(null); + } else { + if (this.match("...")) { + elements.push(this.parseBindingRestElement(params, kind)); + break; + } else { + elements.push(this.parsePatternWithDefault(params, kind)); + } + if (!this.match("]")) { + this.expect(","); + } + } + } + this.expect("]"); + return this.finalize(node, new Node.ArrayPattern(elements)); + }; + Parser2.prototype.parsePropertyPattern = function(params, kind) { + var node = this.createNode(); + var computed = false; + var shorthand = false; + var method = false; + var key; + var value; + if (this.lookahead.type === 3) { + var keyToken = this.lookahead; + key = this.parseVariableIdentifier(); + var init = this.finalize(node, new Node.Identifier(keyToken.value)); + if (this.match("=")) { + params.push(keyToken); + shorthand = true; + this.nextToken(); + var expr = this.parseAssignmentExpression(); + value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr)); + } else if (!this.match(":")) { + params.push(keyToken); + shorthand = true; + value = init; + } else { + this.expect(":"); + value = this.parsePatternWithDefault(params, kind); + } + } else { + computed = this.match("["); + key = this.parseObjectPropertyKey(); + this.expect(":"); + value = this.parsePatternWithDefault(params, kind); + } + return this.finalize(node, new Node.Property("init", key, computed, value, method, shorthand)); + }; + Parser2.prototype.parseObjectPattern = function(params, kind) { + var node = this.createNode(); + var properties = []; + this.expect("{"); + while (!this.match("}")) { + properties.push(this.parsePropertyPattern(params, kind)); + if (!this.match("}")) { + this.expect(","); + } + } + this.expect("}"); + return this.finalize(node, new Node.ObjectPattern(properties)); + }; + Parser2.prototype.parsePattern = function(params, kind) { + var pattern; + if (this.match("[")) { + pattern = this.parseArrayPattern(params, kind); + } else if (this.match("{")) { + pattern = this.parseObjectPattern(params, kind); + } else { + if (this.matchKeyword("let") && (kind === "const" || kind === "let")) { + this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding); + } + params.push(this.lookahead); + pattern = this.parseVariableIdentifier(kind); + } + return pattern; + }; + Parser2.prototype.parsePatternWithDefault = function(params, kind) { + var startToken = this.lookahead; + var pattern = this.parsePattern(params, kind); + if (this.match("=")) { + this.nextToken(); + var previousAllowYield = this.context.allowYield; + this.context.allowYield = true; + var right = this.isolateCoverGrammar(this.parseAssignmentExpression); + this.context.allowYield = previousAllowYield; + pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right)); + } + return pattern; + }; + Parser2.prototype.parseVariableIdentifier = function(kind) { + var node = this.createNode(); + var token = this.nextToken(); + if (token.type === 4 && token.value === "yield") { + if (this.context.strict) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord); + } else if (!this.context.allowYield) { + this.throwUnexpectedToken(token); + } + } else if (token.type !== 3) { + if (this.context.strict && token.type === 4 && this.scanner.isStrictModeReservedWord(token.value)) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord); + } else { + if (this.context.strict || token.value !== "let" || kind !== "var") { + this.throwUnexpectedToken(token); + } + } + } else if ((this.context.isModule || this.context.await) && token.type === 3 && token.value === "await") { + this.tolerateUnexpectedToken(token); + } + return this.finalize(node, new Node.Identifier(token.value)); + }; + Parser2.prototype.parseVariableDeclaration = function(options) { + var node = this.createNode(); + var params = []; + var id = this.parsePattern(params, "var"); + if (this.context.strict && id.type === syntax_1.Syntax.Identifier) { + if (this.scanner.isRestrictedWord(id.name)) { + this.tolerateError(messages_1.Messages.StrictVarName); + } + } + var init = null; + if (this.match("=")) { + this.nextToken(); + init = this.isolateCoverGrammar(this.parseAssignmentExpression); + } else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) { + this.expect("="); + } + return this.finalize(node, new Node.VariableDeclarator(id, init)); + }; + Parser2.prototype.parseVariableDeclarationList = function(options) { + var opt = { inFor: options.inFor }; + var list = []; + list.push(this.parseVariableDeclaration(opt)); + while (this.match(",")) { + this.nextToken(); + list.push(this.parseVariableDeclaration(opt)); + } + return list; + }; + Parser2.prototype.parseVariableStatement = function() { + var node = this.createNode(); + this.expectKeyword("var"); + var declarations = this.parseVariableDeclarationList({ inFor: false }); + this.consumeSemicolon(); + return this.finalize(node, new Node.VariableDeclaration(declarations, "var")); + }; + Parser2.prototype.parseEmptyStatement = function() { + var node = this.createNode(); + this.expect(";"); + return this.finalize(node, new Node.EmptyStatement()); + }; + Parser2.prototype.parseExpressionStatement = function() { + var node = this.createNode(); + var expr = this.parseExpression(); + this.consumeSemicolon(); + return this.finalize(node, new Node.ExpressionStatement(expr)); + }; + Parser2.prototype.parseIfClause = function() { + if (this.context.strict && this.matchKeyword("function")) { + this.tolerateError(messages_1.Messages.StrictFunction); + } + return this.parseStatement(); + }; + Parser2.prototype.parseIfStatement = function() { + var node = this.createNode(); + var consequent; + var alternate = null; + this.expectKeyword("if"); + this.expect("("); + var test = this.parseExpression(); + if (!this.match(")") && this.config.tolerant) { + this.tolerateUnexpectedToken(this.nextToken()); + consequent = this.finalize(this.createNode(), new Node.EmptyStatement()); + } else { + this.expect(")"); + consequent = this.parseIfClause(); + if (this.matchKeyword("else")) { + this.nextToken(); + alternate = this.parseIfClause(); + } + } + return this.finalize(node, new Node.IfStatement(test, consequent, alternate)); + }; + Parser2.prototype.parseDoWhileStatement = function() { + var node = this.createNode(); + this.expectKeyword("do"); + var previousInIteration = this.context.inIteration; + this.context.inIteration = true; + var body = this.parseStatement(); + this.context.inIteration = previousInIteration; + this.expectKeyword("while"); + this.expect("("); + var test = this.parseExpression(); + if (!this.match(")") && this.config.tolerant) { + this.tolerateUnexpectedToken(this.nextToken()); + } else { + this.expect(")"); + if (this.match(";")) { + this.nextToken(); + } + } + return this.finalize(node, new Node.DoWhileStatement(body, test)); + }; + Parser2.prototype.parseWhileStatement = function() { + var node = this.createNode(); + var body; + this.expectKeyword("while"); + this.expect("("); + var test = this.parseExpression(); + if (!this.match(")") && this.config.tolerant) { + this.tolerateUnexpectedToken(this.nextToken()); + body = this.finalize(this.createNode(), new Node.EmptyStatement()); + } else { + this.expect(")"); + var previousInIteration = this.context.inIteration; + this.context.inIteration = true; + body = this.parseStatement(); + this.context.inIteration = previousInIteration; + } + return this.finalize(node, new Node.WhileStatement(test, body)); + }; + Parser2.prototype.parseForStatement = function() { + var init = null; + var test = null; + var update = null; + var forIn = true; + var left, right; + var node = this.createNode(); + this.expectKeyword("for"); + this.expect("("); + if (this.match(";")) { + this.nextToken(); + } else { + if (this.matchKeyword("var")) { + init = this.createNode(); + this.nextToken(); + var previousAllowIn = this.context.allowIn; + this.context.allowIn = false; + var declarations = this.parseVariableDeclarationList({ inFor: true }); + this.context.allowIn = previousAllowIn; + if (declarations.length === 1 && this.matchKeyword("in")) { + var decl = declarations[0]; + if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) { + this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, "for-in"); + } + init = this.finalize(init, new Node.VariableDeclaration(declarations, "var")); + this.nextToken(); + left = init; + right = this.parseExpression(); + init = null; + } else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword("of")) { + init = this.finalize(init, new Node.VariableDeclaration(declarations, "var")); + this.nextToken(); + left = init; + right = this.parseAssignmentExpression(); + init = null; + forIn = false; + } else { + init = this.finalize(init, new Node.VariableDeclaration(declarations, "var")); + this.expect(";"); + } + } else if (this.matchKeyword("const") || this.matchKeyword("let")) { + init = this.createNode(); + var kind = this.nextToken().value; + if (!this.context.strict && this.lookahead.value === "in") { + init = this.finalize(init, new Node.Identifier(kind)); + this.nextToken(); + left = init; + right = this.parseExpression(); + init = null; + } else { + var previousAllowIn = this.context.allowIn; + this.context.allowIn = false; + var declarations = this.parseBindingList(kind, { inFor: true }); + this.context.allowIn = previousAllowIn; + if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword("in")) { + init = this.finalize(init, new Node.VariableDeclaration(declarations, kind)); + this.nextToken(); + left = init; + right = this.parseExpression(); + init = null; + } else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword("of")) { + init = this.finalize(init, new Node.VariableDeclaration(declarations, kind)); + this.nextToken(); + left = init; + right = this.parseAssignmentExpression(); + init = null; + forIn = false; + } else { + this.consumeSemicolon(); + init = this.finalize(init, new Node.VariableDeclaration(declarations, kind)); + } + } + } else { + var initStartToken = this.lookahead; + var previousAllowIn = this.context.allowIn; + this.context.allowIn = false; + init = this.inheritCoverGrammar(this.parseAssignmentExpression); + this.context.allowIn = previousAllowIn; + if (this.matchKeyword("in")) { + if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) { + this.tolerateError(messages_1.Messages.InvalidLHSInForIn); + } + this.nextToken(); + this.reinterpretExpressionAsPattern(init); + left = init; + right = this.parseExpression(); + init = null; + } else if (this.matchContextualKeyword("of")) { + if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) { + this.tolerateError(messages_1.Messages.InvalidLHSInForLoop); + } + this.nextToken(); + this.reinterpretExpressionAsPattern(init); + left = init; + right = this.parseAssignmentExpression(); + init = null; + forIn = false; + } else { + if (this.match(",")) { + var initSeq = [init]; + while (this.match(",")) { + this.nextToken(); + initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression)); + } + init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq)); + } + this.expect(";"); + } + } + } + if (typeof left === "undefined") { + if (!this.match(";")) { + test = this.parseExpression(); + } + this.expect(";"); + if (!this.match(")")) { + update = this.parseExpression(); + } + } + var body; + if (!this.match(")") && this.config.tolerant) { + this.tolerateUnexpectedToken(this.nextToken()); + body = this.finalize(this.createNode(), new Node.EmptyStatement()); + } else { + this.expect(")"); + var previousInIteration = this.context.inIteration; + this.context.inIteration = true; + body = this.isolateCoverGrammar(this.parseStatement); + this.context.inIteration = previousInIteration; + } + return typeof left === "undefined" ? this.finalize(node, new Node.ForStatement(init, test, update, body)) : forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) : this.finalize(node, new Node.ForOfStatement(left, right, body)); + }; + Parser2.prototype.parseContinueStatement = function() { + var node = this.createNode(); + this.expectKeyword("continue"); + var label = null; + if (this.lookahead.type === 3 && !this.hasLineTerminator) { + var id = this.parseVariableIdentifier(); + label = id; + var key = "$" + id.name; + if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) { + this.throwError(messages_1.Messages.UnknownLabel, id.name); + } + } + this.consumeSemicolon(); + if (label === null && !this.context.inIteration) { + this.throwError(messages_1.Messages.IllegalContinue); + } + return this.finalize(node, new Node.ContinueStatement(label)); + }; + Parser2.prototype.parseBreakStatement = function() { + var node = this.createNode(); + this.expectKeyword("break"); + var label = null; + if (this.lookahead.type === 3 && !this.hasLineTerminator) { + var id = this.parseVariableIdentifier(); + var key = "$" + id.name; + if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) { + this.throwError(messages_1.Messages.UnknownLabel, id.name); + } + label = id; + } + this.consumeSemicolon(); + if (label === null && !this.context.inIteration && !this.context.inSwitch) { + this.throwError(messages_1.Messages.IllegalBreak); + } + return this.finalize(node, new Node.BreakStatement(label)); + }; + Parser2.prototype.parseReturnStatement = function() { + if (!this.context.inFunctionBody) { + this.tolerateError(messages_1.Messages.IllegalReturn); + } + var node = this.createNode(); + this.expectKeyword("return"); + var hasArgument = !this.match(";") && !this.match("}") && !this.hasLineTerminator && this.lookahead.type !== 2 || this.lookahead.type === 8 || this.lookahead.type === 10; + var argument = hasArgument ? this.parseExpression() : null; + this.consumeSemicolon(); + return this.finalize(node, new Node.ReturnStatement(argument)); + }; + Parser2.prototype.parseWithStatement = function() { + if (this.context.strict) { + this.tolerateError(messages_1.Messages.StrictModeWith); + } + var node = this.createNode(); + var body; + this.expectKeyword("with"); + this.expect("("); + var object = this.parseExpression(); + if (!this.match(")") && this.config.tolerant) { + this.tolerateUnexpectedToken(this.nextToken()); + body = this.finalize(this.createNode(), new Node.EmptyStatement()); + } else { + this.expect(")"); + body = this.parseStatement(); + } + return this.finalize(node, new Node.WithStatement(object, body)); + }; + Parser2.prototype.parseSwitchCase = function() { + var node = this.createNode(); + var test; + if (this.matchKeyword("default")) { + this.nextToken(); + test = null; + } else { + this.expectKeyword("case"); + test = this.parseExpression(); + } + this.expect(":"); + var consequent = []; + while (true) { + if (this.match("}") || this.matchKeyword("default") || this.matchKeyword("case")) { + break; + } + consequent.push(this.parseStatementListItem()); + } + return this.finalize(node, new Node.SwitchCase(test, consequent)); + }; + Parser2.prototype.parseSwitchStatement = function() { + var node = this.createNode(); + this.expectKeyword("switch"); + this.expect("("); + var discriminant = this.parseExpression(); + this.expect(")"); + var previousInSwitch = this.context.inSwitch; + this.context.inSwitch = true; + var cases = []; + var defaultFound = false; + this.expect("{"); + while (true) { + if (this.match("}")) { + break; + } + var clause = this.parseSwitchCase(); + if (clause.test === null) { + if (defaultFound) { + this.throwError(messages_1.Messages.MultipleDefaultsInSwitch); + } + defaultFound = true; + } + cases.push(clause); + } + this.expect("}"); + this.context.inSwitch = previousInSwitch; + return this.finalize(node, new Node.SwitchStatement(discriminant, cases)); + }; + Parser2.prototype.parseLabelledStatement = function() { + var node = this.createNode(); + var expr = this.parseExpression(); + var statement; + if (expr.type === syntax_1.Syntax.Identifier && this.match(":")) { + this.nextToken(); + var id = expr; + var key = "$" + id.name; + if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) { + this.throwError(messages_1.Messages.Redeclaration, "Label", id.name); + } + this.context.labelSet[key] = true; + var body = void 0; + if (this.matchKeyword("class")) { + this.tolerateUnexpectedToken(this.lookahead); + body = this.parseClassDeclaration(); + } else if (this.matchKeyword("function")) { + var token = this.lookahead; + var declaration = this.parseFunctionDeclaration(); + if (this.context.strict) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction); + } else if (declaration.generator) { + this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext); + } + body = declaration; + } else { + body = this.parseStatement(); + } + delete this.context.labelSet[key]; + statement = new Node.LabeledStatement(id, body); + } else { + this.consumeSemicolon(); + statement = new Node.ExpressionStatement(expr); + } + return this.finalize(node, statement); + }; + Parser2.prototype.parseThrowStatement = function() { + var node = this.createNode(); + this.expectKeyword("throw"); + if (this.hasLineTerminator) { + this.throwError(messages_1.Messages.NewlineAfterThrow); + } + var argument = this.parseExpression(); + this.consumeSemicolon(); + return this.finalize(node, new Node.ThrowStatement(argument)); + }; + Parser2.prototype.parseCatchClause = function() { + var node = this.createNode(); + this.expectKeyword("catch"); + this.expect("("); + if (this.match(")")) { + this.throwUnexpectedToken(this.lookahead); + } + var params = []; + var param = this.parsePattern(params); + var paramMap = {}; + for (var i = 0; i < params.length; i++) { + var key = "$" + params[i].value; + if (Object.prototype.hasOwnProperty.call(paramMap, key)) { + this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value); + } + paramMap[key] = true; + } + if (this.context.strict && param.type === syntax_1.Syntax.Identifier) { + if (this.scanner.isRestrictedWord(param.name)) { + this.tolerateError(messages_1.Messages.StrictCatchVariable); + } + } + this.expect(")"); + var body = this.parseBlock(); + return this.finalize(node, new Node.CatchClause(param, body)); + }; + Parser2.prototype.parseFinallyClause = function() { + this.expectKeyword("finally"); + return this.parseBlock(); + }; + Parser2.prototype.parseTryStatement = function() { + var node = this.createNode(); + this.expectKeyword("try"); + var block = this.parseBlock(); + var handler = this.matchKeyword("catch") ? this.parseCatchClause() : null; + var finalizer = this.matchKeyword("finally") ? this.parseFinallyClause() : null; + if (!handler && !finalizer) { + this.throwError(messages_1.Messages.NoCatchOrFinally); + } + return this.finalize(node, new Node.TryStatement(block, handler, finalizer)); + }; + Parser2.prototype.parseDebuggerStatement = function() { + var node = this.createNode(); + this.expectKeyword("debugger"); + this.consumeSemicolon(); + return this.finalize(node, new Node.DebuggerStatement()); + }; + Parser2.prototype.parseStatement = function() { + var statement; + switch (this.lookahead.type) { + case 1: + case 5: + case 6: + case 8: + case 10: + case 9: + statement = this.parseExpressionStatement(); + break; + case 7: + var value = this.lookahead.value; + if (value === "{") { + statement = this.parseBlock(); + } else if (value === "(") { + statement = this.parseExpressionStatement(); + } else if (value === ";") { + statement = this.parseEmptyStatement(); + } else { + statement = this.parseExpressionStatement(); + } + break; + case 3: + statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement(); + break; + case 4: + switch (this.lookahead.value) { + case "break": + statement = this.parseBreakStatement(); + break; + case "continue": + statement = this.parseContinueStatement(); + break; + case "debugger": + statement = this.parseDebuggerStatement(); + break; + case "do": + statement = this.parseDoWhileStatement(); + break; + case "for": + statement = this.parseForStatement(); + break; + case "function": + statement = this.parseFunctionDeclaration(); + break; + case "if": + statement = this.parseIfStatement(); + break; + case "return": + statement = this.parseReturnStatement(); + break; + case "switch": + statement = this.parseSwitchStatement(); + break; + case "throw": + statement = this.parseThrowStatement(); + break; + case "try": + statement = this.parseTryStatement(); + break; + case "var": + statement = this.parseVariableStatement(); + break; + case "while": + statement = this.parseWhileStatement(); + break; + case "with": + statement = this.parseWithStatement(); + break; + default: + statement = this.parseExpressionStatement(); + break; + } + break; + default: + statement = this.throwUnexpectedToken(this.lookahead); + } + return statement; + }; + Parser2.prototype.parseFunctionSourceElements = function() { + var node = this.createNode(); + this.expect("{"); + var body = this.parseDirectivePrologues(); + var previousLabelSet = this.context.labelSet; + var previousInIteration = this.context.inIteration; + var previousInSwitch = this.context.inSwitch; + var previousInFunctionBody = this.context.inFunctionBody; + this.context.labelSet = {}; + this.context.inIteration = false; + this.context.inSwitch = false; + this.context.inFunctionBody = true; + while (this.lookahead.type !== 2) { + if (this.match("}")) { + break; + } + body.push(this.parseStatementListItem()); + } + this.expect("}"); + this.context.labelSet = previousLabelSet; + this.context.inIteration = previousInIteration; + this.context.inSwitch = previousInSwitch; + this.context.inFunctionBody = previousInFunctionBody; + return this.finalize(node, new Node.BlockStatement(body)); + }; + Parser2.prototype.validateParam = function(options, param, name) { + var key = "$" + name; + if (this.context.strict) { + if (this.scanner.isRestrictedWord(name)) { + options.stricted = param; + options.message = messages_1.Messages.StrictParamName; + } + if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) { + options.stricted = param; + options.message = messages_1.Messages.StrictParamDupe; + } + } else if (!options.firstRestricted) { + if (this.scanner.isRestrictedWord(name)) { + options.firstRestricted = param; + options.message = messages_1.Messages.StrictParamName; + } else if (this.scanner.isStrictModeReservedWord(name)) { + options.firstRestricted = param; + options.message = messages_1.Messages.StrictReservedWord; + } else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) { + options.stricted = param; + options.message = messages_1.Messages.StrictParamDupe; + } + } + if (typeof Object.defineProperty === "function") { + Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true }); + } else { + options.paramSet[key] = true; + } + }; + Parser2.prototype.parseRestElement = function(params) { + var node = this.createNode(); + this.expect("..."); + var arg = this.parsePattern(params); + if (this.match("=")) { + this.throwError(messages_1.Messages.DefaultRestParameter); + } + if (!this.match(")")) { + this.throwError(messages_1.Messages.ParameterAfterRestParameter); + } + return this.finalize(node, new Node.RestElement(arg)); + }; + Parser2.prototype.parseFormalParameter = function(options) { + var params = []; + var param = this.match("...") ? this.parseRestElement(params) : this.parsePatternWithDefault(params); + for (var i = 0; i < params.length; i++) { + this.validateParam(options, params[i], params[i].value); + } + options.simple = options.simple && param instanceof Node.Identifier; + options.params.push(param); + }; + Parser2.prototype.parseFormalParameters = function(firstRestricted) { + var options; + options = { + simple: true, + params: [], + firstRestricted + }; + this.expect("("); + if (!this.match(")")) { + options.paramSet = {}; + while (this.lookahead.type !== 2) { + this.parseFormalParameter(options); + if (this.match(")")) { + break; + } + this.expect(","); + if (this.match(")")) { + break; + } + } + } + this.expect(")"); + return { + simple: options.simple, + params: options.params, + stricted: options.stricted, + firstRestricted: options.firstRestricted, + message: options.message + }; + }; + Parser2.prototype.matchAsyncFunction = function() { + var match = this.matchContextualKeyword("async"); + if (match) { + var state = this.scanner.saveState(); + this.scanner.scanComments(); + var next = this.scanner.lex(); + this.scanner.restoreState(state); + match = state.lineNumber === next.lineNumber && next.type === 4 && next.value === "function"; + } + return match; + }; + Parser2.prototype.parseFunctionDeclaration = function(identifierIsOptional) { + var node = this.createNode(); + var isAsync = this.matchContextualKeyword("async"); + if (isAsync) { + this.nextToken(); + } + this.expectKeyword("function"); + var isGenerator = isAsync ? false : this.match("*"); + if (isGenerator) { + this.nextToken(); + } + var message; + var id = null; + var firstRestricted = null; + if (!identifierIsOptional || !this.match("(")) { + var token = this.lookahead; + id = this.parseVariableIdentifier(); + if (this.context.strict) { + if (this.scanner.isRestrictedWord(token.value)) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName); + } + } else { + if (this.scanner.isRestrictedWord(token.value)) { + firstRestricted = token; + message = messages_1.Messages.StrictFunctionName; + } else if (this.scanner.isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = messages_1.Messages.StrictReservedWord; + } + } + } + var previousAllowAwait = this.context.await; + var previousAllowYield = this.context.allowYield; + this.context.await = isAsync; + this.context.allowYield = !isGenerator; + var formalParameters = this.parseFormalParameters(firstRestricted); + var params = formalParameters.params; + var stricted = formalParameters.stricted; + firstRestricted = formalParameters.firstRestricted; + if (formalParameters.message) { + message = formalParameters.message; + } + var previousStrict = this.context.strict; + var previousAllowStrictDirective = this.context.allowStrictDirective; + this.context.allowStrictDirective = formalParameters.simple; + var body = this.parseFunctionSourceElements(); + if (this.context.strict && firstRestricted) { + this.throwUnexpectedToken(firstRestricted, message); + } + if (this.context.strict && stricted) { + this.tolerateUnexpectedToken(stricted, message); + } + this.context.strict = previousStrict; + this.context.allowStrictDirective = previousAllowStrictDirective; + this.context.await = previousAllowAwait; + this.context.allowYield = previousAllowYield; + return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) : this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator)); + }; + Parser2.prototype.parseFunctionExpression = function() { + var node = this.createNode(); + var isAsync = this.matchContextualKeyword("async"); + if (isAsync) { + this.nextToken(); + } + this.expectKeyword("function"); + var isGenerator = isAsync ? false : this.match("*"); + if (isGenerator) { + this.nextToken(); + } + var message; + var id = null; + var firstRestricted; + var previousAllowAwait = this.context.await; + var previousAllowYield = this.context.allowYield; + this.context.await = isAsync; + this.context.allowYield = !isGenerator; + if (!this.match("(")) { + var token = this.lookahead; + id = !this.context.strict && !isGenerator && this.matchKeyword("yield") ? this.parseIdentifierName() : this.parseVariableIdentifier(); + if (this.context.strict) { + if (this.scanner.isRestrictedWord(token.value)) { + this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName); + } + } else { + if (this.scanner.isRestrictedWord(token.value)) { + firstRestricted = token; + message = messages_1.Messages.StrictFunctionName; + } else if (this.scanner.isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = messages_1.Messages.StrictReservedWord; + } + } + } + var formalParameters = this.parseFormalParameters(firstRestricted); + var params = formalParameters.params; + var stricted = formalParameters.stricted; + firstRestricted = formalParameters.firstRestricted; + if (formalParameters.message) { + message = formalParameters.message; + } + var previousStrict = this.context.strict; + var previousAllowStrictDirective = this.context.allowStrictDirective; + this.context.allowStrictDirective = formalParameters.simple; + var body = this.parseFunctionSourceElements(); + if (this.context.strict && firstRestricted) { + this.throwUnexpectedToken(firstRestricted, message); + } + if (this.context.strict && stricted) { + this.tolerateUnexpectedToken(stricted, message); + } + this.context.strict = previousStrict; + this.context.allowStrictDirective = previousAllowStrictDirective; + this.context.await = previousAllowAwait; + this.context.allowYield = previousAllowYield; + return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) : this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator)); + }; + Parser2.prototype.parseDirective = function() { + var token = this.lookahead; + var node = this.createNode(); + var expr = this.parseExpression(); + var directive = expr.type === syntax_1.Syntax.Literal ? this.getTokenRaw(token).slice(1, -1) : null; + this.consumeSemicolon(); + return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr)); + }; + Parser2.prototype.parseDirectivePrologues = function() { + var firstRestricted = null; + var body = []; + while (true) { + var token = this.lookahead; + if (token.type !== 8) { + break; + } + var statement = this.parseDirective(); + body.push(statement); + var directive = statement.directive; + if (typeof directive !== "string") { + break; + } + if (directive === "use strict") { + this.context.strict = true; + if (firstRestricted) { + this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral); + } + if (!this.context.allowStrictDirective) { + this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective); + } + } else { + if (!firstRestricted && token.octal) { + firstRestricted = token; + } + } + } + return body; + }; + Parser2.prototype.qualifiedPropertyName = function(token) { + switch (token.type) { + case 3: + case 8: + case 1: + case 5: + case 6: + case 4: + return true; + case 7: + return token.value === "["; + default: + break; + } + return false; + }; + Parser2.prototype.parseGetterMethod = function() { + var node = this.createNode(); + var isGenerator = false; + var previousAllowYield = this.context.allowYield; + this.context.allowYield = !isGenerator; + var formalParameters = this.parseFormalParameters(); + if (formalParameters.params.length > 0) { + this.tolerateError(messages_1.Messages.BadGetterArity); + } + var method = this.parsePropertyMethod(formalParameters); + this.context.allowYield = previousAllowYield; + return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator)); + }; + Parser2.prototype.parseSetterMethod = function() { + var node = this.createNode(); + var isGenerator = false; + var previousAllowYield = this.context.allowYield; + this.context.allowYield = !isGenerator; + var formalParameters = this.parseFormalParameters(); + if (formalParameters.params.length !== 1) { + this.tolerateError(messages_1.Messages.BadSetterArity); + } else if (formalParameters.params[0] instanceof Node.RestElement) { + this.tolerateError(messages_1.Messages.BadSetterRestParameter); + } + var method = this.parsePropertyMethod(formalParameters); + this.context.allowYield = previousAllowYield; + return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator)); + }; + Parser2.prototype.parseGeneratorMethod = function() { + var node = this.createNode(); + var isGenerator = true; + var previousAllowYield = this.context.allowYield; + this.context.allowYield = true; + var params = this.parseFormalParameters(); + this.context.allowYield = false; + var method = this.parsePropertyMethod(params); + this.context.allowYield = previousAllowYield; + return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator)); + }; + Parser2.prototype.isStartOfExpression = function() { + var start = true; + var value = this.lookahead.value; + switch (this.lookahead.type) { + case 7: + start = value === "[" || value === "(" || value === "{" || value === "+" || value === "-" || value === "!" || value === "~" || value === "++" || value === "--" || value === "/" || value === "/="; + break; + case 4: + start = value === "class" || value === "delete" || value === "function" || value === "let" || value === "new" || value === "super" || value === "this" || value === "typeof" || value === "void" || value === "yield"; + break; + default: + break; + } + return start; + }; + Parser2.prototype.parseYieldExpression = function() { + var node = this.createNode(); + this.expectKeyword("yield"); + var argument = null; + var delegate = false; + if (!this.hasLineTerminator) { + var previousAllowYield = this.context.allowYield; + this.context.allowYield = false; + delegate = this.match("*"); + if (delegate) { + this.nextToken(); + argument = this.parseAssignmentExpression(); + } else if (this.isStartOfExpression()) { + argument = this.parseAssignmentExpression(); + } + this.context.allowYield = previousAllowYield; + } + return this.finalize(node, new Node.YieldExpression(argument, delegate)); + }; + Parser2.prototype.parseClassElement = function(hasConstructor) { + var token = this.lookahead; + var node = this.createNode(); + var kind = ""; + var key = null; + var value = null; + var computed = false; + var method = false; + var isStatic = false; + var isAsync = false; + if (this.match("*")) { + this.nextToken(); + } else { + computed = this.match("["); + key = this.parseObjectPropertyKey(); + var id = key; + if (id.name === "static" && (this.qualifiedPropertyName(this.lookahead) || this.match("*"))) { + token = this.lookahead; + isStatic = true; + computed = this.match("["); + if (this.match("*")) { + this.nextToken(); + } else { + key = this.parseObjectPropertyKey(); + } + } + if (token.type === 3 && !this.hasLineTerminator && token.value === "async") { + var punctuator = this.lookahead.value; + if (punctuator !== ":" && punctuator !== "(" && punctuator !== "*") { + isAsync = true; + token = this.lookahead; + key = this.parseObjectPropertyKey(); + if (token.type === 3 && token.value === "constructor") { + this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync); + } + } + } + } + var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead); + if (token.type === 3) { + if (token.value === "get" && lookaheadPropertyKey) { + kind = "get"; + computed = this.match("["); + key = this.parseObjectPropertyKey(); + this.context.allowYield = false; + value = this.parseGetterMethod(); + } else if (token.value === "set" && lookaheadPropertyKey) { + kind = "set"; + computed = this.match("["); + key = this.parseObjectPropertyKey(); + value = this.parseSetterMethod(); + } + } else if (token.type === 7 && token.value === "*" && lookaheadPropertyKey) { + kind = "init"; + computed = this.match("["); + key = this.parseObjectPropertyKey(); + value = this.parseGeneratorMethod(); + method = true; + } + if (!kind && key && this.match("(")) { + kind = "init"; + value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction(); + method = true; + } + if (!kind) { + this.throwUnexpectedToken(this.lookahead); + } + if (kind === "init") { + kind = "method"; + } + if (!computed) { + if (isStatic && this.isPropertyKey(key, "prototype")) { + this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype); + } + if (!isStatic && this.isPropertyKey(key, "constructor")) { + if (kind !== "method" || !method || value && value.generator) { + this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod); + } + if (hasConstructor.value) { + this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor); + } else { + hasConstructor.value = true; + } + kind = "constructor"; + } + } + return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic)); + }; + Parser2.prototype.parseClassElementList = function() { + var body = []; + var hasConstructor = { value: false }; + this.expect("{"); + while (!this.match("}")) { + if (this.match(";")) { + this.nextToken(); + } else { + body.push(this.parseClassElement(hasConstructor)); + } + } + this.expect("}"); + return body; + }; + Parser2.prototype.parseClassBody = function() { + var node = this.createNode(); + var elementList = this.parseClassElementList(); + return this.finalize(node, new Node.ClassBody(elementList)); + }; + Parser2.prototype.parseClassDeclaration = function(identifierIsOptional) { + var node = this.createNode(); + var previousStrict = this.context.strict; + this.context.strict = true; + this.expectKeyword("class"); + var id = identifierIsOptional && this.lookahead.type !== 3 ? null : this.parseVariableIdentifier(); + var superClass = null; + if (this.matchKeyword("extends")) { + this.nextToken(); + superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall); + } + var classBody = this.parseClassBody(); + this.context.strict = previousStrict; + return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody)); + }; + Parser2.prototype.parseClassExpression = function() { + var node = this.createNode(); + var previousStrict = this.context.strict; + this.context.strict = true; + this.expectKeyword("class"); + var id = this.lookahead.type === 3 ? this.parseVariableIdentifier() : null; + var superClass = null; + if (this.matchKeyword("extends")) { + this.nextToken(); + superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall); + } + var classBody = this.parseClassBody(); + this.context.strict = previousStrict; + return this.finalize(node, new Node.ClassExpression(id, superClass, classBody)); + }; + Parser2.prototype.parseModule = function() { + this.context.strict = true; + this.context.isModule = true; + this.scanner.isModule = true; + var node = this.createNode(); + var body = this.parseDirectivePrologues(); + while (this.lookahead.type !== 2) { + body.push(this.parseStatementListItem()); + } + return this.finalize(node, new Node.Module(body)); + }; + Parser2.prototype.parseScript = function() { + var node = this.createNode(); + var body = this.parseDirectivePrologues(); + while (this.lookahead.type !== 2) { + body.push(this.parseStatementListItem()); + } + return this.finalize(node, new Node.Script(body)); + }; + Parser2.prototype.parseModuleSpecifier = function() { + var node = this.createNode(); + if (this.lookahead.type !== 8) { + this.throwError(messages_1.Messages.InvalidModuleSpecifier); + } + var token = this.nextToken(); + var raw = this.getTokenRaw(token); + return this.finalize(node, new Node.Literal(token.value, raw)); + }; + Parser2.prototype.parseImportSpecifier = function() { + var node = this.createNode(); + var imported; + var local; + if (this.lookahead.type === 3) { + imported = this.parseVariableIdentifier(); + local = imported; + if (this.matchContextualKeyword("as")) { + this.nextToken(); + local = this.parseVariableIdentifier(); + } + } else { + imported = this.parseIdentifierName(); + local = imported; + if (this.matchContextualKeyword("as")) { + this.nextToken(); + local = this.parseVariableIdentifier(); + } else { + this.throwUnexpectedToken(this.nextToken()); + } + } + return this.finalize(node, new Node.ImportSpecifier(local, imported)); + }; + Parser2.prototype.parseNamedImports = function() { + this.expect("{"); + var specifiers = []; + while (!this.match("}")) { + specifiers.push(this.parseImportSpecifier()); + if (!this.match("}")) { + this.expect(","); + } + } + this.expect("}"); + return specifiers; + }; + Parser2.prototype.parseImportDefaultSpecifier = function() { + var node = this.createNode(); + var local = this.parseIdentifierName(); + return this.finalize(node, new Node.ImportDefaultSpecifier(local)); + }; + Parser2.prototype.parseImportNamespaceSpecifier = function() { + var node = this.createNode(); + this.expect("*"); + if (!this.matchContextualKeyword("as")) { + this.throwError(messages_1.Messages.NoAsAfterImportNamespace); + } + this.nextToken(); + var local = this.parseIdentifierName(); + return this.finalize(node, new Node.ImportNamespaceSpecifier(local)); + }; + Parser2.prototype.parseImportDeclaration = function() { + if (this.context.inFunctionBody) { + this.throwError(messages_1.Messages.IllegalImportDeclaration); + } + var node = this.createNode(); + this.expectKeyword("import"); + var src; + var specifiers = []; + if (this.lookahead.type === 8) { + src = this.parseModuleSpecifier(); + } else { + if (this.match("{")) { + specifiers = specifiers.concat(this.parseNamedImports()); + } else if (this.match("*")) { + specifiers.push(this.parseImportNamespaceSpecifier()); + } else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword("default")) { + specifiers.push(this.parseImportDefaultSpecifier()); + if (this.match(",")) { + this.nextToken(); + if (this.match("*")) { + specifiers.push(this.parseImportNamespaceSpecifier()); + } else if (this.match("{")) { + specifiers = specifiers.concat(this.parseNamedImports()); + } else { + this.throwUnexpectedToken(this.lookahead); + } + } + } else { + this.throwUnexpectedToken(this.nextToken()); + } + if (!this.matchContextualKeyword("from")) { + var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause; + this.throwError(message, this.lookahead.value); + } + this.nextToken(); + src = this.parseModuleSpecifier(); + } + this.consumeSemicolon(); + return this.finalize(node, new Node.ImportDeclaration(specifiers, src)); + }; + Parser2.prototype.parseExportSpecifier = function() { + var node = this.createNode(); + var local = this.parseIdentifierName(); + var exported = local; + if (this.matchContextualKeyword("as")) { + this.nextToken(); + exported = this.parseIdentifierName(); + } + return this.finalize(node, new Node.ExportSpecifier(local, exported)); + }; + Parser2.prototype.parseExportDeclaration = function() { + if (this.context.inFunctionBody) { + this.throwError(messages_1.Messages.IllegalExportDeclaration); + } + var node = this.createNode(); + this.expectKeyword("export"); + var exportDeclaration; + if (this.matchKeyword("default")) { + this.nextToken(); + if (this.matchKeyword("function")) { + var declaration = this.parseFunctionDeclaration(true); + exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); + } else if (this.matchKeyword("class")) { + var declaration = this.parseClassDeclaration(true); + exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); + } else if (this.matchContextualKeyword("async")) { + var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression(); + exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); + } else { + if (this.matchContextualKeyword("from")) { + this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value); + } + var declaration = this.match("{") ? this.parseObjectInitializer() : this.match("[") ? this.parseArrayInitializer() : this.parseAssignmentExpression(); + this.consumeSemicolon(); + exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration)); + } + } else if (this.match("*")) { + this.nextToken(); + if (!this.matchContextualKeyword("from")) { + var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause; + this.throwError(message, this.lookahead.value); + } + this.nextToken(); + var src = this.parseModuleSpecifier(); + this.consumeSemicolon(); + exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src)); + } else if (this.lookahead.type === 4) { + var declaration = void 0; + switch (this.lookahead.value) { + case "let": + case "const": + declaration = this.parseLexicalDeclaration({ inFor: false }); + break; + case "var": + case "class": + case "function": + declaration = this.parseStatementListItem(); + break; + default: + this.throwUnexpectedToken(this.lookahead); + } + exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null)); + } else if (this.matchAsyncFunction()) { + var declaration = this.parseFunctionDeclaration(); + exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null)); + } else { + var specifiers = []; + var source = null; + var isExportFromIdentifier = false; + this.expect("{"); + while (!this.match("}")) { + isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword("default"); + specifiers.push(this.parseExportSpecifier()); + if (!this.match("}")) { + this.expect(","); + } + } + this.expect("}"); + if (this.matchContextualKeyword("from")) { + this.nextToken(); + source = this.parseModuleSpecifier(); + this.consumeSemicolon(); + } else if (isExportFromIdentifier) { + var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause; + this.throwError(message, this.lookahead.value); + } else { + this.consumeSemicolon(); + } + exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source)); + } + return exportDeclaration; + }; + return Parser2; + }(); + exports2.Parser = Parser; + }, + /* 9 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + function assert2(condition, message) { + if (!condition) { + throw new Error("ASSERT: " + message); + } + } + exports2.assert = assert2; + }, + /* 10 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var ErrorHandler = function() { + function ErrorHandler2() { + this.errors = []; + this.tolerant = false; + } + ErrorHandler2.prototype.recordError = function(error) { + this.errors.push(error); + }; + ErrorHandler2.prototype.tolerate = function(error) { + if (this.tolerant) { + this.recordError(error); + } else { + throw error; + } + }; + ErrorHandler2.prototype.constructError = function(msg, column) { + var error = new Error(msg); + try { + throw error; + } catch (base) { + if (Object.create && Object.defineProperty) { + error = Object.create(base); + Object.defineProperty(error, "column", { value: column }); + } + } + return error; + }; + ErrorHandler2.prototype.createError = function(index, line, col, description) { + var msg = "Line " + line + ": " + description; + var error = this.constructError(msg, col); + error.index = index; + error.lineNumber = line; + error.description = description; + return error; + }; + ErrorHandler2.prototype.throwError = function(index, line, col, description) { + throw this.createError(index, line, col, description); + }; + ErrorHandler2.prototype.tolerateError = function(index, line, col, description) { + var error = this.createError(index, line, col, description); + if (this.tolerant) { + this.recordError(error); + } else { + throw error; + } + }; + return ErrorHandler2; + }(); + exports2.ErrorHandler = ErrorHandler; + }, + /* 11 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.Messages = { + BadGetterArity: "Getter must not have any formal parameters", + BadSetterArity: "Setter must have exactly one formal parameter", + BadSetterRestParameter: "Setter function argument must not be a rest parameter", + ConstructorIsAsync: "Class constructor may not be an async method", + ConstructorSpecialMethod: "Class constructor may not be an accessor", + DeclarationMissingInitializer: "Missing initializer in %0 declaration", + DefaultRestParameter: "Unexpected token =", + DuplicateBinding: "Duplicate binding %0", + DuplicateConstructor: "A class may only have one constructor", + DuplicateProtoProperty: "Duplicate __proto__ fields are not allowed in object literals", + ForInOfLoopInitializer: "%0 loop variable declaration may not have an initializer", + GeneratorInLegacyContext: "Generator declarations are not allowed in legacy contexts", + IllegalBreak: "Illegal break statement", + IllegalContinue: "Illegal continue statement", + IllegalExportDeclaration: "Unexpected token", + IllegalImportDeclaration: "Unexpected token", + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list", + IllegalReturn: "Illegal return statement", + InvalidEscapedReservedWord: "Keyword must not contain escaped characters", + InvalidHexEscapeSequence: "Invalid hexadecimal escape sequence", + InvalidLHSInAssignment: "Invalid left-hand side in assignment", + InvalidLHSInForIn: "Invalid left-hand side in for-in", + InvalidLHSInForLoop: "Invalid left-hand side in for-loop", + InvalidModuleSpecifier: "Unexpected token", + InvalidRegExp: "Invalid regular expression", + LetInLexicalBinding: "let is disallowed as a lexically bound name", + MissingFromClause: "Unexpected token", + MultipleDefaultsInSwitch: "More than one default clause in switch statement", + NewlineAfterThrow: "Illegal newline after throw", + NoAsAfterImportNamespace: "Unexpected token", + NoCatchOrFinally: "Missing catch or finally after try", + ParameterAfterRestParameter: "Rest parameter must be last formal parameter", + Redeclaration: "%0 '%1' has already been declared", + StaticPrototype: "Classes may not have static property named prototype", + StrictCatchVariable: "Catch variable may not be eval or arguments in strict mode", + StrictDelete: "Delete of an unqualified identifier in strict mode.", + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block", + StrictFunctionName: "Function name may not be eval or arguments in strict mode", + StrictLHSAssignment: "Assignment to eval or arguments is not allowed in strict mode", + StrictLHSPostfix: "Postfix increment/decrement may not have eval or arguments operand in strict mode", + StrictLHSPrefix: "Prefix increment/decrement may not have eval or arguments operand in strict mode", + StrictModeWith: "Strict mode code may not include a with statement", + StrictOctalLiteral: "Octal literals are not allowed in strict mode.", + StrictParamDupe: "Strict mode function may not have duplicate parameter names", + StrictParamName: "Parameter name eval or arguments is not allowed in strict mode", + StrictReservedWord: "Use of future reserved word in strict mode", + StrictVarName: "Variable name may not be eval or arguments in strict mode", + TemplateOctalLiteral: "Octal literals are not allowed in template strings.", + UnexpectedEOS: "Unexpected end of input", + UnexpectedIdentifier: "Unexpected identifier", + UnexpectedNumber: "Unexpected number", + UnexpectedReserved: "Unexpected reserved word", + UnexpectedString: "Unexpected string", + UnexpectedTemplate: "Unexpected quasi %0", + UnexpectedToken: "Unexpected token %0", + UnexpectedTokenIllegal: "Unexpected token ILLEGAL", + UnknownLabel: "Undefined label '%0'", + UnterminatedRegExp: "Invalid regular expression: missing /" + }; + }, + /* 12 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var assert_1 = __webpack_require__(9); + var character_1 = __webpack_require__(4); + var messages_1 = __webpack_require__(11); + function hexValue(ch) { + return "0123456789abcdef".indexOf(ch.toLowerCase()); + } + function octalValue(ch) { + return "01234567".indexOf(ch); + } + var Scanner = function() { + function Scanner2(code, handler) { + this.source = code; + this.errorHandler = handler; + this.trackComment = false; + this.isModule = false; + this.length = code.length; + this.index = 0; + this.lineNumber = code.length > 0 ? 1 : 0; + this.lineStart = 0; + this.curlyStack = []; + } + Scanner2.prototype.saveState = function() { + return { + index: this.index, + lineNumber: this.lineNumber, + lineStart: this.lineStart + }; + }; + Scanner2.prototype.restoreState = function(state) { + this.index = state.index; + this.lineNumber = state.lineNumber; + this.lineStart = state.lineStart; + }; + Scanner2.prototype.eof = function() { + return this.index >= this.length; + }; + Scanner2.prototype.throwUnexpectedToken = function(message) { + if (message === void 0) { + message = messages_1.Messages.UnexpectedTokenIllegal; + } + return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message); + }; + Scanner2.prototype.tolerateUnexpectedToken = function(message) { + if (message === void 0) { + message = messages_1.Messages.UnexpectedTokenIllegal; + } + this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message); + }; + Scanner2.prototype.skipSingleLineComment = function(offset) { + var comments = []; + var start, loc; + if (this.trackComment) { + comments = []; + start = this.index - offset; + loc = { + start: { + line: this.lineNumber, + column: this.index - this.lineStart - offset + }, + end: {} + }; + } + while (!this.eof()) { + var ch = this.source.charCodeAt(this.index); + ++this.index; + if (character_1.Character.isLineTerminator(ch)) { + if (this.trackComment) { + loc.end = { + line: this.lineNumber, + column: this.index - this.lineStart - 1 + }; + var entry = { + multiLine: false, + slice: [start + offset, this.index - 1], + range: [start, this.index - 1], + loc + }; + comments.push(entry); + } + if (ch === 13 && this.source.charCodeAt(this.index) === 10) { + ++this.index; + } + ++this.lineNumber; + this.lineStart = this.index; + return comments; + } + } + if (this.trackComment) { + loc.end = { + line: this.lineNumber, + column: this.index - this.lineStart + }; + var entry = { + multiLine: false, + slice: [start + offset, this.index], + range: [start, this.index], + loc + }; + comments.push(entry); + } + return comments; + }; + Scanner2.prototype.skipMultiLineComment = function() { + var comments = []; + var start, loc; + if (this.trackComment) { + comments = []; + start = this.index - 2; + loc = { + start: { + line: this.lineNumber, + column: this.index - this.lineStart - 2 + }, + end: {} + }; + } + while (!this.eof()) { + var ch = this.source.charCodeAt(this.index); + if (character_1.Character.isLineTerminator(ch)) { + if (ch === 13 && this.source.charCodeAt(this.index + 1) === 10) { + ++this.index; + } + ++this.lineNumber; + ++this.index; + this.lineStart = this.index; + } else if (ch === 42) { + if (this.source.charCodeAt(this.index + 1) === 47) { + this.index += 2; + if (this.trackComment) { + loc.end = { + line: this.lineNumber, + column: this.index - this.lineStart + }; + var entry = { + multiLine: true, + slice: [start + 2, this.index - 2], + range: [start, this.index], + loc + }; + comments.push(entry); + } + return comments; + } + ++this.index; + } else { + ++this.index; + } + } + if (this.trackComment) { + loc.end = { + line: this.lineNumber, + column: this.index - this.lineStart + }; + var entry = { + multiLine: true, + slice: [start + 2, this.index], + range: [start, this.index], + loc + }; + comments.push(entry); + } + this.tolerateUnexpectedToken(); + return comments; + }; + Scanner2.prototype.scanComments = function() { + var comments; + if (this.trackComment) { + comments = []; + } + var start = this.index === 0; + while (!this.eof()) { + var ch = this.source.charCodeAt(this.index); + if (character_1.Character.isWhiteSpace(ch)) { + ++this.index; + } else if (character_1.Character.isLineTerminator(ch)) { + ++this.index; + if (ch === 13 && this.source.charCodeAt(this.index) === 10) { + ++this.index; + } + ++this.lineNumber; + this.lineStart = this.index; + start = true; + } else if (ch === 47) { + ch = this.source.charCodeAt(this.index + 1); + if (ch === 47) { + this.index += 2; + var comment = this.skipSingleLineComment(2); + if (this.trackComment) { + comments = comments.concat(comment); + } + start = true; + } else if (ch === 42) { + this.index += 2; + var comment = this.skipMultiLineComment(); + if (this.trackComment) { + comments = comments.concat(comment); + } + } else { + break; + } + } else if (start && ch === 45) { + if (this.source.charCodeAt(this.index + 1) === 45 && this.source.charCodeAt(this.index + 2) === 62) { + this.index += 3; + var comment = this.skipSingleLineComment(3); + if (this.trackComment) { + comments = comments.concat(comment); + } + } else { + break; + } + } else if (ch === 60 && !this.isModule) { + if (this.source.slice(this.index + 1, this.index + 4) === "!--") { + this.index += 4; + var comment = this.skipSingleLineComment(4); + if (this.trackComment) { + comments = comments.concat(comment); + } + } else { + break; + } + } else { + break; + } + } + return comments; + }; + Scanner2.prototype.isFutureReservedWord = function(id) { + switch (id) { + case "enum": + case "export": + case "import": + case "super": + return true; + default: + return false; + } + }; + Scanner2.prototype.isStrictModeReservedWord = function(id) { + switch (id) { + case "implements": + case "interface": + case "package": + case "private": + case "protected": + case "public": + case "static": + case "yield": + case "let": + return true; + default: + return false; + } + }; + Scanner2.prototype.isRestrictedWord = function(id) { + return id === "eval" || id === "arguments"; + }; + Scanner2.prototype.isKeyword = function(id) { + switch (id.length) { + case 2: + return id === "if" || id === "in" || id === "do"; + case 3: + return id === "var" || id === "for" || id === "new" || id === "try" || id === "let"; + case 4: + return id === "this" || id === "else" || id === "case" || id === "void" || id === "with" || id === "enum"; + case 5: + return id === "while" || id === "break" || id === "catch" || id === "throw" || id === "const" || id === "yield" || id === "class" || id === "super"; + case 6: + return id === "return" || id === "typeof" || id === "delete" || id === "switch" || id === "export" || id === "import"; + case 7: + return id === "default" || id === "finally" || id === "extends"; + case 8: + return id === "function" || id === "continue" || id === "debugger"; + case 10: + return id === "instanceof"; + default: + return false; + } + }; + Scanner2.prototype.codePointAt = function(i) { + var cp = this.source.charCodeAt(i); + if (cp >= 55296 && cp <= 56319) { + var second = this.source.charCodeAt(i + 1); + if (second >= 56320 && second <= 57343) { + var first = cp; + cp = (first - 55296) * 1024 + second - 56320 + 65536; + } + } + return cp; + }; + Scanner2.prototype.scanHexEscape = function(prefix) { + var len = prefix === "u" ? 4 : 2; + var code = 0; + for (var i = 0; i < len; ++i) { + if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) { + code = code * 16 + hexValue(this.source[this.index++]); + } else { + return null; + } + } + return String.fromCharCode(code); + }; + Scanner2.prototype.scanUnicodeCodePointEscape = function() { + var ch = this.source[this.index]; + var code = 0; + if (ch === "}") { + this.throwUnexpectedToken(); + } + while (!this.eof()) { + ch = this.source[this.index++]; + if (!character_1.Character.isHexDigit(ch.charCodeAt(0))) { + break; + } + code = code * 16 + hexValue(ch); + } + if (code > 1114111 || ch !== "}") { + this.throwUnexpectedToken(); + } + return character_1.Character.fromCodePoint(code); + }; + Scanner2.prototype.getIdentifier = function() { + var start = this.index++; + while (!this.eof()) { + var ch = this.source.charCodeAt(this.index); + if (ch === 92) { + this.index = start; + return this.getComplexIdentifier(); + } else if (ch >= 55296 && ch < 57343) { + this.index = start; + return this.getComplexIdentifier(); + } + if (character_1.Character.isIdentifierPart(ch)) { + ++this.index; + } else { + break; + } + } + return this.source.slice(start, this.index); + }; + Scanner2.prototype.getComplexIdentifier = function() { + var cp = this.codePointAt(this.index); + var id = character_1.Character.fromCodePoint(cp); + this.index += id.length; + var ch; + if (cp === 92) { + if (this.source.charCodeAt(this.index) !== 117) { + this.throwUnexpectedToken(); + } + ++this.index; + if (this.source[this.index] === "{") { + ++this.index; + ch = this.scanUnicodeCodePointEscape(); + } else { + ch = this.scanHexEscape("u"); + if (ch === null || ch === "\\" || !character_1.Character.isIdentifierStart(ch.charCodeAt(0))) { + this.throwUnexpectedToken(); + } + } + id = ch; + } + while (!this.eof()) { + cp = this.codePointAt(this.index); + if (!character_1.Character.isIdentifierPart(cp)) { + break; + } + ch = character_1.Character.fromCodePoint(cp); + id += ch; + this.index += ch.length; + if (cp === 92) { + id = id.substr(0, id.length - 1); + if (this.source.charCodeAt(this.index) !== 117) { + this.throwUnexpectedToken(); + } + ++this.index; + if (this.source[this.index] === "{") { + ++this.index; + ch = this.scanUnicodeCodePointEscape(); + } else { + ch = this.scanHexEscape("u"); + if (ch === null || ch === "\\" || !character_1.Character.isIdentifierPart(ch.charCodeAt(0))) { + this.throwUnexpectedToken(); + } + } + id += ch; + } + } + return id; + }; + Scanner2.prototype.octalToDecimal = function(ch) { + var octal = ch !== "0"; + var code = octalValue(ch); + if (!this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) { + octal = true; + code = code * 8 + octalValue(this.source[this.index++]); + if ("0123".indexOf(ch) >= 0 && !this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) { + code = code * 8 + octalValue(this.source[this.index++]); + } + } + return { + code, + octal + }; + }; + Scanner2.prototype.scanIdentifier = function() { + var type; + var start = this.index; + var id = this.source.charCodeAt(start) === 92 ? this.getComplexIdentifier() : this.getIdentifier(); + if (id.length === 1) { + type = 3; + } else if (this.isKeyword(id)) { + type = 4; + } else if (id === "null") { + type = 5; + } else if (id === "true" || id === "false") { + type = 1; + } else { + type = 3; + } + if (type !== 3 && start + id.length !== this.index) { + var restore = this.index; + this.index = start; + this.tolerateUnexpectedToken(messages_1.Messages.InvalidEscapedReservedWord); + this.index = restore; + } + return { + type, + value: id, + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.scanPunctuator = function() { + var start = this.index; + var str = this.source[this.index]; + switch (str) { + case "(": + case "{": + if (str === "{") { + this.curlyStack.push("{"); + } + ++this.index; + break; + case ".": + ++this.index; + if (this.source[this.index] === "." && this.source[this.index + 1] === ".") { + this.index += 2; + str = "..."; + } + break; + case "}": + ++this.index; + this.curlyStack.pop(); + break; + case ")": + case ";": + case ",": + case "[": + case "]": + case ":": + case "?": + case "~": + ++this.index; + break; + default: + str = this.source.substr(this.index, 4); + if (str === ">>>=") { + this.index += 4; + } else { + str = str.substr(0, 3); + if (str === "===" || str === "!==" || str === ">>>" || str === "<<=" || str === ">>=" || str === "**=") { + this.index += 3; + } else { + str = str.substr(0, 2); + if (str === "&&" || str === "||" || str === "==" || str === "!=" || str === "+=" || str === "-=" || str === "*=" || str === "/=" || str === "++" || str === "--" || str === "<<" || str === ">>" || str === "&=" || str === "|=" || str === "^=" || str === "%=" || str === "<=" || str === ">=" || str === "=>" || str === "**") { + this.index += 2; + } else { + str = this.source[this.index]; + if ("<>=!+-*%&|^/".indexOf(str) >= 0) { + ++this.index; + } + } + } + } + } + if (this.index === start) { + this.throwUnexpectedToken(); + } + return { + type: 7, + value: str, + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.scanHexLiteral = function(start) { + var num = ""; + while (!this.eof()) { + if (!character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) { + break; + } + num += this.source[this.index++]; + } + if (num.length === 0) { + this.throwUnexpectedToken(); + } + if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) { + this.throwUnexpectedToken(); + } + return { + type: 6, + value: parseInt("0x" + num, 16), + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.scanBinaryLiteral = function(start) { + var num = ""; + var ch; + while (!this.eof()) { + ch = this.source[this.index]; + if (ch !== "0" && ch !== "1") { + break; + } + num += this.source[this.index++]; + } + if (num.length === 0) { + this.throwUnexpectedToken(); + } + if (!this.eof()) { + ch = this.source.charCodeAt(this.index); + if (character_1.Character.isIdentifierStart(ch) || character_1.Character.isDecimalDigit(ch)) { + this.throwUnexpectedToken(); + } + } + return { + type: 6, + value: parseInt(num, 2), + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.scanOctalLiteral = function(prefix, start) { + var num = ""; + var octal = false; + if (character_1.Character.isOctalDigit(prefix.charCodeAt(0))) { + octal = true; + num = "0" + this.source[this.index++]; + } else { + ++this.index; + } + while (!this.eof()) { + if (!character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) { + break; + } + num += this.source[this.index++]; + } + if (!octal && num.length === 0) { + this.throwUnexpectedToken(); + } + if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index)) || character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { + this.throwUnexpectedToken(); + } + return { + type: 6, + value: parseInt(num, 8), + octal, + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.isImplicitOctalLiteral = function() { + for (var i = this.index + 1; i < this.length; ++i) { + var ch = this.source[i]; + if (ch === "8" || ch === "9") { + return false; + } + if (!character_1.Character.isOctalDigit(ch.charCodeAt(0))) { + return true; + } + } + return true; + }; + Scanner2.prototype.scanNumericLiteral = function() { + var start = this.index; + var ch = this.source[start]; + assert_1.assert(character_1.Character.isDecimalDigit(ch.charCodeAt(0)) || ch === ".", "Numeric literal must start with a decimal digit or a decimal point"); + var num = ""; + if (ch !== ".") { + num = this.source[this.index++]; + ch = this.source[this.index]; + if (num === "0") { + if (ch === "x" || ch === "X") { + ++this.index; + return this.scanHexLiteral(start); + } + if (ch === "b" || ch === "B") { + ++this.index; + return this.scanBinaryLiteral(start); + } + if (ch === "o" || ch === "O") { + return this.scanOctalLiteral(ch, start); + } + if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) { + if (this.isImplicitOctalLiteral()) { + return this.scanOctalLiteral(ch, start); + } + } + } + while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { + num += this.source[this.index++]; + } + ch = this.source[this.index]; + } + if (ch === ".") { + num += this.source[this.index++]; + while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { + num += this.source[this.index++]; + } + ch = this.source[this.index]; + } + if (ch === "e" || ch === "E") { + num += this.source[this.index++]; + ch = this.source[this.index]; + if (ch === "+" || ch === "-") { + num += this.source[this.index++]; + } + if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { + while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { + num += this.source[this.index++]; + } + } else { + this.throwUnexpectedToken(); + } + } + if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) { + this.throwUnexpectedToken(); + } + return { + type: 6, + value: parseFloat(num), + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.scanStringLiteral = function() { + var start = this.index; + var quote = this.source[start]; + assert_1.assert(quote === "'" || quote === '"', "String literal must starts with a quote"); + ++this.index; + var octal = false; + var str = ""; + while (!this.eof()) { + var ch = this.source[this.index++]; + if (ch === quote) { + quote = ""; + break; + } else if (ch === "\\") { + ch = this.source[this.index++]; + if (!ch || !character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + switch (ch) { + case "u": + if (this.source[this.index] === "{") { + ++this.index; + str += this.scanUnicodeCodePointEscape(); + } else { + var unescaped_1 = this.scanHexEscape(ch); + if (unescaped_1 === null) { + this.throwUnexpectedToken(); + } + str += unescaped_1; + } + break; + case "x": + var unescaped = this.scanHexEscape(ch); + if (unescaped === null) { + this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence); + } + str += unescaped; + break; + case "n": + str += "\n"; + break; + case "r": + str += "\r"; + break; + case "t": + str += " "; + break; + case "b": + str += "\b"; + break; + case "f": + str += "\f"; + break; + case "v": + str += "\v"; + break; + case "8": + case "9": + str += ch; + this.tolerateUnexpectedToken(); + break; + default: + if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) { + var octToDec = this.octalToDecimal(ch); + octal = octToDec.octal || octal; + str += String.fromCharCode(octToDec.code); + } else { + str += ch; + } + break; + } + } else { + ++this.lineNumber; + if (ch === "\r" && this.source[this.index] === "\n") { + ++this.index; + } + this.lineStart = this.index; + } + } else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + break; + } else { + str += ch; + } + } + if (quote !== "") { + this.index = start; + this.throwUnexpectedToken(); + } + return { + type: 8, + value: str, + octal, + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.scanTemplate = function() { + var cooked = ""; + var terminated = false; + var start = this.index; + var head = this.source[start] === "`"; + var tail = false; + var rawOffset = 2; + ++this.index; + while (!this.eof()) { + var ch = this.source[this.index++]; + if (ch === "`") { + rawOffset = 1; + tail = true; + terminated = true; + break; + } else if (ch === "$") { + if (this.source[this.index] === "{") { + this.curlyStack.push("${"); + ++this.index; + terminated = true; + break; + } + cooked += ch; + } else if (ch === "\\") { + ch = this.source[this.index++]; + if (!character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + switch (ch) { + case "n": + cooked += "\n"; + break; + case "r": + cooked += "\r"; + break; + case "t": + cooked += " "; + break; + case "u": + if (this.source[this.index] === "{") { + ++this.index; + cooked += this.scanUnicodeCodePointEscape(); + } else { + var restore = this.index; + var unescaped_2 = this.scanHexEscape(ch); + if (unescaped_2 !== null) { + cooked += unescaped_2; + } else { + this.index = restore; + cooked += ch; + } + } + break; + case "x": + var unescaped = this.scanHexEscape(ch); + if (unescaped === null) { + this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence); + } + cooked += unescaped; + break; + case "b": + cooked += "\b"; + break; + case "f": + cooked += "\f"; + break; + case "v": + cooked += "\v"; + break; + default: + if (ch === "0") { + if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) { + this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral); + } + cooked += "\0"; + } else if (character_1.Character.isOctalDigit(ch.charCodeAt(0))) { + this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral); + } else { + cooked += ch; + } + break; + } + } else { + ++this.lineNumber; + if (ch === "\r" && this.source[this.index] === "\n") { + ++this.index; + } + this.lineStart = this.index; + } + } else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + ++this.lineNumber; + if (ch === "\r" && this.source[this.index] === "\n") { + ++this.index; + } + this.lineStart = this.index; + cooked += "\n"; + } else { + cooked += ch; + } + } + if (!terminated) { + this.throwUnexpectedToken(); + } + if (!head) { + this.curlyStack.pop(); + } + return { + type: 10, + value: this.source.slice(start + 1, this.index - rawOffset), + cooked, + head, + tail, + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.testRegExp = function(pattern, flags) { + var astralSubstitute = "\uFFFF"; + var tmp = pattern; + var self2 = this; + if (flags.indexOf("u") >= 0) { + tmp = tmp.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g, function($0, $1, $2) { + var codePoint = parseInt($1 || $2, 16); + if (codePoint > 1114111) { + self2.throwUnexpectedToken(messages_1.Messages.InvalidRegExp); + } + if (codePoint <= 65535) { + return String.fromCharCode(codePoint); + } + return astralSubstitute; + }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, astralSubstitute); + } + try { + RegExp(tmp); + } catch (e) { + this.throwUnexpectedToken(messages_1.Messages.InvalidRegExp); + } + try { + return new RegExp(pattern, flags); + } catch (exception) { + return null; + } + }; + Scanner2.prototype.scanRegExpBody = function() { + var ch = this.source[this.index]; + assert_1.assert(ch === "/", "Regular expression literal must start with a slash"); + var str = this.source[this.index++]; + var classMarker = false; + var terminated = false; + while (!this.eof()) { + ch = this.source[this.index++]; + str += ch; + if (ch === "\\") { + ch = this.source[this.index++]; + if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp); + } + str += ch; + } else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) { + this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp); + } else if (classMarker) { + if (ch === "]") { + classMarker = false; + } + } else { + if (ch === "/") { + terminated = true; + break; + } else if (ch === "[") { + classMarker = true; + } + } + } + if (!terminated) { + this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp); + } + return str.substr(1, str.length - 2); + }; + Scanner2.prototype.scanRegExpFlags = function() { + var str = ""; + var flags = ""; + while (!this.eof()) { + var ch = this.source[this.index]; + if (!character_1.Character.isIdentifierPart(ch.charCodeAt(0))) { + break; + } + ++this.index; + if (ch === "\\" && !this.eof()) { + ch = this.source[this.index]; + if (ch === "u") { + ++this.index; + var restore = this.index; + var char = this.scanHexEscape("u"); + if (char !== null) { + flags += char; + for (str += "\\u"; restore < this.index; ++restore) { + str += this.source[restore]; + } + } else { + this.index = restore; + flags += "u"; + str += "\\u"; + } + this.tolerateUnexpectedToken(); + } else { + str += "\\"; + this.tolerateUnexpectedToken(); + } + } else { + flags += ch; + str += ch; + } + } + return flags; + }; + Scanner2.prototype.scanRegExp = function() { + var start = this.index; + var pattern = this.scanRegExpBody(); + var flags = this.scanRegExpFlags(); + var value = this.testRegExp(pattern, flags); + return { + type: 9, + value: "", + pattern, + flags, + regex: value, + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start, + end: this.index + }; + }; + Scanner2.prototype.lex = function() { + if (this.eof()) { + return { + type: 2, + value: "", + lineNumber: this.lineNumber, + lineStart: this.lineStart, + start: this.index, + end: this.index + }; + } + var cp = this.source.charCodeAt(this.index); + if (character_1.Character.isIdentifierStart(cp)) { + return this.scanIdentifier(); + } + if (cp === 40 || cp === 41 || cp === 59) { + return this.scanPunctuator(); + } + if (cp === 39 || cp === 34) { + return this.scanStringLiteral(); + } + if (cp === 46) { + if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index + 1))) { + return this.scanNumericLiteral(); + } + return this.scanPunctuator(); + } + if (character_1.Character.isDecimalDigit(cp)) { + return this.scanNumericLiteral(); + } + if (cp === 96 || cp === 125 && this.curlyStack[this.curlyStack.length - 1] === "${") { + return this.scanTemplate(); + } + if (cp >= 55296 && cp < 57343) { + if (character_1.Character.isIdentifierStart(this.codePointAt(this.index))) { + return this.scanIdentifier(); + } + } + return this.scanPunctuator(); + }; + return Scanner2; + }(); + exports2.Scanner = Scanner; + }, + /* 13 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.TokenName = {}; + exports2.TokenName[ + 1 + /* BooleanLiteral */ + ] = "Boolean"; + exports2.TokenName[ + 2 + /* EOF */ + ] = ""; + exports2.TokenName[ + 3 + /* Identifier */ + ] = "Identifier"; + exports2.TokenName[ + 4 + /* Keyword */ + ] = "Keyword"; + exports2.TokenName[ + 5 + /* NullLiteral */ + ] = "Null"; + exports2.TokenName[ + 6 + /* NumericLiteral */ + ] = "Numeric"; + exports2.TokenName[ + 7 + /* Punctuator */ + ] = "Punctuator"; + exports2.TokenName[ + 8 + /* StringLiteral */ + ] = "String"; + exports2.TokenName[ + 9 + /* RegularExpression */ + ] = "RegularExpression"; + exports2.TokenName[ + 10 + /* Template */ + ] = "Template"; + }, + /* 14 */ + /***/ + function(module3, exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.XHTMLEntities = { + quot: '"', + amp: "&", + apos: "'", + gt: ">", + nbsp: "\xA0", + iexcl: "\xA1", + cent: "\xA2", + pound: "\xA3", + curren: "\xA4", + yen: "\xA5", + brvbar: "\xA6", + sect: "\xA7", + uml: "\xA8", + copy: "\xA9", + ordf: "\xAA", + laquo: "\xAB", + not: "\xAC", + shy: "\xAD", + reg: "\xAE", + macr: "\xAF", + deg: "\xB0", + plusmn: "\xB1", + sup2: "\xB2", + sup3: "\xB3", + acute: "\xB4", + micro: "\xB5", + para: "\xB6", + middot: "\xB7", + cedil: "\xB8", + sup1: "\xB9", + ordm: "\xBA", + raquo: "\xBB", + frac14: "\xBC", + frac12: "\xBD", + frac34: "\xBE", + iquest: "\xBF", + Agrave: "\xC0", + Aacute: "\xC1", + Acirc: "\xC2", + Atilde: "\xC3", + Auml: "\xC4", + Aring: "\xC5", + AElig: "\xC6", + Ccedil: "\xC7", + Egrave: "\xC8", + Eacute: "\xC9", + Ecirc: "\xCA", + Euml: "\xCB", + Igrave: "\xCC", + Iacute: "\xCD", + Icirc: "\xCE", + Iuml: "\xCF", + ETH: "\xD0", + Ntilde: "\xD1", + Ograve: "\xD2", + Oacute: "\xD3", + Ocirc: "\xD4", + Otilde: "\xD5", + Ouml: "\xD6", + times: "\xD7", + Oslash: "\xD8", + Ugrave: "\xD9", + Uacute: "\xDA", + Ucirc: "\xDB", + Uuml: "\xDC", + Yacute: "\xDD", + THORN: "\xDE", + szlig: "\xDF", + agrave: "\xE0", + aacute: "\xE1", + acirc: "\xE2", + atilde: "\xE3", + auml: "\xE4", + aring: "\xE5", + aelig: "\xE6", + ccedil: "\xE7", + egrave: "\xE8", + eacute: "\xE9", + ecirc: "\xEA", + euml: "\xEB", + igrave: "\xEC", + iacute: "\xED", + icirc: "\xEE", + iuml: "\xEF", + eth: "\xF0", + ntilde: "\xF1", + ograve: "\xF2", + oacute: "\xF3", + ocirc: "\xF4", + otilde: "\xF5", + ouml: "\xF6", + divide: "\xF7", + oslash: "\xF8", + ugrave: "\xF9", + uacute: "\xFA", + ucirc: "\xFB", + uuml: "\xFC", + yacute: "\xFD", + thorn: "\xFE", + yuml: "\xFF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666", + lang: "\u27E8", + rang: "\u27E9" + }; + }, + /* 15 */ + /***/ + function(module3, exports2, __webpack_require__) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var error_handler_1 = __webpack_require__(10); + var scanner_1 = __webpack_require__(12); + var token_1 = __webpack_require__(13); + var Reader = function() { + function Reader2() { + this.values = []; + this.curly = this.paren = -1; + } + Reader2.prototype.beforeFunctionExpression = function(t) { + return [ + "(", + "{", + "[", + "in", + "typeof", + "instanceof", + "new", + "return", + "case", + "delete", + "throw", + "void", + // assignment operators + "=", + "+=", + "-=", + "*=", + "**=", + "/=", + "%=", + "<<=", + ">>=", + ">>>=", + "&=", + "|=", + "^=", + ",", + // binary/unary operators + "+", + "-", + "*", + "**", + "/", + "%", + "++", + "--", + "<<", + ">>", + ">>>", + "&", + "|", + "^", + "!", + "~", + "&&", + "||", + "?", + ":", + "===", + "==", + ">=", + "<=", + "<", + ">", + "!=", + "!==" + ].indexOf(t) >= 0; + }; + Reader2.prototype.isRegexStart = function() { + var previous = this.values[this.values.length - 1]; + var regex = previous !== null; + switch (previous) { + case "this": + case "]": + regex = false; + break; + case ")": + var keyword = this.values[this.paren - 1]; + regex = keyword === "if" || keyword === "while" || keyword === "for" || keyword === "with"; + break; + case "}": + regex = false; + if (this.values[this.curly - 3] === "function") { + var check = this.values[this.curly - 4]; + regex = check ? !this.beforeFunctionExpression(check) : false; + } else if (this.values[this.curly - 4] === "function") { + var check = this.values[this.curly - 5]; + regex = check ? !this.beforeFunctionExpression(check) : true; + } + break; + default: + break; + } + return regex; + }; + Reader2.prototype.push = function(token) { + if (token.type === 7 || token.type === 4) { + if (token.value === "{") { + this.curly = this.values.length; + } else if (token.value === "(") { + this.paren = this.values.length; + } + this.values.push(token.value); + } else { + this.values.push(null); + } + }; + return Reader2; + }(); + var Tokenizer = function() { + function Tokenizer2(code, config) { + this.errorHandler = new error_handler_1.ErrorHandler(); + this.errorHandler.tolerant = config ? typeof config.tolerant === "boolean" && config.tolerant : false; + this.scanner = new scanner_1.Scanner(code, this.errorHandler); + this.scanner.trackComment = config ? typeof config.comment === "boolean" && config.comment : false; + this.trackRange = config ? typeof config.range === "boolean" && config.range : false; + this.trackLoc = config ? typeof config.loc === "boolean" && config.loc : false; + this.buffer = []; + this.reader = new Reader(); + } + Tokenizer2.prototype.errors = function() { + return this.errorHandler.errors; + }; + Tokenizer2.prototype.getNextToken = function() { + if (this.buffer.length === 0) { + var comments = this.scanner.scanComments(); + if (this.scanner.trackComment) { + for (var i = 0; i < comments.length; ++i) { + var e = comments[i]; + var value = this.scanner.source.slice(e.slice[0], e.slice[1]); + var comment = { + type: e.multiLine ? "BlockComment" : "LineComment", + value + }; + if (this.trackRange) { + comment.range = e.range; + } + if (this.trackLoc) { + comment.loc = e.loc; + } + this.buffer.push(comment); + } + } + if (!this.scanner.eof()) { + var loc = void 0; + if (this.trackLoc) { + loc = { + start: { + line: this.scanner.lineNumber, + column: this.scanner.index - this.scanner.lineStart + }, + end: {} + }; + } + var startRegex = this.scanner.source[this.scanner.index] === "/" && this.reader.isRegexStart(); + var token = startRegex ? this.scanner.scanRegExp() : this.scanner.lex(); + this.reader.push(token); + var entry = { + type: token_1.TokenName[token.type], + value: this.scanner.source.slice(token.start, token.end) + }; + if (this.trackRange) { + entry.range = [token.start, token.end]; + } + if (this.trackLoc) { + loc.end = { + line: this.scanner.lineNumber, + column: this.scanner.index - this.scanner.lineStart + }; + entry.loc = loc; + } + if (token.type === 9) { + var pattern = token.pattern; + var flags = token.flags; + entry.regex = { pattern, flags }; + } + this.buffer.push(entry); + } + } + return this.buffer.shift(); + }; + return Tokenizer2; + }(); + exports2.Tokenizer = Tokenizer; + } + /******/ + ]) + ); + }); + } +}); + +// .yarn/cache/tslib-npm-2.5.2-3f1b58afbb-ed22e23f3d.zip/node_modules/tslib/tslib.es6.js +var tslib_es6_exports = {}; +__export(tslib_es6_exports, { + __assign: () => __assign, + __asyncDelegator: () => __asyncDelegator, + __asyncGenerator: () => __asyncGenerator, + __asyncValues: () => __asyncValues, + __await: () => __await, + __awaiter: () => __awaiter, + __classPrivateFieldGet: () => __classPrivateFieldGet, + __classPrivateFieldIn: () => __classPrivateFieldIn, + __classPrivateFieldSet: () => __classPrivateFieldSet, + __createBinding: () => __createBinding, + __decorate: () => __decorate, + __esDecorate: () => __esDecorate, + __exportStar: () => __exportStar, + __extends: () => __extends, + __generator: () => __generator, + __importDefault: () => __importDefault, + __importStar: () => __importStar, + __makeTemplateObject: () => __makeTemplateObject, + __metadata: () => __metadata, + __param: () => __param, + __propKey: () => __propKey, + __read: () => __read, + __rest: () => __rest, + __runInitializers: () => __runInitializers, + __setFunctionName: () => __setFunctionName, + __spread: () => __spread, + __spreadArray: () => __spreadArray, + __spreadArrays: () => __spreadArrays, + __values: () => __values, + default: () => tslib_es6_default +}); +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f) { + if (f !== void 0 && typeof f !== "function") + throw new TypeError("Function expected"); + return f; + } + var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _, done = false; + for (var i = decorators.length - 1; i >= 0; i--) { + var context = {}; + for (var p in contextIn) + context[p] = p === "access" ? {} : contextIn[p]; + for (var p in contextIn.access) + context.access[p] = contextIn.access[p]; + context.addInitializer = function(f) { + if (done) + throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f || null)); + }; + var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind === "accessor") { + if (result === void 0) + continue; + if (result === null || typeof result !== "object") + throw new TypeError("Object expected"); + if (_ = accept(result.get)) + descriptor.get = _; + if (_ = accept(result.set)) + descriptor.set = _; + if (_ = accept(result.init)) + initializers.unshift(_); + } else if (_ = accept(result)) { + if (kind === "field") + initializers.unshift(_); + else + descriptor[key] = _; + } + } + if (target) + Object.defineProperty(target, contextIn.name, descriptor); + done = true; +} +function __runInitializers(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +} +function __propKey(x) { + return typeof x === "symbol" ? x : "".concat(x); +} +function __setFunctionName(f, name, prefix) { + if (typeof name === "symbol") + name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter(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()); + }); +} +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } +} +function __exportStar(m, o) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) + __createBinding(o, m, p); +} +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; +} +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } +} +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; + } : f; + } +} +function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } +} +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; +} +function __importStar(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; +} +function __importDefault(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") + throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +function __classPrivateFieldIn(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); +} +var extendStatics, __assign, __createBinding, __setModuleDefault, tslib_es6_default; +var init_tslib_es6 = __esm({ + ".yarn/cache/tslib-npm-2.5.2-3f1b58afbb-ed22e23f3d.zip/node_modules/tslib/tslib.es6.js"() { + extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (Object.prototype.hasOwnProperty.call(b2, p)) + d2[p] = b2[p]; + }; + return extendStatics(d, b); + }; + __assign = function() { + __assign = Object.assign || function __assign2(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + __createBinding = Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }; + __setModuleDefault = Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }; + tslib_es6_default = { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __createBinding, + __exportStar, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn + }; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/types.js +var require_types = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Def = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var Op = Object.prototype; + var objToStr = Op.toString; + var hasOwn = Op.hasOwnProperty; + var BaseType = ( + /** @class */ + function() { + function BaseType2() { + } + BaseType2.prototype.assert = function(value, deep) { + if (!this.check(value, deep)) { + var str = shallowStringify(value); + throw new Error(str + " does not match type " + this); + } + return true; + }; + BaseType2.prototype.arrayOf = function() { + var elemType = this; + return new ArrayType(elemType); + }; + return BaseType2; + }() + ); + var ArrayType = ( + /** @class */ + function(_super) { + tslib_1.__extends(ArrayType2, _super); + function ArrayType2(elemType) { + var _this = _super.call(this) || this; + _this.elemType = elemType; + _this.kind = "ArrayType"; + return _this; + } + ArrayType2.prototype.toString = function() { + return "[" + this.elemType + "]"; + }; + ArrayType2.prototype.check = function(value, deep) { + var _this = this; + return Array.isArray(value) && value.every(function(elem) { + return _this.elemType.check(elem, deep); + }); + }; + return ArrayType2; + }(BaseType) + ); + var IdentityType = ( + /** @class */ + function(_super) { + tslib_1.__extends(IdentityType2, _super); + function IdentityType2(value) { + var _this = _super.call(this) || this; + _this.value = value; + _this.kind = "IdentityType"; + return _this; + } + IdentityType2.prototype.toString = function() { + return String(this.value); + }; + IdentityType2.prototype.check = function(value, deep) { + var result = value === this.value; + if (!result && typeof deep === "function") { + deep(this, value); + } + return result; + }; + return IdentityType2; + }(BaseType) + ); + var ObjectType = ( + /** @class */ + function(_super) { + tslib_1.__extends(ObjectType2, _super); + function ObjectType2(fields) { + var _this = _super.call(this) || this; + _this.fields = fields; + _this.kind = "ObjectType"; + return _this; + } + ObjectType2.prototype.toString = function() { + return "{ " + this.fields.join(", ") + " }"; + }; + ObjectType2.prototype.check = function(value, deep) { + return objToStr.call(value) === objToStr.call({}) && this.fields.every(function(field) { + return field.type.check(value[field.name], deep); + }); + }; + return ObjectType2; + }(BaseType) + ); + var OrType = ( + /** @class */ + function(_super) { + tslib_1.__extends(OrType2, _super); + function OrType2(types) { + var _this = _super.call(this) || this; + _this.types = types; + _this.kind = "OrType"; + return _this; + } + OrType2.prototype.toString = function() { + return this.types.join(" | "); + }; + OrType2.prototype.check = function(value, deep) { + return this.types.some(function(type) { + return type.check(value, deep); + }); + }; + return OrType2; + }(BaseType) + ); + var PredicateType = ( + /** @class */ + function(_super) { + tslib_1.__extends(PredicateType2, _super); + function PredicateType2(name, predicate) { + var _this = _super.call(this) || this; + _this.name = name; + _this.predicate = predicate; + _this.kind = "PredicateType"; + return _this; + } + PredicateType2.prototype.toString = function() { + return this.name; + }; + PredicateType2.prototype.check = function(value, deep) { + var result = this.predicate(value, deep); + if (!result && typeof deep === "function") { + deep(this, value); + } + return result; + }; + return PredicateType2; + }(BaseType) + ); + var Def = ( + /** @class */ + function() { + function Def2(type, typeName) { + this.type = type; + this.typeName = typeName; + this.baseNames = []; + this.ownFields = /* @__PURE__ */ Object.create(null); + this.allSupertypes = /* @__PURE__ */ Object.create(null); + this.supertypeList = []; + this.allFields = /* @__PURE__ */ Object.create(null); + this.fieldNames = []; + this.finalized = false; + this.buildable = false; + this.buildParams = []; + } + Def2.prototype.isSupertypeOf = function(that) { + if (that instanceof Def2) { + if (this.finalized !== true || that.finalized !== true) { + throw new Error(""); + } + return hasOwn.call(that.allSupertypes, this.typeName); + } else { + throw new Error(that + " is not a Def"); + } + }; + Def2.prototype.checkAllFields = function(value, deep) { + var allFields = this.allFields; + if (this.finalized !== true) { + throw new Error("" + this.typeName); + } + function checkFieldByName(name) { + var field = allFields[name]; + var type = field.type; + var child = field.getValue(value); + return type.check(child, deep); + } + return value !== null && typeof value === "object" && Object.keys(allFields).every(checkFieldByName); + }; + Def2.prototype.bases = function() { + var supertypeNames = []; + for (var _i = 0; _i < arguments.length; _i++) { + supertypeNames[_i] = arguments[_i]; + } + var bases = this.baseNames; + if (this.finalized) { + if (supertypeNames.length !== bases.length) { + throw new Error(""); + } + for (var i = 0; i < supertypeNames.length; i++) { + if (supertypeNames[i] !== bases[i]) { + throw new Error(""); + } + } + return this; + } + supertypeNames.forEach(function(baseName) { + if (bases.indexOf(baseName) < 0) { + bases.push(baseName); + } + }); + return this; + }; + return Def2; + }() + ); + exports.Def = Def; + var Field = ( + /** @class */ + function() { + function Field2(name, type, defaultFn, hidden) { + this.name = name; + this.type = type; + this.defaultFn = defaultFn; + this.hidden = !!hidden; + } + Field2.prototype.toString = function() { + return JSON.stringify(this.name) + ": " + this.type; + }; + Field2.prototype.getValue = function(obj) { + var value = obj[this.name]; + if (typeof value !== "undefined") { + return value; + } + if (typeof this.defaultFn === "function") { + value = this.defaultFn.call(obj); + } + return value; + }; + return Field2; + }() + ); + function shallowStringify(value) { + if (Array.isArray(value)) { + return "[" + value.map(shallowStringify).join(", ") + "]"; + } + if (value && typeof value === "object") { + return "{ " + Object.keys(value).map(function(key) { + return key + ": " + value[key]; + }).join(", ") + " }"; + } + return JSON.stringify(value); + } + function typesPlugin(_fork) { + var Type = { + or: function() { + var types = []; + for (var _i = 0; _i < arguments.length; _i++) { + types[_i] = arguments[_i]; + } + return new OrType(types.map(function(type) { + return Type.from(type); + })); + }, + from: function(value, name) { + if (value instanceof ArrayType || value instanceof IdentityType || value instanceof ObjectType || value instanceof OrType || value instanceof PredicateType) { + return value; + } + if (value instanceof Def) { + return value.type; + } + if (isArray2.check(value)) { + if (value.length !== 1) { + throw new Error("only one element type is permitted for typed arrays"); + } + return new ArrayType(Type.from(value[0])); + } + if (isObject2.check(value)) { + return new ObjectType(Object.keys(value).map(function(name2) { + return new Field(name2, Type.from(value[name2], name2)); + })); + } + if (typeof value === "function") { + var bicfIndex = builtInCtorFns.indexOf(value); + if (bicfIndex >= 0) { + return builtInCtorTypes[bicfIndex]; + } + if (typeof name !== "string") { + throw new Error("missing name"); + } + return new PredicateType(name, value); + } + return new IdentityType(value); + }, + // Define a type whose name is registered in a namespace (the defCache) so + // that future definitions will return the same type given the same name. + // In particular, this system allows for circular and forward definitions. + // The Def object d returned from Type.def may be used to configure the + // type d.type by calling methods such as d.bases, d.build, and d.field. + def: function(typeName) { + return hasOwn.call(defCache, typeName) ? defCache[typeName] : defCache[typeName] = new DefImpl(typeName); + }, + hasDef: function(typeName) { + return hasOwn.call(defCache, typeName); + } + }; + var builtInCtorFns = []; + var builtInCtorTypes = []; + function defBuiltInType(name, example) { + var objStr = objToStr.call(example); + var type = new PredicateType(name, function(value) { + return objToStr.call(value) === objStr; + }); + if (example && typeof example.constructor === "function") { + builtInCtorFns.push(example.constructor); + builtInCtorTypes.push(type); + } + return type; + } + var isString2 = defBuiltInType("string", "truthy"); + var isFunction = defBuiltInType("function", function() { + }); + var isArray2 = defBuiltInType("array", []); + var isObject2 = defBuiltInType("object", {}); + var isRegExp = defBuiltInType("RegExp", /./); + var isDate2 = defBuiltInType("Date", /* @__PURE__ */ new Date()); + var isNumber2 = defBuiltInType("number", 3); + var isBoolean2 = defBuiltInType("boolean", true); + var isNull = defBuiltInType("null", null); + var isUndefined = defBuiltInType("undefined", void 0); + var builtInTypes = { + string: isString2, + function: isFunction, + array: isArray2, + object: isObject2, + RegExp: isRegExp, + Date: isDate2, + number: isNumber2, + boolean: isBoolean2, + null: isNull, + undefined: isUndefined + }; + var defCache = /* @__PURE__ */ Object.create(null); + function defFromValue(value) { + if (value && typeof value === "object") { + var type = value.type; + if (typeof type === "string" && hasOwn.call(defCache, type)) { + var d = defCache[type]; + if (d.finalized) { + return d; + } + } + } + return null; + } + var DefImpl = ( + /** @class */ + function(_super) { + tslib_1.__extends(DefImpl2, _super); + function DefImpl2(typeName) { + var _this = _super.call(this, new PredicateType(typeName, function(value, deep) { + return _this.check(value, deep); + }), typeName) || this; + return _this; + } + DefImpl2.prototype.check = function(value, deep) { + if (this.finalized !== true) { + throw new Error("prematurely checking unfinalized type " + this.typeName); + } + if (value === null || typeof value !== "object") { + return false; + } + var vDef = defFromValue(value); + if (!vDef) { + if (this.typeName === "SourceLocation" || this.typeName === "Position") { + return this.checkAllFields(value, deep); + } + return false; + } + if (deep && vDef === this) { + return this.checkAllFields(value, deep); + } + if (!this.isSupertypeOf(vDef)) { + return false; + } + if (!deep) { + return true; + } + return vDef.checkAllFields(value, deep) && this.checkAllFields(value, false); + }; + DefImpl2.prototype.build = function() { + var _this = this; + var buildParams = []; + for (var _i = 0; _i < arguments.length; _i++) { + buildParams[_i] = arguments[_i]; + } + this.buildParams = buildParams; + if (this.buildable) { + return this; + } + this.field("type", String, function() { + return _this.typeName; + }); + this.buildable = true; + var addParam = function(built, param, arg, isArgAvailable) { + if (hasOwn.call(built, param)) + return; + var all = _this.allFields; + if (!hasOwn.call(all, param)) { + throw new Error("" + param); + } + var field = all[param]; + var type = field.type; + var value; + if (isArgAvailable) { + value = arg; + } else if (field.defaultFn) { + value = field.defaultFn.call(built); + } else { + var message = "no value or default function given for field " + JSON.stringify(param) + " of " + _this.typeName + "(" + _this.buildParams.map(function(name) { + return all[name]; + }).join(", ") + ")"; + throw new Error(message); + } + if (!type.check(value)) { + throw new Error(shallowStringify(value) + " does not match field " + field + " of type " + _this.typeName); + } + built[param] = value; + }; + var builder = function() { + var args = []; + for (var _i2 = 0; _i2 < arguments.length; _i2++) { + args[_i2] = arguments[_i2]; + } + var argc = args.length; + if (!_this.finalized) { + throw new Error("attempting to instantiate unfinalized type " + _this.typeName); + } + var built = Object.create(nodePrototype); + _this.buildParams.forEach(function(param, i) { + if (i < argc) { + addParam(built, param, args[i], true); + } else { + addParam(built, param, null, false); + } + }); + Object.keys(_this.allFields).forEach(function(param) { + addParam(built, param, null, false); + }); + if (built.type !== _this.typeName) { + throw new Error(""); + } + return built; + }; + builder.from = function(obj) { + if (!_this.finalized) { + throw new Error("attempting to instantiate unfinalized type " + _this.typeName); + } + var built = Object.create(nodePrototype); + Object.keys(_this.allFields).forEach(function(param) { + if (hasOwn.call(obj, param)) { + addParam(built, param, obj[param], true); + } else { + addParam(built, param, null, false); + } + }); + if (built.type !== _this.typeName) { + throw new Error(""); + } + return built; + }; + Object.defineProperty(builders, getBuilderName(this.typeName), { + enumerable: true, + value: builder + }); + return this; + }; + DefImpl2.prototype.field = function(name, type, defaultFn, hidden) { + if (this.finalized) { + console.error("Ignoring attempt to redefine field " + JSON.stringify(name) + " of finalized type " + JSON.stringify(this.typeName)); + return this; + } + this.ownFields[name] = new Field(name, Type.from(type), defaultFn, hidden); + return this; + }; + DefImpl2.prototype.finalize = function() { + var _this = this; + if (!this.finalized) { + var allFields = this.allFields; + var allSupertypes = this.allSupertypes; + this.baseNames.forEach(function(name) { + var def = defCache[name]; + if (def instanceof Def) { + def.finalize(); + extend(allFields, def.allFields); + extend(allSupertypes, def.allSupertypes); + } else { + var message = "unknown supertype name " + JSON.stringify(name) + " for subtype " + JSON.stringify(_this.typeName); + throw new Error(message); + } + }); + extend(allFields, this.ownFields); + allSupertypes[this.typeName] = this; + this.fieldNames.length = 0; + for (var fieldName in allFields) { + if (hasOwn.call(allFields, fieldName) && !allFields[fieldName].hidden) { + this.fieldNames.push(fieldName); + } + } + Object.defineProperty(namedTypes, this.typeName, { + enumerable: true, + value: this.type + }); + this.finalized = true; + populateSupertypeList(this.typeName, this.supertypeList); + if (this.buildable && this.supertypeList.lastIndexOf("Expression") >= 0) { + wrapExpressionBuilderWithStatement(this.typeName); + } + } + }; + return DefImpl2; + }(Def) + ); + function getSupertypeNames(typeName) { + if (!hasOwn.call(defCache, typeName)) { + throw new Error(""); + } + var d = defCache[typeName]; + if (d.finalized !== true) { + throw new Error(""); + } + return d.supertypeList.slice(1); + } + function computeSupertypeLookupTable(candidates) { + var table = {}; + var typeNames = Object.keys(defCache); + var typeNameCount = typeNames.length; + for (var i = 0; i < typeNameCount; ++i) { + var typeName = typeNames[i]; + var d = defCache[typeName]; + if (d.finalized !== true) { + throw new Error("" + typeName); + } + for (var j = 0; j < d.supertypeList.length; ++j) { + var superTypeName = d.supertypeList[j]; + if (hasOwn.call(candidates, superTypeName)) { + table[typeName] = superTypeName; + break; + } + } + } + return table; + } + var builders = /* @__PURE__ */ Object.create(null); + var nodePrototype = {}; + function defineMethod(name, func) { + var old = nodePrototype[name]; + if (isUndefined.check(func)) { + delete nodePrototype[name]; + } else { + isFunction.assert(func); + Object.defineProperty(nodePrototype, name, { + enumerable: true, + configurable: true, + value: func + }); + } + return old; + } + function getBuilderName(typeName) { + return typeName.replace(/^[A-Z]+/, function(upperCasePrefix) { + var len = upperCasePrefix.length; + switch (len) { + case 0: + return ""; + case 1: + return upperCasePrefix.toLowerCase(); + default: + return upperCasePrefix.slice(0, len - 1).toLowerCase() + upperCasePrefix.charAt(len - 1); + } + }); + } + function getStatementBuilderName(typeName) { + typeName = getBuilderName(typeName); + return typeName.replace(/(Expression)?$/, "Statement"); + } + var namedTypes = {}; + function getFieldNames(object) { + var d = defFromValue(object); + if (d) { + return d.fieldNames.slice(0); + } + if ("type" in object) { + throw new Error("did not recognize object of type " + JSON.stringify(object.type)); + } + return Object.keys(object); + } + function getFieldValue(object, fieldName) { + var d = defFromValue(object); + if (d) { + var field = d.allFields[fieldName]; + if (field) { + return field.getValue(object); + } + } + return object && object[fieldName]; + } + function eachField(object, callback, context) { + getFieldNames(object).forEach(function(name) { + callback.call(this, name, getFieldValue(object, name)); + }, context); + } + function someField(object, callback, context) { + return getFieldNames(object).some(function(name) { + return callback.call(this, name, getFieldValue(object, name)); + }, context); + } + function wrapExpressionBuilderWithStatement(typeName) { + var wrapperName = getStatementBuilderName(typeName); + if (builders[wrapperName]) + return; + var wrapped = builders[getBuilderName(typeName)]; + if (!wrapped) + return; + var builder = function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return builders.expressionStatement(wrapped.apply(builders, args)); + }; + builder.from = function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return builders.expressionStatement(wrapped.from.apply(builders, args)); + }; + builders[wrapperName] = builder; + } + function populateSupertypeList(typeName, list) { + list.length = 0; + list.push(typeName); + var lastSeen = /* @__PURE__ */ Object.create(null); + for (var pos = 0; pos < list.length; ++pos) { + typeName = list[pos]; + var d = defCache[typeName]; + if (d.finalized !== true) { + throw new Error(""); + } + if (hasOwn.call(lastSeen, typeName)) { + delete list[lastSeen[typeName]]; + } + lastSeen[typeName] = pos; + list.push.apply(list, d.baseNames); + } + for (var to = 0, from = to, len = list.length; from < len; ++from) { + if (hasOwn.call(list, from)) { + list[to++] = list[from]; + } + } + list.length = to; + } + function extend(into, from) { + Object.keys(from).forEach(function(name) { + into[name] = from[name]; + }); + return into; + } + function finalize() { + Object.keys(defCache).forEach(function(name) { + defCache[name].finalize(); + }); + } + return { + Type, + builtInTypes, + getSupertypeNames, + computeSupertypeLookupTable, + builders, + defineMethod, + getBuilderName, + getStatementBuilderName, + namedTypes, + getFieldNames, + getFieldValue, + eachField, + someField, + finalize + }; + } + exports.default = typesPlugin; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path.js +var require_path = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + function pathPlugin(fork) { + var types = fork.use(types_1.default); + var isArray2 = types.builtInTypes.array; + var isNumber2 = types.builtInTypes.number; + var Path = function Path2(value, parentPath, name) { + if (!(this instanceof Path2)) { + throw new Error("Path constructor cannot be invoked without 'new'"); + } + if (parentPath) { + if (!(parentPath instanceof Path2)) { + throw new Error(""); + } + } else { + parentPath = null; + name = null; + } + this.value = value; + this.parentPath = parentPath; + this.name = name; + this.__childCache = null; + }; + var Pp = Path.prototype; + function getChildCache(path9) { + return path9.__childCache || (path9.__childCache = /* @__PURE__ */ Object.create(null)); + } + function getChildPath(path9, name) { + var cache = getChildCache(path9); + var actualChildValue = path9.getValueProperty(name); + var childPath = cache[name]; + if (!hasOwn.call(cache, name) || // Ensure consistency between cache and reality. + childPath.value !== actualChildValue) { + childPath = cache[name] = new path9.constructor(actualChildValue, path9, name); + } + return childPath; + } + Pp.getValueProperty = function getValueProperty(name) { + return this.value[name]; + }; + Pp.get = function get() { + var names = []; + for (var _i = 0; _i < arguments.length; _i++) { + names[_i] = arguments[_i]; + } + var path9 = this; + var count = names.length; + for (var i = 0; i < count; ++i) { + path9 = getChildPath(path9, names[i]); + } + return path9; + }; + Pp.each = function each(callback, context) { + var childPaths = []; + var len = this.value.length; + var i = 0; + for (var i = 0; i < len; ++i) { + if (hasOwn.call(this.value, i)) { + childPaths[i] = this.get(i); + } + } + context = context || this; + for (i = 0; i < len; ++i) { + if (hasOwn.call(childPaths, i)) { + callback.call(context, childPaths[i]); + } + } + }; + Pp.map = function map(callback, context) { + var result = []; + this.each(function(childPath) { + result.push(callback.call(this, childPath)); + }, context); + return result; + }; + Pp.filter = function filter(callback, context) { + var result = []; + this.each(function(childPath) { + if (callback.call(this, childPath)) { + result.push(childPath); + } + }, context); + return result; + }; + function emptyMoves() { + } + function getMoves(path9, offset, start, end) { + isArray2.assert(path9.value); + if (offset === 0) { + return emptyMoves; + } + var length = path9.value.length; + if (length < 1) { + return emptyMoves; + } + var argc = arguments.length; + if (argc === 2) { + start = 0; + end = length; + } else if (argc === 3) { + start = Math.max(start, 0); + end = length; + } else { + start = Math.max(start, 0); + end = Math.min(end, length); + } + isNumber2.assert(start); + isNumber2.assert(end); + var moves = /* @__PURE__ */ Object.create(null); + var cache = getChildCache(path9); + for (var i = start; i < end; ++i) { + if (hasOwn.call(path9.value, i)) { + var childPath = path9.get(i); + if (childPath.name !== i) { + throw new Error(""); + } + var newIndex = i + offset; + childPath.name = newIndex; + moves[newIndex] = childPath; + delete cache[i]; + } + } + delete cache.length; + return function() { + for (var newIndex2 in moves) { + var childPath2 = moves[newIndex2]; + if (childPath2.name !== +newIndex2) { + throw new Error(""); + } + cache[newIndex2] = childPath2; + path9.value[newIndex2] = childPath2.value; + } + }; + } + Pp.shift = function shift() { + var move = getMoves(this, -1); + var result = this.value.shift(); + move(); + return result; + }; + Pp.unshift = function unshift() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var move = getMoves(this, args.length); + var result = this.value.unshift.apply(this.value, args); + move(); + return result; + }; + Pp.push = function push() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + isArray2.assert(this.value); + delete getChildCache(this).length; + return this.value.push.apply(this.value, args); + }; + Pp.pop = function pop() { + isArray2.assert(this.value); + var cache = getChildCache(this); + delete cache[this.value.length - 1]; + delete cache.length; + return this.value.pop(); + }; + Pp.insertAt = function insertAt(index) { + var argc = arguments.length; + var move = getMoves(this, argc - 1, index); + if (move === emptyMoves && argc <= 1) { + return this; + } + index = Math.max(index, 0); + for (var i = 1; i < argc; ++i) { + this.value[index + i - 1] = arguments[i]; + } + move(); + return this; + }; + Pp.insertBefore = function insertBefore() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var pp = this.parentPath; + var argc = args.length; + var insertAtArgs = [this.name]; + for (var i = 0; i < argc; ++i) { + insertAtArgs.push(args[i]); + } + return pp.insertAt.apply(pp, insertAtArgs); + }; + Pp.insertAfter = function insertAfter() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var pp = this.parentPath; + var argc = args.length; + var insertAtArgs = [this.name + 1]; + for (var i = 0; i < argc; ++i) { + insertAtArgs.push(args[i]); + } + return pp.insertAt.apply(pp, insertAtArgs); + }; + function repairRelationshipWithParent(path9) { + if (!(path9 instanceof Path)) { + throw new Error(""); + } + var pp = path9.parentPath; + if (!pp) { + return path9; + } + var parentValue = pp.value; + var parentCache = getChildCache(pp); + if (parentValue[path9.name] === path9.value) { + parentCache[path9.name] = path9; + } else if (isArray2.check(parentValue)) { + var i = parentValue.indexOf(path9.value); + if (i >= 0) { + parentCache[path9.name = i] = path9; + } + } else { + parentValue[path9.name] = path9.value; + parentCache[path9.name] = path9; + } + if (parentValue[path9.name] !== path9.value) { + throw new Error(""); + } + if (path9.parentPath.get(path9.name) !== path9) { + throw new Error(""); + } + return path9; + } + Pp.replace = function replace(replacement) { + var results = []; + var parentValue = this.parentPath.value; + var parentCache = getChildCache(this.parentPath); + var count = arguments.length; + repairRelationshipWithParent(this); + if (isArray2.check(parentValue)) { + var originalLength = parentValue.length; + var move = getMoves(this.parentPath, count - 1, this.name + 1); + var spliceArgs = [this.name, 1]; + for (var i = 0; i < count; ++i) { + spliceArgs.push(arguments[i]); + } + var splicedOut = parentValue.splice.apply(parentValue, spliceArgs); + if (splicedOut[0] !== this.value) { + throw new Error(""); + } + if (parentValue.length !== originalLength - 1 + count) { + throw new Error(""); + } + move(); + if (count === 0) { + delete this.value; + delete parentCache[this.name]; + this.__childCache = null; + } else { + if (parentValue[this.name] !== replacement) { + throw new Error(""); + } + if (this.value !== replacement) { + this.value = replacement; + this.__childCache = null; + } + for (i = 0; i < count; ++i) { + results.push(this.parentPath.get(this.name + i)); + } + if (results[0] !== this) { + throw new Error(""); + } + } + } else if (count === 1) { + if (this.value !== replacement) { + this.__childCache = null; + } + this.value = parentValue[this.name] = replacement; + results.push(this); + } else if (count === 0) { + delete parentValue[this.name]; + delete this.value; + this.__childCache = null; + } else { + throw new Error("Could not replace path"); + } + return results; + }; + return Path; + } + exports.default = pathPlugin; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/scope.js +var require_scope = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/scope.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var hasOwn = Object.prototype.hasOwnProperty; + function scopePlugin(fork) { + var types = fork.use(types_1.default); + var Type = types.Type; + var namedTypes = types.namedTypes; + var Node = namedTypes.Node; + var Expression = namedTypes.Expression; + var isArray2 = types.builtInTypes.array; + var b = types.builders; + var Scope = function Scope2(path9, parentScope) { + if (!(this instanceof Scope2)) { + throw new Error("Scope constructor cannot be invoked without 'new'"); + } + ScopeType.assert(path9.value); + var depth; + if (parentScope) { + if (!(parentScope instanceof Scope2)) { + throw new Error(""); + } + depth = parentScope.depth + 1; + } else { + parentScope = null; + depth = 0; + } + Object.defineProperties(this, { + path: { value: path9 }, + node: { value: path9.value }, + isGlobal: { value: !parentScope, enumerable: true }, + depth: { value: depth }, + parent: { value: parentScope }, + bindings: { value: {} }, + types: { value: {} } + }); + }; + var scopeTypes = [ + // Program nodes introduce global scopes. + namedTypes.Program, + // Function is the supertype of FunctionExpression, + // FunctionDeclaration, ArrowExpression, etc. + namedTypes.Function, + // In case you didn't know, the caught parameter shadows any variable + // of the same name in an outer scope. + namedTypes.CatchClause + ]; + var ScopeType = Type.or.apply(Type, scopeTypes); + Scope.isEstablishedBy = function(node) { + return ScopeType.check(node); + }; + var Sp = Scope.prototype; + Sp.didScan = false; + Sp.declares = function(name) { + this.scan(); + return hasOwn.call(this.bindings, name); + }; + Sp.declaresType = function(name) { + this.scan(); + return hasOwn.call(this.types, name); + }; + Sp.declareTemporary = function(prefix) { + if (prefix) { + if (!/^[a-z$_]/i.test(prefix)) { + throw new Error(""); + } + } else { + prefix = "t$"; + } + prefix += this.depth.toString(36) + "$"; + this.scan(); + var index = 0; + while (this.declares(prefix + index)) { + ++index; + } + var name = prefix + index; + return this.bindings[name] = types.builders.identifier(name); + }; + Sp.injectTemporary = function(identifier, init) { + identifier || (identifier = this.declareTemporary()); + var bodyPath = this.path.get("body"); + if (namedTypes.BlockStatement.check(bodyPath.value)) { + bodyPath = bodyPath.get("body"); + } + bodyPath.unshift(b.variableDeclaration("var", [b.variableDeclarator(identifier, init || null)])); + return identifier; + }; + Sp.scan = function(force) { + if (force || !this.didScan) { + for (var name in this.bindings) { + delete this.bindings[name]; + } + scanScope(this.path, this.bindings, this.types); + this.didScan = true; + } + }; + Sp.getBindings = function() { + this.scan(); + return this.bindings; + }; + Sp.getTypes = function() { + this.scan(); + return this.types; + }; + function scanScope(path9, bindings, scopeTypes2) { + var node = path9.value; + ScopeType.assert(node); + if (namedTypes.CatchClause.check(node)) { + var param = path9.get("param"); + if (param.value) { + addPattern(param, bindings); + } + } else { + recursiveScanScope(path9, bindings, scopeTypes2); + } + } + function recursiveScanScope(path9, bindings, scopeTypes2) { + var node = path9.value; + if (path9.parent && namedTypes.FunctionExpression.check(path9.parent.node) && path9.parent.node.id) { + addPattern(path9.parent.get("id"), bindings); + } + if (!node) { + } else if (isArray2.check(node)) { + path9.each(function(childPath) { + recursiveScanChild(childPath, bindings, scopeTypes2); + }); + } else if (namedTypes.Function.check(node)) { + path9.get("params").each(function(paramPath) { + addPattern(paramPath, bindings); + }); + recursiveScanChild(path9.get("body"), bindings, scopeTypes2); + } else if (namedTypes.TypeAlias && namedTypes.TypeAlias.check(node) || namedTypes.InterfaceDeclaration && namedTypes.InterfaceDeclaration.check(node) || namedTypes.TSTypeAliasDeclaration && namedTypes.TSTypeAliasDeclaration.check(node) || namedTypes.TSInterfaceDeclaration && namedTypes.TSInterfaceDeclaration.check(node)) { + addTypePattern(path9.get("id"), scopeTypes2); + } else if (namedTypes.VariableDeclarator.check(node)) { + addPattern(path9.get("id"), bindings); + recursiveScanChild(path9.get("init"), bindings, scopeTypes2); + } else if (node.type === "ImportSpecifier" || node.type === "ImportNamespaceSpecifier" || node.type === "ImportDefaultSpecifier") { + addPattern( + // Esprima used to use the .name field to refer to the local + // binding identifier for ImportSpecifier nodes, but .id for + // ImportNamespaceSpecifier and ImportDefaultSpecifier nodes. + // ESTree/Acorn/ESpree use .local for all three node types. + path9.get(node.local ? "local" : node.name ? "name" : "id"), + bindings + ); + } else if (Node.check(node) && !Expression.check(node)) { + types.eachField(node, function(name, child) { + var childPath = path9.get(name); + if (!pathHasValue(childPath, child)) { + throw new Error(""); + } + recursiveScanChild(childPath, bindings, scopeTypes2); + }); + } + } + function pathHasValue(path9, value) { + if (path9.value === value) { + return true; + } + if (Array.isArray(path9.value) && path9.value.length === 0 && Array.isArray(value) && value.length === 0) { + return true; + } + return false; + } + function recursiveScanChild(path9, bindings, scopeTypes2) { + var node = path9.value; + if (!node || Expression.check(node)) { + } else if (namedTypes.FunctionDeclaration.check(node) && node.id !== null) { + addPattern(path9.get("id"), bindings); + } else if (namedTypes.ClassDeclaration && namedTypes.ClassDeclaration.check(node)) { + addPattern(path9.get("id"), bindings); + } else if (ScopeType.check(node)) { + if (namedTypes.CatchClause.check(node) && // TODO Broaden this to accept any pattern. + namedTypes.Identifier.check(node.param)) { + var catchParamName = node.param.name; + var hadBinding = hasOwn.call(bindings, catchParamName); + recursiveScanScope(path9.get("body"), bindings, scopeTypes2); + if (!hadBinding) { + delete bindings[catchParamName]; + } + } + } else { + recursiveScanScope(path9, bindings, scopeTypes2); + } + } + function addPattern(patternPath, bindings) { + var pattern = patternPath.value; + namedTypes.Pattern.assert(pattern); + if (namedTypes.Identifier.check(pattern)) { + if (hasOwn.call(bindings, pattern.name)) { + bindings[pattern.name].push(patternPath); + } else { + bindings[pattern.name] = [patternPath]; + } + } else if (namedTypes.AssignmentPattern && namedTypes.AssignmentPattern.check(pattern)) { + addPattern(patternPath.get("left"), bindings); + } else if (namedTypes.ObjectPattern && namedTypes.ObjectPattern.check(pattern)) { + patternPath.get("properties").each(function(propertyPath) { + var property = propertyPath.value; + if (namedTypes.Pattern.check(property)) { + addPattern(propertyPath, bindings); + } else if (namedTypes.Property.check(property)) { + addPattern(propertyPath.get("value"), bindings); + } else if (namedTypes.SpreadProperty && namedTypes.SpreadProperty.check(property)) { + addPattern(propertyPath.get("argument"), bindings); + } + }); + } else if (namedTypes.ArrayPattern && namedTypes.ArrayPattern.check(pattern)) { + patternPath.get("elements").each(function(elementPath) { + var element = elementPath.value; + if (namedTypes.Pattern.check(element)) { + addPattern(elementPath, bindings); + } else if (namedTypes.SpreadElement && namedTypes.SpreadElement.check(element)) { + addPattern(elementPath.get("argument"), bindings); + } + }); + } else if (namedTypes.PropertyPattern && namedTypes.PropertyPattern.check(pattern)) { + addPattern(patternPath.get("pattern"), bindings); + } else if (namedTypes.SpreadElementPattern && namedTypes.SpreadElementPattern.check(pattern) || namedTypes.SpreadPropertyPattern && namedTypes.SpreadPropertyPattern.check(pattern)) { + addPattern(patternPath.get("argument"), bindings); + } + } + function addTypePattern(patternPath, types2) { + var pattern = patternPath.value; + namedTypes.Pattern.assert(pattern); + if (namedTypes.Identifier.check(pattern)) { + if (hasOwn.call(types2, pattern.name)) { + types2[pattern.name].push(patternPath); + } else { + types2[pattern.name] = [patternPath]; + } + } + } + Sp.lookup = function(name) { + for (var scope = this; scope; scope = scope.parent) + if (scope.declares(name)) + break; + return scope; + }; + Sp.lookupType = function(name) { + for (var scope = this; scope; scope = scope.parent) + if (scope.declaresType(name)) + break; + return scope; + }; + Sp.getGlobalScope = function() { + var scope = this; + while (!scope.isGlobal) + scope = scope.parent; + return scope; + }; + return Scope; + } + exports.default = scopePlugin; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/node-path.js +var require_node_path = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/node-path.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var path_1 = tslib_1.__importDefault(require_path()); + var scope_1 = tslib_1.__importDefault(require_scope()); + function nodePathPlugin(fork) { + var types = fork.use(types_1.default); + var n = types.namedTypes; + var b = types.builders; + var isNumber2 = types.builtInTypes.number; + var isArray2 = types.builtInTypes.array; + var Path = fork.use(path_1.default); + var Scope = fork.use(scope_1.default); + var NodePath = function NodePath2(value, parentPath, name) { + if (!(this instanceof NodePath2)) { + throw new Error("NodePath constructor cannot be invoked without 'new'"); + } + Path.call(this, value, parentPath, name); + }; + var NPp = NodePath.prototype = Object.create(Path.prototype, { + constructor: { + value: NodePath, + enumerable: false, + writable: true, + configurable: true + } + }); + Object.defineProperties(NPp, { + node: { + get: function() { + Object.defineProperty(this, "node", { + configurable: true, + value: this._computeNode() + }); + return this.node; + } + }, + parent: { + get: function() { + Object.defineProperty(this, "parent", { + configurable: true, + value: this._computeParent() + }); + return this.parent; + } + }, + scope: { + get: function() { + Object.defineProperty(this, "scope", { + configurable: true, + value: this._computeScope() + }); + return this.scope; + } + } + }); + NPp.replace = function() { + delete this.node; + delete this.parent; + delete this.scope; + return Path.prototype.replace.apply(this, arguments); + }; + NPp.prune = function() { + var remainingNodePath = this.parent; + this.replace(); + return cleanUpNodesAfterPrune(remainingNodePath); + }; + NPp._computeNode = function() { + var value = this.value; + if (n.Node.check(value)) { + return value; + } + var pp = this.parentPath; + return pp && pp.node || null; + }; + NPp._computeParent = function() { + var value = this.value; + var pp = this.parentPath; + if (!n.Node.check(value)) { + while (pp && !n.Node.check(pp.value)) { + pp = pp.parentPath; + } + if (pp) { + pp = pp.parentPath; + } + } + while (pp && !n.Node.check(pp.value)) { + pp = pp.parentPath; + } + return pp || null; + }; + NPp._computeScope = function() { + var value = this.value; + var pp = this.parentPath; + var scope = pp && pp.scope; + if (n.Node.check(value) && Scope.isEstablishedBy(value)) { + scope = new Scope(this, scope); + } + return scope || null; + }; + NPp.getValueProperty = function(name) { + return types.getFieldValue(this.value, name); + }; + NPp.needsParens = function(assumeExpressionContext) { + var pp = this.parentPath; + if (!pp) { + return false; + } + var node = this.value; + if (!n.Expression.check(node)) { + return false; + } + if (node.type === "Identifier") { + return false; + } + while (!n.Node.check(pp.value)) { + pp = pp.parentPath; + if (!pp) { + return false; + } + } + var parent = pp.value; + switch (node.type) { + case "UnaryExpression": + case "SpreadElement": + case "SpreadProperty": + return parent.type === "MemberExpression" && this.name === "object" && parent.object === node; + case "BinaryExpression": + case "LogicalExpression": + switch (parent.type) { + case "CallExpression": + return this.name === "callee" && parent.callee === node; + case "UnaryExpression": + case "SpreadElement": + case "SpreadProperty": + return true; + case "MemberExpression": + return this.name === "object" && parent.object === node; + case "BinaryExpression": + case "LogicalExpression": { + var n_1 = node; + var po = parent.operator; + var pp_1 = PRECEDENCE[po]; + var no = n_1.operator; + var np = PRECEDENCE[no]; + if (pp_1 > np) { + return true; + } + if (pp_1 === np && this.name === "right") { + if (parent.right !== n_1) { + throw new Error("Nodes must be equal"); + } + return true; + } + } + default: + return false; + } + case "SequenceExpression": + switch (parent.type) { + case "ForStatement": + return false; + case "ExpressionStatement": + return this.name !== "expression"; + default: + return true; + } + case "YieldExpression": + switch (parent.type) { + case "BinaryExpression": + case "LogicalExpression": + case "UnaryExpression": + case "SpreadElement": + case "SpreadProperty": + case "CallExpression": + case "MemberExpression": + case "NewExpression": + case "ConditionalExpression": + case "YieldExpression": + return true; + default: + return false; + } + case "Literal": + return parent.type === "MemberExpression" && isNumber2.check(node.value) && this.name === "object" && parent.object === node; + case "AssignmentExpression": + case "ConditionalExpression": + switch (parent.type) { + case "UnaryExpression": + case "SpreadElement": + case "SpreadProperty": + case "BinaryExpression": + case "LogicalExpression": + return true; + case "CallExpression": + return this.name === "callee" && parent.callee === node; + case "ConditionalExpression": + return this.name === "test" && parent.test === node; + case "MemberExpression": + return this.name === "object" && parent.object === node; + default: + return false; + } + default: + if (parent.type === "NewExpression" && this.name === "callee" && parent.callee === node) { + return containsCallExpression(node); + } + } + if (assumeExpressionContext !== true && !this.canBeFirstInStatement() && this.firstInStatement()) + return true; + return false; + }; + function isBinary(node) { + return n.BinaryExpression.check(node) || n.LogicalExpression.check(node); + } + function isUnaryLike(node) { + return n.UnaryExpression.check(node) || n.SpreadElement && n.SpreadElement.check(node) || n.SpreadProperty && n.SpreadProperty.check(node); + } + var PRECEDENCE = {}; + [ + ["||"], + ["&&"], + ["|"], + ["^"], + ["&"], + ["==", "===", "!=", "!=="], + ["<", ">", "<=", ">=", "in", "instanceof"], + [">>", "<<", ">>>"], + ["+", "-"], + ["*", "/", "%"] + ].forEach(function(tier, i) { + tier.forEach(function(op) { + PRECEDENCE[op] = i; + }); + }); + function containsCallExpression(node) { + if (n.CallExpression.check(node)) { + return true; + } + if (isArray2.check(node)) { + return node.some(containsCallExpression); + } + if (n.Node.check(node)) { + return types.someField(node, function(_name, child) { + return containsCallExpression(child); + }); + } + return false; + } + NPp.canBeFirstInStatement = function() { + var node = this.node; + return !n.FunctionExpression.check(node) && !n.ObjectExpression.check(node); + }; + NPp.firstInStatement = function() { + return firstInStatement(this); + }; + function firstInStatement(path9) { + for (var node, parent; path9.parent; path9 = path9.parent) { + node = path9.node; + parent = path9.parent.node; + if (n.BlockStatement.check(parent) && path9.parent.name === "body" && path9.name === 0) { + if (parent.body[0] !== node) { + throw new Error("Nodes must be equal"); + } + return true; + } + if (n.ExpressionStatement.check(parent) && path9.name === "expression") { + if (parent.expression !== node) { + throw new Error("Nodes must be equal"); + } + return true; + } + if (n.SequenceExpression.check(parent) && path9.parent.name === "expressions" && path9.name === 0) { + if (parent.expressions[0] !== node) { + throw new Error("Nodes must be equal"); + } + continue; + } + if (n.CallExpression.check(parent) && path9.name === "callee") { + if (parent.callee !== node) { + throw new Error("Nodes must be equal"); + } + continue; + } + if (n.MemberExpression.check(parent) && path9.name === "object") { + if (parent.object !== node) { + throw new Error("Nodes must be equal"); + } + continue; + } + if (n.ConditionalExpression.check(parent) && path9.name === "test") { + if (parent.test !== node) { + throw new Error("Nodes must be equal"); + } + continue; + } + if (isBinary(parent) && path9.name === "left") { + if (parent.left !== node) { + throw new Error("Nodes must be equal"); + } + continue; + } + if (n.UnaryExpression.check(parent) && !parent.prefix && path9.name === "argument") { + if (parent.argument !== node) { + throw new Error("Nodes must be equal"); + } + continue; + } + return false; + } + return true; + } + function cleanUpNodesAfterPrune(remainingNodePath) { + if (n.VariableDeclaration.check(remainingNodePath.node)) { + var declarations = remainingNodePath.get("declarations").value; + if (!declarations || declarations.length === 0) { + return remainingNodePath.prune(); + } + } else if (n.ExpressionStatement.check(remainingNodePath.node)) { + if (!remainingNodePath.get("expression").value) { + return remainingNodePath.prune(); + } + } else if (n.IfStatement.check(remainingNodePath.node)) { + cleanUpIfStatementAfterPrune(remainingNodePath); + } + return remainingNodePath; + } + function cleanUpIfStatementAfterPrune(ifStatement) { + var testExpression = ifStatement.get("test").value; + var alternate = ifStatement.get("alternate").value; + var consequent = ifStatement.get("consequent").value; + if (!consequent && !alternate) { + var testExpressionStatement = b.expressionStatement(testExpression); + ifStatement.replace(testExpressionStatement); + } else if (!consequent && alternate) { + var negatedTestExpression = b.unaryExpression("!", testExpression, true); + if (n.UnaryExpression.check(testExpression) && testExpression.operator === "!") { + negatedTestExpression = testExpression.argument; + } + ifStatement.get("test").replace(negatedTestExpression); + ifStatement.get("consequent").replace(alternate); + ifStatement.get("alternate").replace(); + } + } + return NodePath; + } + exports.default = nodePathPlugin; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path-visitor.js +var require_path_visitor = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/path-visitor.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var node_path_1 = tslib_1.__importDefault(require_node_path()); + var hasOwn = Object.prototype.hasOwnProperty; + function pathVisitorPlugin(fork) { + var types = fork.use(types_1.default); + var NodePath = fork.use(node_path_1.default); + var isArray2 = types.builtInTypes.array; + var isObject2 = types.builtInTypes.object; + var isFunction = types.builtInTypes.function; + var undefined2; + var PathVisitor = function PathVisitor2() { + if (!(this instanceof PathVisitor2)) { + throw new Error("PathVisitor constructor cannot be invoked without 'new'"); + } + this._reusableContextStack = []; + this._methodNameTable = computeMethodNameTable(this); + this._shouldVisitComments = hasOwn.call(this._methodNameTable, "Block") || hasOwn.call(this._methodNameTable, "Line"); + this.Context = makeContextConstructor(this); + this._visiting = false; + this._changeReported = false; + }; + function computeMethodNameTable(visitor) { + var typeNames = /* @__PURE__ */ Object.create(null); + for (var methodName in visitor) { + if (/^visit[A-Z]/.test(methodName)) { + typeNames[methodName.slice("visit".length)] = true; + } + } + var supertypeTable = types.computeSupertypeLookupTable(typeNames); + var methodNameTable = /* @__PURE__ */ Object.create(null); + var typeNameKeys = Object.keys(supertypeTable); + var typeNameCount = typeNameKeys.length; + for (var i = 0; i < typeNameCount; ++i) { + var typeName = typeNameKeys[i]; + methodName = "visit" + supertypeTable[typeName]; + if (isFunction.check(visitor[methodName])) { + methodNameTable[typeName] = methodName; + } + } + return methodNameTable; + } + PathVisitor.fromMethodsObject = function fromMethodsObject(methods) { + if (methods instanceof PathVisitor) { + return methods; + } + if (!isObject2.check(methods)) { + return new PathVisitor(); + } + var Visitor = function Visitor2() { + if (!(this instanceof Visitor2)) { + throw new Error("Visitor constructor cannot be invoked without 'new'"); + } + PathVisitor.call(this); + }; + var Vp = Visitor.prototype = Object.create(PVp); + Vp.constructor = Visitor; + extend(Vp, methods); + extend(Visitor, PathVisitor); + isFunction.assert(Visitor.fromMethodsObject); + isFunction.assert(Visitor.visit); + return new Visitor(); + }; + function extend(target, source) { + for (var property in source) { + if (hasOwn.call(source, property)) { + target[property] = source[property]; + } + } + return target; + } + PathVisitor.visit = function visit(node, methods) { + return PathVisitor.fromMethodsObject(methods).visit(node); + }; + var PVp = PathVisitor.prototype; + PVp.visit = function() { + if (this._visiting) { + throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead."); + } + this._visiting = true; + this._changeReported = false; + this._abortRequested = false; + var argc = arguments.length; + var args = new Array(argc); + for (var i = 0; i < argc; ++i) { + args[i] = arguments[i]; + } + if (!(args[0] instanceof NodePath)) { + args[0] = new NodePath({ root: args[0] }).get("root"); + } + this.reset.apply(this, args); + var didNotThrow; + try { + var root = this.visitWithoutReset(args[0]); + didNotThrow = true; + } finally { + this._visiting = false; + if (!didNotThrow && this._abortRequested) { + return args[0].value; + } + } + return root; + }; + PVp.AbortRequest = function AbortRequest() { + }; + PVp.abort = function() { + var visitor = this; + visitor._abortRequested = true; + var request = new visitor.AbortRequest(); + request.cancel = function() { + visitor._abortRequested = false; + }; + throw request; + }; + PVp.reset = function(_path) { + }; + PVp.visitWithoutReset = function(path9) { + if (this instanceof this.Context) { + return this.visitor.visitWithoutReset(path9); + } + if (!(path9 instanceof NodePath)) { + throw new Error(""); + } + var value = path9.value; + var methodName = value && typeof value === "object" && typeof value.type === "string" && this._methodNameTable[value.type]; + if (methodName) { + var context = this.acquireContext(path9); + try { + return context.invokeVisitorMethod(methodName); + } finally { + this.releaseContext(context); + } + } else { + return visitChildren(path9, this); + } + }; + function visitChildren(path9, visitor) { + if (!(path9 instanceof NodePath)) { + throw new Error(""); + } + if (!(visitor instanceof PathVisitor)) { + throw new Error(""); + } + var value = path9.value; + if (isArray2.check(value)) { + path9.each(visitor.visitWithoutReset, visitor); + } else if (!isObject2.check(value)) { + } else { + var childNames = types.getFieldNames(value); + if (visitor._shouldVisitComments && value.comments && childNames.indexOf("comments") < 0) { + childNames.push("comments"); + } + var childCount = childNames.length; + var childPaths = []; + for (var i = 0; i < childCount; ++i) { + var childName = childNames[i]; + if (!hasOwn.call(value, childName)) { + value[childName] = types.getFieldValue(value, childName); + } + childPaths.push(path9.get(childName)); + } + for (var i = 0; i < childCount; ++i) { + visitor.visitWithoutReset(childPaths[i]); + } + } + return path9.value; + } + PVp.acquireContext = function(path9) { + if (this._reusableContextStack.length === 0) { + return new this.Context(path9); + } + return this._reusableContextStack.pop().reset(path9); + }; + PVp.releaseContext = function(context) { + if (!(context instanceof this.Context)) { + throw new Error(""); + } + this._reusableContextStack.push(context); + context.currentPath = null; + }; + PVp.reportChanged = function() { + this._changeReported = true; + }; + PVp.wasChangeReported = function() { + return this._changeReported; + }; + function makeContextConstructor(visitor) { + function Context(path9) { + if (!(this instanceof Context)) { + throw new Error(""); + } + if (!(this instanceof PathVisitor)) { + throw new Error(""); + } + if (!(path9 instanceof NodePath)) { + throw new Error(""); + } + Object.defineProperty(this, "visitor", { + value: visitor, + writable: false, + enumerable: true, + configurable: false + }); + this.currentPath = path9; + this.needToCallTraverse = true; + Object.seal(this); + } + if (!(visitor instanceof PathVisitor)) { + throw new Error(""); + } + var Cp = Context.prototype = Object.create(visitor); + Cp.constructor = Context; + extend(Cp, sharedContextProtoMethods); + return Context; + } + var sharedContextProtoMethods = /* @__PURE__ */ Object.create(null); + sharedContextProtoMethods.reset = function reset(path9) { + if (!(this instanceof this.Context)) { + throw new Error(""); + } + if (!(path9 instanceof NodePath)) { + throw new Error(""); + } + this.currentPath = path9; + this.needToCallTraverse = true; + return this; + }; + sharedContextProtoMethods.invokeVisitorMethod = function invokeVisitorMethod(methodName) { + if (!(this instanceof this.Context)) { + throw new Error(""); + } + if (!(this.currentPath instanceof NodePath)) { + throw new Error(""); + } + var result = this.visitor[methodName].call(this, this.currentPath); + if (result === false) { + this.needToCallTraverse = false; + } else if (result !== undefined2) { + this.currentPath = this.currentPath.replace(result)[0]; + if (this.needToCallTraverse) { + this.traverse(this.currentPath); + } + } + if (this.needToCallTraverse !== false) { + throw new Error("Must either call this.traverse or return false in " + methodName); + } + var path9 = this.currentPath; + return path9 && path9.value; + }; + sharedContextProtoMethods.traverse = function traverse(path9, newVisitor) { + if (!(this instanceof this.Context)) { + throw new Error(""); + } + if (!(path9 instanceof NodePath)) { + throw new Error(""); + } + if (!(this.currentPath instanceof NodePath)) { + throw new Error(""); + } + this.needToCallTraverse = false; + return visitChildren(path9, PathVisitor.fromMethodsObject(newVisitor || this.visitor)); + }; + sharedContextProtoMethods.visit = function visit(path9, newVisitor) { + if (!(this instanceof this.Context)) { + throw new Error(""); + } + if (!(path9 instanceof NodePath)) { + throw new Error(""); + } + if (!(this.currentPath instanceof NodePath)) { + throw new Error(""); + } + this.needToCallTraverse = false; + return PathVisitor.fromMethodsObject(newVisitor || this.visitor).visitWithoutReset(path9); + }; + sharedContextProtoMethods.reportChanged = function reportChanged() { + this.visitor.reportChanged(); + }; + sharedContextProtoMethods.abort = function abort() { + this.needToCallTraverse = false; + this.visitor.abort(); + }; + return PathVisitor; + } + exports.default = pathVisitorPlugin; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/equiv.js +var require_equiv = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/equiv.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + function default_1(fork) { + var types = fork.use(types_1.default); + var getFieldNames = types.getFieldNames; + var getFieldValue = types.getFieldValue; + var isArray2 = types.builtInTypes.array; + var isObject2 = types.builtInTypes.object; + var isDate2 = types.builtInTypes.Date; + var isRegExp = types.builtInTypes.RegExp; + var hasOwn = Object.prototype.hasOwnProperty; + function astNodesAreEquivalent(a, b, problemPath) { + if (isArray2.check(problemPath)) { + problemPath.length = 0; + } else { + problemPath = null; + } + return areEquivalent(a, b, problemPath); + } + astNodesAreEquivalent.assert = function(a, b) { + var problemPath = []; + if (!astNodesAreEquivalent(a, b, problemPath)) { + if (problemPath.length === 0) { + if (a !== b) { + throw new Error("Nodes must be equal"); + } + } else { + throw new Error("Nodes differ in the following path: " + problemPath.map(subscriptForProperty).join("")); + } + } + }; + function subscriptForProperty(property) { + if (/[_$a-z][_$a-z0-9]*/i.test(property)) { + return "." + property; + } + return "[" + JSON.stringify(property) + "]"; + } + function areEquivalent(a, b, problemPath) { + if (a === b) { + return true; + } + if (isArray2.check(a)) { + return arraysAreEquivalent(a, b, problemPath); + } + if (isObject2.check(a)) { + return objectsAreEquivalent(a, b, problemPath); + } + if (isDate2.check(a)) { + return isDate2.check(b) && +a === +b; + } + if (isRegExp.check(a)) { + return isRegExp.check(b) && (a.source === b.source && a.global === b.global && a.multiline === b.multiline && a.ignoreCase === b.ignoreCase); + } + return a == b; + } + function arraysAreEquivalent(a, b, problemPath) { + isArray2.assert(a); + var aLength = a.length; + if (!isArray2.check(b) || b.length !== aLength) { + if (problemPath) { + problemPath.push("length"); + } + return false; + } + for (var i = 0; i < aLength; ++i) { + if (problemPath) { + problemPath.push(i); + } + if (i in a !== i in b) { + return false; + } + if (!areEquivalent(a[i], b[i], problemPath)) { + return false; + } + if (problemPath) { + var problemPathTail = problemPath.pop(); + if (problemPathTail !== i) { + throw new Error("" + problemPathTail); + } + } + } + return true; + } + function objectsAreEquivalent(a, b, problemPath) { + isObject2.assert(a); + if (!isObject2.check(b)) { + return false; + } + if (a.type !== b.type) { + if (problemPath) { + problemPath.push("type"); + } + return false; + } + var aNames = getFieldNames(a); + var aNameCount = aNames.length; + var bNames = getFieldNames(b); + var bNameCount = bNames.length; + if (aNameCount === bNameCount) { + for (var i = 0; i < aNameCount; ++i) { + var name = aNames[i]; + var aChild = getFieldValue(a, name); + var bChild = getFieldValue(b, name); + if (problemPath) { + problemPath.push(name); + } + if (!areEquivalent(aChild, bChild, problemPath)) { + return false; + } + if (problemPath) { + var problemPathTail = problemPath.pop(); + if (problemPathTail !== name) { + throw new Error("" + problemPathTail); + } + } + } + return true; + } + if (!problemPath) { + return false; + } + var seenNames = /* @__PURE__ */ Object.create(null); + for (i = 0; i < aNameCount; ++i) { + seenNames[aNames[i]] = true; + } + for (i = 0; i < bNameCount; ++i) { + name = bNames[i]; + if (!hasOwn.call(seenNames, name)) { + problemPath.push(name); + return false; + } + delete seenNames[name]; + } + for (name in seenNames) { + problemPath.push(name); + break; + } + return false; + } + return astNodesAreEquivalent; + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/fork.js +var require_fork = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/fork.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var path_visitor_1 = tslib_1.__importDefault(require_path_visitor()); + var equiv_1 = tslib_1.__importDefault(require_equiv()); + var path_1 = tslib_1.__importDefault(require_path()); + var node_path_1 = tslib_1.__importDefault(require_node_path()); + function default_1(defs) { + var fork = createFork(); + var types = fork.use(types_1.default); + defs.forEach(fork.use); + types.finalize(); + var PathVisitor = fork.use(path_visitor_1.default); + return { + Type: types.Type, + builtInTypes: types.builtInTypes, + namedTypes: types.namedTypes, + builders: types.builders, + defineMethod: types.defineMethod, + getFieldNames: types.getFieldNames, + getFieldValue: types.getFieldValue, + eachField: types.eachField, + someField: types.someField, + getSupertypeNames: types.getSupertypeNames, + getBuilderName: types.getBuilderName, + astNodesAreEquivalent: fork.use(equiv_1.default), + finalize: types.finalize, + Path: fork.use(path_1.default), + NodePath: fork.use(node_path_1.default), + PathVisitor, + use: fork.use, + visit: PathVisitor.visit + }; + } + exports.default = default_1; + function createFork() { + var used = []; + var usedResult = []; + function use(plugin) { + var idx = used.indexOf(plugin); + if (idx === -1) { + idx = used.length; + used.push(plugin); + usedResult[idx] = plugin(fork); + } + return usedResult[idx]; + } + var fork = { use }; + return fork; + } + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/shared.js +var require_shared = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/lib/shared.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + function default_1(fork) { + var types = fork.use(types_1.default); + var Type = types.Type; + var builtin = types.builtInTypes; + var isNumber2 = builtin.number; + function geq(than) { + return Type.from(function(value) { + return isNumber2.check(value) && value >= than; + }, isNumber2 + " >= " + than); + } + ; + var defaults = { + // Functions were used because (among other reasons) that's the most + // elegant way to allow for the emptyArray one always to give a new + // array instance. + "null": function() { + return null; + }, + "emptyArray": function() { + return []; + }, + "false": function() { + return false; + }, + "true": function() { + return true; + }, + "undefined": function() { + }, + "use strict": function() { + return "use strict"; + } + }; + var naiveIsPrimitive = Type.or(builtin.string, builtin.number, builtin.boolean, builtin.null, builtin.undefined); + var isPrimitive = Type.from(function(value) { + if (value === null) + return true; + var type = typeof value; + if (type === "object" || type === "function") { + return false; + } + return true; + }, naiveIsPrimitive.toString()); + return { + geq, + defaults, + isPrimitive + }; + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/core.js +var require_core = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/core.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + var types = fork.use(types_1.default); + var Type = types.Type; + var def = Type.def; + var or = Type.or; + var shared = fork.use(shared_1.default); + var defaults = shared.defaults; + var geq = shared.geq; + def("Printable").field("loc", or(def("SourceLocation"), null), defaults["null"], true); + def("Node").bases("Printable").field("type", String).field("comments", or([def("Comment")], null), defaults["null"], true); + def("SourceLocation").field("start", def("Position")).field("end", def("Position")).field("source", or(String, null), defaults["null"]); + def("Position").field("line", geq(1)).field("column", geq(0)); + def("File").bases("Node").build("program", "name").field("program", def("Program")).field("name", or(String, null), defaults["null"]); + def("Program").bases("Node").build("body").field("body", [def("Statement")]); + def("Function").bases("Node").field("id", or(def("Identifier"), null), defaults["null"]).field("params", [def("Pattern")]).field("body", def("BlockStatement")).field("generator", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]); + def("Statement").bases("Node"); + def("EmptyStatement").bases("Statement").build(); + def("BlockStatement").bases("Statement").build("body").field("body", [def("Statement")]); + def("ExpressionStatement").bases("Statement").build("expression").field("expression", def("Expression")); + def("IfStatement").bases("Statement").build("test", "consequent", "alternate").field("test", def("Expression")).field("consequent", def("Statement")).field("alternate", or(def("Statement"), null), defaults["null"]); + def("LabeledStatement").bases("Statement").build("label", "body").field("label", def("Identifier")).field("body", def("Statement")); + def("BreakStatement").bases("Statement").build("label").field("label", or(def("Identifier"), null), defaults["null"]); + def("ContinueStatement").bases("Statement").build("label").field("label", or(def("Identifier"), null), defaults["null"]); + def("WithStatement").bases("Statement").build("object", "body").field("object", def("Expression")).field("body", def("Statement")); + def("SwitchStatement").bases("Statement").build("discriminant", "cases", "lexical").field("discriminant", def("Expression")).field("cases", [def("SwitchCase")]).field("lexical", Boolean, defaults["false"]); + def("ReturnStatement").bases("Statement").build("argument").field("argument", or(def("Expression"), null)); + def("ThrowStatement").bases("Statement").build("argument").field("argument", def("Expression")); + def("TryStatement").bases("Statement").build("block", "handler", "finalizer").field("block", def("BlockStatement")).field("handler", or(def("CatchClause"), null), function() { + return this.handlers && this.handlers[0] || null; + }).field("handlers", [def("CatchClause")], function() { + return this.handler ? [this.handler] : []; + }, true).field("guardedHandlers", [def("CatchClause")], defaults.emptyArray).field("finalizer", or(def("BlockStatement"), null), defaults["null"]); + def("CatchClause").bases("Node").build("param", "guard", "body").field("param", or(def("Pattern"), null), defaults["null"]).field("guard", or(def("Expression"), null), defaults["null"]).field("body", def("BlockStatement")); + def("WhileStatement").bases("Statement").build("test", "body").field("test", def("Expression")).field("body", def("Statement")); + def("DoWhileStatement").bases("Statement").build("body", "test").field("body", def("Statement")).field("test", def("Expression")); + def("ForStatement").bases("Statement").build("init", "test", "update", "body").field("init", or(def("VariableDeclaration"), def("Expression"), null)).field("test", or(def("Expression"), null)).field("update", or(def("Expression"), null)).field("body", def("Statement")); + def("ForInStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Expression"))).field("right", def("Expression")).field("body", def("Statement")); + def("DebuggerStatement").bases("Statement").build(); + def("Declaration").bases("Statement"); + def("FunctionDeclaration").bases("Function", "Declaration").build("id", "params", "body").field("id", def("Identifier")); + def("FunctionExpression").bases("Function", "Expression").build("id", "params", "body"); + def("VariableDeclaration").bases("Declaration").build("kind", "declarations").field("kind", or("var", "let", "const")).field("declarations", [def("VariableDeclarator")]); + def("VariableDeclarator").bases("Node").build("id", "init").field("id", def("Pattern")).field("init", or(def("Expression"), null), defaults["null"]); + def("Expression").bases("Node"); + def("ThisExpression").bases("Expression").build(); + def("ArrayExpression").bases("Expression").build("elements").field("elements", [or(def("Expression"), null)]); + def("ObjectExpression").bases("Expression").build("properties").field("properties", [def("Property")]); + def("Property").bases("Node").build("kind", "key", "value").field("kind", or("init", "get", "set")).field("key", or(def("Literal"), def("Identifier"))).field("value", def("Expression")); + def("SequenceExpression").bases("Expression").build("expressions").field("expressions", [def("Expression")]); + var UnaryOperator = or("-", "+", "!", "~", "typeof", "void", "delete"); + def("UnaryExpression").bases("Expression").build("operator", "argument", "prefix").field("operator", UnaryOperator).field("argument", def("Expression")).field("prefix", Boolean, defaults["true"]); + var BinaryOperator = or( + "==", + "!=", + "===", + "!==", + "<", + "<=", + ">", + ">=", + "<<", + ">>", + ">>>", + "+", + "-", + "*", + "/", + "%", + "**", + "&", + // TODO Missing from the Parser API. + "|", + "^", + "in", + "instanceof" + ); + def("BinaryExpression").bases("Expression").build("operator", "left", "right").field("operator", BinaryOperator).field("left", def("Expression")).field("right", def("Expression")); + var AssignmentOperator = or("=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "|=", "^=", "&="); + def("AssignmentExpression").bases("Expression").build("operator", "left", "right").field("operator", AssignmentOperator).field("left", or(def("Pattern"), def("MemberExpression"))).field("right", def("Expression")); + var UpdateOperator = or("++", "--"); + def("UpdateExpression").bases("Expression").build("operator", "argument", "prefix").field("operator", UpdateOperator).field("argument", def("Expression")).field("prefix", Boolean); + var LogicalOperator = or("||", "&&"); + def("LogicalExpression").bases("Expression").build("operator", "left", "right").field("operator", LogicalOperator).field("left", def("Expression")).field("right", def("Expression")); + def("ConditionalExpression").bases("Expression").build("test", "consequent", "alternate").field("test", def("Expression")).field("consequent", def("Expression")).field("alternate", def("Expression")); + def("NewExpression").bases("Expression").build("callee", "arguments").field("callee", def("Expression")).field("arguments", [def("Expression")]); + def("CallExpression").bases("Expression").build("callee", "arguments").field("callee", def("Expression")).field("arguments", [def("Expression")]); + def("MemberExpression").bases("Expression").build("object", "property", "computed").field("object", def("Expression")).field("property", or(def("Identifier"), def("Expression"))).field("computed", Boolean, function() { + var type = this.property.type; + if (type === "Literal" || type === "MemberExpression" || type === "BinaryExpression") { + return true; + } + return false; + }); + def("Pattern").bases("Node"); + def("SwitchCase").bases("Node").build("test", "consequent").field("test", or(def("Expression"), null)).field("consequent", [def("Statement")]); + def("Identifier").bases("Expression", "Pattern").build("name").field("name", String).field("optional", Boolean, defaults["false"]); + def("Literal").bases("Expression").build("value").field("value", or(String, Boolean, null, Number, RegExp)).field("regex", or({ + pattern: String, + flags: String + }, null), function() { + if (this.value instanceof RegExp) { + var flags = ""; + if (this.value.ignoreCase) + flags += "i"; + if (this.value.multiline) + flags += "m"; + if (this.value.global) + flags += "g"; + return { + pattern: this.value.source, + flags + }; + } + return null; + }); + def("Comment").bases("Printable").field("value", String).field("leading", Boolean, defaults["true"]).field("trailing", Boolean, defaults["false"]); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es6.js +var require_es6 = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es6.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var core_1 = tslib_1.__importDefault(require_core()); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + fork.use(core_1.default); + var types = fork.use(types_1.default); + var def = types.Type.def; + var or = types.Type.or; + var defaults = fork.use(shared_1.default).defaults; + def("Function").field("generator", Boolean, defaults["false"]).field("expression", Boolean, defaults["false"]).field("defaults", [or(def("Expression"), null)], defaults.emptyArray).field("rest", or(def("Identifier"), null), defaults["null"]); + def("RestElement").bases("Pattern").build("argument").field("argument", def("Pattern")).field( + "typeAnnotation", + // for Babylon. Flow parser puts it on the identifier + or(def("TypeAnnotation"), def("TSTypeAnnotation"), null), + defaults["null"] + ); + def("SpreadElementPattern").bases("Pattern").build("argument").field("argument", def("Pattern")); + def("FunctionDeclaration").build("id", "params", "body", "generator", "expression"); + def("FunctionExpression").build("id", "params", "body", "generator", "expression"); + def("ArrowFunctionExpression").bases("Function", "Expression").build("params", "body", "expression").field("id", null, defaults["null"]).field("body", or(def("BlockStatement"), def("Expression"))).field("generator", false, defaults["false"]); + def("ForOfStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Pattern"))).field("right", def("Expression")).field("body", def("Statement")); + def("YieldExpression").bases("Expression").build("argument", "delegate").field("argument", or(def("Expression"), null)).field("delegate", Boolean, defaults["false"]); + def("GeneratorExpression").bases("Expression").build("body", "blocks", "filter").field("body", def("Expression")).field("blocks", [def("ComprehensionBlock")]).field("filter", or(def("Expression"), null)); + def("ComprehensionExpression").bases("Expression").build("body", "blocks", "filter").field("body", def("Expression")).field("blocks", [def("ComprehensionBlock")]).field("filter", or(def("Expression"), null)); + def("ComprehensionBlock").bases("Node").build("left", "right", "each").field("left", def("Pattern")).field("right", def("Expression")).field("each", Boolean); + def("Property").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("value", or(def("Expression"), def("Pattern"))).field("method", Boolean, defaults["false"]).field("shorthand", Boolean, defaults["false"]).field("computed", Boolean, defaults["false"]); + def("ObjectProperty").field("shorthand", Boolean, defaults["false"]); + def("PropertyPattern").bases("Pattern").build("key", "pattern").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("pattern", def("Pattern")).field("computed", Boolean, defaults["false"]); + def("ObjectPattern").bases("Pattern").build("properties").field("properties", [or(def("PropertyPattern"), def("Property"))]); + def("ArrayPattern").bases("Pattern").build("elements").field("elements", [or(def("Pattern"), null)]); + def("MethodDefinition").bases("Declaration").build("kind", "key", "value", "static").field("kind", or("constructor", "method", "get", "set")).field("key", def("Expression")).field("value", def("Function")).field("computed", Boolean, defaults["false"]).field("static", Boolean, defaults["false"]); + def("SpreadElement").bases("Node").build("argument").field("argument", def("Expression")); + def("ArrayExpression").field("elements", [or(def("Expression"), def("SpreadElement"), def("RestElement"), null)]); + def("NewExpression").field("arguments", [or(def("Expression"), def("SpreadElement"))]); + def("CallExpression").field("arguments", [or(def("Expression"), def("SpreadElement"))]); + def("AssignmentPattern").bases("Pattern").build("left", "right").field("left", def("Pattern")).field("right", def("Expression")); + var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty")); + def("ClassProperty").bases("Declaration").build("key").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("computed", Boolean, defaults["false"]); + def("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition", ClassBodyElement); + def("ClassBody").bases("Declaration").build("body").field("body", [ClassBodyElement]); + def("ClassDeclaration").bases("Declaration").build("id", "body", "superClass").field("id", or(def("Identifier"), null)).field("body", def("ClassBody")).field("superClass", or(def("Expression"), null), defaults["null"]); + def("ClassExpression").bases("Expression").build("id", "body", "superClass").field("id", or(def("Identifier"), null), defaults["null"]).field("body", def("ClassBody")).field("superClass", or(def("Expression"), null), defaults["null"]); + def("Specifier").bases("Node"); + def("ModuleSpecifier").bases("Specifier").field("local", or(def("Identifier"), null), defaults["null"]).field("id", or(def("Identifier"), null), defaults["null"]).field("name", or(def("Identifier"), null), defaults["null"]); + def("ImportSpecifier").bases("ModuleSpecifier").build("id", "name"); + def("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"); + def("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"); + def("ImportDeclaration").bases("Declaration").build("specifiers", "source", "importKind").field("specifiers", [or(def("ImportSpecifier"), def("ImportNamespaceSpecifier"), def("ImportDefaultSpecifier"))], defaults.emptyArray).field("source", def("Literal")).field("importKind", or("value", "type"), function() { + return "value"; + }); + def("TaggedTemplateExpression").bases("Expression").build("tag", "quasi").field("tag", def("Expression")).field("quasi", def("TemplateLiteral")); + def("TemplateLiteral").bases("Expression").build("quasis", "expressions").field("quasis", [def("TemplateElement")]).field("expressions", [def("Expression")]); + def("TemplateElement").bases("Node").build("value", "tail").field("value", { "cooked": String, "raw": String }).field("tail", Boolean); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es7.js +var require_es7 = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es7.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var es6_1 = tslib_1.__importDefault(require_es6()); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + fork.use(es6_1.default); + var types = fork.use(types_1.default); + var def = types.Type.def; + var or = types.Type.or; + var defaults = fork.use(shared_1.default).defaults; + def("Function").field("async", Boolean, defaults["false"]); + def("SpreadProperty").bases("Node").build("argument").field("argument", def("Expression")); + def("ObjectExpression").field("properties", [or(def("Property"), def("SpreadProperty"), def("SpreadElement"))]); + def("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument", def("Pattern")); + def("ObjectPattern").field("properties", [or(def("Property"), def("PropertyPattern"), def("SpreadPropertyPattern"))]); + def("AwaitExpression").bases("Expression").build("argument", "all").field("argument", or(def("Expression"), null)).field("all", Boolean, defaults["false"]); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es2020.js +var require_es2020 = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es2020.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var es7_1 = tslib_1.__importDefault(require_es7()); + var types_1 = tslib_1.__importDefault(require_types()); + function default_1(fork) { + fork.use(es7_1.default); + var types = fork.use(types_1.default); + var def = types.Type.def; + def("ImportExpression").bases("Expression").build("source").field("source", def("Expression")); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/jsx.js +var require_jsx = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/jsx.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var es7_1 = tslib_1.__importDefault(require_es7()); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + fork.use(es7_1.default); + var types = fork.use(types_1.default); + var def = types.Type.def; + var or = types.Type.or; + var defaults = fork.use(shared_1.default).defaults; + def("JSXAttribute").bases("Node").build("name", "value").field("name", or(def("JSXIdentifier"), def("JSXNamespacedName"))).field("value", or( + def("Literal"), + // attr="value" + def("JSXExpressionContainer"), + // attr={value} + null + // attr= or just attr + ), defaults["null"]); + def("JSXIdentifier").bases("Identifier").build("name").field("name", String); + def("JSXNamespacedName").bases("Node").build("namespace", "name").field("namespace", def("JSXIdentifier")).field("name", def("JSXIdentifier")); + def("JSXMemberExpression").bases("MemberExpression").build("object", "property").field("object", or(def("JSXIdentifier"), def("JSXMemberExpression"))).field("property", def("JSXIdentifier")).field("computed", Boolean, defaults.false); + var JSXElementName = or(def("JSXIdentifier"), def("JSXNamespacedName"), def("JSXMemberExpression")); + def("JSXSpreadAttribute").bases("Node").build("argument").field("argument", def("Expression")); + var JSXAttributes = [or(def("JSXAttribute"), def("JSXSpreadAttribute"))]; + def("JSXExpressionContainer").bases("Expression").build("expression").field("expression", def("Expression")); + def("JSXElement").bases("Expression").build("openingElement", "closingElement", "children").field("openingElement", def("JSXOpeningElement")).field("closingElement", or(def("JSXClosingElement"), null), defaults["null"]).field("children", [or( + def("JSXElement"), + def("JSXExpressionContainer"), + def("JSXFragment"), + def("JSXText"), + def("Literal") + // TODO Esprima should return JSXText instead. + )], defaults.emptyArray).field("name", JSXElementName, function() { + return this.openingElement.name; + }, true).field("selfClosing", Boolean, function() { + return this.openingElement.selfClosing; + }, true).field("attributes", JSXAttributes, function() { + return this.openingElement.attributes; + }, true); + def("JSXOpeningElement").bases("Node").build("name", "attributes", "selfClosing").field("name", JSXElementName).field("attributes", JSXAttributes, defaults.emptyArray).field("selfClosing", Boolean, defaults["false"]); + def("JSXClosingElement").bases("Node").build("name").field("name", JSXElementName); + def("JSXFragment").bases("Expression").build("openingElement", "closingElement", "children").field("openingElement", def("JSXOpeningFragment")).field("closingElement", def("JSXClosingFragment")).field("children", [or( + def("JSXElement"), + def("JSXExpressionContainer"), + def("JSXFragment"), + def("JSXText"), + def("Literal") + // TODO Esprima should return JSXText instead. + )], defaults.emptyArray); + def("JSXOpeningFragment").bases("Node").build(); + def("JSXClosingFragment").bases("Node").build(); + def("JSXText").bases("Literal").build("value").field("value", String); + def("JSXEmptyExpression").bases("Expression").build(); + def("JSXSpreadChild").bases("Expression").build("expression").field("expression", def("Expression")); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/type-annotations.js +var require_type_annotations = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/type-annotations.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + var types = fork.use(types_1.default); + var def = types.Type.def; + var or = types.Type.or; + var defaults = fork.use(shared_1.default).defaults; + var TypeAnnotation = or(def("TypeAnnotation"), def("TSTypeAnnotation"), null); + var TypeParamDecl = or(def("TypeParameterDeclaration"), def("TSTypeParameterDeclaration"), null); + def("Identifier").field("typeAnnotation", TypeAnnotation, defaults["null"]); + def("ObjectPattern").field("typeAnnotation", TypeAnnotation, defaults["null"]); + def("Function").field("returnType", TypeAnnotation, defaults["null"]).field("typeParameters", TypeParamDecl, defaults["null"]); + def("ClassProperty").build("key", "value", "typeAnnotation", "static").field("value", or(def("Expression"), null)).field("static", Boolean, defaults["false"]).field("typeAnnotation", TypeAnnotation, defaults["null"]); + [ + "ClassDeclaration", + "ClassExpression" + ].forEach(function(typeName) { + def(typeName).field("typeParameters", TypeParamDecl, defaults["null"]).field("superTypeParameters", or(def("TypeParameterInstantiation"), def("TSTypeParameterInstantiation"), null), defaults["null"]).field("implements", or([def("ClassImplements")], [def("TSExpressionWithTypeArguments")]), defaults.emptyArray); + }); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/flow.js +var require_flow = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/flow.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var es7_1 = tslib_1.__importDefault(require_es7()); + var type_annotations_1 = tslib_1.__importDefault(require_type_annotations()); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + fork.use(es7_1.default); + fork.use(type_annotations_1.default); + var types = fork.use(types_1.default); + var def = types.Type.def; + var or = types.Type.or; + var defaults = fork.use(shared_1.default).defaults; + def("Flow").bases("Node"); + def("FlowType").bases("Flow"); + def("AnyTypeAnnotation").bases("FlowType").build(); + def("EmptyTypeAnnotation").bases("FlowType").build(); + def("MixedTypeAnnotation").bases("FlowType").build(); + def("VoidTypeAnnotation").bases("FlowType").build(); + def("NumberTypeAnnotation").bases("FlowType").build(); + def("NumberLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Number).field("raw", String); + def("NumericLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Number).field("raw", String); + def("StringTypeAnnotation").bases("FlowType").build(); + def("StringLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", String).field("raw", String); + def("BooleanTypeAnnotation").bases("FlowType").build(); + def("BooleanLiteralTypeAnnotation").bases("FlowType").build("value", "raw").field("value", Boolean).field("raw", String); + def("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation", def("FlowType")); + def("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation", def("FlowType")); + def("NullLiteralTypeAnnotation").bases("FlowType").build(); + def("NullTypeAnnotation").bases("FlowType").build(); + def("ThisTypeAnnotation").bases("FlowType").build(); + def("ExistsTypeAnnotation").bases("FlowType").build(); + def("ExistentialTypeParam").bases("FlowType").build(); + def("FunctionTypeAnnotation").bases("FlowType").build("params", "returnType", "rest", "typeParameters").field("params", [def("FunctionTypeParam")]).field("returnType", def("FlowType")).field("rest", or(def("FunctionTypeParam"), null)).field("typeParameters", or(def("TypeParameterDeclaration"), null)); + def("FunctionTypeParam").bases("Node").build("name", "typeAnnotation", "optional").field("name", def("Identifier")).field("typeAnnotation", def("FlowType")).field("optional", Boolean); + def("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType", def("FlowType")); + def("ObjectTypeAnnotation").bases("FlowType").build("properties", "indexers", "callProperties").field("properties", [ + or(def("ObjectTypeProperty"), def("ObjectTypeSpreadProperty")) + ]).field("indexers", [def("ObjectTypeIndexer")], defaults.emptyArray).field("callProperties", [def("ObjectTypeCallProperty")], defaults.emptyArray).field("inexact", or(Boolean, void 0), defaults["undefined"]).field("exact", Boolean, defaults["false"]).field("internalSlots", [def("ObjectTypeInternalSlot")], defaults.emptyArray); + def("Variance").bases("Node").build("kind").field("kind", or("plus", "minus")); + var LegacyVariance = or(def("Variance"), "plus", "minus", null); + def("ObjectTypeProperty").bases("Node").build("key", "value", "optional").field("key", or(def("Literal"), def("Identifier"))).field("value", def("FlowType")).field("optional", Boolean).field("variance", LegacyVariance, defaults["null"]); + def("ObjectTypeIndexer").bases("Node").build("id", "key", "value").field("id", def("Identifier")).field("key", def("FlowType")).field("value", def("FlowType")).field("variance", LegacyVariance, defaults["null"]); + def("ObjectTypeCallProperty").bases("Node").build("value").field("value", def("FunctionTypeAnnotation")).field("static", Boolean, defaults["false"]); + def("QualifiedTypeIdentifier").bases("Node").build("qualification", "id").field("qualification", or(def("Identifier"), def("QualifiedTypeIdentifier"))).field("id", def("Identifier")); + def("GenericTypeAnnotation").bases("FlowType").build("id", "typeParameters").field("id", or(def("Identifier"), def("QualifiedTypeIdentifier"))).field("typeParameters", or(def("TypeParameterInstantiation"), null)); + def("MemberTypeAnnotation").bases("FlowType").build("object", "property").field("object", def("Identifier")).field("property", or(def("MemberTypeAnnotation"), def("GenericTypeAnnotation"))); + def("UnionTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]); + def("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]); + def("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument", def("FlowType")); + def("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument", def("FlowType")); + def("ObjectTypeInternalSlot").bases("Node").build("id", "value", "optional", "static", "method").field("id", def("Identifier")).field("value", def("FlowType")).field("optional", Boolean).field("static", Boolean).field("method", Boolean); + def("TypeParameterDeclaration").bases("Node").build("params").field("params", [def("TypeParameter")]); + def("TypeParameterInstantiation").bases("Node").build("params").field("params", [def("FlowType")]); + def("TypeParameter").bases("FlowType").build("name", "variance", "bound").field("name", String).field("variance", LegacyVariance, defaults["null"]).field("bound", or(def("TypeAnnotation"), null), defaults["null"]); + def("ClassProperty").field("variance", LegacyVariance, defaults["null"]); + def("ClassImplements").bases("Node").build("id").field("id", def("Identifier")).field("superClass", or(def("Expression"), null), defaults["null"]).field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]); + def("InterfaceTypeAnnotation").bases("FlowType").build("body", "extends").field("body", def("ObjectTypeAnnotation")).field("extends", or([def("InterfaceExtends")], null), defaults["null"]); + def("InterfaceDeclaration").bases("Declaration").build("id", "body", "extends").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null), defaults["null"]).field("body", def("ObjectTypeAnnotation")).field("extends", [def("InterfaceExtends")]); + def("DeclareInterface").bases("InterfaceDeclaration").build("id", "body", "extends"); + def("InterfaceExtends").bases("Node").build("id").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]); + def("TypeAlias").bases("Declaration").build("id", "typeParameters", "right").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null)).field("right", def("FlowType")); + def("OpaqueType").bases("Declaration").build("id", "typeParameters", "impltype", "supertype").field("id", def("Identifier")).field("typeParameters", or(def("TypeParameterDeclaration"), null)).field("impltype", def("FlowType")).field("supertype", def("FlowType")); + def("DeclareTypeAlias").bases("TypeAlias").build("id", "typeParameters", "right"); + def("DeclareOpaqueType").bases("TypeAlias").build("id", "typeParameters", "supertype"); + def("TypeCastExpression").bases("Expression").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TypeAnnotation")); + def("TupleTypeAnnotation").bases("FlowType").build("types").field("types", [def("FlowType")]); + def("DeclareVariable").bases("Statement").build("id").field("id", def("Identifier")); + def("DeclareFunction").bases("Statement").build("id").field("id", def("Identifier")); + def("DeclareClass").bases("InterfaceDeclaration").build("id"); + def("DeclareModule").bases("Statement").build("id", "body").field("id", or(def("Identifier"), def("Literal"))).field("body", def("BlockStatement")); + def("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation", def("TypeAnnotation")); + def("DeclareExportDeclaration").bases("Declaration").build("default", "declaration", "specifiers", "source").field("default", Boolean).field("declaration", or( + def("DeclareVariable"), + def("DeclareFunction"), + def("DeclareClass"), + def("FlowType"), + // Implies default. + null + )).field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]); + def("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source", or(def("Literal"), null), defaults["null"]); + def("FlowPredicate").bases("Flow"); + def("InferredPredicate").bases("FlowPredicate").build(); + def("DeclaredPredicate").bases("FlowPredicate").build("value").field("value", def("Expression")); + def("CallExpression").field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]); + def("NewExpression").field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/esprima.js +var require_esprima2 = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/esprima.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var es7_1 = tslib_1.__importDefault(require_es7()); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + fork.use(es7_1.default); + var types = fork.use(types_1.default); + var defaults = fork.use(shared_1.default).defaults; + var def = types.Type.def; + var or = types.Type.or; + def("VariableDeclaration").field("declarations", [or( + def("VariableDeclarator"), + def("Identifier") + // Esprima deviation. + )]); + def("Property").field("value", or( + def("Expression"), + def("Pattern") + // Esprima deviation. + )); + def("ArrayPattern").field("elements", [or(def("Pattern"), def("SpreadElement"), null)]); + def("ObjectPattern").field("properties", [or( + def("Property"), + def("PropertyPattern"), + def("SpreadPropertyPattern"), + def("SpreadProperty") + // Used by Esprima. + )]); + def("ExportSpecifier").bases("ModuleSpecifier").build("id", "name"); + def("ExportBatchSpecifier").bases("Specifier").build(); + def("ExportDeclaration").bases("Declaration").build("default", "declaration", "specifiers", "source").field("default", Boolean).field("declaration", or( + def("Declaration"), + def("Expression"), + // Implies default. + null + )).field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]); + def("Block").bases("Comment").build( + "value", + /*optional:*/ + "leading", + "trailing" + ); + def("Line").bases("Comment").build( + "value", + /*optional:*/ + "leading", + "trailing" + ); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel-core.js +var require_babel_core = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel-core.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + var es7_1 = tslib_1.__importDefault(require_es7()); + function default_1(fork) { + fork.use(es7_1.default); + var types = fork.use(types_1.default); + var defaults = fork.use(shared_1.default).defaults; + var def = types.Type.def; + var or = types.Type.or; + def("Noop").bases("Statement").build(); + def("DoExpression").bases("Expression").build("body").field("body", [def("Statement")]); + def("Super").bases("Expression").build(); + def("BindExpression").bases("Expression").build("object", "callee").field("object", or(def("Expression"), null)).field("callee", def("Expression")); + def("Decorator").bases("Node").build("expression").field("expression", def("Expression")); + def("Property").field("decorators", or([def("Decorator")], null), defaults["null"]); + def("MethodDefinition").field("decorators", or([def("Decorator")], null), defaults["null"]); + def("MetaProperty").bases("Expression").build("meta", "property").field("meta", def("Identifier")).field("property", def("Identifier")); + def("ParenthesizedExpression").bases("Expression").build("expression").field("expression", def("Expression")); + def("ImportSpecifier").bases("ModuleSpecifier").build("imported", "local").field("imported", def("Identifier")); + def("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"); + def("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"); + def("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration", or(def("Declaration"), def("Expression"))); + def("ExportNamedDeclaration").bases("Declaration").build("declaration", "specifiers", "source").field("declaration", or(def("Declaration"), null)).field("specifiers", [def("ExportSpecifier")], defaults.emptyArray).field("source", or(def("Literal"), null), defaults["null"]); + def("ExportSpecifier").bases("ModuleSpecifier").build("local", "exported").field("exported", def("Identifier")); + def("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported", def("Identifier")); + def("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported", def("Identifier")); + def("ExportAllDeclaration").bases("Declaration").build("exported", "source").field("exported", or(def("Identifier"), null)).field("source", def("Literal")); + def("CommentBlock").bases("Comment").build( + "value", + /*optional:*/ + "leading", + "trailing" + ); + def("CommentLine").bases("Comment").build( + "value", + /*optional:*/ + "leading", + "trailing" + ); + def("Directive").bases("Node").build("value").field("value", def("DirectiveLiteral")); + def("DirectiveLiteral").bases("Node", "Expression").build("value").field("value", String, defaults["use strict"]); + def("InterpreterDirective").bases("Node").build("value").field("value", String); + def("BlockStatement").bases("Statement").build("body").field("body", [def("Statement")]).field("directives", [def("Directive")], defaults.emptyArray); + def("Program").bases("Node").build("body").field("body", [def("Statement")]).field("directives", [def("Directive")], defaults.emptyArray).field("interpreter", or(def("InterpreterDirective"), null), defaults["null"]); + def("StringLiteral").bases("Literal").build("value").field("value", String); + def("NumericLiteral").bases("Literal").build("value").field("value", Number).field("raw", or(String, null), defaults["null"]).field("extra", { + rawValue: Number, + raw: String + }, function getDefault() { + return { + rawValue: this.value, + raw: this.value + "" + }; + }); + def("BigIntLiteral").bases("Literal").build("value").field("value", or(String, Number)).field("extra", { + rawValue: String, + raw: String + }, function getDefault() { + return { + rawValue: String(this.value), + raw: this.value + "n" + }; + }); + def("NullLiteral").bases("Literal").build().field("value", null, defaults["null"]); + def("BooleanLiteral").bases("Literal").build("value").field("value", Boolean); + def("RegExpLiteral").bases("Literal").build("pattern", "flags").field("pattern", String).field("flags", String).field("value", RegExp, function() { + return new RegExp(this.pattern, this.flags); + }); + var ObjectExpressionProperty = or(def("Property"), def("ObjectMethod"), def("ObjectProperty"), def("SpreadProperty"), def("SpreadElement")); + def("ObjectExpression").bases("Expression").build("properties").field("properties", [ObjectExpressionProperty]); + def("ObjectMethod").bases("Node", "Function").build("kind", "key", "params", "body", "computed").field("kind", or("method", "get", "set")).field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("params", [def("Pattern")]).field("body", def("BlockStatement")).field("computed", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]).field( + "accessibility", + // TypeScript + or(def("Literal"), null), + defaults["null"] + ).field("decorators", or([def("Decorator")], null), defaults["null"]); + def("ObjectProperty").bases("Node").build("key", "value").field("key", or(def("Literal"), def("Identifier"), def("Expression"))).field("value", or(def("Expression"), def("Pattern"))).field( + "accessibility", + // TypeScript + or(def("Literal"), null), + defaults["null"] + ).field("computed", Boolean, defaults["false"]); + var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"), def("ClassPrivateProperty"), def("ClassMethod"), def("ClassPrivateMethod")); + def("ClassBody").bases("Declaration").build("body").field("body", [ClassBodyElement]); + def("ClassMethod").bases("Declaration", "Function").build("kind", "key", "params", "body", "computed", "static").field("key", or(def("Literal"), def("Identifier"), def("Expression"))); + def("ClassPrivateMethod").bases("Declaration", "Function").build("key", "params", "body", "kind", "computed", "static").field("key", def("PrivateName")); + [ + "ClassMethod", + "ClassPrivateMethod" + ].forEach(function(typeName) { + def(typeName).field("kind", or("get", "set", "method", "constructor"), function() { + return "method"; + }).field("body", def("BlockStatement")).field("computed", Boolean, defaults["false"]).field("static", or(Boolean, null), defaults["null"]).field("abstract", or(Boolean, null), defaults["null"]).field("access", or("public", "private", "protected", null), defaults["null"]).field("accessibility", or("public", "private", "protected", null), defaults["null"]).field("decorators", or([def("Decorator")], null), defaults["null"]).field("optional", or(Boolean, null), defaults["null"]); + }); + def("ClassPrivateProperty").bases("ClassProperty").build("key", "value").field("key", def("PrivateName")).field("value", or(def("Expression"), null), defaults["null"]); + def("PrivateName").bases("Expression", "Pattern").build("id").field("id", def("Identifier")); + var ObjectPatternProperty = or( + def("Property"), + def("PropertyPattern"), + def("SpreadPropertyPattern"), + def("SpreadProperty"), + // Used by Esprima + def("ObjectProperty"), + // Babel 6 + def("RestProperty") + // Babel 6 + ); + def("ObjectPattern").bases("Pattern").build("properties").field("properties", [ObjectPatternProperty]).field("decorators", or([def("Decorator")], null), defaults["null"]); + def("SpreadProperty").bases("Node").build("argument").field("argument", def("Expression")); + def("RestProperty").bases("Node").build("argument").field("argument", def("Expression")); + def("ForAwaitStatement").bases("Statement").build("left", "right", "body").field("left", or(def("VariableDeclaration"), def("Expression"))).field("right", def("Expression")).field("body", def("Statement")); + def("Import").bases("Expression").build(); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel.js +var require_babel = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/babel.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var babel_core_1 = tslib_1.__importDefault(require_babel_core()); + var flow_1 = tslib_1.__importDefault(require_flow()); + function default_1(fork) { + fork.use(babel_core_1.default); + fork.use(flow_1.default); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/typescript.js +var require_typescript = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/typescript.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var babel_core_1 = tslib_1.__importDefault(require_babel_core()); + var type_annotations_1 = tslib_1.__importDefault(require_type_annotations()); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + function default_1(fork) { + fork.use(babel_core_1.default); + fork.use(type_annotations_1.default); + var types = fork.use(types_1.default); + var n = types.namedTypes; + var def = types.Type.def; + var or = types.Type.or; + var defaults = fork.use(shared_1.default).defaults; + var StringLiteral = types.Type.from(function(value, deep) { + if (n.StringLiteral && n.StringLiteral.check(value, deep)) { + return true; + } + if (n.Literal && n.Literal.check(value, deep) && typeof value.value === "string") { + return true; + } + return false; + }, "StringLiteral"); + def("TSType").bases("Node"); + var TSEntityName = or(def("Identifier"), def("TSQualifiedName")); + def("TSTypeReference").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("typeName", "typeParameters").field("typeName", TSEntityName); + def("TSHasOptionalTypeParameterInstantiation").field("typeParameters", or(def("TSTypeParameterInstantiation"), null), defaults["null"]); + def("TSHasOptionalTypeParameters").field("typeParameters", or(def("TSTypeParameterDeclaration"), null, void 0), defaults["null"]); + def("TSHasOptionalTypeAnnotation").field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]); + def("TSQualifiedName").bases("Node").build("left", "right").field("left", TSEntityName).field("right", TSEntityName); + def("TSAsExpression").bases("Expression", "Pattern").build("expression", "typeAnnotation").field("expression", def("Expression")).field("typeAnnotation", def("TSType")).field("extra", or({ parenthesized: Boolean }, null), defaults["null"]); + def("TSNonNullExpression").bases("Expression", "Pattern").build("expression").field("expression", def("Expression")); + [ + "TSAnyKeyword", + "TSBigIntKeyword", + "TSBooleanKeyword", + "TSNeverKeyword", + "TSNullKeyword", + "TSNumberKeyword", + "TSObjectKeyword", + "TSStringKeyword", + "TSSymbolKeyword", + "TSUndefinedKeyword", + "TSUnknownKeyword", + "TSVoidKeyword", + "TSThisType" + ].forEach(function(keywordType) { + def(keywordType).bases("TSType").build(); + }); + def("TSArrayType").bases("TSType").build("elementType").field("elementType", def("TSType")); + def("TSLiteralType").bases("TSType").build("literal").field("literal", or(def("NumericLiteral"), def("StringLiteral"), def("BooleanLiteral"), def("TemplateLiteral"), def("UnaryExpression"))); + [ + "TSUnionType", + "TSIntersectionType" + ].forEach(function(typeName) { + def(typeName).bases("TSType").build("types").field("types", [def("TSType")]); + }); + def("TSConditionalType").bases("TSType").build("checkType", "extendsType", "trueType", "falseType").field("checkType", def("TSType")).field("extendsType", def("TSType")).field("trueType", def("TSType")).field("falseType", def("TSType")); + def("TSInferType").bases("TSType").build("typeParameter").field("typeParameter", def("TSTypeParameter")); + def("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType")); + var ParametersType = [or(def("Identifier"), def("RestElement"), def("ArrayPattern"), def("ObjectPattern"))]; + [ + "TSFunctionType", + "TSConstructorType" + ].forEach(function(typeName) { + def(typeName).bases("TSType", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("parameters").field("parameters", ParametersType); + }); + def("TSDeclareFunction").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "params", "returnType").field("declare", Boolean, defaults["false"]).field("async", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("id", or(def("Identifier"), null), defaults["null"]).field("params", [def("Pattern")]).field("returnType", or( + def("TSTypeAnnotation"), + def("Noop"), + // Still used? + null + ), defaults["null"]); + def("TSDeclareMethod").bases("Declaration", "TSHasOptionalTypeParameters").build("key", "params", "returnType").field("async", Boolean, defaults["false"]).field("generator", Boolean, defaults["false"]).field("params", [def("Pattern")]).field("abstract", Boolean, defaults["false"]).field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"]).field("static", Boolean, defaults["false"]).field("computed", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("key", or( + def("Identifier"), + def("StringLiteral"), + def("NumericLiteral"), + // Only allowed if .computed is true. + def("Expression") + )).field("kind", or("get", "set", "method", "constructor"), function getDefault() { + return "method"; + }).field( + "access", + // Not "accessibility"? + or("public", "private", "protected", void 0), + defaults["undefined"] + ).field("decorators", or([def("Decorator")], null), defaults["null"]).field("returnType", or( + def("TSTypeAnnotation"), + def("Noop"), + // Still used? + null + ), defaults["null"]); + def("TSMappedType").bases("TSType").build("typeParameter", "typeAnnotation").field("readonly", or(Boolean, "+", "-"), defaults["false"]).field("typeParameter", def("TSTypeParameter")).field("optional", or(Boolean, "+", "-"), defaults["false"]).field("typeAnnotation", or(def("TSType"), null), defaults["null"]); + def("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes", [or(def("TSType"), def("TSNamedTupleMember"))]); + def("TSNamedTupleMember").bases("TSType").build("label", "elementType", "optional").field("label", def("Identifier")).field("optional", Boolean, defaults["false"]).field("elementType", def("TSType")); + def("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType")); + def("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation", def("TSType")); + def("TSIndexedAccessType").bases("TSType").build("objectType", "indexType").field("objectType", def("TSType")).field("indexType", def("TSType")); + def("TSTypeOperator").bases("TSType").build("operator").field("operator", String).field("typeAnnotation", def("TSType")); + def("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation", or(def("TSType"), def("TSTypeAnnotation"))); + def("TSIndexSignature").bases("Declaration", "TSHasOptionalTypeAnnotation").build("parameters", "typeAnnotation").field("parameters", [def("Identifier")]).field("readonly", Boolean, defaults["false"]); + def("TSPropertySignature").bases("Declaration", "TSHasOptionalTypeAnnotation").build("key", "typeAnnotation", "optional").field("key", def("Expression")).field("computed", Boolean, defaults["false"]).field("readonly", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("initializer", or(def("Expression"), null), defaults["null"]); + def("TSMethodSignature").bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("key", "parameters", "typeAnnotation").field("key", def("Expression")).field("computed", Boolean, defaults["false"]).field("optional", Boolean, defaults["false"]).field("parameters", ParametersType); + def("TSTypePredicate").bases("TSTypeAnnotation", "TSType").build("parameterName", "typeAnnotation", "asserts").field("parameterName", or(def("Identifier"), def("TSThisType"))).field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]).field("asserts", Boolean, defaults["false"]); + [ + "TSCallSignatureDeclaration", + "TSConstructSignatureDeclaration" + ].forEach(function(typeName) { + def(typeName).bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation").build("parameters", "typeAnnotation").field("parameters", ParametersType); + }); + def("TSEnumMember").bases("Node").build("id", "initializer").field("id", or(def("Identifier"), StringLiteral)).field("initializer", or(def("Expression"), null), defaults["null"]); + def("TSTypeQuery").bases("TSType").build("exprName").field("exprName", or(TSEntityName, def("TSImportType"))); + var TSTypeMember = or(def("TSCallSignatureDeclaration"), def("TSConstructSignatureDeclaration"), def("TSIndexSignature"), def("TSMethodSignature"), def("TSPropertySignature")); + def("TSTypeLiteral").bases("TSType").build("members").field("members", [TSTypeMember]); + def("TSTypeParameter").bases("Identifier").build("name", "constraint", "default").field("name", String).field("constraint", or(def("TSType"), void 0), defaults["undefined"]).field("default", or(def("TSType"), void 0), defaults["undefined"]); + def("TSTypeAssertion").bases("Expression", "Pattern").build("typeAnnotation", "expression").field("typeAnnotation", def("TSType")).field("expression", def("Expression")).field("extra", or({ parenthesized: Boolean }, null), defaults["null"]); + def("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params", [def("TSTypeParameter")]); + def("TSTypeParameterInstantiation").bases("Node").build("params").field("params", [def("TSType")]); + def("TSEnumDeclaration").bases("Declaration").build("id", "members").field("id", def("Identifier")).field("const", Boolean, defaults["false"]).field("declare", Boolean, defaults["false"]).field("members", [def("TSEnumMember")]).field("initializer", or(def("Expression"), null), defaults["null"]); + def("TSTypeAliasDeclaration").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "typeAnnotation").field("id", def("Identifier")).field("declare", Boolean, defaults["false"]).field("typeAnnotation", def("TSType")); + def("TSModuleBlock").bases("Node").build("body").field("body", [def("Statement")]); + def("TSModuleDeclaration").bases("Declaration").build("id", "body").field("id", or(StringLiteral, TSEntityName)).field("declare", Boolean, defaults["false"]).field("global", Boolean, defaults["false"]).field("body", or(def("TSModuleBlock"), def("TSModuleDeclaration"), null), defaults["null"]); + def("TSImportType").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("argument", "qualifier", "typeParameters").field("argument", StringLiteral).field("qualifier", or(TSEntityName, void 0), defaults["undefined"]); + def("TSImportEqualsDeclaration").bases("Declaration").build("id", "moduleReference").field("id", def("Identifier")).field("isExport", Boolean, defaults["false"]).field("moduleReference", or(TSEntityName, def("TSExternalModuleReference"))); + def("TSExternalModuleReference").bases("Declaration").build("expression").field("expression", StringLiteral); + def("TSExportAssignment").bases("Statement").build("expression").field("expression", def("Expression")); + def("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id", def("Identifier")); + def("TSInterfaceBody").bases("Node").build("body").field("body", [TSTypeMember]); + def("TSExpressionWithTypeArguments").bases("TSType", "TSHasOptionalTypeParameterInstantiation").build("expression", "typeParameters").field("expression", TSEntityName); + def("TSInterfaceDeclaration").bases("Declaration", "TSHasOptionalTypeParameters").build("id", "body").field("id", TSEntityName).field("declare", Boolean, defaults["false"]).field("extends", or([def("TSExpressionWithTypeArguments")], null), defaults["null"]).field("body", def("TSInterfaceBody")); + def("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"]).field("readonly", Boolean, defaults["false"]).field("parameter", or(def("Identifier"), def("AssignmentPattern"))); + def("ClassProperty").field( + "access", + // Not "accessibility"? + or("public", "private", "protected", void 0), + defaults["undefined"] + ); + def("ClassBody").field("body", [or( + def("MethodDefinition"), + def("VariableDeclarator"), + def("ClassPropertyDefinition"), + def("ClassProperty"), + def("ClassPrivateProperty"), + def("ClassMethod"), + def("ClassPrivateMethod"), + // Just need to add these types: + def("TSDeclareMethod"), + TSTypeMember + )]); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es-proposals.js +var require_es_proposals = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/def/es-proposals.js"(exports, module2) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var types_1 = tslib_1.__importDefault(require_types()); + var shared_1 = tslib_1.__importDefault(require_shared()); + var core_1 = tslib_1.__importDefault(require_core()); + function default_1(fork) { + fork.use(core_1.default); + var types = fork.use(types_1.default); + var Type = types.Type; + var def = types.Type.def; + var or = Type.or; + var shared = fork.use(shared_1.default); + var defaults = shared.defaults; + def("OptionalMemberExpression").bases("MemberExpression").build("object", "property", "computed", "optional").field("optional", Boolean, defaults["true"]); + def("OptionalCallExpression").bases("CallExpression").build("callee", "arguments", "optional").field("optional", Boolean, defaults["true"]); + var LogicalOperator = or("||", "&&", "??"); + def("LogicalExpression").field("operator", LogicalOperator); + } + exports.default = default_1; + module2.exports = exports["default"]; + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/gen/namedTypes.js +var require_namedTypes = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/gen/namedTypes.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.namedTypes = void 0; + var namedTypes; + (function(namedTypes2) { + })(namedTypes = exports.namedTypes || (exports.namedTypes = {})); + } +}); + +// .yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/main.js +var require_main = __commonJS({ + ".yarn/cache/ast-types-npm-0.13.4-69f7e68df8-bb0eb8a85e.zip/node_modules/ast-types/main.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.visit = exports.use = exports.Type = exports.someField = exports.PathVisitor = exports.Path = exports.NodePath = exports.namedTypes = exports.getSupertypeNames = exports.getFieldValue = exports.getFieldNames = exports.getBuilderName = exports.finalize = exports.eachField = exports.defineMethod = exports.builtInTypes = exports.builders = exports.astNodesAreEquivalent = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var fork_1 = tslib_1.__importDefault(require_fork()); + var core_1 = tslib_1.__importDefault(require_core()); + var es6_1 = tslib_1.__importDefault(require_es6()); + var es7_1 = tslib_1.__importDefault(require_es7()); + var es2020_1 = tslib_1.__importDefault(require_es2020()); + var jsx_1 = tslib_1.__importDefault(require_jsx()); + var flow_1 = tslib_1.__importDefault(require_flow()); + var esprima_1 = tslib_1.__importDefault(require_esprima2()); + var babel_1 = tslib_1.__importDefault(require_babel()); + var typescript_1 = tslib_1.__importDefault(require_typescript()); + var es_proposals_1 = tslib_1.__importDefault(require_es_proposals()); + var namedTypes_1 = require_namedTypes(); + Object.defineProperty(exports, "namedTypes", { enumerable: true, get: function() { + return namedTypes_1.namedTypes; + } }); + var _a = fork_1.default([ + // This core module of AST types captures ES5 as it is parsed today by + // git://github.com/ariya/esprima.git#master. + core_1.default, + // Feel free to add to or remove from this list of extension modules to + // configure the precise type hierarchy that you need. + es6_1.default, + es7_1.default, + es2020_1.default, + jsx_1.default, + flow_1.default, + esprima_1.default, + babel_1.default, + typescript_1.default, + es_proposals_1.default + ]); + var astNodesAreEquivalent = _a.astNodesAreEquivalent; + var builders = _a.builders; + var builtInTypes = _a.builtInTypes; + var defineMethod = _a.defineMethod; + var eachField = _a.eachField; + var finalize = _a.finalize; + var getBuilderName = _a.getBuilderName; + var getFieldNames = _a.getFieldNames; + var getFieldValue = _a.getFieldValue; + var getSupertypeNames = _a.getSupertypeNames; + var n = _a.namedTypes; + var NodePath = _a.NodePath; + var Path = _a.Path; + var PathVisitor = _a.PathVisitor; + var someField = _a.someField; + var Type = _a.Type; + var use = _a.use; + var visit = _a.visit; + exports.astNodesAreEquivalent = astNodesAreEquivalent; + exports.builders = builders; + exports.builtInTypes = builtInTypes; + exports.defineMethod = defineMethod; + exports.eachField = eachField; + exports.finalize = finalize; + exports.getBuilderName = getBuilderName; + exports.getFieldNames = getFieldNames; + exports.getFieldValue = getFieldValue; + exports.getSupertypeNames = getSupertypeNames; + exports.NodePath = NodePath; + exports.Path = Path; + exports.PathVisitor = PathVisitor; + exports.someField = someField; + exports.Type = Type; + exports.use = use; + exports.visit = visit; + Object.assign(namedTypes_1.namedTypes, n); + } +}); + +// .yarn/cache/vm2-patch-e4c2a87b9d-d283b74b74.zip/node_modules/vm2/index.js +var require_vm2 = __commonJS({ + ".yarn/cache/vm2-patch-e4c2a87b9d-d283b74b74.zip/node_modules/vm2/index.js"(exports, module2) { + "use strict"; + module2.exports = { + VM: function VM() { + }, + VMScript: function VMScript() { + } + }; + } +}); + +// .yarn/cache/degenerator-npm-4.0.2-40f6f904e6-99337dd354.zip/node_modules/degenerator/dist/index.js +var require_dist8 = __commonJS({ + ".yarn/cache/degenerator-npm-4.0.2-40f6f904e6-99337dd354.zip/node_modules/degenerator/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.compile = exports.degenerator = void 0; + var util_1 = require("util"); + var escodegen_1 = require_escodegen(); + var esprima_1 = require_esprima(); + var ast_types_1 = require_main(); + var vm2_1 = require_vm2(); + function degenerator(code, _names) { + if (!Array.isArray(_names)) { + throw new TypeError('an array of async function "names" is required'); + } + const names = _names.slice(0); + const ast = (0, esprima_1.parseScript)(code); + let lastNamesLength = 0; + do { + lastNamesLength = names.length; + (0, ast_types_1.visit)(ast, { + visitVariableDeclaration(path9) { + if (path9.node.declarations) { + for (let i = 0; i < path9.node.declarations.length; i++) { + const declaration = path9.node.declarations[i]; + if (ast_types_1.namedTypes.VariableDeclarator.check(declaration) && ast_types_1.namedTypes.Identifier.check(declaration.init) && ast_types_1.namedTypes.Identifier.check(declaration.id) && checkName(declaration.init.name, names) && !checkName(declaration.id.name, names)) { + names.push(declaration.id.name); + } + } + } + return false; + }, + visitAssignmentExpression(path9) { + if (ast_types_1.namedTypes.Identifier.check(path9.node.left) && ast_types_1.namedTypes.Identifier.check(path9.node.right) && checkName(path9.node.right.name, names) && !checkName(path9.node.left.name, names)) { + names.push(path9.node.left.name); + } + return false; + }, + visitFunction(path9) { + if (path9.node.id) { + let shouldDegenerate = false; + (0, ast_types_1.visit)(path9.node, { + visitCallExpression(path10) { + if (checkNames(path10.node, names)) { + shouldDegenerate = true; + } + return false; + } + }); + if (!shouldDegenerate) { + return false; + } + path9.node.async = true; + if (!checkName(path9.node.id.name, names)) { + names.push(path9.node.id.name); + } + } + this.traverse(path9); + } + }); + } while (lastNamesLength !== names.length); + (0, ast_types_1.visit)(ast, { + visitCallExpression(path9) { + if (checkNames(path9.node, names)) { + const delegate = false; + const { name, parent: { node: pNode } } = path9; + const expr = ast_types_1.builders.awaitExpression(path9.node, delegate); + if (ast_types_1.namedTypes.CallExpression.check(pNode)) { + pNode.arguments[name] = expr; + } else { + pNode[name] = expr; + } + } + this.traverse(path9); + } + }); + return (0, escodegen_1.generate)(ast); + } + exports.degenerator = degenerator; + function compile(code, returnName, names, options = {}) { + const compiled = degenerator(code, names); + const vm = new vm2_1.VM(options); + const script = new vm2_1.VMScript(`${compiled};${returnName}`, { + filename: options.filename + }); + const fn2 = vm.run(script); + if (typeof fn2 !== "function") { + throw new Error(`Expected a "function" to be returned for \`${returnName}\`, but got "${typeof fn2}"`); + } + const r = function(...args) { + try { + const p = fn2.apply(this, args); + if (typeof p?.then === "function") { + return p; + } + return Promise.resolve(p); + } catch (err) { + return Promise.reject(err); + } + }; + Object.defineProperty(r, "toString", { + value: fn2.toString.bind(fn2), + enumerable: false + }); + return r; + } + exports.compile = compile; + function checkNames({ callee }, names) { + let name; + if (ast_types_1.namedTypes.Identifier.check(callee)) { + name = callee.name; + } else if (ast_types_1.namedTypes.MemberExpression.check(callee)) { + if (ast_types_1.namedTypes.Identifier.check(callee.object) && ast_types_1.namedTypes.Identifier.check(callee.property)) { + name = `${callee.object.name}.${callee.property.name}`; + } else { + return false; + } + } else if (ast_types_1.namedTypes.FunctionExpression.check(callee)) { + if (callee.id) { + name = callee.id.name; + } else { + return false; + } + } else { + throw new Error(`Don't know how to get name for: ${callee.type}`); + } + return checkName(name, names); + } + function checkName(name, names) { + for (let i = 0; i < names.length; i++) { + const n = names[i]; + if (util_1.types.isRegExp(n)) { + if (n.test(name)) { + return true; + } + } else if (name === n) { + return true; + } + } + return false; + } + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dateRange.js +var require_dateRange = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dateRange.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function dateRange() { + return false; + } + exports.default = dateRange; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dnsDomainIs.js +var require_dnsDomainIs = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dnsDomainIs.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function dnsDomainIs(host, domain) { + host = String(host); + domain = String(domain); + return host.substr(domain.length * -1) === domain; + } + exports.default = dnsDomainIs; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dnsDomainLevels.js +var require_dnsDomainLevels = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dnsDomainLevels.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function dnsDomainLevels(host) { + const match = String(host).match(/\./g); + let levels = 0; + if (match) { + levels = match.length; + } + return levels; + } + exports.default = dnsDomainLevels; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/util.js +var require_util3 = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/util.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isGMT = exports.dnsLookup = void 0; + var dns_1 = require("dns"); + function dnsLookup(host, opts) { + return new Promise((resolve, reject) => { + (0, dns_1.lookup)(host, opts, (err, res) => { + if (err) { + reject(err); + } else { + resolve(res); + } + }); + }); + } + exports.dnsLookup = dnsLookup; + function isGMT(v) { + return v === "GMT"; + } + exports.isGMT = isGMT; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dnsResolve.js +var require_dnsResolve = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/dnsResolve.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var util_1 = require_util3(); + async function dnsResolve(host) { + const family = 4; + try { + const r = await (0, util_1.dnsLookup)(host, { family }); + if (typeof r === "string") { + return r; + } + } catch (err) { + } + return null; + } + exports.default = dnsResolve; + } +}); + +// .yarn/cache/netmask-npm-2.0.2-2299510a4d-ba4edae75a.zip/node_modules/netmask/lib/netmask.js +var require_netmask = __commonJS({ + ".yarn/cache/netmask-npm-2.0.2-2299510a4d-ba4edae75a.zip/node_modules/netmask/lib/netmask.js"(exports) { + (function() { + var Netmask, atob, chr, chr0, chrA, chra, ip2long, long2ip; + long2ip = function(long) { + var a, b, c, d; + a = (long & 255 << 24) >>> 24; + b = (long & 255 << 16) >>> 16; + c = (long & 255 << 8) >>> 8; + d = long & 255; + return [a, b, c, d].join("."); + }; + ip2long = function(ip) { + var b, c, i, j, n, ref; + b = []; + for (i = j = 0; j <= 3; i = ++j) { + if (ip.length === 0) { + break; + } + if (i > 0) { + if (ip[0] !== ".") { + throw new Error("Invalid IP"); + } + ip = ip.substring(1); + } + ref = atob(ip), n = ref[0], c = ref[1]; + ip = ip.substring(c); + b.push(n); + } + if (ip.length !== 0) { + throw new Error("Invalid IP"); + } + switch (b.length) { + case 1: + if (b[0] > 4294967295) { + throw new Error("Invalid IP"); + } + return b[0] >>> 0; + case 2: + if (b[0] > 255 || b[1] > 16777215) { + throw new Error("Invalid IP"); + } + return (b[0] << 24 | b[1]) >>> 0; + case 3: + if (b[0] > 255 || b[1] > 255 || b[2] > 65535) { + throw new Error("Invalid IP"); + } + return (b[0] << 24 | b[1] << 16 | b[2]) >>> 0; + case 4: + if (b[0] > 255 || b[1] > 255 || b[2] > 255 || b[3] > 255) { + throw new Error("Invalid IP"); + } + return (b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]) >>> 0; + default: + throw new Error("Invalid IP"); + } + }; + chr = function(b) { + return b.charCodeAt(0); + }; + chr0 = chr("0"); + chra = chr("a"); + chrA = chr("A"); + atob = function(s) { + var base, dmax, i, n, start; + n = 0; + base = 10; + dmax = "9"; + i = 0; + if (s.length > 1 && s[i] === "0") { + if (s[i + 1] === "x" || s[i + 1] === "X") { + i += 2; + base = 16; + } else if ("0" <= s[i + 1] && s[i + 1] <= "9") { + i++; + base = 8; + dmax = "7"; + } + } + start = i; + while (i < s.length) { + if ("0" <= s[i] && s[i] <= dmax) { + n = n * base + (chr(s[i]) - chr0) >>> 0; + } else if (base === 16) { + if ("a" <= s[i] && s[i] <= "f") { + n = n * base + (10 + chr(s[i]) - chra) >>> 0; + } else if ("A" <= s[i] && s[i] <= "F") { + n = n * base + (10 + chr(s[i]) - chrA) >>> 0; + } else { + break; + } + } else { + break; + } + if (n > 4294967295) { + throw new Error("too large"); + } + i++; + } + if (i === start) { + throw new Error("empty octet"); + } + return [n, i]; + }; + Netmask = function() { + function Netmask2(net, mask) { + var error, i, j, ref; + if (typeof net !== "string") { + throw new Error("Missing `net' parameter"); + } + if (!mask) { + ref = net.split("/", 2), net = ref[0], mask = ref[1]; + } + if (!mask) { + mask = 32; + } + if (typeof mask === "string" && mask.indexOf(".") > -1) { + try { + this.maskLong = ip2long(mask); + } catch (error1) { + error = error1; + throw new Error("Invalid mask: " + mask); + } + for (i = j = 32; j >= 0; i = --j) { + if (this.maskLong === 4294967295 << 32 - i >>> 0) { + this.bitmask = i; + break; + } + } + } else if (mask || mask === 0) { + this.bitmask = parseInt(mask, 10); + this.maskLong = 0; + if (this.bitmask > 0) { + this.maskLong = 4294967295 << 32 - this.bitmask >>> 0; + } + } else { + throw new Error("Invalid mask: empty"); + } + try { + this.netLong = (ip2long(net) & this.maskLong) >>> 0; + } catch (error1) { + error = error1; + throw new Error("Invalid net address: " + net); + } + if (!(this.bitmask <= 32)) { + throw new Error("Invalid mask for ip4: " + mask); + } + this.size = Math.pow(2, 32 - this.bitmask); + this.base = long2ip(this.netLong); + this.mask = long2ip(this.maskLong); + this.hostmask = long2ip(~this.maskLong); + this.first = this.bitmask <= 30 ? long2ip(this.netLong + 1) : this.base; + this.last = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 2) : long2ip(this.netLong + this.size - 1); + this.broadcast = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 1) : void 0; + } + Netmask2.prototype.contains = function(ip) { + if (typeof ip === "string" && (ip.indexOf("/") > 0 || ip.split(".").length !== 4)) { + ip = new Netmask2(ip); + } + if (ip instanceof Netmask2) { + return this.contains(ip.base) && this.contains(ip.broadcast || ip.last); + } else { + return (ip2long(ip) & this.maskLong) >>> 0 === (this.netLong & this.maskLong) >>> 0; + } + }; + Netmask2.prototype.next = function(count) { + if (count == null) { + count = 1; + } + return new Netmask2(long2ip(this.netLong + this.size * count), this.mask); + }; + Netmask2.prototype.forEach = function(fn2) { + var index, lastLong, long; + long = ip2long(this.first); + lastLong = ip2long(this.last); + index = 0; + while (long <= lastLong) { + fn2(long2ip(long), long, index); + index++; + long++; + } + }; + Netmask2.prototype.toString = function() { + return this.base + "/" + this.bitmask; + }; + return Netmask2; + }(); + exports.ip2long = ip2long; + exports.long2ip = long2ip; + exports.Netmask = Netmask; + }).call(exports); + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/isInNet.js +var require_isInNet = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/isInNet.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var netmask_1 = require_netmask(); + var util_1 = require_util3(); + async function isInNet(host, pattern, mask) { + const family = 4; + try { + const ip = await (0, util_1.dnsLookup)(host, { family }); + if (typeof ip === "string") { + const netmask = new netmask_1.Netmask(pattern, mask); + return netmask.contains(ip); + } + } catch (err) { + } + return false; + } + exports.default = isInNet; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/isPlainHostName.js +var require_isPlainHostName = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/isPlainHostName.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function isPlainHostName(host) { + return !/\./.test(host); + } + exports.default = isPlainHostName; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/isResolvable.js +var require_isResolvable = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/isResolvable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var util_1 = require_util3(); + async function isResolvable(host) { + const family = 4; + try { + if (await (0, util_1.dnsLookup)(host, { family })) { + return true; + } + } catch (err) { + } + return false; + } + exports.default = isResolvable; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/localHostOrDomainIs.js +var require_localHostOrDomainIs = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/localHostOrDomainIs.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function localHostOrDomainIs(host, hostdom) { + const parts = host.split("."); + const domparts = hostdom.split("."); + let matches = true; + for (let i = 0; i < parts.length; i++) { + if (parts[i] !== domparts[i]) { + matches = false; + break; + } + } + return matches; + } + exports.default = localHostOrDomainIs; + } +}); + +// .yarn/cache/ip-npm-1.1.8-abea558b72-bb1850e7b6.zip/node_modules/ip/lib/ip.js +var require_ip2 = __commonJS({ + ".yarn/cache/ip-npm-1.1.8-abea558b72-bb1850e7b6.zip/node_modules/ip/lib/ip.js"(exports) { + var ip = exports; + var { Buffer: Buffer2 } = require("buffer"); + var os2 = require("os"); + ip.toBuffer = function(ip2, buff, offset) { + offset = ~~offset; + var result; + if (this.isV4Format(ip2)) { + result = buff || new Buffer2(offset + 4); + ip2.split(/\./g).map((byte) => { + result[offset++] = parseInt(byte, 10) & 255; + }); + } else if (this.isV6Format(ip2)) { + var sections = ip2.split(":", 8); + var i; + for (i = 0; i < sections.length; i++) { + var isv4 = this.isV4Format(sections[i]); + var v4Buffer; + if (isv4) { + v4Buffer = this.toBuffer(sections[i]); + sections[i] = v4Buffer.slice(0, 2).toString("hex"); + } + if (v4Buffer && ++i < 8) { + sections.splice(i, 0, v4Buffer.slice(2, 4).toString("hex")); + } + } + if (sections[0] === "") { + while (sections.length < 8) + sections.unshift("0"); + } else if (sections[sections.length - 1] === "") { + while (sections.length < 8) + sections.push("0"); + } else if (sections.length < 8) { + for (i = 0; i < sections.length && sections[i] !== ""; i++) + ; + var argv = [i, 1]; + for (i = 9 - sections.length; i > 0; i--) { + argv.push("0"); + } + sections.splice.apply(sections, argv); + } + result = buff || new Buffer2(offset + 16); + for (i = 0; i < sections.length; i++) { + var word = parseInt(sections[i], 16); + result[offset++] = word >> 8 & 255; + result[offset++] = word & 255; + } + } + if (!result) { + throw Error(`Invalid ip address: ${ip2}`); + } + return result; + }; + ip.toString = function(buff, offset, length) { + offset = ~~offset; + length = length || buff.length - offset; + var result = []; + var i; + if (length === 4) { + for (i = 0; i < length; i++) { + result.push(buff[offset + i]); + } + result = result.join("."); + } else if (length === 16) { + for (i = 0; i < length; i += 2) { + result.push(buff.readUInt16BE(offset + i).toString(16)); + } + result = result.join(":"); + result = result.replace(/(^|:)0(:0)*:0(:|$)/, "$1::$3"); + result = result.replace(/:{3,4}/, "::"); + } + return result; + }; + var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; + var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; + ip.isV4Format = function(ip2) { + return ipv4Regex.test(ip2); + }; + ip.isV6Format = function(ip2) { + return ipv6Regex.test(ip2); + }; + function _normalizeFamily(family) { + if (family === 4) { + return "ipv4"; + } + if (family === 6) { + return "ipv6"; + } + return family ? family.toLowerCase() : "ipv4"; + } + ip.fromPrefixLen = function(prefixlen, family) { + if (prefixlen > 32) { + family = "ipv6"; + } else { + family = _normalizeFamily(family); + } + var len = 4; + if (family === "ipv6") { + len = 16; + } + var buff = new Buffer2(len); + for (var i = 0, n = buff.length; i < n; ++i) { + var bits = 8; + if (prefixlen < 8) { + bits = prefixlen; + } + prefixlen -= bits; + buff[i] = ~(255 >> bits) & 255; + } + return ip.toString(buff); + }; + ip.mask = function(addr, mask) { + addr = ip.toBuffer(addr); + mask = ip.toBuffer(mask); + var result = new Buffer2(Math.max(addr.length, mask.length)); + var i; + if (addr.length === mask.length) { + for (i = 0; i < addr.length; i++) { + result[i] = addr[i] & mask[i]; + } + } else if (mask.length === 4) { + for (i = 0; i < mask.length; i++) { + result[i] = addr[addr.length - 4 + i] & mask[i]; + } + } else { + for (i = 0; i < result.length - 6; i++) { + result[i] = 0; + } + result[10] = 255; + result[11] = 255; + for (i = 0; i < addr.length; i++) { + result[i + 12] = addr[i] & mask[i + 12]; + } + i += 12; + } + for (; i < result.length; i++) { + result[i] = 0; + } + return ip.toString(result); + }; + ip.cidr = function(cidrString) { + var cidrParts = cidrString.split("/"); + var addr = cidrParts[0]; + if (cidrParts.length !== 2) { + throw new Error(`invalid CIDR subnet: ${addr}`); + } + var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); + return ip.mask(addr, mask); + }; + ip.subnet = function(addr, mask) { + var networkAddress = ip.toLong(ip.mask(addr, mask)); + var maskBuffer = ip.toBuffer(mask); + var maskLength = 0; + for (var i = 0; i < maskBuffer.length; i++) { + if (maskBuffer[i] === 255) { + maskLength += 8; + } else { + var octet = maskBuffer[i] & 255; + while (octet) { + octet = octet << 1 & 255; + maskLength++; + } + } + } + var numberOfAddresses = Math.pow(2, 32 - maskLength); + return { + networkAddress: ip.fromLong(networkAddress), + firstAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress) : ip.fromLong(networkAddress + 1), + lastAddress: numberOfAddresses <= 2 ? ip.fromLong(networkAddress + numberOfAddresses - 1) : ip.fromLong(networkAddress + numberOfAddresses - 2), + broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1), + subnetMask: mask, + subnetMaskLength: maskLength, + numHosts: numberOfAddresses <= 2 ? numberOfAddresses : numberOfAddresses - 2, + length: numberOfAddresses, + contains(other) { + return networkAddress === ip.toLong(ip.mask(other, mask)); + } + }; + }; + ip.cidrSubnet = function(cidrString) { + var cidrParts = cidrString.split("/"); + var addr = cidrParts[0]; + if (cidrParts.length !== 2) { + throw new Error(`invalid CIDR subnet: ${addr}`); + } + var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); + return ip.subnet(addr, mask); + }; + ip.not = function(addr) { + var buff = ip.toBuffer(addr); + for (var i = 0; i < buff.length; i++) { + buff[i] = 255 ^ buff[i]; + } + return ip.toString(buff); + }; + ip.or = function(a, b) { + var i; + a = ip.toBuffer(a); + b = ip.toBuffer(b); + if (a.length === b.length) { + for (i = 0; i < a.length; ++i) { + a[i] |= b[i]; + } + return ip.toString(a); + } + var buff = a; + var other = b; + if (b.length > a.length) { + buff = b; + other = a; + } + var offset = buff.length - other.length; + for (i = offset; i < buff.length; ++i) { + buff[i] |= other[i - offset]; + } + return ip.toString(buff); + }; + ip.isEqual = function(a, b) { + var i; + a = ip.toBuffer(a); + b = ip.toBuffer(b); + if (a.length === b.length) { + for (i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; + } + if (b.length === 4) { + var t = b; + b = a; + a = t; + } + for (i = 0; i < 10; i++) { + if (b[i] !== 0) + return false; + } + var word = b.readUInt16BE(10); + if (word !== 0 && word !== 65535) + return false; + for (i = 0; i < 4; i++) { + if (a[i] !== b[i + 12]) + return false; + } + return true; + }; + ip.isPrivate = function(addr) { + return /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr) || /^f[cd][0-9a-f]{2}:/i.test(addr) || /^fe80:/i.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); + }; + ip.isPublic = function(addr) { + return !ip.isPrivate(addr); + }; + ip.isLoopback = function(addr) { + return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || /^fe80::1$/.test(addr) || /^::1$/.test(addr) || /^::$/.test(addr); + }; + ip.loopback = function(family) { + family = _normalizeFamily(family); + if (family !== "ipv4" && family !== "ipv6") { + throw new Error("family must be ipv4 or ipv6"); + } + return family === "ipv4" ? "127.0.0.1" : "fe80::1"; + }; + ip.address = function(name, family) { + var interfaces = os2.networkInterfaces(); + family = _normalizeFamily(family); + if (name && name !== "private" && name !== "public") { + var res = interfaces[name].filter((details) => { + var itemFamily = _normalizeFamily(details.family); + return itemFamily === family; + }); + if (res.length === 0) { + return void 0; + } + return res[0].address; + } + var all = Object.keys(interfaces).map((nic) => { + var addresses = interfaces[nic].filter((details) => { + details.family = _normalizeFamily(details.family); + if (details.family !== family || ip.isLoopback(details.address)) { + return false; + } + if (!name) { + return true; + } + return name === "public" ? ip.isPrivate(details.address) : ip.isPublic(details.address); + }); + return addresses.length ? addresses[0].address : void 0; + }).filter(Boolean); + return !all.length ? ip.loopback(family) : all[0]; + }; + ip.toLong = function(ip2) { + var ipl = 0; + ip2.split(".").forEach((octet) => { + ipl <<= 8; + ipl += parseInt(octet); + }); + return ipl >>> 0; + }; + ip.fromLong = function(ipl) { + return `${ipl >>> 24}.${ipl >> 16 & 255}.${ipl >> 8 & 255}.${ipl & 255}`; + }; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/myIpAddress.js +var require_myIpAddress = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/myIpAddress.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + var ip_1 = __importDefault2(require_ip2()); + var net_1 = __importDefault2(require("net")); + async function myIpAddress() { + return new Promise((resolve, reject) => { + const socket = net_1.default.connect({ host: "8.8.8.8", port: 53 }); + const onError = () => { + resolve(ip_1.default.address()); + }; + socket.once("error", onError); + socket.once("connect", () => { + socket.removeListener("error", onError); + const addr = socket.address(); + socket.destroy(); + if (typeof addr === "string") { + resolve(addr); + } else if (addr.address) { + resolve(addr.address); + } else { + reject(new Error("Expected a `string`")); + } + }); + }); + } + exports.default = myIpAddress; + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/shExpMatch.js +var require_shExpMatch = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/shExpMatch.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function shExpMatch(str, shexp) { + const re = toRegExp(shexp); + return re.test(str); + } + exports.default = shExpMatch; + function toRegExp(str) { + str = String(str).replace(/\./g, "\\.").replace(/\?/g, ".").replace(/\*/g, ".*"); + return new RegExp(`^${str}$`); + } + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/timeRange.js +var require_timeRange = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/timeRange.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function timeRange() { + const args = Array.prototype.slice.call(arguments); + const lastArg = args.pop(); + const useGMTzone = lastArg === "GMT"; + const currentDate = /* @__PURE__ */ new Date(); + if (!useGMTzone) { + args.push(lastArg); + } + let result = false; + const noOfArgs = args.length; + const numericArgs = args.map((n) => parseInt(n, 10)); + if (noOfArgs === 1) { + result = getCurrentHour(useGMTzone, currentDate) === numericArgs[0]; + } else if (noOfArgs === 2) { + const currentHour = getCurrentHour(useGMTzone, currentDate); + result = numericArgs[0] <= currentHour && currentHour < numericArgs[1]; + } else if (noOfArgs === 4) { + result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], 0), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), 0), secondsElapsedToday(numericArgs[2], numericArgs[3], 59)); + } else if (noOfArgs === 6) { + result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], numericArgs[2]), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), getCurrentSecond(useGMTzone, currentDate)), secondsElapsedToday(numericArgs[3], numericArgs[4], numericArgs[5])); + } + return result; + } + exports.default = timeRange; + function secondsElapsedToday(hh, mm, ss) { + return hh * 3600 + mm * 60 + ss; + } + function getCurrentHour(gmt, currentDate) { + return gmt ? currentDate.getUTCHours() : currentDate.getHours(); + } + function getCurrentMinute(gmt, currentDate) { + return gmt ? currentDate.getUTCMinutes() : currentDate.getMinutes(); + } + function getCurrentSecond(gmt, currentDate) { + return gmt ? currentDate.getUTCSeconds() : currentDate.getSeconds(); + } + function valueInRange(start, value, finish) { + return start <= value && value <= finish; + } + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/weekdayRange.js +var require_weekdayRange = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/weekdayRange.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var util_1 = require_util3(); + var weekdays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; + function weekdayRange(wd1, wd2, gmt) { + let useGMTzone = false; + let wd1Index = -1; + let wd2Index = -1; + let wd2IsGmt = false; + if ((0, util_1.isGMT)(gmt)) { + useGMTzone = true; + } else if ((0, util_1.isGMT)(wd2)) { + useGMTzone = true; + wd2IsGmt = true; + } + wd1Index = weekdays.indexOf(wd1); + if (!wd2IsGmt && isWeekday(wd2)) { + wd2Index = weekdays.indexOf(wd2); + } + const todaysDay = getTodaysDay(useGMTzone); + let result; + if (wd2Index < 0) { + result = todaysDay === wd1Index; + } else if (wd1Index <= wd2Index) { + result = valueInRange(wd1Index, todaysDay, wd2Index); + } else { + result = valueInRange(wd1Index, todaysDay, 6) || valueInRange(0, todaysDay, wd2Index); + } + return result; + } + exports.default = weekdayRange; + function getTodaysDay(gmt) { + return gmt ? (/* @__PURE__ */ new Date()).getUTCDay() : (/* @__PURE__ */ new Date()).getDay(); + } + function valueInRange(start, value, finish) { + return start <= value && value <= finish; + } + function isWeekday(v) { + if (!v) + return false; + return weekdays.includes(v); + } + } +}); + +// .yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/index.js +var require_dist9 = __commonJS({ + ".yarn/cache/pac-resolver-npm-6.0.1-a28b1bcfbc-cbe90f8f12.zip/node_modules/pac-resolver/dist/index.js"(exports) { + "use strict"; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sandbox = exports.createPacResolver = void 0; + var degenerator_1 = require_dist8(); + var dateRange_1 = __importDefault2(require_dateRange()); + var dnsDomainIs_1 = __importDefault2(require_dnsDomainIs()); + var dnsDomainLevels_1 = __importDefault2(require_dnsDomainLevels()); + var dnsResolve_1 = __importDefault2(require_dnsResolve()); + var isInNet_1 = __importDefault2(require_isInNet()); + var isPlainHostName_1 = __importDefault2(require_isPlainHostName()); + var isResolvable_1 = __importDefault2(require_isResolvable()); + var localHostOrDomainIs_1 = __importDefault2(require_localHostOrDomainIs()); + var myIpAddress_1 = __importDefault2(require_myIpAddress()); + var shExpMatch_1 = __importDefault2(require_shExpMatch()); + var timeRange_1 = __importDefault2(require_timeRange()); + var weekdayRange_1 = __importDefault2(require_weekdayRange()); + function createPacResolver(_str, _opts = {}) { + const str = Buffer.isBuffer(_str) ? _str.toString("utf8") : _str; + const context = { + ...exports.sandbox, + ..._opts.sandbox + }; + const opts = { + filename: "proxy.pac", + ..._opts, + sandbox: context + }; + const names = Object.keys(context).filter((k) => isAsyncFunction(context[k])); + const resolver = (0, degenerator_1.compile)(str, "FindProxyForURL", names, opts); + function FindProxyForURL(url, _host) { + const urlObj = typeof url === "string" ? new URL(url) : url; + const host = _host || urlObj.hostname; + if (!host) { + throw new TypeError("Could not determine `host`"); + } + return resolver(urlObj.href, host); + } + Object.defineProperty(FindProxyForURL, "toString", { + value: () => resolver.toString(), + enumerable: false + }); + return FindProxyForURL; + } + exports.createPacResolver = createPacResolver; + exports.sandbox = Object.freeze({ + alert: (message = "") => console.log("%s", message), + dateRange: dateRange_1.default, + dnsDomainIs: dnsDomainIs_1.default, + dnsDomainLevels: dnsDomainLevels_1.default, + dnsResolve: dnsResolve_1.default, + isInNet: isInNet_1.default, + isPlainHostName: isPlainHostName_1.default, + isResolvable: isResolvable_1.default, + localHostOrDomainIs: localHostOrDomainIs_1.default, + myIpAddress: myIpAddress_1.default, + shExpMatch: shExpMatch_1.default, + timeRange: timeRange_1.default, + weekdayRange: weekdayRange_1.default + }); + function isAsyncFunction(v) { + if (typeof v !== "function") + return false; + if (v.constructor.name === "AsyncFunction") + return true; + if (String(v).indexOf("__awaiter(") !== -1) + return true; + return Boolean(v.async); + } + } +}); + +// .yarn/cache/pac-proxy-agent-npm-6.0.2-b8b621b262-0b263da7a6.zip/node_modules/pac-proxy-agent/dist/index.js +var require_dist10 = __commonJS({ + ".yarn/cache/pac-proxy-agent-npm-6.0.2-b8b621b262-0b263da7a6.zip/node_modules/pac-proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.PacProxyAgent = void 0; + var net = __importStar2(require("net")); + var tls = __importStar2(require("tls")); + var crypto = __importStar2(require("crypto")); + var events_1 = require("events"); + var debug_1 = __importDefault2(require_src2()); + var url_1 = require("url"); + var agent_base_1 = require_dist(); + var http_proxy_agent_1 = require_dist2(); + var https_proxy_agent_1 = require_dist3(); + var socks_proxy_agent_1 = require_dist4(); + var get_uri_1 = require_dist7(); + var pac_resolver_1 = require_dist9(); + var debug2 = (0, debug_1.default)("pac-proxy-agent"); + var PacProxyAgent = class extends agent_base_1.Agent { + constructor(uri, opts) { + super(opts); + this.clearResolverPromise = () => { + this.resolverPromise = void 0; + }; + const uriStr = typeof uri === "string" ? uri : uri.href; + this.uri = new URL(uriStr.replace(/^pac\+/i, "")); + debug2("Creating PacProxyAgent with URI %o", this.uri.href); + this.opts = { ...opts }; + this.cache = void 0; + this.resolver = void 0; + this.resolverHash = ""; + this.resolverPromise = void 0; + if (!this.opts.filename) { + this.opts.filename = this.uri.href; + } + } + /** + * Loads the PAC proxy file from the source if necessary, and returns + * a generated `FindProxyForURL()` resolver function to use. + * + * @api private + */ + getResolver() { + if (!this.resolverPromise) { + this.resolverPromise = this.loadResolver(); + this.resolverPromise.then(this.clearResolverPromise, this.clearResolverPromise); + } + return this.resolverPromise; + } + async loadResolver() { + try { + const code = await this.loadPacFile(); + const hash = crypto.createHash("sha1").update(code).digest("hex"); + if (this.resolver && this.resolverHash === hash) { + debug2("Same sha1 hash for code - contents have not changed, reusing previous proxy resolver"); + return this.resolver; + } + debug2("Creating new proxy resolver instance"); + this.resolver = (0, pac_resolver_1.createPacResolver)(code, this.opts); + this.resolverHash = hash; + return this.resolver; + } catch (err) { + if (this.resolver && err.code === "ENOTMODIFIED") { + debug2("Got ENOTMODIFIED response, reusing previous proxy resolver"); + return this.resolver; + } + throw err; + } + } + /** + * Loads the contents of the PAC proxy file. + * + * @api private + */ + async loadPacFile() { + debug2("Loading PAC file: %o", this.uri); + const rs = await (0, get_uri_1.getUri)(this.uri, { ...this.opts, cache: this.cache }); + debug2("Got `Readable` instance for URI"); + this.cache = rs; + const buf = await (0, agent_base_1.toBuffer)(rs); + debug2("Read %o byte PAC file from URI", buf.length); + return buf.toString("utf8"); + } + /** + * Called when the node-core HTTP client library is creating a new HTTP request. + */ + async connect(req, opts) { + const { secureEndpoint } = opts; + const resolver = await this.getResolver(); + const defaultPort = secureEndpoint ? 443 : 80; + let path9 = req.path; + let search = null; + const firstQuestion = path9.indexOf("?"); + if (firstQuestion !== -1) { + search = path9.substring(firstQuestion); + path9 = path9.substring(0, firstQuestion); + } + const urlOpts = { + ...opts, + protocol: secureEndpoint ? "https:" : "http:", + pathname: path9, + search, + // need to use `hostname` instead of `host` otherwise `port` is ignored + hostname: opts.host, + host: null, + href: null, + // set `port` to null when it is the protocol default port (80 / 443) + port: defaultPort === opts.port ? null : opts.port + }; + const url = (0, url_1.format)(urlOpts); + debug2("url: %o", url); + let result = await resolver(url); + if (!result) { + result = "DIRECT"; + } + const proxies = String(result).trim().split(/\s*;\s*/g).filter(Boolean); + if (this.opts.fallbackToDirect && !proxies.includes("DIRECT")) { + proxies.push("DIRECT"); + } + for (const proxy of proxies) { + let agent = null; + let socket = null; + const [type, target] = proxy.split(/\s+/); + debug2("Attempting to use proxy: %o", proxy); + if (type === "DIRECT") { + if (secureEndpoint) { + const servername = opts.servername || opts.host; + socket = tls.connect({ + ...opts, + servername: !servername || net.isIP(servername) ? void 0 : servername + }); + } else { + socket = net.connect(opts); + } + } else if (type === "SOCKS" || type === "SOCKS5") { + agent = new socks_proxy_agent_1.SocksProxyAgent(`socks://${target}`, this.opts); + } else if (type === "SOCKS4") { + agent = new socks_proxy_agent_1.SocksProxyAgent(`socks4a://${target}`, this.opts); + } else if (type === "PROXY" || type === "HTTP" || type === "HTTPS") { + const proxyURL = `${type === "HTTPS" ? "https" : "http"}://${target}`; + if (secureEndpoint) { + agent = new https_proxy_agent_1.HttpsProxyAgent(proxyURL, this.opts); + } else { + agent = new http_proxy_agent_1.HttpProxyAgent(proxyURL, this.opts); + } + } + try { + if (socket) { + await (0, events_1.once)(socket, "connect"); + req.emit("proxy", { proxy, socket }); + return socket; + } + if (agent) { + const s = await agent.connect(req, opts); + if (!(s instanceof net.Socket)) { + throw new Error("Expected a `net.Socket` to be returned from agent"); + } + req.emit("proxy", { proxy, socket: s }); + return s; + } + throw new Error(`Could not determine proxy type for: ${proxy}`); + } catch (err) { + debug2("Got error for proxy %o: %o", proxy, err); + req.emit("proxy", { proxy, error: err }); + } + } + throw new Error(`Failed to establish a socket connection to proxies: ${JSON.stringify(proxies)}`); + } + }; + PacProxyAgent.protocols = [ + "pac-data", + "pac-file", + "pac-ftp", + "pac-http", + "pac-https" + ]; + exports.PacProxyAgent = PacProxyAgent; + } +}); + +// .yarn/cache/proxy-agent-npm-6.2.0-ad375074b5-bd8415b36a.zip/node_modules/proxy-agent/dist/index.js +var require_dist11 = __commonJS({ + ".yarn/cache/proxy-agent-npm-6.2.0-ad375074b5-bd8415b36a.zip/node_modules/proxy-agent/dist/index.js"(exports) { + "use strict"; + var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }); + var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }); + var __importStar2 = exports && exports.__importStar || function(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding2(result, mod, k); + } + __setModuleDefault2(result, mod); + return result; + }; + var __importDefault2 = exports && exports.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ProxyAgent = exports.proxies = void 0; + var http = __importStar2(require("http")); + var https = __importStar2(require("https")); + var lru_cache_1 = __importDefault2(require_lru_cache2()); + var agent_base_1 = require_dist(); + var debug_1 = __importDefault2(require_src2()); + var proxy_from_env_1 = require_proxy_from_env(); + var pac_proxy_agent_1 = require_dist10(); + var http_proxy_agent_1 = require_dist2(); + var https_proxy_agent_1 = require_dist3(); + var socks_proxy_agent_1 = require_dist4(); + var debug2 = (0, debug_1.default)("proxy-agent"); + var PROTOCOLS = [ + ...http_proxy_agent_1.HttpProxyAgent.protocols, + ...socks_proxy_agent_1.SocksProxyAgent.protocols, + ...pac_proxy_agent_1.PacProxyAgent.protocols + ]; + exports.proxies = { + http: [http_proxy_agent_1.HttpProxyAgent, https_proxy_agent_1.HttpsProxyAgent], + https: [http_proxy_agent_1.HttpProxyAgent, https_proxy_agent_1.HttpsProxyAgent], + socks: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent], + socks4: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent], + socks4a: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent], + socks5: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent], + socks5h: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent], + "pac-data": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent], + "pac-file": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent], + "pac-ftp": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent], + "pac-http": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent], + "pac-https": [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent] + }; + function isValidProtocol(v) { + return PROTOCOLS.includes(v); + } + var ProxyAgent = class extends agent_base_1.Agent { + constructor(opts) { + super(opts); + this.cache = new lru_cache_1.default({ max: 20 }); + debug2("Creating new ProxyAgent instance: %o", opts); + this.connectOpts = opts; + this.httpAgent = opts?.httpAgent || new http.Agent(opts); + this.httpsAgent = opts?.httpsAgent || new https.Agent(opts); + this.getProxyForUrl = opts?.getProxyForUrl || proxy_from_env_1.getProxyForUrl; + } + async connect(req, opts) { + const { secureEndpoint } = opts; + const protocol = secureEndpoint ? "https:" : "http:"; + const host = req.getHeader("host"); + const url = new URL(req.path, `${protocol}//${host}`).href; + const proxy = this.getProxyForUrl(url); + if (!proxy) { + debug2("Proxy not enabled for URL: %o", url); + return secureEndpoint ? this.httpsAgent : this.httpAgent; + } + debug2("Request URL: %o", url); + debug2("Proxy URL: %o", proxy); + const cacheKey = `${protocol}+${proxy}`; + let agent = this.cache.get(cacheKey); + if (!agent) { + const proxyUrl = new URL(proxy); + const proxyProto = proxyUrl.protocol.replace(":", ""); + if (!isValidProtocol(proxyProto)) { + throw new Error(`Unsupported protocol for proxy URL: ${proxy}`); + } + const ctor = exports.proxies[proxyProto][secureEndpoint ? 1 : 0]; + agent = new ctor(proxy, this.connectOpts); + this.cache.set(cacheKey, agent); + } else { + debug2("Cache hit for proxy URL: %o", proxy); + } + return agent; + } + destroy() { + for (const agent of this.cache.values()) { + agent.destroy(); + } + super.destroy(); + } + }; + exports.ProxyAgent = ProxyAgent; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/high-level-opt.js +var require_high_level_opt = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/high-level-opt.js"(exports, module2) { + "use strict"; + var argmap = /* @__PURE__ */ new Map([ + ["C", "cwd"], + ["f", "file"], + ["z", "gzip"], + ["P", "preservePaths"], + ["U", "unlink"], + ["strip-components", "strip"], + ["stripComponents", "strip"], + ["keep-newer", "newer"], + ["keepNewer", "newer"], + ["keep-newer-files", "newer"], + ["keepNewerFiles", "newer"], + ["k", "keep"], + ["keep-existing", "keep"], + ["keepExisting", "keep"], + ["m", "noMtime"], + ["no-mtime", "noMtime"], + ["p", "preserveOwner"], + ["L", "follow"], + ["h", "follow"] + ]); + module2.exports = (opt) => opt ? Object.keys(opt).map((k) => [ + argmap.has(k) ? argmap.get(k) : k, + opt[k] + ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), /* @__PURE__ */ Object.create(null)) : {}; + } +}); + +// .yarn/cache/minipass-npm-5.0.0-c64fb63c92-dac2e19609.zip/node_modules/minipass/index.js +var require_minipass = __commonJS({ + ".yarn/cache/minipass-npm-5.0.0-c64fb63c92-dac2e19609.zip/node_modules/minipass/index.js"(exports) { + "use strict"; + var proc = typeof process === "object" && process ? process : { + stdout: null, + stderr: null + }; + var EE = require("events"); + var Stream = require("stream"); + var stringdecoder = require("string_decoder"); + var SD = stringdecoder.StringDecoder; + var EOF = Symbol("EOF"); + var MAYBE_EMIT_END = Symbol("maybeEmitEnd"); + var EMITTED_END = Symbol("emittedEnd"); + var EMITTING_END = Symbol("emittingEnd"); + var EMITTED_ERROR = Symbol("emittedError"); + var CLOSED = Symbol("closed"); + var READ = Symbol("read"); + var FLUSH = Symbol("flush"); + var FLUSHCHUNK = Symbol("flushChunk"); + var ENCODING = Symbol("encoding"); + var DECODER = Symbol("decoder"); + var FLOWING = Symbol("flowing"); + var PAUSED = Symbol("paused"); + var RESUME = Symbol("resume"); + var BUFFER = Symbol("buffer"); + var PIPES = Symbol("pipes"); + var BUFFERLENGTH = Symbol("bufferLength"); + var BUFFERPUSH = Symbol("bufferPush"); + var BUFFERSHIFT = Symbol("bufferShift"); + var OBJECTMODE = Symbol("objectMode"); + var DESTROYED = Symbol("destroyed"); + var ERROR = Symbol("error"); + var EMITDATA = Symbol("emitData"); + var EMITEND = Symbol("emitEnd"); + var EMITEND2 = Symbol("emitEnd2"); + var ASYNC = Symbol("async"); + var ABORT = Symbol("abort"); + var ABORTED = Symbol("aborted"); + var SIGNAL = Symbol("signal"); + var defer = (fn2) => Promise.resolve().then(fn2); + var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1"; + var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented"); + var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented"); + var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish"; + var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0; + var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b); + var Pipe = class { + constructor(src, dest, opts) { + this.src = src; + this.dest = dest; + this.opts = opts; + this.ondrain = () => src[RESUME](); + dest.on("drain", this.ondrain); + } + unpipe() { + this.dest.removeListener("drain", this.ondrain); + } + // istanbul ignore next - only here for the prototype + proxyErrors() { + } + end() { + this.unpipe(); + if (this.opts.end) + this.dest.end(); + } + }; + var PipeProxyErrors = class extends Pipe { + unpipe() { + this.src.removeListener("error", this.proxyErrors); + super.unpipe(); + } + constructor(src, dest, opts) { + super(src, dest, opts); + this.proxyErrors = (er) => dest.emit("error", er); + src.on("error", this.proxyErrors); + } + }; + var Minipass = class extends Stream { + constructor(options) { + super(); + this[FLOWING] = false; + this[PAUSED] = false; + this[PIPES] = []; + this[BUFFER] = []; + this[OBJECTMODE] = options && options.objectMode || false; + if (this[OBJECTMODE]) + this[ENCODING] = null; + else + this[ENCODING] = options && options.encoding || null; + if (this[ENCODING] === "buffer") + this[ENCODING] = null; + this[ASYNC] = options && !!options.async || false; + this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null; + this[EOF] = false; + this[EMITTED_END] = false; + this[EMITTING_END] = false; + this[CLOSED] = false; + this[EMITTED_ERROR] = null; + this.writable = true; + this.readable = true; + this[BUFFERLENGTH] = 0; + this[DESTROYED] = false; + if (options && options.debugExposeBuffer === true) { + Object.defineProperty(this, "buffer", { get: () => this[BUFFER] }); + } + if (options && options.debugExposePipes === true) { + Object.defineProperty(this, "pipes", { get: () => this[PIPES] }); + } + this[SIGNAL] = options && options.signal; + this[ABORTED] = false; + if (this[SIGNAL]) { + this[SIGNAL].addEventListener("abort", () => this[ABORT]()); + if (this[SIGNAL].aborted) { + this[ABORT](); + } + } + } + get bufferLength() { + return this[BUFFERLENGTH]; + } + get encoding() { + return this[ENCODING]; + } + set encoding(enc) { + if (this[OBJECTMODE]) + throw new Error("cannot set encoding in objectMode"); + if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH])) + throw new Error("cannot change encoding"); + if (this[ENCODING] !== enc) { + this[DECODER] = enc ? new SD(enc) : null; + if (this[BUFFER].length) + this[BUFFER] = this[BUFFER].map((chunk) => this[DECODER].write(chunk)); + } + this[ENCODING] = enc; + } + setEncoding(enc) { + this.encoding = enc; + } + get objectMode() { + return this[OBJECTMODE]; + } + set objectMode(om) { + this[OBJECTMODE] = this[OBJECTMODE] || !!om; + } + get ["async"]() { + return this[ASYNC]; + } + set ["async"](a) { + this[ASYNC] = this[ASYNC] || !!a; + } + // drop everything and get out of the flow completely + [ABORT]() { + this[ABORTED] = true; + this.emit("abort", this[SIGNAL].reason); + this.destroy(this[SIGNAL].reason); + } + get aborted() { + return this[ABORTED]; + } + set aborted(_) { + } + write(chunk, encoding, cb) { + if (this[ABORTED]) + return false; + if (this[EOF]) + throw new Error("write after end"); + if (this[DESTROYED]) { + this.emit( + "error", + Object.assign( + new Error("Cannot call write after a stream was destroyed"), + { code: "ERR_STREAM_DESTROYED" } + ) + ); + return true; + } + if (typeof encoding === "function") + cb = encoding, encoding = "utf8"; + if (!encoding) + encoding = "utf8"; + const fn2 = this[ASYNC] ? defer : (f) => f(); + if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { + if (isArrayBufferView(chunk)) + chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); + else if (isArrayBuffer(chunk)) + chunk = Buffer.from(chunk); + else if (typeof chunk !== "string") + this.objectMode = true; + } + if (this[OBJECTMODE]) { + if (this.flowing && this[BUFFERLENGTH] !== 0) + this[FLUSH](true); + if (this.flowing) + this.emit("data", chunk); + else + this[BUFFERPUSH](chunk); + if (this[BUFFERLENGTH] !== 0) + this.emit("readable"); + if (cb) + fn2(cb); + return this.flowing; + } + if (!chunk.length) { + if (this[BUFFERLENGTH] !== 0) + this.emit("readable"); + if (cb) + fn2(cb); + return this.flowing; + } + if (typeof chunk === "string" && // unless it is a string already ready for us to use + !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) { + chunk = Buffer.from(chunk, encoding); + } + if (Buffer.isBuffer(chunk) && this[ENCODING]) + chunk = this[DECODER].write(chunk); + if (this.flowing && this[BUFFERLENGTH] !== 0) + this[FLUSH](true); + if (this.flowing) + this.emit("data", chunk); + else + this[BUFFERPUSH](chunk); + if (this[BUFFERLENGTH] !== 0) + this.emit("readable"); + if (cb) + fn2(cb); + return this.flowing; + } + read(n) { + if (this[DESTROYED]) + return null; + if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) { + this[MAYBE_EMIT_END](); + return null; + } + if (this[OBJECTMODE]) + n = null; + if (this[BUFFER].length > 1 && !this[OBJECTMODE]) { + if (this.encoding) + this[BUFFER] = [this[BUFFER].join("")]; + else + this[BUFFER] = [Buffer.concat(this[BUFFER], this[BUFFERLENGTH])]; + } + const ret = this[READ](n || null, this[BUFFER][0]); + this[MAYBE_EMIT_END](); + return ret; + } + [READ](n, chunk) { + if (n === chunk.length || n === null) + this[BUFFERSHIFT](); + else { + this[BUFFER][0] = chunk.slice(n); + chunk = chunk.slice(0, n); + this[BUFFERLENGTH] -= n; + } + this.emit("data", chunk); + if (!this[BUFFER].length && !this[EOF]) + this.emit("drain"); + return chunk; + } + end(chunk, encoding, cb) { + if (typeof chunk === "function") + cb = chunk, chunk = null; + if (typeof encoding === "function") + cb = encoding, encoding = "utf8"; + if (chunk) + this.write(chunk, encoding); + if (cb) + this.once("end", cb); + this[EOF] = true; + this.writable = false; + if (this.flowing || !this[PAUSED]) + this[MAYBE_EMIT_END](); + return this; + } + // don't let the internal resume be overwritten + [RESUME]() { + if (this[DESTROYED]) + return; + this[PAUSED] = false; + this[FLOWING] = true; + this.emit("resume"); + if (this[BUFFER].length) + this[FLUSH](); + else if (this[EOF]) + this[MAYBE_EMIT_END](); + else + this.emit("drain"); + } + resume() { + return this[RESUME](); + } + pause() { + this[FLOWING] = false; + this[PAUSED] = true; + } + get destroyed() { + return this[DESTROYED]; + } + get flowing() { + return this[FLOWING]; + } + get paused() { + return this[PAUSED]; + } + [BUFFERPUSH](chunk) { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] += 1; + else + this[BUFFERLENGTH] += chunk.length; + this[BUFFER].push(chunk); + } + [BUFFERSHIFT]() { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] -= 1; + else + this[BUFFERLENGTH] -= this[BUFFER][0].length; + return this[BUFFER].shift(); + } + [FLUSH](noDrain) { + do { + } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length); + if (!noDrain && !this[BUFFER].length && !this[EOF]) + this.emit("drain"); + } + [FLUSHCHUNK](chunk) { + this.emit("data", chunk); + return this.flowing; + } + pipe(dest, opts) { + if (this[DESTROYED]) + return; + const ended = this[EMITTED_END]; + opts = opts || {}; + if (dest === proc.stdout || dest === proc.stderr) + opts.end = false; + else + opts.end = opts.end !== false; + opts.proxyErrors = !!opts.proxyErrors; + if (ended) { + if (opts.end) + dest.end(); + } else { + this[PIPES].push( + !opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts) + ); + if (this[ASYNC]) + defer(() => this[RESUME]()); + else + this[RESUME](); + } + return dest; + } + unpipe(dest) { + const p = this[PIPES].find((p2) => p2.dest === dest); + if (p) { + this[PIPES].splice(this[PIPES].indexOf(p), 1); + p.unpipe(); + } + } + addListener(ev, fn2) { + return this.on(ev, fn2); + } + on(ev, fn2) { + const ret = super.on(ev, fn2); + if (ev === "data" && !this[PIPES].length && !this.flowing) + this[RESUME](); + else if (ev === "readable" && this[BUFFERLENGTH] !== 0) + super.emit("readable"); + else if (isEndish(ev) && this[EMITTED_END]) { + super.emit(ev); + this.removeAllListeners(ev); + } else if (ev === "error" && this[EMITTED_ERROR]) { + if (this[ASYNC]) + defer(() => fn2.call(this, this[EMITTED_ERROR])); + else + fn2.call(this, this[EMITTED_ERROR]); + } + return ret; + } + get emittedEnd() { + return this[EMITTED_END]; + } + [MAYBE_EMIT_END]() { + if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) { + this[EMITTING_END] = true; + this.emit("end"); + this.emit("prefinish"); + this.emit("finish"); + if (this[CLOSED]) + this.emit("close"); + this[EMITTING_END] = false; + } + } + emit(ev, data, ...extra) { + if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) + return; + else if (ev === "data") { + return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data); + } else if (ev === "end") { + return this[EMITEND](); + } else if (ev === "close") { + this[CLOSED] = true; + if (!this[EMITTED_END] && !this[DESTROYED]) + return; + const ret2 = super.emit("close"); + this.removeAllListeners("close"); + return ret2; + } else if (ev === "error") { + this[EMITTED_ERROR] = data; + super.emit(ERROR, data); + const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false; + this[MAYBE_EMIT_END](); + return ret2; + } else if (ev === "resume") { + const ret2 = super.emit("resume"); + this[MAYBE_EMIT_END](); + return ret2; + } else if (ev === "finish" || ev === "prefinish") { + const ret2 = super.emit(ev); + this.removeAllListeners(ev); + return ret2; + } + const ret = super.emit(ev, data, ...extra); + this[MAYBE_EMIT_END](); + return ret; + } + [EMITDATA](data) { + for (const p of this[PIPES]) { + if (p.dest.write(data) === false) + this.pause(); + } + const ret = super.emit("data", data); + this[MAYBE_EMIT_END](); + return ret; + } + [EMITEND]() { + if (this[EMITTED_END]) + return; + this[EMITTED_END] = true; + this.readable = false; + if (this[ASYNC]) + defer(() => this[EMITEND2]()); + else + this[EMITEND2](); + } + [EMITEND2]() { + if (this[DECODER]) { + const data = this[DECODER].end(); + if (data) { + for (const p of this[PIPES]) { + p.dest.write(data); + } + super.emit("data", data); + } + } + for (const p of this[PIPES]) { + p.end(); + } + const ret = super.emit("end"); + this.removeAllListeners("end"); + return ret; + } + // const all = await stream.collect() + collect() { + const buf = []; + if (!this[OBJECTMODE]) + buf.dataLength = 0; + const p = this.promise(); + this.on("data", (c) => { + buf.push(c); + if (!this[OBJECTMODE]) + buf.dataLength += c.length; + }); + return p.then(() => buf); + } + // const data = await stream.concat() + concat() { + return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then( + (buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength) + ); + } + // stream.promise().then(() => done, er => emitted error) + promise() { + return new Promise((resolve, reject) => { + this.on(DESTROYED, () => reject(new Error("stream destroyed"))); + this.on("error", (er) => reject(er)); + this.on("end", () => resolve()); + }); + } + // for await (let chunk of stream) + [ASYNCITERATOR]() { + let stopped = false; + const stop = () => { + this.pause(); + stopped = true; + return Promise.resolve({ done: true }); + }; + const next = () => { + if (stopped) + return stop(); + const res = this.read(); + if (res !== null) + return Promise.resolve({ done: false, value: res }); + if (this[EOF]) + return stop(); + let resolve = null; + let reject = null; + const onerr = (er) => { + this.removeListener("data", ondata); + this.removeListener("end", onend); + this.removeListener(DESTROYED, ondestroy); + stop(); + reject(er); + }; + const ondata = (value) => { + this.removeListener("error", onerr); + this.removeListener("end", onend); + this.removeListener(DESTROYED, ondestroy); + this.pause(); + resolve({ value, done: !!this[EOF] }); + }; + const onend = () => { + this.removeListener("error", onerr); + this.removeListener("data", ondata); + this.removeListener(DESTROYED, ondestroy); + stop(); + resolve({ done: true }); + }; + const ondestroy = () => onerr(new Error("stream destroyed")); + return new Promise((res2, rej) => { + reject = rej; + resolve = res2; + this.once(DESTROYED, ondestroy); + this.once("error", onerr); + this.once("end", onend); + this.once("data", ondata); + }); + }; + return { + next, + throw: stop, + return: stop, + [ASYNCITERATOR]() { + return this; + } + }; + } + // for (let chunk of stream) + [ITERATOR]() { + let stopped = false; + const stop = () => { + this.pause(); + this.removeListener(ERROR, stop); + this.removeListener(DESTROYED, stop); + this.removeListener("end", stop); + stopped = true; + return { done: true }; + }; + const next = () => { + if (stopped) + return stop(); + const value = this.read(); + return value === null ? stop() : { value }; + }; + this.once("end", stop); + this.once(ERROR, stop); + this.once(DESTROYED, stop); + return { + next, + throw: stop, + return: stop, + [ITERATOR]() { + return this; + } + }; + } + destroy(er) { + if (this[DESTROYED]) { + if (er) + this.emit("error", er); + else + this.emit(DESTROYED); + return this; + } + this[DESTROYED] = true; + this[BUFFER].length = 0; + this[BUFFERLENGTH] = 0; + if (typeof this.close === "function" && !this[CLOSED]) + this.close(); + if (er) + this.emit("error", er); + else + this.emit(DESTROYED); + return this; + } + static isStream(s) { + return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && // readable + (typeof s.pipe === "function" || // writable + typeof s.write === "function" && typeof s.end === "function")); + } + }; + exports.Minipass = Minipass; + } +}); + +// .yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/constants.js +var require_constants3 = __commonJS({ + ".yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/constants.js"(exports, module2) { + var realZlibConstants = require("zlib").constants || /* istanbul ignore next */ + { ZLIB_VERNUM: 4736 }; + module2.exports = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), { + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + Z_VERSION_ERROR: -6, + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + DEFLATE: 1, + INFLATE: 2, + GZIP: 3, + GUNZIP: 4, + DEFLATERAW: 5, + INFLATERAW: 6, + UNZIP: 7, + BROTLI_DECODE: 8, + BROTLI_ENCODE: 9, + Z_MIN_WINDOWBITS: 8, + Z_MAX_WINDOWBITS: 15, + Z_DEFAULT_WINDOWBITS: 15, + Z_MIN_CHUNK: 64, + Z_MAX_CHUNK: Infinity, + Z_DEFAULT_CHUNK: 16384, + Z_MIN_MEMLEVEL: 1, + Z_MAX_MEMLEVEL: 9, + Z_DEFAULT_MEMLEVEL: 8, + Z_MIN_LEVEL: -1, + Z_MAX_LEVEL: 9, + Z_DEFAULT_LEVEL: -1, + BROTLI_OPERATION_PROCESS: 0, + BROTLI_OPERATION_FLUSH: 1, + BROTLI_OPERATION_FINISH: 2, + BROTLI_OPERATION_EMIT_METADATA: 3, + BROTLI_MODE_GENERIC: 0, + BROTLI_MODE_TEXT: 1, + BROTLI_MODE_FONT: 2, + BROTLI_DEFAULT_MODE: 0, + BROTLI_MIN_QUALITY: 0, + BROTLI_MAX_QUALITY: 11, + BROTLI_DEFAULT_QUALITY: 11, + BROTLI_MIN_WINDOW_BITS: 10, + BROTLI_MAX_WINDOW_BITS: 24, + BROTLI_LARGE_MAX_WINDOW_BITS: 30, + BROTLI_DEFAULT_WINDOW: 22, + BROTLI_MIN_INPUT_BLOCK_BITS: 16, + BROTLI_MAX_INPUT_BLOCK_BITS: 24, + BROTLI_PARAM_MODE: 0, + BROTLI_PARAM_QUALITY: 1, + BROTLI_PARAM_LGWIN: 2, + BROTLI_PARAM_LGBLOCK: 3, + BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4, + BROTLI_PARAM_SIZE_HINT: 5, + BROTLI_PARAM_LARGE_WINDOW: 6, + BROTLI_PARAM_NPOSTFIX: 7, + BROTLI_PARAM_NDIRECT: 8, + BROTLI_DECODER_RESULT_ERROR: 0, + BROTLI_DECODER_RESULT_SUCCESS: 1, + BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2, + BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3, + BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0, + BROTLI_DECODER_PARAM_LARGE_WINDOW: 1, + BROTLI_DECODER_NO_ERROR: 0, + BROTLI_DECODER_SUCCESS: 1, + BROTLI_DECODER_NEEDS_MORE_INPUT: 2, + BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3, + BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1, + BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2, + BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3, + BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4, + BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5, + BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6, + BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7, + BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8, + BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9, + BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10, + BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11, + BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12, + BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13, + BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14, + BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15, + BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16, + BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19, + BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20, + BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21, + BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22, + BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25, + BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26, + BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27, + BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30, + BROTLI_DECODER_ERROR_UNREACHABLE: -31 + }, realZlibConstants)); + } +}); + +// .yarn/cache/minipass-npm-3.3.6-b8d93a945b-9704cf677a.zip/node_modules/minipass/index.js +var require_minipass2 = __commonJS({ + ".yarn/cache/minipass-npm-3.3.6-b8d93a945b-9704cf677a.zip/node_modules/minipass/index.js"(exports, module2) { + "use strict"; + var proc = typeof process === "object" && process ? process : { + stdout: null, + stderr: null + }; + var EE = require("events"); + var Stream = require("stream"); + var SD = require("string_decoder").StringDecoder; + var EOF = Symbol("EOF"); + var MAYBE_EMIT_END = Symbol("maybeEmitEnd"); + var EMITTED_END = Symbol("emittedEnd"); + var EMITTING_END = Symbol("emittingEnd"); + var EMITTED_ERROR = Symbol("emittedError"); + var CLOSED = Symbol("closed"); + var READ = Symbol("read"); + var FLUSH = Symbol("flush"); + var FLUSHCHUNK = Symbol("flushChunk"); + var ENCODING = Symbol("encoding"); + var DECODER = Symbol("decoder"); + var FLOWING = Symbol("flowing"); + var PAUSED = Symbol("paused"); + var RESUME = Symbol("resume"); + var BUFFERLENGTH = Symbol("bufferLength"); + var BUFFERPUSH = Symbol("bufferPush"); + var BUFFERSHIFT = Symbol("bufferShift"); + var OBJECTMODE = Symbol("objectMode"); + var DESTROYED = Symbol("destroyed"); + var EMITDATA = Symbol("emitData"); + var EMITEND = Symbol("emitEnd"); + var EMITEND2 = Symbol("emitEnd2"); + var ASYNC = Symbol("async"); + var defer = (fn2) => Promise.resolve().then(fn2); + var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1"; + var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented"); + var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented"); + var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish"; + var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0; + var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b); + var Pipe = class { + constructor(src, dest, opts) { + this.src = src; + this.dest = dest; + this.opts = opts; + this.ondrain = () => src[RESUME](); + dest.on("drain", this.ondrain); + } + unpipe() { + this.dest.removeListener("drain", this.ondrain); + } + // istanbul ignore next - only here for the prototype + proxyErrors() { + } + end() { + this.unpipe(); + if (this.opts.end) + this.dest.end(); + } + }; + var PipeProxyErrors = class extends Pipe { + unpipe() { + this.src.removeListener("error", this.proxyErrors); + super.unpipe(); + } + constructor(src, dest, opts) { + super(src, dest, opts); + this.proxyErrors = (er) => dest.emit("error", er); + src.on("error", this.proxyErrors); + } + }; + module2.exports = class Minipass extends Stream { + constructor(options) { + super(); + this[FLOWING] = false; + this[PAUSED] = false; + this.pipes = []; + this.buffer = []; + this[OBJECTMODE] = options && options.objectMode || false; + if (this[OBJECTMODE]) + this[ENCODING] = null; + else + this[ENCODING] = options && options.encoding || null; + if (this[ENCODING] === "buffer") + this[ENCODING] = null; + this[ASYNC] = options && !!options.async || false; + this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null; + this[EOF] = false; + this[EMITTED_END] = false; + this[EMITTING_END] = false; + this[CLOSED] = false; + this[EMITTED_ERROR] = null; + this.writable = true; + this.readable = true; + this[BUFFERLENGTH] = 0; + this[DESTROYED] = false; + } + get bufferLength() { + return this[BUFFERLENGTH]; + } + get encoding() { + return this[ENCODING]; + } + set encoding(enc) { + if (this[OBJECTMODE]) + throw new Error("cannot set encoding in objectMode"); + if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH])) + throw new Error("cannot change encoding"); + if (this[ENCODING] !== enc) { + this[DECODER] = enc ? new SD(enc) : null; + if (this.buffer.length) + this.buffer = this.buffer.map((chunk) => this[DECODER].write(chunk)); + } + this[ENCODING] = enc; + } + setEncoding(enc) { + this.encoding = enc; + } + get objectMode() { + return this[OBJECTMODE]; + } + set objectMode(om) { + this[OBJECTMODE] = this[OBJECTMODE] || !!om; + } + get ["async"]() { + return this[ASYNC]; + } + set ["async"](a) { + this[ASYNC] = this[ASYNC] || !!a; + } + write(chunk, encoding, cb) { + if (this[EOF]) + throw new Error("write after end"); + if (this[DESTROYED]) { + this.emit("error", Object.assign( + new Error("Cannot call write after a stream was destroyed"), + { code: "ERR_STREAM_DESTROYED" } + )); + return true; + } + if (typeof encoding === "function") + cb = encoding, encoding = "utf8"; + if (!encoding) + encoding = "utf8"; + const fn2 = this[ASYNC] ? defer : (f) => f(); + if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { + if (isArrayBufferView(chunk)) + chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); + else if (isArrayBuffer(chunk)) + chunk = Buffer.from(chunk); + else if (typeof chunk !== "string") + this.objectMode = true; + } + if (this[OBJECTMODE]) { + if (this.flowing && this[BUFFERLENGTH] !== 0) + this[FLUSH](true); + if (this.flowing) + this.emit("data", chunk); + else + this[BUFFERPUSH](chunk); + if (this[BUFFERLENGTH] !== 0) + this.emit("readable"); + if (cb) + fn2(cb); + return this.flowing; + } + if (!chunk.length) { + if (this[BUFFERLENGTH] !== 0) + this.emit("readable"); + if (cb) + fn2(cb); + return this.flowing; + } + if (typeof chunk === "string" && // unless it is a string already ready for us to use + !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) { + chunk = Buffer.from(chunk, encoding); + } + if (Buffer.isBuffer(chunk) && this[ENCODING]) + chunk = this[DECODER].write(chunk); + if (this.flowing && this[BUFFERLENGTH] !== 0) + this[FLUSH](true); + if (this.flowing) + this.emit("data", chunk); + else + this[BUFFERPUSH](chunk); + if (this[BUFFERLENGTH] !== 0) + this.emit("readable"); + if (cb) + fn2(cb); + return this.flowing; + } + read(n) { + if (this[DESTROYED]) + return null; + if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) { + this[MAYBE_EMIT_END](); + return null; + } + if (this[OBJECTMODE]) + n = null; + if (this.buffer.length > 1 && !this[OBJECTMODE]) { + if (this.encoding) + this.buffer = [this.buffer.join("")]; + else + this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])]; + } + const ret = this[READ](n || null, this.buffer[0]); + this[MAYBE_EMIT_END](); + return ret; + } + [READ](n, chunk) { + if (n === chunk.length || n === null) + this[BUFFERSHIFT](); + else { + this.buffer[0] = chunk.slice(n); + chunk = chunk.slice(0, n); + this[BUFFERLENGTH] -= n; + } + this.emit("data", chunk); + if (!this.buffer.length && !this[EOF]) + this.emit("drain"); + return chunk; + } + end(chunk, encoding, cb) { + if (typeof chunk === "function") + cb = chunk, chunk = null; + if (typeof encoding === "function") + cb = encoding, encoding = "utf8"; + if (chunk) + this.write(chunk, encoding); + if (cb) + this.once("end", cb); + this[EOF] = true; + this.writable = false; + if (this.flowing || !this[PAUSED]) + this[MAYBE_EMIT_END](); + return this; + } + // don't let the internal resume be overwritten + [RESUME]() { + if (this[DESTROYED]) + return; + this[PAUSED] = false; + this[FLOWING] = true; + this.emit("resume"); + if (this.buffer.length) + this[FLUSH](); + else if (this[EOF]) + this[MAYBE_EMIT_END](); + else + this.emit("drain"); + } + resume() { + return this[RESUME](); + } + pause() { + this[FLOWING] = false; + this[PAUSED] = true; + } + get destroyed() { + return this[DESTROYED]; + } + get flowing() { + return this[FLOWING]; + } + get paused() { + return this[PAUSED]; + } + [BUFFERPUSH](chunk) { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] += 1; + else + this[BUFFERLENGTH] += chunk.length; + this.buffer.push(chunk); + } + [BUFFERSHIFT]() { + if (this.buffer.length) { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] -= 1; + else + this[BUFFERLENGTH] -= this.buffer[0].length; + } + return this.buffer.shift(); + } + [FLUSH](noDrain) { + do { + } while (this[FLUSHCHUNK](this[BUFFERSHIFT]())); + if (!noDrain && !this.buffer.length && !this[EOF]) + this.emit("drain"); + } + [FLUSHCHUNK](chunk) { + return chunk ? (this.emit("data", chunk), this.flowing) : false; + } + pipe(dest, opts) { + if (this[DESTROYED]) + return; + const ended = this[EMITTED_END]; + opts = opts || {}; + if (dest === proc.stdout || dest === proc.stderr) + opts.end = false; + else + opts.end = opts.end !== false; + opts.proxyErrors = !!opts.proxyErrors; + if (ended) { + if (opts.end) + dest.end(); + } else { + this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)); + if (this[ASYNC]) + defer(() => this[RESUME]()); + else + this[RESUME](); + } + return dest; + } + unpipe(dest) { + const p = this.pipes.find((p2) => p2.dest === dest); + if (p) { + this.pipes.splice(this.pipes.indexOf(p), 1); + p.unpipe(); + } + } + addListener(ev, fn2) { + return this.on(ev, fn2); + } + on(ev, fn2) { + const ret = super.on(ev, fn2); + if (ev === "data" && !this.pipes.length && !this.flowing) + this[RESUME](); + else if (ev === "readable" && this[BUFFERLENGTH] !== 0) + super.emit("readable"); + else if (isEndish(ev) && this[EMITTED_END]) { + super.emit(ev); + this.removeAllListeners(ev); + } else if (ev === "error" && this[EMITTED_ERROR]) { + if (this[ASYNC]) + defer(() => fn2.call(this, this[EMITTED_ERROR])); + else + fn2.call(this, this[EMITTED_ERROR]); + } + return ret; + } + get emittedEnd() { + return this[EMITTED_END]; + } + [MAYBE_EMIT_END]() { + if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this.buffer.length === 0 && this[EOF]) { + this[EMITTING_END] = true; + this.emit("end"); + this.emit("prefinish"); + this.emit("finish"); + if (this[CLOSED]) + this.emit("close"); + this[EMITTING_END] = false; + } + } + emit(ev, data, ...extra) { + if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) + return; + else if (ev === "data") { + return !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data); + } else if (ev === "end") { + return this[EMITEND](); + } else if (ev === "close") { + this[CLOSED] = true; + if (!this[EMITTED_END] && !this[DESTROYED]) + return; + const ret2 = super.emit("close"); + this.removeAllListeners("close"); + return ret2; + } else if (ev === "error") { + this[EMITTED_ERROR] = data; + const ret2 = super.emit("error", data); + this[MAYBE_EMIT_END](); + return ret2; + } else if (ev === "resume") { + const ret2 = super.emit("resume"); + this[MAYBE_EMIT_END](); + return ret2; + } else if (ev === "finish" || ev === "prefinish") { + const ret2 = super.emit(ev); + this.removeAllListeners(ev); + return ret2; + } + const ret = super.emit(ev, data, ...extra); + this[MAYBE_EMIT_END](); + return ret; + } + [EMITDATA](data) { + for (const p of this.pipes) { + if (p.dest.write(data) === false) + this.pause(); + } + const ret = super.emit("data", data); + this[MAYBE_EMIT_END](); + return ret; + } + [EMITEND]() { + if (this[EMITTED_END]) + return; + this[EMITTED_END] = true; + this.readable = false; + if (this[ASYNC]) + defer(() => this[EMITEND2]()); + else + this[EMITEND2](); + } + [EMITEND2]() { + if (this[DECODER]) { + const data = this[DECODER].end(); + if (data) { + for (const p of this.pipes) { + p.dest.write(data); + } + super.emit("data", data); + } + } + for (const p of this.pipes) { + p.end(); + } + const ret = super.emit("end"); + this.removeAllListeners("end"); + return ret; + } + // const all = await stream.collect() + collect() { + const buf = []; + if (!this[OBJECTMODE]) + buf.dataLength = 0; + const p = this.promise(); + this.on("data", (c) => { + buf.push(c); + if (!this[OBJECTMODE]) + buf.dataLength += c.length; + }); + return p.then(() => buf); + } + // const data = await stream.concat() + concat() { + return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then((buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)); + } + // stream.promise().then(() => done, er => emitted error) + promise() { + return new Promise((resolve, reject) => { + this.on(DESTROYED, () => reject(new Error("stream destroyed"))); + this.on("error", (er) => reject(er)); + this.on("end", () => resolve()); + }); + } + // for await (let chunk of stream) + [ASYNCITERATOR]() { + const next = () => { + const res = this.read(); + if (res !== null) + return Promise.resolve({ done: false, value: res }); + if (this[EOF]) + return Promise.resolve({ done: true }); + let resolve = null; + let reject = null; + const onerr = (er) => { + this.removeListener("data", ondata); + this.removeListener("end", onend); + reject(er); + }; + const ondata = (value) => { + this.removeListener("error", onerr); + this.removeListener("end", onend); + this.pause(); + resolve({ value, done: !!this[EOF] }); + }; + const onend = () => { + this.removeListener("error", onerr); + this.removeListener("data", ondata); + resolve({ done: true }); + }; + const ondestroy = () => onerr(new Error("stream destroyed")); + return new Promise((res2, rej) => { + reject = rej; + resolve = res2; + this.once(DESTROYED, ondestroy); + this.once("error", onerr); + this.once("end", onend); + this.once("data", ondata); + }); + }; + return { next }; + } + // for (let chunk of stream) + [ITERATOR]() { + const next = () => { + const value = this.read(); + const done = value === null; + return { value, done }; + }; + return { next }; + } + destroy(er) { + if (this[DESTROYED]) { + if (er) + this.emit("error", er); + else + this.emit(DESTROYED); + return this; + } + this[DESTROYED] = true; + this.buffer.length = 0; + this[BUFFERLENGTH] = 0; + if (typeof this.close === "function" && !this[CLOSED]) + this.close(); + if (er) + this.emit("error", er); + else + this.emit(DESTROYED); + return this; + } + static isStream(s) { + return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && (typeof s.pipe === "function" || // readable + typeof s.write === "function" && typeof s.end === "function")); + } + }; + } +}); + +// .yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/index.js +var require_minizlib = __commonJS({ + ".yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-c0071edb24.zip/node_modules/minizlib/index.js"(exports) { + "use strict"; + var assert2 = require("assert"); + var Buffer2 = require("buffer").Buffer; + var realZlib = require("zlib"); + var constants = exports.constants = require_constants3(); + var Minipass = require_minipass2(); + var OriginalBufferConcat = Buffer2.concat; + var _superWrite = Symbol("_superWrite"); + var ZlibError = class extends Error { + constructor(err) { + super("zlib: " + err.message); + this.code = err.code; + this.errno = err.errno; + if (!this.code) + this.code = "ZLIB_ERROR"; + this.message = "zlib: " + err.message; + Error.captureStackTrace(this, this.constructor); + } + get name() { + return "ZlibError"; + } + }; + var _opts = Symbol("opts"); + var _flushFlag = Symbol("flushFlag"); + var _finishFlushFlag = Symbol("finishFlushFlag"); + var _fullFlushFlag = Symbol("fullFlushFlag"); + var _handle = Symbol("handle"); + var _onError = Symbol("onError"); + var _sawError = Symbol("sawError"); + var _level = Symbol("level"); + var _strategy = Symbol("strategy"); + var _ended = Symbol("ended"); + var _defaultFullFlush = Symbol("_defaultFullFlush"); + var ZlibBase = class extends Minipass { + constructor(opts, mode) { + if (!opts || typeof opts !== "object") + throw new TypeError("invalid options for ZlibBase constructor"); + super(opts); + this[_sawError] = false; + this[_ended] = false; + this[_opts] = opts; + this[_flushFlag] = opts.flush; + this[_finishFlushFlag] = opts.finishFlush; + try { + this[_handle] = new realZlib[mode](opts); + } catch (er) { + throw new ZlibError(er); + } + this[_onError] = (err) => { + if (this[_sawError]) + return; + this[_sawError] = true; + this.close(); + this.emit("error", err); + }; + this[_handle].on("error", (er) => this[_onError](new ZlibError(er))); + this.once("end", () => this.close); + } + close() { + if (this[_handle]) { + this[_handle].close(); + this[_handle] = null; + this.emit("close"); + } + } + reset() { + if (!this[_sawError]) { + assert2(this[_handle], "zlib binding closed"); + return this[_handle].reset(); + } + } + flush(flushFlag) { + if (this.ended) + return; + if (typeof flushFlag !== "number") + flushFlag = this[_fullFlushFlag]; + this.write(Object.assign(Buffer2.alloc(0), { [_flushFlag]: flushFlag })); + } + end(chunk, encoding, cb) { + if (chunk) + this.write(chunk, encoding); + this.flush(this[_finishFlushFlag]); + this[_ended] = true; + return super.end(null, null, cb); + } + get ended() { + return this[_ended]; + } + write(chunk, encoding, cb) { + if (typeof encoding === "function") + cb = encoding, encoding = "utf8"; + if (typeof chunk === "string") + chunk = Buffer2.from(chunk, encoding); + if (this[_sawError]) + return; + assert2(this[_handle], "zlib binding closed"); + const nativeHandle = this[_handle]._handle; + const originalNativeClose = nativeHandle.close; + nativeHandle.close = () => { + }; + const originalClose = this[_handle].close; + this[_handle].close = () => { + }; + Buffer2.concat = (args) => args; + let result; + try { + const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this[_flushFlag]; + result = this[_handle]._processChunk(chunk, flushFlag); + Buffer2.concat = OriginalBufferConcat; + } catch (err) { + Buffer2.concat = OriginalBufferConcat; + this[_onError](new ZlibError(err)); + } finally { + if (this[_handle]) { + this[_handle]._handle = nativeHandle; + nativeHandle.close = originalNativeClose; + this[_handle].close = originalClose; + this[_handle].removeAllListeners("error"); + } + } + if (this[_handle]) + this[_handle].on("error", (er) => this[_onError](new ZlibError(er))); + let writeReturn; + if (result) { + if (Array.isArray(result) && result.length > 0) { + writeReturn = this[_superWrite](Buffer2.from(result[0])); + for (let i = 1; i < result.length; i++) { + writeReturn = this[_superWrite](result[i]); + } + } else { + writeReturn = this[_superWrite](Buffer2.from(result)); + } + } + if (cb) + cb(); + return writeReturn; + } + [_superWrite](data) { + return super.write(data); + } + }; + var Zlib = class extends ZlibBase { + constructor(opts, mode) { + opts = opts || {}; + opts.flush = opts.flush || constants.Z_NO_FLUSH; + opts.finishFlush = opts.finishFlush || constants.Z_FINISH; + super(opts, mode); + this[_fullFlushFlag] = constants.Z_FULL_FLUSH; + this[_level] = opts.level; + this[_strategy] = opts.strategy; + } + params(level, strategy) { + if (this[_sawError]) + return; + if (!this[_handle]) + throw new Error("cannot switch params when binding is closed"); + if (!this[_handle].params) + throw new Error("not supported in this implementation"); + if (this[_level] !== level || this[_strategy] !== strategy) { + this.flush(constants.Z_SYNC_FLUSH); + assert2(this[_handle], "zlib binding closed"); + const origFlush = this[_handle].flush; + this[_handle].flush = (flushFlag, cb) => { + this.flush(flushFlag); + cb(); + }; + try { + this[_handle].params(level, strategy); + } finally { + this[_handle].flush = origFlush; + } + if (this[_handle]) { + this[_level] = level; + this[_strategy] = strategy; + } + } + } + }; + var Deflate = class extends Zlib { + constructor(opts) { + super(opts, "Deflate"); + } + }; + var Inflate = class extends Zlib { + constructor(opts) { + super(opts, "Inflate"); + } + }; + var _portable = Symbol("_portable"); + var Gzip = class extends Zlib { + constructor(opts) { + super(opts, "Gzip"); + this[_portable] = opts && !!opts.portable; + } + [_superWrite](data) { + if (!this[_portable]) + return super[_superWrite](data); + this[_portable] = false; + data[9] = 255; + return super[_superWrite](data); + } + }; + var Gunzip = class extends Zlib { + constructor(opts) { + super(opts, "Gunzip"); + } + }; + var DeflateRaw = class extends Zlib { + constructor(opts) { + super(opts, "DeflateRaw"); + } + }; + var InflateRaw = class extends Zlib { + constructor(opts) { + super(opts, "InflateRaw"); + } + }; + var Unzip = class extends Zlib { + constructor(opts) { + super(opts, "Unzip"); + } + }; + var Brotli = class extends ZlibBase { + constructor(opts, mode) { + opts = opts || {}; + opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS; + opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH; + super(opts, mode); + this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH; + } + }; + var BrotliCompress = class extends Brotli { + constructor(opts) { + super(opts, "BrotliCompress"); + } + }; + var BrotliDecompress = class extends Brotli { + constructor(opts) { + super(opts, "BrotliDecompress"); + } + }; + exports.Deflate = Deflate; + exports.Inflate = Inflate; + exports.Gzip = Gzip; + exports.Gunzip = Gunzip; + exports.DeflateRaw = DeflateRaw; + exports.InflateRaw = InflateRaw; + exports.Unzip = Unzip; + if (typeof realZlib.BrotliCompress === "function") { + exports.BrotliCompress = BrotliCompress; + exports.BrotliDecompress = BrotliDecompress; + } else { + exports.BrotliCompress = exports.BrotliDecompress = class { + constructor() { + throw new Error("Brotli is not supported in this version of Node.js"); + } + }; + } + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/normalize-windows-path.js +var require_normalize_windows_path = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/normalize-windows-path.js"(exports, module2) { + var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; + module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/"); + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/read-entry.js +var require_read_entry = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/read-entry.js"(exports, module2) { + "use strict"; + var { Minipass } = require_minipass(); + var normPath = require_normalize_windows_path(); + var SLURP = Symbol("slurp"); + module2.exports = class ReadEntry extends Minipass { + constructor(header, ex, gex) { + super(); + this.pause(); + this.extended = ex; + this.globalExtended = gex; + this.header = header; + this.startBlockSize = 512 * Math.ceil(header.size / 512); + this.blockRemain = this.startBlockSize; + this.remain = header.size; + this.type = header.type; + this.meta = false; + this.ignore = false; + switch (this.type) { + case "File": + case "OldFile": + case "Link": + case "SymbolicLink": + case "CharacterDevice": + case "BlockDevice": + case "Directory": + case "FIFO": + case "ContiguousFile": + case "GNUDumpDir": + break; + case "NextFileHasLongLinkpath": + case "NextFileHasLongPath": + case "OldGnuLongPath": + case "GlobalExtendedHeader": + case "ExtendedHeader": + case "OldExtendedHeader": + this.meta = true; + break; + default: + this.ignore = true; + } + this.path = normPath(header.path); + this.mode = header.mode; + if (this.mode) { + this.mode = this.mode & 4095; + } + this.uid = header.uid; + this.gid = header.gid; + this.uname = header.uname; + this.gname = header.gname; + this.size = header.size; + this.mtime = header.mtime; + this.atime = header.atime; + this.ctime = header.ctime; + this.linkpath = normPath(header.linkpath); + this.uname = header.uname; + this.gname = header.gname; + if (ex) { + this[SLURP](ex); + } + if (gex) { + this[SLURP](gex, true); + } + } + write(data) { + const writeLen = data.length; + if (writeLen > this.blockRemain) { + throw new Error("writing more to entry than is appropriate"); + } + const r = this.remain; + const br = this.blockRemain; + this.remain = Math.max(0, r - writeLen); + this.blockRemain = Math.max(0, br - writeLen); + if (this.ignore) { + return true; + } + if (r >= writeLen) { + return super.write(data); + } + return super.write(data.slice(0, r)); + } + [SLURP](ex, global2) { + for (const k in ex) { + if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) { + this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k]; + } + } + } + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/types.js +var require_types2 = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/types.js"(exports) { + "use strict"; + exports.name = /* @__PURE__ */ new Map([ + ["0", "File"], + // same as File + ["", "OldFile"], + ["1", "Link"], + ["2", "SymbolicLink"], + // Devices and FIFOs aren't fully supported + // they are parsed, but skipped when unpacking + ["3", "CharacterDevice"], + ["4", "BlockDevice"], + ["5", "Directory"], + ["6", "FIFO"], + // same as File + ["7", "ContiguousFile"], + // pax headers + ["g", "GlobalExtendedHeader"], + ["x", "ExtendedHeader"], + // vendor-specific stuff + // skip + ["A", "SolarisACL"], + // like 5, but with data, which should be skipped + ["D", "GNUDumpDir"], + // metadata only, skip + ["I", "Inode"], + // data = link path of next file + ["K", "NextFileHasLongLinkpath"], + // data = path of next file + ["L", "NextFileHasLongPath"], + // skip + ["M", "ContinuationFile"], + // like L + ["N", "OldGnuLongPath"], + // skip + ["S", "SparseFile"], + // skip + ["V", "TapeVolumeHeader"], + // like x + ["X", "OldExtendedHeader"] + ]); + exports.code = new Map(Array.from(exports.name).map((kv) => [kv[1], kv[0]])); + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/large-numbers.js +var require_large_numbers = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/large-numbers.js"(exports, module2) { + "use strict"; + var encode = (num, buf) => { + if (!Number.isSafeInteger(num)) { + throw Error("cannot encode number outside of javascript safe integer range"); + } else if (num < 0) { + encodeNegative(num, buf); + } else { + encodePositive(num, buf); + } + return buf; + }; + var encodePositive = (num, buf) => { + buf[0] = 128; + for (var i = buf.length; i > 1; i--) { + buf[i - 1] = num & 255; + num = Math.floor(num / 256); + } + }; + var encodeNegative = (num, buf) => { + buf[0] = 255; + var flipped = false; + num = num * -1; + for (var i = buf.length; i > 1; i--) { + var byte = num & 255; + num = Math.floor(num / 256); + if (flipped) { + buf[i - 1] = onesComp(byte); + } else if (byte === 0) { + buf[i - 1] = 0; + } else { + flipped = true; + buf[i - 1] = twosComp(byte); + } + } + }; + var parse = (buf) => { + const pre = buf[0]; + const value = pre === 128 ? pos(buf.slice(1, buf.length)) : pre === 255 ? twos(buf) : null; + if (value === null) { + throw Error("invalid base256 encoding"); + } + if (!Number.isSafeInteger(value)) { + throw Error("parsed number outside of javascript safe integer range"); + } + return value; + }; + var twos = (buf) => { + var len = buf.length; + var sum = 0; + var flipped = false; + for (var i = len - 1; i > -1; i--) { + var byte = buf[i]; + var f; + if (flipped) { + f = onesComp(byte); + } else if (byte === 0) { + f = byte; + } else { + flipped = true; + f = twosComp(byte); + } + if (f !== 0) { + sum -= f * Math.pow(256, len - i - 1); + } + } + return sum; + }; + var pos = (buf) => { + var len = buf.length; + var sum = 0; + for (var i = len - 1; i > -1; i--) { + var byte = buf[i]; + if (byte !== 0) { + sum += byte * Math.pow(256, len - i - 1); + } + } + return sum; + }; + var onesComp = (byte) => (255 ^ byte) & 255; + var twosComp = (byte) => (255 ^ byte) + 1 & 255; + module2.exports = { + encode, + parse + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/header.js +var require_header = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/header.js"(exports, module2) { + "use strict"; + var types = require_types2(); + var pathModule = require("path").posix; + var large = require_large_numbers(); + var SLURP = Symbol("slurp"); + var TYPE = Symbol("type"); + var Header = class { + constructor(data, off, ex, gex) { + this.cksumValid = false; + this.needPax = false; + this.nullBlock = false; + this.block = null; + this.path = null; + this.mode = null; + this.uid = null; + this.gid = null; + this.size = null; + this.mtime = null; + this.cksum = null; + this[TYPE] = "0"; + this.linkpath = null; + this.uname = null; + this.gname = null; + this.devmaj = 0; + this.devmin = 0; + this.atime = null; + this.ctime = null; + if (Buffer.isBuffer(data)) { + this.decode(data, off || 0, ex, gex); + } else if (data) { + this.set(data); + } + } + decode(buf, off, ex, gex) { + if (!off) { + off = 0; + } + if (!buf || !(buf.length >= off + 512)) { + throw new Error("need 512 bytes for header"); + } + this.path = decString(buf, off, 100); + this.mode = decNumber(buf, off + 100, 8); + this.uid = decNumber(buf, off + 108, 8); + this.gid = decNumber(buf, off + 116, 8); + this.size = decNumber(buf, off + 124, 12); + this.mtime = decDate(buf, off + 136, 12); + this.cksum = decNumber(buf, off + 148, 12); + this[SLURP](ex); + this[SLURP](gex, true); + this[TYPE] = decString(buf, off + 156, 1); + if (this[TYPE] === "") { + this[TYPE] = "0"; + } + if (this[TYPE] === "0" && this.path.slice(-1) === "/") { + this[TYPE] = "5"; + } + if (this[TYPE] === "5") { + this.size = 0; + } + this.linkpath = decString(buf, off + 157, 100); + if (buf.slice(off + 257, off + 265).toString() === "ustar\x0000") { + this.uname = decString(buf, off + 265, 32); + this.gname = decString(buf, off + 297, 32); + this.devmaj = decNumber(buf, off + 329, 8); + this.devmin = decNumber(buf, off + 337, 8); + if (buf[off + 475] !== 0) { + const prefix = decString(buf, off + 345, 155); + this.path = prefix + "/" + this.path; + } else { + const prefix = decString(buf, off + 345, 130); + if (prefix) { + this.path = prefix + "/" + this.path; + } + this.atime = decDate(buf, off + 476, 12); + this.ctime = decDate(buf, off + 488, 12); + } + } + let sum = 8 * 32; + for (let i = off; i < off + 148; i++) { + sum += buf[i]; + } + for (let i = off + 156; i < off + 512; i++) { + sum += buf[i]; + } + this.cksumValid = sum === this.cksum; + if (this.cksum === null && sum === 8 * 32) { + this.nullBlock = true; + } + } + [SLURP](ex, global2) { + for (const k in ex) { + if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) { + this[k] = ex[k]; + } + } + } + encode(buf, off) { + if (!buf) { + buf = this.block = Buffer.alloc(512); + off = 0; + } + if (!off) { + off = 0; + } + if (!(buf.length >= off + 512)) { + throw new Error("need 512 bytes for header"); + } + const prefixSize = this.ctime || this.atime ? 130 : 155; + const split = splitPrefix(this.path || "", prefixSize); + const path9 = split[0]; + const prefix = split[1]; + this.needPax = split[2]; + this.needPax = encString(buf, off, 100, path9) || this.needPax; + this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax; + this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax; + this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax; + this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax; + this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax; + buf[off + 156] = this[TYPE].charCodeAt(0); + this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax; + buf.write("ustar\x0000", off + 257, 8); + this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax; + this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax; + this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax; + this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax; + this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax; + if (buf[off + 475] !== 0) { + this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax; + } else { + this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax; + this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax; + this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax; + } + let sum = 8 * 32; + for (let i = off; i < off + 148; i++) { + sum += buf[i]; + } + for (let i = off + 156; i < off + 512; i++) { + sum += buf[i]; + } + this.cksum = sum; + encNumber(buf, off + 148, 8, this.cksum); + this.cksumValid = true; + return this.needPax; + } + set(data) { + for (const i in data) { + if (data[i] !== null && data[i] !== void 0) { + this[i] = data[i]; + } + } + } + get type() { + return types.name.get(this[TYPE]) || this[TYPE]; + } + get typeKey() { + return this[TYPE]; + } + set type(type) { + if (types.code.has(type)) { + this[TYPE] = types.code.get(type); + } else { + this[TYPE] = type; + } + } + }; + var splitPrefix = (p, prefixSize) => { + const pathSize = 100; + let pp = p; + let prefix = ""; + let ret; + const root = pathModule.parse(p).root || "."; + if (Buffer.byteLength(pp) < pathSize) { + ret = [pp, prefix, false]; + } else { + prefix = pathModule.dirname(pp); + pp = pathModule.basename(pp); + do { + if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) { + ret = [pp, prefix, false]; + } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) { + ret = [pp.slice(0, pathSize - 1), prefix, true]; + } else { + pp = pathModule.join(pathModule.basename(prefix), pp); + prefix = pathModule.dirname(prefix); + } + } while (prefix !== root && !ret); + if (!ret) { + ret = [p.slice(0, pathSize - 1), "", true]; + } + } + return ret; + }; + var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, ""); + var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size)); + var numToDate = (num) => num === null ? null : new Date(num * 1e3); + var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size); + var nanNull = (value) => isNaN(value) ? null : value; + var decSmallNumber = (buf, off, size) => nanNull(parseInt( + buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(), + 8 + )); + var MAXNUM = { + 12: 8589934591, + 8: 2097151 + }; + var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false); + var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii"); + var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size); + var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0"; + var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3); + var NULLS = new Array(156).join("\0"); + var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size); + module2.exports = Header; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/pax.js +var require_pax = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/pax.js"(exports, module2) { + "use strict"; + var Header = require_header(); + var path9 = require("path"); + var Pax = class { + constructor(obj, global2) { + this.atime = obj.atime || null; + this.charset = obj.charset || null; + this.comment = obj.comment || null; + this.ctime = obj.ctime || null; + this.gid = obj.gid || null; + this.gname = obj.gname || null; + this.linkpath = obj.linkpath || null; + this.mtime = obj.mtime || null; + this.path = obj.path || null; + this.size = obj.size || null; + this.uid = obj.uid || null; + this.uname = obj.uname || null; + this.dev = obj.dev || null; + this.ino = obj.ino || null; + this.nlink = obj.nlink || null; + this.global = global2 || false; + } + encode() { + const body = this.encodeBody(); + if (body === "") { + return null; + } + const bodyLen = Buffer.byteLength(body); + const bufLen = 512 * Math.ceil(1 + bodyLen / 512); + const buf = Buffer.allocUnsafe(bufLen); + for (let i = 0; i < 512; i++) { + buf[i] = 0; + } + new Header({ + // XXX split the path + // then the path should be PaxHeader + basename, but less than 99, + // prepend with the dirname + path: ("PaxHeader/" + path9.basename(this.path)).slice(0, 99), + mode: this.mode || 420, + uid: this.uid || null, + gid: this.gid || null, + size: bodyLen, + mtime: this.mtime || null, + type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader", + linkpath: "", + uname: this.uname || "", + gname: this.gname || "", + devmaj: 0, + devmin: 0, + atime: this.atime || null, + ctime: this.ctime || null + }).encode(buf); + buf.write(body, 512, bodyLen, "utf8"); + for (let i = bodyLen + 512; i < buf.length; i++) { + buf[i] = 0; + } + return buf; + } + encodeBody() { + return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname"); + } + encodeField(field) { + if (this[field] === null || this[field] === void 0) { + return ""; + } + const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field]; + const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n"; + const byteLen = Buffer.byteLength(s); + let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1; + if (byteLen + digits >= Math.pow(10, digits)) { + digits += 1; + } + const len = digits + byteLen; + return len + s; + } + }; + Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g); + var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a; + var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null)); + var parseKVLine = (set, line) => { + const n = parseInt(line, 10); + if (n !== Buffer.byteLength(line) + 1) { + return set; + } + line = line.slice((n + " ").length); + const kv = line.split("="); + const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1"); + if (!k) { + return set; + } + const v = kv.join("="); + set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v; + return set; + }; + module2.exports = Pax; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/strip-trailing-slashes.js +var require_strip_trailing_slashes = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/strip-trailing-slashes.js"(exports, module2) { + module2.exports = (str) => { + let i = str.length - 1; + let slashesStart = -1; + while (i > -1 && str.charAt(i) === "/") { + slashesStart = i; + i--; + } + return slashesStart === -1 ? str : str.slice(0, slashesStart); + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/warn-mixin.js +var require_warn_mixin = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/warn-mixin.js"(exports, module2) { + "use strict"; + module2.exports = (Base) => class extends Base { + warn(code, message, data = {}) { + if (this.file) { + data.file = this.file; + } + if (this.cwd) { + data.cwd = this.cwd; + } + data.code = message instanceof Error && message.code || code; + data.tarCode = code; + if (!this.strict && data.recoverable !== false) { + if (message instanceof Error) { + data = Object.assign(message, data); + message = message.message; + } + this.emit("warn", data.tarCode, message, data); + } else if (message instanceof Error) { + this.emit("error", Object.assign(message, data)); + } else { + this.emit("error", Object.assign(new Error(`${code}: ${message}`), data)); + } + } + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/winchars.js +var require_winchars = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/winchars.js"(exports, module2) { + "use strict"; + var raw = [ + "|", + "<", + ">", + "?", + ":" + ]; + var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0))); + var toWin = new Map(raw.map((char, i) => [char, win[i]])); + var toRaw = new Map(win.map((char, i) => [char, raw[i]])); + module2.exports = { + encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s), + decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s) + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/strip-absolute-path.js +var require_strip_absolute_path = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/strip-absolute-path.js"(exports, module2) { + var { isAbsolute, parse } = require("path").win32; + module2.exports = (path9) => { + let r = ""; + let parsed = parse(path9); + while (isAbsolute(path9) || parsed.root) { + const root = path9.charAt(0) === "/" && path9.slice(0, 4) !== "//?/" ? "/" : parsed.root; + path9 = path9.slice(root.length); + r += root; + parsed = parse(path9); + } + return [r, path9]; + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/mode-fix.js +var require_mode_fix = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/mode-fix.js"(exports, module2) { + "use strict"; + module2.exports = (mode, isDir, portable) => { + mode &= 4095; + if (portable) { + mode = (mode | 384) & ~18; + } + if (isDir) { + if (mode & 256) { + mode |= 64; + } + if (mode & 32) { + mode |= 8; + } + if (mode & 4) { + mode |= 1; + } + } + return mode; + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/write-entry.js +var require_write_entry = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/write-entry.js"(exports, module2) { + "use strict"; + var { Minipass } = require_minipass(); + var Pax = require_pax(); + var Header = require_header(); + var fs6 = require("fs"); + var path9 = require("path"); + var normPath = require_normalize_windows_path(); + var stripSlash = require_strip_trailing_slashes(); + var prefixPath = (path10, prefix) => { + if (!prefix) { + return normPath(path10); + } + path10 = normPath(path10).replace(/^\.(\/|$)/, ""); + return stripSlash(prefix) + "/" + path10; + }; + var maxReadSize = 16 * 1024 * 1024; + var PROCESS = Symbol("process"); + var FILE = Symbol("file"); + var DIRECTORY = Symbol("directory"); + var SYMLINK = Symbol("symlink"); + var HARDLINK = Symbol("hardlink"); + var HEADER = Symbol("header"); + var READ = Symbol("read"); + var LSTAT = Symbol("lstat"); + var ONLSTAT = Symbol("onlstat"); + var ONREAD = Symbol("onread"); + var ONREADLINK = Symbol("onreadlink"); + var OPENFILE = Symbol("openfile"); + var ONOPENFILE = Symbol("onopenfile"); + var CLOSE = Symbol("close"); + var MODE = Symbol("mode"); + var AWAITDRAIN = Symbol("awaitDrain"); + var ONDRAIN = Symbol("ondrain"); + var PREFIX = Symbol("prefix"); + var HAD_ERROR = Symbol("hadError"); + var warner = require_warn_mixin(); + var winchars = require_winchars(); + var stripAbsolutePath = require_strip_absolute_path(); + var modeFix = require_mode_fix(); + var WriteEntry = warner(class WriteEntry extends Minipass { + constructor(p, opt) { + opt = opt || {}; + super(opt); + if (typeof p !== "string") { + throw new TypeError("path is required"); + } + this.path = normPath(p); + this.portable = !!opt.portable; + this.myuid = process.getuid && process.getuid() || 0; + this.myuser = process.env.USER || ""; + this.maxReadSize = opt.maxReadSize || maxReadSize; + this.linkCache = opt.linkCache || /* @__PURE__ */ new Map(); + this.statCache = opt.statCache || /* @__PURE__ */ new Map(); + this.preservePaths = !!opt.preservePaths; + this.cwd = normPath(opt.cwd || process.cwd()); + this.strict = !!opt.strict; + this.noPax = !!opt.noPax; + this.noMtime = !!opt.noMtime; + this.mtime = opt.mtime || null; + this.prefix = opt.prefix ? normPath(opt.prefix) : null; + this.fd = null; + this.blockLen = null; + this.blockRemain = null; + this.buf = null; + this.offset = null; + this.length = null; + this.pos = null; + this.remain = null; + if (typeof opt.onwarn === "function") { + this.on("warn", opt.onwarn); + } + let pathWarn = false; + if (!this.preservePaths) { + const [root, stripped] = stripAbsolutePath(this.path); + if (root) { + this.path = stripped; + pathWarn = root; + } + } + this.win32 = !!opt.win32 || process.platform === "win32"; + if (this.win32) { + this.path = winchars.decode(this.path.replace(/\\/g, "/")); + p = p.replace(/\\/g, "/"); + } + this.absolute = normPath(opt.absolute || path9.resolve(this.cwd, p)); + if (this.path === "") { + this.path = "./"; + } + if (pathWarn) { + this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { + entry: this, + path: pathWarn + this.path + }); + } + if (this.statCache.has(this.absolute)) { + this[ONLSTAT](this.statCache.get(this.absolute)); + } else { + this[LSTAT](); + } + } + emit(ev, ...data) { + if (ev === "error") { + this[HAD_ERROR] = true; + } + return super.emit(ev, ...data); + } + [LSTAT]() { + fs6.lstat(this.absolute, (er, stat) => { + if (er) { + return this.emit("error", er); + } + this[ONLSTAT](stat); + }); + } + [ONLSTAT](stat) { + this.statCache.set(this.absolute, stat); + this.stat = stat; + if (!stat.isFile()) { + stat.size = 0; + } + this.type = getType(stat); + this.emit("stat", stat); + this[PROCESS](); + } + [PROCESS]() { + switch (this.type) { + case "File": + return this[FILE](); + case "Directory": + return this[DIRECTORY](); + case "SymbolicLink": + return this[SYMLINK](); + default: + return this.end(); + } + } + [MODE](mode) { + return modeFix(mode, this.type === "Directory", this.portable); + } + [PREFIX](path10) { + return prefixPath(path10, this.prefix); + } + [HEADER]() { + if (this.type === "Directory" && this.portable) { + this.noMtime = true; + } + this.header = new Header({ + path: this[PREFIX](this.path), + // only apply the prefix to hard links. + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + // only the permissions and setuid/setgid/sticky bitflags + // not the higher-order bits that specify file type + mode: this[MODE](this.stat.mode), + uid: this.portable ? null : this.stat.uid, + gid: this.portable ? null : this.stat.gid, + size: this.stat.size, + mtime: this.noMtime ? null : this.mtime || this.stat.mtime, + type: this.type, + uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "", + atime: this.portable ? null : this.stat.atime, + ctime: this.portable ? null : this.stat.ctime + }); + if (this.header.encode() && !this.noPax) { + super.write(new Pax({ + atime: this.portable ? null : this.header.atime, + ctime: this.portable ? null : this.header.ctime, + gid: this.portable ? null : this.header.gid, + mtime: this.noMtime ? null : this.mtime || this.header.mtime, + path: this[PREFIX](this.path), + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + size: this.header.size, + uid: this.portable ? null : this.header.uid, + uname: this.portable ? null : this.header.uname, + dev: this.portable ? null : this.stat.dev, + ino: this.portable ? null : this.stat.ino, + nlink: this.portable ? null : this.stat.nlink + }).encode()); + } + super.write(this.header.block); + } + [DIRECTORY]() { + if (this.path.slice(-1) !== "/") { + this.path += "/"; + } + this.stat.size = 0; + this[HEADER](); + this.end(); + } + [SYMLINK]() { + fs6.readlink(this.absolute, (er, linkpath) => { + if (er) { + return this.emit("error", er); + } + this[ONREADLINK](linkpath); + }); + } + [ONREADLINK](linkpath) { + this.linkpath = normPath(linkpath); + this[HEADER](); + this.end(); + } + [HARDLINK](linkpath) { + this.type = "Link"; + this.linkpath = normPath(path9.relative(this.cwd, linkpath)); + this.stat.size = 0; + this[HEADER](); + this.end(); + } + [FILE]() { + if (this.stat.nlink > 1) { + const linkKey = this.stat.dev + ":" + this.stat.ino; + if (this.linkCache.has(linkKey)) { + const linkpath = this.linkCache.get(linkKey); + if (linkpath.indexOf(this.cwd) === 0) { + return this[HARDLINK](linkpath); + } + } + this.linkCache.set(linkKey, this.absolute); + } + this[HEADER](); + if (this.stat.size === 0) { + return this.end(); + } + this[OPENFILE](); + } + [OPENFILE]() { + fs6.open(this.absolute, "r", (er, fd) => { + if (er) { + return this.emit("error", er); + } + this[ONOPENFILE](fd); + }); + } + [ONOPENFILE](fd) { + this.fd = fd; + if (this[HAD_ERROR]) { + return this[CLOSE](); + } + this.blockLen = 512 * Math.ceil(this.stat.size / 512); + this.blockRemain = this.blockLen; + const bufLen = Math.min(this.blockLen, this.maxReadSize); + this.buf = Buffer.allocUnsafe(bufLen); + this.offset = 0; + this.pos = 0; + this.remain = this.stat.size; + this.length = this.buf.length; + this[READ](); + } + [READ]() { + const { fd, buf, offset, length, pos } = this; + fs6.read(fd, buf, offset, length, pos, (er, bytesRead) => { + if (er) { + return this[CLOSE](() => this.emit("error", er)); + } + this[ONREAD](bytesRead); + }); + } + [CLOSE](cb) { + fs6.close(this.fd, cb); + } + [ONREAD](bytesRead) { + if (bytesRead <= 0 && this.remain > 0) { + const er = new Error("encountered unexpected EOF"); + er.path = this.absolute; + er.syscall = "read"; + er.code = "EOF"; + return this[CLOSE](() => this.emit("error", er)); + } + if (bytesRead > this.remain) { + const er = new Error("did not encounter expected EOF"); + er.path = this.absolute; + er.syscall = "read"; + er.code = "EOF"; + return this[CLOSE](() => this.emit("error", er)); + } + if (bytesRead === this.remain) { + for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) { + this.buf[i + this.offset] = 0; + bytesRead++; + this.remain++; + } + } + const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead); + const flushed = this.write(writeBuf); + if (!flushed) { + this[AWAITDRAIN](() => this[ONDRAIN]()); + } else { + this[ONDRAIN](); + } + } + [AWAITDRAIN](cb) { + this.once("drain", cb); + } + write(writeBuf) { + if (this.blockRemain < writeBuf.length) { + const er = new Error("writing more data than expected"); + er.path = this.absolute; + return this.emit("error", er); + } + this.remain -= writeBuf.length; + this.blockRemain -= writeBuf.length; + this.pos += writeBuf.length; + this.offset += writeBuf.length; + return super.write(writeBuf); + } + [ONDRAIN]() { + if (!this.remain) { + if (this.blockRemain) { + super.write(Buffer.alloc(this.blockRemain)); + } + return this[CLOSE]((er) => er ? this.emit("error", er) : this.end()); + } + if (this.offset >= this.length) { + this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)); + this.offset = 0; + } + this.length = this.buf.length - this.offset; + this[READ](); + } + }); + var WriteEntrySync = class extends WriteEntry { + [LSTAT]() { + this[ONLSTAT](fs6.lstatSync(this.absolute)); + } + [SYMLINK]() { + this[ONREADLINK](fs6.readlinkSync(this.absolute)); + } + [OPENFILE]() { + this[ONOPENFILE](fs6.openSync(this.absolute, "r")); + } + [READ]() { + let threw = true; + try { + const { fd, buf, offset, length, pos } = this; + const bytesRead = fs6.readSync(fd, buf, offset, length, pos); + this[ONREAD](bytesRead); + threw = false; + } finally { + if (threw) { + try { + this[CLOSE](() => { + }); + } catch (er) { + } + } + } + } + [AWAITDRAIN](cb) { + cb(); + } + [CLOSE](cb) { + fs6.closeSync(this.fd); + cb(); + } + }; + var WriteEntryTar = warner(class WriteEntryTar extends Minipass { + constructor(readEntry, opt) { + opt = opt || {}; + super(opt); + this.preservePaths = !!opt.preservePaths; + this.portable = !!opt.portable; + this.strict = !!opt.strict; + this.noPax = !!opt.noPax; + this.noMtime = !!opt.noMtime; + this.readEntry = readEntry; + this.type = readEntry.type; + if (this.type === "Directory" && this.portable) { + this.noMtime = true; + } + this.prefix = opt.prefix || null; + this.path = normPath(readEntry.path); + this.mode = this[MODE](readEntry.mode); + this.uid = this.portable ? null : readEntry.uid; + this.gid = this.portable ? null : readEntry.gid; + this.uname = this.portable ? null : readEntry.uname; + this.gname = this.portable ? null : readEntry.gname; + this.size = readEntry.size; + this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime; + this.atime = this.portable ? null : readEntry.atime; + this.ctime = this.portable ? null : readEntry.ctime; + this.linkpath = normPath(readEntry.linkpath); + if (typeof opt.onwarn === "function") { + this.on("warn", opt.onwarn); + } + let pathWarn = false; + if (!this.preservePaths) { + const [root, stripped] = stripAbsolutePath(this.path); + if (root) { + this.path = stripped; + pathWarn = root; + } + } + this.remain = readEntry.size; + this.blockRemain = readEntry.startBlockSize; + this.header = new Header({ + path: this[PREFIX](this.path), + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + // only the permissions and setuid/setgid/sticky bitflags + // not the higher-order bits that specify file type + mode: this.mode, + uid: this.portable ? null : this.uid, + gid: this.portable ? null : this.gid, + size: this.size, + mtime: this.noMtime ? null : this.mtime, + type: this.type, + uname: this.portable ? null : this.uname, + atime: this.portable ? null : this.atime, + ctime: this.portable ? null : this.ctime + }); + if (pathWarn) { + this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, { + entry: this, + path: pathWarn + this.path + }); + } + if (this.header.encode() && !this.noPax) { + super.write(new Pax({ + atime: this.portable ? null : this.atime, + ctime: this.portable ? null : this.ctime, + gid: this.portable ? null : this.gid, + mtime: this.noMtime ? null : this.mtime, + path: this[PREFIX](this.path), + linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath, + size: this.size, + uid: this.portable ? null : this.uid, + uname: this.portable ? null : this.uname, + dev: this.portable ? null : this.readEntry.dev, + ino: this.portable ? null : this.readEntry.ino, + nlink: this.portable ? null : this.readEntry.nlink + }).encode()); + } + super.write(this.header.block); + readEntry.pipe(this); + } + [PREFIX](path10) { + return prefixPath(path10, this.prefix); + } + [MODE](mode) { + return modeFix(mode, this.type === "Directory", this.portable); + } + write(data) { + const writeLen = data.length; + if (writeLen > this.blockRemain) { + throw new Error("writing more to entry than is appropriate"); + } + this.blockRemain -= writeLen; + return super.write(data); + } + end() { + if (this.blockRemain) { + super.write(Buffer.alloc(this.blockRemain)); + } + return super.end(); + } + }); + WriteEntry.Sync = WriteEntrySync; + WriteEntry.Tar = WriteEntryTar; + var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported"; + module2.exports = WriteEntry; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/pack.js +var require_pack = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/pack.js"(exports, module2) { + "use strict"; + var PackJob = class { + constructor(path10, absolute) { + this.path = path10 || "./"; + this.absolute = absolute; + this.entry = null; + this.stat = null; + this.readdir = null; + this.pending = false; + this.ignore = false; + this.piped = false; + } + }; + var { Minipass } = require_minipass(); + var zlib = require_minizlib(); + var ReadEntry = require_read_entry(); + var WriteEntry = require_write_entry(); + var WriteEntrySync = WriteEntry.Sync; + var WriteEntryTar = WriteEntry.Tar; + var Yallist = require_yallist(); + var EOF = Buffer.alloc(1024); + var ONSTAT = Symbol("onStat"); + var ENDED = Symbol("ended"); + var QUEUE = Symbol("queue"); + var CURRENT = Symbol("current"); + var PROCESS = Symbol("process"); + var PROCESSING = Symbol("processing"); + var PROCESSJOB = Symbol("processJob"); + var JOBS = Symbol("jobs"); + var JOBDONE = Symbol("jobDone"); + var ADDFSENTRY = Symbol("addFSEntry"); + var ADDTARENTRY = Symbol("addTarEntry"); + var STAT = Symbol("stat"); + var READDIR = Symbol("readdir"); + var ONREADDIR = Symbol("onreaddir"); + var PIPE = Symbol("pipe"); + var ENTRY = Symbol("entry"); + var ENTRYOPT = Symbol("entryOpt"); + var WRITEENTRYCLASS = Symbol("writeEntryClass"); + var WRITE = Symbol("write"); + var ONDRAIN = Symbol("ondrain"); + var fs6 = require("fs"); + var path9 = require("path"); + var warner = require_warn_mixin(); + var normPath = require_normalize_windows_path(); + var Pack = warner(class Pack extends Minipass { + constructor(opt) { + super(opt); + opt = opt || /* @__PURE__ */ Object.create(null); + this.opt = opt; + this.file = opt.file || ""; + this.cwd = opt.cwd || process.cwd(); + this.maxReadSize = opt.maxReadSize; + this.preservePaths = !!opt.preservePaths; + this.strict = !!opt.strict; + this.noPax = !!opt.noPax; + this.prefix = normPath(opt.prefix || ""); + this.linkCache = opt.linkCache || /* @__PURE__ */ new Map(); + this.statCache = opt.statCache || /* @__PURE__ */ new Map(); + this.readdirCache = opt.readdirCache || /* @__PURE__ */ new Map(); + this[WRITEENTRYCLASS] = WriteEntry; + if (typeof opt.onwarn === "function") { + this.on("warn", opt.onwarn); + } + this.portable = !!opt.portable; + this.zip = null; + if (opt.gzip) { + if (typeof opt.gzip !== "object") { + opt.gzip = {}; + } + if (this.portable) { + opt.gzip.portable = true; + } + this.zip = new zlib.Gzip(opt.gzip); + this.zip.on("data", (chunk) => super.write(chunk)); + this.zip.on("end", (_) => super.end()); + this.zip.on("drain", (_) => this[ONDRAIN]()); + this.on("resume", (_) => this.zip.resume()); + } else { + this.on("drain", this[ONDRAIN]); + } + this.noDirRecurse = !!opt.noDirRecurse; + this.follow = !!opt.follow; + this.noMtime = !!opt.noMtime; + this.mtime = opt.mtime || null; + this.filter = typeof opt.filter === "function" ? opt.filter : (_) => true; + this[QUEUE] = new Yallist(); + this[JOBS] = 0; + this.jobs = +opt.jobs || 4; + this[PROCESSING] = false; + this[ENDED] = false; + } + [WRITE](chunk) { + return super.write(chunk); + } + add(path10) { + this.write(path10); + return this; + } + end(path10) { + if (path10) { + this.write(path10); + } + this[ENDED] = true; + this[PROCESS](); + return this; + } + write(path10) { + if (this[ENDED]) { + throw new Error("write after end"); + } + if (path10 instanceof ReadEntry) { + this[ADDTARENTRY](path10); + } else { + this[ADDFSENTRY](path10); + } + return this.flowing; + } + [ADDTARENTRY](p) { + const absolute = normPath(path9.resolve(this.cwd, p.path)); + if (!this.filter(p.path, p)) { + p.resume(); + } else { + const job = new PackJob(p.path, absolute, false); + job.entry = new WriteEntryTar(p, this[ENTRYOPT](job)); + job.entry.on("end", (_) => this[JOBDONE](job)); + this[JOBS] += 1; + this[QUEUE].push(job); + } + this[PROCESS](); + } + [ADDFSENTRY](p) { + const absolute = normPath(path9.resolve(this.cwd, p)); + this[QUEUE].push(new PackJob(p, absolute)); + this[PROCESS](); + } + [STAT](job) { + job.pending = true; + this[JOBS] += 1; + const stat = this.follow ? "stat" : "lstat"; + fs6[stat](job.absolute, (er, stat2) => { + job.pending = false; + this[JOBS] -= 1; + if (er) { + this.emit("error", er); + } else { + this[ONSTAT](job, stat2); + } + }); + } + [ONSTAT](job, stat) { + this.statCache.set(job.absolute, stat); + job.stat = stat; + if (!this.filter(job.path, stat)) { + job.ignore = true; + } + this[PROCESS](); + } + [READDIR](job) { + job.pending = true; + this[JOBS] += 1; + fs6.readdir(job.absolute, (er, entries) => { + job.pending = false; + this[JOBS] -= 1; + if (er) { + return this.emit("error", er); + } + this[ONREADDIR](job, entries); + }); + } + [ONREADDIR](job, entries) { + this.readdirCache.set(job.absolute, entries); + job.readdir = entries; + this[PROCESS](); + } + [PROCESS]() { + if (this[PROCESSING]) { + return; + } + this[PROCESSING] = true; + for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) { + this[PROCESSJOB](w.value); + if (w.value.ignore) { + const p = w.next; + this[QUEUE].removeNode(w); + w.next = p; + } + } + this[PROCESSING] = false; + if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) { + if (this.zip) { + this.zip.end(EOF); + } else { + super.write(EOF); + super.end(); + } + } + } + get [CURRENT]() { + return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value; + } + [JOBDONE](job) { + this[QUEUE].shift(); + this[JOBS] -= 1; + this[PROCESS](); + } + [PROCESSJOB](job) { + if (job.pending) { + return; + } + if (job.entry) { + if (job === this[CURRENT] && !job.piped) { + this[PIPE](job); + } + return; + } + if (!job.stat) { + if (this.statCache.has(job.absolute)) { + this[ONSTAT](job, this.statCache.get(job.absolute)); + } else { + this[STAT](job); + } + } + if (!job.stat) { + return; + } + if (job.ignore) { + return; + } + if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) { + if (this.readdirCache.has(job.absolute)) { + this[ONREADDIR](job, this.readdirCache.get(job.absolute)); + } else { + this[READDIR](job); + } + if (!job.readdir) { + return; + } + } + job.entry = this[ENTRY](job); + if (!job.entry) { + job.ignore = true; + return; + } + if (job === this[CURRENT] && !job.piped) { + this[PIPE](job); + } + } + [ENTRYOPT](job) { + return { + onwarn: (code, msg, data) => this.warn(code, msg, data), + noPax: this.noPax, + cwd: this.cwd, + absolute: job.absolute, + preservePaths: this.preservePaths, + maxReadSize: this.maxReadSize, + strict: this.strict, + portable: this.portable, + linkCache: this.linkCache, + statCache: this.statCache, + noMtime: this.noMtime, + mtime: this.mtime, + prefix: this.prefix + }; + } + [ENTRY](job) { + this[JOBS] += 1; + try { + return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)).on("end", () => this[JOBDONE](job)).on("error", (er) => this.emit("error", er)); + } catch (er) { + this.emit("error", er); + } + } + [ONDRAIN]() { + if (this[CURRENT] && this[CURRENT].entry) { + this[CURRENT].entry.resume(); + } + } + // like .pipe() but using super, because our write() is special + [PIPE](job) { + job.piped = true; + if (job.readdir) { + job.readdir.forEach((entry) => { + const p = job.path; + const base = p === "./" ? "" : p.replace(/\/*$/, "/"); + this[ADDFSENTRY](base + entry); + }); + } + const source = job.entry; + const zip = this.zip; + if (zip) { + source.on("data", (chunk) => { + if (!zip.write(chunk)) { + source.pause(); + } + }); + } else { + source.on("data", (chunk) => { + if (!super.write(chunk)) { + source.pause(); + } + }); + } + } + pause() { + if (this.zip) { + this.zip.pause(); + } + return super.pause(); + } + }); + var PackSync = class extends Pack { + constructor(opt) { + super(opt); + this[WRITEENTRYCLASS] = WriteEntrySync; + } + // pause/resume are no-ops in sync streams. + pause() { + } + resume() { + } + [STAT](job) { + const stat = this.follow ? "statSync" : "lstatSync"; + this[ONSTAT](job, fs6[stat](job.absolute)); + } + [READDIR](job, stat) { + this[ONREADDIR](job, fs6.readdirSync(job.absolute)); + } + // gotta get it all in this tick + [PIPE](job) { + const source = job.entry; + const zip = this.zip; + if (job.readdir) { + job.readdir.forEach((entry) => { + const p = job.path; + const base = p === "./" ? "" : p.replace(/\/*$/, "/"); + this[ADDFSENTRY](base + entry); + }); + } + if (zip) { + source.on("data", (chunk) => { + zip.write(chunk); + }); + } else { + source.on("data", (chunk) => { + super[WRITE](chunk); + }); + } + } + }; + Pack.Sync = PackSync; + module2.exports = Pack; + } +}); + +// .yarn/cache/fs-minipass-npm-2.1.0-501ef87306-56d19f9a03.zip/node_modules/fs-minipass/index.js +var require_fs_minipass = __commonJS({ + ".yarn/cache/fs-minipass-npm-2.1.0-501ef87306-56d19f9a03.zip/node_modules/fs-minipass/index.js"(exports) { + "use strict"; + var MiniPass = require_minipass2(); + var EE = require("events").EventEmitter; + var fs6 = require("fs"); + var writev = fs6.writev; + if (!writev) { + const binding = process.binding("fs"); + const FSReqWrap = binding.FSReqWrap || binding.FSReqCallback; + writev = (fd, iovec, pos, cb) => { + const done = (er, bw) => cb(er, bw, iovec); + const req = new FSReqWrap(); + req.oncomplete = done; + binding.writeBuffers(fd, iovec, pos, req); + }; + } + var _autoClose = Symbol("_autoClose"); + var _close = Symbol("_close"); + var _ended = Symbol("_ended"); + var _fd = Symbol("_fd"); + var _finished = Symbol("_finished"); + var _flags = Symbol("_flags"); + var _flush = Symbol("_flush"); + var _handleChunk = Symbol("_handleChunk"); + var _makeBuf = Symbol("_makeBuf"); + var _mode = Symbol("_mode"); + var _needDrain = Symbol("_needDrain"); + var _onerror = Symbol("_onerror"); + var _onopen = Symbol("_onopen"); + var _onread = Symbol("_onread"); + var _onwrite = Symbol("_onwrite"); + var _open = Symbol("_open"); + var _path = Symbol("_path"); + var _pos = Symbol("_pos"); + var _queue = Symbol("_queue"); + var _read = Symbol("_read"); + var _readSize = Symbol("_readSize"); + var _reading = Symbol("_reading"); + var _remain = Symbol("_remain"); + var _size = Symbol("_size"); + var _write = Symbol("_write"); + var _writing = Symbol("_writing"); + var _defaultFlag = Symbol("_defaultFlag"); + var _errored = Symbol("_errored"); + var ReadStream = class extends MiniPass { + constructor(path9, opt) { + opt = opt || {}; + super(opt); + this.readable = true; + this.writable = false; + if (typeof path9 !== "string") + throw new TypeError("path must be a string"); + this[_errored] = false; + this[_fd] = typeof opt.fd === "number" ? opt.fd : null; + this[_path] = path9; + this[_readSize] = opt.readSize || 16 * 1024 * 1024; + this[_reading] = false; + this[_size] = typeof opt.size === "number" ? opt.size : Infinity; + this[_remain] = this[_size]; + this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true; + if (typeof this[_fd] === "number") + this[_read](); + else + this[_open](); + } + get fd() { + return this[_fd]; + } + get path() { + return this[_path]; + } + write() { + throw new TypeError("this is a readable stream"); + } + end() { + throw new TypeError("this is a readable stream"); + } + [_open]() { + fs6.open(this[_path], "r", (er, fd) => this[_onopen](er, fd)); + } + [_onopen](er, fd) { + if (er) + this[_onerror](er); + else { + this[_fd] = fd; + this.emit("open", fd); + this[_read](); + } + } + [_makeBuf]() { + return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain])); + } + [_read]() { + if (!this[_reading]) { + this[_reading] = true; + const buf = this[_makeBuf](); + if (buf.length === 0) + return process.nextTick(() => this[_onread](null, 0, buf)); + fs6.read(this[_fd], buf, 0, buf.length, null, (er, br, buf2) => this[_onread](er, br, buf2)); + } + } + [_onread](er, br, buf) { + this[_reading] = false; + if (er) + this[_onerror](er); + else if (this[_handleChunk](br, buf)) + this[_read](); + } + [_close]() { + if (this[_autoClose] && typeof this[_fd] === "number") { + const fd = this[_fd]; + this[_fd] = null; + fs6.close(fd, (er) => er ? this.emit("error", er) : this.emit("close")); + } + } + [_onerror](er) { + this[_reading] = true; + this[_close](); + this.emit("error", er); + } + [_handleChunk](br, buf) { + let ret = false; + this[_remain] -= br; + if (br > 0) + ret = super.write(br < buf.length ? buf.slice(0, br) : buf); + if (br === 0 || this[_remain] <= 0) { + ret = false; + this[_close](); + super.end(); + } + return ret; + } + emit(ev, data) { + switch (ev) { + case "prefinish": + case "finish": + break; + case "drain": + if (typeof this[_fd] === "number") + this[_read](); + break; + case "error": + if (this[_errored]) + return; + this[_errored] = true; + return super.emit(ev, data); + default: + return super.emit(ev, data); + } + } + }; + var ReadStreamSync = class extends ReadStream { + [_open]() { + let threw = true; + try { + this[_onopen](null, fs6.openSync(this[_path], "r")); + threw = false; + } finally { + if (threw) + this[_close](); + } + } + [_read]() { + let threw = true; + try { + if (!this[_reading]) { + this[_reading] = true; + do { + const buf = this[_makeBuf](); + const br = buf.length === 0 ? 0 : fs6.readSync(this[_fd], buf, 0, buf.length, null); + if (!this[_handleChunk](br, buf)) + break; + } while (true); + this[_reading] = false; + } + threw = false; + } finally { + if (threw) + this[_close](); + } + } + [_close]() { + if (this[_autoClose] && typeof this[_fd] === "number") { + const fd = this[_fd]; + this[_fd] = null; + fs6.closeSync(fd); + this.emit("close"); + } + } + }; + var WriteStream = class extends EE { + constructor(path9, opt) { + opt = opt || {}; + super(opt); + this.readable = false; + this.writable = true; + this[_errored] = false; + this[_writing] = false; + this[_ended] = false; + this[_needDrain] = false; + this[_queue] = []; + this[_path] = path9; + this[_fd] = typeof opt.fd === "number" ? opt.fd : null; + this[_mode] = opt.mode === void 0 ? 438 : opt.mode; + this[_pos] = typeof opt.start === "number" ? opt.start : null; + this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true; + const defaultFlag = this[_pos] !== null ? "r+" : "w"; + this[_defaultFlag] = opt.flags === void 0; + this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags; + if (this[_fd] === null) + this[_open](); + } + emit(ev, data) { + if (ev === "error") { + if (this[_errored]) + return; + this[_errored] = true; + } + return super.emit(ev, data); + } + get fd() { + return this[_fd]; + } + get path() { + return this[_path]; + } + [_onerror](er) { + this[_close](); + this[_writing] = true; + this.emit("error", er); + } + [_open]() { + fs6.open( + this[_path], + this[_flags], + this[_mode], + (er, fd) => this[_onopen](er, fd) + ); + } + [_onopen](er, fd) { + if (this[_defaultFlag] && this[_flags] === "r+" && er && er.code === "ENOENT") { + this[_flags] = "w"; + this[_open](); + } else if (er) + this[_onerror](er); + else { + this[_fd] = fd; + this.emit("open", fd); + this[_flush](); + } + } + end(buf, enc) { + if (buf) + this.write(buf, enc); + this[_ended] = true; + if (!this[_writing] && !this[_queue].length && typeof this[_fd] === "number") + this[_onwrite](null, 0); + return this; + } + write(buf, enc) { + if (typeof buf === "string") + buf = Buffer.from(buf, enc); + if (this[_ended]) { + this.emit("error", new Error("write() after end()")); + return false; + } + if (this[_fd] === null || this[_writing] || this[_queue].length) { + this[_queue].push(buf); + this[_needDrain] = true; + return false; + } + this[_writing] = true; + this[_write](buf); + return true; + } + [_write](buf) { + fs6.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) => this[_onwrite](er, bw)); + } + [_onwrite](er, bw) { + if (er) + this[_onerror](er); + else { + if (this[_pos] !== null) + this[_pos] += bw; + if (this[_queue].length) + this[_flush](); + else { + this[_writing] = false; + if (this[_ended] && !this[_finished]) { + this[_finished] = true; + this[_close](); + this.emit("finish"); + } else if (this[_needDrain]) { + this[_needDrain] = false; + this.emit("drain"); + } + } + } + } + [_flush]() { + if (this[_queue].length === 0) { + if (this[_ended]) + this[_onwrite](null, 0); + } else if (this[_queue].length === 1) + this[_write](this[_queue].pop()); + else { + const iovec = this[_queue]; + this[_queue] = []; + writev( + this[_fd], + iovec, + this[_pos], + (er, bw) => this[_onwrite](er, bw) + ); + } + } + [_close]() { + if (this[_autoClose] && typeof this[_fd] === "number") { + const fd = this[_fd]; + this[_fd] = null; + fs6.close(fd, (er) => er ? this.emit("error", er) : this.emit("close")); + } + } + }; + var WriteStreamSync = class extends WriteStream { + [_open]() { + let fd; + if (this[_defaultFlag] && this[_flags] === "r+") { + try { + fd = fs6.openSync(this[_path], this[_flags], this[_mode]); + } catch (er) { + if (er.code === "ENOENT") { + this[_flags] = "w"; + return this[_open](); + } else + throw er; + } + } else + fd = fs6.openSync(this[_path], this[_flags], this[_mode]); + this[_onopen](null, fd); + } + [_close]() { + if (this[_autoClose] && typeof this[_fd] === "number") { + const fd = this[_fd]; + this[_fd] = null; + fs6.closeSync(fd); + this.emit("close"); + } + } + [_write](buf) { + let threw = true; + try { + this[_onwrite]( + null, + fs6.writeSync(this[_fd], buf, 0, buf.length, this[_pos]) + ); + threw = false; + } finally { + if (threw) + try { + this[_close](); + } catch (_) { + } + } + } + }; + exports.ReadStream = ReadStream; + exports.ReadStreamSync = ReadStreamSync; + exports.WriteStream = WriteStream; + exports.WriteStreamSync = WriteStreamSync; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/parse.js +var require_parse2 = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/parse.js"(exports, module2) { + "use strict"; + var warner = require_warn_mixin(); + var Header = require_header(); + var EE = require("events"); + var Yallist = require_yallist(); + var maxMetaEntrySize = 1024 * 1024; + var Entry = require_read_entry(); + var Pax = require_pax(); + var zlib = require_minizlib(); + var { nextTick } = require("process"); + var gzipHeader = Buffer.from([31, 139]); + var STATE = Symbol("state"); + var WRITEENTRY = Symbol("writeEntry"); + var READENTRY = Symbol("readEntry"); + var NEXTENTRY = Symbol("nextEntry"); + var PROCESSENTRY = Symbol("processEntry"); + var EX = Symbol("extendedHeader"); + var GEX = Symbol("globalExtendedHeader"); + var META = Symbol("meta"); + var EMITMETA = Symbol("emitMeta"); + var BUFFER = Symbol("buffer"); + var QUEUE = Symbol("queue"); + var ENDED = Symbol("ended"); + var EMITTEDEND = Symbol("emittedEnd"); + var EMIT = Symbol("emit"); + var UNZIP = Symbol("unzip"); + var CONSUMECHUNK = Symbol("consumeChunk"); + var CONSUMECHUNKSUB = Symbol("consumeChunkSub"); + var CONSUMEBODY = Symbol("consumeBody"); + var CONSUMEMETA = Symbol("consumeMeta"); + var CONSUMEHEADER = Symbol("consumeHeader"); + var CONSUMING = Symbol("consuming"); + var BUFFERCONCAT = Symbol("bufferConcat"); + var MAYBEEND = Symbol("maybeEnd"); + var WRITING = Symbol("writing"); + var ABORTED = Symbol("aborted"); + var DONE = Symbol("onDone"); + var SAW_VALID_ENTRY = Symbol("sawValidEntry"); + var SAW_NULL_BLOCK = Symbol("sawNullBlock"); + var SAW_EOF = Symbol("sawEOF"); + var CLOSESTREAM = Symbol("closeStream"); + var noop = (_) => true; + module2.exports = warner(class Parser extends EE { + constructor(opt) { + opt = opt || {}; + super(opt); + this.file = opt.file || ""; + this[SAW_VALID_ENTRY] = null; + this.on(DONE, (_) => { + if (this[STATE] === "begin" || this[SAW_VALID_ENTRY] === false) { + this.warn("TAR_BAD_ARCHIVE", "Unrecognized archive format"); + } + }); + if (opt.ondone) { + this.on(DONE, opt.ondone); + } else { + this.on(DONE, (_) => { + this.emit("prefinish"); + this.emit("finish"); + this.emit("end"); + }); + } + this.strict = !!opt.strict; + this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize; + this.filter = typeof opt.filter === "function" ? opt.filter : noop; + this.writable = true; + this.readable = false; + this[QUEUE] = new Yallist(); + this[BUFFER] = null; + this[READENTRY] = null; + this[WRITEENTRY] = null; + this[STATE] = "begin"; + this[META] = ""; + this[EX] = null; + this[GEX] = null; + this[ENDED] = false; + this[UNZIP] = null; + this[ABORTED] = false; + this[SAW_NULL_BLOCK] = false; + this[SAW_EOF] = false; + this.on("end", () => this[CLOSESTREAM]()); + if (typeof opt.onwarn === "function") { + this.on("warn", opt.onwarn); + } + if (typeof opt.onentry === "function") { + this.on("entry", opt.onentry); + } + } + [CONSUMEHEADER](chunk, position) { + if (this[SAW_VALID_ENTRY] === null) { + this[SAW_VALID_ENTRY] = false; + } + let header; + try { + header = new Header(chunk, position, this[EX], this[GEX]); + } catch (er) { + return this.warn("TAR_ENTRY_INVALID", er); + } + if (header.nullBlock) { + if (this[SAW_NULL_BLOCK]) { + this[SAW_EOF] = true; + if (this[STATE] === "begin") { + this[STATE] = "header"; + } + this[EMIT]("eof"); + } else { + this[SAW_NULL_BLOCK] = true; + this[EMIT]("nullBlock"); + } + } else { + this[SAW_NULL_BLOCK] = false; + if (!header.cksumValid) { + this.warn("TAR_ENTRY_INVALID", "checksum failure", { header }); + } else if (!header.path) { + this.warn("TAR_ENTRY_INVALID", "path is required", { header }); + } else { + const type = header.type; + if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) { + this.warn("TAR_ENTRY_INVALID", "linkpath required", { header }); + } else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) { + this.warn("TAR_ENTRY_INVALID", "linkpath forbidden", { header }); + } else { + const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]); + if (!this[SAW_VALID_ENTRY]) { + if (entry.remain) { + const onend = () => { + if (!entry.invalid) { + this[SAW_VALID_ENTRY] = true; + } + }; + entry.on("end", onend); + } else { + this[SAW_VALID_ENTRY] = true; + } + } + if (entry.meta) { + if (entry.size > this.maxMetaEntrySize) { + entry.ignore = true; + this[EMIT]("ignoredEntry", entry); + this[STATE] = "ignore"; + entry.resume(); + } else if (entry.size > 0) { + this[META] = ""; + entry.on("data", (c) => this[META] += c); + this[STATE] = "meta"; + } + } else { + this[EX] = null; + entry.ignore = entry.ignore || !this.filter(entry.path, entry); + if (entry.ignore) { + this[EMIT]("ignoredEntry", entry); + this[STATE] = entry.remain ? "ignore" : "header"; + entry.resume(); + } else { + if (entry.remain) { + this[STATE] = "body"; + } else { + this[STATE] = "header"; + entry.end(); + } + if (!this[READENTRY]) { + this[QUEUE].push(entry); + this[NEXTENTRY](); + } else { + this[QUEUE].push(entry); + } + } + } + } + } + } + } + [CLOSESTREAM]() { + nextTick(() => this.emit("close")); + } + [PROCESSENTRY](entry) { + let go = true; + if (!entry) { + this[READENTRY] = null; + go = false; + } else if (Array.isArray(entry)) { + this.emit.apply(this, entry); + } else { + this[READENTRY] = entry; + this.emit("entry", entry); + if (!entry.emittedEnd) { + entry.on("end", (_) => this[NEXTENTRY]()); + go = false; + } + } + return go; + } + [NEXTENTRY]() { + do { + } while (this[PROCESSENTRY](this[QUEUE].shift())); + if (!this[QUEUE].length) { + const re = this[READENTRY]; + const drainNow = !re || re.flowing || re.size === re.remain; + if (drainNow) { + if (!this[WRITING]) { + this.emit("drain"); + } + } else { + re.once("drain", (_) => this.emit("drain")); + } + } + } + [CONSUMEBODY](chunk, position) { + const entry = this[WRITEENTRY]; + const br = entry.blockRemain; + const c = br >= chunk.length && position === 0 ? chunk : chunk.slice(position, position + br); + entry.write(c); + if (!entry.blockRemain) { + this[STATE] = "header"; + this[WRITEENTRY] = null; + entry.end(); + } + return c.length; + } + [CONSUMEMETA](chunk, position) { + const entry = this[WRITEENTRY]; + const ret = this[CONSUMEBODY](chunk, position); + if (!this[WRITEENTRY]) { + this[EMITMETA](entry); + } + return ret; + } + [EMIT](ev, data, extra) { + if (!this[QUEUE].length && !this[READENTRY]) { + this.emit(ev, data, extra); + } else { + this[QUEUE].push([ev, data, extra]); + } + } + [EMITMETA](entry) { + this[EMIT]("meta", this[META]); + switch (entry.type) { + case "ExtendedHeader": + case "OldExtendedHeader": + this[EX] = Pax.parse(this[META], this[EX], false); + break; + case "GlobalExtendedHeader": + this[GEX] = Pax.parse(this[META], this[GEX], true); + break; + case "NextFileHasLongPath": + case "OldGnuLongPath": + this[EX] = this[EX] || /* @__PURE__ */ Object.create(null); + this[EX].path = this[META].replace(/\0.*/, ""); + break; + case "NextFileHasLongLinkpath": + this[EX] = this[EX] || /* @__PURE__ */ Object.create(null); + this[EX].linkpath = this[META].replace(/\0.*/, ""); + break; + default: + throw new Error("unknown meta: " + entry.type); + } + } + abort(error) { + this[ABORTED] = true; + this.emit("abort", error); + this.warn("TAR_ABORT", error, { recoverable: false }); + } + write(chunk) { + if (this[ABORTED]) { + return; + } + if (this[UNZIP] === null && chunk) { + if (this[BUFFER]) { + chunk = Buffer.concat([this[BUFFER], chunk]); + this[BUFFER] = null; + } + if (chunk.length < gzipHeader.length) { + this[BUFFER] = chunk; + return true; + } + for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) { + if (chunk[i] !== gzipHeader[i]) { + this[UNZIP] = false; + } + } + if (this[UNZIP] === null) { + const ended = this[ENDED]; + this[ENDED] = false; + this[UNZIP] = new zlib.Unzip(); + this[UNZIP].on("data", (chunk2) => this[CONSUMECHUNK](chunk2)); + this[UNZIP].on("error", (er) => this.abort(er)); + this[UNZIP].on("end", (_) => { + this[ENDED] = true; + this[CONSUMECHUNK](); + }); + this[WRITING] = true; + const ret2 = this[UNZIP][ended ? "end" : "write"](chunk); + this[WRITING] = false; + return ret2; + } + } + this[WRITING] = true; + if (this[UNZIP]) { + this[UNZIP].write(chunk); + } else { + this[CONSUMECHUNK](chunk); + } + this[WRITING] = false; + const ret = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true; + if (!ret && !this[QUEUE].length) { + this[READENTRY].once("drain", (_) => this.emit("drain")); + } + return ret; + } + [BUFFERCONCAT](c) { + if (c && !this[ABORTED]) { + this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c; + } + } + [MAYBEEND]() { + if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) { + this[EMITTEDEND] = true; + const entry = this[WRITEENTRY]; + if (entry && entry.blockRemain) { + const have = this[BUFFER] ? this[BUFFER].length : 0; + this.warn("TAR_BAD_ARCHIVE", `Truncated input (needed ${entry.blockRemain} more bytes, only ${have} available)`, { entry }); + if (this[BUFFER]) { + entry.write(this[BUFFER]); + } + entry.end(); + } + this[EMIT](DONE); + } + } + [CONSUMECHUNK](chunk) { + if (this[CONSUMING]) { + this[BUFFERCONCAT](chunk); + } else if (!chunk && !this[BUFFER]) { + this[MAYBEEND](); + } else { + this[CONSUMING] = true; + if (this[BUFFER]) { + this[BUFFERCONCAT](chunk); + const c = this[BUFFER]; + this[BUFFER] = null; + this[CONSUMECHUNKSUB](c); + } else { + this[CONSUMECHUNKSUB](chunk); + } + while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) { + const c = this[BUFFER]; + this[BUFFER] = null; + this[CONSUMECHUNKSUB](c); + } + this[CONSUMING] = false; + } + if (!this[BUFFER] || this[ENDED]) { + this[MAYBEEND](); + } + } + [CONSUMECHUNKSUB](chunk) { + let position = 0; + const length = chunk.length; + while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) { + switch (this[STATE]) { + case "begin": + case "header": + this[CONSUMEHEADER](chunk, position); + position += 512; + break; + case "ignore": + case "body": + position += this[CONSUMEBODY](chunk, position); + break; + case "meta": + position += this[CONSUMEMETA](chunk, position); + break; + default: + throw new Error("invalid state: " + this[STATE]); + } + } + if (position < length) { + if (this[BUFFER]) { + this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]); + } else { + this[BUFFER] = chunk.slice(position); + } + } + } + end(chunk) { + if (!this[ABORTED]) { + if (this[UNZIP]) { + this[UNZIP].end(chunk); + } else { + this[ENDED] = true; + this.write(chunk); + } + } + } + }); + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/list.js +var require_list = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/list.js"(exports, module2) { + "use strict"; + var hlo = require_high_level_opt(); + var Parser = require_parse2(); + var fs6 = require("fs"); + var fsm = require_fs_minipass(); + var path9 = require("path"); + var stripSlash = require_strip_trailing_slashes(); + module2.exports = (opt_, files, cb) => { + if (typeof opt_ === "function") { + cb = opt_, files = null, opt_ = {}; + } else if (Array.isArray(opt_)) { + files = opt_, opt_ = {}; + } + if (typeof files === "function") { + cb = files, files = null; + } + if (!files) { + files = []; + } else { + files = Array.from(files); + } + const opt = hlo(opt_); + if (opt.sync && typeof cb === "function") { + throw new TypeError("callback not supported for sync tar functions"); + } + if (!opt.file && typeof cb === "function") { + throw new TypeError("callback only supported with file option"); + } + if (files.length) { + filesFilter(opt, files); + } + if (!opt.noResume) { + onentryFunction(opt); + } + return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt); + }; + var onentryFunction = (opt) => { + const onentry = opt.onentry; + opt.onentry = onentry ? (e) => { + onentry(e); + e.resume(); + } : (e) => e.resume(); + }; + var filesFilter = (opt, files) => { + const map = new Map(files.map((f) => [stripSlash(f), true])); + const filter = opt.filter; + const mapHas = (file, r) => { + const root = r || path9.parse(file).root || "."; + const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path9.dirname(file), root); + map.set(file, ret); + return ret; + }; + opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file)); + }; + var listFileSync = (opt) => { + const p = list(opt); + const file = opt.file; + let threw = true; + let fd; + try { + const stat = fs6.statSync(file); + const readSize = opt.maxReadSize || 16 * 1024 * 1024; + if (stat.size < readSize) { + p.end(fs6.readFileSync(file)); + } else { + let pos = 0; + const buf = Buffer.allocUnsafe(readSize); + fd = fs6.openSync(file, "r"); + while (pos < stat.size) { + const bytesRead = fs6.readSync(fd, buf, 0, readSize, pos); + pos += bytesRead; + p.write(buf.slice(0, bytesRead)); + } + p.end(); + } + threw = false; + } finally { + if (threw && fd) { + try { + fs6.closeSync(fd); + } catch (er) { + } + } + } + }; + var listFile = (opt, cb) => { + const parse = new Parser(opt); + const readSize = opt.maxReadSize || 16 * 1024 * 1024; + const file = opt.file; + const p = new Promise((resolve, reject) => { + parse.on("error", reject); + parse.on("end", resolve); + fs6.stat(file, (er, stat) => { + if (er) { + reject(er); + } else { + const stream = new fsm.ReadStream(file, { + readSize, + size: stat.size + }); + stream.on("error", reject); + stream.pipe(parse); + } + }); + }); + return cb ? p.then(cb, cb) : p; + }; + var list = (opt) => new Parser(opt); + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/create.js +var require_create = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/create.js"(exports, module2) { + "use strict"; + var hlo = require_high_level_opt(); + var Pack = require_pack(); + var fsm = require_fs_minipass(); + var t = require_list(); + var path9 = require("path"); + module2.exports = (opt_, files, cb) => { + if (typeof files === "function") { + cb = files; + } + if (Array.isArray(opt_)) { + files = opt_, opt_ = {}; + } + if (!files || !Array.isArray(files) || !files.length) { + throw new TypeError("no files or directories specified"); + } + files = Array.from(files); + const opt = hlo(opt_); + if (opt.sync && typeof cb === "function") { + throw new TypeError("callback not supported for sync tar functions"); + } + if (!opt.file && typeof cb === "function") { + throw new TypeError("callback only supported with file option"); + } + return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files); + }; + var createFileSync = (opt, files) => { + const p = new Pack.Sync(opt); + const stream = new fsm.WriteStreamSync(opt.file, { + mode: opt.mode || 438 + }); + p.pipe(stream); + addFilesSync(p, files); + }; + var createFile = (opt, files, cb) => { + const p = new Pack(opt); + const stream = new fsm.WriteStream(opt.file, { + mode: opt.mode || 438 + }); + p.pipe(stream); + const promise = new Promise((res, rej) => { + stream.on("error", rej); + stream.on("close", res); + p.on("error", rej); + }); + addFilesAsync(p, files); + return cb ? promise.then(cb, cb) : promise; + }; + var addFilesSync = (p, files) => { + files.forEach((file) => { + if (file.charAt(0) === "@") { + t({ + file: path9.resolve(p.cwd, file.slice(1)), + sync: true, + noResume: true, + onentry: (entry) => p.add(entry) + }); + } else { + p.add(file); + } + }); + p.end(); + }; + var addFilesAsync = (p, files) => { + while (files.length) { + const file = files.shift(); + if (file.charAt(0) === "@") { + return t({ + file: path9.resolve(p.cwd, file.slice(1)), + noResume: true, + onentry: (entry) => p.add(entry) + }).then((_) => addFilesAsync(p, files)); + } else { + p.add(file); + } + } + p.end(); + }; + var createSync = (opt, files) => { + const p = new Pack.Sync(opt); + addFilesSync(p, files); + return p; + }; + var create = (opt, files) => { + const p = new Pack(opt); + addFilesAsync(p, files); + return p; + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/replace.js +var require_replace = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/replace.js"(exports, module2) { + "use strict"; + var hlo = require_high_level_opt(); + var Pack = require_pack(); + var fs6 = require("fs"); + var fsm = require_fs_minipass(); + var t = require_list(); + var path9 = require("path"); + var Header = require_header(); + module2.exports = (opt_, files, cb) => { + const opt = hlo(opt_); + if (!opt.file) { + throw new TypeError("file is required"); + } + if (opt.gzip) { + throw new TypeError("cannot append to compressed archives"); + } + if (!files || !Array.isArray(files) || !files.length) { + throw new TypeError("no files or directories specified"); + } + files = Array.from(files); + return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb); + }; + var replaceSync = (opt, files) => { + const p = new Pack.Sync(opt); + let threw = true; + let fd; + let position; + try { + try { + fd = fs6.openSync(opt.file, "r+"); + } catch (er) { + if (er.code === "ENOENT") { + fd = fs6.openSync(opt.file, "w+"); + } else { + throw er; + } + } + const st = fs6.fstatSync(fd); + const headBuf = Buffer.alloc(512); + POSITION: + for (position = 0; position < st.size; position += 512) { + for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) { + bytes = fs6.readSync( + fd, + headBuf, + bufPos, + headBuf.length - bufPos, + position + bufPos + ); + if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) { + throw new Error("cannot append to compressed archives"); + } + if (!bytes) { + break POSITION; + } + } + const h = new Header(headBuf); + if (!h.cksumValid) { + break; + } + const entryBlockSize = 512 * Math.ceil(h.size / 512); + if (position + entryBlockSize + 512 > st.size) { + break; + } + position += entryBlockSize; + if (opt.mtimeCache) { + opt.mtimeCache.set(h.path, h.mtime); + } + } + threw = false; + streamSync(opt, p, position, fd, files); + } finally { + if (threw) { + try { + fs6.closeSync(fd); + } catch (er) { + } + } + } + }; + var streamSync = (opt, p, position, fd, files) => { + const stream = new fsm.WriteStreamSync(opt.file, { + fd, + start: position + }); + p.pipe(stream); + addFilesSync(p, files); + }; + var replace = (opt, files, cb) => { + files = Array.from(files); + const p = new Pack(opt); + const getPos = (fd, size, cb_) => { + const cb2 = (er, pos) => { + if (er) { + fs6.close(fd, (_) => cb_(er)); + } else { + cb_(null, pos); + } + }; + let position = 0; + if (size === 0) { + return cb2(null, 0); + } + let bufPos = 0; + const headBuf = Buffer.alloc(512); + const onread = (er, bytes) => { + if (er) { + return cb2(er); + } + bufPos += bytes; + if (bufPos < 512 && bytes) { + return fs6.read( + fd, + headBuf, + bufPos, + headBuf.length - bufPos, + position + bufPos, + onread + ); + } + if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) { + return cb2(new Error("cannot append to compressed archives")); + } + if (bufPos < 512) { + return cb2(null, position); + } + const h = new Header(headBuf); + if (!h.cksumValid) { + return cb2(null, position); + } + const entryBlockSize = 512 * Math.ceil(h.size / 512); + if (position + entryBlockSize + 512 > size) { + return cb2(null, position); + } + position += entryBlockSize + 512; + if (position >= size) { + return cb2(null, position); + } + if (opt.mtimeCache) { + opt.mtimeCache.set(h.path, h.mtime); + } + bufPos = 0; + fs6.read(fd, headBuf, 0, 512, position, onread); + }; + fs6.read(fd, headBuf, 0, 512, position, onread); + }; + const promise = new Promise((resolve, reject) => { + p.on("error", reject); + let flag = "r+"; + const onopen = (er, fd) => { + if (er && er.code === "ENOENT" && flag === "r+") { + flag = "w+"; + return fs6.open(opt.file, flag, onopen); + } + if (er) { + return reject(er); + } + fs6.fstat(fd, (er2, st) => { + if (er2) { + return fs6.close(fd, () => reject(er2)); + } + getPos(fd, st.size, (er3, position) => { + if (er3) { + return reject(er3); + } + const stream = new fsm.WriteStream(opt.file, { + fd, + start: position + }); + p.pipe(stream); + stream.on("error", reject); + stream.on("close", resolve); + addFilesAsync(p, files); + }); + }); + }; + fs6.open(opt.file, flag, onopen); + }); + return cb ? promise.then(cb, cb) : promise; + }; + var addFilesSync = (p, files) => { + files.forEach((file) => { + if (file.charAt(0) === "@") { + t({ + file: path9.resolve(p.cwd, file.slice(1)), + sync: true, + noResume: true, + onentry: (entry) => p.add(entry) + }); + } else { + p.add(file); + } + }); + p.end(); + }; + var addFilesAsync = (p, files) => { + while (files.length) { + const file = files.shift(); + if (file.charAt(0) === "@") { + return t({ + file: path9.resolve(p.cwd, file.slice(1)), + noResume: true, + onentry: (entry) => p.add(entry) + }).then((_) => addFilesAsync(p, files)); + } else { + p.add(file); + } + } + p.end(); + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/update.js +var require_update = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/update.js"(exports, module2) { + "use strict"; + var hlo = require_high_level_opt(); + var r = require_replace(); + module2.exports = (opt_, files, cb) => { + const opt = hlo(opt_); + if (!opt.file) { + throw new TypeError("file is required"); + } + if (opt.gzip) { + throw new TypeError("cannot append to compressed archives"); + } + if (!files || !Array.isArray(files) || !files.length) { + throw new TypeError("no files or directories specified"); + } + files = Array.from(files); + mtimeFilter(opt); + return r(opt, files, cb); + }; + var mtimeFilter = (opt) => { + const filter = opt.filter; + if (!opt.mtimeCache) { + opt.mtimeCache = /* @__PURE__ */ new Map(); + } + opt.filter = filter ? (path9, stat) => filter(path9, stat) && !(opt.mtimeCache.get(path9) > stat.mtime) : (path9, stat) => !(opt.mtimeCache.get(path9) > stat.mtime); + }; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/opts-arg.js +var require_opts_arg = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/opts-arg.js"(exports, module2) { + var { promisify } = require("util"); + var fs6 = require("fs"); + var optsArg = (opts) => { + if (!opts) + opts = { mode: 511, fs: fs6 }; + else if (typeof opts === "object") + opts = { mode: 511, fs: fs6, ...opts }; + else if (typeof opts === "number") + opts = { mode: opts, fs: fs6 }; + else if (typeof opts === "string") + opts = { mode: parseInt(opts, 8), fs: fs6 }; + else + throw new TypeError("invalid options argument"); + opts.mkdir = opts.mkdir || opts.fs.mkdir || fs6.mkdir; + opts.mkdirAsync = promisify(opts.mkdir); + opts.stat = opts.stat || opts.fs.stat || fs6.stat; + opts.statAsync = promisify(opts.stat); + opts.statSync = opts.statSync || opts.fs.statSync || fs6.statSync; + opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs6.mkdirSync; + return opts; + }; + module2.exports = optsArg; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/path-arg.js +var require_path_arg = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/path-arg.js"(exports, module2) { + var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform; + var { resolve, parse } = require("path"); + var pathArg = (path9) => { + if (/\0/.test(path9)) { + throw Object.assign( + new TypeError("path must be a string without null bytes"), + { + path: path9, + code: "ERR_INVALID_ARG_VALUE" + } + ); + } + path9 = resolve(path9); + if (platform === "win32") { + const badWinChars = /[*|"<>?:]/; + const { root } = parse(path9); + if (badWinChars.test(path9.substr(root.length))) { + throw Object.assign(new Error("Illegal characters in path."), { + path: path9, + code: "EINVAL" + }); + } + } + return path9; + }; + module2.exports = pathArg; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/find-made.js +var require_find_made = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/find-made.js"(exports, module2) { + var { dirname } = require("path"); + var findMade = (opts, parent, path9 = void 0) => { + if (path9 === parent) + return Promise.resolve(); + return opts.statAsync(parent).then( + (st) => st.isDirectory() ? path9 : void 0, + // will fail later + (er) => er.code === "ENOENT" ? findMade(opts, dirname(parent), parent) : void 0 + ); + }; + var findMadeSync = (opts, parent, path9 = void 0) => { + if (path9 === parent) + return void 0; + try { + return opts.statSync(parent).isDirectory() ? path9 : void 0; + } catch (er) { + return er.code === "ENOENT" ? findMadeSync(opts, dirname(parent), parent) : void 0; + } + }; + module2.exports = { findMade, findMadeSync }; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-manual.js +var require_mkdirp_manual = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-manual.js"(exports, module2) { + var { dirname } = require("path"); + var mkdirpManual = (path9, opts, made) => { + opts.recursive = false; + const parent = dirname(path9); + if (parent === path9) { + return opts.mkdirAsync(path9, opts).catch((er) => { + if (er.code !== "EISDIR") + throw er; + }); + } + return opts.mkdirAsync(path9, opts).then(() => made || path9, (er) => { + if (er.code === "ENOENT") + return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path9, opts, made2)); + if (er.code !== "EEXIST" && er.code !== "EROFS") + throw er; + return opts.statAsync(path9).then((st) => { + if (st.isDirectory()) + return made; + else + throw er; + }, () => { + throw er; + }); + }); + }; + var mkdirpManualSync = (path9, opts, made) => { + const parent = dirname(path9); + opts.recursive = false; + if (parent === path9) { + try { + return opts.mkdirSync(path9, opts); + } catch (er) { + if (er.code !== "EISDIR") + throw er; + else + return; + } + } + try { + opts.mkdirSync(path9, opts); + return made || path9; + } catch (er) { + if (er.code === "ENOENT") + return mkdirpManualSync(path9, opts, mkdirpManualSync(parent, opts, made)); + if (er.code !== "EEXIST" && er.code !== "EROFS") + throw er; + try { + if (!opts.statSync(path9).isDirectory()) + throw er; + } catch (_) { + throw er; + } + } + }; + module2.exports = { mkdirpManual, mkdirpManualSync }; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-native.js +var require_mkdirp_native = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/mkdirp-native.js"(exports, module2) { + var { dirname } = require("path"); + var { findMade, findMadeSync } = require_find_made(); + var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual(); + var mkdirpNative = (path9, opts) => { + opts.recursive = true; + const parent = dirname(path9); + if (parent === path9) + return opts.mkdirAsync(path9, opts); + return findMade(opts, path9).then((made) => opts.mkdirAsync(path9, opts).then(() => made).catch((er) => { + if (er.code === "ENOENT") + return mkdirpManual(path9, opts); + else + throw er; + })); + }; + var mkdirpNativeSync = (path9, opts) => { + opts.recursive = true; + const parent = dirname(path9); + if (parent === path9) + return opts.mkdirSync(path9, opts); + const made = findMadeSync(opts, path9); + try { + opts.mkdirSync(path9, opts); + return made; + } catch (er) { + if (er.code === "ENOENT") + return mkdirpManualSync(path9, opts); + else + throw er; + } + }; + module2.exports = { mkdirpNative, mkdirpNativeSync }; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/use-native.js +var require_use_native = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/lib/use-native.js"(exports, module2) { + var fs6 = require("fs"); + var version2 = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version; + var versArr = version2.replace(/^v/, "").split("."); + var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12; + var useNative = !hasNative ? () => false : (opts) => opts.mkdir === fs6.mkdir; + var useNativeSync = !hasNative ? () => false : (opts) => opts.mkdirSync === fs6.mkdirSync; + module2.exports = { useNative, useNativeSync }; + } +}); + +// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/index.js +var require_mkdirp = __commonJS({ + ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-1233611198.zip/node_modules/mkdirp/index.js"(exports, module2) { + var optsArg = require_opts_arg(); + var pathArg = require_path_arg(); + var { mkdirpNative, mkdirpNativeSync } = require_mkdirp_native(); + var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual(); + var { useNative, useNativeSync } = require_use_native(); + var mkdirp = (path9, opts) => { + path9 = pathArg(path9); + opts = optsArg(opts); + return useNative(opts) ? mkdirpNative(path9, opts) : mkdirpManual(path9, opts); + }; + var mkdirpSync = (path9, opts) => { + path9 = pathArg(path9); + opts = optsArg(opts); + return useNativeSync(opts) ? mkdirpNativeSync(path9, opts) : mkdirpManualSync(path9, opts); + }; + mkdirp.sync = mkdirpSync; + mkdirp.native = (path9, opts) => mkdirpNative(pathArg(path9), optsArg(opts)); + mkdirp.manual = (path9, opts) => mkdirpManual(pathArg(path9), optsArg(opts)); + mkdirp.nativeSync = (path9, opts) => mkdirpNativeSync(pathArg(path9), optsArg(opts)); + mkdirp.manualSync = (path9, opts) => mkdirpManualSync(pathArg(path9), optsArg(opts)); + module2.exports = mkdirp; + } +}); + +// .yarn/cache/chownr-npm-2.0.0-638f1c9c61-7b240ff920.zip/node_modules/chownr/chownr.js +var require_chownr = __commonJS({ + ".yarn/cache/chownr-npm-2.0.0-638f1c9c61-7b240ff920.zip/node_modules/chownr/chownr.js"(exports, module2) { + "use strict"; + var fs6 = require("fs"); + var path9 = require("path"); + var LCHOWN = fs6.lchown ? "lchown" : "chown"; + var LCHOWNSYNC = fs6.lchownSync ? "lchownSync" : "chownSync"; + var needEISDIRHandled = fs6.lchown && !process.version.match(/v1[1-9]+\./) && !process.version.match(/v10\.[6-9]/); + var lchownSync = (path10, uid, gid) => { + try { + return fs6[LCHOWNSYNC](path10, uid, gid); + } catch (er) { + if (er.code !== "ENOENT") + throw er; + } + }; + var chownSync = (path10, uid, gid) => { + try { + return fs6.chownSync(path10, uid, gid); + } catch (er) { + if (er.code !== "ENOENT") + throw er; + } + }; + var handleEISDIR = needEISDIRHandled ? (path10, uid, gid, cb) => (er) => { + if (!er || er.code !== "EISDIR") + cb(er); + else + fs6.chown(path10, uid, gid, cb); + } : (_, __, ___, cb) => cb; + var handleEISDirSync = needEISDIRHandled ? (path10, uid, gid) => { + try { + return lchownSync(path10, uid, gid); + } catch (er) { + if (er.code !== "EISDIR") + throw er; + chownSync(path10, uid, gid); + } + } : (path10, uid, gid) => lchownSync(path10, uid, gid); + var nodeVersion = process.version; + var readdir = (path10, options, cb) => fs6.readdir(path10, options, cb); + var readdirSync = (path10, options) => fs6.readdirSync(path10, options); + if (/^v4\./.test(nodeVersion)) + readdir = (path10, options, cb) => fs6.readdir(path10, cb); + var chown = (cpath, uid, gid, cb) => { + fs6[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, (er) => { + cb(er && er.code !== "ENOENT" ? er : null); + })); + }; + var chownrKid = (p, child, uid, gid, cb) => { + if (typeof child === "string") + return fs6.lstat(path9.resolve(p, child), (er, stats) => { + if (er) + return cb(er.code !== "ENOENT" ? er : null); + stats.name = child; + chownrKid(p, stats, uid, gid, cb); + }); + if (child.isDirectory()) { + chownr(path9.resolve(p, child.name), uid, gid, (er) => { + if (er) + return cb(er); + const cpath = path9.resolve(p, child.name); + chown(cpath, uid, gid, cb); + }); + } else { + const cpath = path9.resolve(p, child.name); + chown(cpath, uid, gid, cb); + } + }; + var chownr = (p, uid, gid, cb) => { + readdir(p, { withFileTypes: true }, (er, children) => { + if (er) { + if (er.code === "ENOENT") + return cb(); + else if (er.code !== "ENOTDIR" && er.code !== "ENOTSUP") + return cb(er); + } + if (er || !children.length) + return chown(p, uid, gid, cb); + let len = children.length; + let errState = null; + const then = (er2) => { + if (errState) + return; + if (er2) + return cb(errState = er2); + if (--len === 0) + return chown(p, uid, gid, cb); + }; + children.forEach((child) => chownrKid(p, child, uid, gid, then)); + }); + }; + var chownrKidSync = (p, child, uid, gid) => { + if (typeof child === "string") { + try { + const stats = fs6.lstatSync(path9.resolve(p, child)); + stats.name = child; + child = stats; + } catch (er) { + if (er.code === "ENOENT") + return; + else + throw er; + } + } + if (child.isDirectory()) + chownrSync(path9.resolve(p, child.name), uid, gid); + handleEISDirSync(path9.resolve(p, child.name), uid, gid); + }; + var chownrSync = (p, uid, gid) => { + let children; + try { + children = readdirSync(p, { withFileTypes: true }); + } catch (er) { + if (er.code === "ENOENT") + return; + else if (er.code === "ENOTDIR" || er.code === "ENOTSUP") + return handleEISDirSync(p, uid, gid); + else + throw er; + } + if (children && children.length) + children.forEach((child) => chownrKidSync(p, child, uid, gid)); + return handleEISDirSync(p, uid, gid); + }; + module2.exports = chownr; + chownr.sync = chownrSync; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/mkdir.js +var require_mkdir = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/mkdir.js"(exports, module2) { + "use strict"; + var mkdirp = require_mkdirp(); + var fs6 = require("fs"); + var path9 = require("path"); + var chownr = require_chownr(); + var normPath = require_normalize_windows_path(); + var SymlinkError = class extends Error { + constructor(symlink, path10) { + super("Cannot extract through symbolic link"); + this.path = path10; + this.symlink = symlink; + } + get name() { + return "SylinkError"; + } + }; + var CwdError = class extends Error { + constructor(path10, code) { + super(code + ": Cannot cd into '" + path10 + "'"); + this.path = path10; + this.code = code; + } + get name() { + return "CwdError"; + } + }; + var cGet = (cache, key) => cache.get(normPath(key)); + var cSet = (cache, key, val) => cache.set(normPath(key), val); + var checkCwd = (dir, cb) => { + fs6.stat(dir, (er, st) => { + if (er || !st.isDirectory()) { + er = new CwdError(dir, er && er.code || "ENOTDIR"); + } + cb(er); + }); + }; + module2.exports = (dir, opt, cb) => { + dir = normPath(dir); + const umask = opt.umask; + const mode = opt.mode | 448; + const needChmod = (mode & umask) !== 0; + const uid = opt.uid; + const gid = opt.gid; + const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid); + const preserve = opt.preserve; + const unlink = opt.unlink; + const cache = opt.cache; + const cwd = normPath(opt.cwd); + const done = (er, created) => { + if (er) { + cb(er); + } else { + cSet(cache, dir, true); + if (created && doChown) { + chownr(created, uid, gid, (er2) => done(er2)); + } else if (needChmod) { + fs6.chmod(dir, mode, cb); + } else { + cb(); + } + } + }; + if (cache && cGet(cache, dir) === true) { + return done(); + } + if (dir === cwd) { + return checkCwd(dir, done); + } + if (preserve) { + return mkdirp(dir, { mode }).then((made) => done(null, made), done); + } + const sub = normPath(path9.relative(cwd, dir)); + const parts = sub.split("/"); + mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done); + }; + var mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => { + if (!parts.length) { + return cb(null, created); + } + const p = parts.shift(); + const part = normPath(path9.resolve(base + "/" + p)); + if (cGet(cache, part)) { + return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb); + } + fs6.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)); + }; + var onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => (er) => { + if (er) { + fs6.lstat(part, (statEr, st) => { + if (statEr) { + statEr.path = statEr.path && normPath(statEr.path); + cb(statEr); + } else if (st.isDirectory()) { + mkdir_(part, parts, mode, cache, unlink, cwd, created, cb); + } else if (unlink) { + fs6.unlink(part, (er2) => { + if (er2) { + return cb(er2); + } + fs6.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)); + }); + } else if (st.isSymbolicLink()) { + return cb(new SymlinkError(part, part + "/" + parts.join("/"))); + } else { + cb(er); + } + }); + } else { + created = created || part; + mkdir_(part, parts, mode, cache, unlink, cwd, created, cb); + } + }; + var checkCwdSync = (dir) => { + let ok = false; + let code = "ENOTDIR"; + try { + ok = fs6.statSync(dir).isDirectory(); + } catch (er) { + code = er.code; + } finally { + if (!ok) { + throw new CwdError(dir, code); + } + } + }; + module2.exports.sync = (dir, opt) => { + dir = normPath(dir); + const umask = opt.umask; + const mode = opt.mode | 448; + const needChmod = (mode & umask) !== 0; + const uid = opt.uid; + const gid = opt.gid; + const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid); + const preserve = opt.preserve; + const unlink = opt.unlink; + const cache = opt.cache; + const cwd = normPath(opt.cwd); + const done = (created2) => { + cSet(cache, dir, true); + if (created2 && doChown) { + chownr.sync(created2, uid, gid); + } + if (needChmod) { + fs6.chmodSync(dir, mode); + } + }; + if (cache && cGet(cache, dir) === true) { + return done(); + } + if (dir === cwd) { + checkCwdSync(cwd); + return done(); + } + if (preserve) { + return done(mkdirp.sync(dir, mode)); + } + const sub = normPath(path9.relative(cwd, dir)); + const parts = sub.split("/"); + let created = null; + for (let p = parts.shift(), part = cwd; p && (part += "/" + p); p = parts.shift()) { + part = normPath(path9.resolve(part)); + if (cGet(cache, part)) { + continue; + } + try { + fs6.mkdirSync(part, mode); + created = created || part; + cSet(cache, part, true); + } catch (er) { + const st = fs6.lstatSync(part); + if (st.isDirectory()) { + cSet(cache, part, true); + continue; + } else if (unlink) { + fs6.unlinkSync(part); + fs6.mkdirSync(part, mode); + created = created || part; + cSet(cache, part, true); + continue; + } else if (st.isSymbolicLink()) { + return new SymlinkError(part, part + "/" + parts.join("/")); + } + } + } + return done(created); + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/normalize-unicode.js +var require_normalize_unicode = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/normalize-unicode.js"(exports, module2) { + var normalizeCache = /* @__PURE__ */ Object.create(null); + var { hasOwnProperty } = Object.prototype; + module2.exports = (s) => { + if (!hasOwnProperty.call(normalizeCache, s)) { + normalizeCache[s] = s.normalize("NFD"); + } + return normalizeCache[s]; + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/path-reservations.js +var require_path_reservations = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/path-reservations.js"(exports, module2) { + var assert2 = require("assert"); + var normalize = require_normalize_unicode(); + var stripSlashes = require_strip_trailing_slashes(); + var { join: join2 } = require("path"); + var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; + var isWindows = platform === "win32"; + module2.exports = () => { + const queues = /* @__PURE__ */ new Map(); + const reservations = /* @__PURE__ */ new Map(); + const getDirs = (path9) => { + const dirs = path9.split("/").slice(0, -1).reduce((set, path10) => { + if (set.length) { + path10 = join2(set[set.length - 1], path10); + } + set.push(path10 || "/"); + return set; + }, []); + return dirs; + }; + const running = /* @__PURE__ */ new Set(); + const getQueues = (fn2) => { + const res = reservations.get(fn2); + if (!res) { + throw new Error("function does not have any path reservations"); + } + return { + paths: res.paths.map((path9) => queues.get(path9)), + dirs: [...res.dirs].map((path9) => queues.get(path9)) + }; + }; + const check = (fn2) => { + const { paths, dirs } = getQueues(fn2); + return paths.every((q) => q[0] === fn2) && dirs.every((q) => q[0] instanceof Set && q[0].has(fn2)); + }; + const run2 = (fn2) => { + if (running.has(fn2) || !check(fn2)) { + return false; + } + running.add(fn2); + fn2(() => clear(fn2)); + return true; + }; + const clear = (fn2) => { + if (!running.has(fn2)) { + return false; + } + const { paths, dirs } = reservations.get(fn2); + const next = /* @__PURE__ */ new Set(); + paths.forEach((path9) => { + const q = queues.get(path9); + assert2.equal(q[0], fn2); + if (q.length === 1) { + queues.delete(path9); + } else { + q.shift(); + if (typeof q[0] === "function") { + next.add(q[0]); + } else { + q[0].forEach((fn3) => next.add(fn3)); + } + } + }); + dirs.forEach((dir) => { + const q = queues.get(dir); + assert2(q[0] instanceof Set); + if (q[0].size === 1 && q.length === 1) { + queues.delete(dir); + } else if (q[0].size === 1) { + q.shift(); + next.add(q[0]); + } else { + q[0].delete(fn2); + } + }); + running.delete(fn2); + next.forEach((fn3) => run2(fn3)); + return true; + }; + const reserve = (paths, fn2) => { + paths = isWindows ? ["win32 parallelization disabled"] : paths.map((p) => { + return stripSlashes(join2(normalize(p))).toLowerCase(); + }); + const dirs = new Set( + paths.map((path9) => getDirs(path9)).reduce((a, b) => a.concat(b)) + ); + reservations.set(fn2, { dirs, paths }); + paths.forEach((path9) => { + const q = queues.get(path9); + if (!q) { + queues.set(path9, [fn2]); + } else { + q.push(fn2); + } + }); + dirs.forEach((dir) => { + const q = queues.get(dir); + if (!q) { + queues.set(dir, [/* @__PURE__ */ new Set([fn2])]); + } else if (q[q.length - 1] instanceof Set) { + q[q.length - 1].add(fn2); + } else { + q.push(/* @__PURE__ */ new Set([fn2])); + } + }); + return run2(fn2); + }; + return { check, reserve }; + }; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/get-write-flag.js +var require_get_write_flag = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/get-write-flag.js"(exports, module2) { + var platform = process.env.__FAKE_PLATFORM__ || process.platform; + var isWindows = platform === "win32"; + var fs6 = global.__FAKE_TESTING_FS__ || require("fs"); + var { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs6.constants; + var fMapEnabled = isWindows && !!UV_FS_O_FILEMAP; + var fMapLimit = 512 * 1024; + var fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY; + module2.exports = !fMapEnabled ? () => "w" : (size) => size < fMapLimit ? fMapFlag : "w"; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/unpack.js +var require_unpack = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/unpack.js"(exports, module2) { + "use strict"; + var assert2 = require("assert"); + var Parser = require_parse2(); + var fs6 = require("fs"); + var fsm = require_fs_minipass(); + var path9 = require("path"); + var mkdir3 = require_mkdir(); + var wc = require_winchars(); + var pathReservations = require_path_reservations(); + var stripAbsolutePath = require_strip_absolute_path(); + var normPath = require_normalize_windows_path(); + var stripSlash = require_strip_trailing_slashes(); + var normalize = require_normalize_unicode(); + var ONENTRY = Symbol("onEntry"); + var CHECKFS = Symbol("checkFs"); + var CHECKFS2 = Symbol("checkFs2"); + var PRUNECACHE = Symbol("pruneCache"); + var ISREUSABLE = Symbol("isReusable"); + var MAKEFS = Symbol("makeFs"); + var FILE = Symbol("file"); + var DIRECTORY = Symbol("directory"); + var LINK = Symbol("link"); + var SYMLINK = Symbol("symlink"); + var HARDLINK = Symbol("hardlink"); + var UNSUPPORTED = Symbol("unsupported"); + var CHECKPATH = Symbol("checkPath"); + var MKDIR = Symbol("mkdir"); + var ONERROR = Symbol("onError"); + var PENDING = Symbol("pending"); + var PEND = Symbol("pend"); + var UNPEND = Symbol("unpend"); + var ENDED = Symbol("ended"); + var MAYBECLOSE = Symbol("maybeClose"); + var SKIP = Symbol("skip"); + var DOCHOWN = Symbol("doChown"); + var UID = Symbol("uid"); + var GID = Symbol("gid"); + var CHECKED_CWD = Symbol("checkedCwd"); + var crypto = require("crypto"); + var getFlag = require_get_write_flag(); + var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform; + var isWindows = platform === "win32"; + var unlinkFile = (path10, cb) => { + if (!isWindows) { + return fs6.unlink(path10, cb); + } + const name = path10 + ".DELETE." + crypto.randomBytes(16).toString("hex"); + fs6.rename(path10, name, (er) => { + if (er) { + return cb(er); + } + fs6.unlink(name, cb); + }); + }; + var unlinkFileSync = (path10) => { + if (!isWindows) { + return fs6.unlinkSync(path10); + } + const name = path10 + ".DELETE." + crypto.randomBytes(16).toString("hex"); + fs6.renameSync(path10, name); + fs6.unlinkSync(name); + }; + var uint32 = (a, b, c) => a === a >>> 0 ? a : b === b >>> 0 ? b : c; + var cacheKeyNormalize = (path10) => stripSlash(normPath(normalize(path10))).toLowerCase(); + var pruneCache = (cache, abs) => { + abs = cacheKeyNormalize(abs); + for (const path10 of cache.keys()) { + const pnorm = cacheKeyNormalize(path10); + if (pnorm === abs || pnorm.indexOf(abs + "/") === 0) { + cache.delete(path10); + } + } + }; + var dropCache = (cache) => { + for (const key of cache.keys()) { + cache.delete(key); + } + }; + var Unpack = class extends Parser { + constructor(opt) { + if (!opt) { + opt = {}; + } + opt.ondone = (_) => { + this[ENDED] = true; + this[MAYBECLOSE](); + }; + super(opt); + this[CHECKED_CWD] = false; + this.reservations = pathReservations(); + this.transform = typeof opt.transform === "function" ? opt.transform : null; + this.writable = true; + this.readable = false; + this[PENDING] = 0; + this[ENDED] = false; + this.dirCache = opt.dirCache || /* @__PURE__ */ new Map(); + if (typeof opt.uid === "number" || typeof opt.gid === "number") { + if (typeof opt.uid !== "number" || typeof opt.gid !== "number") { + throw new TypeError("cannot set owner without number uid and gid"); + } + if (opt.preserveOwner) { + throw new TypeError( + "cannot preserve owner in archive and also set owner explicitly" + ); + } + this.uid = opt.uid; + this.gid = opt.gid; + this.setOwner = true; + } else { + this.uid = null; + this.gid = null; + this.setOwner = false; + } + if (opt.preserveOwner === void 0 && typeof opt.uid !== "number") { + this.preserveOwner = process.getuid && process.getuid() === 0; + } else { + this.preserveOwner = !!opt.preserveOwner; + } + this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null; + this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null; + this.forceChown = opt.forceChown === true; + this.win32 = !!opt.win32 || isWindows; + this.newer = !!opt.newer; + this.keep = !!opt.keep; + this.noMtime = !!opt.noMtime; + this.preservePaths = !!opt.preservePaths; + this.unlink = !!opt.unlink; + this.cwd = normPath(path9.resolve(opt.cwd || process.cwd())); + this.strip = +opt.strip || 0; + this.processUmask = opt.noChmod ? 0 : process.umask(); + this.umask = typeof opt.umask === "number" ? opt.umask : this.processUmask; + this.dmode = opt.dmode || 511 & ~this.umask; + this.fmode = opt.fmode || 438 & ~this.umask; + this.on("entry", (entry) => this[ONENTRY](entry)); + } + // a bad or damaged archive is a warning for Parser, but an error + // when extracting. Mark those errors as unrecoverable, because + // the Unpack contract cannot be met. + warn(code, msg, data = {}) { + if (code === "TAR_BAD_ARCHIVE" || code === "TAR_ABORT") { + data.recoverable = false; + } + return super.warn(code, msg, data); + } + [MAYBECLOSE]() { + if (this[ENDED] && this[PENDING] === 0) { + this.emit("prefinish"); + this.emit("finish"); + this.emit("end"); + } + } + [CHECKPATH](entry) { + if (this.strip) { + const parts = normPath(entry.path).split("/"); + if (parts.length < this.strip) { + return false; + } + entry.path = parts.slice(this.strip).join("/"); + if (entry.type === "Link") { + const linkparts = normPath(entry.linkpath).split("/"); + if (linkparts.length >= this.strip) { + entry.linkpath = linkparts.slice(this.strip).join("/"); + } else { + return false; + } + } + } + if (!this.preservePaths) { + const p = normPath(entry.path); + const parts = p.split("/"); + if (parts.includes("..") || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) { + this.warn("TAR_ENTRY_ERROR", `path contains '..'`, { + entry, + path: p + }); + return false; + } + const [root, stripped] = stripAbsolutePath(p); + if (root) { + entry.path = stripped; + this.warn("TAR_ENTRY_INFO", `stripping ${root} from absolute path`, { + entry, + path: p + }); + } + } + if (path9.isAbsolute(entry.path)) { + entry.absolute = normPath(path9.resolve(entry.path)); + } else { + entry.absolute = normPath(path9.resolve(this.cwd, entry.path)); + } + if (!this.preservePaths && entry.absolute.indexOf(this.cwd + "/") !== 0 && entry.absolute !== this.cwd) { + this.warn("TAR_ENTRY_ERROR", "path escaped extraction target", { + entry, + path: normPath(entry.path), + resolvedPath: entry.absolute, + cwd: this.cwd + }); + return false; + } + if (entry.absolute === this.cwd && entry.type !== "Directory" && entry.type !== "GNUDumpDir") { + return false; + } + if (this.win32) { + const { root: aRoot } = path9.win32.parse(entry.absolute); + entry.absolute = aRoot + wc.encode(entry.absolute.slice(aRoot.length)); + const { root: pRoot } = path9.win32.parse(entry.path); + entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length)); + } + return true; + } + [ONENTRY](entry) { + if (!this[CHECKPATH](entry)) { + return entry.resume(); + } + assert2.equal(typeof entry.absolute, "string"); + switch (entry.type) { + case "Directory": + case "GNUDumpDir": + if (entry.mode) { + entry.mode = entry.mode | 448; + } + case "File": + case "OldFile": + case "ContiguousFile": + case "Link": + case "SymbolicLink": + return this[CHECKFS](entry); + case "CharacterDevice": + case "BlockDevice": + case "FIFO": + default: + return this[UNSUPPORTED](entry); + } + } + [ONERROR](er, entry) { + if (er.name === "CwdError") { + this.emit("error", er); + } else { + this.warn("TAR_ENTRY_ERROR", er, { entry }); + this[UNPEND](); + entry.resume(); + } + } + [MKDIR](dir, mode, cb) { + mkdir3(normPath(dir), { + uid: this.uid, + gid: this.gid, + processUid: this.processUid, + processGid: this.processGid, + umask: this.processUmask, + preserve: this.preservePaths, + unlink: this.unlink, + cache: this.dirCache, + cwd: this.cwd, + mode, + noChmod: this.noChmod + }, cb); + } + [DOCHOWN](entry) { + return this.forceChown || this.preserveOwner && (typeof entry.uid === "number" && entry.uid !== this.processUid || typeof entry.gid === "number" && entry.gid !== this.processGid) || (typeof this.uid === "number" && this.uid !== this.processUid || typeof this.gid === "number" && this.gid !== this.processGid); + } + [UID](entry) { + return uint32(this.uid, entry.uid, this.processUid); + } + [GID](entry) { + return uint32(this.gid, entry.gid, this.processGid); + } + [FILE](entry, fullyDone) { + const mode = entry.mode & 4095 || this.fmode; + const stream = new fsm.WriteStream(entry.absolute, { + flags: getFlag(entry.size), + mode, + autoClose: false + }); + stream.on("error", (er) => { + if (stream.fd) { + fs6.close(stream.fd, () => { + }); + } + stream.write = () => true; + this[ONERROR](er, entry); + fullyDone(); + }); + let actions = 1; + const done = (er) => { + if (er) { + if (stream.fd) { + fs6.close(stream.fd, () => { + }); + } + this[ONERROR](er, entry); + fullyDone(); + return; + } + if (--actions === 0) { + fs6.close(stream.fd, (er2) => { + if (er2) { + this[ONERROR](er2, entry); + } else { + this[UNPEND](); + } + fullyDone(); + }); + } + }; + stream.on("finish", (_) => { + const abs = entry.absolute; + const fd = stream.fd; + if (entry.mtime && !this.noMtime) { + actions++; + const atime = entry.atime || /* @__PURE__ */ new Date(); + const mtime = entry.mtime; + fs6.futimes(fd, atime, mtime, (er) => er ? fs6.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done()); + } + if (this[DOCHOWN](entry)) { + actions++; + const uid = this[UID](entry); + const gid = this[GID](entry); + fs6.fchown(fd, uid, gid, (er) => er ? fs6.chown(abs, uid, gid, (er2) => done(er2 && er)) : done()); + } + done(); + }); + const tx = this.transform ? this.transform(entry) || entry : entry; + if (tx !== entry) { + tx.on("error", (er) => { + this[ONERROR](er, entry); + fullyDone(); + }); + entry.pipe(tx); + } + tx.pipe(stream); + } + [DIRECTORY](entry, fullyDone) { + const mode = entry.mode & 4095 || this.dmode; + this[MKDIR](entry.absolute, mode, (er) => { + if (er) { + this[ONERROR](er, entry); + fullyDone(); + return; + } + let actions = 1; + const done = (_) => { + if (--actions === 0) { + fullyDone(); + this[UNPEND](); + entry.resume(); + } + }; + if (entry.mtime && !this.noMtime) { + actions++; + fs6.utimes(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done); + } + if (this[DOCHOWN](entry)) { + actions++; + fs6.chown(entry.absolute, this[UID](entry), this[GID](entry), done); + } + done(); + }); + } + [UNSUPPORTED](entry) { + entry.unsupported = true; + this.warn( + "TAR_ENTRY_UNSUPPORTED", + `unsupported entry type: ${entry.type}`, + { entry } + ); + entry.resume(); + } + [SYMLINK](entry, done) { + this[LINK](entry, entry.linkpath, "symlink", done); + } + [HARDLINK](entry, done) { + const linkpath = normPath(path9.resolve(this.cwd, entry.linkpath)); + this[LINK](entry, linkpath, "link", done); + } + [PEND]() { + this[PENDING]++; + } + [UNPEND]() { + this[PENDING]--; + this[MAYBECLOSE](); + } + [SKIP](entry) { + this[UNPEND](); + entry.resume(); + } + // Check if we can reuse an existing filesystem entry safely and + // overwrite it, rather than unlinking and recreating + // Windows doesn't report a useful nlink, so we just never reuse entries + [ISREUSABLE](entry, st) { + return entry.type === "File" && !this.unlink && st.isFile() && st.nlink <= 1 && !isWindows; + } + // check if a thing is there, and if so, try to clobber it + [CHECKFS](entry) { + this[PEND](); + const paths = [entry.path]; + if (entry.linkpath) { + paths.push(entry.linkpath); + } + this.reservations.reserve(paths, (done) => this[CHECKFS2](entry, done)); + } + [PRUNECACHE](entry) { + if (entry.type === "SymbolicLink") { + dropCache(this.dirCache); + } else if (entry.type !== "Directory") { + pruneCache(this.dirCache, entry.absolute); + } + } + [CHECKFS2](entry, fullyDone) { + this[PRUNECACHE](entry); + const done = (er) => { + this[PRUNECACHE](entry); + fullyDone(er); + }; + const checkCwd = () => { + this[MKDIR](this.cwd, this.dmode, (er) => { + if (er) { + this[ONERROR](er, entry); + done(); + return; + } + this[CHECKED_CWD] = true; + start(); + }); + }; + const start = () => { + if (entry.absolute !== this.cwd) { + const parent = normPath(path9.dirname(entry.absolute)); + if (parent !== this.cwd) { + return this[MKDIR](parent, this.dmode, (er) => { + if (er) { + this[ONERROR](er, entry); + done(); + return; + } + afterMakeParent(); + }); + } + } + afterMakeParent(); + }; + const afterMakeParent = () => { + fs6.lstat(entry.absolute, (lstatEr, st) => { + if (st && (this.keep || this.newer && st.mtime > entry.mtime)) { + this[SKIP](entry); + done(); + return; + } + if (lstatEr || this[ISREUSABLE](entry, st)) { + return this[MAKEFS](null, entry, done); + } + if (st.isDirectory()) { + if (entry.type === "Directory") { + const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode; + const afterChmod = (er) => this[MAKEFS](er, entry, done); + if (!needChmod) { + return afterChmod(); + } + return fs6.chmod(entry.absolute, entry.mode, afterChmod); + } + if (entry.absolute !== this.cwd) { + return fs6.rmdir(entry.absolute, (er) => this[MAKEFS](er, entry, done)); + } + } + if (entry.absolute === this.cwd) { + return this[MAKEFS](null, entry, done); + } + unlinkFile(entry.absolute, (er) => this[MAKEFS](er, entry, done)); + }); + }; + if (this[CHECKED_CWD]) { + start(); + } else { + checkCwd(); + } + } + [MAKEFS](er, entry, done) { + if (er) { + this[ONERROR](er, entry); + done(); + return; + } + switch (entry.type) { + case "File": + case "OldFile": + case "ContiguousFile": + return this[FILE](entry, done); + case "Link": + return this[HARDLINK](entry, done); + case "SymbolicLink": + return this[SYMLINK](entry, done); + case "Directory": + case "GNUDumpDir": + return this[DIRECTORY](entry, done); + } + } + [LINK](entry, linkpath, link, done) { + fs6[link](linkpath, entry.absolute, (er) => { + if (er) { + this[ONERROR](er, entry); + } else { + this[UNPEND](); + entry.resume(); + } + done(); + }); + } + }; + var callSync = (fn2) => { + try { + return [null, fn2()]; + } catch (er) { + return [er, null]; + } + }; + var UnpackSync = class extends Unpack { + [MAKEFS](er, entry) { + return super[MAKEFS](er, entry, () => { + }); + } + [CHECKFS](entry) { + this[PRUNECACHE](entry); + if (!this[CHECKED_CWD]) { + const er2 = this[MKDIR](this.cwd, this.dmode); + if (er2) { + return this[ONERROR](er2, entry); + } + this[CHECKED_CWD] = true; + } + if (entry.absolute !== this.cwd) { + const parent = normPath(path9.dirname(entry.absolute)); + if (parent !== this.cwd) { + const mkParent = this[MKDIR](parent, this.dmode); + if (mkParent) { + return this[ONERROR](mkParent, entry); + } + } + } + const [lstatEr, st] = callSync(() => fs6.lstatSync(entry.absolute)); + if (st && (this.keep || this.newer && st.mtime > entry.mtime)) { + return this[SKIP](entry); + } + if (lstatEr || this[ISREUSABLE](entry, st)) { + return this[MAKEFS](null, entry); + } + if (st.isDirectory()) { + if (entry.type === "Directory") { + const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode; + const [er3] = needChmod ? callSync(() => { + fs6.chmodSync(entry.absolute, entry.mode); + }) : []; + return this[MAKEFS](er3, entry); + } + const [er2] = callSync(() => fs6.rmdirSync(entry.absolute)); + this[MAKEFS](er2, entry); + } + const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute)); + this[MAKEFS](er, entry); + } + [FILE](entry, done) { + const mode = entry.mode & 4095 || this.fmode; + const oner = (er) => { + let closeError; + try { + fs6.closeSync(fd); + } catch (e) { + closeError = e; + } + if (er || closeError) { + this[ONERROR](er || closeError, entry); + } + done(); + }; + let fd; + try { + fd = fs6.openSync(entry.absolute, getFlag(entry.size), mode); + } catch (er) { + return oner(er); + } + const tx = this.transform ? this.transform(entry) || entry : entry; + if (tx !== entry) { + tx.on("error", (er) => this[ONERROR](er, entry)); + entry.pipe(tx); + } + tx.on("data", (chunk) => { + try { + fs6.writeSync(fd, chunk, 0, chunk.length); + } catch (er) { + oner(er); + } + }); + tx.on("end", (_) => { + let er = null; + if (entry.mtime && !this.noMtime) { + const atime = entry.atime || /* @__PURE__ */ new Date(); + const mtime = entry.mtime; + try { + fs6.futimesSync(fd, atime, mtime); + } catch (futimeser) { + try { + fs6.utimesSync(entry.absolute, atime, mtime); + } catch (utimeser) { + er = futimeser; + } + } + } + if (this[DOCHOWN](entry)) { + const uid = this[UID](entry); + const gid = this[GID](entry); + try { + fs6.fchownSync(fd, uid, gid); + } catch (fchowner) { + try { + fs6.chownSync(entry.absolute, uid, gid); + } catch (chowner) { + er = er || fchowner; + } + } + } + oner(er); + }); + } + [DIRECTORY](entry, done) { + const mode = entry.mode & 4095 || this.dmode; + const er = this[MKDIR](entry.absolute, mode); + if (er) { + this[ONERROR](er, entry); + done(); + return; + } + if (entry.mtime && !this.noMtime) { + try { + fs6.utimesSync(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime); + } catch (er2) { + } + } + if (this[DOCHOWN](entry)) { + try { + fs6.chownSync(entry.absolute, this[UID](entry), this[GID](entry)); + } catch (er2) { + } + } + done(); + entry.resume(); + } + [MKDIR](dir, mode) { + try { + return mkdir3.sync(normPath(dir), { + uid: this.uid, + gid: this.gid, + processUid: this.processUid, + processGid: this.processGid, + umask: this.processUmask, + preserve: this.preservePaths, + unlink: this.unlink, + cache: this.dirCache, + cwd: this.cwd, + mode + }); + } catch (er) { + return er; + } + } + [LINK](entry, linkpath, link, done) { + try { + fs6[link + "Sync"](linkpath, entry.absolute); + done(); + entry.resume(); + } catch (er) { + return this[ONERROR](er, entry); + } + } + }; + Unpack.Sync = UnpackSync; + module2.exports = Unpack; + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/extract.js +var require_extract = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/lib/extract.js"(exports, module2) { + "use strict"; + var hlo = require_high_level_opt(); + var Unpack = require_unpack(); + var fs6 = require("fs"); + var fsm = require_fs_minipass(); + var path9 = require("path"); + var stripSlash = require_strip_trailing_slashes(); + module2.exports = (opt_, files, cb) => { + if (typeof opt_ === "function") { + cb = opt_, files = null, opt_ = {}; + } else if (Array.isArray(opt_)) { + files = opt_, opt_ = {}; + } + if (typeof files === "function") { + cb = files, files = null; + } + if (!files) { + files = []; + } else { + files = Array.from(files); + } + const opt = hlo(opt_); + if (opt.sync && typeof cb === "function") { + throw new TypeError("callback not supported for sync tar functions"); + } + if (!opt.file && typeof cb === "function") { + throw new TypeError("callback only supported with file option"); + } + if (files.length) { + filesFilter(opt, files); + } + return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt); + }; + var filesFilter = (opt, files) => { + const map = new Map(files.map((f) => [stripSlash(f), true])); + const filter = opt.filter; + const mapHas = (file, r) => { + const root = r || path9.parse(file).root || "."; + const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path9.dirname(file), root); + map.set(file, ret); + return ret; + }; + opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file)); + }; + var extractFileSync = (opt) => { + const u = new Unpack.Sync(opt); + const file = opt.file; + const stat = fs6.statSync(file); + const readSize = opt.maxReadSize || 16 * 1024 * 1024; + const stream = new fsm.ReadStreamSync(file, { + readSize, + size: stat.size + }); + stream.pipe(u); + }; + var extractFile = (opt, cb) => { + const u = new Unpack(opt); + const readSize = opt.maxReadSize || 16 * 1024 * 1024; + const file = opt.file; + const p = new Promise((resolve, reject) => { + u.on("error", reject); + u.on("close", resolve); + fs6.stat(file, (er, stat) => { + if (er) { + reject(er); + } else { + const stream = new fsm.ReadStream(file, { + readSize, + size: stat.size + }); + stream.on("error", reject); + stream.pipe(u); + } + }); + }); + return cb ? p.then(cb, cb) : p; + }; + var extractSync = (opt) => new Unpack.Sync(opt); + var extract = (opt) => new Unpack(opt); + } +}); + +// .yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/index.js +var require_tar = __commonJS({ + ".yarn/cache/tar-npm-6.1.15-44c3e71720-815c25f881.zip/node_modules/tar/index.js"(exports) { + "use strict"; + exports.c = exports.create = require_create(); + exports.r = exports.replace = require_replace(); + exports.t = exports.list = require_list(); + exports.u = exports.update = require_update(); + exports.x = exports.extract = require_extract(); + exports.Pack = require_pack(); + exports.Unpack = require_unpack(); + exports.Parse = require_parse2(); + exports.ReadEntry = require_read_entry(); + exports.WriteEntry = require_write_entry(); + exports.Header = require_header(); + exports.Pax = require_pax(); + exports.types = require_types2(); + } +}); + +// .yarn/cache/v8-compile-cache-npm-2.3.0-961375f150-757e7df6b1.zip/node_modules/v8-compile-cache/v8-compile-cache.js +var require_v8_compile_cache = __commonJS({ + ".yarn/cache/v8-compile-cache-npm-2.3.0-961375f150-757e7df6b1.zip/node_modules/v8-compile-cache/v8-compile-cache.js"(exports, module2) { + "use strict"; + var Module2 = require("module"); + var crypto = require("crypto"); + var fs6 = require("fs"); + var path9 = require("path"); + var vm = require("vm"); + var os2 = require("os"); + var hasOwnProperty = Object.prototype.hasOwnProperty; + var FileSystemBlobStore = class { + constructor(directory, prefix) { + const name = prefix ? slashEscape(prefix + ".") : ""; + this._blobFilename = path9.join(directory, name + "BLOB"); + this._mapFilename = path9.join(directory, name + "MAP"); + this._lockFilename = path9.join(directory, name + "LOCK"); + this._directory = directory; + this._load(); + } + has(key, invalidationKey) { + if (hasOwnProperty.call(this._memoryBlobs, key)) { + return this._invalidationKeys[key] === invalidationKey; + } else if (hasOwnProperty.call(this._storedMap, key)) { + return this._storedMap[key][0] === invalidationKey; + } + return false; + } + get(key, invalidationKey) { + if (hasOwnProperty.call(this._memoryBlobs, key)) { + if (this._invalidationKeys[key] === invalidationKey) { + return this._memoryBlobs[key]; + } + } else if (hasOwnProperty.call(this._storedMap, key)) { + const mapping = this._storedMap[key]; + if (mapping[0] === invalidationKey) { + return this._storedBlob.slice(mapping[1], mapping[2]); + } + } + } + set(key, invalidationKey, buffer) { + this._invalidationKeys[key] = invalidationKey; + this._memoryBlobs[key] = buffer; + this._dirty = true; + } + delete(key) { + if (hasOwnProperty.call(this._memoryBlobs, key)) { + this._dirty = true; + delete this._memoryBlobs[key]; + } + if (hasOwnProperty.call(this._invalidationKeys, key)) { + this._dirty = true; + delete this._invalidationKeys[key]; + } + if (hasOwnProperty.call(this._storedMap, key)) { + this._dirty = true; + delete this._storedMap[key]; + } + } + isDirty() { + return this._dirty; + } + save() { + const dump = this._getDump(); + const blobToStore = Buffer.concat(dump[0]); + const mapToStore = JSON.stringify(dump[1]); + try { + mkdirpSync(this._directory); + fs6.writeFileSync(this._lockFilename, "LOCK", { flag: "wx" }); + } catch (error) { + return false; + } + try { + fs6.writeFileSync(this._blobFilename, blobToStore); + fs6.writeFileSync(this._mapFilename, mapToStore); + } finally { + fs6.unlinkSync(this._lockFilename); + } + return true; + } + _load() { + try { + this._storedBlob = fs6.readFileSync(this._blobFilename); + this._storedMap = JSON.parse(fs6.readFileSync(this._mapFilename)); + } catch (e) { + this._storedBlob = Buffer.alloc(0); + this._storedMap = {}; + } + this._dirty = false; + this._memoryBlobs = {}; + this._invalidationKeys = {}; + } + _getDump() { + const buffers = []; + const newMap = {}; + let offset = 0; + function push(key, invalidationKey, buffer) { + buffers.push(buffer); + newMap[key] = [invalidationKey, offset, offset + buffer.length]; + offset += buffer.length; + } + for (const key of Object.keys(this._memoryBlobs)) { + const buffer = this._memoryBlobs[key]; + const invalidationKey = this._invalidationKeys[key]; + push(key, invalidationKey, buffer); + } + for (const key of Object.keys(this._storedMap)) { + if (hasOwnProperty.call(newMap, key)) + continue; + const mapping = this._storedMap[key]; + const buffer = this._storedBlob.slice(mapping[1], mapping[2]); + push(key, mapping[0], buffer); + } + return [buffers, newMap]; + } + }; + var NativeCompileCache = class { + constructor() { + this._cacheStore = null; + this._previousModuleCompile = null; + } + setCacheStore(cacheStore) { + this._cacheStore = cacheStore; + } + install() { + const self2 = this; + const hasRequireResolvePaths = typeof require.resolve.paths === "function"; + this._previousModuleCompile = Module2.prototype._compile; + Module2.prototype._compile = function(content, filename) { + const mod = this; + function require2(id) { + return mod.require(id); + } + function resolve(request, options) { + return Module2._resolveFilename(request, mod, false, options); + } + require2.resolve = resolve; + if (hasRequireResolvePaths) { + resolve.paths = function paths(request) { + return Module2._resolveLookupPaths(request, mod, true); + }; + } + require2.main = process.mainModule; + require2.extensions = Module2._extensions; + require2.cache = Module2._cache; + const dirname = path9.dirname(filename); + const compiledWrapper = self2._moduleCompile(filename, content); + const args = [mod.exports, require2, mod, filename, dirname, process, global, Buffer]; + return compiledWrapper.apply(mod.exports, args); + }; + } + uninstall() { + Module2.prototype._compile = this._previousModuleCompile; + } + _moduleCompile(filename, content) { + var contLen = content.length; + if (contLen >= 2) { + if (content.charCodeAt(0) === 35 && content.charCodeAt(1) === 33) { + if (contLen === 2) { + content = ""; + } else { + var i = 2; + for (; i < contLen; ++i) { + var code = content.charCodeAt(i); + if (code === 10 || code === 13) + break; + } + if (i === contLen) { + content = ""; + } else { + content = content.slice(i); + } + } + } + } + var wrapper = Module2.wrap(content); + var invalidationKey = crypto.createHash("sha1").update(content, "utf8").digest("hex"); + var buffer = this._cacheStore.get(filename, invalidationKey); + var script = new vm.Script(wrapper, { + filename, + lineOffset: 0, + displayErrors: true, + cachedData: buffer, + produceCachedData: true + }); + if (script.cachedDataProduced) { + this._cacheStore.set(filename, invalidationKey, script.cachedData); + } else if (script.cachedDataRejected) { + this._cacheStore.delete(filename); + } + var compiledWrapper = script.runInThisContext({ + filename, + lineOffset: 0, + columnOffset: 0, + displayErrors: true + }); + return compiledWrapper; + } + }; + function mkdirpSync(p_) { + _mkdirpSync(path9.resolve(p_), 511); + } + function _mkdirpSync(p, mode) { + try { + fs6.mkdirSync(p, mode); + } catch (err0) { + if (err0.code === "ENOENT") { + _mkdirpSync(path9.dirname(p)); + _mkdirpSync(p); + } else { + try { + const stat = fs6.statSync(p); + if (!stat.isDirectory()) { + throw err0; + } + } catch (err1) { + throw err0; + } + } + } + } + function slashEscape(str) { + const ESCAPE_LOOKUP = { + "\\": "zB", + ":": "zC", + "/": "zS", + "\0": "z0", + "z": "zZ" + }; + const ESCAPE_REGEX = /[\\:/\x00z]/g; + return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]); + } + function supportsCachedData() { + const script = new vm.Script('""', { produceCachedData: true }); + return script.cachedDataProduced === true; + } + function getCacheDir() { + const v8_compile_cache_cache_dir = process.env.V8_COMPILE_CACHE_CACHE_DIR; + if (v8_compile_cache_cache_dir) { + return v8_compile_cache_cache_dir; + } + const dirname = typeof process.getuid === "function" ? "v8-compile-cache-" + process.getuid() : "v8-compile-cache"; + const version2 = typeof process.versions.v8 === "string" ? process.versions.v8 : typeof process.versions.chakracore === "string" ? "chakracore-" + process.versions.chakracore : "node-" + process.version; + const cacheDir = path9.join(os2.tmpdir(), dirname, version2); + return cacheDir; + } + function getMainName() { + const mainName = require.main && typeof require.main.filename === "string" ? require.main.filename : process.cwd(); + return mainName; + } + if (!process.env.DISABLE_V8_COMPILE_CACHE && supportsCachedData()) { + const cacheDir = getCacheDir(); + const prefix = getMainName(); + const blobStore = new FileSystemBlobStore(cacheDir, prefix); + const nativeCompileCache = new NativeCompileCache(); + nativeCompileCache.setCacheStore(blobStore); + nativeCompileCache.install(); + process.once("exit", () => { + if (blobStore.isDirty()) { + blobStore.save(); + } + nativeCompileCache.uninstall(); + }); + } + module2.exports.__TEST__ = { + FileSystemBlobStore, + NativeCompileCache, + mkdirpSync, + slashEscape, + supportsCachedData, + getCacheDir, + getMainName + }; + } +}); + +// .yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/windows.js +var require_windows = __commonJS({ + ".yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/windows.js"(exports, module2) { + module2.exports = isexe; + isexe.sync = sync; + var fs6 = require("fs"); + function checkPathExt(path9, options) { + var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT; + if (!pathext) { + return true; + } + pathext = pathext.split(";"); + if (pathext.indexOf("") !== -1) { + return true; + } + for (var i = 0; i < pathext.length; i++) { + var p = pathext[i].toLowerCase(); + if (p && path9.substr(-p.length).toLowerCase() === p) { + return true; + } + } + return false; + } + function checkStat(stat, path9, options) { + if (!stat.isSymbolicLink() && !stat.isFile()) { + return false; + } + return checkPathExt(path9, options); + } + function isexe(path9, options, cb) { + fs6.stat(path9, function(er, stat) { + cb(er, er ? false : checkStat(stat, path9, options)); + }); + } + function sync(path9, options) { + return checkStat(fs6.statSync(path9), path9, options); + } + } +}); + +// .yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/mode.js +var require_mode = __commonJS({ + ".yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/mode.js"(exports, module2) { + module2.exports = isexe; + isexe.sync = sync; + var fs6 = require("fs"); + function isexe(path9, options, cb) { + fs6.stat(path9, function(er, stat) { + cb(er, er ? false : checkStat(stat, options)); + }); + } + function sync(path9, options) { + return checkStat(fs6.statSync(path9), options); + } + function checkStat(stat, options) { + return stat.isFile() && checkMode(stat, options); + } + function checkMode(stat, options) { + var mod = stat.mode; + var uid = stat.uid; + var gid = stat.gid; + var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid(); + var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid(); + var u = parseInt("100", 8); + var g = parseInt("010", 8); + var o = parseInt("001", 8); + var ug = u | g; + var ret = mod & o || mod & g && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0; + return ret; + } + } +}); + +// .yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/index.js +var require_isexe = __commonJS({ + ".yarn/cache/isexe-npm-2.0.0-b58870bd2e-b37fe0a798.zip/node_modules/isexe/index.js"(exports, module2) { + var fs6 = require("fs"); + var core; + if (process.platform === "win32" || global.TESTING_WINDOWS) { + core = require_windows(); + } else { + core = require_mode(); + } + module2.exports = isexe; + isexe.sync = sync; + function isexe(path9, options, cb) { + if (typeof options === "function") { + cb = options; + options = {}; + } + if (!cb) { + if (typeof Promise !== "function") { + throw new TypeError("callback not provided"); + } + return new Promise(function(resolve, reject) { + isexe(path9, options || {}, function(er, is) { + if (er) { + reject(er); + } else { + resolve(is); + } + }); + }); + } + core(path9, options || {}, function(er, is) { + if (er) { + if (er.code === "EACCES" || options && options.ignoreErrors) { + er = null; + is = false; + } + } + cb(er, is); + }); + } + function sync(path9, options) { + try { + return core.sync(path9, options || {}); + } catch (er) { + if (options && options.ignoreErrors || er.code === "EACCES") { + return false; + } else { + throw er; + } + } + } + } +}); + +// .yarn/cache/which-npm-3.0.1-b2b0f09ace-5c5f879943.zip/node_modules/which/lib/index.js +var require_lib2 = __commonJS({ + ".yarn/cache/which-npm-3.0.1-b2b0f09ace-5c5f879943.zip/node_modules/which/lib/index.js"(exports, module2) { + var isexe = require_isexe(); + var { join: join2, delimiter, sep, posix } = require("path"); + var isWindows = process.platform === "win32"; + var rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? "" : sep}]`.replace(/(\\)/g, "\\$1")); + var rRel = new RegExp(`^\\.${rSlash.source}`); + var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" }); + var getPathInfo = (cmd, { + path: optPath = process.env.PATH, + pathExt: optPathExt = process.env.PATHEXT, + delimiter: optDelimiter = delimiter + }) => { + const pathEnv = cmd.match(rSlash) ? [""] : [ + // windows always checks the cwd first + ...isWindows ? [process.cwd()] : [], + ...(optPath || /* istanbul ignore next: very unusual */ + "").split(optDelimiter) + ]; + if (isWindows) { + const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter); + const pathExt = pathExtExe.split(optDelimiter).reduce((acc, item) => { + acc.push(item); + acc.push(item.toLowerCase()); + return acc; + }, []); + if (cmd.includes(".") && pathExt[0] !== "") { + pathExt.unshift(""); + } + return { pathEnv, pathExt, pathExtExe }; + } + return { pathEnv, pathExt: [""] }; + }; + var getPathPart = (raw, cmd) => { + const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw; + const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ""; + return prefix + join2(pathPart, cmd); + }; + var which3 = async (cmd, opt = {}) => { + const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); + const found = []; + for (const envPart of pathEnv) { + const p = getPathPart(envPart, cmd); + for (const ext of pathExt) { + const withExt = p + ext; + const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true }); + if (is) { + if (!opt.all) { + return withExt; + } + found.push(withExt); + } + } + } + if (opt.all && found.length) { + return found; + } + if (opt.nothrow) { + return null; + } + throw getNotFoundError(cmd); + }; + var whichSync = (cmd, opt = {}) => { + const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); + const found = []; + for (const pathEnvPart of pathEnv) { + const p = getPathPart(pathEnvPart, cmd); + for (const ext of pathExt) { + const withExt = p + ext; + const is = isexe.sync(withExt, { pathExt: pathExtExe, ignoreErrors: true }); + if (is) { + if (!opt.all) { + return withExt; + } + found.push(withExt); + } + } + } + if (opt.all && found.length) { + return found; + } + if (opt.nothrow) { + return null; + } + throw getNotFoundError(cmd); + }; + module2.exports = which3; + which3.sync = whichSync; + } +}); + +// .yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-ba7ae056a6.zip/node_modules/is-windows/index.js +var require_is_windows = __commonJS({ + ".yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-ba7ae056a6.zip/node_modules/is-windows/index.js"(exports, module2) { + (function(factory) { + if (exports && typeof exports === "object" && typeof module2 !== "undefined") { + module2.exports = factory(); + } else if (typeof define === "function" && define.amd) { + define([], factory); + } else if (typeof window !== "undefined") { + window.isWindows = factory(); + } else if (typeof global !== "undefined") { + global.isWindows = factory(); + } else if (typeof self !== "undefined") { + self.isWindows = factory(); + } else { + this.isWindows = factory(); + } + })(function() { + "use strict"; + return function isWindows() { + return process && (process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE)); + }; + }); + } +}); + +// .yarn/cache/cmd-extension-npm-1.0.2-11aa204c4b-c0f4db69b5.zip/node_modules/cmd-extension/index.js +var require_cmd_extension = __commonJS({ + ".yarn/cache/cmd-extension-npm-1.0.2-11aa204c4b-c0f4db69b5.zip/node_modules/cmd-extension/index.js"(exports, module2) { + "use strict"; + var path9 = require("path"); + var cmdExtension; + if (process.env.PATHEXT) { + cmdExtension = process.env.PATHEXT.split(path9.delimiter).find((ext) => ext.toUpperCase() === ".CMD"); + } + module2.exports = cmdExtension || ".cmd"; + } +}); + +// .yarn/cache/@zkochan-cmd-shim-npm-6.0.0-97792a7373-bd05b9c123.zip/node_modules/@zkochan/cmd-shim/index.js +var require_cmd_shim = __commonJS({ + ".yarn/cache/@zkochan-cmd-shim-npm-6.0.0-97792a7373-bd05b9c123.zip/node_modules/@zkochan/cmd-shim/index.js"(exports, module2) { + "use strict"; + cmdShim2.ifExists = cmdShimIfExists; + var util_1 = require("util"); + var path9 = require("path"); + var isWindows = require_is_windows(); + var CMD_EXTENSION = require_cmd_extension(); + var shebangExpr = /^#!\s*(?:\/usr\/bin\/env(?:\s+-S\s*)?)?\s*([^ \t]+)(.*)$/; + var DEFAULT_OPTIONS = { + // Create PowerShell file by default if the option hasn't been specified + createPwshFile: true, + createCmdFile: isWindows(), + fs: require_graceful_fs() + }; + var extensionToProgramMap = /* @__PURE__ */ new Map([ + [".js", "node"], + [".cjs", "node"], + [".mjs", "node"], + [".cmd", "cmd"], + [".bat", "cmd"], + [".ps1", "pwsh"], + [".sh", "sh"] + ]); + function ingestOptions(opts) { + const opts_ = { ...DEFAULT_OPTIONS, ...opts }; + const fs6 = opts_.fs; + opts_.fs_ = { + chmod: fs6.chmod ? (0, util_1.promisify)(fs6.chmod) : async () => { + }, + mkdir: (0, util_1.promisify)(fs6.mkdir), + readFile: (0, util_1.promisify)(fs6.readFile), + stat: (0, util_1.promisify)(fs6.stat), + unlink: (0, util_1.promisify)(fs6.unlink), + writeFile: (0, util_1.promisify)(fs6.writeFile) + }; + return opts_; + } + async function cmdShim2(src, to, opts) { + const opts_ = ingestOptions(opts); + await cmdShim_(src, to, opts_); + } + function cmdShimIfExists(src, to, opts) { + return cmdShim2(src, to, opts).catch(() => { + }); + } + function rm2(path10, opts) { + return opts.fs_.unlink(path10).catch(() => { + }); + } + async function cmdShim_(src, to, opts) { + const srcRuntimeInfo = await searchScriptRuntime(src, opts); + await writeShimsPreCommon(to, opts); + return writeAllShims(src, to, srcRuntimeInfo, opts); + } + function writeShimsPreCommon(target, opts) { + return opts.fs_.mkdir(path9.dirname(target), { recursive: true }); + } + function writeAllShims(src, to, srcRuntimeInfo, opts) { + const opts_ = ingestOptions(opts); + const generatorAndExts = [{ generator: generateShShim, extension: "" }]; + if (opts_.createCmdFile) { + generatorAndExts.push({ generator: generateCmdShim, extension: CMD_EXTENSION }); + } + if (opts_.createPwshFile) { + generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" }); + } + return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_))); + } + function writeShimPre(target, opts) { + return rm2(target, opts); + } + function writeShimPost(target, opts) { + return chmodShim(target, opts); + } + async function searchScriptRuntime(target, opts) { + try { + const data = await opts.fs_.readFile(target, "utf8"); + const firstLine = data.trim().split(/\r*\n/)[0]; + const shebang = firstLine.match(shebangExpr); + if (!shebang) { + const targetExtension = path9.extname(target).toLowerCase(); + return { + // undefined if extension is unknown but it's converted to null. + program: extensionToProgramMap.get(targetExtension) || null, + additionalArgs: "" + }; + } + return { + program: shebang[1], + additionalArgs: shebang[2] + }; + } catch (err) { + if (!isWindows() || err.code !== "ENOENT") + throw err; + if (await opts.fs_.stat(`${target}${getExeExtension()}`)) { + return { + program: null, + additionalArgs: "" + }; + } + throw err; + } + } + function getExeExtension() { + let cmdExtension; + if (process.env.PATHEXT) { + cmdExtension = process.env.PATHEXT.split(path9.delimiter).find((ext) => ext.toLowerCase() === ".exe"); + } + return cmdExtension || ".exe"; + } + async function writeShim(src, to, srcRuntimeInfo, generateShimScript, opts) { + const defaultArgs = opts.preserveSymlinks ? "--preserve-symlinks" : ""; + const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" "); + opts = Object.assign({}, opts, { + prog: srcRuntimeInfo.program, + args + }); + await writeShimPre(to, opts); + await opts.fs_.writeFile(to, generateShimScript(src, to, opts), "utf8"); + return writeShimPost(to, opts); + } + function generateCmdShim(src, to, opts) { + const shTarget = path9.relative(path9.dirname(to), src); + let target = shTarget.split("/").join("\\"); + const quotedPathToTarget = path9.isAbsolute(target) ? `"${target}"` : `"%~dp0\\${target}"`; + let longProg; + let prog = opts.prog; + let args = opts.args || ""; + const nodePath = normalizePathEnvVar(opts.nodePath).win32; + const prependToPath = normalizePathEnvVar(opts.prependToPath).win32; + if (!prog) { + prog = quotedPathToTarget; + args = ""; + target = ""; + } else if (prog === "node" && opts.nodeExecPath) { + prog = `"${opts.nodeExecPath}"`; + target = quotedPathToTarget; + } else { + longProg = `"%~dp0\\${prog}.exe"`; + target = quotedPathToTarget; + } + let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; + let cmd = "@SETLOCAL\r\n"; + if (prependToPath) { + cmd += `@SET "PATH=${prependToPath}:%PATH%"\r +`; + } + if (nodePath) { + cmd += `@IF NOT DEFINED NODE_PATH (\r + @SET "NODE_PATH=${nodePath}"\r +) ELSE (\r + @SET "NODE_PATH=${nodePath};%NODE_PATH%"\r +)\r +`; + } + if (longProg) { + cmd += `@IF EXIST ${longProg} (\r + ${longProg} ${args} ${target} ${progArgs}%*\r +) ELSE (\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${prog} ${args} ${target} ${progArgs}%*\r +)\r +`; + } else { + cmd += `@${prog} ${args} ${target} ${progArgs}%*\r +`; + } + return cmd; + } + function generateShShim(src, to, opts) { + let shTarget = path9.relative(path9.dirname(to), src); + let shProg = opts.prog && opts.prog.split("\\").join("/"); + let shLongProg; + shTarget = shTarget.split("\\").join("/"); + const quotedPathToTarget = path9.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`; + let args = opts.args || ""; + const shNodePath = normalizePathEnvVar(opts.nodePath).posix; + if (!shProg) { + shProg = quotedPathToTarget; + args = ""; + shTarget = ""; + } else if (opts.prog === "node" && opts.nodeExecPath) { + shProg = `"${opts.nodeExecPath}"`; + shTarget = quotedPathToTarget; + } else { + shLongProg = `"$basedir/${opts.prog}"`; + shTarget = quotedPathToTarget; + } + let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; + let sh = `#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`; + if (opts.prependToPath) { + sh += `export PATH="${opts.prependToPath}:$PATH" +`; + } + if (shNodePath) { + sh += `if [ -z "$NODE_PATH" ]; then + export NODE_PATH="${shNodePath}" +else + export NODE_PATH="${shNodePath}:$NODE_PATH" +fi +`; + } + if (shLongProg) { + sh += `if [ -x ${shLongProg} ]; then + exec ${shLongProg} ${args} ${shTarget} ${progArgs}"$@" +else + exec ${shProg} ${args} ${shTarget} ${progArgs}"$@" +fi +`; + } else { + sh += `${shProg} ${args} ${shTarget} ${progArgs}"$@" +exit $? +`; + } + return sh; + } + function generatePwshShim(src, to, opts) { + let shTarget = path9.relative(path9.dirname(to), src); + const shProg = opts.prog && opts.prog.split("\\").join("/"); + let pwshProg = shProg && `"${shProg}$exe"`; + let pwshLongProg; + shTarget = shTarget.split("\\").join("/"); + const quotedPathToTarget = path9.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`; + let args = opts.args || ""; + let normalizedNodePathEnvVar = normalizePathEnvVar(opts.nodePath); + const nodePath = normalizedNodePathEnvVar.win32; + const shNodePath = normalizedNodePathEnvVar.posix; + let normalizedPrependPathEnvVar = normalizePathEnvVar(opts.prependToPath); + const prependPath = normalizedPrependPathEnvVar.win32; + const shPrependPath = normalizedPrependPathEnvVar.posix; + if (!pwshProg) { + pwshProg = quotedPathToTarget; + args = ""; + shTarget = ""; + } else if (opts.prog === "node" && opts.nodeExecPath) { + pwshProg = `"${opts.nodeExecPath}"`; + shTarget = quotedPathToTarget; + } else { + pwshLongProg = `"$basedir/${opts.prog}$exe"`; + shTarget = quotedPathToTarget; + } + let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; + let pwsh = `#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH +$new_node_path="${nodePath}" +` : ""}${prependPath ? `$env_path=$env:PATH +$prepend_path="${prependPath}" +` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +${nodePath || prependPath ? ' $pathsep=";"\n' : ""}}`; + if (shNodePath || shPrependPath) { + pwsh += ` else { +${shNodePath ? ` $new_node_path="${shNodePath}" +` : ""}${shPrependPath ? ` $prepend_path="${shPrependPath}" +` : ""}} +`; + } + if (shNodePath) { + pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) { + $env:NODE_PATH=$new_node_path +} else { + $env:NODE_PATH="$new_node_path$pathsep$env_node_path" +} +`; + } + if (opts.prependToPath) { + pwsh += ` +$env:PATH="$prepend_path$pathsep$env:PATH" +`; + } + if (pwshLongProg) { + pwsh += ` +$ret=0 +if (Test-Path ${pwshLongProg}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args + } else { + & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args + } else { + & ${pwshProg} ${args} ${shTarget} ${progArgs}$args + } + $ret=$LASTEXITCODE +} +${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret +`; + } else { + pwsh += ` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args +} else { + & ${pwshProg} ${args} ${shTarget} ${progArgs}$args +} +${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE +`; + } + return pwsh; + } + function chmodShim(to, opts) { + return opts.fs_.chmod(to, 493); + } + function normalizePathEnvVar(nodePath) { + if (!nodePath || !nodePath.length) { + return { + win32: "", + posix: "" + }; + } + let split = typeof nodePath === "string" ? nodePath.split(path9.delimiter) : Array.from(nodePath); + let result = {}; + for (let i = 0; i < split.length; i++) { + const win32 = split[i].split("/").join("\\"); + const posix = isWindows() ? split[i].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `/mnt/${$1.toLowerCase()}`) : split[i]; + result.win32 = result.win32 ? `${result.win32};${win32}` : win32; + result.posix = result.posix ? `${result.posix}:${posix}` : posix; + result[i] = { win32, posix }; + } + return result; + } + module2.exports = cmdShim2; + } +}); + +// sources/_lib.ts +var lib_exports2 = {}; +__export(lib_exports2, { + runMain: () => runMain +}); +module.exports = __toCommonJS(lib_exports2); + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/constants.mjs +var NODE_INITIAL = 0; +var NODE_SUCCESS = 1; +var NODE_ERRORED = 2; +var START_OF_INPUT = ``; +var END_OF_INPUT = `\0`; +var HELP_COMMAND_INDEX = -1; +var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/; +var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/; +var BATCH_REGEX = /^-[a-zA-Z]{2,}$/; +var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/; +var DEBUG = process.env.DEBUG_CLI === `1`; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/errors.mjs +var UsageError = class extends Error { + constructor(message) { + super(message); + this.clipanion = { type: `usage` }; + this.name = `UsageError`; + } +}; +var UnknownSyntaxError = class extends Error { + constructor(input, candidates) { + super(); + this.input = input; + this.candidates = candidates; + this.clipanion = { type: `none` }; + this.name = `UnknownSyntaxError`; + if (this.candidates.length === 0) { + this.message = `Command not found, but we're not sure what's the alternative.`; + } else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) { + const [{ reason }] = this.candidates; + this.message = `${reason} + +${this.candidates.map(({ usage }) => `$ ${usage}`).join(` +`)}`; + } else if (this.candidates.length === 1) { + const [{ usage }] = this.candidates; + this.message = `Command not found; did you mean: + +$ ${usage} +${whileRunning(input)}`; + } else { + this.message = `Command not found; did you mean one of: + +${this.candidates.map(({ usage }, index) => { + return `${`${index}.`.padStart(4)} ${usage}`; + }).join(` +`)} + +${whileRunning(input)}`; + } + } +}; +var AmbiguousSyntaxError = class extends Error { + constructor(input, usages) { + super(); + this.input = input; + this.usages = usages; + this.clipanion = { type: `none` }; + this.name = `AmbiguousSyntaxError`; + this.message = `Cannot find which to pick amongst the following alternatives: + +${this.usages.map((usage, index) => { + return `${`${index}.`.padStart(4)} ${usage}`; + }).join(` +`)} + +${whileRunning(input)}`; + } +}; +var whileRunning = (input) => `While running ${input.filter((token) => { + return token !== END_OF_INPUT; +}).map((token) => { + const json = JSON.stringify(token); + if (token.match(/\s/) || token.length === 0 || json !== `"${token}"`) { + return json; + } else { + return token; + } +}).join(` `)}`; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/format.mjs +var MAX_LINE_LENGTH = 80; +var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`); +for (let t = 0; t <= 24; ++t) + richLine[richLine.length - t] = `\x1B[38;5;${232 + t}m\u2501`; +var richFormat = { + header: (str) => `\x1B[1m\u2501\u2501\u2501 ${str}${str.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str.length + 5).join(``)}` : `:`}\x1B[0m`, + bold: (str) => `\x1B[1m${str}\x1B[22m`, + error: (str) => `\x1B[31m\x1B[1m${str}\x1B[22m\x1B[39m`, + code: (str) => `\x1B[36m${str}\x1B[39m` +}; +var textFormat = { + header: (str) => str, + bold: (str) => str, + error: (str) => str, + code: (str) => str +}; +function dedent(text) { + const lines = text.split(` +`); + const nonEmptyLines = lines.filter((line) => line.match(/\S/)); + const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0; + return lines.map((line) => line.slice(indent).trimRight()).join(` +`); +} +function formatMarkdownish(text, { format, paragraphs }) { + text = text.replace(/\r\n?/g, ` +`); + text = dedent(text); + text = text.replace(/^\n+|\n+$/g, ``); + text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2 + +`); + text = text.replace(/\n(\n)?\n*/g, ($0, $1) => $1 ? $1 : ` `); + if (paragraphs) { + text = text.split(/\n/).map((paragraph) => { + const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/); + if (!bulletMatch) + return paragraph.match(/(.{1,80})(?: |$)/g).join(` +`); + const indent = paragraph.length - paragraph.trimStart().length; + return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index) => { + return ` `.repeat(indent) + (index === 0 ? `- ` : ` `) + line; + }).join(` +`); + }).join(` + +`); + } + text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { + return format.code($1 + $2 + $1); + }); + text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { + return format.bold($1 + $2 + $1); + }); + return text ? `${text} +` : ``; +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/utils.mjs +var isOptionSymbol = Symbol(`clipanion/isOption`); +function makeCommandOption(spec) { + return { ...spec, [isOptionSymbol]: true }; +} +function rerouteArguments(a, b) { + if (typeof a === `undefined`) + return [a, b]; + if (typeof a === `object` && a !== null && !Array.isArray(a)) { + return [void 0, a]; + } else { + return [a, b]; + } +} +function cleanValidationError(message, { mergeName = false } = {}) { + const match = message.match(/^([^:]+): (.*)$/m); + if (!match) + return `validation failed`; + let [, path9, line] = match; + if (mergeName) + line = line[0].toLowerCase() + line.slice(1); + line = path9 !== `.` || !mergeName ? `${path9.replace(/^\.(\[|$)/, `$1`)}: ${line}` : `: ${line}`; + return line; +} +function formatError(message, errors) { + if (errors.length === 1) { + return new UsageError(`${message}${cleanValidationError(errors[0], { mergeName: true })}`); + } else { + return new UsageError(`${message}: +${errors.map((error) => ` +- ${cleanValidationError(error)}`).join(``)}`); + } +} +function applyValidator(name, value, validator) { + if (typeof validator === `undefined`) + return value; + const errors = []; + const coercions = []; + const coercion = (v) => { + const orig = value; + value = v; + return coercion.bind(null, orig); + }; + const check = validator(value, { errors, coercions, coercion }); + if (!check) + throw formatError(`Invalid value for ${name}`, errors); + for (const [, op] of coercions) + op(); + return value; +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/Command.mjs +var Command = class { + constructor() { + this.help = false; + } + /** + * Defines the usage information for the given command. + */ + static Usage(usage) { + return usage; + } + /** + * Standard error handler which will simply rethrow the error. Can be used + * to add custom logic to handle errors from the command or simply return + * the parent class error handling. + */ + async catch(error) { + throw error; + } + async validateAndExecute() { + const commandClass = this.constructor; + const cascade2 = commandClass.schema; + if (Array.isArray(cascade2)) { + const { isDict: isDict2, isUnknown: isUnknown2, applyCascade: applyCascade2 } = await Promise.resolve().then(() => (init_lib(), lib_exports)); + const schema = applyCascade2(isDict2(isUnknown2()), cascade2); + const errors = []; + const coercions = []; + const check = schema(this, { errors, coercions }); + if (!check) + throw formatError(`Invalid option schema`, errors); + for (const [, op] of coercions) { + op(); + } + } else if (cascade2 != null) { + throw new Error(`Invalid command schema`); + } + const exitCode = await this.execute(); + if (typeof exitCode !== `undefined`) { + return exitCode; + } else { + return 0; + } + } +}; +Command.isOption = isOptionSymbol; +Command.Default = []; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/core.mjs +function debug(str) { + if (DEBUG) { + console.log(str); + } +} +var basicHelpState = { + candidateUsage: null, + requiredOptions: [], + errorMessage: null, + ignoreOptions: false, + path: [], + positionals: [], + options: [], + remainder: null, + selectedIndex: HELP_COMMAND_INDEX +}; +function makeStateMachine() { + return { + nodes: [makeNode(), makeNode(), makeNode()] + }; +} +function makeAnyOfMachine(inputs) { + const output = makeStateMachine(); + const heads = []; + let offset = output.nodes.length; + for (const input of inputs) { + heads.push(offset); + for (let t = 0; t < input.nodes.length; ++t) + if (!isTerminalNode(t)) + output.nodes.push(cloneNode(input.nodes[t], offset)); + offset += input.nodes.length - 2; + } + for (const head of heads) + registerShortcut(output, NODE_INITIAL, head); + return output; +} +function injectNode(machine, node) { + machine.nodes.push(node); + return machine.nodes.length - 1; +} +function simplifyMachine(input) { + const visited = /* @__PURE__ */ new Set(); + const process5 = (node) => { + if (visited.has(node)) + return; + visited.add(node); + const nodeDef = input.nodes[node]; + for (const transitions of Object.values(nodeDef.statics)) + for (const { to } of transitions) + process5(to); + for (const [, { to }] of nodeDef.dynamics) + process5(to); + for (const { to } of nodeDef.shortcuts) + process5(to); + const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to)); + while (nodeDef.shortcuts.length > 0) { + const { to } = nodeDef.shortcuts.shift(); + const toDef = input.nodes[to]; + for (const [segment, transitions] of Object.entries(toDef.statics)) { + const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment]; + for (const transition of transitions) { + if (!store.some(({ to: to2 }) => transition.to === to2)) { + store.push(transition); + } + } + } + for (const [test, transition] of toDef.dynamics) + if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2)) + nodeDef.dynamics.push([test, transition]); + for (const transition of toDef.shortcuts) { + if (!shortcuts.has(transition.to)) { + nodeDef.shortcuts.push(transition); + shortcuts.add(transition.to); + } + } + } + }; + process5(NODE_INITIAL); +} +function debugMachine(machine, { prefix = `` } = {}) { + if (DEBUG) { + debug(`${prefix}Nodes are:`); + for (let t = 0; t < machine.nodes.length; ++t) { + debug(`${prefix} ${t}: ${JSON.stringify(machine.nodes[t])}`); + } + } +} +function runMachineInternal(machine, input, partial = false) { + debug(`Running a vm on ${JSON.stringify(input)}`); + let branches = [{ node: NODE_INITIAL, state: { + candidateUsage: null, + requiredOptions: [], + errorMessage: null, + ignoreOptions: false, + options: [], + path: [], + positionals: [], + remainder: null, + selectedIndex: null + } }]; + debugMachine(machine, { prefix: ` ` }); + const tokens = [START_OF_INPUT, ...input]; + for (let t = 0; t < tokens.length; ++t) { + const segment = tokens[t]; + debug(` Processing ${JSON.stringify(segment)}`); + const nextBranches = []; + for (const { node, state } of branches) { + debug(` Current node is ${node}`); + const nodeDef = machine.nodes[node]; + if (node === NODE_ERRORED) { + nextBranches.push({ node, state }); + continue; + } + console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`); + const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment); + if (!partial || t < tokens.length - 1 || hasExactMatch) { + if (hasExactMatch) { + const transitions = nodeDef.statics[segment]; + for (const { to, reducer } of transitions) { + nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); + debug(` Static transition to ${to} found`); + } + } else { + debug(` No static transition found`); + } + } else { + let hasMatches = false; + for (const candidate of Object.keys(nodeDef.statics)) { + if (!candidate.startsWith(segment)) + continue; + if (segment === candidate) { + for (const { to, reducer } of nodeDef.statics[candidate]) { + nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); + debug(` Static transition to ${to} found`); + } + } else { + for (const { to } of nodeDef.statics[candidate]) { + nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } }); + debug(` Static transition to ${to} found (partial match)`); + } + } + hasMatches = true; + } + if (!hasMatches) { + debug(` No partial static transition found`); + } + } + if (segment !== END_OF_INPUT) { + for (const [test, { to, reducer }] of nodeDef.dynamics) { + if (execute(tests, test, state, segment)) { + nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); + debug(` Dynamic transition to ${to} found (via ${test})`); + } + } + } + } + if (nextBranches.length === 0 && segment === END_OF_INPUT && input.length === 1) { + return [{ + node: NODE_INITIAL, + state: basicHelpState + }]; + } + if (nextBranches.length === 0) { + throw new UnknownSyntaxError(input, branches.filter(({ node }) => { + return node !== NODE_ERRORED; + }).map(({ state }) => { + return { usage: state.candidateUsage, reason: null }; + })); + } + if (nextBranches.every(({ node }) => node === NODE_ERRORED)) { + throw new UnknownSyntaxError(input, nextBranches.map(({ state }) => { + return { usage: state.candidateUsage, reason: state.errorMessage }; + })); + } + branches = trimSmallerBranches(nextBranches); + } + if (branches.length > 0) { + debug(` Results:`); + for (const branch of branches) { + debug(` - ${branch.node} -> ${JSON.stringify(branch.state)}`); + } + } else { + debug(` No results`); + } + return branches; +} +function checkIfNodeIsFinished(node, state) { + if (state.selectedIndex !== null) + return true; + if (Object.prototype.hasOwnProperty.call(node.statics, END_OF_INPUT)) { + for (const { to } of node.statics[END_OF_INPUT]) + if (to === NODE_SUCCESS) + return true; + } + return false; +} +function suggestMachine(machine, input, partial) { + const prefix = partial && input.length > 0 ? [``] : []; + const branches = runMachineInternal(machine, input, partial); + const suggestions = []; + const suggestionsJson = /* @__PURE__ */ new Set(); + const traverseSuggestion = (suggestion, node, skipFirst = true) => { + let nextNodes = [node]; + while (nextNodes.length > 0) { + const currentNodes = nextNodes; + nextNodes = []; + for (const node2 of currentNodes) { + const nodeDef = machine.nodes[node2]; + const keys = Object.keys(nodeDef.statics); + for (const key of Object.keys(nodeDef.statics)) { + const segment = keys[0]; + for (const { to, reducer } of nodeDef.statics[segment]) { + if (reducer !== `pushPath`) + continue; + if (!skipFirst) + suggestion.push(segment); + nextNodes.push(to); + } + } + } + skipFirst = false; + } + const json = JSON.stringify(suggestion); + if (suggestionsJson.has(json)) + return; + suggestions.push(suggestion); + suggestionsJson.add(json); + }; + for (const { node, state } of branches) { + if (state.remainder !== null) { + traverseSuggestion([state.remainder], node); + continue; + } + const nodeDef = machine.nodes[node]; + const isFinished = checkIfNodeIsFinished(nodeDef, state); + for (const [candidate, transitions] of Object.entries(nodeDef.statics)) + if (isFinished && candidate !== END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`)) + traverseSuggestion([...prefix, candidate], node); + if (!isFinished) + continue; + for (const [test, { to }] of nodeDef.dynamics) { + if (to === NODE_ERRORED) + continue; + const tokens = suggest(test, state); + if (tokens === null) + continue; + for (const token of tokens) { + traverseSuggestion([...prefix, token], node); + } + } + } + return [...suggestions].sort(); +} +function runMachine(machine, input) { + const branches = runMachineInternal(machine, [...input, END_OF_INPUT]); + return selectBestState(input, branches.map(({ state }) => { + return state; + })); +} +function trimSmallerBranches(branches) { + let maxPathSize = 0; + for (const { state } of branches) + if (state.path.length > maxPathSize) + maxPathSize = state.path.length; + return branches.filter(({ state }) => { + return state.path.length === maxPathSize; + }); +} +function selectBestState(input, states) { + const terminalStates = states.filter((state) => { + return state.selectedIndex !== null; + }); + if (terminalStates.length === 0) + throw new Error(); + const requiredOptionsSetStates = terminalStates.filter((state) => state.selectedIndex === HELP_COMMAND_INDEX || state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name)))); + if (requiredOptionsSetStates.length === 0) { + throw new UnknownSyntaxError(input, terminalStates.map((state) => ({ + usage: state.candidateUsage, + reason: null + }))); + } + let maxPathSize = 0; + for (const state of requiredOptionsSetStates) + if (state.path.length > maxPathSize) + maxPathSize = state.path.length; + const bestPathBranches = requiredOptionsSetStates.filter((state) => { + return state.path.length === maxPathSize; + }); + const getPositionalCount = (state) => state.positionals.filter(({ extra }) => { + return !extra; + }).length + state.options.length; + const statesWithPositionalCount = bestPathBranches.map((state) => { + return { state, positionalCount: getPositionalCount(state) }; + }); + let maxPositionalCount = 0; + for (const { positionalCount } of statesWithPositionalCount) + if (positionalCount > maxPositionalCount) + maxPositionalCount = positionalCount; + const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => { + return positionalCount === maxPositionalCount; + }).map(({ state }) => { + return state; + }); + const fixedStates = aggregateHelpStates(bestPositionalStates); + if (fixedStates.length > 1) + throw new AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage)); + return fixedStates[0]; +} +function aggregateHelpStates(states) { + const notHelps = []; + const helps = []; + for (const state of states) { + if (state.selectedIndex === HELP_COMMAND_INDEX) { + helps.push(state); + } else { + notHelps.push(state); + } + } + if (helps.length > 0) { + notHelps.push({ + ...basicHelpState, + path: findCommonPrefix(...helps.map((state) => state.path)), + options: helps.reduce((options, state) => options.concat(state.options), []) + }); + } + return notHelps; +} +function findCommonPrefix(firstPath, secondPath, ...rest) { + if (secondPath === void 0) + return Array.from(firstPath); + return findCommonPrefix(firstPath.filter((segment, i) => segment === secondPath[i]), ...rest); +} +function makeNode() { + return { + dynamics: [], + shortcuts: [], + statics: {} + }; +} +function isTerminalNode(node) { + return node === NODE_SUCCESS || node === NODE_ERRORED; +} +function cloneTransition(input, offset = 0) { + return { + to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to, + reducer: input.reducer + }; +} +function cloneNode(input, offset = 0) { + const output = makeNode(); + for (const [test, transition] of input.dynamics) + output.dynamics.push([test, cloneTransition(transition, offset)]); + for (const transition of input.shortcuts) + output.shortcuts.push(cloneTransition(transition, offset)); + for (const [segment, transitions] of Object.entries(input.statics)) + output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset)); + return output; +} +function registerDynamic(machine, from, test, to, reducer) { + machine.nodes[from].dynamics.push([ + test, + { to, reducer } + ]); +} +function registerShortcut(machine, from, to, reducer) { + machine.nodes[from].shortcuts.push({ to, reducer }); +} +function registerStatic(machine, from, test, to, reducer) { + const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from].statics, test) ? machine.nodes[from].statics[test] = [] : machine.nodes[from].statics[test]; + store.push({ to, reducer }); +} +function execute(store, callback, state, segment) { + if (Array.isArray(callback)) { + const [name, ...args] = callback; + return store[name](state, segment, ...args); + } else { + return store[callback](state, segment); + } +} +function suggest(callback, state) { + const fn2 = Array.isArray(callback) ? tests[callback[0]] : tests[callback]; + if (typeof fn2.suggest === `undefined`) + return null; + const args = Array.isArray(callback) ? callback.slice(1) : []; + return fn2.suggest(state, ...args); +} +var tests = { + always: () => { + return true; + }, + isOptionLike: (state, segment) => { + return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`)); + }, + isNotOptionLike: (state, segment) => { + return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`); + }, + isOption: (state, segment, name, hidden) => { + return !state.ignoreOptions && segment === name; + }, + isBatchOption: (state, segment, names) => { + return !state.ignoreOptions && BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`)); + }, + isBoundOption: (state, segment, names, options) => { + const optionParsing = segment.match(BINDING_REGEX); + return !state.ignoreOptions && !!optionParsing && OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding); + }, + isNegatedOption: (state, segment, name) => { + return !state.ignoreOptions && segment === `--no-${name.slice(2)}`; + }, + isHelp: (state, segment) => { + return !state.ignoreOptions && HELP_REGEX.test(segment); + }, + isUnsupportedOption: (state, segment, names) => { + return !state.ignoreOptions && segment.startsWith(`-`) && OPTION_REGEX.test(segment) && !names.includes(segment); + }, + isInvalidOption: (state, segment) => { + return !state.ignoreOptions && segment.startsWith(`-`) && !OPTION_REGEX.test(segment); + } +}; +tests.isOption.suggest = (state, name, hidden = true) => { + return !hidden ? [name] : null; +}; +var reducers = { + setCandidateState: (state, segment, candidateState) => { + return { ...state, ...candidateState }; + }, + setSelectedIndex: (state, segment, index) => { + return { ...state, selectedIndex: index }; + }, + pushBatch: (state, segment) => { + return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) }; + }, + pushBound: (state, segment) => { + const [, name, value] = segment.match(BINDING_REGEX); + return { ...state, options: state.options.concat({ name, value }) }; + }, + pushPath: (state, segment) => { + return { ...state, path: state.path.concat(segment) }; + }, + pushPositional: (state, segment) => { + return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) }; + }, + pushExtra: (state, segment) => { + return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) }; + }, + pushExtraNoLimits: (state, segment) => { + return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) }; + }, + pushTrue: (state, segment, name = segment) => { + return { ...state, options: state.options.concat({ name: segment, value: true }) }; + }, + pushFalse: (state, segment, name = segment) => { + return { ...state, options: state.options.concat({ name, value: false }) }; + }, + pushUndefined: (state, segment) => { + return { ...state, options: state.options.concat({ name: segment, value: void 0 }) }; + }, + pushStringValue: (state, segment) => { + var _a; + const copy = { ...state, options: [...state.options] }; + const lastOption = state.options[state.options.length - 1]; + lastOption.value = ((_a = lastOption.value) !== null && _a !== void 0 ? _a : []).concat([segment]); + return copy; + }, + setStringValue: (state, segment) => { + const copy = { ...state, options: [...state.options] }; + const lastOption = state.options[state.options.length - 1]; + lastOption.value = segment; + return copy; + }, + inhibateOptions: (state) => { + return { ...state, ignoreOptions: true }; + }, + useHelp: (state, segment, command) => { + const [ + , + /* name */ + , + index + ] = segment.match(HELP_REGEX); + if (typeof index !== `undefined`) { + return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index }] }; + } else { + return { ...state, options: [{ name: `-c`, value: String(command) }] }; + } + }, + setError: (state, segment, errorMessage) => { + if (segment === END_OF_INPUT) { + return { ...state, errorMessage: `${errorMessage}.` }; + } else { + return { ...state, errorMessage: `${errorMessage} ("${segment}").` }; + } + }, + setOptionArityError: (state, segment) => { + const lastOption = state.options[state.options.length - 1]; + return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` }; + } +}; +var NoLimits = Symbol(); +var CommandBuilder = class { + constructor(cliIndex, cliOpts) { + this.allOptionNames = []; + this.arity = { leading: [], trailing: [], extra: [], proxy: false }; + this.options = []; + this.paths = []; + this.cliIndex = cliIndex; + this.cliOpts = cliOpts; + } + addPath(path9) { + this.paths.push(path9); + } + setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) { + Object.assign(this.arity, { leading, trailing, extra, proxy }); + } + addPositional({ name = `arg`, required = true } = {}) { + if (!required && this.arity.extra === NoLimits) + throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`); + if (!required && this.arity.trailing.length > 0) + throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`); + if (!required && this.arity.extra !== NoLimits) { + this.arity.extra.push(name); + } else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) { + this.arity.leading.push(name); + } else { + this.arity.trailing.push(name); + } + } + addRest({ name = `arg`, required = 0 } = {}) { + if (this.arity.extra === NoLimits) + throw new Error(`Infinite lists cannot be declared multiple times in the same command`); + if (this.arity.trailing.length > 0) + throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`); + for (let t = 0; t < required; ++t) + this.addPositional({ name }); + this.arity.extra = NoLimits; + } + addProxy({ required = 0 } = {}) { + this.addRest({ required }); + this.arity.proxy = true; + } + addOption({ names, description, arity = 0, hidden = false, required = false, allowBinding = true }) { + if (!allowBinding && arity > 1) + throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`); + if (!Number.isInteger(arity)) + throw new Error(`The arity must be an integer, got ${arity}`); + if (arity < 0) + throw new Error(`The arity must be positive, got ${arity}`); + this.allOptionNames.push(...names); + this.options.push({ names, description, arity, hidden, required, allowBinding }); + } + setContext(context) { + this.context = context; + } + usage({ detailed = true, inlineOptions = true } = {}) { + const segments = [this.cliOpts.binaryName]; + const detailedOptionList = []; + if (this.paths.length > 0) + segments.push(...this.paths[0]); + if (detailed) { + for (const { names, arity, hidden, description, required } of this.options) { + if (hidden) + continue; + const args = []; + for (let t = 0; t < arity; ++t) + args.push(` #${t}`); + const definition = `${names.join(`,`)}${args.join(``)}`; + if (!inlineOptions && description) { + detailedOptionList.push({ definition, description, required }); + } else { + segments.push(required ? `<${definition}>` : `[${definition}]`); + } + } + segments.push(...this.arity.leading.map((name) => `<${name}>`)); + if (this.arity.extra === NoLimits) + segments.push(`...`); + else + segments.push(...this.arity.extra.map((name) => `[${name}]`)); + segments.push(...this.arity.trailing.map((name) => `<${name}>`)); + } + const usage = segments.join(` `); + return { usage, options: detailedOptionList }; + } + compile() { + if (typeof this.context === `undefined`) + throw new Error(`Assertion failed: No context attached`); + const machine = makeStateMachine(); + let firstNode = NODE_INITIAL; + const candidateUsage = this.usage().usage; + const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names); + firstNode = injectNode(machine, makeNode()); + registerStatic(machine, NODE_INITIAL, START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]); + const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`; + const paths = this.paths.length > 0 ? this.paths : [[]]; + for (const path9 of paths) { + let lastPathNode = firstNode; + if (path9.length > 0) { + const optionPathNode = injectNode(machine, makeNode()); + registerShortcut(machine, lastPathNode, optionPathNode); + this.registerOptions(machine, optionPathNode); + lastPathNode = optionPathNode; + } + for (let t = 0; t < path9.length; ++t) { + const nextPathNode = injectNode(machine, makeNode()); + registerStatic(machine, lastPathNode, path9[t], nextPathNode, `pushPath`); + lastPathNode = nextPathNode; + } + if (this.arity.leading.length > 0 || !this.arity.proxy) { + const helpNode = injectNode(machine, makeNode()); + registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]); + registerDynamic(machine, helpNode, `always`, helpNode, `pushExtra`); + registerStatic(machine, helpNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, HELP_COMMAND_INDEX]); + this.registerOptions(machine, lastPathNode); + } + if (this.arity.leading.length > 0) + registerStatic(machine, lastPathNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); + let lastLeadingNode = lastPathNode; + for (let t = 0; t < this.arity.leading.length; ++t) { + const nextLeadingNode = injectNode(machine, makeNode()); + if (!this.arity.proxy || t + 1 !== this.arity.leading.length) + this.registerOptions(machine, nextLeadingNode); + if (this.arity.trailing.length > 0 || t + 1 !== this.arity.leading.length) + registerStatic(machine, nextLeadingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); + registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`); + lastLeadingNode = nextLeadingNode; + } + let lastExtraNode = lastLeadingNode; + if (this.arity.extra === NoLimits || this.arity.extra.length > 0) { + const extraShortcutNode = injectNode(machine, makeNode()); + registerShortcut(machine, lastLeadingNode, extraShortcutNode); + if (this.arity.extra === NoLimits) { + const extraNode = injectNode(machine, makeNode()); + if (!this.arity.proxy) + this.registerOptions(machine, extraNode); + registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`); + registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`); + registerShortcut(machine, extraNode, extraShortcutNode); + } else { + for (let t = 0; t < this.arity.extra.length; ++t) { + const nextExtraNode = injectNode(machine, makeNode()); + if (!this.arity.proxy || t > 0) + this.registerOptions(machine, nextExtraNode); + registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`); + registerShortcut(machine, nextExtraNode, extraShortcutNode); + lastExtraNode = nextExtraNode; + } + } + lastExtraNode = extraShortcutNode; + } + if (this.arity.trailing.length > 0) + registerStatic(machine, lastExtraNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); + let lastTrailingNode = lastExtraNode; + for (let t = 0; t < this.arity.trailing.length; ++t) { + const nextTrailingNode = injectNode(machine, makeNode()); + if (!this.arity.proxy) + this.registerOptions(machine, nextTrailingNode); + if (t + 1 < this.arity.trailing.length) + registerStatic(machine, nextTrailingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]); + registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`); + lastTrailingNode = nextTrailingNode; + } + registerDynamic(machine, lastTrailingNode, positionalArgument, NODE_ERRORED, [`setError`, `Extraneous positional argument`]); + registerStatic(machine, lastTrailingNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]); + } + return { + machine, + context: this.context + }; + } + registerOptions(machine, node) { + registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`); + registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`); + registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`); + registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], NODE_ERRORED, [`setError`, `Unsupported option name`]); + registerDynamic(machine, node, [`isInvalidOption`], NODE_ERRORED, [`setError`, `Invalid option name`]); + for (const option of this.options) { + const longestName = option.names.reduce((longestName2, name) => { + return name.length > longestName2.length ? name : longestName2; + }, ``); + if (option.arity === 0) { + for (const name of option.names) { + registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`); + if (name.startsWith(`--`) && !name.startsWith(`--no-`)) { + registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]); + } + } + } else { + let lastNode = injectNode(machine, makeNode()); + for (const name of option.names) + registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`); + for (let t = 0; t < option.arity; ++t) { + const nextNode = injectNode(machine, makeNode()); + registerStatic(machine, lastNode, END_OF_INPUT, NODE_ERRORED, `setOptionArityError`); + registerDynamic(machine, lastNode, `isOptionLike`, NODE_ERRORED, `setOptionArityError`); + const action = option.arity === 1 ? `setStringValue` : `pushStringValue`; + registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action); + lastNode = nextNode; + } + registerShortcut(machine, lastNode, node); + } + } + } +}; +var CliBuilder = class { + constructor({ binaryName = `...` } = {}) { + this.builders = []; + this.opts = { binaryName }; + } + static build(cbs, opts = {}) { + return new CliBuilder(opts).commands(cbs).compile(); + } + getBuilderByIndex(n) { + if (!(n >= 0 && n < this.builders.length)) + throw new Error(`Assertion failed: Out-of-bound command index (${n})`); + return this.builders[n]; + } + commands(cbs) { + for (const cb of cbs) + cb(this.command()); + return this; + } + command() { + const builder = new CommandBuilder(this.builders.length, this.opts); + this.builders.push(builder); + return builder; + } + compile() { + const machines = []; + const contexts = []; + for (const builder of this.builders) { + const { machine: machine2, context } = builder.compile(); + machines.push(machine2); + contexts.push(context); + } + const machine = makeAnyOfMachine(machines); + simplifyMachine(machine); + return { + machine, + contexts, + process: (input) => { + return runMachine(machine, input); + }, + suggest: (input, partial) => { + return suggestMachine(machine, input, partial); + } + }; + } +}; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/platform/node.mjs +var import_tty = __toESM(require("tty"), 1); +function getDefaultColorDepth() { + if (import_tty.default && `getColorDepth` in import_tty.default.WriteStream.prototype) + return import_tty.default.WriteStream.prototype.getColorDepth(); + if (process.env.FORCE_COLOR === `0`) + return 1; + if (process.env.FORCE_COLOR === `1`) + return 8; + if (typeof process.stdout !== `undefined` && process.stdout.isTTY) + return 8; + return 1; +} +var gContextStorage; +function getCaptureActivator(context) { + let contextStorage = gContextStorage; + if (typeof contextStorage === `undefined`) { + if (context.stdout === process.stdout && context.stderr === process.stderr) + return null; + const { AsyncLocalStorage: LazyAsyncLocalStorage } = require("async_hooks"); + contextStorage = gContextStorage = new LazyAsyncLocalStorage(); + const origStdoutWrite = process.stdout._write; + process.stdout._write = function(chunk, encoding, cb) { + const context2 = contextStorage.getStore(); + if (typeof context2 === `undefined`) + return origStdoutWrite.call(this, chunk, encoding, cb); + return context2.stdout.write(chunk, encoding, cb); + }; + const origStderrWrite = process.stderr._write; + process.stderr._write = function(chunk, encoding, cb) { + const context2 = contextStorage.getStore(); + if (typeof context2 === `undefined`) + return origStderrWrite.call(this, chunk, encoding, cb); + return context2.stderr.write(chunk, encoding, cb); + }; + } + return (fn2) => { + return contextStorage.run(context, fn2); + }; +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/HelpCommand.mjs +var HelpCommand = class extends Command { + constructor(contexts) { + super(); + this.contexts = contexts; + this.commands = []; + } + static from(state, contexts) { + const command = new HelpCommand(contexts); + command.path = state.path; + for (const opt of state.options) { + switch (opt.name) { + case `-c`: + { + command.commands.push(Number(opt.value)); + } + break; + case `-i`: + { + command.index = Number(opt.value); + } + break; + } + } + return command; + } + async execute() { + let commands = this.commands; + if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands.length) + commands = [commands[this.index]]; + if (commands.length === 0) { + this.context.stdout.write(this.cli.usage()); + } else if (commands.length === 1) { + this.context.stdout.write(this.cli.usage(this.contexts[commands[0]].commandClass, { detailed: true })); + } else if (commands.length > 1) { + this.context.stdout.write(`Multiple commands match your selection: +`); + this.context.stdout.write(` +`); + let index = 0; + for (const command of this.commands) + this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index++}. `.padStart(5) })); + this.context.stdout.write(` +`); + this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`); + } + } +}; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/Cli.mjs +var errorCommandSymbol = Symbol(`clipanion/errorCommand`); +var Cli = class { + constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors } = {}) { + this.registrations = /* @__PURE__ */ new Map(); + this.builder = new CliBuilder({ binaryName: binaryNameOpt }); + this.binaryLabel = binaryLabel; + this.binaryName = binaryNameOpt; + this.binaryVersion = binaryVersion; + this.enableCapture = enableCapture; + this.enableColors = enableColors; + } + /** + * Creates a new Cli and registers all commands passed as parameters. + * + * @param commandClasses The Commands to register + * @returns The created `Cli` instance + */ + static from(commandClasses, options = {}) { + const cli = new Cli(options); + const resolvedCommandClasses = Array.isArray(commandClasses) ? commandClasses : [commandClasses]; + for (const commandClass of resolvedCommandClasses) + cli.register(commandClass); + return cli; + } + /** + * Registers a command inside the CLI. + */ + register(commandClass) { + var _a; + const specs = /* @__PURE__ */ new Map(); + const command = new commandClass(); + for (const key in command) { + const value = command[key]; + if (typeof value === `object` && value !== null && value[Command.isOption]) { + specs.set(key, value); + } + } + const builder = this.builder.command(); + const index = builder.cliIndex; + const paths = (_a = commandClass.paths) !== null && _a !== void 0 ? _a : command.paths; + if (typeof paths !== `undefined`) + for (const path9 of paths) + builder.addPath(path9); + this.registrations.set(commandClass, { specs, builder, index }); + for (const [key, { definition }] of specs.entries()) + definition(builder, key); + builder.setContext({ + commandClass + }); + } + process(input, userContext) { + const { contexts, process: process5 } = this.builder.compile(); + const state = process5(input); + const context = { + ...Cli.defaultContext, + ...userContext + }; + switch (state.selectedIndex) { + case HELP_COMMAND_INDEX: { + const command = HelpCommand.from(state, contexts); + command.context = context; + return command; + } + default: + { + const { commandClass } = contexts[state.selectedIndex]; + const record = this.registrations.get(commandClass); + if (typeof record === `undefined`) + throw new Error(`Assertion failed: Expected the command class to have been registered.`); + const command = new commandClass(); + command.context = context; + command.path = state.path; + try { + for (const [key, { transformer }] of record.specs.entries()) + command[key] = transformer(record.builder, key, state, context); + return command; + } catch (error) { + error[errorCommandSymbol] = command; + throw error; + } + } + break; + } + } + async run(input, userContext) { + var _a, _b; + let command; + const context = { + ...Cli.defaultContext, + ...userContext + }; + const colored = (_a = this.enableColors) !== null && _a !== void 0 ? _a : context.colorDepth > 1; + if (!Array.isArray(input)) { + command = input; + } else { + try { + command = this.process(input, context); + } catch (error) { + context.stdout.write(this.error(error, { colored })); + return 1; + } + } + if (command.help) { + context.stdout.write(this.usage(command, { colored, detailed: true })); + return 0; + } + command.context = context; + command.cli = { + binaryLabel: this.binaryLabel, + binaryName: this.binaryName, + binaryVersion: this.binaryVersion, + enableCapture: this.enableCapture, + enableColors: this.enableColors, + definitions: () => this.definitions(), + error: (error, opts) => this.error(error, opts), + format: (colored2) => this.format(colored2), + process: (input2, subContext) => this.process(input2, { ...context, ...subContext }), + run: (input2, subContext) => this.run(input2, { ...context, ...subContext }), + usage: (command2, opts) => this.usage(command2, opts) + }; + const activate = this.enableCapture ? (_b = getCaptureActivator(context)) !== null && _b !== void 0 ? _b : noopCaptureActivator : noopCaptureActivator; + let exitCode; + try { + exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0))); + } catch (error) { + context.stdout.write(this.error(error, { colored, command })); + return 1; + } + return exitCode; + } + async runExit(input, context) { + process.exitCode = await this.run(input, context); + } + suggest(input, partial) { + const { suggest: suggest2 } = this.builder.compile(); + return suggest2(input, partial); + } + definitions({ colored = false } = {}) { + const data = []; + for (const [commandClass, { index }] of this.registrations) { + if (typeof commandClass.usage === `undefined`) + continue; + const { usage: path9 } = this.getUsageByIndex(index, { detailed: false }); + const { usage, options } = this.getUsageByIndex(index, { detailed: true, inlineOptions: false }); + const category = typeof commandClass.usage.category !== `undefined` ? formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0; + const description = typeof commandClass.usage.description !== `undefined` ? formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0; + const details = typeof commandClass.usage.details !== `undefined` ? formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0; + const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0; + data.push({ path: path9, usage, category, description, details, examples, options }); + } + return data; + } + usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) { + var _a; + if (command === null) { + for (const commandClass2 of this.registrations.keys()) { + const paths = commandClass2.paths; + const isDocumented = typeof commandClass2.usage !== `undefined`; + const isExclusivelyDefault = !paths || paths.length === 0 || paths.length === 1 && paths[0].length === 0; + const isDefault = isExclusivelyDefault || ((_a = paths === null || paths === void 0 ? void 0 : paths.some((path9) => path9.length === 0)) !== null && _a !== void 0 ? _a : false); + if (isDefault) { + if (command) { + command = null; + break; + } else { + command = commandClass2; + } + } else { + if (isDocumented) { + command = null; + continue; + } + } + } + if (command) { + detailed = true; + } + } + const commandClass = command !== null && command instanceof Command ? command.constructor : command; + let result = ``; + if (!commandClass) { + const commandsByCategories = /* @__PURE__ */ new Map(); + for (const [commandClass2, { index }] of this.registrations.entries()) { + if (typeof commandClass2.usage === `undefined`) + continue; + const category = typeof commandClass2.usage.category !== `undefined` ? formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null; + let categoryCommands = commandsByCategories.get(category); + if (typeof categoryCommands === `undefined`) + commandsByCategories.set(category, categoryCommands = []); + const { usage } = this.getUsageByIndex(index); + categoryCommands.push({ commandClass: commandClass2, usage }); + } + const categoryNames = Array.from(commandsByCategories.keys()).sort((a, b) => { + if (a === null) + return -1; + if (b === null) + return 1; + return a.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` }); + }); + const hasLabel = typeof this.binaryLabel !== `undefined`; + const hasVersion = typeof this.binaryVersion !== `undefined`; + if (hasLabel || hasVersion) { + if (hasLabel && hasVersion) + result += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`; + else if (hasLabel) + result += `${this.format(colored).header(`${this.binaryLabel}`)} +`; + else + result += `${this.format(colored).header(`${this.binaryVersion}`)} +`; + result += ` ${this.format(colored).bold(prefix)}${this.binaryName} +`; + } else { + result += `${this.format(colored).bold(prefix)}${this.binaryName} +`; + } + for (const categoryName of categoryNames) { + const commands = commandsByCategories.get(categoryName).slice().sort((a, b) => { + return a.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` }); + }); + const header = categoryName !== null ? categoryName.trim() : `General commands`; + result += ` +`; + result += `${this.format(colored).header(`${header}`)} +`; + for (const { commandClass: commandClass2, usage } of commands) { + const doc = commandClass2.usage.description || `undocumented`; + result += ` +`; + result += ` ${this.format(colored).bold(usage)} +`; + result += ` ${formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`; + } + } + result += ` +`; + result += formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true }); + } else { + if (!detailed) { + const { usage } = this.getUsageByRegistration(commandClass); + result += `${this.format(colored).bold(prefix)}${usage} +`; + } else { + const { description = ``, details = ``, examples = [] } = commandClass.usage || {}; + if (description !== ``) { + result += formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase()); + result += ` +`; + } + if (details !== `` || examples.length > 0) { + result += `${this.format(colored).header(`Usage`)} +`; + result += ` +`; + } + const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false }); + result += `${this.format(colored).bold(prefix)}${usage} +`; + if (options.length > 0) { + result += ` +`; + result += `${this.format(colored).header(`Options`)} +`; + const maxDefinitionLength = options.reduce((length, option) => { + return Math.max(length, option.definition.length); + }, 0); + result += ` +`; + for (const { definition, description: description2 } of options) { + result += ` ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))} ${formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`; + } + } + if (details !== ``) { + result += ` +`; + result += `${this.format(colored).header(`Details`)} +`; + result += ` +`; + result += formatMarkdownish(details, { format: this.format(colored), paragraphs: true }); + } + if (examples.length > 0) { + result += ` +`; + result += `${this.format(colored).header(`Examples`)} +`; + for (const [description2, example] of examples) { + result += ` +`; + result += formatMarkdownish(description2, { format: this.format(colored), paragraphs: false }); + result += `${example.replace(/^/m, ` ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)} +`; + } + } + } + } + return result; + } + error(error, _a) { + var _b; + var { colored, command = (_b = error[errorCommandSymbol]) !== null && _b !== void 0 ? _b : null } = _a === void 0 ? {} : _a; + if (!(error instanceof Error)) + error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`); + let result = ``; + let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`); + if (name === `Error`) + name = `Internal Error`; + result += `${this.format(colored).error(name)}: ${error.message} +`; + const meta = error.clipanion; + if (typeof meta !== `undefined`) { + if (meta.type === `usage`) { + result += ` +`; + result += this.usage(command); + } + } else { + if (error.stack) { + result += `${error.stack.replace(/^.*\n/, ``)} +`; + } + } + return result; + } + format(colored) { + var _a; + return ((_a = colored !== null && colored !== void 0 ? colored : this.enableColors) !== null && _a !== void 0 ? _a : Cli.defaultContext.colorDepth > 1) ? richFormat : textFormat; + } + getUsageByRegistration(klass, opts) { + const record = this.registrations.get(klass); + if (typeof record === `undefined`) + throw new Error(`Assertion failed: Unregistered command`); + return this.getUsageByIndex(record.index, opts); + } + getUsageByIndex(n, opts) { + return this.builder.getBuilderByIndex(n).usage(opts); + } +}; +Cli.defaultContext = { + env: process.env, + stdin: process.stdin, + stdout: process.stdout, + stderr: process.stderr, + colorDepth: getDefaultColorDepth() +}; +function noopCaptureActivator(fn2) { + return fn2(); +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/builtins/index.mjs +var builtins_exports = {}; +__export(builtins_exports, { + DefinitionsCommand: () => DefinitionsCommand, + HelpCommand: () => HelpCommand2, + VersionCommand: () => VersionCommand +}); + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/builtins/definitions.mjs +var DefinitionsCommand = class extends Command { + async execute() { + this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)} +`); + } +}; +DefinitionsCommand.paths = [[`--clipanion=definitions`]]; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/builtins/help.mjs +var HelpCommand2 = class extends Command { + async execute() { + this.context.stdout.write(this.cli.usage()); + } +}; +HelpCommand2.paths = [[`-h`], [`--help`]]; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/builtins/version.mjs +var VersionCommand = class extends Command { + async execute() { + var _a; + this.context.stdout.write(`${(_a = this.cli.binaryVersion) !== null && _a !== void 0 ? _a : ``} +`); + } +}; +VersionCommand.paths = [[`-v`], [`--version`]]; + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/index.mjs +var options_exports = {}; +__export(options_exports, { + Array: () => Array2, + Boolean: () => Boolean2, + Counter: () => Counter, + Proxy: () => Proxy2, + Rest: () => Rest, + String: () => String2, + applyValidator: () => applyValidator, + cleanValidationError: () => cleanValidationError, + formatError: () => formatError, + isOptionSymbol: () => isOptionSymbol, + makeCommandOption: () => makeCommandOption, + rerouteArguments: () => rerouteArguments +}); + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/Array.mjs +function Array2(descriptor, initialValueBase, optsBase) { + const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); + const { arity = 1 } = opts; + const optNames = descriptor.split(`,`); + const nameSet = new Set(optNames); + return makeCommandOption({ + definition(builder) { + builder.addOption({ + names: optNames, + arity, + hidden: opts === null || opts === void 0 ? void 0 : opts.hidden, + description: opts === null || opts === void 0 ? void 0 : opts.description, + required: opts.required + }); + }, + transformer(builder, key, state) { + let usedName; + let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0; + for (const { name, value } of state.options) { + if (!nameSet.has(name)) + continue; + usedName = name; + currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : []; + currentValue.push(value); + } + if (typeof currentValue !== `undefined`) { + return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator); + } else { + return currentValue; + } + } + }); +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/Boolean.mjs +function Boolean2(descriptor, initialValueBase, optsBase) { + const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); + const optNames = descriptor.split(`,`); + const nameSet = new Set(optNames); + return makeCommandOption({ + definition(builder) { + builder.addOption({ + names: optNames, + allowBinding: false, + arity: 0, + hidden: opts.hidden, + description: opts.description, + required: opts.required + }); + }, + transformer(builer, key, state) { + let currentValue = initialValue; + for (const { name, value } of state.options) { + if (!nameSet.has(name)) + continue; + currentValue = value; + } + return currentValue; + } + }); +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/Counter.mjs +function Counter(descriptor, initialValueBase, optsBase) { + const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); + const optNames = descriptor.split(`,`); + const nameSet = new Set(optNames); + return makeCommandOption({ + definition(builder) { + builder.addOption({ + names: optNames, + allowBinding: false, + arity: 0, + hidden: opts.hidden, + description: opts.description, + required: opts.required + }); + }, + transformer(builder, key, state) { + let currentValue = initialValue; + for (const { name, value } of state.options) { + if (!nameSet.has(name)) + continue; + currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0; + if (!value) { + currentValue = 0; + } else { + currentValue += 1; + } + } + return currentValue; + } + }); +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/Proxy.mjs +function Proxy2(opts = {}) { + return makeCommandOption({ + definition(builder, key) { + var _a; + builder.addProxy({ + name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, + required: opts.required + }); + }, + transformer(builder, key, state) { + return state.positionals.map(({ value }) => value); + } + }); +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/Rest.mjs +function Rest(opts = {}) { + return makeCommandOption({ + definition(builder, key) { + var _a; + builder.addRest({ + name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, + required: opts.required + }); + }, + transformer(builder, key, state) { + const isRestPositional = (index) => { + const positional = state.positionals[index]; + if (positional.extra === NoLimits) + return true; + if (positional.extra === false && index < builder.arity.leading.length) + return true; + return false; + }; + let count = 0; + while (count < state.positionals.length && isRestPositional(count)) + count += 1; + return state.positionals.splice(0, count).map(({ value }) => value); + } + }); +} + +// .yarn/__virtual__/clipanion-virtual-cc0a4bf4ff/0/cache/clipanion-npm-3.2.0-8b68f8056b-fb3428b745.zip/node_modules/clipanion/lib/advanced/options/String.mjs +function StringOption(descriptor, initialValueBase, optsBase) { + const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); + const { arity = 1 } = opts; + const optNames = descriptor.split(`,`); + const nameSet = new Set(optNames); + return makeCommandOption({ + definition(builder) { + builder.addOption({ + names: optNames, + arity: opts.tolerateBoolean ? 0 : arity, + hidden: opts.hidden, + description: opts.description, + required: opts.required + }); + }, + transformer(builder, key, state, context) { + let usedName; + let currentValue = initialValue; + if (typeof opts.env !== `undefined` && context.env[opts.env]) { + usedName = opts.env; + currentValue = context.env[opts.env]; + } + for (const { name, value } of state.options) { + if (!nameSet.has(name)) + continue; + usedName = name; + currentValue = value; + } + if (typeof currentValue === `string`) { + return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator); + } else { + return currentValue; + } + } + }); +} +function StringPositional(opts = {}) { + const { required = true } = opts; + return makeCommandOption({ + definition(builder, key) { + var _a; + builder.addPositional({ + name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, + required: opts.required + }); + }, + transformer(builder, key, state) { + var _a; + for (let i = 0; i < state.positionals.length; ++i) { + if (state.positionals[i].extra === NoLimits) + continue; + if (required && state.positionals[i].extra === true) + continue; + if (!required && state.positionals[i].extra === false) + continue; + const [positional] = state.positionals.splice(i, 1); + return applyValidator((_a = opts.name) !== null && _a !== void 0 ? _a : key, positional.value, opts.validator); + } + return void 0; + } + }); +} +function String2(descriptor, ...args) { + if (typeof descriptor === `string`) { + return StringOption(descriptor, ...args); + } else { + return StringPositional(descriptor); + } +} + +// package.json +var version = "0.18.0"; + +// sources/Engine.ts +var import_fs3 = __toESM(require("fs")); +var import_path4 = __toESM(require("path")); +var import_process2 = __toESM(require("process")); +var import_semver3 = __toESM(require_semver2()); + +// config.json +var config_default = { + definitions: { + npm: { + default: "9.6.7+sha1.11902e3f00d4175bbd305e646ed82c2a14f1f588", + fetchLatestFrom: { + type: "npm", + package: "npm" + }, + transparent: { + commands: [ + [ + "npm", + "init" + ], + [ + "npx" + ] + ] + }, + ranges: { + "*": { + url: "https://registry.npmjs.org/npm/-/npm-{}.tgz", + bin: { + npm: "./bin/npm-cli.js", + npx: "./bin/npx-cli.js" + }, + registry: { + type: "npm", + package: "npm" + } + } + } + }, + pnpm: { + default: "8.5.1+sha1.97019f5a8ec2416123506419ab36dd558e4c72eb", + fetchLatestFrom: { + type: "npm", + package: "pnpm" + }, + transparent: { + commands: [ + [ + "pnpm", + "init" + ], + [ + "pnpx" + ], + [ + "pnpm", + "dlx" + ] + ] + }, + ranges: { + "<6.0.0": { + url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz", + bin: { + pnpm: "./bin/pnpm.js", + pnpx: "./bin/pnpx.js" + }, + registry: { + type: "npm", + package: "pnpm" + } + }, + ">=6.0.0": { + url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz", + bin: { + pnpm: "./bin/pnpm.cjs", + pnpx: "./bin/pnpx.cjs" + }, + registry: { + type: "npm", + package: "pnpm" + } + } + } + }, + yarn: { + default: "1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447", + fetchLatestFrom: { + type: "npm", + package: "yarn" + }, + transparent: { + default: "3.5.1+sha224.13b84a541cae0695210d8c99f1dbd0e89ef09d93e166a59a8f8eb7ec", + commands: [ + [ + "yarn", + "dlx" + ] + ] + }, + ranges: { + "<2.0.0": { + url: "https://registry.yarnpkg.com/yarn/-/yarn-{}.tgz", + bin: { + yarn: "./bin/yarn.js", + yarnpkg: "./bin/yarn.js" + }, + registry: { + type: "npm", + package: "yarn" + } + }, + ">=2.0.0": { + name: "yarn", + url: "https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js", + bin: [ + "yarn", + "yarnpkg" + ], + registry: { + type: "url", + url: "https://repo.yarnpkg.com/tags", + fields: { + tags: "latest", + versions: "tags" + } + } + } + } + } + } +}; + +// sources/corepackUtils.ts +var import_crypto = require("crypto"); +var import_events = require("events"); +var import_fs2 = __toESM(require("fs")); +var import_path3 = __toESM(require("path")); +var import_semver = __toESM(require_semver2()); + +// sources/debugUtils.ts +var import_debug = __toESM(require_src()); +var log = (0, import_debug.default)(`corepack`); + +// sources/folderUtils.ts +var import_fs = require("fs"); +var import_os = require("os"); +var import_path = require("path"); +var import_process = __toESM(require("process")); +function getInstallFolder() { + if (import_process.default.env.COREPACK_HOME == null) { + const oldCorepackDefaultHome = (0, import_path.join)((0, import_os.homedir)(), `.node`, `corepack`); + const newCorepackDefaultHome = (0, import_path.join)( + import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)( + (0, import_os.homedir)(), + import_process.default.platform === `win32` ? `AppData/Local` : `.cache` + ), + `node/corepack` + ); + if ((0, import_fs.existsSync)(oldCorepackDefaultHome) && !(0, import_fs.existsSync)(newCorepackDefaultHome)) { + (0, import_fs.mkdirSync)(newCorepackDefaultHome, { recursive: true }); + (0, import_fs.renameSync)(oldCorepackDefaultHome, newCorepackDefaultHome); + } + return newCorepackDefaultHome; + } + return import_process.default.env.COREPACK_HOME ?? (0, import_path.join)( + import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)((0, import_os.homedir)(), import_process.default.platform === `win32` ? `AppData/Local` : `.cache`), + `node/corepack` + ); +} +function getTemporaryFolder(target = (0, import_os.tmpdir)()) { + (0, import_fs.mkdirSync)(target, { recursive: true }); + while (true) { + const rnd = Math.random() * 4294967296; + const hex = rnd.toString(16).padStart(8, `0`); + const path9 = (0, import_path.join)(target, `corepack-${import_process.default.pid}-${hex}`); + try { + (0, import_fs.mkdirSync)(path9); + return path9; + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + } +} + +// sources/fsUtils.ts +var import_promises = require("fs/promises"); +async function rimraf(path9) { + return (0, import_promises.rm)(path9, { recursive: true, force: true }); +} + +// sources/httpUtils.ts +async function fetchUrlStream(url, options = {}) { + if (process.env.COREPACK_ENABLE_NETWORK === `0`) + throw new UsageError(`Network access disabled by the environment; can't reach ${url}`); + const { default: https } = await import("https"); + const { ProxyAgent } = await Promise.resolve().then(() => __toESM(require_dist11())); + const proxyAgent = new ProxyAgent(); + return new Promise((resolve, reject) => { + const request = https.get(url, { ...options, agent: proxyAgent }, (response) => { + const statusCode = response.statusCode; + if (statusCode != null && statusCode >= 200 && statusCode < 300) + return resolve(response); + return reject(new Error(`Server answered with HTTP ${statusCode} when performing the request to ${url}; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting`)); + }); + request.on(`error`, (err) => { + reject(new Error(`Error when performing the request to ${url}; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting`)); + }); + }); +} +async function fetchAsBuffer(url, options) { + const response = await fetchUrlStream(url, options); + return new Promise((resolve, reject) => { + const chunks = []; + response.on(`data`, (chunk) => { + chunks.push(chunk); + }); + response.on(`error`, (error) => { + reject(error); + }); + response.on(`end`, () => { + resolve(Buffer.concat(chunks)); + }); + }); +} +async function fetchAsJson(url, options) { + const buffer = await fetchAsBuffer(url, options); + const asText = buffer.toString(); + try { + return JSON.parse(asText); + } catch (error) { + const truncated = asText.length > 30 ? `${asText.slice(0, 30)}...` : asText; + throw new Error(`Couldn't parse JSON data: ${JSON.stringify(truncated)}`); + } +} + +// sources/nodeUtils.ts +var import_module = __toESM(require("module")); +var import_path2 = __toESM(require("path")); +function loadMainModule(id) { + const modulePath = import_module.default._resolveFilename(id, null, true); + const module2 = new import_module.default(modulePath, void 0); + module2.filename = modulePath; + module2.paths = import_module.default._nodeModulePaths(import_path2.default.dirname(modulePath)); + import_module.default._cache[modulePath] = module2; + process.mainModule = module2; + module2.id = `.`; + try { + return module2.load(modulePath); + } catch (error) { + delete import_module.default._cache[modulePath]; + throw error; + } +} + +// sources/npmRegistryUtils.ts +var DEFAULT_HEADERS = { + [`Accept`]: `application/vnd.npm.install-v1+json` +}; +var DEFAULT_NPM_REGISTRY_URL = `https://registry.npmjs.org`; +async function fetchAsJson2(packageName) { + const npmRegistryUrl = process.env.COREPACK_NPM_REGISTRY || DEFAULT_NPM_REGISTRY_URL; + if (process.env.COREPACK_ENABLE_NETWORK === `0`) + throw new UsageError(`Network access disabled by the environment; can't reach npm repository ${npmRegistryUrl}`); + const headers = { ...DEFAULT_HEADERS }; + if (`COREPACK_NPM_TOKEN` in process.env) { + headers.authorization = `Bearer ${process.env.COREPACK_NPM_TOKEN}`; + } else if (`COREPACK_NPM_USERNAME` in process.env && `COREPACK_NPM_PASSWORD` in process.env) { + const encodedCreds = Buffer.from(`${process.env.COREPACK_NPM_USERNAME}:${process.env.COREPACK_NPM_PASSWORD}`, `utf8`).toString(`base64`); + headers.authorization = `Basic ${encodedCreds}`; + } + return fetchAsJson(`${npmRegistryUrl}/${packageName}`, { headers }); +} +async function fetchLatestStableVersion(packageName) { + const metadata = await fetchAsJson2(packageName); + const { latest } = metadata[`dist-tags`]; + if (latest === void 0) + throw new Error(`${packageName} does not have a "latest" tag.`); + const { shasum } = metadata.versions[latest].dist; + return `${latest}+sha1.${shasum}`; +} +async function fetchAvailableTags(packageName) { + const metadata = await fetchAsJson2(packageName); + return metadata[`dist-tags`]; +} +async function fetchAvailableVersions(packageName) { + const metadata = await fetchAsJson2(packageName); + return Object.keys(metadata.versions); +} + +// sources/corepackUtils.ts +async function fetchLatestStableVersion2(spec) { + switch (spec.type) { + case `npm`: { + return await fetchLatestStableVersion(spec.package); + } + case `url`: { + const data = await fetchAsJson(spec.url); + return data[spec.fields.tags].stable; + } + default: { + throw new Error(`Unsupported specification ${JSON.stringify(spec)}`); + } + } +} +async function fetchAvailableTags2(spec) { + switch (spec.type) { + case `npm`: { + return await fetchAvailableTags(spec.package); + } + case `url`: { + const data = await fetchAsJson(spec.url); + return data[spec.fields.tags]; + } + default: { + throw new Error(`Unsupported specification ${JSON.stringify(spec)}`); + } + } +} +async function fetchAvailableVersions2(spec) { + switch (spec.type) { + case `npm`: { + return await fetchAvailableVersions(spec.package); + } + case `url`: { + const data = await fetchAsJson(spec.url); + const field = data[spec.fields.versions]; + return Array.isArray(field) ? field : Object.keys(field); + } + default: { + throw new Error(`Unsupported specification ${JSON.stringify(spec)}`); + } + } +} +async function findInstalledVersion(installTarget, descriptor) { + const installFolder = import_path3.default.join(installTarget, descriptor.name); + let cacheDirectory; + try { + cacheDirectory = await import_fs2.default.promises.opendir(installFolder); + } catch (error) { + if (error.code === `ENOENT`) { + return null; + } else { + throw error; + } + } + const range = new import_semver.default.Range(descriptor.range); + let bestMatch = null; + let maxSV = void 0; + for await (const { name } of cacheDirectory) { + if (name.startsWith(`.`)) + continue; + if (range.test(name) && maxSV?.compare(name) !== 1) { + bestMatch = name; + maxSV = new import_semver.default.SemVer(bestMatch); + } + } + return bestMatch; +} +async function installVersion(installTarget, locator, { spec }) { + const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar())); + const { version: version2, build } = import_semver.default.parse(locator.reference); + const installFolder = import_path3.default.join(installTarget, locator.name, version2); + if (import_fs2.default.existsSync(installFolder)) { + log(`Reusing ${locator.name}@${locator.reference}`); + return installFolder; + } + const defaultNpmRegistryURL = spec.url.replace(`{}`, version2); + const url = process.env.COREPACK_NPM_REGISTRY ? defaultNpmRegistryURL.replace( + DEFAULT_NPM_REGISTRY_URL, + () => process.env.COREPACK_NPM_REGISTRY + ) : defaultNpmRegistryURL; + const tmpFolder = getTemporaryFolder(installTarget); + log(`Installing ${locator.name}@${version2} from ${url} to ${tmpFolder}`); + const stream = await fetchUrlStream(url); + const parsedUrl = new URL(url); + const ext = import_path3.default.posix.extname(parsedUrl.pathname); + let outputFile = null; + let sendTo; + if (ext === `.tgz`) { + sendTo = tar.x({ strip: 1, cwd: tmpFolder }); + } else if (ext === `.js`) { + outputFile = import_path3.default.join(tmpFolder, import_path3.default.posix.basename(parsedUrl.pathname)); + sendTo = import_fs2.default.createWriteStream(outputFile); + } + stream.pipe(sendTo); + const hash = build[0] ? stream.pipe((0, import_crypto.createHash)(build[0])) : null; + await (0, import_events.once)(sendTo, `finish`); + const actualHash = hash?.digest(`hex`); + if (actualHash !== build[1]) + throw new Error(`Mismatch hashes. Expected ${build[1]}, got ${actualHash}`); + await import_fs2.default.promises.mkdir(import_path3.default.dirname(installFolder), { recursive: true }); + try { + await import_fs2.default.promises.rename(tmpFolder, installFolder); + } catch (err) { + if (err.code === `ENOTEMPTY` || // On Windows the error code is EPERM so we check if it is a directory + err.code === `EPERM` && (await import_fs2.default.promises.stat(installFolder)).isDirectory()) { + log(`Another instance of corepack installed ${locator.name}@${locator.reference}`); + await rimraf(tmpFolder); + } else { + throw err; + } + } + log(`Install finished`); + return installFolder; +} +async function runVersion(installSpec, binName, args) { + let binPath = null; + if (Array.isArray(installSpec.spec.bin)) { + if (installSpec.spec.bin.some((bin) => bin === binName)) { + const parsedUrl = new URL(installSpec.spec.url); + const ext = import_path3.default.posix.extname(parsedUrl.pathname); + if (ext === `.js`) { + binPath = import_path3.default.join(installSpec.location, import_path3.default.posix.basename(parsedUrl.pathname)); + } + } + } else { + for (const [name, dest] of Object.entries(installSpec.spec.bin)) { + if (name === binName) { + binPath = import_path3.default.join(installSpec.location, dest); + break; + } + } + } + if (!binPath) + throw new Error(`Assertion failed: Unable to locate path for bin '${binName}'`); + await Promise.resolve().then(() => __toESM(require_v8_compile_cache())); + process.env.COREPACK_ROOT = import_path3.default.dirname(require.resolve("corepack/package.json")); + process.argv = [ + process.execPath, + binPath, + ...args + ]; + process.execArgv = []; + return loadMainModule(binPath); +} + +// sources/semverUtils.ts +var import_semver2 = __toESM(require_semver2()); +function satisfiesWithPrereleases(version2, range, loose = false) { + let semverRange; + try { + semverRange = new import_semver2.default.Range(range, loose); + } catch (err) { + return false; + } + if (!version2) + return false; + let semverVersion; + try { + semverVersion = new import_semver2.default.SemVer(version2, semverRange.loose); + if (semverVersion.prerelease) { + semverVersion.prerelease = []; + } + } catch (err) { + return false; + } + return semverRange.set.some((comparatorSet) => { + for (const comparator of comparatorSet) + if (comparator.semver.prerelease) + comparator.semver.prerelease = []; + return comparatorSet.every((comparator) => { + return comparator.test(semverVersion); + }); + }); +} + +// sources/types.ts +var SupportedPackageManagers = /* @__PURE__ */ ((SupportedPackageManagers3) => { + SupportedPackageManagers3["Npm"] = `npm`; + SupportedPackageManagers3["Pnpm"] = `pnpm`; + SupportedPackageManagers3["Yarn"] = `yarn`; + return SupportedPackageManagers3; +})(SupportedPackageManagers || {}); +var SupportedPackageManagerSet = new Set( + Object.values(SupportedPackageManagers) +); +var SupportedPackageManagerSetWithoutNpm = new Set( + Object.values(SupportedPackageManagers) +); +SupportedPackageManagerSetWithoutNpm.delete("npm" /* Npm */); +function isSupportedPackageManager(value) { + return SupportedPackageManagerSet.has(value); +} + +// sources/Engine.ts +var Engine = class { + constructor(config = config_default) { + this.config = config; + } + getPackageManagerFor(binaryName) { + for (const packageManager of SupportedPackageManagerSet) { + for (const rangeDefinition of Object.values(this.config.definitions[packageManager].ranges)) { + const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin); + if (bins.includes(binaryName)) { + return packageManager; + } + } + } + return null; + } + getBinariesFor(name) { + const binNames = /* @__PURE__ */ new Set(); + for (const rangeDefinition of Object.values(this.config.definitions[name].ranges)) { + const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin); + for (const name2 of bins) { + binNames.add(name2); + } + } + return binNames; + } + async getDefaultDescriptors() { + const locators = []; + for (const name of SupportedPackageManagerSet) + locators.push({ name, range: await this.getDefaultVersion(name) }); + return locators; + } + async getDefaultVersion(packageManager) { + const definition = this.config.definitions[packageManager]; + if (typeof definition === `undefined`) + throw new UsageError(`This package manager (${packageManager}) isn't supported by this corepack build`); + let lastKnownGood; + try { + lastKnownGood = JSON.parse(await import_fs3.default.promises.readFile(this.getLastKnownGoodFile(), `utf8`)); + } catch { + } + if (typeof lastKnownGood === `object` && lastKnownGood !== null && Object.prototype.hasOwnProperty.call(lastKnownGood, packageManager)) { + const override = lastKnownGood[packageManager]; + if (typeof override === `string`) { + return override; + } + } + if (import_process2.default.env.COREPACK_DEFAULT_TO_LATEST === `0`) + return definition.default; + const reference = await fetchLatestStableVersion2(definition.fetchLatestFrom); + await this.activatePackageManager({ + name: packageManager, + reference + }); + return reference; + } + async activatePackageManager(locator) { + const lastKnownGoodFile = this.getLastKnownGoodFile(); + let lastKnownGood; + try { + lastKnownGood = JSON.parse(await import_fs3.default.promises.readFile(lastKnownGoodFile, `utf8`)); + } catch { + } + if (typeof lastKnownGood !== `object` || lastKnownGood === null) + lastKnownGood = {}; + lastKnownGood[locator.name] = locator.reference; + await import_fs3.default.promises.mkdir(import_path4.default.dirname(lastKnownGoodFile), { recursive: true }); + await import_fs3.default.promises.writeFile(lastKnownGoodFile, `${JSON.stringify(lastKnownGood, null, 2)} +`); + } + async ensurePackageManager(locator) { + const definition = this.config.definitions[locator.name]; + if (typeof definition === `undefined`) + throw new UsageError(`This package manager (${locator.name}) isn't supported by this corepack build`); + const ranges = Object.keys(definition.ranges).reverse(); + const range = ranges.find((range2) => satisfiesWithPrereleases(locator.reference, range2)); + if (typeof range === `undefined`) + throw new Error(`Assertion failed: Specified resolution (${locator.reference}) isn't supported by any of ${ranges.join(`, `)}`); + const installedLocation = await installVersion(getInstallFolder(), locator, { + spec: definition.ranges[range] + }); + return { + location: installedLocation, + spec: definition.ranges[range] + }; + } + async resolveDescriptor(descriptor, { allowTags = false, useCache = true } = {}) { + const definition = this.config.definitions[descriptor.name]; + if (typeof definition === `undefined`) + throw new UsageError(`This package manager (${descriptor.name}) isn't supported by this corepack build`); + let finalDescriptor = descriptor; + if (!import_semver3.default.valid(descriptor.range) && !import_semver3.default.validRange(descriptor.range)) { + if (!allowTags) + throw new UsageError(`Packages managers can't be referended via tags in this context`); + const ranges = Object.keys(definition.ranges); + const tagRange = ranges[ranges.length - 1]; + const tags = await fetchAvailableTags2(definition.ranges[tagRange].registry); + if (!Object.prototype.hasOwnProperty.call(tags, descriptor.range)) + throw new UsageError(`Tag not found (${descriptor.range})`); + finalDescriptor = { + name: descriptor.name, + range: tags[descriptor.range] + }; + } + const cachedVersion = await findInstalledVersion(getInstallFolder(), finalDescriptor); + if (cachedVersion !== null && useCache) + return { name: finalDescriptor.name, reference: cachedVersion }; + if (import_semver3.default.valid(finalDescriptor.range)) + return { name: finalDescriptor.name, reference: finalDescriptor.range }; + const candidateRangeDefinitions = Object.keys(definition.ranges).filter((range) => { + return satisfiesWithPrereleases(finalDescriptor.range, range); + }); + const tagResolutions = await Promise.all(candidateRangeDefinitions.map(async (range) => { + return [range, await fetchAvailableVersions2(definition.ranges[range].registry)]; + })); + const resolutionMap = /* @__PURE__ */ new Map(); + for (const [range, resolutions] of tagResolutions) + for (const entry of resolutions) + resolutionMap.set(entry, range); + const candidates = [...resolutionMap.keys()]; + const maxSatisfying = import_semver3.default.maxSatisfying(candidates, finalDescriptor.range); + if (maxSatisfying === null) + return null; + return { name: finalDescriptor.name, reference: maxSatisfying }; + } + getLastKnownGoodFile() { + return import_path4.default.join(getInstallFolder(), `lastKnownGood.json`); + } +}; + +// sources/commands/Disable.ts +var import_fs4 = __toESM(require("fs")); +var import_path5 = __toESM(require("path")); +var import_which = __toESM(require_lib2()); +var DisableCommand = class extends Command { + constructor() { + super(...arguments); + this.installDirectory = options_exports.String(`--install-directory`, { + description: `Where the shims are located` + }); + this.names = options_exports.Rest(); + } + async execute() { + let installDirectory = this.installDirectory; + if (typeof installDirectory === `undefined`) + installDirectory = import_path5.default.dirname(await (0, import_which.default)(`corepack`)); + const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names; + for (const name of new Set(names)) { + if (!isSupportedPackageManager(name)) + throw new UsageError(`Invalid package manager name '${name}'`); + for (const binName of this.context.engine.getBinariesFor(name)) { + if (process.platform === `win32`) { + await this.removeWin32Link(installDirectory, binName); + } else { + await this.removePosixLink(installDirectory, binName); + } + } + } + } + async removePosixLink(installDirectory, binName) { + const file = import_path5.default.join(installDirectory, binName); + try { + await import_fs4.default.promises.unlink(file); + } catch (err) { + if (err.code !== `ENOENT`) { + throw err; + } + } + } + async removeWin32Link(installDirectory, binName) { + for (const ext of [``, `.ps1`, `.cmd`]) { + const file = import_path5.default.join(installDirectory, `${binName}${ext}`); + try { + await import_fs4.default.promises.unlink(file); + } catch (err) { + if (err.code !== `ENOENT`) { + throw err; + } + } + } + } +}; +DisableCommand.paths = [ + [`disable`] +]; +DisableCommand.usage = Command.Usage({ + description: `Remove the Corepack shims from the install directory`, + details: ` + When run, this command will remove the shims for the specified package managers from the install directory, or all shims if no parameters are passed. + + By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag. + `, + examples: [[ + `Disable all shims, removing them if they're next to the \`coreshim\` binary`, + `$0 disable` + ], [ + `Disable all shims, removing them from the specified directory`, + `$0 disable --install-directory /path/to/bin` + ], [ + `Disable the Yarn shim only`, + `$0 disable yarn` + ]] +}); + +// sources/commands/Enable.ts +var import_cmd_shim = __toESM(require_cmd_shim()); +var import_fs5 = __toESM(require("fs")); +var import_path6 = __toESM(require("path")); +var import_which2 = __toESM(require_lib2()); +var EnableCommand = class extends Command { + constructor() { + super(...arguments); + this.installDirectory = options_exports.String(`--install-directory`, { + description: `Where the shims are to be installed` + }); + this.names = options_exports.Rest(); + } + async execute() { + let installDirectory = this.installDirectory; + if (typeof installDirectory === `undefined`) + installDirectory = import_path6.default.dirname(await (0, import_which2.default)(`corepack`)); + installDirectory = import_fs5.default.realpathSync(installDirectory); + const manifestPath = require.resolve("corepack/package.json"); + const distFolder = import_path6.default.join(import_path6.default.dirname(manifestPath), `dist`); + if (!import_fs5.default.existsSync(distFolder)) + throw new Error(`Assertion failed: The stub folder doesn't exist`); + const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names; + for (const name of new Set(names)) { + if (!isSupportedPackageManager(name)) + throw new UsageError(`Invalid package manager name '${name}'`); + for (const binName of this.context.engine.getBinariesFor(name)) { + if (process.platform === `win32`) { + await this.generateWin32Link(installDirectory, distFolder, binName); + } else { + await this.generatePosixLink(installDirectory, distFolder, binName); + } + } + } + } + async generatePosixLink(installDirectory, distFolder, binName) { + const file = import_path6.default.join(installDirectory, binName); + const symlink = import_path6.default.relative(installDirectory, import_path6.default.join(distFolder, `${binName}.js`)); + if (import_fs5.default.existsSync(file)) { + const currentSymlink = await import_fs5.default.promises.readlink(file); + if (currentSymlink !== symlink) { + await import_fs5.default.promises.unlink(file); + } else { + return; + } + } + await import_fs5.default.promises.symlink(symlink, file); + } + async generateWin32Link(installDirectory, distFolder, binName) { + const file = import_path6.default.join(installDirectory, binName); + await (0, import_cmd_shim.default)(import_path6.default.join(distFolder, `${binName}.js`), file, { + createCmdFile: true + }); + } +}; +EnableCommand.paths = [ + [`enable`] +]; +EnableCommand.usage = Command.Usage({ + description: `Add the Corepack shims to the install directories`, + details: ` + When run, this commmand will check whether the shims for the specified package managers can be found with the correct values inside the install directory. If not, or if they don't exist, they will be created. + + By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag. + `, + examples: [[ + `Enable all shims, putting them next to the \`corepack\` binary`, + `$0 enable` + ], [ + `Enable all shims, putting them in the specified directory`, + `$0 enable --install-directory /path/to/folder` + ], [ + `Enable the Yarn shim only`, + `$0 enable yarn` + ]] +}); + +// sources/commands/Hydrate.ts +var import_promises2 = require("fs/promises"); +var import_path7 = __toESM(require("path")); +var HydrateCommand = class extends Command { + constructor() { + super(...arguments); + this.activate = options_exports.Boolean(`--activate`, false, { + description: `If true, this release will become the default one for this package manager` + }); + this.fileName = options_exports.String(); + } + async execute() { + const installFolder = getInstallFolder(); + const fileName = import_path7.default.resolve(this.context.cwd, this.fileName); + const archiveEntries = /* @__PURE__ */ new Map(); + let hasShortEntries = false; + const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar())); + await tar.t({ file: fileName, onentry: (entry) => { + const segments = entry.path.split(/\//g); + if (segments.length < 3) { + hasShortEntries = true; + } else { + let references = archiveEntries.get(segments[0]); + if (typeof references === `undefined`) + archiveEntries.set(segments[0], references = /* @__PURE__ */ new Set()); + references.add(segments[1]); + } + } }); + if (hasShortEntries || archiveEntries.size < 1) + throw new UsageError(`Invalid archive format; did it get generated by 'corepack prepare'?`); + for (const [name, references] of archiveEntries) { + for (const reference of references) { + if (!isSupportedPackageManager(name)) + throw new UsageError(`Unsupported package manager '${name}'`); + if (this.activate) + this.context.stdout.write(`Hydrating ${name}@${reference} for immediate activation... +`); + else + this.context.stdout.write(`Hydrating ${name}@${reference}... +`); + await (0, import_promises2.mkdir)(installFolder, { recursive: true }); + await tar.x({ file: fileName, cwd: installFolder }, [`${name}/${reference}`]); + if (this.activate) { + await this.context.engine.activatePackageManager({ name, reference }); + } + } + } + this.context.stdout.write(`All done! +`); + } +}; +HydrateCommand.paths = [ + [`hydrate`] +]; +HydrateCommand.usage = Command.Usage({ + description: `Import a package manager into the cache`, + details: ` + This command unpacks a package manager archive into the cache. The archive must have been generated by the \`corepack prepare\` command - no other will work. + `, + examples: [[ + `Import a package manager in the cache`, + `$0 hydrate corepack.tgz` + ]] +}); + +// sources/commands/Prepare.ts +var import_promises3 = require("fs/promises"); +var import_path9 = __toESM(require("path")); + +// sources/specUtils.ts +var import_fs6 = __toESM(require("fs")); +var import_path8 = __toESM(require("path")); +var import_semver4 = __toESM(require_semver2()); +var nodeModulesRegExp = /[\\/]node_modules[\\/](@[^\\/]*[\\/])?([^@\\/][^\\/]*)$/; +function parseSpec(raw, source, { enforceExactVersion = true } = {}) { + if (typeof raw !== `string`) + throw new UsageError(`Invalid package manager specification in ${source}; expected a string`); + const match = raw.match(/^(?!_)(.+)@(.+)$/); + if (match === null || enforceExactVersion && !import_semver4.default.valid(match[2])) + throw new UsageError(`Invalid package manager specification in ${source}; expected a semver version${enforceExactVersion ? `` : `, range, or tag`}`); + if (!isSupportedPackageManager(match[1])) + throw new UsageError(`Unsupported package manager specification (${match})`); + return { + name: match[1], + range: match[2] + }; +} +async function findProjectSpec(initialCwd, locator, { transparent = false } = {}) { + const fallbackLocator = { name: locator.name, range: locator.reference }; + if (process.env.COREPACK_ENABLE_PROJECT_SPEC === `0`) + return fallbackLocator; + if (process.env.COREPACK_ENABLE_STRICT === `0`) + transparent = true; + while (true) { + const result = await loadSpec(initialCwd); + switch (result.type) { + case `NoProject`: + case `NoSpec`: + { + return fallbackLocator; + } + break; + case `Found`: + { + if (result.spec.name !== locator.name) { + if (transparent) { + return fallbackLocator; + } else { + throw new UsageError(`This project is configured to use ${result.spec.name}`); + } + } else { + return result.spec; + } + } + break; + } + } +} +async function loadSpec(initialCwd) { + let nextCwd = initialCwd; + let currCwd = ``; + let selection = null; + while (nextCwd !== currCwd && (!selection || !selection.data.packageManager)) { + currCwd = nextCwd; + nextCwd = import_path8.default.dirname(currCwd); + if (nodeModulesRegExp.test(currCwd)) + continue; + const manifestPath = import_path8.default.join(currCwd, `package.json`); + if (!import_fs6.default.existsSync(manifestPath)) + continue; + const content = await import_fs6.default.promises.readFile(manifestPath, `utf8`); + let data; + try { + data = JSON.parse(content); + } catch { + } + if (typeof data !== `object` || data === null) + throw new UsageError(`Invalid package.json in ${import_path8.default.relative(initialCwd, manifestPath)}`); + selection = { data, manifestPath }; + } + if (selection === null) + return { type: `NoProject`, target: import_path8.default.join(initialCwd, `package.json`) }; + const rawPmSpec = selection.data.packageManager; + if (typeof rawPmSpec === `undefined`) + return { type: `NoSpec`, target: selection.manifestPath }; + return { + type: `Found`, + spec: parseSpec(rawPmSpec, import_path8.default.relative(initialCwd, selection.manifestPath)) + }; +} + +// sources/commands/Prepare.ts +var PrepareCommand = class extends Command { + constructor() { + super(...arguments); + this.activate = options_exports.Boolean(`--activate`, false, { + description: `If true, this release will become the default one for this package manager` + }); + this.all = options_exports.Boolean(`--all`, false, { + description: `If true, all available default package managers will be installed` + }); + this.json = options_exports.Boolean(`--json`, false, { + description: `If true, the output will be the path of the generated tarball` + }); + this.output = options_exports.String(`-o,--output`, { + description: `If true, the installed package managers will also be stored in a tarball`, + tolerateBoolean: true + }); + this.specs = options_exports.Rest(); + } + async execute() { + if (this.all && this.specs.length > 0) + throw new UsageError(`The --all option cannot be used along with an explicit package manager specification`); + const specs = this.all ? await this.context.engine.getDefaultDescriptors() : this.specs; + const installLocations = []; + if (specs.length === 0) { + const lookup = await loadSpec(this.context.cwd); + switch (lookup.type) { + case `NoProject`: + throw new UsageError(`Couldn't find a project in the local directory - please explicit the package manager to pack, or run this command from a valid project`); + case `NoSpec`: + throw new UsageError(`The local project doesn't feature a 'packageManager' field - please explicit the package manager to pack, or update the manifest to reference it`); + default: { + specs.push(lookup.spec); + } + } + } + for (const request of specs) { + const spec = typeof request === `string` ? parseSpec(request, `CLI arguments`, { enforceExactVersion: false }) : request; + const resolved = await this.context.engine.resolveDescriptor(spec, { allowTags: true }); + if (resolved === null) + throw new UsageError(`Failed to successfully resolve '${spec.range}' to a valid ${spec.name} release`); + if (!this.json) { + if (this.activate) { + this.context.stdout.write(`Preparing ${spec.name}@${spec.range} for immediate activation... +`); + } else { + this.context.stdout.write(`Preparing ${spec.name}@${spec.range}... +`); + } + } + const installSpec = await this.context.engine.ensurePackageManager(resolved); + installLocations.push(installSpec.location); + if (this.activate) { + await this.context.engine.activatePackageManager(resolved); + } + } + if (this.output) { + const outputName = typeof this.output === `string` ? this.output : `corepack.tgz`; + const baseInstallFolder = getInstallFolder(); + const outputPath = import_path9.default.resolve(this.context.cwd, outputName); + if (!this.json) + this.context.stdout.write(`Packing the selected tools in ${import_path9.default.basename(outputPath)}... +`); + const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar())); + await (0, import_promises3.mkdir)(baseInstallFolder, { recursive: true }); + await tar.c({ gzip: true, cwd: baseInstallFolder, file: import_path9.default.resolve(outputPath) }, installLocations.map((location) => { + return import_path9.default.relative(baseInstallFolder, location); + })); + if (this.json) { + this.context.stdout.write(`${JSON.stringify(outputPath)} +`); + } else { + this.context.stdout.write(`All done! +`); + } + } + } +}; +PrepareCommand.paths = [ + [`prepare`] +]; +PrepareCommand.usage = Command.Usage({ + description: `Generate a package manager archive`, + details: ` + This command makes sure that the specified package managers are installed in the local cache. Calling this command explicitly unless you operate in an environment without network access (in which case you'd have to call \`prepare\` while building your image, to make sure all tools are available for later use). + + When the \`-o,--output\` flag is set, Corepack will also compress the resulting package manager into a format suitable for \`corepack hydrate\`, and will store it at the specified location on the disk. + `, + examples: [[ + `Prepare the package manager from the active project`, + `$0 prepare` + ], [ + `Prepare a specific Yarn version`, + `$0 prepare yarn@2.2.2` + ], [ + `Prepare the latest available pnpm version`, + `$0 prepare pnpm@latest --activate` + ], [ + `Generate an archive for a specific Yarn version`, + `$0 prepare yarn@2.2.2 -o` + ], [ + `Generate a named archive`, + `$0 prepare yarn@2.2.2 --output=yarn.tgz` + ]] +}); + +// sources/miscUtils.ts +var Cancellation = class extends Error { + constructor() { + super(`Cancelled operation`); + } +}; + +// sources/main.ts +function getPackageManagerRequestFromCli(parameter, context) { + if (!parameter) + return null; + const match = parameter.match(/^([^@]*)(?:@(.*))?$/); + if (!match) + return null; + const [, binaryName, binaryVersion] = match; + const packageManager = context.engine.getPackageManagerFor(binaryName); + if (!packageManager) + return null; + return { + packageManager, + binaryName, + binaryVersion: binaryVersion || null + }; +} +async function executePackageManagerRequest({ packageManager, binaryName, binaryVersion }, args, context) { + const defaultVersion = await context.engine.getDefaultVersion(packageManager); + const definition = context.engine.config.definitions[packageManager]; + let isTransparentCommand = false; + for (const transparentPath of definition.transparent.commands) { + if (transparentPath[0] === binaryName && transparentPath.slice(1).every((segment, index) => segment === args[index])) { + isTransparentCommand = true; + break; + } + } + const fallbackReference = isTransparentCommand ? definition.transparent.default ?? defaultVersion : defaultVersion; + const fallbackLocator = { + name: packageManager, + reference: fallbackReference + }; + let descriptor; + try { + descriptor = await findProjectSpec(context.cwd, fallbackLocator, { transparent: isTransparentCommand }); + } catch (err) { + if (err instanceof Cancellation) { + return 1; + } else { + throw err; + } + } + if (binaryVersion) + descriptor.range = binaryVersion; + const resolved = await context.engine.resolveDescriptor(descriptor, { allowTags: true }); + if (resolved === null) + throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`); + const installSpec = await context.engine.ensurePackageManager(resolved); + return await runVersion(installSpec, binaryName, args); +} +async function main(argv) { + const context = { + ...Cli.defaultContext, + cwd: process.cwd(), + engine: new Engine() + }; + const [firstArg, ...restArgs] = argv; + const request = getPackageManagerRequestFromCli(firstArg, context); + let cli; + if (!request) { + cli = new Cli({ + binaryLabel: `Corepack`, + binaryName: `corepack`, + binaryVersion: version + }); + cli.register(builtins_exports.HelpCommand); + cli.register(builtins_exports.VersionCommand); + cli.register(EnableCommand); + cli.register(DisableCommand); + cli.register(HydrateCommand); + cli.register(PrepareCommand); + return await cli.run(argv, context); + } else { + const cli2 = new Cli({ + binaryLabel: `'${request.binaryName}', via Corepack`, + binaryName: request.binaryName, + binaryVersion: `corepack/${version}` + }); + cli2.register(class BinaryCommand extends Command { + constructor() { + super(...arguments); + this.proxy = options_exports.Proxy(); + } + async execute() { + return executePackageManagerRequest(request, this.proxy, this.context); + } + }); + return await cli2.run(restArgs, context); + } +} +function runMain(argv) { + main(argv).then((exitCode) => { + process.exitCode = exitCode; + }, (err) => { + console.error(err.stack); + process.exitCode = 1; + }); +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + runMain +}); +/*! Bundled license information: + +is-windows/index.js: + (*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + *) +*/ diff --git a/deps/corepack/dist/npm.js b/deps/corepack/dist/npm.js index 1eb91951725942..64b10d8f2a68f4 100755 --- a/deps/corepack/dist/npm.js +++ b/deps/corepack/dist/npm.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./corepack').runMain(['npm', ...process.argv.slice(2)]); +require('./lib/corepack.cjs').runMain(['npm', ...process.argv.slice(2)]); \ No newline at end of file diff --git a/deps/corepack/dist/npx.js b/deps/corepack/dist/npx.js index 15b149436fc484..ba00ed82e281c1 100755 --- a/deps/corepack/dist/npx.js +++ b/deps/corepack/dist/npx.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./corepack').runMain(['npx', ...process.argv.slice(2)]); +require('./lib/corepack.cjs').runMain(['npx', ...process.argv.slice(2)]); \ No newline at end of file diff --git a/deps/corepack/dist/pnpm.js b/deps/corepack/dist/pnpm.js index 13ea6c61d8da38..0e0297f2d26f79 100755 --- a/deps/corepack/dist/pnpm.js +++ b/deps/corepack/dist/pnpm.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./corepack').runMain(['pnpm', ...process.argv.slice(2)]); +require('./lib/corepack.cjs').runMain(['pnpm', ...process.argv.slice(2)]); \ No newline at end of file diff --git a/deps/corepack/dist/pnpx.js b/deps/corepack/dist/pnpx.js index 852954e309455b..11cc7b89b71fa9 100755 --- a/deps/corepack/dist/pnpx.js +++ b/deps/corepack/dist/pnpx.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./corepack').runMain(['pnpx', ...process.argv.slice(2)]); +require('./lib/corepack.cjs').runMain(['pnpx', ...process.argv.slice(2)]); \ No newline at end of file diff --git a/deps/corepack/dist/yarn.js b/deps/corepack/dist/yarn.js index 7a337eaa3c4742..f8d38757d35e64 100755 --- a/deps/corepack/dist/yarn.js +++ b/deps/corepack/dist/yarn.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./corepack').runMain(['yarn', ...process.argv.slice(2)]); +require('./lib/corepack.cjs').runMain(['yarn', ...process.argv.slice(2)]); \ No newline at end of file diff --git a/deps/corepack/dist/yarnpkg.js b/deps/corepack/dist/yarnpkg.js index 8c2a3531f4eddf..8d3eef0295c8be 100755 --- a/deps/corepack/dist/yarnpkg.js +++ b/deps/corepack/dist/yarnpkg.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./corepack').runMain(['yarnpkg', ...process.argv.slice(2)]); +require('./lib/corepack.cjs').runMain(['yarnpkg', ...process.argv.slice(2)]); \ No newline at end of file diff --git a/deps/corepack/package.json b/deps/corepack/package.json index 575020af883036..59c9ddd5234bc4 100644 --- a/deps/corepack/package.json +++ b/deps/corepack/package.json @@ -1,6 +1,6 @@ { "name": "corepack", - "version": "0.17.2", + "version": "0.18.0", "homepage": "https://github.com/nodejs/corepack#readme", "bugs": { "url": "https://github.com/nodejs/corepack/issues" @@ -10,49 +10,50 @@ "url": "https://github.com/nodejs/corepack.git" }, "engines": { - "node": ">=14.14.0" + "node": ">=16.20.0" }, "exports": { "./package.json": "./package.json" }, "license": "MIT", - "packageManager": "yarn@4.0.0-rc.15+sha224.7fa5c1d1875b041cea8fcbf9a364667e398825364bf5c5c8cd5f6601", + "packageManager": "yarn@4.0.0-rc.44+sha224.6526204ca38ed0105e81ba52d83dc0c7b8ee63600a13dc332914fde0", "devDependencies": { "@babel/core": "^7.14.3", "@babel/plugin-transform-modules-commonjs": "^7.14.0", "@babel/preset-typescript": "^7.13.0", + "@jest/globals": "^29.0.0", "@types/debug": "^4.1.5", "@types/jest": "^29.0.0", - "@types/node": "^18.0.0", + "@types/node": "^20.0.0", "@types/semver": "^7.1.0", "@types/tar": "^6.0.0", - "@types/which": "^2.0.0", + "@types/which": "^3.0.0", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", - "@yarnpkg/eslint-config": "^1.0.0-rc.5", + "@yarnpkg/eslint-config": "^0.6.0-rc.7", "@yarnpkg/fslib": "^2.1.0", - "@zkochan/cmd-shim": "^5.0.0", + "@zkochan/cmd-shim": "^6.0.0", "babel-plugin-dynamic-import-node": "^2.3.3", "clipanion": "^3.0.1", "debug": "^4.1.1", - "esbuild": "0.16.15", + "esbuild": "0.17.19", "eslint": "^8.0.0", "eslint-plugin-arca": "^0.15.0", "jest": "^29.0.0", "nock": "^13.0.4", - "proxy-agent": "^5.0.0", + "proxy-agent": "^6.0.0", "semver": "^7.1.3", "supports-color": "^9.0.0", "tar": "^6.0.1", "ts-node": "^10.0.0", - "typescript": "^4.3.2", + "typescript": "^5.0.4", "v8-compile-cache": "^2.3.0", - "which": "^2.0.2" + "which": "^3.0.0" }, "scripts": { "build": "rm -rf dist shims && run build:bundle && ts-node ./mkshims.ts", - "build:bundle": "esbuild ./sources/_entryPoint.ts --bundle --platform=node --target=node14.14.0 --external:corepack --outfile='./dist/corepack.js' --resolve-extensions='.ts,.mjs,.js'", - "corepack": "ts-node ./sources/_entryPoint.ts", + "build:bundle": "esbuild ./sources/_lib.ts --bundle --platform=node --target=node16.20.0 --external:corepack --outfile='./dist/lib/corepack.cjs' --resolve-extensions='.ts,.mjs,.js'", + "corepack": "ts-node ./sources/_cli.ts", "lint": "eslint .", "prepack": "yarn build", "postpack": "rm -rf dist shims", From df7540fb7363555717f40c4f3fe66aa45fe7d4d9 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Tue, 23 May 2023 01:49:19 +0100 Subject: [PATCH 046/146] deps: update ada to 2.4.2 PR-URL: https://github.com/nodejs/node/pull/48092 Reviewed-By: Yagiz Nizipli Reviewed-By: Moshe Atlow Reviewed-By: Rich Trott Reviewed-By: Benjamin Gruenbaum Reviewed-By: Luigi Pinca --- deps/ada/ada.cpp | 42 +++++++++++++----------------------------- deps/ada/ada.h | 11 ++++++----- 2 files changed, 19 insertions(+), 34 deletions(-) diff --git a/deps/ada/ada.cpp b/deps/ada/ada.cpp index e0ee4a508dd7e9..1759de2a1317d4 100644 --- a/deps/ada/ada.cpp +++ b/deps/ada/ada.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */ +/* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */ /* begin file src/ada.cpp */ #include "ada.h" /* begin file src/checkers.cpp */ @@ -10001,8 +10001,9 @@ static_assert(sizeof(is_forbidden_domain_code_point_table_or_upper) == 256); static_assert(is_forbidden_domain_code_point_table_or_upper[uint8_t('A')] == 2); static_assert(is_forbidden_domain_code_point_table_or_upper[uint8_t('Z')] == 2); -ada_really_inline constexpr bool contains_forbidden_domain_code_point_or_upper( - const char* input, size_t length) noexcept { +ada_really_inline constexpr uint8_t +contains_forbidden_domain_code_point_or_upper(const char* input, + size_t length) noexcept { size_t i = 0; uint8_t accumulator{}; for (; i + 4 <= length; i += 4) { @@ -10677,7 +10678,7 @@ ada_really_inline size_t find_next_host_delimiter_special( has_zero_byte(xor3) | has_zero_byte(xor4) | has_zero_byte(xor5); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } if (i < view.size()) { @@ -10695,7 +10696,7 @@ ada_really_inline size_t find_next_host_delimiter_special( has_zero_byte(xor3) | has_zero_byte(xor4) | has_zero_byte(xor5); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } return view.size(); @@ -10739,7 +10740,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view, uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor4) | has_zero_byte(xor5); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } if (i < view.size()) { @@ -10757,7 +10758,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view, uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor4) | has_zero_byte(xor5); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } return view.size(); @@ -11064,7 +11065,7 @@ find_authority_delimiter_special(std::string_view view) noexcept { uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3) | has_zero_byte(xor4); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } @@ -11079,7 +11080,7 @@ find_authority_delimiter_special(std::string_view view) noexcept { uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3) | has_zero_byte(xor4); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } @@ -11112,7 +11113,7 @@ find_authority_delimiter(std::string_view view) noexcept { uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } @@ -11126,7 +11127,7 @@ find_authority_delimiter(std::string_view view) noexcept { uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3); if (is_match) { - return i + index_of_first_set_byte(is_match); + return size_t(i + index_of_first_set_byte(is_match)); } } @@ -12088,8 +12089,7 @@ result_type parse_url(std::string_view user_input, // We refuse to parse URL strings that exceed 4GB. Such strings are almost // surely the result of a bug or are otherwise a security concern. - if (user_input.size() >= - std::string_view::size_type(std::numeric_limits::max)) { + if (user_input.size() > std::numeric_limits::max()) { url.is_valid = false; } // Going forward, user_input.size() is in [0, @@ -13565,22 +13565,6 @@ ada_really_inline bool url_aggregator::parse_host(std::string_view input) { } ada_log("parse_host fast path ", get_hostname()); return true; - } else if (is_forbidden_or_upper == 2) { - // We have encountered at least one upper case ASCII letter, let us - // try to convert it to lower case. If there is no 'xn-' in the result, - // we can then use a secondary fast path. - std::string _buffer = std::string(input); - unicode::to_lower_ascii(_buffer.data(), _buffer.size()); - if (input.find("xn-") == std::string_view::npos) { - // secondary fast path when input is not all lower case - update_base_hostname(input); - if (checkers::is_ipv4(get_hostname())) { - ada_log("parse_host fast path ipv4"); - return parse_ipv4(get_hostname()); - } - ada_log("parse_host fast path ", get_hostname()); - return true; - } } // We have encountered at least one forbidden code point or the input contains // 'xn-' (case insensitive), so we need to call 'to_ascii' to perform the full diff --git a/deps/ada/ada.h b/deps/ada/ada.h index 5afa7abc62d8f5..cd9a69a1e09a05 100644 --- a/deps/ada/ada.h +++ b/deps/ada/ada.h @@ -1,4 +1,4 @@ -/* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */ +/* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */ /* begin file include/ada.h */ /** * @file ada.h @@ -4354,8 +4354,9 @@ ada_really_inline constexpr bool contains_forbidden_domain_code_point( * then the second bit is set to 1. * @see https://url.spec.whatwg.org/#forbidden-domain-code-point */ -ada_really_inline constexpr bool contains_forbidden_domain_code_point_or_upper( - const char* input, size_t length) noexcept; +ada_really_inline constexpr uint8_t +contains_forbidden_domain_code_point_or_upper(const char* input, + size_t length) noexcept; /** * Checks if the input is a forbidden doamin code point. @@ -6484,14 +6485,14 @@ inline std::ostream &operator<<(std::ostream &out, #ifndef ADA_ADA_VERSION_H #define ADA_ADA_VERSION_H -#define ADA_VERSION "2.4.1" +#define ADA_VERSION "2.4.2" namespace ada { enum { ADA_VERSION_MAJOR = 2, ADA_VERSION_MINOR = 4, - ADA_VERSION_REVISION = 1, + ADA_VERSION_REVISION = 2, }; } // namespace ada From 3ed0afc7786b078661447f9a1f9e6c60d0a5aca2 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Tue, 23 May 2023 01:49:28 +0100 Subject: [PATCH 047/146] deps: update minimatch to 9.0.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48094 Reviewed-By: Michaël Zasso Reviewed-By: Moshe Atlow Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- deps/minimatch/index.js | 33 +++++++--------- deps/minimatch/src/dist/cjs/index.d.ts.map | 2 +- deps/minimatch/src/dist/cjs/index.js | 44 ++++++++++------------ deps/minimatch/src/dist/cjs/index.js.map | 2 +- deps/minimatch/src/dist/mjs/index.d.ts.map | 2 +- deps/minimatch/src/dist/mjs/index.js | 44 ++++++++++------------ deps/minimatch/src/dist/mjs/index.js.map | 2 +- deps/minimatch/src/package.json | 2 +- 8 files changed, 59 insertions(+), 72 deletions(-) diff --git a/deps/minimatch/index.js b/deps/minimatch/index.js index b6440735a36610..08986db104f6dc 100644 --- a/deps/minimatch/index.js +++ b/deps/minimatch/index.js @@ -1405,26 +1405,21 @@ var Minimatch = class { matchOne(file, pattern, partial = false) { const options = this.options; if (this.isWindows) { - const fileUNC = file[0] === "" && file[1] === "" && file[2] === "?" && typeof file[3] === "string" && /^[a-z]:$/i.test(file[3]); - const patternUNC = pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]); - if (fileUNC && patternUNC) { - const fd = file[3]; - const pd = pattern[3]; + const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]); + const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]); + const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]); + const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]); + const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0; + const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0; + if (typeof fdi === "number" && typeof pdi === "number") { + const [fd, pd] = [file[fdi], pattern[pdi]]; if (fd.toLowerCase() === pd.toLowerCase()) { - file[3] = pd; - } - } else if (patternUNC && typeof file[0] === "string") { - const pd = pattern[3]; - const fd = file[0]; - if (pd.toLowerCase() === fd.toLowerCase()) { - pattern[3] = fd; - pattern = pattern.slice(3); - } - } else if (fileUNC && typeof pattern[0] === "string") { - const fd = file[3]; - if (fd.toLowerCase() === pattern[0].toLowerCase()) { - pattern[0] = fd; - file = file.slice(3); + pattern[pdi] = fd; + if (pdi > fdi) { + pattern = pattern.slice(pdi); + } else if (fdi > pdi) { + file = file.slice(fdi); + } } } } diff --git a/deps/minimatch/src/dist/cjs/index.d.ts.map b/deps/minimatch/src/dist/cjs/index.d.ts.map index 63f9ee60f21269..7a14a445ca5b5a 100644 --- a/deps/minimatch/src/dist/cjs/index.d.ts.map +++ b/deps/minimatch/src/dist/cjs/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,KAAK,QAAQ,GACT,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,SAAS;QACjB,MAAM,WACA,MAAM,YACN,gBAAgB;;;sBAuGf,MAAM,YAAW,gBAAgB,SACvC,MAAM;oBAOkB,gBAAgB,KAAG,gBAAgB;2BA6EtD,MAAM,YACN,gBAAgB;sBA2BK,MAAM,YAAW,gBAAgB;kBAKzD,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB;;;;;CArN1B,CAAA;AA+DD,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;AAOrB,eAAO,MAAM,GAAG,KAAgE,CAAA;AAGhF,eAAO,MAAM,QAAQ,eAAwB,CAAA;AAmB7C,eAAO,MAAM,MAAM,YACP,MAAM,YAAW,gBAAgB,SACvC,MAAM,YACsB,CAAA;AAMlC,eAAO,MAAM,QAAQ,QAAS,gBAAgB,KAAG,gBA+DhD,CAAA;AAaD,eAAO,MAAM,WAAW,YACb,MAAM,YACN,gBAAgB,aAY1B,CAAA;AAeD,eAAO,MAAM,MAAM,YAAa,MAAM,YAAW,gBAAgB,qBACvB,CAAA;AAG1C,eAAO,MAAM,KAAK,SACV,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB,aAQ1B,CAAA;AAQD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,KAAK,CAAA;AAErD,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IAEf,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,uBAAuB,EAAE,OAAO,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IAEf,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAE3B,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAA;gBACnB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAkC3D,QAAQ,IAAI,OAAO;IAYnB,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;IAEjB,IAAI;IA0FJ,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA6BhC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAiB/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAoBtC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA6D7C,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA0F1C,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;IAgBxD,UAAU,CACR,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,YAAY,GAAE,OAAe,GAC5B,KAAK,GAAG,MAAM,EAAE;IA+CnB,WAAW;IAqBX,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe;IAkNzE,WAAW;IAIX,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IA6CnC,MAAM;IAsFN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,KAAK,QAAQ,GACT,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,SAAS;QACjB,MAAM,WACA,MAAM,YACN,gBAAgB;;;sBAuGf,MAAM,YAAW,gBAAgB,SACvC,MAAM;oBAOkB,gBAAgB,KAAG,gBAAgB;2BA6EtD,MAAM,YACN,gBAAgB;sBA2BK,MAAM,YAAW,gBAAgB;kBAKzD,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB;;;;;CArN1B,CAAA;AA+DD,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;AAOrB,eAAO,MAAM,GAAG,KAAgE,CAAA;AAGhF,eAAO,MAAM,QAAQ,eAAwB,CAAA;AAmB7C,eAAO,MAAM,MAAM,YACP,MAAM,YAAW,gBAAgB,SACvC,MAAM,YACsB,CAAA;AAMlC,eAAO,MAAM,QAAQ,QAAS,gBAAgB,KAAG,gBA+DhD,CAAA;AAaD,eAAO,MAAM,WAAW,YACb,MAAM,YACN,gBAAgB,aAY1B,CAAA;AAeD,eAAO,MAAM,MAAM,YAAa,MAAM,YAAW,gBAAgB,qBACvB,CAAA;AAG1C,eAAO,MAAM,KAAK,SACV,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB,aAQ1B,CAAA;AAQD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,KAAK,CAAA;AAErD,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IAEf,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,uBAAuB,EAAE,OAAO,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IAEf,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAE3B,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAA;gBACnB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAkC3D,QAAQ,IAAI,OAAO;IAYnB,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;IAEjB,IAAI;IA0FJ,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA6BhC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAiB/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAoBtC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA6D7C,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA0F1C,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;IAgBxD,UAAU,CACR,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,YAAY,GAAE,OAAe,GAC5B,KAAK,GAAG,MAAM,EAAE;IA+CnB,WAAW;IAqBX,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe;IAiNzE,WAAW;IAIX,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IA6CnC,MAAM;IAsFN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"} \ No newline at end of file diff --git a/deps/minimatch/src/dist/cjs/index.js b/deps/minimatch/src/dist/cjs/index.js index 3cbc67f892f126..d70e681fef5d7d 100644 --- a/deps/minimatch/src/dist/cjs/index.js +++ b/deps/minimatch/src/dist/cjs/index.js @@ -608,39 +608,35 @@ class Minimatch { // the parts match. matchOne(file, pattern, partial = false) { const options = this.options; - // a UNC pattern like //?/c:/* can match a path like c:/x - // and vice versa + // UNC paths like //?/X:/... can match X:/... and vice versa + // Drive letters in absolute drive or unc paths are always compared + // case-insensitively. if (this.isWindows) { - const fileUNC = file[0] === '' && + const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]); + const fileUNC = !fileDrive && + file[0] === '' && file[1] === '' && file[2] === '?' && - typeof file[3] === 'string' && /^[a-z]:$/i.test(file[3]); - const patternUNC = pattern[0] === '' && + const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]); + const patternUNC = !patternDrive && + pattern[0] === '' && pattern[1] === '' && pattern[2] === '?' && typeof pattern[3] === 'string' && /^[a-z]:$/i.test(pattern[3]); - if (fileUNC && patternUNC) { - const fd = file[3]; - const pd = pattern[3]; + const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined; + const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined; + if (typeof fdi === 'number' && typeof pdi === 'number') { + const [fd, pd] = [file[fdi], pattern[pdi]]; if (fd.toLowerCase() === pd.toLowerCase()) { - file[3] = pd; - } - } - else if (patternUNC && typeof file[0] === 'string') { - const pd = pattern[3]; - const fd = file[0]; - if (pd.toLowerCase() === fd.toLowerCase()) { - pattern[3] = fd; - pattern = pattern.slice(3); - } - } - else if (fileUNC && typeof pattern[0] === 'string') { - const fd = file[3]; - if (fd.toLowerCase() === pattern[0].toLowerCase()) { - pattern[0] = fd; - file = file.slice(3); + pattern[pdi] = fd; + if (pdi > fdi) { + pattern = pattern.slice(pdi); + } + else if (fdi > pdi) { + file = file.slice(fdi); + } } } } diff --git a/deps/minimatch/src/dist/cjs/index.js.map b/deps/minimatch/src/dist/cjs/index.js.map index 7c3dc4701daea1..50574a2751f8a9 100644 --- a/deps/minimatch/src/dist/cjs/index.js.map +++ b/deps/minimatch/src/dist/cjs/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAoC;AACpC,uEAA8D;AAC9D,qCAA2C;AAC3C,2CAAoC;AACpC,+CAAwC;AAsCjC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;IAE3B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACnD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAbY,QAAA,SAAS,aAarB;AAED,wDAAwD;AACxD,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAC5C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CACpD,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACvC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACzE,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAA;AACD,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC9C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,YAAY,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5E,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE,CACvC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5C,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACpE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AAC5E,MAAM,QAAQ,GAAG,wBAAwB,CAAA;AACzC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACjD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC,CAAA;AACD,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AACnE,CAAC,CAAA;AAED,qBAAqB;AACrB,MAAM,eAAe,GAAa,CAChC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;IACpC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAC9B,OAAO,CAAC,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC7C,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CACA,CAAA;AAEb,MAAM,IAAI,GAAkC;IAC1C,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;IACpB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACpB,CAAA;AACD,oBAAoB;AAEP,QAAA,GAAG,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;AAChF,iBAAS,CAAC,GAAG,GAAG,WAAG,CAAA;AAEN,QAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAC7C,iBAAS,CAAC,QAAQ,GAAG,gBAAQ,CAAA;AAE7B,gCAAgC;AAChC,iDAAiD;AACjD,MAAM,KAAK,GAAG,MAAM,CAAA;AAEpB,gCAAgC;AAChC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAEzB,4DAA4D;AAC5D,+DAA+D;AAC/D,6CAA6C;AAC7C,MAAM,UAAU,GAAG,yCAAyC,CAAA;AAE5D,kCAAkC;AAClC,6CAA6C;AAC7C,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAEvC,MAAM,MAAM,GACjB,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACpD,CAAC,CAAS,EAAE,EAAE,CACZ,IAAA,iBAAS,EAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAHrB,QAAA,MAAM,UAGe;AAClC,iBAAS,CAAC,MAAM,GAAG,cAAM,CAAA;AAEzB,MAAM,GAAG,GAAG,CAAC,CAAmB,EAAE,IAAsB,EAAE,EAAE,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAElB,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAoB,EAAE;IAClE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;QAC/D,OAAO,iBAAS,CAAA;KACjB;IAED,MAAM,IAAI,GAAG,iBAAS,CAAA;IAEtB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACvE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;QACtB,SAAS,EAAE,MAAM,SAAU,SAAQ,IAAI,CAAC,SAAS;YAC/C,YAAY,OAAe,EAAE,UAA4B,EAAE;gBACzD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,OAAyB;gBACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,CAAC;SACF;QAED,GAAG,EAAE,MAAM,GAAI,SAAQ,IAAI,CAAC,GAAG;YAC7B,qBAAqB;YACrB,YACE,IAAwB,EACxB,MAAY,EACZ,UAA4B,EAAE;gBAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACxC,CAAC;YACD,oBAAoB;YAEpB,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,UAA4B,EAAE;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACtD,CAAC;SACF;QAED,QAAQ,EAAE,CACR,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,MAAM,EAAE,CACN,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,QAAQ,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzE,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,WAAW,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,KAAK,EAAE,CAAC,IAAc,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACzE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,gBAA2B;KACtC,CAAC,CAAA;AACJ,CAAC,CAAA;AA/DY,QAAA,QAAQ,YA+DpB;AACD,iBAAS,CAAC,QAAQ,GAAG,gBAAQ,CAAA;AAE7B,mBAAmB;AACnB,qBAAqB;AACrB,mBAAmB;AACnB,8BAA8B;AAC9B,mCAAmC;AACnC,2CAA2C;AAC3C,EAAE;AACF,iCAAiC;AACjC,qBAAqB;AACrB,iBAAiB;AACV,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;IAE3B,wDAAwD;IACxD,wDAAwD;IACxD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACxD,+BAA+B;QAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;KACjB;IAED,OAAO,IAAA,yBAAM,EAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AACD,iBAAS,CAAC,WAAW,GAAG,mBAAW,CAAA;AAEnC,yCAAyC;AACzC,kDAAkD;AAClD,oEAAoE;AACpE,oEAAoE;AACpE,6DAA6D;AAC7D,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAEvD,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACxE,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAD7B,QAAA,MAAM,UACuB;AAC1C,iBAAS,CAAC,MAAM,GAAG,cAAM,CAAA;AAElB,MAAM,KAAK,GAAG,CACnB,IAAc,EACd,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACnB;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAXY,QAAA,KAAK,SAWjB;AACD,iBAAS,CAAC,KAAK,GAAG,aAAK,CAAA;AAEvB,+BAA+B;AAC/B,MAAM,SAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CACjC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAU/C,MAAa,SAAS;IACpB,OAAO,CAAkB;IACzB,GAAG,CAAyB;IAC5B,OAAO,CAAQ;IAEf,oBAAoB,CAAS;IAC7B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,uBAAuB,CAAS;IAChC,OAAO,CAAS;IAChB,OAAO,CAAU;IACjB,SAAS,CAAY;IACrB,MAAM,CAAS;IAEf,SAAS,CAAS;IAClB,QAAQ,CAAU;IAClB,kBAAkB,CAAS;IAE3B,MAAM,CAAyB;IAC/B,YAAY,OAAe,EAAE,UAA4B,EAAE;QACzD,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;QAE3B,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAA;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAA;QAC1C,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAA;QACxE,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAChD;QACD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAA;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,kBAAkB;YACrB,OAAO,CAAC,kBAAkB,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,+BAA+B;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,OAAO,IAAI,CAAA;SACZ;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;YAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAA;aAC1C;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAQ,IAAG,CAAC;IAErB,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,OAAM;SACP;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACjB,OAAM;SACP;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;SACxD;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEtC,+DAA+D;QAC/D,kCAAkC;QAClC,8DAA8D;QAC9D,oDAAoD;QACpD,wCAAwC;QACxC,EAAE;QACF,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAExC,mBAAmB;QACnB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC7C,qCAAqC;gBACrC,MAAM,KAAK,GACT,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,IAAI,KAAK,EAAE;oBACT,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACnE;qBAAM,IAAI,OAAO,EAAE;oBAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAE7B,sDAAsD;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACF,CAAA;QAE5B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrB,IACE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;oBACxB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB;oBACA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;iBACX;aACF;SACF;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,yDAAyD;IACzD,0DAA0D;IAC1D,yDAAyD;IACzD,4DAA4D;IAC5D,uCAAuC;IACvC,UAAU,CAAC,SAAqB;QAC9B,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC5B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;qBACtB;iBACF;aACF;SACF;QAED,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,wDAAwD;YACxD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAChD,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;SAClD;aAAM,IAAI,iBAAiB,IAAI,CAAC,EAAE;YACjC,mDAAmD;YACnD,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;SAC7C;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;SACtD;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,wCAAwC;IACxC,yBAAyB,CAAC,SAAqB;QAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;YACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBAC5B,CAAC,EAAE,CAAA;iBACJ;gBACD,IAAI,CAAC,KAAK,EAAE,EAAE;oBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;iBACzB;aACF;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kDAAkD;IAClD,gBAAgB,CAAC,SAAqB;QACpC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,IAAI,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;oBAClC,OAAO,GAAG,CAAA;iBACX;gBACD,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE;wBAC1D,GAAG,CAAC,GAAG,EAAE,CAAA;wBACT,OAAO,GAAG,CAAA;qBACX;iBACF;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACd,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YACN,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB,CAAC,KAAwB;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SAC/B;QACD,IAAI,YAAY,GAAY,KAAK,CAAA;QACjC,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,iCAAiC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;wBAAE,SAAQ;oBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;wBACzB,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBAClB,CAAC,EAAE,CAAA;qBACJ;iBACF;gBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;oBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;oBACA,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;iBACZ;aACF;YAED,sCAAsC;YACtC,IAAI,EAAE,GAAW,CAAC,CAAA;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC9C,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvB,EAAE,IAAI,CAAC,CAAA;iBACR;aACF;SACF,QAAQ,YAAY,EAAC;QACtB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1C,CAAC;IAED,yCAAyC;IACzC,8BAA8B;IAC9B,+BAA+B;IAC/B,iDAAiD;IACjD,iBAAiB;IACjB,EAAE;IACF,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,qDAAqD;IACrD,EAAE;IACF,kFAAkF;IAClF,mCAAmC;IACnC,sCAAsC;IACtC,4BAA4B;IAC5B,EAAE;IACF,qEAAqE;IACrE,+DAA+D;IAC/D,oBAAoB,CAAC,SAAqB;QACxC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,kFAAkF;YAClF,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;gBAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;gBACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,IAAI,GAAG,GAAW,EAAE,CAAA;oBACpB,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC9B,wCAAwC;wBACxC,GAAG,EAAE,CAAA;qBACN;oBACD,uDAAuD;oBACvD,mCAAmC;oBACnC,IAAI,GAAG,GAAG,EAAE,EAAE;wBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;qBAC/B;oBAED,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,IAAI,IAAI,KAAK,IAAI;wBAAE,SAAQ;oBAC3B,IACE,CAAC,CAAC;wBACF,CAAC,KAAK,GAAG;wBACT,CAAC,KAAK,IAAI;wBACV,CAAC,EAAE;wBACH,EAAE,KAAK,GAAG;wBACV,EAAE,KAAK,IAAI,EACX;wBACA,SAAQ;qBACT;oBACD,YAAY,GAAG,IAAI,CAAA;oBACnB,4CAA4C;oBAC5C,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC5B,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;oBAChB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACrB,EAAE,EAAE,CAAA;iBACL;gBAED,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClB,iCAAiC;wBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;4BAAE,SAAQ;wBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;4BACzB,YAAY,GAAG,IAAI,CAAA;4BACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;4BAClB,CAAC,EAAE,CAAA;yBACJ;qBACF;oBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;wBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;wBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;wBACA,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;qBACZ;iBACF;gBAED,sCAAsC;gBACtC,IAAI,EAAE,GAAW,CAAC,CAAA;gBAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC9C,YAAY,GAAG,IAAI,CAAA;wBACnB,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;wBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;wBAClC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;wBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBACtC,EAAE,IAAI,CAAC,CAAA;qBACR;iBACF;aACF;SACF,QAAQ,YAAY,EAAC;QAEtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,sCAAsC;IACtC,sDAAsD;IACtD,8CAA8C;IAC9C,oDAAoD;IACpD,EAAE;IACF,2DAA2D;IAC3D,mDAAmD;IACnD,qBAAqB,CAAC,SAAqB;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,EACZ,CAAC,IAAI,CAAC,uBAAuB,CAC9B,CAAA;gBACD,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;aAClB;SACF;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU,CACR,CAAW,EACX,CAAW,EACX,eAAwB,KAAK;QAE7B,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,KAAK,GAAW,EAAE,CAAA;QACtB,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1C,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QACD,8DAA8D;QAC9D,iCAAiC;QACjC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAA;IACxC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE;YACpE,MAAM,GAAG,CAAC,MAAM,CAAA;YAChB,YAAY,EAAE,CAAA;SACf;QAED,IAAI,YAAY;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,+CAA+C;IAC/C,yCAAyC;IACzC,uDAAuD;IACvD,mDAAmD;IACnD,mBAAmB;IACnB,QAAQ,CAAC,IAAc,EAAE,OAAsB,EAAE,UAAmB,KAAK;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,yDAAyD;QACzD,iBAAiB;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,OAAO,GACX,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,UAAU,GACd,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAClB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC9B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAE9B,IAAI,OAAO,IAAI,UAAU,EAAE;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAW,CAAA;gBAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAA;gBAC/B,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;iBACb;aACF;iBAAM,IAAI,UAAU,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAA;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;oBACf,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBAC3B;aACF;iBAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;oBACjD,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;oBACf,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBACrB;aACF;SACF;QAED,4DAA4D;QAC5D,oEAAoE;QACpE,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;SACvC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAEnD,KACE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EACzD,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAClB,EAAE,EAAE,EAAE,EAAE,EAAE,EACV;YACA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;YACnB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;YAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAEzB,wBAAwB;YACxB,wCAAwC;YACxC,qBAAqB;YACrB,IAAI,CAAC,KAAK,KAAK,EAAE;gBACf,OAAO,KAAK,CAAA;aACb;YACD,oBAAoB;YAEpB,IAAI,CAAC,KAAK,gBAAQ,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEvC,OAAO;gBACP,yCAAyC;gBACzC,cAAc;gBACd,cAAc;gBACd,cAAc;gBACd,QAAQ;gBACR,iDAAiD;gBACjD,wDAAwD;gBACxD,yBAAyB;gBACzB,sDAAsD;gBACtD,6BAA6B;gBAC7B,EAAE;gBACF,mCAAmC;gBACnC,gBAAgB;gBAChB,eAAe;gBACf,kCAAkC;gBAClC,oBAAoB;gBACpB,mBAAmB;gBACnB,qCAAqC;gBACrC,mCAAmC;gBACnC,iCAAiC;gBACjC,kCAAkC;gBAClC,IAAI,EAAE,GAAG,EAAE,CAAA;gBACX,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACf,IAAI,EAAE,KAAK,EAAE,EAAE;oBACb,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;oBAC3B,8CAA8C;oBAC9C,yBAAyB;oBACzB,2CAA2C;oBAC3C,sBAAsB;oBACtB,sDAAsD;oBACtD,uBAAuB;oBACvB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;wBACpB,IACE,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG;4BAChB,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI;4BACjB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;4BAE5C,OAAO,KAAK,CAAA;qBACf;oBACD,OAAO,IAAI,CAAA;iBACZ;gBAED,mDAAmD;gBACnD,OAAO,EAAE,GAAG,EAAE,EAAE;oBACd,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;oBAExB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;oBAEhE,qDAAqD;oBACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;wBAC7D,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;wBACtD,iBAAiB;wBACjB,OAAO,IAAI,CAAA;qBACZ;yBAAM;wBACL,kCAAkC;wBAClC,iDAAiD;wBACjD,IACE,SAAS,KAAK,GAAG;4BACjB,SAAS,KAAK,IAAI;4BAClB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAC7C;4BACA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;4BAClD,MAAK;yBACN;wBAED,uCAAuC;wBACvC,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;wBACtD,EAAE,EAAE,CAAA;qBACL;iBACF;gBAED,sBAAsB;gBACtB,mEAAmE;gBACnE,qBAAqB;gBACrB,IAAI,OAAO,EAAE;oBACX,kBAAkB;oBAClB,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;oBAC7D,IAAI,EAAE,KAAK,EAAE,EAAE;wBACb,OAAO,IAAI,CAAA;qBACZ;iBACF;gBACD,oBAAoB;gBACpB,OAAO,KAAK,CAAA;aACb;YAED,0BAA0B;YAC1B,gDAAgD;YAChD,qDAAqD;YACrD,IAAI,GAAY,CAAA;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACtC;iBAAM;gBACL,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACvC;YAED,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;SACvB;QAED,oDAAoD;QACpD,oDAAoD;QACpD,2CAA2C;QAC3C,kDAAkD;QAClD,oDAAoD;QACpD,uDAAuD;QACvD,oDAAoD;QACpD,yDAAyD;QACzD,6BAA6B;QAC7B,yCAAyC;QAEzC,gEAAgE;QAChE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,oDAAoD;YACpD,gBAAgB;YAChB,OAAO,IAAI,CAAA;SACZ;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,+CAA+C;YAC/C,iDAAiD;YACjD,uBAAuB;YACvB,OAAO,OAAO,CAAA;SACf;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,4CAA4C;YAC5C,oDAAoD;YACpD,iDAAiD;YACjD,wBAAwB;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAEvC,qBAAqB;SACtB;aAAM;YACL,yBAAyB;YACzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;SACxB;QACD,oBAAoB;IACtB,CAAC;IAED,WAAW;QACT,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,YAAY;QACZ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,gBAAQ,CAAA;QACrC,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,EAAE,CAAA;QAE7B,uDAAuD;QACvD,0DAA0D;QAC1D,IAAI,CAA0B,CAAA;QAC9B,IAAI,QAAQ,GAAoC,IAAI,CAAA;QACpD,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;YAC/B,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAA;SAChD;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;YAC5C,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,oBAAoB;gBACxB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,cAAc,CACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACR;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;YACxC,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,gBAAgB;gBACpB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CACf,CAAC,CAAC,CAAC,CAAA;SACL;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;YAC7C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAA;SAC9D;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,QAAQ,GAAG,WAAW,CAAA;SACvB;QAED,MAAM,EAAE,GAAG,YAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAA;QAE5D,mDAAmD;QACnD,4BAA4B;QAC5B,EAAE;QACF,wDAAwD;QACxD,yDAAyD;QACzD,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU;YAChC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY,CAAA;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElD,kCAAkC;QAClC,kDAAkD;QAClD,sEAAsE;QACtE,iDAAiD;QACjD,8DAA8D;QAC9D,mCAAmC;QACnC,IAAI,EAAE,GAAG,GAAG;aACT,GAAG,CAAC,OAAO,CAAC,EAAE;YACb,MAAM,EAAE,GAAiC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACvD,IAAI,CAAC,YAAY,MAAM,EAAE;oBACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBAChD;gBACD,OAAO,OAAO,CAAC,KAAK,QAAQ;oBAC1B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC,KAAK,gBAAQ;wBAChB,CAAC,CAAC,gBAAQ;wBACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACZ,CAAC,CAAiC,CAAA;YAClC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,gBAAQ,IAAI,IAAI,KAAK,gBAAQ,EAAE;oBACvC,OAAM;iBACP;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,gBAAQ,EAAE;wBAC3C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;qBACjD;yBAAM;wBACL,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;qBAChB;iBACF;qBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;oBAC7B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;iBAC9C;qBAAM,IAAI,IAAI,KAAK,gBAAQ,EAAE;oBAC5B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;oBACzD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAQ,CAAA;iBACrB;YACH,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,gBAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,4BAA4B;QAC5B,gDAAgD;QAChD,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;QAElC,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM;YAAE,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAA;QAE1C,IAAI;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACjD,qBAAqB;SACtB;QAAC,OAAO,EAAE,EAAE;YACX,uBAAuB;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QACD,oBAAoB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,UAAU,CAAC,CAAS;QAClB,mDAAmD;QACnD,6DAA6D;QAC7D,8CAA8C;QAC9C,0CAA0C;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACpB;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClD,sCAAsC;YACtC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;SAC/B;aAAM;YACL,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK,CAAC,CAAS,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,8CAA8C;QAC9C,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,EAAE,CAAA;SAChB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE;YACxB,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,gCAAgC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC5B;QAED,6CAA6C;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAErC,0DAA0D;QAC1D,2DAA2D;QAC3D,mCAAmC;QACnC,uCAAuC;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAEpC,0EAA0E;QAC1E,IAAI,QAAQ,GAAW,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpD,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;aACjB;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;aAClB;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;aACpB;SACF;QAED,2DAA2D;QAC3D,8BAA8B;QAC9B,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAqB;QACnC,OAAO,iBAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;IAC1C,CAAC;CACF;AA53BD,8BA43BC;AACD,qBAAqB;AACrB,mCAA8B;AAArB,6FAAA,GAAG,OAAA;AACZ,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,6CAAwC;AAA/B,uGAAA,QAAQ,OAAA;AACjB,oBAAoB;AACpB,iBAAS,CAAC,GAAG,GAAG,YAAG,CAAA;AACnB,iBAAS,CAAC,SAAS,GAAG,SAAS,CAAA;AAC/B,iBAAS,CAAC,MAAM,GAAG,kBAAM,CAAA;AACzB,iBAAS,CAAC,QAAQ,GAAG,sBAAQ,CAAA","sourcesContent":["import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n | 'aix'\n | 'android'\n | 'darwin'\n | 'freebsd'\n | 'haiku'\n | 'linux'\n | 'openbsd'\n | 'sunos'\n | 'win32'\n | 'cygwin'\n | 'netbsd'\n\nexport interface MinimatchOptions {\n nobrace?: boolean\n nocomment?: boolean\n nonegate?: boolean\n debug?: boolean\n noglobstar?: boolean\n noext?: boolean\n nonull?: boolean\n windowsPathsNoEscape?: boolean\n allowWindowsEscape?: boolean\n partial?: boolean\n dot?: boolean\n nocase?: boolean\n nocaseMagicOnly?: boolean\n magicalBraces?: boolean\n matchBase?: boolean\n flipNegate?: boolean\n preserveMultipleSlashes?: boolean\n optimizationLevel?: number\n platform?: Platform\n windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n p: string,\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n (pattern: string, options: MinimatchOptions = {}) =>\n (p: string) =>\n minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n orig(p, pattern, ext(def, options))\n\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern: string, options: MinimatchOptions = {}) {\n super(pattern, ext(def, options))\n }\n static defaults(options: MinimatchOptions) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n },\n\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n super(type, parent, ext(def, options))\n }\n /* c8 ignore stop */\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options))\n }\n },\n\n unescape: (\n s: string,\n options: Pick = {}\n ) => orig.unescape(s, ext(def, options)),\n\n escape: (\n s: string,\n options: Pick = {}\n ) => orig.escape(s, ext(def, options)),\n\n filter: (pattern: string, options: MinimatchOptions = {}) =>\n orig.filter(pattern, ext(def, options)),\n\n defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n orig.makeRe(pattern, ext(def, options)),\n\n braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n orig.braceExpand(pattern, ext(def, options)),\n\n match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n orig.match(list, pattern, ext(def, options)),\n\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n list: string[],\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n const mm = new Minimatch(pattern, options)\n list = list.filter(f => mm.match(f))\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n _src?: string\n _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n options: MinimatchOptions\n set: ParseReturnFiltered[][]\n pattern: string\n\n windowsPathsNoEscape: boolean\n nonegate: boolean\n negate: boolean\n comment: boolean\n empty: boolean\n preserveMultipleSlashes: boolean\n partial: boolean\n globSet: string[]\n globParts: string[][]\n nocase: boolean\n\n isWindows: boolean\n platform: Platform\n windowsNoMagicRoot: boolean\n\n regexp: false | null | MMRegExp\n constructor(pattern: string, options: MinimatchOptions = {}) {\n assertValidPattern(pattern)\n\n options = options || {}\n this.options = options\n this.pattern = pattern\n this.platform = options.platform || defaultPlatform\n this.isWindows = this.platform === 'win32'\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/')\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n this.regexp = null\n this.negate = false\n this.nonegate = !!options.nonegate\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n this.nocase = !!this.options.nocase\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase)\n\n this.globSet = []\n this.globParts = []\n this.set = []\n\n // make the set of regexps etc.\n this.make()\n }\n\n hasMagic(): boolean {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string') return true\n }\n }\n return false\n }\n\n debug(..._: any[]) {}\n\n make() {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())]\n\n if (options.debug) {\n this.debug = (...args: any[]) => console.error(...args)\n }\n\n this.debug(this.pattern, this.globSet)\n\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n this.globParts = this.preprocess(rawGlobParts)\n this.debug(this.pattern, this.globParts)\n\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC =\n s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3])\n const isDrive = /^[a-z]:/i.test(s[0])\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n } else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n }\n }\n return s.map(ss => this.parse(ss))\n })\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n this.set = set.filter(\n s => s.indexOf(false) === -1\n ) as ParseReturnFiltered[][]\n\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i]\n if (\n p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])\n ) {\n p[2] = '?'\n }\n }\n }\n\n this.debug(this.pattern, this.set)\n }\n\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts: string[][]) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*'\n }\n }\n }\n }\n\n const { optimizationLevel = 1 } = this.options\n\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts)\n globParts = this.secondPhasePreProcess(globParts)\n } else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts)\n } else {\n globParts = this.adjascentGlobstarOptimize(globParts)\n }\n\n return globParts\n }\n\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs\n while (parts[i + 1] === '**') {\n i++\n }\n if (i !== gs) {\n parts.splice(gs, i - gs)\n }\n }\n return parts\n })\n }\n\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n parts = parts.reduce((set: string[], part) => {\n const prev = set[set.length - 1]\n if (part === '**' && prev === '**') {\n return set\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop()\n return set\n }\n }\n set.push(part)\n return set\n }, [])\n return parts.length === 0 ? [''] : parts\n })\n }\n\n levelTwoFileOptimize(parts: string | string[]) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts)\n }\n let didSomething: boolean = false\n do {\n didSomething = false\n //
      // -> 
      /\n      if (!this.preserveMultipleSlashes) {\n        for (let i = 1; i < parts.length - 1; i++) {\n          const p = parts[i]\n          // don't squeeze out UNC patterns\n          if (i === 1 && p === '' && parts[0] === '') continue\n          if (p === '.' || p === '') {\n            didSomething = true\n            parts.splice(i, 1)\n            i--\n          }\n        }\n        if (\n          parts[0] === '.' &&\n          parts.length === 2 &&\n          (parts[1] === '.' || parts[1] === '')\n        ) {\n          didSomething = true\n          parts.pop()\n        }\n      }\n\n      // 
      /

      /../ ->

      /\n      let dd: number = 0\n      while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n        const p = parts[dd - 1]\n        if (p && p !== '.' && p !== '..' && p !== '**') {\n          didSomething = true\n          parts.splice(dd - 1, 2)\n          dd -= 2\n        }\n      }\n    } while (didSomething)\n    return parts.length === 0 ? [''] : parts\n  }\n\n  // First phase: single-pattern processing\n  // 
       is 1 or more portions\n  //  is 1 or more portions\n  // 

      is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n //

      // -> 
      /\n  // 
      /

      /../ ->

      /\n  // **/**/ -> **/\n  //\n  // **/*/ -> */**/ <== not valid because ** doesn't follow\n  // this WOULD be allowed if ** did follow symlinks, or * didn't\n  firstPhasePreProcess(globParts: string[][]) {\n    let didSomething = false\n    do {\n      didSomething = false\n      // 
      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n //

      /**/**/ -> 
      /**/\n            gss++\n          }\n          // eg, if gs is 2 and gss is 4, that means we have 3 **\n          // parts, and can remove 2 of them.\n          if (gss > gs) {\n            parts.splice(gs + 1, gss - gs)\n          }\n\n          let next = parts[gs + 1]\n          const p = parts[gs + 2]\n          const p2 = parts[gs + 3]\n          if (next !== '..') continue\n          if (\n            !p ||\n            p === '.' ||\n            p === '..' ||\n            !p2 ||\n            p2 === '.' ||\n            p2 === '..'\n          ) {\n            continue\n          }\n          didSomething = true\n          // edit parts in place, and push the new one\n          parts.splice(gs, 1)\n          const other = parts.slice(0)\n          other[gs] = '**'\n          globParts.push(other)\n          gs--\n        }\n\n        // 
      // -> 
      /\n        if (!this.preserveMultipleSlashes) {\n          for (let i = 1; i < parts.length - 1; i++) {\n            const p = parts[i]\n            // don't squeeze out UNC patterns\n            if (i === 1 && p === '' && parts[0] === '') continue\n            if (p === '.' || p === '') {\n              didSomething = true\n              parts.splice(i, 1)\n              i--\n            }\n          }\n          if (\n            parts[0] === '.' &&\n            parts.length === 2 &&\n            (parts[1] === '.' || parts[1] === '')\n          ) {\n            didSomething = true\n            parts.pop()\n          }\n        }\n\n        // 
      /

      /../ ->

      /\n        let dd: number = 0\n        while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n          const p = parts[dd - 1]\n          if (p && p !== '.' && p !== '..' && p !== '**') {\n            didSomething = true\n            const needDot = dd === 1 && parts[dd + 1] === '**'\n            const splin = needDot ? ['.'] : []\n            parts.splice(dd - 1, 2, ...splin)\n            if (parts.length === 0) parts.push('')\n            dd -= 2\n          }\n        }\n      }\n    } while (didSomething)\n\n    return globParts\n  }\n\n  // second phase: multi-pattern dedupes\n  // {
      /*/,
      /

      /} ->

      /*/\n  // {
      /,
      /} -> 
      /\n  // {
      /**/,
      /} -> 
      /**/\n  //\n  // {
      /**/,
      /**/

      /} ->

      /**/\n  // ^-- not valid because ** doens't follow symlinks\n  secondPhasePreProcess(globParts: string[][]): string[][] {\n    for (let i = 0; i < globParts.length - 1; i++) {\n      for (let j = i + 1; j < globParts.length; j++) {\n        const matched = this.partsMatch(\n          globParts[i],\n          globParts[j],\n          !this.preserveMultipleSlashes\n        )\n        if (!matched) continue\n        globParts[i] = matched\n        globParts[j] = []\n      }\n    }\n    return globParts.filter(gs => gs.length)\n  }\n\n  partsMatch(\n    a: string[],\n    b: string[],\n    emptyGSMatch: boolean = false\n  ): false | string[] {\n    let ai = 0\n    let bi = 0\n    let result: string[] = []\n    let which: string = ''\n    while (ai < a.length && bi < b.length) {\n      if (a[ai] === b[bi]) {\n        result.push(which === 'b' ? b[bi] : a[ai])\n        ai++\n        bi++\n      } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n        result.push(a[ai])\n        ai++\n      } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n        result.push(b[bi])\n        bi++\n      } else if (\n        a[ai] === '*' &&\n        b[bi] &&\n        (this.options.dot || !b[bi].startsWith('.')) &&\n        b[bi] !== '**'\n      ) {\n        if (which === 'b') return false\n        which = 'a'\n        result.push(a[ai])\n        ai++\n        bi++\n      } else if (\n        b[bi] === '*' &&\n        a[ai] &&\n        (this.options.dot || !a[ai].startsWith('.')) &&\n        a[ai] !== '**'\n      ) {\n        if (which === 'a') return false\n        which = 'b'\n        result.push(b[bi])\n        ai++\n        bi++\n      } else {\n        return false\n      }\n    }\n    // if we fall out of the loop, it means they two are identical\n    // as long as their lengths match\n    return a.length === b.length && result\n  }\n\n  parseNegate() {\n    if (this.nonegate) return\n\n    const pattern = this.pattern\n    let negate = false\n    let negateOffset = 0\n\n    for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n      negate = !negate\n      negateOffset++\n    }\n\n    if (negateOffset) this.pattern = pattern.slice(negateOffset)\n    this.negate = negate\n  }\n\n  // set partial to true to test if, for example,\n  // \"/a/b\" matches the start of \"/*/b/*/d\"\n  // Partial means, if you run out of file before you run\n  // out of pattern, then that's fine, as long as all\n  // the parts match.\n  matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n    const options = this.options\n\n    // a UNC pattern like //?/c:/* can match a path like c:/x\n    // and vice versa\n    if (this.isWindows) {\n      const fileUNC =\n        file[0] === '' &&\n        file[1] === '' &&\n        file[2] === '?' &&\n        typeof file[3] === 'string' &&\n        /^[a-z]:$/i.test(file[3])\n      const patternUNC =\n        pattern[0] === '' &&\n        pattern[1] === '' &&\n        pattern[2] === '?' &&\n        typeof pattern[3] === 'string' &&\n        /^[a-z]:$/i.test(pattern[3])\n\n      if (fileUNC && patternUNC) {\n        const fd = file[3] as string\n        const pd = pattern[3] as string\n        if (fd.toLowerCase() === pd.toLowerCase()) {\n          file[3] = pd\n        }\n      } else if (patternUNC && typeof file[0] === 'string') {\n        const pd = pattern[3] as string\n        const fd = file[0]\n        if (pd.toLowerCase() === fd.toLowerCase()) {\n          pattern[3] = fd\n          pattern = pattern.slice(3)\n        }\n      } else if (fileUNC && typeof pattern[0] === 'string') {\n        const fd = file[3]\n        if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n          pattern[0] = fd\n          file = file.slice(3)\n        }\n      }\n    }\n\n    // resolve and reduce . and .. portions in the file as well.\n    // dont' need to do the second phase, because it's only one string[]\n    const { optimizationLevel = 1 } = this.options\n    if (optimizationLevel >= 2) {\n      file = this.levelTwoFileOptimize(file)\n    }\n\n    this.debug('matchOne', this, { file, pattern })\n    this.debug('matchOne', file.length, pattern.length)\n\n    for (\n      var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n      fi < fl && pi < pl;\n      fi++, pi++\n    ) {\n      this.debug('matchOne loop')\n      var p = pattern[pi]\n      var f = file[fi]\n\n      this.debug(pattern, p, f)\n\n      // should be impossible.\n      // some invalid regexp stuff in the set.\n      /* c8 ignore start */\n      if (p === false) {\n        return false\n      }\n      /* c8 ignore stop */\n\n      if (p === GLOBSTAR) {\n        this.debug('GLOBSTAR', [pattern, p, f])\n\n        // \"**\"\n        // a/**/b/**/c would match the following:\n        // a/b/x/y/z/c\n        // a/x/y/z/b/c\n        // a/b/x/b/x/c\n        // a/b/c\n        // To do this, take the rest of the pattern after\n        // the **, and see if it would match the file remainder.\n        // If so, return success.\n        // If not, the ** \"swallows\" a segment, and try again.\n        // This is recursively awful.\n        //\n        // a/**/b/**/c matching a/b/x/y/z/c\n        // - a matches a\n        // - doublestar\n        //   - matchOne(b/x/y/z/c, b/**/c)\n        //     - b matches b\n        //     - doublestar\n        //       - matchOne(x/y/z/c, c) -> no\n        //       - matchOne(y/z/c, c) -> no\n        //       - matchOne(z/c, c) -> no\n        //       - matchOne(c, c) yes, hit\n        var fr = fi\n        var pr = pi + 1\n        if (pr === pl) {\n          this.debug('** at the end')\n          // a ** at the end will just swallow the rest.\n          // We have found a match.\n          // however, it will not swallow /.x, unless\n          // options.dot is set.\n          // . and .. are *never* matched by **, for explosively\n          // exponential reasons.\n          for (; fi < fl; fi++) {\n            if (\n              file[fi] === '.' ||\n              file[fi] === '..' ||\n              (!options.dot && file[fi].charAt(0) === '.')\n            )\n              return false\n          }\n          return true\n        }\n\n        // ok, let's see if we can swallow whatever we can.\n        while (fr < fl) {\n          var swallowee = file[fr]\n\n          this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n          // XXX remove this slice.  Just pass the start index.\n          if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n            this.debug('globstar found match!', fr, fl, swallowee)\n            // found a match.\n            return true\n          } else {\n            // can't swallow \".\" or \"..\" ever.\n            // can only swallow \".foo\" when explicitly asked.\n            if (\n              swallowee === '.' ||\n              swallowee === '..' ||\n              (!options.dot && swallowee.charAt(0) === '.')\n            ) {\n              this.debug('dot detected!', file, fr, pattern, pr)\n              break\n            }\n\n            // ** swallows a segment, and continue.\n            this.debug('globstar swallow a segment, and continue')\n            fr++\n          }\n        }\n\n        // no match was found.\n        // However, in partial mode, we can't say this is necessarily over.\n        /* c8 ignore start */\n        if (partial) {\n          // ran out of file\n          this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n          if (fr === fl) {\n            return true\n          }\n        }\n        /* c8 ignore stop */\n        return false\n      }\n\n      // something other than **\n      // non-magic patterns just have to match exactly\n      // patterns with magic have been turned into regexps.\n      let hit: boolean\n      if (typeof p === 'string') {\n        hit = f === p\n        this.debug('string match', p, f, hit)\n      } else {\n        hit = p.test(f)\n        this.debug('pattern match', p, f, hit)\n      }\n\n      if (!hit) return false\n    }\n\n    // Note: ending in / means that we'll get a final \"\"\n    // at the end of the pattern.  This can only match a\n    // corresponding \"\" at the end of the file.\n    // If the file ends in /, then it can only match a\n    // a pattern that ends in /, unless the pattern just\n    // doesn't have any more for it. But, a/b/ should *not*\n    // match \"a/b/*\", even though \"\" matches against the\n    // [^/]*? pattern, except in partial mode, where it might\n    // simply not be reached yet.\n    // However, a/b/ should still satisfy a/*\n\n    // now either we fell off the end of the pattern, or we're done.\n    if (fi === fl && pi === pl) {\n      // ran out of pattern and filename at the same time.\n      // an exact hit!\n      return true\n    } else if (fi === fl) {\n      // ran out of file, but still had pattern left.\n      // this is ok if we're doing the match as part of\n      // a glob fs traversal.\n      return partial\n    } else if (pi === pl) {\n      // ran out of pattern, still have file left.\n      // this is only acceptable if we're on the very last\n      // empty segment of a file with a trailing slash.\n      // a/* should match a/b/\n      return fi === fl - 1 && file[fi] === ''\n\n      /* c8 ignore start */\n    } else {\n      // should be unreachable.\n      throw new Error('wtf?')\n    }\n    /* c8 ignore stop */\n  }\n\n  braceExpand() {\n    return braceExpand(this.pattern, this.options)\n  }\n\n  parse(pattern: string): ParseReturn {\n    assertValidPattern(pattern)\n\n    const options = this.options\n\n    // shortcuts\n    if (pattern === '**') return GLOBSTAR\n    if (pattern === '') return ''\n\n    // far and away, the most common glob pattern parts are\n    // *, *.*, and *.  Add a fast check method for those.\n    let m: RegExpMatchArray | null\n    let fastTest: null | ((f: string) => boolean) = null\n    if ((m = pattern.match(starRE))) {\n      fastTest = options.dot ? starTestDot : starTest\n    } else if ((m = pattern.match(starDotExtRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? starDotExtTestNocaseDot\n            : starDotExtTestNocase\n          : options.dot\n          ? starDotExtTestDot\n          : starDotExtTest\n      )(m[1])\n    } else if ((m = pattern.match(qmarksRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? qmarksTestNocaseDot\n            : qmarksTestNocase\n          : options.dot\n          ? qmarksTestDot\n          : qmarksTest\n      )(m)\n    } else if ((m = pattern.match(starDotStarRE))) {\n      fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n    } else if ((m = pattern.match(dotStarRE))) {\n      fastTest = dotStarTest\n    }\n\n    const re = AST.fromGlob(pattern, this.options).toMMPattern()\n    return fastTest ? Object.assign(re, { test: fastTest }) : re\n  }\n\n  makeRe() {\n    if (this.regexp || this.regexp === false) return this.regexp\n\n    // at this point, this.set is a 2d array of partial\n    // pattern strings, or \"**\".\n    //\n    // It's better to use .match().  This function shouldn't\n    // be used, really, but it's pretty convenient sometimes,\n    // when you just want to work with a regex.\n    const set = this.set\n\n    if (!set.length) {\n      this.regexp = false\n      return this.regexp\n    }\n    const options = this.options\n\n    const twoStar = options.noglobstar\n      ? star\n      : options.dot\n      ? twoStarDot\n      : twoStarNoDot\n    const flags = new Set(options.nocase ? ['i'] : [])\n\n    // regexpify non-globstar patterns\n    // if ** is only item, then we just do one twoStar\n    // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n    // if ** is last, append (\\/twoStar|) to previous\n    // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n    // then filter out GLOBSTAR symbols\n    let re = set\n      .map(pattern => {\n        const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n          if (p instanceof RegExp) {\n            for (const f of p.flags.split('')) flags.add(f)\n          }\n          return typeof p === 'string'\n            ? regExpEscape(p)\n            : p === GLOBSTAR\n            ? GLOBSTAR\n            : p._src\n        }) as (string | typeof GLOBSTAR)[]\n        pp.forEach((p, i) => {\n          const next = pp[i + 1]\n          const prev = pp[i - 1]\n          if (p !== GLOBSTAR || prev === GLOBSTAR) {\n            return\n          }\n          if (prev === undefined) {\n            if (next !== undefined && next !== GLOBSTAR) {\n              pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n            } else {\n              pp[i] = twoStar\n            }\n          } else if (next === undefined) {\n            pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n          } else if (next !== GLOBSTAR) {\n            pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n            pp[i + 1] = GLOBSTAR\n          }\n        })\n        return pp.filter(p => p !== GLOBSTAR).join('/')\n      })\n      .join('|')\n\n    // need to wrap in parens if we had more than one thing with |,\n    // otherwise only the first will be anchored to ^ and the last to $\n    const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n    // must match entire pattern\n    // ending in a * or ** will make it less strict.\n    re = '^' + open + re + close + '$'\n\n    // can match anything, as long as it's not this.\n    if (this.negate) re = '^(?!' + re + ').+$'\n\n    try {\n      this.regexp = new RegExp(re, [...flags].join(''))\n      /* c8 ignore start */\n    } catch (ex) {\n      // should be impossible\n      this.regexp = false\n    }\n    /* c8 ignore stop */\n    return this.regexp\n  }\n\n  slashSplit(p: string) {\n    // if p starts with // on windows, we preserve that\n    // so that UNC paths aren't broken.  Otherwise, any number of\n    // / characters are coalesced into one, unless\n    // preserveMultipleSlashes is set to true.\n    if (this.preserveMultipleSlashes) {\n      return p.split('/')\n    } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n      // add an extra '' for the one we lose\n      return ['', ...p.split(/\\/+/)]\n    } else {\n      return p.split(/\\/+/)\n    }\n  }\n\n  match(f: string, partial = this.partial) {\n    this.debug('match', f, this.pattern)\n    // short-circuit in the case of busted things.\n    // comments, etc.\n    if (this.comment) {\n      return false\n    }\n    if (this.empty) {\n      return f === ''\n    }\n\n    if (f === '/' && partial) {\n      return true\n    }\n\n    const options = this.options\n\n    // windows: need to use /, not \\\n    if (this.isWindows) {\n      f = f.split('\\\\').join('/')\n    }\n\n    // treat the test path as a set of pathparts.\n    const ff = this.slashSplit(f)\n    this.debug(this.pattern, 'split', ff)\n\n    // just ONE of the pattern sets in this.set needs to match\n    // in order for it to be valid.  If negating, then just one\n    // match means that we have failed.\n    // Either way, return on the first hit.\n\n    const set = this.set\n    this.debug(this.pattern, 'set', set)\n\n    // Find the basename of the path by looking for the last non-empty segment\n    let filename: string = ff[ff.length - 1]\n    if (!filename) {\n      for (let i = ff.length - 2; !filename && i >= 0; i--) {\n        filename = ff[i]\n      }\n    }\n\n    for (let i = 0; i < set.length; i++) {\n      const pattern = set[i]\n      let file = ff\n      if (options.matchBase && pattern.length === 1) {\n        file = [filename]\n      }\n      const hit = this.matchOne(file, pattern, partial)\n      if (hit) {\n        if (options.flipNegate) {\n          return true\n        }\n        return !this.negate\n      }\n    }\n\n    // didn't get any hits.  this is success if it's a negative\n    // pattern, failure otherwise.\n    if (options.flipNegate) {\n      return false\n    }\n    return this.negate\n  }\n\n  static defaults(def: MinimatchOptions) {\n    return minimatch.defaults(def).Minimatch\n  }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n"]}
      \ No newline at end of file
      +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAoC;AACpC,uEAA8D;AAC9D,qCAA2C;AAC3C,2CAAoC;AACpC,+CAAwC;AAsCjC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;IAE3B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACnD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAbY,QAAA,SAAS,aAarB;AAED,wDAAwD;AACxD,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAC5C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CACpD,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACvC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACzE,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAA;AACD,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC9C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,YAAY,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5E,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE,CACvC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5C,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACpE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AAC5E,MAAM,QAAQ,GAAG,wBAAwB,CAAA;AACzC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACjD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC,CAAA;AACD,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AACnE,CAAC,CAAA;AAED,qBAAqB;AACrB,MAAM,eAAe,GAAa,CAChC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;IACpC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAC9B,OAAO,CAAC,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC7C,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CACA,CAAA;AAEb,MAAM,IAAI,GAAkC;IAC1C,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;IACpB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACpB,CAAA;AACD,oBAAoB;AAEP,QAAA,GAAG,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;AAChF,iBAAS,CAAC,GAAG,GAAG,WAAG,CAAA;AAEN,QAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAC7C,iBAAS,CAAC,QAAQ,GAAG,gBAAQ,CAAA;AAE7B,gCAAgC;AAChC,iDAAiD;AACjD,MAAM,KAAK,GAAG,MAAM,CAAA;AAEpB,gCAAgC;AAChC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAEzB,4DAA4D;AAC5D,+DAA+D;AAC/D,6CAA6C;AAC7C,MAAM,UAAU,GAAG,yCAAyC,CAAA;AAE5D,kCAAkC;AAClC,6CAA6C;AAC7C,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAEvC,MAAM,MAAM,GACjB,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACpD,CAAC,CAAS,EAAE,EAAE,CACZ,IAAA,iBAAS,EAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAHrB,QAAA,MAAM,UAGe;AAClC,iBAAS,CAAC,MAAM,GAAG,cAAM,CAAA;AAEzB,MAAM,GAAG,GAAG,CAAC,CAAmB,EAAE,IAAsB,EAAE,EAAE,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAElB,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAoB,EAAE;IAClE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;QAC/D,OAAO,iBAAS,CAAA;KACjB;IAED,MAAM,IAAI,GAAG,iBAAS,CAAA;IAEtB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACvE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;QACtB,SAAS,EAAE,MAAM,SAAU,SAAQ,IAAI,CAAC,SAAS;YAC/C,YAAY,OAAe,EAAE,UAA4B,EAAE;gBACzD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,OAAyB;gBACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,CAAC;SACF;QAED,GAAG,EAAE,MAAM,GAAI,SAAQ,IAAI,CAAC,GAAG;YAC7B,qBAAqB;YACrB,YACE,IAAwB,EACxB,MAAY,EACZ,UAA4B,EAAE;gBAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACxC,CAAC;YACD,oBAAoB;YAEpB,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,UAA4B,EAAE;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACtD,CAAC;SACF;QAED,QAAQ,EAAE,CACR,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,MAAM,EAAE,CACN,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,QAAQ,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzE,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,WAAW,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,KAAK,EAAE,CAAC,IAAc,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACzE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,gBAA2B;KACtC,CAAC,CAAA;AACJ,CAAC,CAAA;AA/DY,QAAA,QAAQ,YA+DpB;AACD,iBAAS,CAAC,QAAQ,GAAG,gBAAQ,CAAA;AAE7B,mBAAmB;AACnB,qBAAqB;AACrB,mBAAmB;AACnB,8BAA8B;AAC9B,mCAAmC;AACnC,2CAA2C;AAC3C,EAAE;AACF,iCAAiC;AACjC,qBAAqB;AACrB,iBAAiB;AACV,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;IAE3B,wDAAwD;IACxD,wDAAwD;IACxD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACxD,+BAA+B;QAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;KACjB;IAED,OAAO,IAAA,yBAAM,EAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AACD,iBAAS,CAAC,WAAW,GAAG,mBAAW,CAAA;AAEnC,yCAAyC;AACzC,kDAAkD;AAClD,oEAAoE;AACpE,oEAAoE;AACpE,6DAA6D;AAC7D,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAEvD,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACxE,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAD7B,QAAA,MAAM,UACuB;AAC1C,iBAAS,CAAC,MAAM,GAAG,cAAM,CAAA;AAElB,MAAM,KAAK,GAAG,CACnB,IAAc,EACd,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACnB;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAXY,QAAA,KAAK,SAWjB;AACD,iBAAS,CAAC,KAAK,GAAG,aAAK,CAAA;AAEvB,+BAA+B;AAC/B,MAAM,SAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CACjC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAU/C,MAAa,SAAS;IACpB,OAAO,CAAkB;IACzB,GAAG,CAAyB;IAC5B,OAAO,CAAQ;IAEf,oBAAoB,CAAS;IAC7B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,uBAAuB,CAAS;IAChC,OAAO,CAAS;IAChB,OAAO,CAAU;IACjB,SAAS,CAAY;IACrB,MAAM,CAAS;IAEf,SAAS,CAAS;IAClB,QAAQ,CAAU;IAClB,kBAAkB,CAAS;IAE3B,MAAM,CAAyB;IAC/B,YAAY,OAAe,EAAE,UAA4B,EAAE;QACzD,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;QAE3B,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAA;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAA;QAC1C,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAA;QACxE,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAChD;QACD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAA;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,kBAAkB;YACrB,OAAO,CAAC,kBAAkB,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,+BAA+B;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,OAAO,IAAI,CAAA;SACZ;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;YAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAA;aAC1C;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAQ,IAAG,CAAC;IAErB,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,OAAM;SACP;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACjB,OAAM;SACP;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;SACxD;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEtC,+DAA+D;QAC/D,kCAAkC;QAClC,8DAA8D;QAC9D,oDAAoD;QACpD,wCAAwC;QACxC,EAAE;QACF,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAExC,mBAAmB;QACnB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC7C,qCAAqC;gBACrC,MAAM,KAAK,GACT,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,IAAI,KAAK,EAAE;oBACT,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACnE;qBAAM,IAAI,OAAO,EAAE;oBAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAE7B,sDAAsD;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACF,CAAA;QAE5B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrB,IACE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;oBACxB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB;oBACA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;iBACX;aACF;SACF;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,yDAAyD;IACzD,0DAA0D;IAC1D,yDAAyD;IACzD,4DAA4D;IAC5D,uCAAuC;IACvC,UAAU,CAAC,SAAqB;QAC9B,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC5B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;qBACtB;iBACF;aACF;SACF;QAED,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,wDAAwD;YACxD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAChD,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;SAClD;aAAM,IAAI,iBAAiB,IAAI,CAAC,EAAE;YACjC,mDAAmD;YACnD,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;SAC7C;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;SACtD;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,wCAAwC;IACxC,yBAAyB,CAAC,SAAqB;QAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;YACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBAC5B,CAAC,EAAE,CAAA;iBACJ;gBACD,IAAI,CAAC,KAAK,EAAE,EAAE;oBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;iBACzB;aACF;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kDAAkD;IAClD,gBAAgB,CAAC,SAAqB;QACpC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,IAAI,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;oBAClC,OAAO,GAAG,CAAA;iBACX;gBACD,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE;wBAC1D,GAAG,CAAC,GAAG,EAAE,CAAA;wBACT,OAAO,GAAG,CAAA;qBACX;iBACF;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACd,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YACN,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB,CAAC,KAAwB;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SAC/B;QACD,IAAI,YAAY,GAAY,KAAK,CAAA;QACjC,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,iCAAiC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;wBAAE,SAAQ;oBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;wBACzB,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBAClB,CAAC,EAAE,CAAA;qBACJ;iBACF;gBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;oBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;oBACA,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;iBACZ;aACF;YAED,sCAAsC;YACtC,IAAI,EAAE,GAAW,CAAC,CAAA;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC9C,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvB,EAAE,IAAI,CAAC,CAAA;iBACR;aACF;SACF,QAAQ,YAAY,EAAC;QACtB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1C,CAAC;IAED,yCAAyC;IACzC,8BAA8B;IAC9B,+BAA+B;IAC/B,iDAAiD;IACjD,iBAAiB;IACjB,EAAE;IACF,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,qDAAqD;IACrD,EAAE;IACF,kFAAkF;IAClF,mCAAmC;IACnC,sCAAsC;IACtC,4BAA4B;IAC5B,EAAE;IACF,qEAAqE;IACrE,+DAA+D;IAC/D,oBAAoB,CAAC,SAAqB;QACxC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,kFAAkF;YAClF,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;gBAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;gBACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,IAAI,GAAG,GAAW,EAAE,CAAA;oBACpB,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC9B,wCAAwC;wBACxC,GAAG,EAAE,CAAA;qBACN;oBACD,uDAAuD;oBACvD,mCAAmC;oBACnC,IAAI,GAAG,GAAG,EAAE,EAAE;wBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;qBAC/B;oBAED,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,IAAI,IAAI,KAAK,IAAI;wBAAE,SAAQ;oBAC3B,IACE,CAAC,CAAC;wBACF,CAAC,KAAK,GAAG;wBACT,CAAC,KAAK,IAAI;wBACV,CAAC,EAAE;wBACH,EAAE,KAAK,GAAG;wBACV,EAAE,KAAK,IAAI,EACX;wBACA,SAAQ;qBACT;oBACD,YAAY,GAAG,IAAI,CAAA;oBACnB,4CAA4C;oBAC5C,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC5B,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;oBAChB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACrB,EAAE,EAAE,CAAA;iBACL;gBAED,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClB,iCAAiC;wBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;4BAAE,SAAQ;wBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;4BACzB,YAAY,GAAG,IAAI,CAAA;4BACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;4BAClB,CAAC,EAAE,CAAA;yBACJ;qBACF;oBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;wBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;wBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;wBACA,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;qBACZ;iBACF;gBAED,sCAAsC;gBACtC,IAAI,EAAE,GAAW,CAAC,CAAA;gBAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC9C,YAAY,GAAG,IAAI,CAAA;wBACnB,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;wBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;wBAClC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;wBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBACtC,EAAE,IAAI,CAAC,CAAA;qBACR;iBACF;aACF;SACF,QAAQ,YAAY,EAAC;QAEtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,sCAAsC;IACtC,sDAAsD;IACtD,8CAA8C;IAC9C,oDAAoD;IACpD,EAAE;IACF,2DAA2D;IAC3D,mDAAmD;IACnD,qBAAqB,CAAC,SAAqB;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,EACZ,CAAC,IAAI,CAAC,uBAAuB,CAC9B,CAAA;gBACD,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;aAClB;SACF;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU,CACR,CAAW,EACX,CAAW,EACX,eAAwB,KAAK;QAE7B,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,KAAK,GAAW,EAAE,CAAA;QACtB,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1C,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QACD,8DAA8D;QAC9D,iCAAiC;QACjC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAA;IACxC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE;YACpE,MAAM,GAAG,CAAC,MAAM,CAAA;YAChB,YAAY,EAAE,CAAA;SACf;QAED,IAAI,YAAY;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,+CAA+C;IAC/C,yCAAyC;IACzC,uDAAuD;IACvD,mDAAmD;IACnD,mBAAmB;IACnB,QAAQ,CAAC,IAAc,EAAE,OAAsB,EAAE,UAAmB,KAAK;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,4DAA4D;QAC5D,mEAAmE;QACnE,sBAAsB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,OAAO,GACX,CAAC,SAAS;gBACV,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBACf,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAE3B,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,MAAM,UAAU,GACd,CAAC,YAAY;gBACb,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAClB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC9B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAE9B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACtD,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAW,CAAC,CAAA;gBACtE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;oBACjB,IAAI,GAAG,GAAG,GAAG,EAAE;wBACb,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,GAAG,CAAC,CAAA;qBAC9B;yBAAM,IAAI,GAAG,GAAG,GAAG,EAAE;wBACpB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;qBACvB;iBACF;aACF;SACF;QAED,4DAA4D;QAC5D,oEAAoE;QACpE,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;SACvC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAEnD,KACE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EACzD,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAClB,EAAE,EAAE,EAAE,EAAE,EAAE,EACV;YACA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;YACnB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;YAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAEzB,wBAAwB;YACxB,wCAAwC;YACxC,qBAAqB;YACrB,IAAI,CAAC,KAAK,KAAK,EAAE;gBACf,OAAO,KAAK,CAAA;aACb;YACD,oBAAoB;YAEpB,IAAI,CAAC,KAAK,gBAAQ,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEvC,OAAO;gBACP,yCAAyC;gBACzC,cAAc;gBACd,cAAc;gBACd,cAAc;gBACd,QAAQ;gBACR,iDAAiD;gBACjD,wDAAwD;gBACxD,yBAAyB;gBACzB,sDAAsD;gBACtD,6BAA6B;gBAC7B,EAAE;gBACF,mCAAmC;gBACnC,gBAAgB;gBAChB,eAAe;gBACf,kCAAkC;gBAClC,oBAAoB;gBACpB,mBAAmB;gBACnB,qCAAqC;gBACrC,mCAAmC;gBACnC,iCAAiC;gBACjC,kCAAkC;gBAClC,IAAI,EAAE,GAAG,EAAE,CAAA;gBACX,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACf,IAAI,EAAE,KAAK,EAAE,EAAE;oBACb,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;oBAC3B,8CAA8C;oBAC9C,yBAAyB;oBACzB,2CAA2C;oBAC3C,sBAAsB;oBACtB,sDAAsD;oBACtD,uBAAuB;oBACvB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;wBACpB,IACE,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG;4BAChB,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI;4BACjB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;4BAE5C,OAAO,KAAK,CAAA;qBACf;oBACD,OAAO,IAAI,CAAA;iBACZ;gBAED,mDAAmD;gBACnD,OAAO,EAAE,GAAG,EAAE,EAAE;oBACd,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;oBAExB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;oBAEhE,qDAAqD;oBACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;wBAC7D,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;wBACtD,iBAAiB;wBACjB,OAAO,IAAI,CAAA;qBACZ;yBAAM;wBACL,kCAAkC;wBAClC,iDAAiD;wBACjD,IACE,SAAS,KAAK,GAAG;4BACjB,SAAS,KAAK,IAAI;4BAClB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAC7C;4BACA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;4BAClD,MAAK;yBACN;wBAED,uCAAuC;wBACvC,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;wBACtD,EAAE,EAAE,CAAA;qBACL;iBACF;gBAED,sBAAsB;gBACtB,mEAAmE;gBACnE,qBAAqB;gBACrB,IAAI,OAAO,EAAE;oBACX,kBAAkB;oBAClB,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;oBAC7D,IAAI,EAAE,KAAK,EAAE,EAAE;wBACb,OAAO,IAAI,CAAA;qBACZ;iBACF;gBACD,oBAAoB;gBACpB,OAAO,KAAK,CAAA;aACb;YAED,0BAA0B;YAC1B,gDAAgD;YAChD,qDAAqD;YACrD,IAAI,GAAY,CAAA;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACtC;iBAAM;gBACL,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACvC;YAED,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;SACvB;QAED,oDAAoD;QACpD,oDAAoD;QACpD,2CAA2C;QAC3C,kDAAkD;QAClD,oDAAoD;QACpD,uDAAuD;QACvD,oDAAoD;QACpD,yDAAyD;QACzD,6BAA6B;QAC7B,yCAAyC;QAEzC,gEAAgE;QAChE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,oDAAoD;YACpD,gBAAgB;YAChB,OAAO,IAAI,CAAA;SACZ;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,+CAA+C;YAC/C,iDAAiD;YACjD,uBAAuB;YACvB,OAAO,OAAO,CAAA;SACf;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,4CAA4C;YAC5C,oDAAoD;YACpD,iDAAiD;YACjD,wBAAwB;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAEvC,qBAAqB;SACtB;aAAM;YACL,yBAAyB;YACzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;SACxB;QACD,oBAAoB;IACtB,CAAC;IAED,WAAW;QACT,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAA,4CAAkB,EAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,YAAY;QACZ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,gBAAQ,CAAA;QACrC,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,EAAE,CAAA;QAE7B,uDAAuD;QACvD,0DAA0D;QAC1D,IAAI,CAA0B,CAAA;QAC9B,IAAI,QAAQ,GAAoC,IAAI,CAAA;QACpD,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;YAC/B,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAA;SAChD;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;YAC5C,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,oBAAoB;gBACxB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,cAAc,CACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACR;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;YACxC,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,gBAAgB;gBACpB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CACf,CAAC,CAAC,CAAC,CAAA;SACL;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;YAC7C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAA;SAC9D;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,QAAQ,GAAG,WAAW,CAAA;SACvB;QAED,MAAM,EAAE,GAAG,YAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAA;QAE5D,mDAAmD;QACnD,4BAA4B;QAC5B,EAAE;QACF,wDAAwD;QACxD,yDAAyD;QACzD,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU;YAChC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY,CAAA;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElD,kCAAkC;QAClC,kDAAkD;QAClD,sEAAsE;QACtE,iDAAiD;QACjD,8DAA8D;QAC9D,mCAAmC;QACnC,IAAI,EAAE,GAAG,GAAG;aACT,GAAG,CAAC,OAAO,CAAC,EAAE;YACb,MAAM,EAAE,GAAiC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACvD,IAAI,CAAC,YAAY,MAAM,EAAE;oBACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBAChD;gBACD,OAAO,OAAO,CAAC,KAAK,QAAQ;oBAC1B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC,KAAK,gBAAQ;wBAChB,CAAC,CAAC,gBAAQ;wBACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACZ,CAAC,CAAiC,CAAA;YAClC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,gBAAQ,IAAI,IAAI,KAAK,gBAAQ,EAAE;oBACvC,OAAM;iBACP;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,gBAAQ,EAAE;wBAC3C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;qBACjD;yBAAM;wBACL,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;qBAChB;iBACF;qBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;oBAC7B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;iBAC9C;qBAAM,IAAI,IAAI,KAAK,gBAAQ,EAAE;oBAC5B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;oBACzD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAQ,CAAA;iBACrB;YACH,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,gBAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,4BAA4B;QAC5B,gDAAgD;QAChD,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;QAElC,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM;YAAE,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAA;QAE1C,IAAI;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACjD,qBAAqB;SACtB;QAAC,OAAO,EAAE,EAAE;YACX,uBAAuB;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QACD,oBAAoB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,UAAU,CAAC,CAAS;QAClB,mDAAmD;QACnD,6DAA6D;QAC7D,8CAA8C;QAC9C,0CAA0C;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACpB;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClD,sCAAsC;YACtC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;SAC/B;aAAM;YACL,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK,CAAC,CAAS,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,8CAA8C;QAC9C,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,EAAE,CAAA;SAChB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE;YACxB,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,gCAAgC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC5B;QAED,6CAA6C;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAErC,0DAA0D;QAC1D,2DAA2D;QAC3D,mCAAmC;QACnC,uCAAuC;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAEpC,0EAA0E;QAC1E,IAAI,QAAQ,GAAW,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpD,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;aACjB;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;aAClB;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;aACpB;SACF;QAED,2DAA2D;QAC3D,8BAA8B;QAC9B,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAqB;QACnC,OAAO,iBAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;IAC1C,CAAC;CACF;AA33BD,8BA23BC;AACD,qBAAqB;AACrB,mCAA8B;AAArB,6FAAA,GAAG,OAAA;AACZ,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,6CAAwC;AAA/B,uGAAA,QAAQ,OAAA;AACjB,oBAAoB;AACpB,iBAAS,CAAC,GAAG,GAAG,YAAG,CAAA;AACnB,iBAAS,CAAC,SAAS,GAAG,SAAS,CAAA;AAC/B,iBAAS,CAAC,MAAM,GAAG,kBAAM,CAAA;AACzB,iBAAS,CAAC,QAAQ,GAAG,sBAAQ,CAAA","sourcesContent":["import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n  | 'aix'\n  | 'android'\n  | 'darwin'\n  | 'freebsd'\n  | 'haiku'\n  | 'linux'\n  | 'openbsd'\n  | 'sunos'\n  | 'win32'\n  | 'cygwin'\n  | 'netbsd'\n\nexport interface MinimatchOptions {\n  nobrace?: boolean\n  nocomment?: boolean\n  nonegate?: boolean\n  debug?: boolean\n  noglobstar?: boolean\n  noext?: boolean\n  nonull?: boolean\n  windowsPathsNoEscape?: boolean\n  allowWindowsEscape?: boolean\n  partial?: boolean\n  dot?: boolean\n  nocase?: boolean\n  nocaseMagicOnly?: boolean\n  magicalBraces?: boolean\n  matchBase?: boolean\n  flipNegate?: boolean\n  preserveMultipleSlashes?: boolean\n  optimizationLevel?: number\n  platform?: Platform\n  windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n  p: string,\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  assertValidPattern(pattern)\n\n  // shortcut: comments match nothing.\n  if (!options.nocomment && pattern.charAt(0) === '#') {\n    return false\n  }\n\n  return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n  !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n  ext = ext.toLowerCase()\n  return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n  ext = ext.toLowerCase()\n  return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n  f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExt([$0])\n  if (!ext) return noext\n  ext = ext.toLowerCase()\n  return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExtDot([$0])\n  if (!ext) return noext\n  ext = ext.toLowerCase()\n  return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExtDot([$0])\n  return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExt([$0])\n  return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n  const len = $0.length\n  return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n  const len = $0.length\n  return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n  typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n      process.platform\n    : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n  win32: { sep: '\\\\' },\n  posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n  (pattern: string, options: MinimatchOptions = {}) =>\n  (p: string) =>\n    minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n  Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n  if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n    return minimatch\n  }\n\n  const orig = minimatch\n\n  const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n    orig(p, pattern, ext(def, options))\n\n  return Object.assign(m, {\n    Minimatch: class Minimatch extends orig.Minimatch {\n      constructor(pattern: string, options: MinimatchOptions = {}) {\n        super(pattern, ext(def, options))\n      }\n      static defaults(options: MinimatchOptions) {\n        return orig.defaults(ext(def, options)).Minimatch\n      }\n    },\n\n    AST: class AST extends orig.AST {\n      /* c8 ignore start */\n      constructor(\n        type: ExtglobType | null,\n        parent?: AST,\n        options: MinimatchOptions = {}\n      ) {\n        super(type, parent, ext(def, options))\n      }\n      /* c8 ignore stop */\n\n      static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n        return orig.AST.fromGlob(pattern, ext(def, options))\n      }\n    },\n\n    unescape: (\n      s: string,\n      options: Pick = {}\n    ) => orig.unescape(s, ext(def, options)),\n\n    escape: (\n      s: string,\n      options: Pick = {}\n    ) => orig.escape(s, ext(def, options)),\n\n    filter: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.filter(pattern, ext(def, options)),\n\n    defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n    makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.makeRe(pattern, ext(def, options)),\n\n    braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.braceExpand(pattern, ext(def, options)),\n\n    match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n      orig.match(list, pattern, ext(def, options)),\n\n    sep: orig.sep,\n    GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n  })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  assertValidPattern(pattern)\n\n  // Thanks to Yeting Li  for\n  // improving this regexp to avoid a ReDOS vulnerability.\n  if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n    // shortcut. no need to expand.\n    return [pattern]\n  }\n\n  return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n  new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n  list: string[],\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  const mm = new Minimatch(pattern, options)\n  list = list.filter(f => mm.match(f))\n  if (mm.options.nonull && !list.length) {\n    list.push(pattern)\n  }\n  return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n  _src?: string\n  _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n  options: MinimatchOptions\n  set: ParseReturnFiltered[][]\n  pattern: string\n\n  windowsPathsNoEscape: boolean\n  nonegate: boolean\n  negate: boolean\n  comment: boolean\n  empty: boolean\n  preserveMultipleSlashes: boolean\n  partial: boolean\n  globSet: string[]\n  globParts: string[][]\n  nocase: boolean\n\n  isWindows: boolean\n  platform: Platform\n  windowsNoMagicRoot: boolean\n\n  regexp: false | null | MMRegExp\n  constructor(pattern: string, options: MinimatchOptions = {}) {\n    assertValidPattern(pattern)\n\n    options = options || {}\n    this.options = options\n    this.pattern = pattern\n    this.platform = options.platform || defaultPlatform\n    this.isWindows = this.platform === 'win32'\n    this.windowsPathsNoEscape =\n      !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n    if (this.windowsPathsNoEscape) {\n      this.pattern = this.pattern.replace(/\\\\/g, '/')\n    }\n    this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n    this.regexp = null\n    this.negate = false\n    this.nonegate = !!options.nonegate\n    this.comment = false\n    this.empty = false\n    this.partial = !!options.partial\n    this.nocase = !!this.options.nocase\n    this.windowsNoMagicRoot =\n      options.windowsNoMagicRoot !== undefined\n        ? options.windowsNoMagicRoot\n        : !!(this.isWindows && this.nocase)\n\n    this.globSet = []\n    this.globParts = []\n    this.set = []\n\n    // make the set of regexps etc.\n    this.make()\n  }\n\n  hasMagic(): boolean {\n    if (this.options.magicalBraces && this.set.length > 1) {\n      return true\n    }\n    for (const pattern of this.set) {\n      for (const part of pattern) {\n        if (typeof part !== 'string') return true\n      }\n    }\n    return false\n  }\n\n  debug(..._: any[]) {}\n\n  make() {\n    const pattern = this.pattern\n    const options = this.options\n\n    // empty patterns and comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n      this.comment = true\n      return\n    }\n\n    if (!pattern) {\n      this.empty = true\n      return\n    }\n\n    // step 1: figure out negation, etc.\n    this.parseNegate()\n\n    // step 2: expand braces\n    this.globSet = [...new Set(this.braceExpand())]\n\n    if (options.debug) {\n      this.debug = (...args: any[]) => console.error(...args)\n    }\n\n    this.debug(this.pattern, this.globSet)\n\n    // step 3: now we have a set, so turn each one into a series of\n    // path-portion matching patterns.\n    // These will be regexps, except in the case of \"**\", which is\n    // set to the GLOBSTAR object for globstar behavior,\n    // and will not contain any / characters\n    //\n    // First, we preprocess to make the glob pattern sets a bit simpler\n    // and deduped.  There are some perf-killing patterns that can cause\n    // problems with a glob walk, but we can simplify them down a bit.\n    const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n    this.globParts = this.preprocess(rawGlobParts)\n    this.debug(this.pattern, this.globParts)\n\n    // glob --> regexps\n    let set = this.globParts.map((s, _, __) => {\n      if (this.isWindows && this.windowsNoMagicRoot) {\n        // check if it's a drive or unc path.\n        const isUNC =\n          s[0] === '' &&\n          s[1] === '' &&\n          (s[2] === '?' || !globMagic.test(s[2])) &&\n          !globMagic.test(s[3])\n        const isDrive = /^[a-z]:/i.test(s[0])\n        if (isUNC) {\n          return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n        } else if (isDrive) {\n          return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n        }\n      }\n      return s.map(ss => this.parse(ss))\n    })\n\n    this.debug(this.pattern, set)\n\n    // filter out everything that didn't compile properly.\n    this.set = set.filter(\n      s => s.indexOf(false) === -1\n    ) as ParseReturnFiltered[][]\n\n    // do not treat the ? in UNC paths as magic\n    if (this.isWindows) {\n      for (let i = 0; i < this.set.length; i++) {\n        const p = this.set[i]\n        if (\n          p[0] === '' &&\n          p[1] === '' &&\n          this.globParts[i][2] === '?' &&\n          typeof p[3] === 'string' &&\n          /^[a-z]:$/i.test(p[3])\n        ) {\n          p[2] = '?'\n        }\n      }\n    }\n\n    this.debug(this.pattern, this.set)\n  }\n\n  // various transforms to equivalent pattern sets that are\n  // faster to process in a filesystem walk.  The goal is to\n  // eliminate what we can, and push all ** patterns as far\n  // to the right as possible, even if it increases the number\n  // of patterns that we have to process.\n  preprocess(globParts: string[][]) {\n    // if we're not in globstar mode, then turn all ** into *\n    if (this.options.noglobstar) {\n      for (let i = 0; i < globParts.length; i++) {\n        for (let j = 0; j < globParts[i].length; j++) {\n          if (globParts[i][j] === '**') {\n            globParts[i][j] = '*'\n          }\n        }\n      }\n    }\n\n    const { optimizationLevel = 1 } = this.options\n\n    if (optimizationLevel >= 2) {\n      // aggressive optimization for the purpose of fs walking\n      globParts = this.firstPhasePreProcess(globParts)\n      globParts = this.secondPhasePreProcess(globParts)\n    } else if (optimizationLevel >= 1) {\n      // just basic optimizations to remove some .. parts\n      globParts = this.levelOneOptimize(globParts)\n    } else {\n      globParts = this.adjascentGlobstarOptimize(globParts)\n    }\n\n    return globParts\n  }\n\n  // just get rid of adjascent ** portions\n  adjascentGlobstarOptimize(globParts: string[][]) {\n    return globParts.map(parts => {\n      let gs: number = -1\n      while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n        let i = gs\n        while (parts[i + 1] === '**') {\n          i++\n        }\n        if (i !== gs) {\n          parts.splice(gs, i - gs)\n        }\n      }\n      return parts\n    })\n  }\n\n  // get rid of adjascent ** and resolve .. portions\n  levelOneOptimize(globParts: string[][]) {\n    return globParts.map(parts => {\n      parts = parts.reduce((set: string[], part) => {\n        const prev = set[set.length - 1]\n        if (part === '**' && prev === '**') {\n          return set\n        }\n        if (part === '..') {\n          if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n            set.pop()\n            return set\n          }\n        }\n        set.push(part)\n        return set\n      }, [])\n      return parts.length === 0 ? [''] : parts\n    })\n  }\n\n  levelTwoFileOptimize(parts: string | string[]) {\n    if (!Array.isArray(parts)) {\n      parts = this.slashSplit(parts)\n    }\n    let didSomething: boolean = false\n    do {\n      didSomething = false\n      // 
      // -> 
      /\n      if (!this.preserveMultipleSlashes) {\n        for (let i = 1; i < parts.length - 1; i++) {\n          const p = parts[i]\n          // don't squeeze out UNC patterns\n          if (i === 1 && p === '' && parts[0] === '') continue\n          if (p === '.' || p === '') {\n            didSomething = true\n            parts.splice(i, 1)\n            i--\n          }\n        }\n        if (\n          parts[0] === '.' &&\n          parts.length === 2 &&\n          (parts[1] === '.' || parts[1] === '')\n        ) {\n          didSomething = true\n          parts.pop()\n        }\n      }\n\n      // 
      /

      /../ ->

      /\n      let dd: number = 0\n      while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n        const p = parts[dd - 1]\n        if (p && p !== '.' && p !== '..' && p !== '**') {\n          didSomething = true\n          parts.splice(dd - 1, 2)\n          dd -= 2\n        }\n      }\n    } while (didSomething)\n    return parts.length === 0 ? [''] : parts\n  }\n\n  // First phase: single-pattern processing\n  // 
       is 1 or more portions\n  //  is 1 or more portions\n  // 

      is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n //

      // -> 
      /\n  // 
      /

      /../ ->

      /\n  // **/**/ -> **/\n  //\n  // **/*/ -> */**/ <== not valid because ** doesn't follow\n  // this WOULD be allowed if ** did follow symlinks, or * didn't\n  firstPhasePreProcess(globParts: string[][]) {\n    let didSomething = false\n    do {\n      didSomething = false\n      // 
      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n //

      /**/**/ -> 
      /**/\n            gss++\n          }\n          // eg, if gs is 2 and gss is 4, that means we have 3 **\n          // parts, and can remove 2 of them.\n          if (gss > gs) {\n            parts.splice(gs + 1, gss - gs)\n          }\n\n          let next = parts[gs + 1]\n          const p = parts[gs + 2]\n          const p2 = parts[gs + 3]\n          if (next !== '..') continue\n          if (\n            !p ||\n            p === '.' ||\n            p === '..' ||\n            !p2 ||\n            p2 === '.' ||\n            p2 === '..'\n          ) {\n            continue\n          }\n          didSomething = true\n          // edit parts in place, and push the new one\n          parts.splice(gs, 1)\n          const other = parts.slice(0)\n          other[gs] = '**'\n          globParts.push(other)\n          gs--\n        }\n\n        // 
      // -> 
      /\n        if (!this.preserveMultipleSlashes) {\n          for (let i = 1; i < parts.length - 1; i++) {\n            const p = parts[i]\n            // don't squeeze out UNC patterns\n            if (i === 1 && p === '' && parts[0] === '') continue\n            if (p === '.' || p === '') {\n              didSomething = true\n              parts.splice(i, 1)\n              i--\n            }\n          }\n          if (\n            parts[0] === '.' &&\n            parts.length === 2 &&\n            (parts[1] === '.' || parts[1] === '')\n          ) {\n            didSomething = true\n            parts.pop()\n          }\n        }\n\n        // 
      /

      /../ ->

      /\n        let dd: number = 0\n        while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n          const p = parts[dd - 1]\n          if (p && p !== '.' && p !== '..' && p !== '**') {\n            didSomething = true\n            const needDot = dd === 1 && parts[dd + 1] === '**'\n            const splin = needDot ? ['.'] : []\n            parts.splice(dd - 1, 2, ...splin)\n            if (parts.length === 0) parts.push('')\n            dd -= 2\n          }\n        }\n      }\n    } while (didSomething)\n\n    return globParts\n  }\n\n  // second phase: multi-pattern dedupes\n  // {
      /*/,
      /

      /} ->

      /*/\n  // {
      /,
      /} -> 
      /\n  // {
      /**/,
      /} -> 
      /**/\n  //\n  // {
      /**/,
      /**/

      /} ->

      /**/\n  // ^-- not valid because ** doens't follow symlinks\n  secondPhasePreProcess(globParts: string[][]): string[][] {\n    for (let i = 0; i < globParts.length - 1; i++) {\n      for (let j = i + 1; j < globParts.length; j++) {\n        const matched = this.partsMatch(\n          globParts[i],\n          globParts[j],\n          !this.preserveMultipleSlashes\n        )\n        if (!matched) continue\n        globParts[i] = matched\n        globParts[j] = []\n      }\n    }\n    return globParts.filter(gs => gs.length)\n  }\n\n  partsMatch(\n    a: string[],\n    b: string[],\n    emptyGSMatch: boolean = false\n  ): false | string[] {\n    let ai = 0\n    let bi = 0\n    let result: string[] = []\n    let which: string = ''\n    while (ai < a.length && bi < b.length) {\n      if (a[ai] === b[bi]) {\n        result.push(which === 'b' ? b[bi] : a[ai])\n        ai++\n        bi++\n      } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n        result.push(a[ai])\n        ai++\n      } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n        result.push(b[bi])\n        bi++\n      } else if (\n        a[ai] === '*' &&\n        b[bi] &&\n        (this.options.dot || !b[bi].startsWith('.')) &&\n        b[bi] !== '**'\n      ) {\n        if (which === 'b') return false\n        which = 'a'\n        result.push(a[ai])\n        ai++\n        bi++\n      } else if (\n        b[bi] === '*' &&\n        a[ai] &&\n        (this.options.dot || !a[ai].startsWith('.')) &&\n        a[ai] !== '**'\n      ) {\n        if (which === 'a') return false\n        which = 'b'\n        result.push(b[bi])\n        ai++\n        bi++\n      } else {\n        return false\n      }\n    }\n    // if we fall out of the loop, it means they two are identical\n    // as long as their lengths match\n    return a.length === b.length && result\n  }\n\n  parseNegate() {\n    if (this.nonegate) return\n\n    const pattern = this.pattern\n    let negate = false\n    let negateOffset = 0\n\n    for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n      negate = !negate\n      negateOffset++\n    }\n\n    if (negateOffset) this.pattern = pattern.slice(negateOffset)\n    this.negate = negate\n  }\n\n  // set partial to true to test if, for example,\n  // \"/a/b\" matches the start of \"/*/b/*/d\"\n  // Partial means, if you run out of file before you run\n  // out of pattern, then that's fine, as long as all\n  // the parts match.\n  matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n    const options = this.options\n\n    // UNC paths like //?/X:/... can match X:/... and vice versa\n    // Drive letters in absolute drive or unc paths are always compared\n    // case-insensitively.\n    if (this.isWindows) {\n      const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0])\n      const fileUNC =\n        !fileDrive &&\n        file[0] === '' &&\n        file[1] === '' &&\n        file[2] === '?' &&\n        /^[a-z]:$/i.test(file[3])\n\n      const patternDrive =\n        typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n      const patternUNC =\n        !patternDrive &&\n        pattern[0] === '' &&\n        pattern[1] === '' &&\n        pattern[2] === '?' &&\n        typeof pattern[3] === 'string' &&\n        /^[a-z]:$/i.test(pattern[3])\n\n      const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined\n      const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined\n      if (typeof fdi === 'number' && typeof pdi === 'number') {\n        const [fd, pd]: [string, string] = [file[fdi], pattern[pdi] as string]\n        if (fd.toLowerCase() === pd.toLowerCase()) {\n          pattern[pdi] = fd\n          if (pdi > fdi) {\n            pattern = pattern.slice( pdi)\n          } else if (fdi > pdi) {\n            file = file.slice(fdi)\n          }\n        }\n      }\n    }\n\n    // resolve and reduce . and .. portions in the file as well.\n    // dont' need to do the second phase, because it's only one string[]\n    const { optimizationLevel = 1 } = this.options\n    if (optimizationLevel >= 2) {\n      file = this.levelTwoFileOptimize(file)\n    }\n\n    this.debug('matchOne', this, { file, pattern })\n    this.debug('matchOne', file.length, pattern.length)\n\n    for (\n      var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n      fi < fl && pi < pl;\n      fi++, pi++\n    ) {\n      this.debug('matchOne loop')\n      var p = pattern[pi]\n      var f = file[fi]\n\n      this.debug(pattern, p, f)\n\n      // should be impossible.\n      // some invalid regexp stuff in the set.\n      /* c8 ignore start */\n      if (p === false) {\n        return false\n      }\n      /* c8 ignore stop */\n\n      if (p === GLOBSTAR) {\n        this.debug('GLOBSTAR', [pattern, p, f])\n\n        // \"**\"\n        // a/**/b/**/c would match the following:\n        // a/b/x/y/z/c\n        // a/x/y/z/b/c\n        // a/b/x/b/x/c\n        // a/b/c\n        // To do this, take the rest of the pattern after\n        // the **, and see if it would match the file remainder.\n        // If so, return success.\n        // If not, the ** \"swallows\" a segment, and try again.\n        // This is recursively awful.\n        //\n        // a/**/b/**/c matching a/b/x/y/z/c\n        // - a matches a\n        // - doublestar\n        //   - matchOne(b/x/y/z/c, b/**/c)\n        //     - b matches b\n        //     - doublestar\n        //       - matchOne(x/y/z/c, c) -> no\n        //       - matchOne(y/z/c, c) -> no\n        //       - matchOne(z/c, c) -> no\n        //       - matchOne(c, c) yes, hit\n        var fr = fi\n        var pr = pi + 1\n        if (pr === pl) {\n          this.debug('** at the end')\n          // a ** at the end will just swallow the rest.\n          // We have found a match.\n          // however, it will not swallow /.x, unless\n          // options.dot is set.\n          // . and .. are *never* matched by **, for explosively\n          // exponential reasons.\n          for (; fi < fl; fi++) {\n            if (\n              file[fi] === '.' ||\n              file[fi] === '..' ||\n              (!options.dot && file[fi].charAt(0) === '.')\n            )\n              return false\n          }\n          return true\n        }\n\n        // ok, let's see if we can swallow whatever we can.\n        while (fr < fl) {\n          var swallowee = file[fr]\n\n          this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n          // XXX remove this slice.  Just pass the start index.\n          if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n            this.debug('globstar found match!', fr, fl, swallowee)\n            // found a match.\n            return true\n          } else {\n            // can't swallow \".\" or \"..\" ever.\n            // can only swallow \".foo\" when explicitly asked.\n            if (\n              swallowee === '.' ||\n              swallowee === '..' ||\n              (!options.dot && swallowee.charAt(0) === '.')\n            ) {\n              this.debug('dot detected!', file, fr, pattern, pr)\n              break\n            }\n\n            // ** swallows a segment, and continue.\n            this.debug('globstar swallow a segment, and continue')\n            fr++\n          }\n        }\n\n        // no match was found.\n        // However, in partial mode, we can't say this is necessarily over.\n        /* c8 ignore start */\n        if (partial) {\n          // ran out of file\n          this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n          if (fr === fl) {\n            return true\n          }\n        }\n        /* c8 ignore stop */\n        return false\n      }\n\n      // something other than **\n      // non-magic patterns just have to match exactly\n      // patterns with magic have been turned into regexps.\n      let hit: boolean\n      if (typeof p === 'string') {\n        hit = f === p\n        this.debug('string match', p, f, hit)\n      } else {\n        hit = p.test(f)\n        this.debug('pattern match', p, f, hit)\n      }\n\n      if (!hit) return false\n    }\n\n    // Note: ending in / means that we'll get a final \"\"\n    // at the end of the pattern.  This can only match a\n    // corresponding \"\" at the end of the file.\n    // If the file ends in /, then it can only match a\n    // a pattern that ends in /, unless the pattern just\n    // doesn't have any more for it. But, a/b/ should *not*\n    // match \"a/b/*\", even though \"\" matches against the\n    // [^/]*? pattern, except in partial mode, where it might\n    // simply not be reached yet.\n    // However, a/b/ should still satisfy a/*\n\n    // now either we fell off the end of the pattern, or we're done.\n    if (fi === fl && pi === pl) {\n      // ran out of pattern and filename at the same time.\n      // an exact hit!\n      return true\n    } else if (fi === fl) {\n      // ran out of file, but still had pattern left.\n      // this is ok if we're doing the match as part of\n      // a glob fs traversal.\n      return partial\n    } else if (pi === pl) {\n      // ran out of pattern, still have file left.\n      // this is only acceptable if we're on the very last\n      // empty segment of a file with a trailing slash.\n      // a/* should match a/b/\n      return fi === fl - 1 && file[fi] === ''\n\n      /* c8 ignore start */\n    } else {\n      // should be unreachable.\n      throw new Error('wtf?')\n    }\n    /* c8 ignore stop */\n  }\n\n  braceExpand() {\n    return braceExpand(this.pattern, this.options)\n  }\n\n  parse(pattern: string): ParseReturn {\n    assertValidPattern(pattern)\n\n    const options = this.options\n\n    // shortcuts\n    if (pattern === '**') return GLOBSTAR\n    if (pattern === '') return ''\n\n    // far and away, the most common glob pattern parts are\n    // *, *.*, and *.  Add a fast check method for those.\n    let m: RegExpMatchArray | null\n    let fastTest: null | ((f: string) => boolean) = null\n    if ((m = pattern.match(starRE))) {\n      fastTest = options.dot ? starTestDot : starTest\n    } else if ((m = pattern.match(starDotExtRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? starDotExtTestNocaseDot\n            : starDotExtTestNocase\n          : options.dot\n          ? starDotExtTestDot\n          : starDotExtTest\n      )(m[1])\n    } else if ((m = pattern.match(qmarksRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? qmarksTestNocaseDot\n            : qmarksTestNocase\n          : options.dot\n          ? qmarksTestDot\n          : qmarksTest\n      )(m)\n    } else if ((m = pattern.match(starDotStarRE))) {\n      fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n    } else if ((m = pattern.match(dotStarRE))) {\n      fastTest = dotStarTest\n    }\n\n    const re = AST.fromGlob(pattern, this.options).toMMPattern()\n    return fastTest ? Object.assign(re, { test: fastTest }) : re\n  }\n\n  makeRe() {\n    if (this.regexp || this.regexp === false) return this.regexp\n\n    // at this point, this.set is a 2d array of partial\n    // pattern strings, or \"**\".\n    //\n    // It's better to use .match().  This function shouldn't\n    // be used, really, but it's pretty convenient sometimes,\n    // when you just want to work with a regex.\n    const set = this.set\n\n    if (!set.length) {\n      this.regexp = false\n      return this.regexp\n    }\n    const options = this.options\n\n    const twoStar = options.noglobstar\n      ? star\n      : options.dot\n      ? twoStarDot\n      : twoStarNoDot\n    const flags = new Set(options.nocase ? ['i'] : [])\n\n    // regexpify non-globstar patterns\n    // if ** is only item, then we just do one twoStar\n    // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n    // if ** is last, append (\\/twoStar|) to previous\n    // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n    // then filter out GLOBSTAR symbols\n    let re = set\n      .map(pattern => {\n        const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n          if (p instanceof RegExp) {\n            for (const f of p.flags.split('')) flags.add(f)\n          }\n          return typeof p === 'string'\n            ? regExpEscape(p)\n            : p === GLOBSTAR\n            ? GLOBSTAR\n            : p._src\n        }) as (string | typeof GLOBSTAR)[]\n        pp.forEach((p, i) => {\n          const next = pp[i + 1]\n          const prev = pp[i - 1]\n          if (p !== GLOBSTAR || prev === GLOBSTAR) {\n            return\n          }\n          if (prev === undefined) {\n            if (next !== undefined && next !== GLOBSTAR) {\n              pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n            } else {\n              pp[i] = twoStar\n            }\n          } else if (next === undefined) {\n            pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n          } else if (next !== GLOBSTAR) {\n            pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n            pp[i + 1] = GLOBSTAR\n          }\n        })\n        return pp.filter(p => p !== GLOBSTAR).join('/')\n      })\n      .join('|')\n\n    // need to wrap in parens if we had more than one thing with |,\n    // otherwise only the first will be anchored to ^ and the last to $\n    const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n    // must match entire pattern\n    // ending in a * or ** will make it less strict.\n    re = '^' + open + re + close + '$'\n\n    // can match anything, as long as it's not this.\n    if (this.negate) re = '^(?!' + re + ').+$'\n\n    try {\n      this.regexp = new RegExp(re, [...flags].join(''))\n      /* c8 ignore start */\n    } catch (ex) {\n      // should be impossible\n      this.regexp = false\n    }\n    /* c8 ignore stop */\n    return this.regexp\n  }\n\n  slashSplit(p: string) {\n    // if p starts with // on windows, we preserve that\n    // so that UNC paths aren't broken.  Otherwise, any number of\n    // / characters are coalesced into one, unless\n    // preserveMultipleSlashes is set to true.\n    if (this.preserveMultipleSlashes) {\n      return p.split('/')\n    } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n      // add an extra '' for the one we lose\n      return ['', ...p.split(/\\/+/)]\n    } else {\n      return p.split(/\\/+/)\n    }\n  }\n\n  match(f: string, partial = this.partial) {\n    this.debug('match', f, this.pattern)\n    // short-circuit in the case of busted things.\n    // comments, etc.\n    if (this.comment) {\n      return false\n    }\n    if (this.empty) {\n      return f === ''\n    }\n\n    if (f === '/' && partial) {\n      return true\n    }\n\n    const options = this.options\n\n    // windows: need to use /, not \\\n    if (this.isWindows) {\n      f = f.split('\\\\').join('/')\n    }\n\n    // treat the test path as a set of pathparts.\n    const ff = this.slashSplit(f)\n    this.debug(this.pattern, 'split', ff)\n\n    // just ONE of the pattern sets in this.set needs to match\n    // in order for it to be valid.  If negating, then just one\n    // match means that we have failed.\n    // Either way, return on the first hit.\n\n    const set = this.set\n    this.debug(this.pattern, 'set', set)\n\n    // Find the basename of the path by looking for the last non-empty segment\n    let filename: string = ff[ff.length - 1]\n    if (!filename) {\n      for (let i = ff.length - 2; !filename && i >= 0; i--) {\n        filename = ff[i]\n      }\n    }\n\n    for (let i = 0; i < set.length; i++) {\n      const pattern = set[i]\n      let file = ff\n      if (options.matchBase && pattern.length === 1) {\n        file = [filename]\n      }\n      const hit = this.matchOne(file, pattern, partial)\n      if (hit) {\n        if (options.flipNegate) {\n          return true\n        }\n        return !this.negate\n      }\n    }\n\n    // didn't get any hits.  this is success if it's a negative\n    // pattern, failure otherwise.\n    if (options.flipNegate) {\n      return false\n    }\n    return this.negate\n  }\n\n  static defaults(def: MinimatchOptions) {\n    return minimatch.defaults(def).Minimatch\n  }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n"]}
      \ No newline at end of file
      diff --git a/deps/minimatch/src/dist/mjs/index.d.ts.map b/deps/minimatch/src/dist/mjs/index.d.ts.map
      index 63f9ee60f21269..7a14a445ca5b5a 100644
      --- a/deps/minimatch/src/dist/mjs/index.d.ts.map
      +++ b/deps/minimatch/src/dist/mjs/index.d.ts.map
      @@ -1 +1 @@
      -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,KAAK,QAAQ,GACT,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,SAAS;QACjB,MAAM,WACA,MAAM,YACN,gBAAgB;;;sBAuGf,MAAM,YAAW,gBAAgB,SACvC,MAAM;oBAOkB,gBAAgB,KAAG,gBAAgB;2BA6EtD,MAAM,YACN,gBAAgB;sBA2BK,MAAM,YAAW,gBAAgB;kBAKzD,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB;;;;;CArN1B,CAAA;AA+DD,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;AAOrB,eAAO,MAAM,GAAG,KAAgE,CAAA;AAGhF,eAAO,MAAM,QAAQ,eAAwB,CAAA;AAmB7C,eAAO,MAAM,MAAM,YACP,MAAM,YAAW,gBAAgB,SACvC,MAAM,YACsB,CAAA;AAMlC,eAAO,MAAM,QAAQ,QAAS,gBAAgB,KAAG,gBA+DhD,CAAA;AAaD,eAAO,MAAM,WAAW,YACb,MAAM,YACN,gBAAgB,aAY1B,CAAA;AAeD,eAAO,MAAM,MAAM,YAAa,MAAM,YAAW,gBAAgB,qBACvB,CAAA;AAG1C,eAAO,MAAM,KAAK,SACV,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB,aAQ1B,CAAA;AAQD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,KAAK,CAAA;AAErD,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IAEf,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,uBAAuB,EAAE,OAAO,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IAEf,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAE3B,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAA;gBACnB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAkC3D,QAAQ,IAAI,OAAO;IAYnB,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;IAEjB,IAAI;IA0FJ,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA6BhC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAiB/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAoBtC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA6D7C,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA0F1C,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;IAgBxD,UAAU,CACR,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,YAAY,GAAE,OAAe,GAC5B,KAAK,GAAG,MAAM,EAAE;IA+CnB,WAAW;IAqBX,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe;IAkNzE,WAAW;IAIX,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IA6CnC,MAAM;IAsFN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
      \ No newline at end of file
      +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAI3C,KAAK,QAAQ,GACT,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,SAAS;QACjB,MAAM,WACA,MAAM,YACN,gBAAgB;;;sBAuGf,MAAM,YAAW,gBAAgB,SACvC,MAAM;oBAOkB,gBAAgB,KAAG,gBAAgB;2BA6EtD,MAAM,YACN,gBAAgB;sBA2BK,MAAM,YAAW,gBAAgB;kBAKzD,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB;;;;;CArN1B,CAAA;AA+DD,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;AAOrB,eAAO,MAAM,GAAG,KAAgE,CAAA;AAGhF,eAAO,MAAM,QAAQ,eAAwB,CAAA;AAmB7C,eAAO,MAAM,MAAM,YACP,MAAM,YAAW,gBAAgB,SACvC,MAAM,YACsB,CAAA;AAMlC,eAAO,MAAM,QAAQ,QAAS,gBAAgB,KAAG,gBA+DhD,CAAA;AAaD,eAAO,MAAM,WAAW,YACb,MAAM,YACN,gBAAgB,aAY1B,CAAA;AAeD,eAAO,MAAM,MAAM,YAAa,MAAM,YAAW,gBAAgB,qBACvB,CAAA;AAG1C,eAAO,MAAM,KAAK,SACV,MAAM,EAAE,WACL,MAAM,YACN,gBAAgB,aAQ1B,CAAA;AAQD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,QAAQ,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,KAAK,CAAA;AAErD,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IAEf,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,uBAAuB,EAAE,OAAO,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IAEf,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAE3B,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAA;gBACnB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAkC3D,QAAQ,IAAI,OAAO;IAYnB,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;IAEjB,IAAI;IA0FJ,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA6BhC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAiB/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IAoBtC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA6D7C,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;IA0F1C,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;IAgBxD,UAAU,CACR,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EAAE,EACX,YAAY,GAAE,OAAe,GAC5B,KAAK,GAAG,MAAM,EAAE;IA+CnB,WAAW;IAqBX,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe;IAiNzE,WAAW;IAIX,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IA6CnC,MAAM;IAsFN,UAAU,CAAC,CAAC,EAAE,MAAM;IAepB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,UAAe;IAiEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB;CAGtC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
      \ No newline at end of file
      diff --git a/deps/minimatch/src/dist/mjs/index.js b/deps/minimatch/src/dist/mjs/index.js
      index 0d5e956be8818b..831b6a67f63fb4 100644
      --- a/deps/minimatch/src/dist/mjs/index.js
      +++ b/deps/minimatch/src/dist/mjs/index.js
      @@ -596,39 +596,35 @@ export class Minimatch {
           // the parts match.
           matchOne(file, pattern, partial = false) {
               const options = this.options;
      -        // a UNC pattern like //?/c:/* can match a path like c:/x
      -        // and vice versa
      +        // UNC paths like //?/X:/... can match X:/... and vice versa
      +        // Drive letters in absolute drive or unc paths are always compared
      +        // case-insensitively.
               if (this.isWindows) {
      -            const fileUNC = file[0] === '' &&
      +            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);
      +            const fileUNC = !fileDrive &&
      +                file[0] === '' &&
                       file[1] === '' &&
                       file[2] === '?' &&
      -                typeof file[3] === 'string' &&
                       /^[a-z]:$/i.test(file[3]);
      -            const patternUNC = pattern[0] === '' &&
      +            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);
      +            const patternUNC = !patternDrive &&
      +                pattern[0] === '' &&
                       pattern[1] === '' &&
                       pattern[2] === '?' &&
                       typeof pattern[3] === 'string' &&
                       /^[a-z]:$/i.test(pattern[3]);
      -            if (fileUNC && patternUNC) {
      -                const fd = file[3];
      -                const pd = pattern[3];
      +            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;
      +            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;
      +            if (typeof fdi === 'number' && typeof pdi === 'number') {
      +                const [fd, pd] = [file[fdi], pattern[pdi]];
                       if (fd.toLowerCase() === pd.toLowerCase()) {
      -                    file[3] = pd;
      -                }
      -            }
      -            else if (patternUNC && typeof file[0] === 'string') {
      -                const pd = pattern[3];
      -                const fd = file[0];
      -                if (pd.toLowerCase() === fd.toLowerCase()) {
      -                    pattern[3] = fd;
      -                    pattern = pattern.slice(3);
      -                }
      -            }
      -            else if (fileUNC && typeof pattern[0] === 'string') {
      -                const fd = file[3];
      -                if (fd.toLowerCase() === pattern[0].toLowerCase()) {
      -                    pattern[0] = fd;
      -                    file = file.slice(3);
      +                    pattern[pdi] = fd;
      +                    if (pdi > fdi) {
      +                        pattern = pattern.slice(pdi);
      +                    }
      +                    else if (fdi > pdi) {
      +                        file = file.slice(fdi);
      +                    }
                       }
                   }
               }
      diff --git a/deps/minimatch/src/dist/mjs/index.js.map b/deps/minimatch/src/dist/mjs/index.js.map
      index 303f7785924046..9a11ea70863d05 100644
      --- a/deps/minimatch/src/dist/mjs/index.js.map
      +++ b/deps/minimatch/src/dist/mjs/index.js.map
      @@ -1 +1 @@
      -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAsCxC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACnD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,wDAAwD;AACxD,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAC5C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CACpD,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACvC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACzE,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAA;AACD,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC9C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,YAAY,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5E,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE,CACvC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5C,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACpE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AAC5E,MAAM,QAAQ,GAAG,wBAAwB,CAAA;AACzC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACjD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC,CAAA;AACD,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AACnE,CAAC,CAAA;AAED,qBAAqB;AACrB,MAAM,eAAe,GAAa,CAChC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;IACpC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAC9B,OAAO,CAAC,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC7C,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CACA,CAAA;AAEb,MAAM,IAAI,GAAkC;IAC1C,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;IACpB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACpB,CAAA;AACD,oBAAoB;AAEpB,MAAM,CAAC,MAAM,GAAG,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;AAChF,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAC7C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE7B,gCAAgC;AAChC,iDAAiD;AACjD,MAAM,KAAK,GAAG,MAAM,CAAA;AAEpB,gCAAgC;AAChC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAEzB,4DAA4D;AAC5D,+DAA+D;AAC/D,6CAA6C;AAC7C,MAAM,UAAU,GAAG,yCAAyC,CAAA;AAE5D,kCAAkC;AAClC,6CAA6C;AAC7C,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAE9C,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACpD,CAAC,CAAS,EAAE,EAAE,CACZ,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAClC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;AAEzB,MAAM,GAAG,GAAG,CAAC,CAAmB,EAAE,IAAsB,EAAE,EAAE,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAoB,EAAE;IAClE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;QAC/D,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,IAAI,GAAG,SAAS,CAAA;IAEtB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACvE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;QACtB,SAAS,EAAE,MAAM,SAAU,SAAQ,IAAI,CAAC,SAAS;YAC/C,YAAY,OAAe,EAAE,UAA4B,EAAE;gBACzD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,OAAyB;gBACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,CAAC;SACF;QAED,GAAG,EAAE,MAAM,GAAI,SAAQ,IAAI,CAAC,GAAG;YAC7B,qBAAqB;YACrB,YACE,IAAwB,EACxB,MAAY,EACZ,UAA4B,EAAE;gBAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACxC,CAAC;YACD,oBAAoB;YAEpB,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,UAA4B,EAAE;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACtD,CAAC;SACF;QAED,QAAQ,EAAE,CACR,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,MAAM,EAAE,CACN,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,QAAQ,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzE,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,WAAW,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,KAAK,EAAE,CAAC,IAAc,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACzE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,QAA2B;KACtC,CAAC,CAAA;AACJ,CAAC,CAAA;AACD,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE7B,mBAAmB;AACnB,qBAAqB;AACrB,mBAAmB;AACnB,8BAA8B;AAC9B,mCAAmC;AACnC,2CAA2C;AAC3C,EAAE;AACF,iCAAiC;AACjC,qBAAqB;AACrB,iBAAiB;AACjB,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,wDAAwD;IACxD,wDAAwD;IACxD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACxD,+BAA+B;QAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;KACjB;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,yCAAyC;AACzC,kDAAkD;AAClD,oEAAoE;AACpE,oEAAoE;AACpE,6DAA6D;AAC7D,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACxE,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAC1C,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;AAEzB,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAc,EACd,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACnB;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AACD,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;AAEvB,+BAA+B;AAC/B,MAAM,SAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CACjC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAU/C,MAAM,OAAO,SAAS;IACpB,OAAO,CAAkB;IACzB,GAAG,CAAyB;IAC5B,OAAO,CAAQ;IAEf,oBAAoB,CAAS;IAC7B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,uBAAuB,CAAS;IAChC,OAAO,CAAS;IAChB,OAAO,CAAU;IACjB,SAAS,CAAY;IACrB,MAAM,CAAS;IAEf,SAAS,CAAS;IAClB,QAAQ,CAAU;IAClB,kBAAkB,CAAS;IAE3B,MAAM,CAAyB;IAC/B,YAAY,OAAe,EAAE,UAA4B,EAAE;QACzD,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE3B,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAA;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAA;QAC1C,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAA;QACxE,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAChD;QACD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAA;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,kBAAkB;YACrB,OAAO,CAAC,kBAAkB,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,+BAA+B;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,OAAO,IAAI,CAAA;SACZ;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;YAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAA;aAC1C;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAQ,IAAG,CAAC;IAErB,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,OAAM;SACP;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACjB,OAAM;SACP;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;SACxD;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEtC,+DAA+D;QAC/D,kCAAkC;QAClC,8DAA8D;QAC9D,oDAAoD;QACpD,wCAAwC;QACxC,EAAE;QACF,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAExC,mBAAmB;QACnB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC7C,qCAAqC;gBACrC,MAAM,KAAK,GACT,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,IAAI,KAAK,EAAE;oBACT,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACnE;qBAAM,IAAI,OAAO,EAAE;oBAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAE7B,sDAAsD;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACF,CAAA;QAE5B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrB,IACE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;oBACxB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB;oBACA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;iBACX;aACF;SACF;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,yDAAyD;IACzD,0DAA0D;IAC1D,yDAAyD;IACzD,4DAA4D;IAC5D,uCAAuC;IACvC,UAAU,CAAC,SAAqB;QAC9B,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC5B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;qBACtB;iBACF;aACF;SACF;QAED,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,wDAAwD;YACxD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAChD,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;SAClD;aAAM,IAAI,iBAAiB,IAAI,CAAC,EAAE;YACjC,mDAAmD;YACnD,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;SAC7C;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;SACtD;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,wCAAwC;IACxC,yBAAyB,CAAC,SAAqB;QAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;YACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBAC5B,CAAC,EAAE,CAAA;iBACJ;gBACD,IAAI,CAAC,KAAK,EAAE,EAAE;oBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;iBACzB;aACF;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kDAAkD;IAClD,gBAAgB,CAAC,SAAqB;QACpC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,IAAI,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;oBAClC,OAAO,GAAG,CAAA;iBACX;gBACD,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE;wBAC1D,GAAG,CAAC,GAAG,EAAE,CAAA;wBACT,OAAO,GAAG,CAAA;qBACX;iBACF;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACd,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YACN,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB,CAAC,KAAwB;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SAC/B;QACD,IAAI,YAAY,GAAY,KAAK,CAAA;QACjC,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,iCAAiC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;wBAAE,SAAQ;oBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;wBACzB,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBAClB,CAAC,EAAE,CAAA;qBACJ;iBACF;gBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;oBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;oBACA,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;iBACZ;aACF;YAED,sCAAsC;YACtC,IAAI,EAAE,GAAW,CAAC,CAAA;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC9C,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvB,EAAE,IAAI,CAAC,CAAA;iBACR;aACF;SACF,QAAQ,YAAY,EAAC;QACtB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1C,CAAC;IAED,yCAAyC;IACzC,8BAA8B;IAC9B,+BAA+B;IAC/B,iDAAiD;IACjD,iBAAiB;IACjB,EAAE;IACF,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,qDAAqD;IACrD,EAAE;IACF,kFAAkF;IAClF,mCAAmC;IACnC,sCAAsC;IACtC,4BAA4B;IAC5B,EAAE;IACF,qEAAqE;IACrE,+DAA+D;IAC/D,oBAAoB,CAAC,SAAqB;QACxC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,kFAAkF;YAClF,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;gBAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;gBACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,IAAI,GAAG,GAAW,EAAE,CAAA;oBACpB,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC9B,wCAAwC;wBACxC,GAAG,EAAE,CAAA;qBACN;oBACD,uDAAuD;oBACvD,mCAAmC;oBACnC,IAAI,GAAG,GAAG,EAAE,EAAE;wBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;qBAC/B;oBAED,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,IAAI,IAAI,KAAK,IAAI;wBAAE,SAAQ;oBAC3B,IACE,CAAC,CAAC;wBACF,CAAC,KAAK,GAAG;wBACT,CAAC,KAAK,IAAI;wBACV,CAAC,EAAE;wBACH,EAAE,KAAK,GAAG;wBACV,EAAE,KAAK,IAAI,EACX;wBACA,SAAQ;qBACT;oBACD,YAAY,GAAG,IAAI,CAAA;oBACnB,4CAA4C;oBAC5C,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC5B,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;oBAChB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACrB,EAAE,EAAE,CAAA;iBACL;gBAED,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClB,iCAAiC;wBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;4BAAE,SAAQ;wBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;4BACzB,YAAY,GAAG,IAAI,CAAA;4BACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;4BAClB,CAAC,EAAE,CAAA;yBACJ;qBACF;oBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;wBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;wBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;wBACA,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;qBACZ;iBACF;gBAED,sCAAsC;gBACtC,IAAI,EAAE,GAAW,CAAC,CAAA;gBAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC9C,YAAY,GAAG,IAAI,CAAA;wBACnB,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;wBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;wBAClC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;wBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBACtC,EAAE,IAAI,CAAC,CAAA;qBACR;iBACF;aACF;SACF,QAAQ,YAAY,EAAC;QAEtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,sCAAsC;IACtC,sDAAsD;IACtD,8CAA8C;IAC9C,oDAAoD;IACpD,EAAE;IACF,2DAA2D;IAC3D,mDAAmD;IACnD,qBAAqB,CAAC,SAAqB;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,EACZ,CAAC,IAAI,CAAC,uBAAuB,CAC9B,CAAA;gBACD,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;aAClB;SACF;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU,CACR,CAAW,EACX,CAAW,EACX,eAAwB,KAAK;QAE7B,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,KAAK,GAAW,EAAE,CAAA;QACtB,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1C,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QACD,8DAA8D;QAC9D,iCAAiC;QACjC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAA;IACxC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE;YACpE,MAAM,GAAG,CAAC,MAAM,CAAA;YAChB,YAAY,EAAE,CAAA;SACf;QAED,IAAI,YAAY;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,+CAA+C;IAC/C,yCAAyC;IACzC,uDAAuD;IACvD,mDAAmD;IACnD,mBAAmB;IACnB,QAAQ,CAAC,IAAc,EAAE,OAAsB,EAAE,UAAmB,KAAK;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,yDAAyD;QACzD,iBAAiB;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,OAAO,GACX,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC3B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,UAAU,GACd,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAClB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC9B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAE9B,IAAI,OAAO,IAAI,UAAU,EAAE;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAW,CAAA;gBAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAA;gBAC/B,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;iBACb;aACF;iBAAM,IAAI,UAAU,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpD,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAA;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;oBACf,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBAC3B;aACF;iBAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACpD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;oBACjD,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;oBACf,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBACrB;aACF;SACF;QAED,4DAA4D;QAC5D,oEAAoE;QACpE,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;SACvC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAEnD,KACE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EACzD,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAClB,EAAE,EAAE,EAAE,EAAE,EAAE,EACV;YACA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;YACnB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;YAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAEzB,wBAAwB;YACxB,wCAAwC;YACxC,qBAAqB;YACrB,IAAI,CAAC,KAAK,KAAK,EAAE;gBACf,OAAO,KAAK,CAAA;aACb;YACD,oBAAoB;YAEpB,IAAI,CAAC,KAAK,QAAQ,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEvC,OAAO;gBACP,yCAAyC;gBACzC,cAAc;gBACd,cAAc;gBACd,cAAc;gBACd,QAAQ;gBACR,iDAAiD;gBACjD,wDAAwD;gBACxD,yBAAyB;gBACzB,sDAAsD;gBACtD,6BAA6B;gBAC7B,EAAE;gBACF,mCAAmC;gBACnC,gBAAgB;gBAChB,eAAe;gBACf,kCAAkC;gBAClC,oBAAoB;gBACpB,mBAAmB;gBACnB,qCAAqC;gBACrC,mCAAmC;gBACnC,iCAAiC;gBACjC,kCAAkC;gBAClC,IAAI,EAAE,GAAG,EAAE,CAAA;gBACX,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACf,IAAI,EAAE,KAAK,EAAE,EAAE;oBACb,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;oBAC3B,8CAA8C;oBAC9C,yBAAyB;oBACzB,2CAA2C;oBAC3C,sBAAsB;oBACtB,sDAAsD;oBACtD,uBAAuB;oBACvB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;wBACpB,IACE,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG;4BAChB,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI;4BACjB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;4BAE5C,OAAO,KAAK,CAAA;qBACf;oBACD,OAAO,IAAI,CAAA;iBACZ;gBAED,mDAAmD;gBACnD,OAAO,EAAE,GAAG,EAAE,EAAE;oBACd,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;oBAExB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;oBAEhE,qDAAqD;oBACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;wBAC7D,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;wBACtD,iBAAiB;wBACjB,OAAO,IAAI,CAAA;qBACZ;yBAAM;wBACL,kCAAkC;wBAClC,iDAAiD;wBACjD,IACE,SAAS,KAAK,GAAG;4BACjB,SAAS,KAAK,IAAI;4BAClB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAC7C;4BACA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;4BAClD,MAAK;yBACN;wBAED,uCAAuC;wBACvC,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;wBACtD,EAAE,EAAE,CAAA;qBACL;iBACF;gBAED,sBAAsB;gBACtB,mEAAmE;gBACnE,qBAAqB;gBACrB,IAAI,OAAO,EAAE;oBACX,kBAAkB;oBAClB,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;oBAC7D,IAAI,EAAE,KAAK,EAAE,EAAE;wBACb,OAAO,IAAI,CAAA;qBACZ;iBACF;gBACD,oBAAoB;gBACpB,OAAO,KAAK,CAAA;aACb;YAED,0BAA0B;YAC1B,gDAAgD;YAChD,qDAAqD;YACrD,IAAI,GAAY,CAAA;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACtC;iBAAM;gBACL,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACvC;YAED,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;SACvB;QAED,oDAAoD;QACpD,oDAAoD;QACpD,2CAA2C;QAC3C,kDAAkD;QAClD,oDAAoD;QACpD,uDAAuD;QACvD,oDAAoD;QACpD,yDAAyD;QACzD,6BAA6B;QAC7B,yCAAyC;QAEzC,gEAAgE;QAChE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,oDAAoD;YACpD,gBAAgB;YAChB,OAAO,IAAI,CAAA;SACZ;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,+CAA+C;YAC/C,iDAAiD;YACjD,uBAAuB;YACvB,OAAO,OAAO,CAAA;SACf;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,4CAA4C;YAC5C,oDAAoD;YACpD,iDAAiD;YACjD,wBAAwB;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAEvC,qBAAqB;SACtB;aAAM;YACL,yBAAyB;YACzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;SACxB;QACD,oBAAoB;IACtB,CAAC;IAED,WAAW;QACT,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,YAAY;QACZ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAA;QACrC,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,EAAE,CAAA;QAE7B,uDAAuD;QACvD,0DAA0D;QAC1D,IAAI,CAA0B,CAAA;QAC9B,IAAI,QAAQ,GAAoC,IAAI,CAAA;QACpD,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;YAC/B,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAA;SAChD;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;YAC5C,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,oBAAoB;gBACxB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,cAAc,CACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACR;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;YACxC,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,gBAAgB;gBACpB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CACf,CAAC,CAAC,CAAC,CAAA;SACL;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;YAC7C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAA;SAC9D;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,QAAQ,GAAG,WAAW,CAAA;SACvB;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAA;QAE5D,mDAAmD;QACnD,4BAA4B;QAC5B,EAAE;QACF,wDAAwD;QACxD,yDAAyD;QACzD,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU;YAChC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY,CAAA;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElD,kCAAkC;QAClC,kDAAkD;QAClD,sEAAsE;QACtE,iDAAiD;QACjD,8DAA8D;QAC9D,mCAAmC;QACnC,IAAI,EAAE,GAAG,GAAG;aACT,GAAG,CAAC,OAAO,CAAC,EAAE;YACb,MAAM,EAAE,GAAiC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACvD,IAAI,CAAC,YAAY,MAAM,EAAE;oBACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBAChD;gBACD,OAAO,OAAO,CAAC,KAAK,QAAQ;oBAC1B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAChB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACZ,CAAC,CAAiC,CAAA;YAClC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACvC,OAAM;iBACP;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE;wBAC3C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;qBACjD;yBAAM;wBACL,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;qBAChB;iBACF;qBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;oBAC7B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;iBAC9C;qBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;oBAC5B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;oBACzD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;iBACrB;YACH,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,4BAA4B;QAC5B,gDAAgD;QAChD,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;QAElC,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM;YAAE,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAA;QAE1C,IAAI;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACjD,qBAAqB;SACtB;QAAC,OAAO,EAAE,EAAE;YACX,uBAAuB;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QACD,oBAAoB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,UAAU,CAAC,CAAS;QAClB,mDAAmD;QACnD,6DAA6D;QAC7D,8CAA8C;QAC9C,0CAA0C;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACpB;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClD,sCAAsC;YACtC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;SAC/B;aAAM;YACL,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK,CAAC,CAAS,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,8CAA8C;QAC9C,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,EAAE,CAAA;SAChB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE;YACxB,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,gCAAgC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC5B;QAED,6CAA6C;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAErC,0DAA0D;QAC1D,2DAA2D;QAC3D,mCAAmC;QACnC,uCAAuC;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAEpC,0EAA0E;QAC1E,IAAI,QAAQ,GAAW,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpD,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;aACjB;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;aAClB;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;aACpB;SACF;QAED,2DAA2D;QAC3D,8BAA8B;QAC9B,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAqB;QACnC,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;IAC1C,CAAC;CACF;AACD,qBAAqB;AACrB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,oBAAoB;AACpB,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;AACnB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;AAC/B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;AACzB,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA","sourcesContent":["import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n  | 'aix'\n  | 'android'\n  | 'darwin'\n  | 'freebsd'\n  | 'haiku'\n  | 'linux'\n  | 'openbsd'\n  | 'sunos'\n  | 'win32'\n  | 'cygwin'\n  | 'netbsd'\n\nexport interface MinimatchOptions {\n  nobrace?: boolean\n  nocomment?: boolean\n  nonegate?: boolean\n  debug?: boolean\n  noglobstar?: boolean\n  noext?: boolean\n  nonull?: boolean\n  windowsPathsNoEscape?: boolean\n  allowWindowsEscape?: boolean\n  partial?: boolean\n  dot?: boolean\n  nocase?: boolean\n  nocaseMagicOnly?: boolean\n  magicalBraces?: boolean\n  matchBase?: boolean\n  flipNegate?: boolean\n  preserveMultipleSlashes?: boolean\n  optimizationLevel?: number\n  platform?: Platform\n  windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n  p: string,\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  assertValidPattern(pattern)\n\n  // shortcut: comments match nothing.\n  if (!options.nocomment && pattern.charAt(0) === '#') {\n    return false\n  }\n\n  return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n  !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n  ext = ext.toLowerCase()\n  return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n  ext = ext.toLowerCase()\n  return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n  f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExt([$0])\n  if (!ext) return noext\n  ext = ext.toLowerCase()\n  return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExtDot([$0])\n  if (!ext) return noext\n  ext = ext.toLowerCase()\n  return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExtDot([$0])\n  return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExt([$0])\n  return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n  const len = $0.length\n  return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n  const len = $0.length\n  return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n  typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n      process.platform\n    : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n  win32: { sep: '\\\\' },\n  posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n  (pattern: string, options: MinimatchOptions = {}) =>\n  (p: string) =>\n    minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n  Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n  if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n    return minimatch\n  }\n\n  const orig = minimatch\n\n  const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n    orig(p, pattern, ext(def, options))\n\n  return Object.assign(m, {\n    Minimatch: class Minimatch extends orig.Minimatch {\n      constructor(pattern: string, options: MinimatchOptions = {}) {\n        super(pattern, ext(def, options))\n      }\n      static defaults(options: MinimatchOptions) {\n        return orig.defaults(ext(def, options)).Minimatch\n      }\n    },\n\n    AST: class AST extends orig.AST {\n      /* c8 ignore start */\n      constructor(\n        type: ExtglobType | null,\n        parent?: AST,\n        options: MinimatchOptions = {}\n      ) {\n        super(type, parent, ext(def, options))\n      }\n      /* c8 ignore stop */\n\n      static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n        return orig.AST.fromGlob(pattern, ext(def, options))\n      }\n    },\n\n    unescape: (\n      s: string,\n      options: Pick = {}\n    ) => orig.unescape(s, ext(def, options)),\n\n    escape: (\n      s: string,\n      options: Pick = {}\n    ) => orig.escape(s, ext(def, options)),\n\n    filter: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.filter(pattern, ext(def, options)),\n\n    defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n    makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.makeRe(pattern, ext(def, options)),\n\n    braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.braceExpand(pattern, ext(def, options)),\n\n    match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n      orig.match(list, pattern, ext(def, options)),\n\n    sep: orig.sep,\n    GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n  })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  assertValidPattern(pattern)\n\n  // Thanks to Yeting Li  for\n  // improving this regexp to avoid a ReDOS vulnerability.\n  if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n    // shortcut. no need to expand.\n    return [pattern]\n  }\n\n  return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n  new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n  list: string[],\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  const mm = new Minimatch(pattern, options)\n  list = list.filter(f => mm.match(f))\n  if (mm.options.nonull && !list.length) {\n    list.push(pattern)\n  }\n  return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n  _src?: string\n  _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n  options: MinimatchOptions\n  set: ParseReturnFiltered[][]\n  pattern: string\n\n  windowsPathsNoEscape: boolean\n  nonegate: boolean\n  negate: boolean\n  comment: boolean\n  empty: boolean\n  preserveMultipleSlashes: boolean\n  partial: boolean\n  globSet: string[]\n  globParts: string[][]\n  nocase: boolean\n\n  isWindows: boolean\n  platform: Platform\n  windowsNoMagicRoot: boolean\n\n  regexp: false | null | MMRegExp\n  constructor(pattern: string, options: MinimatchOptions = {}) {\n    assertValidPattern(pattern)\n\n    options = options || {}\n    this.options = options\n    this.pattern = pattern\n    this.platform = options.platform || defaultPlatform\n    this.isWindows = this.platform === 'win32'\n    this.windowsPathsNoEscape =\n      !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n    if (this.windowsPathsNoEscape) {\n      this.pattern = this.pattern.replace(/\\\\/g, '/')\n    }\n    this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n    this.regexp = null\n    this.negate = false\n    this.nonegate = !!options.nonegate\n    this.comment = false\n    this.empty = false\n    this.partial = !!options.partial\n    this.nocase = !!this.options.nocase\n    this.windowsNoMagicRoot =\n      options.windowsNoMagicRoot !== undefined\n        ? options.windowsNoMagicRoot\n        : !!(this.isWindows && this.nocase)\n\n    this.globSet = []\n    this.globParts = []\n    this.set = []\n\n    // make the set of regexps etc.\n    this.make()\n  }\n\n  hasMagic(): boolean {\n    if (this.options.magicalBraces && this.set.length > 1) {\n      return true\n    }\n    for (const pattern of this.set) {\n      for (const part of pattern) {\n        if (typeof part !== 'string') return true\n      }\n    }\n    return false\n  }\n\n  debug(..._: any[]) {}\n\n  make() {\n    const pattern = this.pattern\n    const options = this.options\n\n    // empty patterns and comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n      this.comment = true\n      return\n    }\n\n    if (!pattern) {\n      this.empty = true\n      return\n    }\n\n    // step 1: figure out negation, etc.\n    this.parseNegate()\n\n    // step 2: expand braces\n    this.globSet = [...new Set(this.braceExpand())]\n\n    if (options.debug) {\n      this.debug = (...args: any[]) => console.error(...args)\n    }\n\n    this.debug(this.pattern, this.globSet)\n\n    // step 3: now we have a set, so turn each one into a series of\n    // path-portion matching patterns.\n    // These will be regexps, except in the case of \"**\", which is\n    // set to the GLOBSTAR object for globstar behavior,\n    // and will not contain any / characters\n    //\n    // First, we preprocess to make the glob pattern sets a bit simpler\n    // and deduped.  There are some perf-killing patterns that can cause\n    // problems with a glob walk, but we can simplify them down a bit.\n    const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n    this.globParts = this.preprocess(rawGlobParts)\n    this.debug(this.pattern, this.globParts)\n\n    // glob --> regexps\n    let set = this.globParts.map((s, _, __) => {\n      if (this.isWindows && this.windowsNoMagicRoot) {\n        // check if it's a drive or unc path.\n        const isUNC =\n          s[0] === '' &&\n          s[1] === '' &&\n          (s[2] === '?' || !globMagic.test(s[2])) &&\n          !globMagic.test(s[3])\n        const isDrive = /^[a-z]:/i.test(s[0])\n        if (isUNC) {\n          return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n        } else if (isDrive) {\n          return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n        }\n      }\n      return s.map(ss => this.parse(ss))\n    })\n\n    this.debug(this.pattern, set)\n\n    // filter out everything that didn't compile properly.\n    this.set = set.filter(\n      s => s.indexOf(false) === -1\n    ) as ParseReturnFiltered[][]\n\n    // do not treat the ? in UNC paths as magic\n    if (this.isWindows) {\n      for (let i = 0; i < this.set.length; i++) {\n        const p = this.set[i]\n        if (\n          p[0] === '' &&\n          p[1] === '' &&\n          this.globParts[i][2] === '?' &&\n          typeof p[3] === 'string' &&\n          /^[a-z]:$/i.test(p[3])\n        ) {\n          p[2] = '?'\n        }\n      }\n    }\n\n    this.debug(this.pattern, this.set)\n  }\n\n  // various transforms to equivalent pattern sets that are\n  // faster to process in a filesystem walk.  The goal is to\n  // eliminate what we can, and push all ** patterns as far\n  // to the right as possible, even if it increases the number\n  // of patterns that we have to process.\n  preprocess(globParts: string[][]) {\n    // if we're not in globstar mode, then turn all ** into *\n    if (this.options.noglobstar) {\n      for (let i = 0; i < globParts.length; i++) {\n        for (let j = 0; j < globParts[i].length; j++) {\n          if (globParts[i][j] === '**') {\n            globParts[i][j] = '*'\n          }\n        }\n      }\n    }\n\n    const { optimizationLevel = 1 } = this.options\n\n    if (optimizationLevel >= 2) {\n      // aggressive optimization for the purpose of fs walking\n      globParts = this.firstPhasePreProcess(globParts)\n      globParts = this.secondPhasePreProcess(globParts)\n    } else if (optimizationLevel >= 1) {\n      // just basic optimizations to remove some .. parts\n      globParts = this.levelOneOptimize(globParts)\n    } else {\n      globParts = this.adjascentGlobstarOptimize(globParts)\n    }\n\n    return globParts\n  }\n\n  // just get rid of adjascent ** portions\n  adjascentGlobstarOptimize(globParts: string[][]) {\n    return globParts.map(parts => {\n      let gs: number = -1\n      while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n        let i = gs\n        while (parts[i + 1] === '**') {\n          i++\n        }\n        if (i !== gs) {\n          parts.splice(gs, i - gs)\n        }\n      }\n      return parts\n    })\n  }\n\n  // get rid of adjascent ** and resolve .. portions\n  levelOneOptimize(globParts: string[][]) {\n    return globParts.map(parts => {\n      parts = parts.reduce((set: string[], part) => {\n        const prev = set[set.length - 1]\n        if (part === '**' && prev === '**') {\n          return set\n        }\n        if (part === '..') {\n          if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n            set.pop()\n            return set\n          }\n        }\n        set.push(part)\n        return set\n      }, [])\n      return parts.length === 0 ? [''] : parts\n    })\n  }\n\n  levelTwoFileOptimize(parts: string | string[]) {\n    if (!Array.isArray(parts)) {\n      parts = this.slashSplit(parts)\n    }\n    let didSomething: boolean = false\n    do {\n      didSomething = false\n      // 
      // -> 
      /\n      if (!this.preserveMultipleSlashes) {\n        for (let i = 1; i < parts.length - 1; i++) {\n          const p = parts[i]\n          // don't squeeze out UNC patterns\n          if (i === 1 && p === '' && parts[0] === '') continue\n          if (p === '.' || p === '') {\n            didSomething = true\n            parts.splice(i, 1)\n            i--\n          }\n        }\n        if (\n          parts[0] === '.' &&\n          parts.length === 2 &&\n          (parts[1] === '.' || parts[1] === '')\n        ) {\n          didSomething = true\n          parts.pop()\n        }\n      }\n\n      // 
      /

      /../ ->

      /\n      let dd: number = 0\n      while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n        const p = parts[dd - 1]\n        if (p && p !== '.' && p !== '..' && p !== '**') {\n          didSomething = true\n          parts.splice(dd - 1, 2)\n          dd -= 2\n        }\n      }\n    } while (didSomething)\n    return parts.length === 0 ? [''] : parts\n  }\n\n  // First phase: single-pattern processing\n  // 
       is 1 or more portions\n  //  is 1 or more portions\n  // 

      is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n //

      // -> 
      /\n  // 
      /

      /../ ->

      /\n  // **/**/ -> **/\n  //\n  // **/*/ -> */**/ <== not valid because ** doesn't follow\n  // this WOULD be allowed if ** did follow symlinks, or * didn't\n  firstPhasePreProcess(globParts: string[][]) {\n    let didSomething = false\n    do {\n      didSomething = false\n      // 
      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n //

      /**/**/ -> 
      /**/\n            gss++\n          }\n          // eg, if gs is 2 and gss is 4, that means we have 3 **\n          // parts, and can remove 2 of them.\n          if (gss > gs) {\n            parts.splice(gs + 1, gss - gs)\n          }\n\n          let next = parts[gs + 1]\n          const p = parts[gs + 2]\n          const p2 = parts[gs + 3]\n          if (next !== '..') continue\n          if (\n            !p ||\n            p === '.' ||\n            p === '..' ||\n            !p2 ||\n            p2 === '.' ||\n            p2 === '..'\n          ) {\n            continue\n          }\n          didSomething = true\n          // edit parts in place, and push the new one\n          parts.splice(gs, 1)\n          const other = parts.slice(0)\n          other[gs] = '**'\n          globParts.push(other)\n          gs--\n        }\n\n        // 
      // -> 
      /\n        if (!this.preserveMultipleSlashes) {\n          for (let i = 1; i < parts.length - 1; i++) {\n            const p = parts[i]\n            // don't squeeze out UNC patterns\n            if (i === 1 && p === '' && parts[0] === '') continue\n            if (p === '.' || p === '') {\n              didSomething = true\n              parts.splice(i, 1)\n              i--\n            }\n          }\n          if (\n            parts[0] === '.' &&\n            parts.length === 2 &&\n            (parts[1] === '.' || parts[1] === '')\n          ) {\n            didSomething = true\n            parts.pop()\n          }\n        }\n\n        // 
      /

      /../ ->

      /\n        let dd: number = 0\n        while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n          const p = parts[dd - 1]\n          if (p && p !== '.' && p !== '..' && p !== '**') {\n            didSomething = true\n            const needDot = dd === 1 && parts[dd + 1] === '**'\n            const splin = needDot ? ['.'] : []\n            parts.splice(dd - 1, 2, ...splin)\n            if (parts.length === 0) parts.push('')\n            dd -= 2\n          }\n        }\n      }\n    } while (didSomething)\n\n    return globParts\n  }\n\n  // second phase: multi-pattern dedupes\n  // {
      /*/,
      /

      /} ->

      /*/\n  // {
      /,
      /} -> 
      /\n  // {
      /**/,
      /} -> 
      /**/\n  //\n  // {
      /**/,
      /**/

      /} ->

      /**/\n  // ^-- not valid because ** doens't follow symlinks\n  secondPhasePreProcess(globParts: string[][]): string[][] {\n    for (let i = 0; i < globParts.length - 1; i++) {\n      for (let j = i + 1; j < globParts.length; j++) {\n        const matched = this.partsMatch(\n          globParts[i],\n          globParts[j],\n          !this.preserveMultipleSlashes\n        )\n        if (!matched) continue\n        globParts[i] = matched\n        globParts[j] = []\n      }\n    }\n    return globParts.filter(gs => gs.length)\n  }\n\n  partsMatch(\n    a: string[],\n    b: string[],\n    emptyGSMatch: boolean = false\n  ): false | string[] {\n    let ai = 0\n    let bi = 0\n    let result: string[] = []\n    let which: string = ''\n    while (ai < a.length && bi < b.length) {\n      if (a[ai] === b[bi]) {\n        result.push(which === 'b' ? b[bi] : a[ai])\n        ai++\n        bi++\n      } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n        result.push(a[ai])\n        ai++\n      } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n        result.push(b[bi])\n        bi++\n      } else if (\n        a[ai] === '*' &&\n        b[bi] &&\n        (this.options.dot || !b[bi].startsWith('.')) &&\n        b[bi] !== '**'\n      ) {\n        if (which === 'b') return false\n        which = 'a'\n        result.push(a[ai])\n        ai++\n        bi++\n      } else if (\n        b[bi] === '*' &&\n        a[ai] &&\n        (this.options.dot || !a[ai].startsWith('.')) &&\n        a[ai] !== '**'\n      ) {\n        if (which === 'a') return false\n        which = 'b'\n        result.push(b[bi])\n        ai++\n        bi++\n      } else {\n        return false\n      }\n    }\n    // if we fall out of the loop, it means they two are identical\n    // as long as their lengths match\n    return a.length === b.length && result\n  }\n\n  parseNegate() {\n    if (this.nonegate) return\n\n    const pattern = this.pattern\n    let negate = false\n    let negateOffset = 0\n\n    for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n      negate = !negate\n      negateOffset++\n    }\n\n    if (negateOffset) this.pattern = pattern.slice(negateOffset)\n    this.negate = negate\n  }\n\n  // set partial to true to test if, for example,\n  // \"/a/b\" matches the start of \"/*/b/*/d\"\n  // Partial means, if you run out of file before you run\n  // out of pattern, then that's fine, as long as all\n  // the parts match.\n  matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n    const options = this.options\n\n    // a UNC pattern like //?/c:/* can match a path like c:/x\n    // and vice versa\n    if (this.isWindows) {\n      const fileUNC =\n        file[0] === '' &&\n        file[1] === '' &&\n        file[2] === '?' &&\n        typeof file[3] === 'string' &&\n        /^[a-z]:$/i.test(file[3])\n      const patternUNC =\n        pattern[0] === '' &&\n        pattern[1] === '' &&\n        pattern[2] === '?' &&\n        typeof pattern[3] === 'string' &&\n        /^[a-z]:$/i.test(pattern[3])\n\n      if (fileUNC && patternUNC) {\n        const fd = file[3] as string\n        const pd = pattern[3] as string\n        if (fd.toLowerCase() === pd.toLowerCase()) {\n          file[3] = pd\n        }\n      } else if (patternUNC && typeof file[0] === 'string') {\n        const pd = pattern[3] as string\n        const fd = file[0]\n        if (pd.toLowerCase() === fd.toLowerCase()) {\n          pattern[3] = fd\n          pattern = pattern.slice(3)\n        }\n      } else if (fileUNC && typeof pattern[0] === 'string') {\n        const fd = file[3]\n        if (fd.toLowerCase() === pattern[0].toLowerCase()) {\n          pattern[0] = fd\n          file = file.slice(3)\n        }\n      }\n    }\n\n    // resolve and reduce . and .. portions in the file as well.\n    // dont' need to do the second phase, because it's only one string[]\n    const { optimizationLevel = 1 } = this.options\n    if (optimizationLevel >= 2) {\n      file = this.levelTwoFileOptimize(file)\n    }\n\n    this.debug('matchOne', this, { file, pattern })\n    this.debug('matchOne', file.length, pattern.length)\n\n    for (\n      var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n      fi < fl && pi < pl;\n      fi++, pi++\n    ) {\n      this.debug('matchOne loop')\n      var p = pattern[pi]\n      var f = file[fi]\n\n      this.debug(pattern, p, f)\n\n      // should be impossible.\n      // some invalid regexp stuff in the set.\n      /* c8 ignore start */\n      if (p === false) {\n        return false\n      }\n      /* c8 ignore stop */\n\n      if (p === GLOBSTAR) {\n        this.debug('GLOBSTAR', [pattern, p, f])\n\n        // \"**\"\n        // a/**/b/**/c would match the following:\n        // a/b/x/y/z/c\n        // a/x/y/z/b/c\n        // a/b/x/b/x/c\n        // a/b/c\n        // To do this, take the rest of the pattern after\n        // the **, and see if it would match the file remainder.\n        // If so, return success.\n        // If not, the ** \"swallows\" a segment, and try again.\n        // This is recursively awful.\n        //\n        // a/**/b/**/c matching a/b/x/y/z/c\n        // - a matches a\n        // - doublestar\n        //   - matchOne(b/x/y/z/c, b/**/c)\n        //     - b matches b\n        //     - doublestar\n        //       - matchOne(x/y/z/c, c) -> no\n        //       - matchOne(y/z/c, c) -> no\n        //       - matchOne(z/c, c) -> no\n        //       - matchOne(c, c) yes, hit\n        var fr = fi\n        var pr = pi + 1\n        if (pr === pl) {\n          this.debug('** at the end')\n          // a ** at the end will just swallow the rest.\n          // We have found a match.\n          // however, it will not swallow /.x, unless\n          // options.dot is set.\n          // . and .. are *never* matched by **, for explosively\n          // exponential reasons.\n          for (; fi < fl; fi++) {\n            if (\n              file[fi] === '.' ||\n              file[fi] === '..' ||\n              (!options.dot && file[fi].charAt(0) === '.')\n            )\n              return false\n          }\n          return true\n        }\n\n        // ok, let's see if we can swallow whatever we can.\n        while (fr < fl) {\n          var swallowee = file[fr]\n\n          this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n          // XXX remove this slice.  Just pass the start index.\n          if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n            this.debug('globstar found match!', fr, fl, swallowee)\n            // found a match.\n            return true\n          } else {\n            // can't swallow \".\" or \"..\" ever.\n            // can only swallow \".foo\" when explicitly asked.\n            if (\n              swallowee === '.' ||\n              swallowee === '..' ||\n              (!options.dot && swallowee.charAt(0) === '.')\n            ) {\n              this.debug('dot detected!', file, fr, pattern, pr)\n              break\n            }\n\n            // ** swallows a segment, and continue.\n            this.debug('globstar swallow a segment, and continue')\n            fr++\n          }\n        }\n\n        // no match was found.\n        // However, in partial mode, we can't say this is necessarily over.\n        /* c8 ignore start */\n        if (partial) {\n          // ran out of file\n          this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n          if (fr === fl) {\n            return true\n          }\n        }\n        /* c8 ignore stop */\n        return false\n      }\n\n      // something other than **\n      // non-magic patterns just have to match exactly\n      // patterns with magic have been turned into regexps.\n      let hit: boolean\n      if (typeof p === 'string') {\n        hit = f === p\n        this.debug('string match', p, f, hit)\n      } else {\n        hit = p.test(f)\n        this.debug('pattern match', p, f, hit)\n      }\n\n      if (!hit) return false\n    }\n\n    // Note: ending in / means that we'll get a final \"\"\n    // at the end of the pattern.  This can only match a\n    // corresponding \"\" at the end of the file.\n    // If the file ends in /, then it can only match a\n    // a pattern that ends in /, unless the pattern just\n    // doesn't have any more for it. But, a/b/ should *not*\n    // match \"a/b/*\", even though \"\" matches against the\n    // [^/]*? pattern, except in partial mode, where it might\n    // simply not be reached yet.\n    // However, a/b/ should still satisfy a/*\n\n    // now either we fell off the end of the pattern, or we're done.\n    if (fi === fl && pi === pl) {\n      // ran out of pattern and filename at the same time.\n      // an exact hit!\n      return true\n    } else if (fi === fl) {\n      // ran out of file, but still had pattern left.\n      // this is ok if we're doing the match as part of\n      // a glob fs traversal.\n      return partial\n    } else if (pi === pl) {\n      // ran out of pattern, still have file left.\n      // this is only acceptable if we're on the very last\n      // empty segment of a file with a trailing slash.\n      // a/* should match a/b/\n      return fi === fl - 1 && file[fi] === ''\n\n      /* c8 ignore start */\n    } else {\n      // should be unreachable.\n      throw new Error('wtf?')\n    }\n    /* c8 ignore stop */\n  }\n\n  braceExpand() {\n    return braceExpand(this.pattern, this.options)\n  }\n\n  parse(pattern: string): ParseReturn {\n    assertValidPattern(pattern)\n\n    const options = this.options\n\n    // shortcuts\n    if (pattern === '**') return GLOBSTAR\n    if (pattern === '') return ''\n\n    // far and away, the most common glob pattern parts are\n    // *, *.*, and *.  Add a fast check method for those.\n    let m: RegExpMatchArray | null\n    let fastTest: null | ((f: string) => boolean) = null\n    if ((m = pattern.match(starRE))) {\n      fastTest = options.dot ? starTestDot : starTest\n    } else if ((m = pattern.match(starDotExtRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? starDotExtTestNocaseDot\n            : starDotExtTestNocase\n          : options.dot\n          ? starDotExtTestDot\n          : starDotExtTest\n      )(m[1])\n    } else if ((m = pattern.match(qmarksRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? qmarksTestNocaseDot\n            : qmarksTestNocase\n          : options.dot\n          ? qmarksTestDot\n          : qmarksTest\n      )(m)\n    } else if ((m = pattern.match(starDotStarRE))) {\n      fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n    } else if ((m = pattern.match(dotStarRE))) {\n      fastTest = dotStarTest\n    }\n\n    const re = AST.fromGlob(pattern, this.options).toMMPattern()\n    return fastTest ? Object.assign(re, { test: fastTest }) : re\n  }\n\n  makeRe() {\n    if (this.regexp || this.regexp === false) return this.regexp\n\n    // at this point, this.set is a 2d array of partial\n    // pattern strings, or \"**\".\n    //\n    // It's better to use .match().  This function shouldn't\n    // be used, really, but it's pretty convenient sometimes,\n    // when you just want to work with a regex.\n    const set = this.set\n\n    if (!set.length) {\n      this.regexp = false\n      return this.regexp\n    }\n    const options = this.options\n\n    const twoStar = options.noglobstar\n      ? star\n      : options.dot\n      ? twoStarDot\n      : twoStarNoDot\n    const flags = new Set(options.nocase ? ['i'] : [])\n\n    // regexpify non-globstar patterns\n    // if ** is only item, then we just do one twoStar\n    // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n    // if ** is last, append (\\/twoStar|) to previous\n    // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n    // then filter out GLOBSTAR symbols\n    let re = set\n      .map(pattern => {\n        const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n          if (p instanceof RegExp) {\n            for (const f of p.flags.split('')) flags.add(f)\n          }\n          return typeof p === 'string'\n            ? regExpEscape(p)\n            : p === GLOBSTAR\n            ? GLOBSTAR\n            : p._src\n        }) as (string | typeof GLOBSTAR)[]\n        pp.forEach((p, i) => {\n          const next = pp[i + 1]\n          const prev = pp[i - 1]\n          if (p !== GLOBSTAR || prev === GLOBSTAR) {\n            return\n          }\n          if (prev === undefined) {\n            if (next !== undefined && next !== GLOBSTAR) {\n              pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n            } else {\n              pp[i] = twoStar\n            }\n          } else if (next === undefined) {\n            pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n          } else if (next !== GLOBSTAR) {\n            pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n            pp[i + 1] = GLOBSTAR\n          }\n        })\n        return pp.filter(p => p !== GLOBSTAR).join('/')\n      })\n      .join('|')\n\n    // need to wrap in parens if we had more than one thing with |,\n    // otherwise only the first will be anchored to ^ and the last to $\n    const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n    // must match entire pattern\n    // ending in a * or ** will make it less strict.\n    re = '^' + open + re + close + '$'\n\n    // can match anything, as long as it's not this.\n    if (this.negate) re = '^(?!' + re + ').+$'\n\n    try {\n      this.regexp = new RegExp(re, [...flags].join(''))\n      /* c8 ignore start */\n    } catch (ex) {\n      // should be impossible\n      this.regexp = false\n    }\n    /* c8 ignore stop */\n    return this.regexp\n  }\n\n  slashSplit(p: string) {\n    // if p starts with // on windows, we preserve that\n    // so that UNC paths aren't broken.  Otherwise, any number of\n    // / characters are coalesced into one, unless\n    // preserveMultipleSlashes is set to true.\n    if (this.preserveMultipleSlashes) {\n      return p.split('/')\n    } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n      // add an extra '' for the one we lose\n      return ['', ...p.split(/\\/+/)]\n    } else {\n      return p.split(/\\/+/)\n    }\n  }\n\n  match(f: string, partial = this.partial) {\n    this.debug('match', f, this.pattern)\n    // short-circuit in the case of busted things.\n    // comments, etc.\n    if (this.comment) {\n      return false\n    }\n    if (this.empty) {\n      return f === ''\n    }\n\n    if (f === '/' && partial) {\n      return true\n    }\n\n    const options = this.options\n\n    // windows: need to use /, not \\\n    if (this.isWindows) {\n      f = f.split('\\\\').join('/')\n    }\n\n    // treat the test path as a set of pathparts.\n    const ff = this.slashSplit(f)\n    this.debug(this.pattern, 'split', ff)\n\n    // just ONE of the pattern sets in this.set needs to match\n    // in order for it to be valid.  If negating, then just one\n    // match means that we have failed.\n    // Either way, return on the first hit.\n\n    const set = this.set\n    this.debug(this.pattern, 'set', set)\n\n    // Find the basename of the path by looking for the last non-empty segment\n    let filename: string = ff[ff.length - 1]\n    if (!filename) {\n      for (let i = ff.length - 2; !filename && i >= 0; i--) {\n        filename = ff[i]\n      }\n    }\n\n    for (let i = 0; i < set.length; i++) {\n      const pattern = set[i]\n      let file = ff\n      if (options.matchBase && pattern.length === 1) {\n        file = [filename]\n      }\n      const hit = this.matchOne(file, pattern, partial)\n      if (hit) {\n        if (options.flipNegate) {\n          return true\n        }\n        return !this.negate\n      }\n    }\n\n    // didn't get any hits.  this is success if it's a negative\n    // pattern, failure otherwise.\n    if (options.flipNegate) {\n      return false\n    }\n    return this.negate\n  }\n\n  static defaults(def: MinimatchOptions) {\n    return minimatch.defaults(def).Minimatch\n  }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n"]}
      \ No newline at end of file
      +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAe,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAsCxC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,CAAS,EACT,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACnD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,wDAAwD;AACxD,MAAM,YAAY,GAAG,uBAAuB,CAAA;AAC5C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CACpD,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACvC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACzE,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAA;AACD,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC9C,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,YAAY,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5E,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE,CACvC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5C,MAAM,SAAS,GAAG,SAAS,CAAA;AAC3B,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/E,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACpE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AAC5E,MAAM,QAAQ,GAAG,wBAAwB,CAAA;AACzC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AACjE,CAAC,CAAA;AACD,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAmB,EAAE,EAAE;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA;AACD,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACjD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC,CAAA;AACD,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAmB,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;IACrB,OAAO,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;AACnE,CAAC,CAAA;AAED,qBAAqB;AACrB,MAAM,eAAe,GAAa,CAChC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO;IACpC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAC9B,OAAO,CAAC,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC7C,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CACA,CAAA;AAEb,MAAM,IAAI,GAAkC;IAC1C,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;IACpB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACpB,CAAA;AACD,oBAAoB;AAEpB,MAAM,CAAC,MAAM,GAAG,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;AAChF,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAC7C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE7B,gCAAgC;AAChC,iDAAiD;AACjD,MAAM,KAAK,GAAG,MAAM,CAAA;AAEpB,gCAAgC;AAChC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAEzB,4DAA4D;AAC5D,+DAA+D;AAC/D,6CAA6C;AAC7C,MAAM,UAAU,GAAG,yCAAyC,CAAA;AAE5D,kCAAkC;AAClC,6CAA6C;AAC7C,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAE9C,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACpD,CAAC,CAAS,EAAE,EAAE,CACZ,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAClC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;AAEzB,MAAM,GAAG,GAAG,CAAC,CAAmB,EAAE,IAAsB,EAAE,EAAE,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAoB,EAAE;IAClE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;QAC/D,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,IAAI,GAAG,SAAS,CAAA;IAEtB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACvE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IAErC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;QACtB,SAAS,EAAE,MAAM,SAAU,SAAQ,IAAI,CAAC,SAAS;YAC/C,YAAY,OAAe,EAAE,UAA4B,EAAE;gBACzD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACnC,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,OAAyB;gBACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,CAAC;SACF;QAED,GAAG,EAAE,MAAM,GAAI,SAAQ,IAAI,CAAC,GAAG;YAC7B,qBAAqB;YACrB,YACE,IAAwB,EACxB,MAAY,EACZ,UAA4B,EAAE;gBAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACxC,CAAC;YACD,oBAAoB;YAEpB,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,UAA4B,EAAE;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACtD,CAAC;SACF;QAED,QAAQ,EAAE,CACR,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,MAAM,EAAE,CACN,CAAS,EACT,UAA0D,EAAE,EAC5D,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,QAAQ,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzE,MAAM,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,WAAW,EAAE,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,KAAK,EAAE,CAAC,IAAc,EAAE,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACzE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE9C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,QAA2B;KACtC,CAAC,CAAA;AACJ,CAAC,CAAA;AACD,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAE7B,mBAAmB;AACnB,qBAAqB;AACrB,mBAAmB;AACnB,8BAA8B;AAC9B,mCAAmC;AACnC,2CAA2C;AAC3C,EAAE;AACF,iCAAiC;AACjC,qBAAqB;AACrB,iBAAiB;AACjB,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,wDAAwD;IACxD,wDAAwD;IACxD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACxD,+BAA+B;QAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;KACjB;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,yCAAyC;AACzC,kDAAkD;AAClD,oEAAoE;AACpE,oEAAoE;AACpE,6DAA6D;AAC7D,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,8DAA8D;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAE,EAAE,CACxE,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAC1C,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;AAEzB,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAc,EACd,OAAe,EACf,UAA4B,EAAE,EAC9B,EAAE;IACF,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACnB;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AACD,SAAS,CAAC,KAAK,GAAG,KAAK,CAAA;AAEvB,+BAA+B;AAC/B,MAAM,SAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CACjC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;AAU/C,MAAM,OAAO,SAAS;IACpB,OAAO,CAAkB;IACzB,GAAG,CAAyB;IAC5B,OAAO,CAAQ;IAEf,oBAAoB,CAAS;IAC7B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,uBAAuB,CAAS;IAChC,OAAO,CAAS;IAChB,OAAO,CAAU;IACjB,SAAS,CAAY;IACrB,MAAM,CAAS;IAEf,SAAS,CAAS;IAClB,QAAQ,CAAU;IAClB,kBAAkB,CAAS;IAE3B,MAAM,CAAyB;IAC/B,YAAY,OAAe,EAAE,UAA4B,EAAE;QACzD,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE3B,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAA;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAA;QAC1C,IAAI,CAAC,oBAAoB;YACvB,CAAC,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAA;QACxE,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAChD;QACD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAA;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,kBAAkB;YACrB,OAAO,CAAC,kBAAkB,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,kBAAkB;gBAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,+BAA+B;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,OAAO,IAAI,CAAA;SACZ;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;YAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAA;aAC1C;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAQ,IAAG,CAAC;IAErB,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,OAAM;SACP;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;YACjB,OAAM;SACP;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;SACxD;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEtC,+DAA+D;QAC/D,kCAAkC;QAClC,8DAA8D;QAC9D,oDAAoD;QACpD,wCAAwC;QACxC,EAAE;QACF,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAExC,mBAAmB;QACnB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC7C,qCAAqC;gBACrC,MAAM,KAAK,GACT,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,IAAI,KAAK,EAAE;oBACT,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACnE;qBAAM,IAAI,OAAO,EAAE;oBAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;iBACvD;aACF;YACD,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAE7B,sDAAsD;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACF,CAAA;QAE5B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACrB,IACE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;oBACxB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtB;oBACA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;iBACX;aACF;SACF;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,yDAAyD;IACzD,0DAA0D;IAC1D,yDAAyD;IACzD,4DAA4D;IAC5D,uCAAuC;IACvC,UAAU,CAAC,SAAqB;QAC9B,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC5B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;qBACtB;iBACF;aACF;SACF;QAED,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,wDAAwD;YACxD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAChD,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;SAClD;aAAM,IAAI,iBAAiB,IAAI,CAAC,EAAE;YACjC,mDAAmD;YACnD,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;SAC7C;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;SACtD;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,wCAAwC;IACxC,yBAAyB,CAAC,SAAqB;QAC7C,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;YACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBAC5B,CAAC,EAAE,CAAA;iBACJ;gBACD,IAAI,CAAC,KAAK,EAAE,EAAE;oBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;iBACzB;aACF;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kDAAkD;IAClD,gBAAgB,CAAC,SAAqB;QACpC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,IAAI,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;oBAClC,OAAO,GAAG,CAAA;iBACX;gBACD,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE;wBAC1D,GAAG,CAAC,GAAG,EAAE,CAAA;wBACT,OAAO,GAAG,CAAA;qBACX;iBACF;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACd,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YACN,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB,CAAC,KAAwB;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SAC/B;QACD,IAAI,YAAY,GAAY,KAAK,CAAA;QACjC,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,iCAAiC;oBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;wBAAE,SAAQ;oBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;wBACzB,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBAClB,CAAC,EAAE,CAAA;qBACJ;iBACF;gBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;oBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;oBACA,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;iBACZ;aACF;YAED,sCAAsC;YACtC,IAAI,EAAE,GAAW,CAAC,CAAA;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC9C,YAAY,GAAG,IAAI,CAAA;oBACnB,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvB,EAAE,IAAI,CAAC,CAAA;iBACR;aACF;SACF,QAAQ,YAAY,EAAC;QACtB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC1C,CAAC;IAED,yCAAyC;IACzC,8BAA8B;IAC9B,+BAA+B;IAC/B,iDAAiD;IACjD,iBAAiB;IACjB,EAAE;IACF,gEAAgE;IAChE,gEAAgE;IAChE,kEAAkE;IAClE,qDAAqD;IACrD,EAAE;IACF,kFAAkF;IAClF,mCAAmC;IACnC,sCAAsC;IACtC,4BAA4B;IAC5B,EAAE;IACF,qEAAqE;IACrE,+DAA+D;IAC/D,oBAAoB,CAAC,SAAqB;QACxC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,GAAG;YACD,YAAY,GAAG,KAAK,CAAA;YACpB,kFAAkF;YAClF,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;gBAC3B,IAAI,EAAE,GAAW,CAAC,CAAC,CAAA;gBACnB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,IAAI,GAAG,GAAW,EAAE,CAAA;oBACpB,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC9B,wCAAwC;wBACxC,GAAG,EAAE,CAAA;qBACN;oBACD,uDAAuD;oBACvD,mCAAmC;oBACnC,IAAI,GAAG,GAAG,EAAE,EAAE;wBACZ,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;qBAC/B;oBAED,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACxB,IAAI,IAAI,KAAK,IAAI;wBAAE,SAAQ;oBAC3B,IACE,CAAC,CAAC;wBACF,CAAC,KAAK,GAAG;wBACT,CAAC,KAAK,IAAI;wBACV,CAAC,EAAE;wBACH,EAAE,KAAK,GAAG;wBACV,EAAE,KAAK,IAAI,EACX;wBACA,SAAQ;qBACT;oBACD,YAAY,GAAG,IAAI,CAAA;oBACnB,4CAA4C;oBAC5C,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;oBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC5B,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;oBAChB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACrB,EAAE,EAAE,CAAA;iBACL;gBAED,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClB,iCAAiC;wBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;4BAAE,SAAQ;wBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE;4BACzB,YAAY,GAAG,IAAI,CAAA;4BACnB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;4BAClB,CAAC,EAAE,CAAA;yBACJ;qBACF;oBACD,IACE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;wBAChB,KAAK,CAAC,MAAM,KAAK,CAAC;wBAClB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACrC;wBACA,YAAY,GAAG,IAAI,CAAA;wBACnB,KAAK,CAAC,GAAG,EAAE,CAAA;qBACZ;iBACF;gBAED,sCAAsC;gBACtC,IAAI,EAAE,GAAW,CAAC,CAAA;gBAClB,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;wBAC9C,YAAY,GAAG,IAAI,CAAA;wBACnB,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;wBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;wBAClC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;wBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBACtC,EAAE,IAAI,CAAC,CAAA;qBACR;iBACF;aACF;SACF,QAAQ,YAAY,EAAC;QAEtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,sCAAsC;IACtC,sDAAsD;IACtD,8CAA8C;IAC9C,oDAAoD;IACpD,EAAE;IACF,2DAA2D;IAC3D,mDAAmD;IACnD,qBAAqB,CAAC,SAAqB;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAC7B,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,EACZ,CAAC,IAAI,CAAC,uBAAuB,CAC9B,CAAA;gBACD,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;gBACtB,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;aAClB;SACF;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU,CACR,CAAW,EACX,CAAW,EACX,eAAwB,KAAK;QAE7B,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,KAAK,GAAW,EAAE,CAAA;QACtB,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE;YACrC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1C,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM,IACL,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG;gBACb,CAAC,CAAC,EAAE,CAAC;gBACL,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACd;gBACA,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBAC/B,KAAK,GAAG,GAAG,CAAA;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAClB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;aACL;iBAAM;gBACL,OAAO,KAAK,CAAA;aACb;SACF;QACD,8DAA8D;QAC9D,iCAAiC;QACjC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAA;IACxC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE;YACpE,MAAM,GAAG,CAAC,MAAM,CAAA;YAChB,YAAY,EAAE,CAAA;SACf;QAED,IAAI,YAAY;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,+CAA+C;IAC/C,yCAAyC;IACzC,uDAAuD;IACvD,mDAAmD;IACnD,mBAAmB;IACnB,QAAQ,CAAC,IAAc,EAAE,OAAsB,EAAE,UAAmB,KAAK;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,4DAA4D;QAC5D,mEAAmE;QACnE,sBAAsB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,OAAO,GACX,CAAC,SAAS;gBACV,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBACf,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAE3B,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,MAAM,UAAU,GACd,CAAC,YAAY;gBACb,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;gBACjB,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAClB,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC9B,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAE9B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACtD,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAW,CAAC,CAAA;gBACtE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,EAAE;oBACzC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;oBACjB,IAAI,GAAG,GAAG,GAAG,EAAE;wBACb,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,GAAG,CAAC,CAAA;qBAC9B;yBAAM,IAAI,GAAG,GAAG,GAAG,EAAE;wBACpB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;qBACvB;iBACF;aACF;SACF;QAED,4DAA4D;QAC5D,oEAAoE;QACpE,MAAM,EAAE,iBAAiB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC9C,IAAI,iBAAiB,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;SACvC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAEnD,KACE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EACzD,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAClB,EAAE,EAAE,EAAE,EAAE,EAAE,EACV;YACA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;YACnB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;YAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAEzB,wBAAwB;YACxB,wCAAwC;YACxC,qBAAqB;YACrB,IAAI,CAAC,KAAK,KAAK,EAAE;gBACf,OAAO,KAAK,CAAA;aACb;YACD,oBAAoB;YAEpB,IAAI,CAAC,KAAK,QAAQ,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEvC,OAAO;gBACP,yCAAyC;gBACzC,cAAc;gBACd,cAAc;gBACd,cAAc;gBACd,QAAQ;gBACR,iDAAiD;gBACjD,wDAAwD;gBACxD,yBAAyB;gBACzB,sDAAsD;gBACtD,6BAA6B;gBAC7B,EAAE;gBACF,mCAAmC;gBACnC,gBAAgB;gBAChB,eAAe;gBACf,kCAAkC;gBAClC,oBAAoB;gBACpB,mBAAmB;gBACnB,qCAAqC;gBACrC,mCAAmC;gBACnC,iCAAiC;gBACjC,kCAAkC;gBAClC,IAAI,EAAE,GAAG,EAAE,CAAA;gBACX,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;gBACf,IAAI,EAAE,KAAK,EAAE,EAAE;oBACb,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;oBAC3B,8CAA8C;oBAC9C,yBAAyB;oBACzB,2CAA2C;oBAC3C,sBAAsB;oBACtB,sDAAsD;oBACtD,uBAAuB;oBACvB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;wBACpB,IACE,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG;4BAChB,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI;4BACjB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;4BAE5C,OAAO,KAAK,CAAA;qBACf;oBACD,OAAO,IAAI,CAAA;iBACZ;gBAED,mDAAmD;gBACnD,OAAO,EAAE,GAAG,EAAE,EAAE;oBACd,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;oBAExB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;oBAEhE,qDAAqD;oBACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;wBAC7D,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;wBACtD,iBAAiB;wBACjB,OAAO,IAAI,CAAA;qBACZ;yBAAM;wBACL,kCAAkC;wBAClC,iDAAiD;wBACjD,IACE,SAAS,KAAK,GAAG;4BACjB,SAAS,KAAK,IAAI;4BAClB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAC7C;4BACA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;4BAClD,MAAK;yBACN;wBAED,uCAAuC;wBACvC,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;wBACtD,EAAE,EAAE,CAAA;qBACL;iBACF;gBAED,sBAAsB;gBACtB,mEAAmE;gBACnE,qBAAqB;gBACrB,IAAI,OAAO,EAAE;oBACX,kBAAkB;oBAClB,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;oBAC7D,IAAI,EAAE,KAAK,EAAE,EAAE;wBACb,OAAO,IAAI,CAAA;qBACZ;iBACF;gBACD,oBAAoB;gBACpB,OAAO,KAAK,CAAA;aACb;YAED,0BAA0B;YAC1B,gDAAgD;YAChD,qDAAqD;YACrD,IAAI,GAAY,CAAA;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;gBACb,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACtC;iBAAM;gBACL,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;aACvC;YAED,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;SACvB;QAED,oDAAoD;QACpD,oDAAoD;QACpD,2CAA2C;QAC3C,kDAAkD;QAClD,oDAAoD;QACpD,uDAAuD;QACvD,oDAAoD;QACpD,yDAAyD;QACzD,6BAA6B;QAC7B,yCAAyC;QAEzC,gEAAgE;QAChE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B,oDAAoD;YACpD,gBAAgB;YAChB,OAAO,IAAI,CAAA;SACZ;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,+CAA+C;YAC/C,iDAAiD;YACjD,uBAAuB;YACvB,OAAO,OAAO,CAAA;SACf;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,4CAA4C;YAC5C,oDAAoD;YACpD,iDAAiD;YACjD,wBAAwB;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAEvC,qBAAqB;SACtB;aAAM;YACL,yBAAyB;YACzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;SACxB;QACD,oBAAoB;IACtB,CAAC;IAED,WAAW;QACT,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,YAAY;QACZ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAA;QACrC,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,EAAE,CAAA;QAE7B,uDAAuD;QACvD,0DAA0D;QAC1D,IAAI,CAA0B,CAAA;QAC9B,IAAI,QAAQ,GAAoC,IAAI,CAAA;QACpD,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;YAC/B,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAA;SAChD;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE;YAC5C,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,oBAAoB;gBACxB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,cAAc,CACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACR;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;YACxC,QAAQ,GAAG,CACT,OAAO,CAAC,MAAM;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG;oBACX,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,gBAAgB;gBACpB,CAAC,CAAC,OAAO,CAAC,GAAG;oBACb,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CACf,CAAC,CAAC,CAAC,CAAA;SACL;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;YAC7C,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAA;SAC9D;aAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,QAAQ,GAAG,WAAW,CAAA;SACvB;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,MAAM,CAAA;QAE5D,mDAAmD;QACnD,4BAA4B;QAC5B,EAAE;QACF,wDAAwD;QACxD,yDAAyD;QACzD,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,OAAO,IAAI,CAAC,MAAM,CAAA;SACnB;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU;YAChC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG;gBACb,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY,CAAA;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElD,kCAAkC;QAClC,kDAAkD;QAClD,sEAAsE;QACtE,iDAAiD;QACjD,8DAA8D;QAC9D,mCAAmC;QACnC,IAAI,EAAE,GAAG,GAAG;aACT,GAAG,CAAC,OAAO,CAAC,EAAE;YACb,MAAM,EAAE,GAAiC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACvD,IAAI,CAAC,YAAY,MAAM,EAAE;oBACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;iBAChD;gBACD,OAAO,OAAO,CAAC,KAAK,QAAQ;oBAC1B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAChB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACZ,CAAC,CAAiC,CAAA;YAClC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtB,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACvC,OAAM;iBACP;gBACD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE;wBAC3C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;qBACjD;yBAAM;wBACL,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;qBAChB;iBACF;qBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;oBAC7B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;iBAC9C;qBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;oBAC5B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;oBACzD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;iBACrB;YACH,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,4BAA4B;QAC5B,gDAAgD;QAChD,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAA;QAElC,gDAAgD;QAChD,IAAI,IAAI,CAAC,MAAM;YAAE,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAA;QAE1C,IAAI;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACjD,qBAAqB;SACtB;QAAC,OAAO,EAAE,EAAE;YACX,uBAAuB;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;SACpB;QACD,oBAAoB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,UAAU,CAAC,CAAS;QAClB,mDAAmD;QACnD,6DAA6D;QAC7D,8CAA8C;QAC9C,0CAA0C;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACpB;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClD,sCAAsC;YACtC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;SAC/B;aAAM;YACL,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK,CAAC,CAAS,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,8CAA8C;QAC9C,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,EAAE,CAAA;SAChB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE;YACxB,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,gCAAgC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC5B;QAED,6CAA6C;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAErC,0DAA0D;QAC1D,2DAA2D;QAC3D,mCAAmC;QACnC,uCAAuC;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAEpC,0EAA0E;QAC1E,IAAI,QAAQ,GAAW,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpD,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;aACjB;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;aAClB;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,CAAC,UAAU,EAAE;oBACtB,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAA;aACpB;SACF;QAED,2DAA2D;QAC3D,8BAA8B;QAC9B,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAqB;QACnC,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;IAC1C,CAAC;CACF;AACD,qBAAqB;AACrB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,oBAAoB;AACpB,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;AACnB,SAAS,CAAC,SAAS,GAAG,SAAS,CAAA;AAC/B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAA;AACzB,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA","sourcesContent":["import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n  | 'aix'\n  | 'android'\n  | 'darwin'\n  | 'freebsd'\n  | 'haiku'\n  | 'linux'\n  | 'openbsd'\n  | 'sunos'\n  | 'win32'\n  | 'cygwin'\n  | 'netbsd'\n\nexport interface MinimatchOptions {\n  nobrace?: boolean\n  nocomment?: boolean\n  nonegate?: boolean\n  debug?: boolean\n  noglobstar?: boolean\n  noext?: boolean\n  nonull?: boolean\n  windowsPathsNoEscape?: boolean\n  allowWindowsEscape?: boolean\n  partial?: boolean\n  dot?: boolean\n  nocase?: boolean\n  nocaseMagicOnly?: boolean\n  magicalBraces?: boolean\n  matchBase?: boolean\n  flipNegate?: boolean\n  preserveMultipleSlashes?: boolean\n  optimizationLevel?: number\n  platform?: Platform\n  windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n  p: string,\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  assertValidPattern(pattern)\n\n  // shortcut: comments match nothing.\n  if (!options.nocomment && pattern.charAt(0) === '#') {\n    return false\n  }\n\n  return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n  !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n  ext = ext.toLowerCase()\n  return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n  ext = ext.toLowerCase()\n  return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n  f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExt([$0])\n  if (!ext) return noext\n  ext = ext.toLowerCase()\n  return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExtDot([$0])\n  if (!ext) return noext\n  ext = ext.toLowerCase()\n  return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExtDot([$0])\n  return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n  const noext = qmarksTestNoExt([$0])\n  return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n  const len = $0.length\n  return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n  const len = $0.length\n  return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n  typeof process === 'object' && process\n    ? (typeof process.env === 'object' &&\n        process.env &&\n        process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n      process.platform\n    : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n  win32: { sep: '\\\\' },\n  posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed.  Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n  (pattern: string, options: MinimatchOptions = {}) =>\n  (p: string) =>\n    minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n  Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n  if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n    return minimatch\n  }\n\n  const orig = minimatch\n\n  const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n    orig(p, pattern, ext(def, options))\n\n  return Object.assign(m, {\n    Minimatch: class Minimatch extends orig.Minimatch {\n      constructor(pattern: string, options: MinimatchOptions = {}) {\n        super(pattern, ext(def, options))\n      }\n      static defaults(options: MinimatchOptions) {\n        return orig.defaults(ext(def, options)).Minimatch\n      }\n    },\n\n    AST: class AST extends orig.AST {\n      /* c8 ignore start */\n      constructor(\n        type: ExtglobType | null,\n        parent?: AST,\n        options: MinimatchOptions = {}\n      ) {\n        super(type, parent, ext(def, options))\n      }\n      /* c8 ignore stop */\n\n      static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n        return orig.AST.fromGlob(pattern, ext(def, options))\n      }\n    },\n\n    unescape: (\n      s: string,\n      options: Pick = {}\n    ) => orig.unescape(s, ext(def, options)),\n\n    escape: (\n      s: string,\n      options: Pick = {}\n    ) => orig.escape(s, ext(def, options)),\n\n    filter: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.filter(pattern, ext(def, options)),\n\n    defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n    makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.makeRe(pattern, ext(def, options)),\n\n    braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n      orig.braceExpand(pattern, ext(def, options)),\n\n    match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n      orig.match(list, pattern, ext(def, options)),\n\n    sep: orig.sep,\n    GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n  })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  assertValidPattern(pattern)\n\n  // Thanks to Yeting Li  for\n  // improving this regexp to avoid a ReDOS vulnerability.\n  if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n    // shortcut. no need to expand.\n    return [pattern]\n  }\n\n  return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion.  Otherwise, any series\n// of * is equivalent to a single *.  Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n  new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n  list: string[],\n  pattern: string,\n  options: MinimatchOptions = {}\n) => {\n  const mm = new Minimatch(pattern, options)\n  list = list.filter(f => mm.match(f))\n  if (mm.options.nonull && !list.length) {\n    list.push(pattern)\n  }\n  return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n  _src?: string\n  _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n  options: MinimatchOptions\n  set: ParseReturnFiltered[][]\n  pattern: string\n\n  windowsPathsNoEscape: boolean\n  nonegate: boolean\n  negate: boolean\n  comment: boolean\n  empty: boolean\n  preserveMultipleSlashes: boolean\n  partial: boolean\n  globSet: string[]\n  globParts: string[][]\n  nocase: boolean\n\n  isWindows: boolean\n  platform: Platform\n  windowsNoMagicRoot: boolean\n\n  regexp: false | null | MMRegExp\n  constructor(pattern: string, options: MinimatchOptions = {}) {\n    assertValidPattern(pattern)\n\n    options = options || {}\n    this.options = options\n    this.pattern = pattern\n    this.platform = options.platform || defaultPlatform\n    this.isWindows = this.platform === 'win32'\n    this.windowsPathsNoEscape =\n      !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n    if (this.windowsPathsNoEscape) {\n      this.pattern = this.pattern.replace(/\\\\/g, '/')\n    }\n    this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n    this.regexp = null\n    this.negate = false\n    this.nonegate = !!options.nonegate\n    this.comment = false\n    this.empty = false\n    this.partial = !!options.partial\n    this.nocase = !!this.options.nocase\n    this.windowsNoMagicRoot =\n      options.windowsNoMagicRoot !== undefined\n        ? options.windowsNoMagicRoot\n        : !!(this.isWindows && this.nocase)\n\n    this.globSet = []\n    this.globParts = []\n    this.set = []\n\n    // make the set of regexps etc.\n    this.make()\n  }\n\n  hasMagic(): boolean {\n    if (this.options.magicalBraces && this.set.length > 1) {\n      return true\n    }\n    for (const pattern of this.set) {\n      for (const part of pattern) {\n        if (typeof part !== 'string') return true\n      }\n    }\n    return false\n  }\n\n  debug(..._: any[]) {}\n\n  make() {\n    const pattern = this.pattern\n    const options = this.options\n\n    // empty patterns and comments match nothing.\n    if (!options.nocomment && pattern.charAt(0) === '#') {\n      this.comment = true\n      return\n    }\n\n    if (!pattern) {\n      this.empty = true\n      return\n    }\n\n    // step 1: figure out negation, etc.\n    this.parseNegate()\n\n    // step 2: expand braces\n    this.globSet = [...new Set(this.braceExpand())]\n\n    if (options.debug) {\n      this.debug = (...args: any[]) => console.error(...args)\n    }\n\n    this.debug(this.pattern, this.globSet)\n\n    // step 3: now we have a set, so turn each one into a series of\n    // path-portion matching patterns.\n    // These will be regexps, except in the case of \"**\", which is\n    // set to the GLOBSTAR object for globstar behavior,\n    // and will not contain any / characters\n    //\n    // First, we preprocess to make the glob pattern sets a bit simpler\n    // and deduped.  There are some perf-killing patterns that can cause\n    // problems with a glob walk, but we can simplify them down a bit.\n    const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n    this.globParts = this.preprocess(rawGlobParts)\n    this.debug(this.pattern, this.globParts)\n\n    // glob --> regexps\n    let set = this.globParts.map((s, _, __) => {\n      if (this.isWindows && this.windowsNoMagicRoot) {\n        // check if it's a drive or unc path.\n        const isUNC =\n          s[0] === '' &&\n          s[1] === '' &&\n          (s[2] === '?' || !globMagic.test(s[2])) &&\n          !globMagic.test(s[3])\n        const isDrive = /^[a-z]:/i.test(s[0])\n        if (isUNC) {\n          return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n        } else if (isDrive) {\n          return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n        }\n      }\n      return s.map(ss => this.parse(ss))\n    })\n\n    this.debug(this.pattern, set)\n\n    // filter out everything that didn't compile properly.\n    this.set = set.filter(\n      s => s.indexOf(false) === -1\n    ) as ParseReturnFiltered[][]\n\n    // do not treat the ? in UNC paths as magic\n    if (this.isWindows) {\n      for (let i = 0; i < this.set.length; i++) {\n        const p = this.set[i]\n        if (\n          p[0] === '' &&\n          p[1] === '' &&\n          this.globParts[i][2] === '?' &&\n          typeof p[3] === 'string' &&\n          /^[a-z]:$/i.test(p[3])\n        ) {\n          p[2] = '?'\n        }\n      }\n    }\n\n    this.debug(this.pattern, this.set)\n  }\n\n  // various transforms to equivalent pattern sets that are\n  // faster to process in a filesystem walk.  The goal is to\n  // eliminate what we can, and push all ** patterns as far\n  // to the right as possible, even if it increases the number\n  // of patterns that we have to process.\n  preprocess(globParts: string[][]) {\n    // if we're not in globstar mode, then turn all ** into *\n    if (this.options.noglobstar) {\n      for (let i = 0; i < globParts.length; i++) {\n        for (let j = 0; j < globParts[i].length; j++) {\n          if (globParts[i][j] === '**') {\n            globParts[i][j] = '*'\n          }\n        }\n      }\n    }\n\n    const { optimizationLevel = 1 } = this.options\n\n    if (optimizationLevel >= 2) {\n      // aggressive optimization for the purpose of fs walking\n      globParts = this.firstPhasePreProcess(globParts)\n      globParts = this.secondPhasePreProcess(globParts)\n    } else if (optimizationLevel >= 1) {\n      // just basic optimizations to remove some .. parts\n      globParts = this.levelOneOptimize(globParts)\n    } else {\n      globParts = this.adjascentGlobstarOptimize(globParts)\n    }\n\n    return globParts\n  }\n\n  // just get rid of adjascent ** portions\n  adjascentGlobstarOptimize(globParts: string[][]) {\n    return globParts.map(parts => {\n      let gs: number = -1\n      while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n        let i = gs\n        while (parts[i + 1] === '**') {\n          i++\n        }\n        if (i !== gs) {\n          parts.splice(gs, i - gs)\n        }\n      }\n      return parts\n    })\n  }\n\n  // get rid of adjascent ** and resolve .. portions\n  levelOneOptimize(globParts: string[][]) {\n    return globParts.map(parts => {\n      parts = parts.reduce((set: string[], part) => {\n        const prev = set[set.length - 1]\n        if (part === '**' && prev === '**') {\n          return set\n        }\n        if (part === '..') {\n          if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n            set.pop()\n            return set\n          }\n        }\n        set.push(part)\n        return set\n      }, [])\n      return parts.length === 0 ? [''] : parts\n    })\n  }\n\n  levelTwoFileOptimize(parts: string | string[]) {\n    if (!Array.isArray(parts)) {\n      parts = this.slashSplit(parts)\n    }\n    let didSomething: boolean = false\n    do {\n      didSomething = false\n      // 
      // -> 
      /\n      if (!this.preserveMultipleSlashes) {\n        for (let i = 1; i < parts.length - 1; i++) {\n          const p = parts[i]\n          // don't squeeze out UNC patterns\n          if (i === 1 && p === '' && parts[0] === '') continue\n          if (p === '.' || p === '') {\n            didSomething = true\n            parts.splice(i, 1)\n            i--\n          }\n        }\n        if (\n          parts[0] === '.' &&\n          parts.length === 2 &&\n          (parts[1] === '.' || parts[1] === '')\n        ) {\n          didSomething = true\n          parts.pop()\n        }\n      }\n\n      // 
      /

      /../ ->

      /\n      let dd: number = 0\n      while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n        const p = parts[dd - 1]\n        if (p && p !== '.' && p !== '..' && p !== '**') {\n          didSomething = true\n          parts.splice(dd - 1, 2)\n          dd -= 2\n        }\n      }\n    } while (didSomething)\n    return parts.length === 0 ? [''] : parts\n  }\n\n  // First phase: single-pattern processing\n  // 
       is 1 or more portions\n  //  is 1 or more portions\n  // 

      is any portion other than ., .., '', or **\n // is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n //

      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n //

      // -> 
      /\n  // 
      /

      /../ ->

      /\n  // **/**/ -> **/\n  //\n  // **/*/ -> */**/ <== not valid because ** doesn't follow\n  // this WOULD be allowed if ** did follow symlinks, or * didn't\n  firstPhasePreProcess(globParts: string[][]) {\n    let didSomething = false\n    do {\n      didSomething = false\n      // 
      /**/../

      /

      / -> {

      /../

      /

      /,

      /**/

      /

      /}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n //

      /**/**/ -> 
      /**/\n            gss++\n          }\n          // eg, if gs is 2 and gss is 4, that means we have 3 **\n          // parts, and can remove 2 of them.\n          if (gss > gs) {\n            parts.splice(gs + 1, gss - gs)\n          }\n\n          let next = parts[gs + 1]\n          const p = parts[gs + 2]\n          const p2 = parts[gs + 3]\n          if (next !== '..') continue\n          if (\n            !p ||\n            p === '.' ||\n            p === '..' ||\n            !p2 ||\n            p2 === '.' ||\n            p2 === '..'\n          ) {\n            continue\n          }\n          didSomething = true\n          // edit parts in place, and push the new one\n          parts.splice(gs, 1)\n          const other = parts.slice(0)\n          other[gs] = '**'\n          globParts.push(other)\n          gs--\n        }\n\n        // 
      // -> 
      /\n        if (!this.preserveMultipleSlashes) {\n          for (let i = 1; i < parts.length - 1; i++) {\n            const p = parts[i]\n            // don't squeeze out UNC patterns\n            if (i === 1 && p === '' && parts[0] === '') continue\n            if (p === '.' || p === '') {\n              didSomething = true\n              parts.splice(i, 1)\n              i--\n            }\n          }\n          if (\n            parts[0] === '.' &&\n            parts.length === 2 &&\n            (parts[1] === '.' || parts[1] === '')\n          ) {\n            didSomething = true\n            parts.pop()\n          }\n        }\n\n        // 
      /

      /../ ->

      /\n        let dd: number = 0\n        while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n          const p = parts[dd - 1]\n          if (p && p !== '.' && p !== '..' && p !== '**') {\n            didSomething = true\n            const needDot = dd === 1 && parts[dd + 1] === '**'\n            const splin = needDot ? ['.'] : []\n            parts.splice(dd - 1, 2, ...splin)\n            if (parts.length === 0) parts.push('')\n            dd -= 2\n          }\n        }\n      }\n    } while (didSomething)\n\n    return globParts\n  }\n\n  // second phase: multi-pattern dedupes\n  // {
      /*/,
      /

      /} ->

      /*/\n  // {
      /,
      /} -> 
      /\n  // {
      /**/,
      /} -> 
      /**/\n  //\n  // {
      /**/,
      /**/

      /} ->

      /**/\n  // ^-- not valid because ** doens't follow symlinks\n  secondPhasePreProcess(globParts: string[][]): string[][] {\n    for (let i = 0; i < globParts.length - 1; i++) {\n      for (let j = i + 1; j < globParts.length; j++) {\n        const matched = this.partsMatch(\n          globParts[i],\n          globParts[j],\n          !this.preserveMultipleSlashes\n        )\n        if (!matched) continue\n        globParts[i] = matched\n        globParts[j] = []\n      }\n    }\n    return globParts.filter(gs => gs.length)\n  }\n\n  partsMatch(\n    a: string[],\n    b: string[],\n    emptyGSMatch: boolean = false\n  ): false | string[] {\n    let ai = 0\n    let bi = 0\n    let result: string[] = []\n    let which: string = ''\n    while (ai < a.length && bi < b.length) {\n      if (a[ai] === b[bi]) {\n        result.push(which === 'b' ? b[bi] : a[ai])\n        ai++\n        bi++\n      } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n        result.push(a[ai])\n        ai++\n      } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n        result.push(b[bi])\n        bi++\n      } else if (\n        a[ai] === '*' &&\n        b[bi] &&\n        (this.options.dot || !b[bi].startsWith('.')) &&\n        b[bi] !== '**'\n      ) {\n        if (which === 'b') return false\n        which = 'a'\n        result.push(a[ai])\n        ai++\n        bi++\n      } else if (\n        b[bi] === '*' &&\n        a[ai] &&\n        (this.options.dot || !a[ai].startsWith('.')) &&\n        a[ai] !== '**'\n      ) {\n        if (which === 'a') return false\n        which = 'b'\n        result.push(b[bi])\n        ai++\n        bi++\n      } else {\n        return false\n      }\n    }\n    // if we fall out of the loop, it means they two are identical\n    // as long as their lengths match\n    return a.length === b.length && result\n  }\n\n  parseNegate() {\n    if (this.nonegate) return\n\n    const pattern = this.pattern\n    let negate = false\n    let negateOffset = 0\n\n    for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n      negate = !negate\n      negateOffset++\n    }\n\n    if (negateOffset) this.pattern = pattern.slice(negateOffset)\n    this.negate = negate\n  }\n\n  // set partial to true to test if, for example,\n  // \"/a/b\" matches the start of \"/*/b/*/d\"\n  // Partial means, if you run out of file before you run\n  // out of pattern, then that's fine, as long as all\n  // the parts match.\n  matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n    const options = this.options\n\n    // UNC paths like //?/X:/... can match X:/... and vice versa\n    // Drive letters in absolute drive or unc paths are always compared\n    // case-insensitively.\n    if (this.isWindows) {\n      const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0])\n      const fileUNC =\n        !fileDrive &&\n        file[0] === '' &&\n        file[1] === '' &&\n        file[2] === '?' &&\n        /^[a-z]:$/i.test(file[3])\n\n      const patternDrive =\n        typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n      const patternUNC =\n        !patternDrive &&\n        pattern[0] === '' &&\n        pattern[1] === '' &&\n        pattern[2] === '?' &&\n        typeof pattern[3] === 'string' &&\n        /^[a-z]:$/i.test(pattern[3])\n\n      const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined\n      const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined\n      if (typeof fdi === 'number' && typeof pdi === 'number') {\n        const [fd, pd]: [string, string] = [file[fdi], pattern[pdi] as string]\n        if (fd.toLowerCase() === pd.toLowerCase()) {\n          pattern[pdi] = fd\n          if (pdi > fdi) {\n            pattern = pattern.slice( pdi)\n          } else if (fdi > pdi) {\n            file = file.slice(fdi)\n          }\n        }\n      }\n    }\n\n    // resolve and reduce . and .. portions in the file as well.\n    // dont' need to do the second phase, because it's only one string[]\n    const { optimizationLevel = 1 } = this.options\n    if (optimizationLevel >= 2) {\n      file = this.levelTwoFileOptimize(file)\n    }\n\n    this.debug('matchOne', this, { file, pattern })\n    this.debug('matchOne', file.length, pattern.length)\n\n    for (\n      var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n      fi < fl && pi < pl;\n      fi++, pi++\n    ) {\n      this.debug('matchOne loop')\n      var p = pattern[pi]\n      var f = file[fi]\n\n      this.debug(pattern, p, f)\n\n      // should be impossible.\n      // some invalid regexp stuff in the set.\n      /* c8 ignore start */\n      if (p === false) {\n        return false\n      }\n      /* c8 ignore stop */\n\n      if (p === GLOBSTAR) {\n        this.debug('GLOBSTAR', [pattern, p, f])\n\n        // \"**\"\n        // a/**/b/**/c would match the following:\n        // a/b/x/y/z/c\n        // a/x/y/z/b/c\n        // a/b/x/b/x/c\n        // a/b/c\n        // To do this, take the rest of the pattern after\n        // the **, and see if it would match the file remainder.\n        // If so, return success.\n        // If not, the ** \"swallows\" a segment, and try again.\n        // This is recursively awful.\n        //\n        // a/**/b/**/c matching a/b/x/y/z/c\n        // - a matches a\n        // - doublestar\n        //   - matchOne(b/x/y/z/c, b/**/c)\n        //     - b matches b\n        //     - doublestar\n        //       - matchOne(x/y/z/c, c) -> no\n        //       - matchOne(y/z/c, c) -> no\n        //       - matchOne(z/c, c) -> no\n        //       - matchOne(c, c) yes, hit\n        var fr = fi\n        var pr = pi + 1\n        if (pr === pl) {\n          this.debug('** at the end')\n          // a ** at the end will just swallow the rest.\n          // We have found a match.\n          // however, it will not swallow /.x, unless\n          // options.dot is set.\n          // . and .. are *never* matched by **, for explosively\n          // exponential reasons.\n          for (; fi < fl; fi++) {\n            if (\n              file[fi] === '.' ||\n              file[fi] === '..' ||\n              (!options.dot && file[fi].charAt(0) === '.')\n            )\n              return false\n          }\n          return true\n        }\n\n        // ok, let's see if we can swallow whatever we can.\n        while (fr < fl) {\n          var swallowee = file[fr]\n\n          this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n          // XXX remove this slice.  Just pass the start index.\n          if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n            this.debug('globstar found match!', fr, fl, swallowee)\n            // found a match.\n            return true\n          } else {\n            // can't swallow \".\" or \"..\" ever.\n            // can only swallow \".foo\" when explicitly asked.\n            if (\n              swallowee === '.' ||\n              swallowee === '..' ||\n              (!options.dot && swallowee.charAt(0) === '.')\n            ) {\n              this.debug('dot detected!', file, fr, pattern, pr)\n              break\n            }\n\n            // ** swallows a segment, and continue.\n            this.debug('globstar swallow a segment, and continue')\n            fr++\n          }\n        }\n\n        // no match was found.\n        // However, in partial mode, we can't say this is necessarily over.\n        /* c8 ignore start */\n        if (partial) {\n          // ran out of file\n          this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n          if (fr === fl) {\n            return true\n          }\n        }\n        /* c8 ignore stop */\n        return false\n      }\n\n      // something other than **\n      // non-magic patterns just have to match exactly\n      // patterns with magic have been turned into regexps.\n      let hit: boolean\n      if (typeof p === 'string') {\n        hit = f === p\n        this.debug('string match', p, f, hit)\n      } else {\n        hit = p.test(f)\n        this.debug('pattern match', p, f, hit)\n      }\n\n      if (!hit) return false\n    }\n\n    // Note: ending in / means that we'll get a final \"\"\n    // at the end of the pattern.  This can only match a\n    // corresponding \"\" at the end of the file.\n    // If the file ends in /, then it can only match a\n    // a pattern that ends in /, unless the pattern just\n    // doesn't have any more for it. But, a/b/ should *not*\n    // match \"a/b/*\", even though \"\" matches against the\n    // [^/]*? pattern, except in partial mode, where it might\n    // simply not be reached yet.\n    // However, a/b/ should still satisfy a/*\n\n    // now either we fell off the end of the pattern, or we're done.\n    if (fi === fl && pi === pl) {\n      // ran out of pattern and filename at the same time.\n      // an exact hit!\n      return true\n    } else if (fi === fl) {\n      // ran out of file, but still had pattern left.\n      // this is ok if we're doing the match as part of\n      // a glob fs traversal.\n      return partial\n    } else if (pi === pl) {\n      // ran out of pattern, still have file left.\n      // this is only acceptable if we're on the very last\n      // empty segment of a file with a trailing slash.\n      // a/* should match a/b/\n      return fi === fl - 1 && file[fi] === ''\n\n      /* c8 ignore start */\n    } else {\n      // should be unreachable.\n      throw new Error('wtf?')\n    }\n    /* c8 ignore stop */\n  }\n\n  braceExpand() {\n    return braceExpand(this.pattern, this.options)\n  }\n\n  parse(pattern: string): ParseReturn {\n    assertValidPattern(pattern)\n\n    const options = this.options\n\n    // shortcuts\n    if (pattern === '**') return GLOBSTAR\n    if (pattern === '') return ''\n\n    // far and away, the most common glob pattern parts are\n    // *, *.*, and *.  Add a fast check method for those.\n    let m: RegExpMatchArray | null\n    let fastTest: null | ((f: string) => boolean) = null\n    if ((m = pattern.match(starRE))) {\n      fastTest = options.dot ? starTestDot : starTest\n    } else if ((m = pattern.match(starDotExtRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? starDotExtTestNocaseDot\n            : starDotExtTestNocase\n          : options.dot\n          ? starDotExtTestDot\n          : starDotExtTest\n      )(m[1])\n    } else if ((m = pattern.match(qmarksRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? qmarksTestNocaseDot\n            : qmarksTestNocase\n          : options.dot\n          ? qmarksTestDot\n          : qmarksTest\n      )(m)\n    } else if ((m = pattern.match(starDotStarRE))) {\n      fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n    } else if ((m = pattern.match(dotStarRE))) {\n      fastTest = dotStarTest\n    }\n\n    const re = AST.fromGlob(pattern, this.options).toMMPattern()\n    return fastTest ? Object.assign(re, { test: fastTest }) : re\n  }\n\n  makeRe() {\n    if (this.regexp || this.regexp === false) return this.regexp\n\n    // at this point, this.set is a 2d array of partial\n    // pattern strings, or \"**\".\n    //\n    // It's better to use .match().  This function shouldn't\n    // be used, really, but it's pretty convenient sometimes,\n    // when you just want to work with a regex.\n    const set = this.set\n\n    if (!set.length) {\n      this.regexp = false\n      return this.regexp\n    }\n    const options = this.options\n\n    const twoStar = options.noglobstar\n      ? star\n      : options.dot\n      ? twoStarDot\n      : twoStarNoDot\n    const flags = new Set(options.nocase ? ['i'] : [])\n\n    // regexpify non-globstar patterns\n    // if ** is only item, then we just do one twoStar\n    // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n    // if ** is last, append (\\/twoStar|) to previous\n    // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n    // then filter out GLOBSTAR symbols\n    let re = set\n      .map(pattern => {\n        const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n          if (p instanceof RegExp) {\n            for (const f of p.flags.split('')) flags.add(f)\n          }\n          return typeof p === 'string'\n            ? regExpEscape(p)\n            : p === GLOBSTAR\n            ? GLOBSTAR\n            : p._src\n        }) as (string | typeof GLOBSTAR)[]\n        pp.forEach((p, i) => {\n          const next = pp[i + 1]\n          const prev = pp[i - 1]\n          if (p !== GLOBSTAR || prev === GLOBSTAR) {\n            return\n          }\n          if (prev === undefined) {\n            if (next !== undefined && next !== GLOBSTAR) {\n              pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n            } else {\n              pp[i] = twoStar\n            }\n          } else if (next === undefined) {\n            pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n          } else if (next !== GLOBSTAR) {\n            pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n            pp[i + 1] = GLOBSTAR\n          }\n        })\n        return pp.filter(p => p !== GLOBSTAR).join('/')\n      })\n      .join('|')\n\n    // need to wrap in parens if we had more than one thing with |,\n    // otherwise only the first will be anchored to ^ and the last to $\n    const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n    // must match entire pattern\n    // ending in a * or ** will make it less strict.\n    re = '^' + open + re + close + '$'\n\n    // can match anything, as long as it's not this.\n    if (this.negate) re = '^(?!' + re + ').+$'\n\n    try {\n      this.regexp = new RegExp(re, [...flags].join(''))\n      /* c8 ignore start */\n    } catch (ex) {\n      // should be impossible\n      this.regexp = false\n    }\n    /* c8 ignore stop */\n    return this.regexp\n  }\n\n  slashSplit(p: string) {\n    // if p starts with // on windows, we preserve that\n    // so that UNC paths aren't broken.  Otherwise, any number of\n    // / characters are coalesced into one, unless\n    // preserveMultipleSlashes is set to true.\n    if (this.preserveMultipleSlashes) {\n      return p.split('/')\n    } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n      // add an extra '' for the one we lose\n      return ['', ...p.split(/\\/+/)]\n    } else {\n      return p.split(/\\/+/)\n    }\n  }\n\n  match(f: string, partial = this.partial) {\n    this.debug('match', f, this.pattern)\n    // short-circuit in the case of busted things.\n    // comments, etc.\n    if (this.comment) {\n      return false\n    }\n    if (this.empty) {\n      return f === ''\n    }\n\n    if (f === '/' && partial) {\n      return true\n    }\n\n    const options = this.options\n\n    // windows: need to use /, not \\\n    if (this.isWindows) {\n      f = f.split('\\\\').join('/')\n    }\n\n    // treat the test path as a set of pathparts.\n    const ff = this.slashSplit(f)\n    this.debug(this.pattern, 'split', ff)\n\n    // just ONE of the pattern sets in this.set needs to match\n    // in order for it to be valid.  If negating, then just one\n    // match means that we have failed.\n    // Either way, return on the first hit.\n\n    const set = this.set\n    this.debug(this.pattern, 'set', set)\n\n    // Find the basename of the path by looking for the last non-empty segment\n    let filename: string = ff[ff.length - 1]\n    if (!filename) {\n      for (let i = ff.length - 2; !filename && i >= 0; i--) {\n        filename = ff[i]\n      }\n    }\n\n    for (let i = 0; i < set.length; i++) {\n      const pattern = set[i]\n      let file = ff\n      if (options.matchBase && pattern.length === 1) {\n        file = [filename]\n      }\n      const hit = this.matchOne(file, pattern, partial)\n      if (hit) {\n        if (options.flipNegate) {\n          return true\n        }\n        return !this.negate\n      }\n    }\n\n    // didn't get any hits.  this is success if it's a negative\n    // pattern, failure otherwise.\n    if (options.flipNegate) {\n      return false\n    }\n    return this.negate\n  }\n\n  static defaults(def: MinimatchOptions) {\n    return minimatch.defaults(def).Minimatch\n  }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n"]}
      \ No newline at end of file
      diff --git a/deps/minimatch/src/package.json b/deps/minimatch/src/package.json
      index 06d796a2e4143c..d5ee74e334d6a4 100644
      --- a/deps/minimatch/src/package.json
      +++ b/deps/minimatch/src/package.json
      @@ -2,7 +2,7 @@
         "author": "Isaac Z. Schlueter  (http://blog.izs.me)",
         "name": "minimatch",
         "description": "a glob matcher in javascript",
      -  "version": "9.0.0",
      +  "version": "9.0.1",
         "repository": {
           "type": "git",
           "url": "git://github.com/isaacs/minimatch.git"
      
      From 5d94dbb951b083c766c8c146a541842f862c5f54 Mon Sep 17 00:00:00 2001
      From: "Node.js GitHub Bot" 
      Date: Tue, 23 May 2023 01:49:37 +0100
      Subject: [PATCH 048/146] tools: update doc to remark-parse@10.0.2
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      
      PR-URL: https://github.com/nodejs/node/pull/48095
      Reviewed-By: Michaël Zasso 
      Reviewed-By: Moshe Atlow 
      Reviewed-By: Rich Trott 
      ---
       tools/doc/package-lock.json | 29 ++++++++++++++---------------
       tools/doc/package.json      |  2 +-
       2 files changed, 15 insertions(+), 16 deletions(-)
      
      diff --git a/tools/doc/package-lock.json b/tools/doc/package-lock.json
      index 77a589bd0f7679..00f74fa6134944 100644
      --- a/tools/doc/package-lock.json
      +++ b/tools/doc/package-lock.json
      @@ -18,7 +18,7 @@
               "remark-frontmatter": "^4.0.1",
               "remark-gfm": "^3.0.1",
               "remark-html": "^15.0.2",
      -        "remark-parse": "^10.0.1",
      +        "remark-parse": "^10.0.2",
               "remark-rehype": "^10.1.0",
               "to-vfile": "^7.2.4",
               "unified": "^10.1.2",
      @@ -788,9 +788,9 @@
             }
           },
           "node_modules/micromark-extension-gfm": {
      -      "version": "2.0.1",
      -      "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz",
      -      "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==",
      +      "version": "2.0.3",
      +      "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz",
      +      "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==",
             "dev": true,
             "dependencies": {
               "micromark-extension-gfm-autolink-literal": "^1.0.0",
      @@ -808,16 +808,15 @@
             }
           },
           "node_modules/micromark-extension-gfm-autolink-literal": {
      -      "version": "1.0.3",
      -      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz",
      -      "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==",
      +      "version": "1.0.4",
      +      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.4.tgz",
      +      "integrity": "sha512-WCssN+M9rUyfHN5zPBn3/f0mIA7tqArHL/EKbv3CZK+LT2rG77FEikIQEqBkv46fOqXQK4NEW/Pc7Z27gshpeg==",
             "dev": true,
             "dependencies": {
               "micromark-util-character": "^1.0.0",
               "micromark-util-sanitize-uri": "^1.0.0",
               "micromark-util-symbol": "^1.0.0",
      -        "micromark-util-types": "^1.0.0",
      -        "uvu": "^0.5.0"
      +        "micromark-util-types": "^1.0.0"
             },
             "funding": {
               "type": "opencollective",
      @@ -863,9 +862,9 @@
             }
           },
           "node_modules/micromark-extension-gfm-table": {
      -      "version": "1.0.5",
      -      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz",
      -      "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==",
      +      "version": "1.0.6",
      +      "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.6.tgz",
      +      "integrity": "sha512-92pq7Q+T+4kXH4M6kL+pc8WU23Z9iuhcqmtYFWdFWjm73ZscFpH2xE28+XFpGWlvgq3LUwcN0XC0PGCicYFpgA==",
             "dev": true,
             "dependencies": {
               "micromark-factory-space": "^1.0.0",
      @@ -1406,9 +1405,9 @@
             }
           },
           "node_modules/remark-parse": {
      -      "version": "10.0.1",
      -      "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
      -      "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
      +      "version": "10.0.2",
      +      "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
      +      "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
             "dev": true,
             "dependencies": {
               "@types/mdast": "^3.0.0",
      diff --git a/tools/doc/package.json b/tools/doc/package.json
      index e1e6c91982b775..5c128c223a40fc 100644
      --- a/tools/doc/package.json
      +++ b/tools/doc/package.json
      @@ -14,7 +14,7 @@
           "remark-frontmatter": "^4.0.1",
           "remark-gfm": "^3.0.1",
           "remark-html": "^15.0.2",
      -    "remark-parse": "^10.0.1",
      +    "remark-parse": "^10.0.2",
           "remark-rehype": "^10.1.0",
           "to-vfile": "^7.2.4",
           "unified": "^10.1.2",
      
      From 6539361f4e25817fd6ac1520f05f3035e1ea27c0 Mon Sep 17 00:00:00 2001
      From: "Node.js GitHub Bot" 
      Date: Tue, 23 May 2023 01:49:47 +0100
      Subject: [PATCH 049/146] tools: update lint-md-dependencies
      MIME-Version: 1.0
      Content-Type: text/plain; charset=UTF-8
      Content-Transfer-Encoding: 8bit
      
      Update to remark-parse@10.0.2, remark-stringify@10.0.3, and
      rollup@3.22.0.
      
      PR-URL: https://github.com/nodejs/node/pull/48096
      Reviewed-By: Rich Trott 
      Reviewed-By: Michaël Zasso 
      Reviewed-By: Moshe Atlow 
      ---
       tools/lint-md/package-lock.json | 30 +++++++++++++++---------------
       tools/lint-md/package.json      |  6 +++---
       2 files changed, 18 insertions(+), 18 deletions(-)
      
      diff --git a/tools/lint-md/package-lock.json b/tools/lint-md/package-lock.json
      index d1aa1eab233dab..c580bf49fbb736 100644
      --- a/tools/lint-md/package-lock.json
      +++ b/tools/lint-md/package-lock.json
      @@ -8,9 +8,9 @@
             "name": "lint-md",
             "version": "1.0.0",
             "dependencies": {
      -        "remark-parse": "^10.0.1",
      +        "remark-parse": "^10.0.2",
               "remark-preset-lint-node": "^4.0.0",
      -        "remark-stringify": "^10.0.2",
      +        "remark-stringify": "^10.0.3",
               "to-vfile": "^7.2.4",
               "unified": "^10.1.2",
               "vfile-reporter": "^7.0.5"
      @@ -18,7 +18,7 @@
             "devDependencies": {
               "@rollup/plugin-commonjs": "^25.0.0",
               "@rollup/plugin-node-resolve": "^15.0.2",
      -        "rollup": "^3.21.7",
      +        "rollup": "^3.22.0",
               "rollup-plugin-cleanup": "^3.2.1"
             }
           },
      @@ -435,9 +435,9 @@
             }
           },
           "node_modules/is-core-module": {
      -      "version": "2.12.0",
      -      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
      -      "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
      +      "version": "2.12.1",
      +      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
      +      "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
             "dev": true,
             "dependencies": {
               "has": "^1.0.3"
      @@ -2113,9 +2113,9 @@
             }
           },
           "node_modules/remark-parse": {
      -      "version": "10.0.1",
      -      "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
      -      "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
      +      "version": "10.0.2",
      +      "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
      +      "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
             "dependencies": {
               "@types/mdast": "^3.0.0",
               "mdast-util-from-markdown": "^1.0.0",
      @@ -2200,9 +2200,9 @@
             }
           },
           "node_modules/remark-stringify": {
      -      "version": "10.0.2",
      -      "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz",
      -      "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==",
      +      "version": "10.0.3",
      +      "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz",
      +      "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==",
             "dependencies": {
               "@types/mdast": "^3.0.0",
               "mdast-util-to-markdown": "^1.0.0",
      @@ -2231,9 +2231,9 @@
             }
           },
           "node_modules/rollup": {
      -      "version": "3.21.7",
      -      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.7.tgz",
      -      "integrity": "sha512-KXPaEuR8FfUoK2uHwNjxTmJ18ApyvD6zJpYv9FOJSqLStmt6xOY84l1IjK2dSolQmoXknrhEFRaPRgOPdqCT5w==",
      +      "version": "3.22.0",
      +      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.22.0.tgz",
      +      "integrity": "sha512-imsigcWor5Y/dC0rz2q0bBt9PabcL3TORry2hAa6O6BuMvY71bqHyfReAz5qyAqiQATD1m70qdntqBfBQjVWpQ==",
             "dev": true,
             "bin": {
               "rollup": "dist/bin/rollup"
      diff --git a/tools/lint-md/package.json b/tools/lint-md/package.json
      index 0f8e55408e70a1..dd0b2ce846c0bc 100644
      --- a/tools/lint-md/package.json
      +++ b/tools/lint-md/package.json
      @@ -6,9 +6,9 @@
           "build": "rollup -f es -p '@rollup/plugin-node-resolve={exportConditions: [\"node\"]}'  -p @rollup/plugin-commonjs -p rollup-plugin-cleanup lint-md.src.mjs --file lint-md.mjs"
         },
         "dependencies": {
      -    "remark-parse": "^10.0.1",
      +    "remark-parse": "^10.0.2",
           "remark-preset-lint-node": "^4.0.0",
      -    "remark-stringify": "^10.0.2",
      +    "remark-stringify": "^10.0.3",
           "to-vfile": "^7.2.4",
           "unified": "^10.1.2",
           "vfile-reporter": "^7.0.5"
      @@ -16,7 +16,7 @@
         "devDependencies": {
           "@rollup/plugin-commonjs": "^25.0.0",
           "@rollup/plugin-node-resolve": "^15.0.2",
      -    "rollup": "^3.21.7",
      +    "rollup": "^3.22.0",
           "rollup-plugin-cleanup": "^3.2.1"
         }
       }
      
      From f6725751b7012b095bb9760facb5e5cc2ec16c86 Mon Sep 17 00:00:00 2001
      From: "Node.js GitHub Bot" 
      Date: Tue, 23 May 2023 01:49:59 +0100
      Subject: [PATCH 050/146] tools: update eslint to 8.41.0
      
      PR-URL: https://github.com/nodejs/node/pull/48097
      Reviewed-By: Moshe Atlow 
      Reviewed-By: Antoine du Hamel 
      Reviewed-By: Mohammed Keyvanzadeh 
      Reviewed-By: Rich Trott 
      Reviewed-By: Benjamin Gruenbaum 
      Reviewed-By: Luigi Pinca 
      ---
       .../eslint/lib/cli-engine/cli-engine.js       |     4 +-
       tools/node_modules/eslint/lib/cli.js          |    30 +-
       .../eslint/lib/config/default-config.js       |     2 +-
       .../eslint/lib/eslint/eslint-helpers.js       |    15 +-
       .../eslint/lib/eslint/flat-eslint.js          |    83 +-
       .../lib/linter/apply-disable-directives.js    |    12 +-
       .../lib/linter/config-comment-parser.js       |    11 +-
       .../node_modules/eslint/lib/linter/linter.js  |    23 +-
       .../eslint/lib/linter/report-translator.js    |    23 +-
       tools/node_modules/eslint/lib/rules/indent.js |    92 +-
       .../eslint/lib/shared/string-utils.js         |     6 +-
       tools/node_modules/eslint/lib/shared/types.js |     8 +-
       .../eslint/lib/unsupported-api.js             |     3 +-
       .../@es-joy/jsdoccomment/dist/index.cjs.cjs   |   410 +-
       .../@es-joy/jsdoccomment/package.json         |    32 +-
       .../jsdoccomment/src/commentHandler.js        |    13 +-
       .../jsdoccomment/src/commentParserToESTree.js |   111 +-
       .../jsdoccomment/src/estreeToString.js        |   118 +-
       .../@es-joy/jsdoccomment/src/index.js         |    40 +
       .../@es-joy/jsdoccomment/src/jsdoccomment.js  |   124 +-
       .../@es-joy/jsdoccomment/src/parseComment.js  |    36 +-
       .../jsdoccomment/src/parseInlineTags.js       |    57 +-
       .../@es-joy/jsdoccomment/src/toCamelCase.js   |     8 +-
       .../@es-joy/jsdoccomment/tsconfig-prod.json   |    19 +
       .../node_modules/@eslint/js/package.json      |     2 +-
       .../node_modules/caniuse-lite/data/agents.js  |     2 +-
       .../caniuse-lite/data/browserVersions.js      |     2 +-
       .../caniuse-lite/data/features/aac.js         |     2 +-
       .../data/features/abortcontroller.js          |     2 +-
       .../caniuse-lite/data/features/ac3-ec3.js     |     2 +-
       .../data/features/accelerometer.js            |     2 +-
       .../data/features/addeventlistener.js         |     2 +-
       .../data/features/alternate-stylesheet.js     |     2 +-
       .../data/features/ambient-light.js            |     2 +-
       .../caniuse-lite/data/features/apng.js        |     2 +-
       .../data/features/array-find-index.js         |     2 +-
       .../caniuse-lite/data/features/array-find.js  |     2 +-
       .../caniuse-lite/data/features/array-flat.js  |     2 +-
       .../data/features/array-includes.js           |     2 +-
       .../data/features/arrow-functions.js          |     2 +-
       .../caniuse-lite/data/features/asmjs.js       |     2 +-
       .../data/features/async-clipboard.js          |     2 +-
       .../data/features/async-functions.js          |     2 +-
       .../caniuse-lite/data/features/atob-btoa.js   |     2 +-
       .../caniuse-lite/data/features/audio-api.js   |     2 +-
       .../caniuse-lite/data/features/audio.js       |     2 +-
       .../caniuse-lite/data/features/audiotracks.js |     2 +-
       .../caniuse-lite/data/features/autofocus.js   |     2 +-
       .../caniuse-lite/data/features/auxclick.js    |     2 +-
       .../caniuse-lite/data/features/av1.js         |     2 +-
       .../caniuse-lite/data/features/avif.js        |     2 +-
       .../data/features/background-attachment.js    |     2 +-
       .../data/features/background-clip-text.js     |     2 +-
       .../data/features/background-img-opts.js      |     2 +-
       .../data/features/background-position-x-y.js  |     2 +-
       .../features/background-repeat-round-space.js |     2 +-
       .../data/features/background-sync.js          |     2 +-
       .../data/features/battery-status.js           |     2 +-
       .../caniuse-lite/data/features/beacon.js      |     2 +-
       .../data/features/beforeafterprint.js         |     2 +-
       .../caniuse-lite/data/features/bigint.js      |     2 +-
       .../caniuse-lite/data/features/blobbuilder.js |     2 +-
       .../caniuse-lite/data/features/bloburls.js    |     2 +-
       .../data/features/border-image.js             |     2 +-
       .../data/features/border-radius.js            |     2 +-
       .../data/features/broadcastchannel.js         |     2 +-
       .../caniuse-lite/data/features/brotli.js      |     2 +-
       .../caniuse-lite/data/features/calc.js        |     2 +-
       .../data/features/canvas-blending.js          |     2 +-
       .../caniuse-lite/data/features/canvas-text.js |     2 +-
       .../caniuse-lite/data/features/canvas.js      |     2 +-
       .../caniuse-lite/data/features/ch-unit.js     |     2 +-
       .../data/features/chacha20-poly1305.js        |     2 +-
       .../data/features/channel-messaging.js        |     2 +-
       .../data/features/childnode-remove.js         |     2 +-
       .../caniuse-lite/data/features/classlist.js   |     2 +-
       .../client-hints-dpr-width-viewport.js        |     2 +-
       .../caniuse-lite/data/features/clipboard.js   |     2 +-
       .../caniuse-lite/data/features/colr-v1.js     |     2 +-
       .../caniuse-lite/data/features/colr.js        |     2 +-
       .../data/features/comparedocumentposition.js  |     2 +-
       .../data/features/console-basic.js            |     2 +-
       .../data/features/console-time.js             |     2 +-
       .../caniuse-lite/data/features/const.js       |     2 +-
       .../data/features/constraint-validation.js    |     2 +-
       .../data/features/contenteditable.js          |     2 +-
       .../data/features/contentsecuritypolicy.js    |     2 +-
       .../data/features/contentsecuritypolicy2.js   |     2 +-
       .../data/features/cookie-store-api.js         |     2 +-
       .../caniuse-lite/data/features/cors.js        |     2 +-
       .../data/features/createimagebitmap.js        |     2 +-
       .../data/features/credential-management.js    |     2 +-
       .../data/features/cryptography.js             |     2 +-
       .../caniuse-lite/data/features/css-all.js     |     2 +-
       .../data/features/css-animation.js            |     2 +-
       .../data/features/css-any-link.js             |     2 +-
       .../data/features/css-appearance.js           |     2 +-
       .../data/features/css-at-counter-style.js     |     2 +-
       .../data/features/css-autofill.js             |     2 +-
       .../data/features/css-backdrop-filter.js      |     2 +-
       .../data/features/css-background-offsets.js   |     2 +-
       .../data/features/css-backgroundblendmode.js  |     2 +-
       .../data/features/css-boxdecorationbreak.js   |     2 +-
       .../data/features/css-boxshadow.js            |     2 +-
       .../caniuse-lite/data/features/css-canvas.js  |     2 +-
       .../data/features/css-caret-color.js          |     2 +-
       .../data/features/css-cascade-layers.js       |     2 +-
       .../data/features/css-case-insensitive.js     |     2 +-
       .../data/features/css-clip-path.js            |     2 +-
       .../data/features/css-color-adjust.js         |     2 +-
       .../data/features/css-color-function.js       |     2 +-
       .../data/features/css-conic-gradients.js      |     2 +-
       .../features/css-container-queries-style.js   |     2 +-
       .../data/features/css-container-queries.js    |     2 +-
       .../features/css-container-query-units.js     |     2 +-
       .../data/features/css-containment.js          |     2 +-
       .../data/features/css-content-visibility.js   |     2 +-
       .../data/features/css-counters.js             |     2 +-
       .../data/features/css-crisp-edges.js          |     2 +-
       .../data/features/css-cross-fade.js           |     2 +-
       .../data/features/css-default-pseudo.js       |     2 +-
       .../data/features/css-descendant-gtgt.js      |     2 +-
       .../data/features/css-deviceadaptation.js     |     2 +-
       .../data/features/css-dir-pseudo.js           |     2 +-
       .../data/features/css-display-contents.js     |     2 +-
       .../data/features/css-element-function.js     |     2 +-
       .../data/features/css-env-function.js         |     2 +-
       .../data/features/css-exclusions.js           |     2 +-
       .../data/features/css-featurequeries.js       |     2 +-
       .../data/features/css-file-selector-button.js |     2 +-
       .../data/features/css-filter-function.js      |     2 +-
       .../caniuse-lite/data/features/css-filters.js |     2 +-
       .../data/features/css-first-letter.js         |     2 +-
       .../data/features/css-first-line.js           |     2 +-
       .../caniuse-lite/data/features/css-fixed.js   |     2 +-
       .../data/features/css-focus-visible.js        |     2 +-
       .../data/features/css-focus-within.js         |     2 +-
       .../data/features/css-font-palette.js         |     2 +-
       .../features/css-font-rendering-controls.js   |     2 +-
       .../data/features/css-font-stretch.js         |     2 +-
       .../data/features/css-gencontent.js           |     2 +-
       .../data/features/css-gradients.js            |     2 +-
       .../data/features/css-grid-animation.js       |     2 +-
       .../caniuse-lite/data/features/css-grid.js    |     2 +-
       .../data/features/css-hanging-punctuation.js  |     2 +-
       .../caniuse-lite/data/features/css-has.js     |     2 +-
       .../caniuse-lite/data/features/css-hyphens.js |     2 +-
       .../data/features/css-image-orientation.js    |     2 +-
       .../data/features/css-image-set.js            |     2 +-
       .../data/features/css-in-out-of-range.js      |     2 +-
       .../data/features/css-indeterminate-pseudo.js |     2 +-
       .../data/features/css-initial-letter.js       |     2 +-
       .../data/features/css-initial-value.js        |     2 +-
       .../caniuse-lite/data/features/css-lch-lab.js |     2 +-
       .../data/features/css-letter-spacing.js       |     2 +-
       .../data/features/css-line-clamp.js           |     2 +-
       .../data/features/css-logical-props.js        |     2 +-
       .../data/features/css-marker-pseudo.js        |     2 +-
       .../caniuse-lite/data/features/css-masks.js   |     2 +-
       .../data/features/css-matches-pseudo.js       |     2 +-
       .../data/features/css-math-functions.js       |     2 +-
       .../data/features/css-media-interaction.js    |     2 +-
       .../data/features/css-media-range-syntax.js   |     2 +-
       .../data/features/css-media-resolution.js     |     2 +-
       .../data/features/css-media-scripting.js      |     2 +-
       .../data/features/css-mediaqueries.js         |     2 +-
       .../data/features/css-mixblendmode.js         |     2 +-
       .../data/features/css-motion-paths.js         |     2 +-
       .../data/features/css-namespaces.js           |     2 +-
       .../caniuse-lite/data/features/css-nesting.js |     2 +-
       .../data/features/css-not-sel-list.js         |     2 +-
       .../data/features/css-nth-child-of.js         |     2 +-
       .../caniuse-lite/data/features/css-opacity.js |     2 +-
       .../data/features/css-optional-pseudo.js      |     2 +-
       .../data/features/css-overflow-anchor.js      |     2 +-
       .../data/features/css-overflow-overlay.js     |     2 +-
       .../data/features/css-overflow.js             |     2 +-
       .../data/features/css-overscroll-behavior.js  |     2 +-
       .../data/features/css-page-break.js           |     2 +-
       .../data/features/css-paged-media.js          |     2 +-
       .../data/features/css-paint-api.js            |     2 +-
       .../data/features/css-placeholder-shown.js    |     2 +-
       .../data/features/css-placeholder.js          |     2 +-
       .../data/features/css-print-color-adjust.js   |     2 +-
       .../data/features/css-read-only-write.js      |     2 +-
       .../data/features/css-rebeccapurple.js        |     2 +-
       .../data/features/css-reflections.js          |     2 +-
       .../caniuse-lite/data/features/css-regions.js |     2 +-
       .../data/features/css-relative-colors.js      |     2 +-
       .../data/features/css-repeating-gradients.js  |     2 +-
       .../caniuse-lite/data/features/css-resize.js  |     2 +-
       .../data/features/css-revert-value.js         |     2 +-
       .../data/features/css-rrggbbaa.js             |     2 +-
       .../data/features/css-scroll-behavior.js      |     2 +-
       .../data/features/css-scroll-timeline.js      |     2 +-
       .../data/features/css-scrollbar.js            |     2 +-
       .../caniuse-lite/data/features/css-sel2.js    |     2 +-
       .../caniuse-lite/data/features/css-sel3.js    |     2 +-
       .../data/features/css-selection.js            |     2 +-
       .../caniuse-lite/data/features/css-shapes.js  |     2 +-
       .../data/features/css-snappoints.js           |     2 +-
       .../caniuse-lite/data/features/css-sticky.js  |     2 +-
       .../caniuse-lite/data/features/css-subgrid.js |     2 +-
       .../data/features/css-supports-api.js         |     2 +-
       .../caniuse-lite/data/features/css-table.js   |     2 +-
       .../data/features/css-text-align-last.js      |     2 +-
       .../data/features/css-text-box-trim.js        |     2 +-
       .../data/features/css-text-indent.js          |     2 +-
       .../data/features/css-text-justify.js         |     2 +-
       .../data/features/css-text-orientation.js     |     2 +-
       .../data/features/css-text-spacing.js         |     2 +-
       .../data/features/css-textshadow.js           |     2 +-
       .../data/features/css-touch-action.js         |     2 +-
       .../data/features/css-transitions.js          |     2 +-
       .../data/features/css-unicode-bidi.js         |     2 +-
       .../data/features/css-unset-value.js          |     2 +-
       .../data/features/css-variables.js            |     2 +-
       .../data/features/css-when-else.js            |     2 +-
       .../data/features/css-widows-orphans.js       |     2 +-
       .../data/features/css-width-stretch.js        |     2 +-
       .../data/features/css-writing-mode.js         |     2 +-
       .../caniuse-lite/data/features/css-zoom.js    |     2 +-
       .../caniuse-lite/data/features/css3-attr.js   |     2 +-
       .../data/features/css3-boxsizing.js           |     2 +-
       .../caniuse-lite/data/features/css3-colors.js |     2 +-
       .../data/features/css3-cursors-grab.js        |     2 +-
       .../data/features/css3-cursors-newer.js       |     2 +-
       .../data/features/css3-cursors.js             |     2 +-
       .../data/features/css3-tabsize.js             |     2 +-
       .../data/features/currentcolor.js             |     2 +-
       .../data/features/custom-elements.js          |     2 +-
       .../data/features/custom-elementsv1.js        |     2 +-
       .../caniuse-lite/data/features/customevent.js |     2 +-
       .../caniuse-lite/data/features/datalist.js    |     2 +-
       .../caniuse-lite/data/features/dataset.js     |     2 +-
       .../caniuse-lite/data/features/datauri.js     |     2 +-
       .../data/features/date-tolocaledatestring.js  |     2 +-
       .../data/features/declarative-shadow-dom.js   |     2 +-
       .../caniuse-lite/data/features/decorators.js  |     2 +-
       .../caniuse-lite/data/features/details.js     |     2 +-
       .../data/features/deviceorientation.js        |     2 +-
       .../data/features/devicepixelratio.js         |     2 +-
       .../caniuse-lite/data/features/dialog.js      |     2 +-
       .../data/features/dispatchevent.js            |     2 +-
       .../caniuse-lite/data/features/dnssec.js      |     2 +-
       .../data/features/do-not-track.js             |     2 +-
       .../data/features/document-currentscript.js   |     2 +-
       .../data/features/document-evaluate-xpath.js  |     2 +-
       .../data/features/document-execcommand.js     |     2 +-
       .../data/features/document-policy.js          |     2 +-
       .../features/document-scrollingelement.js     |     2 +-
       .../data/features/documenthead.js             |     2 +-
       .../data/features/dom-manip-convenience.js    |     2 +-
       .../caniuse-lite/data/features/dom-range.js   |     2 +-
       .../data/features/domcontentloaded.js         |     2 +-
       .../caniuse-lite/data/features/dommatrix.js   |     2 +-
       .../caniuse-lite/data/features/download.js    |     2 +-
       .../caniuse-lite/data/features/dragndrop.js   |     2 +-
       .../data/features/element-closest.js          |     2 +-
       .../data/features/element-from-point.js       |     2 +-
       .../data/features/element-scroll-methods.js   |     2 +-
       .../caniuse-lite/data/features/eme.js         |     2 +-
       .../caniuse-lite/data/features/eot.js         |     2 +-
       .../caniuse-lite/data/features/es5.js         |     2 +-
       .../caniuse-lite/data/features/es6-class.js   |     2 +-
       .../data/features/es6-generators.js           |     2 +-
       .../features/es6-module-dynamic-import.js     |     2 +-
       .../caniuse-lite/data/features/es6-module.js  |     2 +-
       .../caniuse-lite/data/features/es6-number.js  |     2 +-
       .../data/features/es6-string-includes.js      |     2 +-
       .../caniuse-lite/data/features/es6.js         |     2 +-
       .../caniuse-lite/data/features/eventsource.js |     2 +-
       .../data/features/extended-system-fonts.js    |     2 +-
       .../data/features/feature-policy.js           |     2 +-
       .../caniuse-lite/data/features/fetch.js       |     2 +-
       .../data/features/fieldset-disabled.js        |     2 +-
       .../caniuse-lite/data/features/fileapi.js     |     2 +-
       .../caniuse-lite/data/features/filereader.js  |     2 +-
       .../data/features/filereadersync.js           |     2 +-
       .../caniuse-lite/data/features/filesystem.js  |     2 +-
       .../caniuse-lite/data/features/flac.js        |     2 +-
       .../caniuse-lite/data/features/flexbox-gap.js |     2 +-
       .../caniuse-lite/data/features/flexbox.js     |     2 +-
       .../caniuse-lite/data/features/flow-root.js   |     2 +-
       .../data/features/focusin-focusout-events.js  |     2 +-
       .../data/features/font-family-system-ui.js    |     2 +-
       .../data/features/font-feature.js             |     2 +-
       .../data/features/font-kerning.js             |     2 +-
       .../data/features/font-loading.js             |     2 +-
       .../data/features/font-size-adjust.js         |     2 +-
       .../caniuse-lite/data/features/font-smooth.js |     2 +-
       .../data/features/font-unicode-range.js       |     2 +-
       .../data/features/font-variant-alternates.js  |     2 +-
       .../data/features/font-variant-numeric.js     |     2 +-
       .../caniuse-lite/data/features/fontface.js    |     2 +-
       .../data/features/form-attribute.js           |     2 +-
       .../data/features/form-submit-attributes.js   |     2 +-
       .../data/features/form-validation.js          |     2 +-
       .../caniuse-lite/data/features/forms.js       |     2 +-
       .../caniuse-lite/data/features/fullscreen.js  |     2 +-
       .../caniuse-lite/data/features/gamepad.js     |     2 +-
       .../caniuse-lite/data/features/geolocation.js |     2 +-
       .../data/features/getboundingclientrect.js    |     2 +-
       .../data/features/getcomputedstyle.js         |     2 +-
       .../data/features/getelementsbyclassname.js   |     2 +-
       .../data/features/getrandomvalues.js          |     2 +-
       .../caniuse-lite/data/features/gyroscope.js   |     2 +-
       .../data/features/hardwareconcurrency.js      |     2 +-
       .../caniuse-lite/data/features/hashchange.js  |     2 +-
       .../caniuse-lite/data/features/heif.js        |     2 +-
       .../caniuse-lite/data/features/hevc.js        |     2 +-
       .../caniuse-lite/data/features/hidden.js      |     2 +-
       .../data/features/high-resolution-time.js     |     2 +-
       .../caniuse-lite/data/features/history.js     |     2 +-
       .../data/features/html-media-capture.js       |     2 +-
       .../data/features/html5semantic.js            |     2 +-
       .../data/features/http-live-streaming.js      |     2 +-
       .../caniuse-lite/data/features/http2.js       |     2 +-
       .../caniuse-lite/data/features/http3.js       |     2 +-
       .../data/features/iframe-sandbox.js           |     2 +-
       .../data/features/iframe-seamless.js          |     2 +-
       .../data/features/iframe-srcdoc.js            |     2 +-
       .../data/features/imagecapture.js             |     2 +-
       .../caniuse-lite/data/features/ime.js         |     2 +-
       .../img-naturalwidth-naturalheight.js         |     2 +-
       .../caniuse-lite/data/features/import-maps.js |     2 +-
       .../caniuse-lite/data/features/imports.js     |     2 +-
       .../data/features/indeterminate-checkbox.js   |     2 +-
       .../caniuse-lite/data/features/indexeddb.js   |     2 +-
       .../caniuse-lite/data/features/indexeddb2.js  |     2 +-
       .../data/features/inline-block.js             |     2 +-
       .../caniuse-lite/data/features/innertext.js   |     2 +-
       .../data/features/input-autocomplete-onoff.js |     2 +-
       .../caniuse-lite/data/features/input-color.js |     2 +-
       .../data/features/input-datetime.js           |     2 +-
       .../data/features/input-email-tel-url.js      |     2 +-
       .../caniuse-lite/data/features/input-event.js |     2 +-
       .../data/features/input-file-accept.js        |     2 +-
       .../data/features/input-file-directory.js     |     2 +-
       .../data/features/input-file-multiple.js      |     2 +-
       .../data/features/input-inputmode.js          |     2 +-
       .../data/features/input-minlength.js          |     2 +-
       .../data/features/input-number.js             |     2 +-
       .../data/features/input-pattern.js            |     2 +-
       .../data/features/input-placeholder.js        |     2 +-
       .../caniuse-lite/data/features/input-range.js |     2 +-
       .../data/features/input-search.js             |     2 +-
       .../data/features/input-selection.js          |     2 +-
       .../data/features/insert-adjacent.js          |     2 +-
       .../data/features/insertadjacenthtml.js       |     2 +-
       .../data/features/internationalization.js     |     2 +-
       .../data/features/intersectionobserver-v2.js  |     2 +-
       .../data/features/intersectionobserver.js     |     2 +-
       .../data/features/intl-pluralrules.js         |     2 +-
       .../data/features/intrinsic-width.js          |     2 +-
       .../caniuse-lite/data/features/jpeg2000.js    |     2 +-
       .../caniuse-lite/data/features/jpegxl.js      |     2 +-
       .../caniuse-lite/data/features/jpegxr.js      |     2 +-
       .../data/features/js-regexp-lookbehind.js     |     2 +-
       .../caniuse-lite/data/features/json.js        |     2 +-
       .../features/justify-content-space-evenly.js  |     2 +-
       .../data/features/kerning-pairs-ligatures.js  |     2 +-
       .../data/features/keyboardevent-charcode.js   |     2 +-
       .../data/features/keyboardevent-code.js       |     2 +-
       .../keyboardevent-getmodifierstate.js         |     2 +-
       .../data/features/keyboardevent-key.js        |     2 +-
       .../data/features/keyboardevent-location.js   |     2 +-
       .../data/features/keyboardevent-which.js      |     2 +-
       .../caniuse-lite/data/features/lazyload.js    |     2 +-
       .../caniuse-lite/data/features/let.js         |     2 +-
       .../data/features/link-icon-png.js            |     2 +-
       .../data/features/link-icon-svg.js            |     2 +-
       .../data/features/link-rel-dns-prefetch.js    |     2 +-
       .../data/features/link-rel-modulepreload.js   |     2 +-
       .../data/features/link-rel-preconnect.js      |     2 +-
       .../data/features/link-rel-prefetch.js        |     2 +-
       .../data/features/link-rel-preload.js         |     2 +-
       .../data/features/link-rel-prerender.js       |     2 +-
       .../data/features/loading-lazy-attr.js        |     2 +-
       .../data/features/localecompare.js            |     2 +-
       .../data/features/magnetometer.js             |     2 +-
       .../data/features/matchesselector.js          |     2 +-
       .../caniuse-lite/data/features/matchmedia.js  |     2 +-
       .../caniuse-lite/data/features/mathml.js      |     2 +-
       .../caniuse-lite/data/features/maxlength.js   |     2 +-
       .../mdn-css-unicode-bidi-isolate-override.js  |     2 +-
       .../features/mdn-css-unicode-bidi-isolate.js  |     2 +-
       .../mdn-css-unicode-bidi-plaintext.js         |     2 +-
       .../features/mdn-text-decoration-color.js     |     2 +-
       .../data/features/mdn-text-decoration-line.js |     2 +-
       .../features/mdn-text-decoration-shorthand.js |     2 +-
       .../features/mdn-text-decoration-style.js     |     2 +-
       .../data/features/media-fragments.js          |     2 +-
       .../data/features/mediacapture-fromelement.js |     2 +-
       .../data/features/mediarecorder.js            |     2 +-
       .../caniuse-lite/data/features/mediasource.js |     2 +-
       .../caniuse-lite/data/features/menu.js        |     2 +-
       .../data/features/meta-theme-color.js         |     2 +-
       .../caniuse-lite/data/features/meter.js       |     2 +-
       .../caniuse-lite/data/features/midi.js        |     2 +-
       .../caniuse-lite/data/features/minmaxwh.js    |     2 +-
       .../caniuse-lite/data/features/mp3.js         |     2 +-
       .../caniuse-lite/data/features/mpeg-dash.js   |     2 +-
       .../caniuse-lite/data/features/mpeg4.js       |     2 +-
       .../data/features/multibackgrounds.js         |     2 +-
       .../caniuse-lite/data/features/multicolumn.js |     2 +-
       .../data/features/mutation-events.js          |     2 +-
       .../data/features/mutationobserver.js         |     2 +-
       .../data/features/namevalue-storage.js        |     2 +-
       .../data/features/native-filesystem-api.js    |     2 +-
       .../caniuse-lite/data/features/nav-timing.js  |     2 +-
       .../caniuse-lite/data/features/netinfo.js     |     2 +-
       .../data/features/notifications.js            |     2 +-
       .../data/features/object-entries.js           |     2 +-
       .../caniuse-lite/data/features/object-fit.js  |     2 +-
       .../data/features/object-observe.js           |     2 +-
       .../data/features/object-values.js            |     2 +-
       .../caniuse-lite/data/features/objectrtc.js   |     2 +-
       .../data/features/offline-apps.js             |     2 +-
       .../data/features/offscreencanvas.js          |     2 +-
       .../caniuse-lite/data/features/ogg-vorbis.js  |     2 +-
       .../caniuse-lite/data/features/ogv.js         |     2 +-
       .../caniuse-lite/data/features/ol-reversed.js |     2 +-
       .../data/features/once-event-listener.js      |     2 +-
       .../data/features/online-status.js            |     2 +-
       .../caniuse-lite/data/features/opus.js        |     2 +-
       .../data/features/orientation-sensor.js       |     2 +-
       .../caniuse-lite/data/features/outline.js     |     2 +-
       .../data/features/pad-start-end.js            |     2 +-
       .../data/features/page-transition-events.js   |     2 +-
       .../data/features/pagevisibility.js           |     2 +-
       .../data/features/passive-event-listener.js   |     2 +-
       .../data/features/passwordrules.js            |     2 +-
       .../caniuse-lite/data/features/path2d.js      |     2 +-
       .../data/features/payment-request.js          |     2 +-
       .../caniuse-lite/data/features/pdf-viewer.js  |     2 +-
       .../data/features/permissions-api.js          |     2 +-
       .../data/features/permissions-policy.js       |     2 +-
       .../data/features/picture-in-picture.js       |     2 +-
       .../caniuse-lite/data/features/picture.js     |     2 +-
       .../caniuse-lite/data/features/ping.js        |     2 +-
       .../caniuse-lite/data/features/png-alpha.js   |     2 +-
       .../data/features/pointer-events.js           |     2 +-
       .../caniuse-lite/data/features/pointer.js     |     2 +-
       .../caniuse-lite/data/features/pointerlock.js |     2 +-
       .../caniuse-lite/data/features/portals.js     |     2 +-
       .../data/features/prefers-color-scheme.js     |     2 +-
       .../data/features/prefers-reduced-motion.js   |     2 +-
       .../caniuse-lite/data/features/progress.js    |     2 +-
       .../data/features/promise-finally.js          |     2 +-
       .../caniuse-lite/data/features/promises.js    |     2 +-
       .../caniuse-lite/data/features/proximity.js   |     2 +-
       .../caniuse-lite/data/features/proxy.js       |     2 +-
       .../data/features/publickeypinning.js         |     2 +-
       .../caniuse-lite/data/features/push-api.js    |     2 +-
       .../data/features/queryselector.js            |     2 +-
       .../data/features/readonly-attr.js            |     2 +-
       .../data/features/referrer-policy.js          |     2 +-
       .../data/features/registerprotocolhandler.js  |     2 +-
       .../data/features/rel-noopener.js             |     2 +-
       .../data/features/rel-noreferrer.js           |     2 +-
       .../caniuse-lite/data/features/rellist.js     |     2 +-
       .../caniuse-lite/data/features/rem.js         |     2 +-
       .../data/features/requestanimationframe.js    |     2 +-
       .../data/features/requestidlecallback.js      |     2 +-
       .../data/features/resizeobserver.js           |     2 +-
       .../data/features/resource-timing.js          |     2 +-
       .../data/features/rest-parameters.js          |     2 +-
       .../data/features/rtcpeerconnection.js        |     2 +-
       .../caniuse-lite/data/features/ruby.js        |     2 +-
       .../caniuse-lite/data/features/run-in.js      |     2 +-
       .../features/same-site-cookie-attribute.js    |     2 +-
       .../data/features/screen-orientation.js       |     2 +-
       .../data/features/script-async.js             |     2 +-
       .../data/features/script-defer.js             |     2 +-
       .../data/features/scrollintoview.js           |     2 +-
       .../data/features/scrollintoviewifneeded.js   |     2 +-
       .../caniuse-lite/data/features/sdch.js        |     2 +-
       .../data/features/selection-api.js            |     2 +-
       .../data/features/server-timing.js            |     2 +-
       .../data/features/serviceworkers.js           |     2 +-
       .../data/features/setimmediate.js             |     2 +-
       .../caniuse-lite/data/features/shadowdom.js   |     2 +-
       .../caniuse-lite/data/features/shadowdomv1.js |     2 +-
       .../data/features/sharedarraybuffer.js        |     2 +-
       .../data/features/sharedworkers.js            |     2 +-
       .../caniuse-lite/data/features/sni.js         |     2 +-
       .../caniuse-lite/data/features/spdy.js        |     2 +-
       .../data/features/speech-recognition.js       |     2 +-
       .../data/features/speech-synthesis.js         |     2 +-
       .../data/features/spellcheck-attribute.js     |     2 +-
       .../caniuse-lite/data/features/sql-storage.js |     2 +-
       .../caniuse-lite/data/features/srcset.js      |     2 +-
       .../caniuse-lite/data/features/stream.js      |     2 +-
       .../caniuse-lite/data/features/streams.js     |     2 +-
       .../data/features/stricttransportsecurity.js  |     2 +-
       .../data/features/style-scoped.js             |     2 +-
       .../data/features/subresource-bundling.js     |     2 +-
       .../data/features/subresource-integrity.js    |     2 +-
       .../caniuse-lite/data/features/svg-css.js     |     2 +-
       .../caniuse-lite/data/features/svg-filters.js |     2 +-
       .../caniuse-lite/data/features/svg-fonts.js   |     2 +-
       .../data/features/svg-fragment.js             |     2 +-
       .../caniuse-lite/data/features/svg-html.js    |     2 +-
       .../caniuse-lite/data/features/svg-html5.js   |     2 +-
       .../caniuse-lite/data/features/svg-img.js     |     2 +-
       .../caniuse-lite/data/features/svg-smil.js    |     2 +-
       .../caniuse-lite/data/features/svg.js         |     2 +-
       .../caniuse-lite/data/features/sxg.js         |     2 +-
       .../data/features/tabindex-attr.js            |     2 +-
       .../data/features/template-literals.js        |     2 +-
       .../caniuse-lite/data/features/template.js    |     2 +-
       .../caniuse-lite/data/features/temporal.js    |     2 +-
       .../caniuse-lite/data/features/testfeat.js    |     2 +-
       .../data/features/text-decoration.js          |     2 +-
       .../data/features/text-emphasis.js            |     2 +-
       .../data/features/text-overflow.js            |     2 +-
       .../data/features/text-size-adjust.js         |     2 +-
       .../caniuse-lite/data/features/text-stroke.js |     2 +-
       .../caniuse-lite/data/features/textcontent.js |     2 +-
       .../caniuse-lite/data/features/textencoder.js |     2 +-
       .../caniuse-lite/data/features/tls1-1.js      |     2 +-
       .../caniuse-lite/data/features/tls1-2.js      |     2 +-
       .../caniuse-lite/data/features/tls1-3.js      |     2 +-
       .../caniuse-lite/data/features/touch.js       |     2 +-
       .../data/features/transforms2d.js             |     2 +-
       .../data/features/transforms3d.js             |     2 +-
       .../data/features/trusted-types.js            |     2 +-
       .../caniuse-lite/data/features/ttf.js         |     2 +-
       .../caniuse-lite/data/features/typedarrays.js |     2 +-
       .../caniuse-lite/data/features/u2f.js         |     2 +-
       .../data/features/unhandledrejection.js       |     2 +-
       .../data/features/upgradeinsecurerequests.js  |     2 +-
       .../features/url-scroll-to-text-fragment.js   |     2 +-
       .../caniuse-lite/data/features/url.js         |     2 +-
       .../data/features/urlsearchparams.js          |     2 +-
       .../caniuse-lite/data/features/use-strict.js  |     2 +-
       .../data/features/user-select-none.js         |     2 +-
       .../caniuse-lite/data/features/user-timing.js |     2 +-
       .../data/features/variable-fonts.js           |     2 +-
       .../data/features/vector-effect.js            |     2 +-
       .../caniuse-lite/data/features/vibration.js   |     2 +-
       .../caniuse-lite/data/features/video.js       |     2 +-
       .../caniuse-lite/data/features/videotracks.js |     2 +-
       .../data/features/viewport-unit-variants.js   |     2 +-
       .../data/features/viewport-units.js           |     2 +-
       .../caniuse-lite/data/features/wai-aria.js    |     2 +-
       .../caniuse-lite/data/features/wake-lock.js   |     2 +-
       .../caniuse-lite/data/features/wasm.js        |     2 +-
       .../caniuse-lite/data/features/wav.js         |     2 +-
       .../caniuse-lite/data/features/wbr-element.js |     2 +-
       .../data/features/web-animation.js            |     2 +-
       .../data/features/web-app-manifest.js         |     2 +-
       .../data/features/web-bluetooth.js            |     2 +-
       .../caniuse-lite/data/features/web-serial.js  |     2 +-
       .../caniuse-lite/data/features/web-share.js   |     2 +-
       .../caniuse-lite/data/features/webauthn.js    |     2 +-
       .../caniuse-lite/data/features/webcodecs.js   |     2 +-
       .../caniuse-lite/data/features/webgl.js       |     2 +-
       .../caniuse-lite/data/features/webgl2.js      |     2 +-
       .../caniuse-lite/data/features/webgpu.js      |     2 +-
       .../caniuse-lite/data/features/webhid.js      |     2 +-
       .../data/features/webkit-user-drag.js         |     2 +-
       .../caniuse-lite/data/features/webm.js        |     2 +-
       .../caniuse-lite/data/features/webnfc.js      |     2 +-
       .../caniuse-lite/data/features/webp.js        |     2 +-
       .../caniuse-lite/data/features/websockets.js  |     2 +-
       .../data/features/webtransport.js             |     2 +-
       .../caniuse-lite/data/features/webusb.js      |     2 +-
       .../caniuse-lite/data/features/webvr.js       |     2 +-
       .../caniuse-lite/data/features/webvtt.js      |     2 +-
       .../caniuse-lite/data/features/webworkers.js  |     2 +-
       .../caniuse-lite/data/features/webxr.js       |     2 +-
       .../caniuse-lite/data/features/will-change.js |     2 +-
       .../caniuse-lite/data/features/woff.js        |     2 +-
       .../caniuse-lite/data/features/woff2.js       |     2 +-
       .../caniuse-lite/data/features/word-break.js  |     2 +-
       .../caniuse-lite/data/features/wordwrap.js    |     2 +-
       .../data/features/x-doc-messaging.js          |     2 +-
       .../data/features/x-frame-options.js          |     2 +-
       .../caniuse-lite/data/features/xhr2.js        |     2 +-
       .../caniuse-lite/data/features/xhtml.js       |     2 +-
       .../caniuse-lite/data/features/xhtmlsmil.js   |     2 +-
       .../data/features/xml-serializer.js           |     2 +-
       .../node_modules/caniuse-lite/package.json    |     2 +-
       .../full-chromium-versions.js                 |    35 +-
       .../full-chromium-versions.json               |     2 +-
       .../electron-to-chromium/full-versions.js     |    23 +-
       .../electron-to-chromium/full-versions.json   |     2 +-
       .../electron-to-chromium/package.json         |     2 +-
       .../electron-to-chromium/versions.js          |     1 +
       .../electron-to-chromium/versions.json        |     2 +-
       .../eslint-plugin-jsdoc/dist/WarnSettings.js  |    12 +-
       .../dist/alignTransform.js                    |    90 +-
       .../dist/bin/generateRule.js                  |    59 +-
       .../eslint-plugin-jsdoc/dist/exportParser.js  |   138 +-
       .../eslint-plugin-jsdoc/dist/generateRule.js  |    59 +-
       .../dist/getDefaultTagStructureForMode.js     |   185 +-
       .../eslint-plugin-jsdoc/dist/index.js         |    17 +
       .../eslint-plugin-jsdoc/dist/iterateJsdoc.js  |  1196 +-
       .../eslint-plugin-jsdoc/dist/jsdocUtils.js    |   535 +-
       .../dist/rules/checkAlignment.js              |     6 +
       .../dist/rules/checkExamples.js               |    76 +-
       .../dist/rules/checkIndentation.js            |    12 +-
       .../dist/rules/checkLineAlignment.js          |    74 +-
       .../dist/rules/checkParamNames.js             |    19 +-
       .../dist/rules/checkPropertyNames.js          |    20 +-
       .../dist/rules/checkTagNames.js               |    50 +-
       .../dist/rules/checkTypes.js                  |   133 +-
       .../dist/rules/checkValues.js                 |    12 +-
       .../dist/rules/emptyTags.js                   |     9 +-
       .../dist/rules/informativeDocs.js             |    33 +-
       .../dist/rules/matchDescription.js            |    21 +-
       .../dist/rules/matchName.js                   |     4 +-
       .../dist/rules/multilineBlocks.js             |    13 +-
       .../dist/rules/noBadBlocks.js                 |    10 +-
       .../dist/rules/noBlankBlockDescriptions.js    |     2 +
       .../dist/rules/noMissingSyntax.js             |    73 +-
       .../dist/rules/noMultiAsterisks.js            |     7 +-
       .../dist/rules/noRestrictedSyntax.js          |    21 +-
       .../eslint-plugin-jsdoc/dist/rules/noTypes.js |     3 +
       .../dist/rules/noUndefinedTypes.js            |   128 +-
       .../dist/rules/requireAsteriskPrefix.js       |    20 +
       .../dist/rules/requireDescription.js          |     8 +-
       .../requireDescriptionCompleteSentence.js     |    83 +-
       .../dist/rules/requireFileOverview.js         |    13 +-
       .../requireHyphenBeforeParamDescription.js    |    55 +-
       .../dist/rules/requireJsdoc.js                |   178 +-
       .../dist/rules/requireParam.js                |    48 +-
       .../dist/rules/requireProperty.js             |     2 +-
       .../dist/rules/requireReturns.js              |     4 +-
       .../dist/rules/requireReturnsCheck.js         |    11 +-
       .../dist/rules/requireThrows.js               |     4 +-
       .../dist/rules/requireYields.js               |    11 +-
       .../dist/rules/requireYieldsCheck.js          |    24 +-
       .../dist/rules/sortTags.js                    |    76 +-
       .../dist/rules/tagLines.js                    |    25 +-
       .../dist/rules/textEscaping.js                |    18 +-
       .../dist/rules/validTypes.js                  |    49 +-
       .../eslint-plugin-jsdoc/dist/tagNames.js      |    27 +
       .../dist/utils/hasReturnValue.js              |   129 +-
       .../eslint-plugin-jsdoc/package.json          |    29 +-
       .../node_modules/grapheme-splitter/LICENSE    |    22 -
       .../node_modules/grapheme-splitter/index.js   |  1743 ---
       .../grapheme-splitter/package.json            |    34 -
       .../{js-sdsl => graphemer}/LICENSE            |    21 +-
       .../node_modules/graphemer/lib/Graphemer.js   | 11959 ++++++++++++++++
       .../graphemer/lib/GraphemerHelper.js          |   169 +
       .../graphemer/lib/GraphemerIterator.js        |    36 +
       .../node_modules/graphemer/lib/boundaries.js  |    38 +
       .../node_modules/graphemer/lib/index.js       |     7 +
       .../node_modules/graphemer/package.json       |    54 +
       .../dist/cjs/container/ContainerBase/index.js |    40 -
       .../cjs/container/HashContainer/Base/index.js |   187 -
       .../cjs/container/HashContainer/HashMap.js    |   123 -
       .../cjs/container/HashContainer/HashSet.js    |    92 -
       .../container/OtherContainer/PriorityQueue.js |   118 -
       .../cjs/container/OtherContainer/Queue.js     |    52 -
       .../cjs/container/OtherContainer/Stack.js     |    42 -
       .../Base/RandomIterator.js                    |    58 -
       .../SequentialContainer/Base/index.js         |    16 -
       .../container/SequentialContainer/Deque.js    |   395 -
       .../container/SequentialContainer/LinkList.js |   334 -
       .../container/SequentialContainer/Vector.js   |   158 -
       .../TreeContainer/Base/TreeIterator.js        |    80 -
       .../container/TreeContainer/Base/TreeNode.js  |   113 -
       .../cjs/container/TreeContainer/Base/index.js |   486 -
       .../cjs/container/TreeContainer/OrderedMap.js |   138 -
       .../cjs/container/TreeContainer/OrderedSet.js |   117 -
       .../node_modules/js-sdsl/dist/cjs/index.js    |   102 -
       .../js-sdsl/dist/cjs/utils/checkObject.js     |    13 -
       .../js-sdsl/dist/cjs/utils/math.js            |    18 -
       .../js-sdsl/dist/cjs/utils/throwError.js      |    12 -
       .../dist/esm/container/ContainerBase/index.js |    68 -
       .../esm/container/HashContainer/Base/index.js |   200 -
       .../esm/container/HashContainer/HashMap.js    |   246 -
       .../esm/container/HashContainer/HashSet.js    |   221 -
       .../container/OtherContainer/PriorityQueue.js |   171 -
       .../esm/container/OtherContainer/Queue.js     |    69 -
       .../esm/container/OtherContainer/Stack.js     |    59 -
       .../Base/RandomIterator.js                    |    78 -
       .../SequentialContainer/Base/index.js         |    33 -
       .../container/SequentialContainer/Deque.js    |   514 -
       .../container/SequentialContainer/LinkList.js |   460 -
       .../container/SequentialContainer/Vector.js   |   323 -
       .../TreeContainer/Base/TreeIterator.js        |    98 -
       .../container/TreeContainer/Base/TreeNode.js  |   133 -
       .../esm/container/TreeContainer/Base/index.js |   506 -
       .../esm/container/TreeContainer/OrderedMap.js |   266 -
       .../esm/container/TreeContainer/OrderedSet.js |   245 -
       .../node_modules/js-sdsl/dist/esm/index.js    |    20 -
       .../js-sdsl/dist/esm/utils/checkObject.js     |     5 -
       .../js-sdsl/dist/esm/utils/math.js            |     6 -
       .../js-sdsl/dist/esm/utils/throwError.js      |     4 -
       .../node_modules/js-sdsl/dist/umd/js-sdsl.js  |  3155 ----
       .../js-sdsl/dist/umd/js-sdsl.min.js           |     8 -
       .../eslint/node_modules/js-sdsl/package.json  |   166 -
       .../node-releases/data/processed/envs.json    |     2 +-
       .../node_modules/node-releases/package.json   |     2 +-
       .../node_modules/semver/classes/semver.js     |     2 +-
       .../eslint/node_modules/semver/package.json   |     6 +-
       tools/node_modules/eslint/package.json        |     7 +-
       702 files changed, 17021 insertions(+), 13129 deletions(-)
       create mode 100644 tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/tsconfig-prod.json
       delete mode 100644 tools/node_modules/eslint/node_modules/grapheme-splitter/LICENSE
       delete mode 100644 tools/node_modules/eslint/node_modules/grapheme-splitter/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/grapheme-splitter/package.json
       rename tools/node_modules/eslint/node_modules/{js-sdsl => graphemer}/LICENSE (52%)
       create mode 100644 tools/node_modules/eslint/node_modules/graphemer/lib/Graphemer.js
       create mode 100644 tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerHelper.js
       create mode 100644 tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerIterator.js
       create mode 100644 tools/node_modules/eslint/node_modules/graphemer/lib/boundaries.js
       create mode 100644 tools/node_modules/eslint/node_modules/graphemer/lib/index.js
       create mode 100644 tools/node_modules/eslint/node_modules/graphemer/package.json
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/ContainerBase/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/Base/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashMap.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashSet.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/PriorityQueue.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Queue.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Stack.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/RandomIterator.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Deque.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/LinkList.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Vector.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeIterator.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeNode.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedMap.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedSet.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/checkObject.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/math.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/throwError.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/ContainerBase/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/Base/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashMap.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashSet.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/PriorityQueue.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Queue.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Stack.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/RandomIterator.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Deque.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/LinkList.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Vector.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeIterator.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeNode.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedMap.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedSet.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/index.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/checkObject.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/math.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/throwError.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.min.js
       delete mode 100644 tools/node_modules/eslint/node_modules/js-sdsl/package.json
      
      diff --git a/tools/node_modules/eslint/lib/cli-engine/cli-engine.js b/tools/node_modules/eslint/lib/cli-engine/cli-engine.js
      index 5bca1618b94e54..093a20b1ded4e4 100644
      --- a/tools/node_modules/eslint/lib/cli-engine/cli-engine.js
      +++ b/tools/node_modules/eslint/lib/cli-engine/cli-engine.js
      @@ -308,9 +308,11 @@ function createIgnoreResult(filePath, baseDir) {
               filePath: path.resolve(filePath),
               messages: [
                   {
      +                ruleId: null,
                       fatal: false,
                       severity: 1,
      -                message
      +                message,
      +                nodeType: null
                   }
               ],
               suppressedMessages: [],
      diff --git a/tools/node_modules/eslint/lib/cli.js b/tools/node_modules/eslint/lib/cli.js
      index afd1e65cbd1c1c..a14930e9b0f244 100644
      --- a/tools/node_modules/eslint/lib/cli.js
      +++ b/tools/node_modules/eslint/lib/cli.js
      @@ -19,12 +19,11 @@ const fs = require("fs"),
           path = require("path"),
           { promisify } = require("util"),
           { ESLint } = require("./eslint"),
      -    { FlatESLint } = require("./eslint/flat-eslint"),
      +    { FlatESLint, shouldUseFlatConfig } = require("./eslint/flat-eslint"),
           createCLIOptions = require("./options"),
           log = require("./shared/logging"),
           RuntimeInfo = require("./shared/runtime-info");
       const { Legacy: { naming } } = require("@eslint/eslintrc");
      -const { findFlatConfigFile } = require("./eslint/flat-eslint");
       const { ModuleImporter } = require("@humanwhocodes/module-importer");
       
       const debug = require("debug")("eslint:cli");
      @@ -275,31 +274,6 @@ async function printResults(engine, results, format, outputFile, resultsMeta) {
           return true;
       }
       
      -/**
      - * Returns whether flat config should be used.
      - * @param {boolean} [allowFlatConfig] Whether or not to allow flat config.
      - * @returns {Promise} Where flat config should be used.
      - */
      -async function shouldUseFlatConfig(allowFlatConfig) {
      -    if (!allowFlatConfig) {
      -        return false;
      -    }
      -
      -    switch (process.env.ESLINT_USE_FLAT_CONFIG) {
      -        case "true":
      -            return true;
      -        case "false":
      -            return false;
      -        default:
      -
      -            /*
      -             * If neither explicitly enabled nor disabled, then use the presence
      -             * of a flat config file to determine enablement.
      -             */
      -            return !!(await findFlatConfigFile(process.cwd()));
      -    }
      -}
      -
       //------------------------------------------------------------------------------
       // Public Interface
       //------------------------------------------------------------------------------
      @@ -329,7 +303,7 @@ const cli = {
                * switch to flat config we can remove this logic.
                */
       
      -        const usingFlatConfig = await shouldUseFlatConfig(allowFlatConfig);
      +        const usingFlatConfig = allowFlatConfig && await shouldUseFlatConfig();
       
               debug("Using flat config?", usingFlatConfig);
       
      diff --git a/tools/node_modules/eslint/lib/config/default-config.js b/tools/node_modules/eslint/lib/config/default-config.js
      index 99ea7b9f84e474..8a6ff820057de8 100644
      --- a/tools/node_modules/eslint/lib/config/default-config.js
      +++ b/tools/node_modules/eslint/lib/config/default-config.js
      @@ -48,7 +48,7 @@ exports.defaultConfig = [
           // default ignores are listed here
           {
               ignores: [
      -            "**/node_modules/*",
      +            "**/node_modules/",
                   ".git/"
               ]
           },
      diff --git a/tools/node_modules/eslint/lib/eslint/eslint-helpers.js b/tools/node_modules/eslint/lib/eslint/eslint-helpers.js
      index 54b0c69d7c8ee5..ff3695dc644f89 100644
      --- a/tools/node_modules/eslint/lib/eslint/eslint-helpers.js
      +++ b/tools/node_modules/eslint/lib/eslint/eslint-helpers.js
      @@ -591,14 +591,10 @@ function isErrorMessage(message) {
        */
       function createIgnoreResult(filePath, baseDir) {
           let message;
      -    const isHidden = filePath.split(path.sep)
      -        .find(segment => /^\./u.test(segment));
           const isInNodeModules = baseDir && path.relative(baseDir, filePath).startsWith("node_modules");
       
      -    if (isHidden) {
      -        message = "File ignored by default.  Use a negated ignore pattern (like \"--ignore-pattern '!'\") to override.";
      -    } else if (isInNodeModules) {
      -        message = "File ignored by default. Use \"--ignore-pattern '!node_modules/*'\" to override.";
      +    if (isInNodeModules) {
      +        message = "File ignored by default because it is located under the node_modules directory. Use ignore pattern \"!**/node_modules/\" to override.";
           } else {
               message = "File ignored because of a matching ignore pattern. Use \"--no-ignore\" to override.";
           }
      @@ -607,9 +603,11 @@ function createIgnoreResult(filePath, baseDir) {
               filePath: path.resolve(filePath),
               messages: [
                   {
      +                ruleId: null,
                       fatal: false,
                       severity: 1,
      -                message
      +                message,
      +                nodeType: null
                   }
               ],
               suppressedMessages: [],
      @@ -758,6 +756,9 @@ function processOptions({
           if (typeof ignore !== "boolean") {
               errors.push("'ignore' must be a boolean.");
           }
      +    if (!isArrayOfNonEmptyString(ignorePatterns) && ignorePatterns !== null) {
      +        errors.push("'ignorePatterns' must be an array of non-empty strings or null.");
      +    }
           if (typeof overrideConfig !== "object") {
               errors.push("'overrideConfig' must be an object or null.");
           }
      diff --git a/tools/node_modules/eslint/lib/eslint/flat-eslint.js b/tools/node_modules/eslint/lib/eslint/flat-eslint.js
      index faf055b265e3f6..f615ae17155622 100644
      --- a/tools/node_modules/eslint/lib/eslint/flat-eslint.js
      +++ b/tools/node_modules/eslint/lib/eslint/flat-eslint.js
      @@ -55,6 +55,7 @@ const LintResultCache = require("../cli-engine/lint-result-cache");
       /** @typedef {import("../shared/types").ConfigData} ConfigData */
       /** @typedef {import("../shared/types").DeprecatedRuleInfo} DeprecatedRuleInfo */
       /** @typedef {import("../shared/types").LintMessage} LintMessage */
      +/** @typedef {import("../shared/types").LintResult} LintResult */
       /** @typedef {import("../shared/types").ParserOptions} ParserOptions */
       /** @typedef {import("../shared/types").Plugin} Plugin */
       /** @typedef {import("../shared/types").ResultsMeta} ResultsMeta */
      @@ -76,7 +77,7 @@ const LintResultCache = require("../cli-engine/lint-result-cache");
        * @property {string[]} [fixTypes] Array of rule types to apply fixes for.
        * @property {boolean} [globInputPaths] Set to false to skip glob resolution of input file paths to lint (default: true). If false, each input file paths is assumed to be a non-glob path to an existing file.
        * @property {boolean} [ignore] False disables all ignore patterns except for the default ones.
      - * @property {string[]} [ignorePatterns] Ignore file patterns to use in addition to config ignores.
      + * @property {string[]} [ignorePatterns] Ignore file patterns to use in addition to config ignores. These patterns are relative to `cwd`.
        * @property {ConfigData} [overrideConfig] Override config object, overrides all configs used with this instance
        * @property {boolean|string} [overrideConfigFile] Searches for default config file when falsy;
        *      doesn't do any config file lookup when `true`; considered to be a config filename
      @@ -261,7 +262,7 @@ function compareResultsByFilePath(a, b) {
        * Searches from the current working directory up until finding the
        * given flat config filename.
        * @param {string} cwd The current working directory to search from.
      - * @returns {Promise} The filename if found or `null` if not.
      + * @returns {Promise} The filename if found or `undefined` if not.
        */
       function findFlatConfigFile(cwd) {
           return findUp(
      @@ -326,7 +327,7 @@ async function loadFlatConfigFile(filePath) {
        * as override config file is not explicitly set to `false`, it will search
        * upwards from the cwd for a file named `eslint.config.js`.
        * @param {import("./eslint").ESLintOptions} options The ESLint instance options.
      - * @returns {{configFilePath:string,basePath:string,error:boolean}} Location information for
      + * @returns {{configFilePath:string|undefined,basePath:string,error:Error|null}} Location information for
        *      the config file.
        */
       async function locateConfigFileToUse({ configFile, cwd }) {
      @@ -334,7 +335,7 @@ async function locateConfigFileToUse({ configFile, cwd }) {
           // determine where to load config file from
           let configFilePath;
           let basePath = cwd;
      -    let error = false;
      +    let error = null;
       
           if (typeof configFile === "string") {
               debug(`Override config file path is ${configFile}`);
      @@ -346,7 +347,7 @@ async function locateConfigFileToUse({ configFile, cwd }) {
               if (configFilePath) {
                   basePath = path.resolve(path.dirname(configFilePath));
               } else {
      -            error = true;
      +            error = new Error("Could not find config file.");
               }
       
           }
      @@ -385,7 +386,7 @@ async function calculateConfigArray(eslint, {
       
           // config file is required to calculate config
           if (error) {
      -        throw new Error("Could not find config file.");
      +        throw error;
           }
       
           const configs = new FlatConfigArray(baseConfig || [], { basePath, shouldIgnore });
      @@ -404,45 +405,39 @@ async function calculateConfigArray(eslint, {
           // add in any configured defaults
           configs.push(...slots.defaultConfigs);
       
      -    let allIgnorePatterns = [];
      -
           // append command line ignore patterns
      -    if (ignorePatterns) {
      -        if (typeof ignorePatterns === "string") {
      -            allIgnorePatterns.push(ignorePatterns);
      -        } else {
      -            allIgnorePatterns.push(...ignorePatterns);
      -        }
      -    }
      +    if (ignorePatterns && ignorePatterns.length > 0) {
       
      -    /*
      -     * If the config file basePath is different than the cwd, then
      -     * the ignore patterns won't work correctly. Here, we adjust the
      -     * ignore pattern to include the correct relative path. Patterns
      -     * loaded from ignore files are always relative to the cwd, whereas
      -     * the config file basePath can be an ancestor of the cwd.
      -     */
      -    if (basePath !== cwd && allIgnorePatterns.length) {
      +        let relativeIgnorePatterns;
       
      -        const relativeIgnorePath = path.relative(basePath, cwd);
      +        /*
      +         * If the config file basePath is different than the cwd, then
      +         * the ignore patterns won't work correctly. Here, we adjust the
      +         * ignore pattern to include the correct relative path. Patterns
      +         * passed as `ignorePatterns` are relative to the cwd, whereas
      +         * the config file basePath can be an ancestor of the cwd.
      +         */
      +        if (basePath === cwd) {
      +            relativeIgnorePatterns = ignorePatterns;
      +        } else {
       
      -        allIgnorePatterns = allIgnorePatterns.map(pattern => {
      -            const negated = pattern.startsWith("!");
      -            const basePattern = negated ? pattern.slice(1) : pattern;
      +            const relativeIgnorePath = path.relative(basePath, cwd);
       
      -            return (negated ? "!" : "") +
      -                path.posix.join(relativeIgnorePath, basePattern);
      -        });
      -    }
      +            relativeIgnorePatterns = ignorePatterns.map(pattern => {
      +                const negated = pattern.startsWith("!");
      +                const basePattern = negated ? pattern.slice(1) : pattern;
       
      -    if (allIgnorePatterns.length) {
      +                return (negated ? "!" : "") +
      +                path.posix.join(relativeIgnorePath, basePattern);
      +            });
      +        }
       
               /*
                * Ignore patterns are added to the end of the config array
                * so they can override default ignores.
                */
               configs.push({
      -            ignores: allIgnorePatterns
      +            ignores: relativeIgnorePatterns
               });
           }
       
      @@ -1212,11 +1207,31 @@ class FlatESLint {
           }
       }
       
      +/**
      + * Returns whether flat config should be used.
      + * @returns {Promise} Whether flat config should be used.
      + */
      +async function shouldUseFlatConfig() {
      +    switch (process.env.ESLINT_USE_FLAT_CONFIG) {
      +        case "true":
      +            return true;
      +        case "false":
      +            return false;
      +        default:
      +
      +            /*
      +             * If neither explicitly enabled nor disabled, then use the presence
      +             * of a flat config file to determine enablement.
      +             */
      +            return !!(await findFlatConfigFile(process.cwd()));
      +    }
      +}
      +
       //------------------------------------------------------------------------------
       // Public Interface
       //------------------------------------------------------------------------------
       
       module.exports = {
           FlatESLint,
      -    findFlatConfigFile
      +    shouldUseFlatConfig
       };
      diff --git a/tools/node_modules/eslint/lib/linter/apply-disable-directives.js b/tools/node_modules/eslint/lib/linter/apply-disable-directives.js
      index 459c8591196561..13ced990ff485d 100644
      --- a/tools/node_modules/eslint/lib/linter/apply-disable-directives.js
      +++ b/tools/node_modules/eslint/lib/linter/apply-disable-directives.js
      @@ -5,6 +5,16 @@
       
       "use strict";
       
      +//------------------------------------------------------------------------------
      +// Typedefs
      +//------------------------------------------------------------------------------
      +
      +/** @typedef {import("../shared/types").LintMessage} LintMessage */
      +
      +//------------------------------------------------------------------------------
      +// Module Definition
      +//------------------------------------------------------------------------------
      +
       const escapeRegExp = require("escape-string-regexp");
       
       /**
      @@ -196,7 +206,7 @@ function processUnusedDisableDirectives(allDirectives) {
        * @param {Object} options options for applying directives. This is the same as the options
        * for the exported function, except that `reportUnusedDisableDirectives` is not supported
        * (this function always reports unused disable directives).
      - * @returns {{problems: Problem[], unusedDisableDirectives: Problem[]}} An object with a list
      + * @returns {{problems: LintMessage[], unusedDisableDirectives: LintMessage[]}} An object with a list
        * of problems (including suppressed ones) and unused eslint-disable directives
        */
       function applyDirectives(options) {
      diff --git a/tools/node_modules/eslint/lib/linter/config-comment-parser.js b/tools/node_modules/eslint/lib/linter/config-comment-parser.js
      index 643de8f2d312a7..9aab3c44458546 100644
      --- a/tools/node_modules/eslint/lib/linter/config-comment-parser.js
      +++ b/tools/node_modules/eslint/lib/linter/config-comment-parser.js
      @@ -19,6 +19,12 @@ const levn = require("levn"),
       
       const debug = require("debug")("eslint:config-comment-parser");
       
      +//------------------------------------------------------------------------------
      +// Typedefs
      +//------------------------------------------------------------------------------
      +
      +/** @typedef {import("../shared/types").LintMessage} LintMessage */
      +
       //------------------------------------------------------------------------------
       // Public Interface
       //------------------------------------------------------------------------------
      @@ -61,7 +67,7 @@ module.exports = class ConfigCommentParser {
            * Parses a JSON-like config.
            * @param {string} string The string to parse.
            * @param {Object} location Start line and column of comments for potential error message.
      -     * @returns {({success: true, config: Object}|{success: false, error: Problem})} Result map object
      +     * @returns {({success: true, config: Object}|{success: false, error: LintMessage})} Result map object
            */
           parseJsonConfig(string, location) {
               debug("Parsing JSON config");
      @@ -109,7 +115,8 @@ module.exports = class ConfigCommentParser {
                           severity: 2,
                           message: `Failed to parse JSON from '${normalizedString}': ${ex.message}`,
                           line: location.start.line,
      -                    column: location.start.column + 1
      +                    column: location.start.column + 1,
      +                    nodeType: null
                       }
                   };
       
      diff --git a/tools/node_modules/eslint/lib/linter/linter.js b/tools/node_modules/eslint/lib/linter/linter.js
      index ff8395d260142f..233cbed5b5ccdf 100644
      --- a/tools/node_modules/eslint/lib/linter/linter.js
      +++ b/tools/node_modules/eslint/lib/linter/linter.js
      @@ -364,7 +364,7 @@ function extractDirectiveComment(value) {
        * @param {ASTNode} ast The top node of the AST.
        * @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules
        * @param {string|null} warnInlineConfig If a string then it should warn directive comments as disabled. The string value is the config name what the setting came from.
      - * @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: Problem[], disableDirectives: DisableDirective[]}}
      + * @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: LintMessage[], disableDirectives: DisableDirective[]}}
        * A collection of the directive comments that were found, along with any problems that occurred when parsing
        */
       function getDirectiveComments(ast, ruleMapper, warnInlineConfig) {
      @@ -775,7 +775,7 @@ function analyzeScope(ast, languageOptions, visitorKeys) {
        * @param {string} text The text to parse.
        * @param {LanguageOptions} languageOptions Options to pass to the parser
        * @param {string} filePath The path to the file being parsed.
      - * @returns {{success: false, error: Problem}|{success: true, sourceCode: SourceCode}}
      + * @returns {{success: false, error: LintMessage}|{success: true, sourceCode: SourceCode}}
        * An object containing the AST and parser services if parsing was successful, or the error if parsing failed
        * @private
        */
      @@ -851,7 +851,8 @@ function parse(text, languageOptions, filePath) {
                       severity: 2,
                       message,
                       line: ex.lineNumber,
      -                column: ex.column
      +                column: ex.column,
      +                nodeType: null
                   }
               };
           }
      @@ -921,7 +922,7 @@ const BASE_TRAVERSAL_CONTEXT = Object.freeze(
        * @param {boolean} disableFixes If true, it doesn't make `fix` properties.
        * @param {string | undefined} cwd cwd of the cli
        * @param {string} physicalFilename The full path of the file on disk without any code block information
      - * @returns {Problem[]} An array of reported problems
      + * @returns {LintMessage[]} An array of reported problems
        */
       function runRules(sourceCode, configuredRules, ruleMapper, parserName, languageOptions, settings, filename, disableFixes, cwd, physicalFilename) {
           const emitter = createEmitter();
      @@ -1253,7 +1254,8 @@ class Linter {
                           severity: 2,
                           message: `Configured parser '${config.parser}' was not found.`,
                           line: 0,
      -                    column: 0
      +                    column: 0,
      +                    nodeType: null
                       }];
                   }
                   parserName = config.parser;
      @@ -1464,7 +1466,8 @@ class Linter {
                           severity: 2,
                           message,
                           line: ex.lineNumber,
      -                    column: ex.column
      +                    column: ex.column,
      +                    nodeType: null
                       }
                   ];
               }
      @@ -1729,7 +1732,8 @@ class Linter {
                           severity: 1,
                           message: `No matching configuration found for ${filename}.`,
                           line: 0,
      -                    column: 0
      +                    column: 0,
      +                    nodeType: null
                       }
                   ];
               }
      @@ -1794,7 +1798,8 @@ class Linter {
                           severity: 2,
                           message,
                           line: ex.lineNumber,
      -                    column: ex.column
      +                    column: ex.column,
      +                    nodeType: null
                       }
                   ];
               }
      @@ -1840,7 +1845,7 @@ class Linter {
           /**
            * Given a list of reported problems, distinguish problems between normal messages and suppressed messages.
            * The normal messages will be returned and the suppressed messages will be stored as lastSuppressedMessages.
      -     * @param {Problem[]} problems A list of reported problems.
      +     * @param {Array} problems A list of reported problems.
            * @returns {LintMessage[]} A list of LintMessage.
            */
           _distinguishSuppressedMessages(problems) {
      diff --git a/tools/node_modules/eslint/lib/linter/report-translator.js b/tools/node_modules/eslint/lib/linter/report-translator.js
      index 781b3136ec5639..7d2705206cdba1 100644
      --- a/tools/node_modules/eslint/lib/linter/report-translator.js
      +++ b/tools/node_modules/eslint/lib/linter/report-translator.js
      @@ -17,6 +17,8 @@ const interpolate = require("./interpolate");
       // Typedefs
       //------------------------------------------------------------------------------
       
      +/** @typedef {import("../shared/types").LintMessage} LintMessage */
      +
       /**
        * An error message description
        * @typedef {Object} MessageDescriptor
      @@ -29,23 +31,6 @@ const interpolate = require("./interpolate");
        * @property {Array<{desc?: string, messageId?: string, fix: Function}>} suggest Suggestion descriptions and functions to create a the associated fixes.
        */
       
      -/**
      - * Information about the report
      - * @typedef {Object} ReportInfo
      - * @property {string} ruleId The rule ID
      - * @property {(0|1|2)} severity Severity of the error
      - * @property {(string|undefined)} message The message
      - * @property {(string|undefined)} [messageId] The message ID
      - * @property {number} line The line number
      - * @property {number} column The column number
      - * @property {(number|undefined)} [endLine] The ending line number
      - * @property {(number|undefined)} [endColumn] The ending column number
      - * @property {(string|null)} nodeType Type of node
      - * @property {string} source Source text
      - * @property {({text: string, range: (number[]|null)}|null)} [fix] The fix object
      - * @property {Array<{text: string, range: (number[]|null)}|null>} [suggestions] Suggestion info
      - */
      -
       //------------------------------------------------------------------------------
       // Module Definition
       //------------------------------------------------------------------------------
      @@ -239,7 +224,7 @@ function mapSuggestions(descriptor, sourceCode, messages) {
        * @param {{start: SourceLocation, end: (SourceLocation|null)}} options.loc Start and end location
        * @param {{text: string, range: (number[]|null)}} options.fix The fix object
        * @param {Array<{text: string, range: (number[]|null)}>} options.suggestions The array of suggestions objects
      - * @returns {function(...args): ReportInfo} Function that returns information about the report
      + * @returns {LintMessage} Information about the report
        */
       function createProblem(options) {
           const problem = {
      @@ -314,7 +299,7 @@ function validateSuggestions(suggest, messages) {
        * problem for the Node.js API.
        * @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object, disableFixes: boolean}} metadata Metadata for the reported problem
        * @param {SourceCode} sourceCode The `SourceCode` instance for the text being linted
      - * @returns {function(...args): ReportInfo} Function that returns information about the report
      + * @returns {function(...args): LintMessage} Function that returns information about the report
        */
       
       module.exports = function createReportTranslator(metadata) {
      diff --git a/tools/node_modules/eslint/lib/rules/indent.js b/tools/node_modules/eslint/lib/rules/indent.js
      index 25ec06cac28f09..bcc5143d26e969 100644
      --- a/tools/node_modules/eslint/lib/rules/indent.js
      +++ b/tools/node_modules/eslint/lib/rules/indent.js
      @@ -12,8 +12,6 @@
       // Requirements
       //------------------------------------------------------------------------------
       
      -const { OrderedMap } = require("js-sdsl");
      -
       const astUtils = require("./utils/ast-utils");
       
       //------------------------------------------------------------------------------
      @@ -125,43 +123,48 @@ const KNOWN_NODES = new Set([
       
       
       /**
      - * A mutable balanced binary search tree that stores (key, value) pairs. The keys are numeric, and must be unique.
      - * This is intended to be a generic wrapper around a balanced binary search tree library, so that the underlying implementation
      + * A mutable map that stores (key, value) pairs. The keys are numeric indices, and must be unique.
      + * This is intended to be a generic wrapper around a map with non-negative integer keys, so that the underlying implementation
        * can easily be swapped out.
        */
      -class BinarySearchTree {
      +class IndexMap {
       
           /**
      -     * Creates an empty tree
      +     * Creates an empty map
      +     * @param {number} maxKey The maximum key
            */
      -    constructor() {
      -        this._orderedMap = new OrderedMap();
      -        this._orderedMapEnd = this._orderedMap.end();
      +    constructor(maxKey) {
      +
      +        // Initializing the array with the maximum expected size avoids dynamic reallocations that could degrade performance.
      +        this._values = Array(maxKey + 1);
           }
       
           /**
      -     * Inserts an entry into the tree.
      +     * Inserts an entry into the map.
            * @param {number} key The entry's key
            * @param {any} value The entry's value
            * @returns {void}
            */
           insert(key, value) {
      -        this._orderedMap.setElement(key, value);
      +        this._values[key] = value;
           }
       
           /**
      -     * Finds the entry with the largest key less than or equal to the provided key
      +     * Finds the value of the entry with the largest key less than or equal to the provided key
            * @param {number} key The provided key
      -     * @returns {{key: number, value: *}|null} The found entry, or null if no such entry exists.
      +     * @returns {*|undefined} The value of the found entry, or undefined if no such entry exists.
            */
      -    findLe(key) {
      -        const iterator = this._orderedMap.reverseLowerBound(key);
      +    findLastNotAfter(key) {
      +        const values = this._values;
       
      -        if (iterator.equals(this._orderedMapEnd)) {
      -            return {};
      -        }
      +        for (let index = key; index >= 0; index--) {
      +            const value = values[index];
       
      -        return { key: iterator.pointer[0], value: iterator.pointer[1] };
      +            if (value) {
      +                return value;
      +            }
      +        }
      +        return void 0;
           }
       
           /**
      @@ -171,26 +174,7 @@ class BinarySearchTree {
            * @returns {void}
            */
           deleteRange(start, end) {
      -
      -        // Exit without traversing the tree if the range has zero size.
      -        if (start === end) {
      -            return;
      -        }
      -        const iterator = this._orderedMap.lowerBound(start);
      -
      -        if (iterator.equals(this._orderedMapEnd)) {
      -            return;
      -        }
      -
      -        if (end > this._orderedMap.back()[0]) {
      -            while (!iterator.equals(this._orderedMapEnd)) {
      -                this._orderedMap.eraseElementByIterator(iterator);
      -            }
      -        } else {
      -            while (iterator.pointer[0] < end) {
      -                this._orderedMap.eraseElementByIterator(iterator);
      -            }
      -        }
      +        this._values.fill(void 0, start, end);
           }
       }
       
      @@ -252,14 +236,15 @@ class OffsetStorage {
            * @param {TokenInfo} tokenInfo a TokenInfo instance
            * @param {number} indentSize The desired size of each indentation level
            * @param {string} indentType The indentation character
      +     * @param {number} maxIndex The maximum end index of any token
            */
      -    constructor(tokenInfo, indentSize, indentType) {
      +    constructor(tokenInfo, indentSize, indentType, maxIndex) {
               this._tokenInfo = tokenInfo;
               this._indentSize = indentSize;
               this._indentType = indentType;
       
      -        this._tree = new BinarySearchTree();
      -        this._tree.insert(0, { offset: 0, from: null, force: false });
      +        this._indexMap = new IndexMap(maxIndex);
      +        this._indexMap.insert(0, { offset: 0, from: null, force: false });
       
               this._lockedFirstTokens = new WeakMap();
               this._desiredIndentCache = new WeakMap();
      @@ -267,7 +252,7 @@ class OffsetStorage {
           }
       
           _getOffsetDescriptor(token) {
      -        return this._tree.findLe(token.range[0]).value;
      +        return this._indexMap.findLastNotAfter(token.range[0]);
           }
       
           /**
      @@ -388,37 +373,36 @@ class OffsetStorage {
                * * key: 820, value: { offset: 1, from: bazToken }
                *
                * To find the offset descriptor for any given token, one needs to find the node with the largest key
      -         * which is <= token.start. To make this operation fast, the nodes are stored in a balanced binary
      -         * search tree indexed by key.
      +         * which is <= token.start. To make this operation fast, the nodes are stored in a map indexed by key.
                */
       
               const descriptorToInsert = { offset, from: fromToken, force };
       
      -        const descriptorAfterRange = this._tree.findLe(range[1]).value;
      +        const descriptorAfterRange = this._indexMap.findLastNotAfter(range[1]);
       
               const fromTokenIsInRange = fromToken && fromToken.range[0] >= range[0] && fromToken.range[1] <= range[1];
               const fromTokenDescriptor = fromTokenIsInRange && this._getOffsetDescriptor(fromToken);
       
      -        // First, remove any existing nodes in the range from the tree.
      -        this._tree.deleteRange(range[0] + 1, range[1]);
      +        // First, remove any existing nodes in the range from the map.
      +        this._indexMap.deleteRange(range[0] + 1, range[1]);
       
      -        // Insert a new node into the tree for this range
      -        this._tree.insert(range[0], descriptorToInsert);
      +        // Insert a new node into the map for this range
      +        this._indexMap.insert(range[0], descriptorToInsert);
       
               /*
                * To avoid circular offset dependencies, keep the `fromToken` token mapped to whatever it was mapped to previously,
                * even if it's in the current range.
                */
               if (fromTokenIsInRange) {
      -            this._tree.insert(fromToken.range[0], fromTokenDescriptor);
      -            this._tree.insert(fromToken.range[1], descriptorToInsert);
      +            this._indexMap.insert(fromToken.range[0], fromTokenDescriptor);
      +            this._indexMap.insert(fromToken.range[1], descriptorToInsert);
               }
       
               /*
                * To avoid modifying the offset of tokens after the range, insert another node to keep the offset of the following
                * tokens the same as it was before.
                */
      -        this._tree.insert(range[1], descriptorAfterRange);
      +        this._indexMap.insert(range[1], descriptorAfterRange);
           }
       
           /**
      @@ -705,7 +689,7 @@ module.exports = {
       
               const sourceCode = context.sourceCode;
               const tokenInfo = new TokenInfo(sourceCode);
      -        const offsets = new OffsetStorage(tokenInfo, indentSize, indentType === "space" ? " " : "\t");
      +        const offsets = new OffsetStorage(tokenInfo, indentSize, indentType === "space" ? " " : "\t", sourceCode.text.length);
               const parameterParens = new WeakSet();
       
               /**
      diff --git a/tools/node_modules/eslint/lib/shared/string-utils.js b/tools/node_modules/eslint/lib/shared/string-utils.js
      index 84c88a55d4328c..ed0781e578cb13 100644
      --- a/tools/node_modules/eslint/lib/shared/string-utils.js
      +++ b/tools/node_modules/eslint/lib/shared/string-utils.js
      @@ -9,7 +9,7 @@
       // Requirements
       //------------------------------------------------------------------------------
       
      -const GraphemeSplitter = require("grapheme-splitter");
      +const Graphemer = require("graphemer").default;
       
       //------------------------------------------------------------------------------
       // Helpers
      @@ -18,7 +18,7 @@ const GraphemeSplitter = require("grapheme-splitter");
       // eslint-disable-next-line no-control-regex -- intentionally including control characters
       const ASCII_REGEX = /^[\u0000-\u007f]*$/u;
       
      -/** @type {GraphemeSplitter | undefined} */
      +/** @type {Graphemer | undefined} */
       let splitter;
       
       //------------------------------------------------------------------------------
      @@ -48,7 +48,7 @@ function getGraphemeCount(value) {
           }
       
           if (!splitter) {
      -        splitter = new GraphemeSplitter();
      +        splitter = new Graphemer();
           }
       
           return splitter.countGraphemes(value);
      diff --git a/tools/node_modules/eslint/lib/shared/types.js b/tools/node_modules/eslint/lib/shared/types.js
      index 20335f68a73ac8..5c10462587a58b 100644
      --- a/tools/node_modules/eslint/lib/shared/types.js
      +++ b/tools/node_modules/eslint/lib/shared/types.js
      @@ -96,10 +96,12 @@ module.exports = {};
        * @property {number|undefined} column The 1-based column number.
        * @property {number} [endColumn] The 1-based column number of the end location.
        * @property {number} [endLine] The 1-based line number of the end location.
      - * @property {boolean} fatal If `true` then this is a fatal error.
      + * @property {boolean} [fatal] If `true` then this is a fatal error.
        * @property {{range:[number,number], text:string}} [fix] Information for autofix.
        * @property {number|undefined} line The 1-based line number.
        * @property {string} message The error message.
      + * @property {string} [messageId] The ID of the message in the rule's meta.
      + * @property {(string|null)} nodeType Type of node
        * @property {string|null} ruleId The ID of the rule which makes this message.
        * @property {0|1|2} severity The severity of this message.
        * @property {Array<{desc?: string, messageId?: string, fix: {range: [number, number], text: string}}>} [suggestions] Information for suggestions.
      @@ -110,10 +112,12 @@ module.exports = {};
        * @property {number|undefined} column The 1-based column number.
        * @property {number} [endColumn] The 1-based column number of the end location.
        * @property {number} [endLine] The 1-based line number of the end location.
      - * @property {boolean} fatal If `true` then this is a fatal error.
      + * @property {boolean} [fatal] If `true` then this is a fatal error.
        * @property {{range:[number,number], text:string}} [fix] Information for autofix.
        * @property {number|undefined} line The 1-based line number.
        * @property {string} message The error message.
      + * @property {string} [messageId] The ID of the message in the rule's meta.
      + * @property {(string|null)} nodeType Type of node
        * @property {string|null} ruleId The ID of the rule which makes this message.
        * @property {0|1|2} severity The severity of this message.
        * @property {Array<{kind: string, justification: string}>} suppressions The suppression info.
      diff --git a/tools/node_modules/eslint/lib/unsupported-api.js b/tools/node_modules/eslint/lib/unsupported-api.js
      index c1daf54d6aebc1..b688608ca88419 100644
      --- a/tools/node_modules/eslint/lib/unsupported-api.js
      +++ b/tools/node_modules/eslint/lib/unsupported-api.js
      @@ -12,7 +12,7 @@
       //-----------------------------------------------------------------------------
       
       const { FileEnumerator } = require("./cli-engine/file-enumerator");
      -const { FlatESLint } = require("./eslint/flat-eslint");
      +const { FlatESLint, shouldUseFlatConfig } = require("./eslint/flat-eslint");
       const FlatRuleTester = require("./rule-tester/flat-rule-tester");
       
       //-----------------------------------------------------------------------------
      @@ -22,6 +22,7 @@ const FlatRuleTester = require("./rule-tester/flat-rule-tester");
       module.exports = {
           builtinRules: require("./rules"),
           FlatESLint,
      +    shouldUseFlatConfig,
           FlatRuleTester,
           FileEnumerator
       };
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/dist/index.cjs.cjs b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/dist/index.cjs.cjs
      index 33a7c1228af281..458c45d14d8b80 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/dist/index.cjs.cjs
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/dist/index.cjs.cjs
      @@ -7,28 +7,22 @@ var commentParser = require('comment-parser');
       /**
        * Removes initial and ending brackets from `rawType`
        * @param {JsdocTypeLine[]|JsdocTag} container
      - * @param {boolean} isArr
      + * @param {boolean} [isArr]
        * @returns {void}
        */
       const stripEncapsulatingBrackets = (container, isArr) => {
         if (isArr) {
      -    const firstItem = container[0];
      +    const firstItem = /** @type {JsdocTypeLine[]} */container[0];
           firstItem.rawType = firstItem.rawType.replace(/^\{/u, '');
      -    const lastItem = container[container.length - 1];
      +    const lastItem = /** @type {JsdocTypeLine} */
      +    /** @type {JsdocTypeLine[]} */container.at(-1);
           lastItem.rawType = lastItem.rawType.replace(/\}$/u, '');
           return;
         }
      -  container.rawType = container.rawType.replace(/^\{/u, '').replace(/\}$/u, '');
      +  /** @type {JsdocTag} */
      +  container.rawType = /** @type {JsdocTag} */container.rawType.replace(/^\{/u, '').replace(/\}$/u, '');
       };
       
      -/**
      - * @external CommentParserJsdoc
      - */
      -
      -/**
      - * @external JsdocTypePrattParserMode
      - */
      -
       /**
        * @typedef {{
        *   delimiter: string,
      @@ -55,6 +49,10 @@ const stripEncapsulatingBrackets = (container, isArr) => {
        *   namepathOrURL: string,
        *   tag: string,
        *   text: string,
      + * }} JsdocInlineTagNoType
      + */
      +/**
      + * @typedef {JsdocInlineTagNoType & {
        *   type: "JsdocInlineTag"
        * }} JsdocInlineTag
        */
      @@ -66,24 +64,36 @@ const stripEncapsulatingBrackets = (container, isArr) => {
        *   descriptionLines: JsdocDescriptionLine[],
        *   initial: string,
        *   inlineTags: JsdocInlineTag[]
      + *   name: string,
        *   postDelimiter: string,
      + *   postName: string,
      + *   postTag: string,
      + *   postType: string,
        *   rawType: string,
      + *   parsedType: import('jsdoc-type-pratt-parser').RootResult|null
        *   tag: string,
      - *   terminal: string,
        *   type: "JsdocTag",
      - *   type: string,
        *   typeLines: JsdocTypeLine[],
        * }} JsdocTag
        */
       
      +/**
      + * @typedef {number} Integer
      + */
      +
       /**
        * @typedef {{
        *   delimiter: string,
        *   description: string,
      + *   descriptionEndLine?: Integer,
        *   descriptionLines: JsdocDescriptionLine[],
      + *   descriptionStartLine?: Integer,
      + *   hasPreterminalDescription: 0|1,
      + *   hasPreterminalTagDescription?: 1,
        *   initial: string,
        *   inlineTags: JsdocInlineTag[]
      - *   lastDescriptionLine: Integer,
      + *   lastDescriptionLine?: Integer,
      + *   endLine: Integer,
        *   lineEnd: string,
        *   postDelimiter: string,
        *   tags: JsdocTag[],
      @@ -92,6 +102,14 @@ const stripEncapsulatingBrackets = (container, isArr) => {
        * }} JsdocBlock
        */
       
      +/**
      + * @param {object} cfg
      + * @param {string} cfg.text
      + * @param {string} cfg.tag
      + * @param {'pipe' | 'plain' | 'prefix' | 'space'} cfg.format
      + * @param {string} cfg.namepathOrURL
      + * @returns {JsdocInlineTag}
      + */
       const inlineTagToAST = ({
         text,
         tag,
      @@ -107,10 +125,10 @@ const inlineTagToAST = ({
       
       /**
        * Converts comment parser AST to ESTree format.
      - * @param {external:CommentParserJsdoc} jsdoc
      - * @param {external:JsdocTypePrattParserMode} mode
      - * @param {PlainObject} opts
      - * @param {throwOnTypeParsingErrors} [opts.throwOnTypeParsingErrors=false]
      + * @param {import('./index.js').JsdocBlockWithInline} jsdoc
      + * @param {import('jsdoc-type-pratt-parser').ParseMode} mode
      + * @param {object} opts
      + * @param {boolean} [opts.throwOnTypeParsingErrors=false]
        * @returns {JsdocBlock}
        */
       const commentParserToESTree = (jsdoc, mode, {
      @@ -136,7 +154,8 @@ const commentParserToESTree = (jsdoc, mode, {
           } catch (err) {
             // Ignore
             if (lastTag.rawType && throwOnTypeParsingErrors) {
      -        err.message = `Tag @${lastTag.tag} with raw type ` + `\`${lastTag.rawType}\` had parsing error: ${err.message}`;
      +        /** @type {Error} */err.message = `Tag @${lastTag.tag} with raw type ` + `\`${lastTag.rawType}\` had parsing error: ${
      +        /** @type {Error} */err.message}`;
               throw err;
             }
           }
      @@ -156,12 +175,15 @@ const commentParserToESTree = (jsdoc, mode, {
           }
         } = source[0];
         const endLine = source.length - 1;
      +
      +  /** @type {JsdocBlock} */
         const ast = {
           delimiter: delimiterRoot,
           description: '',
           descriptionLines: [],
           inlineTags: blockInlineTags.map(t => inlineTagToAST(t)),
           initial: startRoot,
      +    tags: [],
           // `terminal` will be overwritten if there are other entries
           terminal: endRoot,
           hasPreterminalDescription: 0,
      @@ -170,8 +192,16 @@ const commentParserToESTree = (jsdoc, mode, {
           lineEnd: lineEndRoot,
           type: 'JsdocBlock'
         };
      +
      +  /**
      +   * @type {JsdocTag[]}
      +   */
         const tags = [];
      +
      +  /** @type {Integer|undefined} */
         let lastDescriptionLine;
      +
      +  /** @type {JsdocTag|null} */
         let lastTag = null;
         let descLineStateOpen = true;
         source.forEach((info, idx) => {
      @@ -257,12 +287,24 @@ const commentParserToESTree = (jsdoc, mode, {
                 i++;
               }
             }
      +
      +      /**
      +       * @type {JsdocInlineTag[]}
      +       */
             let tagInlineTags = [];
             if (tag) {
               // Assuming the tags from `source` are in the same order as `jsdoc.tags`
               // we can use the `tags` length as index into the parser result tags.
      -        tagInlineTags = jsdoc.tags[tags.length].inlineTags.map(t => inlineTagToAST(t));
      +        tagInlineTags =
      +        /**
      +         * @type {import('comment-parser').Spec & {
      +         *   inlineTags: JsdocInlineTagNoType[]
      +         * }}
      +         */
      +        jsdoc.tags[tags.length].inlineTags.map(t => inlineTagToAST(t));
             }
      +
      +      /** @type {JsdocTag} */
             const tagObj = {
               ...tkns,
               initial: endLine ? init : '',
      @@ -270,6 +312,7 @@ const commentParserToESTree = (jsdoc, mode, {
               delimiter: lastDescriptionLine ? de : '',
               descriptionLines: [],
               inlineTags: tagInlineTags,
      +        parsedType: null,
               rawType: '',
               type: 'JsdocTag',
               typeLines: []
      @@ -280,7 +323,8 @@ const commentParserToESTree = (jsdoc, mode, {
           }
           if (rawType) {
             // Will strip rawType brackets after this tag
      -      lastTag.typeLines.push(lastTag.typeLines.length ? {
      +      /** @type {JsdocTag} */
      +      lastTag.typeLines.push( /** @type {JsdocTag} */lastTag.typeLines.length ? {
               delimiter,
               postDelimiter,
               rawType,
      @@ -293,7 +337,8 @@ const commentParserToESTree = (jsdoc, mode, {
               initial: '',
               type: 'JsdocTypeLine'
             });
      -      lastTag.rawType += lastTag.rawType ? '\n' + rawType : rawType;
      +      /** @type {JsdocTag} */
      +      lastTag.rawType += /** @type {JsdocTag} */lastTag.rawType ? '\n' + rawType : rawType;
           }
           if (description) {
             const holder = lastTag || ast;
      @@ -325,7 +370,7 @@ const commentParserToESTree = (jsdoc, mode, {
           if (end && tag) {
             ast.terminal = end;
             ast.hasPreterminalTagDescription = 1;
      -      cleanUpLastTag(lastTag);
      +      cleanUpLastTag( /** @type {JsdocTag} */lastTag);
           }
         });
         ast.lastDescriptionLine = lastDescriptionLine;
      @@ -341,14 +386,11 @@ const jsdocVisitorKeys = {
       };
       
       /**
      - * @callback CommentHandler
      - * @param {string} commentSelector
      - * @param {Node} jsdoc
      - * @returns {boolean}
      + * @typedef {import('./index.js').CommentHandler} CommentHandler
        */
       
       /**
      - * @param {Settings} settings
      + * @param {{[name: string]: any}} settings
        * @returns {CommentHandler}
        */
       const commentHandler = settings => {
      @@ -361,7 +403,9 @@ const commentHandler = settings => {
           } = settings;
           const selector = esquery.parse(commentSelector);
           const ast = commentParserToESTree(jsdoc, mode);
      -    return esquery.matches(ast, selector, null, {
      +    const _ast = /** @type {unknown} */ast;
      +    return esquery.matches( /** @type {import('estree').Node} */
      +    _ast, selector, null, {
             visitorKeys: {
               ...jsdocTypePrattParser.visitorKeys,
               ...jsdocVisitorKeys
      @@ -370,10 +414,14 @@ const commentHandler = settings => {
         };
       };
       
      +/**
      + * @param {string} str
      + * @returns {string}
      + */
       const toCamelCase = str => {
      -  return str.toLowerCase().replace(/^[a-z]/gu, init => {
      +  return str.toLowerCase().replaceAll(/^[a-z]/gu, init => {
           return init.toUpperCase();
      -  }).replace(/_(?[a-z])/gu, (_, n1, o, s, {
      +  }).replaceAll(/_(?[a-z])/gu, (_, n1, o, s, {
           wordInit
         }) => {
           return wordInit.toUpperCase();
      @@ -381,8 +429,15 @@ const toCamelCase = str => {
       };
       
       /**
      - * @param {RegExpMatchArray} match An inline tag regexp match.
      - * @returns {string}
      + * @param {RegExpMatchArray & {
      + *   indices: {
      + *     groups: {
      + *       [key: string]: [number, number]
      + *     }
      + *   }
      + *   groups: {[key: string]: string}
      + * }} match An inline tag regexp match.
      + * @returns {'pipe' | 'plain' | 'prefix' | 'space'}
        */
       function determineFormat(match) {
         const {
      @@ -401,12 +456,17 @@ function determineFormat(match) {
         return 'space';
       }
       
      +/**
      + * @typedef {import('./index.js').InlineTag} InlineTag
      + */
      +
       /**
        * Extracts inline tags from a description.
        * @param {string} description
        * @returns {InlineTag[]} Array of inline tags from the description.
        */
       function parseDescription(description) {
      +  /** @type {InlineTag[]} */
         const result = [];
       
         // This could have been expressed in a single pattern,
      @@ -419,7 +479,19 @@ function parseDescription(description) {
         // eslint-disable-next-line prefer-regex-literals -- Need 'd' (indices) flag
         const suffixedAfterPattern = new RegExp(/(?[^}\s]+)\s?(?[^}\s|]*)\s*(?[\s|])?\s*(?[^}]*)\}/gu, 'gud');
         const matches = [...description.matchAll(prefixedTextPattern), ...description.matchAll(suffixedAfterPattern)];
      -  for (const match of matches) {
      +  for (const mtch of matches) {
      +    const match =
      +    /**
      +    * @type {RegExpMatchArray & {
      +    *   indices: {
      +    *     groups: {
      +    *       [key: string]: [number, number]
      +    *     }
      +    *   }
      +    *   groups: {[key: string]: string}
      +    * }}
      +    */
      +    mtch;
           const {
             tag,
             namepathOrURL,
      @@ -442,14 +514,32 @@ function parseDescription(description) {
       /**
        * Splits the `{@prefix}` from remaining `Spec.lines[].token.description`
        * into the `inlineTags` tokens, and populates `spec.inlineTags`
      - * @param {Block} block
      + * @param {import('comment-parser').Block} block
      + * @returns {import('./index.js').JsdocBlockWithInline}
        */
       function parseInlineTags(block) {
      -  block.inlineTags = parseDescription(block.description);
      +  const inlineTags =
      +  /**
      +   * @type {(import('./commentParserToESTree.js').JsdocInlineTagNoType & {
      +   *   line?: import('./commentParserToESTree.js').Integer
      +   * })[]}
      +   */
      +  parseDescription(block.description);
      +
      +  /** @type {import('./index.js').JsdocBlockWithInline} */
      +  block.inlineTags = inlineTags;
         for (const tag of block.tags) {
      +    /**
      +     * @type {import('./index.js').JsdocTagWithInline}
      +     */
           tag.inlineTags = parseDescription(tag.description);
         }
      -  return block;
      +  return (
      +    /**
      +     * @type {import('./index.js').JsdocBlockWithInline}
      +     */
      +    block
      +  );
       }
       
       /* eslint-disable prefer-named-capture-group -- Temporary */
      @@ -459,6 +549,11 @@ const {
         type: typeTokenizer,
         description: descriptionTokenizer
       } = commentParser.tokenizers;
      +
      +/**
      + * @param {import('comment-parser').Spec} spec
      + * @returns {boolean}
      + */
       const hasSeeWithLink = spec => {
         return spec.tag === 'see' && /\{@link.+?\}/u.test(spec.source[0].source);
       };
      @@ -476,14 +571,22 @@ const getTokenizers = ({
         return [
         // Tag
         tagTokenizer(),
      -  // Type
      +  /**
      +   * Type tokenizer.
      +   * @param {import('comment-parser').Spec} spec
      +   * @returns {import('comment-parser').Spec}
      +   */
         spec => {
           if (noTypes.includes(spec.tag)) {
             return spec;
           }
           return preserveTypeTokenizer(spec);
         },
      -  // Name
      +  /**
      +   * Name tokenizer.
      +   * @param {import('comment-parser').Spec} spec
      +   * @returns {import('comment-parser').Spec}
      +   */
         spec => {
           if (spec.tag === 'template') {
             // const preWS = spec.postTag;
      @@ -495,11 +598,15 @@ const getTokenizers = ({
               description = '',
               lineEnd = '';
             if (pos > -1) {
      -        [, postName, description, lineEnd] = extra.match(/(\s*)([^\r]*)(\r)?/u);
      +        [, postName, description, lineEnd] = /** @type {RegExpMatchArray} */
      +        extra.match(/(\s*)([^\r]*)(\r)?/u);
             }
             if (optionalBrackets.test(name)) {
               var _name$match, _name$match$groups;
      -        name = (_name$match = name.match(optionalBrackets)) === null || _name$match === void 0 ? void 0 : (_name$match$groups = _name$match.groups) === null || _name$match$groups === void 0 ? void 0 : _name$match$groups.name;
      +        name =
      +        /** @type {string} */
      +        /** @type {RegExpMatchArray} */
      +        (_name$match = name.match(optionalBrackets)) === null || _name$match === void 0 ? void 0 : (_name$match$groups = _name$match.groups) === null || _name$match$groups === void 0 ? void 0 : _name$match$groups.name;
               spec.optional = true;
             } else {
               spec.optional = false;
      @@ -519,7 +626,11 @@ const getTokenizers = ({
           }
           return plainNameTokenizer(spec);
         },
      -  // Description
      +  /**
      +   * Description tokenizer.
      +   * @param {import('comment-parser').Spec} spec
      +   * @returns {import('comment-parser').Spec}
      +   */
         spec => {
           return preserveDescriptionTokenizer(spec);
         }];
      @@ -527,9 +638,9 @@ const getTokenizers = ({
       
       /**
        * Accepts a comment token and converts it into `comment-parser` AST.
      - * @param {PlainObject} commentNode
      + * @param {{value: string}} commentNode
        * @param {string} [indent=""] Whitespace
      - * @returns {PlainObject}
      + * @returns {import('./index.js').JsdocBlockWithInline}
        */
       const parseComment = (commentNode, indent = '') => {
         // Preserve JSDoc block start/end indentation.
      @@ -546,6 +657,23 @@ const parseComment = (commentNode, indent = '') => {
        * @license MIT
        */
       
      +/**
      + * @typedef {import('eslint').AST.Token | import('estree').Comment | {
      + *   type: import('eslint').AST.TokenType|"Line"|"Block"|"Shebang",
      + *   range: [number, number],
      + *   value: string
      + * }} Token
      + */
      +
      +/**
      + * @typedef {import('eslint').Rule.Node|
      + *   import('@typescript-eslint/types').TSESTree.Node} ESLintOrTSNode
      + */
      +
      +/**
      + * @typedef {number} int
      + */
      +
       /**
        * Checks if the given token is a comment token or not.
        *
      @@ -557,8 +685,14 @@ const isCommentToken = token => {
       };
       
       /**
      - * @param {AST} node
      - * @returns {boolean}
      + * @param {(import('estree').Comment|import('eslint').Rule.Node) & {
      + *   declaration?: any,
      + *   decorators?: any[],
      + *   parent?: import('eslint').Rule.Node & {
      + *     decorators?: any[]
      + *   }
      + * }} node
      + * @returns {import('@typescript-eslint/types').TSESTree.Decorator|undefined}
        */
       const getDecorator = node => {
         var _node$declaration, _node$declaration$dec, _node$decorators, _node$parent, _node$parent$decorato;
      @@ -568,7 +702,7 @@ const getDecorator = node => {
       /**
        * Check to see if it is a ES6 export declaration.
        *
      - * @param {ASTNode} astNode An AST node.
      + * @param {import('eslint').Rule.Node} astNode An AST node.
        * @returns {boolean} whether the given node represents an export declaration.
        * @private
        */
      @@ -577,22 +711,31 @@ const looksLikeExport = function (astNode) {
       };
       
       /**
      - * @param {AST} astNode
      - * @returns {AST}
      + * @param {import('eslint').Rule.Node} astNode
      + * @returns {import('eslint').Rule.Node}
        */
       const getTSFunctionComment = function (astNode) {
         const {
           parent
         } = astNode;
      +  /* c8 ignore next 3 */
      +  if (!parent) {
      +    return astNode;
      +  }
         const grandparent = parent.parent;
      +  /* c8 ignore next 3 */
      +  if (!grandparent) {
      +    return astNode;
      +  }
         const greatGrandparent = grandparent.parent;
         const greatGreatGrandparent = greatGrandparent && greatGrandparent.parent;
       
         // istanbul ignore if
      -  if (parent.type !== 'TSTypeAnnotation') {
      +  if ( /** @type {ESLintOrTSNode} */parent.type !== 'TSTypeAnnotation') {
           return astNode;
         }
      -  switch (grandparent.type) {
      +  switch ( /** @type {ESLintOrTSNode} */grandparent.type) {
      +    // @ts-expect-error
           case 'PropertyDefinition':
           case 'ClassProperty':
           case 'TSDeclareFunction':
      @@ -600,17 +743,29 @@ const getTSFunctionComment = function (astNode) {
           case 'TSPropertySignature':
             return grandparent;
           case 'ArrowFunctionExpression':
      +      /* c8 ignore next 3 */
      +      if (!greatGrandparent) {
      +        return astNode;
      +      }
             // istanbul ignore else
             if (greatGrandparent.type === 'VariableDeclarator'
       
             // && greatGreatGrandparent.parent.type === 'VariableDeclaration'
             ) {
      +        /* c8 ignore next 3 */
      +        if (!greatGreatGrandparent || !greatGreatGrandparent.parent) {
      +          return astNode;
      +        }
               return greatGreatGrandparent.parent;
             }
       
             // istanbul ignore next
             return astNode;
           case 'FunctionExpression':
      +      /* c8 ignore next 3 */
      +      if (!greatGreatGrandparent) {
      +        return astNode;
      +      }
             // istanbul ignore else
             if (greatGrandparent.type === 'MethodDefinition') {
               return greatGrandparent;
      @@ -625,6 +780,11 @@ const getTSFunctionComment = function (astNode) {
             }
         }
       
      +  /* c8 ignore next 3 */
      +  if (!greatGreatGrandparent) {
      +    return astNode;
      +  }
      +
         // istanbul ignore next
         switch (greatGrandparent.type) {
           case 'ArrowFunctionExpression':
      @@ -656,16 +816,16 @@ const allowableCommentNode = new Set(['AssignmentPattern', 'VariableDeclaration'
        * Reduces the provided node to the appropriate node for evaluating
        * JSDoc comment status.
        *
      - * @param {ASTNode} node An AST node.
      - * @param {SourceCode} sourceCode The ESLint SourceCode.
      - * @returns {ASTNode} The AST node that can be evaluated for appropriate
      - * JSDoc comments.
      + * @param {import('eslint').Rule.Node} node An AST node.
      + * @param {import('eslint').SourceCode} sourceCode The ESLint SourceCode.
      + * @returns {import('eslint').Rule.Node} The AST node that
      + *   can be evaluated for appropriate JSDoc comments.
        */
       const getReducedASTNode = function (node, sourceCode) {
         let {
           parent
         } = node;
      -  switch (node.type) {
      +  switch ( /** @type {ESLintOrTSNode} */node.type) {
           case 'TSFunctionType':
             return getTSFunctionComment(node);
           case 'TSInterfaceDeclaration':
      @@ -673,6 +833,10 @@ const getReducedASTNode = function (node, sourceCode) {
           case 'TSEnumDeclaration':
           case 'ClassDeclaration':
           case 'FunctionDeclaration':
      +      /* c8 ignore next 3 */
      +      if (!parent) {
      +        return node;
      +      }
             return looksLikeExport(parent) ? parent : node;
           case 'TSDeclareFunction':
           case 'ClassExpression':
      @@ -680,10 +844,18 @@ const getReducedASTNode = function (node, sourceCode) {
           case 'ArrowFunctionExpression':
           case 'TSEmptyBodyFunctionExpression':
           case 'FunctionExpression':
      +      /* c8 ignore next 3 */
      +      if (!parent) {
      +        return node;
      +      }
             if (!invokedExpression.has(parent.type)) {
      +        /**
      +         * @type {import('eslint').Rule.Node|Token|null}
      +         */
               let token = node;
               do {
      -          token = sourceCode.getTokenBefore(token, {
      +          token = sourceCode.getTokenBefore( /** @type {import('eslint').Rule.Node|import('eslint').AST.Token} */
      +          token, {
                   includeComments: true
                 });
               } while (token && token.type === 'Punctuator' && token.value === '(');
      @@ -717,9 +889,10 @@ const getReducedASTNode = function (node, sourceCode) {
       /**
        * Checks for the presence of a JSDoc comment for the given node and returns it.
        *
      - * @param {ASTNode} astNode The AST node to get the comment for.
      - * @param {SourceCode} sourceCode
      - * @param {{maxLines: Integer, minLines: Integer}} settings
      + * @param {import('eslint').Rule.Node} astNode The AST node to get
      + *   the comment for.
      + * @param {import('eslint').SourceCode} sourceCode
      + * @param {{maxLines: int, minLines: int, [name: string]: any}} settings
        * @returns {Token|null} The Block comment token containing the JSDoc comment
        *    for the given node or null if not found.
        * @private
      @@ -729,12 +902,15 @@ const findJSDocComment = (astNode, sourceCode, settings) => {
           minLines,
           maxLines
         } = settings;
      +
      +  /** @type {import('eslint').Rule.Node|import('estree').Comment} */
         let currentNode = astNode;
         let tokenBefore = null;
         while (currentNode) {
           const decorator = getDecorator(currentNode);
           if (decorator) {
      -      currentNode = decorator;
      +      const dec = /** @type {unknown} */decorator;
      +      currentNode = /** @type {import('eslint').Rule.Node} */dec;
           }
           tokenBefore = sourceCode.getTokenBefore(currentNode, {
             includeComments: true
      @@ -754,6 +930,11 @@ const findJSDocComment = (astNode, sourceCode, settings) => {
           }
           break;
         }
      +
      +  /* c8 ignore next 3 */
      +  if (!tokenBefore || !currentNode.loc || !tokenBefore.loc) {
      +    return null;
      +  }
         if (tokenBefore.type === 'Block' && /^\*\s/u.test(tokenBefore.value) && currentNode.loc.start.line - tokenBefore.loc.end.line >= minLines && currentNode.loc.start.line - tokenBefore.loc.end.line <= maxLines) {
           return tokenBefore;
         }
      @@ -763,11 +944,14 @@ const findJSDocComment = (astNode, sourceCode, settings) => {
       /**
        * Retrieves the JSDoc comment for a given node.
        *
      - * @param {SourceCode} sourceCode The ESLint SourceCode
      - * @param {ASTNode} node The AST node to get the comment for.
      - * @param {PlainObject} settings The settings in context
      - * @returns {Token|null} The Block comment token containing the JSDoc comment
      - *    for the given node or null if not found.
      + * @param {import('eslint').SourceCode} sourceCode The ESLint SourceCode
      + * @param {import('eslint').Rule.Node} node The AST node to get
      + *   the comment for.
      + * @param {{maxLines: int, minLines: int, [name: string]: any}} settings The
      + *   settings in context
      + * @returns {Token|null} The Block comment
      + *   token containing the JSDoc comment for the given node or
      + *   null if not found.
        * @public
        */
       const getJSDocComment = function (sourceCode, node, settings) {
      @@ -775,7 +959,18 @@ const getJSDocComment = function (sourceCode, node, settings) {
         return findJSDocComment(reducedNode, sourceCode, settings);
       };
       
      +/**
      + * @typedef {import('./index.js').ESTreeToStringOptions} ESTreeToStringOptions
      + */
      +
       const stringifiers = {
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocBlock} node
      +   * @param {ESTreeToStringOptions} opts
      +   * @param {string[]} descriptionLines
      +   * @param {string[]} tags
      +   * @returns {string}
      +   */
         JsdocBlock({
           delimiter,
           postDelimiter,
      @@ -784,7 +979,8 @@ const stringifiers = {
           terminal,
           endLine
         }, opts, descriptionLines, tags) {
      -    const alreadyHasLine = descriptionLines.length && !tags.length && descriptionLines[descriptionLines.length - 1].endsWith('\n') || tags.length && tags[tags.length - 1].endsWith('\n');
      +    var _descriptionLines$at, _tags$at;
      +    const alreadyHasLine = descriptionLines.length && !tags.length && ((_descriptionLines$at = descriptionLines.at(-1)) === null || _descriptionLines$at === void 0 ? void 0 : _descriptionLines$at.endsWith('\n')) || tags.length && ((_tags$at = tags.at(-1)) === null || _tags$at === void 0 ? void 0 : _tags$at.endsWith('\n'));
           return `${initial}${delimiter}${postDelimiter}${endLine ? `
       ` : ''}${
           // Could use `node.description` (and `node.lineEnd`), but lines may have
      @@ -792,6 +988,10 @@ const stringifiers = {
           descriptionLines.length ? descriptionLines.join(lineEnd + '\n') + (tags.length ? lineEnd + '\n' : '') : ''}${tags.length ? tags.join(lineEnd + '\n') : ''}${endLine && !alreadyHasLine ? `${lineEnd}
        ${initial}` : endLine ? ` ${initial}` : ''}${terminal}`;
         },
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocDescriptionLine} node
      +   * @returns {string}
      +   */
         JsdocDescriptionLine({
           initial,
           delimiter,
      @@ -800,15 +1000,39 @@ const stringifiers = {
         }) {
           return `${initial}${delimiter}${postDelimiter}${description}`;
         },
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocTypeLine} node
      +   * @returns {string}
      +   */
         JsdocTypeLine({
           initial,
           delimiter,
           postDelimiter,
      -    rawType,
      -    parsedType
      +    rawType
         }) {
           return `${initial}${delimiter}${postDelimiter}${rawType}`;
         },
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocInlineTag} node
      +   */
      +  JsdocInlineTag({
      +    format,
      +    namepathOrURL,
      +    tag,
      +    text
      +  }) {
      +    return format === 'pipe' ? `{@${tag} ${namepathOrURL}|${text}}` : format === 'plain' ? `{@${tag} ${namepathOrURL}}` : format === 'prefix' ? `[${text}]{@${tag} ${namepathOrURL}}`
      +    // "space"
      +    : `{@${tag} ${namepathOrURL} ${text}}`;
      +  },
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocTag} node
      +   * @param {ESTreeToStringOptions} opts
      +   * @param {string} parsedType
      +   * @param {string[]} typeLines
      +   * @param {string[]} descriptionLines
      +   * @returns {string}
      +   */
         JsdocTag(node, opts, parsedType, typeLines, descriptionLines) {
           const {
             description,
      @@ -839,25 +1063,57 @@ const visitorKeys = {
       /**
        * @todo convert for use by escodegen (until may be patched to support
        *   custom entries?).
      - * @param {Node} node
      - * @param {{preferRawType: boolean}} opts
      + * @param {import('./commentParserToESTree.js').JsdocBlock|
      + *   import('./commentParserToESTree.js').JsdocDescriptionLine|
      + *   import('./commentParserToESTree.js').JsdocTypeLine|
      + *   import('./commentParserToESTree.js').JsdocTag|
      + *   import('./commentParserToESTree.js').JsdocInlineTag|
      + *   import('jsdoc-type-pratt-parser').RootResult
      + * } node
      + * @param {ESTreeToStringOptions} opts
        * @throws {Error}
        * @returns {string}
        */
       function estreeToString(node, opts = {}) {
         if (Object.prototype.hasOwnProperty.call(stringifiers, node.type)) {
           const childNodeOrArray = visitorKeys[node.type];
      -    const args = childNodeOrArray.map(key => {
      -      return Array.isArray(node[key]) ? node[key].map(item => {
      +    const args = /** @type {(string[]|string|null)[]} */
      +    childNodeOrArray.map(key => {
      +      // @ts-expect-error
      +      return Array.isArray(node[key])
      +      // @ts-expect-error
      +      ? node[key].map((
      +      /**
      +       * @type {import('./commentParserToESTree.js').JsdocBlock|
      +       *   import('./commentParserToESTree.js').JsdocDescriptionLine|
      +       *   import('./commentParserToESTree.js').JsdocTypeLine|
      +       *   import('./commentParserToESTree.js').JsdocTag|
      +       *   import('./commentParserToESTree.js').JsdocInlineTag}
      +       */
      +      item) => {
               return estreeToString(item, opts);
      -      }) : node[key] === undefined || node[key] === null ? null : estreeToString(node[key], opts);
      +      })
      +      // @ts-expect-error
      +      : node[key] === undefined || node[key] === null ? null
      +      // @ts-expect-error
      +      : estreeToString(node[key], opts);
           });
      -    return stringifiers[node.type](node, opts, ...args);
      +    return stringifiers[
      +    /**
      +     * @type {import('./commentParserToESTree.js').JsdocBlock|
      +     *   import('./commentParserToESTree.js').JsdocDescriptionLine|
      +     *   import('./commentParserToESTree.js').JsdocTypeLine|
      +     *   import('./commentParserToESTree.js').JsdocTag}
      +     */
      +    node.type](node, opts,
      +    // @ts-expect-error
      +    ...args);
         }
       
         // We use raw type instead but it is a key as other apps may wish to traverse
         if (node.type.startsWith('JsdocType')) {
      -    return opts.preferRawType ? '' : `{${jsdocTypePrattParser.stringify(node)}}`;
      +    return opts.preferRawType ? '' : `{${jsdocTypePrattParser.stringify( /** @type {import('jsdoc-type-pratt-parser').RootResult} */
      +    node)}}`;
         }
         throw new Error(`Unhandled node type: ${node.type}`);
       }
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/package.json b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/package.json
      index ac9bcc8470b31f..0d5b06e8fa071d 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/package.json
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/package.json
      @@ -1,6 +1,6 @@
       {
         "name": "@es-joy/jsdoccomment",
      -  "version": "0.38.0",
      +  "version": "0.39.4",
         "author": "Brett Zamir ",
         "contributors": [],
         "description": "Maintained replacement for ESLint's deprecated SourceCode#getJSDocComment along with other jsdoc utilities",
      @@ -10,8 +10,10 @@
           "sourcecode"
         ],
         "type": "module",
      +  "types": "./dist/index.d.ts",
         "main": "./dist/index.cjs.cjs",
         "exports": {
      +    "types": "./dist/index.d.ts",
           "import": "./src/index.js",
           "require": "./dist/index.cjs.cjs"
         },
      @@ -46,41 +48,51 @@
           "jsdoc-type-pratt-parser": "~4.0.0"
         },
         "devDependencies": {
      -    "@babel/core": "^7.21.4",
      +    "@babel/core": "^7.21.8",
           "@babel/plugin-syntax-class-properties": "^7.12.13",
      -    "@babel/preset-env": "^7.21.4",
      +    "@babel/preset-env": "^7.21.5",
           "@brettz9/eslint-plugin": "^1.0.4",
           "@rollup/plugin-babel": "^6.0.3",
      +    "@types/chai": "^4.3.5",
      +    "@types/eslint": "^8.37.0",
      +    "@types/esquery": "^1.0.2",
      +    "@types/estraverse": "^5.1.2",
      +    "@types/estree": "^1.0.1",
      +    "@types/mocha": "^10.0.1",
      +    "@typescript-eslint/types": "^5.59.5",
           "c8": "^7.13.0",
           "chai": "^4.3.7",
      -    "eslint": "^8.38.0",
      -    "eslint-config-ash-nazg": "34.11.1",
      +    "eslint": "^8.40.0",
      +    "eslint-config-ash-nazg": "34.12.0",
           "eslint-config-standard": "^17.0.0",
           "eslint-plugin-array-func": "^3.1.8",
           "eslint-plugin-compat": "^4.1.4",
           "eslint-plugin-eslint-comments": "^3.2.0",
           "eslint-plugin-html": "^7.1.0",
           "eslint-plugin-import": "^2.27.5",
      -    "eslint-plugin-jsdoc": "^43.0.5",
      +    "eslint-plugin-jsdoc": "^44.2.2",
           "eslint-plugin-markdown": "^3.0.0",
           "eslint-plugin-n": "^15.7.0",
           "eslint-plugin-no-unsanitized": "^4.0.2",
           "eslint-plugin-no-use-extend-native": "^0.5.0",
           "eslint-plugin-promise": "^6.1.1",
           "eslint-plugin-sonarjs": "^0.19.0",
      -    "eslint-plugin-unicorn": "^46.0.0",
      -    "espree": "^9.5.1",
      +    "eslint-plugin-unicorn": "^47.0.0",
      +    "espree": "^9.5.2",
           "estraverse": "^5.3.0",
           "mocha": "^10.2.0",
      -    "rollup": "^3.20.6"
      +    "rollup": "^3.21.6",
      +    "typescript": "^5.0.4"
         },
         "scripts": {
      +    "tsc": "tsc",
           "open": "open ./coverage/lcov-report/index.html",
      +    "build": "npm run rollup && tsc -p tsconfig-prod.json",
           "rollup": "rollup -c",
           "eslint": "eslint --ext=js,cjs,md,html .",
           "lint": "npm run eslint --",
           "mocha": "mocha --require chai/register-expect.js",
           "c8": "c8 npm run mocha",
      -    "test": "npm run lint && npm run rollup && npm run c8"
      +    "test": "npm run lint && npm run build && npm run c8"
         }
       }
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentHandler.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentHandler.js
      index 1d174c99b7c1b7..0a963ac28bbbdf 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentHandler.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentHandler.js
      @@ -9,14 +9,11 @@ import {
       } from './commentParserToESTree.js';
       
       /**
      - * @callback CommentHandler
      - * @param {string} commentSelector
      - * @param {Node} jsdoc
      - * @returns {boolean}
      + * @typedef {import('./index.js').CommentHandler} CommentHandler
        */
       
       /**
      - * @param {Settings} settings
      + * @param {{[name: string]: any}} settings
        * @returns {CommentHandler}
        */
       const commentHandler = (settings) => {
      @@ -30,7 +27,11 @@ const commentHandler = (settings) => {
       
           const ast = commentParserToESTree(jsdoc, mode);
       
      -    return esquery.matches(ast, selector, null, {
      +    const _ast = /** @type {unknown} */ (ast);
      +
      +    return esquery.matches(/** @type {import('estree').Node} */ (
      +      _ast
      +    ), selector, null, {
             visitorKeys: {
               ...jsdocTypePrattParserVisitorKeys,
               ...jsdocVisitorKeys
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentParserToESTree.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentParserToESTree.js
      index 752091e7f9eeab..926b0432a1e2c0 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentParserToESTree.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/commentParserToESTree.js
      @@ -3,34 +3,31 @@ import {parse as jsdocTypePrattParse} from 'jsdoc-type-pratt-parser';
       /**
        * Removes initial and ending brackets from `rawType`
        * @param {JsdocTypeLine[]|JsdocTag} container
      - * @param {boolean} isArr
      + * @param {boolean} [isArr]
        * @returns {void}
        */
       const stripEncapsulatingBrackets = (container, isArr) => {
         if (isArr) {
      -    const firstItem = container[0];
      +    const firstItem = /** @type {JsdocTypeLine[]} */ (container)[0];
           firstItem.rawType = firstItem.rawType.replace(
             /^\{/u, ''
           );
       
      -    const lastItem = container[container.length - 1];
      +    const lastItem = /** @type {JsdocTypeLine} */ (
      +      /** @type {JsdocTypeLine[]} */ (
      +        container
      +      ).at(-1)
      +    );
           lastItem.rawType = lastItem.rawType.replace(/\}$/u, '');
       
           return;
         }
      -  container.rawType = container.rawType.replace(
      -    /^\{/u, ''
      -  ).replace(/\}$/u, '');
      +  /** @type {JsdocTag} */ (container).rawType =
      +    /** @type {JsdocTag} */ (container).rawType.replace(
      +      /^\{/u, ''
      +    ).replace(/\}$/u, '');
       };
       
      -/**
      - * @external CommentParserJsdoc
      - */
      -
      -/**
      - * @external JsdocTypePrattParserMode
      - */
      -
       /**
        * @typedef {{
        *   delimiter: string,
      @@ -57,6 +54,10 @@ const stripEncapsulatingBrackets = (container, isArr) => {
        *   namepathOrURL: string,
        *   tag: string,
        *   text: string,
      + * }} JsdocInlineTagNoType
      + */
      +/**
      + * @typedef {JsdocInlineTagNoType & {
        *   type: "JsdocInlineTag"
        * }} JsdocInlineTag
        */
      @@ -68,24 +69,36 @@ const stripEncapsulatingBrackets = (container, isArr) => {
        *   descriptionLines: JsdocDescriptionLine[],
        *   initial: string,
        *   inlineTags: JsdocInlineTag[]
      + *   name: string,
        *   postDelimiter: string,
      + *   postName: string,
      + *   postTag: string,
      + *   postType: string,
        *   rawType: string,
      + *   parsedType: import('jsdoc-type-pratt-parser').RootResult|null
        *   tag: string,
      - *   terminal: string,
        *   type: "JsdocTag",
      - *   type: string,
        *   typeLines: JsdocTypeLine[],
        * }} JsdocTag
        */
       
      +/**
      + * @typedef {number} Integer
      + */
      +
       /**
        * @typedef {{
        *   delimiter: string,
        *   description: string,
      + *   descriptionEndLine?: Integer,
        *   descriptionLines: JsdocDescriptionLine[],
      + *   descriptionStartLine?: Integer,
      + *   hasPreterminalDescription: 0|1,
      + *   hasPreterminalTagDescription?: 1,
        *   initial: string,
        *   inlineTags: JsdocInlineTag[]
      - *   lastDescriptionLine: Integer,
      + *   lastDescriptionLine?: Integer,
      + *   endLine: Integer,
        *   lineEnd: string,
        *   postDelimiter: string,
        *   tags: JsdocTag[],
      @@ -94,6 +107,14 @@ const stripEncapsulatingBrackets = (container, isArr) => {
        * }} JsdocBlock
        */
       
      +/**
      + * @param {object} cfg
      + * @param {string} cfg.text
      + * @param {string} cfg.tag
      + * @param {'pipe' | 'plain' | 'prefix' | 'space'} cfg.format
      + * @param {string} cfg.namepathOrURL
      + * @returns {JsdocInlineTag}
      + */
       const inlineTagToAST = ({text, tag, format, namepathOrURL}) => ({
         text,
         tag,
      @@ -104,10 +125,10 @@ const inlineTagToAST = ({text, tag, format, namepathOrURL}) => ({
       
       /**
        * Converts comment parser AST to ESTree format.
      - * @param {external:CommentParserJsdoc} jsdoc
      - * @param {external:JsdocTypePrattParserMode} mode
      - * @param {PlainObject} opts
      - * @param {throwOnTypeParsingErrors} [opts.throwOnTypeParsingErrors=false]
      + * @param {import('./index.js').JsdocBlockWithInline} jsdoc
      + * @param {import('jsdoc-type-pratt-parser').ParseMode} mode
      + * @param {object} opts
      + * @param {boolean} [opts.throwOnTypeParsingErrors=false]
        * @returns {JsdocBlock}
        */
       const commentParserToESTree = (jsdoc, mode, {
      @@ -134,8 +155,11 @@ const commentParserToESTree = (jsdoc, mode, {
           } catch (err) {
             // Ignore
             if (lastTag.rawType && throwOnTypeParsingErrors) {
      -        err.message = `Tag @${lastTag.tag} with raw type ` +
      -          `\`${lastTag.rawType}\` had parsing error: ${err.message}`;
      +        /** @type {Error} */ (
      +          err
      +        ).message = `Tag @${lastTag.tag} with raw type ` +
      +          `\`${lastTag.rawType}\` had parsing error: ${
      +            /** @type {Error} */ (err).message}`;
               throw err;
             }
           }
      @@ -154,6 +178,8 @@ const commentParserToESTree = (jsdoc, mode, {
         }} = source[0];
       
         const endLine = source.length - 1;
      +
      +  /** @type {JsdocBlock} */
         const ast = {
           delimiter: delimiterRoot,
           description: '',
      @@ -162,6 +188,7 @@ const commentParserToESTree = (jsdoc, mode, {
           inlineTags: blockInlineTags.map((t) => inlineTagToAST(t)),
       
           initial: startRoot,
      +    tags: [],
           // `terminal` will be overwritten if there are other entries
           terminal: endRoot,
           hasPreterminalDescription: 0,
      @@ -172,9 +199,17 @@ const commentParserToESTree = (jsdoc, mode, {
           type: 'JsdocBlock'
         };
       
      +  /**
      +   * @type {JsdocTag[]}
      +   */
         const tags = [];
      +
      +  /** @type {Integer|undefined} */
         let lastDescriptionLine;
      +
      +  /** @type {JsdocTag|null} */
         let lastTag = null;
      +
         let descLineStateOpen = true;
       
         source.forEach((info, idx) => {
      @@ -262,15 +297,26 @@ const commentParserToESTree = (jsdoc, mode, {
               }
             }
       
      +      /**
      +       * @type {JsdocInlineTag[]}
      +       */
             let tagInlineTags = [];
             if (tag) {
               // Assuming the tags from `source` are in the same order as `jsdoc.tags`
               // we can use the `tags` length as index into the parser result tags.
      -        tagInlineTags = jsdoc.tags[tags.length].inlineTags.map(
      -          (t) => inlineTagToAST(t)
      -        );
      +        tagInlineTags =
      +          /**
      +           * @type {import('comment-parser').Spec & {
      +           *   inlineTags: JsdocInlineTagNoType[]
      +           * }}
      +           */ (
      +            jsdoc.tags[tags.length]
      +          ).inlineTags.map(
      +            (t) => inlineTagToAST(t)
      +          );
             }
       
      +      /** @type {JsdocTag} */
             const tagObj = {
               ...tkns,
               initial: endLine ? init : '',
      @@ -278,6 +324,7 @@ const commentParserToESTree = (jsdoc, mode, {
               delimiter: lastDescriptionLine ? de : '',
               descriptionLines: [],
               inlineTags: tagInlineTags,
      +        parsedType: null,
               rawType: '',
               type: 'JsdocTag',
               typeLines: []
      @@ -291,8 +338,8 @@ const commentParserToESTree = (jsdoc, mode, {
       
           if (rawType) {
             // Will strip rawType brackets after this tag
      -      lastTag.typeLines.push(
      -        lastTag.typeLines.length
      +      /** @type {JsdocTag} */ (lastTag).typeLines.push(
      +        /** @type {JsdocTag} */ (lastTag).typeLines.length
                 ? {
                   delimiter,
                   postDelimiter,
      @@ -308,7 +355,11 @@ const commentParserToESTree = (jsdoc, mode, {
                   type: 'JsdocTypeLine'
                 }
             );
      -      lastTag.rawType += lastTag.rawType ? '\n' + rawType : rawType;
      +      /** @type {JsdocTag} */ (lastTag).rawType += /** @type {JsdocTag} */ (
      +        lastTag
      +      ).rawType
      +        ? '\n' + rawType
      +        : rawType;
           }
       
           if (description) {
      @@ -351,7 +402,7 @@ const commentParserToESTree = (jsdoc, mode, {
             ast.terminal = end;
             ast.hasPreterminalTagDescription = 1;
       
      -      cleanUpLastTag(lastTag);
      +      cleanUpLastTag(/** @type {JsdocTag} */ (lastTag));
           }
         });
       
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/estreeToString.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/estreeToString.js
      index a2fe703e53265f..26442de533ae84 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/estreeToString.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/estreeToString.js
      @@ -5,14 +5,25 @@ import {
       
       import {jsdocVisitorKeys} from './commentParserToESTree.js';
       
      +/**
      + * @typedef {import('./index.js').ESTreeToStringOptions} ESTreeToStringOptions
      + */
      +
       const stringifiers = {
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocBlock} node
      +   * @param {ESTreeToStringOptions} opts
      +   * @param {string[]} descriptionLines
      +   * @param {string[]} tags
      +   * @returns {string}
      +   */
         JsdocBlock ({
           delimiter, postDelimiter, lineEnd, initial, terminal, endLine
         }, opts, descriptionLines, tags) {
           const alreadyHasLine =
               (descriptionLines.length && !tags.length &&
      -          descriptionLines[descriptionLines.length - 1].endsWith('\n')) ||
      -         (tags.length && tags[tags.length - 1].endsWith('\n'));
      +          descriptionLines.at(-1)?.endsWith('\n')) ||
      +         (tags.length && tags.at(-1)?.endsWith('\n'));
           return `${initial}${delimiter}${postDelimiter}${endLine
             ? `
       `
      @@ -31,16 +42,49 @@ const stringifiers = {
        ${initial}`
             : endLine ? ` ${initial}` : ''}${terminal}`;
         },
      +
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocDescriptionLine} node
      +   * @returns {string}
      +   */
         JsdocDescriptionLine ({
           initial, delimiter, postDelimiter, description
         }) {
           return `${initial}${delimiter}${postDelimiter}${description}`;
         },
      +
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocTypeLine} node
      +   * @returns {string}
      +   */
         JsdocTypeLine ({
      -    initial, delimiter, postDelimiter, rawType, parsedType
      +    initial, delimiter, postDelimiter, rawType
         }) {
           return `${initial}${delimiter}${postDelimiter}${rawType}`;
         },
      +
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocInlineTag} node
      +   */
      +  JsdocInlineTag ({format, namepathOrURL, tag, text}) {
      +    return format === 'pipe'
      +      ? `{@${tag} ${namepathOrURL}|${text}}`
      +      : format === 'plain'
      +        ? `{@${tag} ${namepathOrURL}}`
      +        : format === 'prefix'
      +          ? `[${text}]{@${tag} ${namepathOrURL}}`
      +          // "space"
      +          : `{@${tag} ${namepathOrURL} ${text}}`;
      +  },
      +
      +  /**
      +   * @param {import('./commentParserToESTree.js').JsdocTag} node
      +   * @param {ESTreeToStringOptions} opts
      +   * @param {string} parsedType
      +   * @param {string[]} typeLines
      +   * @param {string[]} descriptionLines
      +   * @returns {string}
      +   */
         JsdocTag (node, opts, parsedType, typeLines, descriptionLines) {
           const {
             description,
      @@ -69,8 +113,14 @@ const visitorKeys = {...jsdocVisitorKeys, ...jsdocTypePrattParserVisitorKeys};
       /**
        * @todo convert for use by escodegen (until may be patched to support
        *   custom entries?).
      - * @param {Node} node
      - * @param {{preferRawType: boolean}} opts
      + * @param {import('./commentParserToESTree.js').JsdocBlock|
      + *   import('./commentParserToESTree.js').JsdocDescriptionLine|
      + *   import('./commentParserToESTree.js').JsdocTypeLine|
      + *   import('./commentParserToESTree.js').JsdocTag|
      + *   import('./commentParserToESTree.js').JsdocInlineTag|
      + *   import('jsdoc-type-pratt-parser').RootResult
      + * } node
      + * @param {ESTreeToStringOptions} opts
        * @throws {Error}
        * @returns {string}
        */
      @@ -78,21 +128,57 @@ function estreeToString (node, opts = {}) {
         if (Object.prototype.hasOwnProperty.call(stringifiers, node.type)) {
           const childNodeOrArray = visitorKeys[node.type];
       
      -    const args = childNodeOrArray.map((key) => {
      -      return Array.isArray(node[key])
      -        ? node[key].map((item) => {
      -          return estreeToString(item, opts);
      -        })
      -        : (node[key] === undefined || node[key] === null
      -          ? null
      -          : estreeToString(node[key], opts));
      -    });
      -    return stringifiers[node.type](node, opts, ...args);
      +    const args = /** @type {(string[]|string|null)[]} */ (
      +      childNodeOrArray.map((key) => {
      +        // @ts-expect-error
      +        return Array.isArray(node[key])
      +          // @ts-expect-error
      +          ? node[key].map(
      +            (
      +              /**
      +               * @type {import('./commentParserToESTree.js').JsdocBlock|
      +               *   import('./commentParserToESTree.js').JsdocDescriptionLine|
      +               *   import('./commentParserToESTree.js').JsdocTypeLine|
      +               *   import('./commentParserToESTree.js').JsdocTag|
      +               *   import('./commentParserToESTree.js').JsdocInlineTag}
      +               */
      +              item
      +            ) => {
      +              return estreeToString(item, opts);
      +            }
      +          )
      +          // @ts-expect-error
      +          : (node[key] === undefined || node[key] === null
      +            ? null
      +            // @ts-expect-error
      +            : estreeToString(node[key], opts));
      +      })
      +    );
      +    return stringifiers[
      +      /**
      +       * @type {import('./commentParserToESTree.js').JsdocBlock|
      +       *   import('./commentParserToESTree.js').JsdocDescriptionLine|
      +       *   import('./commentParserToESTree.js').JsdocTypeLine|
      +       *   import('./commentParserToESTree.js').JsdocTag}
      +       */
      +      (node).type
      +    ](
      +      node,
      +      opts,
      +      // @ts-expect-error
      +      ...args
      +    );
         }
       
         // We use raw type instead but it is a key as other apps may wish to traverse
         if (node.type.startsWith('JsdocType')) {
      -    return opts.preferRawType ? '' : `{${stringify(node)}}`;
      +    return opts.preferRawType
      +      ? ''
      +      : `{${stringify(
      +        /** @type {import('jsdoc-type-pratt-parser').RootResult} */ (
      +          node
      +        )
      +      )}}`;
         }
       
         throw new Error(`Unhandled node type: ${node.type}`);
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/index.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/index.js
      index a3a295557e2d38..dd0fcc90757800 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/index.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/index.js
      @@ -1,3 +1,43 @@
      +/**
      + * @typedef {import('./commentParserToESTree.js').JsdocInlineTagNoType & {
      + *   start: number,
      + *   end: number,
      + * }} InlineTag
      + */
      +
      +/**
      + * @typedef {import('comment-parser').Spec & {
      + *   line?: import('./commentParserToESTree.js').Integer,
      + *   inlineTags: (import('./commentParserToESTree.js').JsdocInlineTagNoType & {
      + *     line?: import('./commentParserToESTree.js').Integer
      + *   })[]
      + * }} JsdocTagWithInline
      + */
      +
      +/**
      + * Expands on comment-parser's `Block` interface.
      + * @typedef {{
      + *   description: string,
      + *   source: import('comment-parser').Line[],
      + *   problems: import('comment-parser').Problem[],
      + *   tags: JsdocTagWithInline[],
      + *   inlineTags: (import('./commentParserToESTree.js').JsdocInlineTagNoType & {
      + *     line?: import('./commentParserToESTree.js').Integer
      + *   })[]
      + * }} JsdocBlockWithInline
      + */
      +
      +/**
      + * @typedef {{preferRawType?: boolean}} ESTreeToStringOptions
      + */
      +
      +/**
      + * @callback CommentHandler
      + * @param {string} commentSelector
      + * @param {import('./index.js').JsdocBlockWithInline} jsdoc
      + * @returns {boolean}
      + */
      +
       export {visitorKeys as jsdocTypeVisitorKeys} from 'jsdoc-type-pratt-parser';
       
       export * from 'jsdoc-type-pratt-parser';
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/jsdoccomment.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/jsdoccomment.js
      index 884df9240346fe..476949cf7943f6 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/jsdoccomment.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/jsdoccomment.js
      @@ -4,6 +4,23 @@
        * @license MIT
        */
       
      +/**
      + * @typedef {import('eslint').AST.Token | import('estree').Comment | {
      + *   type: import('eslint').AST.TokenType|"Line"|"Block"|"Shebang",
      + *   range: [number, number],
      + *   value: string
      + * }} Token
      + */
      +
      +/**
      + * @typedef {import('eslint').Rule.Node|
      + *   import('@typescript-eslint/types').TSESTree.Node} ESLintOrTSNode
      + */
      +
      +/**
      + * @typedef {number} int
      + */
      +
       /**
        * Checks if the given token is a comment token or not.
        *
      @@ -16,8 +33,14 @@ const isCommentToken = (token) => {
       };
       
       /**
      - * @param {AST} node
      - * @returns {boolean}
      + * @param {(import('estree').Comment|import('eslint').Rule.Node) & {
      + *   declaration?: any,
      + *   decorators?: any[],
      + *   parent?: import('eslint').Rule.Node & {
      + *     decorators?: any[]
      + *   }
      + * }} node
      + * @returns {import('@typescript-eslint/types').TSESTree.Decorator|undefined}
        */
       const getDecorator = (node) => {
         return node?.declaration?.decorators?.[0] || node?.decorators?.[0] ||
      @@ -27,7 +50,7 @@ const getDecorator = (node) => {
       /**
        * Check to see if it is a ES6 export declaration.
        *
      - * @param {ASTNode} astNode An AST node.
      + * @param {import('eslint').Rule.Node} astNode An AST node.
        * @returns {boolean} whether the given node represents an export declaration.
        * @private
        */
      @@ -39,40 +62,60 @@ const looksLikeExport = function (astNode) {
       };
       
       /**
      - * @param {AST} astNode
      - * @returns {AST}
      + * @param {import('eslint').Rule.Node} astNode
      + * @returns {import('eslint').Rule.Node}
        */
       const getTSFunctionComment = function (astNode) {
         const {parent} = astNode;
      +  /* c8 ignore next 3 */
      +  if (!parent) {
      +    return astNode;
      +  }
         const grandparent = parent.parent;
      +  /* c8 ignore next 3 */
      +  if (!grandparent) {
      +    return astNode;
      +  }
         const greatGrandparent = grandparent.parent;
         const greatGreatGrandparent = greatGrandparent && greatGrandparent.parent;
       
         // istanbul ignore if
      -  if (parent.type !== 'TSTypeAnnotation') {
      +  if (/** @type {ESLintOrTSNode} */ (parent).type !== 'TSTypeAnnotation') {
           return astNode;
         }
       
      -  switch (grandparent.type) {
      -  case 'PropertyDefinition':
      -  case 'ClassProperty':
      +  switch (/** @type {ESLintOrTSNode} */ (grandparent).type) {
      +  // @ts-expect-error
      +  case 'PropertyDefinition': case 'ClassProperty':
         case 'TSDeclareFunction':
         case 'TSMethodSignature':
         case 'TSPropertySignature':
           return grandparent;
         case 'ArrowFunctionExpression':
      +    /* c8 ignore next 3 */
      +    if (!greatGrandparent) {
      +      return astNode;
      +    }
           // istanbul ignore else
           if (
             greatGrandparent.type === 'VariableDeclarator'
       
           // && greatGreatGrandparent.parent.type === 'VariableDeclaration'
           ) {
      +      /* c8 ignore next 3 */
      +      if (!greatGreatGrandparent || !greatGreatGrandparent.parent) {
      +        return astNode;
      +      }
             return greatGreatGrandparent.parent;
           }
       
           // istanbul ignore next
           return astNode;
         case 'FunctionExpression':
      +    /* c8 ignore next 3 */
      +    if (!greatGreatGrandparent) {
      +      return astNode;
      +    }
           // istanbul ignore else
           if (greatGrandparent.type === 'MethodDefinition') {
             return greatGrandparent;
      @@ -87,6 +130,11 @@ const getTSFunctionComment = function (astNode) {
           }
         }
       
      +  /* c8 ignore next 3 */
      +  if (!greatGreatGrandparent) {
      +    return astNode;
      +  }
      +
         // istanbul ignore next
         switch (greatGrandparent.type) {
         case 'ArrowFunctionExpression':
      @@ -135,15 +183,15 @@ const allowableCommentNode = new Set([
        * Reduces the provided node to the appropriate node for evaluating
        * JSDoc comment status.
        *
      - * @param {ASTNode} node An AST node.
      - * @param {SourceCode} sourceCode The ESLint SourceCode.
      - * @returns {ASTNode} The AST node that can be evaluated for appropriate
      - * JSDoc comments.
      + * @param {import('eslint').Rule.Node} node An AST node.
      + * @param {import('eslint').SourceCode} sourceCode The ESLint SourceCode.
      + * @returns {import('eslint').Rule.Node} The AST node that
      + *   can be evaluated for appropriate JSDoc comments.
        */
       const getReducedASTNode = function (node, sourceCode) {
         let {parent} = node;
       
      -  switch (node.type) {
      +  switch (/** @type {ESLintOrTSNode} */ (node).type) {
         case 'TSFunctionType':
           return getTSFunctionComment(node);
         case 'TSInterfaceDeclaration':
      @@ -151,6 +199,10 @@ const getReducedASTNode = function (node, sourceCode) {
         case 'TSEnumDeclaration':
         case 'ClassDeclaration':
         case 'FunctionDeclaration':
      +    /* c8 ignore next 3 */
      +    if (!parent) {
      +      return node;
      +    }
           return looksLikeExport(parent) ? parent : node;
       
         case 'TSDeclareFunction':
      @@ -159,12 +211,24 @@ const getReducedASTNode = function (node, sourceCode) {
         case 'ArrowFunctionExpression':
         case 'TSEmptyBodyFunctionExpression':
         case 'FunctionExpression':
      +    /* c8 ignore next 3 */
      +    if (!parent) {
      +      return node;
      +    }
           if (
             !invokedExpression.has(parent.type)
           ) {
      +      /**
      +       * @type {import('eslint').Rule.Node|Token|null}
      +       */
             let token = node;
             do {
      -        token = sourceCode.getTokenBefore(token, {includeComments: true});
      +        token = sourceCode.getTokenBefore(
      +          /** @type {import('eslint').Rule.Node|import('eslint').AST.Token} */ (
      +            token
      +          ),
      +          {includeComments: true}
      +        );
             } while (token && token.type === 'Punctuator' && token.value === '(');
       
             if (token && token.type === 'Block') {
      @@ -207,22 +271,26 @@ const getReducedASTNode = function (node, sourceCode) {
       /**
        * Checks for the presence of a JSDoc comment for the given node and returns it.
        *
      - * @param {ASTNode} astNode The AST node to get the comment for.
      - * @param {SourceCode} sourceCode
      - * @param {{maxLines: Integer, minLines: Integer}} settings
      + * @param {import('eslint').Rule.Node} astNode The AST node to get
      + *   the comment for.
      + * @param {import('eslint').SourceCode} sourceCode
      + * @param {{maxLines: int, minLines: int, [name: string]: any}} settings
        * @returns {Token|null} The Block comment token containing the JSDoc comment
        *    for the given node or null if not found.
        * @private
        */
       const findJSDocComment = (astNode, sourceCode, settings) => {
         const {minLines, maxLines} = settings;
      +
      +  /** @type {import('eslint').Rule.Node|import('estree').Comment} */
         let currentNode = astNode;
         let tokenBefore = null;
       
         while (currentNode) {
           const decorator = getDecorator(currentNode);
           if (decorator) {
      -      currentNode = decorator;
      +      const dec = /** @type {unknown} */ (decorator);
      +      currentNode = /** @type {import('eslint').Rule.Node} */ (dec);
           }
           tokenBefore = sourceCode.getTokenBefore(
             currentNode, {includeComments: true}
      @@ -246,6 +314,11 @@ const findJSDocComment = (astNode, sourceCode, settings) => {
           break;
         }
       
      +  /* c8 ignore next 3 */
      +  if (!tokenBefore || !currentNode.loc || !tokenBefore.loc) {
      +    return null;
      +  }
      +
         if (
           tokenBefore.type === 'Block' &&
           (/^\*\s/u).test(tokenBefore.value) &&
      @@ -261,11 +334,14 @@ const findJSDocComment = (astNode, sourceCode, settings) => {
       /**
        * Retrieves the JSDoc comment for a given node.
        *
      - * @param {SourceCode} sourceCode The ESLint SourceCode
      - * @param {ASTNode} node The AST node to get the comment for.
      - * @param {PlainObject} settings The settings in context
      - * @returns {Token|null} The Block comment token containing the JSDoc comment
      - *    for the given node or null if not found.
      + * @param {import('eslint').SourceCode} sourceCode The ESLint SourceCode
      + * @param {import('eslint').Rule.Node} node The AST node to get
      + *   the comment for.
      + * @param {{maxLines: int, minLines: int, [name: string]: any}} settings The
      + *   settings in context
      + * @returns {Token|null} The Block comment
      + *   token containing the JSDoc comment for the given node or
      + *   null if not found.
        * @public
        */
       const getJSDocComment = function (sourceCode, node, settings) {
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseComment.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseComment.js
      index 5f8c02d678dfd5..c33403627d27a5 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseComment.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseComment.js
      @@ -13,6 +13,10 @@ const {
         description: descriptionTokenizer
       } = tokenizers;
       
      +/**
      + * @param {import('comment-parser').Spec} spec
      + * @returns {boolean}
      + */
       export const hasSeeWithLink = (spec) => {
         return spec.tag === 'see' && (/\{@link.+?\}/u).test(spec.source[0].source);
       };
      @@ -50,7 +54,11 @@ const getTokenizers = ({
           // Tag
           tagTokenizer(),
       
      -    // Type
      +    /**
      +     * Type tokenizer.
      +     * @param {import('comment-parser').Spec} spec
      +     * @returns {import('comment-parser').Spec}
      +     */
           (spec) => {
             if (noTypes.includes(spec.tag)) {
               return spec;
      @@ -59,7 +67,11 @@ const getTokenizers = ({
             return preserveTypeTokenizer(spec);
           },
       
      -    // Name
      +    /**
      +     * Name tokenizer.
      +     * @param {import('comment-parser').Spec} spec
      +     * @returns {import('comment-parser').Spec}
      +     */
           (spec) => {
             if (spec.tag === 'template') {
               // const preWS = spec.postTag;
      @@ -71,11 +83,17 @@ const getTokenizers = ({
               const extra = remainder.slice(pos);
               let postName = '', description = '', lineEnd = '';
               if (pos > -1) {
      -          [, postName, description, lineEnd] = extra.match(/(\s*)([^\r]*)(\r)?/u);
      +          [, postName, description, lineEnd] = /** @type {RegExpMatchArray} */ (
      +            extra.match(/(\s*)([^\r]*)(\r)?/u)
      +          );
               }
       
               if (optionalBrackets.test(name)) {
      -          name = name.match(optionalBrackets)?.groups?.name;
      +          name = /** @type {string} */ (
      +            /** @type {RegExpMatchArray} */ (
      +              name.match(optionalBrackets)
      +            )?.groups?.name
      +          );
                 spec.optional = true;
               } else {
                 spec.optional = false;
      @@ -98,7 +116,11 @@ const getTokenizers = ({
             return plainNameTokenizer(spec);
           },
       
      -    // Description
      +    /**
      +     * Description tokenizer.
      +     * @param {import('comment-parser').Spec} spec
      +     * @returns {import('comment-parser').Spec}
      +     */
           (spec) => {
             return preserveDescriptionTokenizer(spec);
           }
      @@ -107,9 +129,9 @@ const getTokenizers = ({
       
       /**
        * Accepts a comment token and converts it into `comment-parser` AST.
      - * @param {PlainObject} commentNode
      + * @param {{value: string}} commentNode
        * @param {string} [indent=""] Whitespace
      - * @returns {PlainObject}
      + * @returns {import('./index.js').JsdocBlockWithInline}
        */
       const parseComment = (commentNode, indent = '') => {
         // Preserve JSDoc block start/end indentation.
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseInlineTags.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseInlineTags.js
      index b493b13a07b0cb..795dca2b53b6b6 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseInlineTags.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/parseInlineTags.js
      @@ -1,7 +1,14 @@
       
       /**
      - * @param {RegExpMatchArray} match An inline tag regexp match.
      - * @returns {string}
      + * @param {RegExpMatchArray & {
      + *   indices: {
      + *     groups: {
      + *       [key: string]: [number, number]
      + *     }
      + *   }
      + *   groups: {[key: string]: string}
      + * }} match An inline tag regexp match.
      + * @returns {'pipe' | 'plain' | 'prefix' | 'space'}
        */
       function determineFormat (match) {
         const {separator, text} = match.groups;
      @@ -17,12 +24,17 @@ function determineFormat (match) {
         return 'space';
       }
       
      +/**
      + * @typedef {import('./index.js').InlineTag} InlineTag
      + */
      +
       /**
        * Extracts inline tags from a description.
        * @param {string} description
        * @returns {InlineTag[]} Array of inline tags from the description.
        */
       function parseDescription (description) {
      +  /** @type {InlineTag[]} */
         const result = [];
       
         // This could have been expressed in a single pattern,
      @@ -40,7 +52,19 @@ function parseDescription (description) {
           ...description.matchAll(suffixedAfterPattern)
         ];
       
      -  for (const match of matches) {
      +  for (const mtch of matches) {
      +    const match = /**
      +      * @type {RegExpMatchArray & {
      +      *   indices: {
      +      *     groups: {
      +      *       [key: string]: [number, number]
      +      *     }
      +      *   }
      +      *   groups: {[key: string]: string}
      +      * }}
      +      */ (
      +        mtch
      +      );
           const {tag, namepathOrURL, text} = match.groups;
           const [start, end] = match.indices[0];
           const format = determineFormat(match);
      @@ -61,12 +85,31 @@ function parseDescription (description) {
       /**
        * Splits the `{@prefix}` from remaining `Spec.lines[].token.description`
        * into the `inlineTags` tokens, and populates `spec.inlineTags`
      - * @param {Block} block
      + * @param {import('comment-parser').Block} block
      + * @returns {import('./index.js').JsdocBlockWithInline}
        */
       export default function parseInlineTags (block) {
      -  block.inlineTags = parseDescription(block.description);
      +  const inlineTags =
      +    /**
      +     * @type {(import('./commentParserToESTree.js').JsdocInlineTagNoType & {
      +     *   line?: import('./commentParserToESTree.js').Integer
      +     * })[]}
      +     */ (
      +      parseDescription(block.description)
      +    );
      +
      +  /** @type {import('./index.js').JsdocBlockWithInline} */ (
      +    block
      +  ).inlineTags = inlineTags;
      +
         for (const tag of block.tags) {
      -    tag.inlineTags = parseDescription(tag.description);
      +    /**
      +     * @type {import('./index.js').JsdocTagWithInline}
      +     */ (tag).inlineTags = parseDescription(tag.description);
         }
      -  return block;
      +  return (
      +    /**
      +     * @type {import('./index.js').JsdocBlockWithInline}
      +     */ (block)
      +  );
       }
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/toCamelCase.js b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/toCamelCase.js
      index 7790620c3f145d..067f48750e70f0 100644
      --- a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/toCamelCase.js
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/src/toCamelCase.js
      @@ -1,7 +1,11 @@
      +/**
      + * @param {string} str
      + * @returns {string}
      + */
       const toCamelCase = (str) => {
      -  return str.toLowerCase().replace(/^[a-z]/gu, (init) => {
      +  return str.toLowerCase().replaceAll(/^[a-z]/gu, (init) => {
           return init.toUpperCase();
      -  }).replace(/_(?[a-z])/gu, (_, n1, o, s, {wordInit}) => {
      +  }).replaceAll(/_(?[a-z])/gu, (_, n1, o, s, {wordInit}) => {
           return wordInit.toUpperCase();
         });
       };
      diff --git a/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/tsconfig-prod.json b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/tsconfig-prod.json
      new file mode 100644
      index 00000000000000..277c848b1282cf
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/@es-joy/jsdoccomment/tsconfig-prod.json
      @@ -0,0 +1,19 @@
      +{
      +  "compilerOptions": {
      +    "lib": ["es2022"],
      +    "moduleResolution": "node",
      +    "module": "NodeNext",
      +    "allowJs": true,
      +    "checkJs": true,
      +    "noEmit": false,
      +    "emitDeclarationOnly": true,
      +    "declaration": true,
      +    "declarationMap": true,
      +    "strict": true,
      +    "target": "es6",
      +    "outDir": "dist",
      +    "allowSyntheticDefaultImports": true
      +  },
      +  "include": ["src/**/*.js"],
      +  "exclude": ["node_modules"]
      +}
      diff --git a/tools/node_modules/eslint/node_modules/@eslint/js/package.json b/tools/node_modules/eslint/node_modules/@eslint/js/package.json
      index e4a796ff45e8a0..5d65d79b78c893 100644
      --- a/tools/node_modules/eslint/node_modules/@eslint/js/package.json
      +++ b/tools/node_modules/eslint/node_modules/@eslint/js/package.json
      @@ -1,6 +1,6 @@
       {
         "name": "@eslint/js",
      -  "version": "8.40.0",
      +  "version": "8.41.0",
         "description": "ESLint JavaScript language implementation",
         "main": "./src/index.js",
         "scripts": {},
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/agents.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/agents.js
      index de9aab2d7212bf..eac7f368accc12 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/agents.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/agents.js
      @@ -1 +1 @@
      -module.exports={A:{A:{J:0.0131217,D:0.00621152,E:0.0439988,F:0.0527986,A:0.00879976,B:0.36959,FC:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","FC","J","D","E","F","A","B","","",""],E:"IE",F:{FC:962323200,J:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.004081,K:0.004267,L:0.004268,G:0.004081,M:0.003702,N:0.004441,O:0.013323,P:0,Q:0.004298,R:0.00944,S:0.004043,T:0.004441,U:0.003861,V:0.003861,W:0.004441,X:0.003943,Y:0.004441,Z:0.003943,a:0.003943,b:0.008882,c:0.004118,d:0.003939,e:0.003943,f:0.003943,g:0.003943,h:0.003929,l:0.003901,m:0.011829,n:0.004441,o:0.004441,p:0.008162,q:0.004081,r:0.004441,s:0.008882,t:0.017764,u:0.031087,v:0.093261,i:0.075497,w:1.38559,H:3.15755,x:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","G","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","l","m","n","o","p","q","r","s","t","u","v","i","w","H","x","","",""],E:"Edge",F:{C:1438128000,K:1447286400,L:1470096000,G:1491868800,M:1508198400,N:1525046400,O:1542067200,P:1579046400,Q:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,l:1646265600,m:1649635200,n:1651190400,o:1653955200,p:1655942400,q:1659657600,r:1661990400,s:1664755200,t:1666915200,u:1670198400,v:1673481600,i:1675900800,w:1678665600,H:1680825600,x:1683158400},D:{C:"ms",K:"ms",L:"ms",G:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.008322,"1":0.013698,"2":0.004161,"3":0.008786,"4":0.004118,"5":0.004317,"6":0.004393,"7":0.004418,"8":0.008834,"9":0.008322,GC:0.004118,wB:0.004271,I:0.011703,y:0.004879,J:0.020136,D:0.005725,E:0.004525,F:0.00533,A:0.004283,B:0.008882,C:0.004471,K:0.004486,L:0.00453,G:0.008322,M:0.004417,N:0.004425,O:0.004161,z:0.004443,j:0.004283,AB:0.008928,BB:0.004471,CB:0.009284,DB:0.004707,EB:0.009076,FB:0.004081,GB:0.004783,HB:0.003929,IB:0.004783,JB:0.00487,KB:0.005029,LB:0.0047,MB:0.022205,NB:0.004441,OB:0.003867,PB:0.004525,QB:0.004293,RB:0.004081,SB:0.004538,TB:0.008282,UB:0.011601,VB:0.039969,WB:0.011601,XB:0.004441,YB:0.004441,ZB:0.004441,aB:0.011601,bB:0.003939,xB:0.004441,cB:0.003929,yB:0.004356,dB:0.004425,eB:0.008322,fB:0.00415,gB:0.004267,hB:0.003801,iB:0.004267,jB:0.004081,kB:0.00415,lB:0.004293,mB:0.004425,nB:0.013323,k:0.00415,oB:0.00415,pB:0.004318,qB:0.004356,rB:0.003974,sB:0.031087,P:0.004081,Q:0.004081,R:0.004081,zB:0.003861,S:0.004441,T:0.003929,U:0.004268,V:0.003801,W:0.008882,X:0.004441,Y:0.003943,Z:0.003943,a:0.008882,b:0.003801,c:0.007722,d:0.017764,e:0.003773,f:0.007886,g:0.003901,h:0.003901,l:0.004081,m:0.003861,n:0.004081,o:0.097702,p:0.017764,q:0.004441,r:0.008882,s:0.008882,t:0.008882,u:0.013323,v:0.022205,i:0.048851,w:1.00367,H:0.905964,x:0.008882,"0B":0,HC:0.008786,IC:0.00487},B:"moz",C:["GC","wB","HC","IC","I","y","J","D","E","F","A","B","C","K","L","G","M","N","O","z","j","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","xB","cB","yB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","k","oB","pB","qB","rB","sB","P","Q","R","zB","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","l","m","n","o","p","q","r","s","t","u","v","i","w","H","x","0B",""],E:"Firefox",F:{"0":1364860800,"1":1368489600,"2":1372118400,"3":1375747200,"4":1379376000,"5":1386633600,"6":1391472000,"7":1395100800,"8":1398729600,"9":1402358400,GC:1161648000,wB:1213660800,HC:1246320000,IC:1264032000,I:1300752000,y:1308614400,J:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,G:1342483200,M:1346112000,N:1349740800,O:1353628800,z:1357603200,j:1361232000,AB:1405987200,BB:1409616000,CB:1413244800,DB:1417392000,EB:1421107200,FB:1424736000,GB:1428278400,HB:1431475200,IB:1435881600,JB:1439251200,KB:1442880000,LB:1446508800,MB:1450137600,NB:1453852800,OB:1457395200,PB:1461628800,QB:1465257600,RB:1470096000,SB:1474329600,TB:1479168000,UB:1485216000,VB:1488844800,WB:1492560000,XB:1497312000,YB:1502150400,ZB:1506556800,aB:1510617600,bB:1516665600,xB:1520985600,cB:1525824000,yB:1529971200,dB:1536105600,eB:1540252800,fB:1544486400,gB:1548720000,hB:1552953600,iB:1558396800,jB:1562630400,kB:1567468800,lB:1571788800,mB:1575331200,nB:1578355200,k:1581379200,oB:1583798400,pB:1586304000,qB:1588636800,rB:1591056000,sB:1593475200,P:1595894400,Q:1598313600,R:1600732800,zB:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,l:1649116800,m:1651536000,n:1653955200,o:1656374400,p:1658793600,q:1661212800,r:1663632000,s:1666051200,t:1668470400,u:1670889600,v:1673913600,i:1676332800,w:1678752000,H:1681171200,x:null,"0B":null}},D:{A:{"0":0.004317,"1":0.003901,"2":0.008786,"3":0.003939,"4":0.004461,"5":0.004141,"6":0.004326,"7":0.0047,"8":0.004538,"9":0.008322,I:0.004706,y:0.004879,J:0.004879,D:0.005591,E:0.005591,F:0.005591,A:0.004534,B:0.004464,C:0.010424,K:0.0083,L:0.004706,G:0.015087,M:0.004393,N:0.004393,O:0.008652,z:0.008322,j:0.004393,AB:0.008596,BB:0.004566,CB:0.004118,DB:0.008882,EB:0.004441,FB:0.004335,GB:0.004464,HB:0.017764,IB:0.003867,JB:0.013323,KB:0.004441,LB:0.003974,MB:0.008882,NB:0.008882,OB:0.013323,PB:0.003867,QB:0.008882,RB:0.017764,SB:0.035528,TB:0.004441,UB:0.004081,VB:0.004441,WB:0.008882,XB:0.003867,YB:0.004441,ZB:0.066615,aB:0.004081,bB:0.004441,xB:0.003773,cB:0.013323,yB:0.008882,dB:0.003773,eB:0.004441,fB:0.003943,gB:0.008882,hB:0.031087,iB:0.008882,jB:0.013323,kB:0.039969,lB:0.022205,mB:0.017764,nB:0.026646,k:0.008882,oB:0.031087,pB:0.04441,qB:0.04441,rB:0.017764,sB:0.026646,P:0.22205,Q:0.039969,R:0.04441,S:0.137671,T:0.035528,U:0.071056,V:0.057733,W:0.093261,X:0.026646,Y:0.035528,Z:0.04441,a:0.084379,b:0.048851,c:0.137671,d:0.066615,e:0.017764,f:0.035528,g:0.048851,h:0.039969,l:0.057733,m:0.048851,n:0.039969,o:0.057733,p:0.270901,q:0.057733,r:0.08882,s:0.071056,t:0.093261,u:0.248696,v:2.10947,i:0.475187,w:8.75321,H:9.67694,x:0.022205,"0B":0.013323,JC:0,KC:0},B:"webkit",C:["","","","","I","y","J","D","E","F","A","B","C","K","L","G","M","N","O","z","j","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","xB","cB","yB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","k","oB","pB","qB","rB","sB","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","l","m","n","o","p","q","r","s","t","u","v","i","w","H","x","0B","JC","KC"],E:"Chrome",F:{"0":1340668800,"1":1343692800,"2":1348531200,"3":1352246400,"4":1357862400,"5":1361404800,"6":1364428800,"7":1369094400,"8":1374105600,"9":1376956800,I:1264377600,y:1274745600,J:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,G:1316131200,M:1319500800,N:1323734400,O:1328659200,z:1332892800,j:1337040000,AB:1384214400,BB:1389657600,CB:1392940800,DB:1397001600,EB:1400544000,FB:1405468800,GB:1409011200,HB:1412640000,IB:1416268800,JB:1421798400,KB:1425513600,LB:1429401600,MB:1432080000,NB:1437523200,OB:1441152000,PB:1444780800,QB:1449014400,RB:1453248000,SB:1456963200,TB:1460592000,UB:1464134400,VB:1469059200,WB:1472601600,XB:1476230400,YB:1480550400,ZB:1485302400,aB:1489017600,bB:1492560000,xB:1496707200,cB:1500940800,yB:1504569600,dB:1508198400,eB:1512518400,fB:1516752000,gB:1520294400,hB:1523923200,iB:1527552000,jB:1532390400,kB:1536019200,lB:1539648000,mB:1543968000,nB:1548720000,k:1552348800,oB:1555977600,pB:1559606400,qB:1564444800,rB:1568073600,sB:1571702400,P:1575936000,Q:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,l:1646092800,m:1648512000,n:1650931200,o:1653350400,p:1655769600,q:1659398400,r:1661817600,s:1664236800,t:1666656000,u:1669680000,v:1673308800,i:1675728000,w:1678147200,H:1680566400,x:1682985600,"0B":null,JC:null,KC:null}},E:{A:{I:0,y:0.008322,J:0.004656,D:0.004465,E:0.003974,F:0.003929,A:0.004425,B:0.004318,C:0.003801,K:0.022205,L:0.119907,G:0.026646,LC:0,"1B":0.008692,MC:0.008882,NC:0.00456,OC:0.004283,PC:0.048851,"2B":0.007802,tB:0.008882,uB:0.039969,"3B":0.186522,QC:0.328634,RC:0.048851,"4B":0.04441,"5B":0.111025,"6B":0.195404,"7B":0.830467,vB:0.08882,"8B":0.279783,"9B":0.408572,AC:1.63429,BC:0.688355,CC:0.013323,SC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","1B","I","y","MC","J","NC","D","OC","E","F","PC","A","2B","B","tB","C","uB","K","3B","L","QC","G","RC","4B","5B","6B","7B","vB","8B","9B","AC","BC","CC","SC",""],E:"Safari",F:{LC:1205798400,"1B":1226534400,I:1244419200,y:1275868800,MC:1311120000,J:1343174400,NC:1382400000,D:1382400000,OC:1410998400,E:1413417600,F:1443657600,PC:1458518400,A:1474329600,"2B":1490572800,B:1505779200,tB:1522281600,C:1537142400,uB:1553472000,K:1568851200,"3B":1585008000,L:1600214400,QC:1619395200,G:1632096000,RC:1635292800,"4B":1639353600,"5B":1647216000,"6B":1652745600,"7B":1658275200,vB:1662940800,"8B":1666569600,"9B":1670889600,AC:1674432000,BC:1679875200,CC:null,SC:null}},F:{A:{"0":0.006597,"1":0.006597,"2":0.013434,"3":0.006702,"4":0.006015,"5":0.005595,"6":0.004393,"7":0.008882,"8":0.004879,"9":0.004879,F:0.0082,B:0.016581,C:0.004317,G:0.00685,M:0.00685,N:0.00685,O:0.005014,z:0.006015,j:0.004879,AB:0.004441,BB:0.005152,CB:0.005014,DB:0.009758,EB:0.004879,FB:0.004441,GB:0.004283,HB:0.004367,IB:0.004534,JB:0.004441,KB:0.004227,LB:0.004418,MB:0.004161,NB:0.004227,OB:0.004725,PB:0.013323,QB:0.008942,RB:0.004707,SB:0.004827,TB:0.004707,UB:0.004707,VB:0.004326,WB:0.008922,XB:0.014349,YB:0.004425,ZB:0.00472,aB:0.004425,bB:0.004425,cB:0.00472,dB:0.004532,eB:0.004566,fB:0.02283,gB:0.00867,hB:0.004656,iB:0.004642,jB:0.003929,kB:0.00944,lB:0.004293,mB:0.003929,nB:0.004298,k:0.096692,oB:0.008162,pB:0.004141,qB:0.004257,rB:0.003939,sB:0.008236,P:0.003855,Q:0.003939,R:0.008514,zB:0.003939,S:0.003939,T:0.003702,U:0.004441,V:0.003855,W:0.003855,X:0.003929,Y:0.003861,Z:0.011703,a:0.007546,b:0.011829,c:0.069498,d:0.004441,e:0.066615,f:0.315311,g:0.817144,h:0.031087,TC:0.00685,UC:0,VC:0.008392,WC:0.004706,tB:0.006229,DC:0.004879,XC:0.008786,uB:0.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","F","TC","UC","VC","WC","B","tB","DC","XC","C","uB","G","M","N","O","z","j","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","k","oB","pB","qB","rB","sB","P","Q","R","zB","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","","",""],E:"Opera",F:{"0":1399334400,"1":1401753600,"2":1405987200,"3":1409616000,"4":1413331200,"5":1417132800,"6":1422316800,"7":1425945600,"8":1430179200,"9":1433808000,F:1150761600,TC:1223424000,UC:1251763200,VC:1267488000,WC:1277942400,B:1292457600,tB:1302566400,DC:1309219200,XC:1323129600,C:1323129600,uB:1352073600,G:1372723200,M:1377561600,N:1381104000,O:1386288000,z:1390867200,j:1393891200,AB:1438646400,BB:1442448000,CB:1445904000,DB:1449100800,EB:1454371200,FB:1457308800,GB:1462320000,HB:1465344000,IB:1470096000,JB:1474329600,KB:1477267200,LB:1481587200,MB:1486425600,NB:1490054400,OB:1494374400,PB:1498003200,QB:1502236800,RB:1506470400,SB:1510099200,TB:1515024000,UB:1517961600,VB:1521676800,WB:1525910400,XB:1530144000,YB:1534982400,ZB:1537833600,aB:1543363200,bB:1548201600,cB:1554768000,dB:1561593600,eB:1566259200,fB:1570406400,gB:1573689600,hB:1578441600,iB:1583971200,jB:1587513600,kB:1592956800,lB:1595894400,mB:1600128000,nB:1603238400,k:1613520000,oB:1612224000,pB:1616544000,qB:1619568000,rB:1623715200,sB:1627948800,P:1631577600,Q:1633392000,R:1635984000,zB:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800},D:{F:"o",B:"o",C:"o",TC:"o",UC:"o",VC:"o",WC:"o",tB:"o",DC:"o",XC:"o",uB:"o"}},G:{A:{E:0.00318601,"1B":0,YC:0,EC:0.00318601,ZC:0.00477902,aC:0.00637202,bC:0.0175231,cC:0.0254881,dC:0.012744,eC:0.0541622,fC:0.00318601,gC:0.0684992,hC:0.0207091,iC:0.0223021,jC:0.0191161,kC:0.358426,lC:0.011151,mC:0.0207091,nC:0.0302671,oC:0.0908013,pC:0.237358,qC:0.430112,rC:0.136998,"4B":0.167266,"5B":0.191161,"6B":0.30745,"7B":0.831549,vB:0.933501,"8B":1.93709,"9B":1.14696,AC:5.44011,BC:2.42455,CC:0.0525692},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1B","YC","EC","ZC","aC","bC","E","cC","dC","eC","fC","gC","hC","iC","jC","kC","lC","mC","nC","oC","pC","qC","rC","4B","5B","6B","7B","vB","8B","9B","AC","BC","CC","",""],E:"Safari on iOS",F:{"1B":1270252800,YC:1283904000,EC:1299628800,ZC:1331078400,aC:1359331200,bC:1394409600,E:1410912000,cC:1413763200,dC:1442361600,eC:1458518400,fC:1473724800,gC:1490572800,hC:1505779200,iC:1522281600,jC:1537142400,kC:1553472000,lC:1568851200,mC:1572220800,nC:1580169600,oC:1585008000,pC:1600214400,qC:1619395200,rC:1632096000,"4B":1639353600,"5B":1647216000,"6B":1652659200,"7B":1658275200,vB:1662940800,"8B":1666569600,"9B":1670889600,AC:1674432000,BC:1679875200,CC:null}},H:{A:{sC:0.994689},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","sC","","",""],E:"Opera Mini",F:{sC:1426464000}},I:{A:{wB:0,I:0.0285433,H:0,tC:0,uC:0.00951444,vC:0,wC:0.0190289,EC:0.0951444,xC:0,yC:0.34252},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","tC","uC","vC","wB","I","wC","EC","xC","yC","H","","",""],E:"Android Browser",F:{tC:1256515200,uC:1274313600,vC:1291593600,wB:1298332800,I:1318896000,wC:1341792000,EC:1374624000,xC:1386547200,yC:1401667200,H:1680652800}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,k:0.0111391,tB:0,DC:0,uB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","tB","DC","C","uB","k","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,tB:1314835200,DC:1318291200,C:1330300800,uB:1349740800,k:1673827200},D:{k:"webkit"}},L:{A:{H:39.6882},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","H","","",""],E:"Chrome for Android",F:{H:1680652800}},M:{A:{i:0.289068},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","i","","",""],E:"Firefox for Android",F:{i:1676332800}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{zC:0.950589},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","zC","","",""],E:"UC Browser for Android",F:{zC:1634688000},D:{zC:"webkit"}},P:{A:{I:0.191027,j:2.06946,"0C":0.0103543,"1C":0.010304,"2C":0.0530632,"3C":0.0103584,"4C":0.0104443,"2B":0.0105043,"5C":0.0212253,"6C":0.0103982,"7C":0.0212253,"8C":0.0106126,"9C":0.0106126,vB:0.0530632,AD:0.0530632,BD:0.0530632,CD:0.148577},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","0C","1C","2C","3C","4C","2B","5C","6C","7C","8C","9C","vB","AD","BD","CD","j","","",""],E:"Samsung Internet",F:{I:1461024000,"0C":1481846400,"1C":1509408000,"2C":1528329600,"3C":1546128000,"4C":1554163200,"2B":1567900800,"5C":1582588800,"6C":1593475200,"7C":1605657600,"8C":1618531200,"9C":1629072000,vB:1640736000,AD:1651708800,BD:1659657600,CD:1667260800,j:1677369600}},Q:{A:{"3B":0.127857},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","3B","","",""],E:"QQ Browser",F:{"3B":1663718400}},R:{A:{DD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","DD","","",""],E:"Baidu Browser",F:{DD:1663027200}},S:{A:{ED:0.066708,FD:0},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ED","FD","","",""],E:"KaiOS Browser",F:{ED:1527811200,FD:1631664000}}};
      +module.exports={A:{A:{J:0.0131217,E:0.00621152,F:0.0439988,G:0.0527986,A:0.00879976,B:0.36959,GC:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","GC","J","E","F","G","A","B","","",""],E:"IE",F:{GC:962323200,J:998870400,E:1161129600,F:1237420800,G:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.004081,K:0.004267,L:0.004268,H:0.004081,M:0.003702,N:0.004441,O:0.013323,P:0,Q:0.004298,R:0.00944,S:0.004043,T:0.004441,U:0.003861,V:0.003861,W:0.004441,X:0.003943,Y:0.004441,Z:0.003943,a:0.003943,b:0.008882,c:0.004118,d:0.003939,e:0.003943,f:0.003943,g:0.003943,h:0.003929,k:0.003901,l:0.011829,m:0.004441,n:0.004441,o:0.008162,p:0.004081,q:0.004441,r:0.008882,s:0.017764,t:0.031087,u:0.093261,v:0.075497,w:1.38559,x:3.15755,D:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","H","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","v","w","x","D","","",""],E:"Edge",F:{C:1438128000,K:1447286400,L:1470096000,H:1491868800,M:1508198400,N:1525046400,O:1542067200,P:1579046400,Q:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,k:1646265600,l:1649635200,m:1651190400,n:1653955200,o:1655942400,p:1659657600,q:1661990400,r:1664755200,s:1666915200,t:1670198400,u:1673481600,v:1675900800,w:1678665600,x:1680825600,D:1683158400},D:{C:"ms",K:"ms",L:"ms",H:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.008322,"1":0.013698,"2":0.004161,"3":0.008786,"4":0.004118,"5":0.004317,"6":0.004393,"7":0.004418,"8":0.008834,"9":0.008322,HC:0.004118,wB:0.004271,I:0.011703,y:0.004879,J:0.020136,E:0.005725,F:0.004525,G:0.00533,A:0.004283,B:0.008882,C:0.004471,K:0.004486,L:0.00453,H:0.008322,M:0.004417,N:0.004425,O:0.004161,z:0.004443,i:0.004283,AB:0.008928,BB:0.004471,CB:0.009284,DB:0.004707,EB:0.009076,FB:0.004081,GB:0.004783,HB:0.003929,IB:0.004783,JB:0.00487,KB:0.005029,LB:0.0047,MB:0.022205,NB:0.004441,OB:0.003867,PB:0.004525,QB:0.004293,RB:0.004081,SB:0.004538,TB:0.008282,UB:0.011601,VB:0.039969,WB:0.011601,XB:0.004441,YB:0.004441,ZB:0.004441,aB:0.011601,bB:0.003939,xB:0.004441,cB:0.003929,yB:0.004356,dB:0.004425,eB:0.008322,fB:0.00415,gB:0.004267,hB:0.003801,iB:0.004267,jB:0.004081,kB:0.00415,lB:0.004293,mB:0.004425,nB:0.013323,j:0.00415,oB:0.00415,pB:0.004318,qB:0.004356,rB:0.003974,sB:0.031087,P:0.004081,Q:0.004081,R:0.004081,zB:0.003861,S:0.004441,T:0.003929,U:0.004268,V:0.003801,W:0.008882,X:0.004441,Y:0.003943,Z:0.003943,a:0.008882,b:0.003801,c:0.007722,d:0.017764,e:0.003773,f:0.007886,g:0.003901,h:0.003901,k:0.004081,l:0.003861,m:0.004081,n:0.097702,o:0.017764,p:0.004441,q:0.008882,r:0.008882,s:0.008882,t:0.013323,u:0.022205,v:0.048851,w:1.00367,x:0.905964,D:0.008882,"0B":0,"1B":0,IC:0.008786,JC:0.00487},B:"moz",C:["HC","wB","IC","JC","I","y","J","E","F","G","A","B","C","K","L","H","M","N","O","z","i","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","xB","cB","yB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","j","oB","pB","qB","rB","sB","P","Q","R","zB","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","v","w","x","D","0B","1B",""],E:"Firefox",F:{"0":1364860800,"1":1368489600,"2":1372118400,"3":1375747200,"4":1379376000,"5":1386633600,"6":1391472000,"7":1395100800,"8":1398729600,"9":1402358400,HC:1161648000,wB:1213660800,IC:1246320000,JC:1264032000,I:1300752000,y:1308614400,J:1313452800,E:1317081600,F:1317081600,G:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,H:1342483200,M:1346112000,N:1349740800,O:1353628800,z:1357603200,i:1361232000,AB:1405987200,BB:1409616000,CB:1413244800,DB:1417392000,EB:1421107200,FB:1424736000,GB:1428278400,HB:1431475200,IB:1435881600,JB:1439251200,KB:1442880000,LB:1446508800,MB:1450137600,NB:1453852800,OB:1457395200,PB:1461628800,QB:1465257600,RB:1470096000,SB:1474329600,TB:1479168000,UB:1485216000,VB:1488844800,WB:1492560000,XB:1497312000,YB:1502150400,ZB:1506556800,aB:1510617600,bB:1516665600,xB:1520985600,cB:1525824000,yB:1529971200,dB:1536105600,eB:1540252800,fB:1544486400,gB:1548720000,hB:1552953600,iB:1558396800,jB:1562630400,kB:1567468800,lB:1571788800,mB:1575331200,nB:1578355200,j:1581379200,oB:1583798400,pB:1586304000,qB:1588636800,rB:1591056000,sB:1593475200,P:1595894400,Q:1598313600,R:1600732800,zB:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,k:1649116800,l:1651536000,m:1653955200,n:1656374400,o:1658793600,p:1661212800,q:1663632000,r:1666051200,s:1668470400,t:1670889600,u:1673913600,v:1676332800,w:1678752000,x:1681171200,D:1683590400,"0B":null,"1B":null}},D:{A:{"0":0.004317,"1":0.003901,"2":0.008786,"3":0.003939,"4":0.004461,"5":0.004141,"6":0.004326,"7":0.0047,"8":0.004538,"9":0.008322,I:0.004706,y:0.004879,J:0.004879,E:0.005591,F:0.005591,G:0.005591,A:0.004534,B:0.004464,C:0.010424,K:0.0083,L:0.004706,H:0.015087,M:0.004393,N:0.004393,O:0.008652,z:0.008322,i:0.004393,AB:0.008596,BB:0.004566,CB:0.004118,DB:0.008882,EB:0.004441,FB:0.004335,GB:0.004464,HB:0.017764,IB:0.003867,JB:0.013323,KB:0.004441,LB:0.003974,MB:0.008882,NB:0.008882,OB:0.013323,PB:0.003867,QB:0.008882,RB:0.017764,SB:0.035528,TB:0.004441,UB:0.004081,VB:0.004441,WB:0.008882,XB:0.003867,YB:0.004441,ZB:0.066615,aB:0.004081,bB:0.004441,xB:0.003773,cB:0.013323,yB:0.008882,dB:0.003773,eB:0.004441,fB:0.003943,gB:0.008882,hB:0.031087,iB:0.008882,jB:0.013323,kB:0.039969,lB:0.022205,mB:0.017764,nB:0.026646,j:0.008882,oB:0.031087,pB:0.04441,qB:0.04441,rB:0.017764,sB:0.026646,P:0.22205,Q:0.039969,R:0.04441,S:0.137671,T:0.035528,U:0.071056,V:0.057733,W:0.093261,X:0.026646,Y:0.035528,Z:0.04441,a:0.084379,b:0.048851,c:0.137671,d:0.066615,e:0.017764,f:0.035528,g:0.048851,h:0.039969,k:0.057733,l:0.048851,m:0.039969,n:0.057733,o:0.270901,p:0.057733,q:0.08882,r:0.071056,s:0.093261,t:0.248696,u:2.10947,v:0.475187,w:8.75321,x:9.67694,D:0.022205,"0B":0.013323,"1B":0,KC:0},B:"webkit",C:["","","","","","I","y","J","E","F","G","A","B","C","K","L","H","M","N","O","z","i","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","xB","cB","yB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","j","oB","pB","qB","rB","sB","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","v","w","x","D","0B","1B","KC"],E:"Chrome",F:{"0":1340668800,"1":1343692800,"2":1348531200,"3":1352246400,"4":1357862400,"5":1361404800,"6":1364428800,"7":1369094400,"8":1374105600,"9":1376956800,I:1264377600,y:1274745600,J:1283385600,E:1287619200,F:1291248000,G:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,H:1316131200,M:1319500800,N:1323734400,O:1328659200,z:1332892800,i:1337040000,AB:1384214400,BB:1389657600,CB:1392940800,DB:1397001600,EB:1400544000,FB:1405468800,GB:1409011200,HB:1412640000,IB:1416268800,JB:1421798400,KB:1425513600,LB:1429401600,MB:1432080000,NB:1437523200,OB:1441152000,PB:1444780800,QB:1449014400,RB:1453248000,SB:1456963200,TB:1460592000,UB:1464134400,VB:1469059200,WB:1472601600,XB:1476230400,YB:1480550400,ZB:1485302400,aB:1489017600,bB:1492560000,xB:1496707200,cB:1500940800,yB:1504569600,dB:1508198400,eB:1512518400,fB:1516752000,gB:1520294400,hB:1523923200,iB:1527552000,jB:1532390400,kB:1536019200,lB:1539648000,mB:1543968000,nB:1548720000,j:1552348800,oB:1555977600,pB:1559606400,qB:1564444800,rB:1568073600,sB:1571702400,P:1575936000,Q:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,k:1646092800,l:1648512000,m:1650931200,n:1653350400,o:1655769600,p:1659398400,q:1661817600,r:1664236800,s:1666656000,t:1669680000,u:1673308800,v:1675728000,w:1678147200,x:1680566400,D:1682985600,"0B":null,"1B":null,KC:null}},E:{A:{I:0,y:0.008322,J:0.004656,E:0.004465,F:0.003974,G:0.003929,A:0.004425,B:0.004318,C:0.003801,K:0.022205,L:0.119907,H:0.026646,LC:0,"2B":0.008692,MC:0.008882,NC:0.00456,OC:0.004283,PC:0.048851,"3B":0.007802,tB:0.008882,uB:0.039969,"4B":0.186522,QC:0.328634,RC:0.048851,"5B":0.04441,"6B":0.111025,"7B":0.195404,"8B":0.830467,vB:0.08882,"9B":0.279783,AC:0.408572,BC:1.63429,CC:0.688355,DC:0.013323,SC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","2B","I","y","MC","J","NC","E","OC","F","G","PC","A","3B","B","tB","C","uB","K","4B","L","QC","H","RC","5B","6B","7B","8B","vB","9B","AC","BC","CC","DC","SC",""],E:"Safari",F:{LC:1205798400,"2B":1226534400,I:1244419200,y:1275868800,MC:1311120000,J:1343174400,NC:1382400000,E:1382400000,OC:1410998400,F:1413417600,G:1443657600,PC:1458518400,A:1474329600,"3B":1490572800,B:1505779200,tB:1522281600,C:1537142400,uB:1553472000,K:1568851200,"4B":1585008000,L:1600214400,QC:1619395200,H:1632096000,RC:1635292800,"5B":1639353600,"6B":1647216000,"7B":1652745600,"8B":1658275200,vB:1662940800,"9B":1666569600,AC:1670889600,BC:1674432000,CC:1679875200,DC:null,SC:null}},F:{A:{"0":0.006597,"1":0.006597,"2":0.013434,"3":0.006702,"4":0.006015,"5":0.005595,"6":0.004393,"7":0.008882,"8":0.004879,"9":0.004879,G:0.0082,B:0.016581,C:0.004317,H:0.00685,M:0.00685,N:0.00685,O:0.005014,z:0.006015,i:0.004879,AB:0.004441,BB:0.005152,CB:0.005014,DB:0.009758,EB:0.004879,FB:0.004441,GB:0.004283,HB:0.004367,IB:0.004534,JB:0.004441,KB:0.004227,LB:0.004418,MB:0.004161,NB:0.004227,OB:0.004725,PB:0.013323,QB:0.008942,RB:0.004707,SB:0.004827,TB:0.004707,UB:0.004707,VB:0.004326,WB:0.008922,XB:0.014349,YB:0.004425,ZB:0.00472,aB:0.004425,bB:0.004425,cB:0.00472,dB:0.004532,eB:0.004566,fB:0.02283,gB:0.00867,hB:0.004656,iB:0.004642,jB:0.003929,kB:0.00944,lB:0.004293,mB:0.003929,nB:0.004298,j:0.096692,oB:0.008162,pB:0.004141,qB:0.004257,rB:0.003939,sB:0.008236,P:0.003855,Q:0.003939,R:0.008514,zB:0.003939,S:0.003939,T:0.003702,U:0.004441,V:0.003855,W:0.003855,X:0.003929,Y:0.003861,Z:0.011703,a:0.007546,b:0.011829,c:0.069498,d:0.004441,e:0.066615,f:0.315311,g:0.817144,h:0.031087,TC:0.00685,UC:0,VC:0.008392,WC:0.004706,tB:0.006229,EC:0.004879,XC:0.008786,uB:0.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","G","TC","UC","VC","WC","B","tB","EC","XC","C","uB","H","M","N","O","z","i","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","j","oB","pB","qB","rB","sB","P","Q","R","zB","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","","",""],E:"Opera",F:{"0":1399334400,"1":1401753600,"2":1405987200,"3":1409616000,"4":1413331200,"5":1417132800,"6":1422316800,"7":1425945600,"8":1430179200,"9":1433808000,G:1150761600,TC:1223424000,UC:1251763200,VC:1267488000,WC:1277942400,B:1292457600,tB:1302566400,EC:1309219200,XC:1323129600,C:1323129600,uB:1352073600,H:1372723200,M:1377561600,N:1381104000,O:1386288000,z:1390867200,i:1393891200,AB:1438646400,BB:1442448000,CB:1445904000,DB:1449100800,EB:1454371200,FB:1457308800,GB:1462320000,HB:1465344000,IB:1470096000,JB:1474329600,KB:1477267200,LB:1481587200,MB:1486425600,NB:1490054400,OB:1494374400,PB:1498003200,QB:1502236800,RB:1506470400,SB:1510099200,TB:1515024000,UB:1517961600,VB:1521676800,WB:1525910400,XB:1530144000,YB:1534982400,ZB:1537833600,aB:1543363200,bB:1548201600,cB:1554768000,dB:1561593600,eB:1566259200,fB:1570406400,gB:1573689600,hB:1578441600,iB:1583971200,jB:1587513600,kB:1592956800,lB:1595894400,mB:1600128000,nB:1603238400,j:1613520000,oB:1612224000,pB:1616544000,qB:1619568000,rB:1623715200,sB:1627948800,P:1631577600,Q:1633392000,R:1635984000,zB:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800},D:{G:"o",B:"o",C:"o",TC:"o",UC:"o",VC:"o",WC:"o",tB:"o",EC:"o",XC:"o",uB:"o"}},G:{A:{F:0.00318601,"2B":0,YC:0,FC:0.00318601,ZC:0.00477902,aC:0.00637202,bC:0.0175231,cC:0.0254881,dC:0.012744,eC:0.0541622,fC:0.00318601,gC:0.0684992,hC:0.0207091,iC:0.0223021,jC:0.0191161,kC:0.358426,lC:0.011151,mC:0.0207091,nC:0.0302671,oC:0.0908013,pC:0.237358,qC:0.430112,rC:0.136998,"5B":0.167266,"6B":0.191161,"7B":0.30745,"8B":0.831549,vB:0.933501,"9B":1.93709,AC:1.14696,BC:5.44011,CC:2.42455,DC:0.0525692},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","2B","YC","FC","ZC","aC","bC","F","cC","dC","eC","fC","gC","hC","iC","jC","kC","lC","mC","nC","oC","pC","qC","rC","5B","6B","7B","8B","vB","9B","AC","BC","CC","DC","",""],E:"Safari on iOS",F:{"2B":1270252800,YC:1283904000,FC:1299628800,ZC:1331078400,aC:1359331200,bC:1394409600,F:1410912000,cC:1413763200,dC:1442361600,eC:1458518400,fC:1473724800,gC:1490572800,hC:1505779200,iC:1522281600,jC:1537142400,kC:1553472000,lC:1568851200,mC:1572220800,nC:1580169600,oC:1585008000,pC:1600214400,qC:1619395200,rC:1632096000,"5B":1639353600,"6B":1647216000,"7B":1652659200,"8B":1658275200,vB:1662940800,"9B":1666569600,AC:1670889600,BC:1674432000,CC:1679875200,DC:null}},H:{A:{sC:0.994689},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","sC","","",""],E:"Opera Mini",F:{sC:1426464000}},I:{A:{wB:0,I:0.0285433,D:0,tC:0,uC:0.00951444,vC:0,wC:0.0190289,FC:0.0951444,xC:0,yC:0.34252},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","tC","uC","vC","wB","I","wC","FC","xC","yC","D","","",""],E:"Android Browser",F:{tC:1256515200,uC:1274313600,vC:1291593600,wB:1298332800,I:1318896000,wC:1341792000,FC:1374624000,xC:1386547200,yC:1401667200,D:1682985600}},J:{A:{E:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","E","A","","",""],E:"Blackberry Browser",F:{E:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,j:0.0111391,tB:0,EC:0,uB:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","tB","EC","C","uB","j","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,tB:1314835200,EC:1318291200,C:1330300800,uB:1349740800,j:1673827200},D:{j:"webkit"}},L:{A:{D:39.6882},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","","",""],E:"Chrome for Android",F:{D:1682985600}},M:{A:{D:0.289068},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","","",""],E:"Firefox for Android",F:{D:1683590400}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{zC:0.950589},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","zC","","",""],E:"UC Browser for Android",F:{zC:1634688000},D:{zC:"webkit"}},P:{A:{I:0.191027,i:2.06946,"0C":0.0103543,"1C":0.010304,"2C":0.0530632,"3C":0.0103584,"4C":0.0104443,"3B":0.0105043,"5C":0.0212253,"6C":0.0103982,"7C":0.0212253,"8C":0.0106126,"9C":0.0106126,vB:0.0530632,AD:0.0530632,BD:0.0530632,CD:0.148577},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","0C","1C","2C","3C","4C","3B","5C","6C","7C","8C","9C","vB","AD","BD","CD","i","","",""],E:"Samsung Internet",F:{I:1461024000,"0C":1481846400,"1C":1509408000,"2C":1528329600,"3C":1546128000,"4C":1554163200,"3B":1567900800,"5C":1582588800,"6C":1593475200,"7C":1605657600,"8C":1618531200,"9C":1629072000,vB:1640736000,AD:1651708800,BD:1659657600,CD:1667260800,i:1677369600}},Q:{A:{"4B":0.127857},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","4B","","",""],E:"QQ Browser",F:{"4B":1663718400}},R:{A:{DD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","DD","","",""],E:"Baidu Browser",F:{DD:1663027200}},S:{A:{ED:0.066708,FD:0},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ED","FD","","",""],E:"KaiOS Browser",F:{ED:1527811200,FD:1631664000}}};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/browserVersions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/browserVersions.js
      index 44d9a315749f21..396c275a3a59b3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/browserVersions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/browserVersions.js
      @@ -1 +1 @@
      -module.exports={"0":"21","1":"22","2":"23","3":"24","4":"25","5":"26","6":"27","7":"28","8":"29","9":"30",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"112",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"80",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"92",c:"93",d:"94",e:"95",f:"96",g:"97",h:"98",i:"110",j:"20",k:"73",l:"99",m:"100",n:"101",o:"102",p:"103",q:"104",r:"105",s:"106",t:"107",u:"108",v:"109",w:"111",x:"113",y:"5",z:"19",AB:"31",BB:"32",CB:"33",DB:"34",EB:"35",FB:"36",GB:"37",HB:"38",IB:"39",JB:"40",KB:"41",LB:"42",MB:"43",NB:"44",OB:"45",PB:"46",QB:"47",RB:"48",SB:"49",TB:"50",UB:"51",VB:"52",WB:"53",XB:"54",YB:"55",ZB:"56",aB:"57",bB:"58",cB:"60",dB:"62",eB:"63",fB:"64",gB:"65",hB:"66",iB:"67",jB:"68",kB:"69",lB:"70",mB:"71",nB:"72",oB:"74",pB:"75",qB:"76",rB:"77",sB:"78",tB:"11.1",uB:"12.1",vB:"16.0",wB:"3",xB:"59",yB:"61",zB:"82","0B":"114","1B":"3.2","2B":"10.1","3B":"13.1","4B":"15.2-15.3","5B":"15.4","6B":"15.5","7B":"15.6","8B":"16.1","9B":"16.2",AC:"16.3",BC:"16.4",CC:"16.5",DC:"11.5",EC:"4.2-4.3",FC:"5.5",GC:"2",HC:"3.5",IC:"3.6",JC:"115",KC:"116",LC:"3.1",MC:"5.1",NC:"6.1",OC:"7.1",PC:"9.1",QC:"14.1",RC:"15.1",SC:"TP",TC:"9.5-9.6",UC:"10.0-10.1",VC:"10.5",WC:"10.6",XC:"11.6",YC:"4.0-4.1",ZC:"5.0-5.1",aC:"6.0-6.1",bC:"7.0-7.1",cC:"8.1-8.4",dC:"9.0-9.2",eC:"9.3",fC:"10.0-10.2",gC:"10.3",hC:"11.0-11.2",iC:"11.3-11.4",jC:"12.0-12.1",kC:"12.2-12.5",lC:"13.0-13.1",mC:"13.2",nC:"13.3",oC:"13.4-13.7",pC:"14.0-14.4",qC:"14.5-14.8",rC:"15.0-15.1",sC:"all",tC:"2.1",uC:"2.2",vC:"2.3",wC:"4.1",xC:"4.4",yC:"4.4.3-4.4.4",zC:"13.4","0C":"5.0-5.4","1C":"6.2-6.4","2C":"7.2-7.4","3C":"8.2","4C":"9.2","5C":"11.1-11.2","6C":"12.0","7C":"13.0","8C":"14.0","9C":"15.0",AD:"17.0",BD:"18.0",CD:"19.0",DD:"13.18",ED:"2.5",FD:"3.0-3.1"};
      +module.exports={"0":"21","1":"22","2":"23","3":"24","4":"25","5":"26","6":"27","7":"28","8":"29","9":"30",A:"10",B:"11",C:"12",D:"113",E:"7",F:"8",G:"9",H:"15",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"80",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"92",c:"93",d:"94",e:"95",f:"96",g:"97",h:"98",i:"20",j:"73",k:"99",l:"100",m:"101",n:"102",o:"103",p:"104",q:"105",r:"106",s:"107",t:"108",u:"109",v:"110",w:"111",x:"112",y:"5",z:"19",AB:"31",BB:"32",CB:"33",DB:"34",EB:"35",FB:"36",GB:"37",HB:"38",IB:"39",JB:"40",KB:"41",LB:"42",MB:"43",NB:"44",OB:"45",PB:"46",QB:"47",RB:"48",SB:"49",TB:"50",UB:"51",VB:"52",WB:"53",XB:"54",YB:"55",ZB:"56",aB:"57",bB:"58",cB:"60",dB:"62",eB:"63",fB:"64",gB:"65",hB:"66",iB:"67",jB:"68",kB:"69",lB:"70",mB:"71",nB:"72",oB:"74",pB:"75",qB:"76",rB:"77",sB:"78",tB:"11.1",uB:"12.1",vB:"16.0",wB:"3",xB:"59",yB:"61",zB:"82","0B":"114","1B":"115","2B":"3.2","3B":"10.1","4B":"13.1","5B":"15.2-15.3","6B":"15.4","7B":"15.5","8B":"15.6","9B":"16.1",AC:"16.2",BC:"16.3",CC:"16.4",DC:"16.5",EC:"11.5",FC:"4.2-4.3",GC:"5.5",HC:"2",IC:"3.5",JC:"3.6",KC:"116",LC:"3.1",MC:"5.1",NC:"6.1",OC:"7.1",PC:"9.1",QC:"14.1",RC:"15.1",SC:"TP",TC:"9.5-9.6",UC:"10.0-10.1",VC:"10.5",WC:"10.6",XC:"11.6",YC:"4.0-4.1",ZC:"5.0-5.1",aC:"6.0-6.1",bC:"7.0-7.1",cC:"8.1-8.4",dC:"9.0-9.2",eC:"9.3",fC:"10.0-10.2",gC:"10.3",hC:"11.0-11.2",iC:"11.3-11.4",jC:"12.0-12.1",kC:"12.2-12.5",lC:"13.0-13.1",mC:"13.2",nC:"13.3",oC:"13.4-13.7",pC:"14.0-14.4",qC:"14.5-14.8",rC:"15.0-15.1",sC:"all",tC:"2.1",uC:"2.2",vC:"2.3",wC:"4.1",xC:"4.4",yC:"4.4.3-4.4.4",zC:"13.4","0C":"5.0-5.4","1C":"6.2-6.4","2C":"7.2-7.4","3C":"8.2","4C":"9.2","5C":"11.1-11.2","6C":"12.0","7C":"13.0","8C":"14.0","9C":"15.0",AD:"17.0",BD:"18.0",CD:"19.0",DD:"13.18",ED:"2.5",FD:"3.0-3.1"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/aac.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/aac.js
      index ba37d6e0404481..07a2aaeb1a64d1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/aac.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/aac.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC","132":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F","16":"A B"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"132":"i"},N:{"1":"A","2":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"132":"ED FD"}},B:6,C:"AAC audio file format"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC","132":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G","16":"A B"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"132":"D"},N:{"1":"A","2":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"132":"ED FD"}},B:6,C:"AAC audio file format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/abortcontroller.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/abortcontroller.js
      index 79c822f348b4f1..0007e447f3e2ba 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/abortcontroller.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/abortcontroller.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G"},C:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB HC IC"},D:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B","130":"C tB"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"AbortController & AbortSignal"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H"},C:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB IC JC"},D:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B","130":"C tB"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"AbortController & AbortSignal"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ac3-ec3.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ac3-ec3.js
      index 779901f9e36a37..7ec81c1f09be78 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ac3-ec3.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ac3-ec3.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC","132":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D","132":"A"},K:{"2":"A B C k tB DC","132":"uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O","2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC","132":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E","132":"A"},K:{"2":"A B C j tB EC","132":"uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/accelerometer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/accelerometer.js
      index f11b9b04c070d4..a6c1c5653cc85a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/accelerometer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/accelerometer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Accelerometer"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Accelerometer"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/addeventlistener.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/addeventlistener.js
      index c93bdc4a3a59f6..6ceeef6dd650b8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/addeventlistener.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/addeventlistener.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","130":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","257":"GC wB I y J HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"EventTarget.addEventListener()"};
      +module.exports={A:{A:{"1":"G A B","130":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","257":"HC wB I y J IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"EventTarget.addEventListener()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/alternate-stylesheet.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/alternate-stylesheet.js
      index c099dc432c8f33..1f5e64cd01ce53 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/alternate-stylesheet.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/alternate-stylesheet.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","2":"J D FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"F B C TC UC VC WC tB DC XC uB","16":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"16":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"2":"k","16":"A B C tB DC uB"},L:{"16":"H"},M:{"16":"i"},N:{"16":"A B"},O:{"16":"zC"},P:{"16":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"16":"DD"},S:{"1":"ED FD"}},B:1,C:"Alternate stylesheet"};
      +module.exports={A:{A:{"1":"F G A B","2":"J E GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"G B C TC UC VC WC tB EC XC uB","16":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"16":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"2":"j","16":"A B C tB EC uB"},L:{"16":"D"},M:{"16":"D"},N:{"16":"A B"},O:{"16":"zC"},P:{"16":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"16":"DD"},S:{"1":"ED FD"}},B:1,C:"Alternate stylesheet"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ambient-light.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ambient-light.js
      index 2b8a7ea9760255..85bbf042a51b45 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ambient-light.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ambient-light.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K","132":"L G M N O","322":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC","132":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","194":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","322":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB DC XC uB","322":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"132":"ED FD"}},B:4,C:"Ambient Light Sensor"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K","132":"L H M N O","322":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC","132":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","194":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","322":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB EC XC uB","322":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"132":"ED FD"}},B:4,C:"Ambient Light Sensor"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/apng.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/apng.js
      index a5f066d942a068..9f3d34e0d34662 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/apng.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/apng.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC"},D:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},E:{"1":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC OC"},F:{"1":"B C PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"0 1 2 3 4 5 6 7 8 9 F G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Animated PNG (APNG)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC"},D:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},E:{"1":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC OC"},F:{"1":"B C PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"0 1 2 3 4 5 6 7 8 9 G H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Animated PNG (APNG)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find-index.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find-index.js
      index a6c4ed37611197..624cdc5a1b62b6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find-index.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find-index.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","16":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Array.prototype.findIndex"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","16":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Array.prototype.findIndex"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find.js
      index e7bcbc82222da9..baafe280a821c6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-find.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C K L"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","16":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Array.prototype.find"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C K L"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","16":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Array.prototype.find"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-flat.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-flat.js
      index 9cb0e6d17b5119..51aa7ac48beef2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-flat.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-flat.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB HC IC"},D:{"1":"kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B tB"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB TC UC VC WC tB DC XC uB"},G:{"1":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"flat & flatMap array methods"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB IC JC"},D:{"1":"kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B tB"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB TC UC VC WC tB EC XC uB"},G:{"1":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"flat & flatMap array methods"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-includes.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-includes.js
      index 87e38fa251a071..2564ce69cd2a7e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-includes.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/array-includes.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB HC IC"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Array.prototype.includes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB IC JC"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Array.prototype.includes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/arrow-functions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/arrow-functions.js
      index ae2505722e7f12..95d06bfef15d94 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/arrow-functions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/arrow-functions.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Arrow functions"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Arrow functions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/asmjs.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/asmjs.js
      index e2913cea42d90c..5e57a0aa0b7807 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/asmjs.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/asmjs.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O","132":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","322":"C"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"2":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j","132":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","132":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","132":"k"},L:{"132":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"132":"zC"},P:{"2":"I","132":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"3B"},R:{"132":"DD"},S:{"1":"ED FD"}},B:6,C:"asm.js"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O","132":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","322":"C"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"2":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i","132":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","132":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","132":"j"},L:{"132":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"132":"zC"},P:{"2":"I","132":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"4B"},R:{"132":"DD"},S:{"1":"ED FD"}},B:6,C:"asm.js"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-clipboard.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-clipboard.js
      index 4a145657398fc6..131a2866676ae0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-clipboard.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-clipboard.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB HC IC","132":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","66":"bB xB cB yB"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC","260":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","260":"H"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"132":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I 0C 1C 2C 3C","260":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED","132":"FD"}},B:5,C:"Asynchronous Clipboard API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB IC JC","132":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","66":"bB xB cB yB"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC","260":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","260":"D"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"132":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I 0C 1C 2C 3C","260":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED","132":"FD"}},B:5,C:"Asynchronous Clipboard API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-functions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-functions.js
      index 7e4cec11f753e7..c64e91d69aab66 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-functions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/async-functions.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K","194":"L"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC","514":"2B"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC","514":"gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Async functions"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K","194":"L"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC","514":"3B"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC","514":"gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Async functions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/atob-btoa.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/atob-btoa.js
      index d46fdf784d2c57..46e606a16e1bf0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/atob-btoa.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/atob-btoa.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","2":"F TC UC","16":"VC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","16":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Base64 encoding and decoding"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","2":"G TC UC","16":"VC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","16":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Base64 encoding and decoding"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio-api.js
      index cec84cf7349716..fffc2b1d8c1ce7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K","33":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB CB"},E:{"1":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J D E F A B C K L NC OC PC 2B tB uB 3B"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 G M N O z j"},G:{"1":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Web Audio API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K","33":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB CB"},E:{"1":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J E F G A B C K L NC OC PC 3B tB uB 4B"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 H M N O z i"},G:{"1":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Web Audio API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio.js
      index 129a268d443221..b356553c5fa8d5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audio.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","132":"I y J D E F A B C K L G M N O z HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F","4":"TC UC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","2":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Audio element"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","132":"I y J E F G A B C K L H M N O z IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G","4":"TC UC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","2":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Audio element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audiotracks.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audiotracks.js
      index c7446c0c73e28c..a95ed8d76d34fd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audiotracks.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/audiotracks.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O","322":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC","194":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB","322":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB TC UC VC WC tB DC XC uB","322":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","322":"k"},L:{"322":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"322":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"322":"3B"},R:{"322":"DD"},S:{"194":"ED FD"}},B:1,C:"Audio Tracks"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O","322":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC","194":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB","322":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB TC UC VC WC tB EC XC uB","322":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","322":"j"},L:{"322":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"322":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"322":"4B"},R:{"322":"DD"},S:{"194":"ED FD"}},B:1,C:"Audio Tracks"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/autofocus.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/autofocus.js
      index 830141ddd2932c..1c43695c3d0eaf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/autofocus.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/autofocus.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Autofocus attribute"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Autofocus attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/auxclick.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/auxclick.js
      index fe73e85b600fc4..9956a3031a4822 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/auxclick.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/auxclick.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC","129":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Auxclick"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC","129":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Auxclick"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/av1.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/av1.js
      index 5bfda77d64903e..08fffad7ead091 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/av1.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/av1.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N","194":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB HC IC","66":"YB ZB aB bB xB cB yB dB eB fB","260":"gB","516":"hB"},D:{"1":"lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB","66":"iB jB kB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1090":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"AV1 video format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N","194":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB IC JC","66":"YB ZB aB bB xB cB yB dB eB fB","260":"gB","516":"hB"},D:{"1":"lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB","66":"iB jB kB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1090":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"AV1 video format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/avif.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/avif.js
      index 0709f287aa0952..e8ac870c7e2179 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/avif.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/avif.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB HC IC","194":"rB sB P Q R zB S T U V W X Y Z a b","257":"c d e f g h l m n o p q r s t u v i","2049":"w H"},D:{"1":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB","1796":"8B 9B AC"},F:{"1":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB TC UC VC WC tB DC XC uB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B","1281":"vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"257":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"AVIF image format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB IC JC","194":"rB sB P Q R zB S T U V W X Y Z a b","257":"c d e f g h k l m n o p q r s t u v","2049":"w x"},D:{"1":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB","1796":"9B AC BC"},F:{"1":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB TC UC VC WC tB EC XC uB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B","1281":"vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"257":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"AVIF image format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-attachment.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-attachment.js
      index fb7e2d802b6f62..19b22f84963e4d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-attachment.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-attachment.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","132":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C MC NC OC PC 2B tB uB 5B 6B 7B vB 8B 9B AC BC CC SC","132":"I K LC 1B 3B","2050":"L G QC RC 4B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","132":"F TC UC"},G:{"2":"1B YC EC","772":"E ZC aC bC cC dC eC fC gC hC iC jC kC","2050":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC xC yC","132":"wC EC"},J:{"260":"D A"},K:{"1":"B C k tB DC uB","132":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"2":"I","1028":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS background-attachment"};
      +module.exports={A:{A:{"1":"G A B","132":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C MC NC OC PC 3B tB uB 6B 7B 8B vB 9B AC BC CC DC SC","132":"I K LC 2B 4B","2050":"L H QC RC 5B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","132":"G TC UC"},G:{"2":"2B YC FC","772":"F ZC aC bC cC dC eC fC gC hC iC jC kC","2050":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC xC yC","132":"wC FC"},J:{"260":"E A"},K:{"1":"B C j tB EC uB","132":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"2":"I","1028":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS background-attachment"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-clip-text.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-clip-text.js
      index 841da8e34a2fe9..0f41cab37fa4af 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-clip-text.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-clip-text.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O","33":"C K L P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B","33":"I y J D E F A B C K MC NC OC PC 2B tB uB 3B"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC","33":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"16":"wB tC uC vC","33":"I H wC EC xC yC"},J:{"33":"D A"},K:{"16":"A B C tB DC uB","33":"k"},L:{"33":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"3B"},R:{"33":"DD"},S:{"1":"ED FD"}},B:7,C:"Background-clip: text"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O","33":"C K L P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B","33":"I y J E F G A B C K MC NC OC PC 3B tB uB 4B"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC","33":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"16":"wB tC uC vC","33":"I D wC FC xC yC"},J:{"33":"E A"},K:{"16":"A B C tB EC uB","33":"j"},L:{"33":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"4B"},R:{"33":"DD"},S:{"1":"ED FD"}},B:7,C:"Background-clip: text"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-img-opts.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-img-opts.js
      index 54d5d25947aac0..6f84f94f2e4c3e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-img-opts.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-img-opts.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","36":"IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","516":"I y J D E F A B C K L"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","772":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC","36":"UC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","4":"1B YC EC aC","516":"ZC"},H:{"132":"sC"},I:{"1":"H xC yC","36":"tC","516":"wB I wC EC","548":"uC vC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Background-image options"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","36":"JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","516":"I y J E F G A B C K L"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","772":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC","36":"UC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","4":"2B YC FC aC","516":"ZC"},H:{"132":"sC"},I:{"1":"D xC yC","36":"tC","516":"wB I wC FC","548":"uC vC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Background-image options"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-position-x-y.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-position-x-y.js
      index e97a23c5617302..81a397fe01eb0e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-position-x-y.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-position-x-y.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:7,C:"background-position-x & background-position-y"};
      +module.exports={A:{A:{"1":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:7,C:"background-position-x & background-position-y"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-repeat-round-space.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-repeat-round-space.js
      index 7ca8c5d9df2610..0554ae7624cc19 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-repeat-round-space.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-repeat-round-space.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E FC","132":"F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F G M N O TC UC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS background-repeat round and space"};
      +module.exports={A:{A:{"1":"A B","2":"J E F GC","132":"G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G H M N O TC UC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS background-repeat round and space"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-sync.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-sync.js
      index bbc6ddc0a41283..51047ac4d969e0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-sync.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/background-sync.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H HC IC","16":"x 0B"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Background Sync API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D IC JC","16":"0B 1B"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Background Sync API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/battery-status.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/battery-status.js
      index 82810aac6b34f8..b60b11722800f6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/battery-status.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/battery-status.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"MB NB OB PB QB RB SB TB UB","2":"GC wB I y J D E F VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","132":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB","164":"A B C K L G"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB","66":"GB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED","2":"FD"}},B:4,C:"Battery Status API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"MB NB OB PB QB RB SB TB UB","2":"HC wB I y J E F G VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","132":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB","164":"A B C K L H"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB","66":"GB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED","2":"FD"}},B:4,C:"Battery Status API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beacon.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beacon.js
      index 4500189acd1bbb..d1f372c75c3f45 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beacon.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beacon.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Beacon API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Beacon API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beforeafterprint.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beforeafterprint.js
      index 12a16477fb1417..34933bfc36a2e7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beforeafterprint.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/beforeafterprint.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","16":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC"},D:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB DC XC uB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"16":"A B"},O:{"1":"zC"},P:{"2":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Printing Events"};
      +module.exports={A:{A:{"1":"J E F G A B","16":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC"},D:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB EC XC uB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"16":"A B"},O:{"1":"zC"},P:{"2":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Printing Events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bigint.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bigint.js
      index 64634c8449b04a..1f578f6fb8fc03 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bigint.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bigint.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB HC IC","194":"gB hB iB"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB 3B"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"BigInt"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB IC JC","194":"gB hB iB"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB 4B"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"BigInt"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/blobbuilder.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/blobbuilder.js
      index ce081730b2a4b5..8e1f1ef97af304 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/blobbuilder.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/blobbuilder.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","36":"J D E F A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D","36":"E F A B C K L G M N O z"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B C TC UC VC WC tB DC XC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"H","2":"tC uC vC","36":"wB I wC EC xC yC"},J:{"1":"A","2":"D"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Blob constructing"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","36":"J E F G A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E","36":"F G A B C K L H M N O z"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B C TC UC VC WC tB EC XC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"D","2":"tC uC vC","36":"wB I wC FC xC yC"},J:{"1":"A","2":"E"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Blob constructing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bloburls.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bloburls.js
      index da64978a29f522..e6afd02d5aa250 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bloburls.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/bloburls.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","129":"A B"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D","33":"0 1 E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB tC uC vC","33":"I wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Blob URLs"};
      +module.exports={A:{A:{"2":"J E F G GC","129":"A B"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E","33":"0 1 F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB tC uC vC","33":"I wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Blob URLs"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-image.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-image.js
      index b12f93766bb1b3..f478359d2939b0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-image.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-image.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","260":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","804":"I y J D E F A B C K L HC IC"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","260":"UB VB WB XB YB","388":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","1412":"0 1 2 3 4 5 6 7 8 G M N O z j","1956":"I y J D E F A B C K L"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","129":"A B C K L G PC 2B tB uB 3B QC RC 4B","1412":"J D E F NC OC","1956":"I y LC 1B MC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC UC","260":"HB IB JB KB LB","388":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB","1796":"VC WC","1828":"B C tB DC XC uB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","129":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B","1412":"E aC bC cC dC","1956":"1B YC EC ZC"},H:{"1828":"sC"},I:{"1":"H","388":"xC yC","1956":"wB I tC uC vC wC EC"},J:{"1412":"A","1924":"D"},K:{"1":"k","2":"A","1828":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","260":"0C 1C","388":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","260":"ED"}},B:4,C:"CSS3 Border images"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","260":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","804":"I y J E F G A B C K L IC JC"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","260":"UB VB WB XB YB","388":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","1412":"0 1 2 3 4 5 6 7 8 H M N O z i","1956":"I y J E F G A B C K L"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","129":"A B C K L H PC 3B tB uB 4B QC RC 5B","1412":"J E F G NC OC","1956":"I y LC 2B MC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC UC","260":"HB IB JB KB LB","388":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB","1796":"VC WC","1828":"B C tB EC XC uB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","129":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B","1412":"F aC bC cC dC","1956":"2B YC FC ZC"},H:{"1828":"sC"},I:{"1":"D","388":"xC yC","1956":"wB I tC uC vC wC FC"},J:{"1412":"A","1924":"E"},K:{"1":"j","2":"A","1828":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","260":"0C 1C","388":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","260":"ED"}},B:4,C:"CSS3 Border images"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-radius.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-radius.js
      index a8115b145d7542..fe0210ce125ef9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-radius.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/border-radius.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","257":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","289":"wB HC IC","292":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"I"},E:{"1":"y D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"I LC 1B","129":"J MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"1B"},H:{"2":"sC"},I:{"1":"wB I H uC vC wC EC xC yC","33":"tC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","257":"ED"}},B:4,C:"CSS3 Border-radius (rounded corners)"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","257":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","289":"wB IC JC","292":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"I"},E:{"1":"y E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"I LC 2B","129":"J MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"2B"},H:{"2":"sC"},I:{"1":"wB I D uC vC wC FC xC yC","33":"tC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","257":"ED"}},B:4,C:"CSS3 Border-radius (rounded corners)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/broadcastchannel.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/broadcastchannel.js
      index c0973e963ffebf..8a9cd535e833b5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/broadcastchannel.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/broadcastchannel.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HC IC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB DC XC uB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"BroadcastChannel"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB IC JC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB EC XC uB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"BroadcastChannel"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/brotli.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/brotli.js
      index b55a3057c3fb2e..8335736d93eda4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/brotli.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/brotli.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB HC IC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","194":"SB","257":"TB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","513":"B C tB uB"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB","194":"FB GB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB IC JC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","194":"SB","257":"TB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","513":"B C tB uB"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB","194":"FB GB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/calc.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/calc.js
      index 6505de690c2636..98f57b905a3139 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/calc.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/calc.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","260":"F","516":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"I y J D E F A B C K L G"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O","33":"0 1 2 3 4 z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","132":"xC yC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"calc() as CSS unit value"};
      +module.exports={A:{A:{"2":"J E F GC","260":"G","516":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"I y J E F G A B C K L H"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O","33":"0 1 2 3 4 z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","132":"xC yC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"calc() as CSS unit value"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-blending.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-blending.js
      index c08dc66fe8d186..efc5ad4300ba1f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-blending.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-blending.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O z HC IC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Canvas blend modes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O z IC JC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Canvas blend modes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-text.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-text.js
      index 739a8bac78d8ab..0f2a7a3d48185c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-text.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas-text.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","8":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","8":"F TC UC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","8":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Text API for Canvas"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","8":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","8":"G TC UC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","8":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Text API for Canvas"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas.js
      index dc1cb3b5731bc6..04d8597d692e81 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/canvas.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","132":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","132":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"260":"sC"},I:{"1":"wB I H wC EC xC yC","132":"tC uC vC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Canvas (basic support)"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","132":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","132":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"260":"sC"},I:{"1":"wB I D wC FC xC yC","132":"tC uC vC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Canvas (basic support)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ch-unit.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ch-unit.js
      index faa2071fab31c1..7a6c8b71b5f4ba 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ch-unit.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ch-unit.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","132":"F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"ch (character) unit"};
      +module.exports={A:{A:{"2":"J E F GC","132":"G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"ch (character) unit"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/chacha20-poly1305.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/chacha20-poly1305.js
      index ddf050ee7dd040..c0b0e7f2c6f977 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/chacha20-poly1305.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/chacha20-poly1305.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB","129":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC","16":"yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB","129":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC","16":"yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/channel-messaging.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/channel-messaging.js
      index 17442d6132a992..28358cd54a2a6a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/channel-messaging.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/channel-messaging.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","2":"F TC UC","16":"VC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Channel messaging"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","2":"G TC UC","16":"VC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Channel messaging"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/childnode-remove.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/childnode-remove.js
      index 90420ccd83772f..d0da4f5dc485fe 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/childnode-remove.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/childnode-remove.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"ChildNode.remove()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"ChildNode.remove()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/classlist.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/classlist.js
      index f59be906913d71..ea2d6442da31a0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/classlist.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/classlist.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"8":"J D E F FC","1924":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"GC wB HC","516":"3 4","772":"0 1 2 I y J D E F A B C K L G M N O z j IC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"I y J D","516":"3 4 5 6","772":"2","900":"0 1 E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y LC 1B","900":"J MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"F B TC UC VC WC tB","900":"C DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC","900":"ZC aC"},H:{"900":"sC"},I:{"1":"H xC yC","8":"tC uC vC","900":"wB I wC EC"},J:{"1":"A","900":"D"},K:{"1":"k","8":"A B","900":"C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"900":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"classList (DOMTokenList)"};
      +module.exports={A:{A:{"8":"J E F G GC","1924":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"HC wB IC","516":"3 4","772":"0 1 2 I y J E F G A B C K L H M N O z i JC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"I y J E","516":"3 4 5 6","772":"2","900":"0 1 F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y LC 2B","900":"J MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"G B TC UC VC WC tB","900":"C EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC","900":"ZC aC"},H:{"900":"sC"},I:{"1":"D xC yC","8":"tC uC vC","900":"wB I wC FC"},J:{"1":"A","900":"E"},K:{"1":"j","8":"A B","900":"C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"900":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"classList (DOMTokenList)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js
      index cc684757dc77f9..f0e58ee52bda05 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/clipboard.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/clipboard.js
      index 206cd1584a7fff..9e256f135d1a8f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/clipboard.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/clipboard.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2436":"J D E F A B FC"},B:{"260":"N O","2436":"C K L G M","8196":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC","772":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB","4100":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"I y J D E F A B C","2564":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB","8196":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","10244":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B","2308":"A B 2B tB","2820":"I y J D E F MC NC OC PC"},F:{"2":"F B TC UC VC WC tB DC XC","16":"C","516":"uB","2564":"0 1 2 3 4 5 6 7 8 G M N O z j","8196":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","10244":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},G:{"1":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","2820":"E ZC aC bC cC dC eC fC gC hC iC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","260":"H","2308":"xC yC"},J:{"2":"D","2308":"A"},K:{"2":"A B C tB DC","16":"uB","8196":"k"},L:{"8196":"H"},M:{"1028":"i"},N:{"2":"A B"},O:{"8196":"zC"},P:{"2052":"0C 1C","2308":"I","8196":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"8196":"3B"},R:{"8196":"DD"},S:{"4100":"ED FD"}},B:5,C:"Synchronous Clipboard API"};
      +module.exports={A:{A:{"2436":"J E F G A B GC"},B:{"260":"N O","2436":"C K L H M","8196":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC","772":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB","4100":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"I y J E F G A B C","2564":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB","8196":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","10244":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B","2308":"A B 3B tB","2820":"I y J E F G MC NC OC PC"},F:{"2":"G B TC UC VC WC tB EC XC","16":"C","516":"uB","2564":"0 1 2 3 4 5 6 7 8 H M N O z i","8196":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","10244":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},G:{"1":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","2820":"F ZC aC bC cC dC eC fC gC hC iC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","260":"D","2308":"xC yC"},J:{"2":"E","2308":"A"},K:{"2":"A B C tB EC","16":"uB","8196":"j"},L:{"8196":"D"},M:{"1028":"D"},N:{"2":"A B"},O:{"8196":"zC"},P:{"2052":"0C 1C","2308":"I","8196":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"8196":"4B"},R:{"8196":"DD"},S:{"4100":"ED FD"}},B:5,C:"Synchronous Clipboard API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr-v1.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr-v1.js
      index c45bc6329c4670..64f653eb89ea84 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr-v1.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr-v1.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g"},C:{"1":"t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g HC IC","258":"h l m n o p q","578":"r s"},D:{"1":"h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y","194":"Z a b c d e f g"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"16":"A B"},O:{"2":"zC"},P:{"1":"j BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"COLR/CPAL(v1) Font Formats"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g"},C:{"1":"s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g IC JC","258":"h k l m n o p","578":"q r"},D:{"1":"h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y","194":"Z a b c d e f g"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"16":"A B"},O:{"2":"zC"},P:{"1":"i BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"COLR/CPAL(v1) Font Formats"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr.js
      index 5ad8f4893795e5..056e19024b233f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/colr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","257":"F A B"},B:{"1":"C K L G M N O","513":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","513":"mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","129":"B C K tB uB 3B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB TC UC VC WC tB DC XC uB","513":"bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"16":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"COLR/CPAL(v0) Font Formats"};
      +module.exports={A:{A:{"2":"J E F GC","257":"G A B"},B:{"1":"C K L H M N O","513":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","513":"mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","129":"B C K tB uB 4B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB TC UC VC WC tB EC XC uB","513":"bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"16":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"COLR/CPAL(v0) Font Formats"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/comparedocumentposition.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/comparedocumentposition.js
      index d2882eda2ec78d..46143711d244e4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/comparedocumentposition.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/comparedocumentposition.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC wB HC IC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","132":"0 1 2 3 4 5 6 7 8 G M N O z j"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y J LC 1B","132":"D E F NC OC PC","260":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","16":"F B TC UC VC WC tB DC","132":"G M"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B","132":"E YC EC ZC aC bC cC dC eC"},H:{"1":"sC"},I:{"1":"H xC yC","16":"tC uC","132":"wB I vC wC EC"},J:{"132":"D A"},K:{"1":"C k uB","16":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Node.compareDocumentPosition()"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC wB IC JC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 H M N O z i"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y J LC 2B","132":"E F G NC OC PC","260":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","16":"G B TC UC VC WC tB EC","132":"H M"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B","132":"F YC FC ZC aC bC cC dC eC"},H:{"1":"sC"},I:{"1":"D xC yC","16":"tC uC","132":"wB I vC wC FC"},J:{"132":"E A"},K:{"1":"C j uB","16":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Node.compareDocumentPosition()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-basic.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-basic.js
      index 30b0efc9e4ee5d..023780c3beeee3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-basic.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-basic.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D FC","132":"E F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F TC UC VC WC"},G:{"1":"1B YC EC ZC","513":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"4097":"sC"},I:{"1025":"wB I H tC uC vC wC EC xC yC"},J:{"258":"D A"},K:{"2":"A","258":"B C tB DC uB","1025":"k"},L:{"1025":"H"},M:{"2049":"i"},N:{"258":"A B"},O:{"258":"zC"},P:{"1025":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1025":"DD"},S:{"1":"ED FD"}},B:1,C:"Basic console logging functions"};
      +module.exports={A:{A:{"1":"A B","2":"J E GC","132":"F G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G TC UC VC WC"},G:{"1":"2B YC FC ZC","513":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"4097":"sC"},I:{"1025":"wB I D tC uC vC wC FC xC yC"},J:{"258":"E A"},K:{"2":"A","258":"B C tB EC uB","1025":"j"},L:{"1025":"D"},M:{"2049":"D"},N:{"258":"A B"},O:{"258":"zC"},P:{"1025":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1025":"DD"},S:{"1":"ED FD"}},B:1,C:"Basic console logging functions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-time.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-time.js
      index b6b98ad376bf4f..afffc1bc79c3ee 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-time.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/console-time.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F TC UC VC WC","16":"B"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"k","16":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"console.time and console.timeEnd"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G TC UC VC WC","16":"B"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"j","16":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"console.time and console.timeEnd"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/const.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/const.js
      index 3b320124d76068..6b419a950a41e8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/const.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/const.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","2052":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"GC wB I y J D E F A B C HC IC","260":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","260":"I y J D E F A B C K L G M N O z j","772":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB","1028":"KB LB MB NB OB PB QB RB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","260":"I y A LC 1B 2B","772":"J D E F MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC","132":"B UC VC WC tB DC","644":"C XC uB","772":"0 1 2 3 4 5 6 G M N O z j","1028":"7 8 9 AB BB CB DB EB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","260":"1B YC EC fC gC","772":"E ZC aC bC cC dC eC"},H:{"644":"sC"},I:{"1":"H","16":"tC uC","260":"vC","772":"wB I wC EC xC yC"},J:{"772":"D A"},K:{"1":"k","132":"A B tB DC","644":"C uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","1028":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"const"};
      +module.exports={A:{A:{"2":"J E F G A GC","2052":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"HC wB I y J E F G A B C IC JC","260":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","260":"I y J E F G A B C K L H M N O z i","772":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB","1028":"KB LB MB NB OB PB QB RB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","260":"I y A LC 2B 3B","772":"J E F G MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC","132":"B UC VC WC tB EC","644":"C XC uB","772":"0 1 2 3 4 5 6 H M N O z i","1028":"7 8 9 AB BB CB DB EB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","260":"2B YC FC fC gC","772":"F ZC aC bC cC dC eC"},H:{"644":"sC"},I:{"1":"D","16":"tC uC","260":"vC","772":"wB I wC FC xC yC"},J:{"772":"E A"},K:{"1":"j","132":"A B tB EC","644":"C uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","1028":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"const"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/constraint-validation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/constraint-validation.js
      index 008c5ab5346d4c..68667251bb7e28 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/constraint-validation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/constraint-validation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","900":"A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","388":"L G M","900":"C K"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","260":"SB TB","388":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","900":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","388":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB","900":"0 1 2 3 G M N O z j"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B","388":"E F OC PC","900":"J D MC NC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F B TC UC VC WC tB DC","388":"0 1 2 3 4 5 G M N O z j","900":"C XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC","388":"E bC cC dC eC","900":"ZC aC"},H:{"2":"sC"},I:{"1":"H","16":"wB tC uC vC","388":"xC yC","900":"I wC EC"},J:{"16":"D","388":"A"},K:{"1":"k","16":"A B tB DC","900":"C uB"},L:{"1":"H"},M:{"1":"i"},N:{"900":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","388":"ED"}},B:1,C:"Constraint Validation API"};
      +module.exports={A:{A:{"2":"J E F G GC","900":"A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","388":"L H M","900":"C K"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","260":"SB TB","388":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","900":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","388":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB","900":"0 1 2 3 H M N O z i"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B","388":"F G OC PC","900":"J E MC NC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G B TC UC VC WC tB EC","388":"0 1 2 3 4 5 H M N O z i","900":"C XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC","388":"F bC cC dC eC","900":"ZC aC"},H:{"2":"sC"},I:{"1":"D","16":"wB tC uC vC","388":"xC yC","900":"I wC FC"},J:{"16":"E","388":"A"},K:{"1":"j","16":"A B tB EC","900":"C uB"},L:{"1":"D"},M:{"1":"D"},N:{"900":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","388":"ED"}},B:1,C:"Constraint Validation API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contenteditable.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contenteditable.js
      index 43e9ee88c9e114..2b9c822d97ba97 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contenteditable.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contenteditable.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC","4":"wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"contenteditable attribute (basic support)"};
      +module.exports={A:{A:{"1":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC","4":"wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"contenteditable attribute (basic support)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js
      index 6f62e57fa22e86..5665bbc623337e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","129":"0 1 I y J D E F A B C K L G M N O z j"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K","257":"0 1 2 3 L G M N O z j"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B","257":"J NC","260":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","257":"aC","260":"ZC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D","257":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Content Security Policy 1.0"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","129":"0 1 I y J E F G A B C K L H M N O z i"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K","257":"0 1 2 3 L H M N O z i"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B","257":"J NC","260":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","257":"aC","260":"ZC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E","257":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Content Security Policy 1.0"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js
      index 390c2db5384117..62a2baae49540a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","4100":"G M N O"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j HC IC","132":"AB BB CB DB","260":"EB","516":"FB GB HB IB JB KB LB MB NB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB","1028":"FB GB HB","2052":"IB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 F B C G M N O z j TC UC VC WC tB DC XC uB","1028":"2 3 4","2052":"5"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Content Security Policy Level 2"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","4100":"H M N O"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i IC JC","132":"AB BB CB DB","260":"EB","516":"FB GB HB IB JB KB LB MB NB"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB","1028":"FB GB HB","2052":"IB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 G B C H M N O z i TC UC VC WC tB EC XC uB","1028":"2 3 4","2052":"5"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Content Security Policy Level 2"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cookie-store-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cookie-store-api.js
      index a1130f4d2af1ea..66023f471c00fc 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cookie-store-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cookie-store-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","194":"P Q R S T U V"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB","194":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB TC UC VC WC tB DC XC uB","194":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Cookie Store API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","194":"P Q R S T U V"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB","194":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB TC UC VC WC tB EC XC uB","194":"UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Cookie Store API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cors.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cors.js
      index 5e4855ad35506e..b4ec6e3ee85600 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cors.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cors.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D FC","132":"A","260":"E F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB","1025":"yB dB eB fB gB hB iB jB kB lB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"I y J D E F A B C"},E:{"2":"LC 1B","513":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","644":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC"},G:{"513":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","644":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"H xC yC","132":"wB I tC uC vC wC EC"},J:{"1":"A","132":"D"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","132":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Cross-Origin Resource Sharing"};
      +module.exports={A:{A:{"1":"B","2":"J E GC","132":"A","260":"F G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB","1025":"yB dB eB fB gB hB iB jB kB lB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"I y J E F G A B C"},E:{"2":"LC 2B","513":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","644":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC"},G:{"513":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","644":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"D xC yC","132":"wB I tC uC vC wC FC"},J:{"1":"A","132":"E"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","132":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Cross-Origin Resource Sharing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/createimagebitmap.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/createimagebitmap.js
      index f09c8bc5ad2a20..a24da2a33ce232 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/createimagebitmap.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/createimagebitmap.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB HC IC","1028":"c d e f g","3076":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b","8196":"h l m n o p q r s t u v i w H x 0B"},D:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"TB UB","260":"VB WB","516":"XB YB ZB aB bB"},E:{"2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B QC","4100":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB TC UC VC WC tB DC XC uB","132":"GB HB","260":"IB JB","516":"KB LB MB NB OB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC","4100":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"8196":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","16":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"3076":"ED FD"}},B:1,C:"createImageBitmap"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB IC JC","1028":"c d e f g","3076":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b","8196":"h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"TB UB","260":"VB WB","516":"XB YB ZB aB bB"},E:{"2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B QC","4100":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB TC UC VC WC tB EC XC uB","132":"GB HB","260":"IB JB","516":"KB LB MB NB OB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC","4100":"rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"8196":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","16":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"3076":"ED FD"}},B:1,C:"createImageBitmap"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/credential-management.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/credential-management.js
      index be90f56c30f5e4..d2b70869374937 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/credential-management.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/credential-management.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","66":"RB SB TB","129":"UB VB WB XB YB ZB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB TC UC VC WC tB DC XC uB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Credential Management API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","66":"RB SB TB","129":"UB VB WB XB YB ZB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB TC UC VC WC tB EC XC uB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Credential Management API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cryptography.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cryptography.js
      index faf0feef516a19..0421522cc391be 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cryptography.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/cryptography.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E F A","164":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","513":"C K L G M N O"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB HC IC","66":"BB CB"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y J D LC 1B MC NC","289":"E F A OC PC 2B"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC ZC aC bC","289":"E cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","8":"wB I tC uC vC wC EC xC yC"},J:{"8":"D A"},K:{"1":"k","8":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A","164":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Web Cryptography"};
      +module.exports={A:{A:{"2":"GC","8":"J E F G A","164":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","513":"C K L H M N O"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB IC JC","66":"BB CB"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y J E LC 2B MC NC","289":"F G A OC PC 3B"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC ZC aC bC","289":"F cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","8":"wB I tC uC vC wC FC xC yC"},J:{"8":"E A"},K:{"1":"j","8":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A","164":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Web Cryptography"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-all.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-all.js
      index a299a1b647ca65..534ed79ed742b1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-all.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-all.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"H yC","2":"wB I tC uC vC wC EC xC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS all property"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"D yC","2":"wB I tC uC vC wC FC xC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS all property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-animation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-animation.js
      index 17506c1575063f..a90b4e2a68299e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-animation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-animation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I HC IC","33":"y J D E F A B C K L G"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B","33":"J D E MC NC OC","292":"I y"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC","33":"0 1 2 3 4 5 6 7 8 C G M N O z j"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"E aC bC cC","164":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"H","33":"I wC EC xC yC","164":"wB tC uC vC"},J:{"33":"D A"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS Animation"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I IC JC","33":"y J E F G A B C K L H"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B","33":"J E F MC NC OC","292":"I y"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC","33":"0 1 2 3 4 5 6 7 8 C H M N O z i"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"F aC bC cC","164":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"D","33":"I wC FC xC yC","164":"wB tC uC vC"},J:{"33":"E A"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS Animation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-any-link.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-any-link.js
      index 85e1b0fcff8de0..ae5bca80e03332 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-any-link.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-any-link.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC","33":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB HC IC"},D:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y J LC 1B MC","33":"D E NC OC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC","33":"E aC bC cC"},H:{"2":"sC"},I:{"1":"H","16":"wB I tC uC vC wC EC","33":"xC yC"},J:{"16":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","16":"I","33":"0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"CSS :any-link selector"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC","33":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB IC JC"},D:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y J LC 2B MC","33":"E F NC OC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC","33":"F aC bC cC"},H:{"2":"sC"},I:{"1":"D","16":"wB I tC uC vC wC FC","33":"xC yC"},J:{"16":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","16":"I","33":"0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"CSS :any-link selector"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-appearance.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-appearance.js
      index f6162985fd6f86..23c9957ce5343c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-appearance.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-appearance.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","33":"S","164":"P Q R","388":"C K L G M N O"},C:{"1":"Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","164":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","676":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB HC IC"},D:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"S","164":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","164":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"lB mB nB","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","164":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","164":"wB I tC uC vC wC EC xC yC"},J:{"164":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A","388":"B"},O:{"164":"zC"},P:{"164":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"3B"},R:{"1":"DD"},S:{"1":"FD","164":"ED"}},B:5,C:"CSS Appearance"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","33":"S","164":"P Q R","388":"C K L H M N O"},C:{"1":"Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","164":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","676":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB IC JC"},D:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"S","164":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","164":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"lB mB nB","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","164":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","164":"wB I tC uC vC wC FC xC yC"},J:{"164":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A","388":"B"},O:{"164":"zC"},P:{"164":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"4B"},R:{"1":"DD"},S:{"1":"FD","164":"ED"}},B:5,C:"CSS Appearance"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-at-counter-style.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-at-counter-style.js
      index 4b9551f9fa25e3..d51f63eb978d8a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-at-counter-style.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-at-counter-style.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z","132":"a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC","132":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z","132":"a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","4":"SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB TC UC VC WC tB DC XC uB","132":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","132":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","132":"k"},L:{"132":"H"},M:{"132":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C","132":"j vB AD BD CD"},Q:{"2":"3B"},R:{"132":"DD"},S:{"132":"ED FD"}},B:4,C:"CSS Counter Styles"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z","132":"a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC","132":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z","132":"a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","4":"SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB TC UC VC WC tB EC XC uB","132":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","132":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","132":"j"},L:{"132":"D"},M:{"132":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C","132":"i vB AD BD CD"},Q:{"2":"4B"},R:{"132":"DD"},S:{"132":"ED FD"}},B:4,C:"CSS Counter Styles"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-autofill.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-autofill.js
      index 1012f45600118d..ead0cd9507e67c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-autofill.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-autofill.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},L:{"33":"H"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U HC IC"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},K:{"2":"A B C tB DC uB","33":"k"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"SC","33":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B QC"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},I:{"2":"wB I tC uC vC wC EC","33":"H xC yC"}},B:6,C:":autofill CSS pseudo-class"};
      +module.exports={A:{D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},L:{"33":"D"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U IC JC"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},K:{"2":"A B C tB EC uB","33":"j"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"SC","33":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B QC"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},I:{"2":"wB I tC uC vC wC FC","33":"D xC yC"}},B:6,C:":autofill CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backdrop-filter.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backdrop-filter.js
      index 268043135fc5ed..9d4b1a68cde334 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backdrop-filter.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backdrop-filter.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M","257":"N O"},C:{"1":"p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB HC IC","578":"lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o"},D:{"1":"qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","194":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB"},E:{"2":"I y J D E LC 1B MC NC OC","33":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB TC UC VC WC tB DC XC uB","194":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"2":"E 1B YC EC ZC aC bC cC","33":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 6C 7C 8C 9C vB AD BD CD","2":"I","194":"0C 1C 2C 3C 4C 2B 5C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS Backdrop Filter"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M","257":"N O"},C:{"1":"o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB IC JC","578":"lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n"},D:{"1":"qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","194":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB"},E:{"2":"I y J E F LC 2B MC NC OC","33":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB TC UC VC WC tB EC XC uB","194":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"2":"F 2B YC FC ZC aC bC cC","33":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 6C 7C 8C 9C vB AD BD CD","2":"I","194":"0C 1C 2C 3C 4C 3B 5C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS Backdrop Filter"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-background-offsets.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-background-offsets.js
      index 9b52b7e6067c40..8cd42b1c3f0aaf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-background-offsets.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-background-offsets.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C HC IC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS background-position edge offsets"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C IC JC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS background-position edge offsets"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js
      index 84b579119b753b..730b4e8985454b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB","260":"PB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC","132":"E F A OC PC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 F B C G M N O z j TC UC VC WC tB DC XC uB","260":"CB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","132":"E cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS background-blend-mode"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB","260":"PB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC","132":"F G A OC PC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 G B C H M N O z i TC UC VC WC tB EC XC uB","260":"CB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","132":"F cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS background-blend-mode"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js
      index 2d9f39e0a1c84b..8bb4dcca57478f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","164":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB HC IC"},D:{"2":"0 I y J D E F A B C K L G M N O z j","164":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J LC 1B MC","164":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F TC UC VC WC","129":"B C tB DC XC uB","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"1B YC EC ZC aC","164":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"132":"sC"},I:{"2":"wB I tC uC vC wC EC","164":"H xC yC"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C tB DC uB","164":"k"},L:{"164":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"3B"},R:{"164":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS box-decoration-break"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","164":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB IC JC"},D:{"2":"0 I y J E F G A B C K L H M N O z i","164":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J LC 2B MC","164":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G TC UC VC WC","129":"B C tB EC XC uB","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"2B YC FC ZC aC","164":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"132":"sC"},I:{"2":"wB I tC uC vC wC FC","164":"D xC yC"},J:{"2":"E","164":"A"},K:{"2":"A","129":"B C tB EC uB","164":"j"},L:{"164":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"4B"},R:{"164":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS box-decoration-break"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxshadow.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxshadow.js
      index e13f6a7201ff52..02854104ef46cf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxshadow.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-boxshadow.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","33":"HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"I y J D E F"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"y","164":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"YC EC","164":"1B"},H:{"2":"sC"},I:{"1":"I H wC EC xC yC","164":"wB tC uC vC"},J:{"1":"A","33":"D"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Box-shadow"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","33":"IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"I y J E F G"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"y","164":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"YC FC","164":"2B"},H:{"2":"sC"},I:{"1":"I D wC FC xC yC","164":"wB tC uC vC"},J:{"1":"A","33":"E"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Box-shadow"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-canvas.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-canvas.js
      index 854f18b797bba8..dce9c0db94ef34 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-canvas.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-canvas.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"2":"LC 1B","33":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB"},G:{"33":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"H","33":"wB I tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS Canvas Drawings"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"2":"LC 2B","33":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB"},G:{"33":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"D","33":"wB I tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS Canvas Drawings"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-caret-color.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-caret-color.js
      index 0b915e280815ee..a526a4795a72be 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-caret-color.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-caret-color.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"CSS caret-color"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"CSS caret-color"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cascade-layers.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cascade-layers.js
      index 00490525915db3..08bf508c5eb733 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cascade-layers.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cascade-layers.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e","322":"f g h"},C:{"1":"g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c HC IC","194":"d e f"},D:{"1":"l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e","322":"f g h"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U TC UC VC WC tB DC XC uB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS Cascade Layers"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e","322":"f g h"},C:{"1":"g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c IC JC","194":"d e f"},D:{"1":"k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e","322":"f g h"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U TC UC VC WC tB EC XC uB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS Cascade Layers"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-case-insensitive.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-case-insensitive.js
      index d4907a48ed1377..0a71a2ae33adc1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-case-insensitive.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-case-insensitive.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Case-insensitive CSS attribute selectors"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Case-insensitive CSS attribute selectors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-clip-path.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-clip-path.js
      index 5b545d9b8150ef..0f95994ede334d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-clip-path.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-clip-path.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N","260":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","3138":"O"},C:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","132":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC","644":"QB RB SB TB UB VB WB"},D:{"2":"0 1 2 I y J D E F A B C K L G M N O z j","260":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","292":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"2":"I y J LC 1B MC NC","260":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","292":"D E F A B C K OC PC 2B tB uB"},F:{"2":"F B C TC UC VC WC tB DC XC uB","260":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","292":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"1B YC EC ZC aC","260":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","292":"E bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","260":"H","292":"xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","260":"k"},L:{"260":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"260":"zC"},P:{"292":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"3B"},R:{"260":"DD"},S:{"1":"FD","644":"ED"}},B:4,C:"CSS clip-path property (for HTML)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N","260":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","3138":"O"},C:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","132":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC","644":"QB RB SB TB UB VB WB"},D:{"2":"0 1 2 I y J E F G A B C K L H M N O z i","260":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","292":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"2":"I y J LC 2B MC NC","260":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","292":"E F G A B C K OC PC 3B tB uB"},F:{"2":"G B C TC UC VC WC tB EC XC uB","260":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","292":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB"},G:{"2":"2B YC FC ZC aC","260":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","292":"F bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","260":"D","292":"xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","260":"j"},L:{"260":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"260":"zC"},P:{"292":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"4B"},R:{"260":"DD"},S:{"1":"FD","644":"ED"}},B:4,C:"CSS clip-path property (for HTML)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-adjust.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-adjust.js
      index 58960a077d83d7..b3876986b71fe3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-adjust.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-adjust.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC"},D:{"16":"I y J D E F A B C K L G M N O","33":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","16":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"16":"wB I tC uC vC wC EC xC yC","33":"H"},J:{"16":"D A"},K:{"2":"A B C tB DC uB","33":"k"},L:{"16":"H"},M:{"1":"i"},N:{"16":"A B"},O:{"16":"zC"},P:{"16":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"3B"},R:{"16":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS print-color-adjust"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC"},D:{"16":"I y J E F G A B C K L H M N O","33":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","16":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"16":"wB I tC uC vC wC FC xC yC","33":"D"},J:{"16":"E A"},K:{"2":"A B C tB EC uB","33":"j"},L:{"16":"D"},M:{"1":"D"},N:{"16":"A B"},O:{"16":"zC"},P:{"16":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"4B"},R:{"16":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS print-color-adjust"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-function.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-function.js
      index 3bbbc118bad37b..173b2173c4bef3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-function.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-color-function.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t","322":"u v i"},C:{"1":"x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i HC IC","578":"w H"},D:{"1":"w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t","322":"u v i"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC","132":"B C K L 2B tB uB 3B QC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d TC UC VC WC tB DC XC uB","322":"e f g"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC","132":"gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS color() function"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s","322":"t u v"},C:{"1":"D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v IC JC","578":"w x"},D:{"1":"w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s","322":"t u v"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC","132":"B C K L 3B tB uB 4B QC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d TC UC VC WC tB EC XC uB","322":"e f g"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC","132":"gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS color() function"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-conic-gradients.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-conic-gradients.js
      index 568b75833d5264..336a634600fce1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-conic-gradients.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-conic-gradients.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB HC IC","578":"pB qB rB sB P Q R zB"},D:{"1":"kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","194":"xB cB yB dB eB fB gB hB iB jB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB TC UC VC WC tB DC XC uB","194":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS Conical Gradients"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB IC JC","578":"pB qB rB sB P Q R zB"},D:{"1":"kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","194":"xB cB yB dB eB fB gB hB iB jB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB TC UC VC WC tB EC XC uB","194":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS Conical Gradients"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries-style.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries-style.js
      index 432bed65616761..07e7cacd8c5ff9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries-style.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries-style.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s","194":"t u v i","260":"w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s","194":"t u v i","260":"w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b TC UC VC WC tB DC XC uB","194":"c d e f g","260":"h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","260":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","194":"k"},L:{"260":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Container Style Queries"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r","194":"s t u v","260":"w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r","194":"s t u v","260":"w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b TC UC VC WC tB EC XC uB","194":"c d e f g","260":"h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","260":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","194":"j"},L:{"260":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Container Style Queries"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries.js
      index 6d52b01203fd2c..29c021baceae99 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-queries.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q","516":"r"},C:{"1":"i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v HC IC"},D:{"1":"s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a","194":"c d e f g h l m n o p q","450":"b","516":"r"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB TC UC VC WC tB DC XC uB","194":"P Q R zB S T U V W X Y Z","516":"a b c"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Container Queries (Size)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p","516":"q"},C:{"1":"v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u IC JC"},D:{"1":"r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a","194":"c d e f g h k l m n o p","450":"b","516":"q"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB TC UC VC WC tB EC XC uB","194":"P Q R zB S T U V W X Y Z","516":"a b c"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Container Queries (Size)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-query-units.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-query-units.js
      index bc9e14a93e245b..45fc2439508756 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-query-units.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-container-query-units.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q"},C:{"1":"i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v HC IC"},D:{"1":"r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b","194":"n o p q","450":"c d e f g h l m"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB TC UC VC WC tB DC XC uB","194":"P Q R zB S T U V W X Y Z"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Container Query Units"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p"},C:{"1":"v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u IC JC"},D:{"1":"q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b","194":"m n o p","450":"c d e f g h k l"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB TC UC VC WC tB EC XC uB","194":"P Q R zB S T U V W X Y Z"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Container Query Units"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-containment.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-containment.js
      index 647935f9481a26..c3c1490f428243 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-containment.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-containment.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB HC IC","194":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},D:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","66":"UB"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB TC UC VC WC tB DC XC uB","66":"HB IB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:2,C:"CSS Containment"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB IC JC","194":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},D:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","66":"UB"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB TC UC VC WC tB EC XC uB","66":"HB IB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:2,C:"CSS Containment"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-content-visibility.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-content-visibility.js
      index 16842744105eba..d78fc4cbfe86e5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-content-visibility.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-content-visibility.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u HC IC","194":"v i w H x 0B"},D:{"1":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS content-visibility"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t IC JC","194":"u v w x D 0B 1B"},D:{"1":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS content-visibility"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-counters.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-counters.js
      index 7a40c93a99944e..54d6aa7065c14f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-counters.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-counters.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","2":"J D FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS Counters"};
      +module.exports={A:{A:{"1":"F G A B","2":"J E GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS Counters"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-crisp-edges.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-crisp-edges.js
      index e605ea9d46f4cd..66412ed4695b92 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-crisp-edges.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-crisp-edges.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J FC","2340":"D E F A B"},B:{"2":"C K L G M N O","1025":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","513":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b","545":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB","1025":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","164":"J","4644":"D E F NC OC PC"},F:{"2":"0 1 2 3 4 5 6 F B G M N O z j TC UC VC WC tB DC","545":"C XC uB","1025":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","4260":"ZC aC","4644":"E bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","1025":"H"},J:{"2":"D","4260":"A"},K:{"2":"A B tB DC","545":"C uB","1025":"k"},L:{"1025":"H"},M:{"1":"i"},N:{"2340":"A B"},O:{"1025":"zC"},P:{"1025":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1025":"3B"},R:{"1025":"DD"},S:{"1":"FD","4097":"ED"}},B:4,C:"Crisp edges/pixelated images"};
      +module.exports={A:{A:{"2":"J GC","2340":"E F G A B"},B:{"2":"C K L H M N O","1025":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","513":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b","545":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB","1025":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","164":"J","4644":"E F G NC OC PC"},F:{"2":"0 1 2 3 4 5 6 G B H M N O z i TC UC VC WC tB EC","545":"C XC uB","1025":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","4260":"ZC aC","4644":"F bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","1025":"D"},J:{"2":"E","4260":"A"},K:{"2":"A B tB EC","545":"C uB","1025":"j"},L:{"1025":"D"},M:{"1":"D"},N:{"2340":"A B"},O:{"1025":"zC"},P:{"1025":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1025":"4B"},R:{"1025":"DD"},S:{"1":"FD","4097":"ED"}},B:4,C:"Crisp edges/pixelated images"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cross-fade.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cross-fade.js
      index bd942c9c692d31..adce051b773f30 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cross-fade.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-cross-fade.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"I y J D E F A B C K L G M","33":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B","33":"J D E F MC NC OC PC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","33":"E ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","33":"H xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","33":"k"},L:{"33":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"3B"},R:{"33":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS Cross-Fade Function"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"I y J E F G A B C K L H M","33":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B","33":"J E F G MC NC OC PC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","33":"F ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","33":"D xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","33":"j"},L:{"33":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"4B"},R:{"33":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS Cross-Fade Function"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-default-pseudo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-default-pseudo.js
      index 8ec866c846f4d7..aa2ccf7ecf13d3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-default-pseudo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-default-pseudo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC wB HC IC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B","132":"J D E F A MC NC OC PC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F B TC UC VC WC tB DC","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB","260":"C XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC aC","132":"E bC cC dC eC fC"},H:{"260":"sC"},I:{"1":"H","16":"wB tC uC vC","132":"I wC EC xC yC"},J:{"16":"D","132":"A"},K:{"1":"k","16":"A B C tB DC","260":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:":default CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC wB IC JC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B","132":"J E F G A MC NC OC PC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G B TC UC VC WC tB EC","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB","260":"C XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC aC","132":"F bC cC dC eC fC"},H:{"260":"sC"},I:{"1":"D","16":"wB tC uC vC","132":"I wC FC xC yC"},J:{"16":"E","132":"A"},K:{"1":"j","16":"A B C tB EC","260":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:":default CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js
      index 8ac0642b3b270f..bd3e32707705c6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"B","2":"I y J D E F A C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Explicit descendant combinator >>"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"B","2":"I y J E F G A C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Explicit descendant combinator >>"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-deviceadaptation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-deviceadaptation.js
      index 28f62ea7c370db..81902265a53c9a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-deviceadaptation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-deviceadaptation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","164":"A B"},B:{"66":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","164":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j","66":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB TC UC VC WC tB DC XC uB","66":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"292":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A k","292":"B C tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"164":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"66":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Device Adaptation"};
      +module.exports={A:{A:{"2":"J E F G GC","164":"A B"},B:{"66":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","164":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i","66":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB TC UC VC WC tB EC XC uB","66":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"292":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A j","292":"B C tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"164":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"66":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Device Adaptation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-dir-pseudo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-dir-pseudo.js
      index 54d2eb63cadc52..b28f5b3106ea3b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-dir-pseudo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-dir-pseudo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q","194":"r s t u v i w H x"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M HC IC","33":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z","194":"a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB DC XC uB","194":"a b c d e f g h"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:":dir() CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p","194":"q r s t u v w x D"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M IC JC","33":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z","194":"a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB EC XC uB","194":"a b c d e f g h"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:":dir() CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-display-contents.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-display-contents.js
      index ecbcfdbe8386b3..ecad3aa4b8745f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-display-contents.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-display-contents.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","132":"P Q R S T U V W X","260":"Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB HC IC","132":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB","260":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","132":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X","194":"bB xB cB yB dB eB fB","260":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B LC 1B MC NC OC PC 2B","132":"C K L G tB uB 3B QC RC 4B 5B 6B 7B","516":"8B 9B AC BC CC SC","772":"vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB DC XC uB","132":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB","260":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC","132":"iC jC kC lC mC nC","260":"oC pC qC rC 4B 5B 6B 7B","772":"vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","260":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","260":"k"},L:{"260":"H"},M:{"260":"i"},N:{"2":"A B"},O:{"132":"zC"},P:{"2":"I 0C 1C 2C 3C","132":"4C 2B 5C 6C 7C 8C","260":"j 9C vB AD BD CD"},Q:{"132":"3B"},R:{"260":"DD"},S:{"132":"ED","260":"FD"}},B:4,C:"CSS display: contents"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","132":"P Q R S T U V W X","260":"Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB IC JC","132":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB","260":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","132":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X","194":"bB xB cB yB dB eB fB","260":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B LC 2B MC NC OC PC 3B","132":"C K L H tB uB 4B QC RC 5B 6B 7B 8B","516":"9B AC BC CC DC SC","772":"vB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB EC XC uB","132":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB","260":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC","132":"iC jC kC lC mC nC","260":"oC pC qC rC 5B 6B 7B 8B","772":"vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","260":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","260":"j"},L:{"260":"D"},M:{"260":"D"},N:{"2":"A B"},O:{"132":"zC"},P:{"2":"I 0C 1C 2C 3C","132":"4C 3B 5C 6C 7C 8C","260":"i 9C vB AD BD CD"},Q:{"132":"4B"},R:{"260":"DD"},S:{"132":"ED","260":"FD"}},B:4,C:"CSS display: contents"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-element-function.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-element-function.js
      index 45f57761a9c927..1e936afb191236 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-element-function.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-element-function.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","164":"GC wB HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"33":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"33":"ED FD"}},B:5,C:"CSS element() function"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","164":"HC wB IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"33":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"33":"ED FD"}},B:5,C:"CSS element() function"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-env-function.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-env-function.js
      index 919ef451ed981c..f73d610a6da2c1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-env-function.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-env-function.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB HC IC"},D:{"1":"kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","132":"B"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC","132":"hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:7,C:"CSS Environment Variables env()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB IC JC"},D:{"1":"kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","132":"B"},F:{"1":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC","132":"hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:7,C:"CSS Environment Variables env()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-exclusions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-exclusions.js
      index 44ef706fa37a76..e696429beba7dd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-exclusions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-exclusions.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","33":"A B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","33":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"33":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Exclusions Level 1"};
      +module.exports={A:{A:{"2":"J E F G GC","33":"A B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","33":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"33":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Exclusions Level 1"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-featurequeries.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-featurequeries.js
      index 8a1c8d004f9e52..389cb1b4ae0a16 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-featurequeries.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-featurequeries.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B C TC UC VC WC tB DC XC"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Feature Queries"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B C TC UC VC WC tB EC XC"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Feature Queries"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-file-selector-button.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-file-selector-button.js
      index c5c3db7b409658..3c0496e21de763 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-file-selector-button.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-file-selector-button.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X"},L:{"1":"H"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","33":"C K L G M N O P Q R S T U V W X"},C:{"1":"zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R HC IC"},M:{"1":"i"},A:{"2":"J D E F FC","33":"A B"},F:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"SC","33":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B"},G:{"1":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC"},P:{"1":"j 9C vB AD BD CD","33":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C"},I:{"1":"H","2":"wB I tC uC vC wC EC","33":"xC yC"}},B:6,C:"::file-selector-button CSS pseudo-element"};
      +module.exports={A:{D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X"},L:{"1":"D"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","33":"C K L H M N O P Q R S T U V W X"},C:{"1":"zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R IC JC"},M:{"1":"D"},A:{"2":"J E F G GC","33":"A B"},F:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"SC","33":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B"},G:{"1":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC"},P:{"1":"i 9C vB AD BD CD","33":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C"},I:{"1":"D","2":"wB I tC uC vC wC FC","33":"xC yC"}},B:6,C:"::file-selector-button CSS pseudo-element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filter-function.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filter-function.js
      index 454bb958d1e05c..9eed9f8c55f49b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filter-function.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filter-function.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC","33":"F"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC","33":"dC eC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS filter() function"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC","33":"G"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC","33":"dC eC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS filter() function"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filters.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filters.js
      index a0d8ff7ad3e3fd..ee212ede8e5066 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filters.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-filters.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","1028":"K L G M N O","1346":"C"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","196":"DB","516":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB IC"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N","33":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J D E F NC OC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"E aC bC cC dC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","33":"xC yC"},J:{"2":"D","33":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","33":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS Filter Effects"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","1028":"K L H M N O","1346":"C"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","196":"DB","516":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB JC"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N","33":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J E F G NC OC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"F aC bC cC dC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","33":"xC yC"},J:{"2":"E","33":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","33":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS Filter Effects"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-letter.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-letter.js
      index 27ac4f0ada90ea..6037a6034bbb7e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-letter.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-letter.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","16":"FC","516":"E","1540":"J D"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","132":"wB","260":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"y J D E","132":"I"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"y LC","132":"I 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","16":"F TC","260":"B UC VC WC tB DC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"1":"sC"},I:{"1":"wB I H wC EC xC yC","16":"tC uC","132":"vC"},J:{"1":"D A"},K:{"1":"C k uB","260":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"::first-letter CSS pseudo-element selector"};
      +module.exports={A:{A:{"1":"G A B","16":"GC","516":"F","1540":"J E"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","132":"wB","260":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"y J E F","132":"I"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"y LC","132":"I 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","16":"G TC","260":"B UC VC WC tB EC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"1":"sC"},I:{"1":"wB I D wC FC xC yC","16":"tC uC","132":"vC"},J:{"1":"E A"},K:{"1":"C j uB","260":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"::first-letter CSS pseudo-element selector"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-line.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-line.js
      index a5763ba868f235..5735f516eb2c61 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-line.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-first-line.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","132":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS first-line pseudo-element"};
      +module.exports={A:{A:{"1":"G A B","132":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS first-line pseudo-element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-fixed.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-fixed.js
      index a9d5e2a1187967..eba82e27e82f74 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-fixed.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-fixed.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"D E F A B","2":"FC","8":"J"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","1025":"PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","132":"ZC aC bC"},H:{"2":"sC"},I:{"1":"wB H xC yC","260":"tC uC vC","513":"I wC EC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS position:fixed"};
      +module.exports={A:{A:{"1":"E F G A B","2":"GC","8":"J"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","1025":"PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","132":"ZC aC bC"},H:{"2":"sC"},I:{"1":"wB D xC yC","260":"tC uC vC","513":"I wC FC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS position:fixed"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-visible.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-visible.js
      index 3fbb624226d773..dc172f51c50a3e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-visible.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-visible.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","328":"P Q R S T U"},C:{"1":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","161":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T"},D:{"1":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB","328":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B QC","578":"G RC 4B"},F:{"1":"nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB DC XC uB","328":"hB iB jB kB lB mB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC","578":"rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"161":"ED FD"}},B:5,C:":focus-visible CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","328":"P Q R S T U"},C:{"1":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","161":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T"},D:{"1":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB","328":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B QC","578":"H RC 5B"},F:{"1":"nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB EC XC uB","328":"hB iB jB kB lB mB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC","578":"rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"161":"ED FD"}},B:5,C:":focus-visible CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-within.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-within.js
      index 7e5558a544b9da..25881b2d3ae195 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-within.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-focus-within.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC"},D:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","194":"xB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB TC UC VC WC tB DC XC uB","194":"PB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:7,C:":focus-within CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC"},D:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","194":"xB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB TC UC VC WC tB EC XC uB","194":"PB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:7,C:":focus-within CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-palette.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-palette.js
      index 0d472e216d21c6..d9a757e14a5c7f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-palette.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-palette.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q"},C:{"1":"t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s HC IC"},D:{"1":"n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V TC UC VC WC tB DC XC uB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS font-palette"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p"},C:{"1":"s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r IC JC"},D:{"1":"m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V TC UC VC WC tB EC XC uB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS font-palette"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js
      index 4832b59568ffb7..f004bc8aab951c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB HC IC","194":"PB QB RB SB TB UB VB WB XB YB ZB aB"},D:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","66":"SB TB UB VB WB XB YB ZB aB bB xB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB","66":"FB GB HB IB JB KB LB MB NB OB PB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","66":"0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:5,C:"CSS font-display"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB IC JC","194":"PB QB RB SB TB UB VB WB XB YB ZB aB"},D:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","66":"SB TB UB VB WB XB YB ZB aB bB xB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB","66":"FB GB HB IB JB KB LB MB NB OB PB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","66":"0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:5,C:"CSS font-display"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-stretch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-stretch.js
      index c1416204d13b54..bca088ad270e60 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-stretch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-font-stretch.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E HC IC"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS font-stretch"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F IC JC"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS font-stretch"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gencontent.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gencontent.js
      index 7f02658125e363..f5682abcd858a5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gencontent.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gencontent.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D FC","132":"E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS Generated content for pseudo-elements"};
      +module.exports={A:{A:{"1":"G A B","2":"J E GC","132":"F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS Generated content for pseudo-elements"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gradients.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gradients.js
      index 586f2451e25b44..bc687e3131a361 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gradients.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-gradients.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","260":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB","292":"I y J D E F A B C K L G IC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 A B C K L G M N O z j","548":"I y J D E F"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B","260":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B","292":"J MC","804":"I y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC","33":"C XC","164":"tB DC"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","260":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B","292":"ZC aC","804":"1B YC EC"},H:{"2":"sC"},I:{"1":"H xC yC","33":"I wC EC","548":"wB tC uC vC"},J:{"1":"A","548":"D"},K:{"1":"k uB","2":"A B","33":"C","164":"tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Gradients"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","260":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB","292":"I y J E F G A B C K L H JC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 A B C K L H M N O z i","548":"I y J E F G"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B","260":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B","292":"J MC","804":"I y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC","33":"C XC","164":"tB EC"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","260":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B","292":"ZC aC","804":"2B YC FC"},H:{"2":"sC"},I:{"1":"D xC yC","33":"I wC FC","548":"wB tC uC vC"},J:{"1":"A","548":"E"},K:{"1":"j uB","2":"A B","33":"C","164":"tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Gradients"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid-animation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid-animation.js
      index 6ac4ce8f501a73..47817de5607dd9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid-animation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid-animation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS Grid animation"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS Grid animation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid.js
      index a6e30320a9bd1b..31c1d04a12927b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-grid.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","8":"F","292":"A B"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","292":"C K L G"},C:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O HC IC","8":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB","584":"JB KB LB MB NB OB PB QB RB SB TB UB","1025":"VB WB"},D:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 I y J D E F A B C K L G M N O z j","8":"4 5 6 7","200":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","1025":"aB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","8":"J D E F A NC OC PC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB","200":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","8":"E aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC","8":"EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"292":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"0C","8":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Grid Layout (level 1)"};
      +module.exports={A:{A:{"2":"J E F GC","8":"G","292":"A B"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","292":"C K L H"},C:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O IC JC","8":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB","584":"JB KB LB MB NB OB PB QB RB SB TB UB","1025":"VB WB"},D:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 I y J E F G A B C K L H M N O z i","8":"4 5 6 7","200":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","1025":"aB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","8":"J E F G A NC OC PC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB","200":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","8":"F aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC","8":"FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"292":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"0C","8":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Grid Layout (level 1)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js
      index 25a169c012ca46..163542ef51d7fd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS hanging-punctuation"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS hanging-punctuation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-has.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-has.js
      index 43f3a913f1c9bd..b59d210e7834c8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-has.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-has.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o HC IC","322":"p q r s t u v i w H x 0B"},D:{"1":"r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m","194":"n o p q"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB DC XC uB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:":has() CSS relational pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n IC JC","322":"o p q r s t u v w x D 0B 1B"},D:{"1":"q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l","194":"m n o p"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB EC XC uB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:":has() CSS relational pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hyphens.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hyphens.js
      index ba67b988f8e7e0..62b880c1c955b6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hyphens.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-hyphens.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","33":"A B"},B:{"1":"r s t u v i w H x","33":"C K L G M N O","132":"P Q R S T U V W","260":"X Y Z a b c d e f g h l m n o p q"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","33":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB"},D:{"1":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","132":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W"},E:{"2":"I y LC 1B","33":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB DC XC uB","132":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z"},G:{"2":"1B YC","33":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"4":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Hyphenation"};
      +module.exports={A:{A:{"2":"J E F G GC","33":"A B"},B:{"1":"q r s t u v w x D","33":"C K L H M N O","132":"P Q R S T U V W","260":"X Y Z a b c d e f g h k l m n o p"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","33":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB"},D:{"1":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","132":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W"},E:{"2":"I y LC 2B","33":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB EC XC uB","132":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z"},G:{"2":"2B YC","33":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"4":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Hyphenation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-orientation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-orientation.js
      index 1f739fdadace81..bb5bde5afb1328 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-orientation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-orientation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q","257":"R S T U V W X"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q","257":"R S T U V W X"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB"},F:{"1":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB TC UC VC WC tB DC XC uB","257":"jB kB lB mB nB k oB pB qB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C","257":"7C 8C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 image-orientation"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q","257":"R S T U V W X"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q","257":"R S T U V W X"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB"},F:{"1":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB TC UC VC WC tB EC XC uB","257":"jB kB lB mB nB j oB pB qB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C","257":"7C 8C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 image-orientation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-set.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-set.js
      index abe84fdcb4cf71..219883ecc1df75 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-set.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-image-set.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","164":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H","2049":"x"},C:{"1":"x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U HC IC","66":"V W","2305":"Y Z a b c d e f g h l m n o p q r s t u v i w H","2820":"X"},D:{"1":"0B JC KC","2":"I y J D E F A B C K L G M N O z j","164":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H","2049":"x"},E:{"1":"SC","2":"I y LC 1B MC","132":"A B C K 2B tB uB 3B","164":"J D E F NC OC PC","1540":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"1B YC EC ZC","132":"fC gC hC iC jC kC lC mC nC oC","164":"E aC bC cC dC eC","1540":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","164":"H xC yC"},J:{"2":"D","164":"A"},K:{"2":"A B C tB DC uB","164":"k"},L:{"164":"H"},M:{"2305":"i"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"3B"},R:{"164":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS image-set"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","164":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x","2049":"D"},C:{"1":"D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U IC JC","66":"V W","2305":"Y Z a b c d e f g h k l m n o p q r s t u v w x","2820":"X"},D:{"1":"0B 1B KC","2":"I y J E F G A B C K L H M N O z i","164":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x","2049":"D"},E:{"1":"SC","2":"I y LC 2B MC","132":"A B C K 3B tB uB 4B","164":"J E F G NC OC PC","1540":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"2B YC FC ZC","132":"fC gC hC iC jC kC lC mC nC oC","164":"F aC bC cC dC eC","1540":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","164":"D xC yC"},J:{"2":"E","164":"A"},K:{"2":"A B C tB EC uB","164":"j"},L:{"2049":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"4B"},R:{"164":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS image-set"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-in-out-of-range.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-in-out-of-range.js
      index f7c1b5af309bd6..6e4b09fe053858 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-in-out-of-range.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-in-out-of-range.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C","260":"K L G M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC","516":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I","16":"y J D E F A B C K L","260":"VB","772":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y","772":"J D E F A MC NC OC PC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F TC","260":"B C IB UC VC WC tB DC XC uB","772":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","772":"E ZC aC bC cC dC eC fC"},H:{"132":"sC"},I:{"1":"H","2":"wB tC uC vC","260":"I wC EC xC yC"},J:{"2":"D","260":"A"},K:{"1":"k","260":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","260":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","516":"ED"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C","260":"K L H M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC","516":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I","16":"y J E F G A B C K L","260":"VB","772":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y","772":"J E F G A MC NC OC PC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G TC","260":"B C IB UC VC WC tB EC XC uB","772":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","772":"F ZC aC bC cC dC eC fC"},H:{"132":"sC"},I:{"1":"D","2":"wB tC uC vC","260":"I wC FC xC yC"},J:{"2":"E","260":"A"},K:{"1":"j","260":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","260":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","516":"ED"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js
      index 0f3189211be415..b7806c02c3841d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","132":"A B","388":"F"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC wB HC IC","132":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","388":"I y"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y J LC 1B","132":"D E F A NC OC PC","388":"MC"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F B TC UC VC WC tB DC","132":"0 1 2 3 4 G M N O z j","516":"C XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC aC","132":"E bC cC dC eC fC"},H:{"516":"sC"},I:{"1":"H","16":"wB tC uC vC yC","132":"xC","388":"I wC EC"},J:{"16":"D","132":"A"},K:{"1":"k","16":"A B C tB DC","516":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:5,C:":indeterminate CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F GC","132":"A B","388":"G"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC wB IC JC","132":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","388":"I y"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y J LC 2B","132":"E F G A NC OC PC","388":"MC"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G B TC UC VC WC tB EC","132":"0 1 2 3 4 H M N O z i","516":"C XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC aC","132":"F bC cC dC eC fC"},H:{"516":"sC"},I:{"1":"D","16":"wB tC uC vC yC","132":"xC","388":"I wC FC"},J:{"16":"E","132":"A"},K:{"1":"j","16":"A B C tB EC","516":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:5,C:":indeterminate CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-letter.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-letter.js
      index 188e67d5718af7..e19eb887a3518c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-letter.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-letter.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v","260":"i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v","260":"i w H x 0B JC KC"},E:{"2":"I y J D E LC 1B MC NC OC","4":"F","164":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g TC UC VC WC tB DC XC uB","260":"h"},G:{"2":"E 1B YC EC ZC aC bC cC","164":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"260":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Initial Letter"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u","260":"v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u","260":"v w x D 0B 1B KC"},E:{"2":"I y J E F LC 2B MC NC OC","4":"G","164":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g TC UC VC WC tB EC XC uB","260":"h"},G:{"2":"F 2B YC FC ZC aC bC cC","164":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"260":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Initial Letter"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-value.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-value.js
      index 03c41ae6f5011a..01162ba63e4473 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-value.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-initial-value.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"I y J D E F A B C K L G M N O HC IC","164":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS initial value"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"I y J E F G A B C K L H M N O IC JC","164":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS initial value"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-lch-lab.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-lch-lab.js
      index 569cdadbe91f61..32e9cdb32813d2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-lch-lab.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-lch-lab.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v","322":"i"},C:{"1":"x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i HC IC","194":"w H"},D:{"1":"w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v","322":"i"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B QC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g TC UC VC WC tB DC XC uB"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"LCH and Lab color values"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u","322":"v"},C:{"1":"D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v IC JC","194":"w x"},D:{"1":"w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u","322":"v"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B QC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g TC UC VC WC tB EC XC uB"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"LCH and Lab color values"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-letter-spacing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-letter-spacing.js
      index 313bbb033bf7c7..4fa9fe43783b4d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-letter-spacing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-letter-spacing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","16":"FC","132":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC","132":"I y J 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F TC","132":"B C G M UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"2":"sC"},I:{"1":"H xC yC","16":"tC uC","132":"wB I vC wC EC"},J:{"132":"D A"},K:{"1":"k","132":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"letter-spacing CSS property"};
      +module.exports={A:{A:{"1":"G A B","16":"GC","132":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC","132":"I y J 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G TC","132":"B C H M UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"2":"sC"},I:{"1":"D xC yC","16":"tC uC","132":"wB I vC wC FC"},J:{"132":"E A"},K:{"1":"j","132":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"letter-spacing CSS property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-line-clamp.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-line-clamp.js
      index 3e34b664b34565..d9792728d717bc 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-line-clamp.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-line-clamp.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB HC IC","33":"jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"16":"I y J D E F A B C K","33":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I LC 1B","33":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"1B YC EC","33":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"16":"tC uC","33":"wB I H vC wC EC xC yC"},J:{"33":"D A"},K:{"2":"A B C tB DC uB","33":"k"},L:{"33":"H"},M:{"33":"i"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"3B"},R:{"33":"DD"},S:{"2":"ED","33":"FD"}},B:5,C:"CSS line-clamp"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB IC JC","33":"jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"16":"I y J E F G A B C K","33":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I LC 2B","33":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"2B YC FC","33":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"16":"tC uC","33":"wB I D vC wC FC xC yC"},J:{"33":"E A"},K:{"2":"A B C tB EC uB","33":"j"},L:{"33":"D"},M:{"33":"D"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"4B"},R:{"33":"DD"},S:{"2":"ED","33":"FD"}},B:5,C:"CSS line-clamp"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-logical-props.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-logical-props.js
      index 857fdcabfffb54..ba18e73ec0bc9e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-logical-props.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-logical-props.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","1028":"W X","1540":"P Q R S T U V"},C:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC","164":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB HC IC","1540":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB"},D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","292":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB","1028":"W X","1540":"kB lB mB nB k oB pB qB rB sB P Q R S T U V"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","292":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","1540":"K L uB 3B","5124":"QC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","292":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","1028":"oB pB","1540":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","292":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC","1540":"kC lC mC nC oC pC","5124":"qC"},H:{"2":"sC"},I:{"1":"H","292":"wB I tC uC vC wC EC xC yC"},J:{"292":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"292":"zC"},P:{"1":"j 9C vB AD BD CD","292":"I 0C 1C 2C 3C 4C","1540":"2B 5C 6C 7C 8C"},Q:{"1540":"3B"},R:{"1":"DD"},S:{"1":"FD","1540":"ED"}},B:5,C:"CSS Logical Properties"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","1028":"W X","1540":"P Q R S T U V"},C:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC","164":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB IC JC","1540":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB"},D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","292":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB","1028":"W X","1540":"kB lB mB nB j oB pB qB rB sB P Q R S T U V"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","292":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","1540":"K L uB 4B","5124":"QC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","292":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","1028":"oB pB","1540":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","292":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC","1540":"kC lC mC nC oC pC","5124":"qC"},H:{"2":"sC"},I:{"1":"D","292":"wB I tC uC vC wC FC xC yC"},J:{"292":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"292":"zC"},P:{"1":"i 9C vB AD BD CD","292":"I 0C 1C 2C 3C 4C","1540":"3B 5C 6C 7C 8C"},Q:{"1540":"4B"},R:{"1":"DD"},S:{"1":"FD","1540":"ED"}},B:5,C:"CSS Logical Properties"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-marker-pseudo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-marker-pseudo.js
      index 3b197827224cb3..a9f1d7e7bd9e50 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-marker-pseudo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-marker-pseudo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T U"},C:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB HC IC"},D:{"1":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U"},E:{"1":"SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B","129":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC"},F:{"1":"nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS ::marker pseudo-element"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T U"},C:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB IC JC"},D:{"1":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U"},E:{"1":"SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B","129":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC"},F:{"1":"nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS ::marker pseudo-element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-masks.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-masks.js
      index 3f6968172d23cd..e0b38ff2bebf03 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-masks.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-masks.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M","164":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","3138":"N","12292":"O"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","260":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC"},D:{"164":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B","164":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"2":"F B C TC UC VC WC tB DC XC uB","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","164":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"164":"H xC yC","676":"wB I tC uC vC wC EC"},J:{"164":"D A"},K:{"2":"A B C tB DC uB","164":"k"},L:{"164":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"3B"},R:{"164":"DD"},S:{"1":"FD","260":"ED"}},B:4,C:"CSS Masks"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M","164":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","3138":"N","12292":"O"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","260":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC"},D:{"164":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B","164":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"2":"G B C TC UC VC WC tB EC XC uB","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","164":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"164":"D xC yC","676":"wB I tC uC vC wC FC"},J:{"164":"E A"},K:{"2":"A B C tB EC uB","164":"j"},L:{"164":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"4B"},R:{"164":"DD"},S:{"1":"FD","260":"ED"}},B:4,C:"CSS Masks"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-matches-pseudo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-matches-pseudo.js
      index 3ba2baffff585c..242c6b3a74ea91 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-matches-pseudo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-matches-pseudo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","1220":"P Q R S T U V W"},C:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC wB HC IC","548":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB"},D:{"1":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB","196":"gB hB iB","1220":"jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y","164":"J D E MC NC OC","260":"F A B C K PC 2B tB uB 3B"},F:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","196":"VB WB XB","1220":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC aC","164":"E bC cC","260":"dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"H","16":"wB tC uC vC","164":"I wC EC xC yC"},J:{"16":"D","164":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"164":"zC"},P:{"1":"j 9C vB AD BD CD","164":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C"},Q:{"1220":"3B"},R:{"1":"DD"},S:{"1":"FD","548":"ED"}},B:5,C:":is() CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","1220":"P Q R S T U V W"},C:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC wB IC JC","548":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB"},D:{"1":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB","196":"gB hB iB","1220":"jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y","164":"J E F MC NC OC","260":"G A B C K PC 3B tB uB 4B"},F:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","196":"VB WB XB","1220":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC aC","164":"F bC cC","260":"dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"1":"D","16":"wB tC uC vC","164":"I wC FC xC yC"},J:{"16":"E","164":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"164":"zC"},P:{"1":"i 9C vB AD BD CD","164":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C"},Q:{"1220":"4B"},R:{"1":"DD"},S:{"1":"FD","548":"ED"}},B:5,C:":is() CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-math-functions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-math-functions.js
      index 77443afb2c945f..a6839064892531 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-math-functions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-math-functions.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB HC IC"},D:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B","132":"C K tB uB"},F:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB DC XC uB"},G:{"1":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC","132":"iC jC kC lC mC nC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS math functions min(), max() and clamp()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB IC JC"},D:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B","132":"C K tB uB"},F:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB EC XC uB"},G:{"1":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC","132":"iC jC kC lC mC nC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS math functions min(), max() and clamp()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-interaction.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-interaction.js
      index 831587b2a865b2..acea9127cc4472 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-interaction.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-interaction.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB HC IC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"Media Queries: interaction media features"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB IC JC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"Media Queries: interaction media features"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-range-syntax.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-range-syntax.js
      index 3836a570400b68..ec32d2910b0f08 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-range-syntax.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-range-syntax.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p"},C:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB HC IC"},D:{"1":"q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB DC XC uB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"Media Queries: Range Syntax"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o"},C:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB IC JC"},D:{"1":"p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB EC XC uB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"Media Queries: Range Syntax"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-resolution.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-resolution.js
      index e1c7e5ea38c003..593e7c10235ad4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-resolution.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-resolution.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","132":"F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","1028":"C K L G M N O"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","260":"I y J D E F A B C K L G HC IC","1028":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB"},D:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","548":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j","1028":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"LC 1B","548":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F","548":"B C TC UC VC WC tB DC XC","1028":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"1":"vB 8B 9B AC BC CC","16":"1B","548":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"132":"sC"},I:{"1":"H","16":"tC uC","548":"wB I vC wC EC","1028":"xC yC"},J:{"548":"D A"},K:{"1":"k uB","548":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","1028":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Media Queries: resolution feature"};
      +module.exports={A:{A:{"2":"J E F GC","132":"G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","1028":"C K L H M N O"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","260":"I y J E F G A B C K L H IC JC","1028":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB"},D:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","548":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i","1028":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"vB 9B AC BC CC DC SC","2":"LC 2B","548":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G","548":"B C TC UC VC WC tB EC XC","1028":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"1":"vB 9B AC BC CC DC","16":"2B","548":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"132":"sC"},I:{"1":"D","16":"tC uC","548":"wB I vC wC FC","1028":"xC yC"},J:{"548":"E A"},K:{"1":"j uB","548":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","1028":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Media Queries: resolution feature"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-scripting.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-scripting.js
      index b78873639c649f..8f5935a0d7d320 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-scripting.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-media-scripting.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"Media Queries: scripting media feature"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"Media Queries: scripting media feature"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mediaqueries.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mediaqueries.js
      index 412ff41c039426..8f0f37b490d068 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mediaqueries.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mediaqueries.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"8":"J D E FC","129":"F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","129":"0 1 2 3 4 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","129":"I y J MC","388":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","129":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"1":"H xC yC","129":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Media Queries"};
      +module.exports={A:{A:{"8":"J E F GC","129":"G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","129":"0 1 2 3 4 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","129":"I y J MC","388":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","129":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"1":"D xC yC","129":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Media Queries"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mixblendmode.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mixblendmode.js
      index 9f2ca7b7130b64..c245050e07d78a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mixblendmode.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-mixblendmode.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB HC IC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j","194":"8 9 AB BB CB DB EB FB GB HB IB JB"},E:{"2":"I y J D LC 1B MC NC","260":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC ZC aC bC","260":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Blending of HTML/SVG elements"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB IC JC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i","194":"8 9 AB BB CB DB EB FB GB HB IB JB"},E:{"2":"I y J E LC 2B MC NC","260":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC ZC aC bC","260":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Blending of HTML/SVG elements"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-motion-paths.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-motion-paths.js
      index 2e517b1b678c08..1420ca088c0889 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-motion-paths.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-motion-paths.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB HC IC"},D:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB","194":"MB NB OB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 F B C G M N O z j TC UC VC WC tB DC XC uB","194":"9 AB BB"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS Motion Path"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB IC JC"},D:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB","194":"MB NB OB"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 G B C H M N O z i TC UC VC WC tB EC XC uB","194":"9 AB BB"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS Motion Path"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-namespaces.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-namespaces.js
      index 92fcb5c255e050..792bfc302b9288 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-namespaces.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-namespaces.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS namespaces"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS namespaces"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nesting.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nesting.js
      index 99cf735707ab85..28e3d377e699c3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nesting.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nesting.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u","194":"v i w"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u","194":"v i w"},E:{"1":"CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d TC UC VC WC tB DC XC uB","194":"e f g"},G:{"1":"CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Nesting"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t","194":"u v w"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t","194":"u v w"},E:{"1":"DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d TC UC VC WC tB EC XC uB","194":"e f g"},G:{"1":"DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Nesting"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-not-sel-list.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-not-sel-list.js
      index 84dcdb0b1e42f1..6962b14e87d21e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-not-sel-list.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-not-sel-list.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O Q R S T U V W","16":"P"},C:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S HC IC"},D:{"1":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"selector list argument of :not()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O Q R S T U V W","16":"P"},C:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S IC JC"},D:{"1":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"selector list argument of :not()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nth-child-of.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nth-child-of.js
      index 7d9b04449f15ef..47a6ce518fb6d2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nth-child-of.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-nth-child-of.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i"},C:{"1":"x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H HC IC"},D:{"1":"w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v"},C:{"1":"D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x IC JC"},D:{"1":"w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-opacity.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-opacity.js
      index 8070fb41dab97a..97b11afc33004d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-opacity.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-opacity.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","4":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Opacity"};
      +module.exports={A:{A:{"1":"G A B","4":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Opacity"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-optional-pseudo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-optional-pseudo.js
      index 35c74265578768..83f456b771e8b2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-optional-pseudo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-optional-pseudo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F TC","132":"B C UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"132":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k","132":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:":optional CSS pseudo-class"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G TC","132":"B C UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"132":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j","132":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:":optional CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-anchor.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-anchor.js
      index b5a4a46b56327d..9eff6c9a82803b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-anchor.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-anchor.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB HC IC"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB IC JC"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-overlay.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-overlay.js
      index 996dcb53b67586..95e251e4eac421 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-overlay.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow-overlay.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"I y J D E F A B MC NC OC PC 2B tB","16":"LC 1B","130":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC","16":"1B","130":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS overflow: overlay"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"I y J E F G A B MC NC OC PC 3B tB","16":"LC 2B","130":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC","16":"2B","130":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS overflow: overlay"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow.js
      index 7c4af91a679d2b..c52475079441fb 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overflow.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"388":"J D E F A B FC"},B:{"1":"Z a b c d e f g h l m n o p q r s t u v i w H x","260":"P Q R S T U V W X Y","388":"C K L G M N O"},C:{"1":"R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","260":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q","388":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB HC IC"},D:{"1":"Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","260":"jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y","388":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"vB 8B 9B AC BC CC SC","260":"L G 3B QC RC 4B 5B 6B 7B","388":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","260":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB","388":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB TC UC VC WC tB DC XC uB"},G:{"1":"vB 8B 9B AC BC CC","260":"oC pC qC rC 4B 5B 6B 7B","388":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"388":"sC"},I:{"1":"H","388":"wB I tC uC vC wC EC xC yC"},J:{"388":"D A"},K:{"1":"k","388":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"388":"A B"},O:{"388":"zC"},P:{"1":"j 9C vB AD BD CD","388":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C"},Q:{"388":"3B"},R:{"1":"DD"},S:{"1":"FD","388":"ED"}},B:5,C:"CSS overflow property"};
      +module.exports={A:{A:{"388":"J E F G A B GC"},B:{"1":"Z a b c d e f g h k l m n o p q r s t u v w x D","260":"P Q R S T U V W X Y","388":"C K L H M N O"},C:{"1":"R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","260":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q","388":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB IC JC"},D:{"1":"Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","260":"jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y","388":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"vB 9B AC BC CC DC SC","260":"L H 4B QC RC 5B 6B 7B 8B","388":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","260":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB","388":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB TC UC VC WC tB EC XC uB"},G:{"1":"vB 9B AC BC CC DC","260":"oC pC qC rC 5B 6B 7B 8B","388":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"388":"sC"},I:{"1":"D","388":"wB I tC uC vC wC FC xC yC"},J:{"388":"E A"},K:{"1":"j","388":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"388":"A B"},O:{"388":"zC"},P:{"1":"i 9C vB AD BD CD","388":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C"},Q:{"388":"4B"},R:{"1":"DD"},S:{"1":"FD","388":"ED"}},B:5,C:"CSS overflow property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js
      index 12c414daf062c7..5cd3ecce2cd991 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N","516":"O"},C:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB HC IC"},D:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB","260":"eB fB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B","1090":"G QC RC 4B 5B 6B 7B"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB DC XC uB","260":"TB UB"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC","1090":"qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS overscroll-behavior"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N","516":"O"},C:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB IC JC"},D:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB","260":"eB fB"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B","1090":"H QC RC 5B 6B 7B 8B"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB EC XC uB","260":"TB UB"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC","1090":"qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS overscroll-behavior"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-page-break.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-page-break.js
      index 6488eee7ea0e21..93f37b8d29da63 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-page-break.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-page-break.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"388":"A B","900":"J D E F FC"},B:{"388":"C K L G M N O","900":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"772":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","900":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB HC IC"},D:{"900":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"772":"A","900":"I y J D E F B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"16":"F TC","129":"B C UC VC WC tB DC XC uB","900":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"900":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"129":"sC"},I:{"900":"wB I H tC uC vC wC EC xC yC"},J:{"900":"D A"},K:{"129":"A B C tB DC uB","900":"k"},L:{"900":"H"},M:{"772":"i"},N:{"388":"A B"},O:{"900":"zC"},P:{"900":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"900":"3B"},R:{"900":"DD"},S:{"772":"FD","900":"ED"}},B:2,C:"CSS page-break properties"};
      +module.exports={A:{A:{"388":"A B","900":"J E F G GC"},B:{"388":"C K L H M N O","900":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"772":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","900":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB IC JC"},D:{"900":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"772":"A","900":"I y J E F G B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"16":"G TC","129":"B C UC VC WC tB EC XC uB","900":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"900":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"129":"sC"},I:{"900":"wB I D tC uC vC wC FC xC yC"},J:{"900":"E A"},K:{"129":"A B C tB EC uB","900":"j"},L:{"900":"D"},M:{"772":"D"},N:{"388":"A B"},O:{"900":"zC"},P:{"900":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"900":"4B"},R:{"900":"DD"},S:{"772":"FD","900":"ED"}},B:2,C:"CSS page-break properties"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paged-media.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paged-media.js
      index 62610c188b93de..2495a761efba35 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paged-media.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paged-media.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","132":"E F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N O"},C:{"2":"GC wB I y J D E F A B C K L G M N O HC IC","132":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","132":"F B C TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"16":"sC"},I:{"16":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","16":"A B C tB DC uB"},L:{"1":"H"},M:{"132":"i"},N:{"258":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"132":"ED FD"}},B:5,C:"CSS Paged Media (@page)"};
      +module.exports={A:{A:{"2":"J E GC","132":"F G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N O"},C:{"2":"HC wB I y J E F G A B C K L H M N O IC JC","132":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","132":"G B C TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"16":"sC"},I:{"16":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","16":"A B C tB EC uB"},L:{"1":"D"},M:{"132":"D"},N:{"258":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"132":"ED FD"}},B:5,C:"CSS Paged Media (@page)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paint-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paint-api.js
      index 47794745fd4bdb..4172b3a88284c0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paint-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-paint-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},E:{"2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","194":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS Painting API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},E:{"2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","194":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"CSS Painting API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder-shown.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder-shown.js
      index e11797a1d5ebb0..da1ef00670d53b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder-shown.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder-shown.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","292":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","164":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","164":"ED"}},B:5,C:":placeholder-shown CSS pseudo-class"};
      +module.exports={A:{A:{"2":"J E F G GC","292":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","164":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","164":"ED"}},B:5,C:":placeholder-shown CSS pseudo-class"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder.js
      index bd32fad6a0ffb7..d6af9b8c539912 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-placeholder.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","36":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O HC IC","33":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","36":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","36":"y J D E F A MC NC OC PC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","36":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC","36":"E EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","36":"wB I tC uC vC wC EC xC yC"},J:{"36":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"36":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","36":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"::placeholder CSS pseudo-element"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","36":"C K L H M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O IC JC","33":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","36":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","36":"y J E F G A MC NC OC PC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","36":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC","36":"F FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","36":"wB I tC uC vC wC FC xC yC"},J:{"36":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"36":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","36":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"::placeholder CSS pseudo-element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-print-color-adjust.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-print-color-adjust.js
      index 3e6366172f93fc..b8e0da3af53139 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-print-color-adjust.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-print-color-adjust.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"2":"I y J D E F A B C K L G M","33":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},L:{"33":"H"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC","33":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},K:{"2":"A B C tB DC uB","33":"k"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"I y LC 1B MC SC","33":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},I:{"2":"wB I tC uC vC wC EC","33":"H xC yC"}},B:6,C:"print-color-adjust property"};
      +module.exports={A:{D:{"2":"I y J E F G A B C K L H M","33":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},L:{"33":"D"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC","33":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},K:{"2":"A B C tB EC uB","33":"j"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"I y LC 2B MC SC","33":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},I:{"2":"wB I tC uC vC wC FC","33":"D xC yC"}},B:6,C:"print-color-adjust property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-read-only-write.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-read-only-write.js
      index e6953dc37f23c0..f4f6dcd3e817f0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-read-only-write.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-read-only-write.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC","33":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB HC IC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B","132":"I y J D E MC NC OC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F B TC UC VC WC tB","132":"0 1 C G M N O z j DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC","132":"E EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","16":"tC uC","132":"wB I vC wC EC xC yC"},J:{"1":"A","132":"D"},K:{"1":"k","2":"A B tB","132":"C DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:1,C:"CSS :read-only and :read-write selectors"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC","33":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB IC JC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B","132":"I y J E F MC NC OC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G B TC UC VC WC tB","132":"0 1 C H M N O z i EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC","132":"F FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","16":"tC uC","132":"wB I vC wC FC xC yC"},J:{"1":"A","132":"E"},K:{"1":"j","2":"A B tB","132":"C EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:1,C:"CSS :read-only and :read-write selectors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rebeccapurple.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rebeccapurple.js
      index 28981da581c0e8..a517d33fd962c3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rebeccapurple.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rebeccapurple.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC","16":"NC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Rebeccapurple color"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC","16":"NC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Rebeccapurple color"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-reflections.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-reflections.js
      index 955b709868e881..bb9b9a3e25e533 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-reflections.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-reflections.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"LC 1B","33":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"33":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"33":"wB I H tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"2":"A B C tB DC uB","33":"k"},L:{"33":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"3B"},R:{"33":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS Reflections"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"LC 2B","33":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"33":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"33":"wB I D tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"2":"A B C tB EC uB","33":"j"},L:{"33":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"4B"},R:{"33":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS Reflections"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-regions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-regions.js
      index 8045cf31fdc5e5..bdd2ccd38f2d0a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-regions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-regions.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","420":"A B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","420":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"I y J D E F A B C K L EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","36":"G M N O","66":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB"},E:{"2":"I y J C K L G LC 1B MC tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"D E F A B NC OC PC 2B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC ZC aC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"E bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"420":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Regions"};
      +module.exports={A:{A:{"2":"J E F G GC","420":"A B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","420":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"I y J E F G A B C K L EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","36":"H M N O","66":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB"},E:{"2":"I y J C K L H LC 2B MC tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"E F G A B NC OC PC 3B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC ZC aC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"F bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"420":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Regions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-relative-colors.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-relative-colors.js
      index f7e1681af33d8b..8973e810c29b7d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-relative-colors.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-relative-colors.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Relative colors"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Relative colors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-repeating-gradients.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-repeating-gradients.js
      index 77df57c7525921..219fb119fc8621 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-repeating-gradients.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-repeating-gradients.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","33":"I y J D E F A B C K L G IC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F","33":"0 1 2 3 4 A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B","33":"J MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC","33":"C XC","36":"tB DC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","33":"ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB tC uC vC","33":"I wC EC"},J:{"1":"A","2":"D"},K:{"1":"k uB","2":"A B","33":"C","36":"tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Repeating Gradients"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","33":"I y J E F G A B C K L H JC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G","33":"0 1 2 3 4 A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B","33":"J MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC","33":"C XC","36":"tB EC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","33":"ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB tC uC vC","33":"I wC FC"},J:{"1":"A","2":"E"},K:{"1":"j uB","2":"A B","33":"C","36":"tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Repeating Gradients"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-resize.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-resize.js
      index ca63ba0eac8fb8..43421d9386d081 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-resize.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-resize.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC","132":"uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"CSS resize property"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC","132":"uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"CSS resize property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-revert-value.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-revert-value.js
      index ef4e6b3161b744..00ce8733c2ec8a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-revert-value.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-revert-value.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S"},C:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB HC IC"},D:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC"},F:{"1":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB DC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS revert value"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S"},C:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB IC JC"},D:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC"},F:{"1":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB EC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS revert value"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rrggbbaa.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rrggbbaa.js
      index 88cc6c92cd9f20..588f15aaf14370 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rrggbbaa.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-rrggbbaa.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","194":"VB WB XB YB ZB aB bB xB cB yB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB TC UC VC WC tB DC XC uB","194":"IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","194":"0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"#rrggbbaa hex color notation"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","194":"VB WB XB YB ZB aB bB xB cB yB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB TC UC VC WC tB EC XC uB","194":"IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","194":"0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"#rrggbbaa hex color notation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-behavior.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-behavior.js
      index 8a38898136be9c..2aee01e6dd48b4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-behavior.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-behavior.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","129":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB","129":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","450":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB 3B","578":"L G QC RC 4B"},F:{"2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB","129":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","450":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC","578":"qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"129":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"129":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS Scroll-behavior"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","129":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB","129":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","450":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB 4B","578":"L H QC RC 5B"},F:{"2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB","129":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","450":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC","578":"qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"129":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"129":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"CSS Scroll-behavior"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-timeline.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-timeline.js
      index 5c922c0da79076..f69b63413f931f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-timeline.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scroll-timeline.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y","194":"Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T","194":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","322":"U V W"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB DC XC uB","194":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","322":"k oB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS @scroll-timeline"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y","194":"Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T","194":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","322":"U V W"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB EC XC uB","194":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","322":"j oB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS @scroll-timeline"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scrollbar.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scrollbar.js
      index 735ff2bb5e456c..8f23948f4905ec 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scrollbar.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-scrollbar.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"132":"J D E F A B FC"},B:{"2":"C K L G M N O","292":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB HC IC","3074":"eB","4100":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"292":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"16":"I y LC 1B","292":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","292":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC aC","292":"bC","804":"E cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"16":"tC uC","292":"wB I H vC wC EC xC yC"},J:{"292":"D A"},K:{"2":"A B C tB DC uB","292":"k"},L:{"292":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"292":"zC"},P:{"292":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"292":"3B"},R:{"292":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS scrollbar styling"};
      +module.exports={A:{A:{"132":"J E F G A B GC"},B:{"2":"C K L H M N O","292":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB IC JC","3074":"eB","4100":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"292":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"16":"I y LC 2B","292":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","292":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC aC","292":"bC","804":"F cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"16":"tC uC","292":"wB I D vC wC FC xC yC"},J:{"292":"E A"},K:{"2":"A B C tB EC uB","292":"j"},L:{"292":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"292":"zC"},P:{"292":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"292":"4B"},R:{"292":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS scrollbar styling"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel2.js
      index 698b4f1b2bfd58..04741044c9d12e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"D E F A B","2":"FC","8":"J"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS 2.1 selectors"};
      +module.exports={A:{A:{"1":"E F G A B","2":"GC","8":"J"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS 2.1 selectors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel3.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel3.js
      index a1f603f7a78275..7bde864d2a6f54 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel3.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sel3.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J","132":"D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 selectors"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J","132":"E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 selectors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-selection.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-selection.js
      index b9de0a821ee399..71e3a0576c0879 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-selection.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-selection.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"C k DC uB","16":"A B tB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"::selection CSS pseudo-element"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"C j EC uB","16":"A B tB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"::selection CSS pseudo-element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-shapes.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-shapes.js
      index 0fed7f4f27ada2..702fe907508b02 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-shapes.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-shapes.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB HC IC","322":"UB VB WB XB YB ZB aB bB xB cB yB"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB","194":"DB EB FB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC","33":"E F A OC PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","33":"E cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS Shapes Level 1"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB IC JC","322":"UB VB WB XB YB ZB aB bB xB cB yB"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB","194":"DB EB FB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC","33":"F G A OC PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","33":"F cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS Shapes Level 1"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-snappoints.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-snappoints.js
      index 774dd826e6d333..72ac133d75b3a3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-snappoints.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-snappoints.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","6308":"A","6436":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","6436":"C K L G M N O"},C:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB HC IC","2052":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},D:{"1":"kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB","8258":"hB iB jB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC","3108":"F A PC 2B"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB","8258":"XB YB ZB aB bB cB dB eB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC","3108":"dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2052":"ED"}},B:4,C:"CSS Scroll Snap"};
      +module.exports={A:{A:{"2":"J E F G GC","6308":"A","6436":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","6436":"C K L H M N O"},C:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IC JC","2052":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},D:{"1":"kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB","8258":"hB iB jB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC","3108":"G A PC 3B"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB","8258":"XB YB ZB aB bB cB dB eB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC","3108":"dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2052":"ED"}},B:4,C:"CSS Scroll Snap"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sticky.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sticky.js
      index 10689975a42b5b..bc6163836eed54 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sticky.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-sticky.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G","1028":"P Q R S T U V W X Y Z","4100":"M N O"},C:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"5 6 7 8 9 AB","516":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 I y J D E F A B C K L G M N O z j GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB VB WB XB YB","1028":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC","33":"E F A B C OC PC 2B tB uB","2084":"D NC"},F:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB TC UC VC WC tB DC XC uB","322":"IB JB KB","1028":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"E cC dC eC fC gC hC iC jC kC","2084":"aC bC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1028":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1028":"3B"},R:{"1":"DD"},S:{"1":"FD","516":"ED"}},B:5,C:"CSS position:sticky"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H","1028":"P Q R S T U V W X Y Z","4100":"M N O"},C:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"5 6 7 8 9 AB","516":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 I y J E F G A B C K L H M N O z i GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","322":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB VB WB XB YB","1028":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC","33":"F G A B C OC PC 3B tB uB","2084":"E NC"},F:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB TC UC VC WC tB EC XC uB","322":"IB JB KB","1028":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"F cC dC eC fC gC hC iC jC kC","2084":"aC bC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1028":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1028":"4B"},R:{"1":"DD"},S:{"1":"FD","516":"ED"}},B:5,C:"CSS position:sticky"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-subgrid.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-subgrid.js
      index d7eace86460aa4..c43bf26f4e40aa 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-subgrid.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-subgrid.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS Subgrid"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"CSS Subgrid"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-supports-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-supports-api.js
      index 36273140bebadb..5848d928561797 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-supports-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-supports-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M N O"},C:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O z HC IC","66":"0 j","260":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j","260":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC","132":"uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"132":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC","132":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS.supports() API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M N O"},C:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O z IC JC","66":"0 i","260":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i","260":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC","132":"uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"132":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC","132":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS.supports() API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-table.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-table.js
      index c68d9f50a29be3..1086a8f4b0f22e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-table.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-table.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","2":"J D FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","132":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS Table display"};
      +module.exports={A:{A:{"1":"F G A B","2":"J E GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","132":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS Table display"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-align-last.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-align-last.js
      index a512e3de3a5f95..4791f86b86d216 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-align-last.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-align-last.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"132":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","4":"C K L G M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B HC IC","33":"0 1 2 3 4 5 6 7 8 9 C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB","322":"EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 F B C G M N O z j TC UC VC WC tB DC XC uB","578":"1 2 3 4 5 6 7 8 9 AB BB CB"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:4,C:"CSS3 text-align-last"};
      +module.exports={A:{A:{"132":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","4":"C K L H M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B IC JC","33":"0 1 2 3 4 5 6 7 8 9 C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB","322":"EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 G B C H M N O z i TC UC VC WC tB EC XC uB","578":"1 2 3 4 5 6 7 8 9 AB BB CB"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:4,C:"CSS3 text-align-last"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-box-trim.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-box-trim.js
      index 74c758ed162c84..9dad52f244837d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-box-trim.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-box-trim.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","129":"SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC","16":"CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS text-box-trim & text-box-edge"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","129":"SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC","16":"DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS text-box-trim & text-box-edge"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-indent.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-indent.js
      index 86ae73922936ca..1031aedbcf6ed3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-indent.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-indent.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"132":"J D E F A B FC"},B:{"132":"C K L G M N O","388":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"132":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"132":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB","388":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"vB 8B 9B AC BC CC SC","132":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"132":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB","388":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"vB 8B 9B AC BC CC","132":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"132":"sC"},I:{"132":"wB I tC uC vC wC EC xC yC","388":"H"},J:{"132":"D A"},K:{"132":"A B C tB DC uB","388":"k"},L:{"388":"H"},M:{"132":"i"},N:{"132":"A B"},O:{"388":"zC"},P:{"132":"I","388":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"388":"3B"},R:{"388":"DD"},S:{"132":"ED FD"}},B:4,C:"CSS text-indent"};
      +module.exports={A:{A:{"132":"J E F G A B GC"},B:{"132":"C K L H M N O","388":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"132":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"132":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB","388":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"vB 9B AC BC CC DC SC","132":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"132":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB","388":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"vB 9B AC BC CC DC","132":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"132":"sC"},I:{"132":"wB I tC uC vC wC FC xC yC","388":"D"},J:{"132":"E A"},K:{"132":"A B C tB EC uB","388":"j"},L:{"388":"D"},M:{"132":"D"},N:{"132":"A B"},O:{"388":"zC"},P:{"132":"I","388":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"388":"4B"},R:{"388":"DD"},S:{"132":"ED FD"}},B:4,C:"CSS text-indent"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-justify.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-justify.js
      index af448fd9e57b07..d29a02ce706c1d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-justify.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-justify.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"16":"J D FC","132":"E F A B"},B:{"132":"C K L G M N O","322":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB HC IC","1025":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","1602":"XB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB","322":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 F B C G M N O z j TC UC VC WC tB DC XC uB","322":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","322":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","322":"k"},L:{"322":"H"},M:{"1025":"i"},N:{"132":"A B"},O:{"322":"zC"},P:{"2":"I","322":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"322":"3B"},R:{"322":"DD"},S:{"2":"ED","1025":"FD"}},B:4,C:"CSS text-justify"};
      +module.exports={A:{A:{"16":"J E GC","132":"F G A B"},B:{"132":"C K L H M N O","322":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB IC JC","1025":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","1602":"XB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB","322":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 G B C H M N O z i TC UC VC WC tB EC XC uB","322":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","322":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","322":"j"},L:{"322":"D"},M:{"1025":"D"},N:{"132":"A B"},O:{"322":"zC"},P:{"2":"I","322":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"322":"4B"},R:{"322":"DD"},S:{"2":"ED","1025":"FD"}},B:4,C:"CSS text-justify"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-orientation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-orientation.js
      index 6484421f8468f2..a7802ad7826d70 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-orientation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-orientation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HC IC","194":"HB IB JB"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC","16":"A","33":"B C K 2B tB uB 3B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS text-orientation"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB IC JC","194":"HB IB JB"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC","16":"A","33":"B C K 3B tB uB 4B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS text-orientation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-spacing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-spacing.js
      index a320c0423a385c..8aa650d3f79f3a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-spacing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-text-spacing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","161":"E F A B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","161":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"16":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Text 4 text-spacing"};
      +module.exports={A:{A:{"2":"J E GC","161":"F G A B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","161":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"16":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS Text 4 text-spacing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-textshadow.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-textshadow.js
      index 74a2c9920a724f..1a288430033b72 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-textshadow.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-textshadow.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","129":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","260":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"4":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"A","4":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Text-shadow"};
      +module.exports={A:{A:{"2":"J E F G GC","129":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","260":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"4":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"A","4":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Text-shadow"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-touch-action.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-touch-action.js
      index 0213746807ad32..c67fdf9cb0ca3f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-touch-action.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-touch-action.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F FC","289":"A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","1025":"VB WB XB YB ZB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC","516":"eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","289":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:2,C:"CSS touch-action property"};
      +module.exports={A:{A:{"1":"B","2":"J E F G GC","289":"A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","1025":"VB WB XB YB ZB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC","516":"eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","289":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:2,C:"CSS touch-action property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-transitions.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-transitions.js
      index 59b479643b62cb..175ca113b8892a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-transitions.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-transitions.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"y J D E F A B C K L G","164":"I"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"J MC","164":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F TC UC","33":"C","164":"B VC WC tB DC XC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"aC","164":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"H xC yC","33":"wB I tC uC vC wC EC"},J:{"1":"A","33":"D"},K:{"1":"k uB","33":"C","164":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS3 Transitions"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"y J E F G A B C K L H","164":"I"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"J MC","164":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G TC UC","33":"C","164":"B VC WC tB EC XC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"aC","164":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"D xC yC","33":"wB I tC uC vC wC FC"},J:{"1":"A","33":"E"},K:{"1":"j uB","33":"C","164":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS3 Transitions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unicode-bidi.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unicode-bidi.js
      index 048d3cd188555a..02fd64b616f989 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unicode-bidi.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unicode-bidi.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"132":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"GC wB I y J D E F HC IC","292":"A B C K L G M"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"I y J D E F A B C K L G M","548":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"132":"I y J D E LC 1B MC NC OC","548":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"132":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"132":"E 1B YC EC ZC aC bC cC","548":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"16":"sC"},I:{"1":"H","16":"wB I tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","16":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:4,C:"CSS unicode-bidi property"};
      +module.exports={A:{A:{"132":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"HC wB I y J E F G IC JC","292":"A B C K L H M"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"I y J E F G A B C K L H M","548":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"132":"I y J E F LC 2B MC NC OC","548":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"132":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"132":"F 2B YC FC ZC aC bC cC","548":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"16":"sC"},I:{"1":"D","16":"wB I tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","16":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:4,C:"CSS unicode-bidi property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unset-value.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unset-value.js
      index 70f5599392f492..c971d4d87bb541 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unset-value.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-unset-value.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS unset value"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS unset value"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-variables.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-variables.js
      index 1aa75dce6a9071..01fcbe9e12dcc1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-variables.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-variables.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","260":"G"},C:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","194":"RB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC","260":"PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB","194":"EB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC","260":"eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Variables (Custom Properties)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","260":"H"},C:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","194":"RB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC","260":"PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB","194":"EB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC","260":"eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Variables (Custom Properties)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-when-else.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-when-else.js
      index 3ecb3bfd23bf33..218e84a713060e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-when-else.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-when-else.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS @when / @else conditional rules"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"CSS @when / @else conditional rules"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-widows-orphans.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-widows-orphans.js
      index 9827984b60c6c2..909ecfd9668ac8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-widows-orphans.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-widows-orphans.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D FC","129":"E F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","129":"F B TC UC VC WC tB DC XC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS widows & orphans"};
      +module.exports={A:{A:{"1":"A B","2":"J E GC","129":"F G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","129":"G B TC UC VC WC tB EC XC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS widows & orphans"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-width-stretch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-width-stretch.js
      index 1c32d38c1a8699..b5c7d72ba8936f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-width-stretch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-width-stretch.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"2":"0 I y J D E F A B C K L G M N O z j","33":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},L:{"33":"H"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"GC","33":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},M:{"33":"i"},A:{"2":"J D E F A B FC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},K:{"2":"A B C tB DC uB","33":"k"},E:{"2":"I y J LC 1B MC NC SC","33":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC"},G:{"2":"1B YC EC ZC aC","33":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},P:{"2":"I","33":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},I:{"2":"wB I tC uC vC wC EC","33":"H xC yC"}},B:6,C:"width: stretch property"};
      +module.exports={A:{D:{"2":"0 I y J E F G A B C K L H M N O z i","33":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},L:{"33":"D"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"HC","33":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},M:{"33":"D"},A:{"2":"J E F G A B GC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},K:{"2":"A B C tB EC uB","33":"j"},E:{"2":"I y J LC 2B MC NC SC","33":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC"},G:{"2":"2B YC FC ZC aC","33":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},P:{"2":"I","33":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},I:{"2":"wB I tC uC vC wC FC","33":"D xC yC"}},B:6,C:"width: stretch property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-writing-mode.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-writing-mode.js
      index 9432a7ddd124ef..69e0bb453f81c6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-writing-mode.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-writing-mode.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"132":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC","322":"FB GB HB IB JB"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J","16":"D","33":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y","33":"J D E F A MC NC OC PC 2B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC","33":"E ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"tC uC vC","33":"wB I wC EC xC yC"},J:{"33":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"36":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS writing-mode property"};
      +module.exports={A:{A:{"132":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC","322":"FB GB HB IB JB"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J","16":"E","33":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y","33":"J E F G A MC NC OC PC 3B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC","33":"F ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"tC uC vC","33":"wB I wC FC xC yC"},J:{"33":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"36":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS writing-mode property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-zoom.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-zoom.js
      index d1853a76833556..99f00c6b1c9c32 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-zoom.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css-zoom.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D FC","129":"E F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS zoom"};
      +module.exports={A:{A:{"1":"J E GC","129":"F G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS zoom"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-attr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-attr.js
      index 36be2ba32cffc8..adaa49905b55ef 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-attr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-attr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS3 attr() function for all properties"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS3 attr() function for all properties"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-boxsizing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-boxsizing.js
      index 33f64611b06536..29266f66e47902 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-boxsizing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-boxsizing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","8":"J D FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"I y J D E F"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"1B YC EC"},H:{"1":"sC"},I:{"1":"I H wC EC xC yC","33":"wB tC uC vC"},J:{"1":"A","33":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS3 Box-sizing"};
      +module.exports={A:{A:{"1":"F G A B","8":"J E GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"I y J E F G"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"2B YC FC"},H:{"1":"sC"},I:{"1":"I D wC FC xC yC","33":"wB tC uC vC"},J:{"1":"A","33":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS3 Box-sizing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-colors.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-colors.js
      index 277ce09c749edd..c2421beeac08e5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-colors.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-colors.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","4":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","2":"F","4":"TC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Colors"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","4":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","2":"G","4":"TC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Colors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-grab.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-grab.js
      index 3144876938d186..3dcb5353209894 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-grab.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-grab.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"0 1 2 3 4 5 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"C YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS grab & grabbing cursors"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"0 1 2 3 4 5 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"C YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS grab & grabbing cursors"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-newer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-newer.js
      index 1536b449abf4c7..44a2d6fddc211c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-newer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors-newer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"0 1 2 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"I y J D E LC 1B MC NC OC"},F:{"1":"3 4 5 6 7 8 9 C AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC","33":"0 1 2 G M N O z j"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS3 Cursors: zoom-in & zoom-out"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"0 1 2 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"I y J E F LC 2B MC NC OC"},F:{"1":"3 4 5 6 7 8 9 C AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC","33":"0 1 2 H M N O z i"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS3 Cursors: zoom-in & zoom-out"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors.js
      index 8403e6ba9fd4ea..9cdab7bde5e0ac 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-cursors.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","132":"J D E FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","4":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"I"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","4":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","260":"F B C TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","16":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS3 Cursors (original values)"};
      +module.exports={A:{A:{"1":"G A B","132":"J E F GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","4":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"I"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","4":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","260":"G B C TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","16":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"CSS3 Cursors (original values)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-tabsize.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-tabsize.js
      index 454959e00c9aad..b4cf8a21af304d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-tabsize.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/css3-tabsize.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z","164":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z j","132":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC","132":"D E F A B C K NC OC PC 2B tB uB"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC UC VC","132":"0 1 2 3 4 5 6 7 G M N O z j","164":"B C WC tB DC XC uB"},G:{"1":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC","132":"E bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"164":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","132":"xC yC"},J:{"132":"D A"},K:{"1":"k","2":"A","164":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"164":"ED FD"}},B:4,C:"CSS3 tab-size"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z","164":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z i","132":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC","132":"E F G A B C K NC OC PC 3B tB uB"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC UC VC","132":"0 1 2 3 4 5 6 7 H M N O z i","164":"B C WC tB EC XC uB"},G:{"1":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC","132":"F bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"164":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","132":"xC yC"},J:{"132":"E A"},K:{"1":"j","2":"A","164":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"164":"ED FD"}},B:4,C:"CSS3 tab-size"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/currentcolor.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/currentcolor.js
      index 8f2baddf02f60a..876b3293c56602 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/currentcolor.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/currentcolor.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS currentColor value"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS currentColor value"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elements.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elements.js
      index 0fda9ff2147c5b..473bc221ac7e0c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elements.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elements.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","8":"A B"},B:{"1":"P","2":"Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K L G M N O"},C:{"2":"0 1 GC wB I y J D E F A B C K L G M N O z j xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","66":"2 3 4 5 6 7 8","72":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","2":"0 1 2 3 4 5 I y J D E F A B C K L G M N O z j Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","66":"6 7 8 9 AB BB"},E:{"2":"I y LC 1B MC","8":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2":"F B C iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","66":"G M N O z"},G:{"2":"1B YC EC ZC aC","8":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"yC","2":"wB I H tC uC vC wC EC xC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I 0C 1C 2C 3C 4C 2B 5C 6C","2":"j 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"2":"FD","72":"ED"}},B:7,C:"Custom Elements (deprecated V0 spec)"};
      +module.exports={A:{A:{"2":"J E F G GC","8":"A B"},B:{"1":"P","2":"Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K L H M N O"},C:{"2":"0 1 HC wB I y J E F G A B C K L H M N O z i xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","66":"2 3 4 5 6 7 8","72":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","2":"0 1 2 3 4 5 I y J E F G A B C K L H M N O z i Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","66":"6 7 8 9 AB BB"},E:{"2":"I y LC 2B MC","8":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2":"G B C iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","66":"H M N O z"},G:{"2":"2B YC FC ZC aC","8":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"yC","2":"wB I D tC uC vC wC FC xC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I 0C 1C 2C 3C 4C 3B 5C 6C","2":"i 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"2":"FD","72":"ED"}},B:7,C:"Custom Elements (deprecated V0 spec)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elementsv1.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elementsv1.js
      index bc1a5895b8425d..cc4e64a143f302 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elementsv1.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/custom-elementsv1.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","8":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K L G M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 GC wB I y J D E F A B C K L G M N O z j HC IC","8":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","456":"TB UB VB WB XB YB ZB aB bB","712":"xB cB yB dB"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","8":"VB WB","132":"XB YB ZB aB bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J D LC 1B MC NC OC","8":"E F A PC","132":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB DC XC uB","132":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC","132":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","8":"ED"}},B:1,C:"Custom Elements (V1)"};
      +module.exports={A:{A:{"2":"J E F G GC","8":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K L H M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 HC wB I y J E F G A B C K L H M N O z i IC JC","8":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","456":"TB UB VB WB XB YB ZB aB bB","712":"xB cB yB dB"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","8":"VB WB","132":"XB YB ZB aB bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J E LC 2B MC NC OC","8":"F G A PC","132":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB EC XC uB","132":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC","132":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","8":"ED"}},B:1,C:"Custom Elements (V1)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/customevent.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/customevent.js
      index fe6c55dfa3637e..d7d82bbeae3262 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/customevent.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/customevent.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","132":"F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","132":"J D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I","16":"y J D E K L","388":"F A B C"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y J","388":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F TC UC VC WC","132":"B tB DC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"YC","16":"1B EC","388":"ZC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"tC uC vC","388":"wB I wC EC"},J:{"1":"A","388":"D"},K:{"1":"C k uB","2":"A","132":"B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"CustomEvent"};
      +module.exports={A:{A:{"2":"J E F GC","132":"G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","132":"J E F G A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I","16":"y J E F K L","388":"G A B C"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y J","388":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G TC UC VC WC","132":"B tB EC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"YC","16":"2B FC","388":"ZC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"tC uC vC","388":"wB I wC FC"},J:{"1":"A","388":"E"},K:{"1":"C j uB","2":"A","132":"B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"CustomEvent"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datalist.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datalist.js
      index e814e8f96c368e..efdd8c057fcc1b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datalist.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datalist.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E F","260":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G","1284":"M N O"},C:{"1":"i w H x 0B","8":"GC wB HC IC","516":"o p q r s t u v","4612":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n"},D:{"1":"kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"I y J D E F A B C K L G M N O z","132":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y J D E F A B C LC 1B MC NC OC PC 2B tB"},F:{"1":"F B C fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"8":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC","2049":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H yC","8":"wB I tC uC vC wC EC xC"},J:{"1":"A","8":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Datalist element"};
      +module.exports={A:{A:{"2":"GC","8":"J E F G","260":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H","1284":"M N O"},C:{"1":"v w x D 0B 1B","8":"HC wB IC JC","516":"n o p q r s t u","4612":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m"},D:{"1":"kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"I y J E F G A B C K L H M N O z","132":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y J E F G A B C LC 2B MC NC OC PC 3B tB"},F:{"1":"G B C fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"8":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC","2049":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D yC","8":"wB I tC uC vC wC FC xC"},J:{"1":"A","8":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Datalist element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dataset.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dataset.js
      index edfcfb0665d73b..94280733bbb24e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dataset.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dataset.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","4":"J D E F A FC"},B:{"1":"C K L G M","129":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","4":"GC wB I y HC IC","129":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"OB PB QB RB SB TB UB VB WB XB","4":"I y J","129":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"4":"I y LC 1B","129":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"C BB CB DB EB FB GB HB IB JB KB tB DC XC uB","4":"F B TC UC VC WC","129":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"4":"1B YC EC","129":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"4":"sC"},I:{"4":"tC uC vC","129":"wB I H wC EC xC yC"},J:{"129":"D A"},K:{"1":"C tB DC uB","4":"A B","129":"k"},L:{"129":"H"},M:{"129":"i"},N:{"1":"B","4":"A"},O:{"129":"zC"},P:{"129":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"129":"3B"},R:{"129":"DD"},S:{"1":"ED","129":"FD"}},B:1,C:"dataset & data-* attributes"};
      +module.exports={A:{A:{"1":"B","4":"J E F G A GC"},B:{"1":"C K L H M","129":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","4":"HC wB I y IC JC","129":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"OB PB QB RB SB TB UB VB WB XB","4":"I y J","129":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"4":"I y LC 2B","129":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"C BB CB DB EB FB GB HB IB JB KB tB EC XC uB","4":"G B TC UC VC WC","129":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"4":"2B YC FC","129":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"4":"sC"},I:{"4":"tC uC vC","129":"wB I D wC FC xC yC"},J:{"129":"E A"},K:{"1":"C tB EC uB","4":"A B","129":"j"},L:{"129":"D"},M:{"129":"D"},N:{"1":"B","4":"A"},O:{"129":"zC"},P:{"129":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"129":"4B"},R:{"129":"DD"},S:{"1":"ED","129":"FD"}},B:1,C:"dataset & data-* attributes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datauri.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datauri.js
      index 8143d6ba459ee8..32550f4d661317 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datauri.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/datauri.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","132":"E","260":"F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K G M N O","772":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Data URIs"};
      +module.exports={A:{A:{"2":"J E GC","132":"F","260":"G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K H M N O","772":"L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Data URIs"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js
      index f1caef343e1d2f..c669ff26f32615 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"16":"FC","132":"J D E F A B"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N"},C:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC","260":"VB WB XB YB","772":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 I y J D E F A B C K L G M N O z j","260":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB","772":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB"},E:{"1":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B","132":"J D E F A MC NC OC PC","260":"B 2B tB"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F B C TC UC VC WC tB DC XC","132":"uB","260":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","772":"0 1 2 3 G M N O z j"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC","132":"E aC bC cC dC eC fC"},H:{"132":"sC"},I:{"1":"H","16":"wB tC uC vC","132":"I wC EC","772":"xC yC"},J:{"132":"D A"},K:{"1":"k","16":"A B C tB DC","132":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","260":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:6,C:"Date.prototype.toLocaleDateString"};
      +module.exports={A:{A:{"16":"GC","132":"J E F G A B"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N"},C:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC","260":"VB WB XB YB","772":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 I y J E F G A B C K L H M N O z i","260":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB","772":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB"},E:{"1":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B","132":"J E F G A MC NC OC PC","260":"B 3B tB"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G B C TC UC VC WC tB EC XC","132":"uB","260":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","772":"0 1 2 3 H M N O z i"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC","132":"F aC bC cC dC eC fC"},H:{"132":"sC"},I:{"1":"D","16":"wB tC uC vC","132":"I wC FC","772":"xC yC"},J:{"132":"E A"},K:{"1":"j","16":"A B C tB EC","132":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","260":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:6,C:"Date.prototype.toLocaleDateString"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js
      index f6c16cef9faebb..6d8aabccd99e32 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T","66":"U V W X Y"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB TC UC VC WC tB DC XC uB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Declarative Shadow DOM"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T","66":"U V W X Y"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB TC UC VC WC tB EC XC uB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Declarative Shadow DOM"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/decorators.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/decorators.js
      index 3784fda626c390..33b81d489722da 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/decorators.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/decorators.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Decorators"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Decorators"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/details.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/details.js
      index 36414473c9bd91..ab1578e26ce56b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/details.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/details.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"F A B FC","8":"J D E"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC","8":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC","194":"QB RB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"I y J D E F A B","257":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB","769":"C K L G M N O"},E:{"1":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y LC 1B MC","257":"J D E F A NC OC PC","1025":"B 2B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"C tB DC XC uB","8":"F B TC UC VC WC"},G:{"1":"E aC bC cC dC eC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC ZC","1025":"fC gC hC"},H:{"8":"sC"},I:{"1":"I H wC EC xC yC","8":"wB tC uC vC"},J:{"1":"A","8":"D"},K:{"1":"k","8":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Details & Summary elements"};
      +module.exports={A:{A:{"2":"G A B GC","8":"J E F"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC","8":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC","194":"QB RB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"I y J E F G A B","257":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB","769":"C K L H M N O"},E:{"1":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y LC 2B MC","257":"J E F G A NC OC PC","1025":"B 3B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"C tB EC XC uB","8":"G B TC UC VC WC"},G:{"1":"F aC bC cC dC eC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC ZC","1025":"fC gC hC"},H:{"8":"sC"},I:{"1":"I D wC FC xC yC","8":"wB tC uC vC"},J:{"1":"A","8":"E"},K:{"1":"j","8":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Details & Summary elements"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/deviceorientation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/deviceorientation.js
      index 401f57fabcadb7..9ba50558821b05 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/deviceorientation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/deviceorientation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"C K L G M N O","4":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"GC wB HC","4":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"I y IC"},D:{"2":"I y J","4":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","4":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"1B YC","4":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"tC uC vC","4":"wB I H wC EC xC yC"},J:{"2":"D","4":"A"},K:{"1":"C uB","2":"A B tB DC","4":"k"},L:{"4":"H"},M:{"4":"i"},N:{"1":"B","2":"A"},O:{"4":"zC"},P:{"4":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"3B"},R:{"4":"DD"},S:{"4":"ED FD"}},B:4,C:"DeviceOrientation & DeviceMotion events"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"C K L H M N O","4":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"HC wB IC","4":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"I y JC"},D:{"2":"I y J","4":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","4":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"2B YC","4":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"tC uC vC","4":"wB I D wC FC xC yC"},J:{"2":"E","4":"A"},K:{"1":"C uB","2":"A B tB EC","4":"j"},L:{"4":"D"},M:{"4":"D"},N:{"1":"B","2":"A"},O:{"4":"zC"},P:{"4":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"4B"},R:{"4":"DD"},S:{"4":"ED FD"}},B:4,C:"DeviceOrientation & DeviceMotion events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/devicepixelratio.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/devicepixelratio.js
      index 74fca6509c4238..08da3d161b4c98 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/devicepixelratio.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/devicepixelratio.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Window.devicePixelRatio"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Window.devicePixelRatio"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dialog.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dialog.js
      index 8a71d30e3a9380..04fba0c9919d64 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dialog.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dialog.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC","194":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","1218":"Q R zB S T U V W X Y Z a b c d e f g"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB","322":"BB CB DB EB FB"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M N O TC UC VC WC tB DC XC uB","578":"0 1 2 z j"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Dialog element"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC","194":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","1218":"Q R zB S T U V W X Y Z a b c d e f g"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB","322":"BB CB DB EB FB"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M N O TC UC VC WC tB EC XC uB","578":"0 1 2 z i"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Dialog element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dispatchevent.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dispatchevent.js
      index aede6ec222cd69..6a54816e74b699 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dispatchevent.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dispatchevent.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","16":"FC","129":"F A","130":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","129":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"EventTarget.dispatchEvent"};
      +module.exports={A:{A:{"1":"B","16":"GC","129":"G A","130":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","129":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"EventTarget.dispatchEvent"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dnssec.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dnssec.js
      index adfdf1e24abb36..ac38d4fe00b77a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dnssec.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dnssec.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"132":"J D E F A B FC"},B:{"132":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"132":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"132":"I y AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","388":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j"},E:{"132":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"132":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"132":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"132":"sC"},I:{"132":"wB I H tC uC vC wC EC xC yC"},J:{"132":"D A"},K:{"132":"A B C k tB DC uB"},L:{"132":"H"},M:{"132":"i"},N:{"132":"A B"},O:{"132":"zC"},P:{"132":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"3B"},R:{"132":"DD"},S:{"132":"ED FD"}},B:6,C:"DNSSEC and DANE"};
      +module.exports={A:{A:{"132":"J E F G A B GC"},B:{"132":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"132":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"132":"I y AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","388":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i"},E:{"132":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"132":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"132":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"132":"sC"},I:{"132":"wB I D tC uC vC wC FC xC yC"},J:{"132":"E A"},K:{"132":"A B C j tB EC uB"},L:{"132":"D"},M:{"132":"D"},N:{"132":"A B"},O:{"132":"zC"},P:{"132":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"4B"},R:{"132":"DD"},S:{"132":"ED FD"}},B:6,C:"DNSSEC and DANE"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/do-not-track.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/do-not-track.js
      index ef45d222cb2768..ebe3a055c94d9a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/do-not-track.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/do-not-track.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","164":"F A","260":"B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E HC IC","516":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 I y J D E F A B C K L G M N O z j"},E:{"1":"J A B C MC PC 2B tB","2":"I y K L G LC 1B uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","1028":"D E F NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC"},G:{"1":"dC eC fC gC hC iC jC","2":"1B YC EC ZC aC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","1028":"E bC cC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"16":"D","1028":"A"},K:{"1":"k uB","16":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"164":"A","260":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"Do Not Track API"};
      +module.exports={A:{A:{"2":"J E F GC","164":"G A","260":"B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F IC JC","516":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 I y J E F G A B C K L H M N O z i"},E:{"1":"J A B C MC PC 3B tB","2":"I y K L H LC 2B uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","1028":"E F G NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC"},G:{"1":"dC eC fC gC hC iC jC","2":"2B YC FC ZC aC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","1028":"F bC cC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"16":"E","1028":"A"},K:{"1":"j uB","16":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"164":"A","260":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"Do Not Track API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-currentscript.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-currentscript.js
      index 2179ab49d8beaa..a7c282894ec7ef 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-currentscript.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-currentscript.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j"},E:{"1":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"document.currentScript"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i"},E:{"1":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"document.currentScript"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js
      index 223e1bfc04852d..07ed5c22109abf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","16":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"document.evaluate & XPath"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","16":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"document.evaluate & XPath"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-execcommand.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-execcommand.js
      index 3b905792b83ade..c9545e3e7e1111 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-execcommand.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-execcommand.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","16":"F TC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC","16":"EC ZC aC"},H:{"2":"sC"},I:{"1":"H wC EC xC yC","2":"wB I tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"Document.execCommand()"};
      +module.exports={A:{A:{"1":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","16":"G TC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC","16":"FC ZC aC"},H:{"2":"sC"},I:{"1":"D wC FC xC yC","2":"wB I tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"Document.execCommand()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-policy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-policy.js
      index 34c839704c9e06..980e676a9560db 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-policy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-policy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T","132":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T","132":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB TC UC VC WC tB DC XC uB","132":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","132":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","132":"k"},L:{"132":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"132":"DD"},S:{"2":"ED FD"}},B:7,C:"Document Policy"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T","132":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T","132":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB TC UC VC WC tB EC XC uB","132":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","132":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","132":"j"},L:{"132":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"132":"DD"},S:{"2":"ED FD"}},B:7,C:"Document Policy"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-scrollingelement.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-scrollingelement.js
      index 545ac9e218ed35..bbaece4c6084fd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-scrollingelement.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/document-scrollingelement.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C K"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"document.scrollingElement"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C K"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"document.scrollingElement"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/documenthead.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/documenthead.js
      index 73f43d6df3fa1a..816669b4bdecc8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/documenthead.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/documenthead.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F TC UC VC WC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"document.head"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G TC UC VC WC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"document.head"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-manip-convenience.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-manip-convenience.js
      index f101ace6b8fc9d..0f7202b49e9696 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-manip-convenience.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-manip-convenience.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","194":"VB WB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB TC UC VC WC tB DC XC uB","194":"JB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"DOM manipulation convenience methods"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","194":"VB WB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB TC UC VC WC tB EC XC uB","194":"JB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"DOM manipulation convenience methods"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-range.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-range.js
      index 2c6c8b0e92bb1b..8544813b808b50 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-range.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dom-range.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Document Object Model Range"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Document Object Model Range"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/domcontentloaded.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/domcontentloaded.js
      index 6093b076cafb65..a3635abef371c2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/domcontentloaded.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/domcontentloaded.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"DOMContentLoaded"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"DOMContentLoaded"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dommatrix.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dommatrix.js
      index 8fd4c3e024a1c6..f0691f40a18ac1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dommatrix.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dommatrix.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"132":"C K L G M N O","1028":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC","1028":"kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2564":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","3076":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},D:{"16":"I y J D","132":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB","388":"E","1028":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"16":"I LC 1B","132":"y J D E F A MC NC OC PC 2B","1028":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","1028":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"16":"1B YC EC","132":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"132":"I wC EC xC yC","292":"wB tC uC vC","1028":"H"},J:{"16":"D","132":"A"},K:{"2":"A B C tB DC uB","1028":"k"},L:{"1028":"H"},M:{"1028":"i"},N:{"132":"A B"},O:{"1028":"zC"},P:{"132":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1028":"3B"},R:{"1028":"DD"},S:{"1028":"FD","2564":"ED"}},B:4,C:"DOMMatrix"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"132":"C K L H M N O","1028":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC","1028":"kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2564":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB","3076":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB"},D:{"16":"I y J E","132":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB","388":"F","1028":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"16":"I LC 2B","132":"y J E F G A MC NC OC PC 3B","1028":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","1028":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"16":"2B YC FC","132":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"132":"I wC FC xC yC","292":"wB tC uC vC","1028":"D"},J:{"16":"E","132":"A"},K:{"2":"A B C tB EC uB","1028":"j"},L:{"1028":"D"},M:{"1028":"D"},N:{"132":"A B"},O:{"1028":"zC"},P:{"132":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1028":"4B"},R:{"1028":"DD"},S:{"1028":"FD","2564":"ED"}},B:4,C:"DOMMatrix"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/download.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/download.js
      index 5607d321716d9a..6ee259b216db84 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/download.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/download.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O z HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Download attribute"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O z IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Download attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dragndrop.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dragndrop.js
      index 9e3ced44547416..82738d81db2526 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dragndrop.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/dragndrop.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"644":"J D E F FC","772":"A B"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","8":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","8":"F B TC UC VC WC tB DC XC"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","1025":"H"},J:{"2":"D A"},K:{"1":"uB","8":"A B C tB DC","1025":"k"},L:{"1025":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"1025":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:1,C:"Drag and Drop"};
      +module.exports={A:{A:{"644":"J E F G GC","772":"A B"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","8":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","8":"G B TC UC VC WC tB EC XC"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","1025":"D"},J:{"2":"E A"},K:{"1":"uB","8":"A B C tB EC","1025":"j"},L:{"1025":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"1025":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:1,C:"Drag and Drop"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-closest.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-closest.js
      index 81d3fa04760858..3fa1f29cde956d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-closest.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-closest.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB HC IC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Element.closest()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB IC JC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Element.closest()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-from-point.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-from-point.js
      index dcb1ad14077891..9d9d96d9eef636 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-from-point.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-from-point.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","16":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","16":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","16":"F TC UC VC WC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"C k uB","16":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"document.elementFromPoint()"};
      +module.exports={A:{A:{"1":"J E F G A B","16":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","16":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","16":"G TC UC VC WC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"C j uB","16":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"document.elementFromPoint()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-scroll-methods.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-scroll-methods.js
      index d501c10cd1eeca..0a953d8c915126 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-scroll-methods.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/element-scroll-methods.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC","132":"A B C K 2B tB uB 3B"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB TC UC VC WC tB DC XC uB"},G:{"1":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC","132":"fC gC hC iC jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC","132":"A B C K 3B tB uB 4B"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB TC UC VC WC tB EC XC uB"},G:{"1":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC","132":"fC gC hC iC jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eme.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eme.js
      index 42cd9c9eb3c161..8a7ac42461866a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eme.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eme.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","164":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HC IC"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB","132":"EB FB GB HB IB JB KB"},E:{"1":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC","164":"D E F A B OC PC 2B tB"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 F B C G M N O z j TC UC VC WC tB DC XC uB","132":"1 2 3 4 5 6 7"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Encrypted Media Extensions"};
      +module.exports={A:{A:{"2":"J E F G A GC","164":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB IC JC"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB","132":"EB FB GB HB IB JB KB"},E:{"1":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC","164":"E F G A B OC PC 3B tB"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 G B C H M N O z i TC UC VC WC tB EC XC uB","132":"1 2 3 4 5 6 7"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Encrypted Media Extensions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eot.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eot.js
      index 49216b1c99b4dd..9a2818176be6ad 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eot.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eot.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","2":"FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"EOT - Embedded OpenType fonts"};
      +module.exports={A:{A:{"1":"J E F G A B","2":"GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"EOT - Embedded OpenType fonts"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es5.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es5.js
      index bcb9ca8218d532..fe440a8233c7bb 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es5.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es5.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D FC","260":"F","1026":"E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","4":"GC wB HC IC","132":"I y J D E F A B C K L G M N O z j"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"I y J D E F A B C K L G M N O","132":"0 1 z j"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","4":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","4":"F B C TC UC VC WC tB DC XC","132":"uB"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","4":"1B YC EC ZC"},H:{"132":"sC"},I:{"1":"H xC yC","4":"wB tC uC vC","132":"wC EC","900":"I"},J:{"1":"A","4":"D"},K:{"1":"k","4":"A B C tB DC","132":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ECMAScript 5"};
      +module.exports={A:{A:{"1":"A B","2":"J E GC","260":"G","1026":"F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","4":"HC wB IC JC","132":"I y J E F G A B C K L H M N O z i"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"I y J E F G A B C K L H M N O","132":"0 1 z i"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","4":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","4":"G B C TC UC VC WC tB EC XC","132":"uB"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","4":"2B YC FC ZC"},H:{"132":"sC"},I:{"1":"D xC yC","4":"wB tC uC vC","132":"wC FC","900":"I"},J:{"1":"A","4":"E"},K:{"1":"j","4":"A B C tB EC","132":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ECMAScript 5"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-class.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-class.js
      index 365033a623cc76..a30465c7708bfd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-class.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-class.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB","132":"LB MB NB OB PB QB RB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 F B C G M N O z j TC UC VC WC tB DC XC uB","132":"8 9 AB BB CB DB EB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 classes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB","132":"LB MB NB OB PB QB RB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 G B C H M N O z i TC UC VC WC tB EC XC uB","132":"8 9 AB BB CB DB EB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 classes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-generators.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-generators.js
      index d668b261835357..a76e7f10837dbc 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-generators.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-generators.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 Generators"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 Generators"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js
      index 5b484a47cde099..a89ee659344167 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB HC IC","194":"hB"},D:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"JavaScript modules: dynamic import()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB IC JC","194":"hB"},D:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"JavaScript modules: dynamic import()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module.js
      index 52d926e9963eea..36d345231acc2a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-module.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","4097":"M N O","4290":"G"},C:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB HC IC","322":"XB YB ZB aB bB xB"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","194":"cB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC","3076":"2B"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB DC XC uB","194":"QB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC","3076":"gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"JavaScript modules via script tag"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","4097":"M N O","4290":"H"},C:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB IC JC","322":"XB YB ZB aB bB xB"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","194":"cB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC","3076":"3B"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB EC XC uB","194":"QB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC","3076":"gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"JavaScript modules via script tag"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-number.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-number.js
      index 7d3ff645d08d85..1e4846783305c7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-number.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-number.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G HC IC","132":"0 1 2 3 M N O z j","260":"4 5 6 7 8 9","516":"AB"},D:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O","1028":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","1028":"G M N O z j"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC","1028":"wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 Number"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H IC JC","132":"0 1 2 3 M N O z i","260":"4 5 6 7 8 9","516":"AB"},D:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O","1028":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","1028":"H M N O z i"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC","1028":"wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 Number"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-string-includes.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-string-includes.js
      index cfef355f82049a..0032a969882152 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-string-includes.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6-string-includes.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB HC IC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"String.prototype.includes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB IC JC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"String.prototype.includes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6.js
      index af231c1b5e4abc..77e9ca735a4809 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/es6.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","388":"B"},B:{"257":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L","769":"G M N O"},C:{"2":"GC wB I y HC IC","4":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","257":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"I y J D E F A B C K L G M N O z j","4":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","257":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC","4":"E F OC PC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","4":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB","257":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC","4":"E bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","4":"xC yC","257":"H"},J:{"2":"D","4":"A"},K:{"2":"A B C tB DC uB","257":"k"},L:{"257":"H"},M:{"257":"i"},N:{"2":"A","388":"B"},O:{"257":"zC"},P:{"4":"I","257":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"257":"3B"},R:{"257":"DD"},S:{"4":"ED","257":"FD"}},B:6,C:"ECMAScript 2015 (ES6)"};
      +module.exports={A:{A:{"2":"J E F G A GC","388":"B"},B:{"257":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L","769":"H M N O"},C:{"2":"HC wB I y IC JC","4":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","257":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"I y J E F G A B C K L H M N O z i","4":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","257":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC","4":"F G OC PC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","4":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB","257":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC","4":"F bC cC dC eC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","4":"xC yC","257":"D"},J:{"2":"E","4":"A"},K:{"2":"A B C tB EC uB","257":"j"},L:{"257":"D"},M:{"257":"D"},N:{"2":"A","388":"B"},O:{"257":"zC"},P:{"4":"I","257":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"257":"4B"},R:{"257":"DD"},S:{"4":"ED","257":"FD"}},B:6,C:"ECMAScript 2015 (ES6)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eventsource.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eventsource.js
      index 6bd6200e44649e..53e219167d3e22 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eventsource.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/eventsource.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","4":"F TC UC VC WC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"C k tB DC uB","4":"A B"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Server-sent events"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","4":"G TC UC VC WC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"C j tB EC uB","4":"A B"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Server-sent events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/extended-system-fonts.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/extended-system-fonts.js
      index 4313b321b6ae0b..871a6f3a708884 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/extended-system-fonts.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/extended-system-fonts.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/feature-policy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/feature-policy.js
      index 702cc947fcec7f..3043c7440c20d2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/feature-policy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/feature-policy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W","2":"C K L G M N O","1025":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k HC IC","260":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"oB pB qB rB sB P Q R S T U V W","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","132":"cB yB dB eB fB gB hB iB jB kB lB mB nB k","1025":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B LC 1B MC NC OC PC 2B","772":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB DC XC uB","132":"QB RB SB TB UB VB WB XB YB ZB aB bB cB","1025":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC","772":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","1025":"k"},L:{"1025":"H"},M:{"260":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C","132":"3C 4C 2B"},Q:{"132":"3B"},R:{"1025":"DD"},S:{"2":"ED","260":"FD"}},B:7,C:"Feature Policy"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W","2":"C K L H M N O","1025":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j IC JC","260":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"oB pB qB rB sB P Q R S T U V W","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","132":"cB yB dB eB fB gB hB iB jB kB lB mB nB j","1025":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B LC 2B MC NC OC PC 3B","772":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB EC XC uB","132":"QB RB SB TB UB VB WB XB YB ZB aB bB cB","1025":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC","772":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","1025":"j"},L:{"1025":"D"},M:{"260":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C","132":"3C 4C 3B"},Q:{"132":"4B"},R:{"1025":"DD"},S:{"2":"ED","260":"FD"}},B:7,C:"Feature Policy"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fetch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fetch.js
      index edb0561c677673..e9c884062d1231 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fetch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fetch.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB HC IC","1025":"IB","1218":"DB EB FB GB HB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB","260":"JB","772":"KB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 F B C G M N O z j TC UC VC WC tB DC XC uB","260":"6","772":"7"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Fetch"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB IC JC","1025":"IB","1218":"DB EB FB GB HB"},D:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB","260":"JB","772":"KB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 G B C H M N O z i TC UC VC WC tB EC XC uB","260":"6","772":"7"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Fetch"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fieldset-disabled.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fieldset-disabled.js
      index 507c6f4a101765..17c81d576f6b7a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fieldset-disabled.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fieldset-disabled.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"16":"FC","132":"E F","388":"J D A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G","16":"M N O z"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","16":"F TC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"388":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A","260":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"disabled attribute of the fieldset element"};
      +module.exports={A:{A:{"16":"GC","132":"F G","388":"J E A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H","16":"M N O z"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","16":"G TC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"388":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A","260":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"disabled attribute of the fieldset element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fileapi.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fileapi.js
      index 123c40d99621b3..05ae20fe357978 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fileapi.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fileapi.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","260":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","260":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j IC"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y","260":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB","388":"J D E F A B C"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B","260":"J D E F NC OC PC","388":"MC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B TC UC VC WC","260":"0 1 2 3 C G M N O z j tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","260":"E aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H yC","2":"tC uC vC","260":"xC","388":"wB I wC EC"},J:{"260":"A","388":"D"},K:{"1":"k","2":"A B","260":"C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A","260":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"File API"};
      +module.exports={A:{A:{"2":"J E F G GC","260":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","260":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i JC"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y","260":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB","388":"J E F G A B C"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B","260":"J E F G NC OC PC","388":"MC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B TC UC VC WC","260":"0 1 2 3 C H M N O z i tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","260":"F aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D yC","2":"tC uC vC","260":"xC","388":"wB I wC FC"},J:{"260":"A","388":"E"},K:{"1":"j","2":"A B","260":"C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A","260":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"File API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereader.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereader.js
      index 802c7436982884..2d535125c37718 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereader.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereader.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F B TC UC VC WC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"C k tB DC uB","2":"A B"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"FileReader API"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G B TC UC VC WC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"C j tB EC uB","2":"A B"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"FileReader API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereadersync.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereadersync.js
      index c9e9ddd71a14de..e9a23aca6a9e98 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereadersync.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filereadersync.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F TC UC","16":"B VC WC tB DC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"C k DC uB","2":"A","16":"B tB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"FileReaderSync"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G TC UC","16":"B VC WC tB EC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"C j EC uB","2":"A","16":"B tB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"FileReaderSync"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filesystem.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filesystem.js
      index 1d28aaa4228272..1b17c333291355 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filesystem.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/filesystem.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"I y J D","33":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","36":"E F A B C"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D","33":"A"},K:{"2":"A B C tB DC uB","33":"k"},L:{"33":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"33":"zC"},P:{"2":"I","33":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"33":"DD"},S:{"2":"ED FD"}},B:7,C:"Filesystem & FileWriter API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"I y J E","33":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","36":"F G A B C"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E","33":"A"},K:{"2":"A B C tB EC uB","33":"j"},L:{"33":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"33":"zC"},P:{"2":"I","33":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"33":"DD"},S:{"2":"ED FD"}},B:7,C:"Filesystem & FileWriter API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flac.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flac.js
      index 7f182d0e455a66..885674bc0647cd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flac.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flac.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB HC IC"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB","16":"NB OB PB","388":"QB RB SB TB UB VB WB XB YB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","516":"B C tB uB"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"tC uC vC","16":"wB I wC EC xC yC"},J:{"1":"A","2":"D"},K:{"1":"k uB","16":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","129":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"FLAC audio format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB IC JC"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB","16":"NB OB PB","388":"QB RB SB TB UB VB WB XB YB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","516":"B C tB uB"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"tC uC vC","16":"wB I wC FC xC yC"},J:{"1":"A","2":"E"},K:{"1":"j uB","16":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","129":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"FLAC audio format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox-gap.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox-gap.js
      index 489597975aaefe..b791bb0873300a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox-gap.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox-gap.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S"},C:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB HC IC"},D:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S"},E:{"1":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B"},F:{"1":"lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB TC UC VC WC tB DC XC uB"},G:{"1":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"gap property for Flexbox"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S"},C:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB IC JC"},D:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S"},E:{"1":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B"},F:{"1":"lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB TC UC VC WC tB EC XC uB"},G:{"1":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"gap property for Flexbox"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox.js
      index f5291e57d3a188..827dba706cbc2a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flexbox.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","1028":"B","1316":"A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","164":"0 GC wB I y J D E F A B C K L G M N O z j HC IC","516":"1 2 3 4 5 6"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7","164":"I y J D E F A B C K L G M N O z j"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"D E NC OC","164":"I y J LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B C TC UC VC WC tB DC XC","33":"G M"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"E bC cC","164":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"1":"H xC yC","164":"wB I tC uC vC wC EC"},J:{"1":"A","164":"D"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","292":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Flexible Box Layout Module"};
      +module.exports={A:{A:{"2":"J E F G GC","1028":"B","1316":"A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","164":"0 HC wB I y J E F G A B C K L H M N O z i IC JC","516":"1 2 3 4 5 6"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7","164":"I y J E F G A B C K L H M N O z i"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"E F NC OC","164":"I y J LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B C TC UC VC WC tB EC XC","33":"H M"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"F bC cC","164":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"1":"D xC yC","164":"wB I tC uC vC wC FC"},J:{"1":"A","164":"E"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","292":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS Flexible Box Layout Module"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flow-root.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flow-root.js
      index 88f9ef775fcfc0..e0e4ead645d190 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flow-root.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/flow-root.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC"},D:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB TC UC VC WC tB DC XC uB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"display: flow-root"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC"},D:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB TC UC VC WC tB EC XC uB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"display: flow-root"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/focusin-focusout-events.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/focusin-focusout-events.js
      index 1e884613605dd4..40dde6d0f9dcda 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/focusin-focusout-events.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/focusin-focusout-events.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","2":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F TC UC VC WC","16":"B tB DC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"I H wC EC xC yC","2":"tC uC vC","16":"wB"},J:{"1":"D A"},K:{"1":"C k uB","2":"A","16":"B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"focusin & focusout events"};
      +module.exports={A:{A:{"1":"J E F G A B","2":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G TC UC VC WC","16":"B tB EC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"I D wC FC xC yC","2":"tC uC vC","16":"wB"},J:{"1":"E A"},K:{"1":"C j uB","2":"A","16":"B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"focusin & focusout events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-family-system-ui.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-family-system-ui.js
      index 058ab4c054185a..af2790c3202b21 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-family-system-ui.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-family-system-ui.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB HC IC","132":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","260":"WB XB YB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC","16":"F","132":"A PC 2B"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC","132":"dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"132":"ED FD"}},B:5,C:"system-ui value for font-family"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB IC JC","132":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","260":"WB XB YB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC","16":"G","132":"A PC 3B"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC","132":"dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"132":"ED FD"}},B:5,C:"system-ui value for font-family"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-feature.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-feature.js
      index 47d3e71fef76e5..e515c31d863283 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-feature.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-feature.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB","164":"I y J D E F A B C K L"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G","33":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","292":"M N O z j"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"D E F LC 1B NC OC","4":"I y J MC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E bC cC dC","4":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","33":"xC yC"},J:{"2":"D","33":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS font-feature-settings"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB","164":"I y J E F G A B C K L"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H","33":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","292":"M N O z i"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"E F G LC 2B NC OC","4":"I y J MC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F bC cC dC","4":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","33":"xC yC"},J:{"2":"E","33":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS font-feature-settings"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-kerning.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-kerning.js
      index 4bb343a3a73929..c0818040ff52e6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-kerning.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-kerning.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"3 4 5 6 7 8 9 AB BB CB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j","33":"8 9 AB BB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC","33":"D E F OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G TC UC VC WC tB DC XC uB","33":"M N O z"},G:{"1":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","33":"E cC dC eC fC gC hC iC"},H:{"2":"sC"},I:{"1":"H yC","2":"wB I tC uC vC wC EC","33":"xC"},J:{"2":"D","33":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 font-kerning"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"3 4 5 6 7 8 9 AB BB CB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i","33":"8 9 AB BB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC","33":"E F G OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H TC UC VC WC tB EC XC uB","33":"M N O z"},G:{"1":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","33":"F cC dC eC fC gC hC iC"},H:{"2":"sC"},I:{"1":"D yC","2":"wB I tC uC vC wC FC","33":"xC"},J:{"2":"E","33":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 font-kerning"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-loading.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-loading.js
      index 257ff37bc33612..c394a37c570fa1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-loading.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-loading.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB HC IC","194":"EB FB GB HB IB JB"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS Font Loading"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB IC JC","194":"EB FB GB HB IB JB"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS Font Loading"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-size-adjust.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-size-adjust.js
      index ab502c30fe4a2e..13561c66c93799 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-size-adjust.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-size-adjust.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","194":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB","194":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"2":"0 1 2 3 4 5 6 7 8 F B C G M N O z j TC UC VC WC tB DC XC uB","194":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"194":"3B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"CSS font-size-adjust"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","194":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB","194":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"2":"0 1 2 3 4 5 6 7 8 G B C H M N O z i TC UC VC WC tB EC XC uB","194":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"194":"4B"},R:{"2":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"CSS font-size-adjust"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-smooth.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-smooth.js
      index 58a36315f80846..42e81ad3adefa5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-smooth.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-smooth.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","676":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC","804":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"I","676":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"LC 1B","676":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","676":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"804":"ED FD"}},B:7,C:"CSS font-smooth"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","676":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC","804":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"I","676":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"LC 2B","676":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","676":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"804":"ED FD"}},B:7,C:"CSS font-smooth"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-unicode-range.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-unicode-range.js
      index 6230513caa757b..cca9bcc83127a8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-unicode-range.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-unicode-range.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","4":"F A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","4":"C K L G M"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC","194":"FB GB HB IB JB KB LB MB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","4":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","4":"0 1 G M N O z j"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","4":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","4":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","4":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","4":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Font unicode-range subsetting"};
      +module.exports={A:{A:{"2":"J E F GC","4":"G A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","4":"C K L H M"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC","194":"FB GB HB IB JB KB LB MB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","4":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","4":"0 1 H M N O z i"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","4":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","4":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","4":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","4":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Font unicode-range subsetting"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-alternates.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-alternates.js
      index 84ea4f9ca7af93..381ec94e1f8016 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-alternates.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-alternates.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","130":"A B"},B:{"1":"w H x","130":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","130":"0 1 2 I y J D E F A B C K L G M N O z j","322":"3 4 5 6 7 8 9 AB BB CB"},D:{"1":"w H x 0B JC KC","2":"I y J D E F A B C K L G","130":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"D E F LC 1B NC OC","130":"I y J MC"},F:{"1":"h","2":"F B C TC UC VC WC tB DC XC uB","130":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B bC cC dC","130":"YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","130":"xC yC"},J:{"2":"D","130":"A"},K:{"2":"A B C tB DC uB","130":"k"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"130":"zC"},P:{"130":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"130":"3B"},R:{"130":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS font-variant-alternates"};
      +module.exports={A:{A:{"2":"J E F G GC","130":"A B"},B:{"1":"w x D","130":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","130":"0 1 2 I y J E F G A B C K L H M N O z i","322":"3 4 5 6 7 8 9 AB BB CB"},D:{"1":"w x D 0B 1B KC","2":"I y J E F G A B C K L H","130":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"E F G LC 2B NC OC","130":"I y J MC"},F:{"1":"h","2":"G B C TC UC VC WC tB EC XC uB","130":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B bC cC dC","130":"YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","130":"xC yC"},J:{"2":"E","130":"A"},K:{"2":"A B C tB EC uB","130":"j"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"130":"zC"},P:{"130":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"130":"4B"},R:{"130":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS font-variant-alternates"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-numeric.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-numeric.js
      index e6f7d5c4cd2d57..0d8c5ce2287342 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-numeric.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/font-variant-numeric.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB HC IC"},D:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB TC UC VC WC tB DC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","16":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS font-variant-numeric"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB IC JC"},D:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB TC UC VC WC tB EC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","16":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS font-variant-numeric"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fontface.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fontface.js
      index 3d9ba87389e4c3..b3255893c83b35 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fontface.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fontface.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","132":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","2":"F TC"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","260":"1B YC"},H:{"2":"sC"},I:{"1":"I H wC EC xC yC","2":"tC","4":"wB uC vC"},J:{"1":"A","4":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"@font-face Web fonts"};
      +module.exports={A:{A:{"1":"G A B","132":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","2":"G TC"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","260":"2B YC"},H:{"2":"sC"},I:{"1":"I D wC FC xC yC","2":"tC","4":"wB uC vC"},J:{"1":"A","4":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"@font-face Web fonts"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-attribute.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-attribute.js
      index a52192fb7ec370..af204ea8707e45 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-attribute.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-attribute.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Form attribute"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Form attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-submit-attributes.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-submit-attributes.js
      index 0e9e255de1e727..69c60956650d0a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-submit-attributes.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-submit-attributes.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","2":"F TC","16":"UC VC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"I H wC EC xC yC","2":"tC uC vC","16":"wB"},J:{"1":"A","2":"D"},K:{"1":"B C k tB DC uB","16":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Attributes for form submission"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","2":"G TC","16":"UC VC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"I D wC FC xC yC","2":"tC uC vC","16":"wB"},J:{"1":"A","2":"E"},K:{"1":"B C j tB EC uB","16":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Attributes for form submission"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-validation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-validation.js
      index fa1fc78479fdca..a8cdae2d1b1613 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-validation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/form-validation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","132":"y J D E F A MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","2":"F TC"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B","132":"E YC EC ZC aC bC cC dC eC fC"},H:{"516":"sC"},I:{"1":"H yC","2":"wB tC uC vC","132":"I wC EC xC"},J:{"1":"A","132":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:1,C:"Form validation"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","132":"y J E F G A MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","2":"G TC"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B","132":"F YC FC ZC aC bC cC dC eC fC"},H:{"516":"sC"},I:{"1":"D yC","2":"wB tC uC vC","132":"I wC FC xC"},J:{"1":"A","132":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:1,C:"Form validation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/forms.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/forms.js
      index 9d5703687a857a..ec62dbbb8741e9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/forms.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/forms.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","4":"A B","8":"J D E F"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","4":"C K L G"},C:{"4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"GC wB HC IC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"4":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"LC 1B"},F:{"1":"F B C VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","4":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"1B","4":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","4":"xC yC"},J:{"2":"D","4":"A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"4":"i"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","4":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"4":"ED FD"}},B:1,C:"HTML5 form features"};
      +module.exports={A:{A:{"2":"GC","4":"A B","8":"J E F G"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","4":"C K L H"},C:{"4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"HC wB IC JC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"4":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"LC 2B"},F:{"1":"G B C VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","4":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"2":"2B","4":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","4":"xC yC"},J:{"2":"E","4":"A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"4":"D"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","4":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"4":"ED FD"}},B:1,C:"HTML5 form features"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fullscreen.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fullscreen.js
      index 18f13c06449e97..3a575f40fe05ba 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fullscreen.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/fullscreen.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","548":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","516":"C K L G M N O"},C:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F HC IC","676":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","1700":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB"},D:{"1":"mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L","676":"G M N O z","804":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB"},E:{"1":"BC CC SC","2":"I y LC 1B","548":"5B 6B 7B vB 8B 9B AC","676":"MC","804":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B C TC UC VC WC tB DC XC","804":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC","2052":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D","292":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A","548":"B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","804":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Full Screen API"};
      +module.exports={A:{A:{"2":"J E F G A GC","548":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","516":"C K L H M N O"},C:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G IC JC","676":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","1700":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB"},D:{"1":"mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L","676":"H M N O z","804":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB"},E:{"1":"CC DC SC","2":"I y LC 2B","548":"6B 7B 8B vB 9B AC BC","676":"MC","804":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B C TC UC VC WC tB EC XC","804":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC","2052":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E","292":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A","548":"B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","804":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Full Screen API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gamepad.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gamepad.js
      index 841060df8d63cc..f0f094430e6a81 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gamepad.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gamepad.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z j","33":"0 1 2 3"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Gamepad API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z i","33":"0 1 2 3"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Gamepad API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/geolocation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/geolocation.js
      index b852b5f47e8e50..8e6a4dae07a8ce 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/geolocation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/geolocation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J D E"},B:{"1":"C K L G M N O","129":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB HC IC","8":"GC wB","129":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","4":"I","129":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I LC 1B","129":"A"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C M N O z j AB BB CB DB EB FB GB HB WC tB DC XC uB","2":"F G TC","8":"UC VC","129":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC","129":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I tC uC vC wC EC xC yC","129":"H"},J:{"1":"D A"},K:{"1":"B C tB DC uB","8":"A","129":"k"},L:{"129":"H"},M:{"129":"i"},N:{"1":"A B"},O:{"129":"zC"},P:{"1":"I","129":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"129":"3B"},R:{"129":"DD"},S:{"1":"ED","129":"FD"}},B:2,C:"Geolocation"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J E F"},B:{"1":"C K L H M N O","129":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB IC JC","8":"HC wB","129":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","4":"I","129":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I LC 2B","129":"A"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C M N O z i AB BB CB DB EB FB GB HB WC tB EC XC uB","2":"G H TC","8":"UC VC","129":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC","129":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I tC uC vC wC FC xC yC","129":"D"},J:{"1":"E A"},K:{"1":"B C tB EC uB","8":"A","129":"j"},L:{"129":"D"},M:{"129":"D"},N:{"1":"A B"},O:{"129":"zC"},P:{"1":"I","129":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"129":"4B"},R:{"129":"DD"},S:{"1":"ED","129":"FD"}},B:2,C:"Geolocation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getboundingclientrect.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getboundingclientrect.js
      index b4d2c90765f136..99960993bc605d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getboundingclientrect.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getboundingclientrect.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"644":"J D FC","2049":"F A B","2692":"E"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2049":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC","260":"I y J D E F A B","1156":"wB","1284":"HC","1796":"IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","16":"F TC","132":"UC VC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","132":"A"},L:{"1":"H"},M:{"1":"i"},N:{"2049":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Element.getBoundingClientRect()"};
      +module.exports={A:{A:{"644":"J E GC","2049":"G A B","2692":"F"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2049":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC","260":"I y J E F G A B","1156":"wB","1284":"IC","1796":"JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","16":"G TC","132":"UC VC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","132":"A"},L:{"1":"D"},M:{"1":"D"},N:{"2049":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Element.getBoundingClientRect()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getcomputedstyle.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getcomputedstyle.js
      index 81bdbe9e213108..27024f8b7bb804 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getcomputedstyle.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getcomputedstyle.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC","132":"wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","260":"I y J D E F A"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","260":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","260":"F TC UC VC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","260":"1B YC EC"},H:{"260":"sC"},I:{"1":"I H wC EC xC yC","260":"wB tC uC vC"},J:{"1":"A","260":"D"},K:{"1":"B C k tB DC uB","260":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"getComputedStyle"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC","132":"wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","260":"I y J E F G A"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","260":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","260":"G TC UC VC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","260":"2B YC FC"},H:{"260":"sC"},I:{"1":"I D wC FC xC yC","260":"wB tC uC vC"},J:{"1":"A","260":"E"},K:{"1":"B C j tB EC uB","260":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"getComputedStyle"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getelementsbyclassname.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getelementsbyclassname.js
      index 59de00e1ce04d2..2ee9f41067b7bd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getelementsbyclassname.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getelementsbyclassname.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","8":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"getElementsByClassName"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","8":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"getElementsByClassName"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getrandomvalues.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getrandomvalues.js
      index acf06786caf9a2..3375162e7acd90 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getrandomvalues.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/getrandomvalues.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","33":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A","33":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"crypto.getRandomValues()"};
      +module.exports={A:{A:{"2":"J E F G A GC","33":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A","33":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"crypto.getRandomValues()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gyroscope.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gyroscope.js
      index 07b7bb705b5d81..acd5376bbdf6f4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gyroscope.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/gyroscope.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Gyroscope"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Gyroscope"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hardwareconcurrency.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hardwareconcurrency.js
      index d43c94df6ede14..62d63df91e375f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hardwareconcurrency.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hardwareconcurrency.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB"},E:{"2":"I y J D LC 1B MC NC OC","129":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","194":"E F A PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC ZC aC bC","129":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","194":"E cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"navigator.hardwareConcurrency"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB"},E:{"2":"I y J E LC 2B MC NC OC","129":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","194":"F G A PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC ZC aC bC","129":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","194":"F cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"navigator.hardwareConcurrency"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hashchange.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hashchange.js
      index ed0dd7a6e3fe01..ddeed9c44ab0b4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hashchange.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hashchange.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","8":"J D FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","8":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"I"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","8":"F TC UC VC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"2":"sC"},I:{"1":"wB I H uC vC wC EC xC yC","2":"tC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","8":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Hashchange event"};
      +module.exports={A:{A:{"1":"F G A B","8":"J E GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","8":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"I"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","8":"G TC UC VC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"2":"sC"},I:{"1":"wB I D uC vC wC FC xC yC","2":"tC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","8":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Hashchange event"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/heif.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/heif.js
      index b828821c1b28bf..2db46f372ab863 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/heif.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/heif.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A LC 1B MC NC OC PC 2B","130":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC","130":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"HEIF/ISO Base Media File Format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A LC 2B MC NC OC PC 3B","130":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC","130":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"HEIF/ISO Base Media File Format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hevc.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hevc.js
      index c7baa8285d188c..be553be8bb1f03 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hevc.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hevc.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"132":"C K L G M N O","1028":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s","2052":"t u v i w H x 0B JC KC"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","516":"B C tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c TC UC VC WC tB DC XC uB","2052":"d e f g h"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","2052":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","258":"k"},L:{"2052":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I","258":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"HEVC/H.265 video format"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"132":"C K L H M N O","1028":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r","2052":"s t u v w x D 0B 1B KC"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","516":"B C tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c TC UC VC WC tB EC XC uB","2052":"d e f g h"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","2052":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","258":"j"},L:{"2052":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I","258":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"HEVC/H.265 video format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hidden.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hidden.js
      index 844c78c78d0090..f34a4f27ab574d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hidden.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/hidden.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F B TC UC VC WC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"I H wC EC xC yC","2":"wB tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"C k tB DC uB","2":"A B"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"hidden attribute"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G B TC UC VC WC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"I D wC FC xC yC","2":"wB tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"C j tB EC uB","2":"A B"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"hidden attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/high-resolution-time.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/high-resolution-time.js
      index af75609e1999f6..25f7fa024fe6c7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/high-resolution-time.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/high-resolution-time.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z","33":"0 1 2 j"},E:{"1":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"High Resolution Time API"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z","33":"0 1 2 i"},E:{"1":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"High Resolution Time API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/history.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/history.js
      index 2c912b28626a79..3d1487beef0e1c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/history.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/history.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","4":"y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h DC XC uB","2":"F B TC UC VC WC tB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC","4":"EC"},H:{"2":"sC"},I:{"1":"H uC vC EC xC yC","2":"wB I tC wC"},J:{"1":"D A"},K:{"1":"C k tB DC uB","2":"A B"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Session history management"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","4":"y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h EC XC uB","2":"G B TC UC VC WC tB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC","4":"FC"},H:{"2":"sC"},I:{"1":"D uC vC FC xC yC","2":"wB I tC wC"},J:{"1":"E A"},K:{"1":"C j tB EC uB","2":"A B"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Session history management"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html-media-capture.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html-media-capture.js
      index 5ee8c3e678158b..c3c9055ef1c4a7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html-media-capture.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html-media-capture.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC ZC","129":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC","257":"uC vC"},J:{"1":"A","16":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"516":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"16":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"HTML Media Capture"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC ZC","129":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC","257":"uC vC"},J:{"1":"A","16":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"516":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"16":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:2,C:"HTML Media Capture"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html5semantic.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html5semantic.js
      index 8d776ffe53c5f7..8f082f68c91c4a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html5semantic.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/html5semantic.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E","260":"F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC","132":"wB HC IC","260":"I y J D E F A B C K L G M N O z j"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"I y","260":"0 1 2 3 4 J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","132":"I LC 1B","260":"y J MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","132":"F B TC UC VC WC","260":"C tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"1B","260":"YC EC ZC aC"},H:{"132":"sC"},I:{"1":"H xC yC","132":"tC","260":"wB I uC vC wC EC"},J:{"260":"D A"},K:{"1":"k","132":"A","260":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"HTML5 semantic elements"};
      +module.exports={A:{A:{"2":"GC","8":"J E F","260":"G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC","132":"wB IC JC","260":"I y J E F G A B C K L H M N O z i"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"I y","260":"0 1 2 3 4 J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","132":"I LC 2B","260":"y J MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","132":"G B TC UC VC WC","260":"C tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"2B","260":"YC FC ZC aC"},H:{"132":"sC"},I:{"1":"D xC yC","132":"tC","260":"wB I uC vC wC FC"},J:{"260":"E A"},K:{"1":"j","132":"A","260":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"HTML5 semantic elements"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http-live-streaming.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http-live-streaming.js
      index 039ec9d7758abb..a38f10a845f865 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http-live-streaming.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http-live-streaming.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"HTTP Live Streaming (HLS)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O","2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"HTTP Live Streaming (HLS)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http2.js
      index 012fd1606b4ec2..7f181ad3ef1d86 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"C K L G M N O","513":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC","513":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB","513":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC","260":"F A PC 2B"},F:{"1":"7 8 9 AB BB CB DB EB FB GB","2":"0 1 2 3 4 5 6 F B C G M N O z j TC UC VC WC tB DC XC uB","513":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","513":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","513":"k"},L:{"513":"H"},M:{"513":"i"},N:{"2":"A B"},O:{"513":"zC"},P:{"1":"I","513":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"513":"3B"},R:{"513":"DD"},S:{"1":"ED","513":"FD"}},B:6,C:"HTTP/2 protocol"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"C K L H M N O","513":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC","513":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"KB LB MB NB OB PB QB RB SB TB","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB","513":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC","260":"G A PC 3B"},F:{"1":"7 8 9 AB BB CB DB EB FB GB","2":"0 1 2 3 4 5 6 G B C H M N O z i TC UC VC WC tB EC XC uB","513":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","513":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","513":"j"},L:{"513":"D"},M:{"513":"D"},N:{"2":"A B"},O:{"513":"zC"},P:{"1":"I","513":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"513":"4B"},R:{"513":"DD"},S:{"1":"ED","513":"FD"}},B:6,C:"HTTP/2 protocol"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http3.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http3.js
      index ffcc52e860455c..b763fb2cb420d2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http3.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/http3.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","322":"P Q R S T","578":"U V"},C:{"1":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB HC IC","194":"nB k oB pB qB rB sB P Q R zB S T U V W"},D:{"1":"W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB","322":"P Q R S T","578":"U V"},E:{"2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB 3B","2052":"BC CC SC","2116":"vB 8B 9B AC","3140":"L G QC RC 4B 5B 6B 7B"},F:{"1":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB DC XC uB","578":"k"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC","2052":"BC CC","2116":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"HTTP/3 protocol"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","322":"P Q R S T","578":"U V"},C:{"1":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB IC JC","194":"nB j oB pB qB rB sB P Q R zB S T U V W"},D:{"1":"W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB","322":"P Q R S T","578":"U V"},E:{"2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB 4B","2052":"CC DC SC","2116":"vB 9B AC BC","3140":"L H QC RC 5B 6B 7B 8B"},F:{"1":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB EC XC uB","578":"j"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC","2052":"CC DC","2116":"pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"HTTP/3 protocol"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-sandbox.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-sandbox.js
      index b9d8a611e572b9..4ab7ee66357084 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-sandbox.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-sandbox.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M HC IC","4":"0 1 2 3 4 5 6 N O z j"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC"},H:{"2":"sC"},I:{"1":"wB I H uC vC wC EC xC yC","2":"tC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"sandbox attribute for iframes"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M IC JC","4":"0 1 2 3 4 5 6 N O z i"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC"},H:{"2":"sC"},I:{"1":"wB I D uC vC wC FC xC yC","2":"tC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"sandbox attribute for iframes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-seamless.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-seamless.js
      index 30857c5a112bb2..4148652f64c251 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-seamless.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-seamless.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"6 7 8 9 I y J D E F A B C K L G M N O z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","66":"0 1 2 3 4 5 j"},E:{"2":"I y J E F A B C K L G LC 1B MC NC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","130":"D OC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","130":"bC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"seamless attribute for iframes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"6 7 8 9 I y J E F G A B C K L H M N O z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","66":"0 1 2 3 4 5 i"},E:{"2":"I y J F G A B C K L H LC 2B MC NC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","130":"E OC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","130":"bC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"seamless attribute for iframes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-srcdoc.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-srcdoc.js
      index 41598d4cf908f9..df3631aee2919a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-srcdoc.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/iframe-srcdoc.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K L G M N O"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC","8":"0 1 2 3 wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K","8":"L G M N O z"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B","8":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B TC UC VC WC","8":"C tB DC XC uB"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B","8":"YC EC ZC"},H:{"2":"sC"},I:{"1":"H xC yC","8":"wB I tC uC vC wC EC"},J:{"1":"A","8":"D"},K:{"1":"k","2":"A B","8":"C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"srcdoc attribute for iframes"};
      +module.exports={A:{A:{"2":"GC","8":"J E F G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K L H M N O"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC","8":"0 1 2 3 wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K","8":"L H M N O z"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B","8":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B TC UC VC WC","8":"C tB EC XC uB"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B","8":"YC FC ZC"},H:{"2":"sC"},I:{"1":"D xC yC","8":"wB I tC uC vC wC FC"},J:{"1":"A","8":"E"},K:{"1":"j","2":"A B","8":"C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"srcdoc attribute for iframes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imagecapture.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imagecapture.js
      index b525962b6cd372..ec9210bf868723 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imagecapture.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imagecapture.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB HC IC","194":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","322":"WB XB YB ZB aB bB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB TC UC VC WC tB DC XC uB","322":"JB KB LB MB NB OB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:5,C:"ImageCapture API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB IC JC","194":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","322":"WB XB YB ZB aB bB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB TC UC VC WC tB EC XC uB","322":"JB KB LB MB NB OB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:5,C:"ImageCapture API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ime.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ime.js
      index 93ed5db9f6e731..8b907a0cbed262 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ime.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ime.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","161":"B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","161":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A","161":"B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Input Method Editor API"};
      +module.exports={A:{A:{"2":"J E F G A GC","161":"B"},B:{"2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","161":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A","161":"B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Input Method Editor API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js
      index 4692374b93cd06..ef71ea645daf64 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"naturalWidth & naturalHeight image properties"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"naturalWidth & naturalHeight image properties"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/import-maps.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/import-maps.js
      index e1ec0f56300d49..58e0b6d1fb1720 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/import-maps.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/import-maps.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","194":"P Q R S T U V W X"},C:{"1":"u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n HC IC","322":"o p q r s t"},D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k","194":"oB pB qB rB sB P Q R S T U V W X"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB DC XC uB","194":"dB eB fB gB hB iB jB kB lB mB nB k oB pB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Import maps"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","194":"P Q R S T U V W X"},C:{"1":"t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m IC JC","322":"n o p q r s"},D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j","194":"oB pB qB rB sB P Q R S T U V W X"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB EC XC uB","194":"dB eB fB gB hB iB jB kB lB mB nB j oB pB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Import maps"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imports.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imports.js
      index d9cacb87c2e534..548d1758fc2dc8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imports.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/imports.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","8":"A B"},B:{"1":"P","2":"Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 GC wB I y J D E F A B C K L G M N O z j HC IC","8":"9 AB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","72":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","2":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","66":"9 AB BB CB DB","72":"EB"},E:{"2":"I y LC 1B MC","8":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2":"F B C G M iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","66":"0 N O z j","72":"1"},G:{"2":"1B YC EC ZC aC","8":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"8":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I 0C 1C 2C 3C 4C 2B 5C 6C","2":"j 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"1":"ED","8":"FD"}},B:5,C:"HTML Imports"};
      +module.exports={A:{A:{"2":"J E F G GC","8":"A B"},B:{"1":"P","2":"Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 HC wB I y J E F G A B C K L H M N O z i IC JC","8":"9 AB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","72":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","2":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","66":"9 AB BB CB DB","72":"EB"},E:{"2":"I y LC 2B MC","8":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2":"G B C H M iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","66":"0 N O z i","72":"1"},G:{"2":"2B YC FC ZC aC","8":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"8":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I 0C 1C 2C 3C 4C 3B 5C 6C","2":"i 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"1":"ED","8":"FD"}},B:5,C:"HTML Imports"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js
      index 53e41a3a5861d1..08fd7f06eb9f12 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","16":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB","16":"HC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"indeterminate checkbox"};
      +module.exports={A:{A:{"1":"J E F G A B","16":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB","16":"IC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"indeterminate checkbox"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb.js
      index 5c6e9c4bc8deab..ef3b846dea6dfc 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"A B C K L G","36":"I y J D E F"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"A","8":"I y J D E F","33":"2","36":"0 1 B C K L G M N O z j"},E:{"1":"A B C K L G 2B tB uB 3B RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y J D LC 1B MC NC","260":"E F OC PC","516":"QC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC UC","8":"B C VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC ZC aC bC","260":"E cC dC eC","516":"qC"},H:{"2":"sC"},I:{"1":"H xC yC","8":"wB I tC uC vC wC EC"},J:{"1":"A","8":"D"},K:{"1":"k","2":"A","8":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"IndexedDB"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"A B C K L H","36":"I y J E F G"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"A","8":"I y J E F G","33":"2","36":"0 1 B C K L H M N O z i"},E:{"1":"A B C K L H 3B tB uB 4B RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y J E LC 2B MC NC","260":"F G OC PC","516":"QC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC UC","8":"B C VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC ZC aC bC","260":"F cC dC eC","516":"qC"},H:{"2":"sC"},I:{"1":"D xC yC","8":"wB I tC uC vC wC FC"},J:{"1":"A","8":"E"},K:{"1":"j","2":"A","8":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"IndexedDB"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb2.js
      index aa09eb2ad8172f..53c475504ede1c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/indexeddb2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB HC IC","132":"NB OB PB","260":"QB RB SB TB"},D:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","132":"RB SB TB UB","260":"VB WB XB YB ZB aB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB","132":"EB FB GB HB","260":"IB JB KB LB MB NB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC","16":"fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","260":"0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","260":"ED"}},B:2,C:"IndexedDB 2.0"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB IC JC","132":"NB OB PB","260":"QB RB SB TB"},D:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB","132":"RB SB TB UB","260":"VB WB XB YB ZB aB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB","132":"EB FB GB HB","260":"IB JB KB LB MB NB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC","16":"fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","260":"0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","260":"ED"}},B:2,C:"IndexedDB 2.0"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/inline-block.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/inline-block.js
      index ba022c74e2d64b..0ba7c37b61c504 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/inline-block.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/inline-block.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","4":"FC","132":"J D"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","36":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS inline-block"};
      +module.exports={A:{A:{"1":"F G A B","4":"GC","132":"J E"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","36":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS inline-block"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/innertext.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/innertext.js
      index 2ac7cc547d7609..77a6ad8aafcb91 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/innertext.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/innertext.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","16":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"HTMLElement.innerText"};
      +module.exports={A:{A:{"1":"J E F G A B","16":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"HTMLElement.innerText"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js
      index 990465fe316902..bbf59b945b19e4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A FC","132":"B"},B:{"132":"C K L G M N O","260":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 GC wB I y J D E F A B C K L G M N O z j HC IC","516":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 N O z j","2":"I y J D E F A B C K L G M","132":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB","260":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J MC NC","2":"I y LC 1B","2052":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC","1025":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1025":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2052":"A B"},O:{"1025":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"3B"},R:{"1":"DD"},S:{"516":"ED FD"}},B:1,C:"autocomplete attribute: on & off values"};
      +module.exports={A:{A:{"1":"J E F G A GC","132":"B"},B:{"132":"C K L H M N O","260":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 HC wB I y J E F G A B C K L H M N O z i IC JC","516":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 N O z i","2":"I y J E F G A B C K L H M","132":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB","260":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J MC NC","2":"I y LC 2B","2052":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC","1025":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1025":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2052":"A B"},O:{"1025":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"4B"},R:{"1":"DD"},S:{"516":"ED FD"}},B:1,C:"autocomplete attribute: on & off values"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-color.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-color.js
      index 10027341877e2f..cf2b143e484653 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-color.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-color.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F G M TC UC VC WC"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC","129":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Color input type"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G H M TC UC VC WC"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC","129":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Color input type"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-datetime.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-datetime.js
      index 8cb2aaab36169e..995a3911104265 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-datetime.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-datetime.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC","1090":"WB XB YB ZB","2052":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b","4100":"c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z","2052":"0 1 2 3 j"},E:{"2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B","4100":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC","260":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB tC uC vC","514":"I wC EC"},J:{"1":"A","2":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"4100":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2052":"ED FD"}},B:1,C:"Date and time input types"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC","1090":"WB XB YB ZB","2052":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b","4100":"c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z","2052":"0 1 2 3 i"},E:{"2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B","4100":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC","260":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB tC uC vC","514":"I wC FC"},J:{"1":"A","2":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"4100":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2052":"ED FD"}},B:1,C:"Date and time input types"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-email-tel-url.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-email-tel-url.js
      index 4b64c61c6fa9c4..47d3513b4fb246 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-email-tel-url.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-email-tel-url.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","132":"tC uC vC"},J:{"1":"A","132":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Email, telephone & URL input types"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","132":"tC uC vC"},J:{"1":"A","132":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Email, telephone & URL input types"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-event.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-event.js
      index 3c07316373c780..2b64a2a5672141 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-event.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-event.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","2561":"A B","2692":"F"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2561":"C K L G M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC","1537":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC","1796":"wB HC"},D:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L","1025":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB","1537":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y J LC 1B","1025":"D E F A B C NC OC PC 2B tB","1537":"MC","4097":"K uB"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","16":"F B C TC UC VC WC tB DC","260":"XC","1025":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","1537":"0 G M N O z j"},G:{"1":"mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC","1025":"E cC dC eC fC gC hC iC jC","1537":"ZC aC bC","4097":"kC lC"},H:{"2":"sC"},I:{"16":"tC uC","1025":"H yC","1537":"wB I vC wC EC xC"},J:{"1025":"A","1537":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2561":"A B"},O:{"1":"zC"},P:{"1025":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","1537":"ED"}},B:1,C:"input event"};
      +module.exports={A:{A:{"2":"J E F GC","2561":"A B","2692":"G"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2561":"C K L H M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC","1537":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB JC","1796":"wB IC"},D:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L","1025":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB","1537":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y J LC 2B","1025":"E F G A B C NC OC PC 3B tB","1537":"MC","4097":"K uB"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","16":"G B C TC UC VC WC tB EC","260":"XC","1025":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","1537":"0 H M N O z i"},G:{"1":"mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC","1025":"F cC dC eC fC gC hC iC jC","1537":"ZC aC bC","4097":"kC lC"},H:{"2":"sC"},I:{"16":"tC uC","1025":"D yC","1537":"wB I vC wC FC xC"},J:{"1025":"A","1537":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2561":"A B"},O:{"1":"zC"},P:{"1025":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","1537":"ED"}},B:1,C:"input event"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-accept.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-accept.js
      index ca5134b04b1bb5..8104df92d3313d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-accept.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-accept.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","132":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I","16":"0 1 2 3 4 y J D E","132":"F A B C K L G M N O z j"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","132":"J D E F A B NC OC PC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"2":"aC bC","132":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","514":"1B YC EC ZC"},H:{"2":"sC"},I:{"2":"tC uC vC","260":"wB I wC EC","514":"H xC yC"},J:{"132":"A","260":"D"},K:{"2":"A B C tB DC uB","514":"k"},L:{"260":"H"},M:{"2":"i"},N:{"514":"A","1028":"B"},O:{"2":"zC"},P:{"260":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"3B"},R:{"260":"DD"},S:{"1":"ED FD"}},B:1,C:"accept attribute for file input"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","132":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I","16":"0 1 2 3 4 y J E F","132":"G A B C K L H M N O z i"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","132":"J E F G A B NC OC PC 3B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"2":"aC bC","132":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","514":"2B YC FC ZC"},H:{"2":"sC"},I:{"2":"tC uC vC","260":"wB I wC FC","514":"D xC yC"},J:{"132":"A","260":"E"},K:{"2":"A B C tB EC uB","514":"j"},L:{"260":"D"},M:{"2":"D"},N:{"514":"A","1028":"B"},O:{"2":"zC"},P:{"260":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"4B"},R:{"260":"DD"},S:{"1":"ED FD"}},B:1,C:"accept attribute for file input"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-directory.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-directory.js
      index 21bf2a941d4813..01a70af3481485 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-directory.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-directory.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB HC IC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Directory selection from file input"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB IC JC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Directory selection from file input"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-multiple.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-multiple.js
      index 8bea5beb04be87..970e7427141f6e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-multiple.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-file-multiple.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","2":"F TC UC VC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"130":"sC"},I:{"130":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"130":"A B C k tB DC uB"},L:{"132":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"130":"zC"},P:{"130":"I","132":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"3B"},R:{"132":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Multiple file selection"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","2":"G TC UC VC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"130":"sC"},I:{"130":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"130":"A B C j tB EC uB"},L:{"132":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"130":"zC"},P:{"130":"I","132":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"4B"},R:{"132":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Multiple file selection"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-inputmode.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-inputmode.js
      index 2a13587de94be0..6fd3a4cc6f4e18 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-inputmode.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-inputmode.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M HC IC","4":"N O z j","194":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d"},D:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","66":"ZB aB bB xB cB yB dB eB fB gB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB DC XC uB","66":"MB NB OB PB QB RB SB TB UB VB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:1,C:"inputmode attribute"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M IC JC","4":"N O z i","194":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d"},D:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB","66":"ZB aB bB xB cB yB dB eB fB gB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB EC XC uB","66":"MB NB OB PB QB RB SB TB UB VB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:1,C:"inputmode attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-minlength.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-minlength.js
      index 69cd106c472286..f665300aa66687 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-minlength.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-minlength.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB HC IC"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Minimum length attribute for input fields"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB IC JC"},D:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Minimum length attribute for input fields"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-number.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-number.js
      index 0ebd370069bf1c..84263b32eb7b22 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-number.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-number.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","129":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K","1025":"L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC","513":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"388":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB tC uC vC","388":"I H wC EC xC yC"},J:{"2":"D","388":"A"},K:{"1":"A B C tB DC uB","388":"k"},L:{"388":"H"},M:{"641":"i"},N:{"388":"A B"},O:{"388":"zC"},P:{"388":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"388":"3B"},R:{"388":"DD"},S:{"513":"ED FD"}},B:1,C:"Number input type"};
      +module.exports={A:{A:{"2":"J E F G GC","129":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K","1025":"L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC","513":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"388":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB tC uC vC","388":"I D wC FC xC yC"},J:{"2":"E","388":"A"},K:{"1":"A B C tB EC uB","388":"j"},L:{"388":"D"},M:{"641":"D"},N:{"388":"A B"},O:{"388":"zC"},P:{"388":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"388":"4B"},R:{"388":"DD"},S:{"513":"ED FD"}},B:1,C:"Number input type"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-pattern.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-pattern.js
      index edcc4fbb72e100..3d802e093fc6e1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-pattern.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-pattern.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y","388":"J D E F A MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC","388":"E ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H yC","2":"wB I tC uC vC wC EC xC"},J:{"1":"A","2":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Pattern attribute for input fields"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y","388":"J E F G A MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC","388":"F ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D yC","2":"wB I tC uC vC wC FC xC"},J:{"1":"A","2":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Pattern attribute for input fields"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-placeholder.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-placeholder.js
      index 89db0199327da0..d0bb064083b098 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-placeholder.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-placeholder.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","132":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h DC XC uB","2":"F TC UC VC WC","132":"B tB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB H tC uC vC EC xC yC","4":"I wC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"input placeholder attribute"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","132":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h EC XC uB","2":"G TC UC VC WC","132":"B tB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB D tC uC vC FC xC yC","4":"I wC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"input placeholder attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-range.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-range.js
      index 259d25480df16c..0acf69d29308d0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-range.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-range.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"H EC xC yC","4":"wB I tC uC vC wC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Range input type"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"D FC xC yC","4":"wB I tC uC vC wC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Range input type"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-search.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-search.js
      index 02103eb71ceb6f..0a22219f4a7adb 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-search.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-search.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","129":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K L G M N O"},C:{"2":"GC wB HC IC","129":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"0 1 2 3 4 I y J D E F A B C K L","129":"G M N O z j"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F TC UC VC WC","16":"B tB DC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"129":"sC"},I:{"1":"H xC yC","16":"tC uC","129":"wB I vC wC EC"},J:{"1":"D","129":"A"},K:{"1":"C k","2":"A","16":"B tB DC","129":"uB"},L:{"1":"H"},M:{"129":"i"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"129":"ED FD"}},B:1,C:"Search input type"};
      +module.exports={A:{A:{"2":"J E F G GC","129":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K L H M N O"},C:{"2":"HC wB IC JC","129":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"0 1 2 3 4 I y J E F G A B C K L","129":"H M N O z i"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G TC UC VC WC","16":"B tB EC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"129":"sC"},I:{"1":"D xC yC","16":"tC uC","129":"wB I vC wC FC"},J:{"1":"E","129":"A"},K:{"1":"C j","2":"A","16":"B tB EC","129":"uB"},L:{"1":"D"},M:{"129":"D"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"129":"ED FD"}},B:1,C:"Search input type"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-selection.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-selection.js
      index 6180b42dd74ab6..b1357f5f22c99c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-selection.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/input-selection.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","16":"F TC UC VC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Selection controls for input & textarea"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","16":"G TC UC VC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Selection controls for input & textarea"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insert-adjacent.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insert-adjacent.js
      index 7b73fef6eb9579..4c995518f78443 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insert-adjacent.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insert-adjacent.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","16":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"};
      +module.exports={A:{A:{"1":"J E F G A B","16":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insertadjacenthtml.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insertadjacenthtml.js
      index 14049b8175e50e..25947a91badbc0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insertadjacenthtml.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/insertadjacenthtml.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","16":"FC","132":"J D E F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","16":"F TC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Element.insertAdjacentHTML()"};
      +module.exports={A:{A:{"1":"A B","16":"GC","132":"J E F G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","16":"G TC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Element.insertAdjacentHTML()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/internationalization.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/internationalization.js
      index 0138329d10af1d..06a8a266a2e260 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/internationalization.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/internationalization.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 I y J D E F A B C K L G M N O z j"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Internationalization API"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 I y J E F G A B C K L H M N O z i"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Internationalization API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js
      index 411bf757f3bdfc..c0c81758b08e9e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"IntersectionObserver V2"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"IntersectionObserver V2"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver.js
      index 3b6e3d9cd047b0..8677e21c292764 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intersectionobserver.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O","2":"C K L","516":"G","1025":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC","194":"VB WB XB"},D:{"1":"bB xB cB yB dB eB fB","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","516":"UB VB WB XB YB ZB aB","1025":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB TC UC VC WC tB DC XC uB","516":"HB IB JB KB LB MB NB","1025":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","1025":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","1025":"k"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","516":"0C 1C"},Q:{"1025":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"IntersectionObserver"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O","2":"C K L","516":"H","1025":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC","194":"VB WB XB"},D:{"1":"bB xB cB yB dB eB fB","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","516":"UB VB WB XB YB ZB aB","1025":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB"},F:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB TC UC VC WC tB EC XC uB","516":"HB IB JB KB LB MB NB","1025":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","1025":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","1025":"j"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","516":"0C 1C"},Q:{"1025":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"IntersectionObserver"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intl-pluralrules.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intl-pluralrules.js
      index e04ffd4bbd3b02..5ce9bfd56ec108 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intl-pluralrules.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intl-pluralrules.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N","130":"O"},C:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB HC IC"},D:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB DC XC uB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Intl.PluralRules API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N","130":"O"},C:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB IC JC"},D:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB EC XC uB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Intl.PluralRules API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intrinsic-width.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intrinsic-width.js
      index f142f1c4551299..5c69b1b2a6f53a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intrinsic-width.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/intrinsic-width.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","1025":"d e f g h l m n o p q r s t u v i w H x","1537":"P Q R S T U V W X Y Z a b c"},C:{"2":"GC","932":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB HC IC","2308":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 I y J D E F A B C K L G M N O z j","545":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB","1025":"d e f g h l m n o p q r s t u v i w H x 0B JC KC","1537":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC","516":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B","548":"F A PC 2B","676":"D E NC OC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","513":"DB","545":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB","1025":"e f g h","1537":"CB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d"},G:{"1":"vB 8B 9B AC BC CC","2":"1B YC EC ZC aC","516":"pC qC rC 4B 5B 6B 7B","548":"dC eC fC gC hC iC jC kC lC mC nC oC","676":"E bC cC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","545":"xC yC","1025":"H"},J:{"2":"D","545":"A"},K:{"2":"A B C tB DC uB","1025":"k"},L:{"1025":"H"},M:{"2308":"i"},N:{"2":"A B"},O:{"1537":"zC"},P:{"545":"I","1025":"j AD BD CD","1537":"0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB"},Q:{"1537":"3B"},R:{"1537":"DD"},S:{"932":"ED","2308":"FD"}},B:5,C:"Intrinsic & Extrinsic Sizing"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","1025":"d e f g h k l m n o p q r s t u v w x D","1537":"P Q R S T U V W X Y Z a b c"},C:{"2":"HC","932":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB IC JC","2308":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 I y J E F G A B C K L H M N O z i","545":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB","1025":"d e f g h k l m n o p q r s t u v w x D 0B 1B KC","1537":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J LC 2B MC","516":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B","548":"G A PC 3B","676":"E F NC OC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","513":"DB","545":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB","1025":"e f g h","1537":"CB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d"},G:{"1":"vB 9B AC BC CC DC","2":"2B YC FC ZC aC","516":"pC qC rC 5B 6B 7B 8B","548":"dC eC fC gC hC iC jC kC lC mC nC oC","676":"F bC cC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","545":"xC yC","1025":"D"},J:{"2":"E","545":"A"},K:{"2":"A B C tB EC uB","1025":"j"},L:{"1025":"D"},M:{"2308":"D"},N:{"2":"A B"},O:{"1537":"zC"},P:{"545":"I","1025":"i AD BD CD","1537":"0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB"},Q:{"1537":"4B"},R:{"1537":"DD"},S:{"932":"ED","2308":"FD"}},B:5,C:"Intrinsic & Extrinsic Sizing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpeg2000.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpeg2000.js
      index 0c2799c38e0a05..a1e632a655e25a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpeg2000.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpeg2000.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","129":"y MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"JPEG 2000 image format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","129":"y MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"JPEG 2000 image format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxl.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxl.js
      index 46774a30a330f3..a47ca26b449795 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxl.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxl.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z i w H x","578":"a b c d e f g h l m n o p q r s t u v"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y HC IC","322":"Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z i w H x 0B JC KC","194":"a b c d e f g h l m n o p q r s t u v"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB TC UC VC WC tB DC XC uB","194":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"JPEG XL image format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z v w x D","578":"a b c d e f g h k l m n o p q r s t u"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y IC JC","322":"Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z v w x D 0B 1B KC","194":"a b c d e f g h k l m n o p q r s t u"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB TC UC VC WC tB EC XC uB","194":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"JPEG XL image format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxr.js
      index 20a90f4445e571..90eed97ccd6498 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/jpegxr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"JPEG XR image format"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O","2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"JPEG XR image format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js
      index c7515b981375fc..525254fd544a19 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB HC IC"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB TC UC VC WC tB DC XC uB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Lookbehind in JS regular expressions"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB IC JC"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB TC UC VC WC tB EC XC uB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Lookbehind in JS regular expressions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/json.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/json.js
      index 2d204fd194095a..5ac475e6fc63d1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/json.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/json.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D FC","129":"E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"JSON parsing"};
      +module.exports={A:{A:{"1":"G A B","2":"J E GC","129":"F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"JSON parsing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js
      index 6040d6a0e2860c..d0a52d183326ba 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G","132":"M N O"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC"},D:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","132":"aB bB xB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC","132":"2B"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB","132":"NB OB PB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC","132":"gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C","132":"2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:5,C:"CSS justify-content: space-evenly"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H","132":"M N O"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC"},D:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","132":"aB bB xB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC","132":"3B"},F:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB","132":"NB OB PB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC","132":"gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C","132":"2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","132":"ED"}},B:5,C:"CSS justify-content: space-evenly"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js
      index f0caf51219cbfd..4ba524e6e14c20 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"tC uC vC","132":"wB I wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"High-quality kerning pairs & ligatures"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"tC uC vC","132":"wB I wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"High-quality kerning pairs & ligatures"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js
      index 3060b8e953c522..cb58aac50e84ed 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","16":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC","16":"C"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k uB","2":"A B tB DC","16":"C"},L:{"1":"H"},M:{"130":"i"},N:{"130":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"KeyboardEvent.charCode"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","16":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC","16":"C"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j uB","2":"A B tB EC","16":"C"},L:{"1":"D"},M:{"130":"D"},N:{"130":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"KeyboardEvent.charCode"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-code.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-code.js
      index 4ab57968c8cb18..8edbe4b91048cf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-code.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-code.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HC IC"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB","194":"LB MB NB OB PB QB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 F B C G M N O z j TC UC VC WC tB DC XC uB","194":"8 9 AB BB CB DB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"194":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I","194":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"194":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.code"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB IC JC"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB","194":"LB MB NB OB PB QB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 G B C H M N O z i TC UC VC WC tB EC XC uB","194":"8 9 AB BB CB DB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"194":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I","194":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"194":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.code"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js
      index 5e7d80c6ac0c43..43383d3991b3e9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B G M TC UC VC WC tB DC XC","16":"C"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k uB","2":"A B tB DC","16":"C"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.getModifierState()"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B H M TC UC VC WC tB EC XC","16":"C"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j uB","2":"A B tB EC","16":"C"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.getModifierState()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-key.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-key.js
      index 425ec850482541..f19cd6d4ecdbf9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-key.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-key.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","260":"F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 GC wB I y J D E F A B C K L G M N O z j HC IC","132":"2 3 4 5 6 7"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"0 1 2 3 4 5 6 7 8 9 F B G M N O z j AB BB CB DB EB FB GB TC UC VC WC tB DC XC","16":"C"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"1":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k uB","2":"A B tB DC","16":"C"},L:{"1":"H"},M:{"1":"i"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.key"};
      +module.exports={A:{A:{"2":"J E F GC","260":"G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 HC wB I y J E F G A B C K L H M N O z i IC JC","132":"2 3 4 5 6 7"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"0 1 2 3 4 5 6 7 8 9 G B H M N O z i AB BB CB DB EB FB GB TC UC VC WC tB EC XC","16":"C"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"1":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j uB","2":"A B tB EC","16":"C"},L:{"1":"D"},M:{"1":"D"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.key"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-location.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-location.js
      index 684132fcfe0f43..c97dc337634f17 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-location.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-location.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"J LC 1B","132":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC","16":"C","132":"G M"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC","132":"ZC aC bC"},H:{"2":"sC"},I:{"1":"H xC yC","16":"tC uC","132":"wB I vC wC EC"},J:{"132":"D A"},K:{"1":"k uB","2":"A B tB DC","16":"C"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.location"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"J LC 2B","132":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC","16":"C","132":"H M"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC","132":"ZC aC bC"},H:{"2":"sC"},I:{"1":"D xC yC","16":"tC uC","132":"wB I vC wC FC"},J:{"132":"E A"},K:{"1":"j uB","2":"A B tB EC","16":"C"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"KeyboardEvent.location"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-which.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-which.js
      index f4721689d67271..a888bb35f94593 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-which.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/keyboardevent-which.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","16":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","16":"F TC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC","16":"tC uC","132":"xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"132":"H"},M:{"132":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"2":"I","132":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"132":"DD"},S:{"1":"ED FD"}},B:7,C:"KeyboardEvent.which"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","16":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","16":"G TC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC","16":"tC uC","132":"xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"132":"D"},M:{"132":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"2":"I","132":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"132":"DD"},S:{"1":"ED FD"}},B:7,C:"KeyboardEvent.which"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/lazyload.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/lazyload.js
      index 4eda635cea44e6..fbb94b67e40d1e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/lazyload.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/lazyload.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"1":"B","2":"A"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Resource Hints: Lazyload"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O","2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"1":"B","2":"A"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Resource Hints: Lazyload"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/let.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/let.js
      index 0dd9b4fd8fda35..e62d1db5a4b82e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/let.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/let.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","2052":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","194":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O","322":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB","516":"KB LB MB NB OB PB QB RB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC","1028":"A 2B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","322":"0 1 2 3 4 5 6 G M N O z j","516":"7 8 9 AB BB CB DB EB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC","1028":"fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","516":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"let"};
      +module.exports={A:{A:{"2":"J E F G A GC","2052":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","194":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O","322":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB","516":"KB LB MB NB OB PB QB RB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC","1028":"A 3B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","322":"0 1 2 3 4 5 6 H M N O z i","516":"7 8 9 AB BB CB DB EB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC","1028":"fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","516":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"let"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-png.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-png.js
      index e7f99ff59c979f..f3585754f16487 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-png.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-png.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","130":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC"},H:{"130":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D","130":"A"},K:{"1":"k","130":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"130":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"PNG favicons"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","130":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC"},H:{"130":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E","130":"A"},K:{"1":"j","130":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"130":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"PNG favicons"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-svg.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-svg.js
      index a1b76d387a06e3..f955fe7febf976 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-svg.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-icon-svg.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P","1537":"Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"GC wB HC IC","260":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB","513":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","1537":"Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB XB YB ZB aB bB cB dB eB fB gB hB TC UC VC WC tB DC XC uB","1537":"iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","130":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC"},H:{"130":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D","130":"A"},K:{"130":"A B C tB DC uB","1537":"k"},L:{"1537":"H"},M:{"2":"i"},N:{"130":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 2B 5C 6C","1537":"j 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"1537":"DD"},S:{"513":"ED FD"}},B:1,C:"SVG favicons"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P","1537":"Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"HC wB IC JC","260":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB","513":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","1537":"Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB XB YB ZB aB bB cB dB eB fB gB hB TC UC VC WC tB EC XC uB","1537":"iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","130":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC"},H:{"130":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E","130":"A"},K:{"130":"A B C tB EC uB","1537":"j"},L:{"1537":"D"},M:{"2":"D"},N:{"130":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 3B 5C 6C","1537":"i 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"1537":"DD"},S:{"513":"ED FD"}},B:1,C:"SVG favicons"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js
      index 08977ee416799c..fad56ea186315d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E FC","132":"F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"GC wB","260":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"16":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"16":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","16":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Resource Hints: dns-prefetch"};
      +module.exports={A:{A:{"1":"A B","2":"J E F GC","132":"G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"HC wB","260":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"16":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"16":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","16":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Resource Hints: dns-prefetch"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js
      index 48f7aca50ad0d5..98e64272adc3ea 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB"},E:{"1":"SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Resource Hints: modulepreload"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B IC JC"},D:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB"},E:{"1":"SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Resource Hints: modulepreload"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preconnect.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preconnect.js
      index bb13b77007799d..43557ebc46d263 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preconnect.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preconnect.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","260":"G M N O"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","129":"IB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"16":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Resource Hints: preconnect"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","260":"H M N O"},C:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","129":"IB"},D:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"16":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Resource Hints: preconnect"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prefetch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prefetch.js
      index 17ce191fc0e738..38ab5d6d9e0512 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prefetch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prefetch.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D"},E:{"2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB","194":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC","194":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"I H xC yC","2":"wB tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Resource Hints: prefetch"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E"},E:{"2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB","194":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC","194":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"I D xC yC","2":"wB tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Resource Hints: prefetch"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preload.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preload.js
      index 5508c894f97aa4..8fa2178a1606af 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preload.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-preload.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M","1028":"N O"},C:{"1":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB HC IC","132":"ZB","578":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T"},D:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","322":"B"},F:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC","322":"hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Resource Hints: preload"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M","1028":"N O"},C:{"1":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB IC JC","132":"ZB","578":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T"},D:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","322":"B"},F:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC","322":"hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Resource Hints: preload"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prerender.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prerender.js
      index 947417efb6b983..9a89bae93d7b2b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prerender.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/link-rel-prerender.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Resource Hints: prerender"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Resource Hints: prerender"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/loading-lazy-attr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/loading-lazy-attr.js
      index 5f258021eb80ae..dfd48e5005b324 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/loading-lazy-attr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/loading-lazy-attr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB HC IC","132":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB","66":"pB qB"},E:{"1":"BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB","322":"L G 3B QC RC 4B","580":"5B 6B 7B vB 8B 9B AC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB DC XC uB","66":"dB eB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC","322":"oC pC qC rC 4B","580":"5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"132":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED","132":"FD"}},B:1,C:"Lazy loading via attribute for images & iframes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB IC JC","132":"pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB","66":"pB qB"},E:{"1":"CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB","322":"L H 4B QC RC 5B","580":"6B 7B 8B vB 9B AC BC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB EC XC uB","66":"dB eB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC","322":"oC pC qC rC 5B","580":"6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"132":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED","132":"FD"}},B:1,C:"Lazy loading via attribute for images & iframes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/localecompare.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/localecompare.js
      index 4a36d415cc937f..86f8c249eb2281 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/localecompare.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/localecompare.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","16":"FC","132":"J D E F A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 I y J D E F A B C K L G M N O z j"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","132":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F B C TC UC VC WC tB DC XC","132":"uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"E 1B YC EC ZC aC bC cC dC eC"},H:{"132":"sC"},I:{"1":"H xC yC","132":"wB I tC uC vC wC EC"},J:{"132":"D A"},K:{"1":"k","16":"A B C tB DC","132":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","132":"A"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","4":"ED"}},B:6,C:"localeCompare()"};
      +module.exports={A:{A:{"1":"B","16":"GC","132":"J E F G A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 I y J E F G A B C K L H M N O z i"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","132":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G B C TC UC VC WC tB EC XC","132":"uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"F 2B YC FC ZC aC bC cC dC eC"},H:{"132":"sC"},I:{"1":"D xC yC","132":"wB I tC uC vC wC FC"},J:{"132":"E A"},K:{"1":"j","16":"A B C tB EC","132":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","132":"A"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","4":"ED"}},B:6,C:"localeCompare()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/magnetometer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/magnetometer.js
      index 90c0339f9c21be..371b207bb56a7a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/magnetometer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/magnetometer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"194":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"Magnetometer"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"194":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"Magnetometer"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchesselector.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchesselector.js
      index eaacd29e257088..fe72c4ff4c18b1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchesselector.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchesselector.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","36":"F A B"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","36":"C K L"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC","36":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB IC"},D:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","36":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","36":"y J D MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B TC UC VC WC tB","36":"C G M N O z j DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B","36":"YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H","2":"tC","36":"wB I uC vC wC EC xC yC"},J:{"36":"D A"},K:{"1":"k","2":"A B","36":"C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"36":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","36":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"matches() DOM method"};
      +module.exports={A:{A:{"2":"J E F GC","36":"G A B"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","36":"C K L"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC","36":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB JC"},D:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","36":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","36":"y J E MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B TC UC VC WC tB","36":"C H M N O z i EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B","36":"YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D","2":"tC","36":"wB I uC vC wC FC xC yC"},J:{"36":"E A"},K:{"1":"j","2":"A B","36":"C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"36":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","36":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"matches() DOM method"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchmedia.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchmedia.js
      index 313c65a4415243..8974695b7d1aac 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchmedia.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/matchmedia.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B C TC UC VC WC tB DC XC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"matchMedia"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B C TC UC VC WC tB EC XC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"matchMedia"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mathml.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mathml.js
      index 07d61390dc959c..f271dbf1451275 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mathml.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mathml.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"F A B FC","8":"J D E"},B:{"2":"C K L G M N O","8":"P Q R S T U V W X Y Z a b c d e f","584":"g h l m n o p q r s t u","1025":"v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","129":"GC wB HC IC"},D:{"1":"3","8":"0 1 2 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f","584":"g h l m n o p q r s t u","1025":"v i w H x 0B JC KC"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","260":"I y J D E F LC 1B MC NC OC PC"},F:{"2":"F","8":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB","584":"S T U V W X Y Z a b c d","1025":"e f g h","2052":"B C TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC"},H:{"8":"sC"},I:{"8":"wB I tC uC vC wC EC xC yC","1025":"H"},J:{"1":"A","8":"D"},K:{"8":"A B C k tB DC uB"},L:{"1025":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"8":"zC"},P:{"8":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"8":"3B"},R:{"8":"DD"},S:{"1":"ED FD"}},B:2,C:"MathML"};
      +module.exports={A:{A:{"2":"G A B GC","8":"J E F"},B:{"2":"C K L H M N O","8":"P Q R S T U V W X Y Z a b c d e f","584":"g h k l m n o p q r s t","1025":"u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","129":"HC wB IC JC"},D:{"1":"3","8":"0 1 2 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f","584":"g h k l m n o p q r s t","1025":"u v w x D 0B 1B KC"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","260":"I y J E F G LC 2B MC NC OC PC"},F:{"2":"G","8":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB","584":"S T U V W X Y Z a b c d","1025":"e f g h","2052":"B C TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC"},H:{"8":"sC"},I:{"8":"wB I tC uC vC wC FC xC yC","1025":"D"},J:{"1":"A","8":"E"},K:{"8":"A B C j tB EC uB"},L:{"1025":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"8":"zC"},P:{"8":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"8":"4B"},R:{"8":"DD"},S:{"1":"ED FD"}},B:2,C:"MathML"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/maxlength.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/maxlength.js
      index 8aec0e58fbe275..4bf2f1730368e0 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/maxlength.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/maxlength.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","16":"FC","900":"J D E F"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","1025":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","900":"GC wB HC IC","1025":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"y LC","900":"I 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F","132":"B C TC UC VC WC tB DC XC uB"},G:{"1":"YC EC ZC aC bC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B","2052":"E cC"},H:{"132":"sC"},I:{"1":"wB I vC wC EC xC yC","16":"tC uC","4097":"H"},J:{"1":"D A"},K:{"132":"A B C tB DC uB","4097":"k"},L:{"4097":"H"},M:{"4097":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"4097":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1025":"ED FD"}},B:1,C:"maxlength attribute for input and textarea elements"};
      +module.exports={A:{A:{"1":"A B","16":"GC","900":"J E F G"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","1025":"C K L H M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","900":"HC wB IC JC","1025":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"y LC","900":"I 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G","132":"B C TC UC VC WC tB EC XC uB"},G:{"1":"YC FC ZC aC bC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B","2052":"F cC"},H:{"132":"sC"},I:{"1":"wB I vC wC FC xC yC","16":"tC uC","4097":"D"},J:{"1":"E A"},K:{"132":"A B C tB EC uB","4097":"j"},L:{"4097":"D"},M:{"4097":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"4097":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1025":"ED FD"}},B:1,C:"maxlength attribute for input and textarea elements"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js
      index 078bf1f9c9a008..9c4d3f26198f5a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M HC IC","33":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"I y J LC 1B MC NC SC","33":"D E F A OC PC 2B"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC","33":"E bC cC dC eC fC gC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"isolate-override from unicode-bidi"};
      +module.exports={A:{D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M IC JC","33":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"I y J LC 2B MC NC SC","33":"E F G A OC PC 3B"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC","33":"F bC cC dC eC fC gC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"isolate-override from unicode-bidi"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js
      index ea083c3592daa5..c703419c388730 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G","33":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F HC IC","33":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"I y LC 1B MC SC","33":"J D E F A NC OC PC 2B"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"E aC bC cC dC eC fC gC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"isolate from unicode-bidi"};
      +module.exports={A:{D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H","33":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G IC JC","33":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"I y LC 2B MC SC","33":"J E F G A NC OC PC 3B"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"F aC bC cC dC eC fC gC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"isolate from unicode-bidi"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js
      index 978330a1e572a7..9d68ffcd375523 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F HC IC","33":"0 1 2 3 4 5 6 7 8 9 A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"I y LC 1B MC SC","33":"J D E F A NC OC PC 2B"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"E aC bC cC dC eC fC gC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"plaintext from unicode-bidi"};
      +module.exports={A:{D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G IC JC","33":"0 1 2 3 4 5 6 7 8 9 A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"I y LC 2B MC SC","33":"J E F G A NC OC PC 3B"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"F aC bC cC dC eC fC gC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"plaintext from unicode-bidi"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js
      index 49bd31589b09fb..b1e51032aca032 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","33":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"I y J D LC 1B MC NC OC SC","33":"E F A B C PC 2B tB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","33":"E cC dC eC fC gC hC iC jC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"text-decoration-color property"};
      +module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","33":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"I y J E LC 2B MC NC OC SC","33":"F G A B C PC 3B tB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","33":"F cC dC eC fC gC hC iC jC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"text-decoration-color property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js
      index 2f14424ff740c7..c8014d610da16d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","33":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"I y J D LC 1B MC NC OC SC","33":"E F A B C PC 2B tB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","33":"E cC dC eC fC gC hC iC jC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"text-decoration-line property"};
      +module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","33":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"I y J E LC 2B MC NC OC SC","33":"F G A B C PC 3B tB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","33":"F cC dC eC fC gC hC iC jC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"text-decoration-line property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js
      index c1fb5959a78b6a..93d4838e375dea 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"2":"I y J D LC 1B MC NC OC SC","33":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC"},G:{"2":"1B YC EC ZC aC bC","33":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"text-decoration shorthand property"};
      +module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"2":"I y J E LC 2B MC NC OC SC","33":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC"},G:{"2":"2B YC FC ZC aC bC","33":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"text-decoration shorthand property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js
      index c695f8c5f5c924..6f8d04c0d584db 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js
      @@ -1 +1 @@
      -module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"H"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","33":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB"},M:{"1":"i"},A:{"2":"J D E F A B FC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB"},K:{"1":"k","2":"A B C tB DC uB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"I y J D LC 1B MC NC OC SC","33":"E F A B C PC 2B tB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","33":"E cC dC eC fC gC hC iC jC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"}},B:6,C:"text-decoration-style property"};
      +module.exports={A:{D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},L:{"1":"D"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","33":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB"},M:{"1":"D"},A:{"2":"J E F G A B GC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB"},K:{"1":"j","2":"A B C tB EC uB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"I y J E LC 2B MC NC OC SC","33":"F G A B C PC 3B tB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","33":"F cC dC eC fC gC hC iC jC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"}},B:6,C:"text-decoration-style property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/media-fragments.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/media-fragments.js
      index 18d3cb925db781..6e2412b0085ec4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/media-fragments.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/media-fragments.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","132":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB HC IC","132":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"I y J D E F A B C K L G M N","132":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y LC 1B MC","132":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"1B YC EC ZC aC bC","132":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","132":"H xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","132":"k"},L:{"132":"H"},M:{"132":"i"},N:{"132":"A B"},O:{"132":"zC"},P:{"2":"I 0C","132":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"3B"},R:{"132":"DD"},S:{"132":"ED FD"}},B:2,C:"Media Fragments"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","132":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB IC JC","132":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"I y J E F G A B C K L H M N","132":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y LC 2B MC","132":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"2B YC FC ZC aC bC","132":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","132":"D xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","132":"j"},L:{"132":"D"},M:{"132":"D"},N:{"132":"A B"},O:{"132":"zC"},P:{"2":"I 0C","132":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"4B"},R:{"132":"DD"},S:{"132":"ED FD"}},B:2,C:"Media Fragments"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js
      index d664ff3b1cd06b..55286f64507815 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB HC IC","260":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","324":"UB VB WB XB YB ZB aB bB xB cB yB"},E:{"2":"I y J D E F A LC 1B MC NC OC PC 2B","132":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB","324":"FB GB HB IB JB KB LB MB NB OB PB QB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"260":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"260":"ED FD"}},B:5,C:"Media Capture from DOM Elements API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB IC JC","260":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","324":"UB VB WB XB YB ZB aB bB xB cB yB"},E:{"2":"I y J E F G A LC 2B MC NC OC PC 3B","132":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB","324":"FB GB HB IB JB KB LB MB NB OB PB QB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"260":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"260":"ED FD"}},B:5,C:"Media Capture from DOM Elements API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediarecorder.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediarecorder.js
      index c17ad9f1af7f31..910cc4ff2d4e05 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediarecorder.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediarecorder.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","194":"QB RB"},E:{"1":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","322":"K L uB 3B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB TC UC VC WC tB DC XC uB","194":"DB EB"},G:{"1":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC","578":"jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"MediaRecorder API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB","194":"QB RB"},E:{"1":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","322":"K L uB 4B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB TC UC VC WC tB EC XC uB","194":"DB EB"},G:{"1":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC","578":"jC kC lC mC nC oC pC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"MediaRecorder API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediasource.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediasource.js
      index e9997711427537..f79b579409932b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediasource.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mediasource.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC","66":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M","33":"2 3 4 5 6 7 8 9","66":"0 1 N O z j"},E:{"1":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC","260":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H yC","2":"wB I tC uC vC wC EC xC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Media Source Extensions"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC","66":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M","33":"2 3 4 5 6 7 8 9","66":"0 1 N O z i"},E:{"1":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC","260":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D yC","2":"wB I tC uC vC wC FC xC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Media Source Extensions"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/menu.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/menu.js
      index b2249c0cc3ff1f..038ef23607ba21 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/menu.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/menu.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"GC wB I y J D HC IC","132":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T","450":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","66":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","66":"EB FB GB HB IB JB KB LB MB NB OB PB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"450":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Context menu item (menuitem element)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"HC wB I y J E IC JC","132":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T","450":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","66":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","66":"EB FB GB HB IB JB KB LB MB NB OB PB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"450":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Context menu item (menuitem element)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meta-theme-color.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meta-theme-color.js
      index f7b18bb7d7730c..aa8cae0a516e1e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meta-theme-color.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meta-theme-color.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB","132":"k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","258":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B QC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"513":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","16":"0C"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:1,C:"theme-color Meta Tag"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB","132":"j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","258":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B QC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"513":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","16":"0C"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:1,C:"theme-color Meta Tag"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meter.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meter.js
      index ad72c358f117af..68eb639fd030c8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meter.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/meter.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F TC UC VC WC"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"meter element"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G TC UC VC WC"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"meter element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/midi.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/midi.js
      index 04d0e01fbace36..5d4e38c5cfa284 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/midi.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/midi.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t HC IC"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Web MIDI API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s IC JC"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Web MIDI API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/minmaxwh.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/minmaxwh.js
      index de857ece9b79d7..bd6c4bb640d5f4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/minmaxwh.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/minmaxwh.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","8":"J FC","129":"D","257":"E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS min/max-width/height"};
      +module.exports={A:{A:{"1":"G A B","8":"J GC","129":"E","257":"F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS min/max-width/height"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mp3.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mp3.js
      index ebec8fcd935221..de2b638a9b2f04 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mp3.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mp3.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","132":"0 I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","2":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"MP3 audio format"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","132":"0 I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","2":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"MP3 audio format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg-dash.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg-dash.js
      index 490b691000f6d0..7e2a36e88f0a61 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg-dash.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg-dash.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","386":"0 1"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O","2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","386":"0 1"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg4.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg4.js
      index 0fa3c0529535fb..a16e9e23f8d1a6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg4.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mpeg4.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O z j HC IC","4":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H xC yC","4":"wB I tC uC wC EC","132":"vC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"260":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"MPEG-4/H.264 video format"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O z i IC JC","4":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D xC yC","4":"wB I tC uC wC FC","132":"vC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"260":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"MPEG-4/H.264 video format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multibackgrounds.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multibackgrounds.js
      index fe1d67cbea500c..c350b46cb15b0d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multibackgrounds.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multibackgrounds.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Multiple backgrounds"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 Multiple backgrounds"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multicolumn.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multicolumn.js
      index fa9fdc15392516..f52b7a99870115 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multicolumn.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/multicolumn.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O","516":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"132":"VB WB XB YB ZB aB bB xB cB yB dB eB fB","164":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC","516":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a","1028":"b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"420":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","516":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","132":"F PC","164":"D E OC","420":"I y J LC 1B MC NC"},F:{"1":"C tB DC XC uB","2":"F B TC UC VC WC","420":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB","516":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"dC eC","164":"E bC cC","420":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"420":"wB I tC uC vC wC EC xC yC","516":"H"},J:{"420":"D A"},K:{"1":"C tB DC uB","2":"A B","516":"k"},L:{"516":"H"},M:{"1028":"i"},N:{"1":"A B"},O:{"516":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","420":"I"},Q:{"516":"3B"},R:{"516":"DD"},S:{"164":"ED FD"}},B:4,C:"CSS3 Multiple column layout"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O","516":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"132":"VB WB XB YB ZB aB bB xB cB yB dB eB fB","164":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC","516":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a","1028":"b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"420":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","516":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","132":"G PC","164":"E F OC","420":"I y J LC 2B MC NC"},F:{"1":"C tB EC XC uB","2":"G B TC UC VC WC","420":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB","516":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"dC eC","164":"F bC cC","420":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"420":"wB I tC uC vC wC FC xC yC","516":"D"},J:{"420":"E A"},K:{"1":"C tB EC uB","2":"A B","516":"j"},L:{"516":"D"},M:{"1028":"D"},N:{"1":"A B"},O:{"516":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","420":"I"},Q:{"516":"4B"},R:{"516":"DD"},S:{"164":"ED FD"}},B:4,C:"CSS3 Multiple column layout"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutation-events.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutation-events.js
      index bc5cb1f102ecd2..ff347c7de37a0c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutation-events.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutation-events.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","260":"F A B"},B:{"132":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M N O"},C:{"2":"GC wB I y HC IC","260":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"16":"I y J D E F A B C K L","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"16":"LC 1B","132":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"C XC uB","2":"F TC UC VC WC","16":"B tB DC","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"16":"1B YC","132":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"16":"tC uC","132":"wB I H vC wC EC xC yC"},J:{"132":"D A"},K:{"1":"C uB","2":"A","16":"B tB DC","132":"k"},L:{"132":"H"},M:{"260":"i"},N:{"260":"A B"},O:{"132":"zC"},P:{"132":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"3B"},R:{"132":"DD"},S:{"260":"ED FD"}},B:5,C:"Mutation events"};
      +module.exports={A:{A:{"2":"J E F GC","260":"G A B"},B:{"132":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M N O"},C:{"2":"HC wB I y IC JC","260":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"16":"I y J E F G A B C K L","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"16":"LC 2B","132":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"C XC uB","2":"G TC UC VC WC","16":"B tB EC","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"16":"2B YC","132":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"16":"tC uC","132":"wB I D vC wC FC xC yC"},J:{"132":"E A"},K:{"1":"C uB","2":"A","16":"B tB EC","132":"j"},L:{"132":"D"},M:{"260":"D"},N:{"260":"A B"},O:{"132":"zC"},P:{"132":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"132":"4B"},R:{"132":"DD"},S:{"260":"ED FD"}},B:5,C:"Mutation events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutationobserver.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutationobserver.js
      index d7e1ed901c80de..98145d8eded30b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutationobserver.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/mutationobserver.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E FC","8":"F A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K HC IC"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N","33":"0 1 2 3 4 5 O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB tC uC vC","8":"I wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","8":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Mutation Observer"};
      +module.exports={A:{A:{"1":"B","2":"J E F GC","8":"G A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K IC JC"},D:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N","33":"0 1 2 3 4 5 O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB tC uC vC","8":"I wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","8":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Mutation Observer"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/namevalue-storage.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/namevalue-storage.js
      index a0097e2aceee69..f64a7c197686e3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/namevalue-storage.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/namevalue-storage.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","2":"FC","8":"J D"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","4":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Storage - name/value pairs"};
      +module.exports={A:{A:{"1":"F G A B","2":"GC","8":"J E"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","4":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Storage - name/value pairs"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/native-filesystem-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/native-filesystem-api.js
      index ef6c669a48023f..e85c1afb3512bb 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/native-filesystem-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/native-filesystem-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","194":"P Q R S T U","260":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i HC IC","516":"w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k","194":"oB pB qB rB sB P Q R S T U","260":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC","516":"4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB DC XC uB","194":"dB eB fB gB hB iB jB kB lB mB","260":"nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC","516":"4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","516":"H"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"516":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"File System Access API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","194":"P Q R S T U","260":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v IC JC","516":"w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j","194":"oB pB qB rB sB P Q R S T U","260":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC","516":"5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB EC XC uB","194":"dB eB fB gB hB iB jB kB lB mB","260":"nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC","516":"5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","516":"D"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"516":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"File System Access API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/nav-timing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/nav-timing.js
      index 8014d4f998a53d..b95a7f1358d352 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/nav-timing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/nav-timing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y","33":"J D E F A B C"},E:{"1":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"I H wC EC xC yC","2":"wB tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Navigation Timing API"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y","33":"J E F G A B C"},E:{"1":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"I D wC FC xC yC","2":"wB tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Navigation Timing API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/netinfo.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/netinfo.js
      index bf75a58420f22d..ba6f33db855467 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/netinfo.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/netinfo.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","1028":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB","1028":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB TC UC VC WC tB DC XC uB","1028":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"tC xC yC","132":"wB I uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","132":"I","516":"0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"FD","260":"ED"}},B:7,C:"Network Information API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","1028":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB","1028":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB TC UC VC WC tB EC XC uB","1028":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"tC xC yC","132":"wB I uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","132":"I","516":"0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"FD","260":"ED"}},B:7,C:"Network Information API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/notifications.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/notifications.js
      index 766b6b3bbd2c59..e37ef5e3b6de46 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/notifications.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/notifications.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I","36":"0 y J D E F A B C K L G M N O z j"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC","1028":"BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","36":"H xC yC"},J:{"1":"A","2":"D"},K:{"2":"A B C tB DC uB","36":"k"},L:{"513":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"36":"I","258":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"258":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Notifications"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I","36":"0 y J E F G A B C K L H M N O z i"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC","1028":"CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","36":"D xC yC"},J:{"1":"A","2":"E"},K:{"2":"A B C tB EC uB","36":"j"},L:{"513":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"36":"I","258":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"258":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Notifications"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-entries.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-entries.js
      index 8f839b7ef516bf..eb21ebb44375da 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-entries.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-entries.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","16":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Object.entries"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","16":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Object.entries"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-fit.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-fit.js
      index 693e5fcf883bc1..4724e2c7a8078f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-fit.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-fit.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G","260":"M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC","132":"E F OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F G M N O TC UC VC","33":"B C WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","132":"E cC dC eC"},H:{"33":"sC"},I:{"1":"H yC","2":"wB I tC uC vC wC EC xC"},J:{"2":"D A"},K:{"1":"k","2":"A","33":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 object-fit/object-position"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H","260":"M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC","132":"F G OC PC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G H M N O TC UC VC","33":"B C WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","132":"F cC dC eC"},H:{"33":"sC"},I:{"1":"D yC","2":"wB I tC uC vC wC FC xC"},J:{"2":"E A"},K:{"1":"j","2":"A","33":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 object-fit/object-position"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-observe.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-observe.js
      index a9a99963eec71d..53f3f8a34559b1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-observe.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-observe.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB","2":"0 1 F B C G M N O z j GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I","2":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Object.observe data binding"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB","2":"0 1 G B C H M N O z i GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I","2":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Object.observe data binding"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-values.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-values.js
      index 059150b4cdbc55..2b574fbda89a2f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-values.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/object-values.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"8":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"8":"sC"},I:{"1":"H","8":"wB I tC uC vC wC EC xC yC"},J:{"8":"D A"},K:{"1":"k","8":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","8":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Object.values method"};
      +module.exports={A:{A:{"8":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"8":"sC"},I:{"1":"D","8":"wB I tC uC vC wC FC xC yC"},J:{"8":"E A"},K:{"1":"j","8":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","8":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Object.values method"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/objectrtc.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/objectrtc.js
      index c83d65b44d1665..a9f4fd68a2b4ab 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/objectrtc.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/objectrtc.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O","2":"C P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D","130":"A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Object RTC (ORTC) API for WebRTC"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O","2":"C P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E","130":"A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Object RTC (ORTC) API for WebRTC"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offline-apps.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offline-apps.js
      index efb4df68f9e360..abe9351e8c0a24 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offline-apps.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offline-apps.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"F FC","8":"J D E"},B:{"1":"C K L G M N O P Q R S T","2":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S HC IC","2":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","4":"wB","8":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T","2":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB WC tB DC XC uB","2":"F k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC","8":"UC VC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I tC uC vC wC EC xC yC","2":"H"},J:{"1":"D A"},K:{"1":"B C tB DC uB","2":"A k"},L:{"2":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"Offline web applications"};
      +module.exports={A:{A:{"1":"A B","2":"G GC","8":"J E F"},B:{"1":"C K L H M N O P Q R S T","2":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S IC JC","2":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","4":"wB","8":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T","2":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB WC tB EC XC uB","2":"G j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC","8":"UC VC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I tC uC vC wC FC xC yC","2":"D"},J:{"1":"E A"},K:{"1":"B C tB EC uB","2":"A j"},L:{"2":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"Offline web applications"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offscreencanvas.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offscreencanvas.js
      index 12be75d8856fbe..718bc017a3d5cb 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offscreencanvas.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/offscreencanvas.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB HC IC","194":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q"},D:{"1":"kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","322":"bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB TC UC VC WC tB DC XC uB","322":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:1,C:"OffscreenCanvas"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB IC JC","194":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p"},D:{"1":"kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","322":"bB xB cB yB dB eB fB gB hB iB jB"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB TC UC VC WC tB EC XC uB","322":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:1,C:"OffscreenCanvas"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogg-vorbis.js
      index 143df26fff8dac..9933fe19c1ac44 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogg-vorbis.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogg-vorbis.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B","132":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"A","2":"D"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Ogg Vorbis audio format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B","132":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"A","2":"E"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Ogg Vorbis audio format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogv.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogv.js
      index 1a548819260f56..2074e40e6c43f4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogv.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ogv.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","8":"F A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:6,C:"Ogg/Theora video format"};
      +module.exports={A:{A:{"2":"J E F GC","8":"G A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K L H M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:6,C:"Ogg/Theora video format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ol-reversed.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ol-reversed.js
      index 1b3b1001a76bbf..71a01154590a9e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ol-reversed.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ol-reversed.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G","16":"M N O z"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC","16":"C"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Reversed attribute of ordered lists"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H","16":"M N O z"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","16":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC","16":"C"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Reversed attribute of ordered lists"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/once-event-listener.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/once-event-listener.js
      index 57c2a3cdbae79a..cd0ec45ab865b5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/once-event-listener.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/once-event-listener.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB HC IC"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"\"once\" event listener option"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H"},C:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB IC JC"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"\"once\" event listener option"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/online-status.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/online-status.js
      index c31f20bfcc1746..086bed3751cc10 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/online-status.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/online-status.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D FC","260":"E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB","516":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC","4":"uB"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"A","132":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Online/offline status"};
      +module.exports={A:{A:{"1":"G A B","2":"J E GC","260":"F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB","516":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC","4":"uB"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"A","132":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Online/offline status"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/opus.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/opus.js
      index 9256e922450a9c..b26702c6f9b95c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/opus.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/opus.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB"},E:{"2":"I y J D E F A LC 1B MC NC OC PC 2B","132":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M N O z TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC","132":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Opus audio format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB"},E:{"2":"I y J E F G A LC 2B MC NC OC PC 3B","132":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M N O z TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC","132":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Opus audio format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/orientation-sensor.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/orientation-sensor.js
      index be8aba4f714f88..2b9a7d866e12ae 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/orientation-sensor.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/orientation-sensor.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Orientation Sensor"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB","194":"bB xB cB yB dB eB fB gB hB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Orientation Sensor"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/outline.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/outline.js
      index c1b9e60fcd6b3d..4c562ff8cf15f4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/outline.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/outline.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","260":"E","388":"F A B"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","388":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC","129":"uB","260":"F B TC UC VC WC tB DC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"C k uB","260":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"388":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS outline properties"};
      +module.exports={A:{A:{"2":"J E GC","260":"F","388":"G A B"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","388":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC","129":"uB","260":"G B TC UC VC WC tB EC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"C j uB","260":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"388":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS outline properties"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pad-start-end.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pad-start-end.js
      index 4a23c4a343ffda..09a07fc4b972c2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pad-start-end.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pad-start-end.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/page-transition-events.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/page-transition-events.js
      index e0cb10c182b7de..530e273b353741 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/page-transition-events.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/page-transition-events.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"PageTransitionEvent"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"PageTransitionEvent"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pagevisibility.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pagevisibility.js
      index e711d4e136e8bf..bc6776c8a7d927 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pagevisibility.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pagevisibility.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F HC IC","33":"A B C K L G M N"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K","33":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B C TC UC VC WC tB DC XC","33":"G M N O z"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","33":"xC yC"},J:{"1":"A","2":"D"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Page Visibility"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G IC JC","33":"A B C K L H M N"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K","33":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B C TC UC VC WC tB EC XC","33":"H M N O z"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","33":"xC yC"},J:{"1":"A","2":"E"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Page Visibility"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passive-event-listener.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passive-event-listener.js
      index d96489d89c7565..05f66a5ff0ca70 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passive-event-listener.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passive-event-listener.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Passive event listeners"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"Passive event listeners"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passwordrules.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passwordrules.js
      index 99e8df15297b58..ec888c57c7645f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passwordrules.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/passwordrules.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","16":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H HC IC","16":"x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"0B JC KC"},E:{"1":"C K uB","2":"I y J D E F A B LC 1B MC NC OC PC 2B tB","16":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB TC UC VC WC tB DC XC uB","16":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"16":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","16":"H"},J:{"2":"D","16":"A"},K:{"2":"A B C tB DC uB","16":"k"},L:{"16":"H"},M:{"16":"i"},N:{"2":"A","16":"B"},O:{"16":"zC"},P:{"2":"I 0C 1C","16":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"16":"3B"},R:{"16":"DD"},S:{"2":"ED FD"}},B:1,C:"Password Rules"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","16":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D IC JC","16":"0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"0B 1B KC"},E:{"1":"C K uB","2":"I y J E F G A B LC 2B MC NC OC PC 3B tB","16":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB TC UC VC WC tB EC XC uB","16":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"16":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","16":"D"},J:{"2":"E","16":"A"},K:{"2":"A B C tB EC uB","16":"j"},L:{"16":"D"},M:{"16":"D"},N:{"2":"A","16":"B"},O:{"16":"zC"},P:{"2":"I 0C 1C","16":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"16":"4B"},R:{"16":"DD"},S:{"2":"ED FD"}},B:1,C:"Password Rules"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/path2d.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/path2d.js
      index 47c99d1dc1835a..dcbe91a3a16a62 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/path2d.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/path2d.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K","132":"L G M N O"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j HC IC","132":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},D:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB","132":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC","132":"E F OC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 F B C G M N O z j TC UC VC WC tB DC XC uB","132":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","16":"E","132":"cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","132":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Path2D"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K","132":"L H M N O"},C:{"1":"RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i IC JC","132":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB"},D:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB","132":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC","132":"F G OC"},F:{"1":"YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 G B C H M N O z i TC UC VC WC tB EC XC uB","132":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","16":"F","132":"cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","132":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Path2D"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/payment-request.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/payment-request.js
      index 9bb26dc8c93c9b..ada53386a0c7b9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/payment-request.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/payment-request.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K","322":"L","8196":"G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB HC IC","4162":"YB ZB aB bB xB cB yB dB eB fB gB","16452":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","194":"WB XB YB ZB aB bB","1090":"xB cB","8196":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC","514":"A B 2B","8196":"C tB"},F:{"1":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB TC UC VC WC tB DC XC uB","194":"JB KB LB MB NB OB PB QB","8196":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC","514":"fC gC hC","8196":"iC jC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"2049":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 6C 7C 8C 9C vB AD BD CD","2":"I","8196":"0C 1C 2C 3C 4C 2B 5C"},Q:{"8196":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:2,C:"Payment Request API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K","322":"L","8196":"H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB IC JC","4162":"YB ZB aB bB xB cB yB dB eB fB gB","16452":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB","194":"WB XB YB ZB aB bB","1090":"xB cB","8196":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC","514":"A B 3B","8196":"C tB"},F:{"1":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB TC UC VC WC tB EC XC uB","194":"JB KB LB MB NB OB PB QB","8196":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC","514":"fC gC hC","8196":"iC jC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"2049":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 6C 7C 8C 9C vB AD BD CD","2":"I","8196":"0C 1C 2C 3C 4C 3B 5C"},Q:{"8196":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:2,C:"Payment Request API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pdf-viewer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pdf-viewer.js
      index b0947a5930d1b2..7e859ec61755ed 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pdf-viewer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pdf-viewer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"16":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Built-in PDF viewer"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"16":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Built-in PDF viewer"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-api.js
      index 2452853c6651a8..db4edbf7dd3463 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB HC IC"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Permissions API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB IC JC"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Permissions API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-policy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-policy.js
      index 40f6d3196c600c..2f7fa974495187 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-policy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/permissions-policy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","258":"P Q R S T U","322":"V W","388":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k HC IC","258":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","258":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U","322":"V W","388":"X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B LC 1B MC NC OC PC 2B","258":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB DC XC uB","258":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","322":"nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d","388":"e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC","258":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","258":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","388":"k"},L:{"388":"H"},M:{"258":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C","258":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"258":"3B"},R:{"388":"DD"},S:{"2":"ED","258":"FD"}},B:5,C:"Permissions Policy"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","258":"P Q R S T U","322":"V W","388":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j IC JC","258":"oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","258":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U","322":"V W","388":"X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B LC 2B MC NC OC PC 3B","258":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB EC XC uB","258":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","322":"nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d","388":"e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC","258":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","258":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","388":"j"},L:{"388":"D"},M:{"258":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C","258":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"258":"4B"},R:{"388":"DD"},S:{"2":"ED","258":"FD"}},B:5,C:"Permissions Policy"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture-in-picture.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture-in-picture.js
      index a56e0653adc8ce..a6fab4f68a7a38 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture-in-picture.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture-in-picture.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB HC IC","132":"nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","1090":"iB","1412":"mB","1668":"jB kB lB"},D:{"1":"lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB","2114":"kB"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC","4100":"A B C K 2B tB uB"},F:{"1":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB TC UC VC WC tB DC XC uB","8196":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC","4100":"dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"16388":"H"},M:{"16388":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"Picture-in-Picture"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB IC JC","132":"nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","1090":"iB","1412":"mB","1668":"jB kB lB"},D:{"1":"lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB","2114":"kB"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC","4100":"A B C K 3B tB uB"},F:{"1":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB TC UC VC WC tB EC XC uB","8196":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC","4100":"dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"16388":"D"},M:{"16388":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"Picture-in-Picture"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture.js
      index 61636050551b6a..9fd879875e2529 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/picture.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB HC IC","578":"DB EB FB GB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB","194":"GB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB","322":"3"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Picture element"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB IC JC","578":"DB EB FB GB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB","194":"GB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB","322":"3"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Picture element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ping.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ping.js
      index ee0c2711f9b4e1..ea5a45ec51e482 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ping.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ping.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"2":"GC","194":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"194":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:1,C:"Ping attribute"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"2":"HC","194":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"194":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"194":"ED FD"}},B:1,C:"Ping attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/png-alpha.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/png-alpha.js
      index 6119264f09f41e..dd63aa650059e4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/png-alpha.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/png-alpha.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"D E F A B","2":"FC","8":"J"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"PNG alpha transparency"};
      +module.exports={A:{A:{"1":"E F G A B","2":"GC","8":"J"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"PNG alpha transparency"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer-events.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer-events.js
      index 61a68a14c5980a..b71fd61588cb1c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer-events.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer-events.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"CSS pointer-events (for HTML)"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:7,C:"CSS pointer-events (for HTML)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer.js
      index 7449a588d3512b..d249b27e1d501a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F FC","164":"A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC","8":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB","328":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 I y J D E F A B C K L G M N O z j","8":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","584":"VB WB XB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC","8":"D E F A B C NC OC PC 2B tB","1096":"uB"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","8":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB","584":"IB JB KB"},G:{"1":"mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC","6148":"lC"},H:{"2":"sC"},I:{"1":"H","8":"wB I tC uC vC wC EC xC yC"},J:{"8":"D A"},K:{"1":"k","2":"A","8":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","36":"A"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"0C","8":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","328":"ED"}},B:2,C:"Pointer events"};
      +module.exports={A:{A:{"1":"B","2":"J E F G GC","164":"A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC","8":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB","328":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB"},D:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 I y J E F G A B C K L H M N O z i","8":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","584":"VB WB XB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC","8":"E F G A B C NC OC PC 3B tB","1096":"uB"},F:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","8":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB","584":"IB JB KB"},G:{"1":"mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC","6148":"lC"},H:{"2":"sC"},I:{"1":"D","8":"wB I tC uC vC wC FC xC yC"},J:{"8":"E A"},K:{"1":"j","2":"A","8":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","36":"A"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"0C","8":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","328":"ED"}},B:2,C:"Pointer events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointerlock.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointerlock.js
      index bf7effa6f1caf4..d19a6896c6ef25 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointerlock.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/pointerlock.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K HC IC","33":"0 1 2 3 4 5 6 7 8 9 L G M N O z j AB BB CB DB EB FB GB HB IB JB"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G","33":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB","66":"0 M N O z j"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 G M N O z j"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Pointer Lock API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C"},C:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K IC JC","33":"0 1 2 3 4 5 6 7 8 9 L H M N O z i AB BB CB DB EB FB GB HB IB JB"},D:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H","33":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB","66":"0 M N O z i"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 H M N O z i"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Pointer Lock API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/portals.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/portals.js
      index 12e3e05429c203..957d690b6ef327 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/portals.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/portals.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T","322":"Z a b c d e f g h l m n o p q r s t u v i w H x","450":"U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB","194":"pB qB rB sB P Q R S T","322":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","450":"U"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB DC XC uB","194":"dB eB fB gB hB iB jB kB lB mB nB","322":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"450":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Portals"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T","322":"Z a b c d e f g h k l m n o p q r s t u v w x D","450":"U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB","194":"pB qB rB sB P Q R S T","322":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","450":"U"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB EC XC uB","194":"dB eB fB gB hB iB jB kB lB mB nB","322":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"450":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Portals"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-color-scheme.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-color-scheme.js
      index daf3f5684a264b..7cff28ed5b842e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-color-scheme.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-color-scheme.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB HC IC"},D:{"1":"qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB"},E:{"1":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB DC XC uB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"prefers-color-scheme media query"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB IC JC"},D:{"1":"qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB"},E:{"1":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB"},F:{"1":"dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB TC UC VC WC tB EC XC uB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"prefers-color-scheme media query"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js
      index 54b46372ca69d3..3562331ca12c7b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB HC IC"},D:{"1":"oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"prefers-reduced-motion media query"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB IC JC"},D:{"1":"oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"prefers-reduced-motion media query"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/progress.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/progress.js
      index 8b61ecbb5e0802..1b110c5c1d5388 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/progress.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/progress.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F TC UC VC WC"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC","132":"bC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"progress element"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G TC UC VC WC"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC","132":"bC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"progress element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promise-finally.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promise-finally.js
      index 3857f610d853e8..0528d2e0d94dff 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promise-finally.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promise-finally.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N"},C:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB HC IC"},D:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Promise.prototype.finally"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N"},C:{"1":"bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB IC JC"},D:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"Promise.prototype.finally"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promises.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promises.js
      index 71cfd594b187d3..667552f2af9222 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promises.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/promises.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"8":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","4":"6 7","8":"0 1 2 3 4 5 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"BB","8":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y J D LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","4":"z","8":"F B C G M N O TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC ZC aC bC"},H:{"8":"sC"},I:{"1":"H yC","8":"wB I tC uC vC wC EC xC"},J:{"8":"D A"},K:{"1":"k","8":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Promises"};
      +module.exports={A:{A:{"8":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","4":"6 7","8":"0 1 2 3 4 5 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"BB","8":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y J E LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","4":"z","8":"G B C H M N O TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC ZC aC bC"},H:{"8":"sC"},I:{"1":"D yC","8":"wB I tC uC vC wC FC xC"},J:{"8":"E A"},K:{"1":"j","8":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Promises"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proximity.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proximity.js
      index 302ef0f66a316b..ddcf6283b27e2b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proximity.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proximity.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:4,C:"Proximity API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:4,C:"Proximity API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proxy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proxy.js
      index d99a55ad304aec..1052d54a2a8ae9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proxy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/proxy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O HB IB JB KB LB MB NB OB PB QB RB","66":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"4 5 6 7 8 9 F B C AB BB CB DB EB TC UC VC WC tB DC XC uB","66":"0 1 2 3 G M N O z j"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Proxy object"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O HB IB JB KB LB MB NB OB PB QB RB","66":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"4 5 6 7 8 9 G B C AB BB CB DB EB TC UC VC WC tB EC XC uB","66":"0 1 2 3 H M N O z i"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Proxy object"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/publickeypinning.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/publickeypinning.js
      index b34a46bdb2f25b..e07d2470ae292c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/publickeypinning.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/publickeypinning.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","2":"F B C G M N O z hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","4":"2","16":"0 1 3 j"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I 0C 1C 2C 3C 4C 2B","2":"j 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:6,C:"HTTP Public Key Pinning"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB","2":"G B C H M N O z hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","4":"2","16":"0 1 3 i"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I 0C 1C 2C 3C 4C 3B","2":"i 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:6,C:"HTTP Public Key Pinning"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/push-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/push-api.js
      index bc181e016c547e..474960235fa0e1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/push-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/push-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O","2":"C K L G M","257":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB HC IC","257":"NB PB QB RB SB TB UB WB XB YB ZB aB bB xB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","1281":"OB VB cB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB","257":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","388":"NB OB PB QB RB SB"},E:{"2":"I y J LC 1B MC NC","514":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB","4612":"8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB TC UC VC WC tB DC XC uB","16":"GB HB IB JB KB","257":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC","8196":"BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"2":"DD"},S:{"257":"ED FD"}},B:5,C:"Push API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O","2":"C K L H M","257":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB IC JC","257":"NB PB QB RB SB TB UB WB XB YB ZB aB bB xB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","1281":"OB VB cB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB","257":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","388":"NB OB PB QB RB SB"},E:{"2":"I y J LC 2B MC NC","514":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB","4612":"9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB TC UC VC WC tB EC XC uB","16":"GB HB IB JB KB","257":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC","8196":"CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"2":"DD"},S:{"257":"ED FD"}},B:5,C:"Push API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/queryselector.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/queryselector.js
      index 1ed6379d6e944a..83b4d609432852 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/queryselector.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/queryselector.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"FC","8":"J D","132":"E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","8":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","8":"F TC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"querySelector/querySelectorAll"};
      +module.exports={A:{A:{"1":"G A B","2":"GC","8":"J E","132":"F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","8":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","8":"G TC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"querySelector/querySelectorAll"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/readonly-attr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/readonly-attr.js
      index ce85f50fb3ba9a..486fb69f271578 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/readonly-attr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/readonly-attr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","16":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC wB HC IC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"0 1 2 3 4 I y J D E F A B C K L G M N O z j"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F TC","132":"B C UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC aC"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k","132":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"257":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"readonly attribute of input and textarea elements"};
      +module.exports={A:{A:{"1":"J E F G A B","16":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC wB IC JC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"0 1 2 3 4 I y J E F G A B C K L H M N O z i"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G TC","132":"B C UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC aC"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j","132":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"257":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"readonly attribute of input and textarea elements"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/referrer-policy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/referrer-policy.js
      index 37c7f2ccbf2a67..ae3e510eec8631 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/referrer-policy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/referrer-policy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"P Q R S","132":"C K L G M N O","513":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC","513":"W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T","2":"I y J D E F A B C K L G M N O z j","260":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB","513":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"C tB uB","2":"I y J D LC 1B MC NC","132":"E F A B OC PC 2B","1025":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","2":"F B C TC UC VC WC tB DC XC uB","513":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"jC kC lC mC","2":"1B YC EC ZC aC bC","132":"E cC dC eC fC gC hC iC","1025":"nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","513":"k"},L:{"513":"H"},M:{"513":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"513":"DD"},S:{"1":"ED FD"}},B:4,C:"Referrer Policy"};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"P Q R S","132":"C K L H M N O","513":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC","513":"W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T","2":"I y J E F G A B C K L H M N O z i","260":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB","513":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"C tB uB","2":"I y J E LC 2B MC NC","132":"F G A B OC PC 3B","1025":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","2":"G B C TC UC VC WC tB EC XC uB","513":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"jC kC lC mC","2":"2B YC FC ZC aC bC","132":"F cC dC eC fC gC hC iC","1025":"nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","513":"j"},L:{"513":"D"},M:{"513":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"513":"DD"},S:{"1":"ED FD"}},B:4,C:"Referrer Policy"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/registerprotocolhandler.js
      index 3dcdc8201f34c6..6d8e69e6c84001 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/registerprotocolhandler.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/registerprotocolhandler.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","129":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC"},D:{"2":"I y J D E F A B C","129":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B TC UC VC WC tB DC","129":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D","129":"A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:1,C:"Custom protocol handling"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","129":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC"},D:{"2":"I y J E F G A B C","129":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B TC UC VC WC tB EC","129":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E","129":"A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:1,C:"Custom protocol handling"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noopener.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noopener.js
      index 03509297d8b2d3..9dc6c4fa7ba696 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noopener.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noopener.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"rel=noopener"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"rel=noopener"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noreferrer.js
      index 4fe88628dc9b52..89a46b70973a63 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noreferrer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rel-noreferrer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","132":"B"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C"},C:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L G"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Link type \"noreferrer\""};
      +module.exports={A:{A:{"2":"J E F G A GC","132":"B"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C"},C:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L H"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Link type \"noreferrer\""};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rellist.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rellist.js
      index 2fd7a593113a9b..2650ac9d75294e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rellist.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rellist.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M","132":"N"},C:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E LC 1B MC NC OC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB TC UC VC WC tB DC XC uB","132":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"relList (DOMTokenList)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M","132":"N"},C:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB","132":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F LC 2B MC NC OC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB TC UC VC WC tB EC XC uB","132":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","132":"0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"relList (DOMTokenList)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rem.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rem.js
      index c27e97547f7ac4..b3caee54eb181e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rem.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rem.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E FC","132":"F A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC"},G:{"1":"E YC EC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B","260":"ZC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"rem (root em) units"};
      +module.exports={A:{A:{"1":"B","2":"J E F GC","132":"G A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC"},G:{"1":"F YC FC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B","260":"ZC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"rem (root em) units"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestanimationframe.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestanimationframe.js
      index b483f693e84b90..cb32823651a056 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestanimationframe.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestanimationframe.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","33":"0 1 B C K L G M N O z j","164":"I y J D E F A"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F","33":"1 2","164":"0 O z j","420":"A B C K L G M N"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"requestAnimationFrame"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","33":"0 1 B C K L H M N O z i","164":"I y J E F G A"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G","33":"1 2","164":"0 O z i","420":"A B C K L H M N"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","33":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","33":"aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"requestAnimationFrame"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestidlecallback.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestidlecallback.js
      index 0b48896158af7e..42a96368f1baae 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestidlecallback.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/requestidlecallback.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC","194":"WB XB"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB","322":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC","322":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"requestIdleCallback"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC","194":"WB XB"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB"},E:{"2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB","322":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC","322":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"requestIdleCallback"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resizeobserver.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resizeobserver.js
      index 223d3abb50582e..6fc6a33188b34c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resizeobserver.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resizeobserver.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB HC IC"},D:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","194":"XB YB ZB aB bB xB cB yB dB eB"},E:{"1":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB","66":"K"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB DC XC uB","194":"KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Resize Observer"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB IC JC"},D:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","194":"XB YB ZB aB bB xB cB yB dB eB"},E:{"1":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB","66":"K"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB EC XC uB","194":"KB LB MB NB OB PB QB RB SB TB UB"},G:{"1":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Resize Observer"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resource-timing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resource-timing.js
      index 58e072a5bbaed8..a467b104a455b9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resource-timing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/resource-timing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"AB BB CB DB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 I y J D E F A B C K L G M N O z j"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Resource Timing"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"AB BB CB DB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 I y J E F G A B C K L H M N O z i"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Resource Timing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rest-parameters.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rest-parameters.js
      index 9d7c9b557da7b7..21cc5376f58edc 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rest-parameters.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rest-parameters.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB","194":"NB OB PB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j TC UC VC WC tB DC XC uB","194":"AB BB CB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Rest parameters"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB","194":"NB OB PB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i TC UC VC WC tB EC XC uB","194":"AB BB CB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Rest parameters"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rtcpeerconnection.js
      index a06e1151a6f638..b62ab966d1c1d9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rtcpeerconnection.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/rtcpeerconnection.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","516":"G M N O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC","33":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 I y J D E F A B C K L G M N O z j","33":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M N TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","130":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"WebRTC Peer-to-peer connections"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","516":"H M N O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC","33":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 I y J E F G A B C K L H M N O z i","33":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M N TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","130":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"WebRTC Peer-to-peer connections"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ruby.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ruby.js
      index 9fb16f8a943b5e..2c5e7ffd1ebf8d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ruby.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ruby.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"4":"J D E F A B FC"},B:{"4":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HC IC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"I"},E:{"4":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I LC 1B"},F:{"4":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"F B C TC UC VC WC tB DC XC uB"},G:{"4":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC"},H:{"8":"sC"},I:{"4":"wB I H wC EC xC yC","8":"tC uC vC"},J:{"4":"A","8":"D"},K:{"4":"k","8":"A B C tB DC uB"},L:{"4":"H"},M:{"1":"i"},N:{"4":"A B"},O:{"4":"zC"},P:{"4":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"3B"},R:{"4":"DD"},S:{"1":"ED FD"}},B:1,C:"Ruby annotation"};
      +module.exports={A:{A:{"4":"J E F G A B GC"},B:{"4":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB IC JC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"I"},E:{"4":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I LC 2B"},F:{"4":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","8":"G B C TC UC VC WC tB EC XC uB"},G:{"4":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC"},H:{"8":"sC"},I:{"4":"wB I D wC FC xC yC","8":"tC uC vC"},J:{"4":"A","8":"E"},K:{"4":"j","8":"A B C tB EC uB"},L:{"4":"D"},M:{"1":"D"},N:{"4":"A B"},O:{"4":"zC"},P:{"4":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"4B"},R:{"4":"DD"},S:{"1":"ED FD"}},B:1,C:"Ruby annotation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/run-in.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/run-in.js
      index 7a11f05274d016..c73e1784a51fee 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/run-in.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/run-in.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","2":"J D FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB","2":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J MC","2":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"NC","129":"I LC 1B"},F:{"1":"F B C G M N O TC UC VC WC tB DC XC uB","2":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"YC EC ZC aC bC","2":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","129":"1B"},H:{"1":"sC"},I:{"1":"wB I tC uC vC wC EC xC","2":"H yC"},J:{"1":"D A"},K:{"1":"A B C tB DC uB","2":"k"},L:{"2":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"display: run-in"};
      +module.exports={A:{A:{"1":"F G A B","2":"J E GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB","2":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J MC","2":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"NC","129":"I LC 2B"},F:{"1":"G B C H M N O TC UC VC WC tB EC XC uB","2":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"YC FC ZC aC bC","2":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","129":"2B"},H:{"1":"sC"},I:{"1":"wB I tC uC vC wC FC xC","2":"D yC"},J:{"1":"E A"},K:{"1":"A B C tB EC uB","2":"j"},L:{"2":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"display: run-in"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js
      index 096a98514401f5..62fdd015bd05f7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","388":"B"},B:{"1":"O P Q R S T U","2":"C K L G","129":"M N","513":"V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB HC IC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","513":"Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B tB","2052":"L QC","3076":"C K uB 3B"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB TC UC VC WC tB DC XC uB","513":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC","2052":"jC kC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","513":"k"},L:{"513":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"16":"3B"},R:{"513":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"'SameSite' cookie attribute"};
      +module.exports={A:{A:{"2":"J E F G A GC","388":"B"},B:{"1":"O P Q R S T U","2":"C K L H","129":"M N","513":"V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB IC JC"},D:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","513":"Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B tB","2052":"L QC","3076":"C K uB 4B"},F:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB TC UC VC WC tB EC XC uB","513":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC","2052":"jC kC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","513":"j"},L:{"513":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"16":"4B"},R:{"513":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"'SameSite' cookie attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/screen-orientation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/screen-orientation.js
      index fc4e4191830324..a8328ad87fad66 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/screen-orientation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/screen-orientation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","164":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","36":"C K L G M N O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N HC IC","36":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A","36":"B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Screen Orientation"};
      +module.exports={A:{A:{"2":"J E F G A GC","164":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","36":"C K L H M N O"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N IC JC","36":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A","36":"B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","16":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"Screen Orientation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-async.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-async.js
      index b028d23b849d05..30551605fc9af9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-async.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-async.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","132":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"async attribute for external scripts"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","132":"y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"async attribute for external scripts"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-defer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-defer.js
      index 0839be25be7377..fe0fcf6668ee2d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-defer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/script-defer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","132":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","257":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"defer attribute for external scripts"};
      +module.exports={A:{A:{"1":"A B","132":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","257":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"defer attribute for external scripts"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoview.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoview.js
      index 32691598112846..53f3b4839dfbf1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoview.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoview.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","132":"E F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","132":"C K L G M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB HC IC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y LC 1B","132":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC UC VC WC","16":"B tB DC","132":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB XC uB"},G:{"1":"vB 8B 9B AC BC CC","16":"1B YC EC","132":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"1":"H","16":"tC uC","132":"wB I vC wC EC xC yC"},J:{"132":"D A"},K:{"1":"k","132":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"132":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"scrollIntoView"};
      +module.exports={A:{A:{"2":"J E GC","132":"F G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","132":"C K L H M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB IC JC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y LC 2B","132":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC UC VC WC","16":"B tB EC","132":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB XC uB"},G:{"1":"vB 9B AC BC CC DC","16":"2B YC FC","132":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"1":"D","16":"tC uC","132":"wB I vC wC FC xC yC"},J:{"132":"E A"},K:{"1":"j","132":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"132":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"scrollIntoView"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js
      index 2947970f51f67e..162d02d1852e2e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Element.scrollIntoViewIfNeeded()"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Element.scrollIntoViewIfNeeded()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sdch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sdch.js
      index e29cedff772358..b255010df1fedd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sdch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sdch.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","2":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","2":"F B C k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","2":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","2":"G B C j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/selection-api.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/selection-api.js
      index 7b3b140ad702eb..2b466b17fab71a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/selection-api.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/selection-api.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","16":"FC","260":"J D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB HC IC","2180":"MB NB OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","132":"F B C TC UC VC WC tB DC XC uB"},G:{"16":"EC","132":"1B YC","516":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H xC yC","16":"wB I tC uC vC wC","1025":"EC"},J:{"1":"A","16":"D"},K:{"1":"k","16":"A B C tB DC","132":"uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","16":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2180":"ED"}},B:5,C:"Selection API"};
      +module.exports={A:{A:{"1":"G A B","16":"GC","260":"J E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB IC JC","2180":"MB NB OB PB QB RB SB TB UB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","132":"G B C TC UC VC WC tB EC XC uB"},G:{"16":"FC","132":"2B YC","516":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D xC yC","16":"wB I tC uC vC wC","1025":"FC"},J:{"1":"A","16":"E"},K:{"1":"j","16":"A B C tB EC","132":"uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","16":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2180":"ED"}},B:5,C:"Selection API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/server-timing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/server-timing.js
      index 978db7ee288e84..d791f80245cf24 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/server-timing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/server-timing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB HC IC"},D:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","196":"cB yB dB eB","324":"fB"},E:{"2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","516":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Server Timing"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB IC JC"},D:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","196":"cB yB dB eB","324":"fB"},E:{"2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","516":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Server Timing"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/serviceworkers.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/serviceworkers.js
      index e63fc9a0e9da83..1a3bb78a11526c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/serviceworkers.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/serviceworkers.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","322":"G M"},C:{"1":"NB PB QB RB SB TB UB WB XB YB ZB aB bB xB yB dB eB fB gB hB iB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC","194":"CB DB EB FB GB HB IB JB KB LB MB","513":"OB VB cB jB"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB","4":"JB KB LB MB NB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B LC 1B MC NC OC PC 2B"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 F B C G M N O z j TC UC VC WC tB DC XC uB","4":"6 7 8 9 AB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","4":"H"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"Service Workers"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","322":"H M"},C:{"1":"NB PB QB RB SB TB UB WB XB YB ZB aB bB xB yB dB eB fB gB hB iB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC","194":"CB DB EB FB GB HB IB JB KB LB MB","513":"OB VB cB jB"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB","4":"JB KB LB MB NB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B LC 2B MC NC OC PC 3B"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 G B C H M N O z i TC UC VC WC tB EC XC uB","4":"6 7 8 9 AB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","4":"D"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"Service Workers"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/setimmediate.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/setimmediate.js
      index 0a27a404ebb1fb..2875ab83b4a31b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/setimmediate.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/setimmediate.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O","2":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"1":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Efficient Script Yielding: setImmediate()"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O","2":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Efficient Script Yielding: setImmediate()"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdom.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdom.js
      index 6b2882ef693b25..b06f47dcd702b6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdom.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdom.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P","2":"C K L G M N O Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","66":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","2":"0 1 2 3 I y J D E F A B C K L G M N O z j Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"4 5 6 7 8 9 AB BB CB DB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2":"F B C iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","33":"0 G M N O z j"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC","33":"xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"0C 1C 2C 3C 4C 2B 5C 6C","2":"j 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"3B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"Shadow DOM (deprecated V0 spec)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P","2":"C K L H M N O Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","66":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","2":"0 1 2 3 I y J E F G A B C K L H M N O z i Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"4 5 6 7 8 9 AB BB CB DB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB","2":"G B C iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","33":"0 H M N O z i"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC","33":"xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"0C 1C 2C 3C 4C 3B 5C 6C","2":"i 7C 8C 9C vB AD BD CD","33":"I"},Q:{"1":"4B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"Shadow DOM (deprecated V0 spec)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdomv1.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdomv1.js
      index 2ac81fd1d37642..68b7ad7c9b7057 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdomv1.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/shadowdomv1.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB HC IC","322":"bB","578":"xB cB yB dB"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"A B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC","132":"fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","4":"0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Shadow DOM (V1)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB IC JC","322":"bB","578":"xB cB yB dB"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"A B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC","132":"fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","4":"0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Shadow DOM (V1)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedarraybuffer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedarraybuffer.js
      index 729924c78c7619..cd1a62819c3186 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedarraybuffer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedarraybuffer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z","2":"C K L G","194":"M N O","513":"a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB HC IC","194":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k","450":"oB pB qB rB sB","513":"P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","194":"cB yB dB eB fB gB hB iB","513":"a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A LC 1B MC NC OC PC","194":"B C K L G 2B tB uB 3B QC RC","513":"4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB DC XC uB","194":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","513":"sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC","194":"gC hC iC jC kC lC mC nC oC pC qC rC","513":"4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","513":"k"},L:{"513":"H"},M:{"513":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C","513":"j 9C vB AD BD CD"},Q:{"2":"3B"},R:{"513":"DD"},S:{"2":"ED","513":"FD"}},B:6,C:"Shared Array Buffer"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z","2":"C K L H","194":"M N O","513":"a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB IC JC","194":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j","450":"oB pB qB rB sB","513":"P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB","194":"cB yB dB eB fB gB hB iB","513":"a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A LC 2B MC NC OC PC","194":"B C K L H 3B tB uB 4B QC RC","513":"5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB TC UC VC WC tB EC XC uB","194":"QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","513":"sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC","194":"gC hC iC jC kC lC mC nC oC pC qC rC","513":"5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","513":"j"},L:{"513":"D"},M:{"513":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C","513":"i 9C vB AD BD CD"},Q:{"2":"4B"},R:{"513":"DD"},S:{"2":"ED","513":"FD"}},B:6,C:"Shared Array Buffer"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedworkers.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedworkers.js
      index c4935f0239ef33..fe3786ce863399 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedworkers.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sharedworkers.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"y J MC vB 8B 9B AC BC CC SC","2":"I D E F A B C K L G LC 1B NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","2":"F TC UC VC"},G:{"1":"ZC aC vB 8B 9B AC BC CC","2":"E 1B YC EC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"B C tB DC uB","2":"k","16":"A"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I","2":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:1,C:"Shared Web Workers"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"y J MC vB 9B AC BC CC DC SC","2":"I E F G A B C K L H LC 2B NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","2":"G TC UC VC"},G:{"1":"ZC aC vB 9B AC BC CC DC","2":"F 2B YC FC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"B C tB EC uB","2":"j","16":"A"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I","2":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:1,C:"Shared Web Workers"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sni.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sni.js
      index 9308e4014a8ae0..4142275e1b98a8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sni.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sni.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J FC","132":"D E"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B"},H:{"1":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Server Name Indication"};
      +module.exports={A:{A:{"1":"G A B","2":"J GC","132":"E F"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B"},H:{"1":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Server Name Indication"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spdy.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spdy.js
      index a04eeb7d9e8c6e..09b98f6590d8b3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spdy.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spdy.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F A FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"GC wB I y J D E F A B C UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"E F A B C PC 2B tB","2":"I y J D LC 1B MC NC OC","129":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB LB NB uB","2":"F B C JB KB MB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC"},G:{"1":"E cC dC eC fC gC hC iC jC","2":"1B YC EC ZC aC bC","257":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I wC EC xC yC","2":"H tC uC vC"},J:{"2":"D A"},K:{"1":"uB","2":"A B C k tB DC"},L:{"2":"H"},M:{"2":"i"},N:{"1":"B","2":"A"},O:{"2":"zC"},P:{"1":"I","2":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"SPDY protocol"};
      +module.exports={A:{A:{"1":"B","2":"J E F G A GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"HC wB I y J E F G A B C UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","2":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"F G A B C PC 3B tB","2":"I y J E LC 2B MC NC OC","129":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB LB NB uB","2":"G B C JB KB MB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC"},G:{"1":"F cC dC eC fC gC hC iC jC","2":"2B YC FC ZC aC bC","257":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I wC FC xC yC","2":"D tC uC vC"},J:{"2":"E A"},K:{"1":"uB","2":"A B C j tB EC"},L:{"2":"D"},M:{"2":"D"},N:{"1":"B","2":"A"},O:{"2":"zC"},P:{"1":"I","2":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"SPDY protocol"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-recognition.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-recognition.js
      index ba77587ed22290..d64b2bde92472c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-recognition.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-recognition.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","1026":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC","322":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 I y J D E F A B C K L G M N O z j","164":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L LC 1B MC NC OC PC 2B tB uB 3B","2084":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 F B C G M N O z j TC UC VC WC tB DC XC uB","1026":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC","2084":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","164":"k"},L:{"164":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"3B"},R:{"164":"DD"},S:{"322":"ED FD"}},B:7,C:"Speech Recognition API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","1026":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC","322":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 I y J E F G A B C K L H M N O z i","164":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L LC 2B MC NC OC PC 3B tB uB 4B","2084":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 G B C H M N O z i TC UC VC WC tB EC XC uB","1026":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC","2084":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","164":"j"},L:{"164":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"164":"zC"},P:{"164":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"164":"4B"},R:{"164":"DD"},S:{"322":"ED FD"}},B:7,C:"Speech Recognition API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-synthesis.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-synthesis.js
      index 2bf2e011691c4c..7555777415c5d3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-synthesis.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/speech-synthesis.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O","2":"C K","257":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB","257":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","2":"0 1 2 3 4 5 F B C G M N O z j TC UC VC WC tB DC XC uB","257":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:7,C:"Speech Synthesis API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O","2":"C K","257":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB","257":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB","2":"0 1 2 3 4 5 G B C H M N O z i TC UC VC WC tB EC XC uB","257":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"2":"DD"},S:{"1":"ED FD"}},B:7,C:"Speech Synthesis API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spellcheck-attribute.js
      index 6e8e58c91a2ab1..ff6156b131c4a5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spellcheck-attribute.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/spellcheck-attribute.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"4":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"4":"sC"},I:{"4":"wB I H tC uC vC wC EC xC yC"},J:{"1":"A","4":"D"},K:{"4":"A B C k tB DC uB"},L:{"4":"H"},M:{"4":"i"},N:{"4":"A B"},O:{"4":"zC"},P:{"4":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"4":"DD"},S:{"2":"ED FD"}},B:1,C:"Spellcheck attribute"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"4":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"4":"sC"},I:{"4":"wB I D tC uC vC wC FC xC yC"},J:{"1":"A","4":"E"},K:{"4":"A B C j tB EC uB"},L:{"4":"D"},M:{"4":"D"},N:{"4":"A B"},O:{"4":"zC"},P:{"4":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"4":"DD"},S:{"2":"ED FD"}},B:1,C:"Spellcheck attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sql-storage.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sql-storage.js
      index 9eb2bba88b1b89..43b3165181bae2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sql-storage.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sql-storage.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q","2":"C K L G M N O","129":"r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q","129":"r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB","2":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z VC WC tB DC XC uB","2":"F TC UC","129":"a b c d e f g h"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC","2":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I tC uC vC wC EC xC yC","129":"H"},J:{"1":"D A"},K:{"1":"B C tB DC uB","2":"A","129":"k"},L:{"129":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Web SQL Database"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p","2":"C K L H M N O","129":"q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p","129":"q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB","2":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z VC WC tB EC XC uB","2":"G TC UC","129":"a b c d e f g h"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC","2":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I tC uC vC wC FC xC yC","129":"D"},J:{"1":"E A"},K:{"1":"B C tB EC uB","2":"A","129":"j"},L:{"129":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Web SQL Database"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/srcset.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/srcset.js
      index e8ae490b1fdb77..75d58972f9e624 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/srcset.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/srcset.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C","514":"K L G"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB HC IC","194":"BB CB DB EB FB GB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB","260":"DB EB FB GB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC NC","260":"E OC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M N O z j TC UC VC WC tB DC XC uB","260":"0 1 2 3"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","260":"E cC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Srcset and sizes attributes"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C","514":"K L H"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB IC JC","194":"BB CB DB EB FB GB"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB","260":"DB EB FB GB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC NC","260":"F OC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M N O z i TC UC VC WC tB EC XC uB","260":"0 1 2 3"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","260":"F cC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Srcset and sizes attributes"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stream.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stream.js
      index 70c3e8f2635b51..192253913c207f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stream.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stream.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M HC IC","129":"FB GB HB IB JB KB","420":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z j","420":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B G M N TC UC VC WC tB DC XC","420":"0 1 2 3 4 5 6 7 8 9 C O z j AB BB CB DB EB FB GB HB IB uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC","513":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","1537":"hC iC jC kC lC mC nC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","420":"A"},K:{"1":"k","2":"A B tB DC","420":"C uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","420":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"getUserMedia/Stream API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M IC JC","129":"FB GB HB IB JB KB","420":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB"},D:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z i","420":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B H M N TC UC VC WC tB EC XC","420":"0 1 2 3 4 5 6 7 8 9 C O z i AB BB CB DB EB FB GB HB IB uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC","513":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","1537":"hC iC jC kC lC mC nC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","420":"A"},K:{"1":"j","2":"A B tB EC","420":"C uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","420":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:4,C:"getUserMedia/Stream API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/streams.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/streams.js
      index dddddcdee4788b..5b736189f623e6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/streams.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/streams.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","130":"B"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C K","260":"L G","1028":"P Q R S T U V W X","5124":"M N O"},C:{"1":"o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB HC IC","5124":"m n","7172":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l","7746":"aB bB xB cB yB dB eB fB"},D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","260":"VB WB XB YB ZB aB bB","1028":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X"},E:{"2":"I y J D E F LC 1B MC NC OC PC","1028":"G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","3076":"A B C K L 2B tB uB 3B"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB TC UC VC WC tB DC XC uB","260":"IB JB KB LB MB NB OB","1028":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC","16":"fC","1028":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1028":"zC"},P:{"1":"j 9C vB AD BD CD","2":"I 0C 1C","1028":"2C 3C 4C 2B 5C 6C 7C 8C"},Q:{"1028":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Streams"};
      +module.exports={A:{A:{"2":"J E F G A GC","130":"B"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C K","260":"L H","1028":"P Q R S T U V W X","5124":"M N O"},C:{"1":"n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB IC JC","5124":"l m","7172":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k","7746":"aB bB xB cB yB dB eB fB"},D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB","260":"VB WB XB YB ZB aB bB","1028":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X"},E:{"2":"I y J E F G LC 2B MC NC OC PC","1028":"H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","3076":"A B C K L 3B tB uB 4B"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB TC UC VC WC tB EC XC uB","260":"IB JB KB LB MB NB OB","1028":"PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC","16":"fC","1028":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1028":"zC"},P:{"1":"i 9C vB AD BD CD","2":"I 0C 1C","1028":"2C 3C 4C 3B 5C 6C 7C 8C"},Q:{"1028":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:1,C:"Streams"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stricttransportsecurity.js
      index 60f878417729b2..6c504c5e83a1b9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stricttransportsecurity.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/stricttransportsecurity.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A FC","129":"B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Strict Transport Security"};
      +module.exports={A:{A:{"2":"J E F G A GC","129":"B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Strict Transport Security"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/style-scoped.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/style-scoped.js
      index 703d5ee6c5d9bf..c95275cc09a2cb 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/style-scoped.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/style-scoped.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","2":"GC wB I y J D E F A B C K L G M N O z j yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","322":"YB ZB aB bB xB cB"},D:{"2":"I y J D E F A B C K L G M N O z GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","194":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"Scoped CSS"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","2":"HC wB I y J E F G A B C K L H M N O z i yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","322":"YB ZB aB bB xB cB"},D:{"2":"I y J E F G A B C K L H M N O z GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","194":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"ED","2":"FD"}},B:7,C:"Scoped CSS"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-bundling.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-bundling.js
      index a6a93d0feab4ce..c719315246a243 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-bundling.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-bundling.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Subresource Loading with Web Bundles"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Subresource Loading with Web Bundles"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-integrity.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-integrity.js
      index 8448a764a96cd2..a7a568b36143de 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-integrity.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/subresource-integrity.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB HC IC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC","194":"hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Subresource Integrity"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB IC JC"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC","194":"hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Subresource Integrity"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-css.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-css.js
      index f1861e049ab3fa..538de2288e874f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-css.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-css.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","516":"C K L G"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","260":"0 1 2 I y J D E F A B C K L G M N O z j"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"I"},E:{"1":"y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC","132":"I 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"1B YC"},H:{"260":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"k","260":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG in CSS backgrounds"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","516":"C K L H"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","260":"0 1 2 I y J E F G A B C K L H M N O z i"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"I"},E:{"1":"y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC","132":"I 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"2B YC"},H:{"260":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"j","260":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG in CSS backgrounds"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-filters.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-filters.js
      index 06a156a7c36ad5..3867a7fedb8ae3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-filters.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-filters.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I","4":"y J D"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"SVG filters"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I","4":"y J E"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"SVG filters"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fonts.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fonts.js
      index 890b19103e3d45..17050a763b09af 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fonts.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fonts.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"F A B FC","8":"J D E"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB","2":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","130":"HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC"},F:{"1":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB","2":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","130":"4 5 6 7 8 9 AB BB CB DB EB FB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"258":"sC"},I:{"1":"wB I wC EC xC yC","2":"H tC uC vC"},J:{"1":"D A"},K:{"1":"A B C tB DC uB","2":"k"},L:{"130":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I","130":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"130":"DD"},S:{"2":"ED FD"}},B:2,C:"SVG fonts"};
      +module.exports={A:{A:{"2":"G A B GC","8":"J E F"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB","2":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","130":"HB IB JB KB LB MB NB OB PB QB RB SB TB"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC"},F:{"1":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB","2":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","130":"4 5 6 7 8 9 AB BB CB DB EB FB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"258":"sC"},I:{"1":"wB I wC FC xC yC","2":"D tC uC vC"},J:{"1":"E A"},K:{"1":"A B C tB EC uB","2":"j"},L:{"130":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"I","130":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"130":"DD"},S:{"2":"ED FD"}},B:2,C:"SVG fonts"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fragment.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fragment.js
      index cafed5119b4d8c..7caab9296bd64c 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fragment.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-fragment.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","260":"F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB","132":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},E:{"1":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D F A B LC 1B MC NC PC 2B","132":"E OC"},F:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"0 1 G M N O z j","4":"B C UC VC WC tB DC XC","16":"F TC","132":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC dC eC fC gC hC","132":"E cC"},H:{"1":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D","132":"A"},K:{"1":"k uB","4":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG fragment identifiers"};
      +module.exports={A:{A:{"2":"J E F GC","260":"G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB","132":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB"},E:{"1":"C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E G A B LC 2B MC NC PC 3B","132":"F OC"},F:{"1":"GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"0 1 H M N O z i","4":"B C UC VC WC tB EC XC","16":"G TC","132":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC dC eC fC gC hC","132":"F cC"},H:{"1":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E","132":"A"},K:{"1":"j uB","4":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG fragment identifiers"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html.js
      index 4554f382088522..4eaceeddaa523a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","388":"F A B"},B:{"4":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC","4":"wB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"LC 1B","4":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"4":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"4":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC","4":"H xC yC"},J:{"1":"A","2":"D"},K:{"4":"A B C k tB DC uB"},L:{"4":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"4":"zC"},P:{"4":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"3B"},R:{"4":"DD"},S:{"1":"ED FD"}},B:2,C:"SVG effects for HTML"};
      +module.exports={A:{A:{"2":"J E F GC","388":"G A B"},B:{"4":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC","4":"wB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"LC 2B","4":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"4":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"4":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC","4":"D xC yC"},J:{"1":"A","2":"E"},K:{"4":"A B C j tB EC uB"},L:{"4":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"4":"zC"},P:{"4":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"4B"},R:{"4":"DD"},S:{"1":"ED FD"}},B:2,C:"SVG effects for HTML"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html5.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html5.js
      index fffa58db384eb3..1f70800ceff7c4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html5.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-html5.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E","129":"F A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","8":"I y J"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"I y LC 1B","129":"J D E MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"B WC tB DC","8":"F TC UC VC"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","8":"1B YC EC","129":"E ZC aC bC cC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"tC uC vC","129":"wB I wC EC"},J:{"1":"A","129":"D"},K:{"1":"C k uB","8":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Inline SVG in HTML5"};
      +module.exports={A:{A:{"2":"GC","8":"J E F","129":"G A B"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K L H M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","8":"I y J"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"I y LC 2B","129":"J E F MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"B WC tB EC","8":"G TC UC VC"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","8":"2B YC FC","129":"F ZC aC bC cC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"tC uC vC","129":"wB I wC FC"},J:{"1":"A","129":"E"},K:{"1":"C j uB","8":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"129":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Inline SVG in HTML5"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-img.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-img.js
      index c96c9a58b61d6d..f882ecb849a843 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-img.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-img.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC","4":"1B","132":"I y J D E MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"E 1B YC EC ZC aC bC cC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"tC uC vC","132":"wB I wC EC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"SVG in HTML img element"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC","4":"2B","132":"I y J E F MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"F 2B YC FC ZC aC bC cC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"tC uC vC","132":"wB I wC FC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"SVG in HTML img element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-smil.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-smil.js
      index 892f5d52536466..ce370fe369090d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-smil.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg-smil.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"I"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"LC 1B","132":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"1B YC EC ZC"},H:{"2":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"SVG SMIL animation"};
      +module.exports={A:{A:{"2":"GC","8":"J E F G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"I"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"LC 2B","132":"I y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"2B YC FC ZC"},H:{"2":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"SVG SMIL animation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg.js
      index cdba18b139be78..e2d99e1c980e0f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/svg.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E","772":"F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","513":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","4":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","4":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"H xC yC","2":"tC uC vC","132":"wB I wC EC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"257":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG (basic support)"};
      +module.exports={A:{A:{"2":"GC","8":"J E F","772":"G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","513":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","4":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","4":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"D xC yC","2":"tC uC vC","132":"wB I wC FC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"257":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG (basic support)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sxg.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sxg.js
      index 54489a7da456e6..6e2a873e2b6733 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sxg.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/sxg.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","132":"mB nB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"Signed HTTP Exchanges (SXG)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","132":"mB nB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:6,C:"Signed HTTP Exchanges (SXG)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tabindex-attr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tabindex-attr.js
      index e53f565d301639..e490efe3fa7172 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tabindex-attr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tabindex-attr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"D E F A B","16":"J FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"16":"GC wB HC IC","129":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"16":"I y LC 1B","257":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"769":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"16":"sC"},I:{"16":"wB I H tC uC vC wC EC xC yC"},J:{"16":"D A"},K:{"1":"k","16":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"16":"A B"},O:{"1":"zC"},P:{"16":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"129":"ED FD"}},B:1,C:"tabindex global attribute"};
      +module.exports={A:{A:{"1":"E F G A B","16":"J GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"16":"HC wB IC JC","129":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"16":"I y LC 2B","257":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"769":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"16":"sC"},I:{"16":"wB I D tC uC vC wC FC xC yC"},J:{"16":"E A"},K:{"1":"j","16":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"16":"A B"},O:{"1":"zC"},P:{"16":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"129":"ED FD"}},B:1,C:"tabindex global attribute"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template-literals.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template-literals.js
      index c8bf49c603a416..7604038b4eb667 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template-literals.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template-literals.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","16":"C"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB HC IC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB"},E:{"1":"A B K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC","129":"C"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"dC eC fC gC hC iC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC","129":"jC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 Template Literals (Template Strings)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","16":"C"},C:{"1":"DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB IC JC"},D:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB"},E:{"1":"A B K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC","129":"C"},F:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"dC eC fC gC hC iC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC","129":"jC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ES6 Template Literals (Template Strings)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template.js
      index 8bdf44ccd93fc2..afa0329de12368 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/template.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C","388":"K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 I y J D E F A B C K L G M N O z j","132":"5 6 7 8 9 AB BB CB DB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D LC 1B MC","388":"E OC","514":"NC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","132":"0 G M N O z j"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC","388":"E cC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"HTML templates"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C","388":"K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 I y J E F G A B C K L H M N O z i","132":"5 6 7 8 9 AB BB CB DB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E LC 2B MC","388":"F OC","514":"NC"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","132":"0 H M N O z i"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC","388":"F cC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"HTML templates"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/temporal.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/temporal.js
      index aef7ed1b210b8b..ab4f61c6ab4d2a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/temporal.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/temporal.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Temporal"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:6,C:"Temporal"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/testfeat.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/testfeat.js
      index 545514f1406177..da01fde61f805a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/testfeat.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/testfeat.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E A B FC","16":"F"},B:{"2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","16":"I y"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"B C"},E:{"2":"I J LC 1B MC","16":"y D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC DC XC uB","16":"tB"},G:{"2":"1B YC EC ZC aC","16":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC wC EC xC yC","16":"vC"},J:{"2":"A","16":"D"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Test feature - updated"};
      +module.exports={A:{A:{"2":"J E F A B GC","16":"G"},B:{"2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","16":"I y"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"B C"},E:{"2":"I J LC 2B MC","16":"y E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC EC XC uB","16":"tB"},G:{"2":"2B YC FC ZC aC","16":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC wC FC xC yC","16":"vC"},J:{"2":"A","16":"E"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Test feature - updated"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-decoration.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-decoration.js
      index b131b581824a63..93dc2cb2cbff5b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-decoration.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-decoration.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","2052":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"GC wB I y HC IC","1028":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","1060":"0 1 2 3 4 5 6 7 8 9 J D E F A B C K L G M N O z j AB BB CB DB EB"},D:{"2":"0 1 2 3 4 I y J D E F A B C K L G M N O z j","226":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","2052":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D LC 1B MC NC","772":"K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","804":"E F A B C PC 2B tB","1316":"OC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB TC UC VC WC tB DC XC uB","226":"EB FB GB HB IB JB KB LB MB","2052":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"1B YC EC ZC aC bC","292":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","2052":"k"},L:{"2052":"H"},M:{"1028":"i"},N:{"2":"A B"},O:{"2052":"zC"},P:{"2":"I 0C 1C","2052":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2052":"3B"},R:{"2052":"DD"},S:{"1028":"ED FD"}},B:4,C:"text-decoration styling"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","2052":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"HC wB I y IC JC","1028":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","1060":"0 1 2 3 4 5 6 7 8 9 J E F G A B C K L H M N O z i AB BB CB DB EB"},D:{"2":"0 1 2 3 4 I y J E F G A B C K L H M N O z i","226":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB","2052":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E LC 2B MC NC","772":"K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","804":"F G A B C PC 3B tB","1316":"OC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB TC UC VC WC tB EC XC uB","226":"EB FB GB HB IB JB KB LB MB","2052":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"2B YC FC ZC aC bC","292":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","2052":"j"},L:{"2052":"D"},M:{"1028":"D"},N:{"2":"A B"},O:{"2052":"zC"},P:{"2":"I 0C 1C","2052":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2052":"4B"},R:{"2052":"DD"},S:{"1028":"ED FD"}},B:4,C:"text-decoration styling"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-emphasis.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-emphasis.js
      index f6603637419835..ca0d321f02ff8d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-emphasis.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-emphasis.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"l m n o p q r s t u v i w H x","2":"C K L G M N O","164":"P Q R S T U V W X Y Z a b c d e f g h"},C:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB HC IC","322":"OB"},D:{"1":"l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 I y J D E F A B C K L G M N O z j","164":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC","164":"D NC"},F:{"1":"V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","164":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC","164":"xC yC"},J:{"2":"D","164":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"164":"zC"},P:{"1":"j BD CD","164":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD"},Q:{"164":"3B"},R:{"164":"DD"},S:{"1":"ED FD"}},B:4,C:"text-emphasis styling"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"k l m n o p q r s t u v w x D","2":"C K L H M N O","164":"P Q R S T U V W X Y Z a b c d e f g h"},C:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB IC JC","322":"OB"},D:{"1":"k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 I y J E F G A B C K L H M N O z i","164":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC","164":"E NC"},F:{"1":"V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","164":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC","164":"xC yC"},J:{"2":"E","164":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"164":"zC"},P:{"1":"i BD CD","164":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD"},Q:{"164":"4B"},R:{"164":"DD"},S:{"1":"ED FD"}},B:4,C:"text-emphasis styling"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-overflow.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-overflow.js
      index 520c46ab9bb7c6..ed4806385130be 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-overflow.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-overflow.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B","2":"FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","8":"GC wB I y J HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","33":"F TC UC VC WC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"k uB","33":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Text-overflow"};
      +module.exports={A:{A:{"1":"J E F G A B","2":"GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","8":"HC wB I y J IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","33":"G TC UC VC WC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"j uB","33":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"CSS3 Text-overflow"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-size-adjust.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-size-adjust.js
      index 37243a0606f8d3..780ffcba056e11 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-size-adjust.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-size-adjust.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","33":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","258":"5"},E:{"2":"I y J D E F A B C K L G LC 1B NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","258":"MC"},F:{"1":"MB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB NB TC UC VC WC tB DC XC uB"},G:{"2":"1B YC EC","33":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"33":"i"},N:{"161":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS text-size-adjust"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","33":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","258":"5"},E:{"2":"I y J E F G A B C K L H LC 2B NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","258":"MC"},F:{"1":"MB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB NB TC UC VC WC tB EC XC uB"},G:{"2":"2B YC FC","33":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"33":"D"},N:{"161":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS text-size-adjust"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-stroke.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-stroke.js
      index e321f8fc366a02..616710fe7351e9 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-stroke.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/text-stroke.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L","33":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","161":"G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB HC IC","161":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","450":"RB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"33":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"33":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","36":"1B"},H:{"2":"sC"},I:{"2":"wB","33":"I H tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"2":"A B C tB DC uB","33":"k"},L:{"33":"H"},M:{"161":"i"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"3B"},R:{"33":"DD"},S:{"161":"ED FD"}},B:7,C:"CSS text-stroke and text-fill"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L","33":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","161":"H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB IC JC","161":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","450":"RB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"33":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"33":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","36":"2B"},H:{"2":"sC"},I:{"2":"wB","33":"I D tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"2":"A B C tB EC uB","33":"j"},L:{"33":"D"},M:{"161":"D"},N:{"2":"A B"},O:{"33":"zC"},P:{"33":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"33":"4B"},R:{"33":"DD"},S:{"161":"ED FD"}},B:7,C:"CSS text-stroke and text-fill"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textcontent.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textcontent.js
      index bcb34e366253f7..923d6e041fb2d7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textcontent.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textcontent.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"1":"E YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Node.textContent"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"1":"F YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Node.textContent"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textencoder.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textencoder.js
      index 55863d60645532..d4e7225f890173 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textencoder.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/textencoder.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O HC IC","132":"z"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"TextEncoder & TextDecoder"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O IC JC","132":"z"},D:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"TextEncoder & TextDecoder"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-1.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-1.js
      index ee8e4a7106a332..619055c38b31d8 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-1.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-1.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D FC","66":"E F A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB","2":"0 1 GC wB I y J D E F A B C K L G M N O z j HC IC","66":"2","129":"jB kB lB mB nB k oB pB qB rB","388":"sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T","2":"0 I y J D E F A B C K L G M N O z j","1540":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"D E F A B C K OC PC 2B tB uB","2":"I y J LC 1B MC NC","513":"L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB uB","2":"F B C TC UC VC WC tB DC XC","1540":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"1":"A","2":"D"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"129":"i"},N:{"1":"B","66":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"TLS 1.1"};
      +module.exports={A:{A:{"1":"B","2":"J E GC","66":"F G A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB","2":"0 1 HC wB I y J E F G A B C K L H M N O z i IC JC","66":"2","129":"jB kB lB mB nB j oB pB qB rB","388":"sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T","2":"0 I y J E F G A B C K L H M N O z i","1540":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"E F G A B C K OC PC 3B tB uB","2":"I y J LC 2B MC NC","513":"L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB uB","2":"G B C TC UC VC WC tB EC XC","1540":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"1":"A","2":"E"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"129":"D"},N:{"1":"B","66":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"TLS 1.1"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-2.js
      index 9ac534f424ff1b..3d46ec02e8c15e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D FC","66":"E F A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 GC wB I y J D E F A B C K L G M N O z j HC IC","66":"3 4 5"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F G TC","66":"B C UC VC WC tB DC XC uB"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"1":"A","2":"D"},K:{"1":"k uB","2":"A B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","66":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"TLS 1.2"};
      +module.exports={A:{A:{"1":"B","2":"J E GC","66":"F G A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 HC wB I y J E F G A B C K L H M N O z i IC JC","66":"3 4 5"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G H TC","66":"B C UC VC WC tB EC XC uB"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"1":"A","2":"E"},K:{"1":"j uB","2":"A B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","66":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"TLS 1.2"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-3.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-3.js
      index 598e650b9eb052..21aea7e125a566 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-3.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/tls1-3.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB HC IC","132":"cB yB dB","450":"UB VB WB XB YB ZB aB bB xB"},D:{"1":"lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","706":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","1028":"K uB 3B"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB","706":"XB YB ZB"},G:{"1":"kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"TLS 1.3"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB IC JC","132":"cB yB dB","450":"UB VB WB XB YB ZB aB bB xB"},D:{"1":"lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","706":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","1028":"K uB 4B"},F:{"1":"aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB","706":"XB YB ZB"},G:{"1":"kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:6,C:"TLS 1.3"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/touch.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/touch.js
      index a1694c9c3d631c..4bdb4392606156 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/touch.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/touch.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","8":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","578":"C K L G M N O"},C:{"1":"0 1 2 3 O z j VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","4":"I y J D E F A B C K L G M N","194":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 I y J D E F A B C K L G M N O z j"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A","260":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"Touch events"};
      +module.exports={A:{A:{"2":"J E F G GC","8":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","578":"C K L H M N O"},C:{"1":"0 1 2 3 O z i VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","4":"I y J E F G A B C K L H M N","194":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 I y J E F G A B C K L H M N O z i"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A","260":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"Touch events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms2d.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms2d.js
      index 1f33de8f9577ce..aae8c80418d301 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms2d.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms2d.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E","129":"A B","161":"F"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K L G M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","33":"I y J D E F A B C K L G HC IC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","33":"I y J D E LC 1B MC NC OC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F TC UC","33":"0 1 B C G M N O z j VC WC tB DC XC"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","33":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","33":"wB I tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 2D Transforms"};
      +module.exports={A:{A:{"2":"GC","8":"J E F","129":"A B","161":"G"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K L H M"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","33":"I y J E F G A B C K L H IC JC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","33":"I y J E F LC 2B MC NC OC"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G TC UC","33":"0 1 B C H M N O z i VC WC tB EC XC"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","33":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","33":"wB I tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 2D Transforms"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms3d.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms3d.js
      index 855abe899413e1..9035fe016b51b7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms3d.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/transforms3d.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F HC IC","33":"A B C K L G"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B","33":"0 1 2 3 4 5 6 7 8 9 C K L G M N O z j AB BB CB DB EB"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B","33":"I y J D E MC NC OC","257":"F A B C K L G PC 2B tB uB 3B QC RC 4B"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 G M N O z j"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","33":"E 1B YC EC ZC aC bC cC","257":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"tC uC vC","33":"wB I wC EC xC yC"},J:{"33":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS3 3D Transforms"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G IC JC","33":"A B C K L H"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B","33":"0 1 2 3 4 5 6 7 8 9 C K L H M N O z i AB BB CB DB EB"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B","33":"I y J E F MC NC OC","257":"G A B C K L H PC 3B tB uB 4B QC RC 5B"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 H M N O z i"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","33":"F 2B YC FC ZC aC bC cC","257":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"tC uC vC","33":"wB I wC FC xC yC"},J:{"33":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:5,C:"CSS3 3D Transforms"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/trusted-types.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/trusted-types.js
      index 442a936b0b754a..f156c6791d883e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/trusted-types.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/trusted-types.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Trusted Types for DOM manipulation"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Trusted Types for DOM manipulation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ttf.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ttf.js
      index 46b5a62dc78f4e..7b856749a72eea 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ttf.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/ttf.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","132":"F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB DC XC uB","2":"F TC"},G:{"1":"E EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC"},H:{"2":"sC"},I:{"1":"wB I H uC vC wC EC xC yC","2":"tC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"};
      +module.exports={A:{A:{"2":"J E F GC","132":"G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h UC VC WC tB EC XC uB","2":"G TC"},G:{"1":"F FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC"},H:{"2":"sC"},I:{"1":"wB I D uC vC wC FC xC yC","2":"tC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/typedarrays.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/typedarrays.js
      index f1a99591285d53..87c36d1eebda60 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/typedarrays.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/typedarrays.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"B","2":"J D E F FC","132":"A"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B","260":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC","260":"EC"},H:{"1":"sC"},I:{"1":"I H wC EC xC yC","2":"wB tC uC vC"},J:{"1":"A","2":"D"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Typed Arrays"};
      +module.exports={A:{A:{"1":"B","2":"J E F G GC","132":"A"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B","260":"MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC","260":"FC"},H:{"1":"sC"},I:{"1":"I D wC FC xC yC","2":"wB tC uC vC"},J:{"1":"A","2":"E"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Typed Arrays"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/u2f.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/u2f.js
      index 3f524f63614642..1924e54ca21b83 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/u2f.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/u2f.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O s t u v i w H x","513":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r"},C:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB 0B HC IC","322":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB H x"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB s t u v i w H x 0B JC KC","130":"HB IB JB","513":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g","578":"h l m n o p q r"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB KB TC UC VC WC tB DC XC uB","513":"JB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"1":"FD","322":"ED"}},B:7,C:"FIDO U2F API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O r s t u v w x D","513":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q"},C:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB 0B 1B IC JC","322":"QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB x D"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB r s t u v w x D 0B 1B KC","130":"HB IB JB","513":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g","578":"h k l m n o p q"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB KB TC UC VC WC tB EC XC uB","513":"JB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"1":"FD","322":"ED"}},B:7,C:"FIDO U2F API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/unhandledrejection.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/unhandledrejection.js
      index 30f9f1c5026691..79e88530222ad1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/unhandledrejection.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/unhandledrejection.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB HC IC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC","16":"hC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"unhandledrejection/rejectionhandled events"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB IC JC"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB"},G:{"1":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC","16":"hC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:1,C:"unhandledrejection/rejectionhandled events"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js
      index 20e6cf8d1b4042..a8e6405648d6e4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB HC IC"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Upgrade Insecure Requests"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"1":"LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB IC JC"},D:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Upgrade Insecure Requests"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js
      index 6661176dfe9213..54ee5834fda3f5 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","66":"P Q R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k","66":"oB pB qB rB sB P Q"},E:{"1":"8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB"},F:{"1":"jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB DC XC uB","66":"hB iB"},G:{"1":"8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"URL Scroll-To-Text Fragment"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","66":"P Q R"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j","66":"oB pB qB rB sB P Q"},E:{"1":"9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB"},F:{"1":"jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB EC XC uB","66":"hB iB"},G:{"1":"9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"URL Scroll-To-Text Fragment"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url.js
      index 06c910e33f54df..a8d77b76c9249b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/url.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 GC wB I y J D E F A B C K L G M N O z j HC IC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 I y J D E F A B C K L G M N O z j","130":"2 3 4 5 6 7 8 9 AB"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC NC","130":"D"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","130":"G M N O"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC","130":"bC"},H:{"2":"sC"},I:{"1":"H yC","2":"wB I tC uC vC wC EC","130":"xC"},J:{"2":"D","130":"A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"URL API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 HC wB I y J E F G A B C K L H M N O z i IC JC"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 I y J E F G A B C K L H M N O z i","130":"2 3 4 5 6 7 8 9 AB"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC NC","130":"E"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","130":"H M N O"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC","130":"bC"},H:{"2":"sC"},I:{"1":"D yC","2":"wB I tC uC vC wC FC","130":"xC"},J:{"2":"E","130":"A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"URL API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/urlsearchparams.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/urlsearchparams.js
      index ea94fdef9cc680..bb7015c5a69984 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/urlsearchparams.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/urlsearchparams.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC","132":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L G 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"URLSearchParams"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC","132":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB"},D:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},E:{"1":"B C K L H 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC"},F:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB"},G:{"1":"gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"URLSearchParams"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/use-strict.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/use-strict.js
      index 44736e7de8520f..ee251fd3bf0eb1 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/use-strict.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/use-strict.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","132":"y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"1":"sC"},I:{"1":"wB I H wC EC xC yC","2":"tC uC vC"},J:{"1":"D A"},K:{"1":"C k DC uB","2":"A B tB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ECMAScript 5 Strict Mode"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","132":"y MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"1":"sC"},I:{"1":"wB I D wC FC xC yC","2":"tC uC vC"},J:{"1":"E A"},K:{"1":"C j EC uB","2":"A B tB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"ECMAScript 5 Strict Mode"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-select-none.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-select-none.js
      index 777b29904e0e3a..86b8ccbd2c5300 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-select-none.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-select-none.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","33":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","33":"C K L G M N O"},C:{"1":"kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","33":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB HC IC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","33":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"SC","33":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","33":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB"},G:{"33":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","33":"wB I tC uC vC wC EC xC yC"},J:{"33":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"33":"A B"},O:{"1":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","33":"I 0C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"CSS user-select: none"};
      +module.exports={A:{A:{"2":"J E F G GC","33":"A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","33":"C K L H M N O"},C:{"1":"kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","33":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB IC JC"},D:{"1":"XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","33":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB"},E:{"1":"SC","33":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC"},F:{"1":"KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","33":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB"},G:{"33":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","33":"wB I tC uC vC wC FC xC yC"},J:{"33":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"33":"A B"},O:{"1":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","33":"I 0C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","33":"ED"}},B:5,C:"CSS user-select: none"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-timing.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-timing.js
      index c90fcfe052124a..75d3312da83394 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-timing.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/user-timing.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HC IC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 I y J D E F A B C K L G M N O z j"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"User Timing API"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB IC JC"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 I y J E F G A B C K L H M N O z i"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"User Timing API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/variable-fonts.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/variable-fonts.js
      index ee9972c3bca027..53b18c747dc087 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/variable-fonts.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/variable-fonts.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB HC IC","4609":"dB eB fB gB hB iB jB kB lB","4674":"yB","5698":"cB","7490":"WB XB YB ZB aB","7746":"bB xB","8705":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","4097":"hB","4290":"xB cB yB","6148":"dB eB fB gB"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","4609":"B C tB uB","8193":"K L 3B QC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB TC UC VC WC tB DC XC uB","4097":"WB","6148":"SB TB UB VB"},G:{"1":"lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC","4097":"hC iC jC kC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"4097":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I 0C 1C 2C","4097":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Variable fonts"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB IC JC","4609":"dB eB fB gB hB iB jB kB lB","4674":"yB","5698":"cB","7490":"WB XB YB ZB aB","7746":"bB xB","8705":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB","4097":"hB","4290":"xB cB yB","6148":"dB eB fB gB"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","4609":"B C tB uB","8193":"K L 4B QC"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB TC UC VC WC tB EC XC uB","4097":"WB","6148":"SB TB UB VB"},G:{"1":"lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC","4097":"hC iC jC kC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"4097":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"2":"I 0C 1C 2C","4097":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:5,C:"Variable fonts"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vector-effect.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vector-effect.js
      index 8d21451d185e35..8a4604ab2d08cf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vector-effect.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vector-effect.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J D E F A B C K L"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"F B TC UC VC WC tB DC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"1":"sC"},I:{"1":"H xC yC","16":"wB I tC uC vC wC EC"},J:{"16":"D A"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG vector-effect: non-scaling-stroke"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J E F G A B C K L"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","2":"G B TC UC VC WC tB EC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"1":"sC"},I:{"1":"D xC yC","16":"wB I tC uC vC wC FC"},J:{"16":"E A"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"SVG vector-effect: non-scaling-stroke"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vibration.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vibration.js
      index 79c1f32fc716c4..cd6033719efdbe 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vibration.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/vibration.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A HC IC","33":"B C K L G"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 I y J D E F A B C K L G M N O z j"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C G M TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Vibration API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A IC JC","33":"B C K L H"},D:{"1":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 I y J E F G A B C K L H M N O z i"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C H M TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"Vibration API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/video.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/video.js
      index 81caaf0f5bfb58..251519dbda2b14 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/video.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/video.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","260":"I y J D E F A B C K L G M N O z HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A MC NC OC PC 2B","2":"LC 1B","513":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC","513":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","132":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Video element"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","260":"I y J E F G A B C K L H M N O z IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A MC NC OC PC 3B","2":"LC 2B","513":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC","513":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","132":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Video element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/videotracks.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/videotracks.js
      index 2d4e90f0096b60..6493e8ddf8653a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/videotracks.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/videotracks.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O","322":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC","194":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB","322":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J LC 1B MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB TC UC VC WC tB DC XC uB","322":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","322":"k"},L:{"322":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"322":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"322":"3B"},R:{"322":"DD"},S:{"194":"ED FD"}},B:1,C:"Video Tracks"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O","322":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC","194":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB","322":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J LC 2B MC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB TC UC VC WC tB EC XC uB","322":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","322":"j"},L:{"322":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"322":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"322":"4B"},R:{"322":"DD"},S:{"194":"ED FD"}},B:1,C:"Video Tracks"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-unit-variants.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-unit-variants.js
      index 69307012018a99..dd2cf8f5de2e01 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-unit-variants.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-unit-variants.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q","194":"r s t"},C:{"1":"n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m HC IC"},D:{"1":"u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l","194":"m n o p q r s t"},E:{"1":"5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B"},F:{"1":"d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB DC XC uB","194":"a b c"},G:{"1":"5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"Small, Large, and Dynamic viewport units"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p","194":"q r s"},C:{"1":"m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l IC JC"},D:{"1":"t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k","194":"l m n o p q r s"},E:{"1":"6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B"},F:{"1":"d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z TC UC VC WC tB EC XC uB","194":"a b c"},G:{"1":"6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:5,C:"Small, Large, and Dynamic viewport units"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-units.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-units.js
      index 570e53797fe760..92d17effd81c35 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-units.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/viewport-units.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","132":"F","260":"A B"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","260":"C K L G"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L G M N O HC IC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N O z","260":"0 1 2 3 4 j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC","260":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC","516":"bC","772":"aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"};
      +module.exports={A:{A:{"2":"J E F GC","132":"G","260":"A B"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","260":"C K L H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L H M N O IC JC"},D:{"1":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N O z","260":"0 1 2 3 4 i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC","260":"J"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC","516":"bC","772":"aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"260":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wai-aria.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wai-aria.js
      index dbb87ad9364a5a..d989784b12fe1d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wai-aria.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wai-aria.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","4":"E F A B"},B:{"4":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"4":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"LC 1B","4":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F","4":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"4":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"4":"sC"},I:{"2":"wB I tC uC vC wC EC","4":"H xC yC"},J:{"2":"D A"},K:{"4":"A B C k tB DC uB"},L:{"4":"H"},M:{"4":"i"},N:{"4":"A B"},O:{"4":"zC"},P:{"4":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"3B"},R:{"4":"DD"},S:{"4":"ED FD"}},B:2,C:"WAI-ARIA Accessibility features"};
      +module.exports={A:{A:{"2":"J E GC","4":"F G A B"},B:{"4":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"4":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"LC 2B","4":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G","4":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"4":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"4":"sC"},I:{"2":"wB I tC uC vC wC FC","4":"D xC yC"},J:{"2":"E A"},K:{"4":"A B C j tB EC uB"},L:{"4":"D"},M:{"4":"D"},N:{"4":"A B"},O:{"4":"zC"},P:{"4":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"4B"},R:{"4":"DD"},S:{"4":"ED FD"}},B:2,C:"WAI-ARIA Accessibility features"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wake-lock.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wake-lock.js
      index 651118f975a54e..8edd596d8b0a77 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wake-lock.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wake-lock.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","194":"P Q R S T U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","194":"mB nB k oB pB qB rB sB P Q R S T"},E:{"1":"BC CC SC","2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC"},F:{"1":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB TC UC VC WC tB DC XC uB","194":"bB cB dB eB fB gB hB iB jB kB lB mB nB"},G:{"1":"BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Screen Wake Lock API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","194":"P Q R S T U V W X Y"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB","194":"mB nB j oB pB qB rB sB P Q R S T"},E:{"1":"CC DC SC","2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC"},F:{"1":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB TC UC VC WC tB EC XC uB","194":"bB cB dB eB fB gB hB iB jB kB lB mB nB"},G:{"1":"CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 8C 9C vB AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:4,C:"Screen Wake Lock API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wasm.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wasm.js
      index fb2963c65559ed..44a530ab149e03 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wasm.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wasm.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L","578":"G"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB HC IC","194":"QB RB SB TB UB","1025":"VB"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","322":"UB VB WB XB YB ZB"},E:{"1":"B C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB TC UC VC WC tB DC XC uB","322":"HB IB JB KB LB MB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:6,C:"WebAssembly"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L","578":"H"},C:{"1":"WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB IC JC","194":"QB RB SB TB UB","1025":"VB"},D:{"1":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB","322":"UB VB WB XB YB ZB"},E:{"1":"B C K L H tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B"},F:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB TC UC VC WC tB EC XC uB","322":"HB IB JB KB LB MB"},G:{"1":"hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","194":"ED"}},B:6,C:"WebAssembly"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wav.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wav.js
      index 839f998787e008..0938c8c23d7ce4 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wav.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wav.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB DC XC uB","2":"F TC UC"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","16":"A"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Wav audio format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h VC WC tB EC XC uB","2":"G TC UC"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","16":"A"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"Wav audio format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wbr-element.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wbr-element.js
      index 1354b4e501fd1a..3c5c84badc99f6 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wbr-element.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wbr-element.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D FC","2":"E F A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","16":"F"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC"},H:{"1":"sC"},I:{"1":"wB I H vC wC EC xC yC","16":"tC uC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"wbr (word break opportunity) element"};
      +module.exports={A:{A:{"1":"J E GC","2":"F G A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"LC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","16":"G"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC"},H:{"1":"sC"},I:{"1":"wB I D vC wC FC xC yC","16":"tC uC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"wbr (word break opportunity) element"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-animation.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-animation.js
      index d372c92db37f6d..00f0ef3f4c8d5b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-animation.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-animation.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","260":"P Q R S"},C:{"1":"R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB HC IC","260":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB","516":"QB RB SB TB UB VB WB XB YB ZB aB bB","580":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB","2049":"pB qB rB sB P Q"},D:{"1":"T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB","132":"FB GB HB","260":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC 2B","1090":"B C K tB uB","2049":"L 3B QC"},F:{"1":"mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 F B C G M N O z j TC UC VC WC tB DC XC uB","132":"2 3 4","260":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC","1090":"hC iC jC kC lC mC nC","2049":"oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"260":"zC"},P:{"260":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"3B"},R:{"1":"DD"},S:{"1":"FD","516":"ED"}},B:5,C:"Web Animations API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","260":"P Q R S"},C:{"1":"R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB IC JC","260":"xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB","516":"QB RB SB TB UB VB WB XB YB ZB aB bB","580":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB","2049":"pB qB rB sB P Q"},D:{"1":"T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB","132":"FB GB HB","260":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC 3B","1090":"B C K tB uB","2049":"L 4B QC"},F:{"1":"mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 G B C H M N O z i TC UC VC WC tB EC XC uB","132":"2 3 4","260":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC","1090":"hC iC jC kC lC mC nC","2049":"oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"260":"zC"},P:{"260":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"260":"4B"},R:{"1":"DD"},S:{"1":"FD","516":"ED"}},B:5,C:"Web Animations API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-app-manifest.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-app-manifest.js
      index 1aebf7de887905..6beb86fad87518 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-app-manifest.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-app-manifest.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M","130":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","578":"qB rB sB P Q R zB S T U"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC","4":"BC CC","260":"iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Add to home screen (A2HS)"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M","130":"N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","578":"qB rB sB P Q R zB S T U"},D:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC","4":"CC DC","260":"iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"Add to home screen (A2HS)"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-bluetooth.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-bluetooth.js
      index f8ab1090ffcbe8..061cd331c89559 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-bluetooth.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-bluetooth.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","1025":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB","194":"OB PB QB RB SB TB UB VB","706":"WB XB YB","1025":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB TC UC VC WC tB DC XC uB","450":"FB GB HB IB","706":"JB KB LB","1025":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC yC","1025":"H"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","1025":"k"},L:{"1025":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1025":"zC"},P:{"1":"j 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"2":"3B"},R:{"1025":"DD"},S:{"2":"ED FD"}},B:7,C:"Web Bluetooth"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","1025":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB","194":"OB PB QB RB SB TB UB VB","706":"WB XB YB","1025":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB TC UC VC WC tB EC XC uB","450":"FB GB HB IB","706":"JB KB LB","1025":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC yC","1025":"D"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","1025":"j"},L:{"1025":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1025":"zC"},P:{"1":"i 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C"},Q:{"2":"4B"},R:{"1025":"DD"},S:{"2":"ED FD"}},B:7,C:"Web Bluetooth"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-serial.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-serial.js
      index 08730e0a91a83f..e6769b8823a6bf 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-serial.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-serial.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","66":"P Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB","66":"sB P Q R S T U V W X"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB TC UC VC WC tB DC XC uB","66":"gB hB iB jB kB lB mB nB k oB pB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Web Serial API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","66":"P Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB","66":"sB P Q R S T U V W X"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB TC UC VC WC tB EC XC uB","66":"gB hB iB jB kB lB mB nB j oB pB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"Web Serial API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-share.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-share.js
      index 7c185913fbc27d..f85068ab0b237a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-share.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/web-share.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q","516":"R S T U V W X Y Z a b c d"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"4 5 6 7 8 9 I y J D E F A B C K L G M N AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X","130":"0 1 2 3 O z j","1028":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"L G QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","2049":"K uB 3B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC","2049":"kC lC mC nC oC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC EC xC","258":"H yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","258":"0C 1C 2C"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"Web Share API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q","516":"R S T U V W X Y Z a b c d"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"4 5 6 7 8 9 I y J E F G A B C K L H M N AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X","130":"0 1 2 3 O z i","1028":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"L H QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","2049":"K uB 4B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC","2049":"kC lC mC nC oC"},H:{"2":"sC"},I:{"2":"wB I tC uC vC wC FC xC","258":"D yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I","258":"0C 1C 2C"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:4,C:"Web Share API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webauthn.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webauthn.js
      index e886436da35713..2e46bfb94c85b2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webauthn.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webauthn.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C","226":"K L G M N"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB HC IC","5124":"cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB"},E:{"1":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB","322":"uB"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB DC XC uB"},G:{"1":"qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC","578":"mC","2052":"pC","3076":"nC oC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1028":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"Web Authentication API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C","226":"K L H M N"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB IC JC","5124":"cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB"},E:{"1":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB","322":"uB"},F:{"1":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB TC UC VC WC tB EC XC uB"},G:{"1":"qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC","578":"mC","2052":"pC","3076":"nC oC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1028":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2":"ED"}},B:2,C:"Web Authentication API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webcodecs.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webcodecs.js
      index ac7917208b8d0d..b1de741a1eaa7f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webcodecs.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webcodecs.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC","260":"BC CC SC"},F:{"1":"Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC","260":"BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j AD BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"WebCodecs API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC","260":"CC DC SC"},F:{"1":"Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC","260":"CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i AD BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"WebCodecs API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl.js
      index 492b805e72df4c..6872e2893226d2 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"FC","8":"J D E F A","129":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","129":"C K L G M N O"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","129":"0 1 2 I y J D E F A B C K L G M N O z j"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D","129":"0 1 2 3 4 5 6 7 8 9 E F A B C K L G M N O z j AB BB"},E:{"1":"E F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B","129":"J D MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B TC UC VC WC tB DC XC","129":"C G M N O uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC bC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"1":"A","2":"D"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A","129":"B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","129":"ED"}},B:6,C:"WebGL - 3D Canvas graphics"};
      +module.exports={A:{A:{"2":"GC","8":"J E F G A","129":"B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","129":"C K L H M N O"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","129":"0 1 2 I y J E F G A B C K L H M N O z i"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E","129":"0 1 2 3 4 5 6 7 8 9 F G A B C K L H M N O z i AB BB"},E:{"1":"F G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B","129":"J E MC NC OC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B TC UC VC WC tB EC XC","129":"C H M N O uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC bC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"1":"A","2":"E"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A","129":"B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","129":"ED"}},B:6,C:"WebGL - 3D Canvas graphics"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl2.js
      index 488376628070b2..f3c174e5cd4040 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgl2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"LB MB NB","450":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB","2242":"OB PB QB RB SB TB"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB","578":"MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"G RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F A LC 1B MC NC OC PC","1090":"B C K L 2B tB uB 3B QC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB DC XC uB"},G:{"1":"rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC","1090":"jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","2242":"ED"}},B:6,C:"WebGL 2.0"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"LB MB NB","450":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB","2242":"OB PB QB RB SB TB"},D:{"1":"ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB","578":"MB NB OB PB QB RB SB TB UB VB WB XB YB"},E:{"1":"H RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G A LC 2B MC NC OC PC","1090":"B C K L 3B tB uB 4B QC"},F:{"1":"MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB TC UC VC WC tB EC XC uB"},G:{"1":"rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC","1090":"jC kC lC mC nC oC pC qC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","2242":"ED"}},B:6,C:"WebGL 2.0"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgpu.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgpu.js
      index fcbacdf671e486..91ba6e7646c329 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgpu.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webgpu.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"x","2":"C K L G M N O P","578":"Q R S T U V W X Y Z a b c","1602":"d e f g h l m n o p q r s t u v i w H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB HC IC","194":"eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P","578":"Q R S T U V W X Y Z a b c","1602":"d e f g h l m n o p q r s t u v i w H","2049":"x 0B JC KC"},E:{"2":"I y J D E F A B LC 1B MC NC OC PC 2B","322":"C K L G tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB DC XC uB","578":"k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"194":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED","194":"FD"}},B:5,C:"WebGPU"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"D","2":"C K L H M N O P","578":"Q R S T U V W X Y Z a b c","1602":"d e f g h k l m n o p q r s t u v w x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB IC JC","194":"eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P","578":"Q R S T U V W X Y Z a b c","1602":"d e f g h k l m n o p q r s t u v w x","2049":"D 0B 1B KC"},E:{"2":"I y J E F G A B H LC 2B MC NC OC PC 3B RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","322":"C K L tB uB 4B QC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB TC UC VC WC tB EC XC uB","578":"j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"194":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED","194":"FD"}},B:5,C:"WebGPU"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webhid.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webhid.js
      index b579ea31fd496f..2a5e8489e05bef 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webhid.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webhid.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O","66":"P Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB","66":"sB P Q R S T U V W X"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB DC XC uB","66":"hB iB jB kB lB mB nB k oB pB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"WebHID API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O","66":"P Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB","66":"sB P Q R S T U V W X"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB TC UC VC WC tB EC XC uB","66":"hB iB jB kB lB mB nB j oB pB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"WebHID API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webkit-user-drag.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webkit-user-drag.js
      index 6d9dd4d356db70..91c2bfa8e79504 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webkit-user-drag.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webkit-user-drag.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","132":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"16":"I y J D E F A B C K L G","132":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"F B C TC UC VC WC tB DC XC uB","132":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS -webkit-user-drag property"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","132":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"16":"I y J E F G A B C K L H","132":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"G B C TC UC VC WC tB EC XC uB","132":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"CSS -webkit-user-drag property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webm.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webm.js
      index c0f4f1f2252b33..e36bf3755985cd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webm.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webm.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E FC","520":"F A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","8":"C K","388":"L G M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","132":"0 1 2 3 4 5 6 I y J D E F A B C K L G M N O z j"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y","132":"0 1 2 3 J D E F A B C K L G M N O z j"},E:{"1":"vB 8B 9B AC BC CC SC","2":"LC","8":"I y 1B MC","520":"J D E F A B C NC OC PC 2B tB","1028":"K uB 3B","7172":"L","8196":"G QC RC 4B 5B 6B 7B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC UC VC","132":"B C G WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC","1028":"kC lC mC nC oC","3076":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"tC uC","132":"wB I vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"WebM video format"};
      +module.exports={A:{A:{"2":"J E F GC","520":"G A B"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","8":"C K","388":"L H M N O"},C:{"1":"7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","132":"0 1 2 3 4 5 6 I y J E F G A B C K L H M N O z i"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y","132":"0 1 2 3 J E F G A B C K L H M N O z i"},E:{"1":"vB 9B AC BC CC DC SC","2":"LC","8":"I y 2B MC","520":"J E F G A B C NC OC PC 3B tB","1028":"K uB 4B","7172":"L","8196":"H QC RC 5B 6B 7B 8B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC UC VC","132":"B C H WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC","1028":"kC lC mC nC oC","3076":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"tC uC","132":"wB I vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"8":"A B"},O:{"1":"zC"},P:{"1":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","132":"I"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:6,C:"WebM video format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webnfc.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webnfc.js
      index c933dda9ddc6af..97b6952a03661b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webnfc.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webnfc.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O P Y Z a b c d e f g h l m n o p q r s t u v i w H x","450":"Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","450":"Q R S T U V W X"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","450":"iB jB kB lB mB nB k oB pB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"257":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Web NFC"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O P Y Z a b c d e f g h k l m n o p q r s t u v w x D","450":"Q R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","450":"Q R S T U V W X"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","450":"iB jB kB lB mB nB j oB pB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"257":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"Web NFC"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webp.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webp.js
      index 7e7517ec5b7059..0a19964b1cd63e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webp.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webp.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N"},C:{"1":"gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","8":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y","8":"J D E","132":"0 1 F A B C K L G M N O z j","260":"2 3 4 5 6 7 8 9 AB"},E:{"1":"vB 8B 9B AC BC CC SC","2":"I y J D E F A B C K LC 1B MC NC OC PC 2B tB uB 3B","516":"L G QC RC 4B 5B 6B 7B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F TC UC VC","8":"B WC","132":"tB DC XC","260":"C G M N O uB"},G:{"1":"pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"1":"sC"},I:{"1":"H EC xC yC","2":"wB tC uC vC","132":"I wC"},J:{"2":"D A"},K:{"1":"C k tB DC uB","2":"A","132":"B"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","8":"ED"}},B:6,C:"WebP image format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N"},C:{"1":"gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","8":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB"},D:{"1":"BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y","8":"J E F","132":"0 1 G A B C K L H M N O z i","260":"2 3 4 5 6 7 8 9 AB"},E:{"1":"vB 9B AC BC CC DC SC","2":"I y J E F G A B C K LC 2B MC NC OC PC 3B tB uB 4B","516":"L H QC RC 5B 6B 7B 8B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G TC UC VC","8":"B WC","132":"tB EC XC","260":"C H M N O uB"},G:{"1":"pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC"},H:{"1":"sC"},I:{"1":"D FC xC yC","2":"wB tC uC vC","132":"I wC"},J:{"2":"E A"},K:{"1":"C j tB EC uB","2":"A","132":"B"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","8":"ED"}},B:6,C:"WebP image format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/websockets.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/websockets.js
      index 5c5869ab90c7e4..96d37a12930977 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/websockets.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/websockets.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB HC IC","132":"I y","292":"J D E F A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"I y J D E F A B C K L","260":"G"},E:{"1":"D E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","132":"y MC","260":"J NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F TC UC VC WC","132":"B C tB DC XC"},G:{"1":"E aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC","132":"EC ZC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","129":"D"},K:{"1":"k uB","2":"A","132":"B C tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Sockets"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB IC JC","132":"I y","292":"J E F G A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"I y J E F G A B C K L","260":"H"},E:{"1":"E F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","132":"y MC","260":"J NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G TC UC VC WC","132":"B C tB EC XC"},G:{"1":"F aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC","132":"FC ZC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","129":"E"},K:{"1":"j uB","2":"A","132":"B C tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Sockets"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webtransport.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webtransport.js
      index b45e1a6adb1c71..d6a7a37bc5532d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webtransport.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webtransport.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"h l m n o p q r s t u v i w H x","2":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z e f","66":"a b c d"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB TC UC VC WC tB DC XC uB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"j BD CD","2":"I 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"WebTransport"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"h k l m n o p q r s t u v w x D","2":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g"},C:{"1":"0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D IC JC"},D:{"1":"g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z e f","66":"a b c d"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB TC UC VC WC tB EC XC uB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"1":"i BD CD","2":"I 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:5,C:"WebTransport"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webusb.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webusb.js
      index 25b22978b617d3..89e9f884719814 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webusb.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webusb.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","66":"XB YB ZB aB bB xB cB"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB DC XC uB","66":"KB LB MB NB OB PB QB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"j 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"2":"3B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"WebUSB"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB","66":"XB YB ZB aB bB xB cB"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB TC UC VC WC tB EC XC uB","66":"KB LB MB NB OB PB QB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"i 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD","2":"I 0C 1C 2C"},Q:{"2":"4B"},R:{"1":"DD"},S:{"2":"ED FD"}},B:7,C:"WebUSB"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvr.js
      index 88d3fa528d601b..2b527559e514cc 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","66":"P","257":"G M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB HC IC","129":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","194":"XB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","66":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P"},E:{"2":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","66":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C k tB DC uB"},L:{"2":"H"},M:{"2":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"513":"I","516":"j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"WebVR API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","66":"P","257":"H M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB IC JC","129":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","194":"XB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","66":"aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P"},E:{"2":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","66":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C j tB EC uB"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"513":"I","516":"i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED FD"}},B:7,C:"WebVR API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvtt.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvtt.js
      index 9bfda3feb30d93..31552cf9cc7fe3 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvtt.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webvtt.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 GC wB I y J D E F A B C K L G M N O z j HC IC","66":"3 4 5 6 7 8 9","129":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","257":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I y J D E F A B C K L G M N"},E:{"1":"J D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB I tC uC vC wC EC"},J:{"1":"A","2":"D"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"129":"ED FD"}},B:4,C:"WebVTT - Web Video Text Tracks"};
      +module.exports={A:{A:{"1":"A B","2":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 HC wB I y J E F G A B C K L H M N O z i IC JC","66":"3 4 5 6 7 8 9","129":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB","257":"YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I y J E F G A B C K L H M N"},E:{"1":"J E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB I tC uC vC wC FC"},J:{"1":"A","2":"E"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"B","2":"A"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"129":"ED FD"}},B:4,C:"WebVTT - Web Video Text Tracks"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webworkers.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webworkers.js
      index 7ffd4b1d0b0820..e0491a95f57f32 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webworkers.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webworkers.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","2":"FC","8":"J D E F"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","8":"GC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","8":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB DC XC uB","2":"F TC","8":"UC VC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"H tC xC yC","2":"wB I uC vC wC EC"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","8":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Workers"};
      +module.exports={A:{A:{"1":"A B","2":"GC","8":"J E F G"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","8":"HC wB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","8":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h WC tB EC XC uB","2":"G TC","8":"UC VC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"D tC xC yC","2":"wB I uC vC wC FC"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","8":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Web Workers"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webxr.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webxr.js
      index 9ccb3ee112694d..6807cd9199a79d 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webxr.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/webxr.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"2":"C K L G M N O","132":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB HC IC","322":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB","66":"gB hB iB jB kB lB mB nB k oB pB qB rB sB","132":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"2":"I y J D E F A B C LC 1B MC NC OC PC 2B tB uB","578":"K L G 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB DC XC uB","66":"VB WB XB YB ZB aB bB cB dB eB fB gB","132":"hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"2":"sC"},I:{"2":"wB I H tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"2":"A B C tB DC uB","132":"k"},L:{"132":"H"},M:{"322":"i"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 2B 5C","132":"j 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"3B"},R:{"2":"DD"},S:{"2":"ED","322":"FD"}},B:4,C:"WebXR Device API"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"2":"C K L H M N O","132":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB IC JC","322":"rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB","66":"gB hB iB jB kB lB mB nB j oB pB qB rB sB","132":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"2":"I y J E F G A B C LC 2B MC NC OC PC 3B tB uB","578":"K L H 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB TC UC VC WC tB EC XC uB","66":"VB WB XB YB ZB aB bB cB dB eB fB gB","132":"hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h"},G:{"2":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"2":"sC"},I:{"2":"wB I D tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"2":"A B C tB EC uB","132":"j"},L:{"132":"D"},M:{"322":"D"},N:{"2":"A B"},O:{"2":"zC"},P:{"2":"I 0C 1C 2C 3C 4C 3B 5C","132":"i 6C 7C 8C 9C vB AD BD CD"},Q:{"2":"4B"},R:{"2":"DD"},S:{"2":"ED","322":"FD"}},B:4,C:"WebXR Device API"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/will-change.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/will-change.js
      index 19f22a7f3e9ef5..95ba427b958d0a 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/will-change.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/will-change.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K L G M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 GC wB I y J D E F A B C K L G M N O z j HC IC","194":"8 9 AB BB CB DB EB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB"},E:{"1":"A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS will-change property"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K L H M N O"},C:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 HC wB I y J E F G A B C K L H M N O z i IC JC","194":"8 9 AB BB CB DB EB"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB"},E:{"1":"A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC"},F:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 2 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS will-change property"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff.js
      index 024d94be485056..b4df1b121e70ea 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B IC","2":"GC wB HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"I"},E:{"1":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB DC XC uB","2":"F B TC UC VC WC"},G:{"1":"E ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC"},H:{"2":"sC"},I:{"1":"H xC yC","2":"wB tC uC vC wC EC","130":"I"},J:{"1":"D A"},K:{"1":"B C k tB DC uB","2":"A"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"WOFF - Web Open Font Format"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B JC","2":"HC wB IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"I"},E:{"1":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h tB EC XC uB","2":"G B TC UC VC WC"},G:{"1":"F ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC"},H:{"2":"sC"},I:{"1":"D xC yC","2":"wB tC uC vC wC FC","130":"I"},J:{"1":"E A"},K:{"1":"B C j tB EC uB","2":"A"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"WOFF - Web Open Font Format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff2.js
      index 93ae5cc559892d..e1aa04e124975f 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/woff2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F A B FC"},B:{"1":"L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","2":"C K"},C:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB HC IC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","2":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB"},E:{"1":"C K L G uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I y J D E F LC 1B MC NC OC PC","132":"A B 2B tB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 F B C G M N O z j TC UC VC WC tB DC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"E 1B YC EC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"H","2":"wB I tC uC vC wC EC xC yC"},J:{"2":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"WOFF 2.0 - Web Open Font Format"};
      +module.exports={A:{A:{"2":"J E F G A B GC"},B:{"1":"L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","2":"C K"},C:{"1":"IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IC JC"},D:{"1":"FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","2":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB"},E:{"1":"C K L H uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I y J E F G LC 2B MC NC OC PC","132":"A B 3B tB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"0 1 G B C H M N O z i TC UC VC WC tB EC XC uB"},G:{"1":"fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"F 2B YC FC ZC aC bC cC dC eC"},H:{"2":"sC"},I:{"1":"D","2":"wB I tC uC vC wC FC xC yC"},J:{"2":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:2,C:"WOFF 2.0 - Web Open Font Format"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/word-break.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/word-break.js
      index 30693ecf00204d..a94197a590aa65 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/word-break.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/word-break.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"J D E F A B FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB I y J D E F A B C K L HC IC"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"F A B C K L G PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","4":"I y J D E LC 1B MC NC OC"},F:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"F B C TC UC VC WC tB DC XC uB","4":"0 1 2 3 4 5 6 7 8 9 G M N O z j"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","4":"E 1B YC EC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"H","4":"wB I tC uC vC wC EC xC yC"},J:{"4":"D A"},K:{"1":"k","2":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 word-break"};
      +module.exports={A:{A:{"1":"J E F G A B GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB I y J E F G A B C K L IC JC"},D:{"1":"NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB"},E:{"1":"G A B C K L H PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","4":"I y J E F LC 2B MC NC OC"},F:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","2":"G B C TC UC VC WC tB EC XC uB","4":"0 1 2 3 4 5 6 7 8 9 H M N O z i"},G:{"1":"dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","4":"F 2B YC FC ZC aC bC cC"},H:{"2":"sC"},I:{"1":"D","4":"wB I tC uC vC wC FC xC yC"},J:{"4":"E A"},K:{"1":"j","2":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"CSS3 word-break"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wordwrap.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wordwrap.js
      index 0ae34735da7db2..291f3999713598 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wordwrap.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/wordwrap.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"4":"J D E F A B FC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x","4":"C K L G M N"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","4":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB HC IC"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","4":"0 1 I y J D E F A B C K L G M N O z j"},E:{"1":"D E F A B C K L G NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","4":"I y J LC 1B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F TC UC","4":"B C VC WC tB DC XC"},G:{"1":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","4":"1B YC EC ZC aC"},H:{"4":"sC"},I:{"1":"H xC yC","4":"wB I tC uC vC wC EC"},J:{"1":"A","4":"D"},K:{"1":"k","4":"A B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"FD","4":"ED"}},B:4,C:"CSS3 Overflow-wrap"};
      +module.exports={A:{A:{"4":"J E F G A B GC"},B:{"1":"O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D","4":"C K L H M N"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","4":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB IC JC"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","4":"0 1 I y J E F G A B C K L H M N O z i"},E:{"1":"E F G A B C K L H NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","4":"I y J LC 2B MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G TC UC","4":"B C VC WC tB EC XC"},G:{"1":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","4":"2B YC FC ZC aC"},H:{"4":"sC"},I:{"1":"D xC yC","4":"wB I tC uC vC wC FC"},J:{"1":"A","4":"E"},K:{"1":"j","4":"A B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"FD","4":"ED"}},B:4,C:"CSS3 Overflow-wrap"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-doc-messaging.js
      index 02ea6d86a91c98..1cf77993b19041 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-doc-messaging.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-doc-messaging.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D FC","132":"E F","260":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC","2":"GC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"LC 1B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB","2":"F"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Cross-document messaging"};
      +module.exports={A:{A:{"2":"J E GC","132":"F G","260":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC","2":"HC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"LC 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB","2":"G"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"4":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"Cross-document messaging"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-frame-options.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-frame-options.js
      index beb4a8b1c23bb4..e4e85138c3f3de 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-frame-options.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/x-frame-options.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"E F A B","2":"J D FC"},B:{"1":"C K L G M N O","4":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB","4":"I y J D E F A B C K L G M N lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","16":"GC wB HC IC"},D:{"4":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"0 1 2 3 4 I y J D E F A B C K L G M N O z j"},E:{"4":"J D E F A B C K L G MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","16":"I y LC 1B"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","16":"F B TC UC VC WC tB DC"},G:{"4":"E bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","16":"1B YC EC ZC aC"},H:{"2":"sC"},I:{"4":"I H wC EC xC yC","16":"wB tC uC vC"},J:{"4":"D A"},K:{"4":"k uB","16":"A B C tB DC"},L:{"4":"H"},M:{"4":"i"},N:{"1":"A B"},O:{"4":"zC"},P:{"4":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"3B"},R:{"4":"DD"},S:{"1":"ED","4":"FD"}},B:6,C:"X-Frame-Options HTTP header"};
      +module.exports={A:{A:{"1":"F G A B","2":"J E GC"},B:{"1":"C K L H M N O","4":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB","4":"I y J E F G A B C K L H M N lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","16":"HC wB IC JC"},D:{"4":"5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"0 1 2 3 4 I y J E F G A B C K L H M N O z i"},E:{"4":"J E F G A B C K L H MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","16":"I y LC 2B"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h XC uB","16":"G B TC UC VC WC tB EC"},G:{"4":"F bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","16":"2B YC FC ZC aC"},H:{"2":"sC"},I:{"4":"I D wC FC xC yC","16":"wB tC uC vC"},J:{"4":"E A"},K:{"4":"j uB","16":"A B C tB EC"},L:{"4":"D"},M:{"4":"D"},N:{"1":"A B"},O:{"4":"zC"},P:{"4":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"4":"4B"},R:{"4":"DD"},S:{"1":"ED","4":"FD"}},B:6,C:"X-Frame-Options HTTP header"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhr2.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhr2.js
      index 94acff63a73381..374bcd2c7f776b 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhr2.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhr2.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"J D E F FC","132":"A B"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","2":"GC wB","260":"A B","388":"J D E F","900":"I y HC IC"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","16":"I y J","132":"8 9","388":"0 1 2 3 4 5 6 7 D E F A B C K L G M N O z j"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","2":"I LC 1B","132":"D NC","388":"y J MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"F B TC UC VC WC tB DC XC","132":"G M N"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","2":"1B YC EC","132":"bC","388":"ZC aC"},H:{"2":"sC"},I:{"1":"H yC","2":"tC uC vC","388":"xC","900":"wB I wC EC"},J:{"132":"A","388":"D"},K:{"1":"C k uB","2":"A B tB DC"},L:{"1":"H"},M:{"1":"i"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"XMLHttpRequest advanced features"};
      +module.exports={A:{A:{"2":"J E F G GC","132":"A B"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","2":"HC wB","260":"A B","388":"J E F G","900":"I y IC JC"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","16":"I y J","132":"8 9","388":"0 1 2 3 4 5 6 7 E F G A B C K L H M N O z i"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","2":"I LC 2B","132":"E NC","388":"y J MC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h uB","2":"G B TC UC VC WC tB EC XC","132":"H M N"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","2":"2B YC FC","132":"bC","388":"ZC aC"},H:{"2":"sC"},I:{"1":"D yC","2":"tC uC vC","388":"xC","900":"wB I wC FC"},J:{"132":"A","388":"E"},K:{"1":"C j uB","2":"A B tB EC"},L:{"1":"D"},M:{"1":"D"},N:{"132":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"XMLHttpRequest advanced features"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtml.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtml.js
      index c295aa0d85518a..d2b197fbafe7fd 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtml.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtml.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"F A B","2":"J D E FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"1":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"1":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"1":"sC"},I:{"1":"wB I H tC uC vC wC EC xC yC"},J:{"1":"D A"},K:{"1":"A B C k tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"XHTML served as application/xhtml+xml"};
      +module.exports={A:{A:{"1":"G A B","2":"J E F GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"1":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"1":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"1":"sC"},I:{"1":"wB I D tC uC vC wC FC xC yC"},J:{"1":"E A"},K:{"1":"A B C j tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:1,C:"XHTML served as application/xhtml+xml"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtmlsmil.js
      index 2777f38ccae51a..dadac05918fee7 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtmlsmil.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xhtmlsmil.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"2":"F A B FC","4":"J D E"},B:{"2":"C K L G M N O","8":"P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"8":"0 1 2 3 4 5 6 7 8 9 GC wB I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B HC IC"},D:{"8":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC"},E:{"8":"I y J D E F A B C K L G LC 1B MC NC OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC"},F:{"8":"0 1 2 3 4 5 6 7 8 9 F B C G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB DC XC uB"},G:{"8":"E 1B YC EC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC"},H:{"8":"sC"},I:{"8":"wB I H tC uC vC wC EC xC yC"},J:{"8":"D A"},K:{"8":"A B C k tB DC uB"},L:{"8":"H"},M:{"8":"i"},N:{"2":"A B"},O:{"8":"zC"},P:{"8":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"8":"3B"},R:{"8":"DD"},S:{"8":"ED FD"}},B:7,C:"XHTML+SMIL animation"};
      +module.exports={A:{A:{"2":"G A B GC","4":"J E F"},B:{"2":"C K L H M N O","8":"P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"8":"0 1 2 3 4 5 6 7 8 9 HC wB I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B IC JC"},D:{"8":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC"},E:{"8":"I y J E F G A B C K L H LC 2B MC NC OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC"},F:{"8":"0 1 2 3 4 5 6 7 8 9 G B C H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h TC UC VC WC tB EC XC uB"},G:{"8":"F 2B YC FC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC"},H:{"8":"sC"},I:{"8":"wB I D tC uC vC wC FC xC yC"},J:{"8":"E A"},K:{"8":"A B C j tB EC uB"},L:{"8":"D"},M:{"8":"D"},N:{"2":"A B"},O:{"8":"zC"},P:{"8":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"8":"4B"},R:{"8":"DD"},S:{"8":"ED FD"}},B:7,C:"XHTML+SMIL animation"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xml-serializer.js b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xml-serializer.js
      index 398c312863d3d0..24d5f43c3e403e 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xml-serializer.js
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/data/features/xml-serializer.js
      @@ -1 +1 @@
      -module.exports={A:{A:{"1":"A B","260":"J D E F FC"},B:{"1":"C K L G M N O P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L G M N O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B","132":"B","260":"GC wB I y J D HC IC","516":"E F A"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h l m n o p q r s t u v i w H x 0B JC KC","132":"0 1 2 3 4 5 6 7 8 9 I y J D E F A B C K L G M N O z j"},E:{"1":"E F A B C K L G OC PC 2B tB uB 3B QC RC 4B 5B 6B 7B vB 8B 9B AC BC CC SC","132":"I y J D LC 1B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 O z j AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB k oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"F TC","132":"B C G M N UC VC WC tB DC XC uB"},G:{"1":"E cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 4B 5B 6B 7B vB 8B 9B AC BC CC","132":"1B YC EC ZC aC bC"},H:{"132":"sC"},I:{"1":"H xC yC","132":"wB I tC uC vC wC EC"},J:{"132":"D A"},K:{"1":"k","16":"A","132":"B C tB DC uB"},L:{"1":"H"},M:{"1":"i"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I j 0C 1C 2C 3C 4C 2B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"3B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"DOM Parsing and Serialization"};
      +module.exports={A:{A:{"1":"A B","260":"J E F G GC"},B:{"1":"C K L H M N O P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C K L H M N O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B","132":"B","260":"HC wB I y J E IC JC","516":"F G A"},D:{"1":"AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB xB cB yB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R S T U V W X Y Z a b c d e f g h k l m n o p q r s t u v w x D 0B 1B KC","132":"0 1 2 3 4 5 6 7 8 9 I y J E F G A B C K L H M N O z i"},E:{"1":"F G A B C K L H OC PC 3B tB uB 4B QC RC 5B 6B 7B 8B vB 9B AC BC CC DC SC","132":"I y J E LC 2B MC NC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 O z i AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB j oB pB qB rB sB P Q R zB S T U V W X Y Z a b c d e f g h","16":"G TC","132":"B C H M N UC VC WC tB EC XC uB"},G:{"1":"F cC dC eC fC gC hC iC jC kC lC mC nC oC pC qC rC 5B 6B 7B 8B vB 9B AC BC CC DC","132":"2B YC FC ZC aC bC"},H:{"132":"sC"},I:{"1":"D xC yC","132":"wB I tC uC vC wC FC"},J:{"132":"E A"},K:{"1":"j","16":"A","132":"B C tB EC uB"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"zC"},P:{"1":"I i 0C 1C 2C 3C 4C 3B 5C 6C 7C 8C 9C vB AD BD CD"},Q:{"1":"4B"},R:{"1":"DD"},S:{"1":"ED FD"}},B:4,C:"DOM Parsing and Serialization"};
      diff --git a/tools/node_modules/eslint/node_modules/caniuse-lite/package.json b/tools/node_modules/eslint/node_modules/caniuse-lite/package.json
      index b1b6e3e1f2cc94..8b6b4866be9963 100644
      --- a/tools/node_modules/eslint/node_modules/caniuse-lite/package.json
      +++ b/tools/node_modules/eslint/node_modules/caniuse-lite/package.json
      @@ -1,6 +1,6 @@
       {
         "name": "caniuse-lite",
      -  "version": "1.0.30001486",
      +  "version": "1.0.30001488",
         "description": "A smaller version of caniuse-db, with only the essentials!",
         "main": "dist/unpacker/index.js",
         "files": [
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.js b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.js
      index 2a1ae08793960f..0e6b9279fbf82c 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.js
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.js
      @@ -2289,7 +2289,9 @@ module.exports = {
       		"22.3.5",
       		"22.3.6",
       		"22.3.7",
      -		"22.3.8"
      +		"22.3.8",
      +		"22.3.9",
      +		"22.3.10"
       	],
       	"110.0.5415.0": [
       		"23.0.0-alpha.1",
      @@ -2375,7 +2377,9 @@ module.exports = {
       		"23.2.3",
       		"23.2.4",
       		"23.3.0",
      -		"23.3.1"
      +		"23.3.1",
      +		"23.3.2",
      +		"23.3.3"
       	],
       	"111.0.5560.0": [
       		"24.0.0-alpha.1",
      @@ -2458,7 +2462,11 @@ module.exports = {
       	],
       	"112.0.5615.165": [
       		"24.1.3",
      -		"24.2.0"
      +		"24.2.0",
      +		"24.3.0"
      +	],
      +	"112.0.5615.183": [
      +		"24.3.1"
       	],
       	"114.0.5694.0": [
       		"25.0.0-alpha.1",
      @@ -2481,6 +2489,7 @@ module.exports = {
       		"25.0.0-alpha.6",
       		"25.0.0-beta.1",
       		"25.0.0-beta.2",
      +		"25.0.0-beta.3",
       		"26.0.0-nightly.20230421",
       		"26.0.0-nightly.20230424",
       		"26.0.0-nightly.20230425",
      @@ -2491,7 +2500,16 @@ module.exports = {
       		"26.0.0-nightly.20230502",
       		"26.0.0-nightly.20230503",
       		"26.0.0-nightly.20230504",
      -		"26.0.0-nightly.20230505"
      +		"26.0.0-nightly.20230505",
      +		"26.0.0-nightly.20230508",
      +		"26.0.0-nightly.20230509",
      +		"26.0.0-nightly.20230510"
      +	],
      +	"114.0.5735.16": [
      +		"25.0.0-beta.4",
      +		"25.0.0-beta.5",
      +		"25.0.0-beta.6",
      +		"25.0.0-beta.7"
       	],
       	"113.0.5636.0": [
       		"25.0.0-nightly.20230314"
      @@ -2533,5 +2551,14 @@ module.exports = {
       	],
       	"114.0.5715.0": [
       		"26.0.0-nightly.20230418"
      +	],
      +	"115.0.5760.0": [
      +		"26.0.0-nightly.20230511",
      +		"26.0.0-nightly.20230512",
      +		"26.0.0-nightly.20230515",
      +		"26.0.0-nightly.20230516",
      +		"26.0.0-nightly.20230517",
      +		"26.0.0-nightly.20230518",
      +		"26.0.0-nightly.20230519"
       	]
       };
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.json b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.json
      index d15d6b7c5972c7..f207ec0a35bec5 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.json
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-chromium-versions.json
      @@ -1 +1 @@
      -{"39.0.2171.65":["0.20.0","0.20.1","0.20.2","0.20.3","0.20.4","0.20.5","0.20.6","0.20.7","0.20.8"],"40.0.2214.91":["0.21.0","0.21.1","0.21.2"],"41.0.2272.76":["0.21.3","0.22.1","0.22.2","0.22.3","0.23.0","0.24.0"],"42.0.2311.107":["0.25.0","0.25.1","0.25.2","0.25.3","0.26.0","0.26.1","0.27.0","0.27.1"],"43.0.2357.65":["0.27.2","0.27.3","0.28.0","0.28.1","0.28.2","0.28.3","0.29.1","0.29.2"],"44.0.2403.125":["0.30.4","0.31.0"],"45.0.2454.85":["0.31.2","0.32.2","0.32.3","0.33.0","0.33.1","0.33.2","0.33.3","0.33.4","0.33.6","0.33.7","0.33.8","0.33.9","0.34.0","0.34.1","0.34.2","0.34.3","0.34.4","0.35.1","0.35.2","0.35.3","0.35.4","0.35.5"],"47.0.2526.73":["0.36.0","0.36.2","0.36.3","0.36.4"],"47.0.2526.110":["0.36.5","0.36.6","0.36.7","0.36.8","0.36.9","0.36.10","0.36.11","0.36.12"],"49.0.2623.75":["0.37.0","0.37.1","0.37.3","0.37.4","0.37.5","0.37.6","0.37.7","0.37.8","1.0.0","1.0.1","1.0.2"],"50.0.2661.102":["1.1.0","1.1.1","1.1.2","1.1.3"],"51.0.2704.63":["1.2.0","1.2.1"],"51.0.2704.84":["1.2.2","1.2.3"],"51.0.2704.103":["1.2.4","1.2.5"],"51.0.2704.106":["1.2.6","1.2.7","1.2.8"],"52.0.2743.82":["1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.9","1.3.10","1.3.13","1.3.14","1.3.15"],"53.0.2785.113":["1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5"],"53.0.2785.143":["1.4.6","1.4.7","1.4.8","1.4.10","1.4.11","1.4.13","1.4.14","1.4.15","1.4.16"],"54.0.2840.51":["1.4.12"],"54.0.2840.101":["1.5.0","1.5.1"],"56.0.2924.87":["1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9","1.6.10","1.6.11","1.6.12","1.6.13","1.6.14","1.6.15","1.6.16","1.6.17","1.6.18"],"58.0.3029.110":["1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.15","1.7.16"],"59.0.3071.115":["1.8.0","1.8.1","1.8.2-beta.1","1.8.2-beta.2","1.8.2-beta.3","1.8.2-beta.4","1.8.2-beta.5","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.8.7","1.8.8"],"61.0.3163.100":["2.0.0-beta.1","2.0.0-beta.2","2.0.0-beta.3","2.0.0-beta.4","2.0.0-beta.5","2.0.0-beta.6","2.0.0-beta.7","2.0.0-beta.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8-nightly.20180819","2.0.8-nightly.20180820","2.0.8","2.0.9","2.0.10","2.0.11","2.0.12","2.0.13","2.0.14","2.0.15","2.0.16","2.0.17","2.0.18","2.1.0-unsupported.20180809"],"66.0.3359.181":["3.0.0-beta.1","3.0.0-beta.2","3.0.0-beta.3","3.0.0-beta.4","3.0.0-beta.5","3.0.0-beta.6","3.0.0-beta.7","3.0.0-beta.8","3.0.0-beta.9","3.0.0-beta.10","3.0.0-beta.11","3.0.0-beta.12","3.0.0-beta.13","3.0.0-nightly.20180818","3.0.0-nightly.20180821","3.0.0-nightly.20180823","3.0.0-nightly.20180904","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.0.10","3.0.11","3.0.12","3.0.13","3.0.14","3.0.15","3.0.16","3.1.0-beta.1","3.1.0-beta.2","3.1.0-beta.3","3.1.0-beta.4","3.1.0-beta.5","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.1.10","3.1.11","3.1.12","3.1.13","4.0.0-nightly.20180817","4.0.0-nightly.20180819","4.0.0-nightly.20180821"],"69.0.3497.106":["4.0.0-beta.1","4.0.0-beta.2","4.0.0-beta.3","4.0.0-beta.4","4.0.0-beta.5","4.0.0-beta.6","4.0.0-beta.7","4.0.0-beta.8","4.0.0-beta.9","4.0.0-beta.10","4.0.0-beta.11","4.0.0-nightly.20181010","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6"],"67.0.3396.99":["4.0.0-nightly.20180929"],"68.0.3440.128":["4.0.0-nightly.20181006"],"69.0.3497.128":["4.0.7","4.0.8","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2.0","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.2.10","4.2.11","4.2.12"],"72.0.3626.52":["5.0.0-beta.1","5.0.0-beta.2","6.0.0-nightly.20190123"],"73.0.3683.27":["5.0.0-beta.3"],"73.0.3683.54":["5.0.0-beta.4"],"73.0.3683.61":["5.0.0-beta.5"],"73.0.3683.84":["5.0.0-beta.6"],"73.0.3683.94":["5.0.0-beta.7"],"73.0.3683.104":["5.0.0-beta.8"],"73.0.3683.117":["5.0.0-beta.9"],"70.0.3538.110":["5.0.0-nightly.20190107"],"71.0.3578.98":["5.0.0-nightly.20190121","5.0.0-nightly.20190122"],"73.0.3683.119":["5.0.0"],"73.0.3683.121":["5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8","5.0.9","5.0.10","5.0.11","5.0.12","5.0.13"],"76.0.3774.1":["6.0.0-beta.1"],"76.0.3783.1":["6.0.0-beta.2","6.0.0-beta.3","6.0.0-beta.4"],"76.0.3805.4":["6.0.0-beta.5"],"76.0.3809.3":["6.0.0-beta.6"],"76.0.3809.22":["6.0.0-beta.7"],"76.0.3809.26":["6.0.0-beta.8","6.0.0-beta.9"],"76.0.3809.37":["6.0.0-beta.10"],"76.0.3809.42":["6.0.0-beta.11"],"76.0.3809.54":["6.0.0-beta.12"],"76.0.3809.60":["6.0.0-beta.13"],"76.0.3809.68":["6.0.0-beta.14"],"76.0.3809.74":["6.0.0-beta.15"],"72.0.3626.107":["6.0.0-nightly.20190212"],"72.0.3626.110":["6.0.0-nightly.20190213"],"74.0.3724.8":["6.0.0-nightly.20190311"],"76.0.3809.88":["6.0.0"],"76.0.3809.102":["6.0.1"],"76.0.3809.110":["6.0.2"],"76.0.3809.126":["6.0.3"],"76.0.3809.131":["6.0.4"],"76.0.3809.136":["6.0.5"],"76.0.3809.138":["6.0.6"],"76.0.3809.139":["6.0.7"],"76.0.3809.146":["6.0.8","6.0.9","6.0.10","6.0.11","6.0.12","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.1.5","6.1.6","6.1.7","6.1.8","6.1.9","6.1.10","6.1.11","6.1.12"],"78.0.3866.0":["7.0.0-beta.1","7.0.0-beta.2","7.0.0-beta.3","7.0.0-nightly.20190727","7.0.0-nightly.20190728","7.0.0-nightly.20190729","7.0.0-nightly.20190730","7.0.0-nightly.20190731","8.0.0-nightly.20190801","8.0.0-nightly.20190802"],"78.0.3896.6":["7.0.0-beta.4"],"78.0.3905.1":["7.0.0-beta.5","7.0.0-beta.6","7.0.0-beta.7","7.0.0"],"76.0.3784.0":["7.0.0-nightly.20190521"],"76.0.3806.0":["7.0.0-nightly.20190529","7.0.0-nightly.20190530","7.0.0-nightly.20190531","7.0.0-nightly.20190602","7.0.0-nightly.20190603"],"77.0.3814.0":["7.0.0-nightly.20190604"],"77.0.3815.0":["7.0.0-nightly.20190605","7.0.0-nightly.20190606","7.0.0-nightly.20190607","7.0.0-nightly.20190608","7.0.0-nightly.20190609","7.0.0-nightly.20190611","7.0.0-nightly.20190612","7.0.0-nightly.20190613","7.0.0-nightly.20190615","7.0.0-nightly.20190616","7.0.0-nightly.20190618","7.0.0-nightly.20190619","7.0.0-nightly.20190622","7.0.0-nightly.20190623","7.0.0-nightly.20190624","7.0.0-nightly.20190627","7.0.0-nightly.20190629","7.0.0-nightly.20190630","7.0.0-nightly.20190701","7.0.0-nightly.20190702"],"77.0.3843.0":["7.0.0-nightly.20190704","7.0.0-nightly.20190705"],"77.0.3848.0":["7.0.0-nightly.20190719","7.0.0-nightly.20190720","7.0.0-nightly.20190721"],"77.0.3864.0":["7.0.0-nightly.20190726"],"78.0.3904.92":["7.0.1"],"78.0.3904.94":["7.1.0"],"78.0.3904.99":["7.1.1"],"78.0.3904.113":["7.1.2"],"78.0.3904.126":["7.1.3"],"78.0.3904.130":["7.1.4","7.1.5","7.1.6","7.1.7","7.1.8","7.1.9","7.1.10","7.1.11","7.1.12","7.1.13","7.1.14","7.2.0","7.2.1","7.2.2","7.2.3","7.2.4","7.3.0","7.3.1","7.3.2","7.3.3"],"79.0.3931.0":["8.0.0-beta.1","8.0.0-beta.2","8.0.0-nightly.20191019","8.0.0-nightly.20191020","8.0.0-nightly.20191021","8.0.0-nightly.20191023"],"80.0.3955.0":["8.0.0-beta.3","8.0.0-beta.4"],"80.0.3987.14":["8.0.0-beta.5"],"80.0.3987.51":["8.0.0-beta.6"],"80.0.3987.59":["8.0.0-beta.7"],"80.0.3987.75":["8.0.0-beta.8","8.0.0-beta.9"],"78.0.3871.0":["8.0.0-nightly.20190803","8.0.0-nightly.20190806","8.0.0-nightly.20190807","8.0.0-nightly.20190808","8.0.0-nightly.20190809","8.0.0-nightly.20190810","8.0.0-nightly.20190811","8.0.0-nightly.20190812","8.0.0-nightly.20190813","8.0.0-nightly.20190814","8.0.0-nightly.20190815"],"78.0.3881.0":["8.0.0-nightly.20190816","8.0.0-nightly.20190817","8.0.0-nightly.20190818","8.0.0-nightly.20190819","8.0.0-nightly.20190820"],"78.0.3892.0":["8.0.0-nightly.20190824","8.0.0-nightly.20190825","8.0.0-nightly.20190827","8.0.0-nightly.20190828","8.0.0-nightly.20190830","8.0.0-nightly.20190901","8.0.0-nightly.20190902","8.0.0-nightly.20190907","8.0.0-nightly.20190909","8.0.0-nightly.20190910","8.0.0-nightly.20190911","8.0.0-nightly.20190912","8.0.0-nightly.20190913","8.0.0-nightly.20190914","8.0.0-nightly.20190915","8.0.0-nightly.20190917"],"79.0.3915.0":["8.0.0-nightly.20190919","8.0.0-nightly.20190920"],"79.0.3919.0":["8.0.0-nightly.20190922","8.0.0-nightly.20190923","8.0.0-nightly.20190924","8.0.0-nightly.20190926","8.0.0-nightly.20190928","8.0.0-nightly.20190929","8.0.0-nightly.20190930","8.0.0-nightly.20191001","8.0.0-nightly.20191004","8.0.0-nightly.20191005","8.0.0-nightly.20191006","8.0.0-nightly.20191009","8.0.0-nightly.20191011","8.0.0-nightly.20191012","8.0.0-nightly.20191017"],"80.0.3952.0":["8.0.0-nightly.20191101","8.0.0-nightly.20191103","8.0.0-nightly.20191105"],"80.0.3987.86":["8.0.0","8.0.1","8.0.2"],"80.0.3987.134":["8.0.3"],"80.0.3987.137":["8.1.0"],"80.0.3987.141":["8.1.1"],"80.0.3987.158":["8.2.0"],"80.0.3987.163":["8.2.1","8.2.2","8.2.3","8.5.3","8.5.4","8.5.5"],"80.0.3987.165":["8.2.4","8.2.5","8.3.0","8.3.1","8.3.2","8.3.3","8.3.4","8.4.0","8.4.1","8.5.0","8.5.1","8.5.2"],"82.0.4048.0":["9.0.0-beta.1","9.0.0-beta.2","9.0.0-beta.3","9.0.0-beta.4","9.0.0-beta.5"],"82.0.4058.2":["9.0.0-beta.6","9.0.0-beta.7","9.0.0-beta.9"],"82.0.4085.10":["9.0.0-beta.10"],"82.0.4085.14":["9.0.0-beta.11","9.0.0-beta.12","9.0.0-beta.13"],"82.0.4085.27":["9.0.0-beta.14"],"83.0.4102.3":["9.0.0-beta.15","9.0.0-beta.16"],"83.0.4103.14":["9.0.0-beta.17"],"83.0.4103.16":["9.0.0-beta.18"],"83.0.4103.24":["9.0.0-beta.19"],"83.0.4103.26":["9.0.0-beta.20","9.0.0-beta.21"],"83.0.4103.34":["9.0.0-beta.22"],"83.0.4103.44":["9.0.0-beta.23"],"83.0.4103.45":["9.0.0-beta.24"],"80.0.3954.0":["9.0.0-nightly.20191121","9.0.0-nightly.20191122","9.0.0-nightly.20191123","9.0.0-nightly.20191124","9.0.0-nightly.20191126","9.0.0-nightly.20191128","9.0.0-nightly.20191129","9.0.0-nightly.20191130","9.0.0-nightly.20191201","9.0.0-nightly.20191202","9.0.0-nightly.20191203","9.0.0-nightly.20191204","9.0.0-nightly.20191205","9.0.0-nightly.20191210"],"81.0.3994.0":["9.0.0-nightly.20191220","9.0.0-nightly.20191221","9.0.0-nightly.20191222","9.0.0-nightly.20191223","9.0.0-nightly.20191224","9.0.0-nightly.20191225","9.0.0-nightly.20191226","9.0.0-nightly.20191228","9.0.0-nightly.20191229","9.0.0-nightly.20191230","9.0.0-nightly.20191231","9.0.0-nightly.20200101","9.0.0-nightly.20200103","9.0.0-nightly.20200104","9.0.0-nightly.20200105","9.0.0-nightly.20200106","9.0.0-nightly.20200108","9.0.0-nightly.20200109","9.0.0-nightly.20200110","9.0.0-nightly.20200111","9.0.0-nightly.20200113","9.0.0-nightly.20200115","9.0.0-nightly.20200116","9.0.0-nightly.20200117"],"81.0.4030.0":["9.0.0-nightly.20200119","9.0.0-nightly.20200121"],"83.0.4103.64":["9.0.0"],"83.0.4103.94":["9.0.1","9.0.2"],"83.0.4103.100":["9.0.3"],"83.0.4103.104":["9.0.4"],"83.0.4103.119":["9.0.5"],"83.0.4103.122":["9.1.0","9.1.1","9.1.2","9.2.0","9.2.1","9.3.0","9.3.1","9.3.2","9.3.3","9.3.4","9.3.5","9.4.0","9.4.1","9.4.2","9.4.3","9.4.4"],"84.0.4129.0":["10.0.0-beta.1","10.0.0-beta.2","10.0.0-nightly.20200501","10.0.0-nightly.20200504","10.0.0-nightly.20200505","10.0.0-nightly.20200506","10.0.0-nightly.20200507","10.0.0-nightly.20200508","10.0.0-nightly.20200511","10.0.0-nightly.20200512","10.0.0-nightly.20200513","10.0.0-nightly.20200514","10.0.0-nightly.20200515","10.0.0-nightly.20200518","10.0.0-nightly.20200519","10.0.0-nightly.20200520","10.0.0-nightly.20200521","11.0.0-nightly.20200525","11.0.0-nightly.20200526"],"85.0.4161.2":["10.0.0-beta.3","10.0.0-beta.4"],"85.0.4181.1":["10.0.0-beta.8","10.0.0-beta.9"],"85.0.4183.19":["10.0.0-beta.10"],"85.0.4183.20":["10.0.0-beta.11"],"85.0.4183.26":["10.0.0-beta.12"],"85.0.4183.39":["10.0.0-beta.13","10.0.0-beta.14","10.0.0-beta.15","10.0.0-beta.17","10.0.0-beta.19","10.0.0-beta.20","10.0.0-beta.21"],"85.0.4183.70":["10.0.0-beta.23"],"85.0.4183.78":["10.0.0-beta.24"],"85.0.4183.80":["10.0.0-beta.25"],"82.0.4050.0":["10.0.0-nightly.20200209","10.0.0-nightly.20200210","10.0.0-nightly.20200211","10.0.0-nightly.20200216","10.0.0-nightly.20200217","10.0.0-nightly.20200218","10.0.0-nightly.20200221","10.0.0-nightly.20200222","10.0.0-nightly.20200223","10.0.0-nightly.20200226","10.0.0-nightly.20200303"],"82.0.4076.0":["10.0.0-nightly.20200304","10.0.0-nightly.20200305","10.0.0-nightly.20200306","10.0.0-nightly.20200309","10.0.0-nightly.20200310"],"82.0.4083.0":["10.0.0-nightly.20200311"],"83.0.4086.0":["10.0.0-nightly.20200316"],"83.0.4087.0":["10.0.0-nightly.20200317","10.0.0-nightly.20200318","10.0.0-nightly.20200320","10.0.0-nightly.20200323","10.0.0-nightly.20200324","10.0.0-nightly.20200325","10.0.0-nightly.20200326","10.0.0-nightly.20200327","10.0.0-nightly.20200330","10.0.0-nightly.20200331","10.0.0-nightly.20200401","10.0.0-nightly.20200402","10.0.0-nightly.20200403","10.0.0-nightly.20200406"],"83.0.4095.0":["10.0.0-nightly.20200408","10.0.0-nightly.20200410","10.0.0-nightly.20200413"],"84.0.4114.0":["10.0.0-nightly.20200414"],"84.0.4115.0":["10.0.0-nightly.20200415","10.0.0-nightly.20200416","10.0.0-nightly.20200417"],"84.0.4121.0":["10.0.0-nightly.20200422","10.0.0-nightly.20200423"],"84.0.4125.0":["10.0.0-nightly.20200427","10.0.0-nightly.20200428","10.0.0-nightly.20200429","10.0.0-nightly.20200430"],"85.0.4183.84":["10.0.0"],"85.0.4183.86":["10.0.1"],"85.0.4183.87":["10.1.0"],"85.0.4183.93":["10.1.1"],"85.0.4183.98":["10.1.2"],"85.0.4183.121":["10.1.3","10.1.4","10.1.5","10.1.6","10.1.7","10.2.0","10.3.0","10.3.1","10.3.2","10.4.0","10.4.1","10.4.2","10.4.3","10.4.4","10.4.5","10.4.6","10.4.7"],"86.0.4234.0":["11.0.0-beta.1","11.0.0-beta.3","11.0.0-beta.4","11.0.0-beta.5","11.0.0-beta.6","11.0.0-beta.7","11.0.0-nightly.20200822","11.0.0-nightly.20200824","11.0.0-nightly.20200825","11.0.0-nightly.20200826","12.0.0-nightly.20200827","12.0.0-nightly.20200831","12.0.0-nightly.20200902","12.0.0-nightly.20200903","12.0.0-nightly.20200907","12.0.0-nightly.20200910","12.0.0-nightly.20200911","12.0.0-nightly.20200914"],"87.0.4251.1":["11.0.0-beta.8","11.0.0-beta.9","11.0.0-beta.11"],"87.0.4280.11":["11.0.0-beta.12","11.0.0-beta.13"],"87.0.4280.27":["11.0.0-beta.16","11.0.0-beta.17","11.0.0-beta.18","11.0.0-beta.19"],"87.0.4280.40":["11.0.0-beta.20"],"87.0.4280.47":["11.0.0-beta.22","11.0.0-beta.23"],"85.0.4156.0":["11.0.0-nightly.20200529"],"85.0.4162.0":["11.0.0-nightly.20200602","11.0.0-nightly.20200603","11.0.0-nightly.20200604","11.0.0-nightly.20200609","11.0.0-nightly.20200610","11.0.0-nightly.20200611","11.0.0-nightly.20200615","11.0.0-nightly.20200616","11.0.0-nightly.20200617","11.0.0-nightly.20200618","11.0.0-nightly.20200619"],"85.0.4179.0":["11.0.0-nightly.20200701","11.0.0-nightly.20200702","11.0.0-nightly.20200703","11.0.0-nightly.20200706","11.0.0-nightly.20200707","11.0.0-nightly.20200708","11.0.0-nightly.20200709"],"86.0.4203.0":["11.0.0-nightly.20200716","11.0.0-nightly.20200717","11.0.0-nightly.20200720","11.0.0-nightly.20200721"],"86.0.4209.0":["11.0.0-nightly.20200723","11.0.0-nightly.20200724","11.0.0-nightly.20200729","11.0.0-nightly.20200730","11.0.0-nightly.20200731","11.0.0-nightly.20200803","11.0.0-nightly.20200804","11.0.0-nightly.20200805","11.0.0-nightly.20200811","11.0.0-nightly.20200812"],"87.0.4280.60":["11.0.0","11.0.1"],"87.0.4280.67":["11.0.2","11.0.3","11.0.4"],"87.0.4280.88":["11.0.5","11.1.0","11.1.1"],"87.0.4280.141":["11.2.0","11.2.1","11.2.2","11.2.3","11.3.0","11.4.0","11.4.1","11.4.2","11.4.3","11.4.4","11.4.5","11.4.6","11.4.7","11.4.8","11.4.9","11.4.10","11.4.11","11.4.12","11.5.0"],"89.0.4328.0":["12.0.0-beta.1","12.0.0-beta.3","12.0.0-beta.4","12.0.0-beta.5","12.0.0-beta.6","12.0.0-beta.7","12.0.0-beta.8","12.0.0-beta.9","12.0.0-beta.10","12.0.0-beta.11","12.0.0-beta.12","12.0.0-beta.14","13.0.0-nightly.20201119","13.0.0-nightly.20201123","13.0.0-nightly.20201124","13.0.0-nightly.20201126","13.0.0-nightly.20201127","13.0.0-nightly.20201130","13.0.0-nightly.20201201","13.0.0-nightly.20201202","13.0.0-nightly.20201203","13.0.0-nightly.20201204","13.0.0-nightly.20201207","13.0.0-nightly.20201208","13.0.0-nightly.20201209","13.0.0-nightly.20201210","13.0.0-nightly.20201211","13.0.0-nightly.20201214"],"89.0.4348.1":["12.0.0-beta.16","12.0.0-beta.18","12.0.0-beta.19","12.0.0-beta.20"],"89.0.4388.2":["12.0.0-beta.21","12.0.0-beta.22","12.0.0-beta.23","12.0.0-beta.24","12.0.0-beta.25","12.0.0-beta.26"],"89.0.4389.23":["12.0.0-beta.27","12.0.0-beta.28","12.0.0-beta.29"],"89.0.4389.58":["12.0.0-beta.30","12.0.0-beta.31"],"87.0.4268.0":["12.0.0-nightly.20201002","12.0.0-nightly.20201007","12.0.0-nightly.20201009","12.0.0-nightly.20201012","12.0.0-nightly.20201013","12.0.0-nightly.20201014","12.0.0-nightly.20201015"],"88.0.4292.0":["12.0.0-nightly.20201023","12.0.0-nightly.20201026"],"88.0.4306.0":["12.0.0-nightly.20201030","12.0.0-nightly.20201102","12.0.0-nightly.20201103","12.0.0-nightly.20201104","12.0.0-nightly.20201105","12.0.0-nightly.20201106","12.0.0-nightly.20201111","12.0.0-nightly.20201112"],"88.0.4324.0":["12.0.0-nightly.20201116"],"89.0.4389.69":["12.0.0"],"89.0.4389.82":["12.0.1"],"89.0.4389.90":["12.0.2"],"89.0.4389.114":["12.0.3","12.0.4"],"89.0.4389.128":["12.0.5","12.0.6","12.0.7","12.0.8","12.0.9","12.0.10","12.0.11","12.0.12","12.0.13","12.0.14","12.0.15","12.0.16","12.0.17","12.0.18","12.1.0","12.1.1","12.1.2","12.2.0","12.2.1","12.2.2","12.2.3"],"90.0.4402.0":["13.0.0-beta.2","13.0.0-beta.3","13.0.0-nightly.20210210","13.0.0-nightly.20210211","13.0.0-nightly.20210212","13.0.0-nightly.20210216","13.0.0-nightly.20210217","13.0.0-nightly.20210218","13.0.0-nightly.20210219","13.0.0-nightly.20210222","13.0.0-nightly.20210225","13.0.0-nightly.20210226","13.0.0-nightly.20210301","13.0.0-nightly.20210302","13.0.0-nightly.20210303","14.0.0-nightly.20210304"],"90.0.4415.0":["13.0.0-beta.4","13.0.0-beta.5","13.0.0-beta.6","13.0.0-beta.7","13.0.0-beta.8","13.0.0-beta.9","13.0.0-beta.10","13.0.0-beta.11","13.0.0-beta.12","13.0.0-beta.13","14.0.0-nightly.20210305","14.0.0-nightly.20210308","14.0.0-nightly.20210309","14.0.0-nightly.20210311","14.0.0-nightly.20210315","14.0.0-nightly.20210316","14.0.0-nightly.20210317","14.0.0-nightly.20210318","14.0.0-nightly.20210319","14.0.0-nightly.20210323","14.0.0-nightly.20210324","14.0.0-nightly.20210325","14.0.0-nightly.20210326","14.0.0-nightly.20210329","14.0.0-nightly.20210330"],"91.0.4448.0":["13.0.0-beta.14","13.0.0-beta.16","13.0.0-beta.17","13.0.0-beta.18","13.0.0-beta.20","14.0.0-nightly.20210331","14.0.0-nightly.20210401","14.0.0-nightly.20210402","14.0.0-nightly.20210406","14.0.0-nightly.20210407","14.0.0-nightly.20210408","14.0.0-nightly.20210409","14.0.0-nightly.20210413"],"91.0.4472.33":["13.0.0-beta.21","13.0.0-beta.22","13.0.0-beta.23"],"91.0.4472.38":["13.0.0-beta.24","13.0.0-beta.25","13.0.0-beta.26","13.0.0-beta.27","13.0.0-beta.28"],"89.0.4349.0":["13.0.0-nightly.20201215","13.0.0-nightly.20201216","13.0.0-nightly.20201221","13.0.0-nightly.20201222"],"89.0.4359.0":["13.0.0-nightly.20201223","13.0.0-nightly.20210104","13.0.0-nightly.20210108","13.0.0-nightly.20210111"],"89.0.4386.0":["13.0.0-nightly.20210113","13.0.0-nightly.20210114","13.0.0-nightly.20210118","13.0.0-nightly.20210122","13.0.0-nightly.20210125"],"89.0.4389.0":["13.0.0-nightly.20210127","13.0.0-nightly.20210128","13.0.0-nightly.20210129","13.0.0-nightly.20210201","13.0.0-nightly.20210202","13.0.0-nightly.20210203","13.0.0-nightly.20210205","13.0.0-nightly.20210208","13.0.0-nightly.20210209"],"91.0.4472.69":["13.0.0","13.0.1"],"91.0.4472.77":["13.1.0","13.1.1","13.1.2"],"91.0.4472.106":["13.1.3","13.1.4"],"91.0.4472.124":["13.1.5","13.1.6","13.1.7"],"91.0.4472.164":["13.1.8","13.1.9","13.2.0","13.2.1","13.2.2","13.2.3","13.3.0","13.4.0","13.5.0","13.5.1","13.5.2","13.6.0","13.6.1","13.6.2","13.6.3","13.6.6","13.6.7","13.6.8","13.6.9"],"92.0.4511.0":["14.0.0-beta.1","14.0.0-beta.2","14.0.0-beta.3","14.0.0-nightly.20210520","14.0.0-nightly.20210523","14.0.0-nightly.20210524","15.0.0-nightly.20210527","15.0.0-nightly.20210528","15.0.0-nightly.20210531","15.0.0-nightly.20210601","15.0.0-nightly.20210602"],"93.0.4536.0":["14.0.0-beta.5","14.0.0-beta.6","14.0.0-beta.7","14.0.0-beta.8","15.0.0-nightly.20210609","15.0.0-nightly.20210610","15.0.0-nightly.20210611","15.0.0-nightly.20210614","15.0.0-nightly.20210615","15.0.0-nightly.20210616"],"93.0.4539.0":["14.0.0-beta.9","14.0.0-beta.10","15.0.0-nightly.20210617","15.0.0-nightly.20210618","15.0.0-nightly.20210621","15.0.0-nightly.20210622"],"93.0.4557.4":["14.0.0-beta.11","14.0.0-beta.12"],"93.0.4566.0":["14.0.0-beta.13","14.0.0-beta.14","14.0.0-beta.15","14.0.0-beta.16","14.0.0-beta.17","15.0.0-alpha.1","15.0.0-alpha.2","15.0.0-nightly.20210706","15.0.0-nightly.20210707","15.0.0-nightly.20210708","15.0.0-nightly.20210709","15.0.0-nightly.20210712","15.0.0-nightly.20210713","15.0.0-nightly.20210714","15.0.0-nightly.20210715","15.0.0-nightly.20210716","15.0.0-nightly.20210719","15.0.0-nightly.20210720","15.0.0-nightly.20210721","16.0.0-nightly.20210722","16.0.0-nightly.20210723","16.0.0-nightly.20210726"],"93.0.4577.15":["14.0.0-beta.18","14.0.0-beta.19","14.0.0-beta.20","14.0.0-beta.21"],"93.0.4577.25":["14.0.0-beta.22","14.0.0-beta.23"],"93.0.4577.51":["14.0.0-beta.24","14.0.0-beta.25"],"92.0.4475.0":["14.0.0-nightly.20210426","14.0.0-nightly.20210427"],"92.0.4488.0":["14.0.0-nightly.20210430","14.0.0-nightly.20210503"],"92.0.4496.0":["14.0.0-nightly.20210505"],"92.0.4498.0":["14.0.0-nightly.20210506"],"92.0.4499.0":["14.0.0-nightly.20210507","14.0.0-nightly.20210510","14.0.0-nightly.20210511","14.0.0-nightly.20210512","14.0.0-nightly.20210513"],"92.0.4505.0":["14.0.0-nightly.20210514","14.0.0-nightly.20210517","14.0.0-nightly.20210518","14.0.0-nightly.20210519"],"93.0.4577.58":["14.0.0"],"93.0.4577.63":["14.0.1"],"93.0.4577.82":["14.0.2","14.1.0","14.1.1","14.2.0","14.2.1","14.2.2","14.2.3","14.2.4","14.2.5","14.2.6","14.2.7","14.2.8","14.2.9"],"94.0.4584.0":["15.0.0-alpha.3","15.0.0-alpha.4","15.0.0-alpha.5","15.0.0-alpha.6","16.0.0-nightly.20210727","16.0.0-nightly.20210728","16.0.0-nightly.20210729","16.0.0-nightly.20210730","16.0.0-nightly.20210802","16.0.0-nightly.20210803","16.0.0-nightly.20210804","16.0.0-nightly.20210805","16.0.0-nightly.20210806","16.0.0-nightly.20210809","16.0.0-nightly.20210810","16.0.0-nightly.20210811"],"94.0.4590.2":["15.0.0-alpha.7","15.0.0-alpha.8","15.0.0-alpha.9","16.0.0-nightly.20210812","16.0.0-nightly.20210813","16.0.0-nightly.20210816","16.0.0-nightly.20210817","16.0.0-nightly.20210818","16.0.0-nightly.20210819","16.0.0-nightly.20210820","16.0.0-nightly.20210823"],"94.0.4606.12":["15.0.0-alpha.10"],"94.0.4606.20":["15.0.0-beta.1","15.0.0-beta.2"],"94.0.4606.31":["15.0.0-beta.3","15.0.0-beta.4","15.0.0-beta.5","15.0.0-beta.6","15.0.0-beta.7"],"93.0.4530.0":["15.0.0-nightly.20210603","15.0.0-nightly.20210604"],"93.0.4535.0":["15.0.0-nightly.20210608"],"93.0.4550.0":["15.0.0-nightly.20210623","15.0.0-nightly.20210624"],"93.0.4552.0":["15.0.0-nightly.20210625","15.0.0-nightly.20210628","15.0.0-nightly.20210629"],"93.0.4558.0":["15.0.0-nightly.20210630","15.0.0-nightly.20210701","15.0.0-nightly.20210702","15.0.0-nightly.20210705"],"94.0.4606.51":["15.0.0"],"94.0.4606.61":["15.1.0","15.1.1"],"94.0.4606.71":["15.1.2"],"94.0.4606.81":["15.2.0","15.3.0","15.3.1","15.3.2","15.3.3","15.3.4","15.3.5","15.3.6","15.3.7","15.4.0","15.4.1","15.4.2","15.5.0","15.5.1","15.5.2","15.5.3","15.5.4","15.5.5","15.5.6","15.5.7"],"95.0.4629.0":["16.0.0-alpha.1","16.0.0-alpha.2","16.0.0-alpha.3","16.0.0-alpha.4","16.0.0-alpha.5","16.0.0-alpha.6","16.0.0-alpha.7","16.0.0-nightly.20210902","16.0.0-nightly.20210903","16.0.0-nightly.20210906","16.0.0-nightly.20210907","16.0.0-nightly.20210908","16.0.0-nightly.20210909","16.0.0-nightly.20210910","16.0.0-nightly.20210913","16.0.0-nightly.20210914","16.0.0-nightly.20210915","16.0.0-nightly.20210916","16.0.0-nightly.20210917","16.0.0-nightly.20210920","16.0.0-nightly.20210921","16.0.0-nightly.20210922","17.0.0-nightly.20210923","17.0.0-nightly.20210924","17.0.0-nightly.20210927","17.0.0-nightly.20210928","17.0.0-nightly.20210929","17.0.0-nightly.20210930","17.0.0-nightly.20211001","17.0.0-nightly.20211004","17.0.0-nightly.20211005"],"96.0.4647.0":["16.0.0-alpha.8","16.0.0-alpha.9","16.0.0-beta.1","16.0.0-beta.2","16.0.0-beta.3","17.0.0-nightly.20211006","17.0.0-nightly.20211007","17.0.0-nightly.20211008","17.0.0-nightly.20211011","17.0.0-nightly.20211012","17.0.0-nightly.20211013","17.0.0-nightly.20211014","17.0.0-nightly.20211015","17.0.0-nightly.20211018","17.0.0-nightly.20211019","17.0.0-nightly.20211020","17.0.0-nightly.20211021"],"96.0.4664.18":["16.0.0-beta.4","16.0.0-beta.5"],"96.0.4664.27":["16.0.0-beta.6","16.0.0-beta.7"],"96.0.4664.35":["16.0.0-beta.8","16.0.0-beta.9"],"95.0.4612.5":["16.0.0-nightly.20210824","16.0.0-nightly.20210825","16.0.0-nightly.20210826","16.0.0-nightly.20210827","16.0.0-nightly.20210830","16.0.0-nightly.20210831","16.0.0-nightly.20210901"],"96.0.4664.45":["16.0.0","16.0.1"],"96.0.4664.55":["16.0.2","16.0.3","16.0.4","16.0.5"],"96.0.4664.110":["16.0.6","16.0.7","16.0.8"],"96.0.4664.174":["16.0.9","16.0.10","16.1.0","16.1.1","16.2.0","16.2.1","16.2.2","16.2.3","16.2.4","16.2.5","16.2.6","16.2.7","16.2.8"],"96.0.4664.4":["17.0.0-alpha.1","17.0.0-alpha.2","17.0.0-alpha.3","17.0.0-nightly.20211022","17.0.0-nightly.20211025","17.0.0-nightly.20211026","17.0.0-nightly.20211027","17.0.0-nightly.20211028","17.0.0-nightly.20211029","17.0.0-nightly.20211101","17.0.0-nightly.20211102","17.0.0-nightly.20211103","17.0.0-nightly.20211104","17.0.0-nightly.20211105","17.0.0-nightly.20211108","17.0.0-nightly.20211109","17.0.0-nightly.20211110","17.0.0-nightly.20211111","17.0.0-nightly.20211112","17.0.0-nightly.20211115","17.0.0-nightly.20211116","17.0.0-nightly.20211117","18.0.0-nightly.20211118","18.0.0-nightly.20211119","18.0.0-nightly.20211122","18.0.0-nightly.20211123"],"98.0.4706.0":["17.0.0-alpha.4","17.0.0-alpha.5","17.0.0-alpha.6","17.0.0-beta.1","17.0.0-beta.2","18.0.0-nightly.20211124","18.0.0-nightly.20211125","18.0.0-nightly.20211126","18.0.0-nightly.20211129","18.0.0-nightly.20211130","18.0.0-nightly.20211201","18.0.0-nightly.20211202","18.0.0-nightly.20211203","18.0.0-nightly.20211206","18.0.0-nightly.20211207","18.0.0-nightly.20211208","18.0.0-nightly.20211209","18.0.0-nightly.20211210","18.0.0-nightly.20211213","18.0.0-nightly.20211214","18.0.0-nightly.20211215","18.0.0-nightly.20211216","18.0.0-nightly.20211217","18.0.0-nightly.20211220","18.0.0-nightly.20211221","18.0.0-nightly.20211222","18.0.0-nightly.20211223","18.0.0-nightly.20211228","18.0.0-nightly.20211229","18.0.0-nightly.20211231","18.0.0-nightly.20220103","18.0.0-nightly.20220104","18.0.0-nightly.20220105","18.0.0-nightly.20220106","18.0.0-nightly.20220107","18.0.0-nightly.20220110"],"98.0.4758.9":["17.0.0-beta.3"],"98.0.4758.11":["17.0.0-beta.4","17.0.0-beta.5","17.0.0-beta.6","17.0.0-beta.7","17.0.0-beta.8","17.0.0-beta.9"],"98.0.4758.74":["17.0.0"],"98.0.4758.82":["17.0.1"],"98.0.4758.102":["17.1.0"],"98.0.4758.109":["17.1.1","17.1.2","17.2.0"],"98.0.4758.141":["17.3.0","17.3.1","17.4.0","17.4.1","17.4.2","17.4.3","17.4.4","17.4.5","17.4.6","17.4.7","17.4.8","17.4.9","17.4.10","17.4.11"],"99.0.4767.0":["18.0.0-alpha.1","18.0.0-alpha.2","18.0.0-alpha.3","18.0.0-alpha.4","18.0.0-alpha.5","18.0.0-nightly.20220111","18.0.0-nightly.20220112","18.0.0-nightly.20220113","18.0.0-nightly.20220114","18.0.0-nightly.20220117","18.0.0-nightly.20220118","18.0.0-nightly.20220119","18.0.0-nightly.20220121","18.0.0-nightly.20220124","18.0.0-nightly.20220125","18.0.0-nightly.20220127","18.0.0-nightly.20220128","18.0.0-nightly.20220131","18.0.0-nightly.20220201","19.0.0-nightly.20220202","19.0.0-nightly.20220203","19.0.0-nightly.20220204","19.0.0-nightly.20220207","19.0.0-nightly.20220208","19.0.0-nightly.20220209"],"100.0.4894.0":["18.0.0-beta.1","18.0.0-beta.2","18.0.0-beta.3","18.0.0-beta.4","18.0.0-beta.5","18.0.0-beta.6","19.0.0-nightly.20220308","19.0.0-nightly.20220309","19.0.0-nightly.20220310","19.0.0-nightly.20220311","19.0.0-nightly.20220314","19.0.0-nightly.20220315","19.0.0-nightly.20220316","19.0.0-nightly.20220317","19.0.0-nightly.20220318","19.0.0-nightly.20220321","19.0.0-nightly.20220322","19.0.0-nightly.20220323","19.0.0-nightly.20220324"],"100.0.4896.56":["18.0.0"],"100.0.4896.60":["18.0.1","18.0.2"],"100.0.4896.75":["18.0.3","18.0.4"],"100.0.4896.127":["18.1.0"],"100.0.4896.143":["18.2.0","18.2.1","18.2.2","18.2.3"],"100.0.4896.160":["18.2.4","18.3.0","18.3.1","18.3.2","18.3.3","18.3.4","18.3.5","18.3.6","18.3.7","18.3.8","18.3.9","18.3.11","18.3.12","18.3.13","18.3.14","18.3.15"],"102.0.4962.3":["19.0.0-alpha.1","19.0.0-nightly.20220328","19.0.0-nightly.20220329","20.0.0-nightly.20220330"],"102.0.4971.0":["19.0.0-alpha.2","19.0.0-alpha.3","20.0.0-nightly.20220411"],"102.0.4989.0":["19.0.0-alpha.4","19.0.0-alpha.5","20.0.0-nightly.20220414","20.0.0-nightly.20220415","20.0.0-nightly.20220418","20.0.0-nightly.20220419","20.0.0-nightly.20220420","20.0.0-nightly.20220421"],"102.0.4999.0":["19.0.0-beta.1","19.0.0-beta.2","19.0.0-beta.3","20.0.0-nightly.20220425","20.0.0-nightly.20220426","20.0.0-nightly.20220427","20.0.0-nightly.20220428","20.0.0-nightly.20220429","20.0.0-nightly.20220502","20.0.0-nightly.20220503","20.0.0-nightly.20220504","20.0.0-nightly.20220505","20.0.0-nightly.20220506","20.0.0-nightly.20220509","20.0.0-nightly.20220511","20.0.0-nightly.20220512","20.0.0-nightly.20220513","20.0.0-nightly.20220516","20.0.0-nightly.20220517"],"102.0.5005.27":["19.0.0-beta.4"],"102.0.5005.40":["19.0.0-beta.5","19.0.0-beta.6","19.0.0-beta.7"],"102.0.5005.49":["19.0.0-beta.8"],"102.0.4961.0":["19.0.0-nightly.20220325"],"102.0.5005.61":["19.0.0","19.0.1"],"102.0.5005.63":["19.0.2","19.0.3","19.0.4"],"102.0.5005.115":["19.0.5","19.0.6"],"102.0.5005.134":["19.0.7"],"102.0.5005.148":["19.0.8"],"102.0.5005.167":["19.0.9","19.0.10","19.0.11","19.0.12","19.0.13","19.0.14","19.0.15","19.0.16","19.0.17","19.1.0","19.1.1","19.1.2","19.1.3","19.1.4","19.1.5","19.1.6","19.1.7","19.1.8","19.1.9"],"103.0.5044.0":["20.0.0-alpha.1","20.0.0-nightly.20220518","20.0.0-nightly.20220519","20.0.0-nightly.20220520","20.0.0-nightly.20220523","20.0.0-nightly.20220524","21.0.0-nightly.20220526","21.0.0-nightly.20220527","21.0.0-nightly.20220530","21.0.0-nightly.20220531"],"104.0.5073.0":["20.0.0-alpha.2","20.0.0-alpha.3","20.0.0-alpha.4","20.0.0-alpha.5","20.0.0-alpha.6","20.0.0-alpha.7","20.0.0-beta.1","20.0.0-beta.2","20.0.0-beta.3","20.0.0-beta.4","20.0.0-beta.5","20.0.0-beta.6","20.0.0-beta.7","20.0.0-beta.8","21.0.0-nightly.20220602","21.0.0-nightly.20220603","21.0.0-nightly.20220606","21.0.0-nightly.20220607","21.0.0-nightly.20220608","21.0.0-nightly.20220609","21.0.0-nightly.20220610","21.0.0-nightly.20220613","21.0.0-nightly.20220614","21.0.0-nightly.20220615","21.0.0-nightly.20220616","21.0.0-nightly.20220617","21.0.0-nightly.20220620","21.0.0-nightly.20220621","21.0.0-nightly.20220622","21.0.0-nightly.20220623","21.0.0-nightly.20220624","21.0.0-nightly.20220627"],"104.0.5112.39":["20.0.0-beta.9"],"104.0.5112.48":["20.0.0-beta.10","20.0.0-beta.11","20.0.0-beta.12"],"104.0.5112.57":["20.0.0-beta.13"],"104.0.5112.65":["20.0.0"],"104.0.5112.81":["20.0.1","20.0.2","20.0.3"],"104.0.5112.102":["20.1.0","20.1.1"],"104.0.5112.114":["20.1.2","20.1.3","20.1.4"],"104.0.5112.124":["20.2.0","20.3.0","20.3.1","20.3.2","20.3.3","20.3.4","20.3.5","20.3.6","20.3.7","20.3.8","20.3.9","20.3.10","20.3.11","20.3.12"],"105.0.5187.0":["21.0.0-alpha.1","21.0.0-alpha.2","21.0.0-alpha.3","21.0.0-alpha.4","21.0.0-alpha.5","21.0.0-nightly.20220720","21.0.0-nightly.20220721","21.0.0-nightly.20220722","21.0.0-nightly.20220725","21.0.0-nightly.20220726","21.0.0-nightly.20220727","21.0.0-nightly.20220728","21.0.0-nightly.20220801","21.0.0-nightly.20220802","22.0.0-nightly.20220808","22.0.0-nightly.20220809","22.0.0-nightly.20220810","22.0.0-nightly.20220811","22.0.0-nightly.20220812","22.0.0-nightly.20220815","22.0.0-nightly.20220816","22.0.0-nightly.20220817"],"106.0.5216.0":["21.0.0-alpha.6","21.0.0-beta.1","21.0.0-beta.2","21.0.0-beta.3","21.0.0-beta.4","21.0.0-beta.5","22.0.0-nightly.20220822","22.0.0-nightly.20220823","22.0.0-nightly.20220824","22.0.0-nightly.20220825","22.0.0-nightly.20220829","22.0.0-nightly.20220830","22.0.0-nightly.20220831","22.0.0-nightly.20220901","22.0.0-nightly.20220902","22.0.0-nightly.20220905"],"106.0.5249.40":["21.0.0-beta.6","21.0.0-beta.7","21.0.0-beta.8"],"105.0.5129.0":["21.0.0-nightly.20220628","21.0.0-nightly.20220629","21.0.0-nightly.20220630","21.0.0-nightly.20220701","21.0.0-nightly.20220704","21.0.0-nightly.20220705","21.0.0-nightly.20220706","21.0.0-nightly.20220707","21.0.0-nightly.20220708","21.0.0-nightly.20220711","21.0.0-nightly.20220712","21.0.0-nightly.20220713"],"105.0.5173.0":["21.0.0-nightly.20220715","21.0.0-nightly.20220718","21.0.0-nightly.20220719"],"106.0.5249.51":["21.0.0"],"106.0.5249.61":["21.0.1"],"106.0.5249.91":["21.1.0"],"106.0.5249.103":["21.1.1"],"106.0.5249.119":["21.2.0"],"106.0.5249.165":["21.2.1"],"106.0.5249.168":["21.2.2","21.2.3"],"106.0.5249.181":["21.3.0","21.3.1"],"106.0.5249.199":["21.3.3","21.3.4","21.3.5","21.4.0","21.4.1","21.4.2","21.4.3","21.4.4"],"107.0.5286.0":["22.0.0-alpha.1","22.0.0-nightly.20220909","22.0.0-nightly.20220912","22.0.0-nightly.20220913","22.0.0-nightly.20220914","22.0.0-nightly.20220915","22.0.0-nightly.20220916","22.0.0-nightly.20220919","22.0.0-nightly.20220920","22.0.0-nightly.20220921","22.0.0-nightly.20220922","22.0.0-nightly.20220923","22.0.0-nightly.20220926","22.0.0-nightly.20220927","22.0.0-nightly.20220928","23.0.0-nightly.20220929","23.0.0-nightly.20220930","23.0.0-nightly.20221003"],"108.0.5329.0":["22.0.0-alpha.3","22.0.0-alpha.4","22.0.0-alpha.5","22.0.0-alpha.6","23.0.0-nightly.20221004","23.0.0-nightly.20221005","23.0.0-nightly.20221006","23.0.0-nightly.20221007","23.0.0-nightly.20221010","23.0.0-nightly.20221011","23.0.0-nightly.20221012","23.0.0-nightly.20221013","23.0.0-nightly.20221014","23.0.0-nightly.20221017"],"108.0.5355.0":["22.0.0-alpha.7","23.0.0-nightly.20221018","23.0.0-nightly.20221019","23.0.0-nightly.20221020","23.0.0-nightly.20221021","23.0.0-nightly.20221024","23.0.0-nightly.20221026"],"108.0.5359.10":["22.0.0-alpha.8","22.0.0-beta.1","22.0.0-beta.2","22.0.0-beta.3"],"108.0.5359.29":["22.0.0-beta.4"],"108.0.5359.40":["22.0.0-beta.5","22.0.0-beta.6"],"108.0.5359.48":["22.0.0-beta.7","22.0.0-beta.8"],"107.0.5274.0":["22.0.0-nightly.20220908"],"108.0.5359.62":["22.0.0"],"108.0.5359.125":["22.0.1"],"108.0.5359.179":["22.0.2","22.0.3","22.1.0"],"108.0.5359.215":["22.2.0","22.2.1","22.3.0","22.3.1","22.3.2","22.3.3","22.3.4","22.3.5","22.3.6","22.3.7","22.3.8"],"110.0.5415.0":["23.0.0-alpha.1","23.0.0-nightly.20221118","23.0.0-nightly.20221121","23.0.0-nightly.20221122","23.0.0-nightly.20221123","23.0.0-nightly.20221124","23.0.0-nightly.20221125","23.0.0-nightly.20221128","23.0.0-nightly.20221129","23.0.0-nightly.20221130","24.0.0-nightly.20221201","24.0.0-nightly.20221202","24.0.0-nightly.20221205"],"110.0.5451.0":["23.0.0-alpha.2","23.0.0-alpha.3","24.0.0-nightly.20221206","24.0.0-nightly.20221207","24.0.0-nightly.20221208","24.0.0-nightly.20221213","24.0.0-nightly.20221214","24.0.0-nightly.20221215","24.0.0-nightly.20221216"],"110.0.5478.5":["23.0.0-beta.1","23.0.0-beta.2","23.0.0-beta.3"],"110.0.5481.30":["23.0.0-beta.4"],"110.0.5481.38":["23.0.0-beta.5"],"110.0.5481.52":["23.0.0-beta.6","23.0.0-beta.8"],"109.0.5382.0":["23.0.0-nightly.20221027","23.0.0-nightly.20221028","23.0.0-nightly.20221031","23.0.0-nightly.20221101","23.0.0-nightly.20221102","23.0.0-nightly.20221103","23.0.0-nightly.20221104","23.0.0-nightly.20221107","23.0.0-nightly.20221108","23.0.0-nightly.20221109","23.0.0-nightly.20221110","23.0.0-nightly.20221111","23.0.0-nightly.20221114","23.0.0-nightly.20221115","23.0.0-nightly.20221116","23.0.0-nightly.20221117"],"110.0.5481.77":["23.0.0"],"110.0.5481.100":["23.1.0"],"110.0.5481.104":["23.1.1"],"110.0.5481.177":["23.1.2"],"110.0.5481.179":["23.1.3"],"110.0.5481.192":["23.1.4","23.2.0"],"110.0.5481.208":["23.2.1","23.2.2","23.2.3","23.2.4","23.3.0","23.3.1"],"111.0.5560.0":["24.0.0-alpha.1","24.0.0-alpha.2","24.0.0-alpha.3","24.0.0-alpha.4","24.0.0-alpha.5","24.0.0-alpha.6","24.0.0-alpha.7","24.0.0-nightly.20230203","24.0.0-nightly.20230206","24.0.0-nightly.20230207","24.0.0-nightly.20230208","24.0.0-nightly.20230209","25.0.0-nightly.20230210","25.0.0-nightly.20230214","25.0.0-nightly.20230215","25.0.0-nightly.20230216","25.0.0-nightly.20230217","25.0.0-nightly.20230220","25.0.0-nightly.20230221","25.0.0-nightly.20230222","25.0.0-nightly.20230223","25.0.0-nightly.20230224","25.0.0-nightly.20230227","25.0.0-nightly.20230228","25.0.0-nightly.20230301","25.0.0-nightly.20230302","25.0.0-nightly.20230303","25.0.0-nightly.20230306","25.0.0-nightly.20230307","25.0.0-nightly.20230308","25.0.0-nightly.20230309","25.0.0-nightly.20230310"],"111.0.5563.50":["24.0.0-beta.1","24.0.0-beta.2"],"112.0.5615.20":["24.0.0-beta.3","24.0.0-beta.4"],"112.0.5615.29":["24.0.0-beta.5"],"112.0.5615.39":["24.0.0-beta.6","24.0.0-beta.7"],"111.0.5518.0":["24.0.0-nightly.20230109","24.0.0-nightly.20230110","24.0.0-nightly.20230111","24.0.0-nightly.20230112","24.0.0-nightly.20230113","24.0.0-nightly.20230116","24.0.0-nightly.20230117","24.0.0-nightly.20230118","24.0.0-nightly.20230119","24.0.0-nightly.20230120","24.0.0-nightly.20230123","24.0.0-nightly.20230124","24.0.0-nightly.20230125","24.0.0-nightly.20230126","24.0.0-nightly.20230127","24.0.0-nightly.20230131","24.0.0-nightly.20230201","24.0.0-nightly.20230202"],"112.0.5615.49":["24.0.0"],"112.0.5615.50":["24.1.0","24.1.1"],"112.0.5615.87":["24.1.2"],"112.0.5615.165":["24.1.3","24.2.0"],"114.0.5694.0":["25.0.0-alpha.1","25.0.0-alpha.2","25.0.0-nightly.20230405","26.0.0-nightly.20230406","26.0.0-nightly.20230407","26.0.0-nightly.20230410","26.0.0-nightly.20230411"],"114.0.5710.0":["25.0.0-alpha.3","25.0.0-alpha.4","26.0.0-nightly.20230413","26.0.0-nightly.20230414","26.0.0-nightly.20230417"],"114.0.5719.0":["25.0.0-alpha.5","25.0.0-alpha.6","25.0.0-beta.1","25.0.0-beta.2","26.0.0-nightly.20230421","26.0.0-nightly.20230424","26.0.0-nightly.20230425","26.0.0-nightly.20230426","26.0.0-nightly.20230427","26.0.0-nightly.20230428","26.0.0-nightly.20230501","26.0.0-nightly.20230502","26.0.0-nightly.20230503","26.0.0-nightly.20230504","26.0.0-nightly.20230505"],"113.0.5636.0":["25.0.0-nightly.20230314"],"113.0.5651.0":["25.0.0-nightly.20230315"],"113.0.5653.0":["25.0.0-nightly.20230317"],"113.0.5660.0":["25.0.0-nightly.20230320"],"113.0.5664.0":["25.0.0-nightly.20230321"],"113.0.5666.0":["25.0.0-nightly.20230322"],"113.0.5668.0":["25.0.0-nightly.20230323"],"113.0.5670.0":["25.0.0-nightly.20230324","25.0.0-nightly.20230327","25.0.0-nightly.20230328","25.0.0-nightly.20230329","25.0.0-nightly.20230330"],"114.0.5684.0":["25.0.0-nightly.20230331","25.0.0-nightly.20230403"],"114.0.5692.0":["25.0.0-nightly.20230404"],"114.0.5708.0":["26.0.0-nightly.20230412"],"114.0.5715.0":["26.0.0-nightly.20230418"]}
      \ No newline at end of file
      +{"39.0.2171.65":["0.20.0","0.20.1","0.20.2","0.20.3","0.20.4","0.20.5","0.20.6","0.20.7","0.20.8"],"40.0.2214.91":["0.21.0","0.21.1","0.21.2"],"41.0.2272.76":["0.21.3","0.22.1","0.22.2","0.22.3","0.23.0","0.24.0"],"42.0.2311.107":["0.25.0","0.25.1","0.25.2","0.25.3","0.26.0","0.26.1","0.27.0","0.27.1"],"43.0.2357.65":["0.27.2","0.27.3","0.28.0","0.28.1","0.28.2","0.28.3","0.29.1","0.29.2"],"44.0.2403.125":["0.30.4","0.31.0"],"45.0.2454.85":["0.31.2","0.32.2","0.32.3","0.33.0","0.33.1","0.33.2","0.33.3","0.33.4","0.33.6","0.33.7","0.33.8","0.33.9","0.34.0","0.34.1","0.34.2","0.34.3","0.34.4","0.35.1","0.35.2","0.35.3","0.35.4","0.35.5"],"47.0.2526.73":["0.36.0","0.36.2","0.36.3","0.36.4"],"47.0.2526.110":["0.36.5","0.36.6","0.36.7","0.36.8","0.36.9","0.36.10","0.36.11","0.36.12"],"49.0.2623.75":["0.37.0","0.37.1","0.37.3","0.37.4","0.37.5","0.37.6","0.37.7","0.37.8","1.0.0","1.0.1","1.0.2"],"50.0.2661.102":["1.1.0","1.1.1","1.1.2","1.1.3"],"51.0.2704.63":["1.2.0","1.2.1"],"51.0.2704.84":["1.2.2","1.2.3"],"51.0.2704.103":["1.2.4","1.2.5"],"51.0.2704.106":["1.2.6","1.2.7","1.2.8"],"52.0.2743.82":["1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.9","1.3.10","1.3.13","1.3.14","1.3.15"],"53.0.2785.113":["1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5"],"53.0.2785.143":["1.4.6","1.4.7","1.4.8","1.4.10","1.4.11","1.4.13","1.4.14","1.4.15","1.4.16"],"54.0.2840.51":["1.4.12"],"54.0.2840.101":["1.5.0","1.5.1"],"56.0.2924.87":["1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9","1.6.10","1.6.11","1.6.12","1.6.13","1.6.14","1.6.15","1.6.16","1.6.17","1.6.18"],"58.0.3029.110":["1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.15","1.7.16"],"59.0.3071.115":["1.8.0","1.8.1","1.8.2-beta.1","1.8.2-beta.2","1.8.2-beta.3","1.8.2-beta.4","1.8.2-beta.5","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.8.7","1.8.8"],"61.0.3163.100":["2.0.0-beta.1","2.0.0-beta.2","2.0.0-beta.3","2.0.0-beta.4","2.0.0-beta.5","2.0.0-beta.6","2.0.0-beta.7","2.0.0-beta.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8-nightly.20180819","2.0.8-nightly.20180820","2.0.8","2.0.9","2.0.10","2.0.11","2.0.12","2.0.13","2.0.14","2.0.15","2.0.16","2.0.17","2.0.18","2.1.0-unsupported.20180809"],"66.0.3359.181":["3.0.0-beta.1","3.0.0-beta.2","3.0.0-beta.3","3.0.0-beta.4","3.0.0-beta.5","3.0.0-beta.6","3.0.0-beta.7","3.0.0-beta.8","3.0.0-beta.9","3.0.0-beta.10","3.0.0-beta.11","3.0.0-beta.12","3.0.0-beta.13","3.0.0-nightly.20180818","3.0.0-nightly.20180821","3.0.0-nightly.20180823","3.0.0-nightly.20180904","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.0.10","3.0.11","3.0.12","3.0.13","3.0.14","3.0.15","3.0.16","3.1.0-beta.1","3.1.0-beta.2","3.1.0-beta.3","3.1.0-beta.4","3.1.0-beta.5","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.1.10","3.1.11","3.1.12","3.1.13","4.0.0-nightly.20180817","4.0.0-nightly.20180819","4.0.0-nightly.20180821"],"69.0.3497.106":["4.0.0-beta.1","4.0.0-beta.2","4.0.0-beta.3","4.0.0-beta.4","4.0.0-beta.5","4.0.0-beta.6","4.0.0-beta.7","4.0.0-beta.8","4.0.0-beta.9","4.0.0-beta.10","4.0.0-beta.11","4.0.0-nightly.20181010","4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6"],"67.0.3396.99":["4.0.0-nightly.20180929"],"68.0.3440.128":["4.0.0-nightly.20181006"],"69.0.3497.128":["4.0.7","4.0.8","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.2.0","4.2.1","4.2.2","4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.2.10","4.2.11","4.2.12"],"72.0.3626.52":["5.0.0-beta.1","5.0.0-beta.2","6.0.0-nightly.20190123"],"73.0.3683.27":["5.0.0-beta.3"],"73.0.3683.54":["5.0.0-beta.4"],"73.0.3683.61":["5.0.0-beta.5"],"73.0.3683.84":["5.0.0-beta.6"],"73.0.3683.94":["5.0.0-beta.7"],"73.0.3683.104":["5.0.0-beta.8"],"73.0.3683.117":["5.0.0-beta.9"],"70.0.3538.110":["5.0.0-nightly.20190107"],"71.0.3578.98":["5.0.0-nightly.20190121","5.0.0-nightly.20190122"],"73.0.3683.119":["5.0.0"],"73.0.3683.121":["5.0.1","5.0.2","5.0.3","5.0.4","5.0.5","5.0.6","5.0.7","5.0.8","5.0.9","5.0.10","5.0.11","5.0.12","5.0.13"],"76.0.3774.1":["6.0.0-beta.1"],"76.0.3783.1":["6.0.0-beta.2","6.0.0-beta.3","6.0.0-beta.4"],"76.0.3805.4":["6.0.0-beta.5"],"76.0.3809.3":["6.0.0-beta.6"],"76.0.3809.22":["6.0.0-beta.7"],"76.0.3809.26":["6.0.0-beta.8","6.0.0-beta.9"],"76.0.3809.37":["6.0.0-beta.10"],"76.0.3809.42":["6.0.0-beta.11"],"76.0.3809.54":["6.0.0-beta.12"],"76.0.3809.60":["6.0.0-beta.13"],"76.0.3809.68":["6.0.0-beta.14"],"76.0.3809.74":["6.0.0-beta.15"],"72.0.3626.107":["6.0.0-nightly.20190212"],"72.0.3626.110":["6.0.0-nightly.20190213"],"74.0.3724.8":["6.0.0-nightly.20190311"],"76.0.3809.88":["6.0.0"],"76.0.3809.102":["6.0.1"],"76.0.3809.110":["6.0.2"],"76.0.3809.126":["6.0.3"],"76.0.3809.131":["6.0.4"],"76.0.3809.136":["6.0.5"],"76.0.3809.138":["6.0.6"],"76.0.3809.139":["6.0.7"],"76.0.3809.146":["6.0.8","6.0.9","6.0.10","6.0.11","6.0.12","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.1.5","6.1.6","6.1.7","6.1.8","6.1.9","6.1.10","6.1.11","6.1.12"],"78.0.3866.0":["7.0.0-beta.1","7.0.0-beta.2","7.0.0-beta.3","7.0.0-nightly.20190727","7.0.0-nightly.20190728","7.0.0-nightly.20190729","7.0.0-nightly.20190730","7.0.0-nightly.20190731","8.0.0-nightly.20190801","8.0.0-nightly.20190802"],"78.0.3896.6":["7.0.0-beta.4"],"78.0.3905.1":["7.0.0-beta.5","7.0.0-beta.6","7.0.0-beta.7","7.0.0"],"76.0.3784.0":["7.0.0-nightly.20190521"],"76.0.3806.0":["7.0.0-nightly.20190529","7.0.0-nightly.20190530","7.0.0-nightly.20190531","7.0.0-nightly.20190602","7.0.0-nightly.20190603"],"77.0.3814.0":["7.0.0-nightly.20190604"],"77.0.3815.0":["7.0.0-nightly.20190605","7.0.0-nightly.20190606","7.0.0-nightly.20190607","7.0.0-nightly.20190608","7.0.0-nightly.20190609","7.0.0-nightly.20190611","7.0.0-nightly.20190612","7.0.0-nightly.20190613","7.0.0-nightly.20190615","7.0.0-nightly.20190616","7.0.0-nightly.20190618","7.0.0-nightly.20190619","7.0.0-nightly.20190622","7.0.0-nightly.20190623","7.0.0-nightly.20190624","7.0.0-nightly.20190627","7.0.0-nightly.20190629","7.0.0-nightly.20190630","7.0.0-nightly.20190701","7.0.0-nightly.20190702"],"77.0.3843.0":["7.0.0-nightly.20190704","7.0.0-nightly.20190705"],"77.0.3848.0":["7.0.0-nightly.20190719","7.0.0-nightly.20190720","7.0.0-nightly.20190721"],"77.0.3864.0":["7.0.0-nightly.20190726"],"78.0.3904.92":["7.0.1"],"78.0.3904.94":["7.1.0"],"78.0.3904.99":["7.1.1"],"78.0.3904.113":["7.1.2"],"78.0.3904.126":["7.1.3"],"78.0.3904.130":["7.1.4","7.1.5","7.1.6","7.1.7","7.1.8","7.1.9","7.1.10","7.1.11","7.1.12","7.1.13","7.1.14","7.2.0","7.2.1","7.2.2","7.2.3","7.2.4","7.3.0","7.3.1","7.3.2","7.3.3"],"79.0.3931.0":["8.0.0-beta.1","8.0.0-beta.2","8.0.0-nightly.20191019","8.0.0-nightly.20191020","8.0.0-nightly.20191021","8.0.0-nightly.20191023"],"80.0.3955.0":["8.0.0-beta.3","8.0.0-beta.4"],"80.0.3987.14":["8.0.0-beta.5"],"80.0.3987.51":["8.0.0-beta.6"],"80.0.3987.59":["8.0.0-beta.7"],"80.0.3987.75":["8.0.0-beta.8","8.0.0-beta.9"],"78.0.3871.0":["8.0.0-nightly.20190803","8.0.0-nightly.20190806","8.0.0-nightly.20190807","8.0.0-nightly.20190808","8.0.0-nightly.20190809","8.0.0-nightly.20190810","8.0.0-nightly.20190811","8.0.0-nightly.20190812","8.0.0-nightly.20190813","8.0.0-nightly.20190814","8.0.0-nightly.20190815"],"78.0.3881.0":["8.0.0-nightly.20190816","8.0.0-nightly.20190817","8.0.0-nightly.20190818","8.0.0-nightly.20190819","8.0.0-nightly.20190820"],"78.0.3892.0":["8.0.0-nightly.20190824","8.0.0-nightly.20190825","8.0.0-nightly.20190827","8.0.0-nightly.20190828","8.0.0-nightly.20190830","8.0.0-nightly.20190901","8.0.0-nightly.20190902","8.0.0-nightly.20190907","8.0.0-nightly.20190909","8.0.0-nightly.20190910","8.0.0-nightly.20190911","8.0.0-nightly.20190912","8.0.0-nightly.20190913","8.0.0-nightly.20190914","8.0.0-nightly.20190915","8.0.0-nightly.20190917"],"79.0.3915.0":["8.0.0-nightly.20190919","8.0.0-nightly.20190920"],"79.0.3919.0":["8.0.0-nightly.20190922","8.0.0-nightly.20190923","8.0.0-nightly.20190924","8.0.0-nightly.20190926","8.0.0-nightly.20190928","8.0.0-nightly.20190929","8.0.0-nightly.20190930","8.0.0-nightly.20191001","8.0.0-nightly.20191004","8.0.0-nightly.20191005","8.0.0-nightly.20191006","8.0.0-nightly.20191009","8.0.0-nightly.20191011","8.0.0-nightly.20191012","8.0.0-nightly.20191017"],"80.0.3952.0":["8.0.0-nightly.20191101","8.0.0-nightly.20191103","8.0.0-nightly.20191105"],"80.0.3987.86":["8.0.0","8.0.1","8.0.2"],"80.0.3987.134":["8.0.3"],"80.0.3987.137":["8.1.0"],"80.0.3987.141":["8.1.1"],"80.0.3987.158":["8.2.0"],"80.0.3987.163":["8.2.1","8.2.2","8.2.3","8.5.3","8.5.4","8.5.5"],"80.0.3987.165":["8.2.4","8.2.5","8.3.0","8.3.1","8.3.2","8.3.3","8.3.4","8.4.0","8.4.1","8.5.0","8.5.1","8.5.2"],"82.0.4048.0":["9.0.0-beta.1","9.0.0-beta.2","9.0.0-beta.3","9.0.0-beta.4","9.0.0-beta.5"],"82.0.4058.2":["9.0.0-beta.6","9.0.0-beta.7","9.0.0-beta.9"],"82.0.4085.10":["9.0.0-beta.10"],"82.0.4085.14":["9.0.0-beta.11","9.0.0-beta.12","9.0.0-beta.13"],"82.0.4085.27":["9.0.0-beta.14"],"83.0.4102.3":["9.0.0-beta.15","9.0.0-beta.16"],"83.0.4103.14":["9.0.0-beta.17"],"83.0.4103.16":["9.0.0-beta.18"],"83.0.4103.24":["9.0.0-beta.19"],"83.0.4103.26":["9.0.0-beta.20","9.0.0-beta.21"],"83.0.4103.34":["9.0.0-beta.22"],"83.0.4103.44":["9.0.0-beta.23"],"83.0.4103.45":["9.0.0-beta.24"],"80.0.3954.0":["9.0.0-nightly.20191121","9.0.0-nightly.20191122","9.0.0-nightly.20191123","9.0.0-nightly.20191124","9.0.0-nightly.20191126","9.0.0-nightly.20191128","9.0.0-nightly.20191129","9.0.0-nightly.20191130","9.0.0-nightly.20191201","9.0.0-nightly.20191202","9.0.0-nightly.20191203","9.0.0-nightly.20191204","9.0.0-nightly.20191205","9.0.0-nightly.20191210"],"81.0.3994.0":["9.0.0-nightly.20191220","9.0.0-nightly.20191221","9.0.0-nightly.20191222","9.0.0-nightly.20191223","9.0.0-nightly.20191224","9.0.0-nightly.20191225","9.0.0-nightly.20191226","9.0.0-nightly.20191228","9.0.0-nightly.20191229","9.0.0-nightly.20191230","9.0.0-nightly.20191231","9.0.0-nightly.20200101","9.0.0-nightly.20200103","9.0.0-nightly.20200104","9.0.0-nightly.20200105","9.0.0-nightly.20200106","9.0.0-nightly.20200108","9.0.0-nightly.20200109","9.0.0-nightly.20200110","9.0.0-nightly.20200111","9.0.0-nightly.20200113","9.0.0-nightly.20200115","9.0.0-nightly.20200116","9.0.0-nightly.20200117"],"81.0.4030.0":["9.0.0-nightly.20200119","9.0.0-nightly.20200121"],"83.0.4103.64":["9.0.0"],"83.0.4103.94":["9.0.1","9.0.2"],"83.0.4103.100":["9.0.3"],"83.0.4103.104":["9.0.4"],"83.0.4103.119":["9.0.5"],"83.0.4103.122":["9.1.0","9.1.1","9.1.2","9.2.0","9.2.1","9.3.0","9.3.1","9.3.2","9.3.3","9.3.4","9.3.5","9.4.0","9.4.1","9.4.2","9.4.3","9.4.4"],"84.0.4129.0":["10.0.0-beta.1","10.0.0-beta.2","10.0.0-nightly.20200501","10.0.0-nightly.20200504","10.0.0-nightly.20200505","10.0.0-nightly.20200506","10.0.0-nightly.20200507","10.0.0-nightly.20200508","10.0.0-nightly.20200511","10.0.0-nightly.20200512","10.0.0-nightly.20200513","10.0.0-nightly.20200514","10.0.0-nightly.20200515","10.0.0-nightly.20200518","10.0.0-nightly.20200519","10.0.0-nightly.20200520","10.0.0-nightly.20200521","11.0.0-nightly.20200525","11.0.0-nightly.20200526"],"85.0.4161.2":["10.0.0-beta.3","10.0.0-beta.4"],"85.0.4181.1":["10.0.0-beta.8","10.0.0-beta.9"],"85.0.4183.19":["10.0.0-beta.10"],"85.0.4183.20":["10.0.0-beta.11"],"85.0.4183.26":["10.0.0-beta.12"],"85.0.4183.39":["10.0.0-beta.13","10.0.0-beta.14","10.0.0-beta.15","10.0.0-beta.17","10.0.0-beta.19","10.0.0-beta.20","10.0.0-beta.21"],"85.0.4183.70":["10.0.0-beta.23"],"85.0.4183.78":["10.0.0-beta.24"],"85.0.4183.80":["10.0.0-beta.25"],"82.0.4050.0":["10.0.0-nightly.20200209","10.0.0-nightly.20200210","10.0.0-nightly.20200211","10.0.0-nightly.20200216","10.0.0-nightly.20200217","10.0.0-nightly.20200218","10.0.0-nightly.20200221","10.0.0-nightly.20200222","10.0.0-nightly.20200223","10.0.0-nightly.20200226","10.0.0-nightly.20200303"],"82.0.4076.0":["10.0.0-nightly.20200304","10.0.0-nightly.20200305","10.0.0-nightly.20200306","10.0.0-nightly.20200309","10.0.0-nightly.20200310"],"82.0.4083.0":["10.0.0-nightly.20200311"],"83.0.4086.0":["10.0.0-nightly.20200316"],"83.0.4087.0":["10.0.0-nightly.20200317","10.0.0-nightly.20200318","10.0.0-nightly.20200320","10.0.0-nightly.20200323","10.0.0-nightly.20200324","10.0.0-nightly.20200325","10.0.0-nightly.20200326","10.0.0-nightly.20200327","10.0.0-nightly.20200330","10.0.0-nightly.20200331","10.0.0-nightly.20200401","10.0.0-nightly.20200402","10.0.0-nightly.20200403","10.0.0-nightly.20200406"],"83.0.4095.0":["10.0.0-nightly.20200408","10.0.0-nightly.20200410","10.0.0-nightly.20200413"],"84.0.4114.0":["10.0.0-nightly.20200414"],"84.0.4115.0":["10.0.0-nightly.20200415","10.0.0-nightly.20200416","10.0.0-nightly.20200417"],"84.0.4121.0":["10.0.0-nightly.20200422","10.0.0-nightly.20200423"],"84.0.4125.0":["10.0.0-nightly.20200427","10.0.0-nightly.20200428","10.0.0-nightly.20200429","10.0.0-nightly.20200430"],"85.0.4183.84":["10.0.0"],"85.0.4183.86":["10.0.1"],"85.0.4183.87":["10.1.0"],"85.0.4183.93":["10.1.1"],"85.0.4183.98":["10.1.2"],"85.0.4183.121":["10.1.3","10.1.4","10.1.5","10.1.6","10.1.7","10.2.0","10.3.0","10.3.1","10.3.2","10.4.0","10.4.1","10.4.2","10.4.3","10.4.4","10.4.5","10.4.6","10.4.7"],"86.0.4234.0":["11.0.0-beta.1","11.0.0-beta.3","11.0.0-beta.4","11.0.0-beta.5","11.0.0-beta.6","11.0.0-beta.7","11.0.0-nightly.20200822","11.0.0-nightly.20200824","11.0.0-nightly.20200825","11.0.0-nightly.20200826","12.0.0-nightly.20200827","12.0.0-nightly.20200831","12.0.0-nightly.20200902","12.0.0-nightly.20200903","12.0.0-nightly.20200907","12.0.0-nightly.20200910","12.0.0-nightly.20200911","12.0.0-nightly.20200914"],"87.0.4251.1":["11.0.0-beta.8","11.0.0-beta.9","11.0.0-beta.11"],"87.0.4280.11":["11.0.0-beta.12","11.0.0-beta.13"],"87.0.4280.27":["11.0.0-beta.16","11.0.0-beta.17","11.0.0-beta.18","11.0.0-beta.19"],"87.0.4280.40":["11.0.0-beta.20"],"87.0.4280.47":["11.0.0-beta.22","11.0.0-beta.23"],"85.0.4156.0":["11.0.0-nightly.20200529"],"85.0.4162.0":["11.0.0-nightly.20200602","11.0.0-nightly.20200603","11.0.0-nightly.20200604","11.0.0-nightly.20200609","11.0.0-nightly.20200610","11.0.0-nightly.20200611","11.0.0-nightly.20200615","11.0.0-nightly.20200616","11.0.0-nightly.20200617","11.0.0-nightly.20200618","11.0.0-nightly.20200619"],"85.0.4179.0":["11.0.0-nightly.20200701","11.0.0-nightly.20200702","11.0.0-nightly.20200703","11.0.0-nightly.20200706","11.0.0-nightly.20200707","11.0.0-nightly.20200708","11.0.0-nightly.20200709"],"86.0.4203.0":["11.0.0-nightly.20200716","11.0.0-nightly.20200717","11.0.0-nightly.20200720","11.0.0-nightly.20200721"],"86.0.4209.0":["11.0.0-nightly.20200723","11.0.0-nightly.20200724","11.0.0-nightly.20200729","11.0.0-nightly.20200730","11.0.0-nightly.20200731","11.0.0-nightly.20200803","11.0.0-nightly.20200804","11.0.0-nightly.20200805","11.0.0-nightly.20200811","11.0.0-nightly.20200812"],"87.0.4280.60":["11.0.0","11.0.1"],"87.0.4280.67":["11.0.2","11.0.3","11.0.4"],"87.0.4280.88":["11.0.5","11.1.0","11.1.1"],"87.0.4280.141":["11.2.0","11.2.1","11.2.2","11.2.3","11.3.0","11.4.0","11.4.1","11.4.2","11.4.3","11.4.4","11.4.5","11.4.6","11.4.7","11.4.8","11.4.9","11.4.10","11.4.11","11.4.12","11.5.0"],"89.0.4328.0":["12.0.0-beta.1","12.0.0-beta.3","12.0.0-beta.4","12.0.0-beta.5","12.0.0-beta.6","12.0.0-beta.7","12.0.0-beta.8","12.0.0-beta.9","12.0.0-beta.10","12.0.0-beta.11","12.0.0-beta.12","12.0.0-beta.14","13.0.0-nightly.20201119","13.0.0-nightly.20201123","13.0.0-nightly.20201124","13.0.0-nightly.20201126","13.0.0-nightly.20201127","13.0.0-nightly.20201130","13.0.0-nightly.20201201","13.0.0-nightly.20201202","13.0.0-nightly.20201203","13.0.0-nightly.20201204","13.0.0-nightly.20201207","13.0.0-nightly.20201208","13.0.0-nightly.20201209","13.0.0-nightly.20201210","13.0.0-nightly.20201211","13.0.0-nightly.20201214"],"89.0.4348.1":["12.0.0-beta.16","12.0.0-beta.18","12.0.0-beta.19","12.0.0-beta.20"],"89.0.4388.2":["12.0.0-beta.21","12.0.0-beta.22","12.0.0-beta.23","12.0.0-beta.24","12.0.0-beta.25","12.0.0-beta.26"],"89.0.4389.23":["12.0.0-beta.27","12.0.0-beta.28","12.0.0-beta.29"],"89.0.4389.58":["12.0.0-beta.30","12.0.0-beta.31"],"87.0.4268.0":["12.0.0-nightly.20201002","12.0.0-nightly.20201007","12.0.0-nightly.20201009","12.0.0-nightly.20201012","12.0.0-nightly.20201013","12.0.0-nightly.20201014","12.0.0-nightly.20201015"],"88.0.4292.0":["12.0.0-nightly.20201023","12.0.0-nightly.20201026"],"88.0.4306.0":["12.0.0-nightly.20201030","12.0.0-nightly.20201102","12.0.0-nightly.20201103","12.0.0-nightly.20201104","12.0.0-nightly.20201105","12.0.0-nightly.20201106","12.0.0-nightly.20201111","12.0.0-nightly.20201112"],"88.0.4324.0":["12.0.0-nightly.20201116"],"89.0.4389.69":["12.0.0"],"89.0.4389.82":["12.0.1"],"89.0.4389.90":["12.0.2"],"89.0.4389.114":["12.0.3","12.0.4"],"89.0.4389.128":["12.0.5","12.0.6","12.0.7","12.0.8","12.0.9","12.0.10","12.0.11","12.0.12","12.0.13","12.0.14","12.0.15","12.0.16","12.0.17","12.0.18","12.1.0","12.1.1","12.1.2","12.2.0","12.2.1","12.2.2","12.2.3"],"90.0.4402.0":["13.0.0-beta.2","13.0.0-beta.3","13.0.0-nightly.20210210","13.0.0-nightly.20210211","13.0.0-nightly.20210212","13.0.0-nightly.20210216","13.0.0-nightly.20210217","13.0.0-nightly.20210218","13.0.0-nightly.20210219","13.0.0-nightly.20210222","13.0.0-nightly.20210225","13.0.0-nightly.20210226","13.0.0-nightly.20210301","13.0.0-nightly.20210302","13.0.0-nightly.20210303","14.0.0-nightly.20210304"],"90.0.4415.0":["13.0.0-beta.4","13.0.0-beta.5","13.0.0-beta.6","13.0.0-beta.7","13.0.0-beta.8","13.0.0-beta.9","13.0.0-beta.10","13.0.0-beta.11","13.0.0-beta.12","13.0.0-beta.13","14.0.0-nightly.20210305","14.0.0-nightly.20210308","14.0.0-nightly.20210309","14.0.0-nightly.20210311","14.0.0-nightly.20210315","14.0.0-nightly.20210316","14.0.0-nightly.20210317","14.0.0-nightly.20210318","14.0.0-nightly.20210319","14.0.0-nightly.20210323","14.0.0-nightly.20210324","14.0.0-nightly.20210325","14.0.0-nightly.20210326","14.0.0-nightly.20210329","14.0.0-nightly.20210330"],"91.0.4448.0":["13.0.0-beta.14","13.0.0-beta.16","13.0.0-beta.17","13.0.0-beta.18","13.0.0-beta.20","14.0.0-nightly.20210331","14.0.0-nightly.20210401","14.0.0-nightly.20210402","14.0.0-nightly.20210406","14.0.0-nightly.20210407","14.0.0-nightly.20210408","14.0.0-nightly.20210409","14.0.0-nightly.20210413"],"91.0.4472.33":["13.0.0-beta.21","13.0.0-beta.22","13.0.0-beta.23"],"91.0.4472.38":["13.0.0-beta.24","13.0.0-beta.25","13.0.0-beta.26","13.0.0-beta.27","13.0.0-beta.28"],"89.0.4349.0":["13.0.0-nightly.20201215","13.0.0-nightly.20201216","13.0.0-nightly.20201221","13.0.0-nightly.20201222"],"89.0.4359.0":["13.0.0-nightly.20201223","13.0.0-nightly.20210104","13.0.0-nightly.20210108","13.0.0-nightly.20210111"],"89.0.4386.0":["13.0.0-nightly.20210113","13.0.0-nightly.20210114","13.0.0-nightly.20210118","13.0.0-nightly.20210122","13.0.0-nightly.20210125"],"89.0.4389.0":["13.0.0-nightly.20210127","13.0.0-nightly.20210128","13.0.0-nightly.20210129","13.0.0-nightly.20210201","13.0.0-nightly.20210202","13.0.0-nightly.20210203","13.0.0-nightly.20210205","13.0.0-nightly.20210208","13.0.0-nightly.20210209"],"91.0.4472.69":["13.0.0","13.0.1"],"91.0.4472.77":["13.1.0","13.1.1","13.1.2"],"91.0.4472.106":["13.1.3","13.1.4"],"91.0.4472.124":["13.1.5","13.1.6","13.1.7"],"91.0.4472.164":["13.1.8","13.1.9","13.2.0","13.2.1","13.2.2","13.2.3","13.3.0","13.4.0","13.5.0","13.5.1","13.5.2","13.6.0","13.6.1","13.6.2","13.6.3","13.6.6","13.6.7","13.6.8","13.6.9"],"92.0.4511.0":["14.0.0-beta.1","14.0.0-beta.2","14.0.0-beta.3","14.0.0-nightly.20210520","14.0.0-nightly.20210523","14.0.0-nightly.20210524","15.0.0-nightly.20210527","15.0.0-nightly.20210528","15.0.0-nightly.20210531","15.0.0-nightly.20210601","15.0.0-nightly.20210602"],"93.0.4536.0":["14.0.0-beta.5","14.0.0-beta.6","14.0.0-beta.7","14.0.0-beta.8","15.0.0-nightly.20210609","15.0.0-nightly.20210610","15.0.0-nightly.20210611","15.0.0-nightly.20210614","15.0.0-nightly.20210615","15.0.0-nightly.20210616"],"93.0.4539.0":["14.0.0-beta.9","14.0.0-beta.10","15.0.0-nightly.20210617","15.0.0-nightly.20210618","15.0.0-nightly.20210621","15.0.0-nightly.20210622"],"93.0.4557.4":["14.0.0-beta.11","14.0.0-beta.12"],"93.0.4566.0":["14.0.0-beta.13","14.0.0-beta.14","14.0.0-beta.15","14.0.0-beta.16","14.0.0-beta.17","15.0.0-alpha.1","15.0.0-alpha.2","15.0.0-nightly.20210706","15.0.0-nightly.20210707","15.0.0-nightly.20210708","15.0.0-nightly.20210709","15.0.0-nightly.20210712","15.0.0-nightly.20210713","15.0.0-nightly.20210714","15.0.0-nightly.20210715","15.0.0-nightly.20210716","15.0.0-nightly.20210719","15.0.0-nightly.20210720","15.0.0-nightly.20210721","16.0.0-nightly.20210722","16.0.0-nightly.20210723","16.0.0-nightly.20210726"],"93.0.4577.15":["14.0.0-beta.18","14.0.0-beta.19","14.0.0-beta.20","14.0.0-beta.21"],"93.0.4577.25":["14.0.0-beta.22","14.0.0-beta.23"],"93.0.4577.51":["14.0.0-beta.24","14.0.0-beta.25"],"92.0.4475.0":["14.0.0-nightly.20210426","14.0.0-nightly.20210427"],"92.0.4488.0":["14.0.0-nightly.20210430","14.0.0-nightly.20210503"],"92.0.4496.0":["14.0.0-nightly.20210505"],"92.0.4498.0":["14.0.0-nightly.20210506"],"92.0.4499.0":["14.0.0-nightly.20210507","14.0.0-nightly.20210510","14.0.0-nightly.20210511","14.0.0-nightly.20210512","14.0.0-nightly.20210513"],"92.0.4505.0":["14.0.0-nightly.20210514","14.0.0-nightly.20210517","14.0.0-nightly.20210518","14.0.0-nightly.20210519"],"93.0.4577.58":["14.0.0"],"93.0.4577.63":["14.0.1"],"93.0.4577.82":["14.0.2","14.1.0","14.1.1","14.2.0","14.2.1","14.2.2","14.2.3","14.2.4","14.2.5","14.2.6","14.2.7","14.2.8","14.2.9"],"94.0.4584.0":["15.0.0-alpha.3","15.0.0-alpha.4","15.0.0-alpha.5","15.0.0-alpha.6","16.0.0-nightly.20210727","16.0.0-nightly.20210728","16.0.0-nightly.20210729","16.0.0-nightly.20210730","16.0.0-nightly.20210802","16.0.0-nightly.20210803","16.0.0-nightly.20210804","16.0.0-nightly.20210805","16.0.0-nightly.20210806","16.0.0-nightly.20210809","16.0.0-nightly.20210810","16.0.0-nightly.20210811"],"94.0.4590.2":["15.0.0-alpha.7","15.0.0-alpha.8","15.0.0-alpha.9","16.0.0-nightly.20210812","16.0.0-nightly.20210813","16.0.0-nightly.20210816","16.0.0-nightly.20210817","16.0.0-nightly.20210818","16.0.0-nightly.20210819","16.0.0-nightly.20210820","16.0.0-nightly.20210823"],"94.0.4606.12":["15.0.0-alpha.10"],"94.0.4606.20":["15.0.0-beta.1","15.0.0-beta.2"],"94.0.4606.31":["15.0.0-beta.3","15.0.0-beta.4","15.0.0-beta.5","15.0.0-beta.6","15.0.0-beta.7"],"93.0.4530.0":["15.0.0-nightly.20210603","15.0.0-nightly.20210604"],"93.0.4535.0":["15.0.0-nightly.20210608"],"93.0.4550.0":["15.0.0-nightly.20210623","15.0.0-nightly.20210624"],"93.0.4552.0":["15.0.0-nightly.20210625","15.0.0-nightly.20210628","15.0.0-nightly.20210629"],"93.0.4558.0":["15.0.0-nightly.20210630","15.0.0-nightly.20210701","15.0.0-nightly.20210702","15.0.0-nightly.20210705"],"94.0.4606.51":["15.0.0"],"94.0.4606.61":["15.1.0","15.1.1"],"94.0.4606.71":["15.1.2"],"94.0.4606.81":["15.2.0","15.3.0","15.3.1","15.3.2","15.3.3","15.3.4","15.3.5","15.3.6","15.3.7","15.4.0","15.4.1","15.4.2","15.5.0","15.5.1","15.5.2","15.5.3","15.5.4","15.5.5","15.5.6","15.5.7"],"95.0.4629.0":["16.0.0-alpha.1","16.0.0-alpha.2","16.0.0-alpha.3","16.0.0-alpha.4","16.0.0-alpha.5","16.0.0-alpha.6","16.0.0-alpha.7","16.0.0-nightly.20210902","16.0.0-nightly.20210903","16.0.0-nightly.20210906","16.0.0-nightly.20210907","16.0.0-nightly.20210908","16.0.0-nightly.20210909","16.0.0-nightly.20210910","16.0.0-nightly.20210913","16.0.0-nightly.20210914","16.0.0-nightly.20210915","16.0.0-nightly.20210916","16.0.0-nightly.20210917","16.0.0-nightly.20210920","16.0.0-nightly.20210921","16.0.0-nightly.20210922","17.0.0-nightly.20210923","17.0.0-nightly.20210924","17.0.0-nightly.20210927","17.0.0-nightly.20210928","17.0.0-nightly.20210929","17.0.0-nightly.20210930","17.0.0-nightly.20211001","17.0.0-nightly.20211004","17.0.0-nightly.20211005"],"96.0.4647.0":["16.0.0-alpha.8","16.0.0-alpha.9","16.0.0-beta.1","16.0.0-beta.2","16.0.0-beta.3","17.0.0-nightly.20211006","17.0.0-nightly.20211007","17.0.0-nightly.20211008","17.0.0-nightly.20211011","17.0.0-nightly.20211012","17.0.0-nightly.20211013","17.0.0-nightly.20211014","17.0.0-nightly.20211015","17.0.0-nightly.20211018","17.0.0-nightly.20211019","17.0.0-nightly.20211020","17.0.0-nightly.20211021"],"96.0.4664.18":["16.0.0-beta.4","16.0.0-beta.5"],"96.0.4664.27":["16.0.0-beta.6","16.0.0-beta.7"],"96.0.4664.35":["16.0.0-beta.8","16.0.0-beta.9"],"95.0.4612.5":["16.0.0-nightly.20210824","16.0.0-nightly.20210825","16.0.0-nightly.20210826","16.0.0-nightly.20210827","16.0.0-nightly.20210830","16.0.0-nightly.20210831","16.0.0-nightly.20210901"],"96.0.4664.45":["16.0.0","16.0.1"],"96.0.4664.55":["16.0.2","16.0.3","16.0.4","16.0.5"],"96.0.4664.110":["16.0.6","16.0.7","16.0.8"],"96.0.4664.174":["16.0.9","16.0.10","16.1.0","16.1.1","16.2.0","16.2.1","16.2.2","16.2.3","16.2.4","16.2.5","16.2.6","16.2.7","16.2.8"],"96.0.4664.4":["17.0.0-alpha.1","17.0.0-alpha.2","17.0.0-alpha.3","17.0.0-nightly.20211022","17.0.0-nightly.20211025","17.0.0-nightly.20211026","17.0.0-nightly.20211027","17.0.0-nightly.20211028","17.0.0-nightly.20211029","17.0.0-nightly.20211101","17.0.0-nightly.20211102","17.0.0-nightly.20211103","17.0.0-nightly.20211104","17.0.0-nightly.20211105","17.0.0-nightly.20211108","17.0.0-nightly.20211109","17.0.0-nightly.20211110","17.0.0-nightly.20211111","17.0.0-nightly.20211112","17.0.0-nightly.20211115","17.0.0-nightly.20211116","17.0.0-nightly.20211117","18.0.0-nightly.20211118","18.0.0-nightly.20211119","18.0.0-nightly.20211122","18.0.0-nightly.20211123"],"98.0.4706.0":["17.0.0-alpha.4","17.0.0-alpha.5","17.0.0-alpha.6","17.0.0-beta.1","17.0.0-beta.2","18.0.0-nightly.20211124","18.0.0-nightly.20211125","18.0.0-nightly.20211126","18.0.0-nightly.20211129","18.0.0-nightly.20211130","18.0.0-nightly.20211201","18.0.0-nightly.20211202","18.0.0-nightly.20211203","18.0.0-nightly.20211206","18.0.0-nightly.20211207","18.0.0-nightly.20211208","18.0.0-nightly.20211209","18.0.0-nightly.20211210","18.0.0-nightly.20211213","18.0.0-nightly.20211214","18.0.0-nightly.20211215","18.0.0-nightly.20211216","18.0.0-nightly.20211217","18.0.0-nightly.20211220","18.0.0-nightly.20211221","18.0.0-nightly.20211222","18.0.0-nightly.20211223","18.0.0-nightly.20211228","18.0.0-nightly.20211229","18.0.0-nightly.20211231","18.0.0-nightly.20220103","18.0.0-nightly.20220104","18.0.0-nightly.20220105","18.0.0-nightly.20220106","18.0.0-nightly.20220107","18.0.0-nightly.20220110"],"98.0.4758.9":["17.0.0-beta.3"],"98.0.4758.11":["17.0.0-beta.4","17.0.0-beta.5","17.0.0-beta.6","17.0.0-beta.7","17.0.0-beta.8","17.0.0-beta.9"],"98.0.4758.74":["17.0.0"],"98.0.4758.82":["17.0.1"],"98.0.4758.102":["17.1.0"],"98.0.4758.109":["17.1.1","17.1.2","17.2.0"],"98.0.4758.141":["17.3.0","17.3.1","17.4.0","17.4.1","17.4.2","17.4.3","17.4.4","17.4.5","17.4.6","17.4.7","17.4.8","17.4.9","17.4.10","17.4.11"],"99.0.4767.0":["18.0.0-alpha.1","18.0.0-alpha.2","18.0.0-alpha.3","18.0.0-alpha.4","18.0.0-alpha.5","18.0.0-nightly.20220111","18.0.0-nightly.20220112","18.0.0-nightly.20220113","18.0.0-nightly.20220114","18.0.0-nightly.20220117","18.0.0-nightly.20220118","18.0.0-nightly.20220119","18.0.0-nightly.20220121","18.0.0-nightly.20220124","18.0.0-nightly.20220125","18.0.0-nightly.20220127","18.0.0-nightly.20220128","18.0.0-nightly.20220131","18.0.0-nightly.20220201","19.0.0-nightly.20220202","19.0.0-nightly.20220203","19.0.0-nightly.20220204","19.0.0-nightly.20220207","19.0.0-nightly.20220208","19.0.0-nightly.20220209"],"100.0.4894.0":["18.0.0-beta.1","18.0.0-beta.2","18.0.0-beta.3","18.0.0-beta.4","18.0.0-beta.5","18.0.0-beta.6","19.0.0-nightly.20220308","19.0.0-nightly.20220309","19.0.0-nightly.20220310","19.0.0-nightly.20220311","19.0.0-nightly.20220314","19.0.0-nightly.20220315","19.0.0-nightly.20220316","19.0.0-nightly.20220317","19.0.0-nightly.20220318","19.0.0-nightly.20220321","19.0.0-nightly.20220322","19.0.0-nightly.20220323","19.0.0-nightly.20220324"],"100.0.4896.56":["18.0.0"],"100.0.4896.60":["18.0.1","18.0.2"],"100.0.4896.75":["18.0.3","18.0.4"],"100.0.4896.127":["18.1.0"],"100.0.4896.143":["18.2.0","18.2.1","18.2.2","18.2.3"],"100.0.4896.160":["18.2.4","18.3.0","18.3.1","18.3.2","18.3.3","18.3.4","18.3.5","18.3.6","18.3.7","18.3.8","18.3.9","18.3.11","18.3.12","18.3.13","18.3.14","18.3.15"],"102.0.4962.3":["19.0.0-alpha.1","19.0.0-nightly.20220328","19.0.0-nightly.20220329","20.0.0-nightly.20220330"],"102.0.4971.0":["19.0.0-alpha.2","19.0.0-alpha.3","20.0.0-nightly.20220411"],"102.0.4989.0":["19.0.0-alpha.4","19.0.0-alpha.5","20.0.0-nightly.20220414","20.0.0-nightly.20220415","20.0.0-nightly.20220418","20.0.0-nightly.20220419","20.0.0-nightly.20220420","20.0.0-nightly.20220421"],"102.0.4999.0":["19.0.0-beta.1","19.0.0-beta.2","19.0.0-beta.3","20.0.0-nightly.20220425","20.0.0-nightly.20220426","20.0.0-nightly.20220427","20.0.0-nightly.20220428","20.0.0-nightly.20220429","20.0.0-nightly.20220502","20.0.0-nightly.20220503","20.0.0-nightly.20220504","20.0.0-nightly.20220505","20.0.0-nightly.20220506","20.0.0-nightly.20220509","20.0.0-nightly.20220511","20.0.0-nightly.20220512","20.0.0-nightly.20220513","20.0.0-nightly.20220516","20.0.0-nightly.20220517"],"102.0.5005.27":["19.0.0-beta.4"],"102.0.5005.40":["19.0.0-beta.5","19.0.0-beta.6","19.0.0-beta.7"],"102.0.5005.49":["19.0.0-beta.8"],"102.0.4961.0":["19.0.0-nightly.20220325"],"102.0.5005.61":["19.0.0","19.0.1"],"102.0.5005.63":["19.0.2","19.0.3","19.0.4"],"102.0.5005.115":["19.0.5","19.0.6"],"102.0.5005.134":["19.0.7"],"102.0.5005.148":["19.0.8"],"102.0.5005.167":["19.0.9","19.0.10","19.0.11","19.0.12","19.0.13","19.0.14","19.0.15","19.0.16","19.0.17","19.1.0","19.1.1","19.1.2","19.1.3","19.1.4","19.1.5","19.1.6","19.1.7","19.1.8","19.1.9"],"103.0.5044.0":["20.0.0-alpha.1","20.0.0-nightly.20220518","20.0.0-nightly.20220519","20.0.0-nightly.20220520","20.0.0-nightly.20220523","20.0.0-nightly.20220524","21.0.0-nightly.20220526","21.0.0-nightly.20220527","21.0.0-nightly.20220530","21.0.0-nightly.20220531"],"104.0.5073.0":["20.0.0-alpha.2","20.0.0-alpha.3","20.0.0-alpha.4","20.0.0-alpha.5","20.0.0-alpha.6","20.0.0-alpha.7","20.0.0-beta.1","20.0.0-beta.2","20.0.0-beta.3","20.0.0-beta.4","20.0.0-beta.5","20.0.0-beta.6","20.0.0-beta.7","20.0.0-beta.8","21.0.0-nightly.20220602","21.0.0-nightly.20220603","21.0.0-nightly.20220606","21.0.0-nightly.20220607","21.0.0-nightly.20220608","21.0.0-nightly.20220609","21.0.0-nightly.20220610","21.0.0-nightly.20220613","21.0.0-nightly.20220614","21.0.0-nightly.20220615","21.0.0-nightly.20220616","21.0.0-nightly.20220617","21.0.0-nightly.20220620","21.0.0-nightly.20220621","21.0.0-nightly.20220622","21.0.0-nightly.20220623","21.0.0-nightly.20220624","21.0.0-nightly.20220627"],"104.0.5112.39":["20.0.0-beta.9"],"104.0.5112.48":["20.0.0-beta.10","20.0.0-beta.11","20.0.0-beta.12"],"104.0.5112.57":["20.0.0-beta.13"],"104.0.5112.65":["20.0.0"],"104.0.5112.81":["20.0.1","20.0.2","20.0.3"],"104.0.5112.102":["20.1.0","20.1.1"],"104.0.5112.114":["20.1.2","20.1.3","20.1.4"],"104.0.5112.124":["20.2.0","20.3.0","20.3.1","20.3.2","20.3.3","20.3.4","20.3.5","20.3.6","20.3.7","20.3.8","20.3.9","20.3.10","20.3.11","20.3.12"],"105.0.5187.0":["21.0.0-alpha.1","21.0.0-alpha.2","21.0.0-alpha.3","21.0.0-alpha.4","21.0.0-alpha.5","21.0.0-nightly.20220720","21.0.0-nightly.20220721","21.0.0-nightly.20220722","21.0.0-nightly.20220725","21.0.0-nightly.20220726","21.0.0-nightly.20220727","21.0.0-nightly.20220728","21.0.0-nightly.20220801","21.0.0-nightly.20220802","22.0.0-nightly.20220808","22.0.0-nightly.20220809","22.0.0-nightly.20220810","22.0.0-nightly.20220811","22.0.0-nightly.20220812","22.0.0-nightly.20220815","22.0.0-nightly.20220816","22.0.0-nightly.20220817"],"106.0.5216.0":["21.0.0-alpha.6","21.0.0-beta.1","21.0.0-beta.2","21.0.0-beta.3","21.0.0-beta.4","21.0.0-beta.5","22.0.0-nightly.20220822","22.0.0-nightly.20220823","22.0.0-nightly.20220824","22.0.0-nightly.20220825","22.0.0-nightly.20220829","22.0.0-nightly.20220830","22.0.0-nightly.20220831","22.0.0-nightly.20220901","22.0.0-nightly.20220902","22.0.0-nightly.20220905"],"106.0.5249.40":["21.0.0-beta.6","21.0.0-beta.7","21.0.0-beta.8"],"105.0.5129.0":["21.0.0-nightly.20220628","21.0.0-nightly.20220629","21.0.0-nightly.20220630","21.0.0-nightly.20220701","21.0.0-nightly.20220704","21.0.0-nightly.20220705","21.0.0-nightly.20220706","21.0.0-nightly.20220707","21.0.0-nightly.20220708","21.0.0-nightly.20220711","21.0.0-nightly.20220712","21.0.0-nightly.20220713"],"105.0.5173.0":["21.0.0-nightly.20220715","21.0.0-nightly.20220718","21.0.0-nightly.20220719"],"106.0.5249.51":["21.0.0"],"106.0.5249.61":["21.0.1"],"106.0.5249.91":["21.1.0"],"106.0.5249.103":["21.1.1"],"106.0.5249.119":["21.2.0"],"106.0.5249.165":["21.2.1"],"106.0.5249.168":["21.2.2","21.2.3"],"106.0.5249.181":["21.3.0","21.3.1"],"106.0.5249.199":["21.3.3","21.3.4","21.3.5","21.4.0","21.4.1","21.4.2","21.4.3","21.4.4"],"107.0.5286.0":["22.0.0-alpha.1","22.0.0-nightly.20220909","22.0.0-nightly.20220912","22.0.0-nightly.20220913","22.0.0-nightly.20220914","22.0.0-nightly.20220915","22.0.0-nightly.20220916","22.0.0-nightly.20220919","22.0.0-nightly.20220920","22.0.0-nightly.20220921","22.0.0-nightly.20220922","22.0.0-nightly.20220923","22.0.0-nightly.20220926","22.0.0-nightly.20220927","22.0.0-nightly.20220928","23.0.0-nightly.20220929","23.0.0-nightly.20220930","23.0.0-nightly.20221003"],"108.0.5329.0":["22.0.0-alpha.3","22.0.0-alpha.4","22.0.0-alpha.5","22.0.0-alpha.6","23.0.0-nightly.20221004","23.0.0-nightly.20221005","23.0.0-nightly.20221006","23.0.0-nightly.20221007","23.0.0-nightly.20221010","23.0.0-nightly.20221011","23.0.0-nightly.20221012","23.0.0-nightly.20221013","23.0.0-nightly.20221014","23.0.0-nightly.20221017"],"108.0.5355.0":["22.0.0-alpha.7","23.0.0-nightly.20221018","23.0.0-nightly.20221019","23.0.0-nightly.20221020","23.0.0-nightly.20221021","23.0.0-nightly.20221024","23.0.0-nightly.20221026"],"108.0.5359.10":["22.0.0-alpha.8","22.0.0-beta.1","22.0.0-beta.2","22.0.0-beta.3"],"108.0.5359.29":["22.0.0-beta.4"],"108.0.5359.40":["22.0.0-beta.5","22.0.0-beta.6"],"108.0.5359.48":["22.0.0-beta.7","22.0.0-beta.8"],"107.0.5274.0":["22.0.0-nightly.20220908"],"108.0.5359.62":["22.0.0"],"108.0.5359.125":["22.0.1"],"108.0.5359.179":["22.0.2","22.0.3","22.1.0"],"108.0.5359.215":["22.2.0","22.2.1","22.3.0","22.3.1","22.3.2","22.3.3","22.3.4","22.3.5","22.3.6","22.3.7","22.3.8","22.3.9","22.3.10"],"110.0.5415.0":["23.0.0-alpha.1","23.0.0-nightly.20221118","23.0.0-nightly.20221121","23.0.0-nightly.20221122","23.0.0-nightly.20221123","23.0.0-nightly.20221124","23.0.0-nightly.20221125","23.0.0-nightly.20221128","23.0.0-nightly.20221129","23.0.0-nightly.20221130","24.0.0-nightly.20221201","24.0.0-nightly.20221202","24.0.0-nightly.20221205"],"110.0.5451.0":["23.0.0-alpha.2","23.0.0-alpha.3","24.0.0-nightly.20221206","24.0.0-nightly.20221207","24.0.0-nightly.20221208","24.0.0-nightly.20221213","24.0.0-nightly.20221214","24.0.0-nightly.20221215","24.0.0-nightly.20221216"],"110.0.5478.5":["23.0.0-beta.1","23.0.0-beta.2","23.0.0-beta.3"],"110.0.5481.30":["23.0.0-beta.4"],"110.0.5481.38":["23.0.0-beta.5"],"110.0.5481.52":["23.0.0-beta.6","23.0.0-beta.8"],"109.0.5382.0":["23.0.0-nightly.20221027","23.0.0-nightly.20221028","23.0.0-nightly.20221031","23.0.0-nightly.20221101","23.0.0-nightly.20221102","23.0.0-nightly.20221103","23.0.0-nightly.20221104","23.0.0-nightly.20221107","23.0.0-nightly.20221108","23.0.0-nightly.20221109","23.0.0-nightly.20221110","23.0.0-nightly.20221111","23.0.0-nightly.20221114","23.0.0-nightly.20221115","23.0.0-nightly.20221116","23.0.0-nightly.20221117"],"110.0.5481.77":["23.0.0"],"110.0.5481.100":["23.1.0"],"110.0.5481.104":["23.1.1"],"110.0.5481.177":["23.1.2"],"110.0.5481.179":["23.1.3"],"110.0.5481.192":["23.1.4","23.2.0"],"110.0.5481.208":["23.2.1","23.2.2","23.2.3","23.2.4","23.3.0","23.3.1","23.3.2","23.3.3"],"111.0.5560.0":["24.0.0-alpha.1","24.0.0-alpha.2","24.0.0-alpha.3","24.0.0-alpha.4","24.0.0-alpha.5","24.0.0-alpha.6","24.0.0-alpha.7","24.0.0-nightly.20230203","24.0.0-nightly.20230206","24.0.0-nightly.20230207","24.0.0-nightly.20230208","24.0.0-nightly.20230209","25.0.0-nightly.20230210","25.0.0-nightly.20230214","25.0.0-nightly.20230215","25.0.0-nightly.20230216","25.0.0-nightly.20230217","25.0.0-nightly.20230220","25.0.0-nightly.20230221","25.0.0-nightly.20230222","25.0.0-nightly.20230223","25.0.0-nightly.20230224","25.0.0-nightly.20230227","25.0.0-nightly.20230228","25.0.0-nightly.20230301","25.0.0-nightly.20230302","25.0.0-nightly.20230303","25.0.0-nightly.20230306","25.0.0-nightly.20230307","25.0.0-nightly.20230308","25.0.0-nightly.20230309","25.0.0-nightly.20230310"],"111.0.5563.50":["24.0.0-beta.1","24.0.0-beta.2"],"112.0.5615.20":["24.0.0-beta.3","24.0.0-beta.4"],"112.0.5615.29":["24.0.0-beta.5"],"112.0.5615.39":["24.0.0-beta.6","24.0.0-beta.7"],"111.0.5518.0":["24.0.0-nightly.20230109","24.0.0-nightly.20230110","24.0.0-nightly.20230111","24.0.0-nightly.20230112","24.0.0-nightly.20230113","24.0.0-nightly.20230116","24.0.0-nightly.20230117","24.0.0-nightly.20230118","24.0.0-nightly.20230119","24.0.0-nightly.20230120","24.0.0-nightly.20230123","24.0.0-nightly.20230124","24.0.0-nightly.20230125","24.0.0-nightly.20230126","24.0.0-nightly.20230127","24.0.0-nightly.20230131","24.0.0-nightly.20230201","24.0.0-nightly.20230202"],"112.0.5615.49":["24.0.0"],"112.0.5615.50":["24.1.0","24.1.1"],"112.0.5615.87":["24.1.2"],"112.0.5615.165":["24.1.3","24.2.0","24.3.0"],"112.0.5615.183":["24.3.1"],"114.0.5694.0":["25.0.0-alpha.1","25.0.0-alpha.2","25.0.0-nightly.20230405","26.0.0-nightly.20230406","26.0.0-nightly.20230407","26.0.0-nightly.20230410","26.0.0-nightly.20230411"],"114.0.5710.0":["25.0.0-alpha.3","25.0.0-alpha.4","26.0.0-nightly.20230413","26.0.0-nightly.20230414","26.0.0-nightly.20230417"],"114.0.5719.0":["25.0.0-alpha.5","25.0.0-alpha.6","25.0.0-beta.1","25.0.0-beta.2","25.0.0-beta.3","26.0.0-nightly.20230421","26.0.0-nightly.20230424","26.0.0-nightly.20230425","26.0.0-nightly.20230426","26.0.0-nightly.20230427","26.0.0-nightly.20230428","26.0.0-nightly.20230501","26.0.0-nightly.20230502","26.0.0-nightly.20230503","26.0.0-nightly.20230504","26.0.0-nightly.20230505","26.0.0-nightly.20230508","26.0.0-nightly.20230509","26.0.0-nightly.20230510"],"114.0.5735.16":["25.0.0-beta.4","25.0.0-beta.5","25.0.0-beta.6","25.0.0-beta.7"],"113.0.5636.0":["25.0.0-nightly.20230314"],"113.0.5651.0":["25.0.0-nightly.20230315"],"113.0.5653.0":["25.0.0-nightly.20230317"],"113.0.5660.0":["25.0.0-nightly.20230320"],"113.0.5664.0":["25.0.0-nightly.20230321"],"113.0.5666.0":["25.0.0-nightly.20230322"],"113.0.5668.0":["25.0.0-nightly.20230323"],"113.0.5670.0":["25.0.0-nightly.20230324","25.0.0-nightly.20230327","25.0.0-nightly.20230328","25.0.0-nightly.20230329","25.0.0-nightly.20230330"],"114.0.5684.0":["25.0.0-nightly.20230331","25.0.0-nightly.20230403"],"114.0.5692.0":["25.0.0-nightly.20230404"],"114.0.5708.0":["26.0.0-nightly.20230412"],"114.0.5715.0":["26.0.0-nightly.20230418"],"115.0.5760.0":["26.0.0-nightly.20230511","26.0.0-nightly.20230512","26.0.0-nightly.20230515","26.0.0-nightly.20230516","26.0.0-nightly.20230517","26.0.0-nightly.20230518","26.0.0-nightly.20230519"]}
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.js b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.js
      index f4261562a4fd2d..04fae2b7a99a89 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.js
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.js
      @@ -1674,6 +1674,8 @@ module.exports = {
       	"22.3.6": "108.0.5359.215",
       	"22.3.7": "108.0.5359.215",
       	"22.3.8": "108.0.5359.215",
      +	"22.3.9": "108.0.5359.215",
      +	"22.3.10": "108.0.5359.215",
       	"23.0.0-alpha.1": "110.0.5415.0",
       	"23.0.0-alpha.2": "110.0.5451.0",
       	"23.0.0-alpha.3": "110.0.5451.0",
      @@ -1741,6 +1743,8 @@ module.exports = {
       	"23.2.4": "110.0.5481.208",
       	"23.3.0": "110.0.5481.208",
       	"23.3.1": "110.0.5481.208",
      +	"23.3.2": "110.0.5481.208",
      +	"23.3.3": "110.0.5481.208",
       	"24.0.0-alpha.1": "111.0.5560.0",
       	"24.0.0-alpha.2": "111.0.5560.0",
       	"24.0.0-alpha.3": "111.0.5560.0",
      @@ -1794,6 +1798,8 @@ module.exports = {
       	"24.1.2": "112.0.5615.87",
       	"24.1.3": "112.0.5615.165",
       	"24.2.0": "112.0.5615.165",
      +	"24.3.0": "112.0.5615.165",
      +	"24.3.1": "112.0.5615.183",
       	"25.0.0-alpha.1": "114.0.5694.0",
       	"25.0.0-alpha.2": "114.0.5694.0",
       	"25.0.0-alpha.3": "114.0.5710.0",
      @@ -1802,6 +1808,11 @@ module.exports = {
       	"25.0.0-alpha.6": "114.0.5719.0",
       	"25.0.0-beta.1": "114.0.5719.0",
       	"25.0.0-beta.2": "114.0.5719.0",
      +	"25.0.0-beta.3": "114.0.5719.0",
      +	"25.0.0-beta.4": "114.0.5735.16",
      +	"25.0.0-beta.5": "114.0.5735.16",
      +	"25.0.0-beta.6": "114.0.5735.16",
      +	"25.0.0-beta.7": "114.0.5735.16",
       	"25.0.0-nightly.20230210": "111.0.5560.0",
       	"25.0.0-nightly.20230214": "111.0.5560.0",
       	"25.0.0-nightly.20230215": "111.0.5560.0",
      @@ -1857,5 +1868,15 @@ module.exports = {
       	"26.0.0-nightly.20230502": "114.0.5719.0",
       	"26.0.0-nightly.20230503": "114.0.5719.0",
       	"26.0.0-nightly.20230504": "114.0.5719.0",
      -	"26.0.0-nightly.20230505": "114.0.5719.0"
      +	"26.0.0-nightly.20230505": "114.0.5719.0",
      +	"26.0.0-nightly.20230508": "114.0.5719.0",
      +	"26.0.0-nightly.20230509": "114.0.5719.0",
      +	"26.0.0-nightly.20230510": "114.0.5719.0",
      +	"26.0.0-nightly.20230511": "115.0.5760.0",
      +	"26.0.0-nightly.20230512": "115.0.5760.0",
      +	"26.0.0-nightly.20230515": "115.0.5760.0",
      +	"26.0.0-nightly.20230516": "115.0.5760.0",
      +	"26.0.0-nightly.20230517": "115.0.5760.0",
      +	"26.0.0-nightly.20230518": "115.0.5760.0",
      +	"26.0.0-nightly.20230519": "115.0.5760.0"
       };
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.json b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.json
      index 04db0ac1f24280..922cb0a2157681 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.json
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/full-versions.json
      @@ -1 +1 @@
      -{"0.20.0":"39.0.2171.65","0.20.1":"39.0.2171.65","0.20.2":"39.0.2171.65","0.20.3":"39.0.2171.65","0.20.4":"39.0.2171.65","0.20.5":"39.0.2171.65","0.20.6":"39.0.2171.65","0.20.7":"39.0.2171.65","0.20.8":"39.0.2171.65","0.21.0":"40.0.2214.91","0.21.1":"40.0.2214.91","0.21.2":"40.0.2214.91","0.21.3":"41.0.2272.76","0.22.1":"41.0.2272.76","0.22.2":"41.0.2272.76","0.22.3":"41.0.2272.76","0.23.0":"41.0.2272.76","0.24.0":"41.0.2272.76","0.25.0":"42.0.2311.107","0.25.1":"42.0.2311.107","0.25.2":"42.0.2311.107","0.25.3":"42.0.2311.107","0.26.0":"42.0.2311.107","0.26.1":"42.0.2311.107","0.27.0":"42.0.2311.107","0.27.1":"42.0.2311.107","0.27.2":"43.0.2357.65","0.27.3":"43.0.2357.65","0.28.0":"43.0.2357.65","0.28.1":"43.0.2357.65","0.28.2":"43.0.2357.65","0.28.3":"43.0.2357.65","0.29.1":"43.0.2357.65","0.29.2":"43.0.2357.65","0.30.4":"44.0.2403.125","0.31.0":"44.0.2403.125","0.31.2":"45.0.2454.85","0.32.2":"45.0.2454.85","0.32.3":"45.0.2454.85","0.33.0":"45.0.2454.85","0.33.1":"45.0.2454.85","0.33.2":"45.0.2454.85","0.33.3":"45.0.2454.85","0.33.4":"45.0.2454.85","0.33.6":"45.0.2454.85","0.33.7":"45.0.2454.85","0.33.8":"45.0.2454.85","0.33.9":"45.0.2454.85","0.34.0":"45.0.2454.85","0.34.1":"45.0.2454.85","0.34.2":"45.0.2454.85","0.34.3":"45.0.2454.85","0.34.4":"45.0.2454.85","0.35.1":"45.0.2454.85","0.35.2":"45.0.2454.85","0.35.3":"45.0.2454.85","0.35.4":"45.0.2454.85","0.35.5":"45.0.2454.85","0.36.0":"47.0.2526.73","0.36.2":"47.0.2526.73","0.36.3":"47.0.2526.73","0.36.4":"47.0.2526.73","0.36.5":"47.0.2526.110","0.36.6":"47.0.2526.110","0.36.7":"47.0.2526.110","0.36.8":"47.0.2526.110","0.36.9":"47.0.2526.110","0.36.10":"47.0.2526.110","0.36.11":"47.0.2526.110","0.36.12":"47.0.2526.110","0.37.0":"49.0.2623.75","0.37.1":"49.0.2623.75","0.37.3":"49.0.2623.75","0.37.4":"49.0.2623.75","0.37.5":"49.0.2623.75","0.37.6":"49.0.2623.75","0.37.7":"49.0.2623.75","0.37.8":"49.0.2623.75","1.0.0":"49.0.2623.75","1.0.1":"49.0.2623.75","1.0.2":"49.0.2623.75","1.1.0":"50.0.2661.102","1.1.1":"50.0.2661.102","1.1.2":"50.0.2661.102","1.1.3":"50.0.2661.102","1.2.0":"51.0.2704.63","1.2.1":"51.0.2704.63","1.2.2":"51.0.2704.84","1.2.3":"51.0.2704.84","1.2.4":"51.0.2704.103","1.2.5":"51.0.2704.103","1.2.6":"51.0.2704.106","1.2.7":"51.0.2704.106","1.2.8":"51.0.2704.106","1.3.0":"52.0.2743.82","1.3.1":"52.0.2743.82","1.3.2":"52.0.2743.82","1.3.3":"52.0.2743.82","1.3.4":"52.0.2743.82","1.3.5":"52.0.2743.82","1.3.6":"52.0.2743.82","1.3.7":"52.0.2743.82","1.3.9":"52.0.2743.82","1.3.10":"52.0.2743.82","1.3.13":"52.0.2743.82","1.3.14":"52.0.2743.82","1.3.15":"52.0.2743.82","1.4.0":"53.0.2785.113","1.4.1":"53.0.2785.113","1.4.2":"53.0.2785.113","1.4.3":"53.0.2785.113","1.4.4":"53.0.2785.113","1.4.5":"53.0.2785.113","1.4.6":"53.0.2785.143","1.4.7":"53.0.2785.143","1.4.8":"53.0.2785.143","1.4.10":"53.0.2785.143","1.4.11":"53.0.2785.143","1.4.12":"54.0.2840.51","1.4.13":"53.0.2785.143","1.4.14":"53.0.2785.143","1.4.15":"53.0.2785.143","1.4.16":"53.0.2785.143","1.5.0":"54.0.2840.101","1.5.1":"54.0.2840.101","1.6.0":"56.0.2924.87","1.6.1":"56.0.2924.87","1.6.2":"56.0.2924.87","1.6.3":"56.0.2924.87","1.6.4":"56.0.2924.87","1.6.5":"56.0.2924.87","1.6.6":"56.0.2924.87","1.6.7":"56.0.2924.87","1.6.8":"56.0.2924.87","1.6.9":"56.0.2924.87","1.6.10":"56.0.2924.87","1.6.11":"56.0.2924.87","1.6.12":"56.0.2924.87","1.6.13":"56.0.2924.87","1.6.14":"56.0.2924.87","1.6.15":"56.0.2924.87","1.6.16":"56.0.2924.87","1.6.17":"56.0.2924.87","1.6.18":"56.0.2924.87","1.7.0":"58.0.3029.110","1.7.1":"58.0.3029.110","1.7.2":"58.0.3029.110","1.7.3":"58.0.3029.110","1.7.4":"58.0.3029.110","1.7.5":"58.0.3029.110","1.7.6":"58.0.3029.110","1.7.7":"58.0.3029.110","1.7.8":"58.0.3029.110","1.7.9":"58.0.3029.110","1.7.10":"58.0.3029.110","1.7.11":"58.0.3029.110","1.7.12":"58.0.3029.110","1.7.13":"58.0.3029.110","1.7.14":"58.0.3029.110","1.7.15":"58.0.3029.110","1.7.16":"58.0.3029.110","1.8.0":"59.0.3071.115","1.8.1":"59.0.3071.115","1.8.2-beta.1":"59.0.3071.115","1.8.2-beta.2":"59.0.3071.115","1.8.2-beta.3":"59.0.3071.115","1.8.2-beta.4":"59.0.3071.115","1.8.2-beta.5":"59.0.3071.115","1.8.2":"59.0.3071.115","1.8.3":"59.0.3071.115","1.8.4":"59.0.3071.115","1.8.5":"59.0.3071.115","1.8.6":"59.0.3071.115","1.8.7":"59.0.3071.115","1.8.8":"59.0.3071.115","2.0.0-beta.1":"61.0.3163.100","2.0.0-beta.2":"61.0.3163.100","2.0.0-beta.3":"61.0.3163.100","2.0.0-beta.4":"61.0.3163.100","2.0.0-beta.5":"61.0.3163.100","2.0.0-beta.6":"61.0.3163.100","2.0.0-beta.7":"61.0.3163.100","2.0.0-beta.8":"61.0.3163.100","2.0.0":"61.0.3163.100","2.0.1":"61.0.3163.100","2.0.2":"61.0.3163.100","2.0.3":"61.0.3163.100","2.0.4":"61.0.3163.100","2.0.5":"61.0.3163.100","2.0.6":"61.0.3163.100","2.0.7":"61.0.3163.100","2.0.8-nightly.20180819":"61.0.3163.100","2.0.8-nightly.20180820":"61.0.3163.100","2.0.8":"61.0.3163.100","2.0.9":"61.0.3163.100","2.0.10":"61.0.3163.100","2.0.11":"61.0.3163.100","2.0.12":"61.0.3163.100","2.0.13":"61.0.3163.100","2.0.14":"61.0.3163.100","2.0.15":"61.0.3163.100","2.0.16":"61.0.3163.100","2.0.17":"61.0.3163.100","2.0.18":"61.0.3163.100","2.1.0-unsupported.20180809":"61.0.3163.100","3.0.0-beta.1":"66.0.3359.181","3.0.0-beta.2":"66.0.3359.181","3.0.0-beta.3":"66.0.3359.181","3.0.0-beta.4":"66.0.3359.181","3.0.0-beta.5":"66.0.3359.181","3.0.0-beta.6":"66.0.3359.181","3.0.0-beta.7":"66.0.3359.181","3.0.0-beta.8":"66.0.3359.181","3.0.0-beta.9":"66.0.3359.181","3.0.0-beta.10":"66.0.3359.181","3.0.0-beta.11":"66.0.3359.181","3.0.0-beta.12":"66.0.3359.181","3.0.0-beta.13":"66.0.3359.181","3.0.0-nightly.20180818":"66.0.3359.181","3.0.0-nightly.20180821":"66.0.3359.181","3.0.0-nightly.20180823":"66.0.3359.181","3.0.0-nightly.20180904":"66.0.3359.181","3.0.0":"66.0.3359.181","3.0.1":"66.0.3359.181","3.0.2":"66.0.3359.181","3.0.3":"66.0.3359.181","3.0.4":"66.0.3359.181","3.0.5":"66.0.3359.181","3.0.6":"66.0.3359.181","3.0.7":"66.0.3359.181","3.0.8":"66.0.3359.181","3.0.9":"66.0.3359.181","3.0.10":"66.0.3359.181","3.0.11":"66.0.3359.181","3.0.12":"66.0.3359.181","3.0.13":"66.0.3359.181","3.0.14":"66.0.3359.181","3.0.15":"66.0.3359.181","3.0.16":"66.0.3359.181","3.1.0-beta.1":"66.0.3359.181","3.1.0-beta.2":"66.0.3359.181","3.1.0-beta.3":"66.0.3359.181","3.1.0-beta.4":"66.0.3359.181","3.1.0-beta.5":"66.0.3359.181","3.1.0":"66.0.3359.181","3.1.1":"66.0.3359.181","3.1.2":"66.0.3359.181","3.1.3":"66.0.3359.181","3.1.4":"66.0.3359.181","3.1.5":"66.0.3359.181","3.1.6":"66.0.3359.181","3.1.7":"66.0.3359.181","3.1.8":"66.0.3359.181","3.1.9":"66.0.3359.181","3.1.10":"66.0.3359.181","3.1.11":"66.0.3359.181","3.1.12":"66.0.3359.181","3.1.13":"66.0.3359.181","4.0.0-beta.1":"69.0.3497.106","4.0.0-beta.2":"69.0.3497.106","4.0.0-beta.3":"69.0.3497.106","4.0.0-beta.4":"69.0.3497.106","4.0.0-beta.5":"69.0.3497.106","4.0.0-beta.6":"69.0.3497.106","4.0.0-beta.7":"69.0.3497.106","4.0.0-beta.8":"69.0.3497.106","4.0.0-beta.9":"69.0.3497.106","4.0.0-beta.10":"69.0.3497.106","4.0.0-beta.11":"69.0.3497.106","4.0.0-nightly.20180817":"66.0.3359.181","4.0.0-nightly.20180819":"66.0.3359.181","4.0.0-nightly.20180821":"66.0.3359.181","4.0.0-nightly.20180929":"67.0.3396.99","4.0.0-nightly.20181006":"68.0.3440.128","4.0.0-nightly.20181010":"69.0.3497.106","4.0.0":"69.0.3497.106","4.0.1":"69.0.3497.106","4.0.2":"69.0.3497.106","4.0.3":"69.0.3497.106","4.0.4":"69.0.3497.106","4.0.5":"69.0.3497.106","4.0.6":"69.0.3497.106","4.0.7":"69.0.3497.128","4.0.8":"69.0.3497.128","4.1.0":"69.0.3497.128","4.1.1":"69.0.3497.128","4.1.2":"69.0.3497.128","4.1.3":"69.0.3497.128","4.1.4":"69.0.3497.128","4.1.5":"69.0.3497.128","4.2.0":"69.0.3497.128","4.2.1":"69.0.3497.128","4.2.2":"69.0.3497.128","4.2.3":"69.0.3497.128","4.2.4":"69.0.3497.128","4.2.5":"69.0.3497.128","4.2.6":"69.0.3497.128","4.2.7":"69.0.3497.128","4.2.8":"69.0.3497.128","4.2.9":"69.0.3497.128","4.2.10":"69.0.3497.128","4.2.11":"69.0.3497.128","4.2.12":"69.0.3497.128","5.0.0-beta.1":"72.0.3626.52","5.0.0-beta.2":"72.0.3626.52","5.0.0-beta.3":"73.0.3683.27","5.0.0-beta.4":"73.0.3683.54","5.0.0-beta.5":"73.0.3683.61","5.0.0-beta.6":"73.0.3683.84","5.0.0-beta.7":"73.0.3683.94","5.0.0-beta.8":"73.0.3683.104","5.0.0-beta.9":"73.0.3683.117","5.0.0-nightly.20190107":"70.0.3538.110","5.0.0-nightly.20190121":"71.0.3578.98","5.0.0-nightly.20190122":"71.0.3578.98","5.0.0":"73.0.3683.119","5.0.1":"73.0.3683.121","5.0.2":"73.0.3683.121","5.0.3":"73.0.3683.121","5.0.4":"73.0.3683.121","5.0.5":"73.0.3683.121","5.0.6":"73.0.3683.121","5.0.7":"73.0.3683.121","5.0.8":"73.0.3683.121","5.0.9":"73.0.3683.121","5.0.10":"73.0.3683.121","5.0.11":"73.0.3683.121","5.0.12":"73.0.3683.121","5.0.13":"73.0.3683.121","6.0.0-beta.1":"76.0.3774.1","6.0.0-beta.2":"76.0.3783.1","6.0.0-beta.3":"76.0.3783.1","6.0.0-beta.4":"76.0.3783.1","6.0.0-beta.5":"76.0.3805.4","6.0.0-beta.6":"76.0.3809.3","6.0.0-beta.7":"76.0.3809.22","6.0.0-beta.8":"76.0.3809.26","6.0.0-beta.9":"76.0.3809.26","6.0.0-beta.10":"76.0.3809.37","6.0.0-beta.11":"76.0.3809.42","6.0.0-beta.12":"76.0.3809.54","6.0.0-beta.13":"76.0.3809.60","6.0.0-beta.14":"76.0.3809.68","6.0.0-beta.15":"76.0.3809.74","6.0.0-nightly.20190123":"72.0.3626.52","6.0.0-nightly.20190212":"72.0.3626.107","6.0.0-nightly.20190213":"72.0.3626.110","6.0.0-nightly.20190311":"74.0.3724.8","6.0.0":"76.0.3809.88","6.0.1":"76.0.3809.102","6.0.2":"76.0.3809.110","6.0.3":"76.0.3809.126","6.0.4":"76.0.3809.131","6.0.5":"76.0.3809.136","6.0.6":"76.0.3809.138","6.0.7":"76.0.3809.139","6.0.8":"76.0.3809.146","6.0.9":"76.0.3809.146","6.0.10":"76.0.3809.146","6.0.11":"76.0.3809.146","6.0.12":"76.0.3809.146","6.1.0":"76.0.3809.146","6.1.1":"76.0.3809.146","6.1.2":"76.0.3809.146","6.1.3":"76.0.3809.146","6.1.4":"76.0.3809.146","6.1.5":"76.0.3809.146","6.1.6":"76.0.3809.146","6.1.7":"76.0.3809.146","6.1.8":"76.0.3809.146","6.1.9":"76.0.3809.146","6.1.10":"76.0.3809.146","6.1.11":"76.0.3809.146","6.1.12":"76.0.3809.146","7.0.0-beta.1":"78.0.3866.0","7.0.0-beta.2":"78.0.3866.0","7.0.0-beta.3":"78.0.3866.0","7.0.0-beta.4":"78.0.3896.6","7.0.0-beta.5":"78.0.3905.1","7.0.0-beta.6":"78.0.3905.1","7.0.0-beta.7":"78.0.3905.1","7.0.0-nightly.20190521":"76.0.3784.0","7.0.0-nightly.20190529":"76.0.3806.0","7.0.0-nightly.20190530":"76.0.3806.0","7.0.0-nightly.20190531":"76.0.3806.0","7.0.0-nightly.20190602":"76.0.3806.0","7.0.0-nightly.20190603":"76.0.3806.0","7.0.0-nightly.20190604":"77.0.3814.0","7.0.0-nightly.20190605":"77.0.3815.0","7.0.0-nightly.20190606":"77.0.3815.0","7.0.0-nightly.20190607":"77.0.3815.0","7.0.0-nightly.20190608":"77.0.3815.0","7.0.0-nightly.20190609":"77.0.3815.0","7.0.0-nightly.20190611":"77.0.3815.0","7.0.0-nightly.20190612":"77.0.3815.0","7.0.0-nightly.20190613":"77.0.3815.0","7.0.0-nightly.20190615":"77.0.3815.0","7.0.0-nightly.20190616":"77.0.3815.0","7.0.0-nightly.20190618":"77.0.3815.0","7.0.0-nightly.20190619":"77.0.3815.0","7.0.0-nightly.20190622":"77.0.3815.0","7.0.0-nightly.20190623":"77.0.3815.0","7.0.0-nightly.20190624":"77.0.3815.0","7.0.0-nightly.20190627":"77.0.3815.0","7.0.0-nightly.20190629":"77.0.3815.0","7.0.0-nightly.20190630":"77.0.3815.0","7.0.0-nightly.20190701":"77.0.3815.0","7.0.0-nightly.20190702":"77.0.3815.0","7.0.0-nightly.20190704":"77.0.3843.0","7.0.0-nightly.20190705":"77.0.3843.0","7.0.0-nightly.20190719":"77.0.3848.0","7.0.0-nightly.20190720":"77.0.3848.0","7.0.0-nightly.20190721":"77.0.3848.0","7.0.0-nightly.20190726":"77.0.3864.0","7.0.0-nightly.20190727":"78.0.3866.0","7.0.0-nightly.20190728":"78.0.3866.0","7.0.0-nightly.20190729":"78.0.3866.0","7.0.0-nightly.20190730":"78.0.3866.0","7.0.0-nightly.20190731":"78.0.3866.0","7.0.0":"78.0.3905.1","7.0.1":"78.0.3904.92","7.1.0":"78.0.3904.94","7.1.1":"78.0.3904.99","7.1.2":"78.0.3904.113","7.1.3":"78.0.3904.126","7.1.4":"78.0.3904.130","7.1.5":"78.0.3904.130","7.1.6":"78.0.3904.130","7.1.7":"78.0.3904.130","7.1.8":"78.0.3904.130","7.1.9":"78.0.3904.130","7.1.10":"78.0.3904.130","7.1.11":"78.0.3904.130","7.1.12":"78.0.3904.130","7.1.13":"78.0.3904.130","7.1.14":"78.0.3904.130","7.2.0":"78.0.3904.130","7.2.1":"78.0.3904.130","7.2.2":"78.0.3904.130","7.2.3":"78.0.3904.130","7.2.4":"78.0.3904.130","7.3.0":"78.0.3904.130","7.3.1":"78.0.3904.130","7.3.2":"78.0.3904.130","7.3.3":"78.0.3904.130","8.0.0-beta.1":"79.0.3931.0","8.0.0-beta.2":"79.0.3931.0","8.0.0-beta.3":"80.0.3955.0","8.0.0-beta.4":"80.0.3955.0","8.0.0-beta.5":"80.0.3987.14","8.0.0-beta.6":"80.0.3987.51","8.0.0-beta.7":"80.0.3987.59","8.0.0-beta.8":"80.0.3987.75","8.0.0-beta.9":"80.0.3987.75","8.0.0-nightly.20190801":"78.0.3866.0","8.0.0-nightly.20190802":"78.0.3866.0","8.0.0-nightly.20190803":"78.0.3871.0","8.0.0-nightly.20190806":"78.0.3871.0","8.0.0-nightly.20190807":"78.0.3871.0","8.0.0-nightly.20190808":"78.0.3871.0","8.0.0-nightly.20190809":"78.0.3871.0","8.0.0-nightly.20190810":"78.0.3871.0","8.0.0-nightly.20190811":"78.0.3871.0","8.0.0-nightly.20190812":"78.0.3871.0","8.0.0-nightly.20190813":"78.0.3871.0","8.0.0-nightly.20190814":"78.0.3871.0","8.0.0-nightly.20190815":"78.0.3871.0","8.0.0-nightly.20190816":"78.0.3881.0","8.0.0-nightly.20190817":"78.0.3881.0","8.0.0-nightly.20190818":"78.0.3881.0","8.0.0-nightly.20190819":"78.0.3881.0","8.0.0-nightly.20190820":"78.0.3881.0","8.0.0-nightly.20190824":"78.0.3892.0","8.0.0-nightly.20190825":"78.0.3892.0","8.0.0-nightly.20190827":"78.0.3892.0","8.0.0-nightly.20190828":"78.0.3892.0","8.0.0-nightly.20190830":"78.0.3892.0","8.0.0-nightly.20190901":"78.0.3892.0","8.0.0-nightly.20190902":"78.0.3892.0","8.0.0-nightly.20190907":"78.0.3892.0","8.0.0-nightly.20190909":"78.0.3892.0","8.0.0-nightly.20190910":"78.0.3892.0","8.0.0-nightly.20190911":"78.0.3892.0","8.0.0-nightly.20190912":"78.0.3892.0","8.0.0-nightly.20190913":"78.0.3892.0","8.0.0-nightly.20190914":"78.0.3892.0","8.0.0-nightly.20190915":"78.0.3892.0","8.0.0-nightly.20190917":"78.0.3892.0","8.0.0-nightly.20190919":"79.0.3915.0","8.0.0-nightly.20190920":"79.0.3915.0","8.0.0-nightly.20190922":"79.0.3919.0","8.0.0-nightly.20190923":"79.0.3919.0","8.0.0-nightly.20190924":"79.0.3919.0","8.0.0-nightly.20190926":"79.0.3919.0","8.0.0-nightly.20190928":"79.0.3919.0","8.0.0-nightly.20190929":"79.0.3919.0","8.0.0-nightly.20190930":"79.0.3919.0","8.0.0-nightly.20191001":"79.0.3919.0","8.0.0-nightly.20191004":"79.0.3919.0","8.0.0-nightly.20191005":"79.0.3919.0","8.0.0-nightly.20191006":"79.0.3919.0","8.0.0-nightly.20191009":"79.0.3919.0","8.0.0-nightly.20191011":"79.0.3919.0","8.0.0-nightly.20191012":"79.0.3919.0","8.0.0-nightly.20191017":"79.0.3919.0","8.0.0-nightly.20191019":"79.0.3931.0","8.0.0-nightly.20191020":"79.0.3931.0","8.0.0-nightly.20191021":"79.0.3931.0","8.0.0-nightly.20191023":"79.0.3931.0","8.0.0-nightly.20191101":"80.0.3952.0","8.0.0-nightly.20191103":"80.0.3952.0","8.0.0-nightly.20191105":"80.0.3952.0","8.0.0":"80.0.3987.86","8.0.1":"80.0.3987.86","8.0.2":"80.0.3987.86","8.0.3":"80.0.3987.134","8.1.0":"80.0.3987.137","8.1.1":"80.0.3987.141","8.2.0":"80.0.3987.158","8.2.1":"80.0.3987.163","8.2.2":"80.0.3987.163","8.2.3":"80.0.3987.163","8.2.4":"80.0.3987.165","8.2.5":"80.0.3987.165","8.3.0":"80.0.3987.165","8.3.1":"80.0.3987.165","8.3.2":"80.0.3987.165","8.3.3":"80.0.3987.165","8.3.4":"80.0.3987.165","8.4.0":"80.0.3987.165","8.4.1":"80.0.3987.165","8.5.0":"80.0.3987.165","8.5.1":"80.0.3987.165","8.5.2":"80.0.3987.165","8.5.3":"80.0.3987.163","8.5.4":"80.0.3987.163","8.5.5":"80.0.3987.163","9.0.0-beta.1":"82.0.4048.0","9.0.0-beta.2":"82.0.4048.0","9.0.0-beta.3":"82.0.4048.0","9.0.0-beta.4":"82.0.4048.0","9.0.0-beta.5":"82.0.4048.0","9.0.0-beta.6":"82.0.4058.2","9.0.0-beta.7":"82.0.4058.2","9.0.0-beta.9":"82.0.4058.2","9.0.0-beta.10":"82.0.4085.10","9.0.0-beta.11":"82.0.4085.14","9.0.0-beta.12":"82.0.4085.14","9.0.0-beta.13":"82.0.4085.14","9.0.0-beta.14":"82.0.4085.27","9.0.0-beta.15":"83.0.4102.3","9.0.0-beta.16":"83.0.4102.3","9.0.0-beta.17":"83.0.4103.14","9.0.0-beta.18":"83.0.4103.16","9.0.0-beta.19":"83.0.4103.24","9.0.0-beta.20":"83.0.4103.26","9.0.0-beta.21":"83.0.4103.26","9.0.0-beta.22":"83.0.4103.34","9.0.0-beta.23":"83.0.4103.44","9.0.0-beta.24":"83.0.4103.45","9.0.0-nightly.20191121":"80.0.3954.0","9.0.0-nightly.20191122":"80.0.3954.0","9.0.0-nightly.20191123":"80.0.3954.0","9.0.0-nightly.20191124":"80.0.3954.0","9.0.0-nightly.20191126":"80.0.3954.0","9.0.0-nightly.20191128":"80.0.3954.0","9.0.0-nightly.20191129":"80.0.3954.0","9.0.0-nightly.20191130":"80.0.3954.0","9.0.0-nightly.20191201":"80.0.3954.0","9.0.0-nightly.20191202":"80.0.3954.0","9.0.0-nightly.20191203":"80.0.3954.0","9.0.0-nightly.20191204":"80.0.3954.0","9.0.0-nightly.20191205":"80.0.3954.0","9.0.0-nightly.20191210":"80.0.3954.0","9.0.0-nightly.20191220":"81.0.3994.0","9.0.0-nightly.20191221":"81.0.3994.0","9.0.0-nightly.20191222":"81.0.3994.0","9.0.0-nightly.20191223":"81.0.3994.0","9.0.0-nightly.20191224":"81.0.3994.0","9.0.0-nightly.20191225":"81.0.3994.0","9.0.0-nightly.20191226":"81.0.3994.0","9.0.0-nightly.20191228":"81.0.3994.0","9.0.0-nightly.20191229":"81.0.3994.0","9.0.0-nightly.20191230":"81.0.3994.0","9.0.0-nightly.20191231":"81.0.3994.0","9.0.0-nightly.20200101":"81.0.3994.0","9.0.0-nightly.20200103":"81.0.3994.0","9.0.0-nightly.20200104":"81.0.3994.0","9.0.0-nightly.20200105":"81.0.3994.0","9.0.0-nightly.20200106":"81.0.3994.0","9.0.0-nightly.20200108":"81.0.3994.0","9.0.0-nightly.20200109":"81.0.3994.0","9.0.0-nightly.20200110":"81.0.3994.0","9.0.0-nightly.20200111":"81.0.3994.0","9.0.0-nightly.20200113":"81.0.3994.0","9.0.0-nightly.20200115":"81.0.3994.0","9.0.0-nightly.20200116":"81.0.3994.0","9.0.0-nightly.20200117":"81.0.3994.0","9.0.0-nightly.20200119":"81.0.4030.0","9.0.0-nightly.20200121":"81.0.4030.0","9.0.0":"83.0.4103.64","9.0.1":"83.0.4103.94","9.0.2":"83.0.4103.94","9.0.3":"83.0.4103.100","9.0.4":"83.0.4103.104","9.0.5":"83.0.4103.119","9.1.0":"83.0.4103.122","9.1.1":"83.0.4103.122","9.1.2":"83.0.4103.122","9.2.0":"83.0.4103.122","9.2.1":"83.0.4103.122","9.3.0":"83.0.4103.122","9.3.1":"83.0.4103.122","9.3.2":"83.0.4103.122","9.3.3":"83.0.4103.122","9.3.4":"83.0.4103.122","9.3.5":"83.0.4103.122","9.4.0":"83.0.4103.122","9.4.1":"83.0.4103.122","9.4.2":"83.0.4103.122","9.4.3":"83.0.4103.122","9.4.4":"83.0.4103.122","10.0.0-beta.1":"84.0.4129.0","10.0.0-beta.2":"84.0.4129.0","10.0.0-beta.3":"85.0.4161.2","10.0.0-beta.4":"85.0.4161.2","10.0.0-beta.8":"85.0.4181.1","10.0.0-beta.9":"85.0.4181.1","10.0.0-beta.10":"85.0.4183.19","10.0.0-beta.11":"85.0.4183.20","10.0.0-beta.12":"85.0.4183.26","10.0.0-beta.13":"85.0.4183.39","10.0.0-beta.14":"85.0.4183.39","10.0.0-beta.15":"85.0.4183.39","10.0.0-beta.17":"85.0.4183.39","10.0.0-beta.19":"85.0.4183.39","10.0.0-beta.20":"85.0.4183.39","10.0.0-beta.21":"85.0.4183.39","10.0.0-beta.23":"85.0.4183.70","10.0.0-beta.24":"85.0.4183.78","10.0.0-beta.25":"85.0.4183.80","10.0.0-nightly.20200209":"82.0.4050.0","10.0.0-nightly.20200210":"82.0.4050.0","10.0.0-nightly.20200211":"82.0.4050.0","10.0.0-nightly.20200216":"82.0.4050.0","10.0.0-nightly.20200217":"82.0.4050.0","10.0.0-nightly.20200218":"82.0.4050.0","10.0.0-nightly.20200221":"82.0.4050.0","10.0.0-nightly.20200222":"82.0.4050.0","10.0.0-nightly.20200223":"82.0.4050.0","10.0.0-nightly.20200226":"82.0.4050.0","10.0.0-nightly.20200303":"82.0.4050.0","10.0.0-nightly.20200304":"82.0.4076.0","10.0.0-nightly.20200305":"82.0.4076.0","10.0.0-nightly.20200306":"82.0.4076.0","10.0.0-nightly.20200309":"82.0.4076.0","10.0.0-nightly.20200310":"82.0.4076.0","10.0.0-nightly.20200311":"82.0.4083.0","10.0.0-nightly.20200316":"83.0.4086.0","10.0.0-nightly.20200317":"83.0.4087.0","10.0.0-nightly.20200318":"83.0.4087.0","10.0.0-nightly.20200320":"83.0.4087.0","10.0.0-nightly.20200323":"83.0.4087.0","10.0.0-nightly.20200324":"83.0.4087.0","10.0.0-nightly.20200325":"83.0.4087.0","10.0.0-nightly.20200326":"83.0.4087.0","10.0.0-nightly.20200327":"83.0.4087.0","10.0.0-nightly.20200330":"83.0.4087.0","10.0.0-nightly.20200331":"83.0.4087.0","10.0.0-nightly.20200401":"83.0.4087.0","10.0.0-nightly.20200402":"83.0.4087.0","10.0.0-nightly.20200403":"83.0.4087.0","10.0.0-nightly.20200406":"83.0.4087.0","10.0.0-nightly.20200408":"83.0.4095.0","10.0.0-nightly.20200410":"83.0.4095.0","10.0.0-nightly.20200413":"83.0.4095.0","10.0.0-nightly.20200414":"84.0.4114.0","10.0.0-nightly.20200415":"84.0.4115.0","10.0.0-nightly.20200416":"84.0.4115.0","10.0.0-nightly.20200417":"84.0.4115.0","10.0.0-nightly.20200422":"84.0.4121.0","10.0.0-nightly.20200423":"84.0.4121.0","10.0.0-nightly.20200427":"84.0.4125.0","10.0.0-nightly.20200428":"84.0.4125.0","10.0.0-nightly.20200429":"84.0.4125.0","10.0.0-nightly.20200430":"84.0.4125.0","10.0.0-nightly.20200501":"84.0.4129.0","10.0.0-nightly.20200504":"84.0.4129.0","10.0.0-nightly.20200505":"84.0.4129.0","10.0.0-nightly.20200506":"84.0.4129.0","10.0.0-nightly.20200507":"84.0.4129.0","10.0.0-nightly.20200508":"84.0.4129.0","10.0.0-nightly.20200511":"84.0.4129.0","10.0.0-nightly.20200512":"84.0.4129.0","10.0.0-nightly.20200513":"84.0.4129.0","10.0.0-nightly.20200514":"84.0.4129.0","10.0.0-nightly.20200515":"84.0.4129.0","10.0.0-nightly.20200518":"84.0.4129.0","10.0.0-nightly.20200519":"84.0.4129.0","10.0.0-nightly.20200520":"84.0.4129.0","10.0.0-nightly.20200521":"84.0.4129.0","10.0.0":"85.0.4183.84","10.0.1":"85.0.4183.86","10.1.0":"85.0.4183.87","10.1.1":"85.0.4183.93","10.1.2":"85.0.4183.98","10.1.3":"85.0.4183.121","10.1.4":"85.0.4183.121","10.1.5":"85.0.4183.121","10.1.6":"85.0.4183.121","10.1.7":"85.0.4183.121","10.2.0":"85.0.4183.121","10.3.0":"85.0.4183.121","10.3.1":"85.0.4183.121","10.3.2":"85.0.4183.121","10.4.0":"85.0.4183.121","10.4.1":"85.0.4183.121","10.4.2":"85.0.4183.121","10.4.3":"85.0.4183.121","10.4.4":"85.0.4183.121","10.4.5":"85.0.4183.121","10.4.6":"85.0.4183.121","10.4.7":"85.0.4183.121","11.0.0-beta.1":"86.0.4234.0","11.0.0-beta.3":"86.0.4234.0","11.0.0-beta.4":"86.0.4234.0","11.0.0-beta.5":"86.0.4234.0","11.0.0-beta.6":"86.0.4234.0","11.0.0-beta.7":"86.0.4234.0","11.0.0-beta.8":"87.0.4251.1","11.0.0-beta.9":"87.0.4251.1","11.0.0-beta.11":"87.0.4251.1","11.0.0-beta.12":"87.0.4280.11","11.0.0-beta.13":"87.0.4280.11","11.0.0-beta.16":"87.0.4280.27","11.0.0-beta.17":"87.0.4280.27","11.0.0-beta.18":"87.0.4280.27","11.0.0-beta.19":"87.0.4280.27","11.0.0-beta.20":"87.0.4280.40","11.0.0-beta.22":"87.0.4280.47","11.0.0-beta.23":"87.0.4280.47","11.0.0-nightly.20200525":"84.0.4129.0","11.0.0-nightly.20200526":"84.0.4129.0","11.0.0-nightly.20200529":"85.0.4156.0","11.0.0-nightly.20200602":"85.0.4162.0","11.0.0-nightly.20200603":"85.0.4162.0","11.0.0-nightly.20200604":"85.0.4162.0","11.0.0-nightly.20200609":"85.0.4162.0","11.0.0-nightly.20200610":"85.0.4162.0","11.0.0-nightly.20200611":"85.0.4162.0","11.0.0-nightly.20200615":"85.0.4162.0","11.0.0-nightly.20200616":"85.0.4162.0","11.0.0-nightly.20200617":"85.0.4162.0","11.0.0-nightly.20200618":"85.0.4162.0","11.0.0-nightly.20200619":"85.0.4162.0","11.0.0-nightly.20200701":"85.0.4179.0","11.0.0-nightly.20200702":"85.0.4179.0","11.0.0-nightly.20200703":"85.0.4179.0","11.0.0-nightly.20200706":"85.0.4179.0","11.0.0-nightly.20200707":"85.0.4179.0","11.0.0-nightly.20200708":"85.0.4179.0","11.0.0-nightly.20200709":"85.0.4179.0","11.0.0-nightly.20200716":"86.0.4203.0","11.0.0-nightly.20200717":"86.0.4203.0","11.0.0-nightly.20200720":"86.0.4203.0","11.0.0-nightly.20200721":"86.0.4203.0","11.0.0-nightly.20200723":"86.0.4209.0","11.0.0-nightly.20200724":"86.0.4209.0","11.0.0-nightly.20200729":"86.0.4209.0","11.0.0-nightly.20200730":"86.0.4209.0","11.0.0-nightly.20200731":"86.0.4209.0","11.0.0-nightly.20200803":"86.0.4209.0","11.0.0-nightly.20200804":"86.0.4209.0","11.0.0-nightly.20200805":"86.0.4209.0","11.0.0-nightly.20200811":"86.0.4209.0","11.0.0-nightly.20200812":"86.0.4209.0","11.0.0-nightly.20200822":"86.0.4234.0","11.0.0-nightly.20200824":"86.0.4234.0","11.0.0-nightly.20200825":"86.0.4234.0","11.0.0-nightly.20200826":"86.0.4234.0","11.0.0":"87.0.4280.60","11.0.1":"87.0.4280.60","11.0.2":"87.0.4280.67","11.0.3":"87.0.4280.67","11.0.4":"87.0.4280.67","11.0.5":"87.0.4280.88","11.1.0":"87.0.4280.88","11.1.1":"87.0.4280.88","11.2.0":"87.0.4280.141","11.2.1":"87.0.4280.141","11.2.2":"87.0.4280.141","11.2.3":"87.0.4280.141","11.3.0":"87.0.4280.141","11.4.0":"87.0.4280.141","11.4.1":"87.0.4280.141","11.4.2":"87.0.4280.141","11.4.3":"87.0.4280.141","11.4.4":"87.0.4280.141","11.4.5":"87.0.4280.141","11.4.6":"87.0.4280.141","11.4.7":"87.0.4280.141","11.4.8":"87.0.4280.141","11.4.9":"87.0.4280.141","11.4.10":"87.0.4280.141","11.4.11":"87.0.4280.141","11.4.12":"87.0.4280.141","11.5.0":"87.0.4280.141","12.0.0-beta.1":"89.0.4328.0","12.0.0-beta.3":"89.0.4328.0","12.0.0-beta.4":"89.0.4328.0","12.0.0-beta.5":"89.0.4328.0","12.0.0-beta.6":"89.0.4328.0","12.0.0-beta.7":"89.0.4328.0","12.0.0-beta.8":"89.0.4328.0","12.0.0-beta.9":"89.0.4328.0","12.0.0-beta.10":"89.0.4328.0","12.0.0-beta.11":"89.0.4328.0","12.0.0-beta.12":"89.0.4328.0","12.0.0-beta.14":"89.0.4328.0","12.0.0-beta.16":"89.0.4348.1","12.0.0-beta.18":"89.0.4348.1","12.0.0-beta.19":"89.0.4348.1","12.0.0-beta.20":"89.0.4348.1","12.0.0-beta.21":"89.0.4388.2","12.0.0-beta.22":"89.0.4388.2","12.0.0-beta.23":"89.0.4388.2","12.0.0-beta.24":"89.0.4388.2","12.0.0-beta.25":"89.0.4388.2","12.0.0-beta.26":"89.0.4388.2","12.0.0-beta.27":"89.0.4389.23","12.0.0-beta.28":"89.0.4389.23","12.0.0-beta.29":"89.0.4389.23","12.0.0-beta.30":"89.0.4389.58","12.0.0-beta.31":"89.0.4389.58","12.0.0-nightly.20200827":"86.0.4234.0","12.0.0-nightly.20200831":"86.0.4234.0","12.0.0-nightly.20200902":"86.0.4234.0","12.0.0-nightly.20200903":"86.0.4234.0","12.0.0-nightly.20200907":"86.0.4234.0","12.0.0-nightly.20200910":"86.0.4234.0","12.0.0-nightly.20200911":"86.0.4234.0","12.0.0-nightly.20200914":"86.0.4234.0","12.0.0-nightly.20201002":"87.0.4268.0","12.0.0-nightly.20201007":"87.0.4268.0","12.0.0-nightly.20201009":"87.0.4268.0","12.0.0-nightly.20201012":"87.0.4268.0","12.0.0-nightly.20201013":"87.0.4268.0","12.0.0-nightly.20201014":"87.0.4268.0","12.0.0-nightly.20201015":"87.0.4268.0","12.0.0-nightly.20201023":"88.0.4292.0","12.0.0-nightly.20201026":"88.0.4292.0","12.0.0-nightly.20201030":"88.0.4306.0","12.0.0-nightly.20201102":"88.0.4306.0","12.0.0-nightly.20201103":"88.0.4306.0","12.0.0-nightly.20201104":"88.0.4306.0","12.0.0-nightly.20201105":"88.0.4306.0","12.0.0-nightly.20201106":"88.0.4306.0","12.0.0-nightly.20201111":"88.0.4306.0","12.0.0-nightly.20201112":"88.0.4306.0","12.0.0-nightly.20201116":"88.0.4324.0","12.0.0":"89.0.4389.69","12.0.1":"89.0.4389.82","12.0.2":"89.0.4389.90","12.0.3":"89.0.4389.114","12.0.4":"89.0.4389.114","12.0.5":"89.0.4389.128","12.0.6":"89.0.4389.128","12.0.7":"89.0.4389.128","12.0.8":"89.0.4389.128","12.0.9":"89.0.4389.128","12.0.10":"89.0.4389.128","12.0.11":"89.0.4389.128","12.0.12":"89.0.4389.128","12.0.13":"89.0.4389.128","12.0.14":"89.0.4389.128","12.0.15":"89.0.4389.128","12.0.16":"89.0.4389.128","12.0.17":"89.0.4389.128","12.0.18":"89.0.4389.128","12.1.0":"89.0.4389.128","12.1.1":"89.0.4389.128","12.1.2":"89.0.4389.128","12.2.0":"89.0.4389.128","12.2.1":"89.0.4389.128","12.2.2":"89.0.4389.128","12.2.3":"89.0.4389.128","13.0.0-beta.2":"90.0.4402.0","13.0.0-beta.3":"90.0.4402.0","13.0.0-beta.4":"90.0.4415.0","13.0.0-beta.5":"90.0.4415.0","13.0.0-beta.6":"90.0.4415.0","13.0.0-beta.7":"90.0.4415.0","13.0.0-beta.8":"90.0.4415.0","13.0.0-beta.9":"90.0.4415.0","13.0.0-beta.10":"90.0.4415.0","13.0.0-beta.11":"90.0.4415.0","13.0.0-beta.12":"90.0.4415.0","13.0.0-beta.13":"90.0.4415.0","13.0.0-beta.14":"91.0.4448.0","13.0.0-beta.16":"91.0.4448.0","13.0.0-beta.17":"91.0.4448.0","13.0.0-beta.18":"91.0.4448.0","13.0.0-beta.20":"91.0.4448.0","13.0.0-beta.21":"91.0.4472.33","13.0.0-beta.22":"91.0.4472.33","13.0.0-beta.23":"91.0.4472.33","13.0.0-beta.24":"91.0.4472.38","13.0.0-beta.25":"91.0.4472.38","13.0.0-beta.26":"91.0.4472.38","13.0.0-beta.27":"91.0.4472.38","13.0.0-beta.28":"91.0.4472.38","13.0.0-nightly.20201119":"89.0.4328.0","13.0.0-nightly.20201123":"89.0.4328.0","13.0.0-nightly.20201124":"89.0.4328.0","13.0.0-nightly.20201126":"89.0.4328.0","13.0.0-nightly.20201127":"89.0.4328.0","13.0.0-nightly.20201130":"89.0.4328.0","13.0.0-nightly.20201201":"89.0.4328.0","13.0.0-nightly.20201202":"89.0.4328.0","13.0.0-nightly.20201203":"89.0.4328.0","13.0.0-nightly.20201204":"89.0.4328.0","13.0.0-nightly.20201207":"89.0.4328.0","13.0.0-nightly.20201208":"89.0.4328.0","13.0.0-nightly.20201209":"89.0.4328.0","13.0.0-nightly.20201210":"89.0.4328.0","13.0.0-nightly.20201211":"89.0.4328.0","13.0.0-nightly.20201214":"89.0.4328.0","13.0.0-nightly.20201215":"89.0.4349.0","13.0.0-nightly.20201216":"89.0.4349.0","13.0.0-nightly.20201221":"89.0.4349.0","13.0.0-nightly.20201222":"89.0.4349.0","13.0.0-nightly.20201223":"89.0.4359.0","13.0.0-nightly.20210104":"89.0.4359.0","13.0.0-nightly.20210108":"89.0.4359.0","13.0.0-nightly.20210111":"89.0.4359.0","13.0.0-nightly.20210113":"89.0.4386.0","13.0.0-nightly.20210114":"89.0.4386.0","13.0.0-nightly.20210118":"89.0.4386.0","13.0.0-nightly.20210122":"89.0.4386.0","13.0.0-nightly.20210125":"89.0.4386.0","13.0.0-nightly.20210127":"89.0.4389.0","13.0.0-nightly.20210128":"89.0.4389.0","13.0.0-nightly.20210129":"89.0.4389.0","13.0.0-nightly.20210201":"89.0.4389.0","13.0.0-nightly.20210202":"89.0.4389.0","13.0.0-nightly.20210203":"89.0.4389.0","13.0.0-nightly.20210205":"89.0.4389.0","13.0.0-nightly.20210208":"89.0.4389.0","13.0.0-nightly.20210209":"89.0.4389.0","13.0.0-nightly.20210210":"90.0.4402.0","13.0.0-nightly.20210211":"90.0.4402.0","13.0.0-nightly.20210212":"90.0.4402.0","13.0.0-nightly.20210216":"90.0.4402.0","13.0.0-nightly.20210217":"90.0.4402.0","13.0.0-nightly.20210218":"90.0.4402.0","13.0.0-nightly.20210219":"90.0.4402.0","13.0.0-nightly.20210222":"90.0.4402.0","13.0.0-nightly.20210225":"90.0.4402.0","13.0.0-nightly.20210226":"90.0.4402.0","13.0.0-nightly.20210301":"90.0.4402.0","13.0.0-nightly.20210302":"90.0.4402.0","13.0.0-nightly.20210303":"90.0.4402.0","13.0.0":"91.0.4472.69","13.0.1":"91.0.4472.69","13.1.0":"91.0.4472.77","13.1.1":"91.0.4472.77","13.1.2":"91.0.4472.77","13.1.3":"91.0.4472.106","13.1.4":"91.0.4472.106","13.1.5":"91.0.4472.124","13.1.6":"91.0.4472.124","13.1.7":"91.0.4472.124","13.1.8":"91.0.4472.164","13.1.9":"91.0.4472.164","13.2.0":"91.0.4472.164","13.2.1":"91.0.4472.164","13.2.2":"91.0.4472.164","13.2.3":"91.0.4472.164","13.3.0":"91.0.4472.164","13.4.0":"91.0.4472.164","13.5.0":"91.0.4472.164","13.5.1":"91.0.4472.164","13.5.2":"91.0.4472.164","13.6.0":"91.0.4472.164","13.6.1":"91.0.4472.164","13.6.2":"91.0.4472.164","13.6.3":"91.0.4472.164","13.6.6":"91.0.4472.164","13.6.7":"91.0.4472.164","13.6.8":"91.0.4472.164","13.6.9":"91.0.4472.164","14.0.0-beta.1":"92.0.4511.0","14.0.0-beta.2":"92.0.4511.0","14.0.0-beta.3":"92.0.4511.0","14.0.0-beta.5":"93.0.4536.0","14.0.0-beta.6":"93.0.4536.0","14.0.0-beta.7":"93.0.4536.0","14.0.0-beta.8":"93.0.4536.0","14.0.0-beta.9":"93.0.4539.0","14.0.0-beta.10":"93.0.4539.0","14.0.0-beta.11":"93.0.4557.4","14.0.0-beta.12":"93.0.4557.4","14.0.0-beta.13":"93.0.4566.0","14.0.0-beta.14":"93.0.4566.0","14.0.0-beta.15":"93.0.4566.0","14.0.0-beta.16":"93.0.4566.0","14.0.0-beta.17":"93.0.4566.0","14.0.0-beta.18":"93.0.4577.15","14.0.0-beta.19":"93.0.4577.15","14.0.0-beta.20":"93.0.4577.15","14.0.0-beta.21":"93.0.4577.15","14.0.0-beta.22":"93.0.4577.25","14.0.0-beta.23":"93.0.4577.25","14.0.0-beta.24":"93.0.4577.51","14.0.0-beta.25":"93.0.4577.51","14.0.0-nightly.20210304":"90.0.4402.0","14.0.0-nightly.20210305":"90.0.4415.0","14.0.0-nightly.20210308":"90.0.4415.0","14.0.0-nightly.20210309":"90.0.4415.0","14.0.0-nightly.20210311":"90.0.4415.0","14.0.0-nightly.20210315":"90.0.4415.0","14.0.0-nightly.20210316":"90.0.4415.0","14.0.0-nightly.20210317":"90.0.4415.0","14.0.0-nightly.20210318":"90.0.4415.0","14.0.0-nightly.20210319":"90.0.4415.0","14.0.0-nightly.20210323":"90.0.4415.0","14.0.0-nightly.20210324":"90.0.4415.0","14.0.0-nightly.20210325":"90.0.4415.0","14.0.0-nightly.20210326":"90.0.4415.0","14.0.0-nightly.20210329":"90.0.4415.0","14.0.0-nightly.20210330":"90.0.4415.0","14.0.0-nightly.20210331":"91.0.4448.0","14.0.0-nightly.20210401":"91.0.4448.0","14.0.0-nightly.20210402":"91.0.4448.0","14.0.0-nightly.20210406":"91.0.4448.0","14.0.0-nightly.20210407":"91.0.4448.0","14.0.0-nightly.20210408":"91.0.4448.0","14.0.0-nightly.20210409":"91.0.4448.0","14.0.0-nightly.20210413":"91.0.4448.0","14.0.0-nightly.20210426":"92.0.4475.0","14.0.0-nightly.20210427":"92.0.4475.0","14.0.0-nightly.20210430":"92.0.4488.0","14.0.0-nightly.20210503":"92.0.4488.0","14.0.0-nightly.20210505":"92.0.4496.0","14.0.0-nightly.20210506":"92.0.4498.0","14.0.0-nightly.20210507":"92.0.4499.0","14.0.0-nightly.20210510":"92.0.4499.0","14.0.0-nightly.20210511":"92.0.4499.0","14.0.0-nightly.20210512":"92.0.4499.0","14.0.0-nightly.20210513":"92.0.4499.0","14.0.0-nightly.20210514":"92.0.4505.0","14.0.0-nightly.20210517":"92.0.4505.0","14.0.0-nightly.20210518":"92.0.4505.0","14.0.0-nightly.20210519":"92.0.4505.0","14.0.0-nightly.20210520":"92.0.4511.0","14.0.0-nightly.20210523":"92.0.4511.0","14.0.0-nightly.20210524":"92.0.4511.0","14.0.0":"93.0.4577.58","14.0.1":"93.0.4577.63","14.0.2":"93.0.4577.82","14.1.0":"93.0.4577.82","14.1.1":"93.0.4577.82","14.2.0":"93.0.4577.82","14.2.1":"93.0.4577.82","14.2.2":"93.0.4577.82","14.2.3":"93.0.4577.82","14.2.4":"93.0.4577.82","14.2.5":"93.0.4577.82","14.2.6":"93.0.4577.82","14.2.7":"93.0.4577.82","14.2.8":"93.0.4577.82","14.2.9":"93.0.4577.82","15.0.0-alpha.1":"93.0.4566.0","15.0.0-alpha.2":"93.0.4566.0","15.0.0-alpha.3":"94.0.4584.0","15.0.0-alpha.4":"94.0.4584.0","15.0.0-alpha.5":"94.0.4584.0","15.0.0-alpha.6":"94.0.4584.0","15.0.0-alpha.7":"94.0.4590.2","15.0.0-alpha.8":"94.0.4590.2","15.0.0-alpha.9":"94.0.4590.2","15.0.0-alpha.10":"94.0.4606.12","15.0.0-beta.1":"94.0.4606.20","15.0.0-beta.2":"94.0.4606.20","15.0.0-beta.3":"94.0.4606.31","15.0.0-beta.4":"94.0.4606.31","15.0.0-beta.5":"94.0.4606.31","15.0.0-beta.6":"94.0.4606.31","15.0.0-beta.7":"94.0.4606.31","15.0.0-nightly.20210527":"92.0.4511.0","15.0.0-nightly.20210528":"92.0.4511.0","15.0.0-nightly.20210531":"92.0.4511.0","15.0.0-nightly.20210601":"92.0.4511.0","15.0.0-nightly.20210602":"92.0.4511.0","15.0.0-nightly.20210603":"93.0.4530.0","15.0.0-nightly.20210604":"93.0.4530.0","15.0.0-nightly.20210608":"93.0.4535.0","15.0.0-nightly.20210609":"93.0.4536.0","15.0.0-nightly.20210610":"93.0.4536.0","15.0.0-nightly.20210611":"93.0.4536.0","15.0.0-nightly.20210614":"93.0.4536.0","15.0.0-nightly.20210615":"93.0.4536.0","15.0.0-nightly.20210616":"93.0.4536.0","15.0.0-nightly.20210617":"93.0.4539.0","15.0.0-nightly.20210618":"93.0.4539.0","15.0.0-nightly.20210621":"93.0.4539.0","15.0.0-nightly.20210622":"93.0.4539.0","15.0.0-nightly.20210623":"93.0.4550.0","15.0.0-nightly.20210624":"93.0.4550.0","15.0.0-nightly.20210625":"93.0.4552.0","15.0.0-nightly.20210628":"93.0.4552.0","15.0.0-nightly.20210629":"93.0.4552.0","15.0.0-nightly.20210630":"93.0.4558.0","15.0.0-nightly.20210701":"93.0.4558.0","15.0.0-nightly.20210702":"93.0.4558.0","15.0.0-nightly.20210705":"93.0.4558.0","15.0.0-nightly.20210706":"93.0.4566.0","15.0.0-nightly.20210707":"93.0.4566.0","15.0.0-nightly.20210708":"93.0.4566.0","15.0.0-nightly.20210709":"93.0.4566.0","15.0.0-nightly.20210712":"93.0.4566.0","15.0.0-nightly.20210713":"93.0.4566.0","15.0.0-nightly.20210714":"93.0.4566.0","15.0.0-nightly.20210715":"93.0.4566.0","15.0.0-nightly.20210716":"93.0.4566.0","15.0.0-nightly.20210719":"93.0.4566.0","15.0.0-nightly.20210720":"93.0.4566.0","15.0.0-nightly.20210721":"93.0.4566.0","15.0.0":"94.0.4606.51","15.1.0":"94.0.4606.61","15.1.1":"94.0.4606.61","15.1.2":"94.0.4606.71","15.2.0":"94.0.4606.81","15.3.0":"94.0.4606.81","15.3.1":"94.0.4606.81","15.3.2":"94.0.4606.81","15.3.3":"94.0.4606.81","15.3.4":"94.0.4606.81","15.3.5":"94.0.4606.81","15.3.6":"94.0.4606.81","15.3.7":"94.0.4606.81","15.4.0":"94.0.4606.81","15.4.1":"94.0.4606.81","15.4.2":"94.0.4606.81","15.5.0":"94.0.4606.81","15.5.1":"94.0.4606.81","15.5.2":"94.0.4606.81","15.5.3":"94.0.4606.81","15.5.4":"94.0.4606.81","15.5.5":"94.0.4606.81","15.5.6":"94.0.4606.81","15.5.7":"94.0.4606.81","16.0.0-alpha.1":"95.0.4629.0","16.0.0-alpha.2":"95.0.4629.0","16.0.0-alpha.3":"95.0.4629.0","16.0.0-alpha.4":"95.0.4629.0","16.0.0-alpha.5":"95.0.4629.0","16.0.0-alpha.6":"95.0.4629.0","16.0.0-alpha.7":"95.0.4629.0","16.0.0-alpha.8":"96.0.4647.0","16.0.0-alpha.9":"96.0.4647.0","16.0.0-beta.1":"96.0.4647.0","16.0.0-beta.2":"96.0.4647.0","16.0.0-beta.3":"96.0.4647.0","16.0.0-beta.4":"96.0.4664.18","16.0.0-beta.5":"96.0.4664.18","16.0.0-beta.6":"96.0.4664.27","16.0.0-beta.7":"96.0.4664.27","16.0.0-beta.8":"96.0.4664.35","16.0.0-beta.9":"96.0.4664.35","16.0.0-nightly.20210722":"93.0.4566.0","16.0.0-nightly.20210723":"93.0.4566.0","16.0.0-nightly.20210726":"93.0.4566.0","16.0.0-nightly.20210727":"94.0.4584.0","16.0.0-nightly.20210728":"94.0.4584.0","16.0.0-nightly.20210729":"94.0.4584.0","16.0.0-nightly.20210730":"94.0.4584.0","16.0.0-nightly.20210802":"94.0.4584.0","16.0.0-nightly.20210803":"94.0.4584.0","16.0.0-nightly.20210804":"94.0.4584.0","16.0.0-nightly.20210805":"94.0.4584.0","16.0.0-nightly.20210806":"94.0.4584.0","16.0.0-nightly.20210809":"94.0.4584.0","16.0.0-nightly.20210810":"94.0.4584.0","16.0.0-nightly.20210811":"94.0.4584.0","16.0.0-nightly.20210812":"94.0.4590.2","16.0.0-nightly.20210813":"94.0.4590.2","16.0.0-nightly.20210816":"94.0.4590.2","16.0.0-nightly.20210817":"94.0.4590.2","16.0.0-nightly.20210818":"94.0.4590.2","16.0.0-nightly.20210819":"94.0.4590.2","16.0.0-nightly.20210820":"94.0.4590.2","16.0.0-nightly.20210823":"94.0.4590.2","16.0.0-nightly.20210824":"95.0.4612.5","16.0.0-nightly.20210825":"95.0.4612.5","16.0.0-nightly.20210826":"95.0.4612.5","16.0.0-nightly.20210827":"95.0.4612.5","16.0.0-nightly.20210830":"95.0.4612.5","16.0.0-nightly.20210831":"95.0.4612.5","16.0.0-nightly.20210901":"95.0.4612.5","16.0.0-nightly.20210902":"95.0.4629.0","16.0.0-nightly.20210903":"95.0.4629.0","16.0.0-nightly.20210906":"95.0.4629.0","16.0.0-nightly.20210907":"95.0.4629.0","16.0.0-nightly.20210908":"95.0.4629.0","16.0.0-nightly.20210909":"95.0.4629.0","16.0.0-nightly.20210910":"95.0.4629.0","16.0.0-nightly.20210913":"95.0.4629.0","16.0.0-nightly.20210914":"95.0.4629.0","16.0.0-nightly.20210915":"95.0.4629.0","16.0.0-nightly.20210916":"95.0.4629.0","16.0.0-nightly.20210917":"95.0.4629.0","16.0.0-nightly.20210920":"95.0.4629.0","16.0.0-nightly.20210921":"95.0.4629.0","16.0.0-nightly.20210922":"95.0.4629.0","16.0.0":"96.0.4664.45","16.0.1":"96.0.4664.45","16.0.2":"96.0.4664.55","16.0.3":"96.0.4664.55","16.0.4":"96.0.4664.55","16.0.5":"96.0.4664.55","16.0.6":"96.0.4664.110","16.0.7":"96.0.4664.110","16.0.8":"96.0.4664.110","16.0.9":"96.0.4664.174","16.0.10":"96.0.4664.174","16.1.0":"96.0.4664.174","16.1.1":"96.0.4664.174","16.2.0":"96.0.4664.174","16.2.1":"96.0.4664.174","16.2.2":"96.0.4664.174","16.2.3":"96.0.4664.174","16.2.4":"96.0.4664.174","16.2.5":"96.0.4664.174","16.2.6":"96.0.4664.174","16.2.7":"96.0.4664.174","16.2.8":"96.0.4664.174","17.0.0-alpha.1":"96.0.4664.4","17.0.0-alpha.2":"96.0.4664.4","17.0.0-alpha.3":"96.0.4664.4","17.0.0-alpha.4":"98.0.4706.0","17.0.0-alpha.5":"98.0.4706.0","17.0.0-alpha.6":"98.0.4706.0","17.0.0-beta.1":"98.0.4706.0","17.0.0-beta.2":"98.0.4706.0","17.0.0-beta.3":"98.0.4758.9","17.0.0-beta.4":"98.0.4758.11","17.0.0-beta.5":"98.0.4758.11","17.0.0-beta.6":"98.0.4758.11","17.0.0-beta.7":"98.0.4758.11","17.0.0-beta.8":"98.0.4758.11","17.0.0-beta.9":"98.0.4758.11","17.0.0-nightly.20210923":"95.0.4629.0","17.0.0-nightly.20210924":"95.0.4629.0","17.0.0-nightly.20210927":"95.0.4629.0","17.0.0-nightly.20210928":"95.0.4629.0","17.0.0-nightly.20210929":"95.0.4629.0","17.0.0-nightly.20210930":"95.0.4629.0","17.0.0-nightly.20211001":"95.0.4629.0","17.0.0-nightly.20211004":"95.0.4629.0","17.0.0-nightly.20211005":"95.0.4629.0","17.0.0-nightly.20211006":"96.0.4647.0","17.0.0-nightly.20211007":"96.0.4647.0","17.0.0-nightly.20211008":"96.0.4647.0","17.0.0-nightly.20211011":"96.0.4647.0","17.0.0-nightly.20211012":"96.0.4647.0","17.0.0-nightly.20211013":"96.0.4647.0","17.0.0-nightly.20211014":"96.0.4647.0","17.0.0-nightly.20211015":"96.0.4647.0","17.0.0-nightly.20211018":"96.0.4647.0","17.0.0-nightly.20211019":"96.0.4647.0","17.0.0-nightly.20211020":"96.0.4647.0","17.0.0-nightly.20211021":"96.0.4647.0","17.0.0-nightly.20211022":"96.0.4664.4","17.0.0-nightly.20211025":"96.0.4664.4","17.0.0-nightly.20211026":"96.0.4664.4","17.0.0-nightly.20211027":"96.0.4664.4","17.0.0-nightly.20211028":"96.0.4664.4","17.0.0-nightly.20211029":"96.0.4664.4","17.0.0-nightly.20211101":"96.0.4664.4","17.0.0-nightly.20211102":"96.0.4664.4","17.0.0-nightly.20211103":"96.0.4664.4","17.0.0-nightly.20211104":"96.0.4664.4","17.0.0-nightly.20211105":"96.0.4664.4","17.0.0-nightly.20211108":"96.0.4664.4","17.0.0-nightly.20211109":"96.0.4664.4","17.0.0-nightly.20211110":"96.0.4664.4","17.0.0-nightly.20211111":"96.0.4664.4","17.0.0-nightly.20211112":"96.0.4664.4","17.0.0-nightly.20211115":"96.0.4664.4","17.0.0-nightly.20211116":"96.0.4664.4","17.0.0-nightly.20211117":"96.0.4664.4","17.0.0":"98.0.4758.74","17.0.1":"98.0.4758.82","17.1.0":"98.0.4758.102","17.1.1":"98.0.4758.109","17.1.2":"98.0.4758.109","17.2.0":"98.0.4758.109","17.3.0":"98.0.4758.141","17.3.1":"98.0.4758.141","17.4.0":"98.0.4758.141","17.4.1":"98.0.4758.141","17.4.2":"98.0.4758.141","17.4.3":"98.0.4758.141","17.4.4":"98.0.4758.141","17.4.5":"98.0.4758.141","17.4.6":"98.0.4758.141","17.4.7":"98.0.4758.141","17.4.8":"98.0.4758.141","17.4.9":"98.0.4758.141","17.4.10":"98.0.4758.141","17.4.11":"98.0.4758.141","18.0.0-alpha.1":"99.0.4767.0","18.0.0-alpha.2":"99.0.4767.0","18.0.0-alpha.3":"99.0.4767.0","18.0.0-alpha.4":"99.0.4767.0","18.0.0-alpha.5":"99.0.4767.0","18.0.0-beta.1":"100.0.4894.0","18.0.0-beta.2":"100.0.4894.0","18.0.0-beta.3":"100.0.4894.0","18.0.0-beta.4":"100.0.4894.0","18.0.0-beta.5":"100.0.4894.0","18.0.0-beta.6":"100.0.4894.0","18.0.0-nightly.20211118":"96.0.4664.4","18.0.0-nightly.20211119":"96.0.4664.4","18.0.0-nightly.20211122":"96.0.4664.4","18.0.0-nightly.20211123":"96.0.4664.4","18.0.0-nightly.20211124":"98.0.4706.0","18.0.0-nightly.20211125":"98.0.4706.0","18.0.0-nightly.20211126":"98.0.4706.0","18.0.0-nightly.20211129":"98.0.4706.0","18.0.0-nightly.20211130":"98.0.4706.0","18.0.0-nightly.20211201":"98.0.4706.0","18.0.0-nightly.20211202":"98.0.4706.0","18.0.0-nightly.20211203":"98.0.4706.0","18.0.0-nightly.20211206":"98.0.4706.0","18.0.0-nightly.20211207":"98.0.4706.0","18.0.0-nightly.20211208":"98.0.4706.0","18.0.0-nightly.20211209":"98.0.4706.0","18.0.0-nightly.20211210":"98.0.4706.0","18.0.0-nightly.20211213":"98.0.4706.0","18.0.0-nightly.20211214":"98.0.4706.0","18.0.0-nightly.20211215":"98.0.4706.0","18.0.0-nightly.20211216":"98.0.4706.0","18.0.0-nightly.20211217":"98.0.4706.0","18.0.0-nightly.20211220":"98.0.4706.0","18.0.0-nightly.20211221":"98.0.4706.0","18.0.0-nightly.20211222":"98.0.4706.0","18.0.0-nightly.20211223":"98.0.4706.0","18.0.0-nightly.20211228":"98.0.4706.0","18.0.0-nightly.20211229":"98.0.4706.0","18.0.0-nightly.20211231":"98.0.4706.0","18.0.0-nightly.20220103":"98.0.4706.0","18.0.0-nightly.20220104":"98.0.4706.0","18.0.0-nightly.20220105":"98.0.4706.0","18.0.0-nightly.20220106":"98.0.4706.0","18.0.0-nightly.20220107":"98.0.4706.0","18.0.0-nightly.20220110":"98.0.4706.0","18.0.0-nightly.20220111":"99.0.4767.0","18.0.0-nightly.20220112":"99.0.4767.0","18.0.0-nightly.20220113":"99.0.4767.0","18.0.0-nightly.20220114":"99.0.4767.0","18.0.0-nightly.20220117":"99.0.4767.0","18.0.0-nightly.20220118":"99.0.4767.0","18.0.0-nightly.20220119":"99.0.4767.0","18.0.0-nightly.20220121":"99.0.4767.0","18.0.0-nightly.20220124":"99.0.4767.0","18.0.0-nightly.20220125":"99.0.4767.0","18.0.0-nightly.20220127":"99.0.4767.0","18.0.0-nightly.20220128":"99.0.4767.0","18.0.0-nightly.20220131":"99.0.4767.0","18.0.0-nightly.20220201":"99.0.4767.0","18.0.0":"100.0.4896.56","18.0.1":"100.0.4896.60","18.0.2":"100.0.4896.60","18.0.3":"100.0.4896.75","18.0.4":"100.0.4896.75","18.1.0":"100.0.4896.127","18.2.0":"100.0.4896.143","18.2.1":"100.0.4896.143","18.2.2":"100.0.4896.143","18.2.3":"100.0.4896.143","18.2.4":"100.0.4896.160","18.3.0":"100.0.4896.160","18.3.1":"100.0.4896.160","18.3.2":"100.0.4896.160","18.3.3":"100.0.4896.160","18.3.4":"100.0.4896.160","18.3.5":"100.0.4896.160","18.3.6":"100.0.4896.160","18.3.7":"100.0.4896.160","18.3.8":"100.0.4896.160","18.3.9":"100.0.4896.160","18.3.11":"100.0.4896.160","18.3.12":"100.0.4896.160","18.3.13":"100.0.4896.160","18.3.14":"100.0.4896.160","18.3.15":"100.0.4896.160","19.0.0-alpha.1":"102.0.4962.3","19.0.0-alpha.2":"102.0.4971.0","19.0.0-alpha.3":"102.0.4971.0","19.0.0-alpha.4":"102.0.4989.0","19.0.0-alpha.5":"102.0.4989.0","19.0.0-beta.1":"102.0.4999.0","19.0.0-beta.2":"102.0.4999.0","19.0.0-beta.3":"102.0.4999.0","19.0.0-beta.4":"102.0.5005.27","19.0.0-beta.5":"102.0.5005.40","19.0.0-beta.6":"102.0.5005.40","19.0.0-beta.7":"102.0.5005.40","19.0.0-beta.8":"102.0.5005.49","19.0.0-nightly.20220202":"99.0.4767.0","19.0.0-nightly.20220203":"99.0.4767.0","19.0.0-nightly.20220204":"99.0.4767.0","19.0.0-nightly.20220207":"99.0.4767.0","19.0.0-nightly.20220208":"99.0.4767.0","19.0.0-nightly.20220209":"99.0.4767.0","19.0.0-nightly.20220308":"100.0.4894.0","19.0.0-nightly.20220309":"100.0.4894.0","19.0.0-nightly.20220310":"100.0.4894.0","19.0.0-nightly.20220311":"100.0.4894.0","19.0.0-nightly.20220314":"100.0.4894.0","19.0.0-nightly.20220315":"100.0.4894.0","19.0.0-nightly.20220316":"100.0.4894.0","19.0.0-nightly.20220317":"100.0.4894.0","19.0.0-nightly.20220318":"100.0.4894.0","19.0.0-nightly.20220321":"100.0.4894.0","19.0.0-nightly.20220322":"100.0.4894.0","19.0.0-nightly.20220323":"100.0.4894.0","19.0.0-nightly.20220324":"100.0.4894.0","19.0.0-nightly.20220325":"102.0.4961.0","19.0.0-nightly.20220328":"102.0.4962.3","19.0.0-nightly.20220329":"102.0.4962.3","19.0.0":"102.0.5005.61","19.0.1":"102.0.5005.61","19.0.2":"102.0.5005.63","19.0.3":"102.0.5005.63","19.0.4":"102.0.5005.63","19.0.5":"102.0.5005.115","19.0.6":"102.0.5005.115","19.0.7":"102.0.5005.134","19.0.8":"102.0.5005.148","19.0.9":"102.0.5005.167","19.0.10":"102.0.5005.167","19.0.11":"102.0.5005.167","19.0.12":"102.0.5005.167","19.0.13":"102.0.5005.167","19.0.14":"102.0.5005.167","19.0.15":"102.0.5005.167","19.0.16":"102.0.5005.167","19.0.17":"102.0.5005.167","19.1.0":"102.0.5005.167","19.1.1":"102.0.5005.167","19.1.2":"102.0.5005.167","19.1.3":"102.0.5005.167","19.1.4":"102.0.5005.167","19.1.5":"102.0.5005.167","19.1.6":"102.0.5005.167","19.1.7":"102.0.5005.167","19.1.8":"102.0.5005.167","19.1.9":"102.0.5005.167","20.0.0-alpha.1":"103.0.5044.0","20.0.0-alpha.2":"104.0.5073.0","20.0.0-alpha.3":"104.0.5073.0","20.0.0-alpha.4":"104.0.5073.0","20.0.0-alpha.5":"104.0.5073.0","20.0.0-alpha.6":"104.0.5073.0","20.0.0-alpha.7":"104.0.5073.0","20.0.0-beta.1":"104.0.5073.0","20.0.0-beta.2":"104.0.5073.0","20.0.0-beta.3":"104.0.5073.0","20.0.0-beta.4":"104.0.5073.0","20.0.0-beta.5":"104.0.5073.0","20.0.0-beta.6":"104.0.5073.0","20.0.0-beta.7":"104.0.5073.0","20.0.0-beta.8":"104.0.5073.0","20.0.0-beta.9":"104.0.5112.39","20.0.0-beta.10":"104.0.5112.48","20.0.0-beta.11":"104.0.5112.48","20.0.0-beta.12":"104.0.5112.48","20.0.0-beta.13":"104.0.5112.57","20.0.0-nightly.20220330":"102.0.4962.3","20.0.0-nightly.20220411":"102.0.4971.0","20.0.0-nightly.20220414":"102.0.4989.0","20.0.0-nightly.20220415":"102.0.4989.0","20.0.0-nightly.20220418":"102.0.4989.0","20.0.0-nightly.20220419":"102.0.4989.0","20.0.0-nightly.20220420":"102.0.4989.0","20.0.0-nightly.20220421":"102.0.4989.0","20.0.0-nightly.20220425":"102.0.4999.0","20.0.0-nightly.20220426":"102.0.4999.0","20.0.0-nightly.20220427":"102.0.4999.0","20.0.0-nightly.20220428":"102.0.4999.0","20.0.0-nightly.20220429":"102.0.4999.0","20.0.0-nightly.20220502":"102.0.4999.0","20.0.0-nightly.20220503":"102.0.4999.0","20.0.0-nightly.20220504":"102.0.4999.0","20.0.0-nightly.20220505":"102.0.4999.0","20.0.0-nightly.20220506":"102.0.4999.0","20.0.0-nightly.20220509":"102.0.4999.0","20.0.0-nightly.20220511":"102.0.4999.0","20.0.0-nightly.20220512":"102.0.4999.0","20.0.0-nightly.20220513":"102.0.4999.0","20.0.0-nightly.20220516":"102.0.4999.0","20.0.0-nightly.20220517":"102.0.4999.0","20.0.0-nightly.20220518":"103.0.5044.0","20.0.0-nightly.20220519":"103.0.5044.0","20.0.0-nightly.20220520":"103.0.5044.0","20.0.0-nightly.20220523":"103.0.5044.0","20.0.0-nightly.20220524":"103.0.5044.0","20.0.0":"104.0.5112.65","20.0.1":"104.0.5112.81","20.0.2":"104.0.5112.81","20.0.3":"104.0.5112.81","20.1.0":"104.0.5112.102","20.1.1":"104.0.5112.102","20.1.2":"104.0.5112.114","20.1.3":"104.0.5112.114","20.1.4":"104.0.5112.114","20.2.0":"104.0.5112.124","20.3.0":"104.0.5112.124","20.3.1":"104.0.5112.124","20.3.2":"104.0.5112.124","20.3.3":"104.0.5112.124","20.3.4":"104.0.5112.124","20.3.5":"104.0.5112.124","20.3.6":"104.0.5112.124","20.3.7":"104.0.5112.124","20.3.8":"104.0.5112.124","20.3.9":"104.0.5112.124","20.3.10":"104.0.5112.124","20.3.11":"104.0.5112.124","20.3.12":"104.0.5112.124","21.0.0-alpha.1":"105.0.5187.0","21.0.0-alpha.2":"105.0.5187.0","21.0.0-alpha.3":"105.0.5187.0","21.0.0-alpha.4":"105.0.5187.0","21.0.0-alpha.5":"105.0.5187.0","21.0.0-alpha.6":"106.0.5216.0","21.0.0-beta.1":"106.0.5216.0","21.0.0-beta.2":"106.0.5216.0","21.0.0-beta.3":"106.0.5216.0","21.0.0-beta.4":"106.0.5216.0","21.0.0-beta.5":"106.0.5216.0","21.0.0-beta.6":"106.0.5249.40","21.0.0-beta.7":"106.0.5249.40","21.0.0-beta.8":"106.0.5249.40","21.0.0-nightly.20220526":"103.0.5044.0","21.0.0-nightly.20220527":"103.0.5044.0","21.0.0-nightly.20220530":"103.0.5044.0","21.0.0-nightly.20220531":"103.0.5044.0","21.0.0-nightly.20220602":"104.0.5073.0","21.0.0-nightly.20220603":"104.0.5073.0","21.0.0-nightly.20220606":"104.0.5073.0","21.0.0-nightly.20220607":"104.0.5073.0","21.0.0-nightly.20220608":"104.0.5073.0","21.0.0-nightly.20220609":"104.0.5073.0","21.0.0-nightly.20220610":"104.0.5073.0","21.0.0-nightly.20220613":"104.0.5073.0","21.0.0-nightly.20220614":"104.0.5073.0","21.0.0-nightly.20220615":"104.0.5073.0","21.0.0-nightly.20220616":"104.0.5073.0","21.0.0-nightly.20220617":"104.0.5073.0","21.0.0-nightly.20220620":"104.0.5073.0","21.0.0-nightly.20220621":"104.0.5073.0","21.0.0-nightly.20220622":"104.0.5073.0","21.0.0-nightly.20220623":"104.0.5073.0","21.0.0-nightly.20220624":"104.0.5073.0","21.0.0-nightly.20220627":"104.0.5073.0","21.0.0-nightly.20220628":"105.0.5129.0","21.0.0-nightly.20220629":"105.0.5129.0","21.0.0-nightly.20220630":"105.0.5129.0","21.0.0-nightly.20220701":"105.0.5129.0","21.0.0-nightly.20220704":"105.0.5129.0","21.0.0-nightly.20220705":"105.0.5129.0","21.0.0-nightly.20220706":"105.0.5129.0","21.0.0-nightly.20220707":"105.0.5129.0","21.0.0-nightly.20220708":"105.0.5129.0","21.0.0-nightly.20220711":"105.0.5129.0","21.0.0-nightly.20220712":"105.0.5129.0","21.0.0-nightly.20220713":"105.0.5129.0","21.0.0-nightly.20220715":"105.0.5173.0","21.0.0-nightly.20220718":"105.0.5173.0","21.0.0-nightly.20220719":"105.0.5173.0","21.0.0-nightly.20220720":"105.0.5187.0","21.0.0-nightly.20220721":"105.0.5187.0","21.0.0-nightly.20220722":"105.0.5187.0","21.0.0-nightly.20220725":"105.0.5187.0","21.0.0-nightly.20220726":"105.0.5187.0","21.0.0-nightly.20220727":"105.0.5187.0","21.0.0-nightly.20220728":"105.0.5187.0","21.0.0-nightly.20220801":"105.0.5187.0","21.0.0-nightly.20220802":"105.0.5187.0","21.0.0":"106.0.5249.51","21.0.1":"106.0.5249.61","21.1.0":"106.0.5249.91","21.1.1":"106.0.5249.103","21.2.0":"106.0.5249.119","21.2.1":"106.0.5249.165","21.2.2":"106.0.5249.168","21.2.3":"106.0.5249.168","21.3.0":"106.0.5249.181","21.3.1":"106.0.5249.181","21.3.3":"106.0.5249.199","21.3.4":"106.0.5249.199","21.3.5":"106.0.5249.199","21.4.0":"106.0.5249.199","21.4.1":"106.0.5249.199","21.4.2":"106.0.5249.199","21.4.3":"106.0.5249.199","21.4.4":"106.0.5249.199","22.0.0-alpha.1":"107.0.5286.0","22.0.0-alpha.3":"108.0.5329.0","22.0.0-alpha.4":"108.0.5329.0","22.0.0-alpha.5":"108.0.5329.0","22.0.0-alpha.6":"108.0.5329.0","22.0.0-alpha.7":"108.0.5355.0","22.0.0-alpha.8":"108.0.5359.10","22.0.0-beta.1":"108.0.5359.10","22.0.0-beta.2":"108.0.5359.10","22.0.0-beta.3":"108.0.5359.10","22.0.0-beta.4":"108.0.5359.29","22.0.0-beta.5":"108.0.5359.40","22.0.0-beta.6":"108.0.5359.40","22.0.0-beta.7":"108.0.5359.48","22.0.0-beta.8":"108.0.5359.48","22.0.0-nightly.20220808":"105.0.5187.0","22.0.0-nightly.20220809":"105.0.5187.0","22.0.0-nightly.20220810":"105.0.5187.0","22.0.0-nightly.20220811":"105.0.5187.0","22.0.0-nightly.20220812":"105.0.5187.0","22.0.0-nightly.20220815":"105.0.5187.0","22.0.0-nightly.20220816":"105.0.5187.0","22.0.0-nightly.20220817":"105.0.5187.0","22.0.0-nightly.20220822":"106.0.5216.0","22.0.0-nightly.20220823":"106.0.5216.0","22.0.0-nightly.20220824":"106.0.5216.0","22.0.0-nightly.20220825":"106.0.5216.0","22.0.0-nightly.20220829":"106.0.5216.0","22.0.0-nightly.20220830":"106.0.5216.0","22.0.0-nightly.20220831":"106.0.5216.0","22.0.0-nightly.20220901":"106.0.5216.0","22.0.0-nightly.20220902":"106.0.5216.0","22.0.0-nightly.20220905":"106.0.5216.0","22.0.0-nightly.20220908":"107.0.5274.0","22.0.0-nightly.20220909":"107.0.5286.0","22.0.0-nightly.20220912":"107.0.5286.0","22.0.0-nightly.20220913":"107.0.5286.0","22.0.0-nightly.20220914":"107.0.5286.0","22.0.0-nightly.20220915":"107.0.5286.0","22.0.0-nightly.20220916":"107.0.5286.0","22.0.0-nightly.20220919":"107.0.5286.0","22.0.0-nightly.20220920":"107.0.5286.0","22.0.0-nightly.20220921":"107.0.5286.0","22.0.0-nightly.20220922":"107.0.5286.0","22.0.0-nightly.20220923":"107.0.5286.0","22.0.0-nightly.20220926":"107.0.5286.0","22.0.0-nightly.20220927":"107.0.5286.0","22.0.0-nightly.20220928":"107.0.5286.0","22.0.0":"108.0.5359.62","22.0.1":"108.0.5359.125","22.0.2":"108.0.5359.179","22.0.3":"108.0.5359.179","22.1.0":"108.0.5359.179","22.2.0":"108.0.5359.215","22.2.1":"108.0.5359.215","22.3.0":"108.0.5359.215","22.3.1":"108.0.5359.215","22.3.2":"108.0.5359.215","22.3.3":"108.0.5359.215","22.3.4":"108.0.5359.215","22.3.5":"108.0.5359.215","22.3.6":"108.0.5359.215","22.3.7":"108.0.5359.215","22.3.8":"108.0.5359.215","23.0.0-alpha.1":"110.0.5415.0","23.0.0-alpha.2":"110.0.5451.0","23.0.0-alpha.3":"110.0.5451.0","23.0.0-beta.1":"110.0.5478.5","23.0.0-beta.2":"110.0.5478.5","23.0.0-beta.3":"110.0.5478.5","23.0.0-beta.4":"110.0.5481.30","23.0.0-beta.5":"110.0.5481.38","23.0.0-beta.6":"110.0.5481.52","23.0.0-beta.8":"110.0.5481.52","23.0.0-nightly.20220929":"107.0.5286.0","23.0.0-nightly.20220930":"107.0.5286.0","23.0.0-nightly.20221003":"107.0.5286.0","23.0.0-nightly.20221004":"108.0.5329.0","23.0.0-nightly.20221005":"108.0.5329.0","23.0.0-nightly.20221006":"108.0.5329.0","23.0.0-nightly.20221007":"108.0.5329.0","23.0.0-nightly.20221010":"108.0.5329.0","23.0.0-nightly.20221011":"108.0.5329.0","23.0.0-nightly.20221012":"108.0.5329.0","23.0.0-nightly.20221013":"108.0.5329.0","23.0.0-nightly.20221014":"108.0.5329.0","23.0.0-nightly.20221017":"108.0.5329.0","23.0.0-nightly.20221018":"108.0.5355.0","23.0.0-nightly.20221019":"108.0.5355.0","23.0.0-nightly.20221020":"108.0.5355.0","23.0.0-nightly.20221021":"108.0.5355.0","23.0.0-nightly.20221024":"108.0.5355.0","23.0.0-nightly.20221026":"108.0.5355.0","23.0.0-nightly.20221027":"109.0.5382.0","23.0.0-nightly.20221028":"109.0.5382.0","23.0.0-nightly.20221031":"109.0.5382.0","23.0.0-nightly.20221101":"109.0.5382.0","23.0.0-nightly.20221102":"109.0.5382.0","23.0.0-nightly.20221103":"109.0.5382.0","23.0.0-nightly.20221104":"109.0.5382.0","23.0.0-nightly.20221107":"109.0.5382.0","23.0.0-nightly.20221108":"109.0.5382.0","23.0.0-nightly.20221109":"109.0.5382.0","23.0.0-nightly.20221110":"109.0.5382.0","23.0.0-nightly.20221111":"109.0.5382.0","23.0.0-nightly.20221114":"109.0.5382.0","23.0.0-nightly.20221115":"109.0.5382.0","23.0.0-nightly.20221116":"109.0.5382.0","23.0.0-nightly.20221117":"109.0.5382.0","23.0.0-nightly.20221118":"110.0.5415.0","23.0.0-nightly.20221121":"110.0.5415.0","23.0.0-nightly.20221122":"110.0.5415.0","23.0.0-nightly.20221123":"110.0.5415.0","23.0.0-nightly.20221124":"110.0.5415.0","23.0.0-nightly.20221125":"110.0.5415.0","23.0.0-nightly.20221128":"110.0.5415.0","23.0.0-nightly.20221129":"110.0.5415.0","23.0.0-nightly.20221130":"110.0.5415.0","23.0.0":"110.0.5481.77","23.1.0":"110.0.5481.100","23.1.1":"110.0.5481.104","23.1.2":"110.0.5481.177","23.1.3":"110.0.5481.179","23.1.4":"110.0.5481.192","23.2.0":"110.0.5481.192","23.2.1":"110.0.5481.208","23.2.2":"110.0.5481.208","23.2.3":"110.0.5481.208","23.2.4":"110.0.5481.208","23.3.0":"110.0.5481.208","23.3.1":"110.0.5481.208","24.0.0-alpha.1":"111.0.5560.0","24.0.0-alpha.2":"111.0.5560.0","24.0.0-alpha.3":"111.0.5560.0","24.0.0-alpha.4":"111.0.5560.0","24.0.0-alpha.5":"111.0.5560.0","24.0.0-alpha.6":"111.0.5560.0","24.0.0-alpha.7":"111.0.5560.0","24.0.0-beta.1":"111.0.5563.50","24.0.0-beta.2":"111.0.5563.50","24.0.0-beta.3":"112.0.5615.20","24.0.0-beta.4":"112.0.5615.20","24.0.0-beta.5":"112.0.5615.29","24.0.0-beta.6":"112.0.5615.39","24.0.0-beta.7":"112.0.5615.39","24.0.0-nightly.20221201":"110.0.5415.0","24.0.0-nightly.20221202":"110.0.5415.0","24.0.0-nightly.20221205":"110.0.5415.0","24.0.0-nightly.20221206":"110.0.5451.0","24.0.0-nightly.20221207":"110.0.5451.0","24.0.0-nightly.20221208":"110.0.5451.0","24.0.0-nightly.20221213":"110.0.5451.0","24.0.0-nightly.20221214":"110.0.5451.0","24.0.0-nightly.20221215":"110.0.5451.0","24.0.0-nightly.20221216":"110.0.5451.0","24.0.0-nightly.20230109":"111.0.5518.0","24.0.0-nightly.20230110":"111.0.5518.0","24.0.0-nightly.20230111":"111.0.5518.0","24.0.0-nightly.20230112":"111.0.5518.0","24.0.0-nightly.20230113":"111.0.5518.0","24.0.0-nightly.20230116":"111.0.5518.0","24.0.0-nightly.20230117":"111.0.5518.0","24.0.0-nightly.20230118":"111.0.5518.0","24.0.0-nightly.20230119":"111.0.5518.0","24.0.0-nightly.20230120":"111.0.5518.0","24.0.0-nightly.20230123":"111.0.5518.0","24.0.0-nightly.20230124":"111.0.5518.0","24.0.0-nightly.20230125":"111.0.5518.0","24.0.0-nightly.20230126":"111.0.5518.0","24.0.0-nightly.20230127":"111.0.5518.0","24.0.0-nightly.20230131":"111.0.5518.0","24.0.0-nightly.20230201":"111.0.5518.0","24.0.0-nightly.20230202":"111.0.5518.0","24.0.0-nightly.20230203":"111.0.5560.0","24.0.0-nightly.20230206":"111.0.5560.0","24.0.0-nightly.20230207":"111.0.5560.0","24.0.0-nightly.20230208":"111.0.5560.0","24.0.0-nightly.20230209":"111.0.5560.0","24.0.0":"112.0.5615.49","24.1.0":"112.0.5615.50","24.1.1":"112.0.5615.50","24.1.2":"112.0.5615.87","24.1.3":"112.0.5615.165","24.2.0":"112.0.5615.165","25.0.0-alpha.1":"114.0.5694.0","25.0.0-alpha.2":"114.0.5694.0","25.0.0-alpha.3":"114.0.5710.0","25.0.0-alpha.4":"114.0.5710.0","25.0.0-alpha.5":"114.0.5719.0","25.0.0-alpha.6":"114.0.5719.0","25.0.0-beta.1":"114.0.5719.0","25.0.0-beta.2":"114.0.5719.0","25.0.0-nightly.20230210":"111.0.5560.0","25.0.0-nightly.20230214":"111.0.5560.0","25.0.0-nightly.20230215":"111.0.5560.0","25.0.0-nightly.20230216":"111.0.5560.0","25.0.0-nightly.20230217":"111.0.5560.0","25.0.0-nightly.20230220":"111.0.5560.0","25.0.0-nightly.20230221":"111.0.5560.0","25.0.0-nightly.20230222":"111.0.5560.0","25.0.0-nightly.20230223":"111.0.5560.0","25.0.0-nightly.20230224":"111.0.5560.0","25.0.0-nightly.20230227":"111.0.5560.0","25.0.0-nightly.20230228":"111.0.5560.0","25.0.0-nightly.20230301":"111.0.5560.0","25.0.0-nightly.20230302":"111.0.5560.0","25.0.0-nightly.20230303":"111.0.5560.0","25.0.0-nightly.20230306":"111.0.5560.0","25.0.0-nightly.20230307":"111.0.5560.0","25.0.0-nightly.20230308":"111.0.5560.0","25.0.0-nightly.20230309":"111.0.5560.0","25.0.0-nightly.20230310":"111.0.5560.0","25.0.0-nightly.20230314":"113.0.5636.0","25.0.0-nightly.20230315":"113.0.5651.0","25.0.0-nightly.20230317":"113.0.5653.0","25.0.0-nightly.20230320":"113.0.5660.0","25.0.0-nightly.20230321":"113.0.5664.0","25.0.0-nightly.20230322":"113.0.5666.0","25.0.0-nightly.20230323":"113.0.5668.0","25.0.0-nightly.20230324":"113.0.5670.0","25.0.0-nightly.20230327":"113.0.5670.0","25.0.0-nightly.20230328":"113.0.5670.0","25.0.0-nightly.20230329":"113.0.5670.0","25.0.0-nightly.20230330":"113.0.5670.0","25.0.0-nightly.20230331":"114.0.5684.0","25.0.0-nightly.20230403":"114.0.5684.0","25.0.0-nightly.20230404":"114.0.5692.0","25.0.0-nightly.20230405":"114.0.5694.0","26.0.0-nightly.20230406":"114.0.5694.0","26.0.0-nightly.20230407":"114.0.5694.0","26.0.0-nightly.20230410":"114.0.5694.0","26.0.0-nightly.20230411":"114.0.5694.0","26.0.0-nightly.20230412":"114.0.5708.0","26.0.0-nightly.20230413":"114.0.5710.0","26.0.0-nightly.20230414":"114.0.5710.0","26.0.0-nightly.20230417":"114.0.5710.0","26.0.0-nightly.20230418":"114.0.5715.0","26.0.0-nightly.20230421":"114.0.5719.0","26.0.0-nightly.20230424":"114.0.5719.0","26.0.0-nightly.20230425":"114.0.5719.0","26.0.0-nightly.20230426":"114.0.5719.0","26.0.0-nightly.20230427":"114.0.5719.0","26.0.0-nightly.20230428":"114.0.5719.0","26.0.0-nightly.20230501":"114.0.5719.0","26.0.0-nightly.20230502":"114.0.5719.0","26.0.0-nightly.20230503":"114.0.5719.0","26.0.0-nightly.20230504":"114.0.5719.0","26.0.0-nightly.20230505":"114.0.5719.0"}
      \ No newline at end of file
      +{"0.20.0":"39.0.2171.65","0.20.1":"39.0.2171.65","0.20.2":"39.0.2171.65","0.20.3":"39.0.2171.65","0.20.4":"39.0.2171.65","0.20.5":"39.0.2171.65","0.20.6":"39.0.2171.65","0.20.7":"39.0.2171.65","0.20.8":"39.0.2171.65","0.21.0":"40.0.2214.91","0.21.1":"40.0.2214.91","0.21.2":"40.0.2214.91","0.21.3":"41.0.2272.76","0.22.1":"41.0.2272.76","0.22.2":"41.0.2272.76","0.22.3":"41.0.2272.76","0.23.0":"41.0.2272.76","0.24.0":"41.0.2272.76","0.25.0":"42.0.2311.107","0.25.1":"42.0.2311.107","0.25.2":"42.0.2311.107","0.25.3":"42.0.2311.107","0.26.0":"42.0.2311.107","0.26.1":"42.0.2311.107","0.27.0":"42.0.2311.107","0.27.1":"42.0.2311.107","0.27.2":"43.0.2357.65","0.27.3":"43.0.2357.65","0.28.0":"43.0.2357.65","0.28.1":"43.0.2357.65","0.28.2":"43.0.2357.65","0.28.3":"43.0.2357.65","0.29.1":"43.0.2357.65","0.29.2":"43.0.2357.65","0.30.4":"44.0.2403.125","0.31.0":"44.0.2403.125","0.31.2":"45.0.2454.85","0.32.2":"45.0.2454.85","0.32.3":"45.0.2454.85","0.33.0":"45.0.2454.85","0.33.1":"45.0.2454.85","0.33.2":"45.0.2454.85","0.33.3":"45.0.2454.85","0.33.4":"45.0.2454.85","0.33.6":"45.0.2454.85","0.33.7":"45.0.2454.85","0.33.8":"45.0.2454.85","0.33.9":"45.0.2454.85","0.34.0":"45.0.2454.85","0.34.1":"45.0.2454.85","0.34.2":"45.0.2454.85","0.34.3":"45.0.2454.85","0.34.4":"45.0.2454.85","0.35.1":"45.0.2454.85","0.35.2":"45.0.2454.85","0.35.3":"45.0.2454.85","0.35.4":"45.0.2454.85","0.35.5":"45.0.2454.85","0.36.0":"47.0.2526.73","0.36.2":"47.0.2526.73","0.36.3":"47.0.2526.73","0.36.4":"47.0.2526.73","0.36.5":"47.0.2526.110","0.36.6":"47.0.2526.110","0.36.7":"47.0.2526.110","0.36.8":"47.0.2526.110","0.36.9":"47.0.2526.110","0.36.10":"47.0.2526.110","0.36.11":"47.0.2526.110","0.36.12":"47.0.2526.110","0.37.0":"49.0.2623.75","0.37.1":"49.0.2623.75","0.37.3":"49.0.2623.75","0.37.4":"49.0.2623.75","0.37.5":"49.0.2623.75","0.37.6":"49.0.2623.75","0.37.7":"49.0.2623.75","0.37.8":"49.0.2623.75","1.0.0":"49.0.2623.75","1.0.1":"49.0.2623.75","1.0.2":"49.0.2623.75","1.1.0":"50.0.2661.102","1.1.1":"50.0.2661.102","1.1.2":"50.0.2661.102","1.1.3":"50.0.2661.102","1.2.0":"51.0.2704.63","1.2.1":"51.0.2704.63","1.2.2":"51.0.2704.84","1.2.3":"51.0.2704.84","1.2.4":"51.0.2704.103","1.2.5":"51.0.2704.103","1.2.6":"51.0.2704.106","1.2.7":"51.0.2704.106","1.2.8":"51.0.2704.106","1.3.0":"52.0.2743.82","1.3.1":"52.0.2743.82","1.3.2":"52.0.2743.82","1.3.3":"52.0.2743.82","1.3.4":"52.0.2743.82","1.3.5":"52.0.2743.82","1.3.6":"52.0.2743.82","1.3.7":"52.0.2743.82","1.3.9":"52.0.2743.82","1.3.10":"52.0.2743.82","1.3.13":"52.0.2743.82","1.3.14":"52.0.2743.82","1.3.15":"52.0.2743.82","1.4.0":"53.0.2785.113","1.4.1":"53.0.2785.113","1.4.2":"53.0.2785.113","1.4.3":"53.0.2785.113","1.4.4":"53.0.2785.113","1.4.5":"53.0.2785.113","1.4.6":"53.0.2785.143","1.4.7":"53.0.2785.143","1.4.8":"53.0.2785.143","1.4.10":"53.0.2785.143","1.4.11":"53.0.2785.143","1.4.12":"54.0.2840.51","1.4.13":"53.0.2785.143","1.4.14":"53.0.2785.143","1.4.15":"53.0.2785.143","1.4.16":"53.0.2785.143","1.5.0":"54.0.2840.101","1.5.1":"54.0.2840.101","1.6.0":"56.0.2924.87","1.6.1":"56.0.2924.87","1.6.2":"56.0.2924.87","1.6.3":"56.0.2924.87","1.6.4":"56.0.2924.87","1.6.5":"56.0.2924.87","1.6.6":"56.0.2924.87","1.6.7":"56.0.2924.87","1.6.8":"56.0.2924.87","1.6.9":"56.0.2924.87","1.6.10":"56.0.2924.87","1.6.11":"56.0.2924.87","1.6.12":"56.0.2924.87","1.6.13":"56.0.2924.87","1.6.14":"56.0.2924.87","1.6.15":"56.0.2924.87","1.6.16":"56.0.2924.87","1.6.17":"56.0.2924.87","1.6.18":"56.0.2924.87","1.7.0":"58.0.3029.110","1.7.1":"58.0.3029.110","1.7.2":"58.0.3029.110","1.7.3":"58.0.3029.110","1.7.4":"58.0.3029.110","1.7.5":"58.0.3029.110","1.7.6":"58.0.3029.110","1.7.7":"58.0.3029.110","1.7.8":"58.0.3029.110","1.7.9":"58.0.3029.110","1.7.10":"58.0.3029.110","1.7.11":"58.0.3029.110","1.7.12":"58.0.3029.110","1.7.13":"58.0.3029.110","1.7.14":"58.0.3029.110","1.7.15":"58.0.3029.110","1.7.16":"58.0.3029.110","1.8.0":"59.0.3071.115","1.8.1":"59.0.3071.115","1.8.2-beta.1":"59.0.3071.115","1.8.2-beta.2":"59.0.3071.115","1.8.2-beta.3":"59.0.3071.115","1.8.2-beta.4":"59.0.3071.115","1.8.2-beta.5":"59.0.3071.115","1.8.2":"59.0.3071.115","1.8.3":"59.0.3071.115","1.8.4":"59.0.3071.115","1.8.5":"59.0.3071.115","1.8.6":"59.0.3071.115","1.8.7":"59.0.3071.115","1.8.8":"59.0.3071.115","2.0.0-beta.1":"61.0.3163.100","2.0.0-beta.2":"61.0.3163.100","2.0.0-beta.3":"61.0.3163.100","2.0.0-beta.4":"61.0.3163.100","2.0.0-beta.5":"61.0.3163.100","2.0.0-beta.6":"61.0.3163.100","2.0.0-beta.7":"61.0.3163.100","2.0.0-beta.8":"61.0.3163.100","2.0.0":"61.0.3163.100","2.0.1":"61.0.3163.100","2.0.2":"61.0.3163.100","2.0.3":"61.0.3163.100","2.0.4":"61.0.3163.100","2.0.5":"61.0.3163.100","2.0.6":"61.0.3163.100","2.0.7":"61.0.3163.100","2.0.8-nightly.20180819":"61.0.3163.100","2.0.8-nightly.20180820":"61.0.3163.100","2.0.8":"61.0.3163.100","2.0.9":"61.0.3163.100","2.0.10":"61.0.3163.100","2.0.11":"61.0.3163.100","2.0.12":"61.0.3163.100","2.0.13":"61.0.3163.100","2.0.14":"61.0.3163.100","2.0.15":"61.0.3163.100","2.0.16":"61.0.3163.100","2.0.17":"61.0.3163.100","2.0.18":"61.0.3163.100","2.1.0-unsupported.20180809":"61.0.3163.100","3.0.0-beta.1":"66.0.3359.181","3.0.0-beta.2":"66.0.3359.181","3.0.0-beta.3":"66.0.3359.181","3.0.0-beta.4":"66.0.3359.181","3.0.0-beta.5":"66.0.3359.181","3.0.0-beta.6":"66.0.3359.181","3.0.0-beta.7":"66.0.3359.181","3.0.0-beta.8":"66.0.3359.181","3.0.0-beta.9":"66.0.3359.181","3.0.0-beta.10":"66.0.3359.181","3.0.0-beta.11":"66.0.3359.181","3.0.0-beta.12":"66.0.3359.181","3.0.0-beta.13":"66.0.3359.181","3.0.0-nightly.20180818":"66.0.3359.181","3.0.0-nightly.20180821":"66.0.3359.181","3.0.0-nightly.20180823":"66.0.3359.181","3.0.0-nightly.20180904":"66.0.3359.181","3.0.0":"66.0.3359.181","3.0.1":"66.0.3359.181","3.0.2":"66.0.3359.181","3.0.3":"66.0.3359.181","3.0.4":"66.0.3359.181","3.0.5":"66.0.3359.181","3.0.6":"66.0.3359.181","3.0.7":"66.0.3359.181","3.0.8":"66.0.3359.181","3.0.9":"66.0.3359.181","3.0.10":"66.0.3359.181","3.0.11":"66.0.3359.181","3.0.12":"66.0.3359.181","3.0.13":"66.0.3359.181","3.0.14":"66.0.3359.181","3.0.15":"66.0.3359.181","3.0.16":"66.0.3359.181","3.1.0-beta.1":"66.0.3359.181","3.1.0-beta.2":"66.0.3359.181","3.1.0-beta.3":"66.0.3359.181","3.1.0-beta.4":"66.0.3359.181","3.1.0-beta.5":"66.0.3359.181","3.1.0":"66.0.3359.181","3.1.1":"66.0.3359.181","3.1.2":"66.0.3359.181","3.1.3":"66.0.3359.181","3.1.4":"66.0.3359.181","3.1.5":"66.0.3359.181","3.1.6":"66.0.3359.181","3.1.7":"66.0.3359.181","3.1.8":"66.0.3359.181","3.1.9":"66.0.3359.181","3.1.10":"66.0.3359.181","3.1.11":"66.0.3359.181","3.1.12":"66.0.3359.181","3.1.13":"66.0.3359.181","4.0.0-beta.1":"69.0.3497.106","4.0.0-beta.2":"69.0.3497.106","4.0.0-beta.3":"69.0.3497.106","4.0.0-beta.4":"69.0.3497.106","4.0.0-beta.5":"69.0.3497.106","4.0.0-beta.6":"69.0.3497.106","4.0.0-beta.7":"69.0.3497.106","4.0.0-beta.8":"69.0.3497.106","4.0.0-beta.9":"69.0.3497.106","4.0.0-beta.10":"69.0.3497.106","4.0.0-beta.11":"69.0.3497.106","4.0.0-nightly.20180817":"66.0.3359.181","4.0.0-nightly.20180819":"66.0.3359.181","4.0.0-nightly.20180821":"66.0.3359.181","4.0.0-nightly.20180929":"67.0.3396.99","4.0.0-nightly.20181006":"68.0.3440.128","4.0.0-nightly.20181010":"69.0.3497.106","4.0.0":"69.0.3497.106","4.0.1":"69.0.3497.106","4.0.2":"69.0.3497.106","4.0.3":"69.0.3497.106","4.0.4":"69.0.3497.106","4.0.5":"69.0.3497.106","4.0.6":"69.0.3497.106","4.0.7":"69.0.3497.128","4.0.8":"69.0.3497.128","4.1.0":"69.0.3497.128","4.1.1":"69.0.3497.128","4.1.2":"69.0.3497.128","4.1.3":"69.0.3497.128","4.1.4":"69.0.3497.128","4.1.5":"69.0.3497.128","4.2.0":"69.0.3497.128","4.2.1":"69.0.3497.128","4.2.2":"69.0.3497.128","4.2.3":"69.0.3497.128","4.2.4":"69.0.3497.128","4.2.5":"69.0.3497.128","4.2.6":"69.0.3497.128","4.2.7":"69.0.3497.128","4.2.8":"69.0.3497.128","4.2.9":"69.0.3497.128","4.2.10":"69.0.3497.128","4.2.11":"69.0.3497.128","4.2.12":"69.0.3497.128","5.0.0-beta.1":"72.0.3626.52","5.0.0-beta.2":"72.0.3626.52","5.0.0-beta.3":"73.0.3683.27","5.0.0-beta.4":"73.0.3683.54","5.0.0-beta.5":"73.0.3683.61","5.0.0-beta.6":"73.0.3683.84","5.0.0-beta.7":"73.0.3683.94","5.0.0-beta.8":"73.0.3683.104","5.0.0-beta.9":"73.0.3683.117","5.0.0-nightly.20190107":"70.0.3538.110","5.0.0-nightly.20190121":"71.0.3578.98","5.0.0-nightly.20190122":"71.0.3578.98","5.0.0":"73.0.3683.119","5.0.1":"73.0.3683.121","5.0.2":"73.0.3683.121","5.0.3":"73.0.3683.121","5.0.4":"73.0.3683.121","5.0.5":"73.0.3683.121","5.0.6":"73.0.3683.121","5.0.7":"73.0.3683.121","5.0.8":"73.0.3683.121","5.0.9":"73.0.3683.121","5.0.10":"73.0.3683.121","5.0.11":"73.0.3683.121","5.0.12":"73.0.3683.121","5.0.13":"73.0.3683.121","6.0.0-beta.1":"76.0.3774.1","6.0.0-beta.2":"76.0.3783.1","6.0.0-beta.3":"76.0.3783.1","6.0.0-beta.4":"76.0.3783.1","6.0.0-beta.5":"76.0.3805.4","6.0.0-beta.6":"76.0.3809.3","6.0.0-beta.7":"76.0.3809.22","6.0.0-beta.8":"76.0.3809.26","6.0.0-beta.9":"76.0.3809.26","6.0.0-beta.10":"76.0.3809.37","6.0.0-beta.11":"76.0.3809.42","6.0.0-beta.12":"76.0.3809.54","6.0.0-beta.13":"76.0.3809.60","6.0.0-beta.14":"76.0.3809.68","6.0.0-beta.15":"76.0.3809.74","6.0.0-nightly.20190123":"72.0.3626.52","6.0.0-nightly.20190212":"72.0.3626.107","6.0.0-nightly.20190213":"72.0.3626.110","6.0.0-nightly.20190311":"74.0.3724.8","6.0.0":"76.0.3809.88","6.0.1":"76.0.3809.102","6.0.2":"76.0.3809.110","6.0.3":"76.0.3809.126","6.0.4":"76.0.3809.131","6.0.5":"76.0.3809.136","6.0.6":"76.0.3809.138","6.0.7":"76.0.3809.139","6.0.8":"76.0.3809.146","6.0.9":"76.0.3809.146","6.0.10":"76.0.3809.146","6.0.11":"76.0.3809.146","6.0.12":"76.0.3809.146","6.1.0":"76.0.3809.146","6.1.1":"76.0.3809.146","6.1.2":"76.0.3809.146","6.1.3":"76.0.3809.146","6.1.4":"76.0.3809.146","6.1.5":"76.0.3809.146","6.1.6":"76.0.3809.146","6.1.7":"76.0.3809.146","6.1.8":"76.0.3809.146","6.1.9":"76.0.3809.146","6.1.10":"76.0.3809.146","6.1.11":"76.0.3809.146","6.1.12":"76.0.3809.146","7.0.0-beta.1":"78.0.3866.0","7.0.0-beta.2":"78.0.3866.0","7.0.0-beta.3":"78.0.3866.0","7.0.0-beta.4":"78.0.3896.6","7.0.0-beta.5":"78.0.3905.1","7.0.0-beta.6":"78.0.3905.1","7.0.0-beta.7":"78.0.3905.1","7.0.0-nightly.20190521":"76.0.3784.0","7.0.0-nightly.20190529":"76.0.3806.0","7.0.0-nightly.20190530":"76.0.3806.0","7.0.0-nightly.20190531":"76.0.3806.0","7.0.0-nightly.20190602":"76.0.3806.0","7.0.0-nightly.20190603":"76.0.3806.0","7.0.0-nightly.20190604":"77.0.3814.0","7.0.0-nightly.20190605":"77.0.3815.0","7.0.0-nightly.20190606":"77.0.3815.0","7.0.0-nightly.20190607":"77.0.3815.0","7.0.0-nightly.20190608":"77.0.3815.0","7.0.0-nightly.20190609":"77.0.3815.0","7.0.0-nightly.20190611":"77.0.3815.0","7.0.0-nightly.20190612":"77.0.3815.0","7.0.0-nightly.20190613":"77.0.3815.0","7.0.0-nightly.20190615":"77.0.3815.0","7.0.0-nightly.20190616":"77.0.3815.0","7.0.0-nightly.20190618":"77.0.3815.0","7.0.0-nightly.20190619":"77.0.3815.0","7.0.0-nightly.20190622":"77.0.3815.0","7.0.0-nightly.20190623":"77.0.3815.0","7.0.0-nightly.20190624":"77.0.3815.0","7.0.0-nightly.20190627":"77.0.3815.0","7.0.0-nightly.20190629":"77.0.3815.0","7.0.0-nightly.20190630":"77.0.3815.0","7.0.0-nightly.20190701":"77.0.3815.0","7.0.0-nightly.20190702":"77.0.3815.0","7.0.0-nightly.20190704":"77.0.3843.0","7.0.0-nightly.20190705":"77.0.3843.0","7.0.0-nightly.20190719":"77.0.3848.0","7.0.0-nightly.20190720":"77.0.3848.0","7.0.0-nightly.20190721":"77.0.3848.0","7.0.0-nightly.20190726":"77.0.3864.0","7.0.0-nightly.20190727":"78.0.3866.0","7.0.0-nightly.20190728":"78.0.3866.0","7.0.0-nightly.20190729":"78.0.3866.0","7.0.0-nightly.20190730":"78.0.3866.0","7.0.0-nightly.20190731":"78.0.3866.0","7.0.0":"78.0.3905.1","7.0.1":"78.0.3904.92","7.1.0":"78.0.3904.94","7.1.1":"78.0.3904.99","7.1.2":"78.0.3904.113","7.1.3":"78.0.3904.126","7.1.4":"78.0.3904.130","7.1.5":"78.0.3904.130","7.1.6":"78.0.3904.130","7.1.7":"78.0.3904.130","7.1.8":"78.0.3904.130","7.1.9":"78.0.3904.130","7.1.10":"78.0.3904.130","7.1.11":"78.0.3904.130","7.1.12":"78.0.3904.130","7.1.13":"78.0.3904.130","7.1.14":"78.0.3904.130","7.2.0":"78.0.3904.130","7.2.1":"78.0.3904.130","7.2.2":"78.0.3904.130","7.2.3":"78.0.3904.130","7.2.4":"78.0.3904.130","7.3.0":"78.0.3904.130","7.3.1":"78.0.3904.130","7.3.2":"78.0.3904.130","7.3.3":"78.0.3904.130","8.0.0-beta.1":"79.0.3931.0","8.0.0-beta.2":"79.0.3931.0","8.0.0-beta.3":"80.0.3955.0","8.0.0-beta.4":"80.0.3955.0","8.0.0-beta.5":"80.0.3987.14","8.0.0-beta.6":"80.0.3987.51","8.0.0-beta.7":"80.0.3987.59","8.0.0-beta.8":"80.0.3987.75","8.0.0-beta.9":"80.0.3987.75","8.0.0-nightly.20190801":"78.0.3866.0","8.0.0-nightly.20190802":"78.0.3866.0","8.0.0-nightly.20190803":"78.0.3871.0","8.0.0-nightly.20190806":"78.0.3871.0","8.0.0-nightly.20190807":"78.0.3871.0","8.0.0-nightly.20190808":"78.0.3871.0","8.0.0-nightly.20190809":"78.0.3871.0","8.0.0-nightly.20190810":"78.0.3871.0","8.0.0-nightly.20190811":"78.0.3871.0","8.0.0-nightly.20190812":"78.0.3871.0","8.0.0-nightly.20190813":"78.0.3871.0","8.0.0-nightly.20190814":"78.0.3871.0","8.0.0-nightly.20190815":"78.0.3871.0","8.0.0-nightly.20190816":"78.0.3881.0","8.0.0-nightly.20190817":"78.0.3881.0","8.0.0-nightly.20190818":"78.0.3881.0","8.0.0-nightly.20190819":"78.0.3881.0","8.0.0-nightly.20190820":"78.0.3881.0","8.0.0-nightly.20190824":"78.0.3892.0","8.0.0-nightly.20190825":"78.0.3892.0","8.0.0-nightly.20190827":"78.0.3892.0","8.0.0-nightly.20190828":"78.0.3892.0","8.0.0-nightly.20190830":"78.0.3892.0","8.0.0-nightly.20190901":"78.0.3892.0","8.0.0-nightly.20190902":"78.0.3892.0","8.0.0-nightly.20190907":"78.0.3892.0","8.0.0-nightly.20190909":"78.0.3892.0","8.0.0-nightly.20190910":"78.0.3892.0","8.0.0-nightly.20190911":"78.0.3892.0","8.0.0-nightly.20190912":"78.0.3892.0","8.0.0-nightly.20190913":"78.0.3892.0","8.0.0-nightly.20190914":"78.0.3892.0","8.0.0-nightly.20190915":"78.0.3892.0","8.0.0-nightly.20190917":"78.0.3892.0","8.0.0-nightly.20190919":"79.0.3915.0","8.0.0-nightly.20190920":"79.0.3915.0","8.0.0-nightly.20190922":"79.0.3919.0","8.0.0-nightly.20190923":"79.0.3919.0","8.0.0-nightly.20190924":"79.0.3919.0","8.0.0-nightly.20190926":"79.0.3919.0","8.0.0-nightly.20190928":"79.0.3919.0","8.0.0-nightly.20190929":"79.0.3919.0","8.0.0-nightly.20190930":"79.0.3919.0","8.0.0-nightly.20191001":"79.0.3919.0","8.0.0-nightly.20191004":"79.0.3919.0","8.0.0-nightly.20191005":"79.0.3919.0","8.0.0-nightly.20191006":"79.0.3919.0","8.0.0-nightly.20191009":"79.0.3919.0","8.0.0-nightly.20191011":"79.0.3919.0","8.0.0-nightly.20191012":"79.0.3919.0","8.0.0-nightly.20191017":"79.0.3919.0","8.0.0-nightly.20191019":"79.0.3931.0","8.0.0-nightly.20191020":"79.0.3931.0","8.0.0-nightly.20191021":"79.0.3931.0","8.0.0-nightly.20191023":"79.0.3931.0","8.0.0-nightly.20191101":"80.0.3952.0","8.0.0-nightly.20191103":"80.0.3952.0","8.0.0-nightly.20191105":"80.0.3952.0","8.0.0":"80.0.3987.86","8.0.1":"80.0.3987.86","8.0.2":"80.0.3987.86","8.0.3":"80.0.3987.134","8.1.0":"80.0.3987.137","8.1.1":"80.0.3987.141","8.2.0":"80.0.3987.158","8.2.1":"80.0.3987.163","8.2.2":"80.0.3987.163","8.2.3":"80.0.3987.163","8.2.4":"80.0.3987.165","8.2.5":"80.0.3987.165","8.3.0":"80.0.3987.165","8.3.1":"80.0.3987.165","8.3.2":"80.0.3987.165","8.3.3":"80.0.3987.165","8.3.4":"80.0.3987.165","8.4.0":"80.0.3987.165","8.4.1":"80.0.3987.165","8.5.0":"80.0.3987.165","8.5.1":"80.0.3987.165","8.5.2":"80.0.3987.165","8.5.3":"80.0.3987.163","8.5.4":"80.0.3987.163","8.5.5":"80.0.3987.163","9.0.0-beta.1":"82.0.4048.0","9.0.0-beta.2":"82.0.4048.0","9.0.0-beta.3":"82.0.4048.0","9.0.0-beta.4":"82.0.4048.0","9.0.0-beta.5":"82.0.4048.0","9.0.0-beta.6":"82.0.4058.2","9.0.0-beta.7":"82.0.4058.2","9.0.0-beta.9":"82.0.4058.2","9.0.0-beta.10":"82.0.4085.10","9.0.0-beta.11":"82.0.4085.14","9.0.0-beta.12":"82.0.4085.14","9.0.0-beta.13":"82.0.4085.14","9.0.0-beta.14":"82.0.4085.27","9.0.0-beta.15":"83.0.4102.3","9.0.0-beta.16":"83.0.4102.3","9.0.0-beta.17":"83.0.4103.14","9.0.0-beta.18":"83.0.4103.16","9.0.0-beta.19":"83.0.4103.24","9.0.0-beta.20":"83.0.4103.26","9.0.0-beta.21":"83.0.4103.26","9.0.0-beta.22":"83.0.4103.34","9.0.0-beta.23":"83.0.4103.44","9.0.0-beta.24":"83.0.4103.45","9.0.0-nightly.20191121":"80.0.3954.0","9.0.0-nightly.20191122":"80.0.3954.0","9.0.0-nightly.20191123":"80.0.3954.0","9.0.0-nightly.20191124":"80.0.3954.0","9.0.0-nightly.20191126":"80.0.3954.0","9.0.0-nightly.20191128":"80.0.3954.0","9.0.0-nightly.20191129":"80.0.3954.0","9.0.0-nightly.20191130":"80.0.3954.0","9.0.0-nightly.20191201":"80.0.3954.0","9.0.0-nightly.20191202":"80.0.3954.0","9.0.0-nightly.20191203":"80.0.3954.0","9.0.0-nightly.20191204":"80.0.3954.0","9.0.0-nightly.20191205":"80.0.3954.0","9.0.0-nightly.20191210":"80.0.3954.0","9.0.0-nightly.20191220":"81.0.3994.0","9.0.0-nightly.20191221":"81.0.3994.0","9.0.0-nightly.20191222":"81.0.3994.0","9.0.0-nightly.20191223":"81.0.3994.0","9.0.0-nightly.20191224":"81.0.3994.0","9.0.0-nightly.20191225":"81.0.3994.0","9.0.0-nightly.20191226":"81.0.3994.0","9.0.0-nightly.20191228":"81.0.3994.0","9.0.0-nightly.20191229":"81.0.3994.0","9.0.0-nightly.20191230":"81.0.3994.0","9.0.0-nightly.20191231":"81.0.3994.0","9.0.0-nightly.20200101":"81.0.3994.0","9.0.0-nightly.20200103":"81.0.3994.0","9.0.0-nightly.20200104":"81.0.3994.0","9.0.0-nightly.20200105":"81.0.3994.0","9.0.0-nightly.20200106":"81.0.3994.0","9.0.0-nightly.20200108":"81.0.3994.0","9.0.0-nightly.20200109":"81.0.3994.0","9.0.0-nightly.20200110":"81.0.3994.0","9.0.0-nightly.20200111":"81.0.3994.0","9.0.0-nightly.20200113":"81.0.3994.0","9.0.0-nightly.20200115":"81.0.3994.0","9.0.0-nightly.20200116":"81.0.3994.0","9.0.0-nightly.20200117":"81.0.3994.0","9.0.0-nightly.20200119":"81.0.4030.0","9.0.0-nightly.20200121":"81.0.4030.0","9.0.0":"83.0.4103.64","9.0.1":"83.0.4103.94","9.0.2":"83.0.4103.94","9.0.3":"83.0.4103.100","9.0.4":"83.0.4103.104","9.0.5":"83.0.4103.119","9.1.0":"83.0.4103.122","9.1.1":"83.0.4103.122","9.1.2":"83.0.4103.122","9.2.0":"83.0.4103.122","9.2.1":"83.0.4103.122","9.3.0":"83.0.4103.122","9.3.1":"83.0.4103.122","9.3.2":"83.0.4103.122","9.3.3":"83.0.4103.122","9.3.4":"83.0.4103.122","9.3.5":"83.0.4103.122","9.4.0":"83.0.4103.122","9.4.1":"83.0.4103.122","9.4.2":"83.0.4103.122","9.4.3":"83.0.4103.122","9.4.4":"83.0.4103.122","10.0.0-beta.1":"84.0.4129.0","10.0.0-beta.2":"84.0.4129.0","10.0.0-beta.3":"85.0.4161.2","10.0.0-beta.4":"85.0.4161.2","10.0.0-beta.8":"85.0.4181.1","10.0.0-beta.9":"85.0.4181.1","10.0.0-beta.10":"85.0.4183.19","10.0.0-beta.11":"85.0.4183.20","10.0.0-beta.12":"85.0.4183.26","10.0.0-beta.13":"85.0.4183.39","10.0.0-beta.14":"85.0.4183.39","10.0.0-beta.15":"85.0.4183.39","10.0.0-beta.17":"85.0.4183.39","10.0.0-beta.19":"85.0.4183.39","10.0.0-beta.20":"85.0.4183.39","10.0.0-beta.21":"85.0.4183.39","10.0.0-beta.23":"85.0.4183.70","10.0.0-beta.24":"85.0.4183.78","10.0.0-beta.25":"85.0.4183.80","10.0.0-nightly.20200209":"82.0.4050.0","10.0.0-nightly.20200210":"82.0.4050.0","10.0.0-nightly.20200211":"82.0.4050.0","10.0.0-nightly.20200216":"82.0.4050.0","10.0.0-nightly.20200217":"82.0.4050.0","10.0.0-nightly.20200218":"82.0.4050.0","10.0.0-nightly.20200221":"82.0.4050.0","10.0.0-nightly.20200222":"82.0.4050.0","10.0.0-nightly.20200223":"82.0.4050.0","10.0.0-nightly.20200226":"82.0.4050.0","10.0.0-nightly.20200303":"82.0.4050.0","10.0.0-nightly.20200304":"82.0.4076.0","10.0.0-nightly.20200305":"82.0.4076.0","10.0.0-nightly.20200306":"82.0.4076.0","10.0.0-nightly.20200309":"82.0.4076.0","10.0.0-nightly.20200310":"82.0.4076.0","10.0.0-nightly.20200311":"82.0.4083.0","10.0.0-nightly.20200316":"83.0.4086.0","10.0.0-nightly.20200317":"83.0.4087.0","10.0.0-nightly.20200318":"83.0.4087.0","10.0.0-nightly.20200320":"83.0.4087.0","10.0.0-nightly.20200323":"83.0.4087.0","10.0.0-nightly.20200324":"83.0.4087.0","10.0.0-nightly.20200325":"83.0.4087.0","10.0.0-nightly.20200326":"83.0.4087.0","10.0.0-nightly.20200327":"83.0.4087.0","10.0.0-nightly.20200330":"83.0.4087.0","10.0.0-nightly.20200331":"83.0.4087.0","10.0.0-nightly.20200401":"83.0.4087.0","10.0.0-nightly.20200402":"83.0.4087.0","10.0.0-nightly.20200403":"83.0.4087.0","10.0.0-nightly.20200406":"83.0.4087.0","10.0.0-nightly.20200408":"83.0.4095.0","10.0.0-nightly.20200410":"83.0.4095.0","10.0.0-nightly.20200413":"83.0.4095.0","10.0.0-nightly.20200414":"84.0.4114.0","10.0.0-nightly.20200415":"84.0.4115.0","10.0.0-nightly.20200416":"84.0.4115.0","10.0.0-nightly.20200417":"84.0.4115.0","10.0.0-nightly.20200422":"84.0.4121.0","10.0.0-nightly.20200423":"84.0.4121.0","10.0.0-nightly.20200427":"84.0.4125.0","10.0.0-nightly.20200428":"84.0.4125.0","10.0.0-nightly.20200429":"84.0.4125.0","10.0.0-nightly.20200430":"84.0.4125.0","10.0.0-nightly.20200501":"84.0.4129.0","10.0.0-nightly.20200504":"84.0.4129.0","10.0.0-nightly.20200505":"84.0.4129.0","10.0.0-nightly.20200506":"84.0.4129.0","10.0.0-nightly.20200507":"84.0.4129.0","10.0.0-nightly.20200508":"84.0.4129.0","10.0.0-nightly.20200511":"84.0.4129.0","10.0.0-nightly.20200512":"84.0.4129.0","10.0.0-nightly.20200513":"84.0.4129.0","10.0.0-nightly.20200514":"84.0.4129.0","10.0.0-nightly.20200515":"84.0.4129.0","10.0.0-nightly.20200518":"84.0.4129.0","10.0.0-nightly.20200519":"84.0.4129.0","10.0.0-nightly.20200520":"84.0.4129.0","10.0.0-nightly.20200521":"84.0.4129.0","10.0.0":"85.0.4183.84","10.0.1":"85.0.4183.86","10.1.0":"85.0.4183.87","10.1.1":"85.0.4183.93","10.1.2":"85.0.4183.98","10.1.3":"85.0.4183.121","10.1.4":"85.0.4183.121","10.1.5":"85.0.4183.121","10.1.6":"85.0.4183.121","10.1.7":"85.0.4183.121","10.2.0":"85.0.4183.121","10.3.0":"85.0.4183.121","10.3.1":"85.0.4183.121","10.3.2":"85.0.4183.121","10.4.0":"85.0.4183.121","10.4.1":"85.0.4183.121","10.4.2":"85.0.4183.121","10.4.3":"85.0.4183.121","10.4.4":"85.0.4183.121","10.4.5":"85.0.4183.121","10.4.6":"85.0.4183.121","10.4.7":"85.0.4183.121","11.0.0-beta.1":"86.0.4234.0","11.0.0-beta.3":"86.0.4234.0","11.0.0-beta.4":"86.0.4234.0","11.0.0-beta.5":"86.0.4234.0","11.0.0-beta.6":"86.0.4234.0","11.0.0-beta.7":"86.0.4234.0","11.0.0-beta.8":"87.0.4251.1","11.0.0-beta.9":"87.0.4251.1","11.0.0-beta.11":"87.0.4251.1","11.0.0-beta.12":"87.0.4280.11","11.0.0-beta.13":"87.0.4280.11","11.0.0-beta.16":"87.0.4280.27","11.0.0-beta.17":"87.0.4280.27","11.0.0-beta.18":"87.0.4280.27","11.0.0-beta.19":"87.0.4280.27","11.0.0-beta.20":"87.0.4280.40","11.0.0-beta.22":"87.0.4280.47","11.0.0-beta.23":"87.0.4280.47","11.0.0-nightly.20200525":"84.0.4129.0","11.0.0-nightly.20200526":"84.0.4129.0","11.0.0-nightly.20200529":"85.0.4156.0","11.0.0-nightly.20200602":"85.0.4162.0","11.0.0-nightly.20200603":"85.0.4162.0","11.0.0-nightly.20200604":"85.0.4162.0","11.0.0-nightly.20200609":"85.0.4162.0","11.0.0-nightly.20200610":"85.0.4162.0","11.0.0-nightly.20200611":"85.0.4162.0","11.0.0-nightly.20200615":"85.0.4162.0","11.0.0-nightly.20200616":"85.0.4162.0","11.0.0-nightly.20200617":"85.0.4162.0","11.0.0-nightly.20200618":"85.0.4162.0","11.0.0-nightly.20200619":"85.0.4162.0","11.0.0-nightly.20200701":"85.0.4179.0","11.0.0-nightly.20200702":"85.0.4179.0","11.0.0-nightly.20200703":"85.0.4179.0","11.0.0-nightly.20200706":"85.0.4179.0","11.0.0-nightly.20200707":"85.0.4179.0","11.0.0-nightly.20200708":"85.0.4179.0","11.0.0-nightly.20200709":"85.0.4179.0","11.0.0-nightly.20200716":"86.0.4203.0","11.0.0-nightly.20200717":"86.0.4203.0","11.0.0-nightly.20200720":"86.0.4203.0","11.0.0-nightly.20200721":"86.0.4203.0","11.0.0-nightly.20200723":"86.0.4209.0","11.0.0-nightly.20200724":"86.0.4209.0","11.0.0-nightly.20200729":"86.0.4209.0","11.0.0-nightly.20200730":"86.0.4209.0","11.0.0-nightly.20200731":"86.0.4209.0","11.0.0-nightly.20200803":"86.0.4209.0","11.0.0-nightly.20200804":"86.0.4209.0","11.0.0-nightly.20200805":"86.0.4209.0","11.0.0-nightly.20200811":"86.0.4209.0","11.0.0-nightly.20200812":"86.0.4209.0","11.0.0-nightly.20200822":"86.0.4234.0","11.0.0-nightly.20200824":"86.0.4234.0","11.0.0-nightly.20200825":"86.0.4234.0","11.0.0-nightly.20200826":"86.0.4234.0","11.0.0":"87.0.4280.60","11.0.1":"87.0.4280.60","11.0.2":"87.0.4280.67","11.0.3":"87.0.4280.67","11.0.4":"87.0.4280.67","11.0.5":"87.0.4280.88","11.1.0":"87.0.4280.88","11.1.1":"87.0.4280.88","11.2.0":"87.0.4280.141","11.2.1":"87.0.4280.141","11.2.2":"87.0.4280.141","11.2.3":"87.0.4280.141","11.3.0":"87.0.4280.141","11.4.0":"87.0.4280.141","11.4.1":"87.0.4280.141","11.4.2":"87.0.4280.141","11.4.3":"87.0.4280.141","11.4.4":"87.0.4280.141","11.4.5":"87.0.4280.141","11.4.6":"87.0.4280.141","11.4.7":"87.0.4280.141","11.4.8":"87.0.4280.141","11.4.9":"87.0.4280.141","11.4.10":"87.0.4280.141","11.4.11":"87.0.4280.141","11.4.12":"87.0.4280.141","11.5.0":"87.0.4280.141","12.0.0-beta.1":"89.0.4328.0","12.0.0-beta.3":"89.0.4328.0","12.0.0-beta.4":"89.0.4328.0","12.0.0-beta.5":"89.0.4328.0","12.0.0-beta.6":"89.0.4328.0","12.0.0-beta.7":"89.0.4328.0","12.0.0-beta.8":"89.0.4328.0","12.0.0-beta.9":"89.0.4328.0","12.0.0-beta.10":"89.0.4328.0","12.0.0-beta.11":"89.0.4328.0","12.0.0-beta.12":"89.0.4328.0","12.0.0-beta.14":"89.0.4328.0","12.0.0-beta.16":"89.0.4348.1","12.0.0-beta.18":"89.0.4348.1","12.0.0-beta.19":"89.0.4348.1","12.0.0-beta.20":"89.0.4348.1","12.0.0-beta.21":"89.0.4388.2","12.0.0-beta.22":"89.0.4388.2","12.0.0-beta.23":"89.0.4388.2","12.0.0-beta.24":"89.0.4388.2","12.0.0-beta.25":"89.0.4388.2","12.0.0-beta.26":"89.0.4388.2","12.0.0-beta.27":"89.0.4389.23","12.0.0-beta.28":"89.0.4389.23","12.0.0-beta.29":"89.0.4389.23","12.0.0-beta.30":"89.0.4389.58","12.0.0-beta.31":"89.0.4389.58","12.0.0-nightly.20200827":"86.0.4234.0","12.0.0-nightly.20200831":"86.0.4234.0","12.0.0-nightly.20200902":"86.0.4234.0","12.0.0-nightly.20200903":"86.0.4234.0","12.0.0-nightly.20200907":"86.0.4234.0","12.0.0-nightly.20200910":"86.0.4234.0","12.0.0-nightly.20200911":"86.0.4234.0","12.0.0-nightly.20200914":"86.0.4234.0","12.0.0-nightly.20201002":"87.0.4268.0","12.0.0-nightly.20201007":"87.0.4268.0","12.0.0-nightly.20201009":"87.0.4268.0","12.0.0-nightly.20201012":"87.0.4268.0","12.0.0-nightly.20201013":"87.0.4268.0","12.0.0-nightly.20201014":"87.0.4268.0","12.0.0-nightly.20201015":"87.0.4268.0","12.0.0-nightly.20201023":"88.0.4292.0","12.0.0-nightly.20201026":"88.0.4292.0","12.0.0-nightly.20201030":"88.0.4306.0","12.0.0-nightly.20201102":"88.0.4306.0","12.0.0-nightly.20201103":"88.0.4306.0","12.0.0-nightly.20201104":"88.0.4306.0","12.0.0-nightly.20201105":"88.0.4306.0","12.0.0-nightly.20201106":"88.0.4306.0","12.0.0-nightly.20201111":"88.0.4306.0","12.0.0-nightly.20201112":"88.0.4306.0","12.0.0-nightly.20201116":"88.0.4324.0","12.0.0":"89.0.4389.69","12.0.1":"89.0.4389.82","12.0.2":"89.0.4389.90","12.0.3":"89.0.4389.114","12.0.4":"89.0.4389.114","12.0.5":"89.0.4389.128","12.0.6":"89.0.4389.128","12.0.7":"89.0.4389.128","12.0.8":"89.0.4389.128","12.0.9":"89.0.4389.128","12.0.10":"89.0.4389.128","12.0.11":"89.0.4389.128","12.0.12":"89.0.4389.128","12.0.13":"89.0.4389.128","12.0.14":"89.0.4389.128","12.0.15":"89.0.4389.128","12.0.16":"89.0.4389.128","12.0.17":"89.0.4389.128","12.0.18":"89.0.4389.128","12.1.0":"89.0.4389.128","12.1.1":"89.0.4389.128","12.1.2":"89.0.4389.128","12.2.0":"89.0.4389.128","12.2.1":"89.0.4389.128","12.2.2":"89.0.4389.128","12.2.3":"89.0.4389.128","13.0.0-beta.2":"90.0.4402.0","13.0.0-beta.3":"90.0.4402.0","13.0.0-beta.4":"90.0.4415.0","13.0.0-beta.5":"90.0.4415.0","13.0.0-beta.6":"90.0.4415.0","13.0.0-beta.7":"90.0.4415.0","13.0.0-beta.8":"90.0.4415.0","13.0.0-beta.9":"90.0.4415.0","13.0.0-beta.10":"90.0.4415.0","13.0.0-beta.11":"90.0.4415.0","13.0.0-beta.12":"90.0.4415.0","13.0.0-beta.13":"90.0.4415.0","13.0.0-beta.14":"91.0.4448.0","13.0.0-beta.16":"91.0.4448.0","13.0.0-beta.17":"91.0.4448.0","13.0.0-beta.18":"91.0.4448.0","13.0.0-beta.20":"91.0.4448.0","13.0.0-beta.21":"91.0.4472.33","13.0.0-beta.22":"91.0.4472.33","13.0.0-beta.23":"91.0.4472.33","13.0.0-beta.24":"91.0.4472.38","13.0.0-beta.25":"91.0.4472.38","13.0.0-beta.26":"91.0.4472.38","13.0.0-beta.27":"91.0.4472.38","13.0.0-beta.28":"91.0.4472.38","13.0.0-nightly.20201119":"89.0.4328.0","13.0.0-nightly.20201123":"89.0.4328.0","13.0.0-nightly.20201124":"89.0.4328.0","13.0.0-nightly.20201126":"89.0.4328.0","13.0.0-nightly.20201127":"89.0.4328.0","13.0.0-nightly.20201130":"89.0.4328.0","13.0.0-nightly.20201201":"89.0.4328.0","13.0.0-nightly.20201202":"89.0.4328.0","13.0.0-nightly.20201203":"89.0.4328.0","13.0.0-nightly.20201204":"89.0.4328.0","13.0.0-nightly.20201207":"89.0.4328.0","13.0.0-nightly.20201208":"89.0.4328.0","13.0.0-nightly.20201209":"89.0.4328.0","13.0.0-nightly.20201210":"89.0.4328.0","13.0.0-nightly.20201211":"89.0.4328.0","13.0.0-nightly.20201214":"89.0.4328.0","13.0.0-nightly.20201215":"89.0.4349.0","13.0.0-nightly.20201216":"89.0.4349.0","13.0.0-nightly.20201221":"89.0.4349.0","13.0.0-nightly.20201222":"89.0.4349.0","13.0.0-nightly.20201223":"89.0.4359.0","13.0.0-nightly.20210104":"89.0.4359.0","13.0.0-nightly.20210108":"89.0.4359.0","13.0.0-nightly.20210111":"89.0.4359.0","13.0.0-nightly.20210113":"89.0.4386.0","13.0.0-nightly.20210114":"89.0.4386.0","13.0.0-nightly.20210118":"89.0.4386.0","13.0.0-nightly.20210122":"89.0.4386.0","13.0.0-nightly.20210125":"89.0.4386.0","13.0.0-nightly.20210127":"89.0.4389.0","13.0.0-nightly.20210128":"89.0.4389.0","13.0.0-nightly.20210129":"89.0.4389.0","13.0.0-nightly.20210201":"89.0.4389.0","13.0.0-nightly.20210202":"89.0.4389.0","13.0.0-nightly.20210203":"89.0.4389.0","13.0.0-nightly.20210205":"89.0.4389.0","13.0.0-nightly.20210208":"89.0.4389.0","13.0.0-nightly.20210209":"89.0.4389.0","13.0.0-nightly.20210210":"90.0.4402.0","13.0.0-nightly.20210211":"90.0.4402.0","13.0.0-nightly.20210212":"90.0.4402.0","13.0.0-nightly.20210216":"90.0.4402.0","13.0.0-nightly.20210217":"90.0.4402.0","13.0.0-nightly.20210218":"90.0.4402.0","13.0.0-nightly.20210219":"90.0.4402.0","13.0.0-nightly.20210222":"90.0.4402.0","13.0.0-nightly.20210225":"90.0.4402.0","13.0.0-nightly.20210226":"90.0.4402.0","13.0.0-nightly.20210301":"90.0.4402.0","13.0.0-nightly.20210302":"90.0.4402.0","13.0.0-nightly.20210303":"90.0.4402.0","13.0.0":"91.0.4472.69","13.0.1":"91.0.4472.69","13.1.0":"91.0.4472.77","13.1.1":"91.0.4472.77","13.1.2":"91.0.4472.77","13.1.3":"91.0.4472.106","13.1.4":"91.0.4472.106","13.1.5":"91.0.4472.124","13.1.6":"91.0.4472.124","13.1.7":"91.0.4472.124","13.1.8":"91.0.4472.164","13.1.9":"91.0.4472.164","13.2.0":"91.0.4472.164","13.2.1":"91.0.4472.164","13.2.2":"91.0.4472.164","13.2.3":"91.0.4472.164","13.3.0":"91.0.4472.164","13.4.0":"91.0.4472.164","13.5.0":"91.0.4472.164","13.5.1":"91.0.4472.164","13.5.2":"91.0.4472.164","13.6.0":"91.0.4472.164","13.6.1":"91.0.4472.164","13.6.2":"91.0.4472.164","13.6.3":"91.0.4472.164","13.6.6":"91.0.4472.164","13.6.7":"91.0.4472.164","13.6.8":"91.0.4472.164","13.6.9":"91.0.4472.164","14.0.0-beta.1":"92.0.4511.0","14.0.0-beta.2":"92.0.4511.0","14.0.0-beta.3":"92.0.4511.0","14.0.0-beta.5":"93.0.4536.0","14.0.0-beta.6":"93.0.4536.0","14.0.0-beta.7":"93.0.4536.0","14.0.0-beta.8":"93.0.4536.0","14.0.0-beta.9":"93.0.4539.0","14.0.0-beta.10":"93.0.4539.0","14.0.0-beta.11":"93.0.4557.4","14.0.0-beta.12":"93.0.4557.4","14.0.0-beta.13":"93.0.4566.0","14.0.0-beta.14":"93.0.4566.0","14.0.0-beta.15":"93.0.4566.0","14.0.0-beta.16":"93.0.4566.0","14.0.0-beta.17":"93.0.4566.0","14.0.0-beta.18":"93.0.4577.15","14.0.0-beta.19":"93.0.4577.15","14.0.0-beta.20":"93.0.4577.15","14.0.0-beta.21":"93.0.4577.15","14.0.0-beta.22":"93.0.4577.25","14.0.0-beta.23":"93.0.4577.25","14.0.0-beta.24":"93.0.4577.51","14.0.0-beta.25":"93.0.4577.51","14.0.0-nightly.20210304":"90.0.4402.0","14.0.0-nightly.20210305":"90.0.4415.0","14.0.0-nightly.20210308":"90.0.4415.0","14.0.0-nightly.20210309":"90.0.4415.0","14.0.0-nightly.20210311":"90.0.4415.0","14.0.0-nightly.20210315":"90.0.4415.0","14.0.0-nightly.20210316":"90.0.4415.0","14.0.0-nightly.20210317":"90.0.4415.0","14.0.0-nightly.20210318":"90.0.4415.0","14.0.0-nightly.20210319":"90.0.4415.0","14.0.0-nightly.20210323":"90.0.4415.0","14.0.0-nightly.20210324":"90.0.4415.0","14.0.0-nightly.20210325":"90.0.4415.0","14.0.0-nightly.20210326":"90.0.4415.0","14.0.0-nightly.20210329":"90.0.4415.0","14.0.0-nightly.20210330":"90.0.4415.0","14.0.0-nightly.20210331":"91.0.4448.0","14.0.0-nightly.20210401":"91.0.4448.0","14.0.0-nightly.20210402":"91.0.4448.0","14.0.0-nightly.20210406":"91.0.4448.0","14.0.0-nightly.20210407":"91.0.4448.0","14.0.0-nightly.20210408":"91.0.4448.0","14.0.0-nightly.20210409":"91.0.4448.0","14.0.0-nightly.20210413":"91.0.4448.0","14.0.0-nightly.20210426":"92.0.4475.0","14.0.0-nightly.20210427":"92.0.4475.0","14.0.0-nightly.20210430":"92.0.4488.0","14.0.0-nightly.20210503":"92.0.4488.0","14.0.0-nightly.20210505":"92.0.4496.0","14.0.0-nightly.20210506":"92.0.4498.0","14.0.0-nightly.20210507":"92.0.4499.0","14.0.0-nightly.20210510":"92.0.4499.0","14.0.0-nightly.20210511":"92.0.4499.0","14.0.0-nightly.20210512":"92.0.4499.0","14.0.0-nightly.20210513":"92.0.4499.0","14.0.0-nightly.20210514":"92.0.4505.0","14.0.0-nightly.20210517":"92.0.4505.0","14.0.0-nightly.20210518":"92.0.4505.0","14.0.0-nightly.20210519":"92.0.4505.0","14.0.0-nightly.20210520":"92.0.4511.0","14.0.0-nightly.20210523":"92.0.4511.0","14.0.0-nightly.20210524":"92.0.4511.0","14.0.0":"93.0.4577.58","14.0.1":"93.0.4577.63","14.0.2":"93.0.4577.82","14.1.0":"93.0.4577.82","14.1.1":"93.0.4577.82","14.2.0":"93.0.4577.82","14.2.1":"93.0.4577.82","14.2.2":"93.0.4577.82","14.2.3":"93.0.4577.82","14.2.4":"93.0.4577.82","14.2.5":"93.0.4577.82","14.2.6":"93.0.4577.82","14.2.7":"93.0.4577.82","14.2.8":"93.0.4577.82","14.2.9":"93.0.4577.82","15.0.0-alpha.1":"93.0.4566.0","15.0.0-alpha.2":"93.0.4566.0","15.0.0-alpha.3":"94.0.4584.0","15.0.0-alpha.4":"94.0.4584.0","15.0.0-alpha.5":"94.0.4584.0","15.0.0-alpha.6":"94.0.4584.0","15.0.0-alpha.7":"94.0.4590.2","15.0.0-alpha.8":"94.0.4590.2","15.0.0-alpha.9":"94.0.4590.2","15.0.0-alpha.10":"94.0.4606.12","15.0.0-beta.1":"94.0.4606.20","15.0.0-beta.2":"94.0.4606.20","15.0.0-beta.3":"94.0.4606.31","15.0.0-beta.4":"94.0.4606.31","15.0.0-beta.5":"94.0.4606.31","15.0.0-beta.6":"94.0.4606.31","15.0.0-beta.7":"94.0.4606.31","15.0.0-nightly.20210527":"92.0.4511.0","15.0.0-nightly.20210528":"92.0.4511.0","15.0.0-nightly.20210531":"92.0.4511.0","15.0.0-nightly.20210601":"92.0.4511.0","15.0.0-nightly.20210602":"92.0.4511.0","15.0.0-nightly.20210603":"93.0.4530.0","15.0.0-nightly.20210604":"93.0.4530.0","15.0.0-nightly.20210608":"93.0.4535.0","15.0.0-nightly.20210609":"93.0.4536.0","15.0.0-nightly.20210610":"93.0.4536.0","15.0.0-nightly.20210611":"93.0.4536.0","15.0.0-nightly.20210614":"93.0.4536.0","15.0.0-nightly.20210615":"93.0.4536.0","15.0.0-nightly.20210616":"93.0.4536.0","15.0.0-nightly.20210617":"93.0.4539.0","15.0.0-nightly.20210618":"93.0.4539.0","15.0.0-nightly.20210621":"93.0.4539.0","15.0.0-nightly.20210622":"93.0.4539.0","15.0.0-nightly.20210623":"93.0.4550.0","15.0.0-nightly.20210624":"93.0.4550.0","15.0.0-nightly.20210625":"93.0.4552.0","15.0.0-nightly.20210628":"93.0.4552.0","15.0.0-nightly.20210629":"93.0.4552.0","15.0.0-nightly.20210630":"93.0.4558.0","15.0.0-nightly.20210701":"93.0.4558.0","15.0.0-nightly.20210702":"93.0.4558.0","15.0.0-nightly.20210705":"93.0.4558.0","15.0.0-nightly.20210706":"93.0.4566.0","15.0.0-nightly.20210707":"93.0.4566.0","15.0.0-nightly.20210708":"93.0.4566.0","15.0.0-nightly.20210709":"93.0.4566.0","15.0.0-nightly.20210712":"93.0.4566.0","15.0.0-nightly.20210713":"93.0.4566.0","15.0.0-nightly.20210714":"93.0.4566.0","15.0.0-nightly.20210715":"93.0.4566.0","15.0.0-nightly.20210716":"93.0.4566.0","15.0.0-nightly.20210719":"93.0.4566.0","15.0.0-nightly.20210720":"93.0.4566.0","15.0.0-nightly.20210721":"93.0.4566.0","15.0.0":"94.0.4606.51","15.1.0":"94.0.4606.61","15.1.1":"94.0.4606.61","15.1.2":"94.0.4606.71","15.2.0":"94.0.4606.81","15.3.0":"94.0.4606.81","15.3.1":"94.0.4606.81","15.3.2":"94.0.4606.81","15.3.3":"94.0.4606.81","15.3.4":"94.0.4606.81","15.3.5":"94.0.4606.81","15.3.6":"94.0.4606.81","15.3.7":"94.0.4606.81","15.4.0":"94.0.4606.81","15.4.1":"94.0.4606.81","15.4.2":"94.0.4606.81","15.5.0":"94.0.4606.81","15.5.1":"94.0.4606.81","15.5.2":"94.0.4606.81","15.5.3":"94.0.4606.81","15.5.4":"94.0.4606.81","15.5.5":"94.0.4606.81","15.5.6":"94.0.4606.81","15.5.7":"94.0.4606.81","16.0.0-alpha.1":"95.0.4629.0","16.0.0-alpha.2":"95.0.4629.0","16.0.0-alpha.3":"95.0.4629.0","16.0.0-alpha.4":"95.0.4629.0","16.0.0-alpha.5":"95.0.4629.0","16.0.0-alpha.6":"95.0.4629.0","16.0.0-alpha.7":"95.0.4629.0","16.0.0-alpha.8":"96.0.4647.0","16.0.0-alpha.9":"96.0.4647.0","16.0.0-beta.1":"96.0.4647.0","16.0.0-beta.2":"96.0.4647.0","16.0.0-beta.3":"96.0.4647.0","16.0.0-beta.4":"96.0.4664.18","16.0.0-beta.5":"96.0.4664.18","16.0.0-beta.6":"96.0.4664.27","16.0.0-beta.7":"96.0.4664.27","16.0.0-beta.8":"96.0.4664.35","16.0.0-beta.9":"96.0.4664.35","16.0.0-nightly.20210722":"93.0.4566.0","16.0.0-nightly.20210723":"93.0.4566.0","16.0.0-nightly.20210726":"93.0.4566.0","16.0.0-nightly.20210727":"94.0.4584.0","16.0.0-nightly.20210728":"94.0.4584.0","16.0.0-nightly.20210729":"94.0.4584.0","16.0.0-nightly.20210730":"94.0.4584.0","16.0.0-nightly.20210802":"94.0.4584.0","16.0.0-nightly.20210803":"94.0.4584.0","16.0.0-nightly.20210804":"94.0.4584.0","16.0.0-nightly.20210805":"94.0.4584.0","16.0.0-nightly.20210806":"94.0.4584.0","16.0.0-nightly.20210809":"94.0.4584.0","16.0.0-nightly.20210810":"94.0.4584.0","16.0.0-nightly.20210811":"94.0.4584.0","16.0.0-nightly.20210812":"94.0.4590.2","16.0.0-nightly.20210813":"94.0.4590.2","16.0.0-nightly.20210816":"94.0.4590.2","16.0.0-nightly.20210817":"94.0.4590.2","16.0.0-nightly.20210818":"94.0.4590.2","16.0.0-nightly.20210819":"94.0.4590.2","16.0.0-nightly.20210820":"94.0.4590.2","16.0.0-nightly.20210823":"94.0.4590.2","16.0.0-nightly.20210824":"95.0.4612.5","16.0.0-nightly.20210825":"95.0.4612.5","16.0.0-nightly.20210826":"95.0.4612.5","16.0.0-nightly.20210827":"95.0.4612.5","16.0.0-nightly.20210830":"95.0.4612.5","16.0.0-nightly.20210831":"95.0.4612.5","16.0.0-nightly.20210901":"95.0.4612.5","16.0.0-nightly.20210902":"95.0.4629.0","16.0.0-nightly.20210903":"95.0.4629.0","16.0.0-nightly.20210906":"95.0.4629.0","16.0.0-nightly.20210907":"95.0.4629.0","16.0.0-nightly.20210908":"95.0.4629.0","16.0.0-nightly.20210909":"95.0.4629.0","16.0.0-nightly.20210910":"95.0.4629.0","16.0.0-nightly.20210913":"95.0.4629.0","16.0.0-nightly.20210914":"95.0.4629.0","16.0.0-nightly.20210915":"95.0.4629.0","16.0.0-nightly.20210916":"95.0.4629.0","16.0.0-nightly.20210917":"95.0.4629.0","16.0.0-nightly.20210920":"95.0.4629.0","16.0.0-nightly.20210921":"95.0.4629.0","16.0.0-nightly.20210922":"95.0.4629.0","16.0.0":"96.0.4664.45","16.0.1":"96.0.4664.45","16.0.2":"96.0.4664.55","16.0.3":"96.0.4664.55","16.0.4":"96.0.4664.55","16.0.5":"96.0.4664.55","16.0.6":"96.0.4664.110","16.0.7":"96.0.4664.110","16.0.8":"96.0.4664.110","16.0.9":"96.0.4664.174","16.0.10":"96.0.4664.174","16.1.0":"96.0.4664.174","16.1.1":"96.0.4664.174","16.2.0":"96.0.4664.174","16.2.1":"96.0.4664.174","16.2.2":"96.0.4664.174","16.2.3":"96.0.4664.174","16.2.4":"96.0.4664.174","16.2.5":"96.0.4664.174","16.2.6":"96.0.4664.174","16.2.7":"96.0.4664.174","16.2.8":"96.0.4664.174","17.0.0-alpha.1":"96.0.4664.4","17.0.0-alpha.2":"96.0.4664.4","17.0.0-alpha.3":"96.0.4664.4","17.0.0-alpha.4":"98.0.4706.0","17.0.0-alpha.5":"98.0.4706.0","17.0.0-alpha.6":"98.0.4706.0","17.0.0-beta.1":"98.0.4706.0","17.0.0-beta.2":"98.0.4706.0","17.0.0-beta.3":"98.0.4758.9","17.0.0-beta.4":"98.0.4758.11","17.0.0-beta.5":"98.0.4758.11","17.0.0-beta.6":"98.0.4758.11","17.0.0-beta.7":"98.0.4758.11","17.0.0-beta.8":"98.0.4758.11","17.0.0-beta.9":"98.0.4758.11","17.0.0-nightly.20210923":"95.0.4629.0","17.0.0-nightly.20210924":"95.0.4629.0","17.0.0-nightly.20210927":"95.0.4629.0","17.0.0-nightly.20210928":"95.0.4629.0","17.0.0-nightly.20210929":"95.0.4629.0","17.0.0-nightly.20210930":"95.0.4629.0","17.0.0-nightly.20211001":"95.0.4629.0","17.0.0-nightly.20211004":"95.0.4629.0","17.0.0-nightly.20211005":"95.0.4629.0","17.0.0-nightly.20211006":"96.0.4647.0","17.0.0-nightly.20211007":"96.0.4647.0","17.0.0-nightly.20211008":"96.0.4647.0","17.0.0-nightly.20211011":"96.0.4647.0","17.0.0-nightly.20211012":"96.0.4647.0","17.0.0-nightly.20211013":"96.0.4647.0","17.0.0-nightly.20211014":"96.0.4647.0","17.0.0-nightly.20211015":"96.0.4647.0","17.0.0-nightly.20211018":"96.0.4647.0","17.0.0-nightly.20211019":"96.0.4647.0","17.0.0-nightly.20211020":"96.0.4647.0","17.0.0-nightly.20211021":"96.0.4647.0","17.0.0-nightly.20211022":"96.0.4664.4","17.0.0-nightly.20211025":"96.0.4664.4","17.0.0-nightly.20211026":"96.0.4664.4","17.0.0-nightly.20211027":"96.0.4664.4","17.0.0-nightly.20211028":"96.0.4664.4","17.0.0-nightly.20211029":"96.0.4664.4","17.0.0-nightly.20211101":"96.0.4664.4","17.0.0-nightly.20211102":"96.0.4664.4","17.0.0-nightly.20211103":"96.0.4664.4","17.0.0-nightly.20211104":"96.0.4664.4","17.0.0-nightly.20211105":"96.0.4664.4","17.0.0-nightly.20211108":"96.0.4664.4","17.0.0-nightly.20211109":"96.0.4664.4","17.0.0-nightly.20211110":"96.0.4664.4","17.0.0-nightly.20211111":"96.0.4664.4","17.0.0-nightly.20211112":"96.0.4664.4","17.0.0-nightly.20211115":"96.0.4664.4","17.0.0-nightly.20211116":"96.0.4664.4","17.0.0-nightly.20211117":"96.0.4664.4","17.0.0":"98.0.4758.74","17.0.1":"98.0.4758.82","17.1.0":"98.0.4758.102","17.1.1":"98.0.4758.109","17.1.2":"98.0.4758.109","17.2.0":"98.0.4758.109","17.3.0":"98.0.4758.141","17.3.1":"98.0.4758.141","17.4.0":"98.0.4758.141","17.4.1":"98.0.4758.141","17.4.2":"98.0.4758.141","17.4.3":"98.0.4758.141","17.4.4":"98.0.4758.141","17.4.5":"98.0.4758.141","17.4.6":"98.0.4758.141","17.4.7":"98.0.4758.141","17.4.8":"98.0.4758.141","17.4.9":"98.0.4758.141","17.4.10":"98.0.4758.141","17.4.11":"98.0.4758.141","18.0.0-alpha.1":"99.0.4767.0","18.0.0-alpha.2":"99.0.4767.0","18.0.0-alpha.3":"99.0.4767.0","18.0.0-alpha.4":"99.0.4767.0","18.0.0-alpha.5":"99.0.4767.0","18.0.0-beta.1":"100.0.4894.0","18.0.0-beta.2":"100.0.4894.0","18.0.0-beta.3":"100.0.4894.0","18.0.0-beta.4":"100.0.4894.0","18.0.0-beta.5":"100.0.4894.0","18.0.0-beta.6":"100.0.4894.0","18.0.0-nightly.20211118":"96.0.4664.4","18.0.0-nightly.20211119":"96.0.4664.4","18.0.0-nightly.20211122":"96.0.4664.4","18.0.0-nightly.20211123":"96.0.4664.4","18.0.0-nightly.20211124":"98.0.4706.0","18.0.0-nightly.20211125":"98.0.4706.0","18.0.0-nightly.20211126":"98.0.4706.0","18.0.0-nightly.20211129":"98.0.4706.0","18.0.0-nightly.20211130":"98.0.4706.0","18.0.0-nightly.20211201":"98.0.4706.0","18.0.0-nightly.20211202":"98.0.4706.0","18.0.0-nightly.20211203":"98.0.4706.0","18.0.0-nightly.20211206":"98.0.4706.0","18.0.0-nightly.20211207":"98.0.4706.0","18.0.0-nightly.20211208":"98.0.4706.0","18.0.0-nightly.20211209":"98.0.4706.0","18.0.0-nightly.20211210":"98.0.4706.0","18.0.0-nightly.20211213":"98.0.4706.0","18.0.0-nightly.20211214":"98.0.4706.0","18.0.0-nightly.20211215":"98.0.4706.0","18.0.0-nightly.20211216":"98.0.4706.0","18.0.0-nightly.20211217":"98.0.4706.0","18.0.0-nightly.20211220":"98.0.4706.0","18.0.0-nightly.20211221":"98.0.4706.0","18.0.0-nightly.20211222":"98.0.4706.0","18.0.0-nightly.20211223":"98.0.4706.0","18.0.0-nightly.20211228":"98.0.4706.0","18.0.0-nightly.20211229":"98.0.4706.0","18.0.0-nightly.20211231":"98.0.4706.0","18.0.0-nightly.20220103":"98.0.4706.0","18.0.0-nightly.20220104":"98.0.4706.0","18.0.0-nightly.20220105":"98.0.4706.0","18.0.0-nightly.20220106":"98.0.4706.0","18.0.0-nightly.20220107":"98.0.4706.0","18.0.0-nightly.20220110":"98.0.4706.0","18.0.0-nightly.20220111":"99.0.4767.0","18.0.0-nightly.20220112":"99.0.4767.0","18.0.0-nightly.20220113":"99.0.4767.0","18.0.0-nightly.20220114":"99.0.4767.0","18.0.0-nightly.20220117":"99.0.4767.0","18.0.0-nightly.20220118":"99.0.4767.0","18.0.0-nightly.20220119":"99.0.4767.0","18.0.0-nightly.20220121":"99.0.4767.0","18.0.0-nightly.20220124":"99.0.4767.0","18.0.0-nightly.20220125":"99.0.4767.0","18.0.0-nightly.20220127":"99.0.4767.0","18.0.0-nightly.20220128":"99.0.4767.0","18.0.0-nightly.20220131":"99.0.4767.0","18.0.0-nightly.20220201":"99.0.4767.0","18.0.0":"100.0.4896.56","18.0.1":"100.0.4896.60","18.0.2":"100.0.4896.60","18.0.3":"100.0.4896.75","18.0.4":"100.0.4896.75","18.1.0":"100.0.4896.127","18.2.0":"100.0.4896.143","18.2.1":"100.0.4896.143","18.2.2":"100.0.4896.143","18.2.3":"100.0.4896.143","18.2.4":"100.0.4896.160","18.3.0":"100.0.4896.160","18.3.1":"100.0.4896.160","18.3.2":"100.0.4896.160","18.3.3":"100.0.4896.160","18.3.4":"100.0.4896.160","18.3.5":"100.0.4896.160","18.3.6":"100.0.4896.160","18.3.7":"100.0.4896.160","18.3.8":"100.0.4896.160","18.3.9":"100.0.4896.160","18.3.11":"100.0.4896.160","18.3.12":"100.0.4896.160","18.3.13":"100.0.4896.160","18.3.14":"100.0.4896.160","18.3.15":"100.0.4896.160","19.0.0-alpha.1":"102.0.4962.3","19.0.0-alpha.2":"102.0.4971.0","19.0.0-alpha.3":"102.0.4971.0","19.0.0-alpha.4":"102.0.4989.0","19.0.0-alpha.5":"102.0.4989.0","19.0.0-beta.1":"102.0.4999.0","19.0.0-beta.2":"102.0.4999.0","19.0.0-beta.3":"102.0.4999.0","19.0.0-beta.4":"102.0.5005.27","19.0.0-beta.5":"102.0.5005.40","19.0.0-beta.6":"102.0.5005.40","19.0.0-beta.7":"102.0.5005.40","19.0.0-beta.8":"102.0.5005.49","19.0.0-nightly.20220202":"99.0.4767.0","19.0.0-nightly.20220203":"99.0.4767.0","19.0.0-nightly.20220204":"99.0.4767.0","19.0.0-nightly.20220207":"99.0.4767.0","19.0.0-nightly.20220208":"99.0.4767.0","19.0.0-nightly.20220209":"99.0.4767.0","19.0.0-nightly.20220308":"100.0.4894.0","19.0.0-nightly.20220309":"100.0.4894.0","19.0.0-nightly.20220310":"100.0.4894.0","19.0.0-nightly.20220311":"100.0.4894.0","19.0.0-nightly.20220314":"100.0.4894.0","19.0.0-nightly.20220315":"100.0.4894.0","19.0.0-nightly.20220316":"100.0.4894.0","19.0.0-nightly.20220317":"100.0.4894.0","19.0.0-nightly.20220318":"100.0.4894.0","19.0.0-nightly.20220321":"100.0.4894.0","19.0.0-nightly.20220322":"100.0.4894.0","19.0.0-nightly.20220323":"100.0.4894.0","19.0.0-nightly.20220324":"100.0.4894.0","19.0.0-nightly.20220325":"102.0.4961.0","19.0.0-nightly.20220328":"102.0.4962.3","19.0.0-nightly.20220329":"102.0.4962.3","19.0.0":"102.0.5005.61","19.0.1":"102.0.5005.61","19.0.2":"102.0.5005.63","19.0.3":"102.0.5005.63","19.0.4":"102.0.5005.63","19.0.5":"102.0.5005.115","19.0.6":"102.0.5005.115","19.0.7":"102.0.5005.134","19.0.8":"102.0.5005.148","19.0.9":"102.0.5005.167","19.0.10":"102.0.5005.167","19.0.11":"102.0.5005.167","19.0.12":"102.0.5005.167","19.0.13":"102.0.5005.167","19.0.14":"102.0.5005.167","19.0.15":"102.0.5005.167","19.0.16":"102.0.5005.167","19.0.17":"102.0.5005.167","19.1.0":"102.0.5005.167","19.1.1":"102.0.5005.167","19.1.2":"102.0.5005.167","19.1.3":"102.0.5005.167","19.1.4":"102.0.5005.167","19.1.5":"102.0.5005.167","19.1.6":"102.0.5005.167","19.1.7":"102.0.5005.167","19.1.8":"102.0.5005.167","19.1.9":"102.0.5005.167","20.0.0-alpha.1":"103.0.5044.0","20.0.0-alpha.2":"104.0.5073.0","20.0.0-alpha.3":"104.0.5073.0","20.0.0-alpha.4":"104.0.5073.0","20.0.0-alpha.5":"104.0.5073.0","20.0.0-alpha.6":"104.0.5073.0","20.0.0-alpha.7":"104.0.5073.0","20.0.0-beta.1":"104.0.5073.0","20.0.0-beta.2":"104.0.5073.0","20.0.0-beta.3":"104.0.5073.0","20.0.0-beta.4":"104.0.5073.0","20.0.0-beta.5":"104.0.5073.0","20.0.0-beta.6":"104.0.5073.0","20.0.0-beta.7":"104.0.5073.0","20.0.0-beta.8":"104.0.5073.0","20.0.0-beta.9":"104.0.5112.39","20.0.0-beta.10":"104.0.5112.48","20.0.0-beta.11":"104.0.5112.48","20.0.0-beta.12":"104.0.5112.48","20.0.0-beta.13":"104.0.5112.57","20.0.0-nightly.20220330":"102.0.4962.3","20.0.0-nightly.20220411":"102.0.4971.0","20.0.0-nightly.20220414":"102.0.4989.0","20.0.0-nightly.20220415":"102.0.4989.0","20.0.0-nightly.20220418":"102.0.4989.0","20.0.0-nightly.20220419":"102.0.4989.0","20.0.0-nightly.20220420":"102.0.4989.0","20.0.0-nightly.20220421":"102.0.4989.0","20.0.0-nightly.20220425":"102.0.4999.0","20.0.0-nightly.20220426":"102.0.4999.0","20.0.0-nightly.20220427":"102.0.4999.0","20.0.0-nightly.20220428":"102.0.4999.0","20.0.0-nightly.20220429":"102.0.4999.0","20.0.0-nightly.20220502":"102.0.4999.0","20.0.0-nightly.20220503":"102.0.4999.0","20.0.0-nightly.20220504":"102.0.4999.0","20.0.0-nightly.20220505":"102.0.4999.0","20.0.0-nightly.20220506":"102.0.4999.0","20.0.0-nightly.20220509":"102.0.4999.0","20.0.0-nightly.20220511":"102.0.4999.0","20.0.0-nightly.20220512":"102.0.4999.0","20.0.0-nightly.20220513":"102.0.4999.0","20.0.0-nightly.20220516":"102.0.4999.0","20.0.0-nightly.20220517":"102.0.4999.0","20.0.0-nightly.20220518":"103.0.5044.0","20.0.0-nightly.20220519":"103.0.5044.0","20.0.0-nightly.20220520":"103.0.5044.0","20.0.0-nightly.20220523":"103.0.5044.0","20.0.0-nightly.20220524":"103.0.5044.0","20.0.0":"104.0.5112.65","20.0.1":"104.0.5112.81","20.0.2":"104.0.5112.81","20.0.3":"104.0.5112.81","20.1.0":"104.0.5112.102","20.1.1":"104.0.5112.102","20.1.2":"104.0.5112.114","20.1.3":"104.0.5112.114","20.1.4":"104.0.5112.114","20.2.0":"104.0.5112.124","20.3.0":"104.0.5112.124","20.3.1":"104.0.5112.124","20.3.2":"104.0.5112.124","20.3.3":"104.0.5112.124","20.3.4":"104.0.5112.124","20.3.5":"104.0.5112.124","20.3.6":"104.0.5112.124","20.3.7":"104.0.5112.124","20.3.8":"104.0.5112.124","20.3.9":"104.0.5112.124","20.3.10":"104.0.5112.124","20.3.11":"104.0.5112.124","20.3.12":"104.0.5112.124","21.0.0-alpha.1":"105.0.5187.0","21.0.0-alpha.2":"105.0.5187.0","21.0.0-alpha.3":"105.0.5187.0","21.0.0-alpha.4":"105.0.5187.0","21.0.0-alpha.5":"105.0.5187.0","21.0.0-alpha.6":"106.0.5216.0","21.0.0-beta.1":"106.0.5216.0","21.0.0-beta.2":"106.0.5216.0","21.0.0-beta.3":"106.0.5216.0","21.0.0-beta.4":"106.0.5216.0","21.0.0-beta.5":"106.0.5216.0","21.0.0-beta.6":"106.0.5249.40","21.0.0-beta.7":"106.0.5249.40","21.0.0-beta.8":"106.0.5249.40","21.0.0-nightly.20220526":"103.0.5044.0","21.0.0-nightly.20220527":"103.0.5044.0","21.0.0-nightly.20220530":"103.0.5044.0","21.0.0-nightly.20220531":"103.0.5044.0","21.0.0-nightly.20220602":"104.0.5073.0","21.0.0-nightly.20220603":"104.0.5073.0","21.0.0-nightly.20220606":"104.0.5073.0","21.0.0-nightly.20220607":"104.0.5073.0","21.0.0-nightly.20220608":"104.0.5073.0","21.0.0-nightly.20220609":"104.0.5073.0","21.0.0-nightly.20220610":"104.0.5073.0","21.0.0-nightly.20220613":"104.0.5073.0","21.0.0-nightly.20220614":"104.0.5073.0","21.0.0-nightly.20220615":"104.0.5073.0","21.0.0-nightly.20220616":"104.0.5073.0","21.0.0-nightly.20220617":"104.0.5073.0","21.0.0-nightly.20220620":"104.0.5073.0","21.0.0-nightly.20220621":"104.0.5073.0","21.0.0-nightly.20220622":"104.0.5073.0","21.0.0-nightly.20220623":"104.0.5073.0","21.0.0-nightly.20220624":"104.0.5073.0","21.0.0-nightly.20220627":"104.0.5073.0","21.0.0-nightly.20220628":"105.0.5129.0","21.0.0-nightly.20220629":"105.0.5129.0","21.0.0-nightly.20220630":"105.0.5129.0","21.0.0-nightly.20220701":"105.0.5129.0","21.0.0-nightly.20220704":"105.0.5129.0","21.0.0-nightly.20220705":"105.0.5129.0","21.0.0-nightly.20220706":"105.0.5129.0","21.0.0-nightly.20220707":"105.0.5129.0","21.0.0-nightly.20220708":"105.0.5129.0","21.0.0-nightly.20220711":"105.0.5129.0","21.0.0-nightly.20220712":"105.0.5129.0","21.0.0-nightly.20220713":"105.0.5129.0","21.0.0-nightly.20220715":"105.0.5173.0","21.0.0-nightly.20220718":"105.0.5173.0","21.0.0-nightly.20220719":"105.0.5173.0","21.0.0-nightly.20220720":"105.0.5187.0","21.0.0-nightly.20220721":"105.0.5187.0","21.0.0-nightly.20220722":"105.0.5187.0","21.0.0-nightly.20220725":"105.0.5187.0","21.0.0-nightly.20220726":"105.0.5187.0","21.0.0-nightly.20220727":"105.0.5187.0","21.0.0-nightly.20220728":"105.0.5187.0","21.0.0-nightly.20220801":"105.0.5187.0","21.0.0-nightly.20220802":"105.0.5187.0","21.0.0":"106.0.5249.51","21.0.1":"106.0.5249.61","21.1.0":"106.0.5249.91","21.1.1":"106.0.5249.103","21.2.0":"106.0.5249.119","21.2.1":"106.0.5249.165","21.2.2":"106.0.5249.168","21.2.3":"106.0.5249.168","21.3.0":"106.0.5249.181","21.3.1":"106.0.5249.181","21.3.3":"106.0.5249.199","21.3.4":"106.0.5249.199","21.3.5":"106.0.5249.199","21.4.0":"106.0.5249.199","21.4.1":"106.0.5249.199","21.4.2":"106.0.5249.199","21.4.3":"106.0.5249.199","21.4.4":"106.0.5249.199","22.0.0-alpha.1":"107.0.5286.0","22.0.0-alpha.3":"108.0.5329.0","22.0.0-alpha.4":"108.0.5329.0","22.0.0-alpha.5":"108.0.5329.0","22.0.0-alpha.6":"108.0.5329.0","22.0.0-alpha.7":"108.0.5355.0","22.0.0-alpha.8":"108.0.5359.10","22.0.0-beta.1":"108.0.5359.10","22.0.0-beta.2":"108.0.5359.10","22.0.0-beta.3":"108.0.5359.10","22.0.0-beta.4":"108.0.5359.29","22.0.0-beta.5":"108.0.5359.40","22.0.0-beta.6":"108.0.5359.40","22.0.0-beta.7":"108.0.5359.48","22.0.0-beta.8":"108.0.5359.48","22.0.0-nightly.20220808":"105.0.5187.0","22.0.0-nightly.20220809":"105.0.5187.0","22.0.0-nightly.20220810":"105.0.5187.0","22.0.0-nightly.20220811":"105.0.5187.0","22.0.0-nightly.20220812":"105.0.5187.0","22.0.0-nightly.20220815":"105.0.5187.0","22.0.0-nightly.20220816":"105.0.5187.0","22.0.0-nightly.20220817":"105.0.5187.0","22.0.0-nightly.20220822":"106.0.5216.0","22.0.0-nightly.20220823":"106.0.5216.0","22.0.0-nightly.20220824":"106.0.5216.0","22.0.0-nightly.20220825":"106.0.5216.0","22.0.0-nightly.20220829":"106.0.5216.0","22.0.0-nightly.20220830":"106.0.5216.0","22.0.0-nightly.20220831":"106.0.5216.0","22.0.0-nightly.20220901":"106.0.5216.0","22.0.0-nightly.20220902":"106.0.5216.0","22.0.0-nightly.20220905":"106.0.5216.0","22.0.0-nightly.20220908":"107.0.5274.0","22.0.0-nightly.20220909":"107.0.5286.0","22.0.0-nightly.20220912":"107.0.5286.0","22.0.0-nightly.20220913":"107.0.5286.0","22.0.0-nightly.20220914":"107.0.5286.0","22.0.0-nightly.20220915":"107.0.5286.0","22.0.0-nightly.20220916":"107.0.5286.0","22.0.0-nightly.20220919":"107.0.5286.0","22.0.0-nightly.20220920":"107.0.5286.0","22.0.0-nightly.20220921":"107.0.5286.0","22.0.0-nightly.20220922":"107.0.5286.0","22.0.0-nightly.20220923":"107.0.5286.0","22.0.0-nightly.20220926":"107.0.5286.0","22.0.0-nightly.20220927":"107.0.5286.0","22.0.0-nightly.20220928":"107.0.5286.0","22.0.0":"108.0.5359.62","22.0.1":"108.0.5359.125","22.0.2":"108.0.5359.179","22.0.3":"108.0.5359.179","22.1.0":"108.0.5359.179","22.2.0":"108.0.5359.215","22.2.1":"108.0.5359.215","22.3.0":"108.0.5359.215","22.3.1":"108.0.5359.215","22.3.2":"108.0.5359.215","22.3.3":"108.0.5359.215","22.3.4":"108.0.5359.215","22.3.5":"108.0.5359.215","22.3.6":"108.0.5359.215","22.3.7":"108.0.5359.215","22.3.8":"108.0.5359.215","22.3.9":"108.0.5359.215","22.3.10":"108.0.5359.215","23.0.0-alpha.1":"110.0.5415.0","23.0.0-alpha.2":"110.0.5451.0","23.0.0-alpha.3":"110.0.5451.0","23.0.0-beta.1":"110.0.5478.5","23.0.0-beta.2":"110.0.5478.5","23.0.0-beta.3":"110.0.5478.5","23.0.0-beta.4":"110.0.5481.30","23.0.0-beta.5":"110.0.5481.38","23.0.0-beta.6":"110.0.5481.52","23.0.0-beta.8":"110.0.5481.52","23.0.0-nightly.20220929":"107.0.5286.0","23.0.0-nightly.20220930":"107.0.5286.0","23.0.0-nightly.20221003":"107.0.5286.0","23.0.0-nightly.20221004":"108.0.5329.0","23.0.0-nightly.20221005":"108.0.5329.0","23.0.0-nightly.20221006":"108.0.5329.0","23.0.0-nightly.20221007":"108.0.5329.0","23.0.0-nightly.20221010":"108.0.5329.0","23.0.0-nightly.20221011":"108.0.5329.0","23.0.0-nightly.20221012":"108.0.5329.0","23.0.0-nightly.20221013":"108.0.5329.0","23.0.0-nightly.20221014":"108.0.5329.0","23.0.0-nightly.20221017":"108.0.5329.0","23.0.0-nightly.20221018":"108.0.5355.0","23.0.0-nightly.20221019":"108.0.5355.0","23.0.0-nightly.20221020":"108.0.5355.0","23.0.0-nightly.20221021":"108.0.5355.0","23.0.0-nightly.20221024":"108.0.5355.0","23.0.0-nightly.20221026":"108.0.5355.0","23.0.0-nightly.20221027":"109.0.5382.0","23.0.0-nightly.20221028":"109.0.5382.0","23.0.0-nightly.20221031":"109.0.5382.0","23.0.0-nightly.20221101":"109.0.5382.0","23.0.0-nightly.20221102":"109.0.5382.0","23.0.0-nightly.20221103":"109.0.5382.0","23.0.0-nightly.20221104":"109.0.5382.0","23.0.0-nightly.20221107":"109.0.5382.0","23.0.0-nightly.20221108":"109.0.5382.0","23.0.0-nightly.20221109":"109.0.5382.0","23.0.0-nightly.20221110":"109.0.5382.0","23.0.0-nightly.20221111":"109.0.5382.0","23.0.0-nightly.20221114":"109.0.5382.0","23.0.0-nightly.20221115":"109.0.5382.0","23.0.0-nightly.20221116":"109.0.5382.0","23.0.0-nightly.20221117":"109.0.5382.0","23.0.0-nightly.20221118":"110.0.5415.0","23.0.0-nightly.20221121":"110.0.5415.0","23.0.0-nightly.20221122":"110.0.5415.0","23.0.0-nightly.20221123":"110.0.5415.0","23.0.0-nightly.20221124":"110.0.5415.0","23.0.0-nightly.20221125":"110.0.5415.0","23.0.0-nightly.20221128":"110.0.5415.0","23.0.0-nightly.20221129":"110.0.5415.0","23.0.0-nightly.20221130":"110.0.5415.0","23.0.0":"110.0.5481.77","23.1.0":"110.0.5481.100","23.1.1":"110.0.5481.104","23.1.2":"110.0.5481.177","23.1.3":"110.0.5481.179","23.1.4":"110.0.5481.192","23.2.0":"110.0.5481.192","23.2.1":"110.0.5481.208","23.2.2":"110.0.5481.208","23.2.3":"110.0.5481.208","23.2.4":"110.0.5481.208","23.3.0":"110.0.5481.208","23.3.1":"110.0.5481.208","23.3.2":"110.0.5481.208","23.3.3":"110.0.5481.208","24.0.0-alpha.1":"111.0.5560.0","24.0.0-alpha.2":"111.0.5560.0","24.0.0-alpha.3":"111.0.5560.0","24.0.0-alpha.4":"111.0.5560.0","24.0.0-alpha.5":"111.0.5560.0","24.0.0-alpha.6":"111.0.5560.0","24.0.0-alpha.7":"111.0.5560.0","24.0.0-beta.1":"111.0.5563.50","24.0.0-beta.2":"111.0.5563.50","24.0.0-beta.3":"112.0.5615.20","24.0.0-beta.4":"112.0.5615.20","24.0.0-beta.5":"112.0.5615.29","24.0.0-beta.6":"112.0.5615.39","24.0.0-beta.7":"112.0.5615.39","24.0.0-nightly.20221201":"110.0.5415.0","24.0.0-nightly.20221202":"110.0.5415.0","24.0.0-nightly.20221205":"110.0.5415.0","24.0.0-nightly.20221206":"110.0.5451.0","24.0.0-nightly.20221207":"110.0.5451.0","24.0.0-nightly.20221208":"110.0.5451.0","24.0.0-nightly.20221213":"110.0.5451.0","24.0.0-nightly.20221214":"110.0.5451.0","24.0.0-nightly.20221215":"110.0.5451.0","24.0.0-nightly.20221216":"110.0.5451.0","24.0.0-nightly.20230109":"111.0.5518.0","24.0.0-nightly.20230110":"111.0.5518.0","24.0.0-nightly.20230111":"111.0.5518.0","24.0.0-nightly.20230112":"111.0.5518.0","24.0.0-nightly.20230113":"111.0.5518.0","24.0.0-nightly.20230116":"111.0.5518.0","24.0.0-nightly.20230117":"111.0.5518.0","24.0.0-nightly.20230118":"111.0.5518.0","24.0.0-nightly.20230119":"111.0.5518.0","24.0.0-nightly.20230120":"111.0.5518.0","24.0.0-nightly.20230123":"111.0.5518.0","24.0.0-nightly.20230124":"111.0.5518.0","24.0.0-nightly.20230125":"111.0.5518.0","24.0.0-nightly.20230126":"111.0.5518.0","24.0.0-nightly.20230127":"111.0.5518.0","24.0.0-nightly.20230131":"111.0.5518.0","24.0.0-nightly.20230201":"111.0.5518.0","24.0.0-nightly.20230202":"111.0.5518.0","24.0.0-nightly.20230203":"111.0.5560.0","24.0.0-nightly.20230206":"111.0.5560.0","24.0.0-nightly.20230207":"111.0.5560.0","24.0.0-nightly.20230208":"111.0.5560.0","24.0.0-nightly.20230209":"111.0.5560.0","24.0.0":"112.0.5615.49","24.1.0":"112.0.5615.50","24.1.1":"112.0.5615.50","24.1.2":"112.0.5615.87","24.1.3":"112.0.5615.165","24.2.0":"112.0.5615.165","24.3.0":"112.0.5615.165","24.3.1":"112.0.5615.183","25.0.0-alpha.1":"114.0.5694.0","25.0.0-alpha.2":"114.0.5694.0","25.0.0-alpha.3":"114.0.5710.0","25.0.0-alpha.4":"114.0.5710.0","25.0.0-alpha.5":"114.0.5719.0","25.0.0-alpha.6":"114.0.5719.0","25.0.0-beta.1":"114.0.5719.0","25.0.0-beta.2":"114.0.5719.0","25.0.0-beta.3":"114.0.5719.0","25.0.0-beta.4":"114.0.5735.16","25.0.0-beta.5":"114.0.5735.16","25.0.0-beta.6":"114.0.5735.16","25.0.0-beta.7":"114.0.5735.16","25.0.0-nightly.20230210":"111.0.5560.0","25.0.0-nightly.20230214":"111.0.5560.0","25.0.0-nightly.20230215":"111.0.5560.0","25.0.0-nightly.20230216":"111.0.5560.0","25.0.0-nightly.20230217":"111.0.5560.0","25.0.0-nightly.20230220":"111.0.5560.0","25.0.0-nightly.20230221":"111.0.5560.0","25.0.0-nightly.20230222":"111.0.5560.0","25.0.0-nightly.20230223":"111.0.5560.0","25.0.0-nightly.20230224":"111.0.5560.0","25.0.0-nightly.20230227":"111.0.5560.0","25.0.0-nightly.20230228":"111.0.5560.0","25.0.0-nightly.20230301":"111.0.5560.0","25.0.0-nightly.20230302":"111.0.5560.0","25.0.0-nightly.20230303":"111.0.5560.0","25.0.0-nightly.20230306":"111.0.5560.0","25.0.0-nightly.20230307":"111.0.5560.0","25.0.0-nightly.20230308":"111.0.5560.0","25.0.0-nightly.20230309":"111.0.5560.0","25.0.0-nightly.20230310":"111.0.5560.0","25.0.0-nightly.20230314":"113.0.5636.0","25.0.0-nightly.20230315":"113.0.5651.0","25.0.0-nightly.20230317":"113.0.5653.0","25.0.0-nightly.20230320":"113.0.5660.0","25.0.0-nightly.20230321":"113.0.5664.0","25.0.0-nightly.20230322":"113.0.5666.0","25.0.0-nightly.20230323":"113.0.5668.0","25.0.0-nightly.20230324":"113.0.5670.0","25.0.0-nightly.20230327":"113.0.5670.0","25.0.0-nightly.20230328":"113.0.5670.0","25.0.0-nightly.20230329":"113.0.5670.0","25.0.0-nightly.20230330":"113.0.5670.0","25.0.0-nightly.20230331":"114.0.5684.0","25.0.0-nightly.20230403":"114.0.5684.0","25.0.0-nightly.20230404":"114.0.5692.0","25.0.0-nightly.20230405":"114.0.5694.0","26.0.0-nightly.20230406":"114.0.5694.0","26.0.0-nightly.20230407":"114.0.5694.0","26.0.0-nightly.20230410":"114.0.5694.0","26.0.0-nightly.20230411":"114.0.5694.0","26.0.0-nightly.20230412":"114.0.5708.0","26.0.0-nightly.20230413":"114.0.5710.0","26.0.0-nightly.20230414":"114.0.5710.0","26.0.0-nightly.20230417":"114.0.5710.0","26.0.0-nightly.20230418":"114.0.5715.0","26.0.0-nightly.20230421":"114.0.5719.0","26.0.0-nightly.20230424":"114.0.5719.0","26.0.0-nightly.20230425":"114.0.5719.0","26.0.0-nightly.20230426":"114.0.5719.0","26.0.0-nightly.20230427":"114.0.5719.0","26.0.0-nightly.20230428":"114.0.5719.0","26.0.0-nightly.20230501":"114.0.5719.0","26.0.0-nightly.20230502":"114.0.5719.0","26.0.0-nightly.20230503":"114.0.5719.0","26.0.0-nightly.20230504":"114.0.5719.0","26.0.0-nightly.20230505":"114.0.5719.0","26.0.0-nightly.20230508":"114.0.5719.0","26.0.0-nightly.20230509":"114.0.5719.0","26.0.0-nightly.20230510":"114.0.5719.0","26.0.0-nightly.20230511":"115.0.5760.0","26.0.0-nightly.20230512":"115.0.5760.0","26.0.0-nightly.20230515":"115.0.5760.0","26.0.0-nightly.20230516":"115.0.5760.0","26.0.0-nightly.20230517":"115.0.5760.0","26.0.0-nightly.20230518":"115.0.5760.0","26.0.0-nightly.20230519":"115.0.5760.0"}
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/package.json b/tools/node_modules/eslint/node_modules/electron-to-chromium/package.json
      index 8b4f1d8f06a43c..0b67c1cf46ad1d 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/package.json
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/package.json
      @@ -1,6 +1,6 @@
       {
         "name": "electron-to-chromium",
      -  "version": "1.4.385",
      +  "version": "1.4.402",
         "description": "Provides a list of electron-to-chromium version mappings",
         "main": "index.js",
         "files": [
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.js b/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.js
      index d93f210dbd10dc..14ecc942e9bc38 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.js
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.js
      @@ -115,5 +115,6 @@ module.exports = {
       	"24.0": "112",
       	"24.1": "112",
       	"24.2": "112",
      +	"24.3": "112",
       	"25.0": "114"
       };
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.json b/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.json
      index acc47908784b61..5f2ce7c466a943 100644
      --- a/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.json
      +++ b/tools/node_modules/eslint/node_modules/electron-to-chromium/versions.json
      @@ -1 +1 @@
      -{"0.20":"39","0.21":"41","0.22":"41","0.23":"41","0.24":"41","0.25":"42","0.26":"42","0.27":"43","0.28":"43","0.29":"43","0.30":"44","0.31":"45","0.32":"45","0.33":"45","0.34":"45","0.35":"45","0.36":"47","0.37":"49","1.0":"49","1.1":"50","1.2":"51","1.3":"52","1.4":"53","1.5":"54","1.6":"56","1.7":"58","1.8":"59","2.0":"61","2.1":"61","3.0":"66","3.1":"66","4.0":"69","4.1":"69","4.2":"69","5.0":"73","6.0":"76","6.1":"76","7.0":"78","7.1":"78","7.2":"78","7.3":"78","8.0":"80","8.1":"80","8.2":"80","8.3":"80","8.4":"80","8.5":"80","9.0":"83","9.1":"83","9.2":"83","9.3":"83","9.4":"83","10.0":"85","10.1":"85","10.2":"85","10.3":"85","10.4":"85","11.0":"87","11.1":"87","11.2":"87","11.3":"87","11.4":"87","11.5":"87","12.0":"89","12.1":"89","12.2":"89","13.0":"91","13.1":"91","13.2":"91","13.3":"91","13.4":"91","13.5":"91","13.6":"91","14.0":"93","14.1":"93","14.2":"93","15.0":"94","15.1":"94","15.2":"94","15.3":"94","15.4":"94","15.5":"94","16.0":"96","16.1":"96","16.2":"96","17.0":"98","17.1":"98","17.2":"98","17.3":"98","17.4":"98","18.0":"100","18.1":"100","18.2":"100","18.3":"100","19.0":"102","19.1":"102","20.0":"104","20.1":"104","20.2":"104","20.3":"104","21.0":"106","21.1":"106","21.2":"106","21.3":"106","21.4":"106","22.0":"108","22.1":"108","22.2":"108","22.3":"108","23.0":"110","23.1":"110","23.2":"110","23.3":"110","24.0":"112","24.1":"112","24.2":"112","25.0":"114"}
      \ No newline at end of file
      +{"0.20":"39","0.21":"41","0.22":"41","0.23":"41","0.24":"41","0.25":"42","0.26":"42","0.27":"43","0.28":"43","0.29":"43","0.30":"44","0.31":"45","0.32":"45","0.33":"45","0.34":"45","0.35":"45","0.36":"47","0.37":"49","1.0":"49","1.1":"50","1.2":"51","1.3":"52","1.4":"53","1.5":"54","1.6":"56","1.7":"58","1.8":"59","2.0":"61","2.1":"61","3.0":"66","3.1":"66","4.0":"69","4.1":"69","4.2":"69","5.0":"73","6.0":"76","6.1":"76","7.0":"78","7.1":"78","7.2":"78","7.3":"78","8.0":"80","8.1":"80","8.2":"80","8.3":"80","8.4":"80","8.5":"80","9.0":"83","9.1":"83","9.2":"83","9.3":"83","9.4":"83","10.0":"85","10.1":"85","10.2":"85","10.3":"85","10.4":"85","11.0":"87","11.1":"87","11.2":"87","11.3":"87","11.4":"87","11.5":"87","12.0":"89","12.1":"89","12.2":"89","13.0":"91","13.1":"91","13.2":"91","13.3":"91","13.4":"91","13.5":"91","13.6":"91","14.0":"93","14.1":"93","14.2":"93","15.0":"94","15.1":"94","15.2":"94","15.3":"94","15.4":"94","15.5":"94","16.0":"96","16.1":"96","16.2":"96","17.0":"98","17.1":"98","17.2":"98","17.3":"98","17.4":"98","18.0":"100","18.1":"100","18.2":"100","18.3":"100","19.0":"102","19.1":"102","20.0":"104","20.1":"104","20.2":"104","20.3":"104","21.0":"106","21.1":"106","21.2":"106","21.3":"106","21.4":"106","22.0":"108","22.1":"108","22.2":"108","22.3":"108","23.0":"110","23.1":"110","23.2":"110","23.3":"110","24.0":"112","24.1":"112","24.2":"112","24.3":"112","25.0":"114"}
      \ No newline at end of file
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/WarnSettings.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/WarnSettings.js
      index 43e316cf543558..6c20fee9c97abf 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/WarnSettings.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/WarnSettings.js
      @@ -11,17 +11,25 @@ const WarnSettings = function () {
           /**
            * Warn only once for each context and setting
            *
      -     * @param {object} context
      +     * @param {import('eslint').Rule.RuleContext} context
            * @param {string} setting
      +     * @returns {boolean}
            */
           hasBeenWarned(context, setting) {
      -      return warnedSettings.has(context) && warnedSettings.get(context).has(setting);
      +      return warnedSettings.has(context) && /** @type {Set} */warnedSettings.get(context).has(setting);
           },
      +    /**
      +     * @param {import('eslint').Rule.RuleContext} context
      +     * @param {string} setting
      +     * @returns {void}
      +     */
           markSettingAsWarned(context, setting) {
             // istanbul ignore else
             if (!warnedSettings.has(context)) {
               warnedSettings.set(context, new Set());
             }
      +
      +      /** @type {Set} */
             warnedSettings.get(context).add(setting);
           }
         };
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/alignTransform.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/alignTransform.js
      index d59e56c7299256..f0a65db82ebe00 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/alignTransform.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/alignTransform.js
      @@ -11,15 +11,41 @@ var _commentParser = require("comment-parser");
        * It contains some customizations to align based on the tags, and some custom options.
        */
       
      +/**
      + * @typedef {{
      + *   hasNoTypes: boolean,
      + *   maxNamedTagLength: import('./iterateJsdoc.js').Integer,
      + *   maxUnnamedTagLength: import('./iterateJsdoc.js').Integer
      + * }} TypelessInfo
      + */
      +
       const {
         rewireSource
       } = _commentParser.util;
      +
      +/**
      + * @typedef {{
      + *   name: import('./iterateJsdoc').Integer,
      + *   start: import('./iterateJsdoc').Integer,
      + *   tag: import('./iterateJsdoc').Integer,
      + *   type: import('./iterateJsdoc').Integer
      + * }} Width
      + */
      +
      +/** @type {Width} */
       const zeroWidth = {
         name: 0,
         start: 0,
         tag: 0,
         type: 0
       };
      +
      +/**
      + * @param {string[]} tags
      + * @param {import('./iterateJsdoc').Integer} index
      + * @param {import('comment-parser').Line[]} source
      + * @returns {boolean}
      + */
       const shouldAlign = (tags, index, source) => {
         const tag = source[index].tokens.tag.replace('@', '');
         const includesTag = tags.includes(tag);
      @@ -40,6 +66,18 @@ const shouldAlign = (tags, index, source) => {
         }
         return true;
       };
      +
      +/**
      + * @param {string[]} tags
      + * @returns {(
      + *   width: Width,
      + *   line: {
      + *     tokens: import('comment-parser').Tokens
      + *   },
      + *   index: import('./iterateJsdoc.js').Integer,
      + *   source: import('comment-parser').Line[]
      + * ) => Width}
      + */
       const getWidth = tags => {
         return (width, {
           tokens
      @@ -49,12 +87,21 @@ const getWidth = tags => {
           }
           return {
             name: Math.max(width.name, tokens.name.length),
      -      start: tokens.delimiter === _commentParser.Markers.start ? tokens.start.length : width.start,
      +      start: tokens.delimiter === '/**' ? tokens.start.length : width.start,
             tag: Math.max(width.tag, tokens.tag.length),
             type: Math.max(width.type, tokens.type.length)
           };
         };
       };
      +
      +/**
      + * @param {{
      + *   description: string;
      + *   tags: import('comment-parser').Spec[];
      + *   problems: import('comment-parser').Problem[];
      + * }} fields
      + * @returns {TypelessInfo}
      + */
       const getTypelessInfo = fields => {
         const hasNoTypes = fields.tags.every(({
           type
      @@ -83,9 +130,27 @@ const getTypelessInfo = fields => {
           maxUnnamedTagLength
         };
       };
      +
      +/**
      + * @param {import('./iterateJsdoc.js').Integer} len
      + * @returns {string}
      + */
       const space = len => {
         return ''.padStart(len, ' ');
       };
      +
      +/**
      + * @param {{
      + *   customSpacings: import('../src/rules/checkLineAlignment.js').CustomSpacings,
      + *   tags: string[],
      + *   indent: string,
      + *   preserveMainDescriptionPostDelimiter: boolean,
      + *   wrapIndent: string,
      + * }} cfg
      + * @returns {(
      + *   block: import('comment-parser').Block
      + * ) => import('comment-parser').Block}
      + */
       const alignTransform = ({
         customSpacings,
         tags,
      @@ -94,7 +159,14 @@ const alignTransform = ({
         wrapIndent
       }) => {
         let intoTags = false;
      +  /** @type {Width} */
         let width;
      +
      +  /**
      +   * @param {import('comment-parser').Tokens} tokens
      +   * @param {TypelessInfo} typelessInfo
      +   * @returns {import('comment-parser').Tokens}
      +   */
         const alignTokens = (tokens, typelessInfo) => {
           const nothingAfter = {
             delim: false,
      @@ -155,7 +227,17 @@ const alignTransform = ({
           }
           return tokens;
         };
      +
      +  /**
      +   * @param {import('comment-parser').Line} line
      +   * @param {import('./iterateJsdoc.js').Integer} index
      +   * @param {import('comment-parser').Line[]} source
      +   * @param {TypelessInfo} typelessInfo
      +   * @param {string|false} indentTag
      +   * @returns {import('comment-parser').Line}
      +   */
         const update = (line, index, source, typelessInfo, indentTag) => {
      +    /** @type {import('comment-parser').Tokens} */
           const tokens = {
             ...line.tokens
           };
      @@ -165,7 +247,7 @@ const alignTransform = ({
           const isEmpty = tokens.tag === '' && tokens.name === '' && tokens.type === '' && tokens.description === '';
       
           // dangling '*/'
      -    if (tokens.end === _commentParser.Markers.end && isEmpty) {
      +    if (tokens.end === '*/' && isEmpty) {
             tokens.start = indent + ' ';
             return {
               ...line,
      @@ -173,10 +255,10 @@ const alignTransform = ({
             };
           }
           switch (tokens.delimiter) {
      -      case _commentParser.Markers.start:
      +      case '/**':
               tokens.start = indent;
               break;
      -      case _commentParser.Markers.delim:
      +      case '*':
               tokens.start = indent + ' ';
               break;
             default:
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/bin/generateRule.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/bin/generateRule.js
      index e9ae885e326104..881e0bbce2862d 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/bin/generateRule.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/bin/generateRule.js
      @@ -14,8 +14,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * npm run create-rule my-new-rule -- --recommended
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    */
      -// Todo: Would ideally have prompts, e.g., to ask for whether type was problem/layout, etc.
      -
      +// Todo: Would ideally have prompts, e.g., to ask for whether
      +//   type was problem/layout, etc.
       const [,, ruleName, ...options] = process.argv;
       const recommended = options.includes('--recommended');
       (async () => {
      @@ -108,6 +108,16 @@ export default iterateJsdoc(({
         if (!(0, _fs.existsSync)(ruleReadmePath)) {
           await _promises.default.writeFile(ruleReadmePath, ruleReadmeTemplate);
         }
      +
      +  /**
      +   * @param {object} cfg
      +   * @param {string} cfg.path
      +   * @param {RegExp} cfg.oldRegex
      +   * @param {string} cfg.checkName
      +   * @param {string} cfg.newLine
      +   * @param {boolean} [cfg.oldIsCamel]
      +   * @returns {Promise}
      +   */
         const replaceInOrder = async ({
           path,
           oldRegex,
      @@ -115,9 +125,32 @@ export default iterateJsdoc(({
           newLine,
           oldIsCamel
         }) => {
      +    /**
      +     * @typedef {number} Integer
      +     */
      +    /**
      +     * @typedef {{
      +     *   matchedLine: string,
      +     *   offset: Integer,
      +     *   oldRule: string,
      +     * }} OffsetInfo
      +     */
      +    /**
      +     * @type {OffsetInfo[]}
      +     */
           const offsets = [];
           let readme = await _promises.default.readFile(path, 'utf8');
      -    readme.replace(oldRegex, (matchedLine, n1, offset, str, {
      +    readme.replace(oldRegex,
      +    /**
      +     * @param {string} matchedLine
      +     * @param {string} n1
      +     * @param {Integer} offset
      +     * @param {string} str
      +     * @param {object} groups
      +     * @param {string} groups.oldRule
      +     * @returns {string}
      +     */
      +    (matchedLine, n1, offset, str, {
             oldRule
           }) => {
             offsets.push({
      @@ -125,13 +158,13 @@ export default iterateJsdoc(({
               offset,
               oldRule
             });
      +      return matchedLine;
           });
           offsets.sort(({
             oldRule
           }, {
             oldRule: oldRuleB
           }) => {
      -      // eslint-disable-next-line no-extra-parens
             return oldRule < oldRuleB ? -1 : oldRule > oldRuleB ? 1 : 0;
           });
           let alreadyIncluded = false;
      @@ -148,7 +181,7 @@ export default iterateJsdoc(({
             item.offset = 0;
           }
           if (!item) {
      -      item = offsets.pop();
      +      item = /** @type {OffsetInfo} */offsets.pop();
             item.offset += item.matchedLine.length;
           }
           if (alreadyIncluded) {
      @@ -158,12 +191,14 @@ export default iterateJsdoc(({
             await _promises.default.writeFile(path, readme);
           }
         };
      -  await replaceInOrder({
      -    checkName: 'README',
      -    newLine: `{"gitdown": "include", "file": "./rules/${ruleName}.md"}`,
      -    oldRegex: /\n\{"gitdown": "include", "file": ".\/rules\/(?[^.]*).md"\}/gu,
      -    path: './.README/README.md'
      -  });
      +
      +  // await replaceInOrder({
      +  //   checkName: 'README',
      +  //   newLine: `{"gitdown": "include", "file": "./rules/${ruleName}.md"}`,
      +  //   oldRegex: /\n\{"gitdown": "include", "file": ".\/rules\/(?[^.]*).md"\}/gu,
      +  //   path: './.README/README.md',
      +  // });
      +
         await replaceInOrder({
           checkName: 'index import',
           newLine: `import ${camelCasedRuleName} from './rules/${camelCasedRuleName}';`,
      @@ -183,7 +218,7 @@ export default iterateJsdoc(({
           oldRegex: /\n\s{4}'(?[^']*)': [^,]*,/gu,
           path: './src/index.js'
         });
      -  await Promise.resolve().then(() => _interopRequireWildcard(require('./generateReadme.js')));
      +  await Promise.resolve().then(() => _interopRequireWildcard(require('./generateDocs.js')));
       
         /*
         console.log('Paths to open for further editing\n');
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/exportParser.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/exportParser.js
      index e7bab76deeba07..55d4e8a6beaa8d 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/exportParser.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/exportParser.js
      @@ -8,11 +8,22 @@ var _jsdoccomment = require("@es-joy/jsdoccomment");
       var _debug = _interopRequireDefault(require("debug"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
       const debug = (0, _debug.default)('requireExportJsdoc');
      +
      +/**
      + * @returns {{
      + *   props: object
      + * }}
      + */
       const createNode = function () {
         return {
           props: {}
         };
       };
      +
      +/**
      + * @param {} symbol
      + * @returns {null}
      + */
       const getSymbolValue = function (symbol) {
         /* istanbul ignore next */
         if (!symbol) {
      @@ -28,6 +39,15 @@ const getSymbolValue = function (symbol) {
         /* istanbul ignore next */
         return null;
       };
      +
      +/**
      + *
      + * @param {} node
      + * @param {} globals
      + * @param {} scope
      + * @param {} opts
      + * @returns {}
      + */
       const getIdentifier = function (node, globals, scope, opts) {
         if (opts.simpleIdentifier) {
           // Type is Identier for noncomputed properties
      @@ -56,8 +76,18 @@ const getIdentifier = function (node, globals, scope, opts) {
       };
       let createSymbol = null;
       
      -// eslint-disable-next-line complexity
      +/* eslint-disable complexity -- Temporary */
      +
      +/**
      + *
      + * @param {} node
      + * @param {} globals
      + * @param {} scope
      + * @param {} opt
      + * @returns {}
      + */
       const getSymbol = function (node, globals, scope, opt) {
      +  /* eslint-enable complexity -- Temporary */
         const opts = opt || {};
         /* istanbul ignore next */
         // eslint-disable-next-line default-case
      @@ -159,12 +189,32 @@ const getSymbol = function (node, globals, scope, opt) {
         /* istanbul ignore next */
         return null;
       };
      +
      +/**
      + *
      + * @param {} block
      + * @param {} name
      + * @param {} value
      + * @param {} globals
      + * @param {} isGlobal
      + * @returns {void}
      + */
       const createBlockSymbol = function (block, name, value, globals, isGlobal) {
         block.props[name] = value;
         if (isGlobal && globals.props.window && globals.props.window.special) {
           globals.props.window.props[name] = value;
         }
       };
      +
      +/**
      + *
      + * @param {} node
      + * @param {} globals
      + * @param {} value
      + * @param {} scope
      + * @param {} isGlobal
      + * @returns {null}
      + */
       createSymbol = function (node, globals, value, scope, isGlobal) {
         const block = scope || globals;
         let symbol;
      @@ -228,7 +278,14 @@ createSymbol = function (node, globals, value, scope, isGlobal) {
         return null;
       };
       
      -// Creates variables from variable definitions
      +/**
      + * Creates variables from variable definitions
      + *
      + * @param {} node
      + * @param {} globals
      + * @param {} opts
      + * @returns {}
      + */
       const initVariables = function (node, globals, opts) {
         // eslint-disable-next-line default-case
         switch (node.type) {
      @@ -266,9 +323,19 @@ const initVariables = function (node, globals, opts) {
         }
       };
       
      -// Populates variable maps using AST
      -// eslint-disable-next-line complexity
      +/* eslint-disable complexity -- Temporary */
      +
      +/**
      + * Populates variable maps using AST
      + *
      + * @param {} node
      + * @param {} globals
      + * @param {} opt
      + * @param {} isExport
      + * @returns {boolean}
      + */
       const mapVariables = function (node, globals, opt, isExport) {
      +  /* eslint-enable complexity -- Temporary */
         /* istanbul ignore next */
         const opts = opt || {};
         /* istanbul ignore next */
      @@ -362,6 +429,14 @@ const mapVariables = function (node, globals, opt, isExport) {
         }
         return true;
       };
      +
      +/**
      + *
      + * @param {} node
      + * @param {} block
      + * @param {} cache
      + * @returns {boolean}
      + */
       const findNode = function (node, block, cache) {
         let blockCache = cache || [];
         /* istanbul ignore next */
      @@ -392,6 +467,11 @@ const findNode = function (node, block, cache) {
       };
       const exportTypes = new Set(['ExportNamedDeclaration', 'ExportDefaultDeclaration']);
       const ignorableNestedTypes = new Set(['FunctionDeclaration', 'ArrowFunctionExpression', 'FunctionExpression']);
      +
      +/**
      + * @param {} nde
      + * @returns {}
      + */
       const getExportAncestor = function (nde) {
         let node = nde;
         let idx = 0;
      @@ -411,6 +491,11 @@ const getExportAncestor = function (nde) {
       };
       const canBeExportedByAncestorType = new Set(['TSPropertySignature', 'TSMethodSignature', 'ClassProperty', 'PropertyDefinition', 'Method']);
       const canExportChildrenType = new Set(['TSInterfaceBody', 'TSInterfaceDeclaration', 'TSTypeLiteral', 'TSTypeAliasDeclaration', 'ClassDeclaration', 'ClassBody', 'ClassDefinition', 'ClassExpression', 'Program']);
      +
      +/**
      + * @param {} nde
      + * @returns {}
      + */
       const isExportByAncestor = function (nde) {
         if (!canBeExportedByAncestorType.has(nde.type)) {
           return false;
      @@ -427,6 +512,14 @@ const isExportByAncestor = function (nde) {
         }
         return false;
       };
      +
      +/**
      + *
      + * @param {} block
      + * @param {} node
      + * @param {} cache
      + * @returns {boolean}
      + */
       const findExportedNode = function (block, node, cache) {
         /* istanbul ignore next */
         if (block === null) {
      @@ -448,6 +541,14 @@ const findExportedNode = function (block, node, cache) {
       
         return false;
       };
      +
      +/**
      + *
      + * @param {} node
      + * @param {} globals
      + * @param {} opt
      + * @returns {boolean}
      + */
       const isNodeExported = function (node, globals, opt) {
         var _globals$props$module, _globals$props$module2;
         const moduleExports = (_globals$props$module = globals.props.module) === null || _globals$props$module === void 0 ? void 0 : (_globals$props$module2 = _globals$props$module.props) === null || _globals$props$module2 === void 0 ? void 0 : _globals$props$module2.exports;
      @@ -462,6 +563,14 @@ const isNodeExported = function (node, globals, opt) {
         }
         return false;
       };
      +
      +/**
      + *
      + * @param {} node
      + * @param {} globalVars
      + * @param {} opts
      + * @returns {boolean}
      + */
       const parseRecursive = function (node, globalVars, opts) {
         // Iterate from top using recursion - stop at first processed node from top
         if (node.parent && parseRecursive(node.parent, globalVars, opts)) {
      @@ -469,6 +578,18 @@ const parseRecursive = function (node, globalVars, opts) {
         }
         return mapVariables(node, globalVars, opts);
       };
      +
      +/**
      + *
      + * @param {} ast
      + * @param {} node
      + * @param {} opt
      + * @returns {{
      + *   globalVars: {
      + *     props: {};
      + *   };
      + * }}
      + */
       const parse = function (ast, node, opt) {
         /* istanbul ignore next */
         const opts = opt || {
      @@ -497,6 +618,15 @@ const parse = function (ast, node, opt) {
           globalVars
         };
       };
      +
      +/**
      + *
      + * @param {} node
      + * @param {} sourceCode
      + * @param {} opt
      + * @param {} settings
      + * @returns {boolean}
      + */
       const isUncommentedExport = function (node, sourceCode, opt, settings) {
         // console.log({node});
         // Optimize with ancestor check for esm
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/generateRule.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/generateRule.js
      index e9ae885e326104..881e0bbce2862d 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/generateRule.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/generateRule.js
      @@ -14,8 +14,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * npm run create-rule my-new-rule -- --recommended
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    * ```
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    */
      -// Todo: Would ideally have prompts, e.g., to ask for whether type was problem/layout, etc.
      -
      +// Todo: Would ideally have prompts, e.g., to ask for whether
      +//   type was problem/layout, etc.
       const [,, ruleName, ...options] = process.argv;
       const recommended = options.includes('--recommended');
       (async () => {
      @@ -108,6 +108,16 @@ export default iterateJsdoc(({
         if (!(0, _fs.existsSync)(ruleReadmePath)) {
           await _promises.default.writeFile(ruleReadmePath, ruleReadmeTemplate);
         }
      +
      +  /**
      +   * @param {object} cfg
      +   * @param {string} cfg.path
      +   * @param {RegExp} cfg.oldRegex
      +   * @param {string} cfg.checkName
      +   * @param {string} cfg.newLine
      +   * @param {boolean} [cfg.oldIsCamel]
      +   * @returns {Promise}
      +   */
         const replaceInOrder = async ({
           path,
           oldRegex,
      @@ -115,9 +125,32 @@ export default iterateJsdoc(({
           newLine,
           oldIsCamel
         }) => {
      +    /**
      +     * @typedef {number} Integer
      +     */
      +    /**
      +     * @typedef {{
      +     *   matchedLine: string,
      +     *   offset: Integer,
      +     *   oldRule: string,
      +     * }} OffsetInfo
      +     */
      +    /**
      +     * @type {OffsetInfo[]}
      +     */
           const offsets = [];
           let readme = await _promises.default.readFile(path, 'utf8');
      -    readme.replace(oldRegex, (matchedLine, n1, offset, str, {
      +    readme.replace(oldRegex,
      +    /**
      +     * @param {string} matchedLine
      +     * @param {string} n1
      +     * @param {Integer} offset
      +     * @param {string} str
      +     * @param {object} groups
      +     * @param {string} groups.oldRule
      +     * @returns {string}
      +     */
      +    (matchedLine, n1, offset, str, {
             oldRule
           }) => {
             offsets.push({
      @@ -125,13 +158,13 @@ export default iterateJsdoc(({
               offset,
               oldRule
             });
      +      return matchedLine;
           });
           offsets.sort(({
             oldRule
           }, {
             oldRule: oldRuleB
           }) => {
      -      // eslint-disable-next-line no-extra-parens
             return oldRule < oldRuleB ? -1 : oldRule > oldRuleB ? 1 : 0;
           });
           let alreadyIncluded = false;
      @@ -148,7 +181,7 @@ export default iterateJsdoc(({
             item.offset = 0;
           }
           if (!item) {
      -      item = offsets.pop();
      +      item = /** @type {OffsetInfo} */offsets.pop();
             item.offset += item.matchedLine.length;
           }
           if (alreadyIncluded) {
      @@ -158,12 +191,14 @@ export default iterateJsdoc(({
             await _promises.default.writeFile(path, readme);
           }
         };
      -  await replaceInOrder({
      -    checkName: 'README',
      -    newLine: `{"gitdown": "include", "file": "./rules/${ruleName}.md"}`,
      -    oldRegex: /\n\{"gitdown": "include", "file": ".\/rules\/(?[^.]*).md"\}/gu,
      -    path: './.README/README.md'
      -  });
      +
      +  // await replaceInOrder({
      +  //   checkName: 'README',
      +  //   newLine: `{"gitdown": "include", "file": "./rules/${ruleName}.md"}`,
      +  //   oldRegex: /\n\{"gitdown": "include", "file": ".\/rules\/(?[^.]*).md"\}/gu,
      +  //   path: './.README/README.md',
      +  // });
      +
         await replaceInOrder({
           checkName: 'index import',
           newLine: `import ${camelCasedRuleName} from './rules/${camelCasedRuleName}';`,
      @@ -183,7 +218,7 @@ export default iterateJsdoc(({
           oldRegex: /\n\s{4}'(?[^']*)': [^,]*,/gu,
           path: './src/index.js'
         });
      -  await Promise.resolve().then(() => _interopRequireWildcard(require('./generateReadme.js')));
      +  await Promise.resolve().then(() => _interopRequireWildcard(require('./generateDocs.js')));
       
         /*
         console.log('Paths to open for further editing\n');
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/getDefaultTagStructureForMode.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/getDefaultTagStructureForMode.js
      index 1b78cfd86198be..a2c7e2253bca15 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/getDefaultTagStructureForMode.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/getDefaultTagStructureForMode.js
      @@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.default = void 0;
      +/**
      + * @typedef {Map>} TagStructure
      + */
      +/**
      + * @param {import('./jsdocUtils.js').ParserMode} mode
      + * @returns {TagStructure}
      + */
       const getDefaultTagStructureForMode = mode => {
         const isJsdoc = mode === 'jsdoc';
         const isClosure = mode === 'closure';
      @@ -16,7 +23,7 @@ const getDefaultTagStructureForMode = mode => {
         const isJsdocTypescriptOrPermissive = isJsdocOrTypescript || isPermissive;
       
         // Properties:
      -  // `nameContents` - 'namepath-referencing'|'namepath-defining'|'text'|false
      +  // `namepathRole` - 'namepath-referencing'|'namepath-defining'|'namepath-or-url-referencing'|'text'|false
         // `typeAllowed` - boolean
         // `nameRequired` - boolean
         // `typeRequired` - boolean
      @@ -28,7 +35,7 @@ const getDefaultTagStructureForMode = mode => {
         //  `property`/`prop` (no signature)
         //  `modifies` (undocumented)
       
      -  // None of the `nameContents: 'namepath-defining'` show as having curly
      +  // None of the `namepathRole: 'namepath-defining'` show as having curly
         //  brackets for their name/namepath
       
         // Among `namepath-defining` and `namepath-referencing`, these do not seem
      @@ -39,160 +46,168 @@ const getDefaultTagStructureForMode = mode => {
         // Todo: Should support special processing for "name" as distinct from
         //   "namepath" (e.g., param can't define a namepath)
       
      -  // Once checking inline tags:
      -  // Todo: Re: `typeOrNameRequired`, `@link` (or @linkcode/@linkplain) seems
      -  //  to require a namepath OR URL and might be checked as such.
         // Todo: Should support a `tutorialID` type (for `@tutorial` block and
         //  inline)
       
      -  return new Map([['alias', new Map([
      +  /**
      +   * @type {TagStructure}
      +   */
      +  return new Map([['alias', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples)
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-defining'],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['arg', new Map([['nameContents', 'namepath-defining'],
      +  ['typeOrNameRequired', true]])], ['arg', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', 'namepath-defining'],
         // See `param`
         ['nameRequired', true],
         // Has no formal signature in the docs but shows curly brackets
         //   in the examples
      -  ['typeAllowed', true]])], ['argument', new Map([['nameContents', 'namepath-defining'],
      +  ['typeAllowed', true]])], ['argument', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', 'namepath-defining'],
         // See `param`
         ['nameRequired', true],
         // Has no formal signature in the docs but shows curly brackets
         //   in the examples
      -  ['typeAllowed', true]])], ['augments', new Map([
      +  ['typeAllowed', true]])], ['augments', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples)
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // Does not show curly brackets in either the signature or examples
         ['typeAllowed', true],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['borrows', new Map([
      +  ['typeOrNameRequired', true]])], ['borrows', new Map( /** @type {[string, string|boolean][]} */[
         // `borrows` has a different format, however, so needs special parsing;
         //   seems to require both, and as "namepath"'s
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['callback', new Map([
      +  ['typeOrNameRequired', true]])], ['callback', new Map( /** @type {[string, string|boolean][]} */[
         // Seems to require a "namepath" in the signature (with no
         //   counter-examples); TypeScript does not enforce but seems
         //   problematic as not attached so presumably not useable without it
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // "namepath"
      -  ['nameRequired', true]])], ['class', new Map([
      +  ['nameRequired', true]])], ['class', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // Not in use, but should be this value if using to power `empty-tags`
      -  ['nameAllowed', true], ['typeAllowed', true]])], ['const', new Map([
      +  ['nameAllowed', true], ['typeAllowed', true]])], ['const', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'], ['typeAllowed', true]])], ['constant', new Map([
      +  ['namepathRole', 'namepath-defining'], ['typeAllowed', true]])], ['constant', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'], ['typeAllowed', true]])], ['constructor', new Map([
      +  ['namepathRole', 'namepath-defining'], ['typeAllowed', true]])], ['constructor', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'], ['typeAllowed', true]])], ['constructs', new Map([
      +  ['namepathRole', 'namepath-defining'], ['typeAllowed', true]])], ['constructs', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'], ['nameRequired', false], ['typeAllowed', false]])], ['define', new Map([['typeRequired', isClosure]])], ['emits', new Map([
      +  ['namepathRole', 'namepath-defining'], ['nameRequired', false], ['typeAllowed', false]])], ['define', new Map( /** @type {[string, string|boolean][]} */[['typeRequired', isClosure]])], ['emits', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "name" (of an event) and no counter-examples
      -  ['nameContents', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['enum', new Map([
      +  ['namepathRole', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['enum', new Map( /** @type {[string, string|boolean][]} */[
         // Has example showing curly brackets but not in doc signature
      -  ['typeAllowed', true]])], ['event', new Map([
      +  ['typeAllowed', true]])], ['event', new Map( /** @type {[string, string|boolean][]} */[
         // The doc signature of `event` seems to require a "name"
         ['nameRequired', true],
         // Appears to require a "name" in its signature, albeit somewhat
         //  different from other "name"'s (including as described
         //  at https://jsdoc.app/about-namepaths.html )
      -  ['nameContents', 'namepath-defining']])], ['exception', new Map([
      +  ['namepathRole', 'namepath-defining']])], ['exception', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the signature and in the examples
         ['typeAllowed', true]])],
         // Closure
      -  ['export', new Map([['typeAllowed', isClosureOrPermissive]])], ['exports', new Map([['nameContents', 'namepath-defining'], ['nameRequired', isJsdoc], ['typeAllowed', isClosureOrPermissive]])], ['extends', new Map([
      +  ['export', new Map( /** @type {[string, string|boolean][]} */[['typeAllowed', isClosureOrPermissive]])], ['exports', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', 'namepath-defining'], ['nameRequired', isJsdoc], ['typeAllowed', isClosureOrPermissive]])], ['extends', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples)
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // Does not show curly brackets in either the signature or examples
         ['typeAllowed', isTypescriptOrClosure || isPermissive], ['nameRequired', isJsdoc],
         // "namepath"
      -  ['typeOrNameRequired', isTypescriptOrClosure || isPermissive]])], ['external', new Map([
      +  ['typeOrNameRequired', isTypescriptOrClosure || isPermissive]])], ['external', new Map( /** @type {[string, string|boolean][]} */[
         // Appears to require a "name" in its signature, albeit somewhat
         //  different from other "name"'s (including as described
         //  at https://jsdoc.app/about-namepaths.html )
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // "name" (and a special syntax for the `external` name)
      -  ['nameRequired', true], ['typeAllowed', false]])], ['fires', new Map([
      +  ['nameRequired', true], ['typeAllowed', false]])], ['fires', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "name" (of an event) and no
         //  counter-examples
      -  ['nameContents', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['function', new Map([
      +  ['namepathRole', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['function', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'], ['nameRequired', false], ['typeAllowed', false]])], ['func', new Map([
      +  ['namepathRole', 'namepath-defining'], ['nameRequired', false], ['typeAllowed', false]])], ['func', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining']])], ['host', new Map([
      +  ['namepathRole', 'namepath-defining']])], ['host', new Map( /** @type {[string, string|boolean][]} */[
         // Appears to require a "name" in its signature, albeit somewhat
         //  different from other "name"'s (including as described
         //  at https://jsdoc.app/about-namepaths.html )
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // See `external`
      -  ['nameRequired', true], ['typeAllowed', false]])], ['interface', new Map([
      +  ['nameRequired', true], ['typeAllowed', false]])], ['interface', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name" in signature, but indicates as optional
      -  ['nameContents', isJsdocTypescriptOrPermissive ? 'namepath-defining' : false],
      +  ['namepathRole', isJsdocTypescriptOrPermissive ? 'namepath-defining' : false],
         // Not in use, but should be this value if using to power `empty-tags`
      -  ['nameAllowed', isClosure], ['typeAllowed', false]])], ['internal', new Map([
      +  ['nameAllowed', isClosure], ['typeAllowed', false]])], ['internal', new Map( /** @type {[string, string|boolean][]} */[
         // https://www.typescriptlang.org/tsconfig/#stripInternal
      -  ['nameContents', false],
      +  ['namepathRole', false],
         // Not in use, but should be this value if using to power `empty-tags`
      -  ['nameAllowed', false]])], ['implements', new Map([
      +  ['nameAllowed', false]])], ['implements', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the doc signature and examples
         // "typeExpression"
      -  ['typeRequired', true]])], ['lends', new Map([
      +  ['typeRequired', true]])], ['lends', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples)
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['listens', new Map([
      +  ['typeOrNameRequired', true]])], ['link', new Map( /** @type {[string, string|boolean][]} */[
      +  // Signature seems to require a namepath OR URL and might be checked as such.
      +  ['namepathRole', 'namepath-or-url-referencing']])], ['linkcode', new Map( /** @type {[string, string|boolean][]} */[
      +  // Synonym for "link"
      +  // Signature seems to require a namepath OR URL and might be checked as such.
      +  ['namepathRole', 'namepath-or-url-referencing']])], ['linkplain', new Map( /** @type {[string, string|boolean][]} */[
      +  // Synonym for "link"
      +  // Signature seems to require a namepath OR URL and might be checked as such.
      +  ['namepathRole', 'namepath-or-url-referencing']])], ['listens', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "name" (of an event) and no
         //  counter-examples
      -  ['nameContents', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['member', new Map([
      +  ['namepathRole', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['member', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // Has example showing curly brackets but not in doc signature
      -  ['typeAllowed', true]])], ['memberof', new Map([
      +  ['typeAllowed', true]])], ['memberof', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples),
         //  though it allows an incomplete namepath ending with connecting symbol
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['memberof!', new Map([
      +  ['typeOrNameRequired', true]])], ['memberof!', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples),
         //  though it allows an incomplete namepath ending with connecting symbol
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['method', new Map([
      +  ['typeOrNameRequired', true]])], ['method', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining']])], ['mixes', new Map([
      +  ['namepathRole', 'namepath-defining']])], ['mixes', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "OtherObjectPath" with no
         //   counter-examples
      -  ['nameContents', 'namepath-referencing'],
      +  ['namepathRole', 'namepath-referencing'],
         // "OtherObjectPath"
      -  ['typeOrNameRequired', true]])], ['mixin', new Map([
      +  ['typeOrNameRequired', true]])], ['mixin', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'], ['nameRequired', false], ['typeAllowed', false]])], ['modifies', new Map([
      +  ['namepathRole', 'namepath-defining'], ['nameRequired', false], ['typeAllowed', false]])], ['modifies', new Map( /** @type {[string, string|boolean][]} */[
         // Has no documentation, but test example has curly brackets, and
         //  "name" would be suggested rather than "namepath" based on example;
         //  not sure if name is required
      -  ['typeAllowed', true]])], ['module', new Map([
      +  ['typeAllowed', true]])], ['module', new Map( /** @type {[string, string|boolean][]} */[
         // Optional "name" and no curly brackets
         //  this block impacts `no-undefined-types` and `valid-types` (search for
         //  "isNamepathDefiningTag|tagMightHaveNamepath|tagMightHaveEitherTypeOrNamePosition")
      -  ['nameContents', isJsdoc ? 'namepath-defining' : 'text'],
      +  ['namepathRole', isJsdoc ? 'namepath-defining' : 'text'],
         // Shows the signature with curly brackets but not in the example
      -  ['typeAllowed', true]])], ['name', new Map([
      +  ['typeAllowed', true]])], ['name', new Map( /** @type {[string, string|boolean][]} */[
         // Seems to require a "namepath" in the signature (with no
         //   counter-examples)
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // "namepath"
         ['nameRequired', true],
         // "namepath"
      -  ['typeOrNameRequired', true]])], ['namespace', new Map([
      +  ['typeOrNameRequired', true]])], ['namespace', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // Shows the signature with curly brackets but not in the example
      -  ['typeAllowed', true]])], ['package', new Map([
      +  ['typeAllowed', true]])], ['package', new Map( /** @type {[string, string|boolean][]} */[
         // Shows the signature with curly brackets but not in the example
         // "typeExpression"
      -  ['typeAllowed', isClosureOrPermissive]])], ['param', new Map([['nameContents', 'namepath-defining'],
      +  ['typeAllowed', isClosureOrPermissive]])], ['param', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', 'namepath-defining'],
         // Though no signature provided requiring, per
         //  https://jsdoc.app/tags-param.html:
         // "The @param tag requires you to specify the name of the parameter you
      @@ -200,58 +215,58 @@ const getDefaultTagStructureForMode = mode => {
         ['nameRequired', true],
         // Has no formal signature in the docs but shows curly brackets
         //   in the examples
      -  ['typeAllowed', true]])], ['private', new Map([
      +  ['typeAllowed', true]])], ['private', new Map( /** @type {[string, string|boolean][]} */[
         // Shows the signature with curly brackets but not in the example
         // "typeExpression"
      -  ['typeAllowed', isClosureOrPermissive]])], ['prop', new Map([['nameContents', 'namepath-defining'],
      +  ['typeAllowed', isClosureOrPermissive]])], ['prop', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', 'namepath-defining'],
         // See `property`
         ['nameRequired', true],
         // Has no formal signature in the docs but shows curly brackets
         //   in the examples
      -  ['typeAllowed', true]])], ['property', new Map([['nameContents', 'namepath-defining'],
      +  ['typeAllowed', true]])], ['property', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', 'namepath-defining'],
         // No docs indicate required, but since parallel to `param`, we treat as
         //   such:
         ['nameRequired', true],
         // Has no formal signature in the docs but shows curly brackets
         //   in the examples
      -  ['typeAllowed', true]])], ['protected', new Map([
      +  ['typeAllowed', true]])], ['protected', new Map( /** @type {[string, string|boolean][]} */[
         // Shows the signature with curly brackets but not in the example
         // "typeExpression"
      -  ['typeAllowed', isClosureOrPermissive]])], ['public', new Map([
      +  ['typeAllowed', isClosureOrPermissive]])], ['public', new Map( /** @type {[string, string|boolean][]} */[
         // Does not show a signature nor show curly brackets in the example
      -  ['typeAllowed', isClosureOrPermissive]])], ['requires', new Map([
      +  ['typeAllowed', isClosureOrPermissive]])], ['requires', new Map( /** @type {[string, string|boolean][]} */[
         // 
      -  ['nameContents', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['returns', new Map([
      +  ['namepathRole', 'namepath-referencing'], ['nameRequired', true], ['typeAllowed', false]])], ['returns', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the signature and in the examples
      -  ['typeAllowed', true]])], ['return', new Map([
      +  ['typeAllowed', true]])], ['return', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the signature and in the examples
      -  ['typeAllowed', true]])], ['satisfies', new Map([
      +  ['typeAllowed', true]])], ['satisfies', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the doc signature and examples
      -  ['typeRequired', true]])], ['see', new Map([
      +  ['typeRequired', true]])], ['see', new Map( /** @type {[string, string|boolean][]} */[
         // Signature allows for "namepath" or text, so user must configure to
         //  'namepath-referencing' to enforce checks
      -  ['nameContents', 'text']])], ['static', new Map([
      +  ['namepathRole', 'text']])], ['static', new Map( /** @type {[string, string|boolean][]} */[
         // Does not show a signature nor show curly brackets in the example
      -  ['typeAllowed', isClosureOrPermissive]])], ['suppress', new Map([['nameContents', !isClosure], ['typeRequired', isClosure]])], ['template', new Map([['nameContents', isJsdoc ? 'text' : 'namepath-referencing'],
      -  // Though defines `nameContents: 'namepath-defining'` in a sense, it is
      +  ['typeAllowed', isClosureOrPermissive]])], ['suppress', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', !isClosure], ['typeRequired', isClosure]])], ['template', new Map( /** @type {[string, string|boolean][]} */[['namepathRole', isJsdoc ? 'text' : 'namepath-referencing'],
      +  // Though defines `namepathRole: 'namepath-defining'` in a sense, it is
         //   not parseable in the same way for template (e.g., allowing commas),
         //   so not adding
      -  ['typeAllowed', isTypescriptOrClosure || isPermissive]])], ['this', new Map([
      +  ['typeAllowed', isTypescriptOrClosure || isPermissive]])], ['this', new Map( /** @type {[string, string|boolean][]} */[
         // Signature seems to require a "namepath" (and no counter-examples)
         // Not used with namepath in Closure/TypeScript, however
      -  ['nameContents', isJsdoc ? 'namepath-referencing' : false], ['typeRequired', isTypescriptOrClosure],
      +  ['namepathRole', isJsdoc ? 'namepath-referencing' : false], ['typeRequired', isTypescriptOrClosure],
         // namepath
      -  ['typeOrNameRequired', isJsdoc]])], ['throws', new Map([
      +  ['typeOrNameRequired', isJsdoc]])], ['throws', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the signature and in the examples
      -  ['typeAllowed', true]])], ['tutorial', new Map([
      +  ['typeAllowed', true]])], ['tutorial', new Map( /** @type {[string, string|boolean][]} */[
         // (a tutorial ID)
      -  ['nameRequired', true], ['typeAllowed', false]])], ['type', new Map([
      +  ['nameRequired', true], ['typeAllowed', false]])], ['type', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the doc signature and examples
         // "typeName"
      -  ['typeRequired', true]])], ['typedef', new Map([
      +  ['typeRequired', true]])], ['typedef', new Map( /** @type {[string, string|boolean][]} */[
         // Seems to require a "namepath" in the signature (with no
         //  counter-examples)
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // TypeScript may allow it to be dropped if followed by @property or @member;
         //   also shown as missing in Closure
         // "namepath"
      @@ -263,13 +278,13 @@ const getDefaultTagStructureForMode = mode => {
         ['typeAllowed', true],
         // TypeScript may allow it to be dropped if followed by @property or @member
         // "namepath"
      -  ['typeOrNameRequired', !isTypescript]])], ['var', new Map([
      +  ['typeOrNameRequired', !isTypescript]])], ['var', new Map( /** @type {[string, string|boolean][]} */[
         // Allows for "name"'s in signature, but indicated as optional
      -  ['nameContents', 'namepath-defining'],
      +  ['namepathRole', 'namepath-defining'],
         // Has example showing curly brackets but not in doc signature
      -  ['typeAllowed', true]])], ['yields', new Map([
      +  ['typeAllowed', true]])], ['yields', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the signature and in the examples
      -  ['typeAllowed', true]])], ['yield', new Map([
      +  ['typeAllowed', true]])], ['yield', new Map( /** @type {[string, string|boolean][]} */[
         // Shows curly brackets in the signature and in the examples
         ['typeAllowed', true]])]]);
       };
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/index.js
      index 2af12682517f64..f2dacd1c3d8833 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/index.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/index.js
      @@ -57,6 +57,9 @@ var _tagLines = _interopRequireDefault(require("./rules/tagLines"));
       var _textEscaping = _interopRequireDefault(require("./rules/textEscaping"));
       var _validTypes = _interopRequireDefault(require("./rules/validTypes"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @type {import('eslint').ESLint.Plugin}
      + */
       const index = {
         configs: {},
         rules: {
      @@ -114,6 +117,11 @@ const index = {
           'valid-types': _validTypes.default
         }
       };
      +
      +/**
      + * @param {"warn"|"error"} warnOrError
      + * @returns {import('eslint').ESLint.ConfigData}
      + */
       const createRecommendedRuleset = warnOrError => {
         return {
           plugins: ['jsdoc'],
      @@ -173,6 +181,11 @@ const createRecommendedRuleset = warnOrError => {
           }
         };
       };
      +
      +/**
      + * @param {"warn"|"error"} warnOrError
      + * @returns {import('eslint').ESLint.ConfigData}
      + */
       const createRecommendedTypeScriptRuleset = warnOrError => {
         const ruleset = createRecommendedRuleset(warnOrError);
         return {
      @@ -192,6 +205,10 @@ const createRecommendedTypeScriptRuleset = warnOrError => {
         };
       };
       
      +/* istanbul ignore if -- TS */
      +if (!index.configs) {
      +  throw new Error('TypeScript guard');
      +}
       index.configs.recommended = createRecommendedRuleset('warn');
       index.configs['recommended-error'] = createRecommendedRuleset('error');
       index.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/iterateJsdoc.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/iterateJsdoc.js
      index d376e811b9e72a..4bb3d95efde89d 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/iterateJsdoc.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/iterateJsdoc.js
      @@ -15,6 +15,531 @@ var _jsdoccomment = require("@es-joy/jsdoccomment");
       var _commentParser = require("comment-parser");
       var _jsdocUtils = _interopRequireDefault(require("./jsdocUtils"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @typedef {number} Integer
      + */
      +
      +/**
      + * @typedef {{
      + *   disallowName?: string,
      + *   allowName?: string,
      + *   context?: string,
      + *   comment?: string,
      + *   tags?: string[],
      + *   replacement?: string,
      + *   minimum?: Integer,
      + *   message?: string
      + * }} ContextObject
      + */
      +/**
      + * @typedef {string|ContextObject} Context
      + */
      +
      +/**
      + * @callback CheckJsdoc
      + * @param {{
      + *   lastIndex?: Integer,
      + *   isFunctionContext?: boolean,
      + *   selector?: string
      + * }} info
      + * @param {null|((jsdoc: import('comment-parser').Block) => boolean|undefined)} handler
      + * @param {import('eslint').Rule.Node} node
      + * @returns {void}
      + */
      +
      +/**
      + * @callback ForEachPreferredTag
      + * @param {string} tagName
      + * @param {(
      + *   matchingJsdocTag: import('comment-parser').Spec & {
      + *     line: Integer
      + *   },
      + *   targetTagName: string
      + * ) => void} arrayHandler
      + * @param {boolean} [skipReportingBlockedTag]
      + * @returns {void}
      + */
      +
      +/**
      + * @callback ReportSettings
      + * @param {string} message
      + * @returns {void}
      + */
      +
      +/**
      + * @callback ParseClosureTemplateTag
      + * @param {import('comment-parser').Spec} tag
      + * @returns {string[]}
      + */
      +
      +/**
      + * @callback GetPreferredTagNameObject
      + * @param {{
      + *   tagName: string
      + * }} cfg
      + * @returns {string|false|{
      + *   message: string;
      + *   replacement?: string|undefined
      + * }|{
      + *   blocked: true,
      + *   tagName: string
      + * }}
      + */
      +
      +/**
      + * @typedef {{
      + *   forEachPreferredTag: ForEachPreferredTag,
      + *   reportSettings: ReportSettings,
      + *   parseClosureTemplateTag: ParseClosureTemplateTag,
      + *   getPreferredTagNameObject: GetPreferredTagNameObject,
      + *   pathDoesNotBeginWith: import('./jsdocUtils.js').PathDoesNotBeginWith
      + * }} BasicUtils
      + */
      +
      +/**
      + * @callback IsIteratingFunction
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback IsVirtualFunction
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback Stringify
      + * @param {import('comment-parser').Block} tagBlock
      + * @param {boolean} [specRewire]
      + * @returns {string}
      + */
      +
      +/* eslint-disable jsdoc/valid-types -- Old version */
      +/**
      + * @callback ReportJSDoc
      + * @param {string} msg
      + * @param {null|import('comment-parser').Spec|{line: Integer, column?: Integer}} [tag]
      + * @param {(() => void)|null} [handler]
      + * @param {boolean} [specRewire]
      + * @param {undefined|{
      + *   [key: string]: string
      + * }} [data]
      + */
      +/* eslint-enable jsdoc/valid-types -- Old version */
      +
      +/**
      + * @callback GetRegexFromString
      + * @param {string} str
      + * @param {string} [requiredFlags]
      + * @returns {RegExp}
      + */
      +
      +/**
      + * @callback GetTagDescription
      + * @param {import('comment-parser').Spec} tg
      + * @param {boolean} [returnArray]
      + * @returns {string[]|string}
      + */
      +
      +/**
      + * @callback SetTagDescription
      + * @param {import('comment-parser').Spec} tg
      + * @param {RegExp} matcher
      + * @param {(description: string) => string} setter
      + * @returns {Integer}
      + */
      +
      +/**
      + * @callback GetDescription
      + * @returns {{
      + *   description: string,
      + *   descriptions: string[],
      + *   lastDescriptionLine: Integer
      + * }}
      + */
      +
      +/* eslint-disable jsdoc/no-undefined-types -- Bug */
      +/**
      + * @callback SetBlockDescription
      + * @param {(
      + *   info: {
      + *     delimiter: string,
      + *     postDelimiter: string,
      + *     start: string
      + *   },
      + *   seedTokens: (
      + *     tokens?: Partial
      + *   ) => import('comment-parser').Tokens,
      + *   descLines: string[]
      + * ) => import('comment-parser').Line[]} setter
      + * @returns {void}
      + */
      +/* eslint-enable jsdoc/no-undefined-types -- Bug */
      +
      +/**
      + * @callback SetDescriptionLines
      + * @param {RegExp} matcher
      + * @param {(description: string) => string} setter
      + * @returns {Integer}
      + */
      +
      +/* eslint-disable jsdoc/no-undefined-types -- TS */
      +/**
      + * @callback ChangeTag
      + * @param {import('comment-parser').Spec} tag
      + * @param {...Partial} tokens
      + * @returns {void}
      + */
      +/* eslint-enable jsdoc/no-undefined-types -- TS */
      +
      +/* eslint-disable jsdoc/no-undefined-types -- TS */
      +/**
      + * @callback SetTag
      + * @param {import('comment-parser').Spec & {
      + *   line: Integer
      + * }} tag
      + * @param {Partial} [tokens]
      + * @returns {void}
      + */
      +/* eslint-enable jsdoc/no-undefined-types -- TS */
      +
      +/**
      + * @callback RemoveTag
      + * @param {Integer} tagIndex
      + * @param {{
      + *   removeEmptyBlock?: boolean,
      + *   tagSourceOffset?: Integer
      + * }} [cfg]
      + * @returns {void}
      + */
      +
      +/**
      + * @callback AddTag
      + * @param {string} targetTagName
      + * @param {Integer} [number]
      + * @param {import('comment-parser').Tokens|{}} [tokens]
      + * @returns {void}
      + */
      +
      +/**
      + * @callback GetFirstLine
      + * @returns {Integer|undefined}
      + */
      +
      +/* eslint-disable jsdoc/no-undefined-types -- TS */
      +/**
      + * @typedef {(
      + *   tokens?: Partial | undefined
      + * ) => import('comment-parser').Tokens} SeedTokens
      + */
      +/* eslint-enable jsdoc/no-undefined-types -- TS */
      +
      +/**
      + * Sets tokens to empty string.
      + *
      + * @callback EmptyTokens
      + * @param {import('comment-parser').Tokens} tokens
      + * @returns {void}
      + */
      +
      +/* eslint-disable jsdoc/no-undefined-types -- TS */
      +/**
      + * @callback AddLine
      + * @param {Integer} sourceIndex
      + * @param {Partial} tokens
      + * @returns {void}
      + */
      +/* eslint-enable jsdoc/no-undefined-types -- TS */
      +
      +/**
      + * @callback AddLines
      + * @param {Integer} tagIndex
      + * @param {Integer} tagSourceOffset
      + * @param {Integer} numLines
      + * @returns {void}
      + */
      +
      +/**
      + * @callback MakeMultiline
      + * @returns {void}
      + */
      +
      +/**
      + * @callback GetFunctionParameterNames
      + * @param {boolean} [useDefaultObjectProperties]
      + * @returns {import('./jsdocUtils.js').ParamNameInfo[]}
      + */
      +
      +/**
      + * @callback HasParams
      + * @returns {Integer}
      + */
      +
      +/**
      + * @callback IsGenerator
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback IsConstructor
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback GetJsdocTagsDeep
      + * @param {string} tagName
      + * @returns {false|{
      + *   idx: Integer,
      + *   name: string,
      + *   type: string
      + * }[]}
      + */
      +
      +/**
      + * @callback GetPreferredTagName
      + * @param {{
      + *   tagName: string,
      + *   skipReportingBlockedTag?: boolean,
      + *   allowObjectReturn?: boolean,
      + *   defaultMessage?: string
      + * }} cfg
      + * @returns {string|undefined|false|{
      + *   message: string;
      + *   replacement?: string|undefined;
      + * }|{
      + *   blocked: true,
      + *   tagName: string
      + * }}
      + */
      +
      +/**
      + * @callback IsValidTag
      + * @param {string} name
      + * @param {string[]} definedTags
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback HasATag
      + * @param {string[]} names
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback HasTag
      + * @param {string} name
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback ComparePaths
      + * @param {string} name
      + * @returns {(otherPathName: string) => void}
      + */
      +
      +/**
      + * @callback DropPathSegmentQuotes
      + * @param {string} name
      + * @returns {string}
      + */
      +
      +/**
      + * @callback AvoidDocs
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback TagMightHaveNamePositionTypePosition
      + * @param {string} tagName
      + * @param {import('./getDefaultTagStructureForMode.js').
      + *   TagStructure[]} [otherModeMaps]
      + * @returns {boolean|{otherMode: true}}
      + */
      +
      +/**
      + * @callback TagMustHave
      + * @param {string} tagName
      + * @param {import('./getDefaultTagStructureForMode.js').
      + *   TagStructure[]} otherModeMaps
      + * @returns {boolean|{
      + *   otherMode: false
      + * }}
      + */
      +
      +/**
      + * @callback TagMissingRequiredTypeOrNamepath
      + * @param {import('comment-parser').Spec} tag
      + * @param {import('./getDefaultTagStructureForMode.js').
      + *   TagStructure[]} otherModeMaps
      + * @returns {boolean|{
      + *   otherMode: false
      + * }}
      + */
      +
      +/**
      + * @callback IsNamepathX
      + * @param {string} tagName
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback GetTagStructureForMode
      + * @param {import('./jsdocUtils.js').ParserMode} mde
      + * @returns {import('./getDefaultTagStructureForMode.js').TagStructure}
      + */
      +
      +/**
      + * @callback MayBeUndefinedTypeTag
      + * @param {import('comment-parser').Spec} tag
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback HasValueOrExecutorHasNonEmptyResolveValue
      + * @param {boolean} anyPromiseAsReturn
      + * @param {boolean} [allBranches]
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback HasYieldValue
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback HasYieldReturnValue
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback HasThrowValue
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback IsAsync
      + * @returns {boolean|undefined}
      + */
      +
      +/**
      + * @callback GetTags
      + * @param {string} tagName
      + * @returns {import('comment-parser').Spec[]}
      + */
      +
      +/**
      + * @callback GetPresentTags
      + * @param {string[]} tagList
      + * @returns {import('comment-parser').Spec[]}
      + */
      +
      +/**
      + * @callback FilterTags
      + * @param {(tag: import('comment-parser').Spec) => boolean} filter
      + * @returns {import('comment-parser').Spec[]}
      + */
      +
      +/**
      + * @callback FilterAllTags
      + * @param {(tag: (import('comment-parser').Spec|
      + *   import('@es-joy/jsdoccomment').JsdocInlineTagNoType)) => boolean} filter
      + * @returns {(import('comment-parser').Spec|
      + *   import('@es-joy/jsdoccomment').JsdocInlineTagNoType)[]}
      + */
      +
      +/**
      + * @callback GetTagsByType
      + * @param {import('comment-parser').Spec[]} tags
      + * @returns {{
      + *   tagsWithNames: import('comment-parser').Spec[],
      + *   tagsWithoutNames: import('comment-parser').Spec[]
      + * }}
      + */
      +
      +/**
      + * @callback HasOptionTag
      + * @param {string} tagName
      + * @returns {boolean}
      + */
      +
      +/**
      + * @callback GetClassNode
      + * @returns {Node|null}
      + */
      +
      +/**
      + * @callback GetClassJsdoc
      + * @returns {null|import('comment-parser').Block & {
      + *   inlineTags: import('@es-joy/jsdoccomment').InlineTag[]
      + * }}
      + */
      +
      +/**
      + * @callback ClassHasTag
      + * @param {string} tagName
      + * @returns {boolean}
      + */
      +/**
      + * @typedef {BasicUtils & {
      + *   isIteratingFunction: IsIteratingFunction,
      + *   isVirtualFunction: IsVirtualFunction,
      + *   stringify: Stringify,
      + *   reportJSDoc: ReportJSDoc,
      + *   getRegexFromString: GetRegexFromString,
      + *   getTagDescription: GetTagDescription,
      + *   setTagDescription: SetTagDescription,
      + *   getDescription: GetDescription,
      + *   setBlockDescription: SetBlockDescription,
      + *   setDescriptionLines: SetDescriptionLines,
      + *   changeTag: ChangeTag,
      + *   setTag: SetTag,
      + *   removeTag: RemoveTag,
      + *   addTag: AddTag,
      + *   getFirstLine: GetFirstLine,
      + *   seedTokens: SeedTokens,
      + *   emptyTokens: EmptyTokens,
      + *   addLine: AddLine,
      + *   addLines: AddLines,
      + *   makeMultiline: MakeMultiline,
      + *   flattenRoots: import('./jsdocUtils.js').FlattenRoots,
      + *   getFunctionParameterNames: GetFunctionParameterNames,
      + *   hasParams: HasParams,
      + *   isGenerator: IsGenerator,
      + *   isConstructor: IsConstructor,
      + *   getJsdocTagsDeep: GetJsdocTagsDeep,
      + *   getPreferredTagName: GetPreferredTagName,
      + *   isValidTag: IsValidTag,
      + *   hasATag: HasATag,
      + *   hasTag: HasTag,
      + *   comparePaths: ComparePaths,
      + *   dropPathSegmentQuotes: DropPathSegmentQuotes,
      + *   avoidDocs: AvoidDocs,
      + *   tagMightHaveNamePosition: TagMightHaveNamePositionTypePosition,
      + *   tagMightHaveTypePosition: TagMightHaveNamePositionTypePosition,
      + *   tagMustHaveNamePosition: TagMustHave,
      + *   tagMustHaveTypePosition: TagMustHave,
      + *   tagMissingRequiredTypeOrNamepath: TagMissingRequiredTypeOrNamepath,
      + *   isNamepathDefiningTag: IsNamepathX,
      + *   isNamepathReferencingTag: IsNamepathX,
      + *   isNamepathOrUrlReferencingTag: IsNamepathX,
      + *   tagMightHaveNamepath: IsNamepathX,
      + *   getTagStructureForMode: GetTagStructureForMode,
      + *   mayBeUndefinedTypeTag: MayBeUndefinedTypeTag,
      + *   hasValueOrExecutorHasNonEmptyResolveValue: HasValueOrExecutorHasNonEmptyResolveValue,
      + *   hasYieldValue: HasYieldValue,
      + *   hasYieldReturnValue: HasYieldReturnValue,
      + *   hasThrowValue: HasThrowValue,
      + *   isAsync: IsAsync,
      + *   getTags: GetTags,
      + *   getPresentTags: GetPresentTags,
      + *   filterTags: FilterTags,
      + *   filterAllTags: FilterAllTags,
      + *   getTagsByType: GetTagsByType,
      + *   hasOptionTag: HasOptionTag,
      + *   getClassNode: GetClassNode,
      + *   getClassJsdoc: GetClassJsdoc,
      + *   classHasTag: ClassHasTag
      + * }} Utils
      + */
       const {
         rewireSpecs,
         seedTokens
      @@ -25,19 +550,38 @@ const {
       /**
        * Should use ESLint rule's typing.
        *
      - * @typedef {any} EslintRuleMeta
      + * @typedef {import('eslint').Rule.RuleMetaData} EslintRuleMeta
        */
       
      +/* eslint-disable jsdoc/valid-types -- Old version */
       /**
        * A plain object for tracking state as needed by rules across iterations.
        *
      - * @typedef {any} StateObject
      + * @typedef {{
      + *   globalTags: {},
      + *   hasDuplicates: {
      + *     [key: string]: boolean
      + *   },
      + *   selectorMap: {
      + *     [selector: string]: {
      + *       [comment: string]: Integer
      + *     }
      + *   },
      + *   hasTag: {
      + *     [key: string]: boolean
      + *   },
      + *   hasNonComment: number,
      + *   hasNonCommentBeforeTag: {
      + *     [key: string]: boolean|number
      + *   }
      + * }} StateObject
        */
      +/* eslint-enable jsdoc/valid-types -- Old version */
       
       /**
        * The Node AST as supplied by the parser.
        *
      - * @typedef {any} Node
      + * @typedef {import('eslint').Rule.Node} Node
        */
       
       /*
      @@ -49,14 +593,29 @@ const {
       */
       
       const globalState = new Map();
      +/**
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {{
      + *   tagNamePreference?: import('./jsdocUtils.js').TagNamePreference,
      + *   mode?: import('./jsdocUtils.js').ParserMode
      + * }} cfg
      + * @returns {BasicUtils}
      + */
       const getBasicUtils = (context, {
         tagNamePreference,
         mode
       }) => {
      +  /** @type {BasicUtils} */
         const utils = {};
      +
      +  /** @type {ReportSettings} */
         utils.reportSettings = message => {
           context.report({
             loc: {
      +        end: {
      +          column: 1,
      +          line: 1
      +        },
               start: {
                 column: 1,
                 line: 1
      @@ -65,14 +624,18 @@ const getBasicUtils = (context, {
             message
           });
         };
      +
      +  /** @type {ParseClosureTemplateTag} */
         utils.parseClosureTemplateTag = tag => {
           return _jsdocUtils.default.parseClosureTemplateTag(tag);
         };
         utils.pathDoesNotBeginWith = _jsdocUtils.default.pathDoesNotBeginWith;
      +
      +  /** @type {GetPreferredTagNameObject} */
         utils.getPreferredTagNameObject = ({
           tagName
         }) => {
      -    const ret = _jsdocUtils.default.getPreferredTagName(context, mode, tagName, tagNamePreference);
      +    const ret = _jsdocUtils.default.getPreferredTagName(context, /** @type {import('./jsdocUtils.js').ParserMode} */mode, tagName, tagNamePreference);
           const isObject = ret && typeof ret === 'object';
           if (ret === false || isObject && !ret.replacement) {
             return {
      @@ -84,10 +647,41 @@ const getBasicUtils = (context, {
         };
         return utils;
       };
      +
      +/* eslint-disable jsdoc/valid-types -- Old version of pratt */
      +/**
      + * @callback Report
      + * @param {string} message
      + * @param {import('eslint').Rule.ReportFixer|null} [fix]
      + * @param {null|
      + *   {line?: Integer, column?: Integer}|
      + *   import('comment-parser').Spec & {line?: Integer}
      + * } [jsdocLoc]
      + * @param {undefined|{
      + *   [key: string]: string
      + * }} [data]
      + * @returns {void}
      + */
      +/* eslint-enable jsdoc/valid-types -- Old version of pratt */
      +
      +/**
      + * @param {Node|null} node
      + * @param {import('comment-parser').Block & {
      + *   inlineTags: import('@es-joy/jsdoccomment').InlineTag[]
      + * }} jsdoc
      + * @param {import('eslint').AST.Token} jsdocNode
      + * @param {Settings} settings
      + * @param {Report} report
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {boolean|undefined} iteratingAll
      + * @param {RuleConfig} ruleConfig
      + * @param {string} indent
      + * @returns {Utils}
      + */
       const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAll, ruleConfig, indent) => {
      -  const ancestors = context.getAncestors();
      +  const ancestors = /** @type {import('eslint').Rule.Node[]} */context.getAncestors();
         const sourceCode = context.getSourceCode();
      -  const utils = getBasicUtils(context, settings);
      +  const utils = /** @type {Utils} */getBasicUtils(context, settings);
         const {
           tagNamePreference,
           overrideReplacesDocs,
      @@ -98,21 +692,30 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           minLines,
           mode
         } = settings;
      +
      +  /** @type {IsIteratingFunction} */
         utils.isIteratingFunction = () => {
      -    return !iteratingAll || ['MethodDefinition', 'ArrowFunctionExpression', 'FunctionDeclaration', 'FunctionExpression'].includes(node && node.type);
      +    return !iteratingAll || ['MethodDefinition', 'ArrowFunctionExpression', 'FunctionDeclaration', 'FunctionExpression'].includes(String(node && node.type));
         };
      +
      +  /** @type {IsVirtualFunction} */
         utils.isVirtualFunction = () => {
      -    return iteratingAll && utils.hasATag(['callback', 'function', 'func', 'method']);
      +    return Boolean(iteratingAll) && utils.hasATag(['callback', 'function', 'func', 'method']);
         };
      +
      +  /** @type {Stringify} */
         utils.stringify = (tagBlock, specRewire) => {
           let block;
           if (specRewire) {
             block = rewireSpecs(tagBlock);
           }
      -    return (0, _commentParser.stringify)(specRewire ? block : tagBlock);
      +    return (0, _commentParser.stringify)( /** @type {import('comment-parser').Block} */
      +    specRewire ? block : tagBlock);
         };
      +
      +  /** @type {ReportJSDoc} */
         utils.reportJSDoc = (msg, tag, handler, specRewire, data) => {
      -    report(msg, handler ? fixer => {
      +    report(msg, handler ? /** @type {import('eslint').Rule.ReportFixer} */fixer => {
             handler();
             const replacement = utils.stringify(jsdoc, specRewire);
             if (!replacement) {
      @@ -126,10 +729,17 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             return fixer.replaceText(jsdocNode, replacement);
           } : null, tag, data);
         };
      +
      +  /** @type {GetRegexFromString} */
         utils.getRegexFromString = (str, requiredFlags) => {
           return _jsdocUtils.default.getRegexFromString(str, requiredFlags);
         };
      +
      +  /** @type {GetTagDescription} */
         utils.getTagDescription = (tg, returnArray) => {
      +    /**
      +     * @type {string[]}
      +     */
           const descriptions = [];
           tg.source.some(({
             tokens: {
      @@ -158,6 +768,8 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           });
           return returnArray ? descriptions : descriptions.join('\n');
         };
      +
      +  /** @type {SetTagDescription} */
         utils.setTagDescription = (tg, matcher, setter) => {
           let finalIdx = 0;
           tg.source.some(({
      @@ -174,7 +786,10 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           });
           return finalIdx;
         };
      +
      +  /** @type {GetDescription} */
         utils.getDescription = () => {
      +    /** @type {string[]} */
           const descriptions = [];
           let lastDescriptionLine = 0;
           let tagsBegun = false;
      @@ -206,10 +821,27 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             lastDescriptionLine
           };
         };
      +
      +  /** @type {SetBlockDescription} */
         utils.setBlockDescription = setter => {
      +    /** @type {string[]} */
           const descLines = [];
      +    /**
      +     * @type {undefined|Integer}
      +     */
           let startIdx;
      +    /**
      +     * @type {undefined|Integer}
      +     */
           let endIdx;
      +
      +    /**
      +     * @type {undefined|{
      +     *   delimiter: string,
      +     *   postDelimiter: string,
      +     *   start: string
      +     * }}
      +     */
           let info;
           jsdoc.source.some(({
             tokens: {
      @@ -242,9 +874,19 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
       
           /* istanbul ignore else -- Won't be called if missing */
           if (descLines.length) {
      -      jsdoc.source.splice(startIdx, endIdx - startIdx, ...setter(info, seedTokens, descLines));
      +      jsdoc.source.splice( /** @type {Integer} */startIdx, /** @type {Integer} */endIdx - /** @type {Integer} */startIdx, ...setter(
      +      /**
      +       * @type {{
      +       *   delimiter: string,
      +       *   postDelimiter: string,
      +       *   start: string
      +       * }}
      +       */
      +      info, seedTokens, descLines));
           }
         };
      +
      +  /** @type {SetDescriptionLines} */
         utils.setDescriptionLines = (matcher, setter) => {
           let finalIdx = 0;
           jsdoc.source.some(({
      @@ -267,6 +909,8 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           });
           return finalIdx;
         };
      +
      +  /** @type {ChangeTag} */
         utils.changeTag = (tag, ...tokens) => {
           for (const [idx, src] of tag.source.entries()) {
             src.tokens = {
      @@ -275,10 +919,13 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             };
           }
         };
      +
      +  /** @type {SetTag} */
         utils.setTag = (tag, tokens) => {
           tag.source = [{
      -      // Or tag.source[0].number?
             number: tag.line,
      +      // Or tag.source[0].number?
      +      source: '',
             tokens: seedTokens({
               delimiter: '*',
               postDelimiter: ' ',
      @@ -288,6 +935,8 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             })
           }];
         };
      +
      +  /** @type {RemoveTag} */
         utils.removeTag = (tagIndex, {
           removeEmptyBlock = false,
           tagSourceOffset = 0
      @@ -295,6 +944,7 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           const {
             source: tagSource
           } = jsdoc.tags[tagIndex];
      +    /** @type {Integer|undefined} */
           let lastIndex;
           const firstNumber = jsdoc.source[0].number;
           tagSource.some(({
      @@ -332,7 +982,12 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
                   tokens
                 } = jsdoc.source[spliceIdx];
                 for (const item of ['postDelimiter', 'tag', 'postTag', 'type', 'postType', 'name', 'postName', 'description']) {
      -            tokens[item] = '';
      +            tokens[
      +            /**
      +             * @type {"postDelimiter"|"tag"|"type"|"postType"|
      +             *   "postTag"|"name"|"postName"|"description"}
      +             */
      +            item] = '';
                 }
               } else {
                 jsdoc.source.splice(spliceIdx, spliceCount - tagSourceOffset + (spliceIdx ? 0 : jsdoc.source.length));
      @@ -346,14 +1001,16 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             return false;
           });
           for (const [idx, src] of jsdoc.source.slice(lastIndex).entries()) {
      -      src.number = firstNumber + lastIndex + idx;
      +      src.number = firstNumber + /** @type {Integer} */lastIndex + idx;
           }
       
      -    // Todo: Once rewiring of tags may be fixed in comment-parser to reflect missing tags,
      -    //         this step should be added here (so that, e.g., if accessing `jsdoc.tags`,
      -    //         such as to add a new tag, the correct information will be available)
      +    // Todo: Once rewiring of tags may be fixed in comment-parser to reflect
      +    //         missing tags, this step should be added here (so that, e.g.,
      +    //         if accessing `jsdoc.tags`, such as to add a new tag, the
      +    //         correct information will be available)
         };
       
      +  /** @type {AddTag} */
         utils.addTag = (targetTagName, number = ((() => {
           var _jsdoc$tags, _jsdoc$tags$source$;
           return (_jsdoc$tags = jsdoc.tags[jsdoc.tags.length - 1]) === null || _jsdoc$tags === void 0 ? void 0 : (_jsdoc$tags$source$ = _jsdoc$tags.source[0]) === null || _jsdoc$tags$source$ === void 0 ? void 0 : _jsdoc$tags$source$.number;
      @@ -379,6 +1036,8 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             src.number++;
           }
         };
      +
      +  /** @type {GetFirstLine} */
         utils.getFirstLine = () => {
           let firstLine;
           for (const {
      @@ -394,12 +1053,23 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           }
           return firstLine;
         };
      +
      +  /** @type {SeedTokens} */
         utils.seedTokens = seedTokens;
      +
      +  /** @type {EmptyTokens} */
         utils.emptyTokens = tokens => {
           for (const prop of ['start', 'postDelimiter', 'tag', 'type', 'postType', 'postTag', 'name', 'postName', 'description', 'end', 'lineEnd']) {
      -      tokens[prop] = '';
      +      tokens[
      +      /**
      +       * @type {"start"|"postDelimiter"|"tag"|"type"|"postType"|
      +       *   "postTag"|"name"|"postName"|"description"|"end"|"lineEnd"}
      +       */
      +      prop] = '';
           }
         };
      +
      +  /** @type {AddLine} */
         utils.addLine = (sourceIndex, tokens) => {
           var _jsdoc$source;
           const number = (((_jsdoc$source = jsdoc.source[sourceIndex - 1]) === null || _jsdoc$source === void 0 ? void 0 : _jsdoc$source.number) || 0) + 1;
      @@ -415,10 +1085,12 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           // rewireSource(jsdoc);
         };
       
      +  /** @type {AddLines} */
         utils.addLines = (tagIndex, tagSourceOffset, numLines) => {
           const {
             source: tagSource
           } = jsdoc.tags[tagIndex];
      +    /** @type {Integer|undefined} */
           let lastIndex;
           const firstNumber = jsdoc.source[0].number;
           tagSource.some(({
      @@ -461,9 +1133,11 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             return false;
           });
           for (const [idx, src] of jsdoc.source.slice(lastIndex).entries()) {
      -      src.number = firstNumber + lastIndex + idx;
      +      src.number = firstNumber + /** @type {Integer} */lastIndex + idx;
           }
         };
      +
      +  /** @type {MakeMultiline} */
         utils.makeMultiline = () => {
           const {
             source: [{
      @@ -492,7 +1166,6 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
               postName = '';
             } else if (postType) {
               postType = '';
      -        // eslint-disable-next-line no-inline-comments
             } else /* istanbul ignore else -- `comment-parser` prevents empty blocks currently per https://github.com/syavorsky/comment-parser/issues/128 */if (postTag) {
                 postTag = '';
               }
      @@ -518,23 +1191,45 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             start: indent + ' '
           });
         };
      -  utils.flattenRoots = params => {
      -    return _jsdocUtils.default.flattenRoots(params);
      -  };
      +
      +  /**
      +   * @type {import('./jsdocUtils.js').FlattenRoots}
      +   */
      +  utils.flattenRoots = _jsdocUtils.default.flattenRoots;
      +
      +  /** @type {GetFunctionParameterNames} */
         utils.getFunctionParameterNames = useDefaultObjectProperties => {
           return _jsdocUtils.default.getFunctionParameterNames(node, useDefaultObjectProperties);
         };
      +
      +  /** @type {HasParams} */
         utils.hasParams = () => {
      -    return _jsdocUtils.default.hasParams(node);
      +    return _jsdocUtils.default.hasParams( /** @type {Node} */node);
         };
      +
      +  /** @type {IsGenerator} */
         utils.isGenerator = () => {
      -    return node && (node.generator || node.type === 'MethodDefinition' && node.value.generator || ['ExportNamedDeclaration', 'ExportDefaultDeclaration'].includes(node.type) && node.declaration.generator);
      +    return node !== null && Boolean(
      +    /**
      +     * @type {import('estree').FunctionDeclaration|
      +     *   import('estree').FunctionExpression}
      +     */
      +    node.generator || node.type === 'MethodDefinition' && node.value.generator || ['ExportNamedDeclaration', 'ExportDefaultDeclaration'].includes(node.type) && /** @type {import('estree').FunctionDeclaration} */
      +    /**
      +     * @type {import('estree').ExportNamedDeclaration|
      +     *   import('estree').ExportDefaultDeclaration}
      +     */
      +    node.declaration.generator);
         };
      +
      +  /** @type {IsConstructor} */
         utils.isConstructor = () => {
      -    return _jsdocUtils.default.isConstructor(node);
      +    return _jsdocUtils.default.isConstructor( /** @type {Node} */node);
         };
      +
      +  /** @type {GetJsdocTagsDeep} */
         utils.getJsdocTagsDeep = tagName => {
      -    const name = utils.getPreferredTagName({
      +    const name = /** @type {string|false} */utils.getPreferredTagName({
             tagName
           });
           if (!name) {
      @@ -542,6 +1237,8 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           }
           return _jsdocUtils.default.getJsdocTagsDeep(jsdoc, name);
         };
      +
      +  /** @type {GetPreferredTagName} */
         utils.getPreferredTagName = ({
           tagName,
           skipReportingBlockedTag = false,
      @@ -563,27 +1260,40 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           }
           return isObject && !allowObjectReturn ? ret.replacement : ret;
         };
      +
      +  /** @type {IsValidTag} */
         utils.isValidTag = (name, definedTags) => {
           return _jsdocUtils.default.isValidTag(context, mode, name, definedTags);
         };
      +
      +  /** @type {HasATag} */
         utils.hasATag = names => {
           return _jsdocUtils.default.hasATag(jsdoc, names);
         };
      +
      +  /** @type {HasTag} */
         utils.hasTag = name => {
           return _jsdocUtils.default.hasTag(jsdoc, name);
         };
      +
      +  /** @type {ComparePaths} */
         utils.comparePaths = name => {
           return _jsdocUtils.default.comparePaths(name);
         };
      +
      +  /** @type {DropPathSegmentQuotes} */
         utils.dropPathSegmentQuotes = name => {
           return _jsdocUtils.default.dropPathSegmentQuotes(name);
         };
      +
      +  /** @type {AvoidDocs} */
         utils.avoidDocs = () => {
           var _context$options$;
           if (ignoreReplacesDocs !== false && (utils.hasTag('ignore') || utils.classHasTag('ignore')) || overrideReplacesDocs !== false && (utils.hasTag('override') || utils.classHasTag('override')) || implementsReplacesDocs !== false && (utils.hasTag('implements') || utils.classHasTag('implements')) || augmentsExtendsReplacesDocs && (utils.hasATag(['augments', 'extends']) || utils.classHasTag('augments') || utils.classHasTag('extends'))) {
             return true;
           }
      -    if (_jsdocUtils.default.exemptSpeciaMethods(jsdoc, node, context, ruleConfig.meta.schema)) {
      +    if (_jsdocUtils.default.exemptSpeciaMethods(jsdoc, node, context, /** @type {import('json-schema').JSONSchema4|import('json-schema').JSONSchema4[]} */
      +    ruleConfig.meta.schema)) {
             return true;
           }
           const exemptedBy = ((_context$options$ = context.options[0]) === null || _context$options$ === void 0 ? void 0 : _context$options$.exemptedBy) ?? ['inheritDoc', ...(mode === 'closure' ? [] : ['inheritdoc'])];
      @@ -593,8 +1303,11 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           return false;
         };
         for (const method of ['tagMightHaveNamePosition', 'tagMightHaveTypePosition']) {
      -    utils[method] = (tagName, otherModeMaps) => {
      -      const result = _jsdocUtils.default[method](tagName);
      +    /** @type {TagMightHaveNamePositionTypePosition} */
      +    utils[/** @type {"tagMightHaveNamePosition"|"tagMightHaveTypePosition"} */
      +    method] = (tagName, otherModeMaps) => {
      +      const result = _jsdocUtils.default[/** @type {"tagMightHaveNamePosition"|"tagMightHaveTypePosition"} */
      +      method](tagName);
             if (result) {
               return true;
             }
      @@ -602,16 +1315,34 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
               return false;
             }
             const otherResult = otherModeMaps.some(otherModeMap => {
      -        return _jsdocUtils.default[method](tagName, otherModeMap);
      +        return _jsdocUtils.default[/** @type {"tagMightHaveNamePosition"|"tagMightHaveTypePosition"} */
      +        method](tagName, otherModeMap);
             });
             return otherResult ? {
               otherMode: true
             } : false;
           };
         }
      -  for (const method of ['tagMustHaveNamePosition', 'tagMustHaveTypePosition', 'tagMissingRequiredTypeOrNamepath']) {
      -    utils[method] = (tagName, otherModeMaps) => {
      -      const result = _jsdocUtils.default[method](tagName);
      +
      +  /** @type {TagMissingRequiredTypeOrNamepath} */
      +  utils.tagMissingRequiredTypeOrNamepath = (tagName, otherModeMaps) => {
      +    const result = _jsdocUtils.default.tagMissingRequiredTypeOrNamepath(tagName);
      +    if (!result) {
      +      return false;
      +    }
      +    const otherResult = otherModeMaps.every(otherModeMap => {
      +      return _jsdocUtils.default.tagMissingRequiredTypeOrNamepath(tagName, otherModeMap);
      +    });
      +    return otherResult ? true : {
      +      otherMode: false
      +    };
      +  };
      +  for (const method of ['tagMustHaveNamePosition', 'tagMustHaveTypePosition']) {
      +    /** @type {TagMustHave} */
      +    utils[/** @type {"tagMustHaveNamePosition"|"tagMustHaveTypePosition"} */
      +    method] = (tagName, otherModeMaps) => {
      +      const result = _jsdocUtils.default[/** @type {"tagMustHaveNamePosition"|"tagMustHaveTypePosition"} */
      +      method](tagName);
             if (!result) {
               return false;
             }
      @@ -619,69 +1350,113 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             // if (!otherModeMaps) { return true; }
       
             const otherResult = otherModeMaps.every(otherModeMap => {
      -        return _jsdocUtils.default[method](tagName, otherModeMap);
      +        return _jsdocUtils.default[/** @type {"tagMustHaveNamePosition"|"tagMustHaveTypePosition"} */
      +        method](tagName, otherModeMap);
             });
             return otherResult ? true : {
               otherMode: false
             };
           };
         }
      -  for (const method of ['isNamepathDefiningTag', 'tagMightHaveNamepath']) {
      -    utils[method] = tagName => {
      -      return _jsdocUtils.default[method](tagName);
      +  for (const method of ['isNamepathDefiningTag', 'isNamepathReferencingTag', 'isNamepathOrUrlReferencingTag', 'tagMightHaveNamepath']) {
      +    /** @type {IsNamepathX} */
      +    utils[/** @type {"isNamepathDefiningTag"|"isNamepathReferencingTag"|"isNamepathOrUrlReferencingTag"|"tagMightHaveNamepath"} */
      +    method] = tagName => {
      +      return _jsdocUtils.default[/** @type {"isNamepathDefiningTag"|"isNamepathReferencingTag"|"isNamepathOrUrlReferencingTag"|"tagMightHaveNamepath"} */
      +      method](tagName);
           };
         }
      +
      +  /** @type {GetTagStructureForMode} */
         utils.getTagStructureForMode = mde => {
           return _jsdocUtils.default.getTagStructureForMode(mde, settings.structuredTags);
         };
      +
      +  /** @type {MayBeUndefinedTypeTag} */
         utils.mayBeUndefinedTypeTag = tag => {
           return _jsdocUtils.default.mayBeUndefinedTypeTag(tag, settings.mode);
         };
      +
      +  /** @type {HasValueOrExecutorHasNonEmptyResolveValue} */
         utils.hasValueOrExecutorHasNonEmptyResolveValue = (anyPromiseAsReturn, allBranches) => {
      -    return _jsdocUtils.default.hasValueOrExecutorHasNonEmptyResolveValue(node, anyPromiseAsReturn, allBranches);
      +    return _jsdocUtils.default.hasValueOrExecutorHasNonEmptyResolveValue( /** @type {Node} */node, anyPromiseAsReturn, allBranches);
         };
      +
      +  /** @type {HasYieldValue} */
         utils.hasYieldValue = () => {
      -    if (['ExportNamedDeclaration', 'ExportDefaultDeclaration'].includes(node.type)) {
      -      return _jsdocUtils.default.hasYieldValue(node.declaration);
      +    if (['ExportNamedDeclaration', 'ExportDefaultDeclaration'].includes( /** @type {Node} */node.type)) {
      +      return _jsdocUtils.default.hasYieldValue( /** @type {import('estree').Declaration|import('estree').Expression} */
      +      /** @type {import('estree').ExportNamedDeclaration|import('estree').ExportDefaultDeclaration} */
      +      node.declaration);
           }
      -    return _jsdocUtils.default.hasYieldValue(node);
      +    return _jsdocUtils.default.hasYieldValue( /** @type {Node} */node);
         };
      +
      +  /** @type {HasYieldReturnValue} */
         utils.hasYieldReturnValue = () => {
      -    return _jsdocUtils.default.hasYieldValue(node, true);
      +    return _jsdocUtils.default.hasYieldValue( /** @type {Node} */node, true);
         };
      +
      +  /** @type {HasThrowValue} */
         utils.hasThrowValue = () => {
           return _jsdocUtils.default.hasThrowValue(node);
         };
      +
      +  /** @type {IsAsync} */
         utils.isAsync = () => {
      -    return node.async;
      +    return 'async' in /** @type {Node} */node && node.async;
         };
      +
      +  /** @type {GetTags} */
         utils.getTags = tagName => {
           return utils.filterTags(item => {
             return item.tag === tagName;
           });
         };
      +
      +  /** @type {GetPresentTags} */
         utils.getPresentTags = tagList => {
           return utils.filterTags(tag => {
             return tagList.includes(tag.tag);
           });
         };
      +
      +  /** @type {FilterTags} */
         utils.filterTags = filter => {
      -    return _jsdocUtils.default.filterTags(jsdoc.tags, filter);
      +    return jsdoc.tags.filter(tag => {
      +      return filter(tag);
      +    });
         };
      +
      +  /** @type {FilterAllTags} */
      +  utils.filterAllTags = filter => {
      +    const tags = _jsdocUtils.default.getAllTags(jsdoc);
      +    return tags.filter(tag => {
      +      return filter(tag);
      +    });
      +  };
      +
      +  /** @type {GetTagsByType} */
         utils.getTagsByType = tags => {
           return _jsdocUtils.default.getTagsByType(context, mode, tags, tagNamePreference);
         };
      +
      +  /** @type {HasOptionTag} */
         utils.hasOptionTag = tagName => {
           const {
             tags
           } = context.options[0] ?? {};
           return Boolean(tags && tags.includes(tagName));
         };
      +
      +  /** @type {GetClassNode} */
         utils.getClassNode = () => {
           return [...ancestors, node].reverse().find(parent => {
             return parent && ['ClassDeclaration', 'ClassExpression'].includes(parent.type);
      -    }) || null;
      +    }) ?? null;
         };
      +
      +  /** @type {GetClassJsdoc} */
         utils.getClassJsdoc = () => {
           const classNode = utils.getClassNode();
           if (!classNode) {
      @@ -696,12 +1471,17 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
           }
           return null;
         };
      +
      +  /** @type {ClassHasTag} */
         utils.classHasTag = tagName => {
           const classJsdoc = utils.getClassJsdoc();
      -    return Boolean(classJsdoc) && _jsdocUtils.default.hasTag(classJsdoc, tagName);
      +    return classJsdoc !== null && _jsdocUtils.default.hasTag(classJsdoc, tagName);
         };
      +
      +  /** @type {ForEachPreferredTag} */
         utils.forEachPreferredTag = (tagName, arrayHandler, skipReportingBlockedTag = false) => {
      -    const targetTagName = utils.getPreferredTagName({
      +    const targetTagName = /** @type {string|false} */
      +    utils.getPreferredTagName({
             skipReportingBlockedTag,
             tagName
           });
      @@ -714,13 +1494,59 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
             return tag === targetTagName;
           });
           for (const matchingJsdocTag of matchingJsdocTags) {
      -      arrayHandler(matchingJsdocTag, targetTagName);
      +      arrayHandler(
      +      /**
      +       * @type {import('comment-parser').Spec & {
      +       *   line: Integer
      +       * }}
      +       */
      +      matchingJsdocTag, targetTagName);
           }
         };
         return utils;
       };
      +
      +/* eslint-disable jsdoc/valid-types -- Old version */
      +/**
      + * @typedef {{
      + *   [key: string]: false|string|{
      + *     message: string,
      + *     replacement?: false|string
      + *     skipRootChecking?: boolean
      + *   }
      + * }} PreferredTypes
      + */
      +/**
      + * @typedef {{
      + *   [key: string]: {
      + *     name?: "text"|"namepath-defining"|"namepath-referencing"|false,
      + *     type?: boolean|string[],
      + *     required?: ("name"|"type"|"typeOrNameRequired")[]
      + *   }
      + * }} StructuredTags
      + */
      +/**
      + * Settings from ESLint types.
      + *
      + * @typedef {{
      + *   maxLines: Integer,
      + *   minLines: Integer,
      + *   tagNamePreference: import('./jsdocUtils.js').TagNamePreference,
      + *   mode: import('./jsdocUtils.js').ParserMode,
      + *   preferredTypes: PreferredTypes,
      + *   structuredTags: StructuredTags,
      + *   [name: string]: any,
      + *   contexts?: Context[]
      + * }} Settings
      + */
      +/* eslint-enable jsdoc/valid-types -- Old version */
      +
      +/**
      + * @param {import('eslint').Rule.RuleContext} context
      + * @returns {Settings|false}
      + */
       const getSettings = context => {
      -  var _context$settings$jsd, _context$settings$jsd2, _context$settings$jsd3, _context$settings$jsd4, _context$settings$jsd5, _context$settings$jsd6, _context$settings$jsd7, _context$settings$jsd8, _context$settings$jsd9, _context$settings$jsd10, _context$settings$jsd11, _context$settings$jsd12, _context$settings$jsd13, _context$parserPath, _context$languageOpti, _context$languageOpti2, _context$languageOpti3, _context$languageOpti4, _context$settings$jsd14;
      +  var _context$settings$jsd, _context$settings$jsd2, _context$settings$jsd3, _context$settings$jsd4, _context$settings$jsd5, _context$settings$jsd6, _context$settings$jsd7, _context$settings$jsd8, _context$settings$jsd9, _context$settings$jsd10, _context$settings$jsd11, _context$settings$jsd12, _context$settings$jsd13, _context$settings$jsd14;
         /* eslint-disable canonical/sort-keys */
         const settings = {
           // All rules
      @@ -743,7 +1569,7 @@ const getSettings = context => {
           // `require-param-type`, `require-param-description`
           exemptDestructuredRootsFromChecks: (_context$settings$jsd12 = context.settings.jsdoc) === null || _context$settings$jsd12 === void 0 ? void 0 : _context$settings$jsd12.exemptDestructuredRootsFromChecks,
           // Many rules, e.g., `check-tag-names`
      -    mode: ((_context$settings$jsd13 = context.settings.jsdoc) === null || _context$settings$jsd13 === void 0 ? void 0 : _context$settings$jsd13.mode) ?? ((_context$parserPath = context.parserPath) !== null && _context$parserPath !== void 0 && _context$parserPath.includes('@typescript-eslint') || (_context$languageOpti = context.languageOptions) !== null && _context$languageOpti !== void 0 && (_context$languageOpti2 = _context$languageOpti.parser) !== null && _context$languageOpti2 !== void 0 && (_context$languageOpti3 = _context$languageOpti2.meta) !== null && _context$languageOpti3 !== void 0 && (_context$languageOpti4 = _context$languageOpti3.name) !== null && _context$languageOpti4 !== void 0 && _context$languageOpti4.includes('typescript') ? 'typescript' : 'jsdoc'),
      +    mode: ((_context$settings$jsd13 = context.settings.jsdoc) === null || _context$settings$jsd13 === void 0 ? void 0 : _context$settings$jsd13.mode) ?? 'typescript',
           // Many rules
           contexts: (_context$settings$jsd14 = context.settings.jsdoc) === null || _context$settings$jsd14 === void 0 ? void 0 : _context$settings$jsd14.contexts
         };
      @@ -755,12 +1581,16 @@ const getSettings = context => {
         } catch (error) {
           context.report({
             loc: {
      +        end: {
      +          column: 1,
      +          line: 1
      +        },
               start: {
                 column: 1,
                 line: 1
               }
             },
      -      message: error.message
      +      message: /** @type {Error} */error.message
           });
           return false;
         }
      @@ -770,18 +1600,24 @@ const getSettings = context => {
       /**
        * Create the report function
        *
      - * @param {object} context
      - * @param {object} commentNode
      + * @callback MakeReport
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {import('estree').Node} commentNode
      + * @returns {Report}
        */
      +
      +/** @type {MakeReport} */
       exports.getSettings = getSettings;
       const makeReport = (context, commentNode) => {
      -  const report = (message, fix = null, jsdocLoc = null, data = null) => {
      +  /** @type {Report} */
      +  const report = (message, fix = null, jsdocLoc = null, data = undefined) => {
      +    /* eslint-enable jsdoc/valid-types -- Old version */
           let loc;
           if (jsdocLoc) {
             if (!('line' in jsdocLoc)) {
      -        jsdocLoc.line = jsdocLoc.source[0].number;
      +        jsdocLoc.line = /** @type {import('comment-parser').Spec & {line?: Integer}} */jsdocLoc.source[0].number;
             }
      -      const lineNumber = commentNode.loc.start.line + jsdocLoc.line;
      +      const lineNumber = /** @type {import('eslint').AST.SourceLocation} */commentNode.loc.start.line + /** @type {Integer} */jsdocLoc.line;
             loc = {
               end: {
                 column: 0,
      @@ -795,8 +1631,8 @@ const makeReport = (context, commentNode) => {
       
             // Todo: Remove ignore once `check-examples` can be restored for ESLint 8+
             // istanbul ignore if
      -      if (jsdocLoc.column) {
      -        const colNumber = commentNode.loc.start.column + jsdocLoc.column;
      +      if ('column' in jsdocLoc && typeof jsdocLoc.column === 'number') {
      +        const colNumber = /** @type {import('eslint').AST.SourceLocation} */commentNode.loc.start.column + jsdocLoc.column;
               loc.end.column = colNumber;
               loc.start.column = colNumber;
             }
      @@ -812,29 +1648,89 @@ const makeReport = (context, commentNode) => {
         return report;
       };
       
      -/* eslint-disable jsdoc/no-undefined-types -- canonical still using an older version where not defined */
      +/* eslint-disable jsdoc/valid-types -- Old version */
       /**
      - * @typedef {ReturnType} Utils
      - * @typedef {ReturnType} Settings
        * @typedef {(
        *   arg: {
      - *     context: object,
      - *     sourceCode: object,
      + *     context: import('eslint').Rule.RuleContext,
      + *     sourceCode: import('eslint').SourceCode,
      + *     indent?: string,
      + *     info?: {
      + *       comment?: string|undefined,
      + *       lastIndex?: Integer|undefined
      + *     },
      + *     state?: StateObject,
      + *     globalState?: Map>,
      + *     jsdoc?: import('comment-parser').Block,
      + *     jsdocNode?: import('eslint').Rule.Node & {
      + *       range: [number, number]
      + *     },
      + *     node?: Node,
      + *     allComments?: import('estree').Node[]
      + *     report?: Report,
      + *     makeReport?: MakeReport,
      + *     settings: Settings,
      + *     utils: BasicUtils,
      + *   }
      + * ) => any } JsdocVisitorBasic
      + */
      +/**
      + * @typedef {(
      + *   arg: {
      + *     context: import('eslint').Rule.RuleContext,
      + *     sourceCode: import('eslint').SourceCode,
        *     indent: string,
      - *     jsdoc: object,
      - *     jsdocNode: object,
      - *     node: Node | null,
      - *     report: ReturnType,
      + *     info: {
      + *       comment?: string|undefined,
      + *       lastIndex?: Integer|undefined
      + *     },
      + *     state: StateObject,
      + *     globalState: Map>,
      + *     jsdoc: import('comment-parser').Block,
      + *     jsdocNode: import('eslint').Rule.Node & {
      + *       range: [number, number]
      + *     },
      + *     node: Node|null,
      + *     allComments?: import('estree').Node[]
      + *     report: Report,
      + *     makeReport?: MakeReport,
        *     settings: Settings,
        *     utils: Utils,
        *   }
        * ) => any } JsdocVisitor
        */
      +/* eslint-enable jsdoc/valid-types -- Old version */
       /* eslint-enable jsdoc/no-undefined-types -- canonical still using an older version where not defined */
       
      +/**
      + * @param {{
      + *   comment?: string,
      + *   lastIndex?: Integer,
      + *   selector?: string,
      + *   isFunctionContext?: boolean,
      + * }} info
      + * @param {string} indent
      + * @param {import('comment-parser').Block & {
      + *   inlineTags: import('@es-joy/jsdoccomment').InlineTag[]
      + * }} jsdoc
      + * @param {RuleConfig} ruleConfig
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {string[]} lines
      + * @param {import('@es-joy/jsdoccomment').Token} jsdocNode
      + * @param {Node|null} node
      + * @param {Settings} settings
      + * @param {import('eslint').SourceCode} sourceCode
      + * @param {JsdocVisitor} iterator
      + * @param {StateObject} state
      + * @param {boolean} [iteratingAll]
      + * @returns {void}
      + */
       const iterate = (info, indent, jsdoc, ruleConfig, context, lines, jsdocNode, node, settings, sourceCode, iterator, state, iteratingAll) => {
      -  const report = makeReport(context, jsdocNode);
      -  const utils = getUtils(node, jsdoc, jsdocNode, settings, report, context, iteratingAll, ruleConfig, indent);
      +  const jsdocNde = /** @type {unknown} */jsdocNode;
      +  const report = makeReport(context, /** @type {import('estree').Node} */
      +  jsdocNde);
      +  const utils = getUtils(node, jsdoc, /** @type {import('eslint').AST.Token} */
      +  jsdocNode, settings, report, context, iteratingAll, ruleConfig, indent);
         if (!ruleConfig.checkInternal && settings.ignoreInternal && utils.hasTag('internal')) {
           return;
         }
      @@ -854,9 +1750,13 @@ const iterate = (info, indent, jsdoc, ruleConfig, context, lines, jsdocNode, nod
           globalState,
           indent,
           info,
      -    iteratingAll,
           jsdoc,
      -    jsdocNode,
      +    jsdocNode:
      +    /**
      +     * @type {import('eslint').Rule.Node & {
      +     *  range: [number, number];}}
      +     */
      +    jsdocNde,
           node,
           report,
           settings,
      @@ -865,23 +1765,28 @@ const iterate = (info, indent, jsdoc, ruleConfig, context, lines, jsdocNode, nod
           utils
         });
       };
      +
      +/**
      + * @param {string[]} lines
      + * @param {import('estree').Comment} jsdocNode
      + * @returns {[indent: string, jsdoc: import('comment-parser').Block & {
      + *   inlineTags: import('@es-joy/jsdoccomment').InlineTag[]
      + * }]}
      + */
       const getIndentAndJSDoc = function (lines, jsdocNode) {
      -  const sourceLine = lines[jsdocNode.loc.start.line - 1];
      -  const indnt = sourceLine.charAt(0).repeat(jsdocNode.loc.start.column);
      +  const sourceLine = lines[/** @type {import('estree').SourceLocation} */
      +  jsdocNode.loc.start.line - 1];
      +  const indnt = sourceLine.charAt(0).repeat( /** @type {import('estree').SourceLocation} */
      +  jsdocNode.loc.start.column);
         const jsdc = (0, _jsdoccomment.parseComment)(jsdocNode, '');
         return [indnt, jsdc];
       };
       
       /**
        *
      - * @typedef {{node: Node, state: StateObject}} NonCommentArgs
      - */
      -
      -/**
      - * Our internal dynamic set of utilities.
      - *
      - * @todo Document
      - * @typedef {any} Utils
      + * @typedef {{node: Node & {
      + *   range: [number, number]
      + * }, state: StateObject}} NonCommentArgs
        */
       
       /**
      @@ -891,9 +1796,20 @@ const getIndentAndJSDoc = function (lines, jsdocNode) {
        * @property {true} [contextSelected] Whether to force a `contexts` check
        * @property {true} [iterateAllJsdocs] Whether to iterate all JSDoc blocks by default
        *   regardless of context
      - * @property {(context, state: StateObject, utils: Utils) => void} [exit] Handler to be executed
      - *   upon exiting iteration of program AST
      - * @property {(NonCommentArgs) => void} [nonComment] Handler to be executed if rule wishes
      + * @property {true} [checkPrivate] Whether to check `@private` blocks (normally exempted)
      + * @property {true} [checkInternal] Whether to check `@internal` blocks (normally exempted)
      + * @property {true} [checkFile] Whether to iterates over all JSDoc blocks regardless of attachment
      + * @property {true} [nonGlobalSettings] Whether to avoid relying on settings for global contexts
      + * @property {true} [noTracking] Whether to disable the tracking of visited comment nodes (as
      + *   non-tracked may conduct further actions)
      + * @property {true} [matchContext] Whether the rule expects contexts to be based on a match option
      + * @property {(args: {
      + *   context: import('eslint').Rule.RuleContext,
      + *   state: StateObject,
      + *   settings: Settings,
      + *   utils: BasicUtils
      + * }) => void} [exit] Handler to be executed upon exiting iteration of program AST
      + * @property {(nca: NonCommentArgs) => void} [nonComment] Handler to be executed if rule wishes
        *   to be supplied nodes without comments
        */
       
      @@ -903,30 +1819,46 @@ const getIndentAndJSDoc = function (lines, jsdocNode) {
        *
        * @param {JsdocVisitor} iterator
        * @param {RuleConfig} ruleConfig The rule's configuration
      - * @param contexts The `contexts` containing relevant `comment` info.
      - * @param {boolean} additiveCommentContexts If true, will have a separate
      + * @param {ContextObject[]|null} [contexts] The `contexts` containing relevant `comment` info.
      + * @param {boolean} [additiveCommentContexts] If true, will have a separate
        *   iteration for each matching comment context. Otherwise, will iterate
        *   once if there is a single matching comment context.
      + * @returns {import('eslint').Rule.RuleModule}
        */
       const iterateAllJsdocs = (iterator, ruleConfig, contexts, additiveCommentContexts) => {
         const trackedJsdocs = new Set();
      +
      +  /** @type {import('@es-joy/jsdoccomment').CommentHandler} */
         let handler;
      +
      +  /** @type {Settings|false} */
         let settings;
      +
      +  /**
      +   * @param {import('eslint').Rule.RuleContext} context
      +   * @param {Node|null} node
      +   * @param {import('estree').Comment[]} jsdocNodes
      +   * @param {StateObject} state
      +   * @param {boolean} [lastCall]
      +   * @returns {void}
      +   */
         const callIterator = (context, node, jsdocNodes, state, lastCall) => {
           const sourceCode = context.getSourceCode();
           const {
             lines
           } = sourceCode;
      -    const utils = getBasicUtils(context, settings);
      +    const utils = getBasicUtils(context, /** @type {Settings} */settings);
           for (const jsdocNode of jsdocNodes) {
      -      if (!/^\/\*\*\s/u.test(sourceCode.getText(jsdocNode))) {
      +      const jsdocNde = /** @type {unknown} */jsdocNode;
      +      if (!/^\/\*\*\s/u.test(sourceCode.getText( /** @type {import('estree').Node} */
      +      jsdocNde))) {
               continue;
             }
             const [indent, jsdoc] = getIndentAndJSDoc(lines, jsdocNode);
             if (additiveCommentContexts) {
               for (const [idx, {
                 comment
      -        }] of contexts.entries()) {
      +        }] of /** @type {ContextObject[]} */contexts.entries()) {
                 if (comment && handler(comment, jsdoc) === false) {
                   continue;
                 }
      @@ -934,7 +1866,9 @@ const iterateAllJsdocs = (iterator, ruleConfig, contexts, additiveCommentContext
                   comment,
                   lastIndex: idx,
                   selector: node === null || node === void 0 ? void 0 : node.type
      -          }, indent, jsdoc, ruleConfig, context, lines, jsdocNode, node, settings, sourceCode, iterator, state, true);
      +          }, indent, jsdoc, ruleConfig, context, lines, jsdocNode, /** @type {Node} */
      +          node, /** @type {Settings} */
      +          settings, sourceCode, iterator, state, true);
               }
               continue;
             }
      @@ -957,18 +1891,21 @@ const iterateAllJsdocs = (iterator, ruleConfig, contexts, additiveCommentContext
             } : {
               lastIndex,
               selector: node === null || node === void 0 ? void 0 : node.type
      -      }, indent, jsdoc, ruleConfig, context, lines, jsdocNode, node, settings, sourceCode, iterator, state, true);
      +      }, indent, jsdoc, ruleConfig, context, lines, jsdocNode, node, /** @type {Settings} */
      +      settings, sourceCode, iterator, state, true);
           }
      +    const settngs = /** @type {Settings} */settings;
           if (lastCall && ruleConfig.exit) {
             ruleConfig.exit({
               context,
      -        settings,
      +        settings: settngs,
               state,
               utils
             });
           }
         };
         return {
      +    // @ts-expect-error ESLint accepts
           create(context) {
             const sourceCode = context.getSourceCode();
             settings = getSettings(context);
      @@ -980,29 +1917,38 @@ const iterateAllJsdocs = (iterator, ruleConfig, contexts, additiveCommentContext
             }
             const state = {};
             return {
      +        /**
      +         * @param {import('eslint').Rule.Node & {
      +         *   range: [Integer, Integer];
      +         * }} node
      +         * @returns {void}
      +         */
               '*:not(Program)'(node) {
      -          const commentNode = (0, _jsdoccomment.getJSDocComment)(sourceCode, node, settings);
      +          const commentNode = (0, _jsdoccomment.getJSDocComment)(sourceCode, node, /** @type {Settings} */settings);
                 if (!ruleConfig.noTracking && trackedJsdocs.has(commentNode)) {
                   return;
                 }
                 if (!commentNode) {
                   if (ruleConfig.nonComment) {
      +              const ste = /** @type {StateObject} */state;
                     ruleConfig.nonComment({
                       node,
      -                state
      +                state: ste
                     });
                   }
                   return;
                 }
                 trackedJsdocs.add(commentNode);
      -          callIterator(context, node, [commentNode], state);
      +          callIterator(context, node, [/** @type {import('estree').Comment} */
      +          commentNode], /** @type {StateObject} */state);
               },
               'Program:exit'() {
                 const allComments = sourceCode.getAllComments();
                 const untrackedJSdoc = allComments.filter(node => {
                   return !trackedJsdocs.has(node);
                 });
      -          callIterator(context, null, untrackedJSdoc, state, true);
      +          callIterator(context, null, untrackedJSdoc, /** @type {StateObject} */
      +          state, true);
               }
             };
           },
      @@ -1014,8 +1960,9 @@ const iterateAllJsdocs = (iterator, ruleConfig, contexts, additiveCommentContext
        * Create an eslint rule that iterates over all JSDocs, regardless of whether
        * they are attached to a function-like node.
        *
      - * @param {JsdocVisitor} iterator
      + * @param {JsdocVisitorBasic} iterator
        * @param {RuleConfig} ruleConfig
      + * @returns {import('eslint').Rule.RuleModule}
        */
       const checkFile = (iterator, ruleConfig) => {
         return {
      @@ -1027,15 +1974,11 @@ const checkFile = (iterator, ruleConfig) => {
             }
             return {
               'Program:exit'() {
      -          const allComments = sourceCode.getAllComments();
      -          const {
      -            lines
      -          } = sourceCode;
      +          const allComms = /** @type {unknown} */sourceCode.getAllComments();
                 const utils = getBasicUtils(context, settings);
                 iterator({
      -            allComments,
      +            allComments: /** @type {import('estree').Node[]} */allComms,
                   context,
      -            lines,
                   makeReport,
                   settings,
                   sourceCode,
      @@ -1050,6 +1993,7 @@ const checkFile = (iterator, ruleConfig) => {
       /**
        * @param {JsdocVisitor} iterator
        * @param {RuleConfig} ruleConfig
      + * @returns {import('eslint').Rule.RuleModule}
        */
       function iterateJsdoc(iterator, ruleConfig) {
         var _ruleConfig$meta;
      @@ -1061,27 +2005,34 @@ function iterateJsdoc(iterator, ruleConfig) {
           throw new TypeError('The iterator argument must be a function.');
         }
         if (ruleConfig.checkFile) {
      -    return checkFile(iterator, ruleConfig);
      +    return checkFile( /** @type {JsdocVisitorBasic} */iterator, ruleConfig);
         }
         if (ruleConfig.iterateAllJsdocs) {
           return iterateAllJsdocs(iterator, ruleConfig);
         }
      +
      +  /** @type {import('eslint').Rule.RuleModule} */
         return {
           /**
            * The entrypoint for the JSDoc rule.
            *
      -     * @param {*} context
      +     * @param {import('eslint').Rule.RuleContext} context
            *   a reference to the context which hold all important information
            *   like settings and the sourcecode to check.
      -     * @returns {object}
      -     *   a list with parser callback function.
      +     * @returns {import('eslint').Rule.RuleListener}
      +     *   a listener with parser callback function.
            */
           create(context) {
             const settings = getSettings(context);
             if (!settings) {
               return {};
             }
      +
      +      /**
      +       * @type {Context[]|undefined}
      +       */
             let contexts;
      +      /* eslint-enable jsdoc/valid-types -- Old version */
             if (ruleConfig.contextDefaults || ruleConfig.contextSelected || ruleConfig.matchContext) {
               var _context$options$2, _contexts, _contexts2;
               contexts = ruleConfig.matchContext && (_context$options$2 = context.options[0]) !== null && _context$options$2 !== void 0 && _context$options$2.match ? context.options[0].match : _jsdocUtils.default.enforcedContexts(context, ruleConfig.contextDefaults, ruleConfig.nonGlobalSettings ? {} : settings);
      @@ -1098,23 +2049,33 @@ function iterateJsdoc(iterator, ruleConfig) {
               }
               const hasPlainAny = (_contexts = contexts) === null || _contexts === void 0 ? void 0 : _contexts.includes('any');
               const hasObjectAny = !hasPlainAny && ((_contexts2 = contexts) === null || _contexts2 === void 0 ? void 0 : _contexts2.find(ctxt => {
      +          if (typeof ctxt === 'string') {
      +            return false;
      +          }
                 return (ctxt === null || ctxt === void 0 ? void 0 : ctxt.context) === 'any';
               }));
               if (hasPlainAny || hasObjectAny) {
      -          return iterateAllJsdocs(iterator, ruleConfig, hasObjectAny ? contexts : null, ruleConfig.matchContext).create(context);
      +          return iterateAllJsdocs(iterator, ruleConfig, hasObjectAny ? /** @type {ContextObject[]} */contexts : null, ruleConfig.matchContext).create(context);
               }
             }
             const sourceCode = context.getSourceCode();
             const {
               lines
             } = sourceCode;
      +
      +      /* eslint-disable jsdoc/no-undefined-types -- TS */
      +      /** @type {Partial} */
             const state = {};
      +      /* eslint-enable jsdoc/no-undefined-types -- TS */
      +
      +      /** @type {CheckJsdoc} */
             const checkJsdoc = (info, handler, node) => {
               const jsdocNode = (0, _jsdoccomment.getJSDocComment)(sourceCode, node, settings);
               if (!jsdocNode) {
                 return;
               }
      -        const [indent, jsdoc] = getIndentAndJSDoc(lines, jsdocNode);
      +        const [indent, jsdoc] = getIndentAndJSDoc(lines, /** @type {import('estree').Comment} */
      +        jsdocNode);
               if (
               // Note, `handler` should already be bound in its first argument
               //  with these only to be called after the value of
      @@ -1122,8 +2083,11 @@ function iterateJsdoc(iterator, ruleConfig) {
               handler && handler(jsdoc) === false) {
                 return;
               }
      -        iterate(info, indent, jsdoc, ruleConfig, context, lines, jsdocNode, node, settings, sourceCode, iterator, state);
      +        iterate(info, indent, jsdoc, ruleConfig, context, lines, jsdocNode, node, settings, sourceCode, iterator, /** @type {StateObject} */
      +        state);
             };
      +
      +      /** @type {import('eslint').Rule.RuleListener} */
             let contextObject = {};
             if (contexts && (ruleConfig.contextDefaults || ruleConfig.contextSelected || ruleConfig.matchContext)) {
               contextObject = _jsdocUtils.default.getContextObject(contexts, checkJsdoc, (0, _jsdoccomment.commentHandler)(settings));
      @@ -1134,15 +2098,21 @@ function iterateJsdoc(iterator, ruleConfig) {
                 }, null);
               }
             }
      -      if (ruleConfig.exit) {
      +      if (typeof ruleConfig.exit === 'function') {
               contextObject['Program:exit'] = () => {
      +          const ste = /** @type {StateObject} */state;
      +          /* eslint-disable jsdoc/no-undefined-types -- Bug */
      +          // @ts-expect-error `utils` not needed at this point
      +          /** @type {Required} */
                 ruleConfig.exit({
                   context,
                   settings,
      -            state
      +            state: ste
                 });
      +          /* eslint-enable jsdoc/no-undefined-types -- Bug */
               };
             }
      +
             return contextObject;
           },
           meta: ruleConfig.meta
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/jsdocUtils.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/jsdocUtils.js
      index cd27f06d9f942b..01fea439648483 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/jsdocUtils.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/jsdocUtils.js
      @@ -10,24 +10,90 @@ var _getDefaultTagStructureForMode = _interopRequireDefault(require("./getDefaul
       var _tagNames = require("./tagNames");
       var _hasReturnValue = require("./utils/hasReturnValue");
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      -/* eslint-disable jsdoc/no-undefined-types */
      -
       /**
      - * @typedef {"jsdoc"|"typescript"|"closure"} ParserMode
      + * @typedef {number} Integer
      + */
      +/**
      + * @typedef {import('./utils/hasReturnValue.js').ESTreeOrTypeScriptNode} ESTreeOrTypeScriptNode
        */
       
      +/**
      + * @typedef {"jsdoc"|"typescript"|"closure"|"permissive"} ParserMode
      + */
      +/**
      + * @type {import('./getDefaultTagStructureForMode.js').TagStructure}
      + */
       let tagStructure;
      +
      +/**
      + * @param {ParserMode} mode
      + * @returns {void}
      + */
       const setTagStructure = mode => {
         tagStructure = (0, _getDefaultTagStructureForMode.default)(mode);
       };
       
      -// Given a nested array of property names, reduce them to a single array,
      -// appending the name of the root element along the way if present.
      +/**
      + * @typedef {{
      + *   hasPropertyRest: boolean,
      + *   hasRestElement: boolean,
      + *   names: string[],
      + *   rests: boolean[],
      + * }} FlattendRootInfo
      + */
      +
      +/**
      + * @typedef {undefined|string|{
      + *   isRestProperty: boolean|undefined,
      + *   name: string,
      + *   restElement: true
      + * }|[undefined|string, FlattendRootInfo & {
      + *   annotationParamName?: string
      + * }|{
      + *   name: Integer,
      + *   restElement: boolean
      + * }[]]} ParamNameInfo
      + */
      +
      +/**
      + * @typedef {undefined|string|{
      + *   isRestProperty: boolean,
      + *   restElement: boolean,
      + *   name: string
      + * }|[string, {
      + *   hasPropertyRest: boolean,
      + *   hasRestElement: boolean,
      + *   names: string[],
      + *   rests: boolean[],
      + * }]|[string, string[]]} ParamInfo
      + */
      +
      +/**
      + * Given a nested array of property names, reduce them to a single array,
      + *   appending the name of the root element along the way if present.
      + *
      + * @callback FlattenRoots
      + * @param {ParamInfo[]} params
      + * @param {string} [root]
      + * @returns {FlattendRootInfo}
      + */
      +
      +/** @type {FlattenRoots} */
       const flattenRoots = (params, root = '') => {
         let hasRestElement = false;
         let hasPropertyRest = false;
      +
      +  /**
      +   * @type {boolean[]}
      +   */
         const rests = [];
      -  const names = params.reduce((acc, cur) => {
      +  const names = params.reduce(
      +  /**
      +   * @param {string[]} acc
      +   * @param {ParamInfo} cur
      +   * @returns {string[]}
      +   */
      +  (acc, cur) => {
           if (Array.isArray(cur)) {
             let nms;
             if (Array.isArray(cur[1])) {
      @@ -78,46 +144,68 @@ const flattenRoots = (params, root = '') => {
       };
       
       /**
      - * @param {object} propSignature
      - * @returns {undefined|Array|string}
      + * @param {import('@typescript-eslint/types').TSESTree.TSIndexSignature|
      + *  import('@typescript-eslint/types').TSESTree.TSConstructSignatureDeclaration|
      + *  import('@typescript-eslint/types').TSESTree.TSCallSignatureDeclaration|
      + *  import('@typescript-eslint/types').TSESTree.TSPropertySignature} propSignature
      + * @returns {undefined|string|[string, string[]]}
        */
       const getPropertiesFromPropertySignature = propSignature => {
         if (propSignature.type === 'TSIndexSignature' || propSignature.type === 'TSConstructSignatureDeclaration' || propSignature.type === 'TSCallSignatureDeclaration') {
           return undefined;
         }
         if (propSignature.typeAnnotation && propSignature.typeAnnotation.typeAnnotation.type === 'TSTypeLiteral') {
      -    return [propSignature.key.name, propSignature.typeAnnotation.typeAnnotation.members.map(member => {
      -      return getPropertiesFromPropertySignature(member);
      +    return [/** @type {import('@typescript-eslint/types').TSESTree.Identifier} */propSignature.key.name, propSignature.typeAnnotation.typeAnnotation.members.map(member => {
      +      return (/** @type {string} */
      +        getPropertiesFromPropertySignature( /** @type {import('@typescript-eslint/types').TSESTree.TSPropertySignature} */
      +        member)
      +      );
           })];
         }
      -  return propSignature.key.name;
      +  return (/** @type {import('@typescript-eslint/types').TSESTree.Identifier} */propSignature.key.name
      +  );
       };
       
       /**
      - * @param {object} functionNode
      - * @param {boolean} checkDefaultObjects
      - * @returns {Array}
      + * @param {ESTreeOrTypeScriptNode|null} functionNode
      + * @param {boolean} [checkDefaultObjects]
      + * @throws {Error}
      + * @returns {ParamNameInfo[]}
        */
       const getFunctionParameterNames = (functionNode, checkDefaultObjects) => {
         var _functionNode$value;
      -  // eslint-disable-next-line complexity
      +  /* eslint-disable complexity -- Temporary */
      +  /**
      +   * @param {import('estree').Identifier|import('estree').AssignmentPattern|
      +   *   import('estree').ObjectPattern|import('estree').Property|
      +   *   import('estree').RestElement|import('estree').ArrayPattern|
      +   *   import('@typescript-eslint/types').TSESTree.TSParameterProperty|
      +   *   import('@typescript-eslint/types').TSESTree.Property|
      +   *   import('@typescript-eslint/types').TSESTree.RestElement
      +   * } param
      +   * @param {boolean} [isProperty]
      +   * @returns {ParamNameInfo}
      +   */
         const getParamName = (param, isProperty) => {
      -    var _param$left, _param$left3;
      +    var _param$left2;
      +    /* eslint-enable complexity -- Temporary */
           const hasLeftTypeAnnotation = 'left' in param && 'typeAnnotation' in param.left;
           if ('typeAnnotation' in param || hasLeftTypeAnnotation) {
             var _typeAnnotation$typeA;
      -      const typeAnnotation = hasLeftTypeAnnotation ? param.left.typeAnnotation : param.typeAnnotation;
      +      const typeAnnotation = hasLeftTypeAnnotation ? /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */param.left.typeAnnotation : /** @type {import('@typescript-eslint/types').TSESTree.Identifier|import('@typescript-eslint/types').TSESTree.ObjectPattern} */
      +      param.typeAnnotation;
             if ((typeAnnotation === null || typeAnnotation === void 0 ? void 0 : (_typeAnnotation$typeA = typeAnnotation.typeAnnotation) === null || _typeAnnotation$typeA === void 0 ? void 0 : _typeAnnotation$typeA.type) === 'TSTypeLiteral') {
               const propertyNames = typeAnnotation.typeAnnotation.members.map(member => {
      -          return getPropertiesFromPropertySignature(member);
      +          return getPropertiesFromPropertySignature( /** @type {import('@typescript-eslint/types').TSESTree.TSPropertySignature} */
      +          member);
               });
               const flattened = {
                 ...flattenRoots(propertyNames),
      -          annotationParamName: param.name
      +          annotationParamName: 'name' in param ? param.name : undefined
               };
               const hasLeftName = 'left' in param && 'name' in param.left;
               if ('name' in param || hasLeftName) {
      -          return [hasLeftName ? param.left.name : param.name, flattened];
      +          return [hasLeftName ? /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */param.left.name : /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */param.name, flattened];
               }
               return [undefined, flattened];
             }
      @@ -128,9 +216,9 @@ const getFunctionParameterNames = (functionNode, checkDefaultObjects) => {
           if ('left' in param && 'name' in param.left) {
             return param.left.name;
           }
      -    if (param.type === 'ObjectPattern' || ((_param$left = param.left) === null || _param$left === void 0 ? void 0 : _param$left.type) === 'ObjectPattern') {
      -      var _param$left2;
      -      const properties = param.properties || ((_param$left2 = param.left) === null || _param$left2 === void 0 ? void 0 : _param$left2.properties);
      +    if (param.type === 'ObjectPattern' || 'left' in param && param.left.type === 'ObjectPattern') {
      +      var _param$left;
      +      const properties = /** @type {import('@typescript-eslint/types').TSESTree.ObjectPattern} */param.properties || ( /** @type {import('estree').ObjectPattern} */(_param$left = /** @type {import('@typescript-eslint/types').TSESTree.AssignmentPattern} */param.left) === null || _param$left === void 0 ? void 0 : _param$left.properties);
             const roots = properties.map(prop => {
               return getParamName(prop, true);
             });
      @@ -140,14 +228,14 @@ const getFunctionParameterNames = (functionNode, checkDefaultObjects) => {
             // eslint-disable-next-line default-case
             switch (param.value.type) {
               case 'ArrayPattern':
      -          return [param.key.name, param.value.elements.map((prop, idx) => {
      +          return [param.key.name, /** @type {import('estree').ArrayPattern} */param.value.elements.map((prop, idx) => {
                   return {
                     name: idx,
      -              restElement: prop.type === 'RestElement'
      +              restElement: (prop === null || prop === void 0 ? void 0 : prop.type) === 'RestElement'
                   };
                 })];
               case 'ObjectPattern':
      -          return [param.key.name, param.value.properties.map(prop => {
      +          return [param.key.name, /** @type {import('estree').ObjectPattern} */param.value.properties.map(prop => {
                   return getParamName(prop, isProperty);
                 })];
               case 'AssignmentPattern':
      @@ -157,20 +245,20 @@ const getFunctionParameterNames = (functionNode, checkDefaultObjects) => {
                     case 'Identifier':
                       // Default parameter
                       if (checkDefaultObjects && param.value.right.type === 'ObjectExpression') {
      -                  return [param.key.name, param.value.right.properties.map(prop => {
      +                  return [param.key.name, /** @type {import('estree').AssignmentPattern} */param.value.right.properties.map(prop => {
                           return getParamName(prop, isProperty);
                         })];
                       }
                       break;
                     case 'ObjectPattern':
      -                return [param.key.name, param.value.left.properties.map(prop => {
      +                return [param.key.name, /** @type {import('estree').ObjectPattern} */param.value.left.properties.map(prop => {
                         return getParamName(prop, isProperty);
                       })];
                     case 'ArrayPattern':
      -                return [param.key.name, param.value.left.elements.map((prop, idx) => {
      +                return [param.key.name, /** @type {import('estree').ArrayPattern} */param.value.left.elements.map((prop, idx) => {
                         return {
                           name: idx,
      -                    restElement: prop.type === 'RestElement'
      +                    restElement: (prop === null || prop === void 0 ? void 0 : prop.type) === 'RestElement'
                         };
                       })];
                   }
      @@ -195,9 +283,9 @@ const getFunctionParameterNames = (functionNode, checkDefaultObjects) => {
                 return undefined;
             }
           }
      -    if (param.type === 'ArrayPattern' || ((_param$left3 = param.left) === null || _param$left3 === void 0 ? void 0 : _param$left3.type) === 'ArrayPattern') {
      -      var _param$left4;
      -      const elements = param.elements || ((_param$left4 = param.left) === null || _param$left4 === void 0 ? void 0 : _param$left4.elements);
      +    if (param.type === 'ArrayPattern' || ((_param$left2 = param.left) === null || _param$left2 === void 0 ? void 0 : _param$left2.type) === 'ArrayPattern') {
      +      var _param$left3;
      +      const elements = /** @type {import('estree').ArrayPattern} */param.elements || ( /** @type {import('estree').ArrayPattern} */(_param$left3 = param.left) === null || _param$left3 === void 0 ? void 0 : _param$left3.elements);
             const roots = elements.map((prop, idx) => {
               return {
                 name: `"${idx}"`,
      @@ -227,7 +315,7 @@ const getFunctionParameterNames = (functionNode, checkDefaultObjects) => {
       };
       
       /**
      - * @param {Node} functionNode
      + * @param {ESTreeOrTypeScriptNode} functionNode
        * @returns {Integer}
        */
       const hasParams = functionNode => {
      @@ -239,9 +327,13 @@ const hasParams = functionNode => {
        * Gets all names of the target type, including those that refer to a path, e.g.
        * "@param foo; @param foo.bar".
        *
      - * @param {object} jsdoc
      + * @param {import('comment-parser').Block} jsdoc
        * @param {string} targetTagName
      - * @returns {Array}
      + * @returns {{
      + *   idx: Integer,
      + *   name: string,
      + *   type: string
      + * }[]}
        */
       const getJsdocTagsDeep = (jsdoc, targetTagName) => {
         const ret = [];
      @@ -264,8 +356,9 @@ const getJsdocTagsDeep = (jsdoc, targetTagName) => {
       const modeWarnSettings = (0, _WarnSettings.default)();
       
       /**
      - * @param {string} mode
      - * @param context
      + * @param {ParserMode|undefined} mode
      + * @param {import('eslint').Rule.RuleContext} context
      + * @returns {import('./tagNames.js').AliasedTags}
        */
       const getTagNamesForMode = (mode, context) => {
         switch (mode) {
      @@ -296,11 +389,14 @@ const getTagNamesForMode = (mode, context) => {
       };
       
       /**
      - * @param context
      - * @param {ParserMode} mode
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {ParserMode|undefined} mode
        * @param {string} name
      - * @param {object} tagPreference
      - * @returns {string|object}
      + * @param {TagNamePreference} tagPreference
      + * @returns {string|false|{
      + *   message: string;
      + *   replacement?: string|undefined;
      + * }}
        */
       const getPreferredTagName = (context, mode, name, tagPreference = {}) => {
         var _Object$entries$find;
      @@ -319,7 +415,7 @@ const getPreferredTagName = (context, mode, name, tagPreference = {}) => {
         const tagPreferenceFixed = Object.fromEntries(Object.entries(tagPreference).map(([key, value]) => {
           return [key.replace(/^tag /u, ''), value];
         }));
      -  if (Object.prototype.hasOwnProperty.call(tagPreferenceFixed, name)) {
      +  if (Object.hasOwn(tagPreferenceFixed, name)) {
           return tagPreferenceFixed[name];
         }
         const tagNames = getTagNamesForMode(mode, context);
      @@ -333,10 +429,10 @@ const getPreferredTagName = (context, mode, name, tagPreference = {}) => {
       };
       
       /**
      - * @param context
      - * @param {ParserMode} mode
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {ParserMode|undefined} mode
        * @param {string} name
      - * @param {Array} definedTags
      + * @param {string[]} definedTags
        * @returns {boolean}
        */
       const isValidTag = (context, mode, name, definedTags) => {
      @@ -348,7 +444,9 @@ const isValidTag = (context, mode, name, definedTags) => {
       };
       
       /**
      - * @param {object} jsdoc
      + * @param {import('comment-parser').Block & {
      + *   inlineTags: import('@es-joy/jsdoccomment').InlineTag[]
      + * }} jsdoc
        * @param {string} targetTagName
        * @returns {boolean}
        */
      @@ -360,8 +458,71 @@ const hasTag = (jsdoc, targetTagName) => {
       };
       
       /**
      - * @param {object} jsdoc
      - * @param {Array} targetTagNames
      + * Get all tags, inline tags and inline tags in tags
      + *
      + * @param {import('comment-parser').Block & {
      + *   inlineTags: import('@es-joy/jsdoccomment').JsdocInlineTagNoType[]
      + * }} jsdoc
      + * @returns {(import('comment-parser').Spec|
      + *   import('@es-joy/jsdoccomment').JsdocInlineTagNoType)[]}
      + */
      +const getAllTags = jsdoc => {
      +  return [...jsdoc.tags, ...jsdoc.inlineTags.map(inlineTag => {
      +    // Tags don't have source or line numbers, so add before returning
      +    let line = -1;
      +    for (const {
      +      tokens: {
      +        description
      +      }
      +    } of jsdoc.source) {
      +      line++;
      +      if (description && description.includes(`{@${inlineTag.tag}`)) {
      +        break;
      +      }
      +    }
      +    inlineTag.line = line;
      +    return inlineTag;
      +  }), ...jsdoc.tags.flatMap(tag => {
      +    let tagBegins = -1;
      +    for (const {
      +      tokens: {
      +        tag: tg
      +      }
      +    } of jsdoc.source) {
      +      tagBegins++;
      +      if (tg) {
      +        break;
      +      }
      +    }
      +    for (const inlineTag of tag.inlineTags) {
      +      let line;
      +      for (const {
      +        number,
      +        tokens: {
      +          description
      +        }
      +      } of tag.source) {
      +        if (description && description.includes(`{@${inlineTag.tag}`)) {
      +          line = number;
      +          break;
      +        }
      +      }
      +      inlineTag.line = tagBegins + line - 1;
      +    }
      +    return (
      +      /**
      +       * @type {import('comment-parser').Spec & {
      +       *   inlineTags: import('@es-joy/jsdoccomment').JsdocInlineTagNoType[]
      +       * }}
      +       */
      +      tag.inlineTags
      +    );
      +  })];
      +};
      +
      +/**
      + * @param {import('comment-parser').Block} jsdoc
      + * @param {string[]} targetTagNames
        * @returns {boolean}
        */
       const hasATag = (jsdoc, targetTagNames) => {
      @@ -373,9 +534,9 @@ const hasATag = (jsdoc, targetTagNames) => {
       /**
        * Checks if the JSDoc comment has an undefined type.
        *
      - * @param {JsDocTag} tag
      + * @param {import('comment-parser').Spec|null|undefined} tag
        *   the tag which should be checked.
      - * @param {"jsdoc"|"closure"|"typescript"} mode
      + * @param {ParserMode} mode
        * @returns {boolean}
        *   true in case a defined type is undeclared; otherwise false.
        */
      @@ -411,20 +572,22 @@ const mayBeUndefinedTypeTag = (tag, mode) => {
       };
       
       /**
      - * @param map
      - * @param tag
      - * @returns {Map}
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} map
      + * @param {string} tag
      + * @returns {Map}
        */
       const ensureMap = (map, tag) => {
         if (!map.has(tag)) {
           map.set(tag, new Map());
         }
      -  return map.get(tag);
      +  return (/** @type {Map} */map.get(tag)
      +  );
       };
       
       /**
      - * @param structuredTags
      - * @param tagMap
      + * @param {import('./iterateJsdoc.js').StructuredTags} structuredTags
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
      + * @returns {void}
        */
       const overrideTagStructure = (structuredTags, tagMap = tagStructure) => {
         for (const [tag, {
      @@ -433,7 +596,7 @@ const overrideTagStructure = (structuredTags, tagMap = tagStructure) => {
           required = []
         }] of Object.entries(structuredTags)) {
           const tagStruct = ensureMap(tagMap, tag);
      -    tagStruct.set('nameContents', name);
      +    tagStruct.set('namepathRole', name);
           tagStruct.set('typeAllowed', type);
           const requiredName = required.includes('name');
           if (requiredName && name === false) {
      @@ -457,9 +620,9 @@ const overrideTagStructure = (structuredTags, tagMap = tagStructure) => {
       };
       
       /**
      - * @param mode
      - * @param structuredTags
      - * @returns {Map}
      + * @param {ParserMode} mode
      + * @param {import('./iterateJsdoc.js').StructuredTags} structuredTags
      + * @returns {import('./getDefaultTagStructureForMode.js').TagStructure}
        */
       const getTagStructureForMode = (mode, structuredTags) => {
         const tagStruct = (0, _getDefaultTagStructureForMode.default)(mode);
      @@ -472,30 +635,51 @@ const getTagStructureForMode = (mode, structuredTags) => {
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
        * @returns {boolean}
        */
       const isNamepathDefiningTag = (tag, tagMap = tagStructure) => {
         const tagStruct = ensureMap(tagMap, tag);
      -  return tagStruct.get('nameContents') === 'namepath-defining';
      +  return tagStruct.get('namepathRole') === 'namepath-defining';
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
        * @returns {boolean}
        */
      -const tagMustHaveTypePosition = (tag, tagMap = tagStructure) => {
      +const isNamepathReferencingTag = (tag, tagMap = tagStructure) => {
         const tagStruct = ensureMap(tagMap, tag);
      -  return tagStruct.get('typeRequired');
      +  return tagStruct.get('namepathRole') === 'namepath-referencing';
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
        * @returns {boolean}
        */
      +const isNamepathOrUrlReferencingTag = (tag, tagMap = tagStructure) => {
      +  const tagStruct = ensureMap(tagMap, tag);
      +  return tagStruct.get('namepathRole') === 'namepath-or-url-referencing';
      +};
      +
      +/**
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
      + * @returns {boolean|undefined}
      + */
      +const tagMustHaveTypePosition = (tag, tagMap = tagStructure) => {
      +  const tagStruct = ensureMap(tagMap, tag);
      +  return (/** @type {boolean|undefined} */tagStruct.get('typeRequired')
      +  );
      +};
      +
      +/**
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
      + * @returns {boolean|string}
      + */
       const tagMightHaveTypePosition = (tag, tagMap = tagStructure) => {
         if (tagMustHaveTypePosition(tag, tagMap)) {
           return true;
      @@ -507,59 +691,61 @@ const tagMightHaveTypePosition = (tag, tagMap = tagStructure) => {
       const namepathTypes = new Set(['namepath-defining', 'namepath-referencing']);
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
        * @returns {boolean}
        */
       const tagMightHaveNamePosition = (tag, tagMap = tagStructure) => {
         const tagStruct = ensureMap(tagMap, tag);
      -  const ret = tagStruct.get('nameContents');
      +  const ret = tagStruct.get('namepathRole');
         return ret === undefined ? true : Boolean(ret);
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
        * @returns {boolean}
        */
       const tagMightHaveNamepath = (tag, tagMap = tagStructure) => {
         const tagStruct = ensureMap(tagMap, tag);
      -  return namepathTypes.has(tagStruct.get('nameContents'));
      +  return namepathTypes.has(tagStruct.get('namepathRole'));
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      - * @returns {boolean}
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
      + * @returns {boolean|undefined}
        */
       const tagMustHaveNamePosition = (tag, tagMap = tagStructure) => {
         const tagStruct = ensureMap(tagMap, tag);
      -  return tagStruct.get('nameRequired');
      +  return (/** @type {boolean|undefined} */tagStruct.get('nameRequired')
      +  );
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
        * @returns {boolean}
        */
       const tagMightHaveEitherTypeOrNamePosition = (tag, tagMap) => {
      -  return tagMightHaveTypePosition(tag, tagMap) || tagMightHaveNamepath(tag, tagMap);
      +  return Boolean(tagMightHaveTypePosition(tag, tagMap)) || tagMightHaveNamepath(tag, tagMap);
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      - * @returns {boolean}
      + * @param {string} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
      + * @returns {boolean|undefined}
        */
       const tagMustHaveEitherTypeOrNamePosition = (tag, tagMap) => {
         const tagStruct = ensureMap(tagMap, tag);
      -  return tagStruct.get('typeOrNameRequired');
      +  return (/** @type {boolean} */tagStruct.get('typeOrNameRequired')
      +  );
       };
       
       /**
      - * @param tag
      - * @param {Map} tagMap
      - * @returns {boolean}
      + * @param {import('comment-parser').Spec} tag
      + * @param {import('./getDefaultTagStructureForMode.js').TagStructure} tagMap
      + * @returns {boolean|undefined}
        */
       const tagMissingRequiredTypeOrNamepath = (tag, tagMap = tagStructure) => {
         const mustHaveTypePosition = tagMustHaveTypePosition(tag.tag, tagMap);
      @@ -571,8 +757,14 @@ const tagMissingRequiredTypeOrNamepath = (tag, tagMap = tagStructure) => {
         return mustHaveEither && !hasEither && !mustHaveTypePosition;
       };
       
      -// eslint-disable-next-line complexity
      +/* eslint-disable complexity -- Temporary */
      +/**
      + * @param {ESTreeOrTypeScriptNode} node
      + * @param {boolean} [checkYieldReturnValue]
      + * @returns {boolean}
      + */
       const hasNonFunctionYield = (node, checkYieldReturnValue) => {
      +  /* eslint-enable complexity -- Temporary */
         if (!node) {
           return false;
         }
      @@ -584,6 +776,7 @@ const hasNonFunctionYield = (node, checkYieldReturnValue) => {
               });
             }
       
      +    // @ts-expect-error In Babel?
           // istanbul ignore next -- In Babel?
           case 'OptionalCallExpression':
           case 'CallExpression':
      @@ -661,13 +854,16 @@ const hasNonFunctionYield = (node, checkYieldReturnValue) => {
           // istanbul ignore next -- In Babel?
           case 'PropertyDefinition':
           /* eslint-disable no-fallthrough */
      +    // @ts-expect-error In Babel?
           // istanbul ignore next -- In Babel?
           case 'ObjectProperty':
      +    // @ts-expect-error In Babel?
           // istanbul ignore next -- In Babel?
           case 'ClassProperty':
           case 'Property':
             /* eslint-enable no-fallthrough */
             return node.computed && hasNonFunctionYield(node.key, checkYieldReturnValue) || hasNonFunctionYield(node.value, checkYieldReturnValue);
      +    // @ts-expect-error In Babel?
           // istanbul ignore next -- In Babel?
           case 'ObjectMethod':
             // istanbul ignore next -- In Babel?
      @@ -680,12 +876,14 @@ const hasNonFunctionYield = (node, checkYieldReturnValue) => {
           case 'TaggedTemplateExpression':
             return hasNonFunctionYield(node.quasi, checkYieldReturnValue);
       
      +    // @ts-expect-error In Babel?
           // ?.
           // istanbul ignore next -- In Babel?
           case 'OptionalMemberExpression':
           case 'MemberExpression':
             return hasNonFunctionYield(node.object, checkYieldReturnValue) || hasNonFunctionYield(node.property, checkYieldReturnValue);
       
      +    // @ts-expect-error In Babel?
           // istanbul ignore next -- In Babel?
           case 'Import':
           case 'ImportExpression':
      @@ -722,7 +920,8 @@ const hasNonFunctionYield = (node, checkYieldReturnValue) => {
       /**
        * Checks if a node has a return statement. Void return does not count.
        *
      - * @param {object} node
      + * @param {ESTreeOrTypeScriptNode} node
      + * @param {boolean} [checkYieldReturnValue]
        * @returns {boolean}
        */
       const hasYieldValue = (node, checkYieldReturnValue) => {
      @@ -732,8 +931,8 @@ const hasYieldValue = (node, checkYieldReturnValue) => {
       /**
        * Checks if a node has a throws statement.
        *
      - * @param {object} node
      - * @param {boolean} innerFunction
      + * @param {ESTreeOrTypeScriptNode|null|undefined} node
      + * @param {boolean} [innerFunction]
        * @returns {boolean}
        */
       // eslint-disable-next-line complexity
      @@ -811,8 +1010,8 @@ const isInlineTag = (tag) => {
        *
        * @see {https://github.com/google/closure-compiler/wiki/Generic-Types}
        * @see {https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#template}
      - * @param {JsDocTag} tag
      - * @returns {Array}
      + * @param {import('comment-parser').Spec} tag
      + * @returns {string[]}
        */
       const parseClosureTemplateTag = tag => {
         return tag.name.split(',').map(type => {
      @@ -829,9 +1028,11 @@ const parseClosureTemplateTag = tag => {
        *   contexts designated by the rule. Returns an array of
        *   ESTree AST types, indicating allowable contexts.
        *
      - * @param {*} context
      - * @param {DefaultContexts} defaultContexts
      - * @param settings
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {DefaultContexts|undefined} defaultContexts
      + * @param {{
      + *   contexts?: import('./iterateJsdoc.js').Context[]
      + * }} settings
        * @returns {string[]}
        */
       const enforcedContexts = (context, defaultContexts, settings) => {
      @@ -841,11 +1042,13 @@ const enforcedContexts = (context, defaultContexts, settings) => {
       };
       
       /**
      - * @param {string[]} contexts
      - * @param {Function} checkJsdoc
      - * @param {Function} handler
      + * @param {import('./iterateJsdoc.js').Context[]} contexts
      + * @param {import('./iterateJsdoc.js').CheckJsdoc} checkJsdoc
      + * @param {Function} [handler]
      + * @returns {import('eslint').Rule.RuleListener}
        */
       const getContextObject = (contexts, checkJsdoc, handler) => {
      +  /** @type {import('eslint').Rule.RuleListener} */
         const properties = {};
         for (const [idx, prop] of contexts.entries()) {
           let property;
      @@ -881,18 +1084,36 @@ const getContextObject = (contexts, checkJsdoc, handler) => {
         }
         return properties;
       };
      -const filterTags = (tags, filter) => {
      -  return tags.filter(tag => {
      -    return filter(tag);
      -  });
      -};
       const tagsWithNamesAndDescriptions = new Set(['param', 'arg', 'argument', 'property', 'prop', 'template',
       // These two are parsed by our custom parser as though having a `name`
       'returns', 'return']);
      +
      +/* eslint-disable jsdoc/valid-types -- Old version */
      +/**
      + * @typedef {{
      + *   [key: string]: false|
      + *     {message: string, replacement?: string}
      + * }} TagNamePreference
      + */
      +/* eslint-enable jsdoc/valid-types -- Old version */
      +
      +/**
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {ParserMode|undefined} mode
      + * @param {import('comment-parser').Spec[]} tags
      + * @param {TagNamePreference} tagPreference
      + * @returns {{
      + *   tagsWithNames: import('comment-parser').Spec[],
      + *   tagsWithoutNames: import('comment-parser').Spec[]
      + * }}
      + */
       const getTagsByType = (context, mode, tags, tagPreference) => {
         const descName = getPreferredTagName(context, mode, 'description', tagPreference);
      +  /**
      +   * @type {import('comment-parser').Spec[]}
      +   */
         const tagsWithoutNames = [];
      -  const tagsWithNames = filterTags(tags, tag => {
      +  const tagsWithNames = tags.filter(tag => {
           const {
             tag: tagName
           } = tag;
      @@ -907,42 +1128,100 @@ const getTagsByType = (context, mode, tags, tagPreference) => {
           tagsWithoutNames
         };
       };
      +
      +/**
      + * @param {import('eslint').SourceCode|{
      + *   text: string
      + * }} sourceCode
      + * @returns {string}
      + */
       const getIndent = sourceCode => {
         var _sourceCode$text$matc;
         return (((_sourceCode$text$matc = sourceCode.text.match(/^\n*([ \t]+)/u)) === null || _sourceCode$text$matc === void 0 ? void 0 : _sourceCode$text$matc[1]) ?? '') + ' ';
       };
      +
      +/**
      + * @param {import('eslint').Rule.Node|null} node
      + * @returns {boolean}
      + */
       const isConstructor = node => {
         var _node$parent;
      -  return (node === null || node === void 0 ? void 0 : node.type) === 'MethodDefinition' && node.kind === 'constructor' || (node === null || node === void 0 ? void 0 : (_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.kind) === 'constructor';
      +  return (node === null || node === void 0 ? void 0 : node.type) === 'MethodDefinition' && node.kind === 'constructor' || /** @type {import('@typescript-eslint/types').TSESTree.MethodDefinition} */(node === null || node === void 0 ? void 0 : (_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.kind) === 'constructor';
       };
      +
      +/**
      + * @param {import('eslint').Rule.Node|null} node
      + * @returns {boolean}
      + */
       const isGetter = node => {
         var _node$parent2;
      -  return node && ((_node$parent2 = node.parent) === null || _node$parent2 === void 0 ? void 0 : _node$parent2.kind) === 'get';
      +  return node !== null &&
      +  /**
      +   * @type {import('@typescript-eslint/types').TSESTree.MethodDefinition|
      +   *   import('@typescript-eslint/types').TSESTree.Property}
      +   */
      +  ((_node$parent2 = node.parent) === null || _node$parent2 === void 0 ? void 0 : _node$parent2.kind) === 'get';
       };
      +
      +/**
      + * @param {import('eslint').Rule.Node|null} node
      + * @returns {boolean}
      + */
       const isSetter = node => {
         var _node$parent3;
      -  return node && ((_node$parent3 = node.parent) === null || _node$parent3 === void 0 ? void 0 : _node$parent3.kind) === 'set';
      +  return node !== null &&
      +  /**
      +   * @type {import('@typescript-eslint/types').TSESTree.MethodDefinition|
      +   *   import('@typescript-eslint/types').TSESTree.Property}
      +   */
      +  ((_node$parent3 = node.parent) === null || _node$parent3 === void 0 ? void 0 : _node$parent3.kind) === 'set';
       };
      +
      +/**
      + * @param {import('eslint').Rule.Node} node
      + * @returns {boolean}
      + */
       const hasAccessorPair = node => {
         const {
           type,
           kind: sourceKind,
      -    key: {
      -      name: sourceName
      -    }
      -  } = node;
      +    key
      +  } =
      +  /**
      +   * @type {import('@typescript-eslint/types').TSESTree.MethodDefinition|
      +   *   import('@typescript-eslint/types').TSESTree.Property}
      +   */
      +  node;
      +  const sourceName = /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */key.name;
         const oppositeKind = sourceKind === 'get' ? 'set' : 'get';
      -  const children = type === 'MethodDefinition' ? 'body' : 'properties';
      -  return node.parent[children].some(({
      -    kind,
      -    key: {
      -      name
      -    }
      -  }) => {
      +  const sibling = type === 'MethodDefinition' ? /** @type {import('@typescript-eslint/types').TSESTree.ClassBody} */node.parent.body : /** @type {import('@typescript-eslint/types').TSESTree.ObjectExpression} */node.parent.properties;
      +  return sibling.some(child => {
      +    const {
      +      kind,
      +      key: ky
      +    } =
      +    /**
      +     * @type {import('@typescript-eslint/types').TSESTree.MethodDefinition|
      +     *   import('@typescript-eslint/types').TSESTree.Property}
      +     */
      +    child;
      +    const name = /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */ky.name;
           return kind === oppositeKind && name === sourceName;
         });
       };
      +
      +/**
      + * @param {import('comment-parser').Block} jsdoc
      + * @param {import('eslint').Rule.Node|null} node
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {import('json-schema').JSONSchema4} schema
      + * @returns {boolean}
      + */
       const exemptSpeciaMethods = (jsdoc, node, context, schema) => {
      +  /**
      +   * @param {"checkGetters"|"checkSetters"|"checkConstructors"} prop
      +   * @returns {boolean|"no-setter"|"no-getter"}
      +   */
         const hasSchemaOption = prop => {
           var _context$options$2;
           const schemaProperties = schema[0].properties;
      @@ -950,7 +1229,7 @@ const exemptSpeciaMethods = (jsdoc, node, context, schema) => {
         };
         const checkGetters = hasSchemaOption('checkGetters');
         const checkSetters = hasSchemaOption('checkSetters');
      -  return !hasSchemaOption('checkConstructors') && (isConstructor(node) || hasATag(jsdoc, ['class', 'constructor'])) || isGetter(node) && (!checkGetters || checkGetters === 'no-setter' && hasAccessorPair(node.parent)) || isSetter(node) && (!checkSetters || checkSetters === 'no-getter' && hasAccessorPair(node.parent));
      +  return !hasSchemaOption('checkConstructors') && (isConstructor(node) || hasATag(jsdoc, ['class', 'constructor'])) || isGetter(node) && (!checkGetters || checkGetters === 'no-setter' && hasAccessorPair( /** @type {import('./iterateJsdoc.js').Node} */node.parent)) || isSetter(node) && (!checkSetters || checkSetters === 'no-getter' && hasAccessorPair( /** @type {import('./iterateJsdoc.js').Node} */node.parent));
       };
       
       /**
      @@ -977,17 +1256,20 @@ const comparePaths = name => {
       };
       
       /**
      + * @callback PathDoesNotBeginWith
        * @param {string} name
        * @param {string} otherPathName
        * @returns {boolean}
        */
      +
      +/** @type {PathDoesNotBeginWith} */
       const pathDoesNotBeginWith = (name, otherPathName) => {
         return !name.startsWith(otherPathName) && !dropPathSegmentQuotes(name).startsWith(dropPathSegmentQuotes(otherPathName));
       };
       
       /**
        * @param {string} regexString
      - * @param {string} requiredFlags
      + * @param {string} [requiredFlags]
        * @returns {RegExp}
        */
       const getRegexFromString = (regexString, requiredFlags) => {
      @@ -1009,8 +1291,8 @@ var _default = {
         dropPathSegmentQuotes,
         enforcedContexts,
         exemptSpeciaMethods,
      -  filterTags,
         flattenRoots,
      +  getAllTags,
         getContextObject,
         getFunctionParameterNames,
         getIndent,
      @@ -1029,6 +1311,8 @@ var _default = {
         isConstructor,
         isGetter,
         isNamepathDefiningTag,
      +  isNamepathOrUrlReferencingTag,
      +  isNamepathReferencingTag,
         isSetter,
         isValidTag,
         mayBeUndefinedTypeTag,
      @@ -1036,6 +1320,7 @@ var _default = {
         parseClosureTemplateTag,
         pathDoesNotBeginWith,
         setTagStructure,
      +  tagMightHaveEitherTypeOrNamePosition,
         tagMightHaveNamepath,
         tagMightHaveNamePosition,
         tagMightHaveTypePosition,
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkAlignment.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkAlignment.js
      index 3ab17fa58ae05b..41a475f991b82f 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkAlignment.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkAlignment.js
      @@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @param {string} string
      + * @returns {string}
      + */
       const trimStart = string => {
         return string.replace(/^\s+/u, '');
       };
      @@ -22,6 +26,8 @@ var _default = (0, _iterateJsdoc.default)(({
         }).filter(line => {
           return !trimStart(line).length;
         });
      +
      +  /** @type {import('eslint').Rule.ReportFixer} */
         const fix = fixer => {
           const replacement = sourceCode.getText(jsdocNode).split('\n').map((line, index) => {
             // Ignore the first line and all lines not starting with `*`
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkExamples.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkExamples.js
      index 7e463903bb078e..d1575ba6b15589 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkExamples.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkExamples.js
      @@ -18,12 +18,25 @@ const preTagSpaceLength = 1;
       // If a space is present, we should ignore it
       const firstLinePrefixLength = preTagSpaceLength;
       const hasCaptionRegex = /^\s*([\s\S]*?)<\/caption>/u;
      +
      +/**
      + * @param {string} str
      + * @returns {string}
      + */
       const escapeStringRegexp = str => {
         return str.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
       };
      +
      +/**
      + * @param {string} str
      + * @param {string} ch
      + * @returns {import('../iterateJsdoc').Integer}
      + */
       const countChars = (str, ch) => {
         return (str.match(new RegExp(escapeStringRegexp(ch), 'gu')) || []).length;
       };
      +
      +/** @type {import('eslint').Linter.RulesRecord} */
       const defaultMdRules = {
         // "always" newline rule at end unlikely in sample code
         'eol-last': 0,
      @@ -49,6 +62,8 @@ const defaultMdRules = {
         // Can generally look nicer to pad a little even if code imposes more stringency
         'padded-blocks': 0
       };
      +
      +/** @type {import('eslint').Linter.RulesRecord} */
       const defaultExpressionRules = {
         ...defaultMdRules,
         'chai-friendly/no-unused-expressions': 'off',
      @@ -59,6 +74,14 @@ const defaultExpressionRules = {
         semi: ['error', 'never'],
         strict: 'off'
       };
      +
      +/**
      + * @param {string} text
      + * @returns {[
      + *   import('../iterateJsdoc.js').Integer,
      + *   import('../iterateJsdoc.js').Integer
      + * ]}
      + */
       const getLinesCols = text => {
         const matchLines = countChars(text, '\n');
         const colDelta = matchLines ? text.slice(text.lastIndexOf('\n') + 1).length : text.length;
      @@ -71,7 +94,7 @@ var _default = (0, _iterateJsdoc.default)(({
         globalState
       }) => {
         if (_semver.default.gte(_eslint.ESLint.version, '8.0.0')) {
      -    report('This rule cannot yet be supported for ESLint 8; you ' + 'should either downgrade to ESLint 7 or disable this rule. The ' + 'possibility for ESLint 8 support is being tracked at https://github.com/eslint/eslint/issues/14745', {
      +    report('This rule cannot yet be supported for ESLint 8; you ' + 'should either downgrade to ESLint 7 or disable this rule. The ' + 'possibility for ESLint 8 support is being tracked at https://github.com/eslint/eslint/issues/14745', null, {
             column: 1,
             line: 1
           });
      @@ -80,7 +103,8 @@ var _default = (0, _iterateJsdoc.default)(({
         if (!globalState.has('checkExamples-matchingFileName')) {
           globalState.set('checkExamples-matchingFileName', new Map());
         }
      -  const matchingFileNameMap = globalState.get('checkExamples-matchingFileName');
      +  const matchingFileNameMap = /** @type {Map} */
      +  globalState.get('checkExamples-matchingFileName');
         const options = context.options[0] || {};
         let {
           exampleCodeRegex = null,
      @@ -105,6 +129,9 @@ var _default = (0, _iterateJsdoc.default)(({
         } = options;
       
         // Make this configurable?
      +  /**
      +   * @type {never[]}
      +   */
         const rulePaths = [];
         const mdRules = noDefaultExampleRules ? undefined : defaultMdRules;
         const expressionRules = noDefaultExampleRules ? undefined : defaultExpressionRules;
      @@ -114,6 +141,29 @@ var _default = (0, _iterateJsdoc.default)(({
         if (rejectExampleCodeRegex) {
           rejectExampleCodeRegex = utils.getRegexFromString(rejectExampleCodeRegex);
         }
      +
      +  /**
      +   * @param {{
      +   *   filename: string,
      +   *   defaultFileName: string|undefined,
      +   *   source: string,
      +   *   targetTagName: string,
      +   *   rules?: import('eslint').Linter.RulesRecord|undefined,
      +   *   lines?: import('../iterateJsdoc.js').Integer,
      +   *   cols?: import('../iterateJsdoc.js').Integer,
      +   *   skipInit?: boolean,
      +   *   sources?: {
      +   *     nonJSPrefacingCols: import('../iterateJsdoc.js').Integer,
      +   *     nonJSPrefacingLines: import('../iterateJsdoc.js').Integer,
      +   *     string: string,
      +   *   }[],
      +   *   tag?: import('comment-parser').Spec & {
      +   *     line?: import('../iterateJsdoc.js').Integer,
      +   *   }|{
      +   *     line: import('../iterateJsdoc.js').Integer,
      +   *   }
      +   * }} cfg
      +   */
         const checkSource = ({
           filename,
           defaultFileName,
      @@ -137,6 +187,14 @@ var _default = (0, _iterateJsdoc.default)(({
           }
       
           // Todo: Make fixable
      +
      +    /**
      +     * @param {{
      +     *   nonJSPrefacingCols: import('../iterateJsdoc').Integer,
      +     *   nonJSPrefacingLines: import('../iterateJsdoc').Integer,
      +     *   string: string
      +     * }} cfg
      +     */
           const checkRules = function ({
             nonJSPrefacingCols,
             nonJSPrefacingLines,
      @@ -194,7 +252,13 @@ var _default = (0, _iterateJsdoc.default)(({
             }
       
             // NOTE: `tag.line` can be 0 if of form `/** @tag ... */`
      -      const codeStartLine = tag.line + nonJSPrefacingLines;
      +      const codeStartLine =
      +      /**
      +       * @type {import('comment-parser').Spec & {
      +       *     line: import('../iterateJsdoc.js').Integer,
      +       * }}
      +       */
      +      tag.line + nonJSPrefacingLines;
             const codeStartCol = likelyNestedJSDocIndentSpace;
             for (const {
               message,
      @@ -224,7 +288,7 @@ var _default = (0, _iterateJsdoc.default)(({
          * @param {string} [ext] Since `eslint-plugin-markdown` v2, and
          *   ESLint 7, this is the default which other JS-fenced rules will used.
          *   Formerly "md" was the default.
      -   * @returns {{defaultFileName: string, fileName: string}}
      +   * @returns {{defaultFileName: string|undefined, filename: string}}
          */
         const getFilenameInfo = (filename, ext = 'md/*.js') => {
           let defaultFileName;
      @@ -280,7 +344,7 @@ var _default = (0, _iterateJsdoc.default)(({
             });
           });
         }
      -  const tagName = utils.getPreferredTagName({
      +  const tagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'example'
         });
         if (!utils.hasTag(tagName)) {
      @@ -288,7 +352,7 @@ var _default = (0, _iterateJsdoc.default)(({
         }
         const matchingFilenameInfo = getFilenameInfo(matchingFileName);
         utils.forEachPreferredTag('example', (tag, targetTagName) => {
      -    let source = utils.getTagDescription(tag);
      +    let source = /** @type {string} */utils.getTagDescription(tag);
           const match = source.match(hasCaptionRegex);
           if (captionRequired && (!match || !match[1].trim())) {
             report('Caption is expected for examples.', null, tag);
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkIndentation.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkIndentation.js
      index b9f931ed36dc6d..81695f42866578 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkIndentation.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkIndentation.js
      @@ -6,12 +6,22 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @param {string} str
      + * @param {string[]} excludeTags
      + * @returns {string}
      + */
       const maskExcludedContent = (str, excludeTags) => {
         const regContent = new RegExp(`([ \\t]+\\*)[ \\t]@(?:${excludeTags.join('|')})(?=[ \\n])([\\w|\\W]*?\\n)(?=[ \\t]*\\*(?:[ \\t]*@\\w+\\s|\\/))`, 'gu');
         return str.replace(regContent, (_match, margin, code) => {
           return (margin + '\n').repeat(code.match(/\n/gu).length);
         });
       };
      +
      +/**
      + * @param {string} str
      + * @returns {string}
      + */
       const maskCodeBlocks = str => {
         const regContent = /([ \t]+\*)[ \t]```[^\n]*?([\w|\W]*?\n)(?=[ \t]*\*(?:[ \t]*(?:```|@\w+\s)|\/))/gu;
         return str.replace(regContent, (_match, margin, code) => {
      @@ -25,7 +35,7 @@ var _default = (0, _iterateJsdoc.default)(({
         context
       }) => {
         const options = context.options[0] || {};
      -  const {
      +  const /** @type {{excludeTags: string[]}} */{
           excludeTags = ['example']
         } = options;
         const reg = /^(?:\/?\**|[ \t]*)\*[ \t]{2}/gmu;
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkLineAlignment.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkLineAlignment.js
      index 708288cbb151c4..0daea79c2a515d 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkLineAlignment.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkLineAlignment.js
      @@ -11,6 +11,24 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
       const {
         flow: commentFlow
       } = _commentParser.transforms;
      +
      +/**
      + * @typedef {{
      + *   postDelimiter: import('../iterateJsdoc.js').Integer,
      + *   postHyphen: import('../iterateJsdoc.js').Integer,
      + *   postName: import('../iterateJsdoc.js').Integer,
      + *   postTag: import('../iterateJsdoc.js').Integer,
      + *   postType: import('../iterateJsdoc.js').Integer,
      + * }} CustomSpacings
      + */
      +
      +/**
      + * @param {import('../iterateJsdoc.js').Utils} utils
      + * @param {import('comment-parser').Spec & {
      + *   line: import('../iterateJsdoc.js').Integer
      + * }} tag
      + * @param {CustomSpacings} customSpacings
      + */
       const checkNotAlignedPerTag = (utils, tag, customSpacings) => {
         /*
         start +
      @@ -26,7 +44,14 @@ const checkNotAlignedPerTag = (utils, tag, customSpacings) => {
         end +
         lineEnd
          */
      +
      +  /**
      +   * @typedef {"tag"|"type"|"name"|"description"} ContentProp
      +   */
      +
      +  /** @type {("postDelimiter"|"postTag"|"postType"|"postName")[]} */
         let spacerProps;
      +  /** @type {ContentProp[]} */
         let contentProps;
         const mightHaveNamepath = utils.tagMightHaveNamepath(tag.tag);
         if (mightHaveNamepath) {
      @@ -39,6 +64,11 @@ const checkNotAlignedPerTag = (utils, tag, customSpacings) => {
         const {
           tokens
         } = tag.source[0];
      +
      +  /**
      +   * @param {import('../iterateJsdoc.js').Integer} idx
      +   * @param {(notRet: boolean, contentProp: ContentProp) => void} [callbck]
      +   */
         const followedBySpace = (idx, callbck) => {
           const nextIndex = idx + 1;
           return spacerProps.slice(nextIndex).some((spacerProp, innerIdx) => {
      @@ -101,6 +131,22 @@ const checkNotAlignedPerTag = (utils, tag, customSpacings) => {
         };
         utils.reportJSDoc('Expected JSDoc block lines to not be aligned.', tag, fix, true);
       };
      +
      +/**
      + * @param {object} cfg
      + * @param {CustomSpacings} cfg.customSpacings
      + * @param {string} cfg.indent
      + * @param {import('comment-parser').Block} cfg.jsdoc
      + * @param {import('eslint').Rule.Node & {
      + *   range: [number, number]
      + * }} cfg.jsdocNode
      + * @param {boolean} cfg.preserveMainDescriptionPostDelimiter
      + * @param {import('../iterateJsdoc.js').Report} cfg.report
      + * @param {string[]} cfg.tags
      + * @param {import('../iterateJsdoc.js').Utils} cfg.utils
      + * @param {string} cfg.wrapIndent
      + * @returns {void}
      + */
       const checkAlignment = ({
         customSpacings,
         indent,
      @@ -120,10 +166,16 @@ const checkAlignment = ({
           wrapIndent
         }));
         const transformedJsdoc = transform(jsdoc);
      -  const comment = '/*' + jsdocNode.value + '*/';
      +  const comment = '/*' +
      +  /**
      +   * @type {import('eslint').Rule.Node & {
      +   *   range: [number, number], value: string
      +   * }}
      +   */
      +  jsdocNode.value + '*/';
         const formatted = utils.stringify(transformedJsdoc).trimStart();
         if (comment !== formatted) {
      -    report('Expected JSDoc block lines to be aligned.', fixer => {
      +    report('Expected JSDoc block lines to be aligned.', /** @type {import('eslint').Rule.ReportFixer} */fixer => {
             return fixer.replaceText(jsdocNode, formatted);
           });
         }
      @@ -144,7 +196,13 @@ var _default = (0, _iterateJsdoc.default)(({
         } = context.options[1] || {};
         if (context.options[0] === 'always') {
           // Skip if it contains only a single line.
      -    if (!jsdocNode.value.includes('\n')) {
      +    if (!
      +    /**
      +     * @type {import('eslint').Rule.Node & {
      +     *   range: [number, number], value: string
      +     * }}
      +     */
      +    jsdocNode.value.includes('\n')) {
             return;
           }
           checkAlignment({
      @@ -163,7 +221,13 @@ var _default = (0, _iterateJsdoc.default)(({
         const foundTags = utils.getPresentTags(applicableTags);
         if (context.options[0] !== 'any') {
           for (const tag of foundTags) {
      -      checkNotAlignedPerTag(utils, tag, customSpacings);
      +      checkNotAlignedPerTag(utils,
      +      /**
      +       * @type {import('comment-parser').Spec & {
      +       *   line: import('../iterateJsdoc.js').Integer
      +       * }}
      +       */
      +      tag, customSpacings);
           }
         }
         for (const tag of foundTags) {
      @@ -185,7 +249,7 @@ var _default = (0, _iterateJsdoc.default)(({
                 utils.reportJSDoc('Expected wrap indent', {
                   line: tag.source[0].number + idx
                 }, () => {
      -            tokens.postDelimiter = tokens.postDelimiter.charAt() + wrapIndent;
      +            tokens.postDelimiter = tokens.postDelimiter.charAt(0) + wrapIndent;
                 });
                 return;
               }
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkParamNames.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkParamNames.js
      index 4f4e9465c4093c..3908c0f7782fc9 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkParamNames.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkParamNames.js
      @@ -14,10 +14,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
        * @param {RegExp} checkTypesRegex
        * @param {boolean} disableExtraPropertyReporting
        * @param {boolean} enableFixer
      - * @param {Array} functionParameterNames
      - * @param jsdoc
      - * @param utils
      - * @param report
      + * @param {import('../jsdocUtils.js').ParamNameInfo[]} functionParameterNames
      + * @param {import('comment-parser').Block} jsdoc
      + * @param {import('../iterateJsdoc.js').Utils} utils
      + * @param {import('../iterateJsdoc.js').Report} report
        * @returns {boolean}
        */
       const validateParameterNames = (targetTagName, allowExtraTrailingParamDocs, checkDestructured, checkRestProperty, checkTypesRegex, disableExtraPropertyReporting, enableFixer, functionParameterNames, jsdoc, utils, report) => {
      @@ -32,9 +32,10 @@ const validateParameterNames = (targetTagName, allowExtraTrailingParamDocs, chec
       
         // eslint-disable-next-line complexity
         return paramTags.some(([, tag], index) => {
      +    /** @type {import('../iterateJsdoc.js').Integer} */
           let tagsIndex;
           const dupeTagInfo = paramTags.find(([tgsIndex, tg], idx) => {
      -      tagsIndex = tgsIndex;
      +      tagsIndex = Number(tgsIndex);
             return tg.name === tag.name && idx !== index;
           });
           if (dupeTagInfo) {
      @@ -180,12 +181,16 @@ const validateParameterNames = (targetTagName, allowExtraTrailingParamDocs, chec
       /**
        * @param {string} targetTagName
        * @param {boolean} _allowExtraTrailingParamDocs
      - * @param {Array} jsdocParameterNames
      - * @param jsdoc
      + * @param {{
      + *   name: string,
      + *   idx: import('../iterateJsdoc.js').Integer
      + * }[]} jsdocParameterNames
      + * @param {import('comment-parser').Block} jsdoc
        * @param {Function} report
        * @returns {boolean}
        */
       const validateParameterNamesDeep = (targetTagName, _allowExtraTrailingParamDocs, jsdocParameterNames, jsdoc, report) => {
      +  /** @type {string} */
         let lastRealParameter;
         return jsdocParameterNames.some(({
           name: jsdocParameterName,
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkPropertyNames.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkPropertyNames.js
      index 2e0bf3467a43cd..d33d1af4e1de51 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkPropertyNames.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkPropertyNames.js
      @@ -9,8 +9,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
       /**
        * @param {string} targetTagName
        * @param {boolean} enableFixer
      - * @param jsdoc
      - * @param utils
      + * @param {import('comment-parser').Block} jsdoc
      + * @param {import('../iterateJsdoc.js').Utils} utils
        * @returns {boolean}
        */
       const validatePropertyNames = (targetTagName, enableFixer, jsdoc, utils) => {
      @@ -18,9 +18,10 @@ const validatePropertyNames = (targetTagName, enableFixer, jsdoc, utils) => {
           return tag.tag === targetTagName;
         });
         return propertyTags.some(([, tag], index) => {
      +    /** @type {import('../iterateJsdoc.js').Integer} */
           let tagsIndex;
           const dupeTagInfo = propertyTags.find(([tgsIndex, tg], idx) => {
      -      tagsIndex = tgsIndex;
      +      tagsIndex = Number(tgsIndex);
             return tg.name === tag.name && idx !== index;
           });
           if (dupeTagInfo) {
      @@ -35,11 +36,16 @@ const validatePropertyNames = (targetTagName, enableFixer, jsdoc, utils) => {
       
       /**
        * @param {string} targetTagName
      - * @param {string[]} jsdocPropertyNames
      - * @param jsdoc
      + * @param {{
      + *   idx: number;
      + *   name: string;
      + *   type: string;
      + * }[]} jsdocPropertyNames
      + * @param {import('comment-parser').Block} jsdoc
        * @param {Function} report
        */
       const validatePropertyNamesDeep = (targetTagName, jsdocPropertyNames, jsdoc, report) => {
      +  /** @type {string} */
         let lastRealProperty;
         return jsdocPropertyNames.some(({
           name: jsdocPropertyName,
      @@ -75,10 +81,10 @@ var _default = (0, _iterateJsdoc.default)(({
           enableFixer = false
         } = context.options[0] || {};
         const jsdocPropertyNamesDeep = utils.getJsdocTagsDeep('property');
      -  if (!jsdocPropertyNamesDeep.length) {
      +  if (!jsdocPropertyNamesDeep || !jsdocPropertyNamesDeep.length) {
           return;
         }
      -  const targetTagName = utils.getPreferredTagName({
      +  const targetTagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'property'
         });
         const isError = validatePropertyNames(targetTagName, enableFixer, jsdoc, utils);
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTagNames.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTagNames.js
      index dffa9ca7088e90..84ca710dd2a0bf 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTagNames.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTagNames.js
      @@ -22,12 +22,22 @@ var _default = (0, _iterateJsdoc.default)(({
         settings,
         jsdocNode
       }) => {
      -  const {
      +  const
      +  /**
      +   * @type {{
      +   *   definedTags: string[],
      +   *   enableFixer: boolean,
      +   *   jsxTags: boolean,
      +   *   typed: boolean
      +   }} */
      +  {
           definedTags = [],
           enableFixer = true,
           jsxTags,
           typed
         } = context.options[0] || {};
      +
      +  /** @type {(string|undefined)[]} */
         let definedPreferredTags = [];
         const {
           tagNamePreference,
      @@ -52,9 +62,19 @@ var _default = (0, _iterateJsdoc.default)(({
             return preferredType;
           });
         }
      +
      +  /**
      +   * @param {import('eslint').Rule.Node} subNode
      +   * @returns {boolean}
      +   */
         const isInAmbientContext = subNode => {
      -    return subNode.type === 'Program' ? context.getFilename().endsWith('.d.ts') : Boolean(subNode.declare) || isInAmbientContext(subNode.parent);
      +    return subNode.type === 'Program' ? context.getFilename().endsWith('.d.ts') : Boolean( /** @type {import('@typescript-eslint/types').TSESTree.VariableDeclaration} */subNode.declare) || isInAmbientContext(subNode.parent);
         };
      +
      +  /**
      +   * @param {import('comment-parser').Spec} jsdocTag
      +   * @returns {boolean}
      +   */
         const tagIsRedundantWhenTyped = jsdocTag => {
           var _node$parent;
           if (!typedTagsUnnecessaryOutsideDeclare.has(jsdocTag.tag)) {
      @@ -63,15 +83,28 @@ var _default = (0, _iterateJsdoc.default)(({
           if (jsdocTag.tag === 'default') {
             return false;
           }
      +    if (node === null) {
      +      return false;
      +    }
           if (context.getFilename().endsWith('.d.ts') && ['Program', null, undefined].includes(node === null || node === void 0 ? void 0 : (_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent.type)) {
             return false;
           }
      -    if (isInAmbientContext(node)) {
      +    if (isInAmbientContext( /** @type {import('eslint').Rule.Node} */node)) {
             return false;
           }
           return true;
         };
      +
      +  /* eslint-disable jsdoc/no-undefined-types -- TS */
      +  /**
      +   * @param {string} message
      +   * @param {import('comment-parser').Spec} jsdocTag
      +   * @param {import('../iterateJsdoc.js').Integer} tagIndex
      +   * @param {Partial} [additionalTagChanges]
      +   * @returns {void}
      +   */
         const reportWithTagRemovalFixer = (message, jsdocTag, tagIndex, additionalTagChanges) => {
      +    /* eslint-enable jsdoc/no-undefined-types -- TS */
           utils.reportJSDoc(message, jsdocTag, enableFixer ? () => {
             if (jsdocTag.description.trim()) {
               utils.changeTag(jsdocTag, {
      @@ -86,6 +119,12 @@ var _default = (0, _iterateJsdoc.default)(({
             }
           } : null, true);
         };
      +
      +  /**
      +   * @param {import('comment-parser').Spec} jsdocTag
      +   * @param {import('../iterateJsdoc.js').Integer} tagIndex
      +   * @returns {boolean}
      +   */
         const checkTagForTypedValidity = (jsdocTag, tagIndex) => {
           if (typedTagsAlwaysUnnecessary.has(jsdocTag.tag)) {
             reportWithTagRemovalFixer(`'@${jsdocTag.tag}' is redundant when using a type system.`, jsdocTag, tagIndex, {
      @@ -113,7 +152,7 @@ var _default = (0, _iterateJsdoc.default)(({
           if (typed && checkTagForTypedValidity(jsdocTag, tagIndex)) {
             continue;
           }
      -    const validTags = [...definedTags, ...definedPreferredTags, ...definedNonPreferredTags, ...definedStructuredTags, ...(typed ? typedTagsNeedingName : [])];
      +    const validTags = [...definedTags, ... /** @type {string[]} */definedPreferredTags, ...definedNonPreferredTags, ...definedStructuredTags, ...(typed ? typedTagsNeedingName : [])];
           if (utils.isValidTag(tagName, validTags)) {
             let preferredTagName = utils.getPreferredTagName({
               allowObjectReturn: true,
      @@ -128,7 +167,8 @@ var _default = (0, _iterateJsdoc.default)(({
               ({
                 message,
                 replacement: preferredTagName
      -        } = preferredTagName);
      +        } = /** @type {{message: string; replacement?: string | undefined;}} */
      +        preferredTagName);
             }
             if (!message) {
               message = `Invalid JSDoc tag (preference). Replace "${tagName}" JSDoc tag with "${preferredTagName}".`;
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTypes.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTypes.js
      index 0528899fd4b51a..ba68a317319fe8 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTypes.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkTypes.js
      @@ -17,46 +17,53 @@ const strictNativeTypes = ['undefined', 'null', 'boolean', 'number', 'bigint', '
        * @param {string} preferred The preferred type
        * @param {boolean} isGenericMatch
        * @param {string} typeNodeName
      - * @param {import('jsdoc-type-pratt-parser/dist/src/index.d.ts').NonTerminalResult} node
      - * @param {import('jsdoc-type-pratt-parser/dist/src/index.d.ts').NonTerminalResult} parentNode
      + * @param {import('jsdoc-type-pratt-parser').NonRootResult} node
      + * @param {import('jsdoc-type-pratt-parser').NonRootResult|undefined} parentNode
        * @returns {void}
        */
       const adjustNames = (type, preferred, isGenericMatch, typeNodeName, node, parentNode) => {
         let ret = preferred;
         if (isGenericMatch) {
      +    const parentMeta = /** @type {import('jsdoc-type-pratt-parser').GenericResult} */parentNode.meta;
           if (preferred === '[]') {
      -      parentNode.meta.brackets = 'square';
      -      parentNode.meta.dot = false;
      +      parentMeta.brackets = 'square';
      +      parentMeta.dot = false;
             ret = 'Array';
           } else {
             const dotBracketEnd = preferred.match(/\.(?:<>)?$/u);
             if (dotBracketEnd) {
      -        parentNode.meta.brackets = 'angle';
      -        parentNode.meta.dot = true;
      +        parentMeta.brackets = 'angle';
      +        parentMeta.dot = true;
               ret = preferred.slice(0, -dotBracketEnd[0].length);
             } else {
      -        var _parentNode$meta;
               const bracketEnd = preferred.endsWith('<>');
               if (bracketEnd) {
      -          parentNode.meta.brackets = 'angle';
      -          parentNode.meta.dot = false;
      +          parentMeta.brackets = 'angle';
      +          parentMeta.dot = false;
                 ret = preferred.slice(0, -2);
      -        } else if (((_parentNode$meta = parentNode.meta) === null || _parentNode$meta === void 0 ? void 0 : _parentNode$meta.brackets) === 'square' && (typeNodeName === '[]' || typeNodeName === 'Array')) {
      -          parentNode.meta.brackets = 'angle';
      -          parentNode.meta.dot = false;
      +        } else if ((parentMeta === null || parentMeta === void 0 ? void 0 : parentMeta.brackets) === 'square' && (typeNodeName === '[]' || typeNodeName === 'Array')) {
      +          parentMeta.brackets = 'angle';
      +          parentMeta.dot = false;
               }
             }
           }
         } else if (type === 'JsdocTypeAny') {
           node.type = 'JsdocTypeName';
         }
      +
      +  /** @type {import('jsdoc-type-pratt-parser').NameResult} */
         node.value = ret.replace(/(?:\.|<>|\.<>|\[\])$/u, '');
       
         // For bare pseudo-types like `<>`
         if (!ret) {
      -    node.value = typeNodeName;
      +    /** @type {import('jsdoc-type-pratt-parser').NameResult} */node.value = typeNodeName;
         }
       };
      +
      +/**
      + * @param {boolean} [upperCase]
      + * @returns {string}
      + */
       const getMessage = upperCase => {
         return 'Use object shorthand or index signatures instead of ' + '`' + (upperCase ? 'O' : 'o') + 'bject`, e.g., `{[key: string]: string}`';
       };
      @@ -69,22 +76,48 @@ var _default = (0, _iterateJsdoc.default)(({
         context
       }) => {
         const jsdocTagsWithPossibleType = utils.filterTags(tag => {
      -    return utils.tagMightHaveTypePosition(tag.tag);
      +    return Boolean(utils.tagMightHaveTypePosition(tag.tag));
         });
      -  const {
      +  const
      +  /**
      +   * @type {{
      +   *   preferredTypes: import('../iterateJsdoc.js').PreferredTypes,
      +   *   structuredTags: import('../iterateJsdoc.js').StructuredTags,
      +   *   mode: import('../jsdocUtils.js').ParserMode
      +   * }}
      +   */
      +  {
           preferredTypes: preferredTypesOriginal,
           structuredTags,
           mode
         } = settings;
      +  /* eslint-enable jsdoc/valid-types -- Old version */
      +
         const injectObjectPreferredTypes = !('Object' in preferredTypesOriginal || 'object' in preferredTypesOriginal || 'object.<>' in preferredTypesOriginal || 'Object.<>' in preferredTypesOriginal || 'object<>' in preferredTypesOriginal);
      +
      +  /**
      +   * @type {{
      +   *   message: string,
      +   *   replacement: false
      +   * }}
      +   */
         const info = {
           message: getMessage(),
           replacement: false
         };
      +
      +  /**
      +   * @type {{
      +   *   message: string,
      +   *   replacement: false
      +   * }}
      +   */
         const infoUC = {
           message: getMessage(true),
           replacement: false
         };
      +
      +  /** @type {import('../iterateJsdoc.js').PreferredTypes} */
         const typeToInject = mode === 'typescript' ? {
           Object: 'object',
           'object.<>': info,
      @@ -97,11 +130,24 @@ var _default = (0, _iterateJsdoc.default)(({
           'Object.<>': 'Object<>',
           'object<>': 'Object<>'
         };
      +
      +  /** @type {import('../iterateJsdoc.js').PreferredTypes} */
         const preferredTypes = {
           ...(injectObjectPreferredTypes ? typeToInject : {}),
           ...preferredTypesOriginal
         };
      -  const {
      +  const
      +  /**
      +   * @type {{
      +   *   noDefaults: boolean,
      +   *   unifyParentAndChildTypeChecks: boolean,
      +   *   exemptTagContexts: ({
      +   *     tag: string,
      +   *     types: true|string[]
      +   *   })[]
      +   * }}
      +   */
      +  {
           noDefaults,
           unifyParentAndChildTypeChecks,
           exemptTagContexts = []
      @@ -113,8 +159,8 @@ var _default = (0, _iterateJsdoc.default)(({
          *
          * @param {string} _type Not currently in use
          * @param {string} typeNodeName
      -   * @param {import('jsdoc-type-pratt-parser/dist/src/index.d.ts').NonTerminalResult} parentNode
      -   * @param {string} property
      +   * @param {import('jsdoc-type-pratt-parser').NonRootResult|undefined} parentNode
      +   * @param {string|undefined} property
          * @returns {[hasMatchingPreferredType: boolean, typeName: string, isGenericMatch: boolean]}
          */
         const getPreferredTypeInfo = (_type, typeNodeName, parentNode, property) => {
      @@ -123,9 +169,9 @@ var _default = (0, _iterateJsdoc.default)(({
           let typeName = typeNodeName;
           const isNameOfGeneric = parentNode !== undefined && parentNode.type === 'JsdocTypeGeneric' && property === 'left';
           if (unifyParentAndChildTypeChecks || isNameOfGeneric) {
      -      var _parentNode$meta2, _parentNode$meta3;
      -      const brackets = parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$meta2 = parentNode.meta) === null || _parentNode$meta2 === void 0 ? void 0 : _parentNode$meta2.brackets;
      -      const dot = parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$meta3 = parentNode.meta) === null || _parentNode$meta3 === void 0 ? void 0 : _parentNode$meta3.dot;
      +      var _parentNode$meta, _parentNode$meta2;
      +      const brackets = /** @type {import('jsdoc-type-pratt-parser').GenericResult} */parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$meta = parentNode.meta) === null || _parentNode$meta === void 0 ? void 0 : _parentNode$meta.brackets;
      +      const dot = /** @type {import('jsdoc-type-pratt-parser').GenericResult} */parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$meta2 = parentNode.meta) === null || _parentNode$meta2 === void 0 ? void 0 : _parentNode$meta2.dot;
             if (brackets === 'angle') {
               const checkPostFixes = dot ? ['.', '.<>'] : ['<>'];
               isGenericMatch = checkPostFixes.some(checkPostFix => {
      @@ -136,7 +182,7 @@ var _default = (0, _iterateJsdoc.default)(({
                 return false;
               });
             }
      -      if (!isGenericMatch && property && parentNode.type === 'JsdocTypeGeneric') {
      +      if (!isGenericMatch && property && /** @type {import('jsdoc-type-pratt-parser').NonRootResult} */parentNode.type === 'JsdocTypeGeneric') {
               const checkPostFixes = dot ? ['.', '.<>'] : [brackets === 'angle' ? '<>' : '[]'];
               isGenericMatch = checkPostFixes.some(checkPostFix => {
                 if ((preferredTypes === null || preferredTypes === void 0 ? void 0 : preferredTypes[checkPostFix]) !== undefined) {
      @@ -149,7 +195,7 @@ var _default = (0, _iterateJsdoc.default)(({
           }
           const directNameMatch = (preferredTypes === null || preferredTypes === void 0 ? void 0 : preferredTypes[typeNodeName]) !== undefined && !Object.values(preferredTypes).includes(typeNodeName);
           const unifiedSyntaxParentMatch = property && directNameMatch && unifyParentAndChildTypeChecks;
      -    isGenericMatch = isGenericMatch || unifiedSyntaxParentMatch;
      +    isGenericMatch = isGenericMatch || Boolean(unifiedSyntaxParentMatch);
           hasMatchingPreferredType = isGenericMatch || directNameMatch && !property;
           return [hasMatchingPreferredType, typeName, isGenericMatch];
         };
      @@ -159,10 +205,10 @@ var _default = (0, _iterateJsdoc.default)(({
          * the the relevant strict type returned as the new preferred type).
          *
          * @param {string} typeNodeName
      -   * @param {string} preferred
      -   * @param {import('jsdoc-type-pratt-parser/dist/src/index.d.ts').NonTerminalResult} parentNode
      -   * @param {string[]} invalidTypes
      -   * @returns {string} The `preferred` type string, optionally changed
      +   * @param {string|undefined} preferred
      +   * @param {import('jsdoc-type-pratt-parser').NonRootResult|undefined} parentNode
      +   * @param {(string|false|undefined)[][]} invalidTypes
      +   * @returns {string|undefined} The `preferred` type string, optionally changed
          */
         const checkNativeTypes = (typeNodeName, preferred, parentNode, invalidTypes) => {
           let changedPreferred = preferred;
      @@ -176,7 +222,18 @@ var _default = (0, _iterateJsdoc.default)(({
             //   parent object without a parent match (and not
             //   `unifyParentAndChildTypeChecks`) and we don't want
             //   `object<>` given TypeScript issue https://github.com/microsoft/TypeScript/issues/20555
      -      parentNode !== null && parentNode !== void 0 && (_parentNode$elements = parentNode.elements) !== null && _parentNode$elements !== void 0 && _parentNode$elements.length && (parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$left = parentNode.left) === null || _parentNode$left === void 0 ? void 0 : _parentNode$left.type) === 'JsdocTypeName' && (parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$left2 = parentNode.left) === null || _parentNode$left2 === void 0 ? void 0 : _parentNode$left2.value) === 'Object')) {
      +      /**
      +       * @type {import('jsdoc-type-pratt-parser').GenericResult}
      +       */
      +      parentNode !== null && parentNode !== void 0 && (_parentNode$elements = parentNode.elements) !== null && _parentNode$elements !== void 0 && _parentNode$elements.length &&
      +      /**
      +       * @type {import('jsdoc-type-pratt-parser').GenericResult}
      +       */
      +      (parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$left = parentNode.left) === null || _parentNode$left === void 0 ? void 0 : _parentNode$left.type) === 'JsdocTypeName' &&
      +      /**
      +       * @type {import('jsdoc-type-pratt-parser').GenericResult}
      +       */
      +      (parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$left2 = parentNode.left) === null || _parentNode$left2 === void 0 ? void 0 : _parentNode$left2.value) === 'Object')) {
               continue;
             }
             if (strictNativeType !== typeNodeName && strictNativeType.toLowerCase() === typeNodeName.toLowerCase() && (
      @@ -198,10 +255,10 @@ var _default = (0, _iterateJsdoc.default)(({
          * @param {string} tagName
          * @param {string} nameInTag
          * @param {number} idx
      -   * @param {string} property
      -   * @param {import('jsdoc-type-pratt-parser/dist/src/index.d.ts').NonTerminalResult} node
      -   * @param {import('jsdoc-type-pratt-parser/dist/src/index.d.ts').NonTerminalResult} parentNode
      -   * @param {string[]} invalidTypes
      +   * @param {string|undefined} property
      +   * @param {import('jsdoc-type-pratt-parser').NonRootResult} node
      +   * @param {import('jsdoc-type-pratt-parser').NonRootResult|undefined} parentNode
      +   * @param {(string|false|undefined)[][]} invalidTypes
          * @returns {void}
          */
         const getInvalidTypes = (type, value, tagName, nameInTag, idx, property, node, parentNode, invalidTypes) => {
      @@ -244,6 +301,7 @@ var _default = (0, _iterateJsdoc.default)(({
           }
         };
         for (const [idx, jsdocTag] of jsdocTagsWithPossibleType.entries()) {
      +    /** @type {(string|false|undefined)[][]} */
           const invalidTypes = [];
           let typeAst;
           try {
      @@ -259,7 +317,11 @@ var _default = (0, _iterateJsdoc.default)(({
             const {
               type,
               value
      -      } = node;
      +      } =
      +      /**
      +       * @type {import('jsdoc-type-pratt-parser').NameResult}
      +       */
      +      node;
             if (!['JsdocTypeName', 'JsdocTypeAny'].includes(type)) {
               return;
             }
      @@ -269,8 +331,7 @@ var _default = (0, _iterateJsdoc.default)(({
             const fixedType = (0, _jsdoccomment.stringify)(typeAst);
       
             /**
      -       * @param {any} fixer The ESLint fixer
      -       * @returns {string}
      +       * @type {import('eslint').Rule.ReportFixer}
              */
             const fix = fixer => {
               return fixer.replaceText(jsdocNode, sourceCode.getText(jsdocNode).replace(`{${jsdocTag.type}}`, `{${fixedType}}`));
      @@ -288,7 +349,7 @@ var _default = (0, _iterateJsdoc.default)(({
               report(msg || `Invalid JSDoc @${tagName}${tagValue} type "${badType}"` + (preferredType ? '; ' : '.') + (preferredType ? `prefer: ${JSON.stringify(preferredType)}.` : ''), preferredType ? fix : null, jsdocTag, msg ? {
                 tagName,
                 tagValue
      -        } : null);
      +        } : undefined);
             }
           }
         }
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkValues.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkValues.js
      index a06b1217a16fd1..49ef2217c96217 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkValues.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/checkValues.js
      @@ -22,7 +22,7 @@ var _default = (0, _iterateJsdoc.default)(({
           licensePattern = '/([^\n\r]*)/gu'
         } = options;
         utils.forEachPreferredTag('version', (jsdocParameter, targetTagName) => {
      -    const version = utils.getTagDescription(jsdocParameter).trim();
      +    const version = /** @type {string} */utils.getTagDescription(jsdocParameter).trim();
           if (!version) {
             report(`Missing JSDoc @${targetTagName} value.`, null, jsdocParameter);
           } else if (!_semver.default.valid(version)) {
      @@ -30,7 +30,7 @@ var _default = (0, _iterateJsdoc.default)(({
           }
         });
         utils.forEachPreferredTag('kind', (jsdocParameter, targetTagName) => {
      -    const kind = utils.getTagDescription(jsdocParameter).trim();
      +    const kind = /** @type {string} */utils.getTagDescription(jsdocParameter).trim();
           if (!kind) {
             report(`Missing JSDoc @${targetTagName} value.`, null, jsdocParameter);
           } else if (!allowedKinds.has(kind)) {
      @@ -39,7 +39,7 @@ var _default = (0, _iterateJsdoc.default)(({
         });
         if (numericOnlyVariation) {
           utils.forEachPreferredTag('variation', (jsdocParameter, targetTagName) => {
      -      const variation = utils.getTagDescription(jsdocParameter).trim();
      +      const variation = /** @type {string} */utils.getTagDescription(jsdocParameter).trim();
             if (!variation) {
               report(`Missing JSDoc @${targetTagName} value.`, null, jsdocParameter);
             } else if (!Number.isInteger(Number(variation)) || Number(variation) <= 0) {
      @@ -48,7 +48,7 @@ var _default = (0, _iterateJsdoc.default)(({
           });
         }
         utils.forEachPreferredTag('since', (jsdocParameter, targetTagName) => {
      -    const version = utils.getTagDescription(jsdocParameter).trim();
      +    const version = /** @type {string} */utils.getTagDescription(jsdocParameter).trim();
           if (!version) {
             report(`Missing JSDoc @${targetTagName} value.`, null, jsdocParameter);
           } else if (!_semver.default.valid(version)) {
      @@ -57,7 +57,7 @@ var _default = (0, _iterateJsdoc.default)(({
         });
         utils.forEachPreferredTag('license', (jsdocParameter, targetTagName) => {
           const licenseRegex = utils.getRegexFromString(licensePattern, 'g');
      -    const matches = utils.getTagDescription(jsdocParameter).matchAll(licenseRegex);
      +    const matches = /** @type {string} */utils.getTagDescription(jsdocParameter).matchAll(licenseRegex);
           let positiveMatch = false;
           for (const match of matches) {
             const license = match[1] || match[0];
      @@ -84,7 +84,7 @@ var _default = (0, _iterateJsdoc.default)(({
           }
         });
         utils.forEachPreferredTag('author', (jsdocParameter, targetTagName) => {
      -    const author = utils.getTagDescription(jsdocParameter).trim();
      +    const author = /** @type {string} */utils.getTagDescription(jsdocParameter).trim();
           if (!author) {
             report(`Missing JSDoc @${targetTagName} value.`, null, jsdocParameter);
           } else if (allowedAuthors && !allowedAuthors.includes(author)) {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/emptyTags.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/emptyTags.js
      index 8bc0fd4e84f6b5..aebdf1b5b867b6 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/emptyTags.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/emptyTags.js
      @@ -34,7 +34,14 @@ var _default = (0, _iterateJsdoc.default)(({
           const content = tag.name || tag.description || tag.type;
           if (content.trim()) {
             const fix = () => {
      -        utils.setTag(tag);
      +        // By time of call in fixer, `tag` will have `line` added
      +        utils.setTag(
      +        /**
      +         * @type {import('comment-parser').Spec & {
      +         *   line: import('../iterateJsdoc.js').Integer
      +         * }}
      +         */
      +        tag);
             };
             utils.reportJSDoc(`@${tag.tag} should be empty.`, tag, fix, true);
           }
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/informativeDocs.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/informativeDocs.js
      index 10750d21406ff7..3e152c5f04926e 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/informativeDocs.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/informativeDocs.js
      @@ -12,7 +12,12 @@ const defaultAliases = {
       };
       const defaultUselessWords = ['a', 'an', 'i', 'in', 'of', 's', 'the'];
       
      -// eslint-disable-next-line complexity
      +/* eslint-disable complexity -- Temporary */
      +
      +/**
      + * @param {import('eslint').Rule.Node|import('@typescript-eslint/types').TSESTree.Node|null|undefined} node
      + * @returns {string[]}
      + */
       const getNamesFromNode = node => {
         switch (node === null || node === void 0 ? void 0 : node.type) {
           case 'AccessorProperty':
      @@ -21,7 +26,8 @@ const getNamesFromNode = node => {
           case 'TSAbstractAccessorProperty':
           case 'TSAbstractMethodDefinition':
           case 'TSAbstractPropertyDefinition':
      -      return [...getNamesFromNode(node.parent.parent), ...getNamesFromNode(node.key)];
      +      return [...getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.Node} */node.parent.parent), ...getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.Node} */
      +      node.key)];
           case 'ClassDeclaration':
           case 'ClassExpression':
           case 'FunctionDeclaration':
      @@ -33,19 +39,25 @@ const getNamesFromNode = node => {
           case 'TSEnumMember':
           case 'TSInterfaceDeclaration':
           case 'TSTypeAliasDeclaration':
      -      return getNamesFromNode(node.id);
      +      return getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.ClassDeclaration} */
      +      node.id);
           case 'Identifier':
             return [node.name];
           case 'Property':
      -      return getNamesFromNode(node.key);
      +      return getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.Node} */
      +      node.key);
           case 'VariableDeclaration':
      -      return getNamesFromNode(node.declarations[0]);
      +      return getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.Node} */
      +      node.declarations[0]);
           case 'VariableDeclarator':
      -      return [...getNamesFromNode(node.id), ...getNamesFromNode(node.init)].filter(Boolean);
      +      return [...getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.Node} */
      +      node.id), ...getNamesFromNode( /** @type {import('@typescript-eslint/types').TSESTree.Node} */
      +      node.init)].filter(Boolean);
           default:
             return [];
         }
       };
      +/* eslint-enable complexity -- Temporary */
       var _default = (0, _iterateJsdoc.default)(({
         context,
         jsdoc,
      @@ -58,6 +70,12 @@ var _default = (0, _iterateJsdoc.default)(({
           uselessWords = defaultUselessWords
         } = context.options[0] || {};
         const nodeNames = getNamesFromNode(node);
      +
      +  /**
      +   * @param {string} text
      +   * @param {string} extraName
      +   * @returns {boolean}
      +   */
         const descriptionIsRedundant = (text, extraName = '') => {
           const textTrimmed = text.trim();
           return Boolean(textTrimmed) && !(0, _areDocsInformative.areDocsInformative)(textTrimmed, [extraName, nodeNames].filter(Boolean).join(' '), {
      @@ -74,7 +92,8 @@ var _default = (0, _iterateJsdoc.default)(({
           if (descriptionIsRedundant(tag.description, tag.name)) {
             utils.reportJSDoc('This tag description only repeats the name it describes.', tag);
           }
      -    descriptionReported ||= tag.description === description && tag.line === lastDescriptionLine;
      +    descriptionReported ||= tag.description === description && /** @type {import('comment-parser').Spec & {line: import('../iterateJsdoc.js').Integer}} */
      +    tag.line === lastDescriptionLine;
         }
         if (!descriptionReported && descriptionIsRedundant(description)) {
           report('This description only repeats the name it describes.');
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchDescription.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchDescription.js
      index 33a639552037de..19f864a388d75b 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchDescription.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchDescription.js
      @@ -9,6 +9,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
       // If supporting Node >= 10, we could loosen the default to this for the
       //   initial letter: \\p{Upper}
       const matchDescriptionDefault = '^\n?([A-Z`\\d_][\\s\\S]*[.?!`]\\s*)?$';
      +
      +/**
      + * @param {string} value
      + * @param {string} userDefault
      + * @returns {string}
      + */
       const stringOrDefault = (value, userDefault) => {
         return typeof value === 'string' ? value : userDefault || matchDescriptionDefault;
       };
      @@ -24,6 +30,12 @@ var _default = (0, _iterateJsdoc.default)(({
           message,
           tags
         } = context.options[0] || {};
      +
      +  /**
      +   * @param {string} desc
      +   * @param {import('comment-parser').Spec} [tag]
      +   * @returns {void}
      +   */
         const validateDescription = (desc, tag) => {
           let mainDescriptionMatch = mainDescription;
           let errorMessage = message;
      @@ -31,7 +43,7 @@ var _default = (0, _iterateJsdoc.default)(({
             mainDescriptionMatch = mainDescription.match;
             errorMessage = mainDescription.message;
           }
      -    if (mainDescriptionMatch === false && (!tag || !Object.prototype.hasOwnProperty.call(tags, tag.tag))) {
      +    if (mainDescriptionMatch === false && (!tag || !Object.hasOwn(tags, tag.tag))) {
             return;
           }
           let tagValue = mainDescriptionMatch;
      @@ -61,6 +73,11 @@ var _default = (0, _iterateJsdoc.default)(({
         if (!tags || !Object.keys(tags).length) {
           return;
         }
      +
      +  /**
      +   * @param {string} tagName
      +   * @returns {boolean}
      +   */
         const hasOptionTag = tagName => {
           return Boolean(tags[tagName]);
         };
      @@ -80,7 +97,7 @@ var _default = (0, _iterateJsdoc.default)(({
           tagsWithoutNames
         } = utils.getTagsByType(whitelistedTags);
         tagsWithNames.some(tag => {
      -    const desc = utils.getTagDescription(tag).replace(/^[- ]*/u, '').trim();
      +    const desc = /** @type {string} */utils.getTagDescription(tag).replace(/^[- ]*/u, '').trim();
           return validateDescription(desc, tag);
         });
         tagsWithoutNames.some(tag => {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchName.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchName.js
      index 92fe17a39bab40..109b3efd65e75e 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchName.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/matchName.js
      @@ -28,7 +28,7 @@ var _default = (0, _iterateJsdoc.default)(({
           disallowName,
           replacement,
           tags = ['*']
      -  } = match[lastIndex];
      +  } = match[/** @type {import('../iterateJsdoc.js').Integer} */lastIndex];
         const allowNameRegex = allowName && utils.getRegexFromString(allowName);
         const disallowNameRegex = disallowName && utils.getRegexFromString(disallowName);
         let applicableTags = jsdoc.tags;
      @@ -56,7 +56,7 @@ var _default = (0, _iterateJsdoc.default)(({
           };
           let {
             message
      -    } = match[lastIndex];
      +    } = match[/** @type {import('../iterateJsdoc.js').Integer} */lastIndex];
           if (!message) {
             if (hasRegex) {
               message = disallowed ? `Only allowing names not matching \`${disallowNameRegex}\` but found "${tag.name}".` : `Only allowing names matching \`${allowNameRegex}\` but found "${tag.name}".`;
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/multilineBlocks.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/multilineBlocks.js
      index 48a9291cab62ba..3758fdbccdc348 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/multilineBlocks.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/multilineBlocks.js
      @@ -31,6 +31,11 @@ var _default = (0, _iterateJsdoc.default)(({
           tag
         } = tokens;
         const sourceLength = jsdoc.source.length;
      +
      +  /**
      +   * @param {string} tagName
      +   * @returns {boolean}
      +   */
         const isInvalidSingleLine = tagName => {
           return noSingleLineBlocks && (!tagName || !singleLineTags.includes(tagName) && !singleLineTags.includes('*'));
         };
      @@ -78,7 +83,13 @@ var _default = (0, _iterateJsdoc.default)(({
                 delimiter
               } = line;
               for (const prop of ['delimiter', 'postDelimiter', 'tag', 'type', 'lineEnd', 'postType', 'postTag', 'name', 'postName', 'description']) {
      -          finalLineTokens[prop] = '';
      +          finalLineTokens[
      +          /**
      +           * @type {"delimiter"|"postDelimiter"|"tag"|"type"|
      +           *   "lineEnd"|"postType"|"postTag"|"name"|
      +           *   "postName"|"description"}
      +           */
      +          prop] = '';
               }
               utils.addLine(jsdoc.source.length - 1, {
                 ...line,
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBadBlocks.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBadBlocks.js
      index 59e694d7de84e4..3f119cabde1136 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBadBlocks.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBadBlocks.js
      @@ -22,7 +22,7 @@ var _default = (0, _iterateJsdoc.default)(({
           preventAllMultiAsteriskBlocks = false
         } = {}] = context.options;
         let extraAsterisks = false;
      -  const nonJsdocNodes = allComments.filter(comment => {
      +  const nonJsdocNodes = /** @type {import('estree').Node[]} */allComments.filter(comment => {
           const commentText = sourceCode.getText(comment);
           let sliceIndex = 2;
           if (!commentRegexp.test(commentText)) {
      @@ -37,9 +37,7 @@ var _default = (0, _iterateJsdoc.default)(({
               return true;
             }
           }
      -    const [{
      -      tags = {}
      -    } = {}] = (0, _commentParser.parse)(`${commentText.slice(0, 2)}*${commentText.slice(sliceIndex)}`);
      +    const tags = ((0, _commentParser.parse)(`${commentText.slice(0, 2)}*${commentText.slice(sliceIndex)}`)[0] || {}).tags ?? [];
           return tags.length && !tags.some(({
             tag
           }) => {
      @@ -50,10 +48,10 @@ var _default = (0, _iterateJsdoc.default)(({
           return;
         }
         for (const node of nonJsdocNodes) {
      -    const report = makeReport(context, node);
      +    const report = /** @type {import('../iterateJsdoc.js').MakeReport} */makeReport(context, node);
       
           // eslint-disable-next-line no-loop-func
      -    const fix = fixer => {
      +    const fix = /** @type {import('eslint').Rule.ReportFixer} */fixer => {
             const text = sourceCode.getText(node);
             return fixer.replaceText(node, extraAsterisks ? text.replace(extraAsteriskCommentRegexp, '/**') : text.replace('/*', '/**'));
           };
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBlankBlockDescriptions.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBlankBlockDescriptions.js
      index 9bcc132648d7f0..fdcd0e073e6912 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBlankBlockDescriptions.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noBlankBlockDescriptions.js
      @@ -36,6 +36,8 @@ var _default = (0, _iterateJsdoc.default)(({
                 return [
                 // Keep the starting line
                 {
      +            number: 0,
      +            source: '',
                   tokens: seedTokens({
                     ...info,
                     description: ''
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMissingSyntax.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMissingSyntax.js
      index eb2a5530e3d7ea..0bef896ab46921 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMissingSyntax.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMissingSyntax.js
      @@ -7,11 +7,34 @@ exports.default = void 0;
       var _esquery = _interopRequireDefault(require("esquery"));
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @typedef {{
      + *   comment: string,
      + *   context: string,
      + *   message: string,
      + *   minimum: import('../iterateJsdoc.js').Integer
      + * }} ContextObject
      + */
      +
      +/**
      + * @typedef {string|ContextObject} Context
      + */
      +/**
      + * @param {import('../iterateJsdoc.js').StateObject} state
      + * @returns {void}
      + */
       const setDefaults = state => {
         if (!state.selectorMap) {
           state.selectorMap = {};
         }
       };
      +
      +/**
      + * @param {import('../iterateJsdoc.js').StateObject} state
      + * @param {string} selector
      + * @param {string} comment
      + * @returns {void}
      + */
       const incrementSelector = (state, selector, comment) => {
         if (!state.selectorMap[selector]) {
           state.selectorMap[selector] = {};
      @@ -34,19 +57,27 @@ var _default = (0, _iterateJsdoc.default)(({
           // Handle error later
           return;
         }
      -  const {
      -    contexts
      -  } = context.options[0];
      +
      +  /**
      +   * @type {Context[]}
      +   */
      +  const contexts = context.options[0].contexts;
         const foundContext = contexts.find(cntxt => {
      -    return typeof cntxt === 'string' ? _esquery.default.matches(node, _esquery.default.parse(cntxt), null, {
      +    return typeof cntxt === 'string' ? _esquery.default.matches(node, _esquery.default.parse(cntxt), null,
      +    // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/65460
      +    // @ts-expect-error
      +    {
             visitorKeys: sourceCode.visitorKeys
      -    }) : (!cntxt.context || cntxt.context === 'any' || _esquery.default.matches(node, _esquery.default.parse(cntxt.context), null, {
      +    }) : (!cntxt.context || cntxt.context === 'any' ||
      +    // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/65460
      +    // @ts-expect-error
      +    _esquery.default.matches(node, _esquery.default.parse(cntxt.context), null, {
             visitorKeys: sourceCode.visitorKeys
           })) && comment === cntxt.comment;
         });
      -  const contextStr = typeof foundContext === 'object' ? foundContext.context ?? 'any' : foundContext;
      +  const contextStr = typeof foundContext === 'object' ? foundContext.context ?? 'any' : String(foundContext);
         setDefaults(state);
      -  incrementSelector(state, contextStr, comment);
      +  incrementSelector(state, contextStr, String(comment));
       }, {
         contextSelected: true,
         exit({
      @@ -57,6 +88,10 @@ var _default = (0, _iterateJsdoc.default)(({
           if (!context.options.length && !settings.contexts) {
             context.report({
               loc: {
      +          end: {
      +            column: 1,
      +            line: 1
      +          },
                 start: {
                   column: 1,
                   line: 1
      @@ -67,19 +102,25 @@ var _default = (0, _iterateJsdoc.default)(({
             return;
           }
           setDefaults(state);
      -    const {
      -      contexts = settings === null || settings === void 0 ? void 0 : settings.contexts
      -    } = context.options[0] || {};
      +
      +    /**
      +     * @type {Context[]}
      +     */
      +    const contexts = (context.options[0] ?? {}).contexts ?? (settings === null || settings === void 0 ? void 0 : settings.contexts);
       
           // Report when MISSING
           contexts.some(cntxt => {
             const contextStr = typeof cntxt === 'object' ? cntxt.context ?? 'any' : cntxt;
      -      const comment = (cntxt === null || cntxt === void 0 ? void 0 : cntxt.comment) ?? '';
      -      const contextKey = contextStr === 'any' ? undefined : contextStr;
      -      if ((!state.selectorMap[contextKey] || !state.selectorMap[contextKey][comment] || state.selectorMap[contextKey][comment] < ((cntxt === null || cntxt === void 0 ? void 0 : cntxt.minimum) ?? 1)) && (contextStr !== 'any' || Object.values(state.selectorMap).every(cmmnt => {
      -        return !cmmnt[comment] || cmmnt[comment] < ((cntxt === null || cntxt === void 0 ? void 0 : cntxt.minimum) ?? 1);
      +      const comment = typeof cntxt === 'string' ? '' : cntxt === null || cntxt === void 0 ? void 0 : cntxt.comment;
      +      const contextKey = contextStr === 'any' ? 'undefined' : contextStr;
      +      if ((!state.selectorMap[contextKey] || !state.selectorMap[contextKey][comment] || state.selectorMap[contextKey][comment] < (
      +      // @ts-expect-error comment would need an object, not string
      +      (cntxt === null || cntxt === void 0 ? void 0 : cntxt.minimum) ?? 1)) && (contextStr !== 'any' || Object.values(state.selectorMap).every(cmmnt => {
      +        return !cmmnt[comment] || cmmnt[comment] < (
      +        // @ts-expect-error comment would need an object, not string
      +        (cntxt === null || cntxt === void 0 ? void 0 : cntxt.minimum) ?? 1);
             }))) {
      -        const message = (cntxt === null || cntxt === void 0 ? void 0 : cntxt.message) ?? 'Syntax is required: {{context}}' + (comment ? ' with {{comment}}' : '');
      +        const message = typeof cntxt === 'string' ? 'Syntax is required: {{context}}' : (cntxt === null || cntxt === void 0 ? void 0 : cntxt.message) ?? 'Syntax is required: {{context}}' + (comment ? ' with {{comment}}' : '');
               context.report({
                 data: {
                   comment,
      @@ -87,9 +128,11 @@ var _default = (0, _iterateJsdoc.default)(({
                 },
                 loc: {
                   end: {
      +              column: 1,
                     line: 1
                   },
                   start: {
      +              column: 1,
                     line: 1
                   }
                 },
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMultiAsterisks.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMultiAsterisks.js
      index 5f92efbaba3427..ec2b9203f15fe2 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMultiAsterisks.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noMultiAsterisks.js
      @@ -53,12 +53,7 @@ var _default = (0, _iterateJsdoc.default)(({
           }
           const isSingleLineBlock = delimiter === '/**';
           const delim = isSingleLineBlock ? '*' : delimiter;
      -    let endAsterisks;
      -    if (allowWhitespace) {
      -      endAsterisks = isSingleLineBlock ? endAsterisksSingleLineNoBlockWS : endAsterisksMultipleLineNoBlockWS;
      -    } else {
      -      endAsterisks = isSingleLineBlock ? endAsterisksSingleLineBlockWS : endAsterisksMultipleLineBlockWS;
      -    }
      +    const endAsterisks = allowWhitespace ? isSingleLineBlock ? endAsterisksSingleLineNoBlockWS : endAsterisksMultipleLineNoBlockWS : isSingleLineBlock ? endAsterisksSingleLineBlockWS : endAsterisksMultipleLineBlockWS;
           const endingAsterisksAndSpaces = (allowWhitespace ? postDelimiter + description + delim : description + delim).match(endAsterisks);
           if (!endingAsterisksAndSpaces || !isSingleLineBlock && endingAsterisksAndSpaces[1] && !endingAsterisksAndSpaces[1].trim()) {
             return false;
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noRestrictedSyntax.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noRestrictedSyntax.js
      index f61c528d7fe628..2db9a7503d4f92 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noRestrictedSyntax.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noRestrictedSyntax.js
      @@ -23,10 +23,21 @@ var _default = (0, _iterateJsdoc.default)(({
         const {
           contexts
         } = context.options[0];
      -  const foundContext = contexts.find(cntxt => {
      -    return typeof cntxt === 'string' ? _esquery.default.matches(node, _esquery.default.parse(cntxt), null, {
      +  const foundContext = contexts.find(
      +  /**
      +   * @param {string|{context: string, comment: string}} cntxt
      +   * @returns {boolean}
      +   */
      +  cntxt => {
      +    return typeof cntxt === 'string' ? _esquery.default.matches(node, _esquery.default.parse(cntxt), null,
      +    // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/65460
      +    // @ts-expect-error
      +    {
             visitorKeys: sourceCode.visitorKeys
      -    }) : (!cntxt.context || cntxt.context === 'any' || _esquery.default.matches(node, _esquery.default.parse(cntxt.context), null, {
      +    }) : (!cntxt.context || cntxt.context === 'any' || _esquery.default.matches(node, _esquery.default.parse(cntxt.context), null,
      +    // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/65460
      +    // @ts-expect-error
      +    {
             visitorKeys: sourceCode.visitorKeys
           })) && comment === cntxt.comment;
         });
      @@ -38,9 +49,11 @@ var _default = (0, _iterateJsdoc.default)(({
         }
         const contextStr = typeof foundContext === 'object' ? foundContext.context ?? 'any' : foundContext;
         const message = (foundContext === null || foundContext === void 0 ? void 0 : foundContext.message) ?? 'Syntax is restricted: {{context}}' + (comment ? ' with {{comment}}' : '');
      -  report(message, null, null, {
      +  report(message, null, null, comment ? {
           comment,
           context: contextStr
      +  } : {
      +    context: contextStr
         });
       }, {
         contextSelected: true,
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noTypes.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noTypes.js
      index 3f97a13d75868c..9cf8d11b7bce51 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noTypes.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noTypes.js
      @@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @param {import('comment-parser').Line} line
      + */
       const removeType = ({
         tokens
       }) => {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noUndefinedTypes.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noUndefinedTypes.js
      index f656ac75107b90..c17cc4092e152a 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noUndefinedTypes.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/noUndefinedTypes.js
      @@ -6,14 +6,17 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _jsdoccomment = require("@es-joy/jsdoccomment");
       var _iterateJsdoc = _interopRequireWildcard(require("../iterateJsdoc"));
      -var _jsdocUtils = _interopRequireDefault(require("../jsdocUtils"));
      -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
       function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
       function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
       const extraTypes = ['null', 'undefined', 'void', 'string', 'boolean', 'object', 'function', 'symbol', 'number', 'bigint', 'NaN', 'Infinity', 'any', '*', 'never', 'unknown', 'const', 'this', 'true', 'false', 'Array', 'Object', 'RegExp', 'Date', 'Function'];
       const typescriptGlobals = [
       // https://www.typescriptlang.org/docs/handbook/utility-types.html
       'Partial', 'Required', 'Readonly', 'Record', 'Pick', 'Omit', 'Exclude', 'Extract', 'NonNullable', 'Parameters', 'ConstructorParameters', 'ReturnType', 'InstanceType', 'ThisParameterType', 'OmitThisParameter', 'ThisType', 'Uppercase', 'Lowercase', 'Capitalize', 'Uncapitalize'];
      +
      +/**
      + * @param {string|false|undefined} [str]
      + * @returns {undefined|string|false}
      + */
       const stripPseudoTypes = str => {
         return str && str.replace(/(?:\.|<>|\.<>|\[\])$/u, '');
       };
      @@ -29,12 +32,25 @@ var _default = (0, _iterateJsdoc.default)(({
         const {
           scopeManager
         } = sourceCode;
      -  const {
      -    globalScope
      -  } = scopeManager;
      -  const {
      -    definedTypes = []
      +
      +  // When is this ever `null`?
      +  const globalScope = /** @type {import('eslint').Scope.Scope} */
      +  scopeManager.globalScope;
      +  const
      +  /**
      +   * @type {{
      +   *   definedTypes: string[],
      +   *   disableReporting: boolean,
      +   *   markVariablesAsUsed: boolean
      +   * }}
      +   */
      +  {
      +    definedTypes = [],
      +    disableReporting = false,
      +    markVariablesAsUsed = true
         } = context.options[0] || {};
      +
      +  /** @type {(string|undefined)[]} */
         let definedPreferredTypes = [];
         const {
           preferredTypes,
      @@ -42,7 +58,7 @@ var _default = (0, _iterateJsdoc.default)(({
           mode
         } = settings;
         if (Object.keys(preferredTypes).length) {
      -    definedPreferredTypes = Object.values(preferredTypes).map(preferredType => {
      +    definedPreferredTypes = /** @type {string[]} */Object.values(preferredTypes).map(preferredType => {
             if (typeof preferredType === 'string') {
               // May become an empty string but will be filtered out below
               return stripPseudoTypes(preferredType);
      @@ -58,7 +74,7 @@ var _default = (0, _iterateJsdoc.default)(({
             return preferredType;
           });
         }
      -  const typedefDeclarations = context.getAllComments().filter(comment => {
      +  const typedefDeclarations = sourceCode.getAllComments().filter(comment => {
           return /^\*\s/u.test(comment.value);
         }).map(commentNode => {
           return (0, _iterateJsdoc.parseComment)(commentNode, '');
      @@ -79,13 +95,18 @@ var _default = (0, _iterateJsdoc.default)(({
           ancestorNodes.push(currentNode);
           currentNode = currentNode.parent;
         }
      +
      +  /**
      +   * @param {import('eslint').Rule.Node} ancestorNode
      +   * @returns {import('comment-parser').Spec[]}
      +   */
         const getTemplateTags = function (ancestorNode) {
           const commentNode = (0, _jsdoccomment.getJSDocComment)(sourceCode, ancestorNode, settings);
           if (!commentNode) {
             return [];
           }
           const jsdoc = (0, _iterateJsdoc.parseComment)(commentNode, '');
      -    return _jsdocUtils.default.filterTags(jsdoc.tags, tag => {
      +    return jsdoc.tags.filter(tag => {
             return tag.tag === 'template';
           });
         };
      @@ -94,7 +115,7 @@ var _default = (0, _iterateJsdoc.default)(({
         //  we look to present tags instead
         const templateTags = ancestorNodes.length ? ancestorNodes.flatMap(ancestorNode => {
           return getTemplateTags(ancestorNode);
      -  }) : utils.getPresentTags('template');
      +  }) : utils.getPresentTags(['template']);
         const closureGenericTypes = templateTags.flatMap(tag => {
           return utils.parseClosureTemplateTag(tag);
         });
      @@ -117,30 +138,77 @@ var _default = (0, _iterateJsdoc.default)(({
           name
         }) => {
           return name;
      -  }) : []).concat(extraTypes).concat(typedefDeclarations).concat(definedTypes).concat(definedPreferredTypes).concat(settings.mode === 'jsdoc' ? [] : [...(settings.mode === 'typescript' ? typescriptGlobals : []), ...closureGenericTypes]));
      -  const jsdocTagsWithPossibleType = utils.filterTags(({
      +  }) : []).concat(extraTypes).concat(typedefDeclarations).concat(definedTypes).concat( /** @type {string[]} */definedPreferredTypes).concat(settings.mode === 'jsdoc' ? [] : [...(settings.mode === 'typescript' ? typescriptGlobals : []), ...closureGenericTypes]));
      +
      +  /**
      +   * @typedef {{
      +   *   parsedType: import('jsdoc-type-pratt-parser').RootResult;
      +   *   tag: import('comment-parser').Spec|import('@es-joy/jsdoccomment').JsdocInlineTagNoType & {
      +   *     line?: import('../iterateJsdoc.js').Integer
      +   *   }
      +   * }} TypeAndTagInfo
      +   */
      +
      +  /**
      +   * @param {string} propertyName
      +   * @returns {(tag: (import('@es-joy/jsdoccomment').JsdocInlineTagNoType & {
      +   *     name?: string,
      +   *     type?: string,
      +   *     line?: import('../iterateJsdoc.js').Integer
      +   *   })|import('comment-parser').Spec & {
      +   *     namepathOrURL?: string
      +   *   }
      +   * ) => undefined|TypeAndTagInfo}
      +   */
      +  const tagToParsedType = propertyName => {
      +    return tag => {
      +      try {
      +        const potentialType = tag[/** @type {"type"|"name"|"namepathOrURL"} */propertyName];
      +        return {
      +          parsedType: mode === 'permissive' ? (0, _jsdoccomment.tryParse)( /** @type {string} */potentialType) : (0, _jsdoccomment.parse)( /** @type {string} */potentialType, mode),
      +          tag
      +        };
      +      } catch {
      +        return undefined;
      +      }
      +    };
      +  };
      +  const typeTags = utils.filterTags(({
           tag
         }) => {
           return utils.tagMightHaveTypePosition(tag) && (tag !== 'suppress' || settings.mode !== 'closure');
      +  }).map(tagToParsedType('type'));
      +  const namepathReferencingTags = utils.filterTags(({
      +    tag
      +  }) => {
      +    return utils.isNamepathReferencingTag(tag);
      +  }).map(tagToParsedType('name'));
      +  const namepathOrUrlReferencingTags = utils.filterAllTags(({
      +    tag
      +  }) => {
      +    return utils.isNamepathOrUrlReferencingTag(tag);
      +  }).map(tagToParsedType('namepathOrURL'));
      +  const tagsWithTypes = /** @type {TypeAndTagInfo[]} */[...typeTags, ...namepathReferencingTags, ...namepathOrUrlReferencingTags].filter(result => {
      +    // Remove types which failed to parse
      +    return result;
         });
      -  for (const tag of jsdocTagsWithPossibleType) {
      -    let parsedType;
      -    try {
      -      parsedType = mode === 'permissive' ? (0, _jsdoccomment.tryParse)(tag.type) : (0, _jsdoccomment.parse)(tag.type, mode);
      -    } catch {
      -      // On syntax error, will be handled by valid-types.
      -      continue;
      -    }
      -    (0, _jsdoccomment.traverse)(parsedType, ({
      -      type,
      -      value
      -    }) => {
      +  for (const {
      +    tag,
      +    parsedType
      +  } of tagsWithTypes) {
      +    (0, _jsdoccomment.traverse)(parsedType, nde => {
      +      const {
      +        type,
      +        value
      +      } = /** @type {import('jsdoc-type-pratt-parser').NameResult} */nde;
             if (type === 'JsdocTypeName') {
               var _structuredTags$tag$t;
               const structuredTypes = (_structuredTags$tag$t = structuredTags[tag.tag]) === null || _structuredTags$tag$t === void 0 ? void 0 : _structuredTags$tag$t.type;
               if (!allDefinedTypes.has(value) && (!Array.isArray(structuredTypes) || !structuredTypes.includes(value))) {
      -          report(`The type '${value}' is undefined.`, null, tag);
      -        } else if (!extraTypes.includes(value)) {
      +          if (!disableReporting) {
      +            report(`The type '${value}' is undefined.`, null, tag);
      +          }
      +        } else if (markVariablesAsUsed && !extraTypes.includes(value)) {
                 context.markVariableAsUsed(value);
               }
             }
      @@ -161,6 +229,12 @@ var _default = (0, _iterateJsdoc.default)(({
                   type: 'string'
                 },
                 type: 'array'
      +        },
      +        disableReporting: {
      +          type: 'boolean'
      +        },
      +        markVariablesAsUsed: {
      +          type: 'boolean'
               }
             },
             type: 'object'
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireAsteriskPrefix.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireAsteriskPrefix.js
      index f706d78ea230c5..0c2eb5372b0dc4 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireAsteriskPrefix.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireAsteriskPrefix.js
      @@ -20,6 +20,8 @@ var _default = (0, _iterateJsdoc.default)(({
         } = jsdoc;
         const always = defaultRequireValue === 'always';
         const never = defaultRequireValue === 'never';
      +
      +  /** @type {string} */
         let currentTag;
         source.some(({
           number,
      @@ -32,10 +34,19 @@ var _default = (0, _iterateJsdoc.default)(({
             end,
             description
           } = tokens;
      +
      +    /**
      +     * @returns {void}
      +     */
           const neverFix = () => {
             tokens.delimiter = '';
             tokens.postDelimiter = '';
           };
      +
      +    /**
      +     * @param {string} checkValue
      +     * @returns {boolean}
      +     */
           const checkNever = checkValue => {
             var _tagMap$always, _tagMap$never;
             if (delimiter && delimiter !== '/**' && (never && !((_tagMap$always = tagMap.always) !== null && _tagMap$always !== void 0 && _tagMap$always.includes(checkValue)) || (_tagMap$never = tagMap.never) !== null && _tagMap$never !== void 0 && _tagMap$never.includes(checkValue))) {
      @@ -47,6 +58,10 @@ var _default = (0, _iterateJsdoc.default)(({
             }
             return false;
           };
      +
      +    /**
      +     * @returns {void}
      +     */
           const alwaysFix = () => {
             if (!tokens.start) {
               tokens.start = indent + ' ';
      @@ -54,6 +69,11 @@ var _default = (0, _iterateJsdoc.default)(({
             tokens.delimiter = '*';
             tokens.postDelimiter = tag || description ? ' ' : '';
           };
      +
      +    /**
      +     * @param {string} checkValue
      +     * @returns {boolean}
      +     */
           const checkAlways = checkValue => {
             var _tagMap$never2, _tagMap$always2;
             if (!delimiter && (always && !((_tagMap$never2 = tagMap.never) !== null && _tagMap$never2 !== void 0 && _tagMap$never2.includes(checkValue)) || (_tagMap$always2 = tagMap.always) !== null && _tagMap$always2 !== void 0 && _tagMap$always2.includes(checkValue))) {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescription.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescription.js
      index e555b3adf9e407..acb46dd0ee1dc6 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescription.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescription.js
      @@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @param {string} description
      + * @returns {import('../iterateJsdoc.js').Integer}
      + */
       const checkDescription = description => {
         return description.trim().split('\n').filter(Boolean).length;
       };
      @@ -32,9 +36,9 @@ var _default = (0, _iterateJsdoc.default)(({
         if (!targetTagName) {
           return;
         }
      -  const isBlocked = typeof targetTagName === 'object' && targetTagName.blocked;
      +  const isBlocked = typeof targetTagName === 'object' && 'blocked' in targetTagName && targetTagName.blocked;
         if (isBlocked) {
      -    targetTagName = targetTagName.tagName;
      +    targetTagName = /** @type {{blocked: true; tagName: string;}} */targetTagName.tagName;
         }
         if (descriptionStyle !== 'tag') {
           const {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescriptionCompleteSentence.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescriptionCompleteSentence.js
      index 19a547d3596c46..30150acaa92cac 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescriptionCompleteSentence.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireDescriptionCompleteSentence.js
      @@ -12,9 +12,20 @@ const otherDescriptiveTags = new Set([
       //   sensitive text, and the latter may have just a link, they are not
       //   included by default
       'summary', 'file', 'fileoverview', 'overview', 'classdesc', 'todo', 'deprecated', 'throws', 'exception', 'yields', 'yield']);
      +
      +/**
      + * @param {string} text
      + * @returns {string[]}
      + */
       const extractParagraphs = text => {
         return text.split(/(? {
         const txt = text
         // Remove all {} tags.
      @@ -33,7 +44,13 @@ const extractSentences = (text, abbreviationsRegex) => {
           return !puncts[idx] && /^\s*$/u.test(sentence) ? sentence : `${sentence}${puncts[idx] || ''}`;
         });
       };
      +
      +/**
      + * @param {string} text
      + * @returns {boolean}
      + */
       const isNewLinePrecededByAPeriod = text => {
      +  /** @type {boolean} */
         let lastLineEndsSentence;
         const lines = text.split('\n');
         return !lines.some(line => {
      @@ -44,15 +61,43 @@ const isNewLinePrecededByAPeriod = text => {
           return false;
         });
       };
      +
      +/**
      + * @param {string} str
      + * @returns {boolean}
      + */
       const isCapitalized = str => {
         return str[0] === str[0].toUpperCase();
       };
      +
      +/**
      + * @param {string} str
      + * @returns {boolean}
      + */
       const isTable = str => {
      -  return str.charAt() === '|';
      +  return str.charAt(0) === '|';
       };
      +
      +/**
      + * @param {string} str
      + * @returns {string}
      + */
       const capitalize = str => {
         return str.charAt(0).toUpperCase() + str.slice(1);
       };
      +
      +/**
      + * @param {string} description
      + * @param {import('../iterateJsdoc.js').Report} reportOrig
      + * @param {import('eslint').Rule.Node} jsdocNode
      + * @param {string|RegExp} abbreviationsRegex
      + * @param {import('eslint').SourceCode} sourceCode
      + * @param {import('comment-parser').Spec|{
      + *   line: import('../iterateJsdoc.js').Integer
      + * }} tag
      + * @param {boolean} newlineBeforeCapsAssumesBadSentenceEnd
      + * @returns {boolean}
      + */
       const validateDescription = (description, reportOrig, jsdocNode, abbreviationsRegex, sourceCode, tag, newlineBeforeCapsAssumesBadSentenceEnd) => {
         if (!description || /^\n+$/u.test(description)) {
           return false;
      @@ -60,17 +105,18 @@ const validateDescription = (description, reportOrig, jsdocNode, abbreviationsRe
         const paragraphs = extractParagraphs(description).filter(Boolean);
         return paragraphs.some((paragraph, parIdx) => {
           const sentences = extractSentences(paragraph, abbreviationsRegex);
      -    const fix = fixer => {
      +    const fix = /** @type {import('eslint').Rule.ReportFixer} */fixer => {
             let text = sourceCode.getText(jsdocNode);
             if (!/[.:?!]$/u.test(paragraph)) {
               const line = paragraph.split('\n').filter(Boolean).pop();
      -        text = text.replace(new RegExp(`${(0, _escapeStringRegexp.default)(line)}$`, 'mu'), `${line}.`);
      +        text = text.replace(new RegExp(`${(0, _escapeStringRegexp.default)( /** @type {string} */
      +        line)}$`, 'mu'), `${line}.`);
             }
             for (const sentence of sentences.filter(sentence_ => {
               return !/^\s*$/u.test(sentence_) && !isCapitalized(sentence_) && !isTable(sentence_);
             })) {
               const beginning = sentence.split('\n')[0];
      -        if (tag.tag) {
      +        if ('tag' in tag && tag.tag) {
                 const reg = new RegExp(`(@${(0, _escapeStringRegexp.default)(tag.tag)}.*)${(0, _escapeStringRegexp.default)(beginning)}`, 'u');
                 text = text.replace(reg, (_$0, $1) => {
                   return $1 + capitalize(beginning);
      @@ -81,11 +127,29 @@ const validateDescription = (description, reportOrig, jsdocNode, abbreviationsRe
             }
             return fixer.replaceText(jsdocNode, text);
           };
      +
      +    /**
      +     * @param {string} msg
      +     * @param {import('eslint').Rule.ReportFixer | null | undefined} fixer
      +     * @param {{
      +     *   line?: number | undefined;
      +     *   column?: number | undefined;
      +     * } | (import('comment-parser').Spec & {
      +     *   line?: number | undefined;
      +     *   column?: number | undefined;
      +     * })} tagObj
      +     * @returns {void}
      +     */
           const report = (msg, fixer, tagObj) => {
             if ('line' in tagObj) {
      +        /**
      +         * @type {{
      +         *   line: number;
      +         * }}
      +         */
               tagObj.line += parIdx * 2;
             } else {
      -        tagObj.source[0].number += parIdx * 2;
      +        /** @type {import('comment-parser').Spec} */tagObj.source[0].number += parIdx * 2;
             }
       
             // Avoid errors if old column doesn't exist here
      @@ -122,11 +186,10 @@ var _default = (0, _iterateJsdoc.default)(({
         jsdocNode,
         utils
       }) => {
      -  const options = context.options[0] || {};
      -  const {
      +  const /** @type {{abbreviations: string[], newlineBeforeCapsAssumesBadSentenceEnd: boolean}} */{
           abbreviations = [],
           newlineBeforeCapsAssumesBadSentenceEnd = false
      -  } = options;
      +  } = context.options[0] || {};
         const abbreviationsRegex = abbreviations.length ? new RegExp('\\b' + abbreviations.map(abbreviation => {
           return (0, _escapeStringRegexp.default)(abbreviation.replace(/\.$/ug, '') + '.');
         }).join('|') + '(?:$|\\s)', 'gu') : '';
      @@ -149,7 +212,7 @@ var _default = (0, _iterateJsdoc.default)(({
           index,
           length
         } of indices) {
      -    description = description.slice(0, index) + description.slice(index + length);
      +    description = description.slice(0, index) + description.slice( /** @type {import('../iterateJsdoc.js').Integer} */index + length);
         }
         if (validateDescription(description, report, jsdocNode, abbreviationsRegex, sourceCode, {
           line: jsdoc.source[0].number + 1
      @@ -175,7 +238,7 @@ var _default = (0, _iterateJsdoc.default)(({
           });
         });
         tagsWithNames.some(tag => {
      -    const desc = utils.getTagDescription(tag).replace(/^- /u, '').trimEnd();
      +    const desc = /** @type {string} */utils.getTagDescription(tag).replace(/^- /u, '').trimEnd();
           return validateDescription(desc, report, jsdocNode, abbreviationsRegex, sourceCode, tag, newlineBeforeCapsAssumesBadSentenceEnd);
         });
         tagsWithoutNames.some(tag => {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireFileOverview.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireFileOverview.js
      index 4a5ac572f571a8..cb2e43b8895cbd 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireFileOverview.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireFileOverview.js
      @@ -13,6 +13,11 @@ const defaultTags = {
           preventDuplicates: true
         }
       };
      +
      +/**
      + * @param {import('../iterateJsdoc.js').StateObject} state
      + * @returns {void}
      + */
       const setDefaults = state => {
         // First iteration
         if (!state.globalTags) {
      @@ -33,10 +38,10 @@ var _default = (0, _iterateJsdoc.default)(({
         } = context.options[0] || {};
         setDefaults(state);
         for (const tagName of Object.keys(tags)) {
      -    const targetTagName = utils.getPreferredTagName({
      +    const targetTagName = /** @type {string} */utils.getPreferredTagName({
             tagName
           });
      -    const hasTag = targetTagName && utils.hasTag(targetTagName);
      +    const hasTag = Boolean(targetTagName && utils.hasTag(targetTagName));
           state.hasTag[tagName] = hasTag || state.hasTag[tagName];
           const hasDuplicate = state.hasDuplicates[tagName];
           if (hasDuplicate === false) {
      @@ -67,10 +72,10 @@ var _default = (0, _iterateJsdoc.default)(({
             const obj = utils.getPreferredTagNameObject({
               tagName
             });
      -      if (obj && obj.blocked) {
      +      if (obj && typeof obj === 'object' && 'blocked' in obj) {
               utils.reportSettings(`\`settings.jsdoc.tagNamePreference\` cannot block @${obj.tagName} ` + 'for the `require-file-overview` rule');
             } else {
      -        const targetTagName = obj && obj.replacement || obj;
      +        const targetTagName = obj && typeof obj === 'object' && obj.replacement || obj;
               if (mustExist && !state.hasTag[tagName]) {
                 utils.reportSettings(`Missing @${targetTagName}`);
               }
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireHyphenBeforeParamDescription.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireHyphenBeforeParamDescription.js
      index 6e6588e5b36649..156e2a38222dce 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireHyphenBeforeParamDescription.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireHyphenBeforeParamDescription.js
      @@ -15,11 +15,28 @@ var _default = (0, _iterateJsdoc.default)(({
         jsdocNode
       }) => {
         const [mainCircumstance, {
      -    tags
      +    tags = null
         } = {}] = context.options;
      +
      +  /* eslint-disable jsdoc/valid-types -- Old version */
      +  const tgs =
      +  /**
      +   * @type {null|"any"|{[key: string]: "always"|"never"}}
      +   */
      +  tags;
      +  /* eslint-enable jsdoc/valid-types -- Old version */
      +
      +  /**
      +   * @param {import('comment-parser').Spec & {
      +   *   line: import('../iterateJsdoc.js').Integer
      +   * }} jsdocTag
      +   * @param {string} targetTagName
      +   * @param {"always"|"never"} [circumstance]
      +   * @returns {void}
      +   */
         const checkHyphens = (jsdocTag, targetTagName, circumstance = mainCircumstance) => {
           const always = !circumstance || circumstance === 'always';
      -    const desc = utils.getTagDescription(jsdocTag);
      +    const desc = /** @type {string} */utils.getTagDescription(jsdocTag);
           if (!desc.trim()) {
             return;
           }
      @@ -40,16 +57,32 @@ var _default = (0, _iterateJsdoc.default)(({
               }, jsdocTag);
             }
           } else if (startsWithHyphen) {
      -      report(`There must be no hyphen before @${targetTagName} description.`, fixer => {
      -        const [unwantedPart] = /^\s*-\s*/u.exec(desc);
      -        const replacement = sourceCode.getText(jsdocNode).replace(desc, desc.slice(unwantedPart.length));
      -        return fixer.replaceText(jsdocNode, replacement);
      -      }, jsdocTag);
      +      let lines = 0;
      +      for (const {
      +        tokens
      +      } of jsdocTag.source) {
      +        if (tokens.description) {
      +          break;
      +        }
      +        lines++;
      +      }
      +      utils.reportJSDoc(`There must be no hyphen before @${targetTagName} description.`, {
      +        line: jsdocTag.source[0].number + lines
      +      }, () => {
      +        for (const {
      +          tokens
      +        } of jsdocTag.source) {
      +          if (tokens.description) {
      +            tokens.description = tokens.description.replace(/^\s*-\s*/u, '');
      +            break;
      +          }
      +        }
      +      }, true);
           }
         };
         utils.forEachPreferredTag('param', checkHyphens);
      -  if (tags) {
      -    const tagEntries = Object.entries(tags);
      +  if (tgs) {
      +    const tagEntries = Object.entries(tgs);
           for (const [tagName, circumstance] of tagEntries) {
             if (tagName === '*') {
               const preferredParamTag = utils.getPreferredTagName({
      @@ -64,13 +97,13 @@ var _default = (0, _iterateJsdoc.default)(({
                   continue;
                 }
                 utils.forEachPreferredTag(tag, (jsdocTag, targetTagName) => {
      -            checkHyphens(jsdocTag, targetTagName, circumstance);
      +            checkHyphens(jsdocTag, targetTagName, /** @type {"always"|"never"} */circumstance);
                 });
               }
               continue;
             }
             utils.forEachPreferredTag(tagName, (jsdocTag, targetTagName) => {
      -        checkHyphens(jsdocTag, targetTagName, circumstance);
      +        checkHyphens(jsdocTag, targetTagName, /** @type {"always"|"never"} */circumstance);
             });
           }
         }
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireJsdoc.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireJsdoc.js
      index 76b8c614087633..b4bbdffb6226ae 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireJsdoc.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireJsdoc.js
      @@ -9,6 +9,7 @@ var _exportParser = _interopRequireDefault(require("../exportParser"));
       var _iterateJsdoc = require("../iterateJsdoc");
       var _jsdocUtils = _interopRequireDefault(require("../jsdocUtils"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/** @type {import('json-schema').JSONSchema4} */
       const OPTIONS_SCHEMA = {
         additionalProperties: false,
         properties: {
      @@ -133,15 +134,49 @@ const OPTIONS_SCHEMA = {
         },
         type: 'object'
       };
      +
      +/**
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {import('json-schema').JSONSchema4Object} baseObject
      + * @param {string} option
      + * @param {string} key
      + * @returns {boolean|undefined}
      + */
       const getOption = (context, baseObject, option, key) => {
         if (context.options[0] && option in context.options[0] && (
      -  // Todo: boolean shouldn't be returning property, but tests currently require
      +  // Todo: boolean shouldn't be returning property, but
      +  //   tests currently require
         typeof context.options[0][option] === 'boolean' || key in context.options[0][option])) {
           return context.options[0][option][key];
         }
      -  return baseObject.properties[key].default;
      +
      +  /* eslint-disable jsdoc/valid-types -- Old version */
      +  return (/** @type {{[key: string]: {default?: boolean|undefined}}} */baseObject.properties[key].default
      +  );
      +  /* eslint-enable jsdoc/valid-types -- Old version */
       };
      +
      +/* eslint-disable jsdoc/valid-types -- Old version */
      +/**
      + * @param {import('eslint').Rule.RuleContext} context
      + * @param {import('../iterateJsdoc.js').Settings} settings
      + * @returns {{
      + *   contexts: (string|{
      + *     context: string,
      + *     inlineCommentBlock: boolean,
      + *     minLineCount: import('../iterateJsdoc.js').Integer
      + *   })[],
      + *   enableFixer: boolean,
      + *   exemptEmptyConstructors: boolean,
      + *   exemptEmptyFunctions: boolean,
      + *   fixerMessage: string,
      + *   minLineCount: undefined|import('../iterateJsdoc.js').Integer,
      + *   publicOnly: boolean|{[key: string]: boolean|undefined}
      + *   require: {[key: string]: boolean|undefined}
      + * }}
      + */
       const getOptions = (context, settings) => {
      +  /* eslint-enable jsdoc/valid-types -- Old version */
         const {
           publicOnly,
           contexts = settings.contexts || [],
      @@ -162,23 +197,39 @@ const getOptions = (context, settings) => {
             if (!publicOnly) {
               return false;
             }
      +
      +      /* eslint-disable jsdoc/valid-types -- Old version */
      +      /** @type {{[key: string]: boolean|undefined}} */
             const properties = {};
      -      for (const prop of Object.keys(baseObj.properties)) {
      -        const opt = getOption(context, baseObj, 'publicOnly', prop);
      +      /* eslint-enable jsdoc/valid-types -- Old version */
      +      for (const prop of Object.keys( /** @type {import('json-schema').JSONSchema4Object} */
      +      /** @type {import('json-schema').JSONSchema4Object} */baseObj.properties)) {
      +        const opt = getOption(context, /** @type {import('json-schema').JSONSchema4Object} */baseObj, 'publicOnly', prop);
               properties[prop] = opt;
             }
             return properties;
      -    })(OPTIONS_SCHEMA.properties.publicOnly.oneOf[1]),
      +    })( /** @type {import('json-schema').JSONSchema4Object} */
      +    /** @type {import('json-schema').JSONSchema4Object} */
      +    /** @type {import('json-schema').JSONSchema4Object} */
      +    OPTIONS_SCHEMA.properties.publicOnly.oneOf[1]),
           require: (baseObj => {
      +      /* eslint-disable jsdoc/valid-types -- Old version */
      +      /** @type {{[key: string]: boolean|undefined}} */
             const properties = {};
      -      for (const prop of Object.keys(baseObj.properties)) {
      -        const opt = getOption(context, baseObj, 'require', prop);
      +      /* eslint-enable jsdoc/valid-types -- Old version */
      +      for (const prop of Object.keys( /** @type {import('json-schema').JSONSchema4Object} */
      +      /** @type {import('json-schema').JSONSchema4Object} */baseObj.properties)) {
      +        const opt = getOption(context, /** @type {import('json-schema').JSONSchema4Object} */
      +        baseObj, 'require', prop);
               properties[prop] = opt;
             }
             return properties;
      -    })(OPTIONS_SCHEMA.properties.require)
      +    })( /** @type {import('json-schema').JSONSchema4Object} */
      +    OPTIONS_SCHEMA.properties.require)
         };
       };
      +
      +/** @type {import('eslint').Rule.RuleModule} */
       var _default = {
         create(context) {
           const sourceCode = context.getSourceCode();
      @@ -186,24 +237,43 @@ var _default = {
           if (!settings) {
             return {};
           }
      +    const opts = getOptions(context, settings);
           const {
             require: requireOption,
             contexts,
      -      publicOnly,
             exemptEmptyFunctions,
             exemptEmptyConstructors,
             enableFixer,
             fixerMessage,
             minLineCount
      -    } = getOptions(context, settings);
      -    const checkJsDoc = (info, handler, node) => {
      +    } = opts;
      +    const publicOnly = /* eslint-disable jsdoc/valid-types -- Old version */
      +    /**
      +     * @type {{
      +     *   [key: string]: boolean | undefined;
      +     * }}
      +     */
      +    opts.publicOnly;
      +    /* eslint-enable jsdoc/valid-types -- Old version */
      +
      +    /**
      +     * @type {import('../iterateJsdoc.js').CheckJsdoc}
      +     */
      +    const checkJsDoc = (info, _handler, node) => {
             if (
             // Optimize
      -      minLineCount !== undefined || contexts.some(({
      -        minLineCount: count
      -      }) => {
      +      minLineCount !== undefined || contexts.some(ctxt => {
      +        if (typeof ctxt === 'string') {
      +          return false;
      +        }
      +        const {
      +          minLineCount: count
      +        } = ctxt;
               return count !== undefined;
             })) {
      +        /**
      +         * @param {undefined|import('../iterateJsdoc.js').Integer} count
      +         */
               const underMinLine = count => {
                 var _sourceCode$getText$m;
                 return count !== undefined && count > (((_sourceCode$getText$m = sourceCode.getText(node).match(/\n/gu)) === null || _sourceCode$getText$m === void 0 ? void 0 : _sourceCode$getText$m.length) ?? 0) + 1;
      @@ -213,10 +283,22 @@ var _default = {
               }
               const {
                 minLineCount: contextMinLineCount
      -        } = contexts.find(({
      -          context: ctxt
      -        }) => {
      -          return ctxt === (info.selector || node.type);
      +        } =
      +        /**
      +         * @type {{
      +         *   context: string;
      +         *   inlineCommentBlock: boolean;
      +         *   minLineCount: number;
      +         * }}
      +         */
      +        contexts.find(ctxt => {
      +          if (typeof ctxt === 'string') {
      +            return false;
      +          }
      +          const {
      +            context: ctx
      +          } = ctxt;
      +          return ctx === (info.selector || node.type);
               }) || {};
               if (underMinLine(contextMinLineCount)) {
                 return;
      @@ -230,6 +312,9 @@ var _default = {
             // For those who have options configured against ANY constructors (or
             //  setters or getters) being reported
             if (_jsdocUtils.default.exemptSpeciaMethods({
      +        description: '',
      +        problems: [],
      +        source: [],
               tags: []
             }, node, context, [OPTIONS_SCHEMA])) {
               return;
      @@ -246,37 +331,52 @@ var _default = {
                 return;
               }
             }
      -      const fix = fixer => {
      +      const fix = /** @type {import('eslint').Rule.ReportFixer} */fixer => {
               // Default to one line break if the `minLines`/`maxLines` settings allow
               const lines = settings.minLines === 0 && settings.maxLines >= 1 ? 1 : settings.minLines;
      +        /** @type {import('eslint').Rule.Node|import('@typescript-eslint/types').TSESTree.Decorator} */
               let baseNode = (0, _jsdoccomment.getReducedASTNode)(node, sourceCode);
               const decorator = (0, _jsdoccomment.getDecorator)(baseNode);
               if (decorator) {
                 baseNode = decorator;
               }
               const indent = _jsdocUtils.default.getIndent({
      -          text: sourceCode.getText(baseNode, baseNode.loc.start.column)
      +          text: sourceCode.getText( /** @type {import('eslint').Rule.Node} */baseNode, /** @type {import('eslint').AST.SourceLocation} */
      +          /** @type {import('eslint').Rule.Node} */baseNode.loc.start.column)
               });
               const {
                 inlineCommentBlock
      -        } = contexts.find(({
      -          context: ctxt
      -        }) => {
      +        } =
      +        /**
      +         * @type {{
      +         *     context: string,
      +         *     inlineCommentBlock: boolean,
      +         *     minLineCount: import('../iterateJsdoc.js').Integer
      +         *   }}
      +         */
      +        contexts.find(contxt => {
      +          if (typeof contxt === 'string') {
      +            return false;
      +          }
      +          const {
      +            context: ctxt
      +          } = contxt;
                 return ctxt === node.type;
               }) || {};
               const insertion = (inlineCommentBlock ? `/** ${fixerMessage}` : `/**\n${indent}*${fixerMessage}\n${indent}`) + `*/${'\n'.repeat(lines)}${indent.slice(0, -1)}`;
      -        return fixer.insertTextBefore(baseNode, insertion);
      +        return fixer.insertTextBefore( /** @type {import('eslint').Rule.Node} */
      +        baseNode, insertion);
             };
             const report = () => {
               const {
                 start
      -        } = node.loc;
      +        } = /** @type {import('eslint').AST.SourceLocation} */node.loc;
               const loc = {
                 end: {
                   column: 0,
                   line: start.line + 1
                 },
      -          start: node.loc.start
      +          start
               };
               context.report({
                 fix: enableFixer ? fix : null,
      @@ -300,6 +400,12 @@ var _default = {
               report();
             }
           };
      +    /* eslint-enable complexity -- Temporary */
      +
      +    /**
      +     * @param {string} prop
      +     * @returns {boolean}
      +     */
           const hasOption = prop => {
             return requireOption[prop] || contexts.some(ctxt => {
               return typeof ctxt === 'object' ? ctxt.context === prop : ctxt === prop;
      @@ -311,7 +417,13 @@ var _default = {
               if (!hasOption('ArrowFunctionExpression')) {
                 return;
               }
      -        if (['VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration'].includes(node.parent.type) || ['Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition'].includes(node.parent.type) && node === node.parent.value) {
      +        if (['VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration'].includes(node.parent.type) || ['Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition'].includes(node.parent.type) && node ===
      +        /**
      +         * @type {import('@typescript-eslint/types').TSESTree.Property|
      +         *   import('@typescript-eslint/types').TSESTree.PropertyDefinition
      +         * }
      +         */
      +        node.parent.value) {
                 checkJsDoc({
                   isFunctionContext: true
                 }, null, node);
      @@ -345,7 +457,13 @@ var _default = {
               if (!hasOption('FunctionExpression')) {
                 return;
               }
      -        if (['VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration'].includes(node.parent.type) || ['Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition'].includes(node.parent.type) && node === node.parent.value) {
      +        if (['VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration'].includes(node.parent.type) || ['Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition'].includes(node.parent.type) && node ===
      +        /**
      +         * @type {import('@typescript-eslint/types').TSESTree.Property|
      +         *   import('@typescript-eslint/types').TSESTree.PropertyDefinition
      +         * }
      +         */
      +        node.parent.value) {
                 checkJsDoc({
                   isFunctionContext: true
                 }, null, node);
      @@ -358,7 +476,7 @@ var _default = {
               checkJsDoc({
                 isFunctionContext: true,
                 selector: 'MethodDefinition'
      -        }, null, node.value);
      +        }, null, /** @type {import('eslint').Rule.Node} */node.value);
             }
           };
         },
      @@ -366,7 +484,7 @@ var _default = {
           docs: {
             category: 'Stylistic Issues',
             description: 'Require JSDoc comments',
      -      recommended: 'true',
      +      recommended: true,
             url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc'
           },
           fixable: 'code',
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireParam.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireParam.js
      index d329d9fa0a914d..3925ce4d6ba91a 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireParam.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireParam.js
      @@ -28,12 +28,13 @@ const rootNamer = (desiredRoots, currentIndex) => {
         }];
       };
       
      -// eslint-disable-next-line complexity
      +/* eslint-disable complexity -- Temporary */
       var _default = (0, _iterateJsdoc.default)(({
         jsdoc,
         utils,
         context
       }) => {
      +  /* eslint-enable complexity -- Temporary */
         if (utils.avoidDocs()) {
           return;
         }
      @@ -54,7 +55,7 @@ var _default = (0, _iterateJsdoc.default)(({
           unnamedRootBase = ['root'],
           useDefaultObjectProperties = false
         } = context.options[0] || {};
      -  const preferredTagName = utils.getPreferredTagName({
      +  const preferredTagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'param'
         });
         if (!preferredTagName) {
      @@ -80,15 +81,35 @@ var _default = (0, _iterateJsdoc.default)(({
         const hasParamIndex = cur => {
           return utils.dropPathSegmentQuotes(String(cur)) in paramIndex;
         };
      +
      +  /**
      +   *
      +   * @param {} cur
      +   * @returns {}
      +   */
         const getParamIndex = cur => {
           return paramIndex[utils.dropPathSegmentQuotes(String(cur))];
         };
      +
      +  /**
      +   *
      +   * @param {} cur
      +   * @param {} idx
      +   * @returns {void}
      +   */
         const setParamIndex = (cur, idx) => {
           paramIndex[utils.dropPathSegmentQuotes(String(cur))] = idx;
         };
         for (const [idx, cur] of flattenedRoots.entries()) {
           setParamIndex(cur, idx);
         }
      +
      +  /**
      +   *
      +   * @param {} jsdocTags
      +   * @param {} indexAtFunctionParams
      +   * @returns {import('../iterateJsdoc.js').Integer}
      +   */
         const findExpectedIndex = (jsdocTags, indexAtFunctionParams) => {
           const remainingRoots = functionParameterNames.slice(indexAtFunctionParams || 0);
           const foundIndex = jsdocTags.findIndex(({
      @@ -249,6 +270,17 @@ var _default = (0, _iterateJsdoc.default)(({
             });
           }
         }
      +
      +  /**
      +   *
      +   * @param {{
      +   *   functionParameterIdx: import('../iterateJsdoc.js').Integer,
      +   *   functionParameterName: string,
      +   *   remove: true,
      +   *   inc: boolean,
      +   *   type: string
      +   * }} cfg
      +   */
         const fix = ({
           functionParameterIdx,
           functionParameterName,
      @@ -259,6 +291,14 @@ var _default = (0, _iterateJsdoc.default)(({
           if (inc && !enableRootFixer) {
             return;
           }
      +
      +    /**
      +     *
      +     * @param {} tagIndex
      +     * @param {} sourceIndex
      +     * @param {} spliceCount
      +     * @returns {}
      +     */
           const createTokens = (tagIndex, sourceIndex, spliceCount) => {
             // console.log(sourceIndex, tagIndex, jsdoc.tags, jsdoc.source);
             const tokens = {
      @@ -307,6 +347,10 @@ var _default = (0, _iterateJsdoc.default)(({
             createTokens(expectedIdx, offset + expectedIdx, 0);
           }
         };
      +
      +  /**
      +   * @returns {void}
      +   */
         const fixer = () => {
           for (const missingTag of missingTags) {
             fix(missingTag);
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireProperty.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireProperty.js
      index 7065a4b9254420..281fb722ae2057 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireProperty.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireProperty.js
      @@ -17,7 +17,7 @@ var _default = (0, _iterateJsdoc.default)(({
         if (!propertyAssociatedTags.length) {
           return;
         }
      -  const targetTagName = utils.getPreferredTagName({
      +  const targetTagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'property'
         });
         if (utils.hasATag([targetTagName])) {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturns.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturns.js
      index 0663e8cca75f22..3dc3527c876ae3 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturns.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturns.js
      @@ -12,7 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
        *
        * In either of these cases the return value is optional or not defined.
        *
      - * @param {*} utils
      + * @param {import('../iterateJsdoc.js').Utils} utils
        *   a reference to the utils which are used to probe if a tag is present or not.
        * @returns {boolean}
        *   true in case deep checking can be skipped; otherwise false.
      @@ -48,7 +48,7 @@ var _default = (0, _iterateJsdoc.default)(({
         if (canSkip(utils)) {
           return;
         }
      -  const tagName = utils.getPreferredTagName({
      +  const tagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'returns'
         });
         if (!tagName) {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturnsCheck.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturnsCheck.js
      index eb959fa0c5bf34..cb2813220f20e8 100755
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturnsCheck.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireReturnsCheck.js
      @@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @param {import('../iterateJsdoc.js').Utils} utils
      + * @param {import('../iterateJsdoc.js').Settings} settings
      + * @returns {boolean}
      + */
       const canSkip = (utils, settings) => {
         const voidingTags = [
         // An abstract function is by definition incomplete
      @@ -23,6 +28,8 @@ const canSkip = (utils, settings) => {
         }
         return utils.hasATag(voidingTags) || utils.isConstructor() || utils.classHasTag('interface') || settings.mode === 'closure' && utils.classHasTag('record');
       };
      +
      +// eslint-disable-next-line complexity -- Temporary
       var _default = (0, _iterateJsdoc.default)(({
         context,
         node,
      @@ -41,7 +48,7 @@ var _default = (0, _iterateJsdoc.default)(({
         if (exemptAsync && utils.isAsync()) {
           return;
         }
      -  const tagName = utils.getPreferredTagName({
      +  const tagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'returns'
         });
         if (!tagName) {
      @@ -69,7 +76,7 @@ var _default = (0, _iterateJsdoc.default)(({
         }
       
         // In case a return value is declared in JSDoc, we also expect one in the code.
      -  if (!returnNever && (reportMissingReturnForUndefinedTypes || !utils.mayBeUndefinedTypeTag(tag)) && (tag.type === '' && !utils.hasValueOrExecutorHasNonEmptyResolveValue(exemptAsync) || tag.type !== '' && !utils.hasValueOrExecutorHasNonEmptyResolveValue(exemptAsync, true)) && (!exemptGenerators || !node.generator)) {
      +  if (!returnNever && (reportMissingReturnForUndefinedTypes || !utils.mayBeUndefinedTypeTag(tag)) && (tag.type === '' && !utils.hasValueOrExecutorHasNonEmptyResolveValue(exemptAsync) || tag.type !== '' && !utils.hasValueOrExecutorHasNonEmptyResolveValue(exemptAsync, true)) && (!exemptGenerators || !('generator' in /** @type {import('../iterateJsdoc.js').Node} */node) || !node.generator)) {
           report(`JSDoc @${tagName} declaration present but return expression not available in function.`);
         }
       }, {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireThrows.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireThrows.js
      index 044b9a90e78192..37e5309727f80f 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireThrows.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireThrows.js
      @@ -10,7 +10,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
        * We can skip checking for a throws value, in case the documentation is inherited
        * or the method is either a constructor or an abstract method.
        *
      - * @param {*} utils a reference to the utils which are used to probe if a tag is present or not.
      + * @param {import('../iterateJsdoc.js').Utils} utils a reference to the utils which are used to probe if a tag is present or not.
        * @returns {boolean} true in case deep checking can be skipped; otherwise false.
        */
       const canSkip = utils => {
      @@ -33,7 +33,7 @@ var _default = (0, _iterateJsdoc.default)(({
         if (canSkip(utils)) {
           return;
         }
      -  const tagName = utils.getPreferredTagName({
      +  const tagName = /** @type {string} */utils.getPreferredTagName({
           tagName: 'throws'
         });
         if (!tagName) {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYields.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYields.js
      index 9311918ae31e11..d4e420e14e2f8c 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYields.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYields.js
      @@ -12,7 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
        *
        * In either of these cases the yield value is optional or not defined.
        *
      - * @param {*} utils a reference to the utils which are used to probe if a tag is present or not.
      + * @param {import('../iterateJsdoc.js').Utils} utils a reference to the utils which are used to probe if a tag is present or not.
        * @returns {boolean} true in case deep checking can be skipped; otherwise false.
        */
       const canSkip = utils => {
      @@ -32,8 +32,15 @@ const canSkip = utils => {
         // This seems to imply a class as well
         'interface']) || utils.avoidDocs();
       };
      +
      +/**
      + * @param {import('../iterateJsdoc.js').Utils} utils
      + * @param {import('../iterateJsdoc.js').Report} report
      + * @param {string} tagName
      + * @returns {[preferredTagName?: string, missingTag?: boolean]}
      + */
       const checkTagName = (utils, report, tagName) => {
      -  const preferredTagName = utils.getPreferredTagName({
      +  const preferredTagName = /** @type {string} */utils.getPreferredTagName({
           tagName
         });
         if (!preferredTagName) {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYieldsCheck.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYieldsCheck.js
      index 51cb998cb0b89a..a6315d2e9b469a 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYieldsCheck.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/requireYieldsCheck.js
      @@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", {
       exports.default = void 0;
       var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
       function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
      +/**
      + * @param {import('../iterateJsdoc.js').Utils} utils
      + * @param {import('../iterateJsdoc.js').Settings} settings
      + * @returns {boolean}
      + */
       const canSkip = (utils, settings) => {
         const voidingTags = [
         // An abstract function is by definition incomplete
      @@ -25,8 +30,15 @@ const canSkip = (utils, settings) => {
         }
         return utils.hasATag(voidingTags) || utils.isConstructor() || utils.classHasTag('interface') || settings.mode === 'closure' && utils.classHasTag('record');
       };
      +
      +/**
      + * @param {import('../iterateJsdoc.js').Utils} utils
      + * @param {import('../iterateJsdoc.js').Report} report
      + * @param {string} tagName
      + * @returns {[]|[preferredTagName: string, tag: import('comment-parser').Spec]}
      + */
       const checkTagName = (utils, report, tagName) => {
      -  const preferredTagName = utils.getPreferredTagName({
      +  const preferredTagName = /** @type {string} */utils.getPreferredTagName({
           tagName
         });
         if (!preferredTagName) {
      @@ -58,7 +70,7 @@ var _default = (0, _iterateJsdoc.default)(({
         const [preferredYieldTagName, yieldTag] = checkTagName(utils, report, 'yields');
         if (preferredYieldTagName) {
           const shouldReportYields = () => {
      -      if (yieldTag.type.trim() === 'never') {
      +      if ( /** @type {import('comment-parser').Spec} */yieldTag.type.trim() === 'never') {
               if (utils.hasYieldValue()) {
                 report(`JSDoc @${preferredYieldTagName} declaration set with "never" but yield expression is present in function.`);
               }
      @@ -67,7 +79,8 @@ var _default = (0, _iterateJsdoc.default)(({
             if (checkGeneratorsOnly && !utils.isGenerator()) {
               return true;
             }
      -      return !utils.mayBeUndefinedTypeTag(yieldTag) && !utils.hasYieldValue();
      +      return !utils.mayBeUndefinedTypeTag( /** @type {import('comment-parser').Spec} */
      +      yieldTag) && !utils.hasYieldValue();
           };
       
           // In case a yield value is declared in JSDoc, we also expect one in the code.
      @@ -79,7 +92,7 @@ var _default = (0, _iterateJsdoc.default)(({
           const [preferredNextTagName, nextTag] = checkTagName(utils, report, 'next');
           if (preferredNextTagName) {
             const shouldReportNext = () => {
      -        if (nextTag.type.trim() === 'never') {
      +        if ( /** @type {import('comment-parser').Spec} */nextTag.type.trim() === 'never') {
                 if (utils.hasYieldReturnValue()) {
                   report(`JSDoc @${preferredNextTagName} declaration set with "never" but yield expression with return value is present in function.`);
                 }
      @@ -88,7 +101,8 @@ var _default = (0, _iterateJsdoc.default)(({
               if (checkGeneratorsOnly && !utils.isGenerator()) {
                 return true;
               }
      -        return !utils.mayBeUndefinedTypeTag(nextTag) && !utils.hasYieldReturnValue();
      +        return !utils.mayBeUndefinedTypeTag( /** @type {import('comment-parser').Spec} */
      +        nextTag) && !utils.hasYieldReturnValue();
             };
             if (shouldReportNext()) {
               report(`JSDoc @${preferredNextTagName} declaration present but yield expression with return value not available in function.`);
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/sortTags.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/sortTags.js
      index 4c812062001706..da66ac089b10d1 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/sortTags.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/sortTags.js
      @@ -13,7 +13,19 @@ var _default = (0, _iterateJsdoc.default)(({
         jsdoc,
         utils
       }) => {
      -  const {
      +  const
      +  /**
      +   * @type {{
      +   *   linesBetween: import('../iterateJsdoc.js').Integer,
      +   *   tagSequence: {
      +   *     tags: string[]
      +   *   }[],
      +   *   alphabetizeExtras: boolean,
      +   *   reportTagGroupSpacing: boolean,
      +   *   reportIntraTagGroupSpacing: boolean,
      +   * }}
      +   */
      +  {
           linesBetween = 1,
           tagSequence = _defaultTagOrder.default,
           alphabetizeExtras = false,
      @@ -27,13 +39,32 @@ var _default = (0, _iterateJsdoc.default)(({
         const otherPos = tagList.indexOf('-other');
         const endPos = otherPos > -1 ? otherPos : tagList.length;
         let ongoingCount = 0;
      -  for (const [idx, tag] of jsdoc.tags.entries()) {
      +  for (const [idx, tag] of
      +  /**
      +   * @type {(
      +   *   import('comment-parser').Spec & {
      +   *     originalIndex: import('../iterateJsdoc.js').Integer,
      +   *     originalLine: import('../iterateJsdoc.js').Integer,
      +   *   }
      +   * )[]}
      +   */
      +  jsdoc.tags.entries()) {
           tag.originalIndex = idx;
           ongoingCount += tag.source.length;
           tag.originalLine = ongoingCount;
         }
      +
      +  /** @type {import('../iterateJsdoc.js').Integer|undefined} */
         let firstChangedTagLine;
      +  /** @type {import('../iterateJsdoc.js').Integer|undefined} */
         let firstChangedTagIndex;
      +
      +  /**
      +   * @type {(import('comment-parser').Spec & {
      +   *   originalIndex: import('../iterateJsdoc.js').Integer,
      +   *   originalLine: import('../iterateJsdoc.js').Integer,
      +   * })[]}
      +   */
         const sortedTags = JSON.parse(JSON.stringify(jsdoc.tags));
         sortedTags.sort(({
           tag: tagNew
      @@ -83,8 +114,22 @@ var _default = (0, _iterateJsdoc.default)(({
         if (firstChangedTagLine === undefined) {
           // Should be ordered by now
       
      +    /**
      +     * @type {import('comment-parser').Spec[]}
      +     */
           const lastTagsOfGroup = [];
      +
      +    /**
      +     * @type {[
      +     *   import('comment-parser').Spec,
      +     *   import('../iterateJsdoc.js').Integer
      +     * ][]}
      +     */
           const badLastTagsOfGroup = [];
      +
      +    /**
      +     * @param {import('comment-parser').Spec} tag
      +     */
           const countTagEmptyLines = tag => {
             return tag.source.reduce((acc, {
               tokens: {
      @@ -97,7 +142,7 @@ var _default = (0, _iterateJsdoc.default)(({
             }) => {
               const empty = !tg && !type && !name && !description;
               // Reset the count so long as there is content
      -        return empty ? acc + (empty && !end) : 0;
      +        return empty ? acc + Number(empty && !end) : 0;
             }, 0);
           };
           let idx = 0;
      @@ -105,7 +150,9 @@ var _default = (0, _iterateJsdoc.default)(({
             tags
           } of tagSequence) {
             let innerIdx;
      +      /** @type {import('comment-parser').Spec} */
             let currentTag;
      +      /** @type {import('comment-parser').Spec|undefined} */
             let lastTag;
             do {
               currentTag = jsdoc.tags[idx];
      @@ -139,6 +186,10 @@ var _default = (0, _iterateJsdoc.default)(({
             }
           }
           if (reportTagGroupSpacing && badLastTagsOfGroup.length) {
      +      /**
      +       * @param {import('comment-parser').Spec} tg
      +       * @returns {() => void}
      +       */
             const fixer = tg => {
               return () => {
                 // Due to https://github.com/syavorsky/comment-parser/issues/110 ,
      @@ -156,6 +207,8 @@ var _default = (0, _iterateJsdoc.default)(({
                   let newIdx = currIdx;
                   const emptyLine = () => {
                     return {
      +                number: 0,
      +                source: '',
                       tokens: utils.seedTokens({
                         delimiter: '*',
                         start: jsdoc.source[newIdx - 1].tokens.start
      @@ -210,8 +263,8 @@ var _default = (0, _iterateJsdoc.default)(({
                 }
               };
             };
      -      for (const [tg, ct] of badLastTagsOfGroup) {
      -        utils.reportJSDoc('Tag groups do not have the expected whitespace', tg, fixer(tg, ct));
      +      for (const [tg] of badLastTagsOfGroup) {
      +        utils.reportJSDoc('Tag groups do not have the expected whitespace', tg, fixer(tg));
             }
             return;
           }
      @@ -227,6 +280,8 @@ var _default = (0, _iterateJsdoc.default)(({
               // eslint-disable-next-line complexity -- Temporary
               const fixer = () => {
                 let foundFirstTag = false;
      +
      +          /** @type {string|undefined} */
                 let currentTag;
                 for (const [currIdx, {
                   tokens: {
      @@ -302,7 +357,8 @@ var _default = (0, _iterateJsdoc.default)(({
         const firstLine = utils.getFirstLine();
         const fix = () => {
           const itemsToMoveRange = [...Array.from({
      -      length: jsdoc.tags.length - firstChangedTagIndex
      +      length: jsdoc.tags.length - /** @type {import('../iterateJsdoc.js').Integer} */
      +      firstChangedTagIndex
           }).keys()];
           const unchangedPriorTagDescriptions = jsdoc.tags.slice(0, firstChangedTagIndex).reduce((ct, {
             source
      @@ -313,13 +369,14 @@ var _default = (0, _iterateJsdoc.default)(({
           // This offset includes not only the offset from where the first tag
           //   must begin, and the additional offset of where the first changed
           //   tag begins, but it must also account for prior descriptions
      -    const initialOffset = firstLine + firstChangedTagIndex +
      +    const initialOffset = /** @type {import('../iterateJsdoc.js').Integer} */firstLine + /** @type {import('../iterateJsdoc.js').Integer} */firstChangedTagIndex +
           // May be the first tag, so don't try finding a prior one if so
           unchangedPriorTagDescriptions;
       
           // Use `firstChangedTagLine` for line number to begin reporting/splicing
           for (const idx of itemsToMoveRange) {
      -      utils.removeTag(idx + firstChangedTagIndex);
      +      utils.removeTag(idx + /** @type {import('../iterateJsdoc.js').Integer} */
      +      firstChangedTagIndex);
           }
           const changedTags = sortedTags.slice(firstChangedTagIndex);
           let extraTagCount = 0;
      @@ -344,7 +401,8 @@ var _default = (0, _iterateJsdoc.default)(({
             }
           }
         };
      -  utils.reportJSDoc(`Tags are not in the prescribed order: ${tagList.join(', ') || '(alphabetical)'}`, jsdoc.tags[firstChangedTagIndex], fix, true);
      +  utils.reportJSDoc(`Tags are not in the prescribed order: ${tagList.join(', ') || '(alphabetical)'}`, jsdoc.tags[/** @type {import('../iterateJsdoc.js').Integer} */
      +  firstChangedTagIndex], fix, true);
       }, {
         iterateAllJsdocs: true,
         meta: {
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/tagLines.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/tagLines.js
      index 01437871148fd2..44fd423661e2f4 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/tagLines.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/tagLines.js
      @@ -22,7 +22,15 @@ var _default = (0, _iterateJsdoc.default)(({
         // eslint-disable-next-line complexity -- Temporary
         jsdoc.tags.some((tg, tagIdx) => {
           let lastTag;
      +
      +    /**
      +     * @type {null|import('../iterateJsdoc.js').Integer}
      +     */
           let lastEmpty = null;
      +
      +    /**
      +     * @type {null|import('../iterateJsdoc.js').Integer}
      +     */
           let reportIndex = null;
           let emptyLinesCount = 0;
           for (const [idx, {
      @@ -62,7 +70,7 @@ var _default = (0, _iterateJsdoc.default)(({
             if (lineDiff < 0) {
               const fixer = () => {
                 utils.removeTag(tagIdx, {
      -            tagSourceOffset: lastEmpty + lineDiff + 1
      +            tagSourceOffset: /** @type {import('../iterateJsdoc.js').Integer} */lastEmpty + lineDiff + 1
                 });
               };
               utils.reportJSDoc(`Expected ${endLines} trailing lines`, {
      @@ -70,7 +78,7 @@ var _default = (0, _iterateJsdoc.default)(({
               }, fixer);
             } else if (lineDiff > 0) {
               const fixer = () => {
      -          utils.addLines(tagIdx, lastEmpty, endLines - emptyLinesCount);
      +          utils.addLines(tagIdx, /** @type {import('../iterateJsdoc.js').Integer} */lastEmpty, endLines - emptyLinesCount);
               };
               utils.reportJSDoc(`Expected ${endLines} trailing lines`, {
                 line: tg.source[lastEmpty].number
      @@ -81,7 +89,8 @@ var _default = (0, _iterateJsdoc.default)(({
           if (reportIndex !== null) {
             const fixer = () => {
               utils.removeTag(tagIdx, {
      -          tagSourceOffset: reportIndex
      +          tagSourceOffset: /** @type {import('../iterateJsdoc.js').Integer} */
      +          reportIndex
               });
             };
             utils.reportJSDoc('Expected no lines between tags', {
      @@ -92,6 +101,12 @@ var _default = (0, _iterateJsdoc.default)(({
           return false;
         });
         (applyToEndTag ? jsdoc.tags : jsdoc.tags.slice(0, -1)).some((tg, tagIdx) => {
      +    /**
      +     * @type {{
      +     *   idx: import('../iterateJsdoc.js').Integer,
      +     *   number: import('../iterateJsdoc.js').Integer
      +     * }[]}
      +     */
           const lines = [];
           let currentTag;
           let tagSourceIdx = 0;
      @@ -163,6 +178,8 @@ var _default = (0, _iterateJsdoc.default)(({
               utils.setBlockDescription((info, seedTokens, descLines) => {
                 return descLines.slice(0, -trailingDiff).map(desc => {
                   return {
      +              number: 0,
      +              source: '',
                     tokens: seedTokens({
                       ...info,
                       description: desc,
      @@ -183,6 +200,8 @@ var _default = (0, _iterateJsdoc.default)(({
                   return '';
                 })].map(desc => {
                   return {
      +              number: 0,
      +              source: '',
                     tokens: seedTokens({
                       ...info,
                       description: desc,
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/textEscaping.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/textEscaping.js
      index d8ad2a493b3675..b5810ec403078a 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/textEscaping.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/textEscaping.js
      @@ -10,6 +10,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
       //  not allow hex or decimal character references
       const htmlRegex = /(<|&(?!(?:amp|lt|gt|quot|apos);))(?=\S)/u;
       const markdownRegex = /(? {
         return desc.replace(new RegExp(htmlRegex, 'gu'), _ => {
           if (_ === '<') {
      @@ -18,6 +23,11 @@ const htmlReplacer = desc => {
           return '&';
         });
       };
      +
      +/**
      + * @param {string} desc
      + * @returns {string}
      + */
       const markdownReplacer = desc => {
         return desc.replace(new RegExp(markdownRegex, 'gu'), (_, backticks, encapsed) => {
           const bookend = '`'.repeat(backticks.length);
      @@ -36,6 +46,10 @@ var _default = (0, _iterateJsdoc.default)(({
         if (!escapeHTML && !escapeMarkdown) {
           context.report({
             loc: {
      +        end: {
      +          column: 1,
      +          line: 1
      +        },
               start: {
                 column: 1,
                 line: 1
      @@ -59,7 +73,7 @@ var _default = (0, _iterateJsdoc.default)(({
             return;
           }
           for (const tag of jsdoc.tags) {
      -      if (utils.getTagDescription(tag, true).some(desc => {
      +      if ( /** @type {string[]} */utils.getTagDescription(tag, true).some(desc => {
               return htmlRegex.test(desc);
             })) {
               const line = utils.setTagDescription(tag, htmlRegex, htmlReplacer) + tag.source[0].number;
      @@ -80,7 +94,7 @@ var _default = (0, _iterateJsdoc.default)(({
           return;
         }
         for (const tag of jsdoc.tags) {
      -    if (utils.getTagDescription(tag, true).some(desc => {
      +    if ( /** @type {string[]} */utils.getTagDescription(tag, true).some(desc => {
             return markdownRegex.test(desc);
           })) {
             const line = utils.setTagDescription(tag, markdownRegex, markdownReplacer) + tag.source[0].number;
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/validTypes.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/validTypes.js
      index 8e36718a730b5a..215792f1a9c2de 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/validTypes.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/rules/validTypes.js
      @@ -14,6 +14,11 @@ const suppressTypes = new Set([
       'accessControls', 'checkDebuggerStatement', 'checkPrototypalTypes', 'checkRegExp', 'checkTypes', 'checkVars', 'closureDepMethodUsageChecks', 'const', 'constantProperty', 'deprecated', 'duplicate', 'es5Strict', 'externsValidation', 'extraProvide', 'extraRequire', 'globalThis', 'invalidCasts', 'lateProvide', 'legacyGoogScopeRequire', 'lintChecks', 'messageConventions', 'misplacedTypeAnnotation', 'missingOverride', 'missingPolyfill', 'missingProperties', 'missingProvide', 'missingRequire', 'missingSourcesWarnings', 'moduleLoad', 'nonStandardJsDocs', 'partialAlias', 'polymer', 'reportUnknownTypes', 'strictMissingProperties', 'strictModuleDepCheck', 'strictPrimitiveOperators', 'suspiciousCode',
       // Not documented in enum
       'switch', 'transitionalSuspiciousCodeWarnings', 'undefinedNames', 'undefinedVars', 'underscore', 'unknownDefines', 'untranspilableFeatures', 'unusedLocalVariables', 'unusedPrivateMembers', 'useOfGoogProvide', 'uselessCode', 'visibility', 'with']);
      +
      +/**
      + * @param {string} path
      + * @returns {boolean}
      + */
       const tryParsePathIgnoreError = path => {
         try {
           (0, _jsdoccomment.tryParse)(path);
      @@ -39,6 +44,11 @@ var _default = (0, _iterateJsdoc.default)(({
           mode
         } = settings;
         for (const tag of jsdoc.tags) {
      +    /**
      +     * @param {string} namepath
      +     * @param {string} [tagName]
      +     * @returns {boolean}
      +     */
           const validNamepathParsing = function (namepath, tagName) {
             if (tryParsePathIgnoreError(namepath)) {
               return true;
      @@ -66,7 +76,7 @@ var _default = (0, _iterateJsdoc.default)(({
                   }
                 case 'borrows':
                   {
      -              const startChar = namepath.charAt();
      +              const startChar = namepath.charAt(0);
                     if (['#', '.', '~'].includes(startChar)) {
                       handled = tryParsePathIgnoreError(namepath.slice(1));
                     }
      @@ -79,17 +89,34 @@ var _default = (0, _iterateJsdoc.default)(({
             }
             return true;
           };
      +
      +    /**
      +     * @param {string} type
      +     * @returns {boolean}
      +     */
           const validTypeParsing = function (type) {
      +      let parsedTypes;
             try {
               if (mode === 'permissive') {
      -          (0, _jsdoccomment.tryParse)(type);
      +          parsedTypes = (0, _jsdoccomment.tryParse)(type);
               } else {
      -          (0, _jsdoccomment.parse)(type, mode);
      +          parsedTypes = (0, _jsdoccomment.parse)(type, mode);
               }
             } catch {
               report(`Syntax error in type: ${type}`, null, tag);
               return false;
             }
      +      if (mode === 'closure' || mode === 'typescript') {
      +        (0, _jsdoccomment.traverse)(parsedTypes, node => {
      +          var _node$right, _node$right2, _node$right2$meta;
      +          const {
      +            type: typ
      +          } = node;
      +          if ((typ === 'JsdocTypeObjectField' || typ === 'JsdocTypeKeyValue') && ((_node$right = node.right) === null || _node$right === void 0 ? void 0 : _node$right.type) === 'JsdocTypeNullable' && ((_node$right2 = node.right) === null || _node$right2 === void 0 ? void 0 : (_node$right2$meta = _node$right2.meta) === null || _node$right2$meta === void 0 ? void 0 : _node$right2$meta.position) === 'suffix') {
      +            report(`Syntax error in type: ${node.right.type}`, null, tag);
      +          }
      +        });
      +      }
             return true;
           };
           if (tag.problems.length) {
      @@ -102,8 +129,9 @@ var _default = (0, _iterateJsdoc.default)(({
             continue;
           }
           if (tag.tag === 'borrows') {
      -      const thisNamepath = utils.getTagDescription(tag).replace(asExpression, '').trim();
      -      if (!asExpression.test(utils.getTagDescription(tag)) || !thisNamepath) {
      +      const thisNamepath = /** @type {string} */utils.getTagDescription(tag).replace(asExpression, '').trim();
      +      if (!asExpression.test( /** @type {string} */
      +      utils.getTagDescription(tag)) || !thisNamepath) {
               report(`@borrows must have an "as" expression. Found "${utils.getTagDescription(tag)}"`, null, tag);
               continue;
             }
      @@ -122,16 +150,17 @@ var _default = (0, _iterateJsdoc.default)(({
             }
             if (parsedTypes) {
               (0, _jsdoccomment.traverse)(parsedTypes, node => {
      -          const {
      -            value: type
      -          } = node;
      +          let type;
      +          if ('value' in node && typeof node.value === 'string') {
      +            type = node.value;
      +          }
                 if (type !== undefined && !suppressTypes.has(type)) {
      -            report(`Syntax error in supresss type: ${type}`, null, tag);
      +            report(`Syntax error in suppress type: ${type}`, null, tag);
                 }
               });
             }
           }
      -    const otherModeMaps = ['jsdoc', 'typescript', 'closure', 'permissive'].filter(mde => {
      +    const otherModeMaps = /** @type {import('../jsdocUtils.js').ParserMode[]} */['jsdoc', 'typescript', 'closure', 'permissive'].filter(mde => {
             return mde !== mode;
           }).map(mde => {
             return utils.getTagStructureForMode(mde);
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/tagNames.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/tagNames.js
      index 69bd15befccab7..e4abbc1bbb3060 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/tagNames.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/tagNames.js
      @@ -4,12 +4,27 @@ Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.typeScriptTags = exports.jsdocTags = exports.closureTags = void 0;
      +/* eslint-disable jsdoc/valid-types -- Old version */
      +/**
      + * @typedef {{
      + *   [key: string]: string[]
      + * }} AliasedTags
      + */
      +/* eslint-enable jsdoc/valid-types -- Old version */
      +
      +/**
      + * @type {AliasedTags}
      + */
       const jsdocTagsUndocumented = {
         // Undocumented but present; see
         // https://github.com/jsdoc/jsdoc/issues/1283#issuecomment-516816802
         // https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js#L594
         modifies: []
       };
      +
      +/**
      + * @type {AliasedTags}
      + */
       const jsdocTags = {
         ...jsdocTagsUndocumented,
         abstract: ['virtual'],
      @@ -83,6 +98,10 @@ const jsdocTags = {
         version: [],
         yields: ['yield']
       };
      +
      +/**
      + * @type {AliasedTags}
      + */
       exports.jsdocTags = jsdocTags;
       const typeScriptTags = {
         ...jsdocTags,
      @@ -96,6 +115,10 @@ const typeScriptTags = {
         //      https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc
         template: []
       };
      +
      +/**
      + * @type {AliasedTags}
      + */
       exports.typeScriptTags = typeScriptTags;
       const undocumentedClosureTags = {
         // These are in Closure source but not in jsdoc source nor in the Closure
      @@ -124,6 +147,10 @@ const {
         /* eslint-enable no-unused-vars */
         ...typeScriptTagsInClosure
       } = typeScriptTags;
      +
      +/**
      + * @type {AliasedTags}
      + */
       const closureTags = {
         ...typeScriptTagsInClosure,
         ...undocumentedClosureTags,
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/utils/hasReturnValue.js b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/utils/hasReturnValue.js
      index a042e1499e67c4..4fd2e3c31d23ed 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/utils/hasReturnValue.js
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/dist/utils/hasReturnValue.js
      @@ -4,30 +4,40 @@ Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.hasValueOrExecutorHasNonEmptyResolveValue = exports.hasReturnValue = void 0;
      -/* eslint-disable jsdoc/no-undefined-types */
      +/**
      + * @typedef {import('estree').Node|
      + *   import('@typescript-eslint/types').TSESTree.Node} ESTreeOrTypeScriptNode
      + */
      +
       /**
        * Checks if a node is a promise but has no resolve value or an empty value.
        * An `undefined` resolve does not count.
        *
      - * @param {object} node
      - * @returns {boolean}
      + * @param {ESTreeOrTypeScriptNode|undefined|null} node
      + * @returns {boolean|undefined|null}
        */
       const isNewPromiseExpression = node => {
         return node && node.type === 'NewExpression' && node.callee.type === 'Identifier' && node.callee.name === 'Promise';
       };
      +
      +/**
      + * @param {ESTreeOrTypeScriptNode|null|undefined} node
      + * @returns {boolean}
      + */
       const isVoidPromise = node => {
         var _node$typeParameters, _node$typeParameters$, _node$typeParameters$2;
      -  return (node === null || node === void 0 ? void 0 : (_node$typeParameters = node.typeParameters) === null || _node$typeParameters === void 0 ? void 0 : (_node$typeParameters$ = _node$typeParameters.params) === null || _node$typeParameters$ === void 0 ? void 0 : (_node$typeParameters$2 = _node$typeParameters$[0]) === null || _node$typeParameters$2 === void 0 ? void 0 : _node$typeParameters$2.type) === 'TSVoidKeyword';
      +  return (/** @type {import('@typescript-eslint/types').TSESTree.TSTypeReference} */(node === null || node === void 0 ? void 0 : (_node$typeParameters = node.typeParameters) === null || _node$typeParameters === void 0 ? void 0 : (_node$typeParameters$ = _node$typeParameters.params) === null || _node$typeParameters$ === void 0 ? void 0 : (_node$typeParameters$2 = _node$typeParameters$[0]) === null || _node$typeParameters$2 === void 0 ? void 0 : _node$typeParameters$2.type) === 'TSVoidKeyword'
      +  );
       };
       const undefinedKeywords = new Set(['TSVoidKeyword', 'TSUndefinedKeyword', 'TSNeverKeyword']);
       
       /**
        * Checks if a node has a return statement. Void return does not count.
        *
      - * @param {object} node
      - * @param {boolean} throwOnNullReturn
      - * @param {PromiseFilter} promFilter
      - * @returns {boolean|Node}
      + * @param {ESTreeOrTypeScriptNode|undefined|null} node
      + * @param {boolean} [throwOnNullReturn]
      + * @param {PromiseFilter} [promFilter]
      + * @returns {boolean|undefined}
        */
       // eslint-disable-next-line complexity
       const hasReturnValue = (node, throwOnNullReturn, promFilter) => {
      @@ -49,7 +59,7 @@ const hasReturnValue = (node, throwOnNullReturn, promFilter) => {
           case 'FunctionDeclaration':
           case 'ArrowFunctionExpression':
             {
      -        return node.expression && (!isNewPromiseExpression(node.body) || !isVoidPromise(node.body)) || hasReturnValue(node.body, throwOnNullReturn, promFilter);
      +        return 'expression' in node && node.expression && (!isNewPromiseExpression(node.body) || !isVoidPromise(node.body)) || hasReturnValue(node.body, throwOnNullReturn, promFilter);
             }
           case 'BlockStatement':
             {
      @@ -109,9 +119,9 @@ const hasReturnValue = (node, throwOnNullReturn, promFilter) => {
       /**
        * Checks if a node has a return statement. Void return does not count.
        *
      - * @param {object} node
      + * @param {ESTreeOrTypeScriptNode|null|undefined} node
        * @param {PromiseFilter} promFilter
      - * @returns {boolean|Node}
      + * @returns {undefined|boolean|ESTreeOrTypeScriptNode}
        */
       // eslint-disable-next-line complexity
       exports.hasReturnValue = hasReturnValue;
      @@ -135,7 +145,8 @@ const allBrancheshaveReturnValues = (node, promFilter) => {
           case 'FunctionDeclaration':
           case 'ArrowFunctionExpression':
             {
      -        return node.expression && (!isNewPromiseExpression(node.body) || !isVoidPromise(node.body)) || allBrancheshaveReturnValues(node.body, promFilter) || node.body.body.some(nde => {
      +        return 'expression' in node && node.expression && (!isNewPromiseExpression(node.body) || !isVoidPromise(node.body)) || allBrancheshaveReturnValues(node.body, promFilter) || /** @type {import('@typescript-eslint/types').TSESTree.BlockStatement} */
      +        node.body.body.some(nde => {
                 return nde.type === 'ReturnStatement';
               });
             }
      @@ -146,7 +157,11 @@ const allBrancheshaveReturnValues = (node, promFilter) => {
             }
           case 'WhileStatement':
           case 'DoWhileStatement':
      -      if (node.test.value === true) {
      +      if (
      +      /**
      +       * @type {import('@typescript-eslint/types').TSESTree.Literal}
      +       */
      +      node.test.value === true) {
               // If this is an infinite loop, we assume only one branch
               //   is needed to provide a return
               return hasReturnValue(node.body, false, promFilter);
      @@ -175,7 +190,7 @@ const allBrancheshaveReturnValues = (node, promFilter) => {
                   hasReturnValue(node.finalizer, true, promFilter);
                 } catch (error) {
                   // istanbul ignore else
      -            if (error.message === 'Null return') {
      +            if ( /** @type {Error} */error.message === 'Null return') {
                     return false;
                   }
       
      @@ -189,11 +204,12 @@ const allBrancheshaveReturnValues = (node, promFilter) => {
             }
           case 'SwitchStatement':
             {
      -        return node.cases.every(someCase => {
      -          return !someCase.consequent.some(consNode => {
      -            return consNode.type === 'BreakStatement' || consNode.type === 'ReturnStatement' && consNode.argument === null;
      -          });
      -        });
      +        return (/** @type {import('@typescript-eslint/types').TSESTree.SwitchStatement} */node.cases.every(someCase => {
      +            return !someCase.consequent.some(consNode => {
      +              return consNode.type === 'BreakStatement' || consNode.type === 'ReturnStatement' && consNode.argument === null;
      +            });
      +          })
      +        );
             }
           case 'ThrowStatement':
             {
      @@ -221,7 +237,7 @@ const allBrancheshaveReturnValues = (node, promFilter) => {
       
       /**
        * @callback PromiseFilter
      - * @param {object} node
      + * @param {ESTreeOrTypeScriptNode|undefined} node
        * @returns {boolean}
        */
       
      @@ -234,7 +250,7 @@ const allBrancheshaveReturnValues = (node, promFilter) => {
        * unlikely, we avoid the performance cost of checking everywhere for
        * (re)declarations or assignments.
        *
      - * @param {AST} node
      + * @param {import('@typescript-eslint/types').TSESTree.Node|null|undefined} node
        * @param {string} resolverName
        * @returns {boolean}
        */
      @@ -246,17 +262,19 @@ const hasNonEmptyResolverCall = (node, resolverName) => {
       
         // Arrow function without block
         switch (node.type) {
      +    // @ts-expect-error Babel?
           // istanbul ignore next -- In Babel?
           case 'OptionalCallExpression':
           case 'CallExpression':
      -      return node.callee.name === resolverName && (
      -      // Implicit or explicit undefined
      -      node.arguments.length > 1 || node.arguments[0] !== undefined) || node.arguments.some(nde => {
      -        // Being passed in to another function (which might invoke it)
      -        return nde.type === 'Identifier' && nde.name === resolverName ||
      -        // Handle nested items
      -        hasNonEmptyResolverCall(nde, resolverName);
      -      });
      +      return (/** @type {import('@typescript-eslint/types').TSESTree.Identifier} */node.callee.name === resolverName && (
      +        // Implicit or explicit undefined
      +        node.arguments.length > 1 || node.arguments[0] !== undefined) || node.arguments.some(nde => {
      +          // Being passed in to another function (which might invoke it)
      +          return nde.type === 'Identifier' && nde.name === resolverName ||
      +          // Handle nested items
      +          hasNonEmptyResolverCall(nde, resolverName);
      +        })
      +      );
           case 'ChainExpression':
           case 'Decorator':
           case 'ExpressionStatement':
      @@ -272,7 +290,7 @@ const hasNonEmptyResolverCall = (node, resolverName) => {
             {
               var _node$params$;
               // Shadowing
      -        if (((_node$params$ = node.params[0]) === null || _node$params$ === void 0 ? void 0 : _node$params$.name) === resolverName) {
      +        if ( /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */((_node$params$ = node.params[0]) === null || _node$params$ === void 0 ? void 0 : _node$params$.name) === resolverName) {
                 return false;
               }
               return hasNonEmptyResolverCall(node.body, resolverName);
      @@ -329,6 +347,7 @@ const hasNonEmptyResolverCall = (node, resolverName) => {
             return node.properties.some(property => {
               return hasNonEmptyResolverCall(property, resolverName);
             });
      +    // @ts-expect-error Babel?
           // istanbul ignore next -- In Babel?
           case 'ClassMethod':
           case 'MethodDefinition':
      @@ -336,20 +355,26 @@ const hasNonEmptyResolverCall = (node, resolverName) => {
               return hasNonEmptyResolverCall(decorator, resolverName);
             }) || node.computed && hasNonEmptyResolverCall(node.key, resolverName) || hasNonEmptyResolverCall(node.value, resolverName);
       
      +    // @ts-expect-error Babel?
           // istanbul ignore next -- In Babel?
           case 'ObjectProperty':
           /* eslint-disable no-fallthrough */
           // istanbul ignore next -- In Babel?
           case 'PropertyDefinition':
      +    // @ts-expect-error Babel?
           // istanbul ignore next -- In Babel?
           case 'ClassProperty':
           case 'Property':
             /* eslint-enable no-fallthrough */
             return node.computed && hasNonEmptyResolverCall(node.key, resolverName) || hasNonEmptyResolverCall(node.value, resolverName);
      +    // @ts-expect-error Babel?
           // istanbul ignore next -- In Babel?
           case 'ObjectMethod':
      +      // @ts-expect-error
             // istanbul ignore next -- In Babel?
      -      return node.computed && hasNonEmptyResolverCall(node.key, resolverName) || node.arguments.some(nde => {
      +      return node.computed && hasNonEmptyResolverCall(node.key, resolverName) ||
      +      // @ts-expect-error
      +      node.arguments.some(nde => {
               return hasNonEmptyResolverCall(nde, resolverName);
             });
           case 'ClassExpression':
      @@ -373,12 +398,14 @@ const hasNonEmptyResolverCall = (node, resolverName) => {
           case 'TaggedTemplateExpression':
             return hasNonEmptyResolverCall(node.quasi, resolverName);
       
      +    // @ts-expect-error Babel?
           // ?.
           // istanbul ignore next -- In Babel?
           case 'OptionalMemberExpression':
           case 'MemberExpression':
             return hasNonEmptyResolverCall(node.object, resolverName) || hasNonEmptyResolverCall(node.property, resolverName);
       
      +    // @ts-expect-error Babel?
           // istanbul ignore next -- In Babel?
           case 'Import':
           case 'ImportExpression':
      @@ -407,19 +434,25 @@ const hasNonEmptyResolverCall = (node, resolverName) => {
        * Checks if a Promise executor has no resolve value or an empty value.
        * An `undefined` resolve does not count.
        *
      - * @param {object} node
      + * @param {ESTreeOrTypeScriptNode} node
        * @param {boolean} anyPromiseAsReturn
      - * @param {boolean} allBranches
      + * @param {boolean} [allBranches]
        * @returns {boolean}
        */
       const hasValueOrExecutorHasNonEmptyResolveValue = (node, anyPromiseAsReturn, allBranches) => {
      -  const hasReturnMethod = allBranches ? (nde, promiseFilter) => {
      +  const hasReturnMethod = allBranches ?
      +  /**
      +   * @param {ESTreeOrTypeScriptNode} nde
      +   * @param {PromiseFilter} promiseFilter
      +   * @returns {boolean}
      +   */
      +  (nde, promiseFilter) => {
           let hasReturn;
           try {
             hasReturn = hasReturnValue(nde, true, promiseFilter);
           } catch (error) {
             // istanbul ignore else
      -      if (error.message === 'Null return') {
      +      if ( /** @type {Error} */error.message === 'Null return') {
               return false;
             }
       
      @@ -429,9 +462,15 @@ const hasValueOrExecutorHasNonEmptyResolveValue = (node, anyPromiseAsReturn, all
       
           // `hasReturn` check needed since `throw` treated as valid return by
           //   `allBrancheshaveReturnValues`
      -    return hasReturn && allBrancheshaveReturnValues(nde, promiseFilter);
      -  } : (nde, promiseFilter) => {
      -    return hasReturnValue(nde, false, promiseFilter);
      +    return Boolean(hasReturn && allBrancheshaveReturnValues(nde, promiseFilter));
      +  } :
      +  /**
      +   * @param {ESTreeOrTypeScriptNode} nde
      +   * @param {PromiseFilter} promiseFilter
      +   * @returns {boolean}
      +   */
      +  (nde, promiseFilter) => {
      +    return Boolean(hasReturnValue(nde, false, promiseFilter));
         };
         return hasReturnMethod(node, prom => {
           if (anyPromiseAsReturn) {
      @@ -440,16 +479,22 @@ const hasValueOrExecutorHasNonEmptyResolveValue = (node, anyPromiseAsReturn, all
           if (isVoidPromise(prom)) {
             return false;
           }
      -    const [{
      +    const {
             params,
             body
      -    } = {}] = prom.arguments;
      +    } =
      +    /**
      +     * @type {import('@typescript-eslint/types').TSESTree.FunctionExpression|
      +     * import('@typescript-eslint/types').TSESTree.ArrowFunctionExpression}
      +     */
      +    /** @type {import('@typescript-eslint/types').TSESTree.NewExpression} */prom.arguments[0] || {};
           if (!(params !== null && params !== void 0 && params.length)) {
             return false;
           }
      -    const [{
      +    const {
             name: resolverName
      -    }] = params;
      +    } = /** @type {import('@typescript-eslint/types').TSESTree.Identifier} */
      +    params[0];
           return hasNonEmptyResolverCall(body, resolverName);
         });
       };
      diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/package.json b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/package.json
      index fa7060dcb1680f..b974a0b4c7b5a6 100644
      --- a/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/package.json
      +++ b/tools/node_modules/eslint/node_modules/eslint-plugin-jsdoc/package.json
      @@ -5,13 +5,13 @@
           "url": "http://gajus.com"
         },
         "dependencies": {
      -    "@es-joy/jsdoccomment": "~0.38.0",
      +    "@es-joy/jsdoccomment": "~0.39.3",
           "are-docs-informative": "^0.0.2",
           "comment-parser": "1.3.1",
           "debug": "^4.3.4",
           "escape-string-regexp": "^4.0.0",
           "esquery": "^1.5.0",
      -    "semver": "^7.5.0",
      +    "semver": "^7.5.1",
           "spdx-expression-parse": "^3.0.1"
         },
         "description": "JSDoc linting rules for ESLint.",
      @@ -24,22 +24,32 @@
           "@babel/plugin-transform-flow-strip-types": "^7.21.0",
           "@babel/preset-env": "^7.21.5",
           "@babel/register": "^7.21.0",
      -    "@es-joy/jsdoc-eslint-parser": "^0.18.0",
      +    "@es-joy/jsdoc-eslint-parser": "^0.19.0",
           "@hkdobrev/run-if-changed": "^0.3.1",
           "@semantic-release/commit-analyzer": "^9.0.2",
           "@semantic-release/github": "^8.0.7",
           "@semantic-release/npm": "^10.0.3",
      -    "@typescript-eslint/parser": "^5.59.2",
      +    "@types/chai": "^4.3.5",
      +    "@types/debug": "^4.1.7",
      +    "@types/eslint": "^8.37.0",
      +    "@types/esquery": "^1.0.2",
      +    "@types/estree": "^1.0.1",
      +    "@types/lodash.defaultsdeep": "^4.6.7",
      +    "@types/mocha": "^10.0.1",
      +    "@types/node": "^20.1.4",
      +    "@types/semver": "^7.5.0",
      +    "@types/spdx-expression-parse": "^3.0.2",
      +    "@typescript-eslint/parser": "^5.59.5",
           "babel-plugin-add-module-exports": "^1.0.4",
           "babel-plugin-istanbul": "^6.1.1",
           "camelcase": "^6.3.0",
           "chai": "^4.3.7",
           "cross-env": "^7.0.3",
           "decamelize": "^5.0.1",
      +    "eslint": "8.39.0",
           "eslint-config-canonical": "~33.0.1",
      -    "eslint": "^8.39.0",
           "gitdown": "^3.1.5",
      -    "glob": "^10.2.2",
      +    "glob": "^10.2.3",
           "husky": "^8.0.3",
           "jsdoc-type-pratt-parser": "^4.0.0",
           "lint-staged": "^13.2.2",
      @@ -107,9 +117,10 @@
           "package-lock.json": "npm run install-offline"
         },
         "scripts": {
      +    "tsc": "tsc",
           "build": "rimraf ./dist && cross-env NODE_ENV=production babel ./src --out-dir ./dist --copy-files --source-maps --ignore ./src/bin/*.js --no-copy-ignored",
      -    "check-readme": "babel-node ./src/bin/generateDocs.js --check",
      -    "create-readme": "babel-node ./src/bin/generateDocs.js",
      +    "check-docs": "babel-node ./src/bin/generateDocs.js --check",
      +    "create-docs": "babel-node ./src/bin/generateDocs.js",
           "create-rule": "babel-node ./src/bin/generateRule.js",
           "install-offline": "pnpm install --prefer-offline --no-audit",
           "lint": "npm run lint-arg -- .",
      @@ -121,5 +132,5 @@
           "test-cov": "cross-env TIMING=1 nyc --reporter text npm run test-no-cov",
           "test-index": "npm run test-no-cov -- test/rules/index.js"
         },
      -  "version": "43.2.0"
      +  "version": "44.2.4"
       }
      diff --git a/tools/node_modules/eslint/node_modules/grapheme-splitter/LICENSE b/tools/node_modules/eslint/node_modules/grapheme-splitter/LICENSE
      deleted file mode 100644
      index 4f0f53dd0c54de..00000000000000
      --- a/tools/node_modules/eslint/node_modules/grapheme-splitter/LICENSE
      +++ /dev/null
      @@ -1,22 +0,0 @@
      -The MIT License (MIT)
      -
      -Copyright (c) 2015 Orlin Georgiev
      -
      -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.
      -
      diff --git a/tools/node_modules/eslint/node_modules/grapheme-splitter/index.js b/tools/node_modules/eslint/node_modules/grapheme-splitter/index.js
      deleted file mode 100644
      index d555591633340b..00000000000000
      --- a/tools/node_modules/eslint/node_modules/grapheme-splitter/index.js
      +++ /dev/null
      @@ -1,1743 +0,0 @@
      -/*
      -Breaks a Javascript string into individual user-perceived "characters" 
      -called extended grapheme clusters by implementing the Unicode UAX-29 standard, version 10.0.0
      -
      -Usage:
      -var splitter = new GraphemeSplitter();
      -//returns an array of strings, one string for each grapheme cluster
      -var graphemes = splitter.splitGraphemes(string); 
      -
      -*/
      -function GraphemeSplitter(){
      -	var CR = 0,
      -		LF = 1,
      -		Control = 2,
      -		Extend = 3,
      -		Regional_Indicator = 4,
      -		SpacingMark = 5,
      -		L = 6,
      -		V = 7,
      -		T = 8,
      -		LV = 9,
      -		LVT = 10,
      -		Other = 11,
      -		Prepend = 12,
      -		E_Base = 13,
      -		E_Modifier = 14,
      -		ZWJ = 15,
      -		Glue_After_Zwj = 16,
      -		E_Base_GAZ = 17;
      -		
      -	// BreakTypes
      -	var NotBreak = 0,
      -		BreakStart = 1,
      -		Break = 2,
      -		BreakLastRegional = 3,
      -		BreakPenultimateRegional = 4;
      -		
      -	function isSurrogate(str, pos) {
      -		return  0xd800 <= str.charCodeAt(pos) && str.charCodeAt(pos) <= 0xdbff && 
      -				0xdc00 <= str.charCodeAt(pos + 1) && str.charCodeAt(pos + 1) <= 0xdfff;
      -	}
      -		
      -	// Private function, gets a Unicode code point from a JavaScript UTF-16 string
      -	// handling surrogate pairs appropriately
      -	function codePointAt(str, idx){
      -		if(idx === undefined){
      -			idx = 0;
      -		}
      -		var code = str.charCodeAt(idx);
      -
      -		// if a high surrogate
      -		if (0xD800 <= code && code <= 0xDBFF && 
      -			idx < str.length - 1){
      -			var hi = code;
      -			var low = str.charCodeAt(idx + 1);
      -			if (0xDC00 <= low && low <= 0xDFFF){
      -				return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
      -			}
      -			return hi;
      -		}
      -		
      -		// if a low surrogate
      -		if (0xDC00 <= code && code <= 0xDFFF &&
      -			idx >= 1){
      -			var hi = str.charCodeAt(idx - 1);
      -			var low = code;
      -			if (0xD800 <= hi && hi <= 0xDBFF){
      -				return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
      -			}
      -			return low;
      -		}
      -		
      -		//just return the char if an unmatched surrogate half or a 
      -		//single-char codepoint
      -		return code;
      -	}
      -	
      -	// Private function, returns whether a break is allowed between the 
      -	// two given grapheme breaking classes
      -	function shouldBreak(start, mid, end){
      -		var all = [start].concat(mid).concat([end]);
      -		var previous = all[all.length - 2]
      -		var next = end
      -		
      -		// Lookahead termintor for:
      -		// GB10. (E_Base | EBG) Extend* ?	E_Modifier
      -		var eModifierIndex = all.lastIndexOf(E_Modifier)
      -		if(eModifierIndex > 1 &&
      -			all.slice(1, eModifierIndex).every(function(c){return c == Extend}) &&
      -			[Extend, E_Base, E_Base_GAZ].indexOf(start) == -1){
      -			return Break
      -		}
      -
      -		// Lookahead termintor for:
      -		// GB12. ^ (RI RI)* RI	?	RI
      -		// GB13. [^RI] (RI RI)* RI	?	RI
      -		var rIIndex = all.lastIndexOf(Regional_Indicator)
      -		if(rIIndex > 0 &&
      -			all.slice(1, rIIndex).every(function(c){return c == Regional_Indicator}) &&
      -			[Prepend, Regional_Indicator].indexOf(previous) == -1) { 
      -			if(all.filter(function(c){return c == Regional_Indicator}).length % 2 == 1) {
      -				return BreakLastRegional
      -			}
      -			else {
      -				return BreakPenultimateRegional
      -			}
      -		}
      -		
      -		// GB3. CR X LF
      -		if(previous == CR && next == LF){
      -			return NotBreak;
      -		}
      -		// GB4. (Control|CR|LF) ÷
      -		else if(previous == Control || previous == CR || previous == LF){
      -			if(next == E_Modifier && mid.every(function(c){return c == Extend})){
      -				return Break
      -			}
      -			else {
      -				return BreakStart
      -			}
      -		}
      -		// GB5. ÷ (Control|CR|LF)
      -		else if(next == Control || next == CR || next == LF){
      -			return BreakStart;
      -		}
      -		// GB6. L X (L|V|LV|LVT)
      -		else if(previous == L && 
      -			(next == L || next == V || next == LV || next == LVT)){
      -			return NotBreak;
      -		}
      -		// GB7. (LV|V) X (V|T)
      -		else if((previous == LV || previous == V) && 
      -			(next == V || next == T)){
      -			return NotBreak;
      -		}
      -		// GB8. (LVT|T) X (T)
      -		else if((previous == LVT || previous == T) && 
      -			next == T){
      -			return NotBreak;
      -		}
      -		// GB9. X (Extend|ZWJ)
      -		else if (next == Extend || next == ZWJ){
      -			return NotBreak;
      -		}
      -		// GB9a. X SpacingMark
      -		else if(next == SpacingMark){
      -			return NotBreak;
      -		}
      -		// GB9b. Prepend X
      -		else if (previous == Prepend){
      -			return NotBreak;
      -		}
      -		
      -		// GB10. (E_Base | EBG) Extend* ?	E_Modifier
      -		var previousNonExtendIndex = all.indexOf(Extend) != -1 ? all.lastIndexOf(Extend) - 1 : all.length - 2;
      -		if([E_Base, E_Base_GAZ].indexOf(all[previousNonExtendIndex]) != -1 &&
      -			all.slice(previousNonExtendIndex + 1, -1).every(function(c){return c == Extend}) &&
      -			next == E_Modifier){
      -			return NotBreak;
      -		}
      -		
      -		// GB11. ZWJ ? (Glue_After_Zwj | EBG)
      -		if(previous == ZWJ && [Glue_After_Zwj, E_Base_GAZ].indexOf(next) != -1) {
      -			return NotBreak;
      -		}
      -
      -		// GB12. ^ (RI RI)* RI ? RI
      -		// GB13. [^RI] (RI RI)* RI ? RI
      -		if(mid.indexOf(Regional_Indicator) != -1) { 
      -			return Break;
      -		}
      -		if(previous == Regional_Indicator && next == Regional_Indicator) {
      -			return NotBreak;
      -		}
      -
      -		// GB999. Any ? Any
      -		return BreakStart;
      -	}
      -	
      -	// Returns the next grapheme break in the string after the given index
      -	this.nextBreak = function(string, index){
      -		if(index === undefined){
      -			index = 0;
      -		}
      -		if(index < 0){
      -			return 0;
      -		}
      -		if(index >= string.length - 1){
      -			return string.length;
      -		}
      -		var prev = getGraphemeBreakProperty(codePointAt(string, index));
      -		var mid = []
      -		for (var i = index + 1; i < string.length; i++) {
      -			// check for already processed low surrogates
      -			if(isSurrogate(string, i - 1)){
      -				continue;
      -			}
      -		
      -			var next = getGraphemeBreakProperty(codePointAt(string, i));
      -			if(shouldBreak(prev, mid, next)){
      -				return i;
      -			}
      -			
      -			mid.push(next);
      -		}
      -		return string.length;
      -	};
      -	
      -	// Breaks the given string into an array of grapheme cluster strings
      -	this.splitGraphemes = function(str){
      -		var res = [];
      -		var index = 0;
      -		var brk;
      -		while((brk = this.nextBreak(str, index)) < str.length){
      -			res.push(str.slice(index, brk));
      -			index = brk;
      -		}
      -		if(index < str.length){
      -			res.push(str.slice(index));
      -		}
      -		return res;
      -	};
      -
      -	// Returns the iterator of grapheme clusters there are in the given string
      -	this.iterateGraphemes = function(str) {
      -		var index = 0;
      -		var res = {
      -			next: (function() {
      -				var value;
      -				var brk;
      -				if ((brk = this.nextBreak(str, index)) < str.length) {
      -					value = str.slice(index, brk);
      -					index = brk;
      -					return { value: value, done: false };
      -				}
      -				if (index < str.length) {
      -					value = str.slice(index);
      -					index = str.length;
      -					return { value: value, done: false };
      -				}
      -				return { value: undefined, done: true };
      -			}).bind(this)
      -		};
      -		// ES2015 @@iterator method (iterable) for spread syntax and for...of statement
      -		if (typeof Symbol !== 'undefined' && Symbol.iterator) {
      -			res[Symbol.iterator] = function() {return res};
      -		}
      -		return res;
      -	};
      -
      -	// Returns the number of grapheme clusters there are in the given string
      -	this.countGraphemes = function(str){
      -		var count = 0;
      -		var index = 0;
      -		var brk;
      -		while((brk = this.nextBreak(str, index)) < str.length){
      -			index = brk;
      -			count++;
      -		}
      -		if(index < str.length){
      -			count++;
      -		}
      -		return count;
      -	};
      -	
      -	//given a Unicode code point, determines this symbol's grapheme break property
      -	function getGraphemeBreakProperty(code){
      -		
      -		//grapheme break property for Unicode 10.0.0, 
      -		//taken from http://www.unicode.org/Public/10.0.0/ucd/auxiliary/GraphemeBreakProperty.txt
      -		//and adapted to JavaScript rules
      -		
      -		if(		
      -		(0x0600 <= code && code <= 0x0605) || // Cf   [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
      -		0x06DD == code || // Cf       ARABIC END OF AYAH
      -		0x070F == code || // Cf       SYRIAC ABBREVIATION MARK
      -		0x08E2 == code || // Cf       ARABIC DISPUTED END OF AYAH
      -		0x0D4E == code || // Lo       MALAYALAM LETTER DOT REPH
      -		0x110BD == code || // Cf       KAITHI NUMBER SIGN
      -		(0x111C2 <= code && code <= 0x111C3) || // Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
      -		0x11A3A == code || // Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
      -		(0x11A86 <= code && code <= 0x11A89) || // Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
      -		0x11D46 == code // Lo       MASARAM GONDI REPHA
      -		){
      -			return Prepend;
      -		}
      -		if(
      -		0x000D == code // Cc       
      -		){
      -			return CR;
      -		}
      -		
      -		if(
      -		0x000A == code // Cc       
      -		){
      -			return LF;
      -		}
      -		
      -		
      -		if(
      -		(0x0000 <= code && code <= 0x0009) || // Cc  [10] ..
      -		(0x000B <= code && code <= 0x000C) || // Cc   [2] ..
      -		(0x000E <= code && code <= 0x001F) || // Cc  [18] ..
      -		(0x007F <= code && code <= 0x009F) || // Cc  [33] ..
      -		0x00AD == code || // Cf       SOFT HYPHEN
      -		0x061C == code || // Cf       ARABIC LETTER MARK
      -	
      -		0x180E == code || // Cf       MONGOLIAN VOWEL SEPARATOR
      -		0x200B == code || // Cf       ZERO WIDTH SPACE
      -		(0x200E <= code && code <= 0x200F) || // Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
      -		0x2028 == code || // Zl       LINE SEPARATOR
      -		0x2029 == code || // Zp       PARAGRAPH SEPARATOR
      -		(0x202A <= code && code <= 0x202E) || // Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
      -		(0x2060 <= code && code <= 0x2064) || // Cf   [5] WORD JOINER..INVISIBLE PLUS
      -		0x2065 == code || // Cn       
      -		(0x2066 <= code && code <= 0x206F) || // Cf  [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
      -		(0xD800 <= code && code <= 0xDFFF) || // Cs [2048] ..
      -		0xFEFF == code || // Cf       ZERO WIDTH NO-BREAK SPACE
      -		(0xFFF0 <= code && code <= 0xFFF8) || // Cn   [9] ..
      -		(0xFFF9 <= code && code <= 0xFFFB) || // Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
      -		(0x1BCA0 <= code && code <= 0x1BCA3) || // Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
      -		(0x1D173 <= code && code <= 0x1D17A) || // Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
      -		0xE0000 == code || // Cn       
      -		0xE0001 == code || // Cf       LANGUAGE TAG
      -		(0xE0002 <= code && code <= 0xE001F) || // Cn  [30] ..
      -		(0xE0080 <= code && code <= 0xE00FF) || // Cn [128] ..
      -		(0xE01F0 <= code && code <= 0xE0FFF) // Cn [3600] ..
      -		){
      -			return Control;
      -		}
      -		
      -		
      -		if(
      -		(0x0300 <= code && code <= 0x036F) || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
      -		(0x0483 <= code && code <= 0x0487) || // Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
      -		(0x0488 <= code && code <= 0x0489) || // Me   [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
      -		(0x0591 <= code && code <= 0x05BD) || // Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
      -		0x05BF == code || // Mn       HEBREW POINT RAFE
      -		(0x05C1 <= code && code <= 0x05C2) || // Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
      -		(0x05C4 <= code && code <= 0x05C5) || // Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
      -		0x05C7 == code || // Mn       HEBREW POINT QAMATS QATAN
      -		(0x0610 <= code && code <= 0x061A) || // Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
      -		(0x064B <= code && code <= 0x065F) || // Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
      -		0x0670 == code || // Mn       ARABIC LETTER SUPERSCRIPT ALEF
      -		(0x06D6 <= code && code <= 0x06DC) || // Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
      -		(0x06DF <= code && code <= 0x06E4) || // Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
      -		(0x06E7 <= code && code <= 0x06E8) || // Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
      -		(0x06EA <= code && code <= 0x06ED) || // Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
      -		0x0711 == code || // Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
      -		(0x0730 <= code && code <= 0x074A) || // Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
      -		(0x07A6 <= code && code <= 0x07B0) || // Mn  [11] THAANA ABAFILI..THAANA SUKUN
      -		(0x07EB <= code && code <= 0x07F3) || // Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
      -		(0x0816 <= code && code <= 0x0819) || // Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
      -		(0x081B <= code && code <= 0x0823) || // Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
      -		(0x0825 <= code && code <= 0x0827) || // Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
      -		(0x0829 <= code && code <= 0x082D) || // Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
      -		(0x0859 <= code && code <= 0x085B) || // Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
      -		(0x08D4 <= code && code <= 0x08E1) || // Mn  [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
      -		(0x08E3 <= code && code <= 0x0902) || // Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
      -		0x093A == code || // Mn       DEVANAGARI VOWEL SIGN OE
      -		0x093C == code || // Mn       DEVANAGARI SIGN NUKTA
      -		(0x0941 <= code && code <= 0x0948) || // Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
      -		0x094D == code || // Mn       DEVANAGARI SIGN VIRAMA
      -		(0x0951 <= code && code <= 0x0957) || // Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
      -		(0x0962 <= code && code <= 0x0963) || // Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
      -		0x0981 == code || // Mn       BENGALI SIGN CANDRABINDU
      -		0x09BC == code || // Mn       BENGALI SIGN NUKTA
      -		0x09BE == code || // Mc       BENGALI VOWEL SIGN AA
      -		(0x09C1 <= code && code <= 0x09C4) || // Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
      -		0x09CD == code || // Mn       BENGALI SIGN VIRAMA
      -		0x09D7 == code || // Mc       BENGALI AU LENGTH MARK
      -		(0x09E2 <= code && code <= 0x09E3) || // Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
      -		(0x0A01 <= code && code <= 0x0A02) || // Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
      -		0x0A3C == code || // Mn       GURMUKHI SIGN NUKTA
      -		(0x0A41 <= code && code <= 0x0A42) || // Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
      -		(0x0A47 <= code && code <= 0x0A48) || // Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
      -		(0x0A4B <= code && code <= 0x0A4D) || // Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
      -		0x0A51 == code || // Mn       GURMUKHI SIGN UDAAT
      -		(0x0A70 <= code && code <= 0x0A71) || // Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
      -		0x0A75 == code || // Mn       GURMUKHI SIGN YAKASH
      -		(0x0A81 <= code && code <= 0x0A82) || // Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
      -		0x0ABC == code || // Mn       GUJARATI SIGN NUKTA
      -		(0x0AC1 <= code && code <= 0x0AC5) || // Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
      -		(0x0AC7 <= code && code <= 0x0AC8) || // Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
      -		0x0ACD == code || // Mn       GUJARATI SIGN VIRAMA
      -		(0x0AE2 <= code && code <= 0x0AE3) || // Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
      -		(0x0AFA <= code && code <= 0x0AFF) || // Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
      -		0x0B01 == code || // Mn       ORIYA SIGN CANDRABINDU
      -		0x0B3C == code || // Mn       ORIYA SIGN NUKTA
      -		0x0B3E == code || // Mc       ORIYA VOWEL SIGN AA
      -		0x0B3F == code || // Mn       ORIYA VOWEL SIGN I
      -		(0x0B41 <= code && code <= 0x0B44) || // Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
      -		0x0B4D == code || // Mn       ORIYA SIGN VIRAMA
      -		0x0B56 == code || // Mn       ORIYA AI LENGTH MARK
      -		0x0B57 == code || // Mc       ORIYA AU LENGTH MARK
      -		(0x0B62 <= code && code <= 0x0B63) || // Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
      -		0x0B82 == code || // Mn       TAMIL SIGN ANUSVARA
      -		0x0BBE == code || // Mc       TAMIL VOWEL SIGN AA
      -		0x0BC0 == code || // Mn       TAMIL VOWEL SIGN II
      -		0x0BCD == code || // Mn       TAMIL SIGN VIRAMA
      -		0x0BD7 == code || // Mc       TAMIL AU LENGTH MARK
      -		0x0C00 == code || // Mn       TELUGU SIGN COMBINING CANDRABINDU ABOVE
      -		(0x0C3E <= code && code <= 0x0C40) || // Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
      -		(0x0C46 <= code && code <= 0x0C48) || // Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
      -		(0x0C4A <= code && code <= 0x0C4D) || // Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
      -		(0x0C55 <= code && code <= 0x0C56) || // Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
      -		(0x0C62 <= code && code <= 0x0C63) || // Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
      -		0x0C81 == code || // Mn       KANNADA SIGN CANDRABINDU
      -		0x0CBC == code || // Mn       KANNADA SIGN NUKTA
      -		0x0CBF == code || // Mn       KANNADA VOWEL SIGN I
      -		0x0CC2 == code || // Mc       KANNADA VOWEL SIGN UU
      -		0x0CC6 == code || // Mn       KANNADA VOWEL SIGN E
      -		(0x0CCC <= code && code <= 0x0CCD) || // Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
      -		(0x0CD5 <= code && code <= 0x0CD6) || // Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
      -		(0x0CE2 <= code && code <= 0x0CE3) || // Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
      -		(0x0D00 <= code && code <= 0x0D01) || // Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
      -		(0x0D3B <= code && code <= 0x0D3C) || // Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
      -		0x0D3E == code || // Mc       MALAYALAM VOWEL SIGN AA
      -		(0x0D41 <= code && code <= 0x0D44) || // Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
      -		0x0D4D == code || // Mn       MALAYALAM SIGN VIRAMA
      -		0x0D57 == code || // Mc       MALAYALAM AU LENGTH MARK
      -		(0x0D62 <= code && code <= 0x0D63) || // Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
      -		0x0DCA == code || // Mn       SINHALA SIGN AL-LAKUNA
      -		0x0DCF == code || // Mc       SINHALA VOWEL SIGN AELA-PILLA
      -		(0x0DD2 <= code && code <= 0x0DD4) || // Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
      -		0x0DD6 == code || // Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
      -		0x0DDF == code || // Mc       SINHALA VOWEL SIGN GAYANUKITTA
      -		0x0E31 == code || // Mn       THAI CHARACTER MAI HAN-AKAT
      -		(0x0E34 <= code && code <= 0x0E3A) || // Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
      -		(0x0E47 <= code && code <= 0x0E4E) || // Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
      -		0x0EB1 == code || // Mn       LAO VOWEL SIGN MAI KAN
      -		(0x0EB4 <= code && code <= 0x0EB9) || // Mn   [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
      -		(0x0EBB <= code && code <= 0x0EBC) || // Mn   [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
      -		(0x0EC8 <= code && code <= 0x0ECD) || // Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
      -		(0x0F18 <= code && code <= 0x0F19) || // Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
      -		0x0F35 == code || // Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
      -		0x0F37 == code || // Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
      -		0x0F39 == code || // Mn       TIBETAN MARK TSA -PHRU
      -		(0x0F71 <= code && code <= 0x0F7E) || // Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
      -		(0x0F80 <= code && code <= 0x0F84) || // Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
      -		(0x0F86 <= code && code <= 0x0F87) || // Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
      -		(0x0F8D <= code && code <= 0x0F97) || // Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
      -		(0x0F99 <= code && code <= 0x0FBC) || // Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
      -		0x0FC6 == code || // Mn       TIBETAN SYMBOL PADMA GDAN
      -		(0x102D <= code && code <= 0x1030) || // Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
      -		(0x1032 <= code && code <= 0x1037) || // Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
      -		(0x1039 <= code && code <= 0x103A) || // Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
      -		(0x103D <= code && code <= 0x103E) || // Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
      -		(0x1058 <= code && code <= 0x1059) || // Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
      -		(0x105E <= code && code <= 0x1060) || // Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
      -		(0x1071 <= code && code <= 0x1074) || // Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
      -		0x1082 == code || // Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
      -		(0x1085 <= code && code <= 0x1086) || // Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
      -		0x108D == code || // Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
      -		0x109D == code || // Mn       MYANMAR VOWEL SIGN AITON AI
      -		(0x135D <= code && code <= 0x135F) || // Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
      -		(0x1712 <= code && code <= 0x1714) || // Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
      -		(0x1732 <= code && code <= 0x1734) || // Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
      -		(0x1752 <= code && code <= 0x1753) || // Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
      -		(0x1772 <= code && code <= 0x1773) || // Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
      -		(0x17B4 <= code && code <= 0x17B5) || // Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
      -		(0x17B7 <= code && code <= 0x17BD) || // Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
      -		0x17C6 == code || // Mn       KHMER SIGN NIKAHIT
      -		(0x17C9 <= code && code <= 0x17D3) || // Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
      -		0x17DD == code || // Mn       KHMER SIGN ATTHACAN
      -		(0x180B <= code && code <= 0x180D) || // Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
      -		(0x1885 <= code && code <= 0x1886) || // Mn   [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
      -		0x18A9 == code || // Mn       MONGOLIAN LETTER ALI GALI DAGALGA
      -		(0x1920 <= code && code <= 0x1922) || // Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
      -		(0x1927 <= code && code <= 0x1928) || // Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
      -		0x1932 == code || // Mn       LIMBU SMALL LETTER ANUSVARA
      -		(0x1939 <= code && code <= 0x193B) || // Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
      -		(0x1A17 <= code && code <= 0x1A18) || // Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
      -		0x1A1B == code || // Mn       BUGINESE VOWEL SIGN AE
      -		0x1A56 == code || // Mn       TAI THAM CONSONANT SIGN MEDIAL LA
      -		(0x1A58 <= code && code <= 0x1A5E) || // Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
      -		0x1A60 == code || // Mn       TAI THAM SIGN SAKOT
      -		0x1A62 == code || // Mn       TAI THAM VOWEL SIGN MAI SAT
      -		(0x1A65 <= code && code <= 0x1A6C) || // Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
      -		(0x1A73 <= code && code <= 0x1A7C) || // Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
      -		0x1A7F == code || // Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
      -		(0x1AB0 <= code && code <= 0x1ABD) || // Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
      -		0x1ABE == code || // Me       COMBINING PARENTHESES OVERLAY
      -		(0x1B00 <= code && code <= 0x1B03) || // Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
      -		0x1B34 == code || // Mn       BALINESE SIGN REREKAN
      -		(0x1B36 <= code && code <= 0x1B3A) || // Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
      -		0x1B3C == code || // Mn       BALINESE VOWEL SIGN LA LENGA
      -		0x1B42 == code || // Mn       BALINESE VOWEL SIGN PEPET
      -		(0x1B6B <= code && code <= 0x1B73) || // Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
      -		(0x1B80 <= code && code <= 0x1B81) || // Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
      -		(0x1BA2 <= code && code <= 0x1BA5) || // Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
      -		(0x1BA8 <= code && code <= 0x1BA9) || // Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
      -		(0x1BAB <= code && code <= 0x1BAD) || // Mn   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
      -		0x1BE6 == code || // Mn       BATAK SIGN TOMPI
      -		(0x1BE8 <= code && code <= 0x1BE9) || // Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
      -		0x1BED == code || // Mn       BATAK VOWEL SIGN KARO O
      -		(0x1BEF <= code && code <= 0x1BF1) || // Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
      -		(0x1C2C <= code && code <= 0x1C33) || // Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
      -		(0x1C36 <= code && code <= 0x1C37) || // Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
      -		(0x1CD0 <= code && code <= 0x1CD2) || // Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
      -		(0x1CD4 <= code && code <= 0x1CE0) || // Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
      -		(0x1CE2 <= code && code <= 0x1CE8) || // Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
      -		0x1CED == code || // Mn       VEDIC SIGN TIRYAK
      -		0x1CF4 == code || // Mn       VEDIC TONE CANDRA ABOVE
      -		(0x1CF8 <= code && code <= 0x1CF9) || // Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
      -		(0x1DC0 <= code && code <= 0x1DF9) || // Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
      -		(0x1DFB <= code && code <= 0x1DFF) || // Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
      -		0x200C == code || // Cf       ZERO WIDTH NON-JOINER
      -		(0x20D0 <= code && code <= 0x20DC) || // Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
      -		(0x20DD <= code && code <= 0x20E0) || // Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
      -		0x20E1 == code || // Mn       COMBINING LEFT RIGHT ARROW ABOVE
      -		(0x20E2 <= code && code <= 0x20E4) || // Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
      -		(0x20E5 <= code && code <= 0x20F0) || // Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
      -		(0x2CEF <= code && code <= 0x2CF1) || // Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
      -		0x2D7F == code || // Mn       TIFINAGH CONSONANT JOINER
      -		(0x2DE0 <= code && code <= 0x2DFF) || // Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
      -		(0x302A <= code && code <= 0x302D) || // Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
      -		(0x302E <= code && code <= 0x302F) || // Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
      -		(0x3099 <= code && code <= 0x309A) || // Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
      -		0xA66F == code || // Mn       COMBINING CYRILLIC VZMET
      -		(0xA670 <= code && code <= 0xA672) || // Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
      -		(0xA674 <= code && code <= 0xA67D) || // Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
      -		(0xA69E <= code && code <= 0xA69F) || // Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
      -		(0xA6F0 <= code && code <= 0xA6F1) || // Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
      -		0xA802 == code || // Mn       SYLOTI NAGRI SIGN DVISVARA
      -		0xA806 == code || // Mn       SYLOTI NAGRI SIGN HASANTA
      -		0xA80B == code || // Mn       SYLOTI NAGRI SIGN ANUSVARA
      -		(0xA825 <= code && code <= 0xA826) || // Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
      -		(0xA8C4 <= code && code <= 0xA8C5) || // Mn   [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
      -		(0xA8E0 <= code && code <= 0xA8F1) || // Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
      -		(0xA926 <= code && code <= 0xA92D) || // Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
      -		(0xA947 <= code && code <= 0xA951) || // Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
      -		(0xA980 <= code && code <= 0xA982) || // Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
      -		0xA9B3 == code || // Mn       JAVANESE SIGN CECAK TELU
      -		(0xA9B6 <= code && code <= 0xA9B9) || // Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
      -		0xA9BC == code || // Mn       JAVANESE VOWEL SIGN PEPET
      -		0xA9E5 == code || // Mn       MYANMAR SIGN SHAN SAW
      -		(0xAA29 <= code && code <= 0xAA2E) || // Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
      -		(0xAA31 <= code && code <= 0xAA32) || // Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
      -		(0xAA35 <= code && code <= 0xAA36) || // Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
      -		0xAA43 == code || // Mn       CHAM CONSONANT SIGN FINAL NG
      -		0xAA4C == code || // Mn       CHAM CONSONANT SIGN FINAL M
      -		0xAA7C == code || // Mn       MYANMAR SIGN TAI LAING TONE-2
      -		0xAAB0 == code || // Mn       TAI VIET MAI KANG
      -		(0xAAB2 <= code && code <= 0xAAB4) || // Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
      -		(0xAAB7 <= code && code <= 0xAAB8) || // Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
      -		(0xAABE <= code && code <= 0xAABF) || // Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
      -		0xAAC1 == code || // Mn       TAI VIET TONE MAI THO
      -		(0xAAEC <= code && code <= 0xAAED) || // Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
      -		0xAAF6 == code || // Mn       MEETEI MAYEK VIRAMA
      -		0xABE5 == code || // Mn       MEETEI MAYEK VOWEL SIGN ANAP
      -		0xABE8 == code || // Mn       MEETEI MAYEK VOWEL SIGN UNAP
      -		0xABED == code || // Mn       MEETEI MAYEK APUN IYEK
      -		0xFB1E == code || // Mn       HEBREW POINT JUDEO-SPANISH VARIKA
      -		(0xFE00 <= code && code <= 0xFE0F) || // Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
      -		(0xFE20 <= code && code <= 0xFE2F) || // Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
      -		(0xFF9E <= code && code <= 0xFF9F) || // Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
      -		0x101FD == code || // Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
      -		0x102E0 == code || // Mn       COPTIC EPACT THOUSANDS MARK
      -		(0x10376 <= code && code <= 0x1037A) || // Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
      -		(0x10A01 <= code && code <= 0x10A03) || // Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
      -		(0x10A05 <= code && code <= 0x10A06) || // Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
      -		(0x10A0C <= code && code <= 0x10A0F) || // Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
      -		(0x10A38 <= code && code <= 0x10A3A) || // Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
      -		0x10A3F == code || // Mn       KHAROSHTHI VIRAMA
      -		(0x10AE5 <= code && code <= 0x10AE6) || // Mn   [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
      -		0x11001 == code || // Mn       BRAHMI SIGN ANUSVARA
      -		(0x11038 <= code && code <= 0x11046) || // Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
      -		(0x1107F <= code && code <= 0x11081) || // Mn   [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
      -		(0x110B3 <= code && code <= 0x110B6) || // Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
      -		(0x110B9 <= code && code <= 0x110BA) || // Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
      -		(0x11100 <= code && code <= 0x11102) || // Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
      -		(0x11127 <= code && code <= 0x1112B) || // Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
      -		(0x1112D <= code && code <= 0x11134) || // Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
      -		0x11173 == code || // Mn       MAHAJANI SIGN NUKTA
      -		(0x11180 <= code && code <= 0x11181) || // Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
      -		(0x111B6 <= code && code <= 0x111BE) || // Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
      -		(0x111CA <= code && code <= 0x111CC) || // Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
      -		(0x1122F <= code && code <= 0x11231) || // Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
      -		0x11234 == code || // Mn       KHOJKI SIGN ANUSVARA
      -		(0x11236 <= code && code <= 0x11237) || // Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
      -		0x1123E == code || // Mn       KHOJKI SIGN SUKUN
      -		0x112DF == code || // Mn       KHUDAWADI SIGN ANUSVARA
      -		(0x112E3 <= code && code <= 0x112EA) || // Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
      -		(0x11300 <= code && code <= 0x11301) || // Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
      -		0x1133C == code || // Mn       GRANTHA SIGN NUKTA
      -		0x1133E == code || // Mc       GRANTHA VOWEL SIGN AA
      -		0x11340 == code || // Mn       GRANTHA VOWEL SIGN II
      -		0x11357 == code || // Mc       GRANTHA AU LENGTH MARK
      -		(0x11366 <= code && code <= 0x1136C) || // Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
      -		(0x11370 <= code && code <= 0x11374) || // Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
      -		(0x11438 <= code && code <= 0x1143F) || // Mn   [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
      -		(0x11442 <= code && code <= 0x11444) || // Mn   [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
      -		0x11446 == code || // Mn       NEWA SIGN NUKTA
      -		0x114B0 == code || // Mc       TIRHUTA VOWEL SIGN AA
      -		(0x114B3 <= code && code <= 0x114B8) || // Mn   [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
      -		0x114BA == code || // Mn       TIRHUTA VOWEL SIGN SHORT E
      -		0x114BD == code || // Mc       TIRHUTA VOWEL SIGN SHORT O
      -		(0x114BF <= code && code <= 0x114C0) || // Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
      -		(0x114C2 <= code && code <= 0x114C3) || // Mn   [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
      -		0x115AF == code || // Mc       SIDDHAM VOWEL SIGN AA
      -		(0x115B2 <= code && code <= 0x115B5) || // Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
      -		(0x115BC <= code && code <= 0x115BD) || // Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
      -		(0x115BF <= code && code <= 0x115C0) || // Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
      -		(0x115DC <= code && code <= 0x115DD) || // Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
      -		(0x11633 <= code && code <= 0x1163A) || // Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
      -		0x1163D == code || // Mn       MODI SIGN ANUSVARA
      -		(0x1163F <= code && code <= 0x11640) || // Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
      -		0x116AB == code || // Mn       TAKRI SIGN ANUSVARA
      -		0x116AD == code || // Mn       TAKRI VOWEL SIGN AA
      -		(0x116B0 <= code && code <= 0x116B5) || // Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
      -		0x116B7 == code || // Mn       TAKRI SIGN NUKTA
      -		(0x1171D <= code && code <= 0x1171F) || // Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
      -		(0x11722 <= code && code <= 0x11725) || // Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
      -		(0x11727 <= code && code <= 0x1172B) || // Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
      -		(0x11A01 <= code && code <= 0x11A06) || // Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
      -		(0x11A09 <= code && code <= 0x11A0A) || // Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
      -		(0x11A33 <= code && code <= 0x11A38) || // Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
      -		(0x11A3B <= code && code <= 0x11A3E) || // Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
      -		0x11A47 == code || // Mn       ZANABAZAR SQUARE SUBJOINER
      -		(0x11A51 <= code && code <= 0x11A56) || // Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
      -		(0x11A59 <= code && code <= 0x11A5B) || // Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
      -		(0x11A8A <= code && code <= 0x11A96) || // Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
      -		(0x11A98 <= code && code <= 0x11A99) || // Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
      -		(0x11C30 <= code && code <= 0x11C36) || // Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
      -		(0x11C38 <= code && code <= 0x11C3D) || // Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
      -		0x11C3F == code || // Mn       BHAIKSUKI SIGN VIRAMA
      -		(0x11C92 <= code && code <= 0x11CA7) || // Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
      -		(0x11CAA <= code && code <= 0x11CB0) || // Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
      -		(0x11CB2 <= code && code <= 0x11CB3) || // Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
      -		(0x11CB5 <= code && code <= 0x11CB6) || // Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
      -		(0x11D31 <= code && code <= 0x11D36) || // Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
      -		0x11D3A == code || // Mn       MASARAM GONDI VOWEL SIGN E
      -		(0x11D3C <= code && code <= 0x11D3D) || // Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
      -		(0x11D3F <= code && code <= 0x11D45) || // Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
      -		0x11D47 == code || // Mn       MASARAM GONDI RA-KARA
      -		(0x16AF0 <= code && code <= 0x16AF4) || // Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
      -		(0x16B30 <= code && code <= 0x16B36) || // Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
      -		(0x16F8F <= code && code <= 0x16F92) || // Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
      -		(0x1BC9D <= code && code <= 0x1BC9E) || // Mn   [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
      -		0x1D165 == code || // Mc       MUSICAL SYMBOL COMBINING STEM
      -		(0x1D167 <= code && code <= 0x1D169) || // Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
      -		(0x1D16E <= code && code <= 0x1D172) || // Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
      -		(0x1D17B <= code && code <= 0x1D182) || // Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
      -		(0x1D185 <= code && code <= 0x1D18B) || // Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
      -		(0x1D1AA <= code && code <= 0x1D1AD) || // Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
      -		(0x1D242 <= code && code <= 0x1D244) || // Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
      -		(0x1DA00 <= code && code <= 0x1DA36) || // Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
      -		(0x1DA3B <= code && code <= 0x1DA6C) || // Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
      -		0x1DA75 == code || // Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
      -		0x1DA84 == code || // Mn       SIGNWRITING LOCATION HEAD NECK
      -		(0x1DA9B <= code && code <= 0x1DA9F) || // Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
      -		(0x1DAA1 <= code && code <= 0x1DAAF) || // Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
      -		(0x1E000 <= code && code <= 0x1E006) || // Mn   [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
      -		(0x1E008 <= code && code <= 0x1E018) || // Mn  [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
      -		(0x1E01B <= code && code <= 0x1E021) || // Mn   [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
      -		(0x1E023 <= code && code <= 0x1E024) || // Mn   [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
      -		(0x1E026 <= code && code <= 0x1E02A) || // Mn   [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
      -		(0x1E8D0 <= code && code <= 0x1E8D6) || // Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
      -		(0x1E944 <= code && code <= 0x1E94A) || // Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
      -		(0xE0020 <= code && code <= 0xE007F) || // Cf  [96] TAG SPACE..CANCEL TAG
      -		(0xE0100 <= code && code <= 0xE01EF) // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
      -		){
      -			return Extend;
      -		}
      -		
      -		
      -		if(
      -		(0x1F1E6 <= code && code <= 0x1F1FF) // So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
      -		){
      -			return Regional_Indicator;
      -		}
      -		
      -		if(
      -		0x0903 == code || // Mc       DEVANAGARI SIGN VISARGA
      -		0x093B == code || // Mc       DEVANAGARI VOWEL SIGN OOE
      -		(0x093E <= code && code <= 0x0940) || // Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
      -		(0x0949 <= code && code <= 0x094C) || // Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
      -		(0x094E <= code && code <= 0x094F) || // Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
      -		(0x0982 <= code && code <= 0x0983) || // Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
      -		(0x09BF <= code && code <= 0x09C0) || // Mc   [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
      -		(0x09C7 <= code && code <= 0x09C8) || // Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
      -		(0x09CB <= code && code <= 0x09CC) || // Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
      -		0x0A03 == code || // Mc       GURMUKHI SIGN VISARGA
      -		(0x0A3E <= code && code <= 0x0A40) || // Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
      -		0x0A83 == code || // Mc       GUJARATI SIGN VISARGA
      -		(0x0ABE <= code && code <= 0x0AC0) || // Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
      -		0x0AC9 == code || // Mc       GUJARATI VOWEL SIGN CANDRA O
      -		(0x0ACB <= code && code <= 0x0ACC) || // Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
      -		(0x0B02 <= code && code <= 0x0B03) || // Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
      -		0x0B40 == code || // Mc       ORIYA VOWEL SIGN II
      -		(0x0B47 <= code && code <= 0x0B48) || // Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
      -		(0x0B4B <= code && code <= 0x0B4C) || // Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
      -		0x0BBF == code || // Mc       TAMIL VOWEL SIGN I
      -		(0x0BC1 <= code && code <= 0x0BC2) || // Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
      -		(0x0BC6 <= code && code <= 0x0BC8) || // Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
      -		(0x0BCA <= code && code <= 0x0BCC) || // Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
      -		(0x0C01 <= code && code <= 0x0C03) || // Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
      -		(0x0C41 <= code && code <= 0x0C44) || // Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
      -		(0x0C82 <= code && code <= 0x0C83) || // Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
      -		0x0CBE == code || // Mc       KANNADA VOWEL SIGN AA
      -		(0x0CC0 <= code && code <= 0x0CC1) || // Mc   [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
      -		(0x0CC3 <= code && code <= 0x0CC4) || // Mc   [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
      -		(0x0CC7 <= code && code <= 0x0CC8) || // Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
      -		(0x0CCA <= code && code <= 0x0CCB) || // Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
      -		(0x0D02 <= code && code <= 0x0D03) || // Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
      -		(0x0D3F <= code && code <= 0x0D40) || // Mc   [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
      -		(0x0D46 <= code && code <= 0x0D48) || // Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
      -		(0x0D4A <= code && code <= 0x0D4C) || // Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
      -		(0x0D82 <= code && code <= 0x0D83) || // Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
      -		(0x0DD0 <= code && code <= 0x0DD1) || // Mc   [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
      -		(0x0DD8 <= code && code <= 0x0DDE) || // Mc   [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
      -		(0x0DF2 <= code && code <= 0x0DF3) || // Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
      -		0x0E33 == code || // Lo       THAI CHARACTER SARA AM
      -		0x0EB3 == code || // Lo       LAO VOWEL SIGN AM
      -		(0x0F3E <= code && code <= 0x0F3F) || // Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
      -		0x0F7F == code || // Mc       TIBETAN SIGN RNAM BCAD
      -		0x1031 == code || // Mc       MYANMAR VOWEL SIGN E
      -		(0x103B <= code && code <= 0x103C) || // Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
      -		(0x1056 <= code && code <= 0x1057) || // Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
      -		0x1084 == code || // Mc       MYANMAR VOWEL SIGN SHAN E
      -		0x17B6 == code || // Mc       KHMER VOWEL SIGN AA
      -		(0x17BE <= code && code <= 0x17C5) || // Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
      -		(0x17C7 <= code && code <= 0x17C8) || // Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
      -		(0x1923 <= code && code <= 0x1926) || // Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
      -		(0x1929 <= code && code <= 0x192B) || // Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
      -		(0x1930 <= code && code <= 0x1931) || // Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
      -		(0x1933 <= code && code <= 0x1938) || // Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
      -		(0x1A19 <= code && code <= 0x1A1A) || // Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
      -		0x1A55 == code || // Mc       TAI THAM CONSONANT SIGN MEDIAL RA
      -		0x1A57 == code || // Mc       TAI THAM CONSONANT SIGN LA TANG LAI
      -		(0x1A6D <= code && code <= 0x1A72) || // Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
      -		0x1B04 == code || // Mc       BALINESE SIGN BISAH
      -		0x1B35 == code || // Mc       BALINESE VOWEL SIGN TEDUNG
      -		0x1B3B == code || // Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
      -		(0x1B3D <= code && code <= 0x1B41) || // Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
      -		(0x1B43 <= code && code <= 0x1B44) || // Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
      -		0x1B82 == code || // Mc       SUNDANESE SIGN PANGWISAD
      -		0x1BA1 == code || // Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
      -		(0x1BA6 <= code && code <= 0x1BA7) || // Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
      -		0x1BAA == code || // Mc       SUNDANESE SIGN PAMAAEH
      -		0x1BE7 == code || // Mc       BATAK VOWEL SIGN E
      -		(0x1BEA <= code && code <= 0x1BEC) || // Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
      -		0x1BEE == code || // Mc       BATAK VOWEL SIGN U
      -		(0x1BF2 <= code && code <= 0x1BF3) || // Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
      -		(0x1C24 <= code && code <= 0x1C2B) || // Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
      -		(0x1C34 <= code && code <= 0x1C35) || // Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
      -		0x1CE1 == code || // Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
      -		(0x1CF2 <= code && code <= 0x1CF3) || // Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
      -		0x1CF7 == code || // Mc       VEDIC SIGN ATIKRAMA
      -		(0xA823 <= code && code <= 0xA824) || // Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
      -		0xA827 == code || // Mc       SYLOTI NAGRI VOWEL SIGN OO
      -		(0xA880 <= code && code <= 0xA881) || // Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
      -		(0xA8B4 <= code && code <= 0xA8C3) || // Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
      -		(0xA952 <= code && code <= 0xA953) || // Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
      -		0xA983 == code || // Mc       JAVANESE SIGN WIGNYAN
      -		(0xA9B4 <= code && code <= 0xA9B5) || // Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
      -		(0xA9BA <= code && code <= 0xA9BB) || // Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
      -		(0xA9BD <= code && code <= 0xA9C0) || // Mc   [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
      -		(0xAA2F <= code && code <= 0xAA30) || // Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
      -		(0xAA33 <= code && code <= 0xAA34) || // Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
      -		0xAA4D == code || // Mc       CHAM CONSONANT SIGN FINAL H
      -		0xAAEB == code || // Mc       MEETEI MAYEK VOWEL SIGN II
      -		(0xAAEE <= code && code <= 0xAAEF) || // Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
      -		0xAAF5 == code || // Mc       MEETEI MAYEK VOWEL SIGN VISARGA
      -		(0xABE3 <= code && code <= 0xABE4) || // Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
      -		(0xABE6 <= code && code <= 0xABE7) || // Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
      -		(0xABE9 <= code && code <= 0xABEA) || // Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
      -		0xABEC == code || // Mc       MEETEI MAYEK LUM IYEK
      -		0x11000 == code || // Mc       BRAHMI SIGN CANDRABINDU
      -		0x11002 == code || // Mc       BRAHMI SIGN VISARGA
      -		0x11082 == code || // Mc       KAITHI SIGN VISARGA
      -		(0x110B0 <= code && code <= 0x110B2) || // Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
      -		(0x110B7 <= code && code <= 0x110B8) || // Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
      -		0x1112C == code || // Mc       CHAKMA VOWEL SIGN E
      -		0x11182 == code || // Mc       SHARADA SIGN VISARGA
      -		(0x111B3 <= code && code <= 0x111B5) || // Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
      -		(0x111BF <= code && code <= 0x111C0) || // Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
      -		(0x1122C <= code && code <= 0x1122E) || // Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
      -		(0x11232 <= code && code <= 0x11233) || // Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
      -		0x11235 == code || // Mc       KHOJKI SIGN VIRAMA
      -		(0x112E0 <= code && code <= 0x112E2) || // Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
      -		(0x11302 <= code && code <= 0x11303) || // Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
      -		0x1133F == code || // Mc       GRANTHA VOWEL SIGN I
      -		(0x11341 <= code && code <= 0x11344) || // Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
      -		(0x11347 <= code && code <= 0x11348) || // Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
      -		(0x1134B <= code && code <= 0x1134D) || // Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
      -		(0x11362 <= code && code <= 0x11363) || // Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
      -		(0x11435 <= code && code <= 0x11437) || // Mc   [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
      -		(0x11440 <= code && code <= 0x11441) || // Mc   [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
      -		0x11445 == code || // Mc       NEWA SIGN VISARGA
      -		(0x114B1 <= code && code <= 0x114B2) || // Mc   [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
      -		0x114B9 == code || // Mc       TIRHUTA VOWEL SIGN E
      -		(0x114BB <= code && code <= 0x114BC) || // Mc   [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
      -		0x114BE == code || // Mc       TIRHUTA VOWEL SIGN AU
      -		0x114C1 == code || // Mc       TIRHUTA SIGN VISARGA
      -		(0x115B0 <= code && code <= 0x115B1) || // Mc   [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
      -		(0x115B8 <= code && code <= 0x115BB) || // Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
      -		0x115BE == code || // Mc       SIDDHAM SIGN VISARGA
      -		(0x11630 <= code && code <= 0x11632) || // Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
      -		(0x1163B <= code && code <= 0x1163C) || // Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
      -		0x1163E == code || // Mc       MODI SIGN VISARGA
      -		0x116AC == code || // Mc       TAKRI SIGN VISARGA
      -		(0x116AE <= code && code <= 0x116AF) || // Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
      -		0x116B6 == code || // Mc       TAKRI SIGN VIRAMA
      -		(0x11720 <= code && code <= 0x11721) || // Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
      -		0x11726 == code || // Mc       AHOM VOWEL SIGN E
      -		(0x11A07 <= code && code <= 0x11A08) || // Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
      -		0x11A39 == code || // Mc       ZANABAZAR SQUARE SIGN VISARGA
      -		(0x11A57 <= code && code <= 0x11A58) || // Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
      -		0x11A97 == code || // Mc       SOYOMBO SIGN VISARGA
      -		0x11C2F == code || // Mc       BHAIKSUKI VOWEL SIGN AA
      -		0x11C3E == code || // Mc       BHAIKSUKI SIGN VISARGA
      -		0x11CA9 == code || // Mc       MARCHEN SUBJOINED LETTER YA
      -		0x11CB1 == code || // Mc       MARCHEN VOWEL SIGN I
      -		0x11CB4 == code || // Mc       MARCHEN VOWEL SIGN O
      -		(0x16F51 <= code && code <= 0x16F7E) || // Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
      -		0x1D166 == code || // Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
      -		0x1D16D == code // Mc       MUSICAL SYMBOL COMBINING AUGMENTATION DOT
      -		){
      -			return SpacingMark;
      -		}
      -		
      -		
      -		if(
      -		(0x1100 <= code && code <= 0x115F) || // Lo  [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
      -		(0xA960 <= code && code <= 0xA97C) // Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
      -		){
      -			return L;
      -		}
      -		
      -		if(
      -		(0x1160 <= code && code <= 0x11A7) || // Lo  [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
      -		(0xD7B0 <= code && code <= 0xD7C6) // Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
      -		){
      -			return V;
      -		}
      -		
      -		
      -		if(
      -		(0x11A8 <= code && code <= 0x11FF) || // Lo  [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
      -		(0xD7CB <= code && code <= 0xD7FB) // Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
      -		){
      -			return T;
      -		}
      -		
      -		if(
      -		0xAC00 == code || // Lo       HANGUL SYLLABLE GA
      -		0xAC1C == code || // Lo       HANGUL SYLLABLE GAE
      -		0xAC38 == code || // Lo       HANGUL SYLLABLE GYA
      -		0xAC54 == code || // Lo       HANGUL SYLLABLE GYAE
      -		0xAC70 == code || // Lo       HANGUL SYLLABLE GEO
      -		0xAC8C == code || // Lo       HANGUL SYLLABLE GE
      -		0xACA8 == code || // Lo       HANGUL SYLLABLE GYEO
      -		0xACC4 == code || // Lo       HANGUL SYLLABLE GYE
      -		0xACE0 == code || // Lo       HANGUL SYLLABLE GO
      -		0xACFC == code || // Lo       HANGUL SYLLABLE GWA
      -		0xAD18 == code || // Lo       HANGUL SYLLABLE GWAE
      -		0xAD34 == code || // Lo       HANGUL SYLLABLE GOE
      -		0xAD50 == code || // Lo       HANGUL SYLLABLE GYO
      -		0xAD6C == code || // Lo       HANGUL SYLLABLE GU
      -		0xAD88 == code || // Lo       HANGUL SYLLABLE GWEO
      -		0xADA4 == code || // Lo       HANGUL SYLLABLE GWE
      -		0xADC0 == code || // Lo       HANGUL SYLLABLE GWI
      -		0xADDC == code || // Lo       HANGUL SYLLABLE GYU
      -		0xADF8 == code || // Lo       HANGUL SYLLABLE GEU
      -		0xAE14 == code || // Lo       HANGUL SYLLABLE GYI
      -		0xAE30 == code || // Lo       HANGUL SYLLABLE GI
      -		0xAE4C == code || // Lo       HANGUL SYLLABLE GGA
      -		0xAE68 == code || // Lo       HANGUL SYLLABLE GGAE
      -		0xAE84 == code || // Lo       HANGUL SYLLABLE GGYA
      -		0xAEA0 == code || // Lo       HANGUL SYLLABLE GGYAE
      -		0xAEBC == code || // Lo       HANGUL SYLLABLE GGEO
      -		0xAED8 == code || // Lo       HANGUL SYLLABLE GGE
      -		0xAEF4 == code || // Lo       HANGUL SYLLABLE GGYEO
      -		0xAF10 == code || // Lo       HANGUL SYLLABLE GGYE
      -		0xAF2C == code || // Lo       HANGUL SYLLABLE GGO
      -		0xAF48 == code || // Lo       HANGUL SYLLABLE GGWA
      -		0xAF64 == code || // Lo       HANGUL SYLLABLE GGWAE
      -		0xAF80 == code || // Lo       HANGUL SYLLABLE GGOE
      -		0xAF9C == code || // Lo       HANGUL SYLLABLE GGYO
      -		0xAFB8 == code || // Lo       HANGUL SYLLABLE GGU
      -		0xAFD4 == code || // Lo       HANGUL SYLLABLE GGWEO
      -		0xAFF0 == code || // Lo       HANGUL SYLLABLE GGWE
      -		0xB00C == code || // Lo       HANGUL SYLLABLE GGWI
      -		0xB028 == code || // Lo       HANGUL SYLLABLE GGYU
      -		0xB044 == code || // Lo       HANGUL SYLLABLE GGEU
      -		0xB060 == code || // Lo       HANGUL SYLLABLE GGYI
      -		0xB07C == code || // Lo       HANGUL SYLLABLE GGI
      -		0xB098 == code || // Lo       HANGUL SYLLABLE NA
      -		0xB0B4 == code || // Lo       HANGUL SYLLABLE NAE
      -		0xB0D0 == code || // Lo       HANGUL SYLLABLE NYA
      -		0xB0EC == code || // Lo       HANGUL SYLLABLE NYAE
      -		0xB108 == code || // Lo       HANGUL SYLLABLE NEO
      -		0xB124 == code || // Lo       HANGUL SYLLABLE NE
      -		0xB140 == code || // Lo       HANGUL SYLLABLE NYEO
      -		0xB15C == code || // Lo       HANGUL SYLLABLE NYE
      -		0xB178 == code || // Lo       HANGUL SYLLABLE NO
      -		0xB194 == code || // Lo       HANGUL SYLLABLE NWA
      -		0xB1B0 == code || // Lo       HANGUL SYLLABLE NWAE
      -		0xB1CC == code || // Lo       HANGUL SYLLABLE NOE
      -		0xB1E8 == code || // Lo       HANGUL SYLLABLE NYO
      -		0xB204 == code || // Lo       HANGUL SYLLABLE NU
      -		0xB220 == code || // Lo       HANGUL SYLLABLE NWEO
      -		0xB23C == code || // Lo       HANGUL SYLLABLE NWE
      -		0xB258 == code || // Lo       HANGUL SYLLABLE NWI
      -		0xB274 == code || // Lo       HANGUL SYLLABLE NYU
      -		0xB290 == code || // Lo       HANGUL SYLLABLE NEU
      -		0xB2AC == code || // Lo       HANGUL SYLLABLE NYI
      -		0xB2C8 == code || // Lo       HANGUL SYLLABLE NI
      -		0xB2E4 == code || // Lo       HANGUL SYLLABLE DA
      -		0xB300 == code || // Lo       HANGUL SYLLABLE DAE
      -		0xB31C == code || // Lo       HANGUL SYLLABLE DYA
      -		0xB338 == code || // Lo       HANGUL SYLLABLE DYAE
      -		0xB354 == code || // Lo       HANGUL SYLLABLE DEO
      -		0xB370 == code || // Lo       HANGUL SYLLABLE DE
      -		0xB38C == code || // Lo       HANGUL SYLLABLE DYEO
      -		0xB3A8 == code || // Lo       HANGUL SYLLABLE DYE
      -		0xB3C4 == code || // Lo       HANGUL SYLLABLE DO
      -		0xB3E0 == code || // Lo       HANGUL SYLLABLE DWA
      -		0xB3FC == code || // Lo       HANGUL SYLLABLE DWAE
      -		0xB418 == code || // Lo       HANGUL SYLLABLE DOE
      -		0xB434 == code || // Lo       HANGUL SYLLABLE DYO
      -		0xB450 == code || // Lo       HANGUL SYLLABLE DU
      -		0xB46C == code || // Lo       HANGUL SYLLABLE DWEO
      -		0xB488 == code || // Lo       HANGUL SYLLABLE DWE
      -		0xB4A4 == code || // Lo       HANGUL SYLLABLE DWI
      -		0xB4C0 == code || // Lo       HANGUL SYLLABLE DYU
      -		0xB4DC == code || // Lo       HANGUL SYLLABLE DEU
      -		0xB4F8 == code || // Lo       HANGUL SYLLABLE DYI
      -		0xB514 == code || // Lo       HANGUL SYLLABLE DI
      -		0xB530 == code || // Lo       HANGUL SYLLABLE DDA
      -		0xB54C == code || // Lo       HANGUL SYLLABLE DDAE
      -		0xB568 == code || // Lo       HANGUL SYLLABLE DDYA
      -		0xB584 == code || // Lo       HANGUL SYLLABLE DDYAE
      -		0xB5A0 == code || // Lo       HANGUL SYLLABLE DDEO
      -		0xB5BC == code || // Lo       HANGUL SYLLABLE DDE
      -		0xB5D8 == code || // Lo       HANGUL SYLLABLE DDYEO
      -		0xB5F4 == code || // Lo       HANGUL SYLLABLE DDYE
      -		0xB610 == code || // Lo       HANGUL SYLLABLE DDO
      -		0xB62C == code || // Lo       HANGUL SYLLABLE DDWA
      -		0xB648 == code || // Lo       HANGUL SYLLABLE DDWAE
      -		0xB664 == code || // Lo       HANGUL SYLLABLE DDOE
      -		0xB680 == code || // Lo       HANGUL SYLLABLE DDYO
      -		0xB69C == code || // Lo       HANGUL SYLLABLE DDU
      -		0xB6B8 == code || // Lo       HANGUL SYLLABLE DDWEO
      -		0xB6D4 == code || // Lo       HANGUL SYLLABLE DDWE
      -		0xB6F0 == code || // Lo       HANGUL SYLLABLE DDWI
      -		0xB70C == code || // Lo       HANGUL SYLLABLE DDYU
      -		0xB728 == code || // Lo       HANGUL SYLLABLE DDEU
      -		0xB744 == code || // Lo       HANGUL SYLLABLE DDYI
      -		0xB760 == code || // Lo       HANGUL SYLLABLE DDI
      -		0xB77C == code || // Lo       HANGUL SYLLABLE RA
      -		0xB798 == code || // Lo       HANGUL SYLLABLE RAE
      -		0xB7B4 == code || // Lo       HANGUL SYLLABLE RYA
      -		0xB7D0 == code || // Lo       HANGUL SYLLABLE RYAE
      -		0xB7EC == code || // Lo       HANGUL SYLLABLE REO
      -		0xB808 == code || // Lo       HANGUL SYLLABLE RE
      -		0xB824 == code || // Lo       HANGUL SYLLABLE RYEO
      -		0xB840 == code || // Lo       HANGUL SYLLABLE RYE
      -		0xB85C == code || // Lo       HANGUL SYLLABLE RO
      -		0xB878 == code || // Lo       HANGUL SYLLABLE RWA
      -		0xB894 == code || // Lo       HANGUL SYLLABLE RWAE
      -		0xB8B0 == code || // Lo       HANGUL SYLLABLE ROE
      -		0xB8CC == code || // Lo       HANGUL SYLLABLE RYO
      -		0xB8E8 == code || // Lo       HANGUL SYLLABLE RU
      -		0xB904 == code || // Lo       HANGUL SYLLABLE RWEO
      -		0xB920 == code || // Lo       HANGUL SYLLABLE RWE
      -		0xB93C == code || // Lo       HANGUL SYLLABLE RWI
      -		0xB958 == code || // Lo       HANGUL SYLLABLE RYU
      -		0xB974 == code || // Lo       HANGUL SYLLABLE REU
      -		0xB990 == code || // Lo       HANGUL SYLLABLE RYI
      -		0xB9AC == code || // Lo       HANGUL SYLLABLE RI
      -		0xB9C8 == code || // Lo       HANGUL SYLLABLE MA
      -		0xB9E4 == code || // Lo       HANGUL SYLLABLE MAE
      -		0xBA00 == code || // Lo       HANGUL SYLLABLE MYA
      -		0xBA1C == code || // Lo       HANGUL SYLLABLE MYAE
      -		0xBA38 == code || // Lo       HANGUL SYLLABLE MEO
      -		0xBA54 == code || // Lo       HANGUL SYLLABLE ME
      -		0xBA70 == code || // Lo       HANGUL SYLLABLE MYEO
      -		0xBA8C == code || // Lo       HANGUL SYLLABLE MYE
      -		0xBAA8 == code || // Lo       HANGUL SYLLABLE MO
      -		0xBAC4 == code || // Lo       HANGUL SYLLABLE MWA
      -		0xBAE0 == code || // Lo       HANGUL SYLLABLE MWAE
      -		0xBAFC == code || // Lo       HANGUL SYLLABLE MOE
      -		0xBB18 == code || // Lo       HANGUL SYLLABLE MYO
      -		0xBB34 == code || // Lo       HANGUL SYLLABLE MU
      -		0xBB50 == code || // Lo       HANGUL SYLLABLE MWEO
      -		0xBB6C == code || // Lo       HANGUL SYLLABLE MWE
      -		0xBB88 == code || // Lo       HANGUL SYLLABLE MWI
      -		0xBBA4 == code || // Lo       HANGUL SYLLABLE MYU
      -		0xBBC0 == code || // Lo       HANGUL SYLLABLE MEU
      -		0xBBDC == code || // Lo       HANGUL SYLLABLE MYI
      -		0xBBF8 == code || // Lo       HANGUL SYLLABLE MI
      -		0xBC14 == code || // Lo       HANGUL SYLLABLE BA
      -		0xBC30 == code || // Lo       HANGUL SYLLABLE BAE
      -		0xBC4C == code || // Lo       HANGUL SYLLABLE BYA
      -		0xBC68 == code || // Lo       HANGUL SYLLABLE BYAE
      -		0xBC84 == code || // Lo       HANGUL SYLLABLE BEO
      -		0xBCA0 == code || // Lo       HANGUL SYLLABLE BE
      -		0xBCBC == code || // Lo       HANGUL SYLLABLE BYEO
      -		0xBCD8 == code || // Lo       HANGUL SYLLABLE BYE
      -		0xBCF4 == code || // Lo       HANGUL SYLLABLE BO
      -		0xBD10 == code || // Lo       HANGUL SYLLABLE BWA
      -		0xBD2C == code || // Lo       HANGUL SYLLABLE BWAE
      -		0xBD48 == code || // Lo       HANGUL SYLLABLE BOE
      -		0xBD64 == code || // Lo       HANGUL SYLLABLE BYO
      -		0xBD80 == code || // Lo       HANGUL SYLLABLE BU
      -		0xBD9C == code || // Lo       HANGUL SYLLABLE BWEO
      -		0xBDB8 == code || // Lo       HANGUL SYLLABLE BWE
      -		0xBDD4 == code || // Lo       HANGUL SYLLABLE BWI
      -		0xBDF0 == code || // Lo       HANGUL SYLLABLE BYU
      -		0xBE0C == code || // Lo       HANGUL SYLLABLE BEU
      -		0xBE28 == code || // Lo       HANGUL SYLLABLE BYI
      -		0xBE44 == code || // Lo       HANGUL SYLLABLE BI
      -		0xBE60 == code || // Lo       HANGUL SYLLABLE BBA
      -		0xBE7C == code || // Lo       HANGUL SYLLABLE BBAE
      -		0xBE98 == code || // Lo       HANGUL SYLLABLE BBYA
      -		0xBEB4 == code || // Lo       HANGUL SYLLABLE BBYAE
      -		0xBED0 == code || // Lo       HANGUL SYLLABLE BBEO
      -		0xBEEC == code || // Lo       HANGUL SYLLABLE BBE
      -		0xBF08 == code || // Lo       HANGUL SYLLABLE BBYEO
      -		0xBF24 == code || // Lo       HANGUL SYLLABLE BBYE
      -		0xBF40 == code || // Lo       HANGUL SYLLABLE BBO
      -		0xBF5C == code || // Lo       HANGUL SYLLABLE BBWA
      -		0xBF78 == code || // Lo       HANGUL SYLLABLE BBWAE
      -		0xBF94 == code || // Lo       HANGUL SYLLABLE BBOE
      -		0xBFB0 == code || // Lo       HANGUL SYLLABLE BBYO
      -		0xBFCC == code || // Lo       HANGUL SYLLABLE BBU
      -		0xBFE8 == code || // Lo       HANGUL SYLLABLE BBWEO
      -		0xC004 == code || // Lo       HANGUL SYLLABLE BBWE
      -		0xC020 == code || // Lo       HANGUL SYLLABLE BBWI
      -		0xC03C == code || // Lo       HANGUL SYLLABLE BBYU
      -		0xC058 == code || // Lo       HANGUL SYLLABLE BBEU
      -		0xC074 == code || // Lo       HANGUL SYLLABLE BBYI
      -		0xC090 == code || // Lo       HANGUL SYLLABLE BBI
      -		0xC0AC == code || // Lo       HANGUL SYLLABLE SA
      -		0xC0C8 == code || // Lo       HANGUL SYLLABLE SAE
      -		0xC0E4 == code || // Lo       HANGUL SYLLABLE SYA
      -		0xC100 == code || // Lo       HANGUL SYLLABLE SYAE
      -		0xC11C == code || // Lo       HANGUL SYLLABLE SEO
      -		0xC138 == code || // Lo       HANGUL SYLLABLE SE
      -		0xC154 == code || // Lo       HANGUL SYLLABLE SYEO
      -		0xC170 == code || // Lo       HANGUL SYLLABLE SYE
      -		0xC18C == code || // Lo       HANGUL SYLLABLE SO
      -		0xC1A8 == code || // Lo       HANGUL SYLLABLE SWA
      -		0xC1C4 == code || // Lo       HANGUL SYLLABLE SWAE
      -		0xC1E0 == code || // Lo       HANGUL SYLLABLE SOE
      -		0xC1FC == code || // Lo       HANGUL SYLLABLE SYO
      -		0xC218 == code || // Lo       HANGUL SYLLABLE SU
      -		0xC234 == code || // Lo       HANGUL SYLLABLE SWEO
      -		0xC250 == code || // Lo       HANGUL SYLLABLE SWE
      -		0xC26C == code || // Lo       HANGUL SYLLABLE SWI
      -		0xC288 == code || // Lo       HANGUL SYLLABLE SYU
      -		0xC2A4 == code || // Lo       HANGUL SYLLABLE SEU
      -		0xC2C0 == code || // Lo       HANGUL SYLLABLE SYI
      -		0xC2DC == code || // Lo       HANGUL SYLLABLE SI
      -		0xC2F8 == code || // Lo       HANGUL SYLLABLE SSA
      -		0xC314 == code || // Lo       HANGUL SYLLABLE SSAE
      -		0xC330 == code || // Lo       HANGUL SYLLABLE SSYA
      -		0xC34C == code || // Lo       HANGUL SYLLABLE SSYAE
      -		0xC368 == code || // Lo       HANGUL SYLLABLE SSEO
      -		0xC384 == code || // Lo       HANGUL SYLLABLE SSE
      -		0xC3A0 == code || // Lo       HANGUL SYLLABLE SSYEO
      -		0xC3BC == code || // Lo       HANGUL SYLLABLE SSYE
      -		0xC3D8 == code || // Lo       HANGUL SYLLABLE SSO
      -		0xC3F4 == code || // Lo       HANGUL SYLLABLE SSWA
      -		0xC410 == code || // Lo       HANGUL SYLLABLE SSWAE
      -		0xC42C == code || // Lo       HANGUL SYLLABLE SSOE
      -		0xC448 == code || // Lo       HANGUL SYLLABLE SSYO
      -		0xC464 == code || // Lo       HANGUL SYLLABLE SSU
      -		0xC480 == code || // Lo       HANGUL SYLLABLE SSWEO
      -		0xC49C == code || // Lo       HANGUL SYLLABLE SSWE
      -		0xC4B8 == code || // Lo       HANGUL SYLLABLE SSWI
      -		0xC4D4 == code || // Lo       HANGUL SYLLABLE SSYU
      -		0xC4F0 == code || // Lo       HANGUL SYLLABLE SSEU
      -		0xC50C == code || // Lo       HANGUL SYLLABLE SSYI
      -		0xC528 == code || // Lo       HANGUL SYLLABLE SSI
      -		0xC544 == code || // Lo       HANGUL SYLLABLE A
      -		0xC560 == code || // Lo       HANGUL SYLLABLE AE
      -		0xC57C == code || // Lo       HANGUL SYLLABLE YA
      -		0xC598 == code || // Lo       HANGUL SYLLABLE YAE
      -		0xC5B4 == code || // Lo       HANGUL SYLLABLE EO
      -		0xC5D0 == code || // Lo       HANGUL SYLLABLE E
      -		0xC5EC == code || // Lo       HANGUL SYLLABLE YEO
      -		0xC608 == code || // Lo       HANGUL SYLLABLE YE
      -		0xC624 == code || // Lo       HANGUL SYLLABLE O
      -		0xC640 == code || // Lo       HANGUL SYLLABLE WA
      -		0xC65C == code || // Lo       HANGUL SYLLABLE WAE
      -		0xC678 == code || // Lo       HANGUL SYLLABLE OE
      -		0xC694 == code || // Lo       HANGUL SYLLABLE YO
      -		0xC6B0 == code || // Lo       HANGUL SYLLABLE U
      -		0xC6CC == code || // Lo       HANGUL SYLLABLE WEO
      -		0xC6E8 == code || // Lo       HANGUL SYLLABLE WE
      -		0xC704 == code || // Lo       HANGUL SYLLABLE WI
      -		0xC720 == code || // Lo       HANGUL SYLLABLE YU
      -		0xC73C == code || // Lo       HANGUL SYLLABLE EU
      -		0xC758 == code || // Lo       HANGUL SYLLABLE YI
      -		0xC774 == code || // Lo       HANGUL SYLLABLE I
      -		0xC790 == code || // Lo       HANGUL SYLLABLE JA
      -		0xC7AC == code || // Lo       HANGUL SYLLABLE JAE
      -		0xC7C8 == code || // Lo       HANGUL SYLLABLE JYA
      -		0xC7E4 == code || // Lo       HANGUL SYLLABLE JYAE
      -		0xC800 == code || // Lo       HANGUL SYLLABLE JEO
      -		0xC81C == code || // Lo       HANGUL SYLLABLE JE
      -		0xC838 == code || // Lo       HANGUL SYLLABLE JYEO
      -		0xC854 == code || // Lo       HANGUL SYLLABLE JYE
      -		0xC870 == code || // Lo       HANGUL SYLLABLE JO
      -		0xC88C == code || // Lo       HANGUL SYLLABLE JWA
      -		0xC8A8 == code || // Lo       HANGUL SYLLABLE JWAE
      -		0xC8C4 == code || // Lo       HANGUL SYLLABLE JOE
      -		0xC8E0 == code || // Lo       HANGUL SYLLABLE JYO
      -		0xC8FC == code || // Lo       HANGUL SYLLABLE JU
      -		0xC918 == code || // Lo       HANGUL SYLLABLE JWEO
      -		0xC934 == code || // Lo       HANGUL SYLLABLE JWE
      -		0xC950 == code || // Lo       HANGUL SYLLABLE JWI
      -		0xC96C == code || // Lo       HANGUL SYLLABLE JYU
      -		0xC988 == code || // Lo       HANGUL SYLLABLE JEU
      -		0xC9A4 == code || // Lo       HANGUL SYLLABLE JYI
      -		0xC9C0 == code || // Lo       HANGUL SYLLABLE JI
      -		0xC9DC == code || // Lo       HANGUL SYLLABLE JJA
      -		0xC9F8 == code || // Lo       HANGUL SYLLABLE JJAE
      -		0xCA14 == code || // Lo       HANGUL SYLLABLE JJYA
      -		0xCA30 == code || // Lo       HANGUL SYLLABLE JJYAE
      -		0xCA4C == code || // Lo       HANGUL SYLLABLE JJEO
      -		0xCA68 == code || // Lo       HANGUL SYLLABLE JJE
      -		0xCA84 == code || // Lo       HANGUL SYLLABLE JJYEO
      -		0xCAA0 == code || // Lo       HANGUL SYLLABLE JJYE
      -		0xCABC == code || // Lo       HANGUL SYLLABLE JJO
      -		0xCAD8 == code || // Lo       HANGUL SYLLABLE JJWA
      -		0xCAF4 == code || // Lo       HANGUL SYLLABLE JJWAE
      -		0xCB10 == code || // Lo       HANGUL SYLLABLE JJOE
      -		0xCB2C == code || // Lo       HANGUL SYLLABLE JJYO
      -		0xCB48 == code || // Lo       HANGUL SYLLABLE JJU
      -		0xCB64 == code || // Lo       HANGUL SYLLABLE JJWEO
      -		0xCB80 == code || // Lo       HANGUL SYLLABLE JJWE
      -		0xCB9C == code || // Lo       HANGUL SYLLABLE JJWI
      -		0xCBB8 == code || // Lo       HANGUL SYLLABLE JJYU
      -		0xCBD4 == code || // Lo       HANGUL SYLLABLE JJEU
      -		0xCBF0 == code || // Lo       HANGUL SYLLABLE JJYI
      -		0xCC0C == code || // Lo       HANGUL SYLLABLE JJI
      -		0xCC28 == code || // Lo       HANGUL SYLLABLE CA
      -		0xCC44 == code || // Lo       HANGUL SYLLABLE CAE
      -		0xCC60 == code || // Lo       HANGUL SYLLABLE CYA
      -		0xCC7C == code || // Lo       HANGUL SYLLABLE CYAE
      -		0xCC98 == code || // Lo       HANGUL SYLLABLE CEO
      -		0xCCB4 == code || // Lo       HANGUL SYLLABLE CE
      -		0xCCD0 == code || // Lo       HANGUL SYLLABLE CYEO
      -		0xCCEC == code || // Lo       HANGUL SYLLABLE CYE
      -		0xCD08 == code || // Lo       HANGUL SYLLABLE CO
      -		0xCD24 == code || // Lo       HANGUL SYLLABLE CWA
      -		0xCD40 == code || // Lo       HANGUL SYLLABLE CWAE
      -		0xCD5C == code || // Lo       HANGUL SYLLABLE COE
      -		0xCD78 == code || // Lo       HANGUL SYLLABLE CYO
      -		0xCD94 == code || // Lo       HANGUL SYLLABLE CU
      -		0xCDB0 == code || // Lo       HANGUL SYLLABLE CWEO
      -		0xCDCC == code || // Lo       HANGUL SYLLABLE CWE
      -		0xCDE8 == code || // Lo       HANGUL SYLLABLE CWI
      -		0xCE04 == code || // Lo       HANGUL SYLLABLE CYU
      -		0xCE20 == code || // Lo       HANGUL SYLLABLE CEU
      -		0xCE3C == code || // Lo       HANGUL SYLLABLE CYI
      -		0xCE58 == code || // Lo       HANGUL SYLLABLE CI
      -		0xCE74 == code || // Lo       HANGUL SYLLABLE KA
      -		0xCE90 == code || // Lo       HANGUL SYLLABLE KAE
      -		0xCEAC == code || // Lo       HANGUL SYLLABLE KYA
      -		0xCEC8 == code || // Lo       HANGUL SYLLABLE KYAE
      -		0xCEE4 == code || // Lo       HANGUL SYLLABLE KEO
      -		0xCF00 == code || // Lo       HANGUL SYLLABLE KE
      -		0xCF1C == code || // Lo       HANGUL SYLLABLE KYEO
      -		0xCF38 == code || // Lo       HANGUL SYLLABLE KYE
      -		0xCF54 == code || // Lo       HANGUL SYLLABLE KO
      -		0xCF70 == code || // Lo       HANGUL SYLLABLE KWA
      -		0xCF8C == code || // Lo       HANGUL SYLLABLE KWAE
      -		0xCFA8 == code || // Lo       HANGUL SYLLABLE KOE
      -		0xCFC4 == code || // Lo       HANGUL SYLLABLE KYO
      -		0xCFE0 == code || // Lo       HANGUL SYLLABLE KU
      -		0xCFFC == code || // Lo       HANGUL SYLLABLE KWEO
      -		0xD018 == code || // Lo       HANGUL SYLLABLE KWE
      -		0xD034 == code || // Lo       HANGUL SYLLABLE KWI
      -		0xD050 == code || // Lo       HANGUL SYLLABLE KYU
      -		0xD06C == code || // Lo       HANGUL SYLLABLE KEU
      -		0xD088 == code || // Lo       HANGUL SYLLABLE KYI
      -		0xD0A4 == code || // Lo       HANGUL SYLLABLE KI
      -		0xD0C0 == code || // Lo       HANGUL SYLLABLE TA
      -		0xD0DC == code || // Lo       HANGUL SYLLABLE TAE
      -		0xD0F8 == code || // Lo       HANGUL SYLLABLE TYA
      -		0xD114 == code || // Lo       HANGUL SYLLABLE TYAE
      -		0xD130 == code || // Lo       HANGUL SYLLABLE TEO
      -		0xD14C == code || // Lo       HANGUL SYLLABLE TE
      -		0xD168 == code || // Lo       HANGUL SYLLABLE TYEO
      -		0xD184 == code || // Lo       HANGUL SYLLABLE TYE
      -		0xD1A0 == code || // Lo       HANGUL SYLLABLE TO
      -		0xD1BC == code || // Lo       HANGUL SYLLABLE TWA
      -		0xD1D8 == code || // Lo       HANGUL SYLLABLE TWAE
      -		0xD1F4 == code || // Lo       HANGUL SYLLABLE TOE
      -		0xD210 == code || // Lo       HANGUL SYLLABLE TYO
      -		0xD22C == code || // Lo       HANGUL SYLLABLE TU
      -		0xD248 == code || // Lo       HANGUL SYLLABLE TWEO
      -		0xD264 == code || // Lo       HANGUL SYLLABLE TWE
      -		0xD280 == code || // Lo       HANGUL SYLLABLE TWI
      -		0xD29C == code || // Lo       HANGUL SYLLABLE TYU
      -		0xD2B8 == code || // Lo       HANGUL SYLLABLE TEU
      -		0xD2D4 == code || // Lo       HANGUL SYLLABLE TYI
      -		0xD2F0 == code || // Lo       HANGUL SYLLABLE TI
      -		0xD30C == code || // Lo       HANGUL SYLLABLE PA
      -		0xD328 == code || // Lo       HANGUL SYLLABLE PAE
      -		0xD344 == code || // Lo       HANGUL SYLLABLE PYA
      -		0xD360 == code || // Lo       HANGUL SYLLABLE PYAE
      -		0xD37C == code || // Lo       HANGUL SYLLABLE PEO
      -		0xD398 == code || // Lo       HANGUL SYLLABLE PE
      -		0xD3B4 == code || // Lo       HANGUL SYLLABLE PYEO
      -		0xD3D0 == code || // Lo       HANGUL SYLLABLE PYE
      -		0xD3EC == code || // Lo       HANGUL SYLLABLE PO
      -		0xD408 == code || // Lo       HANGUL SYLLABLE PWA
      -		0xD424 == code || // Lo       HANGUL SYLLABLE PWAE
      -		0xD440 == code || // Lo       HANGUL SYLLABLE POE
      -		0xD45C == code || // Lo       HANGUL SYLLABLE PYO
      -		0xD478 == code || // Lo       HANGUL SYLLABLE PU
      -		0xD494 == code || // Lo       HANGUL SYLLABLE PWEO
      -		0xD4B0 == code || // Lo       HANGUL SYLLABLE PWE
      -		0xD4CC == code || // Lo       HANGUL SYLLABLE PWI
      -		0xD4E8 == code || // Lo       HANGUL SYLLABLE PYU
      -		0xD504 == code || // Lo       HANGUL SYLLABLE PEU
      -		0xD520 == code || // Lo       HANGUL SYLLABLE PYI
      -		0xD53C == code || // Lo       HANGUL SYLLABLE PI
      -		0xD558 == code || // Lo       HANGUL SYLLABLE HA
      -		0xD574 == code || // Lo       HANGUL SYLLABLE HAE
      -		0xD590 == code || // Lo       HANGUL SYLLABLE HYA
      -		0xD5AC == code || // Lo       HANGUL SYLLABLE HYAE
      -		0xD5C8 == code || // Lo       HANGUL SYLLABLE HEO
      -		0xD5E4 == code || // Lo       HANGUL SYLLABLE HE
      -		0xD600 == code || // Lo       HANGUL SYLLABLE HYEO
      -		0xD61C == code || // Lo       HANGUL SYLLABLE HYE
      -		0xD638 == code || // Lo       HANGUL SYLLABLE HO
      -		0xD654 == code || // Lo       HANGUL SYLLABLE HWA
      -		0xD670 == code || // Lo       HANGUL SYLLABLE HWAE
      -		0xD68C == code || // Lo       HANGUL SYLLABLE HOE
      -		0xD6A8 == code || // Lo       HANGUL SYLLABLE HYO
      -		0xD6C4 == code || // Lo       HANGUL SYLLABLE HU
      -		0xD6E0 == code || // Lo       HANGUL SYLLABLE HWEO
      -		0xD6FC == code || // Lo       HANGUL SYLLABLE HWE
      -		0xD718 == code || // Lo       HANGUL SYLLABLE HWI
      -		0xD734 == code || // Lo       HANGUL SYLLABLE HYU
      -		0xD750 == code || // Lo       HANGUL SYLLABLE HEU
      -		0xD76C == code || // Lo       HANGUL SYLLABLE HYI
      -		0xD788 == code // Lo       HANGUL SYLLABLE HI
      -		){
      -			return LV;
      -		}
      -		
      -		if(
      -		(0xAC01 <= code && code <= 0xAC1B) || // Lo  [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
      -		(0xAC1D <= code && code <= 0xAC37) || // Lo  [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
      -		(0xAC39 <= code && code <= 0xAC53) || // Lo  [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
      -		(0xAC55 <= code && code <= 0xAC6F) || // Lo  [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
      -		(0xAC71 <= code && code <= 0xAC8B) || // Lo  [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
      -		(0xAC8D <= code && code <= 0xACA7) || // Lo  [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
      -		(0xACA9 <= code && code <= 0xACC3) || // Lo  [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
      -		(0xACC5 <= code && code <= 0xACDF) || // Lo  [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
      -		(0xACE1 <= code && code <= 0xACFB) || // Lo  [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
      -		(0xACFD <= code && code <= 0xAD17) || // Lo  [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
      -		(0xAD19 <= code && code <= 0xAD33) || // Lo  [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
      -		(0xAD35 <= code && code <= 0xAD4F) || // Lo  [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
      -		(0xAD51 <= code && code <= 0xAD6B) || // Lo  [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
      -		(0xAD6D <= code && code <= 0xAD87) || // Lo  [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
      -		(0xAD89 <= code && code <= 0xADA3) || // Lo  [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
      -		(0xADA5 <= code && code <= 0xADBF) || // Lo  [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
      -		(0xADC1 <= code && code <= 0xADDB) || // Lo  [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
      -		(0xADDD <= code && code <= 0xADF7) || // Lo  [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
      -		(0xADF9 <= code && code <= 0xAE13) || // Lo  [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
      -		(0xAE15 <= code && code <= 0xAE2F) || // Lo  [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
      -		(0xAE31 <= code && code <= 0xAE4B) || // Lo  [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
      -		(0xAE4D <= code && code <= 0xAE67) || // Lo  [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
      -		(0xAE69 <= code && code <= 0xAE83) || // Lo  [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
      -		(0xAE85 <= code && code <= 0xAE9F) || // Lo  [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
      -		(0xAEA1 <= code && code <= 0xAEBB) || // Lo  [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
      -		(0xAEBD <= code && code <= 0xAED7) || // Lo  [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
      -		(0xAED9 <= code && code <= 0xAEF3) || // Lo  [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
      -		(0xAEF5 <= code && code <= 0xAF0F) || // Lo  [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
      -		(0xAF11 <= code && code <= 0xAF2B) || // Lo  [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
      -		(0xAF2D <= code && code <= 0xAF47) || // Lo  [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
      -		(0xAF49 <= code && code <= 0xAF63) || // Lo  [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
      -		(0xAF65 <= code && code <= 0xAF7F) || // Lo  [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
      -		(0xAF81 <= code && code <= 0xAF9B) || // Lo  [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
      -		(0xAF9D <= code && code <= 0xAFB7) || // Lo  [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
      -		(0xAFB9 <= code && code <= 0xAFD3) || // Lo  [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
      -		(0xAFD5 <= code && code <= 0xAFEF) || // Lo  [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
      -		(0xAFF1 <= code && code <= 0xB00B) || // Lo  [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
      -		(0xB00D <= code && code <= 0xB027) || // Lo  [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
      -		(0xB029 <= code && code <= 0xB043) || // Lo  [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
      -		(0xB045 <= code && code <= 0xB05F) || // Lo  [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
      -		(0xB061 <= code && code <= 0xB07B) || // Lo  [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
      -		(0xB07D <= code && code <= 0xB097) || // Lo  [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
      -		(0xB099 <= code && code <= 0xB0B3) || // Lo  [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
      -		(0xB0B5 <= code && code <= 0xB0CF) || // Lo  [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
      -		(0xB0D1 <= code && code <= 0xB0EB) || // Lo  [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
      -		(0xB0ED <= code && code <= 0xB107) || // Lo  [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
      -		(0xB109 <= code && code <= 0xB123) || // Lo  [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
      -		(0xB125 <= code && code <= 0xB13F) || // Lo  [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
      -		(0xB141 <= code && code <= 0xB15B) || // Lo  [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
      -		(0xB15D <= code && code <= 0xB177) || // Lo  [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
      -		(0xB179 <= code && code <= 0xB193) || // Lo  [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
      -		(0xB195 <= code && code <= 0xB1AF) || // Lo  [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
      -		(0xB1B1 <= code && code <= 0xB1CB) || // Lo  [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
      -		(0xB1CD <= code && code <= 0xB1E7) || // Lo  [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
      -		(0xB1E9 <= code && code <= 0xB203) || // Lo  [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
      -		(0xB205 <= code && code <= 0xB21F) || // Lo  [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
      -		(0xB221 <= code && code <= 0xB23B) || // Lo  [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
      -		(0xB23D <= code && code <= 0xB257) || // Lo  [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
      -		(0xB259 <= code && code <= 0xB273) || // Lo  [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
      -		(0xB275 <= code && code <= 0xB28F) || // Lo  [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
      -		(0xB291 <= code && code <= 0xB2AB) || // Lo  [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
      -		(0xB2AD <= code && code <= 0xB2C7) || // Lo  [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
      -		(0xB2C9 <= code && code <= 0xB2E3) || // Lo  [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
      -		(0xB2E5 <= code && code <= 0xB2FF) || // Lo  [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
      -		(0xB301 <= code && code <= 0xB31B) || // Lo  [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
      -		(0xB31D <= code && code <= 0xB337) || // Lo  [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
      -		(0xB339 <= code && code <= 0xB353) || // Lo  [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
      -		(0xB355 <= code && code <= 0xB36F) || // Lo  [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
      -		(0xB371 <= code && code <= 0xB38B) || // Lo  [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
      -		(0xB38D <= code && code <= 0xB3A7) || // Lo  [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
      -		(0xB3A9 <= code && code <= 0xB3C3) || // Lo  [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
      -		(0xB3C5 <= code && code <= 0xB3DF) || // Lo  [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
      -		(0xB3E1 <= code && code <= 0xB3FB) || // Lo  [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
      -		(0xB3FD <= code && code <= 0xB417) || // Lo  [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
      -		(0xB419 <= code && code <= 0xB433) || // Lo  [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
      -		(0xB435 <= code && code <= 0xB44F) || // Lo  [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
      -		(0xB451 <= code && code <= 0xB46B) || // Lo  [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
      -		(0xB46D <= code && code <= 0xB487) || // Lo  [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
      -		(0xB489 <= code && code <= 0xB4A3) || // Lo  [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
      -		(0xB4A5 <= code && code <= 0xB4BF) || // Lo  [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
      -		(0xB4C1 <= code && code <= 0xB4DB) || // Lo  [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
      -		(0xB4DD <= code && code <= 0xB4F7) || // Lo  [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
      -		(0xB4F9 <= code && code <= 0xB513) || // Lo  [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
      -		(0xB515 <= code && code <= 0xB52F) || // Lo  [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
      -		(0xB531 <= code && code <= 0xB54B) || // Lo  [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
      -		(0xB54D <= code && code <= 0xB567) || // Lo  [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
      -		(0xB569 <= code && code <= 0xB583) || // Lo  [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
      -		(0xB585 <= code && code <= 0xB59F) || // Lo  [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
      -		(0xB5A1 <= code && code <= 0xB5BB) || // Lo  [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
      -		(0xB5BD <= code && code <= 0xB5D7) || // Lo  [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
      -		(0xB5D9 <= code && code <= 0xB5F3) || // Lo  [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
      -		(0xB5F5 <= code && code <= 0xB60F) || // Lo  [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
      -		(0xB611 <= code && code <= 0xB62B) || // Lo  [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
      -		(0xB62D <= code && code <= 0xB647) || // Lo  [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
      -		(0xB649 <= code && code <= 0xB663) || // Lo  [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
      -		(0xB665 <= code && code <= 0xB67F) || // Lo  [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
      -		(0xB681 <= code && code <= 0xB69B) || // Lo  [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
      -		(0xB69D <= code && code <= 0xB6B7) || // Lo  [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
      -		(0xB6B9 <= code && code <= 0xB6D3) || // Lo  [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
      -		(0xB6D5 <= code && code <= 0xB6EF) || // Lo  [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
      -		(0xB6F1 <= code && code <= 0xB70B) || // Lo  [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
      -		(0xB70D <= code && code <= 0xB727) || // Lo  [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
      -		(0xB729 <= code && code <= 0xB743) || // Lo  [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
      -		(0xB745 <= code && code <= 0xB75F) || // Lo  [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
      -		(0xB761 <= code && code <= 0xB77B) || // Lo  [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
      -		(0xB77D <= code && code <= 0xB797) || // Lo  [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
      -		(0xB799 <= code && code <= 0xB7B3) || // Lo  [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
      -		(0xB7B5 <= code && code <= 0xB7CF) || // Lo  [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
      -		(0xB7D1 <= code && code <= 0xB7EB) || // Lo  [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
      -		(0xB7ED <= code && code <= 0xB807) || // Lo  [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
      -		(0xB809 <= code && code <= 0xB823) || // Lo  [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
      -		(0xB825 <= code && code <= 0xB83F) || // Lo  [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
      -		(0xB841 <= code && code <= 0xB85B) || // Lo  [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
      -		(0xB85D <= code && code <= 0xB877) || // Lo  [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
      -		(0xB879 <= code && code <= 0xB893) || // Lo  [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
      -		(0xB895 <= code && code <= 0xB8AF) || // Lo  [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
      -		(0xB8B1 <= code && code <= 0xB8CB) || // Lo  [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
      -		(0xB8CD <= code && code <= 0xB8E7) || // Lo  [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
      -		(0xB8E9 <= code && code <= 0xB903) || // Lo  [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
      -		(0xB905 <= code && code <= 0xB91F) || // Lo  [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
      -		(0xB921 <= code && code <= 0xB93B) || // Lo  [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
      -		(0xB93D <= code && code <= 0xB957) || // Lo  [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
      -		(0xB959 <= code && code <= 0xB973) || // Lo  [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
      -		(0xB975 <= code && code <= 0xB98F) || // Lo  [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
      -		(0xB991 <= code && code <= 0xB9AB) || // Lo  [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
      -		(0xB9AD <= code && code <= 0xB9C7) || // Lo  [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
      -		(0xB9C9 <= code && code <= 0xB9E3) || // Lo  [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
      -		(0xB9E5 <= code && code <= 0xB9FF) || // Lo  [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
      -		(0xBA01 <= code && code <= 0xBA1B) || // Lo  [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
      -		(0xBA1D <= code && code <= 0xBA37) || // Lo  [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
      -		(0xBA39 <= code && code <= 0xBA53) || // Lo  [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
      -		(0xBA55 <= code && code <= 0xBA6F) || // Lo  [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
      -		(0xBA71 <= code && code <= 0xBA8B) || // Lo  [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
      -		(0xBA8D <= code && code <= 0xBAA7) || // Lo  [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
      -		(0xBAA9 <= code && code <= 0xBAC3) || // Lo  [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
      -		(0xBAC5 <= code && code <= 0xBADF) || // Lo  [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
      -		(0xBAE1 <= code && code <= 0xBAFB) || // Lo  [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
      -		(0xBAFD <= code && code <= 0xBB17) || // Lo  [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
      -		(0xBB19 <= code && code <= 0xBB33) || // Lo  [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
      -		(0xBB35 <= code && code <= 0xBB4F) || // Lo  [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
      -		(0xBB51 <= code && code <= 0xBB6B) || // Lo  [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
      -		(0xBB6D <= code && code <= 0xBB87) || // Lo  [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
      -		(0xBB89 <= code && code <= 0xBBA3) || // Lo  [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
      -		(0xBBA5 <= code && code <= 0xBBBF) || // Lo  [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
      -		(0xBBC1 <= code && code <= 0xBBDB) || // Lo  [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
      -		(0xBBDD <= code && code <= 0xBBF7) || // Lo  [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
      -		(0xBBF9 <= code && code <= 0xBC13) || // Lo  [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
      -		(0xBC15 <= code && code <= 0xBC2F) || // Lo  [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
      -		(0xBC31 <= code && code <= 0xBC4B) || // Lo  [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
      -		(0xBC4D <= code && code <= 0xBC67) || // Lo  [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
      -		(0xBC69 <= code && code <= 0xBC83) || // Lo  [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
      -		(0xBC85 <= code && code <= 0xBC9F) || // Lo  [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
      -		(0xBCA1 <= code && code <= 0xBCBB) || // Lo  [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
      -		(0xBCBD <= code && code <= 0xBCD7) || // Lo  [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
      -		(0xBCD9 <= code && code <= 0xBCF3) || // Lo  [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
      -		(0xBCF5 <= code && code <= 0xBD0F) || // Lo  [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
      -		(0xBD11 <= code && code <= 0xBD2B) || // Lo  [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
      -		(0xBD2D <= code && code <= 0xBD47) || // Lo  [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
      -		(0xBD49 <= code && code <= 0xBD63) || // Lo  [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
      -		(0xBD65 <= code && code <= 0xBD7F) || // Lo  [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
      -		(0xBD81 <= code && code <= 0xBD9B) || // Lo  [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
      -		(0xBD9D <= code && code <= 0xBDB7) || // Lo  [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
      -		(0xBDB9 <= code && code <= 0xBDD3) || // Lo  [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
      -		(0xBDD5 <= code && code <= 0xBDEF) || // Lo  [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
      -		(0xBDF1 <= code && code <= 0xBE0B) || // Lo  [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
      -		(0xBE0D <= code && code <= 0xBE27) || // Lo  [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
      -		(0xBE29 <= code && code <= 0xBE43) || // Lo  [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
      -		(0xBE45 <= code && code <= 0xBE5F) || // Lo  [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
      -		(0xBE61 <= code && code <= 0xBE7B) || // Lo  [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
      -		(0xBE7D <= code && code <= 0xBE97) || // Lo  [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
      -		(0xBE99 <= code && code <= 0xBEB3) || // Lo  [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
      -		(0xBEB5 <= code && code <= 0xBECF) || // Lo  [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
      -		(0xBED1 <= code && code <= 0xBEEB) || // Lo  [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
      -		(0xBEED <= code && code <= 0xBF07) || // Lo  [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
      -		(0xBF09 <= code && code <= 0xBF23) || // Lo  [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
      -		(0xBF25 <= code && code <= 0xBF3F) || // Lo  [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
      -		(0xBF41 <= code && code <= 0xBF5B) || // Lo  [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
      -		(0xBF5D <= code && code <= 0xBF77) || // Lo  [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
      -		(0xBF79 <= code && code <= 0xBF93) || // Lo  [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
      -		(0xBF95 <= code && code <= 0xBFAF) || // Lo  [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
      -		(0xBFB1 <= code && code <= 0xBFCB) || // Lo  [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
      -		(0xBFCD <= code && code <= 0xBFE7) || // Lo  [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
      -		(0xBFE9 <= code && code <= 0xC003) || // Lo  [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
      -		(0xC005 <= code && code <= 0xC01F) || // Lo  [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
      -		(0xC021 <= code && code <= 0xC03B) || // Lo  [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
      -		(0xC03D <= code && code <= 0xC057) || // Lo  [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
      -		(0xC059 <= code && code <= 0xC073) || // Lo  [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
      -		(0xC075 <= code && code <= 0xC08F) || // Lo  [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
      -		(0xC091 <= code && code <= 0xC0AB) || // Lo  [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
      -		(0xC0AD <= code && code <= 0xC0C7) || // Lo  [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
      -		(0xC0C9 <= code && code <= 0xC0E3) || // Lo  [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
      -		(0xC0E5 <= code && code <= 0xC0FF) || // Lo  [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
      -		(0xC101 <= code && code <= 0xC11B) || // Lo  [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
      -		(0xC11D <= code && code <= 0xC137) || // Lo  [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
      -		(0xC139 <= code && code <= 0xC153) || // Lo  [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
      -		(0xC155 <= code && code <= 0xC16F) || // Lo  [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
      -		(0xC171 <= code && code <= 0xC18B) || // Lo  [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
      -		(0xC18D <= code && code <= 0xC1A7) || // Lo  [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
      -		(0xC1A9 <= code && code <= 0xC1C3) || // Lo  [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
      -		(0xC1C5 <= code && code <= 0xC1DF) || // Lo  [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
      -		(0xC1E1 <= code && code <= 0xC1FB) || // Lo  [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
      -		(0xC1FD <= code && code <= 0xC217) || // Lo  [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
      -		(0xC219 <= code && code <= 0xC233) || // Lo  [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
      -		(0xC235 <= code && code <= 0xC24F) || // Lo  [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
      -		(0xC251 <= code && code <= 0xC26B) || // Lo  [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
      -		(0xC26D <= code && code <= 0xC287) || // Lo  [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
      -		(0xC289 <= code && code <= 0xC2A3) || // Lo  [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
      -		(0xC2A5 <= code && code <= 0xC2BF) || // Lo  [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
      -		(0xC2C1 <= code && code <= 0xC2DB) || // Lo  [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
      -		(0xC2DD <= code && code <= 0xC2F7) || // Lo  [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
      -		(0xC2F9 <= code && code <= 0xC313) || // Lo  [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
      -		(0xC315 <= code && code <= 0xC32F) || // Lo  [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
      -		(0xC331 <= code && code <= 0xC34B) || // Lo  [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
      -		(0xC34D <= code && code <= 0xC367) || // Lo  [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
      -		(0xC369 <= code && code <= 0xC383) || // Lo  [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
      -		(0xC385 <= code && code <= 0xC39F) || // Lo  [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
      -		(0xC3A1 <= code && code <= 0xC3BB) || // Lo  [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
      -		(0xC3BD <= code && code <= 0xC3D7) || // Lo  [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
      -		(0xC3D9 <= code && code <= 0xC3F3) || // Lo  [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
      -		(0xC3F5 <= code && code <= 0xC40F) || // Lo  [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
      -		(0xC411 <= code && code <= 0xC42B) || // Lo  [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
      -		(0xC42D <= code && code <= 0xC447) || // Lo  [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
      -		(0xC449 <= code && code <= 0xC463) || // Lo  [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
      -		(0xC465 <= code && code <= 0xC47F) || // Lo  [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
      -		(0xC481 <= code && code <= 0xC49B) || // Lo  [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
      -		(0xC49D <= code && code <= 0xC4B7) || // Lo  [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
      -		(0xC4B9 <= code && code <= 0xC4D3) || // Lo  [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
      -		(0xC4D5 <= code && code <= 0xC4EF) || // Lo  [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
      -		(0xC4F1 <= code && code <= 0xC50B) || // Lo  [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
      -		(0xC50D <= code && code <= 0xC527) || // Lo  [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
      -		(0xC529 <= code && code <= 0xC543) || // Lo  [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
      -		(0xC545 <= code && code <= 0xC55F) || // Lo  [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
      -		(0xC561 <= code && code <= 0xC57B) || // Lo  [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
      -		(0xC57D <= code && code <= 0xC597) || // Lo  [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
      -		(0xC599 <= code && code <= 0xC5B3) || // Lo  [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
      -		(0xC5B5 <= code && code <= 0xC5CF) || // Lo  [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
      -		(0xC5D1 <= code && code <= 0xC5EB) || // Lo  [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
      -		(0xC5ED <= code && code <= 0xC607) || // Lo  [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
      -		(0xC609 <= code && code <= 0xC623) || // Lo  [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
      -		(0xC625 <= code && code <= 0xC63F) || // Lo  [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
      -		(0xC641 <= code && code <= 0xC65B) || // Lo  [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
      -		(0xC65D <= code && code <= 0xC677) || // Lo  [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
      -		(0xC679 <= code && code <= 0xC693) || // Lo  [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
      -		(0xC695 <= code && code <= 0xC6AF) || // Lo  [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
      -		(0xC6B1 <= code && code <= 0xC6CB) || // Lo  [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
      -		(0xC6CD <= code && code <= 0xC6E7) || // Lo  [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
      -		(0xC6E9 <= code && code <= 0xC703) || // Lo  [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
      -		(0xC705 <= code && code <= 0xC71F) || // Lo  [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
      -		(0xC721 <= code && code <= 0xC73B) || // Lo  [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
      -		(0xC73D <= code && code <= 0xC757) || // Lo  [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
      -		(0xC759 <= code && code <= 0xC773) || // Lo  [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
      -		(0xC775 <= code && code <= 0xC78F) || // Lo  [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
      -		(0xC791 <= code && code <= 0xC7AB) || // Lo  [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
      -		(0xC7AD <= code && code <= 0xC7C7) || // Lo  [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
      -		(0xC7C9 <= code && code <= 0xC7E3) || // Lo  [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
      -		(0xC7E5 <= code && code <= 0xC7FF) || // Lo  [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
      -		(0xC801 <= code && code <= 0xC81B) || // Lo  [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
      -		(0xC81D <= code && code <= 0xC837) || // Lo  [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
      -		(0xC839 <= code && code <= 0xC853) || // Lo  [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
      -		(0xC855 <= code && code <= 0xC86F) || // Lo  [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
      -		(0xC871 <= code && code <= 0xC88B) || // Lo  [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
      -		(0xC88D <= code && code <= 0xC8A7) || // Lo  [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
      -		(0xC8A9 <= code && code <= 0xC8C3) || // Lo  [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
      -		(0xC8C5 <= code && code <= 0xC8DF) || // Lo  [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
      -		(0xC8E1 <= code && code <= 0xC8FB) || // Lo  [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
      -		(0xC8FD <= code && code <= 0xC917) || // Lo  [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
      -		(0xC919 <= code && code <= 0xC933) || // Lo  [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
      -		(0xC935 <= code && code <= 0xC94F) || // Lo  [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
      -		(0xC951 <= code && code <= 0xC96B) || // Lo  [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
      -		(0xC96D <= code && code <= 0xC987) || // Lo  [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
      -		(0xC989 <= code && code <= 0xC9A3) || // Lo  [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
      -		(0xC9A5 <= code && code <= 0xC9BF) || // Lo  [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
      -		(0xC9C1 <= code && code <= 0xC9DB) || // Lo  [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
      -		(0xC9DD <= code && code <= 0xC9F7) || // Lo  [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
      -		(0xC9F9 <= code && code <= 0xCA13) || // Lo  [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
      -		(0xCA15 <= code && code <= 0xCA2F) || // Lo  [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
      -		(0xCA31 <= code && code <= 0xCA4B) || // Lo  [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
      -		(0xCA4D <= code && code <= 0xCA67) || // Lo  [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
      -		(0xCA69 <= code && code <= 0xCA83) || // Lo  [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
      -		(0xCA85 <= code && code <= 0xCA9F) || // Lo  [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
      -		(0xCAA1 <= code && code <= 0xCABB) || // Lo  [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
      -		(0xCABD <= code && code <= 0xCAD7) || // Lo  [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
      -		(0xCAD9 <= code && code <= 0xCAF3) || // Lo  [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
      -		(0xCAF5 <= code && code <= 0xCB0F) || // Lo  [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
      -		(0xCB11 <= code && code <= 0xCB2B) || // Lo  [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
      -		(0xCB2D <= code && code <= 0xCB47) || // Lo  [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
      -		(0xCB49 <= code && code <= 0xCB63) || // Lo  [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
      -		(0xCB65 <= code && code <= 0xCB7F) || // Lo  [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
      -		(0xCB81 <= code && code <= 0xCB9B) || // Lo  [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
      -		(0xCB9D <= code && code <= 0xCBB7) || // Lo  [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
      -		(0xCBB9 <= code && code <= 0xCBD3) || // Lo  [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
      -		(0xCBD5 <= code && code <= 0xCBEF) || // Lo  [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
      -		(0xCBF1 <= code && code <= 0xCC0B) || // Lo  [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
      -		(0xCC0D <= code && code <= 0xCC27) || // Lo  [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
      -		(0xCC29 <= code && code <= 0xCC43) || // Lo  [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
      -		(0xCC45 <= code && code <= 0xCC5F) || // Lo  [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
      -		(0xCC61 <= code && code <= 0xCC7B) || // Lo  [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
      -		(0xCC7D <= code && code <= 0xCC97) || // Lo  [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
      -		(0xCC99 <= code && code <= 0xCCB3) || // Lo  [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
      -		(0xCCB5 <= code && code <= 0xCCCF) || // Lo  [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
      -		(0xCCD1 <= code && code <= 0xCCEB) || // Lo  [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
      -		(0xCCED <= code && code <= 0xCD07) || // Lo  [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
      -		(0xCD09 <= code && code <= 0xCD23) || // Lo  [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
      -		(0xCD25 <= code && code <= 0xCD3F) || // Lo  [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
      -		(0xCD41 <= code && code <= 0xCD5B) || // Lo  [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
      -		(0xCD5D <= code && code <= 0xCD77) || // Lo  [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
      -		(0xCD79 <= code && code <= 0xCD93) || // Lo  [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
      -		(0xCD95 <= code && code <= 0xCDAF) || // Lo  [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
      -		(0xCDB1 <= code && code <= 0xCDCB) || // Lo  [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
      -		(0xCDCD <= code && code <= 0xCDE7) || // Lo  [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
      -		(0xCDE9 <= code && code <= 0xCE03) || // Lo  [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
      -		(0xCE05 <= code && code <= 0xCE1F) || // Lo  [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
      -		(0xCE21 <= code && code <= 0xCE3B) || // Lo  [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
      -		(0xCE3D <= code && code <= 0xCE57) || // Lo  [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
      -		(0xCE59 <= code && code <= 0xCE73) || // Lo  [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
      -		(0xCE75 <= code && code <= 0xCE8F) || // Lo  [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
      -		(0xCE91 <= code && code <= 0xCEAB) || // Lo  [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
      -		(0xCEAD <= code && code <= 0xCEC7) || // Lo  [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
      -		(0xCEC9 <= code && code <= 0xCEE3) || // Lo  [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
      -		(0xCEE5 <= code && code <= 0xCEFF) || // Lo  [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
      -		(0xCF01 <= code && code <= 0xCF1B) || // Lo  [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
      -		(0xCF1D <= code && code <= 0xCF37) || // Lo  [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
      -		(0xCF39 <= code && code <= 0xCF53) || // Lo  [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
      -		(0xCF55 <= code && code <= 0xCF6F) || // Lo  [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
      -		(0xCF71 <= code && code <= 0xCF8B) || // Lo  [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
      -		(0xCF8D <= code && code <= 0xCFA7) || // Lo  [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
      -		(0xCFA9 <= code && code <= 0xCFC3) || // Lo  [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
      -		(0xCFC5 <= code && code <= 0xCFDF) || // Lo  [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
      -		(0xCFE1 <= code && code <= 0xCFFB) || // Lo  [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
      -		(0xCFFD <= code && code <= 0xD017) || // Lo  [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
      -		(0xD019 <= code && code <= 0xD033) || // Lo  [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
      -		(0xD035 <= code && code <= 0xD04F) || // Lo  [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
      -		(0xD051 <= code && code <= 0xD06B) || // Lo  [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
      -		(0xD06D <= code && code <= 0xD087) || // Lo  [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
      -		(0xD089 <= code && code <= 0xD0A3) || // Lo  [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
      -		(0xD0A5 <= code && code <= 0xD0BF) || // Lo  [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
      -		(0xD0C1 <= code && code <= 0xD0DB) || // Lo  [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
      -		(0xD0DD <= code && code <= 0xD0F7) || // Lo  [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
      -		(0xD0F9 <= code && code <= 0xD113) || // Lo  [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
      -		(0xD115 <= code && code <= 0xD12F) || // Lo  [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
      -		(0xD131 <= code && code <= 0xD14B) || // Lo  [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
      -		(0xD14D <= code && code <= 0xD167) || // Lo  [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
      -		(0xD169 <= code && code <= 0xD183) || // Lo  [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
      -		(0xD185 <= code && code <= 0xD19F) || // Lo  [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
      -		(0xD1A1 <= code && code <= 0xD1BB) || // Lo  [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
      -		(0xD1BD <= code && code <= 0xD1D7) || // Lo  [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
      -		(0xD1D9 <= code && code <= 0xD1F3) || // Lo  [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
      -		(0xD1F5 <= code && code <= 0xD20F) || // Lo  [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
      -		(0xD211 <= code && code <= 0xD22B) || // Lo  [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
      -		(0xD22D <= code && code <= 0xD247) || // Lo  [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
      -		(0xD249 <= code && code <= 0xD263) || // Lo  [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
      -		(0xD265 <= code && code <= 0xD27F) || // Lo  [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
      -		(0xD281 <= code && code <= 0xD29B) || // Lo  [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
      -		(0xD29D <= code && code <= 0xD2B7) || // Lo  [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
      -		(0xD2B9 <= code && code <= 0xD2D3) || // Lo  [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
      -		(0xD2D5 <= code && code <= 0xD2EF) || // Lo  [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
      -		(0xD2F1 <= code && code <= 0xD30B) || // Lo  [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
      -		(0xD30D <= code && code <= 0xD327) || // Lo  [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
      -		(0xD329 <= code && code <= 0xD343) || // Lo  [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
      -		(0xD345 <= code && code <= 0xD35F) || // Lo  [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
      -		(0xD361 <= code && code <= 0xD37B) || // Lo  [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
      -		(0xD37D <= code && code <= 0xD397) || // Lo  [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
      -		(0xD399 <= code && code <= 0xD3B3) || // Lo  [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
      -		(0xD3B5 <= code && code <= 0xD3CF) || // Lo  [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
      -		(0xD3D1 <= code && code <= 0xD3EB) || // Lo  [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
      -		(0xD3ED <= code && code <= 0xD407) || // Lo  [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
      -		(0xD409 <= code && code <= 0xD423) || // Lo  [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
      -		(0xD425 <= code && code <= 0xD43F) || // Lo  [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
      -		(0xD441 <= code && code <= 0xD45B) || // Lo  [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
      -		(0xD45D <= code && code <= 0xD477) || // Lo  [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
      -		(0xD479 <= code && code <= 0xD493) || // Lo  [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
      -		(0xD495 <= code && code <= 0xD4AF) || // Lo  [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
      -		(0xD4B1 <= code && code <= 0xD4CB) || // Lo  [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
      -		(0xD4CD <= code && code <= 0xD4E7) || // Lo  [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
      -		(0xD4E9 <= code && code <= 0xD503) || // Lo  [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
      -		(0xD505 <= code && code <= 0xD51F) || // Lo  [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
      -		(0xD521 <= code && code <= 0xD53B) || // Lo  [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
      -		(0xD53D <= code && code <= 0xD557) || // Lo  [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
      -		(0xD559 <= code && code <= 0xD573) || // Lo  [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
      -		(0xD575 <= code && code <= 0xD58F) || // Lo  [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
      -		(0xD591 <= code && code <= 0xD5AB) || // Lo  [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
      -		(0xD5AD <= code && code <= 0xD5C7) || // Lo  [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
      -		(0xD5C9 <= code && code <= 0xD5E3) || // Lo  [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
      -		(0xD5E5 <= code && code <= 0xD5FF) || // Lo  [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
      -		(0xD601 <= code && code <= 0xD61B) || // Lo  [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
      -		(0xD61D <= code && code <= 0xD637) || // Lo  [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
      -		(0xD639 <= code && code <= 0xD653) || // Lo  [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
      -		(0xD655 <= code && code <= 0xD66F) || // Lo  [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
      -		(0xD671 <= code && code <= 0xD68B) || // Lo  [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
      -		(0xD68D <= code && code <= 0xD6A7) || // Lo  [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
      -		(0xD6A9 <= code && code <= 0xD6C3) || // Lo  [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
      -		(0xD6C5 <= code && code <= 0xD6DF) || // Lo  [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
      -		(0xD6E1 <= code && code <= 0xD6FB) || // Lo  [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
      -		(0xD6FD <= code && code <= 0xD717) || // Lo  [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
      -		(0xD719 <= code && code <= 0xD733) || // Lo  [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
      -		(0xD735 <= code && code <= 0xD74F) || // Lo  [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
      -		(0xD751 <= code && code <= 0xD76B) || // Lo  [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
      -		(0xD76D <= code && code <= 0xD787) || // Lo  [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
      -		(0xD789 <= code && code <= 0xD7A3) // Lo  [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
      -		){
      -			return LVT;
      -		}
      -		
      -		if(
      -		0x261D == code || // So       WHITE UP POINTING INDEX
      -		0x26F9 == code || // So       PERSON WITH BALL
      -		(0x270A <= code && code <= 0x270D) || // So   [4] RAISED FIST..WRITING HAND
      -		0x1F385 == code || // So       FATHER CHRISTMAS
      -		(0x1F3C2 <= code && code <= 0x1F3C4) || // So   [3] SNOWBOARDER..SURFER
      -		0x1F3C7 == code || // So       HORSE RACING
      -		(0x1F3CA <= code && code <= 0x1F3CC) || // So   [3] SWIMMER..GOLFER
      -		(0x1F442 <= code && code <= 0x1F443) || // So   [2] EAR..NOSE
      -		(0x1F446 <= code && code <= 0x1F450) || // So  [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
      -		0x1F46E == code || // So       POLICE OFFICER
      -		(0x1F470 <= code && code <= 0x1F478) || // So   [9] BRIDE WITH VEIL..PRINCESS
      -		0x1F47C == code || // So       BABY ANGEL
      -		(0x1F481 <= code && code <= 0x1F483) || // So   [3] INFORMATION DESK PERSON..DANCER
      -		(0x1F485 <= code && code <= 0x1F487) || // So   [3] NAIL POLISH..HAIRCUT
      -		0x1F4AA == code || // So       FLEXED BICEPS
      -		(0x1F574 <= code && code <= 0x1F575) || // So   [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
      -		0x1F57A == code || // So       MAN DANCING
      -		0x1F590 == code || // So       RAISED HAND WITH FINGERS SPLAYED
      -		(0x1F595 <= code && code <= 0x1F596) || // So   [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
      -		(0x1F645 <= code && code <= 0x1F647) || // So   [3] FACE WITH NO GOOD GESTURE..PERSON BOWING DEEPLY
      -		(0x1F64B <= code && code <= 0x1F64F) || // So   [5] HAPPY PERSON RAISING ONE HAND..PERSON WITH FOLDED HANDS
      -		0x1F6A3 == code || // So       ROWBOAT
      -		(0x1F6B4 <= code && code <= 0x1F6B6) || // So   [3] BICYCLIST..PEDESTRIAN
      -		0x1F6C0 == code || // So       BATH
      -		0x1F6CC == code || // So       SLEEPING ACCOMMODATION
      -		(0x1F918 <= code && code <= 0x1F91C) || // So   [5] SIGN OF THE HORNS..RIGHT-FACING FIST
      -		(0x1F91E <= code && code <= 0x1F91F) || // So   [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
      -		0x1F926 == code || // So       FACE PALM
      -		(0x1F930 <= code && code <= 0x1F939) || // So  [10] PREGNANT WOMAN..JUGGLING
      -		(0x1F93D <= code && code <= 0x1F93E) || // So   [2] WATER POLO..HANDBALL
      -		(0x1F9D1 <= code && code <= 0x1F9DD) // So  [13] ADULT..ELF
      -		){
      -			return E_Base;
      -		}
      -
      -		if(
      -		(0x1F3FB <= code && code <= 0x1F3FF) // Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
      -		){
      -			return E_Modifier;
      -		}
      -
      -		if(
      -		0x200D == code // Cf       ZERO WIDTH JOINER
      -		){
      -			return ZWJ;
      -		}
      -
      -		if(
      -		0x2640 == code || // So       FEMALE SIGN
      -		0x2642 == code || // So       MALE SIGN
      -		(0x2695 <= code && code <= 0x2696) || // So   [2] STAFF OF AESCULAPIUS..SCALES
      -		0x2708 == code || // So       AIRPLANE
      -		0x2764 == code || // So       HEAVY BLACK HEART
      -		0x1F308 == code || // So       RAINBOW
      -		0x1F33E == code || // So       EAR OF RICE
      -		0x1F373 == code || // So       COOKING
      -		0x1F393 == code || // So       GRADUATION CAP
      -		0x1F3A4 == code || // So       MICROPHONE
      -		0x1F3A8 == code || // So       ARTIST PALETTE
      -		0x1F3EB == code || // So       SCHOOL
      -		0x1F3ED == code || // So       FACTORY
      -		0x1F48B == code || // So       KISS MARK
      -		(0x1F4BB <= code && code <= 0x1F4BC) || // So   [2] PERSONAL COMPUTER..BRIEFCASE
      -		0x1F527 == code || // So       WRENCH
      -		0x1F52C == code || // So       MICROSCOPE
      -		0x1F5E8 == code || // So       LEFT SPEECH BUBBLE
      -		0x1F680 == code || // So       ROCKET
      -		0x1F692 == code // So       FIRE ENGINE
      -		){
      -			return Glue_After_Zwj;
      -		}
      -
      -		if(
      -		(0x1F466 <= code && code <= 0x1F469) // So   [4] BOY..WOMAN
      -		){
      -			return E_Base_GAZ;
      -		}
      -		
      -		
      -		//all unlisted characters have a grapheme break property of "Other"
      -		return Other;
      -	}
      -	return this;
      -}
      -
      -if (typeof module != 'undefined' && module.exports) {
      -    module.exports = GraphemeSplitter;
      -}
      diff --git a/tools/node_modules/eslint/node_modules/grapheme-splitter/package.json b/tools/node_modules/eslint/node_modules/grapheme-splitter/package.json
      deleted file mode 100644
      index 61479af3da5f26..00000000000000
      --- a/tools/node_modules/eslint/node_modules/grapheme-splitter/package.json
      +++ /dev/null
      @@ -1,34 +0,0 @@
      -{
      -  "name": "grapheme-splitter",
      -  "version": "1.0.4",
      -  "description": "A JavaScript library that breaks strings into their individual user-perceived characters. It supports emojis!",
      -  "homepage": "https://github.com/orling/grapheme-splitter",
      -  "author": "Orlin Georgiev",
      -  "contributors": [
      -    {
      -      "name": "Lucas Tadeu Teixeira",
      -      "email": "lucas@fastmail.nl",
      -      "url": "https://lucas.is"
      -    }
      -  ],
      -  "main": "index.js",
      -  "license": "MIT",
      -  "keywords": [
      -    "utf-8",
      -    "strings",
      -    "emoji",
      -    "split"
      -  ],
      -  "scripts": {
      -    "test": "tape tests/grapheme_splitter_tests.js"
      -  },
      -  "repository": {
      -    "type": "git",
      -    "url": "https://github.com/orling/grapheme-splitter.git"
      -  },
      -  "bugs": "https://github.com/orling/grapheme-splitter/issues",
      -  "dependencies": {},
      -  "devDependencies": {
      -    "tape": "^4.6.3"
      -  }
      -}
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/LICENSE b/tools/node_modules/eslint/node_modules/graphemer/LICENSE
      similarity index 52%
      rename from tools/node_modules/eslint/node_modules/js-sdsl/LICENSE
      rename to tools/node_modules/eslint/node_modules/graphemer/LICENSE
      index d46bd7ee7c52fc..51f383108a21dc 100644
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/LICENSE
      +++ b/tools/node_modules/eslint/node_modules/graphemer/LICENSE
      @@ -1,6 +1,4 @@
      -MIT License
      -
      -Copyright (c) 2021 Zilong Yao
      +Copyright 2020 Filament (Anomalous Technologies Limited)
       
       Permission is hereby granted, free of charge, to any person obtaining a copy
       of this software and associated documentation files (the "Software"), to deal
      @@ -9,13 +7,12 @@ 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 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.
      +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.
      diff --git a/tools/node_modules/eslint/node_modules/graphemer/lib/Graphemer.js b/tools/node_modules/eslint/node_modules/graphemer/lib/Graphemer.js
      new file mode 100644
      index 00000000000000..8ed00ca56fb3e6
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/graphemer/lib/Graphemer.js
      @@ -0,0 +1,11959 @@
      +"use strict";
      +var __importDefault = (this && this.__importDefault) || function (mod) {
      +    return (mod && mod.__esModule) ? mod : { "default": mod };
      +};
      +Object.defineProperty(exports, "__esModule", { value: true });
      +const boundaries_1 = require("./boundaries");
      +const GraphemerHelper_1 = __importDefault(require("./GraphemerHelper"));
      +const GraphemerIterator_1 = __importDefault(require("./GraphemerIterator"));
      +class Graphemer {
      +    /**
      +     * Returns the next grapheme break in the string after the given index
      +     * @param string {string}
      +     * @param index {number}
      +     * @returns {number}
      +     */
      +    static nextBreak(string, index) {
      +        if (index === undefined) {
      +            index = 0;
      +        }
      +        if (index < 0) {
      +            return 0;
      +        }
      +        if (index >= string.length - 1) {
      +            return string.length;
      +        }
      +        const prevCP = GraphemerHelper_1.default.codePointAt(string, index);
      +        const prev = Graphemer.getGraphemeBreakProperty(prevCP);
      +        const prevEmoji = Graphemer.getEmojiProperty(prevCP);
      +        const mid = [];
      +        const midEmoji = [];
      +        for (let i = index + 1; i < string.length; i++) {
      +            // check for already processed low surrogates
      +            if (GraphemerHelper_1.default.isSurrogate(string, i - 1)) {
      +                continue;
      +            }
      +            const nextCP = GraphemerHelper_1.default.codePointAt(string, i);
      +            const next = Graphemer.getGraphemeBreakProperty(nextCP);
      +            const nextEmoji = Graphemer.getEmojiProperty(nextCP);
      +            if (GraphemerHelper_1.default.shouldBreak(prev, mid, next, prevEmoji, midEmoji, nextEmoji)) {
      +                return i;
      +            }
      +            mid.push(next);
      +            midEmoji.push(nextEmoji);
      +        }
      +        return string.length;
      +    }
      +    /**
      +     * Breaks the given string into an array of grapheme clusters
      +     * @param str {string}
      +     * @returns {string[]}
      +     */
      +    splitGraphemes(str) {
      +        const res = [];
      +        let index = 0;
      +        let brk;
      +        while ((brk = Graphemer.nextBreak(str, index)) < str.length) {
      +            res.push(str.slice(index, brk));
      +            index = brk;
      +        }
      +        if (index < str.length) {
      +            res.push(str.slice(index));
      +        }
      +        return res;
      +    }
      +    /**
      +     * Returns an iterator of grapheme clusters in the given string
      +     * @param str {string}
      +     * @returns {GraphemerIterator}
      +     */
      +    iterateGraphemes(str) {
      +        return new GraphemerIterator_1.default(str, Graphemer.nextBreak);
      +    }
      +    /**
      +     * Returns the number of grapheme clusters in the given string
      +     * @param str {string}
      +     * @returns {number}
      +     */
      +    countGraphemes(str) {
      +        let count = 0;
      +        let index = 0;
      +        let brk;
      +        while ((brk = Graphemer.nextBreak(str, index)) < str.length) {
      +            index = brk;
      +            count++;
      +        }
      +        if (index < str.length) {
      +            count++;
      +        }
      +        return count;
      +    }
      +    /**
      +     * Given a Unicode code point, determines this symbol's grapheme break property
      +     * @param code {number} Unicode code point
      +     * @returns {number}
      +     */
      +    static getGraphemeBreakProperty(code) {
      +        // Grapheme break property taken from:
      +        // https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakProperty.txt
      +        // and generated by
      +        // node ./scripts/generate-grapheme-break.js
      +        if (code < 0xbf09) {
      +            if (code < 0xac54) {
      +                if (code < 0x102d) {
      +                    if (code < 0xb02) {
      +                        if (code < 0x93b) {
      +                            if (code < 0x6df) {
      +                                if (code < 0x5bf) {
      +                                    if (code < 0x7f) {
      +                                        if (code < 0xb) {
      +                                            if (code < 0xa) {
      +                                                // Cc  [10] ..
      +                                                if (0x0 <= code && code <= 0x9) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Cc       
      +                                                if (0xa === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LF;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd) {
      +                                                // Cc   [2] ..
      +                                                if (0xb <= code && code <= 0xc) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xe) {
      +                                                    // Cc       
      +                                                    if (0xd === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CR;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cc  [18] ..
      +                                                    if (0xe <= code && code <= 0x1f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x300) {
      +                                            if (code < 0xad) {
      +                                                // Cc  [33] ..
      +                                                if (0x7f <= code && code <= 0x9f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Cf       SOFT HYPHEN
      +                                                if (0xad === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x483) {
      +                                                // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
      +                                                if (0x300 <= code && code <= 0x36f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x591) {
      +                                                    // Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
      +                                                    // Me   [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
      +                                                    if (0x483 <= code && code <= 0x489) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
      +                                                    if (0x591 <= code && code <= 0x5bd) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x610) {
      +                                        if (code < 0x5c4) {
      +                                            if (code < 0x5c1) {
      +                                                // Mn       HEBREW POINT RAFE
      +                                                if (0x5bf === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
      +                                                if (0x5c1 <= code && code <= 0x5c2) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x5c7) {
      +                                                // Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
      +                                                if (0x5c4 <= code && code <= 0x5c5) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x600) {
      +                                                    // Mn       HEBREW POINT QAMATS QATAN
      +                                                    if (0x5c7 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cf   [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
      +                                                    if (0x600 <= code && code <= 0x605) {
      +                                                        return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x670) {
      +                                            if (code < 0x61c) {
      +                                                // Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
      +                                                if (0x610 <= code && code <= 0x61a) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x64b) {
      +                                                    // Cf       ARABIC LETTER MARK
      +                                                    if (0x61c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
      +                                                    if (0x64b <= code && code <= 0x65f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x6d6) {
      +                                                // Mn       ARABIC LETTER SUPERSCRIPT ALEF
      +                                                if (0x670 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x6dd) {
      +                                                    // Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
      +                                                    if (0x6d6 <= code && code <= 0x6dc) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cf       ARABIC END OF AYAH
      +                                                    if (0x6dd === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x81b) {
      +                                    if (code < 0x730) {
      +                                        if (code < 0x6ea) {
      +                                            if (code < 0x6e7) {
      +                                                // Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
      +                                                if (0x6df <= code && code <= 0x6e4) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
      +                                                if (0x6e7 <= code && code <= 0x6e8) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x70f) {
      +                                                // Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
      +                                                if (0x6ea <= code && code <= 0x6ed) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Cf       SYRIAC ABBREVIATION MARK
      +                                                if (0x70f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                                // Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
      +                                                if (0x711 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x7eb) {
      +                                            if (code < 0x7a6) {
      +                                                // Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
      +                                                if (0x730 <= code && code <= 0x74a) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn  [11] THAANA ABAFILI..THAANA SUKUN
      +                                                if (0x7a6 <= code && code <= 0x7b0) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x7fd) {
      +                                                // Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
      +                                                if (0x7eb <= code && code <= 0x7f3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x816) {
      +                                                    // Mn       NKO DANTAYALAN
      +                                                    if (0x7fd === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
      +                                                    if (0x816 <= code && code <= 0x819) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x898) {
      +                                        if (code < 0x829) {
      +                                            if (code < 0x825) {
      +                                                // Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
      +                                                if (0x81b <= code && code <= 0x823) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
      +                                                if (0x825 <= code && code <= 0x827) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x859) {
      +                                                // Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
      +                                                if (0x829 <= code && code <= 0x82d) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x890) {
      +                                                    // Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
      +                                                    if (0x859 <= code && code <= 0x85b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cf   [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE
      +                                                    if (0x890 <= code && code <= 0x891) {
      +                                                        return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x8e3) {
      +                                            if (code < 0x8ca) {
      +                                                // Mn   [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA
      +                                                if (0x898 <= code && code <= 0x89f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x8e2) {
      +                                                    // Mn  [24] ARABIC SMALL HIGH FARSI YEH..ARABIC SMALL HIGH SIGN SAFHA
      +                                                    if (0x8ca <= code && code <= 0x8e1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cf       ARABIC DISPUTED END OF AYAH
      +                                                    if (0x8e2 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x903) {
      +                                                // Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
      +                                                if (0x8e3 <= code && code <= 0x902) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       DEVANAGARI SIGN VISARGA
      +                                                if (0x903 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       DEVANAGARI VOWEL SIGN OE
      +                                                if (0x93a === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xa01) {
      +                                if (code < 0x982) {
      +                                    if (code < 0x94d) {
      +                                        if (code < 0x93e) {
      +                                            // Mc       DEVANAGARI VOWEL SIGN OOE
      +                                            if (0x93b === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       DEVANAGARI SIGN NUKTA
      +                                            if (0x93c === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x941) {
      +                                                // Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
      +                                                if (0x93e <= code && code <= 0x940) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x949) {
      +                                                    // Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
      +                                                    if (0x941 <= code && code <= 0x948) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
      +                                                    if (0x949 <= code && code <= 0x94c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x951) {
      +                                            if (code < 0x94e) {
      +                                                // Mn       DEVANAGARI SIGN VIRAMA
      +                                                if (0x94d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
      +                                                if (0x94e <= code && code <= 0x94f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x962) {
      +                                                // Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
      +                                                if (0x951 <= code && code <= 0x957) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x981) {
      +                                                    // Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
      +                                                    if (0x962 <= code && code <= 0x963) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       BENGALI SIGN CANDRABINDU
      +                                                    if (0x981 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x9c7) {
      +                                        if (code < 0x9be) {
      +                                            if (code < 0x9bc) {
      +                                                // Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
      +                                                if (0x982 <= code && code <= 0x983) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       BENGALI SIGN NUKTA
      +                                                if (0x9bc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x9bf) {
      +                                                // Mc       BENGALI VOWEL SIGN AA
      +                                                if (0x9be === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x9c1) {
      +                                                    // Mc   [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
      +                                                    if (0x9bf <= code && code <= 0x9c0) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
      +                                                    if (0x9c1 <= code && code <= 0x9c4) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x9d7) {
      +                                            if (code < 0x9cb) {
      +                                                // Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
      +                                                if (0x9c7 <= code && code <= 0x9c8) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x9cd) {
      +                                                    // Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
      +                                                    if (0x9cb <= code && code <= 0x9cc) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       BENGALI SIGN VIRAMA
      +                                                    if (0x9cd === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x9e2) {
      +                                                // Mc       BENGALI AU LENGTH MARK
      +                                                if (0x9d7 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x9fe) {
      +                                                    // Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
      +                                                    if (0x9e2 <= code && code <= 0x9e3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       BENGALI SANDHI MARK
      +                                                    if (0x9fe === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xa83) {
      +                                    if (code < 0xa47) {
      +                                        if (code < 0xa3c) {
      +                                            if (code < 0xa03) {
      +                                                // Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
      +                                                if (0xa01 <= code && code <= 0xa02) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       GURMUKHI SIGN VISARGA
      +                                                if (0xa03 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa3e) {
      +                                                // Mn       GURMUKHI SIGN NUKTA
      +                                                if (0xa3c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa41) {
      +                                                    // Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
      +                                                    if (0xa3e <= code && code <= 0xa40) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
      +                                                    if (0xa41 <= code && code <= 0xa42) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xa70) {
      +                                            if (code < 0xa4b) {
      +                                                // Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
      +                                                if (0xa47 <= code && code <= 0xa48) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa51) {
      +                                                    // Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
      +                                                    if (0xa4b <= code && code <= 0xa4d) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       GURMUKHI SIGN UDAAT
      +                                                    if (0xa51 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa75) {
      +                                                // Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
      +                                                if (0xa70 <= code && code <= 0xa71) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa81) {
      +                                                    // Mn       GURMUKHI SIGN YAKASH
      +                                                    if (0xa75 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
      +                                                    if (0xa81 <= code && code <= 0xa82) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xac9) {
      +                                        if (code < 0xabe) {
      +                                            // Mc       GUJARATI SIGN VISARGA
      +                                            if (0xa83 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       GUJARATI SIGN NUKTA
      +                                            if (0xabc === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xac1) {
      +                                                // Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
      +                                                if (0xabe <= code && code <= 0xac0) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xac7) {
      +                                                    // Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
      +                                                    if (0xac1 <= code && code <= 0xac5) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
      +                                                    if (0xac7 <= code && code <= 0xac8) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xae2) {
      +                                            if (code < 0xacb) {
      +                                                // Mc       GUJARATI VOWEL SIGN CANDRA O
      +                                                if (0xac9 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xacd) {
      +                                                    // Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
      +                                                    if (0xacb <= code && code <= 0xacc) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       GUJARATI SIGN VIRAMA
      +                                                    if (0xacd === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xafa) {
      +                                                // Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
      +                                                if (0xae2 <= code && code <= 0xae3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb01) {
      +                                                    // Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
      +                                                    if (0xafa <= code && code <= 0xaff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       ORIYA SIGN CANDRABINDU
      +                                                    if (0xb01 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0xcf3) {
      +                            if (code < 0xc04) {
      +                                if (code < 0xb82) {
      +                                    if (code < 0xb47) {
      +                                        if (code < 0xb3e) {
      +                                            if (code < 0xb3c) {
      +                                                // Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
      +                                                if (0xb02 <= code && code <= 0xb03) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       ORIYA SIGN NUKTA
      +                                                if (0xb3c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb40) {
      +                                                // Mc       ORIYA VOWEL SIGN AA
      +                                                // Mn       ORIYA VOWEL SIGN I
      +                                                if (0xb3e <= code && code <= 0xb3f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb41) {
      +                                                    // Mc       ORIYA VOWEL SIGN II
      +                                                    if (0xb40 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
      +                                                    if (0xb41 <= code && code <= 0xb44) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb4d) {
      +                                            if (code < 0xb4b) {
      +                                                // Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
      +                                                if (0xb47 <= code && code <= 0xb48) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
      +                                                if (0xb4b <= code && code <= 0xb4c) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb55) {
      +                                                // Mn       ORIYA SIGN VIRAMA
      +                                                if (0xb4d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb62) {
      +                                                    // Mn   [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK
      +                                                    // Mc       ORIYA AU LENGTH MARK
      +                                                    if (0xb55 <= code && code <= 0xb57) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
      +                                                    if (0xb62 <= code && code <= 0xb63) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xbc6) {
      +                                        if (code < 0xbbf) {
      +                                            // Mn       TAMIL SIGN ANUSVARA
      +                                            if (0xb82 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                            // Mc       TAMIL VOWEL SIGN AA
      +                                            if (0xbbe === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbc0) {
      +                                                // Mc       TAMIL VOWEL SIGN I
      +                                                if (0xbbf === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbc1) {
      +                                                    // Mn       TAMIL VOWEL SIGN II
      +                                                    if (0xbc0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
      +                                                    if (0xbc1 <= code && code <= 0xbc2) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbd7) {
      +                                            if (code < 0xbca) {
      +                                                // Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
      +                                                if (0xbc6 <= code && code <= 0xbc8) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbcd) {
      +                                                    // Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
      +                                                    if (0xbca <= code && code <= 0xbcc) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       TAMIL SIGN VIRAMA
      +                                                    if (0xbcd === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc00) {
      +                                                // Mc       TAMIL AU LENGTH MARK
      +                                                if (0xbd7 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc01) {
      +                                                    // Mn       TELUGU SIGN COMBINING CANDRABINDU ABOVE
      +                                                    if (0xc00 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
      +                                                    if (0xc01 <= code && code <= 0xc03) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xcbe) {
      +                                    if (code < 0xc4a) {
      +                                        if (code < 0xc3e) {
      +                                            // Mn       TELUGU SIGN COMBINING ANUSVARA ABOVE
      +                                            if (0xc04 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                            // Mn       TELUGU SIGN NUKTA
      +                                            if (0xc3c === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc41) {
      +                                                // Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
      +                                                if (0xc3e <= code && code <= 0xc40) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc46) {
      +                                                    // Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
      +                                                    if (0xc41 <= code && code <= 0xc44) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
      +                                                    if (0xc46 <= code && code <= 0xc48) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc81) {
      +                                            if (code < 0xc55) {
      +                                                // Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
      +                                                if (0xc4a <= code && code <= 0xc4d) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc62) {
      +                                                    // Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
      +                                                    if (0xc55 <= code && code <= 0xc56) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
      +                                                    if (0xc62 <= code && code <= 0xc63) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc82) {
      +                                                // Mn       KANNADA SIGN CANDRABINDU
      +                                                if (0xc81 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcbc) {
      +                                                    // Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
      +                                                    if (0xc82 <= code && code <= 0xc83) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       KANNADA SIGN NUKTA
      +                                                    if (0xcbc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xcc6) {
      +                                        if (code < 0xcc0) {
      +                                            // Mc       KANNADA VOWEL SIGN AA
      +                                            if (0xcbe === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       KANNADA VOWEL SIGN I
      +                                            if (0xcbf === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcc2) {
      +                                                // Mc   [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
      +                                                if (0xcc0 <= code && code <= 0xcc1) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcc3) {
      +                                                    // Mc       KANNADA VOWEL SIGN UU
      +                                                    if (0xcc2 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
      +                                                    if (0xcc3 <= code && code <= 0xcc4) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xccc) {
      +                                            if (code < 0xcc7) {
      +                                                // Mn       KANNADA VOWEL SIGN E
      +                                                if (0xcc6 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcca) {
      +                                                    // Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
      +                                                    if (0xcc7 <= code && code <= 0xcc8) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
      +                                                    if (0xcca <= code && code <= 0xccb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcd5) {
      +                                                // Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
      +                                                if (0xccc <= code && code <= 0xccd) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xce2) {
      +                                                    // Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
      +                                                    if (0xcd5 <= code && code <= 0xcd6) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
      +                                                    if (0xce2 <= code && code <= 0xce3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xddf) {
      +                                if (code < 0xd4e) {
      +                                    if (code < 0xd3f) {
      +                                        if (code < 0xd02) {
      +                                            if (code < 0xd00) {
      +                                                // Mc       KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT
      +                                                if (0xcf3 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
      +                                                if (0xd00 <= code && code <= 0xd01) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd3b) {
      +                                                // Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
      +                                                if (0xd02 <= code && code <= 0xd03) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd3e) {
      +                                                    // Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
      +                                                    if (0xd3b <= code && code <= 0xd3c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       MALAYALAM VOWEL SIGN AA
      +                                                    if (0xd3e === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd46) {
      +                                            if (code < 0xd41) {
      +                                                // Mc   [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
      +                                                if (0xd3f <= code && code <= 0xd40) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
      +                                                if (0xd41 <= code && code <= 0xd44) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd4a) {
      +                                                // Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
      +                                                if (0xd46 <= code && code <= 0xd48) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd4d) {
      +                                                    // Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
      +                                                    if (0xd4a <= code && code <= 0xd4c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       MALAYALAM SIGN VIRAMA
      +                                                    if (0xd4d === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xdca) {
      +                                        if (code < 0xd62) {
      +                                            // Lo       MALAYALAM LETTER DOT REPH
      +                                            if (0xd4e === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                            }
      +                                            // Mc       MALAYALAM AU LENGTH MARK
      +                                            if (0xd57 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd81) {
      +                                                // Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
      +                                                if (0xd62 <= code && code <= 0xd63) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd82) {
      +                                                    // Mn       SINHALA SIGN CANDRABINDU
      +                                                    if (0xd81 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
      +                                                    if (0xd82 <= code && code <= 0xd83) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xdd2) {
      +                                            if (code < 0xdcf) {
      +                                                // Mn       SINHALA SIGN AL-LAKUNA
      +                                                if (0xdca === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xdd0) {
      +                                                    // Mc       SINHALA VOWEL SIGN AELA-PILLA
      +                                                    if (0xdcf === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
      +                                                    if (0xdd0 <= code && code <= 0xdd1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xdd6) {
      +                                                // Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
      +                                                if (0xdd2 <= code && code <= 0xdd4) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xdd8) {
      +                                                    // Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
      +                                                    if (0xdd6 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
      +                                                    if (0xdd8 <= code && code <= 0xdde) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xf35) {
      +                                    if (code < 0xe47) {
      +                                        if (code < 0xe31) {
      +                                            if (code < 0xdf2) {
      +                                                // Mc       SINHALA VOWEL SIGN GAYANUKITTA
      +                                                if (0xddf === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
      +                                                if (0xdf2 <= code && code <= 0xdf3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xe33) {
      +                                                // Mn       THAI CHARACTER MAI HAN-AKAT
      +                                                if (0xe31 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xe34) {
      +                                                    // Lo       THAI CHARACTER SARA AM
      +                                                    if (0xe33 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
      +                                                    if (0xe34 <= code && code <= 0xe3a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xeb4) {
      +                                            if (code < 0xeb1) {
      +                                                // Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
      +                                                if (0xe47 <= code && code <= 0xe4e) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       LAO VOWEL SIGN MAI KAN
      +                                                if (0xeb1 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Lo       LAO VOWEL SIGN AM
      +                                                if (0xeb3 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xec8) {
      +                                                // Mn   [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO
      +                                                if (0xeb4 <= code && code <= 0xebc) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xf18) {
      +                                                    // Mn   [7] LAO TONE MAI EK..LAO YAMAKKAN
      +                                                    if (0xec8 <= code && code <= 0xece) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
      +                                                    if (0xf18 <= code && code <= 0xf19) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xf7f) {
      +                                        if (code < 0xf39) {
      +                                            // Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
      +                                            if (0xf35 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                            // Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
      +                                            if (0xf37 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xf3e) {
      +                                                // Mn       TIBETAN MARK TSA -PHRU
      +                                                if (0xf39 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xf71) {
      +                                                    // Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
      +                                                    if (0xf3e <= code && code <= 0xf3f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
      +                                                    if (0xf71 <= code && code <= 0xf7e) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xf8d) {
      +                                            if (code < 0xf80) {
      +                                                // Mc       TIBETAN SIGN RNAM BCAD
      +                                                if (0xf7f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xf86) {
      +                                                    // Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
      +                                                    if (0xf80 <= code && code <= 0xf84) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
      +                                                    if (0xf86 <= code && code <= 0xf87) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xf99) {
      +                                                // Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
      +                                                if (0xf8d <= code && code <= 0xf97) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xfc6) {
      +                                                    // Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
      +                                                    if (0xf99 <= code && code <= 0xfbc) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       TIBETAN SYMBOL PADMA GDAN
      +                                                    if (0xfc6 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0x1c24) {
      +                        if (code < 0x1930) {
      +                            if (code < 0x1732) {
      +                                if (code < 0x1082) {
      +                                    if (code < 0x103d) {
      +                                        if (code < 0x1032) {
      +                                            if (code < 0x1031) {
      +                                                // Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
      +                                                if (0x102d <= code && code <= 0x1030) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       MYANMAR VOWEL SIGN E
      +                                                if (0x1031 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1039) {
      +                                                // Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
      +                                                if (0x1032 <= code && code <= 0x1037) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x103b) {
      +                                                    // Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
      +                                                    if (0x1039 <= code && code <= 0x103a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
      +                                                    if (0x103b <= code && code <= 0x103c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1058) {
      +                                            if (code < 0x1056) {
      +                                                // Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
      +                                                if (0x103d <= code && code <= 0x103e) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
      +                                                if (0x1056 <= code && code <= 0x1057) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x105e) {
      +                                                // Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
      +                                                if (0x1058 <= code && code <= 0x1059) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1071) {
      +                                                    // Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
      +                                                    if (0x105e <= code && code <= 0x1060) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
      +                                                    if (0x1071 <= code && code <= 0x1074) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x1100) {
      +                                        if (code < 0x1085) {
      +                                            // Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
      +                                            if (0x1082 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                            // Mc       MYANMAR VOWEL SIGN SHAN E
      +                                            if (0x1084 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x108d) {
      +                                                // Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
      +                                                if (0x1085 <= code && code <= 0x1086) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
      +                                                if (0x108d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mn       MYANMAR VOWEL SIGN AITON AI
      +                                                if (0x109d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x135d) {
      +                                            if (code < 0x1160) {
      +                                                // Lo  [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
      +                                                if (0x1100 <= code && code <= 0x115f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.L;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11a8) {
      +                                                    // Lo  [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
      +                                                    if (0x1160 <= code && code <= 0x11a7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.V;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
      +                                                    if (0x11a8 <= code && code <= 0x11ff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.T;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1712) {
      +                                                // Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
      +                                                if (0x135d <= code && code <= 0x135f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1715) {
      +                                                    // Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
      +                                                    if (0x1712 <= code && code <= 0x1714) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       TAGALOG SIGN PAMUDPOD
      +                                                    if (0x1715 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x17c9) {
      +                                    if (code < 0x17b6) {
      +                                        if (code < 0x1752) {
      +                                            if (code < 0x1734) {
      +                                                // Mn   [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
      +                                                if (0x1732 <= code && code <= 0x1733) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       HANUNOO SIGN PAMUDPOD
      +                                                if (0x1734 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1772) {
      +                                                // Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
      +                                                if (0x1752 <= code && code <= 0x1753) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x17b4) {
      +                                                    // Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
      +                                                    if (0x1772 <= code && code <= 0x1773) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
      +                                                    if (0x17b4 <= code && code <= 0x17b5) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x17be) {
      +                                            if (code < 0x17b7) {
      +                                                // Mc       KHMER VOWEL SIGN AA
      +                                                if (0x17b6 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
      +                                                if (0x17b7 <= code && code <= 0x17bd) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x17c6) {
      +                                                // Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
      +                                                if (0x17be <= code && code <= 0x17c5) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x17c7) {
      +                                                    // Mn       KHMER SIGN NIKAHIT
      +                                                    if (0x17c6 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
      +                                                    if (0x17c7 <= code && code <= 0x17c8) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x1885) {
      +                                        if (code < 0x180b) {
      +                                            if (code < 0x17dd) {
      +                                                // Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
      +                                                if (0x17c9 <= code && code <= 0x17d3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       KHMER SIGN ATTHACAN
      +                                                if (0x17dd === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x180e) {
      +                                                // Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
      +                                                if (0x180b <= code && code <= 0x180d) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Cf       MONGOLIAN VOWEL SEPARATOR
      +                                                if (0x180e === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                                // Mn       MONGOLIAN FREE VARIATION SELECTOR FOUR
      +                                                if (0x180f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1923) {
      +                                            if (code < 0x18a9) {
      +                                                // Mn   [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
      +                                                if (0x1885 <= code && code <= 0x1886) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1920) {
      +                                                    // Mn       MONGOLIAN LETTER ALI GALI DAGALGA
      +                                                    if (0x18a9 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
      +                                                    if (0x1920 <= code && code <= 0x1922) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1927) {
      +                                                // Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
      +                                                if (0x1923 <= code && code <= 0x1926) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1929) {
      +                                                    // Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
      +                                                    if (0x1927 <= code && code <= 0x1928) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
      +                                                    if (0x1929 <= code && code <= 0x192b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1b3b) {
      +                                if (code < 0x1a58) {
      +                                    if (code < 0x1a19) {
      +                                        if (code < 0x1933) {
      +                                            if (code < 0x1932) {
      +                                                // Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
      +                                                if (0x1930 <= code && code <= 0x1931) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       LIMBU SMALL LETTER ANUSVARA
      +                                                if (0x1932 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1939) {
      +                                                // Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
      +                                                if (0x1933 <= code && code <= 0x1938) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1a17) {
      +                                                    // Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
      +                                                    if (0x1939 <= code && code <= 0x193b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
      +                                                    if (0x1a17 <= code && code <= 0x1a18) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1a55) {
      +                                            if (code < 0x1a1b) {
      +                                                // Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
      +                                                if (0x1a19 <= code && code <= 0x1a1a) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       BUGINESE VOWEL SIGN AE
      +                                                if (0x1a1b === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1a56) {
      +                                                // Mc       TAI THAM CONSONANT SIGN MEDIAL RA
      +                                                if (0x1a55 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       TAI THAM CONSONANT SIGN MEDIAL LA
      +                                                if (0x1a56 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mc       TAI THAM CONSONANT SIGN LA TANG LAI
      +                                                if (0x1a57 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x1a73) {
      +                                        if (code < 0x1a62) {
      +                                            if (code < 0x1a60) {
      +                                                // Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
      +                                                if (0x1a58 <= code && code <= 0x1a5e) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       TAI THAM SIGN SAKOT
      +                                                if (0x1a60 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1a65) {
      +                                                // Mn       TAI THAM VOWEL SIGN MAI SAT
      +                                                if (0x1a62 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1a6d) {
      +                                                    // Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
      +                                                    if (0x1a65 <= code && code <= 0x1a6c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
      +                                                    if (0x1a6d <= code && code <= 0x1a72) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1b00) {
      +                                            if (code < 0x1a7f) {
      +                                                // Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
      +                                                if (0x1a73 <= code && code <= 0x1a7c) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1ab0) {
      +                                                    // Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
      +                                                    if (0x1a7f === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
      +                                                    // Me       COMBINING PARENTHESES OVERLAY
      +                                                    // Mn  [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
      +                                                    if (0x1ab0 <= code && code <= 0x1ace) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1b04) {
      +                                                // Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
      +                                                if (0x1b00 <= code && code <= 0x1b03) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1b34) {
      +                                                    // Mc       BALINESE SIGN BISAH
      +                                                    if (0x1b04 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       BALINESE SIGN REREKAN
      +                                                    // Mc       BALINESE VOWEL SIGN TEDUNG
      +                                                    // Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
      +                                                    if (0x1b34 <= code && code <= 0x1b3a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1ba8) {
      +                                    if (code < 0x1b6b) {
      +                                        if (code < 0x1b3d) {
      +                                            // Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
      +                                            if (0x1b3b === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       BALINESE VOWEL SIGN LA LENGA
      +                                            if (0x1b3c === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1b42) {
      +                                                // Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
      +                                                if (0x1b3d <= code && code <= 0x1b41) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1b43) {
      +                                                    // Mn       BALINESE VOWEL SIGN PEPET
      +                                                    if (0x1b42 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
      +                                                    if (0x1b43 <= code && code <= 0x1b44) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1ba1) {
      +                                            if (code < 0x1b80) {
      +                                                // Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
      +                                                if (0x1b6b <= code && code <= 0x1b73) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1b82) {
      +                                                    // Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
      +                                                    if (0x1b80 <= code && code <= 0x1b81) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       SUNDANESE SIGN PANGWISAD
      +                                                    if (0x1b82 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1ba2) {
      +                                                // Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
      +                                                if (0x1ba1 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1ba6) {
      +                                                    // Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
      +                                                    if (0x1ba2 <= code && code <= 0x1ba5) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
      +                                                    if (0x1ba6 <= code && code <= 0x1ba7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x1be8) {
      +                                        if (code < 0x1bab) {
      +                                            if (code < 0x1baa) {
      +                                                // Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
      +                                                if (0x1ba8 <= code && code <= 0x1ba9) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       SUNDANESE SIGN PAMAAEH
      +                                                if (0x1baa === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1be6) {
      +                                                // Mn   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
      +                                                if (0x1bab <= code && code <= 0x1bad) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       BATAK SIGN TOMPI
      +                                                if (0x1be6 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mc       BATAK VOWEL SIGN E
      +                                                if (0x1be7 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1bee) {
      +                                            if (code < 0x1bea) {
      +                                                // Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
      +                                                if (0x1be8 <= code && code <= 0x1be9) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1bed) {
      +                                                    // Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
      +                                                    if (0x1bea <= code && code <= 0x1bec) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       BATAK VOWEL SIGN KARO O
      +                                                    if (0x1bed === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1bef) {
      +                                                // Mc       BATAK VOWEL SIGN U
      +                                                if (0x1bee === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1bf2) {
      +                                                    // Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
      +                                                    if (0x1bef <= code && code <= 0x1bf1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
      +                                                    if (0x1bf2 <= code && code <= 0x1bf3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0xa952) {
      +                            if (code < 0x2d7f) {
      +                                if (code < 0x1cf7) {
      +                                    if (code < 0x1cd4) {
      +                                        if (code < 0x1c34) {
      +                                            if (code < 0x1c2c) {
      +                                                // Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
      +                                                if (0x1c24 <= code && code <= 0x1c2b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
      +                                                if (0x1c2c <= code && code <= 0x1c33) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1c36) {
      +                                                // Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
      +                                                if (0x1c34 <= code && code <= 0x1c35) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1cd0) {
      +                                                    // Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
      +                                                    if (0x1c36 <= code && code <= 0x1c37) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
      +                                                    if (0x1cd0 <= code && code <= 0x1cd2) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1ce2) {
      +                                            if (code < 0x1ce1) {
      +                                                // Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
      +                                                if (0x1cd4 <= code && code <= 0x1ce0) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
      +                                                if (0x1ce1 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1ced) {
      +                                                // Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
      +                                                if (0x1ce2 <= code && code <= 0x1ce8) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       VEDIC SIGN TIRYAK
      +                                                if (0x1ced === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mn       VEDIC TONE CANDRA ABOVE
      +                                                if (0x1cf4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x200d) {
      +                                        if (code < 0x1dc0) {
      +                                            if (code < 0x1cf8) {
      +                                                // Mc       VEDIC SIGN ATIKRAMA
      +                                                if (0x1cf7 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
      +                                                if (0x1cf8 <= code && code <= 0x1cf9) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x200b) {
      +                                                // Mn  [64] COMBINING DOTTED GRAVE ACCENT..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
      +                                                if (0x1dc0 <= code && code <= 0x1dff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Cf       ZERO WIDTH SPACE
      +                                                if (0x200b === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                                // Cf       ZERO WIDTH NON-JOINER
      +                                                if (0x200c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x2060) {
      +                                            if (code < 0x200e) {
      +                                                // Cf       ZERO WIDTH JOINER
      +                                                if (0x200d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.ZWJ;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x2028) {
      +                                                    // Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
      +                                                    if (0x200e <= code && code <= 0x200f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Zl       LINE SEPARATOR
      +                                                    // Zp       PARAGRAPH SEPARATOR
      +                                                    // Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
      +                                                    if (0x2028 <= code && code <= 0x202e) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x20d0) {
      +                                                // Cf   [5] WORD JOINER..INVISIBLE PLUS
      +                                                // Cn       
      +                                                // Cf  [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
      +                                                if (0x2060 <= code && code <= 0x206f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x2cef) {
      +                                                    // Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
      +                                                    // Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
      +                                                    // Mn       COMBINING LEFT RIGHT ARROW ABOVE
      +                                                    // Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
      +                                                    // Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
      +                                                    if (0x20d0 <= code && code <= 0x20f0) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
      +                                                    if (0x2cef <= code && code <= 0x2cf1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xa823) {
      +                                    if (code < 0xa674) {
      +                                        if (code < 0x302a) {
      +                                            if (code < 0x2de0) {
      +                                                // Mn       TIFINAGH CONSONANT JOINER
      +                                                if (0x2d7f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
      +                                                if (0x2de0 <= code && code <= 0x2dff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x3099) {
      +                                                // Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
      +                                                // Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
      +                                                if (0x302a <= code && code <= 0x302f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa66f) {
      +                                                    // Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
      +                                                    if (0x3099 <= code && code <= 0x309a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       COMBINING CYRILLIC VZMET
      +                                                    // Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
      +                                                    if (0xa66f <= code && code <= 0xa672) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xa802) {
      +                                            if (code < 0xa69e) {
      +                                                // Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
      +                                                if (0xa674 <= code && code <= 0xa67d) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa6f0) {
      +                                                    // Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
      +                                                    if (0xa69e <= code && code <= 0xa69f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
      +                                                    if (0xa6f0 <= code && code <= 0xa6f1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa806) {
      +                                                // Mn       SYLOTI NAGRI SIGN DVISVARA
      +                                                if (0xa802 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       SYLOTI NAGRI SIGN HASANTA
      +                                                if (0xa806 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mn       SYLOTI NAGRI SIGN ANUSVARA
      +                                                if (0xa80b === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xa8b4) {
      +                                        if (code < 0xa827) {
      +                                            if (code < 0xa825) {
      +                                                // Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
      +                                                if (0xa823 <= code && code <= 0xa824) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
      +                                                if (0xa825 <= code && code <= 0xa826) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa82c) {
      +                                                // Mc       SYLOTI NAGRI VOWEL SIGN OO
      +                                                if (0xa827 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa880) {
      +                                                    // Mn       SYLOTI NAGRI SIGN ALTERNATE HASANTA
      +                                                    if (0xa82c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
      +                                                    if (0xa880 <= code && code <= 0xa881) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xa8ff) {
      +                                            if (code < 0xa8c4) {
      +                                                // Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
      +                                                if (0xa8b4 <= code && code <= 0xa8c3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa8e0) {
      +                                                    // Mn   [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
      +                                                    if (0xa8c4 <= code && code <= 0xa8c5) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
      +                                                    if (0xa8e0 <= code && code <= 0xa8f1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa926) {
      +                                                // Mn       DEVANAGARI VOWEL SIGN AY
      +                                                if (0xa8ff === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa947) {
      +                                                    // Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
      +                                                    if (0xa926 <= code && code <= 0xa92d) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
      +                                                    if (0xa947 <= code && code <= 0xa951) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xaab2) {
      +                                if (code < 0xa9e5) {
      +                                    if (code < 0xa9b4) {
      +                                        if (code < 0xa980) {
      +                                            if (code < 0xa960) {
      +                                                // Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
      +                                                if (0xa952 <= code && code <= 0xa953) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
      +                                                if (0xa960 <= code && code <= 0xa97c) {
      +                                                    return boundaries_1.CLUSTER_BREAK.L;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa983) {
      +                                                // Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
      +                                                if (0xa980 <= code && code <= 0xa982) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       JAVANESE SIGN WIGNYAN
      +                                                if (0xa983 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       JAVANESE SIGN CECAK TELU
      +                                                if (0xa9b3 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xa9ba) {
      +                                            if (code < 0xa9b6) {
      +                                                // Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
      +                                                if (0xa9b4 <= code && code <= 0xa9b5) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
      +                                                if (0xa9b6 <= code && code <= 0xa9b9) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xa9bc) {
      +                                                // Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
      +                                                if (0xa9ba <= code && code <= 0xa9bb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xa9be) {
      +                                                    // Mn   [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET
      +                                                    if (0xa9bc <= code && code <= 0xa9bd) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON
      +                                                    if (0xa9be <= code && code <= 0xa9c0) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xaa35) {
      +                                        if (code < 0xaa2f) {
      +                                            if (code < 0xaa29) {
      +                                                // Mn       MYANMAR SIGN SHAN SAW
      +                                                if (0xa9e5 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
      +                                                if (0xaa29 <= code && code <= 0xaa2e) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaa31) {
      +                                                // Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
      +                                                if (0xaa2f <= code && code <= 0xaa30) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaa33) {
      +                                                    // Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
      +                                                    if (0xaa31 <= code && code <= 0xaa32) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
      +                                                    if (0xaa33 <= code && code <= 0xaa34) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xaa4d) {
      +                                            if (code < 0xaa43) {
      +                                                // Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
      +                                                if (0xaa35 <= code && code <= 0xaa36) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       CHAM CONSONANT SIGN FINAL NG
      +                                                if (0xaa43 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mn       CHAM CONSONANT SIGN FINAL M
      +                                                if (0xaa4c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaa7c) {
      +                                                // Mc       CHAM CONSONANT SIGN FINAL H
      +                                                if (0xaa4d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       MYANMAR SIGN TAI LAING TONE-2
      +                                                if (0xaa7c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mn       TAI VIET MAI KANG
      +                                                if (0xaab0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xabe6) {
      +                                    if (code < 0xaaec) {
      +                                        if (code < 0xaabe) {
      +                                            if (code < 0xaab7) {
      +                                                // Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
      +                                                if (0xaab2 <= code && code <= 0xaab4) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
      +                                                if (0xaab7 <= code && code <= 0xaab8) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaac1) {
      +                                                // Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
      +                                                if (0xaabe <= code && code <= 0xaabf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       TAI VIET TONE MAI THO
      +                                                if (0xaac1 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mc       MEETEI MAYEK VOWEL SIGN II
      +                                                if (0xaaeb === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xaaf6) {
      +                                            if (code < 0xaaee) {
      +                                                // Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
      +                                                if (0xaaec <= code && code <= 0xaaed) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaaf5) {
      +                                                    // Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
      +                                                    if (0xaaee <= code && code <= 0xaaef) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       MEETEI MAYEK VOWEL SIGN VISARGA
      +                                                    if (0xaaf5 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xabe3) {
      +                                                // Mn       MEETEI MAYEK VIRAMA
      +                                                if (0xaaf6 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xabe5) {
      +                                                    // Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
      +                                                    if (0xabe3 <= code && code <= 0xabe4) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       MEETEI MAYEK VOWEL SIGN ANAP
      +                                                    if (0xabe5 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xac00) {
      +                                        if (code < 0xabe9) {
      +                                            if (code < 0xabe8) {
      +                                                // Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
      +                                                if (0xabe6 <= code && code <= 0xabe7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       MEETEI MAYEK VOWEL SIGN UNAP
      +                                                if (0xabe8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xabec) {
      +                                                // Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
      +                                                if (0xabe9 <= code && code <= 0xabea) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       MEETEI MAYEK LUM IYEK
      +                                                if (0xabec === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       MEETEI MAYEK APUN IYEK
      +                                                if (0xabed === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xac1d) {
      +                                            if (code < 0xac01) {
      +                                                // Lo       HANGUL SYLLABLE GA
      +                                                if (0xac00 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xac1c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
      +                                                    if (0xac01 <= code && code <= 0xac1b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GAE
      +                                                    if (0xac1c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xac38) {
      +                                                // Lo  [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
      +                                                if (0xac1d <= code && code <= 0xac37) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xac39) {
      +                                                    // Lo       HANGUL SYLLABLE GYA
      +                                                    if (0xac38 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
      +                                                    if (0xac39 <= code && code <= 0xac53) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +            else {
      +                if (code < 0xb5a1) {
      +                    if (code < 0xb0ed) {
      +                        if (code < 0xaea0) {
      +                            if (code < 0xad6d) {
      +                                if (code < 0xace0) {
      +                                    if (code < 0xac8d) {
      +                                        if (code < 0xac70) {
      +                                            if (code < 0xac55) {
      +                                                // Lo       HANGUL SYLLABLE GYAE
      +                                                if (0xac54 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
      +                                                if (0xac55 <= code && code <= 0xac6f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xac71) {
      +                                                // Lo       HANGUL SYLLABLE GEO
      +                                                if (0xac70 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xac8c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
      +                                                    if (0xac71 <= code && code <= 0xac8b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GE
      +                                                    if (0xac8c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xaca9) {
      +                                            if (code < 0xaca8) {
      +                                                // Lo  [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
      +                                                if (0xac8d <= code && code <= 0xaca7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE GYEO
      +                                                if (0xaca8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xacc4) {
      +                                                // Lo  [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
      +                                                if (0xaca9 <= code && code <= 0xacc3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xacc5) {
      +                                                    // Lo       HANGUL SYLLABLE GYE
      +                                                    if (0xacc4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
      +                                                    if (0xacc5 <= code && code <= 0xacdf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xad19) {
      +                                        if (code < 0xacfc) {
      +                                            if (code < 0xace1) {
      +                                                // Lo       HANGUL SYLLABLE GO
      +                                                if (0xace0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
      +                                                if (0xace1 <= code && code <= 0xacfb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xacfd) {
      +                                                // Lo       HANGUL SYLLABLE GWA
      +                                                if (0xacfc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xad18) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
      +                                                    if (0xacfd <= code && code <= 0xad17) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GWAE
      +                                                    if (0xad18 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xad50) {
      +                                            if (code < 0xad34) {
      +                                                // Lo  [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
      +                                                if (0xad19 <= code && code <= 0xad33) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xad35) {
      +                                                    // Lo       HANGUL SYLLABLE GOE
      +                                                    if (0xad34 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
      +                                                    if (0xad35 <= code && code <= 0xad4f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xad51) {
      +                                                // Lo       HANGUL SYLLABLE GYO
      +                                                if (0xad50 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xad6c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
      +                                                    if (0xad51 <= code && code <= 0xad6b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GU
      +                                                    if (0xad6c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xadf9) {
      +                                    if (code < 0xadc0) {
      +                                        if (code < 0xad89) {
      +                                            if (code < 0xad88) {
      +                                                // Lo  [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
      +                                                if (0xad6d <= code && code <= 0xad87) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE GWEO
      +                                                if (0xad88 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xada4) {
      +                                                // Lo  [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
      +                                                if (0xad89 <= code && code <= 0xada3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xada5) {
      +                                                    // Lo       HANGUL SYLLABLE GWE
      +                                                    if (0xada4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
      +                                                    if (0xada5 <= code && code <= 0xadbf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xaddc) {
      +                                            if (code < 0xadc1) {
      +                                                // Lo       HANGUL SYLLABLE GWI
      +                                                if (0xadc0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
      +                                                if (0xadc1 <= code && code <= 0xaddb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaddd) {
      +                                                // Lo       HANGUL SYLLABLE GYU
      +                                                if (0xaddc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xadf8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
      +                                                    if (0xaddd <= code && code <= 0xadf7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GEU
      +                                                    if (0xadf8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xae4c) {
      +                                        if (code < 0xae15) {
      +                                            if (code < 0xae14) {
      +                                                // Lo  [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
      +                                                if (0xadf9 <= code && code <= 0xae13) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE GYI
      +                                                if (0xae14 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xae30) {
      +                                                // Lo  [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
      +                                                if (0xae15 <= code && code <= 0xae2f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xae31) {
      +                                                    // Lo       HANGUL SYLLABLE GI
      +                                                    if (0xae30 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
      +                                                    if (0xae31 <= code && code <= 0xae4b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xae69) {
      +                                            if (code < 0xae4d) {
      +                                                // Lo       HANGUL SYLLABLE GGA
      +                                                if (0xae4c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xae68) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
      +                                                    if (0xae4d <= code && code <= 0xae67) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GGAE
      +                                                    if (0xae68 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xae84) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
      +                                                if (0xae69 <= code && code <= 0xae83) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xae85) {
      +                                                    // Lo       HANGUL SYLLABLE GGYA
      +                                                    if (0xae84 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
      +                                                    if (0xae85 <= code && code <= 0xae9f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xafb9) {
      +                                if (code < 0xaf2c) {
      +                                    if (code < 0xaed9) {
      +                                        if (code < 0xaebc) {
      +                                            if (code < 0xaea1) {
      +                                                // Lo       HANGUL SYLLABLE GGYAE
      +                                                if (0xaea0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
      +                                                if (0xaea1 <= code && code <= 0xaebb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaebd) {
      +                                                // Lo       HANGUL SYLLABLE GGEO
      +                                                if (0xaebc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaed8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
      +                                                    if (0xaebd <= code && code <= 0xaed7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GGE
      +                                                    if (0xaed8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xaef5) {
      +                                            if (code < 0xaef4) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
      +                                                if (0xaed9 <= code && code <= 0xaef3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE GGYEO
      +                                                if (0xaef4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaf10) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
      +                                                if (0xaef5 <= code && code <= 0xaf0f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaf11) {
      +                                                    // Lo       HANGUL SYLLABLE GGYE
      +                                                    if (0xaf10 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
      +                                                    if (0xaf11 <= code && code <= 0xaf2b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xaf65) {
      +                                        if (code < 0xaf48) {
      +                                            if (code < 0xaf2d) {
      +                                                // Lo       HANGUL SYLLABLE GGO
      +                                                if (0xaf2c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
      +                                                if (0xaf2d <= code && code <= 0xaf47) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaf49) {
      +                                                // Lo       HANGUL SYLLABLE GGWA
      +                                                if (0xaf48 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaf64) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
      +                                                    if (0xaf49 <= code && code <= 0xaf63) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GGWAE
      +                                                    if (0xaf64 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xaf9c) {
      +                                            if (code < 0xaf80) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
      +                                                if (0xaf65 <= code && code <= 0xaf7f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaf81) {
      +                                                    // Lo       HANGUL SYLLABLE GGOE
      +                                                    if (0xaf80 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
      +                                                    if (0xaf81 <= code && code <= 0xaf9b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaf9d) {
      +                                                // Lo       HANGUL SYLLABLE GGYO
      +                                                if (0xaf9c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xafb8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
      +                                                    if (0xaf9d <= code && code <= 0xafb7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GGU
      +                                                    if (0xafb8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xb060) {
      +                                    if (code < 0xb00c) {
      +                                        if (code < 0xafd5) {
      +                                            if (code < 0xafd4) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
      +                                                if (0xafb9 <= code && code <= 0xafd3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE GGWEO
      +                                                if (0xafd4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xaff0) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
      +                                                if (0xafd5 <= code && code <= 0xafef) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xaff1) {
      +                                                    // Lo       HANGUL SYLLABLE GGWE
      +                                                    if (0xaff0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
      +                                                    if (0xaff1 <= code && code <= 0xb00b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb029) {
      +                                            if (code < 0xb00d) {
      +                                                // Lo       HANGUL SYLLABLE GGWI
      +                                                if (0xb00c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb028) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
      +                                                    if (0xb00d <= code && code <= 0xb027) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE GGYU
      +                                                    if (0xb028 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb044) {
      +                                                // Lo  [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
      +                                                if (0xb029 <= code && code <= 0xb043) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb045) {
      +                                                    // Lo       HANGUL SYLLABLE GGEU
      +                                                    if (0xb044 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
      +                                                    if (0xb045 <= code && code <= 0xb05f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb099) {
      +                                        if (code < 0xb07c) {
      +                                            if (code < 0xb061) {
      +                                                // Lo       HANGUL SYLLABLE GGYI
      +                                                if (0xb060 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
      +                                                if (0xb061 <= code && code <= 0xb07b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb07d) {
      +                                                // Lo       HANGUL SYLLABLE GGI
      +                                                if (0xb07c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb098) {
      +                                                    // Lo  [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
      +                                                    if (0xb07d <= code && code <= 0xb097) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE NA
      +                                                    if (0xb098 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb0d0) {
      +                                            if (code < 0xb0b4) {
      +                                                // Lo  [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
      +                                                if (0xb099 <= code && code <= 0xb0b3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb0b5) {
      +                                                    // Lo       HANGUL SYLLABLE NAE
      +                                                    if (0xb0b4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
      +                                                    if (0xb0b5 <= code && code <= 0xb0cf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb0d1) {
      +                                                // Lo       HANGUL SYLLABLE NYA
      +                                                if (0xb0d0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb0ec) {
      +                                                    // Lo  [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
      +                                                    if (0xb0d1 <= code && code <= 0xb0eb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE NYAE
      +                                                    if (0xb0ec === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0xb354) {
      +                            if (code < 0xb220) {
      +                                if (code < 0xb179) {
      +                                    if (code < 0xb140) {
      +                                        if (code < 0xb109) {
      +                                            if (code < 0xb108) {
      +                                                // Lo  [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
      +                                                if (0xb0ed <= code && code <= 0xb107) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE NEO
      +                                                if (0xb108 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb124) {
      +                                                // Lo  [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
      +                                                if (0xb109 <= code && code <= 0xb123) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb125) {
      +                                                    // Lo       HANGUL SYLLABLE NE
      +                                                    if (0xb124 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
      +                                                    if (0xb125 <= code && code <= 0xb13f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb15c) {
      +                                            if (code < 0xb141) {
      +                                                // Lo       HANGUL SYLLABLE NYEO
      +                                                if (0xb140 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
      +                                                if (0xb141 <= code && code <= 0xb15b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb15d) {
      +                                                // Lo       HANGUL SYLLABLE NYE
      +                                                if (0xb15c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb178) {
      +                                                    // Lo  [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
      +                                                    if (0xb15d <= code && code <= 0xb177) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE NO
      +                                                    if (0xb178 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb1cc) {
      +                                        if (code < 0xb195) {
      +                                            if (code < 0xb194) {
      +                                                // Lo  [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
      +                                                if (0xb179 <= code && code <= 0xb193) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE NWA
      +                                                if (0xb194 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb1b0) {
      +                                                // Lo  [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
      +                                                if (0xb195 <= code && code <= 0xb1af) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb1b1) {
      +                                                    // Lo       HANGUL SYLLABLE NWAE
      +                                                    if (0xb1b0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
      +                                                    if (0xb1b1 <= code && code <= 0xb1cb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb1e9) {
      +                                            if (code < 0xb1cd) {
      +                                                // Lo       HANGUL SYLLABLE NOE
      +                                                if (0xb1cc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb1e8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
      +                                                    if (0xb1cd <= code && code <= 0xb1e7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE NYO
      +                                                    if (0xb1e8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb204) {
      +                                                // Lo  [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
      +                                                if (0xb1e9 <= code && code <= 0xb203) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb205) {
      +                                                    // Lo       HANGUL SYLLABLE NU
      +                                                    if (0xb204 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
      +                                                    if (0xb205 <= code && code <= 0xb21f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xb2ad) {
      +                                    if (code < 0xb259) {
      +                                        if (code < 0xb23c) {
      +                                            if (code < 0xb221) {
      +                                                // Lo       HANGUL SYLLABLE NWEO
      +                                                if (0xb220 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
      +                                                if (0xb221 <= code && code <= 0xb23b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb23d) {
      +                                                // Lo       HANGUL SYLLABLE NWE
      +                                                if (0xb23c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb258) {
      +                                                    // Lo  [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
      +                                                    if (0xb23d <= code && code <= 0xb257) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE NWI
      +                                                    if (0xb258 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb290) {
      +                                            if (code < 0xb274) {
      +                                                // Lo  [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
      +                                                if (0xb259 <= code && code <= 0xb273) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb275) {
      +                                                    // Lo       HANGUL SYLLABLE NYU
      +                                                    if (0xb274 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
      +                                                    if (0xb275 <= code && code <= 0xb28f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb291) {
      +                                                // Lo       HANGUL SYLLABLE NEU
      +                                                if (0xb290 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb2ac) {
      +                                                    // Lo  [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
      +                                                    if (0xb291 <= code && code <= 0xb2ab) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE NYI
      +                                                    if (0xb2ac === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb300) {
      +                                        if (code < 0xb2c9) {
      +                                            if (code < 0xb2c8) {
      +                                                // Lo  [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
      +                                                if (0xb2ad <= code && code <= 0xb2c7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE NI
      +                                                if (0xb2c8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb2e4) {
      +                                                // Lo  [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
      +                                                if (0xb2c9 <= code && code <= 0xb2e3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb2e5) {
      +                                                    // Lo       HANGUL SYLLABLE DA
      +                                                    if (0xb2e4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
      +                                                    if (0xb2e5 <= code && code <= 0xb2ff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb31d) {
      +                                            if (code < 0xb301) {
      +                                                // Lo       HANGUL SYLLABLE DAE
      +                                                if (0xb300 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb31c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
      +                                                    if (0xb301 <= code && code <= 0xb31b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DYA
      +                                                    if (0xb31c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb338) {
      +                                                // Lo  [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
      +                                                if (0xb31d <= code && code <= 0xb337) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb339) {
      +                                                    // Lo       HANGUL SYLLABLE DYAE
      +                                                    if (0xb338 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
      +                                                    if (0xb339 <= code && code <= 0xb353) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xb46d) {
      +                                if (code < 0xb3e0) {
      +                                    if (code < 0xb38d) {
      +                                        if (code < 0xb370) {
      +                                            if (code < 0xb355) {
      +                                                // Lo       HANGUL SYLLABLE DEO
      +                                                if (0xb354 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
      +                                                if (0xb355 <= code && code <= 0xb36f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb371) {
      +                                                // Lo       HANGUL SYLLABLE DE
      +                                                if (0xb370 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb38c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
      +                                                    if (0xb371 <= code && code <= 0xb38b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DYEO
      +                                                    if (0xb38c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb3a9) {
      +                                            if (code < 0xb3a8) {
      +                                                // Lo  [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
      +                                                if (0xb38d <= code && code <= 0xb3a7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE DYE
      +                                                if (0xb3a8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb3c4) {
      +                                                // Lo  [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
      +                                                if (0xb3a9 <= code && code <= 0xb3c3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb3c5) {
      +                                                    // Lo       HANGUL SYLLABLE DO
      +                                                    if (0xb3c4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
      +                                                    if (0xb3c5 <= code && code <= 0xb3df) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb419) {
      +                                        if (code < 0xb3fc) {
      +                                            if (code < 0xb3e1) {
      +                                                // Lo       HANGUL SYLLABLE DWA
      +                                                if (0xb3e0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
      +                                                if (0xb3e1 <= code && code <= 0xb3fb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb3fd) {
      +                                                // Lo       HANGUL SYLLABLE DWAE
      +                                                if (0xb3fc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb418) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
      +                                                    if (0xb3fd <= code && code <= 0xb417) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DOE
      +                                                    if (0xb418 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb450) {
      +                                            if (code < 0xb434) {
      +                                                // Lo  [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
      +                                                if (0xb419 <= code && code <= 0xb433) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb435) {
      +                                                    // Lo       HANGUL SYLLABLE DYO
      +                                                    if (0xb434 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
      +                                                    if (0xb435 <= code && code <= 0xb44f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb451) {
      +                                                // Lo       HANGUL SYLLABLE DU
      +                                                if (0xb450 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb46c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
      +                                                    if (0xb451 <= code && code <= 0xb46b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DWEO
      +                                                    if (0xb46c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xb514) {
      +                                    if (code < 0xb4c0) {
      +                                        if (code < 0xb489) {
      +                                            if (code < 0xb488) {
      +                                                // Lo  [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
      +                                                if (0xb46d <= code && code <= 0xb487) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE DWE
      +                                                if (0xb488 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb4a4) {
      +                                                // Lo  [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
      +                                                if (0xb489 <= code && code <= 0xb4a3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb4a5) {
      +                                                    // Lo       HANGUL SYLLABLE DWI
      +                                                    if (0xb4a4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
      +                                                    if (0xb4a5 <= code && code <= 0xb4bf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb4dd) {
      +                                            if (code < 0xb4c1) {
      +                                                // Lo       HANGUL SYLLABLE DYU
      +                                                if (0xb4c0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb4dc) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
      +                                                    if (0xb4c1 <= code && code <= 0xb4db) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DEU
      +                                                    if (0xb4dc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb4f8) {
      +                                                // Lo  [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
      +                                                if (0xb4dd <= code && code <= 0xb4f7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb4f9) {
      +                                                    // Lo       HANGUL SYLLABLE DYI
      +                                                    if (0xb4f8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
      +                                                    if (0xb4f9 <= code && code <= 0xb513) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb54d) {
      +                                        if (code < 0xb530) {
      +                                            if (code < 0xb515) {
      +                                                // Lo       HANGUL SYLLABLE DI
      +                                                if (0xb514 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
      +                                                if (0xb515 <= code && code <= 0xb52f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb531) {
      +                                                // Lo       HANGUL SYLLABLE DDA
      +                                                if (0xb530 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb54c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
      +                                                    if (0xb531 <= code && code <= 0xb54b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DDAE
      +                                                    if (0xb54c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb584) {
      +                                            if (code < 0xb568) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
      +                                                if (0xb54d <= code && code <= 0xb567) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb569) {
      +                                                    // Lo       HANGUL SYLLABLE DDYA
      +                                                    if (0xb568 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
      +                                                    if (0xb569 <= code && code <= 0xb583) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb585) {
      +                                                // Lo       HANGUL SYLLABLE DDYAE
      +                                                if (0xb584 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb5a0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
      +                                                    if (0xb585 <= code && code <= 0xb59f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DDEO
      +                                                    if (0xb5a0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0xba55) {
      +                        if (code < 0xb808) {
      +                            if (code < 0xb6d4) {
      +                                if (code < 0xb62d) {
      +                                    if (code < 0xb5f4) {
      +                                        if (code < 0xb5bd) {
      +                                            if (code < 0xb5bc) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
      +                                                if (0xb5a1 <= code && code <= 0xb5bb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE DDE
      +                                                if (0xb5bc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb5d8) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
      +                                                if (0xb5bd <= code && code <= 0xb5d7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb5d9) {
      +                                                    // Lo       HANGUL SYLLABLE DDYEO
      +                                                    if (0xb5d8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
      +                                                    if (0xb5d9 <= code && code <= 0xb5f3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb610) {
      +                                            if (code < 0xb5f5) {
      +                                                // Lo       HANGUL SYLLABLE DDYE
      +                                                if (0xb5f4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
      +                                                if (0xb5f5 <= code && code <= 0xb60f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb611) {
      +                                                // Lo       HANGUL SYLLABLE DDO
      +                                                if (0xb610 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb62c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
      +                                                    if (0xb611 <= code && code <= 0xb62b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DDWA
      +                                                    if (0xb62c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb680) {
      +                                        if (code < 0xb649) {
      +                                            if (code < 0xb648) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
      +                                                if (0xb62d <= code && code <= 0xb647) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE DDWAE
      +                                                if (0xb648 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb664) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
      +                                                if (0xb649 <= code && code <= 0xb663) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb665) {
      +                                                    // Lo       HANGUL SYLLABLE DDOE
      +                                                    if (0xb664 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
      +                                                    if (0xb665 <= code && code <= 0xb67f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb69d) {
      +                                            if (code < 0xb681) {
      +                                                // Lo       HANGUL SYLLABLE DDYO
      +                                                if (0xb680 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb69c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
      +                                                    if (0xb681 <= code && code <= 0xb69b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DDU
      +                                                    if (0xb69c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb6b8) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
      +                                                if (0xb69d <= code && code <= 0xb6b7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb6b9) {
      +                                                    // Lo       HANGUL SYLLABLE DDWEO
      +                                                    if (0xb6b8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
      +                                                    if (0xb6b9 <= code && code <= 0xb6d3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xb761) {
      +                                    if (code < 0xb70d) {
      +                                        if (code < 0xb6f0) {
      +                                            if (code < 0xb6d5) {
      +                                                // Lo       HANGUL SYLLABLE DDWE
      +                                                if (0xb6d4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
      +                                                if (0xb6d5 <= code && code <= 0xb6ef) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb6f1) {
      +                                                // Lo       HANGUL SYLLABLE DDWI
      +                                                if (0xb6f0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb70c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
      +                                                    if (0xb6f1 <= code && code <= 0xb70b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DDYU
      +                                                    if (0xb70c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb744) {
      +                                            if (code < 0xb728) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
      +                                                if (0xb70d <= code && code <= 0xb727) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb729) {
      +                                                    // Lo       HANGUL SYLLABLE DDEU
      +                                                    if (0xb728 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
      +                                                    if (0xb729 <= code && code <= 0xb743) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb745) {
      +                                                // Lo       HANGUL SYLLABLE DDYI
      +                                                if (0xb744 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb760) {
      +                                                    // Lo  [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
      +                                                    if (0xb745 <= code && code <= 0xb75f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE DDI
      +                                                    if (0xb760 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb7b4) {
      +                                        if (code < 0xb77d) {
      +                                            if (code < 0xb77c) {
      +                                                // Lo  [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
      +                                                if (0xb761 <= code && code <= 0xb77b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE RA
      +                                                if (0xb77c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb798) {
      +                                                // Lo  [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
      +                                                if (0xb77d <= code && code <= 0xb797) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb799) {
      +                                                    // Lo       HANGUL SYLLABLE RAE
      +                                                    if (0xb798 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
      +                                                    if (0xb799 <= code && code <= 0xb7b3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb7d1) {
      +                                            if (code < 0xb7b5) {
      +                                                // Lo       HANGUL SYLLABLE RYA
      +                                                if (0xb7b4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb7d0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
      +                                                    if (0xb7b5 <= code && code <= 0xb7cf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE RYAE
      +                                                    if (0xb7d0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb7ec) {
      +                                                // Lo  [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
      +                                                if (0xb7d1 <= code && code <= 0xb7eb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb7ed) {
      +                                                    // Lo       HANGUL SYLLABLE REO
      +                                                    if (0xb7ec === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
      +                                                    if (0xb7ed <= code && code <= 0xb807) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xb921) {
      +                                if (code < 0xb894) {
      +                                    if (code < 0xb841) {
      +                                        if (code < 0xb824) {
      +                                            if (code < 0xb809) {
      +                                                // Lo       HANGUL SYLLABLE RE
      +                                                if (0xb808 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
      +                                                if (0xb809 <= code && code <= 0xb823) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb825) {
      +                                                // Lo       HANGUL SYLLABLE RYEO
      +                                                if (0xb824 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb840) {
      +                                                    // Lo  [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
      +                                                    if (0xb825 <= code && code <= 0xb83f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE RYE
      +                                                    if (0xb840 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb85d) {
      +                                            if (code < 0xb85c) {
      +                                                // Lo  [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
      +                                                if (0xb841 <= code && code <= 0xb85b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE RO
      +                                                if (0xb85c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb878) {
      +                                                // Lo  [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
      +                                                if (0xb85d <= code && code <= 0xb877) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb879) {
      +                                                    // Lo       HANGUL SYLLABLE RWA
      +                                                    if (0xb878 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
      +                                                    if (0xb879 <= code && code <= 0xb893) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xb8cd) {
      +                                        if (code < 0xb8b0) {
      +                                            if (code < 0xb895) {
      +                                                // Lo       HANGUL SYLLABLE RWAE
      +                                                if (0xb894 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
      +                                                if (0xb895 <= code && code <= 0xb8af) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb8b1) {
      +                                                // Lo       HANGUL SYLLABLE ROE
      +                                                if (0xb8b0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb8cc) {
      +                                                    // Lo  [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
      +                                                    if (0xb8b1 <= code && code <= 0xb8cb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE RYO
      +                                                    if (0xb8cc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb904) {
      +                                            if (code < 0xb8e8) {
      +                                                // Lo  [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
      +                                                if (0xb8cd <= code && code <= 0xb8e7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb8e9) {
      +                                                    // Lo       HANGUL SYLLABLE RU
      +                                                    if (0xb8e8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
      +                                                    if (0xb8e9 <= code && code <= 0xb903) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb905) {
      +                                                // Lo       HANGUL SYLLABLE RWEO
      +                                                if (0xb904 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb920) {
      +                                                    // Lo  [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
      +                                                    if (0xb905 <= code && code <= 0xb91f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE RWE
      +                                                    if (0xb920 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xb9c8) {
      +                                    if (code < 0xb974) {
      +                                        if (code < 0xb93d) {
      +                                            if (code < 0xb93c) {
      +                                                // Lo  [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
      +                                                if (0xb921 <= code && code <= 0xb93b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE RWI
      +                                                if (0xb93c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb958) {
      +                                                // Lo  [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
      +                                                if (0xb93d <= code && code <= 0xb957) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb959) {
      +                                                    // Lo       HANGUL SYLLABLE RYU
      +                                                    if (0xb958 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
      +                                                    if (0xb959 <= code && code <= 0xb973) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xb991) {
      +                                            if (code < 0xb975) {
      +                                                // Lo       HANGUL SYLLABLE REU
      +                                                if (0xb974 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb990) {
      +                                                    // Lo  [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
      +                                                    if (0xb975 <= code && code <= 0xb98f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE RYI
      +                                                    if (0xb990 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb9ac) {
      +                                                // Lo  [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
      +                                                if (0xb991 <= code && code <= 0xb9ab) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xb9ad) {
      +                                                    // Lo       HANGUL SYLLABLE RI
      +                                                    if (0xb9ac === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
      +                                                    if (0xb9ad <= code && code <= 0xb9c7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xba01) {
      +                                        if (code < 0xb9e4) {
      +                                            if (code < 0xb9c9) {
      +                                                // Lo       HANGUL SYLLABLE MA
      +                                                if (0xb9c8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
      +                                                if (0xb9c9 <= code && code <= 0xb9e3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xb9e5) {
      +                                                // Lo       HANGUL SYLLABLE MAE
      +                                                if (0xb9e4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xba00) {
      +                                                    // Lo  [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
      +                                                    if (0xb9e5 <= code && code <= 0xb9ff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE MYA
      +                                                    if (0xba00 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xba38) {
      +                                            if (code < 0xba1c) {
      +                                                // Lo  [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
      +                                                if (0xba01 <= code && code <= 0xba1b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xba1d) {
      +                                                    // Lo       HANGUL SYLLABLE MYAE
      +                                                    if (0xba1c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
      +                                                    if (0xba1d <= code && code <= 0xba37) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xba39) {
      +                                                // Lo       HANGUL SYLLABLE MEO
      +                                                if (0xba38 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xba54) {
      +                                                    // Lo  [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
      +                                                    if (0xba39 <= code && code <= 0xba53) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE ME
      +                                                    if (0xba54 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0xbcbc) {
      +                            if (code < 0xbb88) {
      +                                if (code < 0xbae1) {
      +                                    if (code < 0xbaa8) {
      +                                        if (code < 0xba71) {
      +                                            if (code < 0xba70) {
      +                                                // Lo  [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
      +                                                if (0xba55 <= code && code <= 0xba6f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE MYEO
      +                                                if (0xba70 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xba8c) {
      +                                                // Lo  [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
      +                                                if (0xba71 <= code && code <= 0xba8b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xba8d) {
      +                                                    // Lo       HANGUL SYLLABLE MYE
      +                                                    if (0xba8c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
      +                                                    if (0xba8d <= code && code <= 0xbaa7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbac4) {
      +                                            if (code < 0xbaa9) {
      +                                                // Lo       HANGUL SYLLABLE MO
      +                                                if (0xbaa8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
      +                                                if (0xbaa9 <= code && code <= 0xbac3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbac5) {
      +                                                // Lo       HANGUL SYLLABLE MWA
      +                                                if (0xbac4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbae0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
      +                                                    if (0xbac5 <= code && code <= 0xbadf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE MWAE
      +                                                    if (0xbae0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xbb34) {
      +                                        if (code < 0xbafd) {
      +                                            if (code < 0xbafc) {
      +                                                // Lo  [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
      +                                                if (0xbae1 <= code && code <= 0xbafb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE MOE
      +                                                if (0xbafc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbb18) {
      +                                                // Lo  [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
      +                                                if (0xbafd <= code && code <= 0xbb17) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbb19) {
      +                                                    // Lo       HANGUL SYLLABLE MYO
      +                                                    if (0xbb18 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
      +                                                    if (0xbb19 <= code && code <= 0xbb33) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbb51) {
      +                                            if (code < 0xbb35) {
      +                                                // Lo       HANGUL SYLLABLE MU
      +                                                if (0xbb34 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbb50) {
      +                                                    // Lo  [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
      +                                                    if (0xbb35 <= code && code <= 0xbb4f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE MWEO
      +                                                    if (0xbb50 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbb6c) {
      +                                                // Lo  [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
      +                                                if (0xbb51 <= code && code <= 0xbb6b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbb6d) {
      +                                                    // Lo       HANGUL SYLLABLE MWE
      +                                                    if (0xbb6c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
      +                                                    if (0xbb6d <= code && code <= 0xbb87) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xbc15) {
      +                                    if (code < 0xbbc1) {
      +                                        if (code < 0xbba4) {
      +                                            if (code < 0xbb89) {
      +                                                // Lo       HANGUL SYLLABLE MWI
      +                                                if (0xbb88 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
      +                                                if (0xbb89 <= code && code <= 0xbba3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbba5) {
      +                                                // Lo       HANGUL SYLLABLE MYU
      +                                                if (0xbba4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbbc0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
      +                                                    if (0xbba5 <= code && code <= 0xbbbf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE MEU
      +                                                    if (0xbbc0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbbf8) {
      +                                            if (code < 0xbbdc) {
      +                                                // Lo  [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
      +                                                if (0xbbc1 <= code && code <= 0xbbdb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbbdd) {
      +                                                    // Lo       HANGUL SYLLABLE MYI
      +                                                    if (0xbbdc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
      +                                                    if (0xbbdd <= code && code <= 0xbbf7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbbf9) {
      +                                                // Lo       HANGUL SYLLABLE MI
      +                                                if (0xbbf8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbc14) {
      +                                                    // Lo  [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
      +                                                    if (0xbbf9 <= code && code <= 0xbc13) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BA
      +                                                    if (0xbc14 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xbc68) {
      +                                        if (code < 0xbc31) {
      +                                            if (code < 0xbc30) {
      +                                                // Lo  [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
      +                                                if (0xbc15 <= code && code <= 0xbc2f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE BAE
      +                                                if (0xbc30 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbc4c) {
      +                                                // Lo  [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
      +                                                if (0xbc31 <= code && code <= 0xbc4b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbc4d) {
      +                                                    // Lo       HANGUL SYLLABLE BYA
      +                                                    if (0xbc4c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
      +                                                    if (0xbc4d <= code && code <= 0xbc67) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbc85) {
      +                                            if (code < 0xbc69) {
      +                                                // Lo       HANGUL SYLLABLE BYAE
      +                                                if (0xbc68 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbc84) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
      +                                                    if (0xbc69 <= code && code <= 0xbc83) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BEO
      +                                                    if (0xbc84 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbca0) {
      +                                                // Lo  [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
      +                                                if (0xbc85 <= code && code <= 0xbc9f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbca1) {
      +                                                    // Lo       HANGUL SYLLABLE BE
      +                                                    if (0xbca0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
      +                                                    if (0xbca1 <= code && code <= 0xbcbb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xbdd5) {
      +                                if (code < 0xbd48) {
      +                                    if (code < 0xbcf5) {
      +                                        if (code < 0xbcd8) {
      +                                            if (code < 0xbcbd) {
      +                                                // Lo       HANGUL SYLLABLE BYEO
      +                                                if (0xbcbc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
      +                                                if (0xbcbd <= code && code <= 0xbcd7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbcd9) {
      +                                                // Lo       HANGUL SYLLABLE BYE
      +                                                if (0xbcd8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbcf4) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
      +                                                    if (0xbcd9 <= code && code <= 0xbcf3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BO
      +                                                    if (0xbcf4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbd11) {
      +                                            if (code < 0xbd10) {
      +                                                // Lo  [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
      +                                                if (0xbcf5 <= code && code <= 0xbd0f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE BWA
      +                                                if (0xbd10 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbd2c) {
      +                                                // Lo  [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
      +                                                if (0xbd11 <= code && code <= 0xbd2b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbd2d) {
      +                                                    // Lo       HANGUL SYLLABLE BWAE
      +                                                    if (0xbd2c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
      +                                                    if (0xbd2d <= code && code <= 0xbd47) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xbd81) {
      +                                        if (code < 0xbd64) {
      +                                            if (code < 0xbd49) {
      +                                                // Lo       HANGUL SYLLABLE BOE
      +                                                if (0xbd48 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
      +                                                if (0xbd49 <= code && code <= 0xbd63) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbd65) {
      +                                                // Lo       HANGUL SYLLABLE BYO
      +                                                if (0xbd64 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbd80) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
      +                                                    if (0xbd65 <= code && code <= 0xbd7f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BU
      +                                                    if (0xbd80 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbdb8) {
      +                                            if (code < 0xbd9c) {
      +                                                // Lo  [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
      +                                                if (0xbd81 <= code && code <= 0xbd9b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbd9d) {
      +                                                    // Lo       HANGUL SYLLABLE BWEO
      +                                                    if (0xbd9c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
      +                                                    if (0xbd9d <= code && code <= 0xbdb7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbdb9) {
      +                                                // Lo       HANGUL SYLLABLE BWE
      +                                                if (0xbdb8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbdd4) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
      +                                                    if (0xbdb9 <= code && code <= 0xbdd3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BWI
      +                                                    if (0xbdd4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xbe7c) {
      +                                    if (code < 0xbe28) {
      +                                        if (code < 0xbdf1) {
      +                                            if (code < 0xbdf0) {
      +                                                // Lo  [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
      +                                                if (0xbdd5 <= code && code <= 0xbdef) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE BYU
      +                                                if (0xbdf0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbe0c) {
      +                                                // Lo  [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
      +                                                if (0xbdf1 <= code && code <= 0xbe0b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbe0d) {
      +                                                    // Lo       HANGUL SYLLABLE BEU
      +                                                    if (0xbe0c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
      +                                                    if (0xbe0d <= code && code <= 0xbe27) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbe45) {
      +                                            if (code < 0xbe29) {
      +                                                // Lo       HANGUL SYLLABLE BYI
      +                                                if (0xbe28 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbe44) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
      +                                                    if (0xbe29 <= code && code <= 0xbe43) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BI
      +                                                    if (0xbe44 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbe60) {
      +                                                // Lo  [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
      +                                                if (0xbe45 <= code && code <= 0xbe5f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbe61) {
      +                                                    // Lo       HANGUL SYLLABLE BBA
      +                                                    if (0xbe60 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
      +                                                    if (0xbe61 <= code && code <= 0xbe7b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xbeb5) {
      +                                        if (code < 0xbe98) {
      +                                            if (code < 0xbe7d) {
      +                                                // Lo       HANGUL SYLLABLE BBAE
      +                                                if (0xbe7c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
      +                                                if (0xbe7d <= code && code <= 0xbe97) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbe99) {
      +                                                // Lo       HANGUL SYLLABLE BBYA
      +                                                if (0xbe98 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbeb4) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
      +                                                    if (0xbe99 <= code && code <= 0xbeb3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BBYAE
      +                                                    if (0xbeb4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbeec) {
      +                                            if (code < 0xbed0) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
      +                                                if (0xbeb5 <= code && code <= 0xbecf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbed1) {
      +                                                    // Lo       HANGUL SYLLABLE BBEO
      +                                                    if (0xbed0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
      +                                                    if (0xbed1 <= code && code <= 0xbeeb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbeed) {
      +                                                // Lo       HANGUL SYLLABLE BBE
      +                                                if (0xbeec === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbf08) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
      +                                                    if (0xbeed <= code && code <= 0xbf07) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BBYEO
      +                                                    if (0xbf08 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +        }
      +        else {
      +            if (code < 0xd1d8) {
      +                if (code < 0xc870) {
      +                    if (code < 0xc3bc) {
      +                        if (code < 0xc155) {
      +                            if (code < 0xc03c) {
      +                                if (code < 0xbf95) {
      +                                    if (code < 0xbf5c) {
      +                                        if (code < 0xbf25) {
      +                                            if (code < 0xbf24) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
      +                                                if (0xbf09 <= code && code <= 0xbf23) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE BBYE
      +                                                if (0xbf24 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbf40) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
      +                                                if (0xbf25 <= code && code <= 0xbf3f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbf41) {
      +                                                    // Lo       HANGUL SYLLABLE BBO
      +                                                    if (0xbf40 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
      +                                                    if (0xbf41 <= code && code <= 0xbf5b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xbf78) {
      +                                            if (code < 0xbf5d) {
      +                                                // Lo       HANGUL SYLLABLE BBWA
      +                                                if (0xbf5c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
      +                                                if (0xbf5d <= code && code <= 0xbf77) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbf79) {
      +                                                // Lo       HANGUL SYLLABLE BBWAE
      +                                                if (0xbf78 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbf94) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
      +                                                    if (0xbf79 <= code && code <= 0xbf93) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BBOE
      +                                                    if (0xbf94 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xbfe8) {
      +                                        if (code < 0xbfb1) {
      +                                            if (code < 0xbfb0) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
      +                                                if (0xbf95 <= code && code <= 0xbfaf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE BBYO
      +                                                if (0xbfb0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xbfcc) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
      +                                                if (0xbfb1 <= code && code <= 0xbfcb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xbfcd) {
      +                                                    // Lo       HANGUL SYLLABLE BBU
      +                                                    if (0xbfcc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
      +                                                    if (0xbfcd <= code && code <= 0xbfe7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc005) {
      +                                            if (code < 0xbfe9) {
      +                                                // Lo       HANGUL SYLLABLE BBWEO
      +                                                if (0xbfe8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc004) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
      +                                                    if (0xbfe9 <= code && code <= 0xc003) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BBWE
      +                                                    if (0xc004 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc020) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
      +                                                if (0xc005 <= code && code <= 0xc01f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc021) {
      +                                                    // Lo       HANGUL SYLLABLE BBWI
      +                                                    if (0xc020 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
      +                                                    if (0xc021 <= code && code <= 0xc03b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xc0c8) {
      +                                    if (code < 0xc075) {
      +                                        if (code < 0xc058) {
      +                                            if (code < 0xc03d) {
      +                                                // Lo       HANGUL SYLLABLE BBYU
      +                                                if (0xc03c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
      +                                                if (0xc03d <= code && code <= 0xc057) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc059) {
      +                                                // Lo       HANGUL SYLLABLE BBEU
      +                                                if (0xc058 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc074) {
      +                                                    // Lo  [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
      +                                                    if (0xc059 <= code && code <= 0xc073) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE BBYI
      +                                                    if (0xc074 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc091) {
      +                                            if (code < 0xc090) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
      +                                                if (0xc075 <= code && code <= 0xc08f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE BBI
      +                                                if (0xc090 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc0ac) {
      +                                                // Lo  [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
      +                                                if (0xc091 <= code && code <= 0xc0ab) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc0ad) {
      +                                                    // Lo       HANGUL SYLLABLE SA
      +                                                    if (0xc0ac === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
      +                                                    if (0xc0ad <= code && code <= 0xc0c7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc101) {
      +                                        if (code < 0xc0e4) {
      +                                            if (code < 0xc0c9) {
      +                                                // Lo       HANGUL SYLLABLE SAE
      +                                                if (0xc0c8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
      +                                                if (0xc0c9 <= code && code <= 0xc0e3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc0e5) {
      +                                                // Lo       HANGUL SYLLABLE SYA
      +                                                if (0xc0e4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc100) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
      +                                                    if (0xc0e5 <= code && code <= 0xc0ff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SYAE
      +                                                    if (0xc100 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc138) {
      +                                            if (code < 0xc11c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
      +                                                if (0xc101 <= code && code <= 0xc11b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc11d) {
      +                                                    // Lo       HANGUL SYLLABLE SEO
      +                                                    if (0xc11c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
      +                                                    if (0xc11d <= code && code <= 0xc137) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc139) {
      +                                                // Lo       HANGUL SYLLABLE SE
      +                                                if (0xc138 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc154) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
      +                                                    if (0xc139 <= code && code <= 0xc153) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SYEO
      +                                                    if (0xc154 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xc288) {
      +                                if (code < 0xc1e1) {
      +                                    if (code < 0xc1a8) {
      +                                        if (code < 0xc171) {
      +                                            if (code < 0xc170) {
      +                                                // Lo  [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
      +                                                if (0xc155 <= code && code <= 0xc16f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE SYE
      +                                                if (0xc170 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc18c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
      +                                                if (0xc171 <= code && code <= 0xc18b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc18d) {
      +                                                    // Lo       HANGUL SYLLABLE SO
      +                                                    if (0xc18c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
      +                                                    if (0xc18d <= code && code <= 0xc1a7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc1c4) {
      +                                            if (code < 0xc1a9) {
      +                                                // Lo       HANGUL SYLLABLE SWA
      +                                                if (0xc1a8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
      +                                                if (0xc1a9 <= code && code <= 0xc1c3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc1c5) {
      +                                                // Lo       HANGUL SYLLABLE SWAE
      +                                                if (0xc1c4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc1e0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
      +                                                    if (0xc1c5 <= code && code <= 0xc1df) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SOE
      +                                                    if (0xc1e0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc234) {
      +                                        if (code < 0xc1fd) {
      +                                            if (code < 0xc1fc) {
      +                                                // Lo  [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
      +                                                if (0xc1e1 <= code && code <= 0xc1fb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE SYO
      +                                                if (0xc1fc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc218) {
      +                                                // Lo  [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
      +                                                if (0xc1fd <= code && code <= 0xc217) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc219) {
      +                                                    // Lo       HANGUL SYLLABLE SU
      +                                                    if (0xc218 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
      +                                                    if (0xc219 <= code && code <= 0xc233) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc251) {
      +                                            if (code < 0xc235) {
      +                                                // Lo       HANGUL SYLLABLE SWEO
      +                                                if (0xc234 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc250) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
      +                                                    if (0xc235 <= code && code <= 0xc24f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SWE
      +                                                    if (0xc250 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc26c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
      +                                                if (0xc251 <= code && code <= 0xc26b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc26d) {
      +                                                    // Lo       HANGUL SYLLABLE SWI
      +                                                    if (0xc26c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
      +                                                    if (0xc26d <= code && code <= 0xc287) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xc315) {
      +                                    if (code < 0xc2c1) {
      +                                        if (code < 0xc2a4) {
      +                                            if (code < 0xc289) {
      +                                                // Lo       HANGUL SYLLABLE SYU
      +                                                if (0xc288 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
      +                                                if (0xc289 <= code && code <= 0xc2a3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc2a5) {
      +                                                // Lo       HANGUL SYLLABLE SEU
      +                                                if (0xc2a4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc2c0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
      +                                                    if (0xc2a5 <= code && code <= 0xc2bf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SYI
      +                                                    if (0xc2c0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc2f8) {
      +                                            if (code < 0xc2dc) {
      +                                                // Lo  [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
      +                                                if (0xc2c1 <= code && code <= 0xc2db) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc2dd) {
      +                                                    // Lo       HANGUL SYLLABLE SI
      +                                                    if (0xc2dc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
      +                                                    if (0xc2dd <= code && code <= 0xc2f7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc2f9) {
      +                                                // Lo       HANGUL SYLLABLE SSA
      +                                                if (0xc2f8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc314) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
      +                                                    if (0xc2f9 <= code && code <= 0xc313) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SSAE
      +                                                    if (0xc314 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc368) {
      +                                        if (code < 0xc331) {
      +                                            if (code < 0xc330) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
      +                                                if (0xc315 <= code && code <= 0xc32f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE SSYA
      +                                                if (0xc330 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc34c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
      +                                                if (0xc331 <= code && code <= 0xc34b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc34d) {
      +                                                    // Lo       HANGUL SYLLABLE SSYAE
      +                                                    if (0xc34c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
      +                                                    if (0xc34d <= code && code <= 0xc367) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc385) {
      +                                            if (code < 0xc369) {
      +                                                // Lo       HANGUL SYLLABLE SSEO
      +                                                if (0xc368 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc384) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
      +                                                    if (0xc369 <= code && code <= 0xc383) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SSE
      +                                                    if (0xc384 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc3a0) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
      +                                                if (0xc385 <= code && code <= 0xc39f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc3a1) {
      +                                                    // Lo       HANGUL SYLLABLE SSYEO
      +                                                    if (0xc3a0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
      +                                                    if (0xc3a1 <= code && code <= 0xc3bb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0xc609) {
      +                            if (code < 0xc4d5) {
      +                                if (code < 0xc448) {
      +                                    if (code < 0xc3f5) {
      +                                        if (code < 0xc3d8) {
      +                                            if (code < 0xc3bd) {
      +                                                // Lo       HANGUL SYLLABLE SSYE
      +                                                if (0xc3bc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
      +                                                if (0xc3bd <= code && code <= 0xc3d7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc3d9) {
      +                                                // Lo       HANGUL SYLLABLE SSO
      +                                                if (0xc3d8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc3f4) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
      +                                                    if (0xc3d9 <= code && code <= 0xc3f3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SSWA
      +                                                    if (0xc3f4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc411) {
      +                                            if (code < 0xc410) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
      +                                                if (0xc3f5 <= code && code <= 0xc40f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE SSWAE
      +                                                if (0xc410 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc42c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
      +                                                if (0xc411 <= code && code <= 0xc42b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc42d) {
      +                                                    // Lo       HANGUL SYLLABLE SSOE
      +                                                    if (0xc42c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
      +                                                    if (0xc42d <= code && code <= 0xc447) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc481) {
      +                                        if (code < 0xc464) {
      +                                            if (code < 0xc449) {
      +                                                // Lo       HANGUL SYLLABLE SSYO
      +                                                if (0xc448 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
      +                                                if (0xc449 <= code && code <= 0xc463) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc465) {
      +                                                // Lo       HANGUL SYLLABLE SSU
      +                                                if (0xc464 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc480) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
      +                                                    if (0xc465 <= code && code <= 0xc47f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SSWEO
      +                                                    if (0xc480 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc4b8) {
      +                                            if (code < 0xc49c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
      +                                                if (0xc481 <= code && code <= 0xc49b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc49d) {
      +                                                    // Lo       HANGUL SYLLABLE SSWE
      +                                                    if (0xc49c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
      +                                                    if (0xc49d <= code && code <= 0xc4b7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc4b9) {
      +                                                // Lo       HANGUL SYLLABLE SSWI
      +                                                if (0xc4b8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc4d4) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
      +                                                    if (0xc4b9 <= code && code <= 0xc4d3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE SSYU
      +                                                    if (0xc4d4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xc57c) {
      +                                    if (code < 0xc528) {
      +                                        if (code < 0xc4f1) {
      +                                            if (code < 0xc4f0) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
      +                                                if (0xc4d5 <= code && code <= 0xc4ef) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE SSEU
      +                                                if (0xc4f0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc50c) {
      +                                                // Lo  [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
      +                                                if (0xc4f1 <= code && code <= 0xc50b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc50d) {
      +                                                    // Lo       HANGUL SYLLABLE SSYI
      +                                                    if (0xc50c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
      +                                                    if (0xc50d <= code && code <= 0xc527) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc545) {
      +                                            if (code < 0xc529) {
      +                                                // Lo       HANGUL SYLLABLE SSI
      +                                                if (0xc528 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc544) {
      +                                                    // Lo  [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
      +                                                    if (0xc529 <= code && code <= 0xc543) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE A
      +                                                    if (0xc544 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc560) {
      +                                                // Lo  [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
      +                                                if (0xc545 <= code && code <= 0xc55f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc561) {
      +                                                    // Lo       HANGUL SYLLABLE AE
      +                                                    if (0xc560 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
      +                                                    if (0xc561 <= code && code <= 0xc57b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc5b5) {
      +                                        if (code < 0xc598) {
      +                                            if (code < 0xc57d) {
      +                                                // Lo       HANGUL SYLLABLE YA
      +                                                if (0xc57c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
      +                                                if (0xc57d <= code && code <= 0xc597) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc599) {
      +                                                // Lo       HANGUL SYLLABLE YAE
      +                                                if (0xc598 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc5b4) {
      +                                                    // Lo  [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
      +                                                    if (0xc599 <= code && code <= 0xc5b3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE EO
      +                                                    if (0xc5b4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc5ec) {
      +                                            if (code < 0xc5d0) {
      +                                                // Lo  [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
      +                                                if (0xc5b5 <= code && code <= 0xc5cf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc5d1) {
      +                                                    // Lo       HANGUL SYLLABLE E
      +                                                    if (0xc5d0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
      +                                                    if (0xc5d1 <= code && code <= 0xc5eb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc5ed) {
      +                                                // Lo       HANGUL SYLLABLE YEO
      +                                                if (0xc5ec === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc608) {
      +                                                    // Lo  [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
      +                                                    if (0xc5ed <= code && code <= 0xc607) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE YE
      +                                                    if (0xc608 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xc73c) {
      +                                if (code < 0xc695) {
      +                                    if (code < 0xc65c) {
      +                                        if (code < 0xc625) {
      +                                            if (code < 0xc624) {
      +                                                // Lo  [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
      +                                                if (0xc609 <= code && code <= 0xc623) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE O
      +                                                if (0xc624 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc640) {
      +                                                // Lo  [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
      +                                                if (0xc625 <= code && code <= 0xc63f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc641) {
      +                                                    // Lo       HANGUL SYLLABLE WA
      +                                                    if (0xc640 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
      +                                                    if (0xc641 <= code && code <= 0xc65b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc678) {
      +                                            if (code < 0xc65d) {
      +                                                // Lo       HANGUL SYLLABLE WAE
      +                                                if (0xc65c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
      +                                                if (0xc65d <= code && code <= 0xc677) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc679) {
      +                                                // Lo       HANGUL SYLLABLE OE
      +                                                if (0xc678 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc694) {
      +                                                    // Lo  [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
      +                                                    if (0xc679 <= code && code <= 0xc693) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE YO
      +                                                    if (0xc694 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc6e8) {
      +                                        if (code < 0xc6b1) {
      +                                            if (code < 0xc6b0) {
      +                                                // Lo  [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
      +                                                if (0xc695 <= code && code <= 0xc6af) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE U
      +                                                if (0xc6b0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc6cc) {
      +                                                // Lo  [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
      +                                                if (0xc6b1 <= code && code <= 0xc6cb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc6cd) {
      +                                                    // Lo       HANGUL SYLLABLE WEO
      +                                                    if (0xc6cc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
      +                                                    if (0xc6cd <= code && code <= 0xc6e7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc705) {
      +                                            if (code < 0xc6e9) {
      +                                                // Lo       HANGUL SYLLABLE WE
      +                                                if (0xc6e8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc704) {
      +                                                    // Lo  [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
      +                                                    if (0xc6e9 <= code && code <= 0xc703) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE WI
      +                                                    if (0xc704 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc720) {
      +                                                // Lo  [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
      +                                                if (0xc705 <= code && code <= 0xc71f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc721) {
      +                                                    // Lo       HANGUL SYLLABLE YU
      +                                                    if (0xc720 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
      +                                                    if (0xc721 <= code && code <= 0xc73b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xc7c9) {
      +                                    if (code < 0xc775) {
      +                                        if (code < 0xc758) {
      +                                            if (code < 0xc73d) {
      +                                                // Lo       HANGUL SYLLABLE EU
      +                                                if (0xc73c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
      +                                                if (0xc73d <= code && code <= 0xc757) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc759) {
      +                                                // Lo       HANGUL SYLLABLE YI
      +                                                if (0xc758 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc774) {
      +                                                    // Lo  [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
      +                                                    if (0xc759 <= code && code <= 0xc773) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE I
      +                                                    if (0xc774 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc7ac) {
      +                                            if (code < 0xc790) {
      +                                                // Lo  [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
      +                                                if (0xc775 <= code && code <= 0xc78f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc791) {
      +                                                    // Lo       HANGUL SYLLABLE JA
      +                                                    if (0xc790 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
      +                                                    if (0xc791 <= code && code <= 0xc7ab) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc7ad) {
      +                                                // Lo       HANGUL SYLLABLE JAE
      +                                                if (0xc7ac === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc7c8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
      +                                                    if (0xc7ad <= code && code <= 0xc7c7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JYA
      +                                                    if (0xc7c8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc81c) {
      +                                        if (code < 0xc7e5) {
      +                                            if (code < 0xc7e4) {
      +                                                // Lo  [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
      +                                                if (0xc7c9 <= code && code <= 0xc7e3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE JYAE
      +                                                if (0xc7e4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc800) {
      +                                                // Lo  [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
      +                                                if (0xc7e5 <= code && code <= 0xc7ff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc801) {
      +                                                    // Lo       HANGUL SYLLABLE JEO
      +                                                    if (0xc800 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
      +                                                    if (0xc801 <= code && code <= 0xc81b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc839) {
      +                                            if (code < 0xc81d) {
      +                                                // Lo       HANGUL SYLLABLE JE
      +                                                if (0xc81c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc838) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
      +                                                    if (0xc81d <= code && code <= 0xc837) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JYEO
      +                                                    if (0xc838 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc854) {
      +                                                // Lo  [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
      +                                                if (0xc839 <= code && code <= 0xc853) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc855) {
      +                                                    // Lo       HANGUL SYLLABLE JYE
      +                                                    if (0xc854 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
      +                                                    if (0xc855 <= code && code <= 0xc86f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0xcd24) {
      +                        if (code < 0xcabd) {
      +                            if (code < 0xc989) {
      +                                if (code < 0xc8fc) {
      +                                    if (code < 0xc8a9) {
      +                                        if (code < 0xc88c) {
      +                                            if (code < 0xc871) {
      +                                                // Lo       HANGUL SYLLABLE JO
      +                                                if (0xc870 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
      +                                                if (0xc871 <= code && code <= 0xc88b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc88d) {
      +                                                // Lo       HANGUL SYLLABLE JWA
      +                                                if (0xc88c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc8a8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
      +                                                    if (0xc88d <= code && code <= 0xc8a7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JWAE
      +                                                    if (0xc8a8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc8c5) {
      +                                            if (code < 0xc8c4) {
      +                                                // Lo  [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
      +                                                if (0xc8a9 <= code && code <= 0xc8c3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE JOE
      +                                                if (0xc8c4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc8e0) {
      +                                                // Lo  [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
      +                                                if (0xc8c5 <= code && code <= 0xc8df) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc8e1) {
      +                                                    // Lo       HANGUL SYLLABLE JYO
      +                                                    if (0xc8e0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
      +                                                    if (0xc8e1 <= code && code <= 0xc8fb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xc935) {
      +                                        if (code < 0xc918) {
      +                                            if (code < 0xc8fd) {
      +                                                // Lo       HANGUL SYLLABLE JU
      +                                                if (0xc8fc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
      +                                                if (0xc8fd <= code && code <= 0xc917) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc919) {
      +                                                // Lo       HANGUL SYLLABLE JWEO
      +                                                if (0xc918 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc934) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
      +                                                    if (0xc919 <= code && code <= 0xc933) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JWE
      +                                                    if (0xc934 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc96c) {
      +                                            if (code < 0xc950) {
      +                                                // Lo  [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
      +                                                if (0xc935 <= code && code <= 0xc94f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc951) {
      +                                                    // Lo       HANGUL SYLLABLE JWI
      +                                                    if (0xc950 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
      +                                                    if (0xc951 <= code && code <= 0xc96b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc96d) {
      +                                                // Lo       HANGUL SYLLABLE JYU
      +                                                if (0xc96c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc988) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
      +                                                    if (0xc96d <= code && code <= 0xc987) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JEU
      +                                                    if (0xc988 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xca30) {
      +                                    if (code < 0xc9dc) {
      +                                        if (code < 0xc9a5) {
      +                                            if (code < 0xc9a4) {
      +                                                // Lo  [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
      +                                                if (0xc989 <= code && code <= 0xc9a3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE JYI
      +                                                if (0xc9a4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xc9c0) {
      +                                                // Lo  [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
      +                                                if (0xc9a5 <= code && code <= 0xc9bf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc9c1) {
      +                                                    // Lo       HANGUL SYLLABLE JI
      +                                                    if (0xc9c0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
      +                                                    if (0xc9c1 <= code && code <= 0xc9db) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xc9f9) {
      +                                            if (code < 0xc9dd) {
      +                                                // Lo       HANGUL SYLLABLE JJA
      +                                                if (0xc9dc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xc9f8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
      +                                                    if (0xc9dd <= code && code <= 0xc9f7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JJAE
      +                                                    if (0xc9f8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xca14) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
      +                                                if (0xc9f9 <= code && code <= 0xca13) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xca15) {
      +                                                    // Lo       HANGUL SYLLABLE JJYA
      +                                                    if (0xca14 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
      +                                                    if (0xca15 <= code && code <= 0xca2f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xca69) {
      +                                        if (code < 0xca4c) {
      +                                            if (code < 0xca31) {
      +                                                // Lo       HANGUL SYLLABLE JJYAE
      +                                                if (0xca30 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
      +                                                if (0xca31 <= code && code <= 0xca4b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xca4d) {
      +                                                // Lo       HANGUL SYLLABLE JJEO
      +                                                if (0xca4c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xca68) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
      +                                                    if (0xca4d <= code && code <= 0xca67) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JJE
      +                                                    if (0xca68 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcaa0) {
      +                                            if (code < 0xca84) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
      +                                                if (0xca69 <= code && code <= 0xca83) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xca85) {
      +                                                    // Lo       HANGUL SYLLABLE JJYEO
      +                                                    if (0xca84 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
      +                                                    if (0xca85 <= code && code <= 0xca9f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcaa1) {
      +                                                // Lo       HANGUL SYLLABLE JJYE
      +                                                if (0xcaa0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcabc) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
      +                                                    if (0xcaa1 <= code && code <= 0xcabb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JJO
      +                                                    if (0xcabc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xcbf0) {
      +                                if (code < 0xcb49) {
      +                                    if (code < 0xcb10) {
      +                                        if (code < 0xcad9) {
      +                                            if (code < 0xcad8) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
      +                                                if (0xcabd <= code && code <= 0xcad7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE JJWA
      +                                                if (0xcad8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcaf4) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
      +                                                if (0xcad9 <= code && code <= 0xcaf3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcaf5) {
      +                                                    // Lo       HANGUL SYLLABLE JJWAE
      +                                                    if (0xcaf4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
      +                                                    if (0xcaf5 <= code && code <= 0xcb0f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcb2c) {
      +                                            if (code < 0xcb11) {
      +                                                // Lo       HANGUL SYLLABLE JJOE
      +                                                if (0xcb10 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
      +                                                if (0xcb11 <= code && code <= 0xcb2b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcb2d) {
      +                                                // Lo       HANGUL SYLLABLE JJYO
      +                                                if (0xcb2c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcb48) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
      +                                                    if (0xcb2d <= code && code <= 0xcb47) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JJU
      +                                                    if (0xcb48 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xcb9c) {
      +                                        if (code < 0xcb65) {
      +                                            if (code < 0xcb64) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
      +                                                if (0xcb49 <= code && code <= 0xcb63) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE JJWEO
      +                                                if (0xcb64 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcb80) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
      +                                                if (0xcb65 <= code && code <= 0xcb7f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcb81) {
      +                                                    // Lo       HANGUL SYLLABLE JJWE
      +                                                    if (0xcb80 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
      +                                                    if (0xcb81 <= code && code <= 0xcb9b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcbb9) {
      +                                            if (code < 0xcb9d) {
      +                                                // Lo       HANGUL SYLLABLE JJWI
      +                                                if (0xcb9c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcbb8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
      +                                                    if (0xcb9d <= code && code <= 0xcbb7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE JJYU
      +                                                    if (0xcbb8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcbd4) {
      +                                                // Lo  [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
      +                                                if (0xcbb9 <= code && code <= 0xcbd3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcbd5) {
      +                                                    // Lo       HANGUL SYLLABLE JJEU
      +                                                    if (0xcbd4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
      +                                                    if (0xcbd5 <= code && code <= 0xcbef) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xcc7d) {
      +                                    if (code < 0xcc29) {
      +                                        if (code < 0xcc0c) {
      +                                            if (code < 0xcbf1) {
      +                                                // Lo       HANGUL SYLLABLE JJYI
      +                                                if (0xcbf0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
      +                                                if (0xcbf1 <= code && code <= 0xcc0b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcc0d) {
      +                                                // Lo       HANGUL SYLLABLE JJI
      +                                                if (0xcc0c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcc28) {
      +                                                    // Lo  [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
      +                                                    if (0xcc0d <= code && code <= 0xcc27) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE CA
      +                                                    if (0xcc28 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcc60) {
      +                                            if (code < 0xcc44) {
      +                                                // Lo  [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
      +                                                if (0xcc29 <= code && code <= 0xcc43) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcc45) {
      +                                                    // Lo       HANGUL SYLLABLE CAE
      +                                                    if (0xcc44 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
      +                                                    if (0xcc45 <= code && code <= 0xcc5f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcc61) {
      +                                                // Lo       HANGUL SYLLABLE CYA
      +                                                if (0xcc60 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcc7c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
      +                                                    if (0xcc61 <= code && code <= 0xcc7b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE CYAE
      +                                                    if (0xcc7c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xccd0) {
      +                                        if (code < 0xcc99) {
      +                                            if (code < 0xcc98) {
      +                                                // Lo  [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
      +                                                if (0xcc7d <= code && code <= 0xcc97) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE CEO
      +                                                if (0xcc98 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xccb4) {
      +                                                // Lo  [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
      +                                                if (0xcc99 <= code && code <= 0xccb3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xccb5) {
      +                                                    // Lo       HANGUL SYLLABLE CE
      +                                                    if (0xccb4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
      +                                                    if (0xccb5 <= code && code <= 0xcccf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcced) {
      +                                            if (code < 0xccd1) {
      +                                                // Lo       HANGUL SYLLABLE CYEO
      +                                                if (0xccd0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xccec) {
      +                                                    // Lo  [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
      +                                                    if (0xccd1 <= code && code <= 0xcceb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE CYE
      +                                                    if (0xccec === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcd08) {
      +                                                // Lo  [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
      +                                                if (0xcced <= code && code <= 0xcd07) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcd09) {
      +                                                    // Lo       HANGUL SYLLABLE CO
      +                                                    if (0xcd08 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
      +                                                    if (0xcd09 <= code && code <= 0xcd23) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0xcf71) {
      +                            if (code < 0xce3d) {
      +                                if (code < 0xcdb0) {
      +                                    if (code < 0xcd5d) {
      +                                        if (code < 0xcd40) {
      +                                            if (code < 0xcd25) {
      +                                                // Lo       HANGUL SYLLABLE CWA
      +                                                if (0xcd24 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
      +                                                if (0xcd25 <= code && code <= 0xcd3f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcd41) {
      +                                                // Lo       HANGUL SYLLABLE CWAE
      +                                                if (0xcd40 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcd5c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
      +                                                    if (0xcd41 <= code && code <= 0xcd5b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE COE
      +                                                    if (0xcd5c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcd79) {
      +                                            if (code < 0xcd78) {
      +                                                // Lo  [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
      +                                                if (0xcd5d <= code && code <= 0xcd77) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE CYO
      +                                                if (0xcd78 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcd94) {
      +                                                // Lo  [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
      +                                                if (0xcd79 <= code && code <= 0xcd93) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcd95) {
      +                                                    // Lo       HANGUL SYLLABLE CU
      +                                                    if (0xcd94 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
      +                                                    if (0xcd95 <= code && code <= 0xcdaf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xcde9) {
      +                                        if (code < 0xcdcc) {
      +                                            if (code < 0xcdb1) {
      +                                                // Lo       HANGUL SYLLABLE CWEO
      +                                                if (0xcdb0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
      +                                                if (0xcdb1 <= code && code <= 0xcdcb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcdcd) {
      +                                                // Lo       HANGUL SYLLABLE CWE
      +                                                if (0xcdcc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcde8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
      +                                                    if (0xcdcd <= code && code <= 0xcde7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE CWI
      +                                                    if (0xcde8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xce20) {
      +                                            if (code < 0xce04) {
      +                                                // Lo  [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
      +                                                if (0xcde9 <= code && code <= 0xce03) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xce05) {
      +                                                    // Lo       HANGUL SYLLABLE CYU
      +                                                    if (0xce04 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
      +                                                    if (0xce05 <= code && code <= 0xce1f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xce21) {
      +                                                // Lo       HANGUL SYLLABLE CEU
      +                                                if (0xce20 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xce3c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
      +                                                    if (0xce21 <= code && code <= 0xce3b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE CYI
      +                                                    if (0xce3c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xcee4) {
      +                                    if (code < 0xce90) {
      +                                        if (code < 0xce59) {
      +                                            if (code < 0xce58) {
      +                                                // Lo  [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
      +                                                if (0xce3d <= code && code <= 0xce57) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE CI
      +                                                if (0xce58 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xce74) {
      +                                                // Lo  [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
      +                                                if (0xce59 <= code && code <= 0xce73) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xce75) {
      +                                                    // Lo       HANGUL SYLLABLE KA
      +                                                    if (0xce74 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
      +                                                    if (0xce75 <= code && code <= 0xce8f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcead) {
      +                                            if (code < 0xce91) {
      +                                                // Lo       HANGUL SYLLABLE KAE
      +                                                if (0xce90 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xceac) {
      +                                                    // Lo  [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
      +                                                    if (0xce91 <= code && code <= 0xceab) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE KYA
      +                                                    if (0xceac === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcec8) {
      +                                                // Lo  [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
      +                                                if (0xcead <= code && code <= 0xcec7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcec9) {
      +                                                    // Lo       HANGUL SYLLABLE KYAE
      +                                                    if (0xcec8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
      +                                                    if (0xcec9 <= code && code <= 0xcee3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xcf1d) {
      +                                        if (code < 0xcf00) {
      +                                            if (code < 0xcee5) {
      +                                                // Lo       HANGUL SYLLABLE KEO
      +                                                if (0xcee4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
      +                                                if (0xcee5 <= code && code <= 0xceff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcf01) {
      +                                                // Lo       HANGUL SYLLABLE KE
      +                                                if (0xcf00 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcf1c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
      +                                                    if (0xcf01 <= code && code <= 0xcf1b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE KYEO
      +                                                    if (0xcf1c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcf54) {
      +                                            if (code < 0xcf38) {
      +                                                // Lo  [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
      +                                                if (0xcf1d <= code && code <= 0xcf37) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcf39) {
      +                                                    // Lo       HANGUL SYLLABLE KYE
      +                                                    if (0xcf38 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
      +                                                    if (0xcf39 <= code && code <= 0xcf53) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcf55) {
      +                                                // Lo       HANGUL SYLLABLE KO
      +                                                if (0xcf54 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcf70) {
      +                                                    // Lo  [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
      +                                                    if (0xcf55 <= code && code <= 0xcf6f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE KWA
      +                                                    if (0xcf70 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xd0a4) {
      +                                if (code < 0xcffd) {
      +                                    if (code < 0xcfc4) {
      +                                        if (code < 0xcf8d) {
      +                                            if (code < 0xcf8c) {
      +                                                // Lo  [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
      +                                                if (0xcf71 <= code && code <= 0xcf8b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE KWAE
      +                                                if (0xcf8c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcfa8) {
      +                                                // Lo  [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
      +                                                if (0xcf8d <= code && code <= 0xcfa7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcfa9) {
      +                                                    // Lo       HANGUL SYLLABLE KOE
      +                                                    if (0xcfa8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
      +                                                    if (0xcfa9 <= code && code <= 0xcfc3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xcfe0) {
      +                                            if (code < 0xcfc5) {
      +                                                // Lo       HANGUL SYLLABLE KYO
      +                                                if (0xcfc4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
      +                                                if (0xcfc5 <= code && code <= 0xcfdf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xcfe1) {
      +                                                // Lo       HANGUL SYLLABLE KU
      +                                                if (0xcfe0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xcffc) {
      +                                                    // Lo  [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
      +                                                    if (0xcfe1 <= code && code <= 0xcffb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE KWEO
      +                                                    if (0xcffc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd050) {
      +                                        if (code < 0xd019) {
      +                                            if (code < 0xd018) {
      +                                                // Lo  [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
      +                                                if (0xcffd <= code && code <= 0xd017) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE KWE
      +                                                if (0xd018 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd034) {
      +                                                // Lo  [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
      +                                                if (0xd019 <= code && code <= 0xd033) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd035) {
      +                                                    // Lo       HANGUL SYLLABLE KWI
      +                                                    if (0xd034 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
      +                                                    if (0xd035 <= code && code <= 0xd04f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd06d) {
      +                                            if (code < 0xd051) {
      +                                                // Lo       HANGUL SYLLABLE KYU
      +                                                if (0xd050 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd06c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
      +                                                    if (0xd051 <= code && code <= 0xd06b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE KEU
      +                                                    if (0xd06c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd088) {
      +                                                // Lo  [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
      +                                                if (0xd06d <= code && code <= 0xd087) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd089) {
      +                                                    // Lo       HANGUL SYLLABLE KYI
      +                                                    if (0xd088 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
      +                                                    if (0xd089 <= code && code <= 0xd0a3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xd131) {
      +                                    if (code < 0xd0dd) {
      +                                        if (code < 0xd0c0) {
      +                                            if (code < 0xd0a5) {
      +                                                // Lo       HANGUL SYLLABLE KI
      +                                                if (0xd0a4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
      +                                                if (0xd0a5 <= code && code <= 0xd0bf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd0c1) {
      +                                                // Lo       HANGUL SYLLABLE TA
      +                                                if (0xd0c0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd0dc) {
      +                                                    // Lo  [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
      +                                                    if (0xd0c1 <= code && code <= 0xd0db) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE TAE
      +                                                    if (0xd0dc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd114) {
      +                                            if (code < 0xd0f8) {
      +                                                // Lo  [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
      +                                                if (0xd0dd <= code && code <= 0xd0f7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd0f9) {
      +                                                    // Lo       HANGUL SYLLABLE TYA
      +                                                    if (0xd0f8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
      +                                                    if (0xd0f9 <= code && code <= 0xd113) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd115) {
      +                                                // Lo       HANGUL SYLLABLE TYAE
      +                                                if (0xd114 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd130) {
      +                                                    // Lo  [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
      +                                                    if (0xd115 <= code && code <= 0xd12f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE TEO
      +                                                    if (0xd130 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd184) {
      +                                        if (code < 0xd14d) {
      +                                            if (code < 0xd14c) {
      +                                                // Lo  [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
      +                                                if (0xd131 <= code && code <= 0xd14b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE TE
      +                                                if (0xd14c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd168) {
      +                                                // Lo  [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
      +                                                if (0xd14d <= code && code <= 0xd167) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd169) {
      +                                                    // Lo       HANGUL SYLLABLE TYEO
      +                                                    if (0xd168 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
      +                                                    if (0xd169 <= code && code <= 0xd183) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd1a1) {
      +                                            if (code < 0xd185) {
      +                                                // Lo       HANGUL SYLLABLE TYE
      +                                                if (0xd184 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd1a0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
      +                                                    if (0xd185 <= code && code <= 0xd19f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE TO
      +                                                    if (0xd1a0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd1bc) {
      +                                                // Lo  [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
      +                                                if (0xd1a1 <= code && code <= 0xd1bb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd1bd) {
      +                                                    // Lo       HANGUL SYLLABLE TWA
      +                                                    if (0xd1bc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
      +                                                    if (0xd1bd <= code && code <= 0xd1d7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +            else {
      +                if (code < 0x1133b) {
      +                    if (code < 0xd671) {
      +                        if (code < 0xd424) {
      +                            if (code < 0xd2f1) {
      +                                if (code < 0xd264) {
      +                                    if (code < 0xd211) {
      +                                        if (code < 0xd1f4) {
      +                                            if (code < 0xd1d9) {
      +                                                // Lo       HANGUL SYLLABLE TWAE
      +                                                if (0xd1d8 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
      +                                                if (0xd1d9 <= code && code <= 0xd1f3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd1f5) {
      +                                                // Lo       HANGUL SYLLABLE TOE
      +                                                if (0xd1f4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd210) {
      +                                                    // Lo  [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
      +                                                    if (0xd1f5 <= code && code <= 0xd20f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE TYO
      +                                                    if (0xd210 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd22d) {
      +                                            if (code < 0xd22c) {
      +                                                // Lo  [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
      +                                                if (0xd211 <= code && code <= 0xd22b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE TU
      +                                                if (0xd22c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd248) {
      +                                                // Lo  [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
      +                                                if (0xd22d <= code && code <= 0xd247) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd249) {
      +                                                    // Lo       HANGUL SYLLABLE TWEO
      +                                                    if (0xd248 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
      +                                                    if (0xd249 <= code && code <= 0xd263) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd29d) {
      +                                        if (code < 0xd280) {
      +                                            if (code < 0xd265) {
      +                                                // Lo       HANGUL SYLLABLE TWE
      +                                                if (0xd264 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
      +                                                if (0xd265 <= code && code <= 0xd27f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd281) {
      +                                                // Lo       HANGUL SYLLABLE TWI
      +                                                if (0xd280 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd29c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
      +                                                    if (0xd281 <= code && code <= 0xd29b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE TYU
      +                                                    if (0xd29c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd2d4) {
      +                                            if (code < 0xd2b8) {
      +                                                // Lo  [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
      +                                                if (0xd29d <= code && code <= 0xd2b7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd2b9) {
      +                                                    // Lo       HANGUL SYLLABLE TEU
      +                                                    if (0xd2b8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
      +                                                    if (0xd2b9 <= code && code <= 0xd2d3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd2d5) {
      +                                                // Lo       HANGUL SYLLABLE TYI
      +                                                if (0xd2d4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd2f0) {
      +                                                    // Lo  [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
      +                                                    if (0xd2d5 <= code && code <= 0xd2ef) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE TI
      +                                                    if (0xd2f0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xd37d) {
      +                                    if (code < 0xd344) {
      +                                        if (code < 0xd30d) {
      +                                            if (code < 0xd30c) {
      +                                                // Lo  [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
      +                                                if (0xd2f1 <= code && code <= 0xd30b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE PA
      +                                                if (0xd30c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd328) {
      +                                                // Lo  [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
      +                                                if (0xd30d <= code && code <= 0xd327) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd329) {
      +                                                    // Lo       HANGUL SYLLABLE PAE
      +                                                    if (0xd328 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
      +                                                    if (0xd329 <= code && code <= 0xd343) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd360) {
      +                                            if (code < 0xd345) {
      +                                                // Lo       HANGUL SYLLABLE PYA
      +                                                if (0xd344 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
      +                                                if (0xd345 <= code && code <= 0xd35f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd361) {
      +                                                // Lo       HANGUL SYLLABLE PYAE
      +                                                if (0xd360 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd37c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
      +                                                    if (0xd361 <= code && code <= 0xd37b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE PEO
      +                                                    if (0xd37c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd3d0) {
      +                                        if (code < 0xd399) {
      +                                            if (code < 0xd398) {
      +                                                // Lo  [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
      +                                                if (0xd37d <= code && code <= 0xd397) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE PE
      +                                                if (0xd398 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd3b4) {
      +                                                // Lo  [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
      +                                                if (0xd399 <= code && code <= 0xd3b3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd3b5) {
      +                                                    // Lo       HANGUL SYLLABLE PYEO
      +                                                    if (0xd3b4 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
      +                                                    if (0xd3b5 <= code && code <= 0xd3cf) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd3ed) {
      +                                            if (code < 0xd3d1) {
      +                                                // Lo       HANGUL SYLLABLE PYE
      +                                                if (0xd3d0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd3ec) {
      +                                                    // Lo  [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
      +                                                    if (0xd3d1 <= code && code <= 0xd3eb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE PO
      +                                                    if (0xd3ec === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd408) {
      +                                                // Lo  [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
      +                                                if (0xd3ed <= code && code <= 0xd407) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd409) {
      +                                                    // Lo       HANGUL SYLLABLE PWA
      +                                                    if (0xd408 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
      +                                                    if (0xd409 <= code && code <= 0xd423) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0xd53d) {
      +                                if (code < 0xd4b0) {
      +                                    if (code < 0xd45d) {
      +                                        if (code < 0xd440) {
      +                                            if (code < 0xd425) {
      +                                                // Lo       HANGUL SYLLABLE PWAE
      +                                                if (0xd424 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
      +                                                if (0xd425 <= code && code <= 0xd43f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd441) {
      +                                                // Lo       HANGUL SYLLABLE POE
      +                                                if (0xd440 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd45c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
      +                                                    if (0xd441 <= code && code <= 0xd45b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE PYO
      +                                                    if (0xd45c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd479) {
      +                                            if (code < 0xd478) {
      +                                                // Lo  [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
      +                                                if (0xd45d <= code && code <= 0xd477) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE PU
      +                                                if (0xd478 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd494) {
      +                                                // Lo  [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
      +                                                if (0xd479 <= code && code <= 0xd493) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd495) {
      +                                                    // Lo       HANGUL SYLLABLE PWEO
      +                                                    if (0xd494 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
      +                                                    if (0xd495 <= code && code <= 0xd4af) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd4e9) {
      +                                        if (code < 0xd4cc) {
      +                                            if (code < 0xd4b1) {
      +                                                // Lo       HANGUL SYLLABLE PWE
      +                                                if (0xd4b0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
      +                                                if (0xd4b1 <= code && code <= 0xd4cb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd4cd) {
      +                                                // Lo       HANGUL SYLLABLE PWI
      +                                                if (0xd4cc === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd4e8) {
      +                                                    // Lo  [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
      +                                                    if (0xd4cd <= code && code <= 0xd4e7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE PYU
      +                                                    if (0xd4e8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd520) {
      +                                            if (code < 0xd504) {
      +                                                // Lo  [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
      +                                                if (0xd4e9 <= code && code <= 0xd503) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd505) {
      +                                                    // Lo       HANGUL SYLLABLE PEU
      +                                                    if (0xd504 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
      +                                                    if (0xd505 <= code && code <= 0xd51f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd521) {
      +                                                // Lo       HANGUL SYLLABLE PYI
      +                                                if (0xd520 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd53c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
      +                                                    if (0xd521 <= code && code <= 0xd53b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE PI
      +                                                    if (0xd53c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0xd5e4) {
      +                                    if (code < 0xd590) {
      +                                        if (code < 0xd559) {
      +                                            if (code < 0xd558) {
      +                                                // Lo  [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
      +                                                if (0xd53d <= code && code <= 0xd557) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE HA
      +                                                if (0xd558 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd574) {
      +                                                // Lo  [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
      +                                                if (0xd559 <= code && code <= 0xd573) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd575) {
      +                                                    // Lo       HANGUL SYLLABLE HAE
      +                                                    if (0xd574 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
      +                                                    if (0xd575 <= code && code <= 0xd58f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd5ad) {
      +                                            if (code < 0xd591) {
      +                                                // Lo       HANGUL SYLLABLE HYA
      +                                                if (0xd590 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd5ac) {
      +                                                    // Lo  [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
      +                                                    if (0xd591 <= code && code <= 0xd5ab) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE HYAE
      +                                                    if (0xd5ac === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd5c8) {
      +                                                // Lo  [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
      +                                                if (0xd5ad <= code && code <= 0xd5c7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd5c9) {
      +                                                    // Lo       HANGUL SYLLABLE HEO
      +                                                    if (0xd5c8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
      +                                                    if (0xd5c9 <= code && code <= 0xd5e3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd61d) {
      +                                        if (code < 0xd600) {
      +                                            if (code < 0xd5e5) {
      +                                                // Lo       HANGUL SYLLABLE HE
      +                                                if (0xd5e4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
      +                                                if (0xd5e5 <= code && code <= 0xd5ff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd601) {
      +                                                // Lo       HANGUL SYLLABLE HYEO
      +                                                if (0xd600 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd61c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
      +                                                    if (0xd601 <= code && code <= 0xd61b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE HYE
      +                                                    if (0xd61c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd654) {
      +                                            if (code < 0xd638) {
      +                                                // Lo  [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
      +                                                if (0xd61d <= code && code <= 0xd637) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd639) {
      +                                                    // Lo       HANGUL SYLLABLE HO
      +                                                    if (0xd638 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
      +                                                    if (0xd639 <= code && code <= 0xd653) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd655) {
      +                                                // Lo       HANGUL SYLLABLE HWA
      +                                                if (0xd654 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd670) {
      +                                                    // Lo  [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
      +                                                    if (0xd655 <= code && code <= 0xd66f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE HWAE
      +                                                    if (0xd670 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x11000) {
      +                            if (code < 0xd7b0) {
      +                                if (code < 0xd6fd) {
      +                                    if (code < 0xd6c4) {
      +                                        if (code < 0xd68d) {
      +                                            if (code < 0xd68c) {
      +                                                // Lo  [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
      +                                                if (0xd671 <= code && code <= 0xd68b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE HOE
      +                                                if (0xd68c === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd6a8) {
      +                                                // Lo  [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
      +                                                if (0xd68d <= code && code <= 0xd6a7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd6a9) {
      +                                                    // Lo       HANGUL SYLLABLE HYO
      +                                                    if (0xd6a8 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
      +                                                    if (0xd6a9 <= code && code <= 0xd6c3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd6e0) {
      +                                            if (code < 0xd6c5) {
      +                                                // Lo       HANGUL SYLLABLE HU
      +                                                if (0xd6c4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
      +                                                if (0xd6c5 <= code && code <= 0xd6df) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd6e1) {
      +                                                // Lo       HANGUL SYLLABLE HWEO
      +                                                if (0xd6e0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd6fc) {
      +                                                    // Lo  [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
      +                                                    if (0xd6e1 <= code && code <= 0xd6fb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE HWE
      +                                                    if (0xd6fc === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0xd750) {
      +                                        if (code < 0xd719) {
      +                                            if (code < 0xd718) {
      +                                                // Lo  [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
      +                                                if (0xd6fd <= code && code <= 0xd717) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo       HANGUL SYLLABLE HWI
      +                                                if (0xd718 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd734) {
      +                                                // Lo  [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
      +                                                if (0xd719 <= code && code <= 0xd733) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd735) {
      +                                                    // Lo       HANGUL SYLLABLE HYU
      +                                                    if (0xd734 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
      +                                                    if (0xd735 <= code && code <= 0xd74f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xd76d) {
      +                                            if (code < 0xd751) {
      +                                                // Lo       HANGUL SYLLABLE HEU
      +                                                if (0xd750 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LV;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd76c) {
      +                                                    // Lo  [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
      +                                                    if (0xd751 <= code && code <= 0xd76b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo       HANGUL SYLLABLE HYI
      +                                                    if (0xd76c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xd788) {
      +                                                // Lo  [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
      +                                                if (0xd76d <= code && code <= 0xd787) {
      +                                                    return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xd789) {
      +                                                    // Lo       HANGUL SYLLABLE HI
      +                                                    if (0xd788 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LV;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Lo  [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH
      +                                                    if (0xd789 <= code && code <= 0xd7a3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.LVT;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x10a01) {
      +                                    if (code < 0xfeff) {
      +                                        if (code < 0xfb1e) {
      +                                            if (code < 0xd7cb) {
      +                                                // Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
      +                                                if (0xd7b0 <= code && code <= 0xd7c6) {
      +                                                    return boundaries_1.CLUSTER_BREAK.V;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
      +                                                if (0xd7cb <= code && code <= 0xd7fb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.T;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xfe00) {
      +                                                // Mn       HEBREW POINT JUDEO-SPANISH VARIKA
      +                                                if (0xfb1e === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xfe20) {
      +                                                    // Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
      +                                                    if (0xfe00 <= code && code <= 0xfe0f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
      +                                                    if (0xfe20 <= code && code <= 0xfe2f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x101fd) {
      +                                            if (code < 0xff9e) {
      +                                                // Cf       ZERO WIDTH NO-BREAK SPACE
      +                                                if (0xfeff === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xfff0) {
      +                                                    // Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
      +                                                    if (0xff9e <= code && code <= 0xff9f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cn   [9] ..
      +                                                    // Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
      +                                                    if (0xfff0 <= code && code <= 0xfffb) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x102e0) {
      +                                                // Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
      +                                                if (0x101fd === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x10376) {
      +                                                    // Mn       COPTIC EPACT THOUSANDS MARK
      +                                                    if (0x102e0 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
      +                                                    if (0x10376 <= code && code <= 0x1037a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x10ae5) {
      +                                        if (code < 0x10a0c) {
      +                                            if (code < 0x10a05) {
      +                                                // Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
      +                                                if (0x10a01 <= code && code <= 0x10a03) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
      +                                                if (0x10a05 <= code && code <= 0x10a06) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x10a38) {
      +                                                // Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
      +                                                if (0x10a0c <= code && code <= 0x10a0f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x10a3f) {
      +                                                    // Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
      +                                                    if (0x10a38 <= code && code <= 0x10a3a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       KHAROSHTHI VIRAMA
      +                                                    if (0x10a3f === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x10efd) {
      +                                            if (code < 0x10d24) {
      +                                                // Mn   [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
      +                                                if (0x10ae5 <= code && code <= 0x10ae6) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x10eab) {
      +                                                    // Mn   [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
      +                                                    if (0x10d24 <= code && code <= 0x10d27) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
      +                                                    if (0x10eab <= code && code <= 0x10eac) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x10f46) {
      +                                                // Mn   [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA
      +                                                if (0x10efd <= code && code <= 0x10eff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x10f82) {
      +                                                    // Mn  [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
      +                                                    if (0x10f46 <= code && code <= 0x10f50) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
      +                                                    if (0x10f82 <= code && code <= 0x10f85) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x11180) {
      +                                if (code < 0x110b7) {
      +                                    if (code < 0x11073) {
      +                                        if (code < 0x11002) {
      +                                            // Mc       BRAHMI SIGN CANDRABINDU
      +                                            if (0x11000 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       BRAHMI SIGN ANUSVARA
      +                                            if (0x11001 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11038) {
      +                                                // Mc       BRAHMI SIGN VISARGA
      +                                                if (0x11002 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11070) {
      +                                                    // Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
      +                                                    if (0x11038 <= code && code <= 0x11046) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       BRAHMI SIGN OLD TAMIL VIRAMA
      +                                                    if (0x11070 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x11082) {
      +                                            if (code < 0x1107f) {
      +                                                // Mn   [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O
      +                                                if (0x11073 <= code && code <= 0x11074) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
      +                                                if (0x1107f <= code && code <= 0x11081) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x110b0) {
      +                                                // Mc       KAITHI SIGN VISARGA
      +                                                if (0x11082 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x110b3) {
      +                                                    // Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
      +                                                    if (0x110b0 <= code && code <= 0x110b2) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
      +                                                    if (0x110b3 <= code && code <= 0x110b6) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11100) {
      +                                        if (code < 0x110bd) {
      +                                            if (code < 0x110b9) {
      +                                                // Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
      +                                                if (0x110b7 <= code && code <= 0x110b8) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
      +                                                if (0x110b9 <= code && code <= 0x110ba) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x110c2) {
      +                                                // Cf       KAITHI NUMBER SIGN
      +                                                if (0x110bd === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       KAITHI VOWEL SIGN VOCALIC R
      +                                                if (0x110c2 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Cf       KAITHI NUMBER SIGN ABOVE
      +                                                if (0x110cd === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1112d) {
      +                                            if (code < 0x11127) {
      +                                                // Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
      +                                                if (0x11100 <= code && code <= 0x11102) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1112c) {
      +                                                    // Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
      +                                                    if (0x11127 <= code && code <= 0x1112b) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       CHAKMA VOWEL SIGN E
      +                                                    if (0x1112c === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11145) {
      +                                                // Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
      +                                                if (0x1112d <= code && code <= 0x11134) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11173) {
      +                                                    // Mc   [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI
      +                                                    if (0x11145 <= code && code <= 0x11146) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       MAHAJANI SIGN NUKTA
      +                                                    if (0x11173 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x11232) {
      +                                    if (code < 0x111c2) {
      +                                        if (code < 0x111b3) {
      +                                            if (code < 0x11182) {
      +                                                // Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
      +                                                if (0x11180 <= code && code <= 0x11181) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       SHARADA SIGN VISARGA
      +                                                if (0x11182 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x111b6) {
      +                                                // Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
      +                                                if (0x111b3 <= code && code <= 0x111b5) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x111bf) {
      +                                                    // Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
      +                                                    if (0x111b6 <= code && code <= 0x111be) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
      +                                                    if (0x111bf <= code && code <= 0x111c0) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x111cf) {
      +                                            if (code < 0x111c9) {
      +                                                // Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
      +                                                if (0x111c2 <= code && code <= 0x111c3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x111ce) {
      +                                                    // Mn   [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK
      +                                                    if (0x111c9 <= code && code <= 0x111cc) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       SHARADA VOWEL SIGN PRISHTHAMATRA E
      +                                                    if (0x111ce === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1122c) {
      +                                                // Mn       SHARADA SIGN INVERTED CANDRABINDU
      +                                                if (0x111cf === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1122f) {
      +                                                    // Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
      +                                                    if (0x1122c <= code && code <= 0x1122e) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
      +                                                    if (0x1122f <= code && code <= 0x11231) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11241) {
      +                                        if (code < 0x11235) {
      +                                            if (code < 0x11234) {
      +                                                // Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
      +                                                if (0x11232 <= code && code <= 0x11233) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       KHOJKI SIGN ANUSVARA
      +                                                if (0x11234 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11236) {
      +                                                // Mc       KHOJKI SIGN VIRAMA
      +                                                if (0x11235 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1123e) {
      +                                                    // Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
      +                                                    if (0x11236 <= code && code <= 0x11237) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       KHOJKI SIGN SUKUN
      +                                                    if (0x1123e === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x112e3) {
      +                                            if (code < 0x112df) {
      +                                                // Mn       KHOJKI VOWEL SIGN VOCALIC R
      +                                                if (0x11241 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x112e0) {
      +                                                    // Mn       KHUDAWADI SIGN ANUSVARA
      +                                                    if (0x112df === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
      +                                                    if (0x112e0 <= code && code <= 0x112e2) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11300) {
      +                                                // Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
      +                                                if (0x112e3 <= code && code <= 0x112ea) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11302) {
      +                                                    // Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
      +                                                    if (0x11300 <= code && code <= 0x11301) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
      +                                                    if (0x11302 <= code && code <= 0x11303) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0x11a97) {
      +                        if (code < 0x116ab) {
      +                            if (code < 0x114b9) {
      +                                if (code < 0x11370) {
      +                                    if (code < 0x11347) {
      +                                        if (code < 0x1133f) {
      +                                            if (code < 0x1133e) {
      +                                                // Mn   [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA
      +                                                if (0x1133b <= code && code <= 0x1133c) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       GRANTHA VOWEL SIGN AA
      +                                                if (0x1133e === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11340) {
      +                                                // Mc       GRANTHA VOWEL SIGN I
      +                                                if (0x1133f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11341) {
      +                                                    // Mn       GRANTHA VOWEL SIGN II
      +                                                    if (0x11340 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
      +                                                    if (0x11341 <= code && code <= 0x11344) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x11357) {
      +                                            if (code < 0x1134b) {
      +                                                // Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
      +                                                if (0x11347 <= code && code <= 0x11348) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
      +                                                if (0x1134b <= code && code <= 0x1134d) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11362) {
      +                                                // Mc       GRANTHA AU LENGTH MARK
      +                                                if (0x11357 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11366) {
      +                                                    // Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
      +                                                    if (0x11362 <= code && code <= 0x11363) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
      +                                                    if (0x11366 <= code && code <= 0x1136c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11445) {
      +                                        if (code < 0x11438) {
      +                                            if (code < 0x11435) {
      +                                                // Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
      +                                                if (0x11370 <= code && code <= 0x11374) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
      +                                                if (0x11435 <= code && code <= 0x11437) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11440) {
      +                                                // Mn   [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
      +                                                if (0x11438 <= code && code <= 0x1143f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11442) {
      +                                                    // Mc   [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
      +                                                    if (0x11440 <= code && code <= 0x11441) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
      +                                                    if (0x11442 <= code && code <= 0x11444) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x114b0) {
      +                                            if (code < 0x11446) {
      +                                                // Mc       NEWA SIGN VISARGA
      +                                                if (0x11445 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       NEWA SIGN NUKTA
      +                                                if (0x11446 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mn       NEWA SANDHI MARK
      +                                                if (0x1145e === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x114b1) {
      +                                                // Mc       TIRHUTA VOWEL SIGN AA
      +                                                if (0x114b0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x114b3) {
      +                                                    // Mc   [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
      +                                                    if (0x114b1 <= code && code <= 0x114b2) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
      +                                                    if (0x114b3 <= code && code <= 0x114b8) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x115b8) {
      +                                    if (code < 0x114bf) {
      +                                        if (code < 0x114bb) {
      +                                            // Mc       TIRHUTA VOWEL SIGN E
      +                                            if (0x114b9 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       TIRHUTA VOWEL SIGN SHORT E
      +                                            if (0x114ba === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x114bd) {
      +                                                // Mc   [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
      +                                                if (0x114bb <= code && code <= 0x114bc) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       TIRHUTA VOWEL SIGN SHORT O
      +                                                if (0x114bd === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mc       TIRHUTA VOWEL SIGN AU
      +                                                if (0x114be === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x115af) {
      +                                            if (code < 0x114c1) {
      +                                                // Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
      +                                                if (0x114bf <= code && code <= 0x114c0) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x114c2) {
      +                                                    // Mc       TIRHUTA SIGN VISARGA
      +                                                    if (0x114c1 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
      +                                                    if (0x114c2 <= code && code <= 0x114c3) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x115b0) {
      +                                                // Mc       SIDDHAM VOWEL SIGN AA
      +                                                if (0x115af === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x115b2) {
      +                                                    // Mc   [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
      +                                                    if (0x115b0 <= code && code <= 0x115b1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
      +                                                    if (0x115b2 <= code && code <= 0x115b5) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11630) {
      +                                        if (code < 0x115be) {
      +                                            if (code < 0x115bc) {
      +                                                // Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
      +                                                if (0x115b8 <= code && code <= 0x115bb) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
      +                                                if (0x115bc <= code && code <= 0x115bd) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x115bf) {
      +                                                // Mc       SIDDHAM SIGN VISARGA
      +                                                if (0x115be === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x115dc) {
      +                                                    // Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
      +                                                    if (0x115bf <= code && code <= 0x115c0) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
      +                                                    if (0x115dc <= code && code <= 0x115dd) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1163d) {
      +                                            if (code < 0x11633) {
      +                                                // Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
      +                                                if (0x11630 <= code && code <= 0x11632) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1163b) {
      +                                                    // Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
      +                                                    if (0x11633 <= code && code <= 0x1163a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
      +                                                    if (0x1163b <= code && code <= 0x1163c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1163e) {
      +                                                // Mn       MODI SIGN ANUSVARA
      +                                                if (0x1163d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1163f) {
      +                                                    // Mc       MODI SIGN VISARGA
      +                                                    if (0x1163e === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
      +                                                    if (0x1163f <= code && code <= 0x11640) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1193f) {
      +                                if (code < 0x11727) {
      +                                    if (code < 0x116b6) {
      +                                        if (code < 0x116ad) {
      +                                            // Mn       TAKRI SIGN ANUSVARA
      +                                            if (0x116ab === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                            // Mc       TAKRI SIGN VISARGA
      +                                            if (0x116ac === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x116ae) {
      +                                                // Mn       TAKRI VOWEL SIGN AA
      +                                                if (0x116ad === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x116b0) {
      +                                                    // Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
      +                                                    if (0x116ae <= code && code <= 0x116af) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
      +                                                    if (0x116b0 <= code && code <= 0x116b5) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1171d) {
      +                                            // Mc       TAKRI SIGN VIRAMA
      +                                            if (0x116b6 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       TAKRI SIGN NUKTA
      +                                            if (0x116b7 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11722) {
      +                                                // Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
      +                                                if (0x1171d <= code && code <= 0x1171f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11726) {
      +                                                    // Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
      +                                                    if (0x11722 <= code && code <= 0x11725) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc       AHOM VOWEL SIGN E
      +                                                    if (0x11726 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11930) {
      +                                        if (code < 0x1182f) {
      +                                            if (code < 0x1182c) {
      +                                                // Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
      +                                                if (0x11727 <= code && code <= 0x1172b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II
      +                                                if (0x1182c <= code && code <= 0x1182e) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11838) {
      +                                                // Mn   [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA
      +                                                if (0x1182f <= code && code <= 0x11837) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11839) {
      +                                                    // Mc       DOGRA SIGN VISARGA
      +                                                    if (0x11838 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA
      +                                                    if (0x11839 <= code && code <= 0x1183a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1193b) {
      +                                            if (code < 0x11931) {
      +                                                // Mc       DIVES AKURU VOWEL SIGN AA
      +                                                if (0x11930 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11937) {
      +                                                    // Mc   [5] DIVES AKURU VOWEL SIGN I..DIVES AKURU VOWEL SIGN E
      +                                                    if (0x11931 <= code && code <= 0x11935) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O
      +                                                    if (0x11937 <= code && code <= 0x11938) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1193d) {
      +                                                // Mn   [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU
      +                                                if (0x1193b <= code && code <= 0x1193c) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       DIVES AKURU SIGN HALANTA
      +                                                if (0x1193d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       DIVES AKURU VIRAMA
      +                                                if (0x1193e === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x11a01) {
      +                                    if (code < 0x119d1) {
      +                                        if (code < 0x11941) {
      +                                            // Lo       DIVES AKURU PREFIXED NASAL SIGN
      +                                            if (0x1193f === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                            }
      +                                            // Mc       DIVES AKURU MEDIAL YA
      +                                            if (0x11940 === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11942) {
      +                                                // Lo       DIVES AKURU INITIAL RA
      +                                                if (0x11941 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       DIVES AKURU MEDIAL RA
      +                                                if (0x11942 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       DIVES AKURU SIGN NUKTA
      +                                                if (0x11943 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x119dc) {
      +                                            if (code < 0x119d4) {
      +                                                // Mc   [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II
      +                                                if (0x119d1 <= code && code <= 0x119d3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x119da) {
      +                                                    // Mn   [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR
      +                                                    if (0x119d4 <= code && code <= 0x119d7) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI
      +                                                    if (0x119da <= code && code <= 0x119db) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x119e0) {
      +                                                // Mc   [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA
      +                                                if (0x119dc <= code && code <= 0x119df) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn       NANDINAGARI SIGN VIRAMA
      +                                                if (0x119e0 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mc       NANDINAGARI VOWEL SIGN PRISHTHAMATRA E
      +                                                if (0x119e4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11a47) {
      +                                        if (code < 0x11a39) {
      +                                            if (code < 0x11a33) {
      +                                                // Mn  [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK
      +                                                if (0x11a01 <= code && code <= 0x11a0a) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
      +                                                if (0x11a33 <= code && code <= 0x11a38) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11a3a) {
      +                                                // Mc       ZANABAZAR SQUARE SIGN VISARGA
      +                                                if (0x11a39 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11a3b) {
      +                                                    // Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
      +                                                    if (0x11a3a === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
      +                                                    if (0x11a3b <= code && code <= 0x11a3e) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x11a59) {
      +                                            if (code < 0x11a51) {
      +                                                // Mn       ZANABAZAR SQUARE SUBJOINER
      +                                                if (0x11a47 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11a57) {
      +                                                    // Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
      +                                                    if (0x11a51 <= code && code <= 0x11a56) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
      +                                                    if (0x11a57 <= code && code <= 0x11a58) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11a84) {
      +                                                // Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
      +                                                if (0x11a59 <= code && code <= 0x11a5b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11a8a) {
      +                                                    // Lo   [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA
      +                                                    if (0x11a84 <= code && code <= 0x11a89) {
      +                                                        return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
      +                                                    if (0x11a8a <= code && code <= 0x11a96) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x16f51) {
      +                            if (code < 0x11d90) {
      +                                if (code < 0x11cb1) {
      +                                    if (code < 0x11c3e) {
      +                                        if (code < 0x11c2f) {
      +                                            if (code < 0x11a98) {
      +                                                // Mc       SOYOMBO SIGN VISARGA
      +                                                if (0x11a97 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
      +                                                if (0x11a98 <= code && code <= 0x11a99) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11c30) {
      +                                                // Mc       BHAIKSUKI VOWEL SIGN AA
      +                                                if (0x11c2f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11c38) {
      +                                                    // Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
      +                                                    if (0x11c30 <= code && code <= 0x11c36) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
      +                                                    if (0x11c38 <= code && code <= 0x11c3d) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x11c92) {
      +                                            // Mc       BHAIKSUKI SIGN VISARGA
      +                                            if (0x11c3e === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                            }
      +                                            // Mn       BHAIKSUKI SIGN VIRAMA
      +                                            if (0x11c3f === code) {
      +                                                return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11ca9) {
      +                                                // Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
      +                                                if (0x11c92 <= code && code <= 0x11ca7) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11caa) {
      +                                                    // Mc       MARCHEN SUBJOINED LETTER YA
      +                                                    if (0x11ca9 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
      +                                                    if (0x11caa <= code && code <= 0x11cb0) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x11d3a) {
      +                                        if (code < 0x11cb4) {
      +                                            if (code < 0x11cb2) {
      +                                                // Mc       MARCHEN VOWEL SIGN I
      +                                                if (0x11cb1 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
      +                                                if (0x11cb2 <= code && code <= 0x11cb3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11cb5) {
      +                                                // Mc       MARCHEN VOWEL SIGN O
      +                                                if (0x11cb4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11d31) {
      +                                                    // Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
      +                                                    if (0x11cb5 <= code && code <= 0x11cb6) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
      +                                                    if (0x11d31 <= code && code <= 0x11d36) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x11d46) {
      +                                            if (code < 0x11d3c) {
      +                                                // Mn       MASARAM GONDI VOWEL SIGN E
      +                                                if (0x11d3a === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11d3f) {
      +                                                    // Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
      +                                                    if (0x11d3c <= code && code <= 0x11d3d) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
      +                                                    if (0x11d3f <= code && code <= 0x11d45) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11d47) {
      +                                                // Lo       MASARAM GONDI REPHA
      +                                                if (0x11d46 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11d8a) {
      +                                                    // Mn       MASARAM GONDI RA-KARA
      +                                                    if (0x11d47 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU
      +                                                    if (0x11d8a <= code && code <= 0x11d8e) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x11f36) {
      +                                    if (code < 0x11ef3) {
      +                                        if (code < 0x11d95) {
      +                                            if (code < 0x11d93) {
      +                                                // Mn   [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI
      +                                                if (0x11d90 <= code && code <= 0x11d91) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU
      +                                                if (0x11d93 <= code && code <= 0x11d94) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11d96) {
      +                                                // Mn       GUNJALA GONDI SIGN ANUSVARA
      +                                                if (0x11d95 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       GUNJALA GONDI SIGN VISARGA
      +                                                if (0x11d96 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       GUNJALA GONDI VIRAMA
      +                                                if (0x11d97 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x11f02) {
      +                                            if (code < 0x11ef5) {
      +                                                // Mn   [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
      +                                                if (0x11ef3 <= code && code <= 0x11ef4) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11f00) {
      +                                                    // Mc   [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
      +                                                    if (0x11ef5 <= code && code <= 0x11ef6) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
      +                                                    if (0x11f00 <= code && code <= 0x11f01) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11f03) {
      +                                                // Lo       KAWI SIGN REPHA
      +                                                if (0x11f02 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.PREPEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x11f34) {
      +                                                    // Mc       KAWI SIGN VISARGA
      +                                                    if (0x11f03 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mc   [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA
      +                                                    if (0x11f34 <= code && code <= 0x11f35) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x13430) {
      +                                        if (code < 0x11f40) {
      +                                            if (code < 0x11f3e) {
      +                                                // Mn   [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
      +                                                if (0x11f36 <= code && code <= 0x11f3a) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc   [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI
      +                                                if (0x11f3e <= code && code <= 0x11f3f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x11f41) {
      +                                                // Mn       KAWI VOWEL SIGN EU
      +                                                if (0x11f40 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       KAWI SIGN KILLER
      +                                                if (0x11f41 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                                // Mn       KAWI CONJOINER
      +                                                if (0x11f42 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x16af0) {
      +                                            if (code < 0x13440) {
      +                                                // Cf  [16] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE
      +                                                if (0x13430 <= code && code <= 0x1343f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x13447) {
      +                                                    // Mn       EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY
      +                                                    if (0x13440 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
      +                                                    if (0x13447 <= code && code <= 0x13455) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x16b30) {
      +                                                // Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
      +                                                if (0x16af0 <= code && code <= 0x16af4) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x16f4f) {
      +                                                    // Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
      +                                                    if (0x16b30 <= code && code <= 0x16b36) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       MIAO SIGN CONSONANT MODIFIER BAR
      +                                                    if (0x16f4f === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1da84) {
      +                                if (code < 0x1d167) {
      +                                    if (code < 0x1bca0) {
      +                                        if (code < 0x16fe4) {
      +                                            if (code < 0x16f8f) {
      +                                                // Mc  [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI
      +                                                if (0x16f51 <= code && code <= 0x16f87) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
      +                                                if (0x16f8f <= code && code <= 0x16f92) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x16ff0) {
      +                                                // Mn       KHITAN SMALL SCRIPT FILLER
      +                                                if (0x16fe4 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1bc9d) {
      +                                                    // Mc   [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
      +                                                    if (0x16ff0 <= code && code <= 0x16ff1) {
      +                                                        return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
      +                                                    if (0x1bc9d <= code && code <= 0x1bc9e) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1cf30) {
      +                                            if (code < 0x1cf00) {
      +                                                // Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
      +                                                if (0x1bca0 <= code && code <= 0x1bca3) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn  [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT
      +                                                if (0x1cf00 <= code && code <= 0x1cf2d) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1d165) {
      +                                                // Mn  [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG
      +                                                if (0x1cf30 <= code && code <= 0x1cf46) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       MUSICAL SYMBOL COMBINING STEM
      +                                                if (0x1d165 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                                // Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
      +                                                if (0x1d166 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x1d185) {
      +                                        if (code < 0x1d16e) {
      +                                            if (code < 0x1d16d) {
      +                                                // Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
      +                                                if (0x1d167 <= code && code <= 0x1d169) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mc       MUSICAL SYMBOL COMBINING AUGMENTATION DOT
      +                                                if (0x1d16d === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.SPACINGMARK;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1d173) {
      +                                                // Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
      +                                                if (0x1d16e <= code && code <= 0x1d172) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1d17b) {
      +                                                    // Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
      +                                                    if (0x1d173 <= code && code <= 0x1d17a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
      +                                                    if (0x1d17b <= code && code <= 0x1d182) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1da00) {
      +                                            if (code < 0x1d1aa) {
      +                                                // Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
      +                                                if (0x1d185 <= code && code <= 0x1d18b) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1d242) {
      +                                                    // Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
      +                                                    if (0x1d1aa <= code && code <= 0x1d1ad) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
      +                                                    if (0x1d242 <= code && code <= 0x1d244) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1da3b) {
      +                                                // Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
      +                                                if (0x1da00 <= code && code <= 0x1da36) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1da75) {
      +                                                    // Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
      +                                                    if (0x1da3b <= code && code <= 0x1da6c) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
      +                                                    if (0x1da75 === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1e2ec) {
      +                                    if (code < 0x1e01b) {
      +                                        if (code < 0x1daa1) {
      +                                            if (code < 0x1da9b) {
      +                                                // Mn       SIGNWRITING LOCATION HEAD NECK
      +                                                if (0x1da84 === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
      +                                                if (0x1da9b <= code && code <= 0x1da9f) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1e000) {
      +                                                // Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
      +                                                if (0x1daa1 <= code && code <= 0x1daaf) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1e008) {
      +                                                    // Mn   [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
      +                                                    if (0x1e000 <= code && code <= 0x1e006) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn  [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
      +                                                    if (0x1e008 <= code && code <= 0x1e018) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0x1e08f) {
      +                                            if (code < 0x1e023) {
      +                                                // Mn   [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
      +                                                if (0x1e01b <= code && code <= 0x1e021) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1e026) {
      +                                                    // Mn   [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
      +                                                    if (0x1e023 <= code && code <= 0x1e024) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn   [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
      +                                                    if (0x1e026 <= code && code <= 0x1e02a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1e130) {
      +                                                // Mn       COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
      +                                                if (0x1e08f === code) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1e2ae) {
      +                                                    // Mn   [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
      +                                                    if (0x1e130 <= code && code <= 0x1e136) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Mn       TOTO SIGN RISING TONE
      +                                                    if (0x1e2ae === code) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                                else {
      +                                    if (code < 0x1f3fb) {
      +                                        if (code < 0x1e8d0) {
      +                                            if (code < 0x1e4ec) {
      +                                                // Mn   [4] WANCHO TONE TUP..WANCHO TONE KOINI
      +                                                if (0x1e2ec <= code && code <= 0x1e2ef) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                // Mn   [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
      +                                                if (0x1e4ec <= code && code <= 0x1e4ef) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0x1e944) {
      +                                                // Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
      +                                                if (0x1e8d0 <= code && code <= 0x1e8d6) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0x1f1e6) {
      +                                                    // Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
      +                                                    if (0x1e944 <= code && code <= 0x1e94a) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
      +                                                    if (0x1f1e6 <= code && code <= 0x1f1ff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                    else {
      +                                        if (code < 0xe0080) {
      +                                            if (code < 0xe0000) {
      +                                                // Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
      +                                                if (0x1f3fb <= code && code <= 0x1f3ff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xe0020) {
      +                                                    // Cn       
      +                                                    // Cf       LANGUAGE TAG
      +                                                    // Cn  [30] ..
      +                                                    if (0xe0000 <= code && code <= 0xe001f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cf  [96] TAG SPACE..CANCEL TAG
      +                                                    if (0xe0020 <= code && code <= 0xe007f) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                        else {
      +                                            if (code < 0xe0100) {
      +                                                // Cn [128] ..
      +                                                if (0xe0080 <= code && code <= 0xe00ff) {
      +                                                    return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                }
      +                                            }
      +                                            else {
      +                                                if (code < 0xe01f0) {
      +                                                    // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
      +                                                    if (0xe0100 <= code && code <= 0xe01ef) {
      +                                                        return boundaries_1.CLUSTER_BREAK.EXTEND;
      +                                                    }
      +                                                }
      +                                                else {
      +                                                    // Cn [3600] ..
      +                                                    if (0xe01f0 <= code && code <= 0xe0fff) {
      +                                                        return boundaries_1.CLUSTER_BREAK.CONTROL;
      +                                                    }
      +                                                }
      +                                            }
      +                                        }
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +        }
      +        // unlisted code points are treated as a break property of "Other"
      +        return boundaries_1.CLUSTER_BREAK.OTHER;
      +    }
      +    /**
      +     * Given a Unicode code point, returns if symbol is an extended pictographic or some other break
      +     * @param code {number} Unicode code point
      +     * @returns {number}
      +     */
      +    static getEmojiProperty(code) {
      +        // emoji property taken from:
      +        // https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt
      +        // and generated by
      +        // node ./scripts/generate-emoji-extended-pictographic.js
      +        if (code < 0x27b0) {
      +            if (code < 0x2600) {
      +                if (code < 0x2328) {
      +                    if (code < 0x2122) {
      +                        if (code < 0x203c) {
      +                            // E0.6   [1] (©️)       copyright
      +                            if (0xa9 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E0.6   [1] (®️)       registered
      +                            if (0xae === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                        else {
      +                            // E0.6   [1] (‼️)       double exclamation mark
      +                            if (0x203c === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E0.6   [1] (⁉️)       exclamation question mark
      +                            if (0x2049 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x2194) {
      +                            // E0.6   [1] (™️)       trade mark
      +                            if (0x2122 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E0.6   [1] (ℹ️)       information
      +                            if (0x2139 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x21a9) {
      +                                // E0.6   [6] (↔️..↙️)    left-right arrow..down-left arrow
      +                                if (0x2194 <= code && code <= 0x2199) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x231a) {
      +                                    // E0.6   [2] (↩️..↪️)    right arrow curving left..left arrow curving right
      +                                    if (0x21a9 <= code && code <= 0x21aa) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.6   [2] (⌚..⌛)    watch..hourglass done
      +                                    if (0x231a <= code && code <= 0x231b) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0x24c2) {
      +                        if (code < 0x23cf) {
      +                            // E1.0   [1] (⌨️)       keyboard
      +                            if (0x2328 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E0.0   [1] (⎈)       HELM SYMBOL
      +                            if (0x2388 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x23e9) {
      +                                // E1.0   [1] (⏏️)       eject button
      +                                if (0x23cf === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x23f8) {
      +                                    // E0.6   [4] (⏩..⏬)    fast-forward button..fast down button
      +                                    // E0.7   [2] (⏭️..⏮️)    next track button..last track button
      +                                    // E1.0   [1] (⏯️)       play or pause button
      +                                    // E0.6   [1] (⏰)       alarm clock
      +                                    // E1.0   [2] (⏱️..⏲️)    stopwatch..timer clock
      +                                    // E0.6   [1] (⏳)       hourglass not done
      +                                    if (0x23e9 <= code && code <= 0x23f3) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.7   [3] (⏸️..⏺️)    pause button..record button
      +                                    if (0x23f8 <= code && code <= 0x23fa) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x25b6) {
      +                            if (code < 0x25aa) {
      +                                // E0.6   [1] (Ⓜ️)       circled M
      +                                if (0x24c2 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [2] (▪️..▫️)    black small square..white small square
      +                                if (0x25aa <= code && code <= 0x25ab) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x25c0) {
      +                                // E0.6   [1] (▶️)       play button
      +                                if (0x25b6 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x25fb) {
      +                                    // E0.6   [1] (◀️)       reverse button
      +                                    if (0x25c0 === code) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.6   [4] (◻️..◾)    white medium square..black medium-small square
      +                                    if (0x25fb <= code && code <= 0x25fe) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +            else {
      +                if (code < 0x2733) {
      +                    if (code < 0x2714) {
      +                        if (code < 0x2614) {
      +                            if (code < 0x2607) {
      +                                // E0.6   [2] (☀️..☁️)    sun..cloud
      +                                // E0.7   [2] (☂️..☃️)    umbrella..snowman
      +                                // E1.0   [1] (☄️)       comet
      +                                // E0.0   [1] (★)       BLACK STAR
      +                                if (0x2600 <= code && code <= 0x2605) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.0   [7] (☇..☍)    LIGHTNING..OPPOSITION
      +                                // E0.6   [1] (☎️)       telephone
      +                                // E0.0   [2] (☏..☐)    WHITE TELEPHONE..BALLOT BOX
      +                                // E0.6   [1] (☑️)       check box with check
      +                                // E0.0   [1] (☒)       BALLOT BOX WITH X
      +                                if (0x2607 <= code && code <= 0x2612) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x2690) {
      +                                // E0.6   [2] (☔..☕)    umbrella with rain drops..hot beverage
      +                                // E0.0   [2] (☖..☗)    WHITE SHOGI PIECE..BLACK SHOGI PIECE
      +                                // E1.0   [1] (☘️)       shamrock
      +                                // E0.0   [4] (☙..☜)    REVERSED ROTATED FLORAL HEART BULLET..WHITE LEFT POINTING INDEX
      +                                // E0.6   [1] (☝️)       index pointing up
      +                                // E0.0   [2] (☞..☟)    WHITE RIGHT POINTING INDEX..WHITE DOWN POINTING INDEX
      +                                // E1.0   [1] (☠️)       skull and crossbones
      +                                // E0.0   [1] (☡)       CAUTION SIGN
      +                                // E1.0   [2] (☢️..☣️)    radioactive..biohazard
      +                                // E0.0   [2] (☤..☥)    CADUCEUS..ANKH
      +                                // E1.0   [1] (☦️)       orthodox cross
      +                                // E0.0   [3] (☧..☩)    CHI RHO..CROSS OF JERUSALEM
      +                                // E0.7   [1] (☪️)       star and crescent
      +                                // E0.0   [3] (☫..☭)    FARSI SYMBOL..HAMMER AND SICKLE
      +                                // E1.0   [1] (☮️)       peace symbol
      +                                // E0.7   [1] (☯️)       yin yang
      +                                // E0.0   [8] (☰..☷)    TRIGRAM FOR HEAVEN..TRIGRAM FOR EARTH
      +                                // E0.7   [2] (☸️..☹️)    wheel of dharma..frowning face
      +                                // E0.6   [1] (☺️)       smiling face
      +                                // E0.0   [5] (☻..☿)    BLACK SMILING FACE..MERCURY
      +                                // E4.0   [1] (♀️)       female sign
      +                                // E0.0   [1] (♁)       EARTH
      +                                // E4.0   [1] (♂️)       male sign
      +                                // E0.0   [5] (♃..♇)    JUPITER..PLUTO
      +                                // E0.6  [12] (♈..♓)    Aries..Pisces
      +                                // E0.0  [11] (♔..♞)    WHITE CHESS KING..BLACK CHESS KNIGHT
      +                                // E11.0  [1] (♟️)       chess pawn
      +                                // E0.6   [1] (♠️)       spade suit
      +                                // E0.0   [2] (♡..♢)    WHITE HEART SUIT..WHITE DIAMOND SUIT
      +                                // E0.6   [1] (♣️)       club suit
      +                                // E0.0   [1] (♤)       WHITE SPADE SUIT
      +                                // E0.6   [2] (♥️..♦️)    heart suit..diamond suit
      +                                // E0.0   [1] (♧)       WHITE CLUB SUIT
      +                                // E0.6   [1] (♨️)       hot springs
      +                                // E0.0  [18] (♩..♺)    QUARTER NOTE..RECYCLING SYMBOL FOR GENERIC MATERIALS
      +                                // E0.6   [1] (♻️)       recycling symbol
      +                                // E0.0   [2] (♼..♽)    RECYCLED PAPER SYMBOL..PARTIALLY-RECYCLED PAPER SYMBOL
      +                                // E11.0  [1] (♾️)       infinity
      +                                // E0.6   [1] (♿)       wheelchair symbol
      +                                // E0.0   [6] (⚀..⚅)    DIE FACE-1..DIE FACE-6
      +                                if (0x2614 <= code && code <= 0x2685) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x2708) {
      +                                    // E0.0   [2] (⚐..⚑)    WHITE FLAG..BLACK FLAG
      +                                    // E1.0   [1] (⚒️)       hammer and pick
      +                                    // E0.6   [1] (⚓)       anchor
      +                                    // E1.0   [1] (⚔️)       crossed swords
      +                                    // E4.0   [1] (⚕️)       medical symbol
      +                                    // E1.0   [2] (⚖️..⚗️)    balance scale..alembic
      +                                    // E0.0   [1] (⚘)       FLOWER
      +                                    // E1.0   [1] (⚙️)       gear
      +                                    // E0.0   [1] (⚚)       STAFF OF HERMES
      +                                    // E1.0   [2] (⚛️..⚜️)    atom symbol..fleur-de-lis
      +                                    // E0.0   [3] (⚝..⚟)    OUTLINED WHITE STAR..THREE LINES CONVERGING LEFT
      +                                    // E0.6   [2] (⚠️..⚡)    warning..high voltage
      +                                    // E0.0   [5] (⚢..⚦)    DOUBLED FEMALE SIGN..MALE WITH STROKE SIGN
      +                                    // E13.0  [1] (⚧️)       transgender symbol
      +                                    // E0.0   [2] (⚨..⚩)    VERTICAL MALE WITH STROKE SIGN..HORIZONTAL MALE WITH STROKE SIGN
      +                                    // E0.6   [2] (⚪..⚫)    white circle..black circle
      +                                    // E0.0   [4] (⚬..⚯)    MEDIUM SMALL WHITE CIRCLE..UNMARRIED PARTNERSHIP SYMBOL
      +                                    // E1.0   [2] (⚰️..⚱️)    coffin..funeral urn
      +                                    // E0.0  [11] (⚲..⚼)    NEUTER..SESQUIQUADRATE
      +                                    // E0.6   [2] (⚽..⚾)    soccer ball..baseball
      +                                    // E0.0   [5] (⚿..⛃)    SQUARED KEY..BLACK DRAUGHTS KING
      +                                    // E0.6   [2] (⛄..⛅)    snowman without snow..sun behind cloud
      +                                    // E0.0   [2] (⛆..⛇)    RAIN..BLACK SNOWMAN
      +                                    // E0.7   [1] (⛈️)       cloud with lightning and rain
      +                                    // E0.0   [5] (⛉..⛍)    TURNED WHITE SHOGI PIECE..DISABLED CAR
      +                                    // E0.6   [1] (⛎)       Ophiuchus
      +                                    // E0.7   [1] (⛏️)       pick
      +                                    // E0.0   [1] (⛐)       CAR SLIDING
      +                                    // E0.7   [1] (⛑️)       rescue worker’s helmet
      +                                    // E0.0   [1] (⛒)       CIRCLED CROSSING LANES
      +                                    // E0.7   [1] (⛓️)       chains
      +                                    // E0.6   [1] (⛔)       no entry
      +                                    // E0.0  [20] (⛕..⛨)    ALTERNATE ONE-WAY LEFT WAY TRAFFIC..BLACK CROSS ON SHIELD
      +                                    // E0.7   [1] (⛩️)       shinto shrine
      +                                    // E0.6   [1] (⛪)       church
      +                                    // E0.0   [5] (⛫..⛯)    CASTLE..MAP SYMBOL FOR LIGHTHOUSE
      +                                    // E0.7   [2] (⛰️..⛱️)    mountain..umbrella on ground
      +                                    // E0.6   [2] (⛲..⛳)    fountain..flag in hole
      +                                    // E0.7   [1] (⛴️)       ferry
      +                                    // E0.6   [1] (⛵)       sailboat
      +                                    // E0.0   [1] (⛶)       SQUARE FOUR CORNERS
      +                                    // E0.7   [3] (⛷️..⛹️)    skier..person bouncing ball
      +                                    // E0.6   [1] (⛺)       tent
      +                                    // E0.0   [2] (⛻..⛼)    JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL
      +                                    // E0.6   [1] (⛽)       fuel pump
      +                                    // E0.0   [4] (⛾..✁)    CUP ON BLACK SQUARE..UPPER BLADE SCISSORS
      +                                    // E0.6   [1] (✂️)       scissors
      +                                    // E0.0   [2] (✃..✄)    LOWER BLADE SCISSORS..WHITE SCISSORS
      +                                    // E0.6   [1] (✅)       check mark button
      +                                    if (0x2690 <= code && code <= 0x2705) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.6   [5] (✈️..✌️)    airplane..victory hand
      +                                    // E0.7   [1] (✍️)       writing hand
      +                                    // E0.0   [1] (✎)       LOWER RIGHT PENCIL
      +                                    // E0.6   [1] (✏️)       pencil
      +                                    // E0.0   [2] (✐..✑)    UPPER RIGHT PENCIL..WHITE NIB
      +                                    // E0.6   [1] (✒️)       black nib
      +                                    if (0x2708 <= code && code <= 0x2712) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x271d) {
      +                            // E0.6   [1] (✔️)       check mark
      +                            if (0x2714 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E0.6   [1] (✖️)       multiply
      +                            if (0x2716 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x2721) {
      +                                // E0.7   [1] (✝️)       latin cross
      +                                if (0x271d === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.7   [1] (✡️)       star of David
      +                                if (0x2721 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                                // E0.6   [1] (✨)       sparkles
      +                                if (0x2728 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0x2753) {
      +                        if (code < 0x2747) {
      +                            if (code < 0x2744) {
      +                                // E0.6   [2] (✳️..✴️)    eight-spoked asterisk..eight-pointed star
      +                                if (0x2733 <= code && code <= 0x2734) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [1] (❄️)       snowflake
      +                                if (0x2744 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x274c) {
      +                                // E0.6   [1] (❇️)       sparkle
      +                                if (0x2747 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [1] (❌)       cross mark
      +                                if (0x274c === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                                // E0.6   [1] (❎)       cross mark button
      +                                if (0x274e === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x2763) {
      +                            if (code < 0x2757) {
      +                                // E0.6   [3] (❓..❕)    red question mark..white exclamation mark
      +                                if (0x2753 <= code && code <= 0x2755) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [1] (❗)       red exclamation mark
      +                                if (0x2757 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x2795) {
      +                                // E1.0   [1] (❣️)       heart exclamation
      +                                // E0.6   [1] (❤️)       red heart
      +                                // E0.0   [3] (❥..❧)    ROTATED HEAVY BLACK HEART BULLET..ROTATED FLORAL HEART BULLET
      +                                if (0x2763 <= code && code <= 0x2767) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x27a1) {
      +                                    // E0.6   [3] (➕..➗)    plus..divide
      +                                    if (0x2795 <= code && code <= 0x2797) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.6   [1] (➡️)       right arrow
      +                                    if (0x27a1 === code) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +        }
      +        else {
      +            if (code < 0x1f201) {
      +                if (code < 0x3297) {
      +                    if (code < 0x2b1b) {
      +                        if (code < 0x2934) {
      +                            // E0.6   [1] (➰)       curly loop
      +                            if (0x27b0 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E1.0   [1] (➿)       double curly loop
      +                            if (0x27bf === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x2b05) {
      +                                // E0.6   [2] (⤴️..⤵️)    right arrow curving up..right arrow curving down
      +                                if (0x2934 <= code && code <= 0x2935) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [3] (⬅️..⬇️)    left arrow..down arrow
      +                                if (0x2b05 <= code && code <= 0x2b07) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x2b55) {
      +                            if (code < 0x2b50) {
      +                                // E0.6   [2] (⬛..⬜)    black large square..white large square
      +                                if (0x2b1b <= code && code <= 0x2b1c) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [1] (⭐)       star
      +                                if (0x2b50 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x3030) {
      +                                // E0.6   [1] (⭕)       hollow red circle
      +                                if (0x2b55 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [1] (〰️)       wavy dash
      +                                if (0x3030 === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                                // E0.6   [1] (〽️)       part alternation mark
      +                                if (0x303d === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0x1f16c) {
      +                        if (code < 0x1f000) {
      +                            // E0.6   [1] (㊗️)       Japanese “congratulations” button
      +                            if (0x3297 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                            // E0.6   [1] (㊙️)       Japanese “secret” button
      +                            if (0x3299 === code) {
      +                                return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1f10d) {
      +                                // E0.0   [4] (🀀..🀃)    MAHJONG TILE EAST WIND..MAHJONG TILE NORTH WIND
      +                                // E0.6   [1] (🀄)       mahjong red dragon
      +                                // E0.0 [202] (🀅..🃎)    MAHJONG TILE GREEN DRAGON..PLAYING CARD KING OF DIAMONDS
      +                                // E0.6   [1] (🃏)       joker
      +                                // E0.0  [48] (🃐..🃿)    ..
      +                                if (0x1f000 <= code && code <= 0x1f0ff) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1f12f) {
      +                                    // E0.0   [3] (🄍..🄏)    CIRCLED ZERO WITH SLASH..CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH
      +                                    if (0x1f10d <= code && code <= 0x1f10f) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.0   [1] (🄯)       COPYLEFT SYMBOL
      +                                    if (0x1f12f === code) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x1f18e) {
      +                            if (code < 0x1f17e) {
      +                                // E0.0   [4] (🅬..🅯)    RAISED MR SIGN..CIRCLED HUMAN FIGURE
      +                                // E0.6   [2] (🅰️..🅱️)    A button (blood type)..B button (blood type)
      +                                if (0x1f16c <= code && code <= 0x1f171) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [2] (🅾️..🅿️)    O button (blood type)..P button
      +                                if (0x1f17e <= code && code <= 0x1f17f) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1f191) {
      +                                // E0.6   [1] (🆎)       AB button (blood type)
      +                                if (0x1f18e === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1f1ad) {
      +                                    // E0.6  [10] (🆑..🆚)    CL button..VS button
      +                                    if (0x1f191 <= code && code <= 0x1f19a) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.0  [57] (🆭..🇥)    MASK WORK SYMBOL..
      +                                    if (0x1f1ad <= code && code <= 0x1f1e5) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +            else {
      +                if (code < 0x1f7d5) {
      +                    if (code < 0x1f249) {
      +                        if (code < 0x1f22f) {
      +                            if (code < 0x1f21a) {
      +                                // E0.6   [2] (🈁..🈂️)    Japanese “here” button..Japanese “service charge” button
      +                                // E0.0  [13] (🈃..🈏)    ..
      +                                if (0x1f201 <= code && code <= 0x1f20f) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.6   [1] (🈚)       Japanese “free of charge” button
      +                                if (0x1f21a === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1f232) {
      +                                // E0.6   [1] (🈯)       Japanese “reserved” button
      +                                if (0x1f22f === code) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1f23c) {
      +                                    // E0.6   [9] (🈲..🈺)    Japanese “prohibited” button..Japanese “open for business” button
      +                                    if (0x1f232 <= code && code <= 0x1f23a) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.0   [4] (🈼..🈿)    ..
      +                                    if (0x1f23c <= code && code <= 0x1f23f) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x1f546) {
      +                            if (code < 0x1f400) {
      +                                // E0.0   [7] (🉉..🉏)    ..
      +                                // E0.6   [2] (🉐..🉑)    Japanese “bargain” button..Japanese “acceptable” button
      +                                // E0.0 [174] (🉒..🋿)    ..
      +                                // E0.6  [13] (🌀..🌌)    cyclone..milky way
      +                                // E0.7   [2] (🌍..🌎)    globe showing Europe-Africa..globe showing Americas
      +                                // E0.6   [1] (🌏)       globe showing Asia-Australia
      +                                // E1.0   [1] (🌐)       globe with meridians
      +                                // E0.6   [1] (🌑)       new moon
      +                                // E1.0   [1] (🌒)       waxing crescent moon
      +                                // E0.6   [3] (🌓..🌕)    first quarter moon..full moon
      +                                // E1.0   [3] (🌖..🌘)    waning gibbous moon..waning crescent moon
      +                                // E0.6   [1] (🌙)       crescent moon
      +                                // E1.0   [1] (🌚)       new moon face
      +                                // E0.6   [1] (🌛)       first quarter moon face
      +                                // E0.7   [1] (🌜)       last quarter moon face
      +                                // E1.0   [2] (🌝..🌞)    full moon face..sun with face
      +                                // E0.6   [2] (🌟..🌠)    glowing star..shooting star
      +                                // E0.7   [1] (🌡️)       thermometer
      +                                // E0.0   [2] (🌢..🌣)    BLACK DROPLET..WHITE SUN
      +                                // E0.7   [9] (🌤️..🌬️)    sun behind small cloud..wind face
      +                                // E1.0   [3] (🌭..🌯)    hot dog..burrito
      +                                // E0.6   [2] (🌰..🌱)    chestnut..seedling
      +                                // E1.0   [2] (🌲..🌳)    evergreen tree..deciduous tree
      +                                // E0.6   [2] (🌴..🌵)    palm tree..cactus
      +                                // E0.7   [1] (🌶️)       hot pepper
      +                                // E0.6  [20] (🌷..🍊)    tulip..tangerine
      +                                // E1.0   [1] (🍋)       lemon
      +                                // E0.6   [4] (🍌..🍏)    banana..green apple
      +                                // E1.0   [1] (🍐)       pear
      +                                // E0.6  [43] (🍑..🍻)    peach..clinking beer mugs
      +                                // E1.0   [1] (🍼)       baby bottle
      +                                // E0.7   [1] (🍽️)       fork and knife with plate
      +                                // E1.0   [2] (🍾..🍿)    bottle with popping cork..popcorn
      +                                // E0.6  [20] (🎀..🎓)    ribbon..graduation cap
      +                                // E0.0   [2] (🎔..🎕)    HEART WITH TIP ON THE LEFT..BOUQUET OF FLOWERS
      +                                // E0.7   [2] (🎖️..🎗️)    military medal..reminder ribbon
      +                                // E0.0   [1] (🎘)       MUSICAL KEYBOARD WITH JACKS
      +                                // E0.7   [3] (🎙️..🎛️)    studio microphone..control knobs
      +                                // E0.0   [2] (🎜..🎝)    BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES
      +                                // E0.7   [2] (🎞️..🎟️)    film frames..admission tickets
      +                                // E0.6  [37] (🎠..🏄)    carousel horse..person surfing
      +                                // E1.0   [1] (🏅)       sports medal
      +                                // E0.6   [1] (🏆)       trophy
      +                                // E1.0   [1] (🏇)       horse racing
      +                                // E0.6   [1] (🏈)       american football
      +                                // E1.0   [1] (🏉)       rugby football
      +                                // E0.6   [1] (🏊)       person swimming
      +                                // E0.7   [4] (🏋️..🏎️)    person lifting weights..racing car
      +                                // E1.0   [5] (🏏..🏓)    cricket game..ping pong
      +                                // E0.7  [12] (🏔️..🏟️)    snow-capped mountain..stadium
      +                                // E0.6   [4] (🏠..🏣)    house..Japanese post office
      +                                // E1.0   [1] (🏤)       post office
      +                                // E0.6  [12] (🏥..🏰)    hospital..castle
      +                                // E0.0   [2] (🏱..🏲)    WHITE PENNANT..BLACK PENNANT
      +                                // E0.7   [1] (🏳️)       white flag
      +                                // E1.0   [1] (🏴)       black flag
      +                                // E0.7   [1] (🏵️)       rosette
      +                                // E0.0   [1] (🏶)       BLACK ROSETTE
      +                                // E0.7   [1] (🏷️)       label
      +                                // E1.0   [3] (🏸..🏺)    badminton..amphora
      +                                if (0x1f249 <= code && code <= 0x1f3fa) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E1.0   [8] (🐀..🐇)    rat..rabbit
      +                                // E0.7   [1] (🐈)       cat
      +                                // E1.0   [3] (🐉..🐋)    dragon..whale
      +                                // E0.6   [3] (🐌..🐎)    snail..horse
      +                                // E1.0   [2] (🐏..🐐)    ram..goat
      +                                // E0.6   [2] (🐑..🐒)    ewe..monkey
      +                                // E1.0   [1] (🐓)       rooster
      +                                // E0.6   [1] (🐔)       chicken
      +                                // E0.7   [1] (🐕)       dog
      +                                // E1.0   [1] (🐖)       pig
      +                                // E0.6  [19] (🐗..🐩)    boar..poodle
      +                                // E1.0   [1] (🐪)       camel
      +                                // E0.6  [20] (🐫..🐾)    two-hump camel..paw prints
      +                                // E0.7   [1] (🐿️)       chipmunk
      +                                // E0.6   [1] (👀)       eyes
      +                                // E0.7   [1] (👁️)       eye
      +                                // E0.6  [35] (👂..👤)    ear..bust in silhouette
      +                                // E1.0   [1] (👥)       busts in silhouette
      +                                // E0.6   [6] (👦..👫)    boy..woman and man holding hands
      +                                // E1.0   [2] (👬..👭)    men holding hands..women holding hands
      +                                // E0.6  [63] (👮..💬)    police officer..speech balloon
      +                                // E1.0   [1] (💭)       thought balloon
      +                                // E0.6   [8] (💮..💵)    white flower..dollar banknote
      +                                // E1.0   [2] (💶..💷)    euro banknote..pound banknote
      +                                // E0.6  [52] (💸..📫)    money with wings..closed mailbox with raised flag
      +                                // E0.7   [2] (📬..📭)    open mailbox with raised flag..open mailbox with lowered flag
      +                                // E0.6   [1] (📮)       postbox
      +                                // E1.0   [1] (📯)       postal horn
      +                                // E0.6   [5] (📰..📴)    newspaper..mobile phone off
      +                                // E1.0   [1] (📵)       no mobile phones
      +                                // E0.6   [2] (📶..📷)    antenna bars..camera
      +                                // E1.0   [1] (📸)       camera with flash
      +                                // E0.6   [4] (📹..📼)    video camera..videocassette
      +                                // E0.7   [1] (📽️)       film projector
      +                                // E0.0   [1] (📾)       PORTABLE STEREO
      +                                // E1.0   [4] (📿..🔂)    prayer beads..repeat single button
      +                                // E0.6   [1] (🔃)       clockwise vertical arrows
      +                                // E1.0   [4] (🔄..🔇)    counterclockwise arrows button..muted speaker
      +                                // E0.7   [1] (🔈)       speaker low volume
      +                                // E1.0   [1] (🔉)       speaker medium volume
      +                                // E0.6  [11] (🔊..🔔)    speaker high volume..bell
      +                                // E1.0   [1] (🔕)       bell with slash
      +                                // E0.6  [22] (🔖..🔫)    bookmark..water pistol
      +                                // E1.0   [2] (🔬..🔭)    microscope..telescope
      +                                // E0.6  [16] (🔮..🔽)    crystal ball..downwards button
      +                                if (0x1f400 <= code && code <= 0x1f53d) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1f680) {
      +                                // E0.0   [3] (🕆..🕈)    WHITE LATIN CROSS..CELTIC CROSS
      +                                // E0.7   [2] (🕉️..🕊️)    om..dove
      +                                // E1.0   [4] (🕋..🕎)    kaaba..menorah
      +                                // E0.0   [1] (🕏)       BOWL OF HYGIEIA
      +                                // E0.6  [12] (🕐..🕛)    one o’clock..twelve o’clock
      +                                // E0.7  [12] (🕜..🕧)    one-thirty..twelve-thirty
      +                                // E0.0   [7] (🕨..🕮)    RIGHT SPEAKER..BOOK
      +                                // E0.7   [2] (🕯️..🕰️)    candle..mantelpiece clock
      +                                // E0.0   [2] (🕱..🕲)    BLACK SKULL AND CROSSBONES..NO PIRACY
      +                                // E0.7   [7] (🕳️..🕹️)    hole..joystick
      +                                // E3.0   [1] (🕺)       man dancing
      +                                // E0.0  [12] (🕻..🖆)    LEFT HAND TELEPHONE RECEIVER..PEN OVER STAMPED ENVELOPE
      +                                // E0.7   [1] (🖇️)       linked paperclips
      +                                // E0.0   [2] (🖈..🖉)    BLACK PUSHPIN..LOWER LEFT PENCIL
      +                                // E0.7   [4] (🖊️..🖍️)    pen..crayon
      +                                // E0.0   [2] (🖎..🖏)    LEFT WRITING HAND..TURNED OK HAND SIGN
      +                                // E0.7   [1] (🖐️)       hand with fingers splayed
      +                                // E0.0   [4] (🖑..🖔)    REVERSED RAISED HAND WITH FINGERS SPLAYED..REVERSED VICTORY HAND
      +                                // E1.0   [2] (🖕..🖖)    middle finger..vulcan salute
      +                                // E0.0  [13] (🖗..🖣)    WHITE DOWN POINTING LEFT HAND INDEX..BLACK DOWN POINTING BACKHAND INDEX
      +                                // E3.0   [1] (🖤)       black heart
      +                                // E0.7   [1] (🖥️)       desktop computer
      +                                // E0.0   [2] (🖦..🖧)    KEYBOARD AND MOUSE..THREE NETWORKED COMPUTERS
      +                                // E0.7   [1] (🖨️)       printer
      +                                // E0.0   [8] (🖩..🖰)    POCKET CALCULATOR..TWO BUTTON MOUSE
      +                                // E0.7   [2] (🖱️..🖲️)    computer mouse..trackball
      +                                // E0.0   [9] (🖳..🖻)    OLD PERSONAL COMPUTER..DOCUMENT WITH PICTURE
      +                                // E0.7   [1] (🖼️)       framed picture
      +                                // E0.0   [5] (🖽..🗁)    FRAME WITH TILES..OPEN FOLDER
      +                                // E0.7   [3] (🗂️..🗄️)    card index dividers..file cabinet
      +                                // E0.0  [12] (🗅..🗐)    EMPTY NOTE..PAGES
      +                                // E0.7   [3] (🗑️..🗓️)    wastebasket..spiral calendar
      +                                // E0.0   [8] (🗔..🗛)    DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL
      +                                // E0.7   [3] (🗜️..🗞️)    clamp..rolled-up newspaper
      +                                // E0.0   [2] (🗟..🗠)    PAGE WITH CIRCLED TEXT..STOCK CHART
      +                                // E0.7   [1] (🗡️)       dagger
      +                                // E0.0   [1] (🗢)       LIPS
      +                                // E0.7   [1] (🗣️)       speaking head
      +                                // E0.0   [4] (🗤..🗧)    THREE RAYS ABOVE..THREE RAYS RIGHT
      +                                // E2.0   [1] (🗨️)       left speech bubble
      +                                // E0.0   [6] (🗩..🗮)    RIGHT SPEECH BUBBLE..LEFT ANGER BUBBLE
      +                                // E0.7   [1] (🗯️)       right anger bubble
      +                                // E0.0   [3] (🗰..🗲)    MOOD BUBBLE..LIGHTNING MOOD
      +                                // E0.7   [1] (🗳️)       ballot box with ballot
      +                                // E0.0   [6] (🗴..🗹)    BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK
      +                                // E0.7   [1] (🗺️)       world map
      +                                // E0.6   [5] (🗻..🗿)    mount fuji..moai
      +                                // E1.0   [1] (😀)       grinning face
      +                                // E0.6   [6] (😁..😆)    beaming face with smiling eyes..grinning squinting face
      +                                // E1.0   [2] (😇..😈)    smiling face with halo..smiling face with horns
      +                                // E0.6   [5] (😉..😍)    winking face..smiling face with heart-eyes
      +                                // E1.0   [1] (😎)       smiling face with sunglasses
      +                                // E0.6   [1] (😏)       smirking face
      +                                // E0.7   [1] (😐)       neutral face
      +                                // E1.0   [1] (😑)       expressionless face
      +                                // E0.6   [3] (😒..😔)    unamused face..pensive face
      +                                // E1.0   [1] (😕)       confused face
      +                                // E0.6   [1] (😖)       confounded face
      +                                // E1.0   [1] (😗)       kissing face
      +                                // E0.6   [1] (😘)       face blowing a kiss
      +                                // E1.0   [1] (😙)       kissing face with smiling eyes
      +                                // E0.6   [1] (😚)       kissing face with closed eyes
      +                                // E1.0   [1] (😛)       face with tongue
      +                                // E0.6   [3] (😜..😞)    winking face with tongue..disappointed face
      +                                // E1.0   [1] (😟)       worried face
      +                                // E0.6   [6] (😠..😥)    angry face..sad but relieved face
      +                                // E1.0   [2] (😦..😧)    frowning face with open mouth..anguished face
      +                                // E0.6   [4] (😨..😫)    fearful face..tired face
      +                                // E1.0   [1] (😬)       grimacing face
      +                                // E0.6   [1] (😭)       loudly crying face
      +                                // E1.0   [2] (😮..😯)    face with open mouth..hushed face
      +                                // E0.6   [4] (😰..😳)    anxious face with sweat..flushed face
      +                                // E1.0   [1] (😴)       sleeping face
      +                                // E0.6   [1] (😵)       face with crossed-out eyes
      +                                // E1.0   [1] (😶)       face without mouth
      +                                // E0.6  [10] (😷..🙀)    face with medical mask..weary cat
      +                                // E1.0   [4] (🙁..🙄)    slightly frowning face..face with rolling eyes
      +                                // E0.6  [11] (🙅..🙏)    person gesturing NO..folded hands
      +                                if (0x1f546 <= code && code <= 0x1f64f) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1f774) {
      +                                    // E0.6   [1] (🚀)       rocket
      +                                    // E1.0   [2] (🚁..🚂)    helicopter..locomotive
      +                                    // E0.6   [3] (🚃..🚅)    railway car..bullet train
      +                                    // E1.0   [1] (🚆)       train
      +                                    // E0.6   [1] (🚇)       metro
      +                                    // E1.0   [1] (🚈)       light rail
      +                                    // E0.6   [1] (🚉)       station
      +                                    // E1.0   [2] (🚊..🚋)    tram..tram car
      +                                    // E0.6   [1] (🚌)       bus
      +                                    // E0.7   [1] (🚍)       oncoming bus
      +                                    // E1.0   [1] (🚎)       trolleybus
      +                                    // E0.6   [1] (🚏)       bus stop
      +                                    // E1.0   [1] (🚐)       minibus
      +                                    // E0.6   [3] (🚑..🚓)    ambulance..police car
      +                                    // E0.7   [1] (🚔)       oncoming police car
      +                                    // E0.6   [1] (🚕)       taxi
      +                                    // E1.0   [1] (🚖)       oncoming taxi
      +                                    // E0.6   [1] (🚗)       automobile
      +                                    // E0.7   [1] (🚘)       oncoming automobile
      +                                    // E0.6   [2] (🚙..🚚)    sport utility vehicle..delivery truck
      +                                    // E1.0   [7] (🚛..🚡)    articulated lorry..aerial tramway
      +                                    // E0.6   [1] (🚢)       ship
      +                                    // E1.0   [1] (🚣)       person rowing boat
      +                                    // E0.6   [2] (🚤..🚥)    speedboat..horizontal traffic light
      +                                    // E1.0   [1] (🚦)       vertical traffic light
      +                                    // E0.6   [7] (🚧..🚭)    construction..no smoking
      +                                    // E1.0   [4] (🚮..🚱)    litter in bin sign..non-potable water
      +                                    // E0.6   [1] (🚲)       bicycle
      +                                    // E1.0   [3] (🚳..🚵)    no bicycles..person mountain biking
      +                                    // E0.6   [1] (🚶)       person walking
      +                                    // E1.0   [2] (🚷..🚸)    no pedestrians..children crossing
      +                                    // E0.6   [6] (🚹..🚾)    men’s room..water closet
      +                                    // E1.0   [1] (🚿)       shower
      +                                    // E0.6   [1] (🛀)       person taking bath
      +                                    // E1.0   [5] (🛁..🛅)    bathtub..left luggage
      +                                    // E0.0   [5] (🛆..🛊)    TRIANGLE WITH ROUNDED CORNERS..GIRLS SYMBOL
      +                                    // E0.7   [1] (🛋️)       couch and lamp
      +                                    // E1.0   [1] (🛌)       person in bed
      +                                    // E0.7   [3] (🛍️..🛏️)    shopping bags..bed
      +                                    // E1.0   [1] (🛐)       place of worship
      +                                    // E3.0   [2] (🛑..🛒)    stop sign..shopping cart
      +                                    // E0.0   [2] (🛓..🛔)    STUPA..PAGODA
      +                                    // E12.0  [1] (🛕)       hindu temple
      +                                    // E13.0  [2] (🛖..🛗)    hut..elevator
      +                                    // E0.0   [4] (🛘..🛛)    ..
      +                                    // E15.0  [1] (🛜)       wireless
      +                                    // E14.0  [3] (🛝..🛟)    playground slide..ring buoy
      +                                    // E0.7   [6] (🛠️..🛥️)    hammer and wrench..motor boat
      +                                    // E0.0   [3] (🛦..🛨)    UP-POINTING MILITARY AIRPLANE..UP-POINTING SMALL AIRPLANE
      +                                    // E0.7   [1] (🛩️)       small airplane
      +                                    // E0.0   [1] (🛪)       NORTHEAST-POINTING AIRPLANE
      +                                    // E1.0   [2] (🛫..🛬)    airplane departure..airplane arrival
      +                                    // E0.0   [3] (🛭..🛯)    ..
      +                                    // E0.7   [1] (🛰️)       satellite
      +                                    // E0.0   [2] (🛱..🛲)    ONCOMING FIRE ENGINE..DIESEL LOCOMOTIVE
      +                                    // E0.7   [1] (🛳️)       passenger ship
      +                                    // E3.0   [3] (🛴..🛶)    kick scooter..canoe
      +                                    // E5.0   [2] (🛷..🛸)    sled..flying saucer
      +                                    // E11.0  [1] (🛹)       skateboard
      +                                    // E12.0  [1] (🛺)       auto rickshaw
      +                                    // E13.0  [2] (🛻..🛼)    pickup truck..roller skate
      +                                    // E0.0   [3] (🛽..🛿)    ..
      +                                    if (0x1f680 <= code && code <= 0x1f6ff) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.0  [12] (🝴..🝿)    LOT OF FORTUNE..ORCUS
      +                                    if (0x1f774 <= code && code <= 0x1f77f) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +                else {
      +                    if (code < 0x1f8ae) {
      +                        if (code < 0x1f848) {
      +                            if (code < 0x1f80c) {
      +                                // E0.0  [11] (🟕..🟟)    CIRCLED TRIANGLE..
      +                                // E12.0 [12] (🟠..🟫)    orange circle..brown square
      +                                // E0.0   [4] (🟬..🟯)    ..
      +                                // E14.0  [1] (🟰)       heavy equals sign
      +                                // E0.0  [15] (🟱..🟿)    ..
      +                                if (0x1f7d5 <= code && code <= 0x1f7ff) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E0.0   [4] (🠌..🠏)    ..
      +                                if (0x1f80c <= code && code <= 0x1f80f) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1f85a) {
      +                                // E0.0   [8] (🡈..🡏)    ..
      +                                if (0x1f848 <= code && code <= 0x1f84f) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1f888) {
      +                                    // E0.0   [6] (🡚..🡟)    ..
      +                                    if (0x1f85a <= code && code <= 0x1f85f) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.0   [8] (🢈..🢏)    ..
      +                                    if (0x1f888 <= code && code <= 0x1f88f) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                    else {
      +                        if (code < 0x1f93c) {
      +                            if (code < 0x1f90c) {
      +                                // E0.0  [82] (🢮..🣿)    ..
      +                                if (0x1f8ae <= code && code <= 0x1f8ff) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                // E13.0  [1] (🤌)       pinched fingers
      +                                // E12.0  [3] (🤍..🤏)    white heart..pinching hand
      +                                // E1.0   [9] (🤐..🤘)    zipper-mouth face..sign of the horns
      +                                // E3.0   [6] (🤙..🤞)    call me hand..crossed fingers
      +                                // E5.0   [1] (🤟)       love-you gesture
      +                                // E3.0   [8] (🤠..🤧)    cowboy hat face..sneezing face
      +                                // E5.0   [8] (🤨..🤯)    face with raised eyebrow..exploding head
      +                                // E3.0   [1] (🤰)       pregnant woman
      +                                // E5.0   [2] (🤱..🤲)    breast-feeding..palms up together
      +                                // E3.0   [8] (🤳..🤺)    selfie..person fencing
      +                                if (0x1f90c <= code && code <= 0x1f93a) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                        }
      +                        else {
      +                            if (code < 0x1f947) {
      +                                // E3.0   [3] (🤼..🤾)    people wrestling..person playing handball
      +                                // E12.0  [1] (🤿)       diving mask
      +                                // E3.0   [6] (🥀..🥅)    wilted flower..goal net
      +                                if (0x1f93c <= code && code <= 0x1f945) {
      +                                    return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                }
      +                            }
      +                            else {
      +                                if (code < 0x1fc00) {
      +                                    // E3.0   [5] (🥇..🥋)    1st place medal..martial arts uniform
      +                                    // E5.0   [1] (🥌)       curling stone
      +                                    // E11.0  [3] (🥍..🥏)    lacrosse..flying disc
      +                                    // E3.0  [15] (🥐..🥞)    croissant..pancakes
      +                                    // E5.0  [13] (🥟..🥫)    dumpling..canned food
      +                                    // E11.0  [5] (🥬..🥰)    leafy green..smiling face with hearts
      +                                    // E12.0  [1] (🥱)       yawning face
      +                                    // E13.0  [1] (🥲)       smiling face with tear
      +                                    // E11.0  [4] (🥳..🥶)    partying face..cold face
      +                                    // E13.0  [2] (🥷..🥸)    ninja..disguised face
      +                                    // E14.0  [1] (🥹)       face holding back tears
      +                                    // E11.0  [1] (🥺)       pleading face
      +                                    // E12.0  [1] (🥻)       sari
      +                                    // E11.0  [4] (🥼..🥿)    lab coat..flat shoe
      +                                    // E1.0   [5] (🦀..🦄)    crab..unicorn
      +                                    // E3.0  [13] (🦅..🦑)    eagle..squid
      +                                    // E5.0   [6] (🦒..🦗)    giraffe..cricket
      +                                    // E11.0 [11] (🦘..🦢)    kangaroo..swan
      +                                    // E13.0  [2] (🦣..🦤)    mammoth..dodo
      +                                    // E12.0  [6] (🦥..🦪)    sloth..oyster
      +                                    // E13.0  [3] (🦫..🦭)    beaver..seal
      +                                    // E12.0  [2] (🦮..🦯)    guide dog..white cane
      +                                    // E11.0 [10] (🦰..🦹)    red hair..supervillain
      +                                    // E12.0  [6] (🦺..🦿)    safety vest..mechanical leg
      +                                    // E1.0   [1] (🧀)       cheese wedge
      +                                    // E11.0  [2] (🧁..🧂)    cupcake..salt
      +                                    // E12.0  [8] (🧃..🧊)    beverage box..ice
      +                                    // E13.0  [1] (🧋)       bubble tea
      +                                    // E14.0  [1] (🧌)       troll
      +                                    // E12.0  [3] (🧍..🧏)    person standing..deaf person
      +                                    // E5.0  [23] (🧐..🧦)    face with monocle..socks
      +                                    // E11.0 [25] (🧧..🧿)    red envelope..nazar amulet
      +                                    // E0.0 [112] (🨀..🩯)    NEUTRAL CHESS KING..
      +                                    // E12.0  [4] (🩰..🩳)    ballet shoes..shorts
      +                                    // E13.0  [1] (🩴)       thong sandal
      +                                    // E15.0  [3] (🩵..🩷)    light blue heart..pink heart
      +                                    // E12.0  [3] (🩸..🩺)    drop of blood..stethoscope
      +                                    // E14.0  [2] (🩻..🩼)    x-ray..crutch
      +                                    // E0.0   [3] (🩽..🩿)    ..
      +                                    // E12.0  [3] (🪀..🪂)    yo-yo..parachute
      +                                    // E13.0  [4] (🪃..🪆)    boomerang..nesting dolls
      +                                    // E15.0  [2] (🪇..🪈)    maracas..flute
      +                                    // E0.0   [7] (🪉..🪏)    ..
      +                                    // E12.0  [6] (🪐..🪕)    ringed planet..banjo
      +                                    // E13.0 [19] (🪖..🪨)    military helmet..rock
      +                                    // E14.0  [4] (🪩..🪬)    mirror ball..hamsa
      +                                    // E15.0  [3] (🪭..🪯)    folding hand fan..khanda
      +                                    // E13.0  [7] (🪰..🪶)    fly..feather
      +                                    // E14.0  [4] (🪷..🪺)    lotus..nest with eggs
      +                                    // E15.0  [3] (🪻..🪽)    hyacinth..wing
      +                                    // E0.0   [1] (🪾)       
      +                                    // E15.0  [1] (🪿)       goose
      +                                    // E13.0  [3] (🫀..🫂)    anatomical heart..people hugging
      +                                    // E14.0  [3] (🫃..🫅)    pregnant man..person with crown
      +                                    // E0.0   [8] (🫆..🫍)    ..
      +                                    // E15.0  [2] (🫎..🫏)    moose..donkey
      +                                    // E13.0  [7] (🫐..🫖)    blueberries..teapot
      +                                    // E14.0  [3] (🫗..🫙)    pouring liquid..jar
      +                                    // E15.0  [2] (🫚..🫛)    ginger root..pea pod
      +                                    // E0.0   [4] (🫜..🫟)    ..
      +                                    // E14.0  [8] (🫠..🫧)    melting face..bubbles
      +                                    // E15.0  [1] (🫨)       shaking face
      +                                    // E0.0   [7] (🫩..🫯)    ..
      +                                    // E14.0  [7] (🫰..🫶)    hand with index finger and thumb crossed..heart hands
      +                                    // E15.0  [2] (🫷..🫸)    leftwards pushing hand..rightwards pushing hand
      +                                    // E0.0   [7] (🫹..🫿)    ..
      +                                    if (0x1f947 <= code && code <= 0x1faff) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                                else {
      +                                    // E0.0[1022] (🰀..🿽)    ..
      +                                    if (0x1fc00 <= code && code <= 0x1fffd) {
      +                                        return boundaries_1.EXTENDED_PICTOGRAPHIC;
      +                                    }
      +                                }
      +                            }
      +                        }
      +                    }
      +                }
      +            }
      +        }
      +        // unlisted code points are treated as a break property of "Other"
      +        return boundaries_1.CLUSTER_BREAK.OTHER;
      +    }
      +}
      +exports.default = Graphemer;
      diff --git a/tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerHelper.js b/tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerHelper.js
      new file mode 100644
      index 00000000000000..9bc71ebd9cdd6a
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerHelper.js
      @@ -0,0 +1,169 @@
      +"use strict";
      +Object.defineProperty(exports, "__esModule", { value: true });
      +const boundaries_1 = require("./boundaries");
      +// BreakTypes
      +// @type {BreakType}
      +const NotBreak = 0;
      +const BreakStart = 1;
      +const Break = 2;
      +const BreakLastRegional = 3;
      +const BreakPenultimateRegional = 4;
      +class GraphemerHelper {
      +    /**
      +     * Check if the the character at the position {pos} of the string is surrogate
      +     * @param str {string}
      +     * @param pos {number}
      +     * @returns {boolean}
      +     */
      +    static isSurrogate(str, pos) {
      +        return (0xd800 <= str.charCodeAt(pos) &&
      +            str.charCodeAt(pos) <= 0xdbff &&
      +            0xdc00 <= str.charCodeAt(pos + 1) &&
      +            str.charCodeAt(pos + 1) <= 0xdfff);
      +    }
      +    /**
      +     * The String.prototype.codePointAt polyfill
      +     * Private function, gets a Unicode code point from a JavaScript UTF-16 string
      +     * handling surrogate pairs appropriately
      +     * @param str {string}
      +     * @param idx {number}
      +     * @returns {number}
      +     */
      +    static codePointAt(str, idx) {
      +        if (idx === undefined) {
      +            idx = 0;
      +        }
      +        const code = str.charCodeAt(idx);
      +        // if a high surrogate
      +        if (0xd800 <= code && code <= 0xdbff && idx < str.length - 1) {
      +            const hi = code;
      +            const low = str.charCodeAt(idx + 1);
      +            if (0xdc00 <= low && low <= 0xdfff) {
      +                return (hi - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;
      +            }
      +            return hi;
      +        }
      +        // if a low surrogate
      +        if (0xdc00 <= code && code <= 0xdfff && idx >= 1) {
      +            const hi = str.charCodeAt(idx - 1);
      +            const low = code;
      +            if (0xd800 <= hi && hi <= 0xdbff) {
      +                return (hi - 0xd800) * 0x400 + (low - 0xdc00) + 0x10000;
      +            }
      +            return low;
      +        }
      +        // just return the char if an unmatched surrogate half or a
      +        // single-char codepoint
      +        return code;
      +    }
      +    //
      +    /**
      +     * Private function, returns whether a break is allowed between the two given grapheme breaking classes
      +     * Implemented the UAX #29 3.1.1 Grapheme Cluster Boundary Rules on extended grapheme clusters
      +     * @param start {number}
      +     * @param mid {Array}
      +     * @param end {number}
      +     * @param startEmoji {number}
      +     * @param midEmoji {Array}
      +     * @param endEmoji {number}
      +     * @returns {number}
      +     */
      +    static shouldBreak(start, mid, end, startEmoji, midEmoji, endEmoji) {
      +        const all = [start].concat(mid).concat([end]);
      +        const allEmoji = [startEmoji].concat(midEmoji).concat([endEmoji]);
      +        const previous = all[all.length - 2];
      +        const next = end;
      +        const nextEmoji = endEmoji;
      +        // Lookahead terminator for:
      +        // GB12. ^ (RI RI)* RI ? RI
      +        // GB13. [^RI] (RI RI)* RI ? RI
      +        const rIIndex = all.lastIndexOf(boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR);
      +        if (rIIndex > 0 &&
      +            all.slice(1, rIIndex).every(function (c) {
      +                return c === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;
      +            }) &&
      +            [boundaries_1.CLUSTER_BREAK.PREPEND, boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR].indexOf(previous) === -1) {
      +            if (all.filter(function (c) {
      +                return c === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR;
      +            }).length %
      +                2 ===
      +                1) {
      +                return BreakLastRegional;
      +            }
      +            else {
      +                return BreakPenultimateRegional;
      +            }
      +        }
      +        // GB3. CR × LF
      +        if (previous === boundaries_1.CLUSTER_BREAK.CR && next === boundaries_1.CLUSTER_BREAK.LF) {
      +            return NotBreak;
      +        }
      +        // GB4. (Control|CR|LF) ÷
      +        else if (previous === boundaries_1.CLUSTER_BREAK.CONTROL ||
      +            previous === boundaries_1.CLUSTER_BREAK.CR ||
      +            previous === boundaries_1.CLUSTER_BREAK.LF) {
      +            return BreakStart;
      +        }
      +        // GB5. ÷ (Control|CR|LF)
      +        else if (next === boundaries_1.CLUSTER_BREAK.CONTROL ||
      +            next === boundaries_1.CLUSTER_BREAK.CR ||
      +            next === boundaries_1.CLUSTER_BREAK.LF) {
      +            return BreakStart;
      +        }
      +        // GB6. L × (L|V|LV|LVT)
      +        else if (previous === boundaries_1.CLUSTER_BREAK.L &&
      +            (next === boundaries_1.CLUSTER_BREAK.L ||
      +                next === boundaries_1.CLUSTER_BREAK.V ||
      +                next === boundaries_1.CLUSTER_BREAK.LV ||
      +                next === boundaries_1.CLUSTER_BREAK.LVT)) {
      +            return NotBreak;
      +        }
      +        // GB7. (LV|V) × (V|T)
      +        else if ((previous === boundaries_1.CLUSTER_BREAK.LV || previous === boundaries_1.CLUSTER_BREAK.V) &&
      +            (next === boundaries_1.CLUSTER_BREAK.V || next === boundaries_1.CLUSTER_BREAK.T)) {
      +            return NotBreak;
      +        }
      +        // GB8. (LVT|T) × (T)
      +        else if ((previous === boundaries_1.CLUSTER_BREAK.LVT || previous === boundaries_1.CLUSTER_BREAK.T) &&
      +            next === boundaries_1.CLUSTER_BREAK.T) {
      +            return NotBreak;
      +        }
      +        // GB9. × (Extend|ZWJ)
      +        else if (next === boundaries_1.CLUSTER_BREAK.EXTEND || next === boundaries_1.CLUSTER_BREAK.ZWJ) {
      +            return NotBreak;
      +        }
      +        // GB9a. × SpacingMark
      +        else if (next === boundaries_1.CLUSTER_BREAK.SPACINGMARK) {
      +            return NotBreak;
      +        }
      +        // GB9b. Prepend ×
      +        else if (previous === boundaries_1.CLUSTER_BREAK.PREPEND) {
      +            return NotBreak;
      +        }
      +        // GB11. \p{Extended_Pictographic} Extend* ZWJ × \p{Extended_Pictographic}
      +        const previousNonExtendIndex = allEmoji
      +            .slice(0, -1)
      +            .lastIndexOf(boundaries_1.EXTENDED_PICTOGRAPHIC);
      +        if (previousNonExtendIndex !== -1 &&
      +            allEmoji[previousNonExtendIndex] === boundaries_1.EXTENDED_PICTOGRAPHIC &&
      +            all.slice(previousNonExtendIndex + 1, -2).every(function (c) {
      +                return c === boundaries_1.CLUSTER_BREAK.EXTEND;
      +            }) &&
      +            previous === boundaries_1.CLUSTER_BREAK.ZWJ &&
      +            nextEmoji === boundaries_1.EXTENDED_PICTOGRAPHIC) {
      +            return NotBreak;
      +        }
      +        // GB12. ^ (RI RI)* RI × RI
      +        // GB13. [^RI] (RI RI)* RI × RI
      +        if (mid.indexOf(boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR) !== -1) {
      +            return Break;
      +        }
      +        if (previous === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR &&
      +            next === boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR) {
      +            return NotBreak;
      +        }
      +        // GB999. Any ? Any
      +        return BreakStart;
      +    }
      +}
      +exports.default = GraphemerHelper;
      diff --git a/tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerIterator.js b/tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerIterator.js
      new file mode 100644
      index 00000000000000..dd21ce54d291f4
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/graphemer/lib/GraphemerIterator.js
      @@ -0,0 +1,36 @@
      +"use strict";
      +Object.defineProperty(exports, "__esModule", { value: true });
      +/**
      + * GraphemerIterator
      + *
      + * Takes a string and a "BreakHandler" method during initialisation
      + * and creates an iterable object that returns individual graphemes.
      + *
      + * @param str {string}
      + * @return GraphemerIterator
      + */
      +class GraphemerIterator {
      +    constructor(str, nextBreak) {
      +        this._index = 0;
      +        this._str = str;
      +        this._nextBreak = nextBreak;
      +    }
      +    [Symbol.iterator]() {
      +        return this;
      +    }
      +    next() {
      +        let brk;
      +        if ((brk = this._nextBreak(this._str, this._index)) < this._str.length) {
      +            const value = this._str.slice(this._index, brk);
      +            this._index = brk;
      +            return { value: value, done: false };
      +        }
      +        if (this._index < this._str.length) {
      +            const value = this._str.slice(this._index);
      +            this._index = this._str.length;
      +            return { value: value, done: false };
      +        }
      +        return { value: undefined, done: true };
      +    }
      +}
      +exports.default = GraphemerIterator;
      diff --git a/tools/node_modules/eslint/node_modules/graphemer/lib/boundaries.js b/tools/node_modules/eslint/node_modules/graphemer/lib/boundaries.js
      new file mode 100644
      index 00000000000000..2c98c145680e10
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/graphemer/lib/boundaries.js
      @@ -0,0 +1,38 @@
      +"use strict";
      +/**
      + * The Grapheme_Cluster_Break property value
      + * @see https://www.unicode.org/reports/tr29/#Default_Grapheme_Cluster_Table
      + */
      +Object.defineProperty(exports, "__esModule", { value: true });
      +exports.EXTENDED_PICTOGRAPHIC = exports.CLUSTER_BREAK = void 0;
      +var CLUSTER_BREAK;
      +(function (CLUSTER_BREAK) {
      +    CLUSTER_BREAK[CLUSTER_BREAK["CR"] = 0] = "CR";
      +    CLUSTER_BREAK[CLUSTER_BREAK["LF"] = 1] = "LF";
      +    CLUSTER_BREAK[CLUSTER_BREAK["CONTROL"] = 2] = "CONTROL";
      +    CLUSTER_BREAK[CLUSTER_BREAK["EXTEND"] = 3] = "EXTEND";
      +    CLUSTER_BREAK[CLUSTER_BREAK["REGIONAL_INDICATOR"] = 4] = "REGIONAL_INDICATOR";
      +    CLUSTER_BREAK[CLUSTER_BREAK["SPACINGMARK"] = 5] = "SPACINGMARK";
      +    CLUSTER_BREAK[CLUSTER_BREAK["L"] = 6] = "L";
      +    CLUSTER_BREAK[CLUSTER_BREAK["V"] = 7] = "V";
      +    CLUSTER_BREAK[CLUSTER_BREAK["T"] = 8] = "T";
      +    CLUSTER_BREAK[CLUSTER_BREAK["LV"] = 9] = "LV";
      +    CLUSTER_BREAK[CLUSTER_BREAK["LVT"] = 10] = "LVT";
      +    CLUSTER_BREAK[CLUSTER_BREAK["OTHER"] = 11] = "OTHER";
      +    CLUSTER_BREAK[CLUSTER_BREAK["PREPEND"] = 12] = "PREPEND";
      +    CLUSTER_BREAK[CLUSTER_BREAK["E_BASE"] = 13] = "E_BASE";
      +    CLUSTER_BREAK[CLUSTER_BREAK["E_MODIFIER"] = 14] = "E_MODIFIER";
      +    CLUSTER_BREAK[CLUSTER_BREAK["ZWJ"] = 15] = "ZWJ";
      +    CLUSTER_BREAK[CLUSTER_BREAK["GLUE_AFTER_ZWJ"] = 16] = "GLUE_AFTER_ZWJ";
      +    CLUSTER_BREAK[CLUSTER_BREAK["E_BASE_GAZ"] = 17] = "E_BASE_GAZ";
      +})(CLUSTER_BREAK = exports.CLUSTER_BREAK || (exports.CLUSTER_BREAK = {}));
      +/**
      + * The Emoji character property is an extension of UCD but shares the same namespace and structure
      + * @see http://www.unicode.org/reports/tr51/tr51-14.html#Emoji_Properties_and_Data_Files
      + *
      + * Here we model Extended_Pictograhpic only to implement UAX #29 GB11
      + * \p{Extended_Pictographic} Extend* ZWJ	×	\p{Extended_Pictographic}
      + *
      + * The Emoji character property should not be mixed with Grapheme_Cluster_Break since they are not exclusive
      + */
      +exports.EXTENDED_PICTOGRAPHIC = 101;
      diff --git a/tools/node_modules/eslint/node_modules/graphemer/lib/index.js b/tools/node_modules/eslint/node_modules/graphemer/lib/index.js
      new file mode 100644
      index 00000000000000..548bdd017a34fb
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/graphemer/lib/index.js
      @@ -0,0 +1,7 @@
      +"use strict";
      +var __importDefault = (this && this.__importDefault) || function (mod) {
      +    return (mod && mod.__esModule) ? mod : { "default": mod };
      +};
      +Object.defineProperty(exports, "__esModule", { value: true });
      +const Graphemer_1 = __importDefault(require("./Graphemer"));
      +exports.default = Graphemer_1.default;
      diff --git a/tools/node_modules/eslint/node_modules/graphemer/package.json b/tools/node_modules/eslint/node_modules/graphemer/package.json
      new file mode 100644
      index 00000000000000..cf0315ddc3eff0
      --- /dev/null
      +++ b/tools/node_modules/eslint/node_modules/graphemer/package.json
      @@ -0,0 +1,54 @@
      +{
      +  "name": "graphemer",
      +  "version": "1.4.0",
      +  "description": "A JavaScript library that breaks strings into their individual user-perceived characters (including emojis!)",
      +  "homepage": "https://github.com/flmnt/graphemer",
      +  "author": "Matt Davies  (https://github.com/mattpauldavies)",
      +  "contributors": [
      +    "Orlin Georgiev (https://github.com/orling)",
      +    "Huáng Jùnliàng (https://github.com/JLHwung)"
      +  ],
      +  "main": "./lib/index.js",
      +  "types": "./lib/index.d.ts",
      +  "files": [
      +    "lib"
      +  ],
      +  "license": "MIT",
      +  "keywords": [
      +    "utf-8",
      +    "strings",
      +    "emoji",
      +    "split"
      +  ],
      +  "scripts": {
      +    "prepublishOnly": "npm run build",
      +    "build": "tsc --project tsconfig.json",
      +    "pretest": "npm run build",
      +    "test": "ts-node node_modules/tape/bin/tape tests/**.ts",
      +    "prettier:check": "prettier --check .",
      +    "prettier:fix": "prettier --write ."
      +  },
      +  "repository": {
      +    "type": "git",
      +    "url": "https://github.com/flmnt/graphemer.git"
      +  },
      +  "bugs": "https://github.com/flmnt/graphemer/issues",
      +  "devDependencies": {
      +    "@types/tape": "^4.13.0",
      +    "husky": "^4.3.0",
      +    "lint-staged": "^10.3.0",
      +    "prettier": "^2.1.1",
      +    "tape": "^4.6.3",
      +    "ts-node": "^9.0.0",
      +    "typescript": "^4.0.2"
      +  },
      +  "husky": {
      +    "hooks": {
      +      "pre-commit": "lint-staged",
      +      "pre-push": "npm test"
      +    }
      +  },
      +  "lint-staged": {
      +    "*.{js,ts,md,json}": "prettier --write"
      +  }
      +}
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/ContainerBase/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/ContainerBase/index.js
      deleted file mode 100644
      index 4c8c991004a6e3..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/ContainerBase/index.js
      +++ /dev/null
      @@ -1,40 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.ContainerIterator = exports.Container = exports.Base = void 0;
      -
      -class ContainerIterator {
      -    constructor(t = 0) {
      -        this.iteratorType = t;
      -    }
      -    equals(t) {
      -        return this.o === t.o;
      -    }
      -}
      -
      -exports.ContainerIterator = ContainerIterator;
      -
      -class Base {
      -    constructor() {
      -        this.i = 0;
      -    }
      -    get length() {
      -        return this.i;
      -    }
      -    size() {
      -        return this.i;
      -    }
      -    empty() {
      -        return this.i === 0;
      -    }
      -}
      -
      -exports.Base = Base;
      -
      -class Container extends Base {}
      -
      -exports.Container = Container;
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/Base/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/Base/index.js
      deleted file mode 100644
      index c04dc08f5fd3c4..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/Base/index.js
      +++ /dev/null
      @@ -1,187 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.HashContainerIterator = exports.HashContainer = void 0;
      -
      -var _ContainerBase = require("../../ContainerBase");
      -
      -var _checkObject = _interopRequireDefault(require("../../../utils/checkObject"));
      -
      -var _throwError = require("../../../utils/throwError");
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class HashContainerIterator extends _ContainerBase.ContainerIterator {
      -    constructor(t, e, i) {
      -        super(i);
      -        this.o = t;
      -        this.h = e;
      -        if (this.iteratorType === 0) {
      -            this.pre = function() {
      -                if (this.o.L === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.B;
      -                return this;
      -            };
      -        } else {
      -            this.pre = function() {
      -                if (this.o.B === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.B;
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -        }
      -    }
      -}
      -
      -exports.HashContainerIterator = HashContainerIterator;
      -
      -class HashContainer extends _ContainerBase.Container {
      -    constructor() {
      -        super();
      -        this.H = [];
      -        this.g = {};
      -        this.HASH_TAG = Symbol("@@HASH_TAG");
      -        Object.setPrototypeOf(this.g, null);
      -        this.h = {};
      -        this.h.L = this.h.B = this.p = this._ = this.h;
      -    }
      -    V(t) {
      -        const {L: e, B: i} = t;
      -        e.B = i;
      -        i.L = e;
      -        if (t === this.p) {
      -            this.p = i;
      -        }
      -        if (t === this._) {
      -            this._ = e;
      -        }
      -        this.i -= 1;
      -    }
      -    M(t, e, i) {
      -        if (i === undefined) i = (0, _checkObject.default)(t);
      -        let s;
      -        if (i) {
      -            const i = t[this.HASH_TAG];
      -            if (i !== undefined) {
      -                this.H[i].l = e;
      -                return this.i;
      -            }
      -            Object.defineProperty(t, this.HASH_TAG, {
      -                value: this.H.length,
      -                configurable: true
      -            });
      -            s = {
      -                u: t,
      -                l: e,
      -                L: this._,
      -                B: this.h
      -            };
      -            this.H.push(s);
      -        } else {
      -            const i = this.g[t];
      -            if (i) {
      -                i.l = e;
      -                return this.i;
      -            }
      -            this.g[t] = s = {
      -                u: t,
      -                l: e,
      -                L: this._,
      -                B: this.h
      -            };
      -        }
      -        if (this.i === 0) {
      -            this.p = s;
      -            this.h.B = s;
      -        } else {
      -            this._.B = s;
      -        }
      -        this._ = s;
      -        this.h.L = s;
      -        return ++this.i;
      -    }
      -    I(t, e) {
      -        if (e === undefined) e = (0, _checkObject.default)(t);
      -        if (e) {
      -            const e = t[this.HASH_TAG];
      -            if (e === undefined) return this.h;
      -            return this.H[e];
      -        } else {
      -            return this.g[t] || this.h;
      -        }
      -    }
      -    clear() {
      -        const t = this.HASH_TAG;
      -        this.H.forEach((function(e) {
      -            delete e.u[t];
      -        }));
      -        this.H = [];
      -        this.g = {};
      -        Object.setPrototypeOf(this.g, null);
      -        this.i = 0;
      -        this.p = this._ = this.h.L = this.h.B = this.h;
      -    }
      -    eraseElementByKey(t, e) {
      -        let i;
      -        if (e === undefined) e = (0, _checkObject.default)(t);
      -        if (e) {
      -            const e = t[this.HASH_TAG];
      -            if (e === undefined) return false;
      -            delete t[this.HASH_TAG];
      -            i = this.H[e];
      -            delete this.H[e];
      -        } else {
      -            i = this.g[t];
      -            if (i === undefined) return false;
      -            delete this.g[t];
      -        }
      -        this.V(i);
      -        return true;
      -    }
      -    eraseElementByIterator(t) {
      -        const e = t.o;
      -        if (e === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        this.V(e);
      -        return t.next();
      -    }
      -    eraseElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        let e = this.p;
      -        while (t--) {
      -            e = e.B;
      -        }
      -        this.V(e);
      -        return this.i;
      -    }
      -}
      -
      -exports.HashContainer = HashContainer;
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashMap.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashMap.js
      deleted file mode 100644
      index c828cfe8b6654a..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashMap.js
      +++ /dev/null
      @@ -1,123 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = require("./Base");
      -
      -var _checkObject = _interopRequireDefault(require("../../utils/checkObject"));
      -
      -var _throwError = require("../../utils/throwError");
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class HashMapIterator extends _Base.HashContainerIterator {
      -    constructor(t, e, r, s) {
      -        super(t, e, s);
      -        this.container = r;
      -    }
      -    get pointer() {
      -        if (this.o === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        const t = this;
      -        return new Proxy([], {
      -            get(e, r) {
      -                if (r === "0") return t.o.u; else if (r === "1") return t.o.l;
      -            },
      -            set(e, r, s) {
      -                if (r !== "1") {
      -                    throw new TypeError("props must be 1");
      -                }
      -                t.o.l = s;
      -                return true;
      -            }
      -        });
      -    }
      -    copy() {
      -        return new HashMapIterator(this.o, this.h, this.container, this.iteratorType);
      -    }
      -}
      -
      -class HashMap extends _Base.HashContainer {
      -    constructor(t = []) {
      -        super();
      -        const e = this;
      -        t.forEach((function(t) {
      -            e.setElement(t[0], t[1]);
      -        }));
      -    }
      -    begin() {
      -        return new HashMapIterator(this.p, this.h, this);
      -    }
      -    end() {
      -        return new HashMapIterator(this.h, this.h, this);
      -    }
      -    rBegin() {
      -        return new HashMapIterator(this._, this.h, this, 1);
      -    }
      -    rEnd() {
      -        return new HashMapIterator(this.h, this.h, this, 1);
      -    }
      -    front() {
      -        if (this.i === 0) return;
      -        return [ this.p.u, this.p.l ];
      -    }
      -    back() {
      -        if (this.i === 0) return;
      -        return [ this._.u, this._.l ];
      -    }
      -    setElement(t, e, r) {
      -        return this.M(t, e, r);
      -    }
      -    getElementByKey(t, e) {
      -        if (e === undefined) e = (0, _checkObject.default)(t);
      -        if (e) {
      -            const e = t[this.HASH_TAG];
      -            return e !== undefined ? this.H[e].l : undefined;
      -        }
      -        const r = this.g[t];
      -        return r ? r.l : undefined;
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        let e = this.p;
      -        while (t--) {
      -            e = e.B;
      -        }
      -        return [ e.u, e.l ];
      -    }
      -    find(t, e) {
      -        const r = this.I(t, e);
      -        return new HashMapIterator(r, this.h, this);
      -    }
      -    forEach(t) {
      -        let e = 0;
      -        let r = this.p;
      -        while (r !== this.h) {
      -            t([ r.u, r.l ], e++, this);
      -            r = r.B;
      -        }
      -    }
      -    * [Symbol.iterator]() {
      -        let t = this.p;
      -        while (t !== this.h) {
      -            yield [ t.u, t.l ];
      -            t = t.B;
      -        }
      -    }
      -}
      -
      -var _default = HashMap;
      -
      -exports.default = _default;
      -//# sourceMappingURL=HashMap.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashSet.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashSet.js
      deleted file mode 100644
      index dd90edae173b26..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/HashContainer/HashSet.js
      +++ /dev/null
      @@ -1,92 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = require("./Base");
      -
      -var _throwError = require("../../utils/throwError");
      -
      -class HashSetIterator extends _Base.HashContainerIterator {
      -    constructor(t, e, r, s) {
      -        super(t, e, s);
      -        this.container = r;
      -    }
      -    get pointer() {
      -        if (this.o === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        return this.o.u;
      -    }
      -    copy() {
      -        return new HashSetIterator(this.o, this.h, this.container, this.iteratorType);
      -    }
      -}
      -
      -class HashSet extends _Base.HashContainer {
      -    constructor(t = []) {
      -        super();
      -        const e = this;
      -        t.forEach((function(t) {
      -            e.insert(t);
      -        }));
      -    }
      -    begin() {
      -        return new HashSetIterator(this.p, this.h, this);
      -    }
      -    end() {
      -        return new HashSetIterator(this.h, this.h, this);
      -    }
      -    rBegin() {
      -        return new HashSetIterator(this._, this.h, this, 1);
      -    }
      -    rEnd() {
      -        return new HashSetIterator(this.h, this.h, this, 1);
      -    }
      -    front() {
      -        return this.p.u;
      -    }
      -    back() {
      -        return this._.u;
      -    }
      -    insert(t, e) {
      -        return this.M(t, undefined, e);
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        let e = this.p;
      -        while (t--) {
      -            e = e.B;
      -        }
      -        return e.u;
      -    }
      -    find(t, e) {
      -        const r = this.I(t, e);
      -        return new HashSetIterator(r, this.h, this);
      -    }
      -    forEach(t) {
      -        let e = 0;
      -        let r = this.p;
      -        while (r !== this.h) {
      -            t(r.u, e++, this);
      -            r = r.B;
      -        }
      -    }
      -    * [Symbol.iterator]() {
      -        let t = this.p;
      -        while (t !== this.h) {
      -            yield t.u;
      -            t = t.B;
      -        }
      -    }
      -}
      -
      -var _default = HashSet;
      -
      -exports.default = _default;
      -//# sourceMappingURL=HashSet.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/PriorityQueue.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/PriorityQueue.js
      deleted file mode 100644
      index e90fa09ad44f5c..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/PriorityQueue.js
      +++ /dev/null
      @@ -1,118 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _ContainerBase = require("../ContainerBase");
      -
      -class PriorityQueue extends _ContainerBase.Base {
      -    constructor(t = [], s = function(t, s) {
      -        if (t > s) return -1;
      -        if (t < s) return 1;
      -        return 0;
      -    }, i = true) {
      -        super();
      -        this.v = s;
      -        if (Array.isArray(t)) {
      -            this.C = i ? [ ...t ] : t;
      -        } else {
      -            this.C = [];
      -            const s = this;
      -            t.forEach((function(t) {
      -                s.C.push(t);
      -            }));
      -        }
      -        this.i = this.C.length;
      -        const e = this.i >> 1;
      -        for (let t = this.i - 1 >> 1; t >= 0; --t) {
      -            this.k(t, e);
      -        }
      -    }
      -    m(t) {
      -        const s = this.C[t];
      -        while (t > 0) {
      -            const i = t - 1 >> 1;
      -            const e = this.C[i];
      -            if (this.v(e, s) <= 0) break;
      -            this.C[t] = e;
      -            t = i;
      -        }
      -        this.C[t] = s;
      -    }
      -    k(t, s) {
      -        const i = this.C[t];
      -        while (t < s) {
      -            let s = t << 1 | 1;
      -            const e = s + 1;
      -            let h = this.C[s];
      -            if (e < this.i && this.v(h, this.C[e]) > 0) {
      -                s = e;
      -                h = this.C[e];
      -            }
      -            if (this.v(h, i) >= 0) break;
      -            this.C[t] = h;
      -            t = s;
      -        }
      -        this.C[t] = i;
      -    }
      -    clear() {
      -        this.i = 0;
      -        this.C.length = 0;
      -    }
      -    push(t) {
      -        this.C.push(t);
      -        this.m(this.i);
      -        this.i += 1;
      -    }
      -    pop() {
      -        if (this.i === 0) return;
      -        const t = this.C[0];
      -        const s = this.C.pop();
      -        this.i -= 1;
      -        if (this.i) {
      -            this.C[0] = s;
      -            this.k(0, this.i >> 1);
      -        }
      -        return t;
      -    }
      -    top() {
      -        return this.C[0];
      -    }
      -    find(t) {
      -        return this.C.indexOf(t) >= 0;
      -    }
      -    remove(t) {
      -        const s = this.C.indexOf(t);
      -        if (s < 0) return false;
      -        if (s === 0) {
      -            this.pop();
      -        } else if (s === this.i - 1) {
      -            this.C.pop();
      -            this.i -= 1;
      -        } else {
      -            this.C.splice(s, 1, this.C.pop());
      -            this.i -= 1;
      -            this.m(s);
      -            this.k(s, this.i >> 1);
      -        }
      -        return true;
      -    }
      -    updateItem(t) {
      -        const s = this.C.indexOf(t);
      -        if (s < 0) return false;
      -        this.m(s);
      -        this.k(s, this.i >> 1);
      -        return true;
      -    }
      -    toArray() {
      -        return [ ...this.C ];
      -    }
      -}
      -
      -var _default = PriorityQueue;
      -
      -exports.default = _default;
      -//# sourceMappingURL=PriorityQueue.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Queue.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Queue.js
      deleted file mode 100644
      index cd09701fa1733f..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Queue.js
      +++ /dev/null
      @@ -1,52 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _ContainerBase = require("../ContainerBase");
      -
      -class Queue extends _ContainerBase.Base {
      -    constructor(t = []) {
      -        super();
      -        this.j = 0;
      -        this.q = [];
      -        const s = this;
      -        t.forEach((function(t) {
      -            s.push(t);
      -        }));
      -    }
      -    clear() {
      -        this.q = [];
      -        this.i = this.j = 0;
      -    }
      -    push(t) {
      -        const s = this.q.length;
      -        if (this.j / s > .5 && this.j + this.i >= s && s > 4096) {
      -            const s = this.i;
      -            for (let t = 0; t < s; ++t) {
      -                this.q[t] = this.q[this.j + t];
      -            }
      -            this.j = 0;
      -            this.q[this.i] = t;
      -        } else this.q[this.j + this.i] = t;
      -        return ++this.i;
      -    }
      -    pop() {
      -        if (this.i === 0) return;
      -        const t = this.q[this.j++];
      -        this.i -= 1;
      -        return t;
      -    }
      -    front() {
      -        if (this.i === 0) return;
      -        return this.q[this.j];
      -    }
      -}
      -
      -var _default = Queue;
      -
      -exports.default = _default;
      -//# sourceMappingURL=Queue.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Stack.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Stack.js
      deleted file mode 100644
      index 80b8b7b5b412d4..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/OtherContainer/Stack.js
      +++ /dev/null
      @@ -1,42 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _ContainerBase = require("../ContainerBase");
      -
      -class Stack extends _ContainerBase.Base {
      -    constructor(t = []) {
      -        super();
      -        this.S = [];
      -        const s = this;
      -        t.forEach((function(t) {
      -            s.push(t);
      -        }));
      -    }
      -    clear() {
      -        this.i = 0;
      -        this.S = [];
      -    }
      -    push(t) {
      -        this.S.push(t);
      -        this.i += 1;
      -        return this.i;
      -    }
      -    pop() {
      -        if (this.i === 0) return;
      -        this.i -= 1;
      -        return this.S.pop();
      -    }
      -    top() {
      -        return this.S[this.i - 1];
      -    }
      -}
      -
      -var _default = Stack;
      -
      -exports.default = _default;
      -//# sourceMappingURL=Stack.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/RandomIterator.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/RandomIterator.js
      deleted file mode 100644
      index 509d2265fdd2d2..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/RandomIterator.js
      +++ /dev/null
      @@ -1,58 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.RandomIterator = void 0;
      -
      -var _ContainerBase = require("../../ContainerBase");
      -
      -var _throwError = require("../../../utils/throwError");
      -
      -class RandomIterator extends _ContainerBase.ContainerIterator {
      -    constructor(t, r) {
      -        super(r);
      -        this.o = t;
      -        if (this.iteratorType === 0) {
      -            this.pre = function() {
      -                if (this.o === 0) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o -= 1;
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.container.size()) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o += 1;
      -                return this;
      -            };
      -        } else {
      -            this.pre = function() {
      -                if (this.o === this.container.size() - 1) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o += 1;
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === -1) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o -= 1;
      -                return this;
      -            };
      -        }
      -    }
      -    get pointer() {
      -        return this.container.getElementByPos(this.o);
      -    }
      -    set pointer(t) {
      -        this.container.setElementByPos(this.o, t);
      -    }
      -}
      -
      -exports.RandomIterator = RandomIterator;
      -//# sourceMappingURL=RandomIterator.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/index.js
      deleted file mode 100644
      index e2400817725773..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Base/index.js
      +++ /dev/null
      @@ -1,16 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _ContainerBase = require("../../ContainerBase");
      -
      -class SequentialContainer extends _ContainerBase.Container {}
      -
      -var _default = SequentialContainer;
      -
      -exports.default = _default;
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Deque.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Deque.js
      deleted file mode 100644
      index 44e5d6ece7dcf6..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Deque.js
      +++ /dev/null
      @@ -1,395 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = _interopRequireDefault(require("./Base"));
      -
      -var _RandomIterator = require("./Base/RandomIterator");
      -
      -var Math = _interopRequireWildcard(require("../../utils/math"));
      -
      -function _getRequireWildcardCache(t) {
      -    if (typeof WeakMap !== "function") return null;
      -    var i = new WeakMap;
      -    var s = new WeakMap;
      -    return (_getRequireWildcardCache = function(t) {
      -        return t ? s : i;
      -    })(t);
      -}
      -
      -function _interopRequireWildcard(t, i) {
      -    if (!i && t && t.t) {
      -        return t;
      -    }
      -    if (t === null || typeof t !== "object" && typeof t !== "function") {
      -        return {
      -            default: t
      -        };
      -    }
      -    var s = _getRequireWildcardCache(i);
      -    if (s && s.has(t)) {
      -        return s.get(t);
      -    }
      -    var e = {};
      -    var h = Object.defineProperty && Object.getOwnPropertyDescriptor;
      -    for (var r in t) {
      -        if (r !== "default" && Object.prototype.hasOwnProperty.call(t, r)) {
      -            var n = h ? Object.getOwnPropertyDescriptor(t, r) : null;
      -            if (n && (n.get || n.set)) {
      -                Object.defineProperty(e, r, n);
      -            } else {
      -                e[r] = t[r];
      -            }
      -        }
      -    }
      -    e.default = t;
      -    if (s) {
      -        s.set(t, e);
      -    }
      -    return e;
      -}
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class DequeIterator extends _RandomIterator.RandomIterator {
      -    constructor(t, i, s) {
      -        super(t, s);
      -        this.container = i;
      -    }
      -    copy() {
      -        return new DequeIterator(this.o, this.container, this.iteratorType);
      -    }
      -}
      -
      -class Deque extends _Base.default {
      -    constructor(t = [], i = 1 << 12) {
      -        super();
      -        this.j = 0;
      -        this.R = 0;
      -        this.N = 0;
      -        this.D = 0;
      -        this.P = 0;
      -        this.W = [];
      -        const s = (() => {
      -            if (typeof t.length === "number") return t.length;
      -            if (typeof t.size === "number") return t.size;
      -            if (typeof t.size === "function") return t.size();
      -            throw new TypeError("Cannot get the length or size of the container");
      -        })();
      -        this.O = i;
      -        this.P = Math.ceil(s, this.O) || 1;
      -        for (let t = 0; t < this.P; ++t) {
      -            this.W.push(new Array(this.O));
      -        }
      -        const e = Math.ceil(s, this.O);
      -        this.j = this.N = (this.P >> 1) - (e >> 1);
      -        this.R = this.D = this.O - s % this.O >> 1;
      -        const h = this;
      -        t.forEach((function(t) {
      -            h.pushBack(t);
      -        }));
      -    }
      -    A(t) {
      -        const i = [];
      -        const s = t || this.P >> 1 || 1;
      -        for (let t = 0; t < s; ++t) {
      -            i[t] = new Array(this.O);
      -        }
      -        for (let t = this.j; t < this.P; ++t) {
      -            i[i.length] = this.W[t];
      -        }
      -        for (let t = 0; t < this.N; ++t) {
      -            i[i.length] = this.W[t];
      -        }
      -        i[i.length] = [ ...this.W[this.N] ];
      -        this.j = s;
      -        this.N = i.length - 1;
      -        for (let t = 0; t < s; ++t) {
      -            i[i.length] = new Array(this.O);
      -        }
      -        this.W = i;
      -        this.P = i.length;
      -    }
      -    F(t) {
      -        let i, s;
      -        const e = this.R + t;
      -        i = this.j + Math.floor(e / this.O);
      -        if (i >= this.P) {
      -            i -= this.P;
      -        }
      -        s = (e + 1) % this.O - 1;
      -        if (s < 0) {
      -            s = this.O - 1;
      -        }
      -        return {
      -            curNodeBucketIndex: i,
      -            curNodePointerIndex: s
      -        };
      -    }
      -    clear() {
      -        this.W = [ new Array(this.O) ];
      -        this.P = 1;
      -        this.j = this.N = this.i = 0;
      -        this.R = this.D = this.O >> 1;
      -    }
      -    begin() {
      -        return new DequeIterator(0, this);
      -    }
      -    end() {
      -        return new DequeIterator(this.i, this);
      -    }
      -    rBegin() {
      -        return new DequeIterator(this.i - 1, this, 1);
      -    }
      -    rEnd() {
      -        return new DequeIterator(-1, this, 1);
      -    }
      -    front() {
      -        if (this.i === 0) return;
      -        return this.W[this.j][this.R];
      -    }
      -    back() {
      -        if (this.i === 0) return;
      -        return this.W[this.N][this.D];
      -    }
      -    pushBack(t) {
      -        if (this.i) {
      -            if (this.D < this.O - 1) {
      -                this.D += 1;
      -            } else if (this.N < this.P - 1) {
      -                this.N += 1;
      -                this.D = 0;
      -            } else {
      -                this.N = 0;
      -                this.D = 0;
      -            }
      -            if (this.N === this.j && this.D === this.R) this.A();
      -        }
      -        this.i += 1;
      -        this.W[this.N][this.D] = t;
      -        return this.i;
      -    }
      -    popBack() {
      -        if (this.i === 0) return;
      -        const t = this.W[this.N][this.D];
      -        if (this.i !== 1) {
      -            if (this.D > 0) {
      -                this.D -= 1;
      -            } else if (this.N > 0) {
      -                this.N -= 1;
      -                this.D = this.O - 1;
      -            } else {
      -                this.N = this.P - 1;
      -                this.D = this.O - 1;
      -            }
      -        }
      -        this.i -= 1;
      -        return t;
      -    }
      -    pushFront(t) {
      -        if (this.i) {
      -            if (this.R > 0) {
      -                this.R -= 1;
      -            } else if (this.j > 0) {
      -                this.j -= 1;
      -                this.R = this.O - 1;
      -            } else {
      -                this.j = this.P - 1;
      -                this.R = this.O - 1;
      -            }
      -            if (this.j === this.N && this.R === this.D) this.A();
      -        }
      -        this.i += 1;
      -        this.W[this.j][this.R] = t;
      -        return this.i;
      -    }
      -    popFront() {
      -        if (this.i === 0) return;
      -        const t = this.W[this.j][this.R];
      -        if (this.i !== 1) {
      -            if (this.R < this.O - 1) {
      -                this.R += 1;
      -            } else if (this.j < this.P - 1) {
      -                this.j += 1;
      -                this.R = 0;
      -            } else {
      -                this.j = 0;
      -                this.R = 0;
      -            }
      -        }
      -        this.i -= 1;
      -        return t;
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        const {curNodeBucketIndex: i, curNodePointerIndex: s} = this.F(t);
      -        return this.W[i][s];
      -    }
      -    setElementByPos(t, i) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        const {curNodeBucketIndex: s, curNodePointerIndex: e} = this.F(t);
      -        this.W[s][e] = i;
      -    }
      -    insert(t, i, s = 1) {
      -        const e = this.i;
      -        if (t < 0 || t > e) {
      -            throw new RangeError;
      -        }
      -        if (t === 0) {
      -            while (s--) this.pushFront(i);
      -        } else if (t === this.i) {
      -            while (s--) this.pushBack(i);
      -        } else {
      -            const e = [];
      -            for (let i = t; i < this.i; ++i) {
      -                e.push(this.getElementByPos(i));
      -            }
      -            this.cut(t - 1);
      -            for (let t = 0; t < s; ++t) this.pushBack(i);
      -            for (let t = 0; t < e.length; ++t) this.pushBack(e[t]);
      -        }
      -        return this.i;
      -    }
      -    cut(t) {
      -        if (t < 0) {
      -            this.clear();
      -            return 0;
      -        }
      -        const {curNodeBucketIndex: i, curNodePointerIndex: s} = this.F(t);
      -        this.N = i;
      -        this.D = s;
      -        this.i = t + 1;
      -        return this.i;
      -    }
      -    eraseElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        if (t === 0) this.popFront(); else if (t === this.i - 1) this.popBack(); else {
      -            const i = this.i - 1;
      -            let {curNodeBucketIndex: s, curNodePointerIndex: e} = this.F(t);
      -            for (let h = t; h < i; ++h) {
      -                const {curNodeBucketIndex: i, curNodePointerIndex: h} = this.F(t + 1);
      -                this.W[s][e] = this.W[i][h];
      -                s = i;
      -                e = h;
      -            }
      -            this.popBack();
      -        }
      -        return this.i;
      -    }
      -    eraseElementByValue(t) {
      -        const i = this.i;
      -        if (i === 0) return 0;
      -        let s = 0;
      -        let e = 0;
      -        while (s < i) {
      -            const i = this.getElementByPos(s);
      -            if (i !== t) {
      -                this.setElementByPos(e, i);
      -                e += 1;
      -            }
      -            s += 1;
      -        }
      -        this.cut(e - 1);
      -        return this.i;
      -    }
      -    eraseElementByIterator(t) {
      -        const i = t.o;
      -        this.eraseElementByPos(i);
      -        t = t.next();
      -        return t;
      -    }
      -    find(t) {
      -        for (let i = 0; i < this.i; ++i) {
      -            if (this.getElementByPos(i) === t) {
      -                return new DequeIterator(i, this);
      -            }
      -        }
      -        return this.end();
      -    }
      -    reverse() {
      -        this.W.reverse().forEach((function(t) {
      -            t.reverse();
      -        }));
      -        const {j: t, N: i, R: s, D: e} = this;
      -        this.j = this.P - i - 1;
      -        this.N = this.P - t - 1;
      -        this.R = this.O - e - 1;
      -        this.D = this.O - s - 1;
      -        return this;
      -    }
      -    unique() {
      -        if (this.i <= 1) {
      -            return this.i;
      -        }
      -        let t = 1;
      -        let i = this.getElementByPos(0);
      -        for (let s = 1; s < this.i; ++s) {
      -            const e = this.getElementByPos(s);
      -            if (e !== i) {
      -                i = e;
      -                this.setElementByPos(t++, e);
      -            }
      -        }
      -        this.cut(t - 1);
      -        return this.i;
      -    }
      -    sort(t) {
      -        const i = [];
      -        for (let t = 0; t < this.i; ++t) {
      -            i.push(this.getElementByPos(t));
      -        }
      -        i.sort(t);
      -        for (let t = 0; t < this.i; ++t) {
      -            this.setElementByPos(t, i[t]);
      -        }
      -        return this;
      -    }
      -    shrinkToFit() {
      -        if (this.i === 0) return;
      -        const t = [];
      -        if (this.j === this.N) return; else if (this.j < this.N) {
      -            for (let i = this.j; i <= this.N; ++i) {
      -                t.push(this.W[i]);
      -            }
      -        } else {
      -            for (let i = this.j; i < this.P; ++i) {
      -                t.push(this.W[i]);
      -            }
      -            for (let i = 0; i <= this.N; ++i) {
      -                t.push(this.W[i]);
      -            }
      -        }
      -        this.j = 0;
      -        this.N = t.length - 1;
      -        this.W = t;
      -    }
      -    forEach(t) {
      -        for (let i = 0; i < this.i; ++i) {
      -            t(this.getElementByPos(i), i, this);
      -        }
      -    }
      -    * [Symbol.iterator]() {
      -        for (let t = 0; t < this.i; ++t) {
      -            yield this.getElementByPos(t);
      -        }
      -    }
      -}
      -
      -var _default = Deque;
      -
      -exports.default = _default;
      -//# sourceMappingURL=Deque.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/LinkList.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/LinkList.js
      deleted file mode 100644
      index 7e72b8734c4fb0..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/LinkList.js
      +++ /dev/null
      @@ -1,334 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = _interopRequireDefault(require("./Base"));
      -
      -var _ContainerBase = require("../ContainerBase");
      -
      -var _throwError = require("../../utils/throwError");
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class LinkListIterator extends _ContainerBase.ContainerIterator {
      -    constructor(t, i, s, r) {
      -        super(r);
      -        this.o = t;
      -        this.h = i;
      -        this.container = s;
      -        if (this.iteratorType === 0) {
      -            this.pre = function() {
      -                if (this.o.L === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.B;
      -                return this;
      -            };
      -        } else {
      -            this.pre = function() {
      -                if (this.o.B === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.B;
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -        }
      -    }
      -    get pointer() {
      -        if (this.o === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        return this.o.l;
      -    }
      -    set pointer(t) {
      -        if (this.o === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        this.o.l = t;
      -    }
      -    copy() {
      -        return new LinkListIterator(this.o, this.h, this.container, this.iteratorType);
      -    }
      -}
      -
      -class LinkList extends _Base.default {
      -    constructor(t = []) {
      -        super();
      -        this.h = {};
      -        this.p = this._ = this.h.L = this.h.B = this.h;
      -        const i = this;
      -        t.forEach((function(t) {
      -            i.pushBack(t);
      -        }));
      -    }
      -    V(t) {
      -        const {L: i, B: s} = t;
      -        i.B = s;
      -        s.L = i;
      -        if (t === this.p) {
      -            this.p = s;
      -        }
      -        if (t === this._) {
      -            this._ = i;
      -        }
      -        this.i -= 1;
      -    }
      -    G(t, i) {
      -        const s = i.B;
      -        const r = {
      -            l: t,
      -            L: i,
      -            B: s
      -        };
      -        i.B = r;
      -        s.L = r;
      -        if (i === this.h) {
      -            this.p = r;
      -        }
      -        if (s === this.h) {
      -            this._ = r;
      -        }
      -        this.i += 1;
      -    }
      -    clear() {
      -        this.i = 0;
      -        this.p = this._ = this.h.L = this.h.B = this.h;
      -    }
      -    begin() {
      -        return new LinkListIterator(this.p, this.h, this);
      -    }
      -    end() {
      -        return new LinkListIterator(this.h, this.h, this);
      -    }
      -    rBegin() {
      -        return new LinkListIterator(this._, this.h, this, 1);
      -    }
      -    rEnd() {
      -        return new LinkListIterator(this.h, this.h, this, 1);
      -    }
      -    front() {
      -        return this.p.l;
      -    }
      -    back() {
      -        return this._.l;
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        let i = this.p;
      -        while (t--) {
      -            i = i.B;
      -        }
      -        return i.l;
      -    }
      -    eraseElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        let i = this.p;
      -        while (t--) {
      -            i = i.B;
      -        }
      -        this.V(i);
      -        return this.i;
      -    }
      -    eraseElementByValue(t) {
      -        let i = this.p;
      -        while (i !== this.h) {
      -            if (i.l === t) {
      -                this.V(i);
      -            }
      -            i = i.B;
      -        }
      -        return this.i;
      -    }
      -    eraseElementByIterator(t) {
      -        const i = t.o;
      -        if (i === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        t = t.next();
      -        this.V(i);
      -        return t;
      -    }
      -    pushBack(t) {
      -        this.G(t, this._);
      -        return this.i;
      -    }
      -    popBack() {
      -        if (this.i === 0) return;
      -        const t = this._.l;
      -        this.V(this._);
      -        return t;
      -    }
      -    pushFront(t) {
      -        this.G(t, this.h);
      -        return this.i;
      -    }
      -    popFront() {
      -        if (this.i === 0) return;
      -        const t = this.p.l;
      -        this.V(this.p);
      -        return t;
      -    }
      -    setElementByPos(t, i) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        let s = this.p;
      -        while (t--) {
      -            s = s.B;
      -        }
      -        s.l = i;
      -    }
      -    insert(t, i, s = 1) {
      -        if (t < 0 || t > this.i) {
      -            throw new RangeError;
      -        }
      -        if (s <= 0) return this.i;
      -        if (t === 0) {
      -            while (s--) this.pushFront(i);
      -        } else if (t === this.i) {
      -            while (s--) this.pushBack(i);
      -        } else {
      -            let r = this.p;
      -            for (let i = 1; i < t; ++i) {
      -                r = r.B;
      -            }
      -            const e = r.B;
      -            this.i += s;
      -            while (s--) {
      -                r.B = {
      -                    l: i,
      -                    L: r
      -                };
      -                r.B.L = r;
      -                r = r.B;
      -            }
      -            r.B = e;
      -            e.L = r;
      -        }
      -        return this.i;
      -    }
      -    find(t) {
      -        let i = this.p;
      -        while (i !== this.h) {
      -            if (i.l === t) {
      -                return new LinkListIterator(i, this.h, this);
      -            }
      -            i = i.B;
      -        }
      -        return this.end();
      -    }
      -    reverse() {
      -        if (this.i <= 1) {
      -            return this;
      -        }
      -        let t = this.p;
      -        let i = this._;
      -        let s = 0;
      -        while (s << 1 < this.i) {
      -            const r = t.l;
      -            t.l = i.l;
      -            i.l = r;
      -            t = t.B;
      -            i = i.L;
      -            s += 1;
      -        }
      -        return this;
      -    }
      -    unique() {
      -        if (this.i <= 1) {
      -            return this.i;
      -        }
      -        let t = this.p;
      -        while (t !== this.h) {
      -            let i = t;
      -            while (i.B !== this.h && i.l === i.B.l) {
      -                i = i.B;
      -                this.i -= 1;
      -            }
      -            t.B = i.B;
      -            t.B.L = t;
      -            t = t.B;
      -        }
      -        return this.i;
      -    }
      -    sort(t) {
      -        if (this.i <= 1) {
      -            return this;
      -        }
      -        const i = [];
      -        this.forEach((function(t) {
      -            i.push(t);
      -        }));
      -        i.sort(t);
      -        let s = this.p;
      -        i.forEach((function(t) {
      -            s.l = t;
      -            s = s.B;
      -        }));
      -        return this;
      -    }
      -    merge(t) {
      -        const i = this;
      -        if (this.i === 0) {
      -            t.forEach((function(t) {
      -                i.pushBack(t);
      -            }));
      -        } else {
      -            let s = this.p;
      -            t.forEach((function(t) {
      -                while (s !== i.h && s.l <= t) {
      -                    s = s.B;
      -                }
      -                i.G(t, s.L);
      -            }));
      -        }
      -        return this.i;
      -    }
      -    forEach(t) {
      -        let i = this.p;
      -        let s = 0;
      -        while (i !== this.h) {
      -            t(i.l, s++, this);
      -            i = i.B;
      -        }
      -    }
      -    * [Symbol.iterator]() {
      -        if (this.i === 0) return;
      -        let t = this.p;
      -        while (t !== this.h) {
      -            yield t.l;
      -            t = t.B;
      -        }
      -    }
      -}
      -
      -var _default = LinkList;
      -
      -exports.default = _default;
      -//# sourceMappingURL=LinkList.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Vector.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Vector.js
      deleted file mode 100644
      index 4b91d1cfb640ad..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/SequentialContainer/Vector.js
      +++ /dev/null
      @@ -1,158 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = _interopRequireDefault(require("./Base"));
      -
      -var _RandomIterator = require("./Base/RandomIterator");
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class VectorIterator extends _RandomIterator.RandomIterator {
      -    constructor(t, r, e) {
      -        super(t, e);
      -        this.container = r;
      -    }
      -    copy() {
      -        return new VectorIterator(this.o, this.container, this.iteratorType);
      -    }
      -}
      -
      -class Vector extends _Base.default {
      -    constructor(t = [], r = true) {
      -        super();
      -        if (Array.isArray(t)) {
      -            this.J = r ? [ ...t ] : t;
      -            this.i = t.length;
      -        } else {
      -            this.J = [];
      -            const r = this;
      -            t.forEach((function(t) {
      -                r.pushBack(t);
      -            }));
      -        }
      -    }
      -    clear() {
      -        this.i = 0;
      -        this.J.length = 0;
      -    }
      -    begin() {
      -        return new VectorIterator(0, this);
      -    }
      -    end() {
      -        return new VectorIterator(this.i, this);
      -    }
      -    rBegin() {
      -        return new VectorIterator(this.i - 1, this, 1);
      -    }
      -    rEnd() {
      -        return new VectorIterator(-1, this, 1);
      -    }
      -    front() {
      -        return this.J[0];
      -    }
      -    back() {
      -        return this.J[this.i - 1];
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        return this.J[t];
      -    }
      -    eraseElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        this.J.splice(t, 1);
      -        this.i -= 1;
      -        return this.i;
      -    }
      -    eraseElementByValue(t) {
      -        let r = 0;
      -        for (let e = 0; e < this.i; ++e) {
      -            if (this.J[e] !== t) {
      -                this.J[r++] = this.J[e];
      -            }
      -        }
      -        this.i = this.J.length = r;
      -        return this.i;
      -    }
      -    eraseElementByIterator(t) {
      -        const r = t.o;
      -        t = t.next();
      -        this.eraseElementByPos(r);
      -        return t;
      -    }
      -    pushBack(t) {
      -        this.J.push(t);
      -        this.i += 1;
      -        return this.i;
      -    }
      -    popBack() {
      -        if (this.i === 0) return;
      -        this.i -= 1;
      -        return this.J.pop();
      -    }
      -    setElementByPos(t, r) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        this.J[t] = r;
      -    }
      -    insert(t, r, e = 1) {
      -        if (t < 0 || t > this.i) {
      -            throw new RangeError;
      -        }
      -        this.J.splice(t, 0, ...new Array(e).fill(r));
      -        this.i += e;
      -        return this.i;
      -    }
      -    find(t) {
      -        for (let r = 0; r < this.i; ++r) {
      -            if (this.J[r] === t) {
      -                return new VectorIterator(r, this);
      -            }
      -        }
      -        return this.end();
      -    }
      -    reverse() {
      -        this.J.reverse();
      -        return this;
      -    }
      -    unique() {
      -        let t = 1;
      -        for (let r = 1; r < this.i; ++r) {
      -            if (this.J[r] !== this.J[r - 1]) {
      -                this.J[t++] = this.J[r];
      -            }
      -        }
      -        this.i = this.J.length = t;
      -        return this.i;
      -    }
      -    sort(t) {
      -        this.J.sort(t);
      -        return this;
      -    }
      -    forEach(t) {
      -        for (let r = 0; r < this.i; ++r) {
      -            t(this.J[r], r, this);
      -        }
      -    }
      -    * [Symbol.iterator]() {
      -        yield* this.J;
      -    }
      -}
      -
      -var _default = Vector;
      -
      -exports.default = _default;
      -//# sourceMappingURL=Vector.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeIterator.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeIterator.js
      deleted file mode 100644
      index a40876f6f10cf9..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeIterator.js
      +++ /dev/null
      @@ -1,80 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _ContainerBase = require("../../ContainerBase");
      -
      -var _throwError = require("../../../utils/throwError");
      -
      -class TreeIterator extends _ContainerBase.ContainerIterator {
      -    constructor(t, r, i) {
      -        super(i);
      -        this.o = t;
      -        this.h = r;
      -        if (this.iteratorType === 0) {
      -            this.pre = function() {
      -                if (this.o === this.h.T) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.L();
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.B();
      -                return this;
      -            };
      -        } else {
      -            this.pre = function() {
      -                if (this.o === this.h.K) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.B();
      -                return this;
      -            };
      -            this.next = function() {
      -                if (this.o === this.h) {
      -                    (0, _throwError.throwIteratorAccessError)();
      -                }
      -                this.o = this.o.L();
      -                return this;
      -            };
      -        }
      -    }
      -    get index() {
      -        let t = this.o;
      -        const r = this.h.it;
      -        if (t === this.h) {
      -            if (r) {
      -                return r.st - 1;
      -            }
      -            return 0;
      -        }
      -        let i = 0;
      -        if (t.T) {
      -            i += t.T.st;
      -        }
      -        while (t !== r) {
      -            const r = t.it;
      -            if (t === r.K) {
      -                i += 1;
      -                if (r.T) {
      -                    i += r.T.st;
      -                }
      -            }
      -            t = r;
      -        }
      -        return i;
      -    }
      -}
      -
      -var _default = TreeIterator;
      -
      -exports.default = _default;
      -//# sourceMappingURL=TreeIterator.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeNode.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeNode.js
      deleted file mode 100644
      index ba38dded7f5696..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeNode.js
      +++ /dev/null
      @@ -1,113 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.TreeNodeEnableIndex = exports.TreeNode = void 0;
      -
      -class TreeNode {
      -    constructor(e, t, s = 1) {
      -        this.T = undefined;
      -        this.K = undefined;
      -        this.it = undefined;
      -        this.u = e;
      -        this.l = t;
      -        this.ee = s;
      -    }
      -    L() {
      -        let e = this;
      -        if (e.ee === 1 && e.it.it === e) {
      -            e = e.K;
      -        } else if (e.T) {
      -            e = e.T;
      -            while (e.K) {
      -                e = e.K;
      -            }
      -        } else {
      -            let t = e.it;
      -            while (t.T === e) {
      -                e = t;
      -                t = e.it;
      -            }
      -            e = t;
      -        }
      -        return e;
      -    }
      -    B() {
      -        let e = this;
      -        if (e.K) {
      -            e = e.K;
      -            while (e.T) {
      -                e = e.T;
      -            }
      -            return e;
      -        } else {
      -            let t = e.it;
      -            while (t.K === e) {
      -                e = t;
      -                t = e.it;
      -            }
      -            if (e.K !== t) {
      -                return t;
      -            } else return e;
      -        }
      -    }
      -    te() {
      -        const e = this.it;
      -        const t = this.K;
      -        const s = t.T;
      -        if (e.it === this) e.it = t; else if (e.T === this) e.T = t; else e.K = t;
      -        t.it = e;
      -        t.T = this;
      -        this.it = t;
      -        this.K = s;
      -        if (s) s.it = this;
      -        return t;
      -    }
      -    se() {
      -        const e = this.it;
      -        const t = this.T;
      -        const s = t.K;
      -        if (e.it === this) e.it = t; else if (e.T === this) e.T = t; else e.K = t;
      -        t.it = e;
      -        t.K = this;
      -        this.it = t;
      -        this.T = s;
      -        if (s) s.it = this;
      -        return t;
      -    }
      -}
      -
      -exports.TreeNode = TreeNode;
      -
      -class TreeNodeEnableIndex extends TreeNode {
      -    constructor() {
      -        super(...arguments);
      -        this.st = 1;
      -    }
      -    te() {
      -        const e = super.te();
      -        this.ie();
      -        e.ie();
      -        return e;
      -    }
      -    se() {
      -        const e = super.se();
      -        this.ie();
      -        e.ie();
      -        return e;
      -    }
      -    ie() {
      -        this.st = 1;
      -        if (this.T) {
      -            this.st += this.T.st;
      -        }
      -        if (this.K) {
      -            this.st += this.K.st;
      -        }
      -    }
      -}
      -
      -exports.TreeNodeEnableIndex = TreeNodeEnableIndex;
      -//# sourceMappingURL=TreeNode.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/index.js
      deleted file mode 100644
      index 69c4f5d62c2923..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/index.js
      +++ /dev/null
      @@ -1,486 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _TreeNode = require("./TreeNode");
      -
      -var _ContainerBase = require("../../ContainerBase");
      -
      -var _throwError = require("../../../utils/throwError");
      -
      -class TreeContainer extends _ContainerBase.Container {
      -    constructor(e = function(e, t) {
      -        if (e < t) return -1;
      -        if (e > t) return 1;
      -        return 0;
      -    }, t = false) {
      -        super();
      -        this.X = undefined;
      -        this.v = e;
      -        this.enableIndex = t;
      -        this.re = t ? _TreeNode.TreeNodeEnableIndex : _TreeNode.TreeNode;
      -        this.h = new this.re;
      -    }
      -    U(e, t) {
      -        let i = this.h;
      -        while (e) {
      -            const s = this.v(e.u, t);
      -            if (s < 0) {
      -                e = e.K;
      -            } else if (s > 0) {
      -                i = e;
      -                e = e.T;
      -            } else return e;
      -        }
      -        return i;
      -    }
      -    Y(e, t) {
      -        let i = this.h;
      -        while (e) {
      -            const s = this.v(e.u, t);
      -            if (s <= 0) {
      -                e = e.K;
      -            } else {
      -                i = e;
      -                e = e.T;
      -            }
      -        }
      -        return i;
      -    }
      -    Z(e, t) {
      -        let i = this.h;
      -        while (e) {
      -            const s = this.v(e.u, t);
      -            if (s < 0) {
      -                i = e;
      -                e = e.K;
      -            } else if (s > 0) {
      -                e = e.T;
      -            } else return e;
      -        }
      -        return i;
      -    }
      -    $(e, t) {
      -        let i = this.h;
      -        while (e) {
      -            const s = this.v(e.u, t);
      -            if (s < 0) {
      -                i = e;
      -                e = e.K;
      -            } else {
      -                e = e.T;
      -            }
      -        }
      -        return i;
      -    }
      -    ne(e) {
      -        while (true) {
      -            const t = e.it;
      -            if (t === this.h) return;
      -            if (e.ee === 1) {
      -                e.ee = 0;
      -                return;
      -            }
      -            if (e === t.T) {
      -                const i = t.K;
      -                if (i.ee === 1) {
      -                    i.ee = 0;
      -                    t.ee = 1;
      -                    if (t === this.X) {
      -                        this.X = t.te();
      -                    } else t.te();
      -                } else {
      -                    if (i.K && i.K.ee === 1) {
      -                        i.ee = t.ee;
      -                        t.ee = 0;
      -                        i.K.ee = 0;
      -                        if (t === this.X) {
      -                            this.X = t.te();
      -                        } else t.te();
      -                        return;
      -                    } else if (i.T && i.T.ee === 1) {
      -                        i.ee = 1;
      -                        i.T.ee = 0;
      -                        i.se();
      -                    } else {
      -                        i.ee = 1;
      -                        e = t;
      -                    }
      -                }
      -            } else {
      -                const i = t.T;
      -                if (i.ee === 1) {
      -                    i.ee = 0;
      -                    t.ee = 1;
      -                    if (t === this.X) {
      -                        this.X = t.se();
      -                    } else t.se();
      -                } else {
      -                    if (i.T && i.T.ee === 1) {
      -                        i.ee = t.ee;
      -                        t.ee = 0;
      -                        i.T.ee = 0;
      -                        if (t === this.X) {
      -                            this.X = t.se();
      -                        } else t.se();
      -                        return;
      -                    } else if (i.K && i.K.ee === 1) {
      -                        i.ee = 1;
      -                        i.K.ee = 0;
      -                        i.te();
      -                    } else {
      -                        i.ee = 1;
      -                        e = t;
      -                    }
      -                }
      -            }
      -        }
      -    }
      -    V(e) {
      -        if (this.i === 1) {
      -            this.clear();
      -            return;
      -        }
      -        let t = e;
      -        while (t.T || t.K) {
      -            if (t.K) {
      -                t = t.K;
      -                while (t.T) t = t.T;
      -            } else {
      -                t = t.T;
      -            }
      -            const i = e.u;
      -            e.u = t.u;
      -            t.u = i;
      -            const s = e.l;
      -            e.l = t.l;
      -            t.l = s;
      -            e = t;
      -        }
      -        if (this.h.T === t) {
      -            this.h.T = t.it;
      -        } else if (this.h.K === t) {
      -            this.h.K = t.it;
      -        }
      -        this.ne(t);
      -        let i = t.it;
      -        if (t === i.T) {
      -            i.T = undefined;
      -        } else i.K = undefined;
      -        this.i -= 1;
      -        this.X.ee = 0;
      -        if (this.enableIndex) {
      -            while (i !== this.h) {
      -                i.st -= 1;
      -                i = i.it;
      -            }
      -        }
      -    }
      -    tt(e) {
      -        const t = typeof e === "number" ? e : undefined;
      -        const i = typeof e === "function" ? e : undefined;
      -        const s = typeof e === "undefined" ? [] : undefined;
      -        let r = 0;
      -        let n = this.X;
      -        const h = [];
      -        while (h.length || n) {
      -            if (n) {
      -                h.push(n);
      -                n = n.T;
      -            } else {
      -                n = h.pop();
      -                if (r === t) return n;
      -                s && s.push(n);
      -                i && i(n, r, this);
      -                r += 1;
      -                n = n.K;
      -            }
      -        }
      -        return s;
      -    }
      -    he(e) {
      -        while (true) {
      -            const t = e.it;
      -            if (t.ee === 0) return;
      -            const i = t.it;
      -            if (t === i.T) {
      -                const s = i.K;
      -                if (s && s.ee === 1) {
      -                    s.ee = t.ee = 0;
      -                    if (i === this.X) return;
      -                    i.ee = 1;
      -                    e = i;
      -                    continue;
      -                } else if (e === t.K) {
      -                    e.ee = 0;
      -                    if (e.T) {
      -                        e.T.it = t;
      -                    }
      -                    if (e.K) {
      -                        e.K.it = i;
      -                    }
      -                    t.K = e.T;
      -                    i.T = e.K;
      -                    e.T = t;
      -                    e.K = i;
      -                    if (i === this.X) {
      -                        this.X = e;
      -                        this.h.it = e;
      -                    } else {
      -                        const t = i.it;
      -                        if (t.T === i) {
      -                            t.T = e;
      -                        } else t.K = e;
      -                    }
      -                    e.it = i.it;
      -                    t.it = e;
      -                    i.it = e;
      -                    i.ee = 1;
      -                } else {
      -                    t.ee = 0;
      -                    if (i === this.X) {
      -                        this.X = i.se();
      -                    } else i.se();
      -                    i.ee = 1;
      -                    return;
      -                }
      -            } else {
      -                const s = i.T;
      -                if (s && s.ee === 1) {
      -                    s.ee = t.ee = 0;
      -                    if (i === this.X) return;
      -                    i.ee = 1;
      -                    e = i;
      -                    continue;
      -                } else if (e === t.T) {
      -                    e.ee = 0;
      -                    if (e.T) {
      -                        e.T.it = i;
      -                    }
      -                    if (e.K) {
      -                        e.K.it = t;
      -                    }
      -                    i.K = e.T;
      -                    t.T = e.K;
      -                    e.T = i;
      -                    e.K = t;
      -                    if (i === this.X) {
      -                        this.X = e;
      -                        this.h.it = e;
      -                    } else {
      -                        const t = i.it;
      -                        if (t.T === i) {
      -                            t.T = e;
      -                        } else t.K = e;
      -                    }
      -                    e.it = i.it;
      -                    t.it = e;
      -                    i.it = e;
      -                    i.ee = 1;
      -                } else {
      -                    t.ee = 0;
      -                    if (i === this.X) {
      -                        this.X = i.te();
      -                    } else i.te();
      -                    i.ee = 1;
      -                    return;
      -                }
      -            }
      -            if (this.enableIndex) {
      -                t.ie();
      -                i.ie();
      -                e.ie();
      -            }
      -            return;
      -        }
      -    }
      -    M(e, t, i) {
      -        if (this.X === undefined) {
      -            this.i += 1;
      -            this.X = new this.re(e, t, 0);
      -            this.X.it = this.h;
      -            this.h.it = this.h.T = this.h.K = this.X;
      -            return this.i;
      -        }
      -        let s;
      -        const r = this.h.T;
      -        const n = this.v(r.u, e);
      -        if (n === 0) {
      -            r.l = t;
      -            return this.i;
      -        } else if (n > 0) {
      -            r.T = new this.re(e, t);
      -            r.T.it = r;
      -            s = r.T;
      -            this.h.T = s;
      -        } else {
      -            const r = this.h.K;
      -            const n = this.v(r.u, e);
      -            if (n === 0) {
      -                r.l = t;
      -                return this.i;
      -            } else if (n < 0) {
      -                r.K = new this.re(e, t);
      -                r.K.it = r;
      -                s = r.K;
      -                this.h.K = s;
      -            } else {
      -                if (i !== undefined) {
      -                    const r = i.o;
      -                    if (r !== this.h) {
      -                        const i = this.v(r.u, e);
      -                        if (i === 0) {
      -                            r.l = t;
      -                            return this.i;
      -                        } else if (i > 0) {
      -                            const i = r.L();
      -                            const n = this.v(i.u, e);
      -                            if (n === 0) {
      -                                i.l = t;
      -                                return this.i;
      -                            } else if (n < 0) {
      -                                s = new this.re(e, t);
      -                                if (i.K === undefined) {
      -                                    i.K = s;
      -                                    s.it = i;
      -                                } else {
      -                                    r.T = s;
      -                                    s.it = r;
      -                                }
      -                            }
      -                        }
      -                    }
      -                }
      -                if (s === undefined) {
      -                    s = this.X;
      -                    while (true) {
      -                        const i = this.v(s.u, e);
      -                        if (i > 0) {
      -                            if (s.T === undefined) {
      -                                s.T = new this.re(e, t);
      -                                s.T.it = s;
      -                                s = s.T;
      -                                break;
      -                            }
      -                            s = s.T;
      -                        } else if (i < 0) {
      -                            if (s.K === undefined) {
      -                                s.K = new this.re(e, t);
      -                                s.K.it = s;
      -                                s = s.K;
      -                                break;
      -                            }
      -                            s = s.K;
      -                        } else {
      -                            s.l = t;
      -                            return this.i;
      -                        }
      -                    }
      -                }
      -            }
      -        }
      -        if (this.enableIndex) {
      -            let e = s.it;
      -            while (e !== this.h) {
      -                e.st += 1;
      -                e = e.it;
      -            }
      -        }
      -        this.he(s);
      -        this.i += 1;
      -        return this.i;
      -    }
      -    rt(e, t) {
      -        while (e) {
      -            const i = this.v(e.u, t);
      -            if (i < 0) {
      -                e = e.K;
      -            } else if (i > 0) {
      -                e = e.T;
      -            } else return e;
      -        }
      -        return e || this.h;
      -    }
      -    clear() {
      -        this.i = 0;
      -        this.X = undefined;
      -        this.h.it = undefined;
      -        this.h.T = this.h.K = undefined;
      -    }
      -    updateKeyByIterator(e, t) {
      -        const i = e.o;
      -        if (i === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        if (this.i === 1) {
      -            i.u = t;
      -            return true;
      -        }
      -        const s = i.B().u;
      -        if (i === this.h.T) {
      -            if (this.v(s, t) > 0) {
      -                i.u = t;
      -                return true;
      -            }
      -            return false;
      -        }
      -        const r = i.L().u;
      -        if (i === this.h.K) {
      -            if (this.v(r, t) < 0) {
      -                i.u = t;
      -                return true;
      -            }
      -            return false;
      -        }
      -        if (this.v(r, t) >= 0 || this.v(s, t) <= 0) return false;
      -        i.u = t;
      -        return true;
      -    }
      -    eraseElementByPos(e) {
      -        if (e < 0 || e > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        const t = this.tt(e);
      -        this.V(t);
      -        return this.i;
      -    }
      -    eraseElementByKey(e) {
      -        if (this.i === 0) return false;
      -        const t = this.rt(this.X, e);
      -        if (t === this.h) return false;
      -        this.V(t);
      -        return true;
      -    }
      -    eraseElementByIterator(e) {
      -        const t = e.o;
      -        if (t === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        const i = t.K === undefined;
      -        const s = e.iteratorType === 0;
      -        if (s) {
      -            if (i) e.next();
      -        } else {
      -            if (!i || t.T === undefined) e.next();
      -        }
      -        this.V(t);
      -        return e;
      -    }
      -    getHeight() {
      -        if (this.i === 0) return 0;
      -        function traversal(e) {
      -            if (!e) return 0;
      -            return Math.max(traversal(e.T), traversal(e.K)) + 1;
      -        }
      -        return traversal(this.X);
      -    }
      -}
      -
      -var _default = TreeContainer;
      -
      -exports.default = _default;
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedMap.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedMap.js
      deleted file mode 100644
      index be2b4ed2180376..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedMap.js
      +++ /dev/null
      @@ -1,138 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = _interopRequireDefault(require("./Base"));
      -
      -var _TreeIterator = _interopRequireDefault(require("./Base/TreeIterator"));
      -
      -var _throwError = require("../../utils/throwError");
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class OrderedMapIterator extends _TreeIterator.default {
      -    constructor(t, r, e, s) {
      -        super(t, r, s);
      -        this.container = e;
      -    }
      -    get pointer() {
      -        if (this.o === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        const t = this;
      -        return new Proxy([], {
      -            get(r, e) {
      -                if (e === "0") return t.o.u; else if (e === "1") return t.o.l;
      -            },
      -            set(r, e, s) {
      -                if (e !== "1") {
      -                    throw new TypeError("props must be 1");
      -                }
      -                t.o.l = s;
      -                return true;
      -            }
      -        });
      -    }
      -    copy() {
      -        return new OrderedMapIterator(this.o, this.h, this.container, this.iteratorType);
      -    }
      -}
      -
      -class OrderedMap extends _Base.default {
      -    constructor(t = [], r, e) {
      -        super(r, e);
      -        const s = this;
      -        t.forEach((function(t) {
      -            s.setElement(t[0], t[1]);
      -        }));
      -    }
      -    begin() {
      -        return new OrderedMapIterator(this.h.T || this.h, this.h, this);
      -    }
      -    end() {
      -        return new OrderedMapIterator(this.h, this.h, this);
      -    }
      -    rBegin() {
      -        return new OrderedMapIterator(this.h.K || this.h, this.h, this, 1);
      -    }
      -    rEnd() {
      -        return new OrderedMapIterator(this.h, this.h, this, 1);
      -    }
      -    front() {
      -        if (this.i === 0) return;
      -        const t = this.h.T;
      -        return [ t.u, t.l ];
      -    }
      -    back() {
      -        if (this.i === 0) return;
      -        const t = this.h.K;
      -        return [ t.u, t.l ];
      -    }
      -    lowerBound(t) {
      -        const r = this.U(this.X, t);
      -        return new OrderedMapIterator(r, this.h, this);
      -    }
      -    upperBound(t) {
      -        const r = this.Y(this.X, t);
      -        return new OrderedMapIterator(r, this.h, this);
      -    }
      -    reverseLowerBound(t) {
      -        const r = this.Z(this.X, t);
      -        return new OrderedMapIterator(r, this.h, this);
      -    }
      -    reverseUpperBound(t) {
      -        const r = this.$(this.X, t);
      -        return new OrderedMapIterator(r, this.h, this);
      -    }
      -    forEach(t) {
      -        this.tt((function(r, e, s) {
      -            t([ r.u, r.l ], e, s);
      -        }));
      -    }
      -    setElement(t, r, e) {
      -        return this.M(t, r, e);
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        const r = this.tt(t);
      -        return [ r.u, r.l ];
      -    }
      -    find(t) {
      -        const r = this.rt(this.X, t);
      -        return new OrderedMapIterator(r, this.h, this);
      -    }
      -    getElementByKey(t) {
      -        const r = this.rt(this.X, t);
      -        return r.l;
      -    }
      -    union(t) {
      -        const r = this;
      -        t.forEach((function(t) {
      -            r.setElement(t[0], t[1]);
      -        }));
      -        return this.i;
      -    }
      -    * [Symbol.iterator]() {
      -        const t = this.i;
      -        const r = this.tt();
      -        for (let e = 0; e < t; ++e) {
      -            const t = r[e];
      -            yield [ t.u, t.l ];
      -        }
      -    }
      -}
      -
      -var _default = OrderedMap;
      -
      -exports.default = _default;
      -//# sourceMappingURL=OrderedMap.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedSet.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedSet.js
      deleted file mode 100644
      index dc9c5bce681bcc..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/container/TreeContainer/OrderedSet.js
      +++ /dev/null
      @@ -1,117 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = void 0;
      -
      -var _Base = _interopRequireDefault(require("./Base"));
      -
      -var _TreeIterator = _interopRequireDefault(require("./Base/TreeIterator"));
      -
      -var _throwError = require("../../utils/throwError");
      -
      -function _interopRequireDefault(t) {
      -    return t && t.t ? t : {
      -        default: t
      -    };
      -}
      -
      -class OrderedSetIterator extends _TreeIterator.default {
      -    constructor(t, e, r, s) {
      -        super(t, e, s);
      -        this.container = r;
      -    }
      -    get pointer() {
      -        if (this.o === this.h) {
      -            (0, _throwError.throwIteratorAccessError)();
      -        }
      -        return this.o.u;
      -    }
      -    copy() {
      -        return new OrderedSetIterator(this.o, this.h, this.container, this.iteratorType);
      -    }
      -}
      -
      -class OrderedSet extends _Base.default {
      -    constructor(t = [], e, r) {
      -        super(e, r);
      -        const s = this;
      -        t.forEach((function(t) {
      -            s.insert(t);
      -        }));
      -    }
      -    begin() {
      -        return new OrderedSetIterator(this.h.T || this.h, this.h, this);
      -    }
      -    end() {
      -        return new OrderedSetIterator(this.h, this.h, this);
      -    }
      -    rBegin() {
      -        return new OrderedSetIterator(this.h.K || this.h, this.h, this, 1);
      -    }
      -    rEnd() {
      -        return new OrderedSetIterator(this.h, this.h, this, 1);
      -    }
      -    front() {
      -        return this.h.T ? this.h.T.u : undefined;
      -    }
      -    back() {
      -        return this.h.K ? this.h.K.u : undefined;
      -    }
      -    lowerBound(t) {
      -        const e = this.U(this.X, t);
      -        return new OrderedSetIterator(e, this.h, this);
      -    }
      -    upperBound(t) {
      -        const e = this.Y(this.X, t);
      -        return new OrderedSetIterator(e, this.h, this);
      -    }
      -    reverseLowerBound(t) {
      -        const e = this.Z(this.X, t);
      -        return new OrderedSetIterator(e, this.h, this);
      -    }
      -    reverseUpperBound(t) {
      -        const e = this.$(this.X, t);
      -        return new OrderedSetIterator(e, this.h, this);
      -    }
      -    forEach(t) {
      -        this.tt((function(e, r, s) {
      -            t(e.u, r, s);
      -        }));
      -    }
      -    insert(t, e) {
      -        return this.M(t, undefined, e);
      -    }
      -    getElementByPos(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        const e = this.tt(t);
      -        return e.u;
      -    }
      -    find(t) {
      -        const e = this.rt(this.X, t);
      -        return new OrderedSetIterator(e, this.h, this);
      -    }
      -    union(t) {
      -        const e = this;
      -        t.forEach((function(t) {
      -            e.insert(t);
      -        }));
      -        return this.i;
      -    }
      -    * [Symbol.iterator]() {
      -        const t = this.i;
      -        const e = this.tt();
      -        for (let r = 0; r < t; ++r) {
      -            yield e[r].u;
      -        }
      -    }
      -}
      -
      -var _default = OrderedSet;
      -
      -exports.default = _default;
      -//# sourceMappingURL=OrderedSet.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/index.js
      deleted file mode 100644
      index a6d00a48ad7e5b..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/index.js
      +++ /dev/null
      @@ -1,102 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -Object.defineProperty(exports, "Deque", {
      -    enumerable: true,
      -    get: function() {
      -        return _Deque.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "HashMap", {
      -    enumerable: true,
      -    get: function() {
      -        return _HashMap.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "HashSet", {
      -    enumerable: true,
      -    get: function() {
      -        return _HashSet.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "LinkList", {
      -    enumerable: true,
      -    get: function() {
      -        return _LinkList.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "OrderedMap", {
      -    enumerable: true,
      -    get: function() {
      -        return _OrderedMap.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "OrderedSet", {
      -    enumerable: true,
      -    get: function() {
      -        return _OrderedSet.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "PriorityQueue", {
      -    enumerable: true,
      -    get: function() {
      -        return _PriorityQueue.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "Queue", {
      -    enumerable: true,
      -    get: function() {
      -        return _Queue.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "Stack", {
      -    enumerable: true,
      -    get: function() {
      -        return _Stack.default;
      -    }
      -});
      -
      -Object.defineProperty(exports, "Vector", {
      -    enumerable: true,
      -    get: function() {
      -        return _Vector.default;
      -    }
      -});
      -
      -var _Stack = _interopRequireDefault(require("./container/OtherContainer/Stack"));
      -
      -var _Queue = _interopRequireDefault(require("./container/OtherContainer/Queue"));
      -
      -var _PriorityQueue = _interopRequireDefault(require("./container/OtherContainer/PriorityQueue"));
      -
      -var _Vector = _interopRequireDefault(require("./container/SequentialContainer/Vector"));
      -
      -var _LinkList = _interopRequireDefault(require("./container/SequentialContainer/LinkList"));
      -
      -var _Deque = _interopRequireDefault(require("./container/SequentialContainer/Deque"));
      -
      -var _OrderedSet = _interopRequireDefault(require("./container/TreeContainer/OrderedSet"));
      -
      -var _OrderedMap = _interopRequireDefault(require("./container/TreeContainer/OrderedMap"));
      -
      -var _HashSet = _interopRequireDefault(require("./container/HashContainer/HashSet"));
      -
      -var _HashMap = _interopRequireDefault(require("./container/HashContainer/HashMap"));
      -
      -function _interopRequireDefault(e) {
      -    return e && e.t ? e : {
      -        default: e
      -    };
      -}
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/checkObject.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/checkObject.js
      deleted file mode 100644
      index 1c93a9048cb570..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/checkObject.js
      +++ /dev/null
      @@ -1,13 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.default = checkObject;
      -
      -function checkObject(e) {
      -    const t = typeof e;
      -    return t === "object" && e !== null || t === "function";
      -}
      -//# sourceMappingURL=checkObject.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/math.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/math.js
      deleted file mode 100644
      index 13aec3ce91f684..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/math.js
      +++ /dev/null
      @@ -1,18 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.ceil = ceil;
      -
      -exports.floor = void 0;
      -
      -function ceil(e, t) {
      -    return Math.floor((e + t - 1) / t);
      -}
      -
      -const floor = Math.floor;
      -
      -exports.floor = floor;
      -//# sourceMappingURL=math.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/throwError.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/throwError.js
      deleted file mode 100644
      index ea052b9c2740df..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/cjs/utils/throwError.js
      +++ /dev/null
      @@ -1,12 +0,0 @@
      -"use strict";
      -
      -Object.defineProperty(exports, "t", {
      -    value: true
      -});
      -
      -exports.throwIteratorAccessError = throwIteratorAccessError;
      -
      -function throwIteratorAccessError() {
      -    throw new RangeError("Iterator access denied!");
      -}
      -//# sourceMappingURL=throwError.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/ContainerBase/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/ContainerBase/index.js
      deleted file mode 100644
      index ce49ce81ba3b45..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/ContainerBase/index.js
      +++ /dev/null
      @@ -1,68 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(n, t) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(n, t) {
      -            n.__proto__ = t;
      -        } || function(n, t) {
      -            for (var r in t) if (Object.prototype.hasOwnProperty.call(t, r)) n[r] = t[r];
      -        };
      -        return extendStatics(n, t);
      -    };
      -    return function(n, t) {
      -        if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
      -        extendStatics(n, t);
      -        function __() {
      -            this.constructor = n;
      -        }
      -        n.prototype = t === null ? Object.create(t) : (__.prototype = t.prototype, new __);
      -    };
      -}();
      -
      -var ContainerIterator = function() {
      -    function ContainerIterator(n) {
      -        if (n === void 0) {
      -            n = 0;
      -        }
      -        this.iteratorType = n;
      -    }
      -    ContainerIterator.prototype.equals = function(n) {
      -        return this.o === n.o;
      -    };
      -    return ContainerIterator;
      -}();
      -
      -export { ContainerIterator };
      -
      -var Base = function() {
      -    function Base() {
      -        this.i = 0;
      -    }
      -    Object.defineProperty(Base.prototype, "length", {
      -        get: function() {
      -            return this.i;
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    Base.prototype.size = function() {
      -        return this.i;
      -    };
      -    Base.prototype.empty = function() {
      -        return this.i === 0;
      -    };
      -    return Base;
      -}();
      -
      -export { Base };
      -
      -var Container = function(n) {
      -    __extends(Container, n);
      -    function Container() {
      -        return n !== null && n.apply(this, arguments) || this;
      -    }
      -    return Container;
      -}(Base);
      -
      -export { Container };
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/Base/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/Base/index.js
      deleted file mode 100644
      index e441b5e2600bc4..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/Base/index.js
      +++ /dev/null
      @@ -1,200 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, i) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, i) {
      -            t.__proto__ = i;
      -        } || function(t, i) {
      -            for (var r in i) if (Object.prototype.hasOwnProperty.call(i, r)) t[r] = i[r];
      -        };
      -        return extendStatics(t, i);
      -    };
      -    return function(t, i) {
      -        if (typeof i !== "function" && i !== null) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
      -        extendStatics(t, i);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = i === null ? Object.create(i) : (__.prototype = i.prototype, new __);
      -    };
      -}();
      -
      -import { Container, ContainerIterator } from "../../ContainerBase";
      -
      -import checkObject from "../../../utils/checkObject";
      -
      -import { throwIteratorAccessError } from "../../../utils/throwError";
      -
      -var HashContainerIterator = function(t) {
      -    __extends(HashContainerIterator, t);
      -    function HashContainerIterator(i, r, e) {
      -        var n = t.call(this, e) || this;
      -        n.o = i;
      -        n.u = r;
      -        if (n.iteratorType === 0) {
      -            n.pre = function() {
      -                if (this.o.L === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -            n.next = function() {
      -                if (this.o === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.m;
      -                return this;
      -            };
      -        } else {
      -            n.pre = function() {
      -                if (this.o.m === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.m;
      -                return this;
      -            };
      -            n.next = function() {
      -                if (this.o === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -        }
      -        return n;
      -    }
      -    return HashContainerIterator;
      -}(ContainerIterator);
      -
      -export { HashContainerIterator };
      -
      -var HashContainer = function(t) {
      -    __extends(HashContainer, t);
      -    function HashContainer() {
      -        var i = t.call(this) || this;
      -        i._ = [];
      -        i.I = {};
      -        i.HASH_TAG = Symbol("@@HASH_TAG");
      -        Object.setPrototypeOf(i.I, null);
      -        i.u = {};
      -        i.u.L = i.u.m = i.l = i.M = i.u;
      -        return i;
      -    }
      -    HashContainer.prototype.U = function(t) {
      -        var i = t.L, r = t.m;
      -        i.m = r;
      -        r.L = i;
      -        if (t === this.l) {
      -            this.l = r;
      -        }
      -        if (t === this.M) {
      -            this.M = i;
      -        }
      -        this.i -= 1;
      -    };
      -    HashContainer.prototype.v = function(t, i, r) {
      -        if (r === undefined) r = checkObject(t);
      -        var e;
      -        if (r) {
      -            var n = t[this.HASH_TAG];
      -            if (n !== undefined) {
      -                this._[n].H = i;
      -                return this.i;
      -            }
      -            Object.defineProperty(t, this.HASH_TAG, {
      -                value: this._.length,
      -                configurable: true
      -            });
      -            e = {
      -                p: t,
      -                H: i,
      -                L: this.M,
      -                m: this.u
      -            };
      -            this._.push(e);
      -        } else {
      -            var s = this.I[t];
      -            if (s) {
      -                s.H = i;
      -                return this.i;
      -            }
      -            this.I[t] = e = {
      -                p: t,
      -                H: i,
      -                L: this.M,
      -                m: this.u
      -            };
      -        }
      -        if (this.i === 0) {
      -            this.l = e;
      -            this.u.m = e;
      -        } else {
      -            this.M.m = e;
      -        }
      -        this.M = e;
      -        this.u.L = e;
      -        return ++this.i;
      -    };
      -    HashContainer.prototype.g = function(t, i) {
      -        if (i === undefined) i = checkObject(t);
      -        if (i) {
      -            var r = t[this.HASH_TAG];
      -            if (r === undefined) return this.u;
      -            return this._[r];
      -        } else {
      -            return this.I[t] || this.u;
      -        }
      -    };
      -    HashContainer.prototype.clear = function() {
      -        var t = this.HASH_TAG;
      -        this._.forEach((function(i) {
      -            delete i.p[t];
      -        }));
      -        this._ = [];
      -        this.I = {};
      -        Object.setPrototypeOf(this.I, null);
      -        this.i = 0;
      -        this.l = this.M = this.u.L = this.u.m = this.u;
      -    };
      -    HashContainer.prototype.eraseElementByKey = function(t, i) {
      -        var r;
      -        if (i === undefined) i = checkObject(t);
      -        if (i) {
      -            var e = t[this.HASH_TAG];
      -            if (e === undefined) return false;
      -            delete t[this.HASH_TAG];
      -            r = this._[e];
      -            delete this._[e];
      -        } else {
      -            r = this.I[t];
      -            if (r === undefined) return false;
      -            delete this.I[t];
      -        }
      -        this.U(r);
      -        return true;
      -    };
      -    HashContainer.prototype.eraseElementByIterator = function(t) {
      -        var i = t.o;
      -        if (i === this.u) {
      -            throwIteratorAccessError();
      -        }
      -        this.U(i);
      -        return t.next();
      -    };
      -    HashContainer.prototype.eraseElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var i = this.l;
      -        while (t--) {
      -            i = i.m;
      -        }
      -        this.U(i);
      -        return this.i;
      -    };
      -    return HashContainer;
      -}(Container);
      -
      -export { HashContainer };
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashMap.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashMap.js
      deleted file mode 100644
      index 618afbd9b6d0e7..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashMap.js
      +++ /dev/null
      @@ -1,246 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, r) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, r) {
      -            t.__proto__ = r;
      -        } || function(t, r) {
      -            for (var n in r) if (Object.prototype.hasOwnProperty.call(r, n)) t[n] = r[n];
      -        };
      -        return extendStatics(t, r);
      -    };
      -    return function(t, r) {
      -        if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
      -        extendStatics(t, r);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(t, r) {
      -    var n = {
      -        label: 0,
      -        sent: function() {
      -            if (a[0] & 1) throw a[1];
      -            return a[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, e, i, a, s;
      -    return s = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (s[Symbol.iterator] = function() {
      -        return this;
      -    }), s;
      -    function verb(t) {
      -        return function(r) {
      -            return step([ t, r ]);
      -        };
      -    }
      -    function step(s) {
      -        if (e) throw new TypeError("Generator is already executing.");
      -        while (n) try {
      -            if (e = 1, i && (a = s[0] & 2 ? i["return"] : s[0] ? i["throw"] || ((a = i["return"]) && a.call(i), 
      -            0) : i.next) && !(a = a.call(i, s[1])).done) return a;
      -            if (i = 0, a) s = [ s[0] & 2, a.value ];
      -            switch (s[0]) {
      -              case 0:
      -              case 1:
      -                a = s;
      -                break;
      -
      -              case 4:
      -                n.label++;
      -                return {
      -                    value: s[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                n.label++;
      -                i = s[1];
      -                s = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                s = n.ops.pop();
      -                n.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(a = n.trys, a = a.length > 0 && a[a.length - 1]) && (s[0] === 6 || s[0] === 2)) {
      -                    n = 0;
      -                    continue;
      -                }
      -                if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
      -                    n.label = s[1];
      -                    break;
      -                }
      -                if (s[0] === 6 && n.label < a[1]) {
      -                    n.label = a[1];
      -                    a = s;
      -                    break;
      -                }
      -                if (a && n.label < a[2]) {
      -                    n.label = a[2];
      -                    n.ops.push(s);
      -                    break;
      -                }
      -                if (a[2]) n.ops.pop();
      -                n.trys.pop();
      -                continue;
      -            }
      -            s = r.call(t, n);
      -        } catch (t) {
      -            s = [ 6, t ];
      -            i = 0;
      -        } finally {
      -            e = a = 0;
      -        }
      -        if (s[0] & 5) throw s[1];
      -        return {
      -            value: s[0] ? s[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -import { HashContainer, HashContainerIterator } from "./Base";
      -
      -import checkObject from "../../utils/checkObject";
      -
      -import { throwIteratorAccessError } from "../../utils/throwError";
      -
      -var HashMapIterator = function(t) {
      -    __extends(HashMapIterator, t);
      -    function HashMapIterator(r, n, e, i) {
      -        var a = t.call(this, r, n, i) || this;
      -        a.container = e;
      -        return a;
      -    }
      -    Object.defineProperty(HashMapIterator.prototype, "pointer", {
      -        get: function() {
      -            if (this.o === this.u) {
      -                throwIteratorAccessError();
      -            }
      -            var t = this;
      -            return new Proxy([], {
      -                get: function(r, n) {
      -                    if (n === "0") return t.o.p; else if (n === "1") return t.o.H;
      -                },
      -                set: function(r, n, e) {
      -                    if (n !== "1") {
      -                        throw new TypeError("props must be 1");
      -                    }
      -                    t.o.H = e;
      -                    return true;
      -                }
      -            });
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    HashMapIterator.prototype.copy = function() {
      -        return new HashMapIterator(this.o, this.u, this.container, this.iteratorType);
      -    };
      -    return HashMapIterator;
      -}(HashContainerIterator);
      -
      -var HashMap = function(t) {
      -    __extends(HashMap, t);
      -    function HashMap(r) {
      -        if (r === void 0) {
      -            r = [];
      -        }
      -        var n = t.call(this) || this;
      -        var e = n;
      -        r.forEach((function(t) {
      -            e.setElement(t[0], t[1]);
      -        }));
      -        return n;
      -    }
      -    HashMap.prototype.begin = function() {
      -        return new HashMapIterator(this.l, this.u, this);
      -    };
      -    HashMap.prototype.end = function() {
      -        return new HashMapIterator(this.u, this.u, this);
      -    };
      -    HashMap.prototype.rBegin = function() {
      -        return new HashMapIterator(this.M, this.u, this, 1);
      -    };
      -    HashMap.prototype.rEnd = function() {
      -        return new HashMapIterator(this.u, this.u, this, 1);
      -    };
      -    HashMap.prototype.front = function() {
      -        if (this.i === 0) return;
      -        return [ this.l.p, this.l.H ];
      -    };
      -    HashMap.prototype.back = function() {
      -        if (this.i === 0) return;
      -        return [ this.M.p, this.M.H ];
      -    };
      -    HashMap.prototype.setElement = function(t, r, n) {
      -        return this.v(t, r, n);
      -    };
      -    HashMap.prototype.getElementByKey = function(t, r) {
      -        if (r === undefined) r = checkObject(t);
      -        if (r) {
      -            var n = t[this.HASH_TAG];
      -            return n !== undefined ? this._[n].H : undefined;
      -        }
      -        var e = this.I[t];
      -        return e ? e.H : undefined;
      -    };
      -    HashMap.prototype.getElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var r = this.l;
      -        while (t--) {
      -            r = r.m;
      -        }
      -        return [ r.p, r.H ];
      -    };
      -    HashMap.prototype.find = function(t, r) {
      -        var n = this.g(t, r);
      -        return new HashMapIterator(n, this.u, this);
      -    };
      -    HashMap.prototype.forEach = function(t) {
      -        var r = 0;
      -        var n = this.l;
      -        while (n !== this.u) {
      -            t([ n.p, n.H ], r++, this);
      -            n = n.m;
      -        }
      -    };
      -    HashMap.prototype[Symbol.iterator] = function() {
      -        var t;
      -        return __generator(this, (function(r) {
      -            switch (r.label) {
      -              case 0:
      -                t = this.l;
      -                r.label = 1;
      -
      -              case 1:
      -                if (!(t !== this.u)) return [ 3, 3 ];
      -                return [ 4, [ t.p, t.H ] ];
      -
      -              case 2:
      -                r.sent();
      -                t = t.m;
      -                return [ 3, 1 ];
      -
      -              case 3:
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return HashMap;
      -}(HashContainer);
      -
      -export default HashMap;
      -//# sourceMappingURL=HashMap.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashSet.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashSet.js
      deleted file mode 100644
      index 3e106fdba7604d..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/HashContainer/HashSet.js
      +++ /dev/null
      @@ -1,221 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, r) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, r) {
      -            t.__proto__ = r;
      -        } || function(t, r) {
      -            for (var e in r) if (Object.prototype.hasOwnProperty.call(r, e)) t[e] = r[e];
      -        };
      -        return extendStatics(t, r);
      -    };
      -    return function(t, r) {
      -        if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
      -        extendStatics(t, r);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(t, r) {
      -    var e = {
      -        label: 0,
      -        sent: function() {
      -            if (s[0] & 1) throw s[1];
      -            return s[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, n, i, s, a;
      -    return a = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (a[Symbol.iterator] = function() {
      -        return this;
      -    }), a;
      -    function verb(t) {
      -        return function(r) {
      -            return step([ t, r ]);
      -        };
      -    }
      -    function step(a) {
      -        if (n) throw new TypeError("Generator is already executing.");
      -        while (e) try {
      -            if (n = 1, i && (s = a[0] & 2 ? i["return"] : a[0] ? i["throw"] || ((s = i["return"]) && s.call(i), 
      -            0) : i.next) && !(s = s.call(i, a[1])).done) return s;
      -            if (i = 0, s) a = [ a[0] & 2, s.value ];
      -            switch (a[0]) {
      -              case 0:
      -              case 1:
      -                s = a;
      -                break;
      -
      -              case 4:
      -                e.label++;
      -                return {
      -                    value: a[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                e.label++;
      -                i = a[1];
      -                a = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                a = e.ops.pop();
      -                e.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(s = e.trys, s = s.length > 0 && s[s.length - 1]) && (a[0] === 6 || a[0] === 2)) {
      -                    e = 0;
      -                    continue;
      -                }
      -                if (a[0] === 3 && (!s || a[1] > s[0] && a[1] < s[3])) {
      -                    e.label = a[1];
      -                    break;
      -                }
      -                if (a[0] === 6 && e.label < s[1]) {
      -                    e.label = s[1];
      -                    s = a;
      -                    break;
      -                }
      -                if (s && e.label < s[2]) {
      -                    e.label = s[2];
      -                    e.ops.push(a);
      -                    break;
      -                }
      -                if (s[2]) e.ops.pop();
      -                e.trys.pop();
      -                continue;
      -            }
      -            a = r.call(t, e);
      -        } catch (t) {
      -            a = [ 6, t ];
      -            i = 0;
      -        } finally {
      -            n = s = 0;
      -        }
      -        if (a[0] & 5) throw a[1];
      -        return {
      -            value: a[0] ? a[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -import { HashContainer, HashContainerIterator } from "./Base";
      -
      -import { throwIteratorAccessError } from "../../utils/throwError";
      -
      -var HashSetIterator = function(t) {
      -    __extends(HashSetIterator, t);
      -    function HashSetIterator(r, e, n, i) {
      -        var s = t.call(this, r, e, i) || this;
      -        s.container = n;
      -        return s;
      -    }
      -    Object.defineProperty(HashSetIterator.prototype, "pointer", {
      -        get: function() {
      -            if (this.o === this.u) {
      -                throwIteratorAccessError();
      -            }
      -            return this.o.p;
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    HashSetIterator.prototype.copy = function() {
      -        return new HashSetIterator(this.o, this.u, this.container, this.iteratorType);
      -    };
      -    return HashSetIterator;
      -}(HashContainerIterator);
      -
      -var HashSet = function(t) {
      -    __extends(HashSet, t);
      -    function HashSet(r) {
      -        if (r === void 0) {
      -            r = [];
      -        }
      -        var e = t.call(this) || this;
      -        var n = e;
      -        r.forEach((function(t) {
      -            n.insert(t);
      -        }));
      -        return e;
      -    }
      -    HashSet.prototype.begin = function() {
      -        return new HashSetIterator(this.l, this.u, this);
      -    };
      -    HashSet.prototype.end = function() {
      -        return new HashSetIterator(this.u, this.u, this);
      -    };
      -    HashSet.prototype.rBegin = function() {
      -        return new HashSetIterator(this.M, this.u, this, 1);
      -    };
      -    HashSet.prototype.rEnd = function() {
      -        return new HashSetIterator(this.u, this.u, this, 1);
      -    };
      -    HashSet.prototype.front = function() {
      -        return this.l.p;
      -    };
      -    HashSet.prototype.back = function() {
      -        return this.M.p;
      -    };
      -    HashSet.prototype.insert = function(t, r) {
      -        return this.v(t, undefined, r);
      -    };
      -    HashSet.prototype.getElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var r = this.l;
      -        while (t--) {
      -            r = r.m;
      -        }
      -        return r.p;
      -    };
      -    HashSet.prototype.find = function(t, r) {
      -        var e = this.g(t, r);
      -        return new HashSetIterator(e, this.u, this);
      -    };
      -    HashSet.prototype.forEach = function(t) {
      -        var r = 0;
      -        var e = this.l;
      -        while (e !== this.u) {
      -            t(e.p, r++, this);
      -            e = e.m;
      -        }
      -    };
      -    HashSet.prototype[Symbol.iterator] = function() {
      -        var t;
      -        return __generator(this, (function(r) {
      -            switch (r.label) {
      -              case 0:
      -                t = this.l;
      -                r.label = 1;
      -
      -              case 1:
      -                if (!(t !== this.u)) return [ 3, 3 ];
      -                return [ 4, t.p ];
      -
      -              case 2:
      -                r.sent();
      -                t = t.m;
      -                return [ 3, 1 ];
      -
      -              case 3:
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return HashSet;
      -}(HashContainer);
      -
      -export default HashSet;
      -//# sourceMappingURL=HashSet.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/PriorityQueue.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/PriorityQueue.js
      deleted file mode 100644
      index 03355ad71a62de..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/PriorityQueue.js
      +++ /dev/null
      @@ -1,171 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(i, r) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(i, r) {
      -            i.__proto__ = r;
      -        } || function(i, r) {
      -            for (var t in r) if (Object.prototype.hasOwnProperty.call(r, t)) i[t] = r[t];
      -        };
      -        return extendStatics(i, r);
      -    };
      -    return function(i, r) {
      -        if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
      -        extendStatics(i, r);
      -        function __() {
      -            this.constructor = i;
      -        }
      -        i.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
      -    };
      -}();
      -
      -var __read = this && this.P || function(i, r) {
      -    var t = typeof Symbol === "function" && i[Symbol.iterator];
      -    if (!t) return i;
      -    var e = t.call(i), n, u = [], s;
      -    try {
      -        while ((r === void 0 || r-- > 0) && !(n = e.next()).done) u.push(n.value);
      -    } catch (i) {
      -        s = {
      -            error: i
      -        };
      -    } finally {
      -        try {
      -            if (n && !n.done && (t = e["return"])) t.call(e);
      -        } finally {
      -            if (s) throw s.error;
      -        }
      -    }
      -    return u;
      -};
      -
      -var __spreadArray = this && this.A || function(i, r, t) {
      -    if (t || arguments.length === 2) for (var e = 0, n = r.length, u; e < n; e++) {
      -        if (u || !(e in r)) {
      -            if (!u) u = Array.prototype.slice.call(r, 0, e);
      -            u[e] = r[e];
      -        }
      -    }
      -    return i.concat(u || Array.prototype.slice.call(r));
      -};
      -
      -import { Base } from "../ContainerBase";
      -
      -var PriorityQueue = function(i) {
      -    __extends(PriorityQueue, i);
      -    function PriorityQueue(r, t, e) {
      -        if (r === void 0) {
      -            r = [];
      -        }
      -        if (t === void 0) {
      -            t = function(i, r) {
      -                if (i > r) return -1;
      -                if (i < r) return 1;
      -                return 0;
      -            };
      -        }
      -        if (e === void 0) {
      -            e = true;
      -        }
      -        var n = i.call(this) || this;
      -        n.j = t;
      -        if (Array.isArray(r)) {
      -            n.B = e ? __spreadArray([], __read(r), false) : r;
      -        } else {
      -            n.B = [];
      -            var u = n;
      -            r.forEach((function(i) {
      -                u.B.push(i);
      -            }));
      -        }
      -        n.i = n.B.length;
      -        var s = n.i >> 1;
      -        for (var o = n.i - 1 >> 1; o >= 0; --o) {
      -            n.O(o, s);
      -        }
      -        return n;
      -    }
      -    PriorityQueue.prototype.S = function(i) {
      -        var r = this.B[i];
      -        while (i > 0) {
      -            var t = i - 1 >> 1;
      -            var e = this.B[t];
      -            if (this.j(e, r) <= 0) break;
      -            this.B[i] = e;
      -            i = t;
      -        }
      -        this.B[i] = r;
      -    };
      -    PriorityQueue.prototype.O = function(i, r) {
      -        var t = this.B[i];
      -        while (i < r) {
      -            var e = i << 1 | 1;
      -            var n = e + 1;
      -            var u = this.B[e];
      -            if (n < this.i && this.j(u, this.B[n]) > 0) {
      -                e = n;
      -                u = this.B[n];
      -            }
      -            if (this.j(u, t) >= 0) break;
      -            this.B[i] = u;
      -            i = e;
      -        }
      -        this.B[i] = t;
      -    };
      -    PriorityQueue.prototype.clear = function() {
      -        this.i = 0;
      -        this.B.length = 0;
      -    };
      -    PriorityQueue.prototype.push = function(i) {
      -        this.B.push(i);
      -        this.S(this.i);
      -        this.i += 1;
      -    };
      -    PriorityQueue.prototype.pop = function() {
      -        if (this.i === 0) return;
      -        var i = this.B[0];
      -        var r = this.B.pop();
      -        this.i -= 1;
      -        if (this.i) {
      -            this.B[0] = r;
      -            this.O(0, this.i >> 1);
      -        }
      -        return i;
      -    };
      -    PriorityQueue.prototype.top = function() {
      -        return this.B[0];
      -    };
      -    PriorityQueue.prototype.find = function(i) {
      -        return this.B.indexOf(i) >= 0;
      -    };
      -    PriorityQueue.prototype.remove = function(i) {
      -        var r = this.B.indexOf(i);
      -        if (r < 0) return false;
      -        if (r === 0) {
      -            this.pop();
      -        } else if (r === this.i - 1) {
      -            this.B.pop();
      -            this.i -= 1;
      -        } else {
      -            this.B.splice(r, 1, this.B.pop());
      -            this.i -= 1;
      -            this.S(r);
      -            this.O(r, this.i >> 1);
      -        }
      -        return true;
      -    };
      -    PriorityQueue.prototype.updateItem = function(i) {
      -        var r = this.B.indexOf(i);
      -        if (r < 0) return false;
      -        this.S(r);
      -        this.O(r, this.i >> 1);
      -        return true;
      -    };
      -    PriorityQueue.prototype.toArray = function() {
      -        return __spreadArray([], __read(this.B), false);
      -    };
      -    return PriorityQueue;
      -}(Base);
      -
      -export default PriorityQueue;
      -//# sourceMappingURL=PriorityQueue.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Queue.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Queue.js
      deleted file mode 100644
      index d3231653f75182..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Queue.js
      +++ /dev/null
      @@ -1,69 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, i) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, i) {
      -            t.__proto__ = i;
      -        } || function(t, i) {
      -            for (var n in i) if (Object.prototype.hasOwnProperty.call(i, n)) t[n] = i[n];
      -        };
      -        return extendStatics(t, i);
      -    };
      -    return function(t, i) {
      -        if (typeof i !== "function" && i !== null) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
      -        extendStatics(t, i);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = i === null ? Object.create(i) : (__.prototype = i.prototype, new __);
      -    };
      -}();
      -
      -import { Base } from "../ContainerBase";
      -
      -var Queue = function(t) {
      -    __extends(Queue, t);
      -    function Queue(i) {
      -        if (i === void 0) {
      -            i = [];
      -        }
      -        var n = t.call(this) || this;
      -        n.C = 0;
      -        n.T = [];
      -        var e = n;
      -        i.forEach((function(t) {
      -            e.push(t);
      -        }));
      -        return n;
      -    }
      -    Queue.prototype.clear = function() {
      -        this.T = [];
      -        this.i = this.C = 0;
      -    };
      -    Queue.prototype.push = function(t) {
      -        var i = this.T.length;
      -        if (this.C / i > .5 && this.C + this.i >= i && i > 4096) {
      -            var n = this.i;
      -            for (var e = 0; e < n; ++e) {
      -                this.T[e] = this.T[this.C + e];
      -            }
      -            this.C = 0;
      -            this.T[this.i] = t;
      -        } else this.T[this.C + this.i] = t;
      -        return ++this.i;
      -    };
      -    Queue.prototype.pop = function() {
      -        if (this.i === 0) return;
      -        var t = this.T[this.C++];
      -        this.i -= 1;
      -        return t;
      -    };
      -    Queue.prototype.front = function() {
      -        if (this.i === 0) return;
      -        return this.T[this.C];
      -    };
      -    return Queue;
      -}(Base);
      -
      -export default Queue;
      -//# sourceMappingURL=Queue.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Stack.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Stack.js
      deleted file mode 100644
      index fde124f2b1a29a..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/OtherContainer/Stack.js
      +++ /dev/null
      @@ -1,59 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, n) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, n) {
      -            t.__proto__ = n;
      -        } || function(t, n) {
      -            for (var i in n) if (Object.prototype.hasOwnProperty.call(n, i)) t[i] = n[i];
      -        };
      -        return extendStatics(t, n);
      -    };
      -    return function(t, n) {
      -        if (typeof n !== "function" && n !== null) throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
      -        extendStatics(t, n);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = n === null ? Object.create(n) : (__.prototype = n.prototype, new __);
      -    };
      -}();
      -
      -import { Base } from "../ContainerBase";
      -
      -var Stack = function(t) {
      -    __extends(Stack, t);
      -    function Stack(n) {
      -        if (n === void 0) {
      -            n = [];
      -        }
      -        var i = t.call(this) || this;
      -        i.k = [];
      -        var r = i;
      -        n.forEach((function(t) {
      -            r.push(t);
      -        }));
      -        return i;
      -    }
      -    Stack.prototype.clear = function() {
      -        this.i = 0;
      -        this.k = [];
      -    };
      -    Stack.prototype.push = function(t) {
      -        this.k.push(t);
      -        this.i += 1;
      -        return this.i;
      -    };
      -    Stack.prototype.pop = function() {
      -        if (this.i === 0) return;
      -        this.i -= 1;
      -        return this.k.pop();
      -    };
      -    Stack.prototype.top = function() {
      -        return this.k[this.i - 1];
      -    };
      -    return Stack;
      -}(Base);
      -
      -export default Stack;
      -//# sourceMappingURL=Stack.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/RandomIterator.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/RandomIterator.js
      deleted file mode 100644
      index cf0b8240151de6..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/RandomIterator.js
      +++ /dev/null
      @@ -1,78 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, r) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, r) {
      -            t.__proto__ = r;
      -        } || function(t, r) {
      -            for (var n in r) if (Object.prototype.hasOwnProperty.call(r, n)) t[n] = r[n];
      -        };
      -        return extendStatics(t, r);
      -    };
      -    return function(t, r) {
      -        if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
      -        extendStatics(t, r);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
      -    };
      -}();
      -
      -import { ContainerIterator } from "../../ContainerBase";
      -
      -import { throwIteratorAccessError } from "../../../utils/throwError";
      -
      -var RandomIterator = function(t) {
      -    __extends(RandomIterator, t);
      -    function RandomIterator(r, n) {
      -        var o = t.call(this, n) || this;
      -        o.o = r;
      -        if (o.iteratorType === 0) {
      -            o.pre = function() {
      -                if (this.o === 0) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o -= 1;
      -                return this;
      -            };
      -            o.next = function() {
      -                if (this.o === this.container.size()) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o += 1;
      -                return this;
      -            };
      -        } else {
      -            o.pre = function() {
      -                if (this.o === this.container.size() - 1) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o += 1;
      -                return this;
      -            };
      -            o.next = function() {
      -                if (this.o === -1) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o -= 1;
      -                return this;
      -            };
      -        }
      -        return o;
      -    }
      -    Object.defineProperty(RandomIterator.prototype, "pointer", {
      -        get: function() {
      -            return this.container.getElementByPos(this.o);
      -        },
      -        set: function(t) {
      -            this.container.setElementByPos(this.o, t);
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    return RandomIterator;
      -}(ContainerIterator);
      -
      -export { RandomIterator };
      -//# sourceMappingURL=RandomIterator.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/index.js
      deleted file mode 100644
      index 8ac697b286f647..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Base/index.js
      +++ /dev/null
      @@ -1,33 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(n, t) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(n, t) {
      -            n.__proto__ = t;
      -        } || function(n, t) {
      -            for (var e in t) if (Object.prototype.hasOwnProperty.call(t, e)) n[e] = t[e];
      -        };
      -        return extendStatics(n, t);
      -    };
      -    return function(n, t) {
      -        if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
      -        extendStatics(n, t);
      -        function __() {
      -            this.constructor = n;
      -        }
      -        n.prototype = t === null ? Object.create(t) : (__.prototype = t.prototype, new __);
      -    };
      -}();
      -
      -import { Container } from "../../ContainerBase";
      -
      -var SequentialContainer = function(n) {
      -    __extends(SequentialContainer, n);
      -    function SequentialContainer() {
      -        return n !== null && n.apply(this, arguments) || this;
      -    }
      -    return SequentialContainer;
      -}(Container);
      -
      -export default SequentialContainer;
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Deque.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Deque.js
      deleted file mode 100644
      index deb9ebadb0db26..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Deque.js
      +++ /dev/null
      @@ -1,514 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, i) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, i) {
      -            t.__proto__ = i;
      -        } || function(t, i) {
      -            for (var r in i) if (Object.prototype.hasOwnProperty.call(i, r)) t[r] = i[r];
      -        };
      -        return extendStatics(t, i);
      -    };
      -    return function(t, i) {
      -        if (typeof i !== "function" && i !== null) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
      -        extendStatics(t, i);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = i === null ? Object.create(i) : (__.prototype = i.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(t, i) {
      -    var r = {
      -        label: 0,
      -        sent: function() {
      -            if (h[0] & 1) throw h[1];
      -            return h[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, e, s, h, n;
      -    return n = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (n[Symbol.iterator] = function() {
      -        return this;
      -    }), n;
      -    function verb(t) {
      -        return function(i) {
      -            return step([ t, i ]);
      -        };
      -    }
      -    function step(n) {
      -        if (e) throw new TypeError("Generator is already executing.");
      -        while (r) try {
      -            if (e = 1, s && (h = n[0] & 2 ? s["return"] : n[0] ? s["throw"] || ((h = s["return"]) && h.call(s), 
      -            0) : s.next) && !(h = h.call(s, n[1])).done) return h;
      -            if (s = 0, h) n = [ n[0] & 2, h.value ];
      -            switch (n[0]) {
      -              case 0:
      -              case 1:
      -                h = n;
      -                break;
      -
      -              case 4:
      -                r.label++;
      -                return {
      -                    value: n[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                r.label++;
      -                s = n[1];
      -                n = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                n = r.ops.pop();
      -                r.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(h = r.trys, h = h.length > 0 && h[h.length - 1]) && (n[0] === 6 || n[0] === 2)) {
      -                    r = 0;
      -                    continue;
      -                }
      -                if (n[0] === 3 && (!h || n[1] > h[0] && n[1] < h[3])) {
      -                    r.label = n[1];
      -                    break;
      -                }
      -                if (n[0] === 6 && r.label < h[1]) {
      -                    r.label = h[1];
      -                    h = n;
      -                    break;
      -                }
      -                if (h && r.label < h[2]) {
      -                    r.label = h[2];
      -                    r.ops.push(n);
      -                    break;
      -                }
      -                if (h[2]) r.ops.pop();
      -                r.trys.pop();
      -                continue;
      -            }
      -            n = i.call(t, r);
      -        } catch (t) {
      -            n = [ 6, t ];
      -            s = 0;
      -        } finally {
      -            e = h = 0;
      -        }
      -        if (n[0] & 5) throw n[1];
      -        return {
      -            value: n[0] ? n[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -var __read = this && this.P || function(t, i) {
      -    var r = typeof Symbol === "function" && t[Symbol.iterator];
      -    if (!r) return t;
      -    var e = r.call(t), s, h = [], n;
      -    try {
      -        while ((i === void 0 || i-- > 0) && !(s = e.next()).done) h.push(s.value);
      -    } catch (t) {
      -        n = {
      -            error: t
      -        };
      -    } finally {
      -        try {
      -            if (s && !s.done && (r = e["return"])) r.call(e);
      -        } finally {
      -            if (n) throw n.error;
      -        }
      -    }
      -    return h;
      -};
      -
      -var __spreadArray = this && this.A || function(t, i, r) {
      -    if (r || arguments.length === 2) for (var e = 0, s = i.length, h; e < s; e++) {
      -        if (h || !(e in i)) {
      -            if (!h) h = Array.prototype.slice.call(i, 0, e);
      -            h[e] = i[e];
      -        }
      -    }
      -    return t.concat(h || Array.prototype.slice.call(i));
      -};
      -
      -import SequentialContainer from "./Base";
      -
      -import { RandomIterator } from "./Base/RandomIterator";
      -
      -import * as Math from "../../utils/math";
      -
      -var DequeIterator = function(t) {
      -    __extends(DequeIterator, t);
      -    function DequeIterator(i, r, e) {
      -        var s = t.call(this, i, e) || this;
      -        s.container = r;
      -        return s;
      -    }
      -    DequeIterator.prototype.copy = function() {
      -        return new DequeIterator(this.o, this.container, this.iteratorType);
      -    };
      -    return DequeIterator;
      -}(RandomIterator);
      -
      -var Deque = function(t) {
      -    __extends(Deque, t);
      -    function Deque(i, r) {
      -        if (i === void 0) {
      -            i = [];
      -        }
      -        if (r === void 0) {
      -            r = 1 << 12;
      -        }
      -        var e = t.call(this) || this;
      -        e.C = 0;
      -        e.q = 0;
      -        e.D = 0;
      -        e.R = 0;
      -        e.N = 0;
      -        e.G = [];
      -        var s = function() {
      -            if (typeof i.length === "number") return i.length;
      -            if (typeof i.size === "number") return i.size;
      -            if (typeof i.size === "function") return i.size();
      -            throw new TypeError("Cannot get the length or size of the container");
      -        }();
      -        e.F = r;
      -        e.N = Math.ceil(s, e.F) || 1;
      -        for (var h = 0; h < e.N; ++h) {
      -            e.G.push(new Array(e.F));
      -        }
      -        var n = Math.ceil(s, e.F);
      -        e.C = e.D = (e.N >> 1) - (n >> 1);
      -        e.q = e.R = e.F - s % e.F >> 1;
      -        var u = e;
      -        i.forEach((function(t) {
      -            u.pushBack(t);
      -        }));
      -        return e;
      -    }
      -    Deque.prototype.J = function(t) {
      -        var i = [];
      -        var r = t || this.N >> 1 || 1;
      -        for (var e = 0; e < r; ++e) {
      -            i[e] = new Array(this.F);
      -        }
      -        for (var e = this.C; e < this.N; ++e) {
      -            i[i.length] = this.G[e];
      -        }
      -        for (var e = 0; e < this.D; ++e) {
      -            i[i.length] = this.G[e];
      -        }
      -        i[i.length] = __spreadArray([], __read(this.G[this.D]), false);
      -        this.C = r;
      -        this.D = i.length - 1;
      -        for (var e = 0; e < r; ++e) {
      -            i[i.length] = new Array(this.F);
      -        }
      -        this.G = i;
      -        this.N = i.length;
      -    };
      -    Deque.prototype.K = function(t) {
      -        var i, r;
      -        var e = this.q + t;
      -        i = this.C + Math.floor(e / this.F);
      -        if (i >= this.N) {
      -            i -= this.N;
      -        }
      -        r = (e + 1) % this.F - 1;
      -        if (r < 0) {
      -            r = this.F - 1;
      -        }
      -        return {
      -            curNodeBucketIndex: i,
      -            curNodePointerIndex: r
      -        };
      -    };
      -    Deque.prototype.clear = function() {
      -        this.G = [ new Array(this.F) ];
      -        this.N = 1;
      -        this.C = this.D = this.i = 0;
      -        this.q = this.R = this.F >> 1;
      -    };
      -    Deque.prototype.begin = function() {
      -        return new DequeIterator(0, this);
      -    };
      -    Deque.prototype.end = function() {
      -        return new DequeIterator(this.i, this);
      -    };
      -    Deque.prototype.rBegin = function() {
      -        return new DequeIterator(this.i - 1, this, 1);
      -    };
      -    Deque.prototype.rEnd = function() {
      -        return new DequeIterator(-1, this, 1);
      -    };
      -    Deque.prototype.front = function() {
      -        if (this.i === 0) return;
      -        return this.G[this.C][this.q];
      -    };
      -    Deque.prototype.back = function() {
      -        if (this.i === 0) return;
      -        return this.G[this.D][this.R];
      -    };
      -    Deque.prototype.pushBack = function(t) {
      -        if (this.i) {
      -            if (this.R < this.F - 1) {
      -                this.R += 1;
      -            } else if (this.D < this.N - 1) {
      -                this.D += 1;
      -                this.R = 0;
      -            } else {
      -                this.D = 0;
      -                this.R = 0;
      -            }
      -            if (this.D === this.C && this.R === this.q) this.J();
      -        }
      -        this.i += 1;
      -        this.G[this.D][this.R] = t;
      -        return this.i;
      -    };
      -    Deque.prototype.popBack = function() {
      -        if (this.i === 0) return;
      -        var t = this.G[this.D][this.R];
      -        if (this.i !== 1) {
      -            if (this.R > 0) {
      -                this.R -= 1;
      -            } else if (this.D > 0) {
      -                this.D -= 1;
      -                this.R = this.F - 1;
      -            } else {
      -                this.D = this.N - 1;
      -                this.R = this.F - 1;
      -            }
      -        }
      -        this.i -= 1;
      -        return t;
      -    };
      -    Deque.prototype.pushFront = function(t) {
      -        if (this.i) {
      -            if (this.q > 0) {
      -                this.q -= 1;
      -            } else if (this.C > 0) {
      -                this.C -= 1;
      -                this.q = this.F - 1;
      -            } else {
      -                this.C = this.N - 1;
      -                this.q = this.F - 1;
      -            }
      -            if (this.C === this.D && this.q === this.R) this.J();
      -        }
      -        this.i += 1;
      -        this.G[this.C][this.q] = t;
      -        return this.i;
      -    };
      -    Deque.prototype.popFront = function() {
      -        if (this.i === 0) return;
      -        var t = this.G[this.C][this.q];
      -        if (this.i !== 1) {
      -            if (this.q < this.F - 1) {
      -                this.q += 1;
      -            } else if (this.C < this.N - 1) {
      -                this.C += 1;
      -                this.q = 0;
      -            } else {
      -                this.C = 0;
      -                this.q = 0;
      -            }
      -        }
      -        this.i -= 1;
      -        return t;
      -    };
      -    Deque.prototype.getElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var i = this.K(t), r = i.curNodeBucketIndex, e = i.curNodePointerIndex;
      -        return this.G[r][e];
      -    };
      -    Deque.prototype.setElementByPos = function(t, i) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var r = this.K(t), e = r.curNodeBucketIndex, s = r.curNodePointerIndex;
      -        this.G[e][s] = i;
      -    };
      -    Deque.prototype.insert = function(t, i, r) {
      -        if (r === void 0) {
      -            r = 1;
      -        }
      -        var e = this.i;
      -        if (t < 0 || t > e) {
      -            throw new RangeError;
      -        }
      -        if (t === 0) {
      -            while (r--) this.pushFront(i);
      -        } else if (t === this.i) {
      -            while (r--) this.pushBack(i);
      -        } else {
      -            var s = [];
      -            for (var h = t; h < this.i; ++h) {
      -                s.push(this.getElementByPos(h));
      -            }
      -            this.cut(t - 1);
      -            for (var h = 0; h < r; ++h) this.pushBack(i);
      -            for (var h = 0; h < s.length; ++h) this.pushBack(s[h]);
      -        }
      -        return this.i;
      -    };
      -    Deque.prototype.cut = function(t) {
      -        if (t < 0) {
      -            this.clear();
      -            return 0;
      -        }
      -        var i = this.K(t), r = i.curNodeBucketIndex, e = i.curNodePointerIndex;
      -        this.D = r;
      -        this.R = e;
      -        this.i = t + 1;
      -        return this.i;
      -    };
      -    Deque.prototype.eraseElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        if (t === 0) this.popFront(); else if (t === this.i - 1) this.popBack(); else {
      -            var i = this.i - 1;
      -            var r = this.K(t), e = r.curNodeBucketIndex, s = r.curNodePointerIndex;
      -            for (var h = t; h < i; ++h) {
      -                var n = this.K(t + 1), u = n.curNodeBucketIndex, o = n.curNodePointerIndex;
      -                this.G[e][s] = this.G[u][o];
      -                e = u;
      -                s = o;
      -            }
      -            this.popBack();
      -        }
      -        return this.i;
      -    };
      -    Deque.prototype.eraseElementByValue = function(t) {
      -        var i = this.i;
      -        if (i === 0) return 0;
      -        var r = 0;
      -        var e = 0;
      -        while (r < i) {
      -            var s = this.getElementByPos(r);
      -            if (s !== t) {
      -                this.setElementByPos(e, s);
      -                e += 1;
      -            }
      -            r += 1;
      -        }
      -        this.cut(e - 1);
      -        return this.i;
      -    };
      -    Deque.prototype.eraseElementByIterator = function(t) {
      -        var i = t.o;
      -        this.eraseElementByPos(i);
      -        t = t.next();
      -        return t;
      -    };
      -    Deque.prototype.find = function(t) {
      -        for (var i = 0; i < this.i; ++i) {
      -            if (this.getElementByPos(i) === t) {
      -                return new DequeIterator(i, this);
      -            }
      -        }
      -        return this.end();
      -    };
      -    Deque.prototype.reverse = function() {
      -        this.G.reverse().forEach((function(t) {
      -            t.reverse();
      -        }));
      -        var t = this, i = t.C, r = t.D, e = t.q, s = t.R;
      -        this.C = this.N - r - 1;
      -        this.D = this.N - i - 1;
      -        this.q = this.F - s - 1;
      -        this.R = this.F - e - 1;
      -        return this;
      -    };
      -    Deque.prototype.unique = function() {
      -        if (this.i <= 1) {
      -            return this.i;
      -        }
      -        var t = 1;
      -        var i = this.getElementByPos(0);
      -        for (var r = 1; r < this.i; ++r) {
      -            var e = this.getElementByPos(r);
      -            if (e !== i) {
      -                i = e;
      -                this.setElementByPos(t++, e);
      -            }
      -        }
      -        this.cut(t - 1);
      -        return this.i;
      -    };
      -    Deque.prototype.sort = function(t) {
      -        var i = [];
      -        for (var r = 0; r < this.i; ++r) {
      -            i.push(this.getElementByPos(r));
      -        }
      -        i.sort(t);
      -        for (var r = 0; r < this.i; ++r) {
      -            this.setElementByPos(r, i[r]);
      -        }
      -        return this;
      -    };
      -    Deque.prototype.shrinkToFit = function() {
      -        if (this.i === 0) return;
      -        var t = [];
      -        if (this.C === this.D) return; else if (this.C < this.D) {
      -            for (var i = this.C; i <= this.D; ++i) {
      -                t.push(this.G[i]);
      -            }
      -        } else {
      -            for (var i = this.C; i < this.N; ++i) {
      -                t.push(this.G[i]);
      -            }
      -            for (var i = 0; i <= this.D; ++i) {
      -                t.push(this.G[i]);
      -            }
      -        }
      -        this.C = 0;
      -        this.D = t.length - 1;
      -        this.G = t;
      -    };
      -    Deque.prototype.forEach = function(t) {
      -        for (var i = 0; i < this.i; ++i) {
      -            t(this.getElementByPos(i), i, this);
      -        }
      -    };
      -    Deque.prototype[Symbol.iterator] = function() {
      -        var t;
      -        return __generator(this, (function(i) {
      -            switch (i.label) {
      -              case 0:
      -                t = 0;
      -                i.label = 1;
      -
      -              case 1:
      -                if (!(t < this.i)) return [ 3, 4 ];
      -                return [ 4, this.getElementByPos(t) ];
      -
      -              case 2:
      -                i.sent();
      -                i.label = 3;
      -
      -              case 3:
      -                ++t;
      -                return [ 3, 1 ];
      -
      -              case 4:
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return Deque;
      -}(SequentialContainer);
      -
      -export default Deque;
      -//# sourceMappingURL=Deque.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/LinkList.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/LinkList.js
      deleted file mode 100644
      index 787a37e0c9a5ab..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/LinkList.js
      +++ /dev/null
      @@ -1,460 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, i) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, i) {
      -            t.__proto__ = i;
      -        } || function(t, i) {
      -            for (var r in i) if (Object.prototype.hasOwnProperty.call(i, r)) t[r] = i[r];
      -        };
      -        return extendStatics(t, i);
      -    };
      -    return function(t, i) {
      -        if (typeof i !== "function" && i !== null) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
      -        extendStatics(t, i);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = i === null ? Object.create(i) : (__.prototype = i.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(t, i) {
      -    var r = {
      -        label: 0,
      -        sent: function() {
      -            if (e[0] & 1) throw e[1];
      -            return e[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, n, s, e, h;
      -    return h = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (h[Symbol.iterator] = function() {
      -        return this;
      -    }), h;
      -    function verb(t) {
      -        return function(i) {
      -            return step([ t, i ]);
      -        };
      -    }
      -    function step(h) {
      -        if (n) throw new TypeError("Generator is already executing.");
      -        while (r) try {
      -            if (n = 1, s && (e = h[0] & 2 ? s["return"] : h[0] ? s["throw"] || ((e = s["return"]) && e.call(s), 
      -            0) : s.next) && !(e = e.call(s, h[1])).done) return e;
      -            if (s = 0, e) h = [ h[0] & 2, e.value ];
      -            switch (h[0]) {
      -              case 0:
      -              case 1:
      -                e = h;
      -                break;
      -
      -              case 4:
      -                r.label++;
      -                return {
      -                    value: h[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                r.label++;
      -                s = h[1];
      -                h = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                h = r.ops.pop();
      -                r.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(e = r.trys, e = e.length > 0 && e[e.length - 1]) && (h[0] === 6 || h[0] === 2)) {
      -                    r = 0;
      -                    continue;
      -                }
      -                if (h[0] === 3 && (!e || h[1] > e[0] && h[1] < e[3])) {
      -                    r.label = h[1];
      -                    break;
      -                }
      -                if (h[0] === 6 && r.label < e[1]) {
      -                    r.label = e[1];
      -                    e = h;
      -                    break;
      -                }
      -                if (e && r.label < e[2]) {
      -                    r.label = e[2];
      -                    r.ops.push(h);
      -                    break;
      -                }
      -                if (e[2]) r.ops.pop();
      -                r.trys.pop();
      -                continue;
      -            }
      -            h = i.call(t, r);
      -        } catch (t) {
      -            h = [ 6, t ];
      -            s = 0;
      -        } finally {
      -            n = e = 0;
      -        }
      -        if (h[0] & 5) throw h[1];
      -        return {
      -            value: h[0] ? h[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -import SequentialContainer from "./Base";
      -
      -import { ContainerIterator } from "../ContainerBase";
      -
      -import { throwIteratorAccessError } from "../../utils/throwError";
      -
      -var LinkListIterator = function(t) {
      -    __extends(LinkListIterator, t);
      -    function LinkListIterator(i, r, n, s) {
      -        var e = t.call(this, s) || this;
      -        e.o = i;
      -        e.u = r;
      -        e.container = n;
      -        if (e.iteratorType === 0) {
      -            e.pre = function() {
      -                if (this.o.L === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -            e.next = function() {
      -                if (this.o === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.m;
      -                return this;
      -            };
      -        } else {
      -            e.pre = function() {
      -                if (this.o.m === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.m;
      -                return this;
      -            };
      -            e.next = function() {
      -                if (this.o === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.L;
      -                return this;
      -            };
      -        }
      -        return e;
      -    }
      -    Object.defineProperty(LinkListIterator.prototype, "pointer", {
      -        get: function() {
      -            if (this.o === this.u) {
      -                throwIteratorAccessError();
      -            }
      -            return this.o.H;
      -        },
      -        set: function(t) {
      -            if (this.o === this.u) {
      -                throwIteratorAccessError();
      -            }
      -            this.o.H = t;
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    LinkListIterator.prototype.copy = function() {
      -        return new LinkListIterator(this.o, this.u, this.container, this.iteratorType);
      -    };
      -    return LinkListIterator;
      -}(ContainerIterator);
      -
      -var LinkList = function(t) {
      -    __extends(LinkList, t);
      -    function LinkList(i) {
      -        if (i === void 0) {
      -            i = [];
      -        }
      -        var r = t.call(this) || this;
      -        r.u = {};
      -        r.l = r.M = r.u.L = r.u.m = r.u;
      -        var n = r;
      -        i.forEach((function(t) {
      -            n.pushBack(t);
      -        }));
      -        return r;
      -    }
      -    LinkList.prototype.U = function(t) {
      -        var i = t.L, r = t.m;
      -        i.m = r;
      -        r.L = i;
      -        if (t === this.l) {
      -            this.l = r;
      -        }
      -        if (t === this.M) {
      -            this.M = i;
      -        }
      -        this.i -= 1;
      -    };
      -    LinkList.prototype.V = function(t, i) {
      -        var r = i.m;
      -        var n = {
      -            H: t,
      -            L: i,
      -            m: r
      -        };
      -        i.m = n;
      -        r.L = n;
      -        if (i === this.u) {
      -            this.l = n;
      -        }
      -        if (r === this.u) {
      -            this.M = n;
      -        }
      -        this.i += 1;
      -    };
      -    LinkList.prototype.clear = function() {
      -        this.i = 0;
      -        this.l = this.M = this.u.L = this.u.m = this.u;
      -    };
      -    LinkList.prototype.begin = function() {
      -        return new LinkListIterator(this.l, this.u, this);
      -    };
      -    LinkList.prototype.end = function() {
      -        return new LinkListIterator(this.u, this.u, this);
      -    };
      -    LinkList.prototype.rBegin = function() {
      -        return new LinkListIterator(this.M, this.u, this, 1);
      -    };
      -    LinkList.prototype.rEnd = function() {
      -        return new LinkListIterator(this.u, this.u, this, 1);
      -    };
      -    LinkList.prototype.front = function() {
      -        return this.l.H;
      -    };
      -    LinkList.prototype.back = function() {
      -        return this.M.H;
      -    };
      -    LinkList.prototype.getElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var i = this.l;
      -        while (t--) {
      -            i = i.m;
      -        }
      -        return i.H;
      -    };
      -    LinkList.prototype.eraseElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var i = this.l;
      -        while (t--) {
      -            i = i.m;
      -        }
      -        this.U(i);
      -        return this.i;
      -    };
      -    LinkList.prototype.eraseElementByValue = function(t) {
      -        var i = this.l;
      -        while (i !== this.u) {
      -            if (i.H === t) {
      -                this.U(i);
      -            }
      -            i = i.m;
      -        }
      -        return this.i;
      -    };
      -    LinkList.prototype.eraseElementByIterator = function(t) {
      -        var i = t.o;
      -        if (i === this.u) {
      -            throwIteratorAccessError();
      -        }
      -        t = t.next();
      -        this.U(i);
      -        return t;
      -    };
      -    LinkList.prototype.pushBack = function(t) {
      -        this.V(t, this.M);
      -        return this.i;
      -    };
      -    LinkList.prototype.popBack = function() {
      -        if (this.i === 0) return;
      -        var t = this.M.H;
      -        this.U(this.M);
      -        return t;
      -    };
      -    LinkList.prototype.pushFront = function(t) {
      -        this.V(t, this.u);
      -        return this.i;
      -    };
      -    LinkList.prototype.popFront = function() {
      -        if (this.i === 0) return;
      -        var t = this.l.H;
      -        this.U(this.l);
      -        return t;
      -    };
      -    LinkList.prototype.setElementByPos = function(t, i) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var r = this.l;
      -        while (t--) {
      -            r = r.m;
      -        }
      -        r.H = i;
      -    };
      -    LinkList.prototype.insert = function(t, i, r) {
      -        if (r === void 0) {
      -            r = 1;
      -        }
      -        if (t < 0 || t > this.i) {
      -            throw new RangeError;
      -        }
      -        if (r <= 0) return this.i;
      -        if (t === 0) {
      -            while (r--) this.pushFront(i);
      -        } else if (t === this.i) {
      -            while (r--) this.pushBack(i);
      -        } else {
      -            var n = this.l;
      -            for (var s = 1; s < t; ++s) {
      -                n = n.m;
      -            }
      -            var e = n.m;
      -            this.i += r;
      -            while (r--) {
      -                n.m = {
      -                    H: i,
      -                    L: n
      -                };
      -                n.m.L = n;
      -                n = n.m;
      -            }
      -            n.m = e;
      -            e.L = n;
      -        }
      -        return this.i;
      -    };
      -    LinkList.prototype.find = function(t) {
      -        var i = this.l;
      -        while (i !== this.u) {
      -            if (i.H === t) {
      -                return new LinkListIterator(i, this.u, this);
      -            }
      -            i = i.m;
      -        }
      -        return this.end();
      -    };
      -    LinkList.prototype.reverse = function() {
      -        if (this.i <= 1) {
      -            return this;
      -        }
      -        var t = this.l;
      -        var i = this.M;
      -        var r = 0;
      -        while (r << 1 < this.i) {
      -            var n = t.H;
      -            t.H = i.H;
      -            i.H = n;
      -            t = t.m;
      -            i = i.L;
      -            r += 1;
      -        }
      -        return this;
      -    };
      -    LinkList.prototype.unique = function() {
      -        if (this.i <= 1) {
      -            return this.i;
      -        }
      -        var t = this.l;
      -        while (t !== this.u) {
      -            var i = t;
      -            while (i.m !== this.u && i.H === i.m.H) {
      -                i = i.m;
      -                this.i -= 1;
      -            }
      -            t.m = i.m;
      -            t.m.L = t;
      -            t = t.m;
      -        }
      -        return this.i;
      -    };
      -    LinkList.prototype.sort = function(t) {
      -        if (this.i <= 1) {
      -            return this;
      -        }
      -        var i = [];
      -        this.forEach((function(t) {
      -            i.push(t);
      -        }));
      -        i.sort(t);
      -        var r = this.l;
      -        i.forEach((function(t) {
      -            r.H = t;
      -            r = r.m;
      -        }));
      -        return this;
      -    };
      -    LinkList.prototype.merge = function(t) {
      -        var i = this;
      -        if (this.i === 0) {
      -            t.forEach((function(t) {
      -                i.pushBack(t);
      -            }));
      -        } else {
      -            var r = this.l;
      -            t.forEach((function(t) {
      -                while (r !== i.u && r.H <= t) {
      -                    r = r.m;
      -                }
      -                i.V(t, r.L);
      -            }));
      -        }
      -        return this.i;
      -    };
      -    LinkList.prototype.forEach = function(t) {
      -        var i = this.l;
      -        var r = 0;
      -        while (i !== this.u) {
      -            t(i.H, r++, this);
      -            i = i.m;
      -        }
      -    };
      -    LinkList.prototype[Symbol.iterator] = function() {
      -        var t;
      -        return __generator(this, (function(i) {
      -            switch (i.label) {
      -              case 0:
      -                if (this.i === 0) return [ 2 ];
      -                t = this.l;
      -                i.label = 1;
      -
      -              case 1:
      -                if (!(t !== this.u)) return [ 3, 3 ];
      -                return [ 4, t.H ];
      -
      -              case 2:
      -                i.sent();
      -                t = t.m;
      -                return [ 3, 1 ];
      -
      -              case 3:
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return LinkList;
      -}(SequentialContainer);
      -
      -export default LinkList;
      -//# sourceMappingURL=LinkList.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Vector.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Vector.js
      deleted file mode 100644
      index fc8f802d0b2ba2..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/SequentialContainer/Vector.js
      +++ /dev/null
      @@ -1,323 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(t, r) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(t, r) {
      -            t.__proto__ = r;
      -        } || function(t, r) {
      -            for (var e in r) if (Object.prototype.hasOwnProperty.call(r, e)) t[e] = r[e];
      -        };
      -        return extendStatics(t, r);
      -    };
      -    return function(t, r) {
      -        if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
      -        extendStatics(t, r);
      -        function __() {
      -            this.constructor = t;
      -        }
      -        t.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(t, r) {
      -    var e = {
      -        label: 0,
      -        sent: function() {
      -            if (o[0] & 1) throw o[1];
      -            return o[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, n, i, o, s;
      -    return s = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (s[Symbol.iterator] = function() {
      -        return this;
      -    }), s;
      -    function verb(t) {
      -        return function(r) {
      -            return step([ t, r ]);
      -        };
      -    }
      -    function step(s) {
      -        if (n) throw new TypeError("Generator is already executing.");
      -        while (e) try {
      -            if (n = 1, i && (o = s[0] & 2 ? i["return"] : s[0] ? i["throw"] || ((o = i["return"]) && o.call(i), 
      -            0) : i.next) && !(o = o.call(i, s[1])).done) return o;
      -            if (i = 0, o) s = [ s[0] & 2, o.value ];
      -            switch (s[0]) {
      -              case 0:
      -              case 1:
      -                o = s;
      -                break;
      -
      -              case 4:
      -                e.label++;
      -                return {
      -                    value: s[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                e.label++;
      -                i = s[1];
      -                s = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                s = e.ops.pop();
      -                e.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(o = e.trys, o = o.length > 0 && o[o.length - 1]) && (s[0] === 6 || s[0] === 2)) {
      -                    e = 0;
      -                    continue;
      -                }
      -                if (s[0] === 3 && (!o || s[1] > o[0] && s[1] < o[3])) {
      -                    e.label = s[1];
      -                    break;
      -                }
      -                if (s[0] === 6 && e.label < o[1]) {
      -                    e.label = o[1];
      -                    o = s;
      -                    break;
      -                }
      -                if (o && e.label < o[2]) {
      -                    e.label = o[2];
      -                    e.ops.push(s);
      -                    break;
      -                }
      -                if (o[2]) e.ops.pop();
      -                e.trys.pop();
      -                continue;
      -            }
      -            s = r.call(t, e);
      -        } catch (t) {
      -            s = [ 6, t ];
      -            i = 0;
      -        } finally {
      -            n = o = 0;
      -        }
      -        if (s[0] & 5) throw s[1];
      -        return {
      -            value: s[0] ? s[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -var __read = this && this.P || function(t, r) {
      -    var e = typeof Symbol === "function" && t[Symbol.iterator];
      -    if (!e) return t;
      -    var n = e.call(t), i, o = [], s;
      -    try {
      -        while ((r === void 0 || r-- > 0) && !(i = n.next()).done) o.push(i.value);
      -    } catch (t) {
      -        s = {
      -            error: t
      -        };
      -    } finally {
      -        try {
      -            if (i && !i.done && (e = n["return"])) e.call(n);
      -        } finally {
      -            if (s) throw s.error;
      -        }
      -    }
      -    return o;
      -};
      -
      -var __spreadArray = this && this.A || function(t, r, e) {
      -    if (e || arguments.length === 2) for (var n = 0, i = r.length, o; n < i; n++) {
      -        if (o || !(n in r)) {
      -            if (!o) o = Array.prototype.slice.call(r, 0, n);
      -            o[n] = r[n];
      -        }
      -    }
      -    return t.concat(o || Array.prototype.slice.call(r));
      -};
      -
      -var __values = this && this.W || function(t) {
      -    var r = typeof Symbol === "function" && Symbol.iterator, e = r && t[r], n = 0;
      -    if (e) return e.call(t);
      -    if (t && typeof t.length === "number") return {
      -        next: function() {
      -            if (t && n >= t.length) t = void 0;
      -            return {
      -                value: t && t[n++],
      -                done: !t
      -            };
      -        }
      -    };
      -    throw new TypeError(r ? "Object is not iterable." : "Symbol.iterator is not defined.");
      -};
      -
      -import SequentialContainer from "./Base";
      -
      -import { RandomIterator } from "./Base/RandomIterator";
      -
      -var VectorIterator = function(t) {
      -    __extends(VectorIterator, t);
      -    function VectorIterator(r, e, n) {
      -        var i = t.call(this, r, n) || this;
      -        i.container = e;
      -        return i;
      -    }
      -    VectorIterator.prototype.copy = function() {
      -        return new VectorIterator(this.o, this.container, this.iteratorType);
      -    };
      -    return VectorIterator;
      -}(RandomIterator);
      -
      -var Vector = function(t) {
      -    __extends(Vector, t);
      -    function Vector(r, e) {
      -        if (r === void 0) {
      -            r = [];
      -        }
      -        if (e === void 0) {
      -            e = true;
      -        }
      -        var n = t.call(this) || this;
      -        if (Array.isArray(r)) {
      -            n.X = e ? __spreadArray([], __read(r), false) : r;
      -            n.i = r.length;
      -        } else {
      -            n.X = [];
      -            var i = n;
      -            r.forEach((function(t) {
      -                i.pushBack(t);
      -            }));
      -        }
      -        return n;
      -    }
      -    Vector.prototype.clear = function() {
      -        this.i = 0;
      -        this.X.length = 0;
      -    };
      -    Vector.prototype.begin = function() {
      -        return new VectorIterator(0, this);
      -    };
      -    Vector.prototype.end = function() {
      -        return new VectorIterator(this.i, this);
      -    };
      -    Vector.prototype.rBegin = function() {
      -        return new VectorIterator(this.i - 1, this, 1);
      -    };
      -    Vector.prototype.rEnd = function() {
      -        return new VectorIterator(-1, this, 1);
      -    };
      -    Vector.prototype.front = function() {
      -        return this.X[0];
      -    };
      -    Vector.prototype.back = function() {
      -        return this.X[this.i - 1];
      -    };
      -    Vector.prototype.getElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        return this.X[t];
      -    };
      -    Vector.prototype.eraseElementByPos = function(t) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        this.X.splice(t, 1);
      -        this.i -= 1;
      -        return this.i;
      -    };
      -    Vector.prototype.eraseElementByValue = function(t) {
      -        var r = 0;
      -        for (var e = 0; e < this.i; ++e) {
      -            if (this.X[e] !== t) {
      -                this.X[r++] = this.X[e];
      -            }
      -        }
      -        this.i = this.X.length = r;
      -        return this.i;
      -    };
      -    Vector.prototype.eraseElementByIterator = function(t) {
      -        var r = t.o;
      -        t = t.next();
      -        this.eraseElementByPos(r);
      -        return t;
      -    };
      -    Vector.prototype.pushBack = function(t) {
      -        this.X.push(t);
      -        this.i += 1;
      -        return this.i;
      -    };
      -    Vector.prototype.popBack = function() {
      -        if (this.i === 0) return;
      -        this.i -= 1;
      -        return this.X.pop();
      -    };
      -    Vector.prototype.setElementByPos = function(t, r) {
      -        if (t < 0 || t > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        this.X[t] = r;
      -    };
      -    Vector.prototype.insert = function(t, r, e) {
      -        var n;
      -        if (e === void 0) {
      -            e = 1;
      -        }
      -        if (t < 0 || t > this.i) {
      -            throw new RangeError;
      -        }
      -        (n = this.X).splice.apply(n, __spreadArray([ t, 0 ], __read(new Array(e).fill(r)), false));
      -        this.i += e;
      -        return this.i;
      -    };
      -    Vector.prototype.find = function(t) {
      -        for (var r = 0; r < this.i; ++r) {
      -            if (this.X[r] === t) {
      -                return new VectorIterator(r, this);
      -            }
      -        }
      -        return this.end();
      -    };
      -    Vector.prototype.reverse = function() {
      -        this.X.reverse();
      -        return this;
      -    };
      -    Vector.prototype.unique = function() {
      -        var t = 1;
      -        for (var r = 1; r < this.i; ++r) {
      -            if (this.X[r] !== this.X[r - 1]) {
      -                this.X[t++] = this.X[r];
      -            }
      -        }
      -        this.i = this.X.length = t;
      -        return this.i;
      -    };
      -    Vector.prototype.sort = function(t) {
      -        this.X.sort(t);
      -        return this;
      -    };
      -    Vector.prototype.forEach = function(t) {
      -        for (var r = 0; r < this.i; ++r) {
      -            t(this.X[r], r, this);
      -        }
      -    };
      -    Vector.prototype[Symbol.iterator] = function() {
      -        return __generator(this, (function(t) {
      -            switch (t.label) {
      -              case 0:
      -                return [ 5, __values(this.X) ];
      -
      -              case 1:
      -                t.sent();
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return Vector;
      -}(SequentialContainer);
      -
      -export default Vector;
      -//# sourceMappingURL=Vector.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeIterator.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeIterator.js
      deleted file mode 100644
      index 12fce60a90a619..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeIterator.js
      +++ /dev/null
      @@ -1,98 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(r, t) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(r, t) {
      -            r.__proto__ = t;
      -        } || function(r, t) {
      -            for (var e in t) if (Object.prototype.hasOwnProperty.call(t, e)) r[e] = t[e];
      -        };
      -        return extendStatics(r, t);
      -    };
      -    return function(r, t) {
      -        if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
      -        extendStatics(r, t);
      -        function __() {
      -            this.constructor = r;
      -        }
      -        r.prototype = t === null ? Object.create(t) : (__.prototype = t.prototype, new __);
      -    };
      -}();
      -
      -import { ContainerIterator } from "../../ContainerBase";
      -
      -import { throwIteratorAccessError } from "../../../utils/throwError";
      -
      -var TreeIterator = function(r) {
      -    __extends(TreeIterator, r);
      -    function TreeIterator(t, e, i) {
      -        var n = r.call(this, i) || this;
      -        n.o = t;
      -        n.u = e;
      -        if (n.iteratorType === 0) {
      -            n.pre = function() {
      -                if (this.o === this.u.Y) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.L();
      -                return this;
      -            };
      -            n.next = function() {
      -                if (this.o === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.m();
      -                return this;
      -            };
      -        } else {
      -            n.pre = function() {
      -                if (this.o === this.u.Z) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.m();
      -                return this;
      -            };
      -            n.next = function() {
      -                if (this.o === this.u) {
      -                    throwIteratorAccessError();
      -                }
      -                this.o = this.o.L();
      -                return this;
      -            };
      -        }
      -        return n;
      -    }
      -    Object.defineProperty(TreeIterator.prototype, "index", {
      -        get: function() {
      -            var r = this.o;
      -            var t = this.u.sr;
      -            if (r === this.u) {
      -                if (t) {
      -                    return t.hr - 1;
      -                }
      -                return 0;
      -            }
      -            var e = 0;
      -            if (r.Y) {
      -                e += r.Y.hr;
      -            }
      -            while (r !== t) {
      -                var i = r.sr;
      -                if (r === i.Z) {
      -                    e += 1;
      -                    if (i.Y) {
      -                        e += i.Y.hr;
      -                    }
      -                }
      -                r = i;
      -            }
      -            return e;
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    return TreeIterator;
      -}(ContainerIterator);
      -
      -export default TreeIterator;
      -//# sourceMappingURL=TreeIterator.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeNode.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeNode.js
      deleted file mode 100644
      index f9a6448ec52bd6..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/TreeNode.js
      +++ /dev/null
      @@ -1,133 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(e, t) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(e, t) {
      -            e.__proto__ = t;
      -        } || function(e, t) {
      -            for (var n in t) if (Object.prototype.hasOwnProperty.call(t, n)) e[n] = t[n];
      -        };
      -        return extendStatics(e, t);
      -    };
      -    return function(e, t) {
      -        if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
      -        extendStatics(e, t);
      -        function __() {
      -            this.constructor = e;
      -        }
      -        e.prototype = t === null ? Object.create(t) : (__.prototype = t.prototype, new __);
      -    };
      -}();
      -
      -var TreeNode = function() {
      -    function TreeNode(e, t, n) {
      -        if (n === void 0) {
      -            n = 1;
      -        }
      -        this.Y = undefined;
      -        this.Z = undefined;
      -        this.sr = undefined;
      -        this.p = e;
      -        this.H = t;
      -        this.ee = n;
      -    }
      -    TreeNode.prototype.L = function() {
      -        var e = this;
      -        if (e.ee === 1 && e.sr.sr === e) {
      -            e = e.Z;
      -        } else if (e.Y) {
      -            e = e.Y;
      -            while (e.Z) {
      -                e = e.Z;
      -            }
      -        } else {
      -            var t = e.sr;
      -            while (t.Y === e) {
      -                e = t;
      -                t = e.sr;
      -            }
      -            e = t;
      -        }
      -        return e;
      -    };
      -    TreeNode.prototype.m = function() {
      -        var e = this;
      -        if (e.Z) {
      -            e = e.Z;
      -            while (e.Y) {
      -                e = e.Y;
      -            }
      -            return e;
      -        } else {
      -            var t = e.sr;
      -            while (t.Z === e) {
      -                e = t;
      -                t = e.sr;
      -            }
      -            if (e.Z !== t) {
      -                return t;
      -            } else return e;
      -        }
      -    };
      -    TreeNode.prototype.te = function() {
      -        var e = this.sr;
      -        var t = this.Z;
      -        var n = t.Y;
      -        if (e.sr === this) e.sr = t; else if (e.Y === this) e.Y = t; else e.Z = t;
      -        t.sr = e;
      -        t.Y = this;
      -        this.sr = t;
      -        this.Z = n;
      -        if (n) n.sr = this;
      -        return t;
      -    };
      -    TreeNode.prototype.ne = function() {
      -        var e = this.sr;
      -        var t = this.Y;
      -        var n = t.Z;
      -        if (e.sr === this) e.sr = t; else if (e.Y === this) e.Y = t; else e.Z = t;
      -        t.sr = e;
      -        t.Z = this;
      -        this.sr = t;
      -        this.Y = n;
      -        if (n) n.sr = this;
      -        return t;
      -    };
      -    return TreeNode;
      -}();
      -
      -export { TreeNode };
      -
      -var TreeNodeEnableIndex = function(e) {
      -    __extends(TreeNodeEnableIndex, e);
      -    function TreeNodeEnableIndex() {
      -        var t = e !== null && e.apply(this, arguments) || this;
      -        t.hr = 1;
      -        return t;
      -    }
      -    TreeNodeEnableIndex.prototype.te = function() {
      -        var t = e.prototype.te.call(this);
      -        this.ie();
      -        t.ie();
      -        return t;
      -    };
      -    TreeNodeEnableIndex.prototype.ne = function() {
      -        var t = e.prototype.ne.call(this);
      -        this.ie();
      -        t.ie();
      -        return t;
      -    };
      -    TreeNodeEnableIndex.prototype.ie = function() {
      -        this.hr = 1;
      -        if (this.Y) {
      -            this.hr += this.Y.hr;
      -        }
      -        if (this.Z) {
      -            this.hr += this.Z.hr;
      -        }
      -    };
      -    return TreeNodeEnableIndex;
      -}(TreeNode);
      -
      -export { TreeNodeEnableIndex };
      -//# sourceMappingURL=TreeNode.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/index.js
      deleted file mode 100644
      index 3555effa2703a5..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/Base/index.js
      +++ /dev/null
      @@ -1,506 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(e, i) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(e, i) {
      -            e.__proto__ = i;
      -        } || function(e, i) {
      -            for (var r in i) if (Object.prototype.hasOwnProperty.call(i, r)) e[r] = i[r];
      -        };
      -        return extendStatics(e, i);
      -    };
      -    return function(e, i) {
      -        if (typeof i !== "function" && i !== null) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
      -        extendStatics(e, i);
      -        function __() {
      -            this.constructor = e;
      -        }
      -        e.prototype = i === null ? Object.create(i) : (__.prototype = i.prototype, new __);
      -    };
      -}();
      -
      -import { TreeNode, TreeNodeEnableIndex } from "./TreeNode";
      -
      -import { Container } from "../../ContainerBase";
      -
      -import { throwIteratorAccessError } from "../../../utils/throwError";
      -
      -var TreeContainer = function(e) {
      -    __extends(TreeContainer, e);
      -    function TreeContainer(i, r) {
      -        if (i === void 0) {
      -            i = function(e, i) {
      -                if (e < i) return -1;
      -                if (e > i) return 1;
      -                return 0;
      -            };
      -        }
      -        if (r === void 0) {
      -            r = false;
      -        }
      -        var t = e.call(this) || this;
      -        t.rr = undefined;
      -        t.j = i;
      -        t.enableIndex = r;
      -        t.re = r ? TreeNodeEnableIndex : TreeNode;
      -        t.u = new t.re;
      -        return t;
      -    }
      -    TreeContainer.prototype.$ = function(e, i) {
      -        var r = this.u;
      -        while (e) {
      -            var t = this.j(e.p, i);
      -            if (t < 0) {
      -                e = e.Z;
      -            } else if (t > 0) {
      -                r = e;
      -                e = e.Y;
      -            } else return e;
      -        }
      -        return r;
      -    };
      -    TreeContainer.prototype.tr = function(e, i) {
      -        var r = this.u;
      -        while (e) {
      -            var t = this.j(e.p, i);
      -            if (t <= 0) {
      -                e = e.Z;
      -            } else {
      -                r = e;
      -                e = e.Y;
      -            }
      -        }
      -        return r;
      -    };
      -    TreeContainer.prototype.er = function(e, i) {
      -        var r = this.u;
      -        while (e) {
      -            var t = this.j(e.p, i);
      -            if (t < 0) {
      -                r = e;
      -                e = e.Z;
      -            } else if (t > 0) {
      -                e = e.Y;
      -            } else return e;
      -        }
      -        return r;
      -    };
      -    TreeContainer.prototype.nr = function(e, i) {
      -        var r = this.u;
      -        while (e) {
      -            var t = this.j(e.p, i);
      -            if (t < 0) {
      -                r = e;
      -                e = e.Z;
      -            } else {
      -                e = e.Y;
      -            }
      -        }
      -        return r;
      -    };
      -    TreeContainer.prototype.se = function(e) {
      -        while (true) {
      -            var i = e.sr;
      -            if (i === this.u) return;
      -            if (e.ee === 1) {
      -                e.ee = 0;
      -                return;
      -            }
      -            if (e === i.Y) {
      -                var r = i.Z;
      -                if (r.ee === 1) {
      -                    r.ee = 0;
      -                    i.ee = 1;
      -                    if (i === this.rr) {
      -                        this.rr = i.te();
      -                    } else i.te();
      -                } else {
      -                    if (r.Z && r.Z.ee === 1) {
      -                        r.ee = i.ee;
      -                        i.ee = 0;
      -                        r.Z.ee = 0;
      -                        if (i === this.rr) {
      -                            this.rr = i.te();
      -                        } else i.te();
      -                        return;
      -                    } else if (r.Y && r.Y.ee === 1) {
      -                        r.ee = 1;
      -                        r.Y.ee = 0;
      -                        r.ne();
      -                    } else {
      -                        r.ee = 1;
      -                        e = i;
      -                    }
      -                }
      -            } else {
      -                var r = i.Y;
      -                if (r.ee === 1) {
      -                    r.ee = 0;
      -                    i.ee = 1;
      -                    if (i === this.rr) {
      -                        this.rr = i.ne();
      -                    } else i.ne();
      -                } else {
      -                    if (r.Y && r.Y.ee === 1) {
      -                        r.ee = i.ee;
      -                        i.ee = 0;
      -                        r.Y.ee = 0;
      -                        if (i === this.rr) {
      -                            this.rr = i.ne();
      -                        } else i.ne();
      -                        return;
      -                    } else if (r.Z && r.Z.ee === 1) {
      -                        r.ee = 1;
      -                        r.Z.ee = 0;
      -                        r.te();
      -                    } else {
      -                        r.ee = 1;
      -                        e = i;
      -                    }
      -                }
      -            }
      -        }
      -    };
      -    TreeContainer.prototype.U = function(e) {
      -        if (this.i === 1) {
      -            this.clear();
      -            return;
      -        }
      -        var i = e;
      -        while (i.Y || i.Z) {
      -            if (i.Z) {
      -                i = i.Z;
      -                while (i.Y) i = i.Y;
      -            } else {
      -                i = i.Y;
      -            }
      -            var r = e.p;
      -            e.p = i.p;
      -            i.p = r;
      -            var t = e.H;
      -            e.H = i.H;
      -            i.H = t;
      -            e = i;
      -        }
      -        if (this.u.Y === i) {
      -            this.u.Y = i.sr;
      -        } else if (this.u.Z === i) {
      -            this.u.Z = i.sr;
      -        }
      -        this.se(i);
      -        var n = i.sr;
      -        if (i === n.Y) {
      -            n.Y = undefined;
      -        } else n.Z = undefined;
      -        this.i -= 1;
      -        this.rr.ee = 0;
      -        if (this.enableIndex) {
      -            while (n !== this.u) {
      -                n.hr -= 1;
      -                n = n.sr;
      -            }
      -        }
      -    };
      -    TreeContainer.prototype.ir = function(e) {
      -        var i = typeof e === "number" ? e : undefined;
      -        var r = typeof e === "function" ? e : undefined;
      -        var t = typeof e === "undefined" ? [] : undefined;
      -        var n = 0;
      -        var s = this.rr;
      -        var f = [];
      -        while (f.length || s) {
      -            if (s) {
      -                f.push(s);
      -                s = s.Y;
      -            } else {
      -                s = f.pop();
      -                if (n === i) return s;
      -                t && t.push(s);
      -                r && r(s, n, this);
      -                n += 1;
      -                s = s.Z;
      -            }
      -        }
      -        return t;
      -    };
      -    TreeContainer.prototype.fe = function(e) {
      -        while (true) {
      -            var i = e.sr;
      -            if (i.ee === 0) return;
      -            var r = i.sr;
      -            if (i === r.Y) {
      -                var t = r.Z;
      -                if (t && t.ee === 1) {
      -                    t.ee = i.ee = 0;
      -                    if (r === this.rr) return;
      -                    r.ee = 1;
      -                    e = r;
      -                    continue;
      -                } else if (e === i.Z) {
      -                    e.ee = 0;
      -                    if (e.Y) {
      -                        e.Y.sr = i;
      -                    }
      -                    if (e.Z) {
      -                        e.Z.sr = r;
      -                    }
      -                    i.Z = e.Y;
      -                    r.Y = e.Z;
      -                    e.Y = i;
      -                    e.Z = r;
      -                    if (r === this.rr) {
      -                        this.rr = e;
      -                        this.u.sr = e;
      -                    } else {
      -                        var n = r.sr;
      -                        if (n.Y === r) {
      -                            n.Y = e;
      -                        } else n.Z = e;
      -                    }
      -                    e.sr = r.sr;
      -                    i.sr = e;
      -                    r.sr = e;
      -                    r.ee = 1;
      -                } else {
      -                    i.ee = 0;
      -                    if (r === this.rr) {
      -                        this.rr = r.ne();
      -                    } else r.ne();
      -                    r.ee = 1;
      -                    return;
      -                }
      -            } else {
      -                var t = r.Y;
      -                if (t && t.ee === 1) {
      -                    t.ee = i.ee = 0;
      -                    if (r === this.rr) return;
      -                    r.ee = 1;
      -                    e = r;
      -                    continue;
      -                } else if (e === i.Y) {
      -                    e.ee = 0;
      -                    if (e.Y) {
      -                        e.Y.sr = r;
      -                    }
      -                    if (e.Z) {
      -                        e.Z.sr = i;
      -                    }
      -                    r.Z = e.Y;
      -                    i.Y = e.Z;
      -                    e.Y = r;
      -                    e.Z = i;
      -                    if (r === this.rr) {
      -                        this.rr = e;
      -                        this.u.sr = e;
      -                    } else {
      -                        var n = r.sr;
      -                        if (n.Y === r) {
      -                            n.Y = e;
      -                        } else n.Z = e;
      -                    }
      -                    e.sr = r.sr;
      -                    i.sr = e;
      -                    r.sr = e;
      -                    r.ee = 1;
      -                } else {
      -                    i.ee = 0;
      -                    if (r === this.rr) {
      -                        this.rr = r.te();
      -                    } else r.te();
      -                    r.ee = 1;
      -                    return;
      -                }
      -            }
      -            if (this.enableIndex) {
      -                i.ie();
      -                r.ie();
      -                e.ie();
      -            }
      -            return;
      -        }
      -    };
      -    TreeContainer.prototype.v = function(e, i, r) {
      -        if (this.rr === undefined) {
      -            this.i += 1;
      -            this.rr = new this.re(e, i, 0);
      -            this.rr.sr = this.u;
      -            this.u.sr = this.u.Y = this.u.Z = this.rr;
      -            return this.i;
      -        }
      -        var t;
      -        var n = this.u.Y;
      -        var s = this.j(n.p, e);
      -        if (s === 0) {
      -            n.H = i;
      -            return this.i;
      -        } else if (s > 0) {
      -            n.Y = new this.re(e, i);
      -            n.Y.sr = n;
      -            t = n.Y;
      -            this.u.Y = t;
      -        } else {
      -            var f = this.u.Z;
      -            var h = this.j(f.p, e);
      -            if (h === 0) {
      -                f.H = i;
      -                return this.i;
      -            } else if (h < 0) {
      -                f.Z = new this.re(e, i);
      -                f.Z.sr = f;
      -                t = f.Z;
      -                this.u.Z = t;
      -            } else {
      -                if (r !== undefined) {
      -                    var u = r.o;
      -                    if (u !== this.u) {
      -                        var a = this.j(u.p, e);
      -                        if (a === 0) {
      -                            u.H = i;
      -                            return this.i;
      -                        } else if (a > 0) {
      -                            var o = u.L();
      -                            var l = this.j(o.p, e);
      -                            if (l === 0) {
      -                                o.H = i;
      -                                return this.i;
      -                            } else if (l < 0) {
      -                                t = new this.re(e, i);
      -                                if (o.Z === undefined) {
      -                                    o.Z = t;
      -                                    t.sr = o;
      -                                } else {
      -                                    u.Y = t;
      -                                    t.sr = u;
      -                                }
      -                            }
      -                        }
      -                    }
      -                }
      -                if (t === undefined) {
      -                    t = this.rr;
      -                    while (true) {
      -                        var v = this.j(t.p, e);
      -                        if (v > 0) {
      -                            if (t.Y === undefined) {
      -                                t.Y = new this.re(e, i);
      -                                t.Y.sr = t;
      -                                t = t.Y;
      -                                break;
      -                            }
      -                            t = t.Y;
      -                        } else if (v < 0) {
      -                            if (t.Z === undefined) {
      -                                t.Z = new this.re(e, i);
      -                                t.Z.sr = t;
      -                                t = t.Z;
      -                                break;
      -                            }
      -                            t = t.Z;
      -                        } else {
      -                            t.H = i;
      -                            return this.i;
      -                        }
      -                    }
      -                }
      -            }
      -        }
      -        if (this.enableIndex) {
      -            var d = t.sr;
      -            while (d !== this.u) {
      -                d.hr += 1;
      -                d = d.sr;
      -            }
      -        }
      -        this.fe(t);
      -        this.i += 1;
      -        return this.i;
      -    };
      -    TreeContainer.prototype.ar = function(e, i) {
      -        while (e) {
      -            var r = this.j(e.p, i);
      -            if (r < 0) {
      -                e = e.Z;
      -            } else if (r > 0) {
      -                e = e.Y;
      -            } else return e;
      -        }
      -        return e || this.u;
      -    };
      -    TreeContainer.prototype.clear = function() {
      -        this.i = 0;
      -        this.rr = undefined;
      -        this.u.sr = undefined;
      -        this.u.Y = this.u.Z = undefined;
      -    };
      -    TreeContainer.prototype.updateKeyByIterator = function(e, i) {
      -        var r = e.o;
      -        if (r === this.u) {
      -            throwIteratorAccessError();
      -        }
      -        if (this.i === 1) {
      -            r.p = i;
      -            return true;
      -        }
      -        var t = r.m().p;
      -        if (r === this.u.Y) {
      -            if (this.j(t, i) > 0) {
      -                r.p = i;
      -                return true;
      -            }
      -            return false;
      -        }
      -        var n = r.L().p;
      -        if (r === this.u.Z) {
      -            if (this.j(n, i) < 0) {
      -                r.p = i;
      -                return true;
      -            }
      -            return false;
      -        }
      -        if (this.j(n, i) >= 0 || this.j(t, i) <= 0) return false;
      -        r.p = i;
      -        return true;
      -    };
      -    TreeContainer.prototype.eraseElementByPos = function(e) {
      -        if (e < 0 || e > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var i = this.ir(e);
      -        this.U(i);
      -        return this.i;
      -    };
      -    TreeContainer.prototype.eraseElementByKey = function(e) {
      -        if (this.i === 0) return false;
      -        var i = this.ar(this.rr, e);
      -        if (i === this.u) return false;
      -        this.U(i);
      -        return true;
      -    };
      -    TreeContainer.prototype.eraseElementByIterator = function(e) {
      -        var i = e.o;
      -        if (i === this.u) {
      -            throwIteratorAccessError();
      -        }
      -        var r = i.Z === undefined;
      -        var t = e.iteratorType === 0;
      -        if (t) {
      -            if (r) e.next();
      -        } else {
      -            if (!r || i.Y === undefined) e.next();
      -        }
      -        this.U(i);
      -        return e;
      -    };
      -    TreeContainer.prototype.getHeight = function() {
      -        if (this.i === 0) return 0;
      -        function traversal(e) {
      -            if (!e) return 0;
      -            return Math.max(traversal(e.Y), traversal(e.Z)) + 1;
      -        }
      -        return traversal(this.rr);
      -    };
      -    return TreeContainer;
      -}(Container);
      -
      -export default TreeContainer;
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedMap.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedMap.js
      deleted file mode 100644
      index e78db5c174e37c..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedMap.js
      +++ /dev/null
      @@ -1,266 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(r, t) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(r, t) {
      -            r.__proto__ = t;
      -        } || function(r, t) {
      -            for (var e in t) if (Object.prototype.hasOwnProperty.call(t, e)) r[e] = t[e];
      -        };
      -        return extendStatics(r, t);
      -    };
      -    return function(r, t) {
      -        if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
      -        extendStatics(r, t);
      -        function __() {
      -            this.constructor = r;
      -        }
      -        r.prototype = t === null ? Object.create(t) : (__.prototype = t.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(r, t) {
      -    var e = {
      -        label: 0,
      -        sent: function() {
      -            if (a[0] & 1) throw a[1];
      -            return a[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, n, i, a, o;
      -    return o = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (o[Symbol.iterator] = function() {
      -        return this;
      -    }), o;
      -    function verb(r) {
      -        return function(t) {
      -            return step([ r, t ]);
      -        };
      -    }
      -    function step(o) {
      -        if (n) throw new TypeError("Generator is already executing.");
      -        while (e) try {
      -            if (n = 1, i && (a = o[0] & 2 ? i["return"] : o[0] ? i["throw"] || ((a = i["return"]) && a.call(i), 
      -            0) : i.next) && !(a = a.call(i, o[1])).done) return a;
      -            if (i = 0, a) o = [ o[0] & 2, a.value ];
      -            switch (o[0]) {
      -              case 0:
      -              case 1:
      -                a = o;
      -                break;
      -
      -              case 4:
      -                e.label++;
      -                return {
      -                    value: o[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                e.label++;
      -                i = o[1];
      -                o = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                o = e.ops.pop();
      -                e.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(a = e.trys, a = a.length > 0 && a[a.length - 1]) && (o[0] === 6 || o[0] === 2)) {
      -                    e = 0;
      -                    continue;
      -                }
      -                if (o[0] === 3 && (!a || o[1] > a[0] && o[1] < a[3])) {
      -                    e.label = o[1];
      -                    break;
      -                }
      -                if (o[0] === 6 && e.label < a[1]) {
      -                    e.label = a[1];
      -                    a = o;
      -                    break;
      -                }
      -                if (a && e.label < a[2]) {
      -                    e.label = a[2];
      -                    e.ops.push(o);
      -                    break;
      -                }
      -                if (a[2]) e.ops.pop();
      -                e.trys.pop();
      -                continue;
      -            }
      -            o = t.call(r, e);
      -        } catch (r) {
      -            o = [ 6, r ];
      -            i = 0;
      -        } finally {
      -            n = a = 0;
      -        }
      -        if (o[0] & 5) throw o[1];
      -        return {
      -            value: o[0] ? o[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -import TreeContainer from "./Base";
      -
      -import TreeIterator from "./Base/TreeIterator";
      -
      -import { throwIteratorAccessError } from "../../utils/throwError";
      -
      -var OrderedMapIterator = function(r) {
      -    __extends(OrderedMapIterator, r);
      -    function OrderedMapIterator(t, e, n, i) {
      -        var a = r.call(this, t, e, i) || this;
      -        a.container = n;
      -        return a;
      -    }
      -    Object.defineProperty(OrderedMapIterator.prototype, "pointer", {
      -        get: function() {
      -            if (this.o === this.u) {
      -                throwIteratorAccessError();
      -            }
      -            var r = this;
      -            return new Proxy([], {
      -                get: function(t, e) {
      -                    if (e === "0") return r.o.p; else if (e === "1") return r.o.H;
      -                },
      -                set: function(t, e, n) {
      -                    if (e !== "1") {
      -                        throw new TypeError("props must be 1");
      -                    }
      -                    r.o.H = n;
      -                    return true;
      -                }
      -            });
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    OrderedMapIterator.prototype.copy = function() {
      -        return new OrderedMapIterator(this.o, this.u, this.container, this.iteratorType);
      -    };
      -    return OrderedMapIterator;
      -}(TreeIterator);
      -
      -var OrderedMap = function(r) {
      -    __extends(OrderedMap, r);
      -    function OrderedMap(t, e, n) {
      -        if (t === void 0) {
      -            t = [];
      -        }
      -        var i = r.call(this, e, n) || this;
      -        var a = i;
      -        t.forEach((function(r) {
      -            a.setElement(r[0], r[1]);
      -        }));
      -        return i;
      -    }
      -    OrderedMap.prototype.begin = function() {
      -        return new OrderedMapIterator(this.u.Y || this.u, this.u, this);
      -    };
      -    OrderedMap.prototype.end = function() {
      -        return new OrderedMapIterator(this.u, this.u, this);
      -    };
      -    OrderedMap.prototype.rBegin = function() {
      -        return new OrderedMapIterator(this.u.Z || this.u, this.u, this, 1);
      -    };
      -    OrderedMap.prototype.rEnd = function() {
      -        return new OrderedMapIterator(this.u, this.u, this, 1);
      -    };
      -    OrderedMap.prototype.front = function() {
      -        if (this.i === 0) return;
      -        var r = this.u.Y;
      -        return [ r.p, r.H ];
      -    };
      -    OrderedMap.prototype.back = function() {
      -        if (this.i === 0) return;
      -        var r = this.u.Z;
      -        return [ r.p, r.H ];
      -    };
      -    OrderedMap.prototype.lowerBound = function(r) {
      -        var t = this.$(this.rr, r);
      -        return new OrderedMapIterator(t, this.u, this);
      -    };
      -    OrderedMap.prototype.upperBound = function(r) {
      -        var t = this.tr(this.rr, r);
      -        return new OrderedMapIterator(t, this.u, this);
      -    };
      -    OrderedMap.prototype.reverseLowerBound = function(r) {
      -        var t = this.er(this.rr, r);
      -        return new OrderedMapIterator(t, this.u, this);
      -    };
      -    OrderedMap.prototype.reverseUpperBound = function(r) {
      -        var t = this.nr(this.rr, r);
      -        return new OrderedMapIterator(t, this.u, this);
      -    };
      -    OrderedMap.prototype.forEach = function(r) {
      -        this.ir((function(t, e, n) {
      -            r([ t.p, t.H ], e, n);
      -        }));
      -    };
      -    OrderedMap.prototype.setElement = function(r, t, e) {
      -        return this.v(r, t, e);
      -    };
      -    OrderedMap.prototype.getElementByPos = function(r) {
      -        if (r < 0 || r > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var t = this.ir(r);
      -        return [ t.p, t.H ];
      -    };
      -    OrderedMap.prototype.find = function(r) {
      -        var t = this.ar(this.rr, r);
      -        return new OrderedMapIterator(t, this.u, this);
      -    };
      -    OrderedMap.prototype.getElementByKey = function(r) {
      -        var t = this.ar(this.rr, r);
      -        return t.H;
      -    };
      -    OrderedMap.prototype.union = function(r) {
      -        var t = this;
      -        r.forEach((function(r) {
      -            t.setElement(r[0], r[1]);
      -        }));
      -        return this.i;
      -    };
      -    OrderedMap.prototype[Symbol.iterator] = function() {
      -        var r, t, e, n;
      -        return __generator(this, (function(i) {
      -            switch (i.label) {
      -              case 0:
      -                r = this.i;
      -                t = this.ir();
      -                e = 0;
      -                i.label = 1;
      -
      -              case 1:
      -                if (!(e < r)) return [ 3, 4 ];
      -                n = t[e];
      -                return [ 4, [ n.p, n.H ] ];
      -
      -              case 2:
      -                i.sent();
      -                i.label = 3;
      -
      -              case 3:
      -                ++e;
      -                return [ 3, 1 ];
      -
      -              case 4:
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return OrderedMap;
      -}(TreeContainer);
      -
      -export default OrderedMap;
      -//# sourceMappingURL=OrderedMap.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedSet.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedSet.js
      deleted file mode 100644
      index f0cb9daa1f9754..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/container/TreeContainer/OrderedSet.js
      +++ /dev/null
      @@ -1,245 +0,0 @@
      -var __extends = this && this.t || function() {
      -    var extendStatics = function(e, r) {
      -        extendStatics = Object.setPrototypeOf || {
      -            __proto__: []
      -        } instanceof Array && function(e, r) {
      -            e.__proto__ = r;
      -        } || function(e, r) {
      -            for (var t in r) if (Object.prototype.hasOwnProperty.call(r, t)) e[t] = r[t];
      -        };
      -        return extendStatics(e, r);
      -    };
      -    return function(e, r) {
      -        if (typeof r !== "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null");
      -        extendStatics(e, r);
      -        function __() {
      -            this.constructor = e;
      -        }
      -        e.prototype = r === null ? Object.create(r) : (__.prototype = r.prototype, new __);
      -    };
      -}();
      -
      -var __generator = this && this.h || function(e, r) {
      -    var t = {
      -        label: 0,
      -        sent: function() {
      -            if (o[0] & 1) throw o[1];
      -            return o[1];
      -        },
      -        trys: [],
      -        ops: []
      -    }, n, i, o, s;
      -    return s = {
      -        next: verb(0),
      -        throw: verb(1),
      -        return: verb(2)
      -    }, typeof Symbol === "function" && (s[Symbol.iterator] = function() {
      -        return this;
      -    }), s;
      -    function verb(e) {
      -        return function(r) {
      -            return step([ e, r ]);
      -        };
      -    }
      -    function step(s) {
      -        if (n) throw new TypeError("Generator is already executing.");
      -        while (t) try {
      -            if (n = 1, i && (o = s[0] & 2 ? i["return"] : s[0] ? i["throw"] || ((o = i["return"]) && o.call(i), 
      -            0) : i.next) && !(o = o.call(i, s[1])).done) return o;
      -            if (i = 0, o) s = [ s[0] & 2, o.value ];
      -            switch (s[0]) {
      -              case 0:
      -              case 1:
      -                o = s;
      -                break;
      -
      -              case 4:
      -                t.label++;
      -                return {
      -                    value: s[1],
      -                    done: false
      -                };
      -
      -              case 5:
      -                t.label++;
      -                i = s[1];
      -                s = [ 0 ];
      -                continue;
      -
      -              case 7:
      -                s = t.ops.pop();
      -                t.trys.pop();
      -                continue;
      -
      -              default:
      -                if (!(o = t.trys, o = o.length > 0 && o[o.length - 1]) && (s[0] === 6 || s[0] === 2)) {
      -                    t = 0;
      -                    continue;
      -                }
      -                if (s[0] === 3 && (!o || s[1] > o[0] && s[1] < o[3])) {
      -                    t.label = s[1];
      -                    break;
      -                }
      -                if (s[0] === 6 && t.label < o[1]) {
      -                    t.label = o[1];
      -                    o = s;
      -                    break;
      -                }
      -                if (o && t.label < o[2]) {
      -                    t.label = o[2];
      -                    t.ops.push(s);
      -                    break;
      -                }
      -                if (o[2]) t.ops.pop();
      -                t.trys.pop();
      -                continue;
      -            }
      -            s = r.call(e, t);
      -        } catch (e) {
      -            s = [ 6, e ];
      -            i = 0;
      -        } finally {
      -            n = o = 0;
      -        }
      -        if (s[0] & 5) throw s[1];
      -        return {
      -            value: s[0] ? s[1] : void 0,
      -            done: true
      -        };
      -    }
      -};
      -
      -import TreeContainer from "./Base";
      -
      -import TreeIterator from "./Base/TreeIterator";
      -
      -import { throwIteratorAccessError } from "../../utils/throwError";
      -
      -var OrderedSetIterator = function(e) {
      -    __extends(OrderedSetIterator, e);
      -    function OrderedSetIterator(r, t, n, i) {
      -        var o = e.call(this, r, t, i) || this;
      -        o.container = n;
      -        return o;
      -    }
      -    Object.defineProperty(OrderedSetIterator.prototype, "pointer", {
      -        get: function() {
      -            if (this.o === this.u) {
      -                throwIteratorAccessError();
      -            }
      -            return this.o.p;
      -        },
      -        enumerable: false,
      -        configurable: true
      -    });
      -    OrderedSetIterator.prototype.copy = function() {
      -        return new OrderedSetIterator(this.o, this.u, this.container, this.iteratorType);
      -    };
      -    return OrderedSetIterator;
      -}(TreeIterator);
      -
      -var OrderedSet = function(e) {
      -    __extends(OrderedSet, e);
      -    function OrderedSet(r, t, n) {
      -        if (r === void 0) {
      -            r = [];
      -        }
      -        var i = e.call(this, t, n) || this;
      -        var o = i;
      -        r.forEach((function(e) {
      -            o.insert(e);
      -        }));
      -        return i;
      -    }
      -    OrderedSet.prototype.begin = function() {
      -        return new OrderedSetIterator(this.u.Y || this.u, this.u, this);
      -    };
      -    OrderedSet.prototype.end = function() {
      -        return new OrderedSetIterator(this.u, this.u, this);
      -    };
      -    OrderedSet.prototype.rBegin = function() {
      -        return new OrderedSetIterator(this.u.Z || this.u, this.u, this, 1);
      -    };
      -    OrderedSet.prototype.rEnd = function() {
      -        return new OrderedSetIterator(this.u, this.u, this, 1);
      -    };
      -    OrderedSet.prototype.front = function() {
      -        return this.u.Y ? this.u.Y.p : undefined;
      -    };
      -    OrderedSet.prototype.back = function() {
      -        return this.u.Z ? this.u.Z.p : undefined;
      -    };
      -    OrderedSet.prototype.lowerBound = function(e) {
      -        var r = this.$(this.rr, e);
      -        return new OrderedSetIterator(r, this.u, this);
      -    };
      -    OrderedSet.prototype.upperBound = function(e) {
      -        var r = this.tr(this.rr, e);
      -        return new OrderedSetIterator(r, this.u, this);
      -    };
      -    OrderedSet.prototype.reverseLowerBound = function(e) {
      -        var r = this.er(this.rr, e);
      -        return new OrderedSetIterator(r, this.u, this);
      -    };
      -    OrderedSet.prototype.reverseUpperBound = function(e) {
      -        var r = this.nr(this.rr, e);
      -        return new OrderedSetIterator(r, this.u, this);
      -    };
      -    OrderedSet.prototype.forEach = function(e) {
      -        this.ir((function(r, t, n) {
      -            e(r.p, t, n);
      -        }));
      -    };
      -    OrderedSet.prototype.insert = function(e, r) {
      -        return this.v(e, undefined, r);
      -    };
      -    OrderedSet.prototype.getElementByPos = function(e) {
      -        if (e < 0 || e > this.i - 1) {
      -            throw new RangeError;
      -        }
      -        var r = this.ir(e);
      -        return r.p;
      -    };
      -    OrderedSet.prototype.find = function(e) {
      -        var r = this.ar(this.rr, e);
      -        return new OrderedSetIterator(r, this.u, this);
      -    };
      -    OrderedSet.prototype.union = function(e) {
      -        var r = this;
      -        e.forEach((function(e) {
      -            r.insert(e);
      -        }));
      -        return this.i;
      -    };
      -    OrderedSet.prototype[Symbol.iterator] = function() {
      -        var e, r, t;
      -        return __generator(this, (function(n) {
      -            switch (n.label) {
      -              case 0:
      -                e = this.i;
      -                r = this.ir();
      -                t = 0;
      -                n.label = 1;
      -
      -              case 1:
      -                if (!(t < e)) return [ 3, 4 ];
      -                return [ 4, r[t].p ];
      -
      -              case 2:
      -                n.sent();
      -                n.label = 3;
      -
      -              case 3:
      -                ++t;
      -                return [ 3, 1 ];
      -
      -              case 4:
      -                return [ 2 ];
      -            }
      -        }));
      -    };
      -    return OrderedSet;
      -}(TreeContainer);
      -
      -export default OrderedSet;
      -//# sourceMappingURL=OrderedSet.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/index.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/index.js
      deleted file mode 100644
      index 5ee919b0251a11..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/index.js
      +++ /dev/null
      @@ -1,20 +0,0 @@
      -export { default as Stack } from "./container/OtherContainer/Stack";
      -
      -export { default as Queue } from "./container/OtherContainer/Queue";
      -
      -export { default as PriorityQueue } from "./container/OtherContainer/PriorityQueue";
      -
      -export { default as Vector } from "./container/SequentialContainer/Vector";
      -
      -export { default as LinkList } from "./container/SequentialContainer/LinkList";
      -
      -export { default as Deque } from "./container/SequentialContainer/Deque";
      -
      -export { default as OrderedSet } from "./container/TreeContainer/OrderedSet";
      -
      -export { default as OrderedMap } from "./container/TreeContainer/OrderedMap";
      -
      -export { default as HashSet } from "./container/HashContainer/HashSet";
      -
      -export { default as HashMap } from "./container/HashContainer/HashMap";
      -//# sourceMappingURL=index.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/checkObject.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/checkObject.js
      deleted file mode 100644
      index 5bc53d460dd56a..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/checkObject.js
      +++ /dev/null
      @@ -1,5 +0,0 @@
      -export default function checkObject(t) {
      -    var e = typeof t;
      -    return e === "object" && t !== null || e === "function";
      -}
      -//# sourceMappingURL=checkObject.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/math.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/math.js
      deleted file mode 100644
      index 4fde8a44f762aa..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/math.js
      +++ /dev/null
      @@ -1,6 +0,0 @@
      -export function ceil(r, t) {
      -    return Math.floor((r + t - 1) / t);
      -}
      -
      -export var floor = Math.floor;
      -//# sourceMappingURL=math.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/throwError.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/throwError.js
      deleted file mode 100644
      index 2602590790c00a..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/esm/utils/throwError.js
      +++ /dev/null
      @@ -1,4 +0,0 @@
      -export function throwIteratorAccessError() {
      -    throw new RangeError("Iterator access denied!");
      -}
      -//# sourceMappingURL=throwError.js.map
      diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.js
      deleted file mode 100644
      index 41ad442d49bfa7..00000000000000
      --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.js
      +++ /dev/null
      @@ -1,3155 +0,0 @@
      -/*!
      - * js-sdsl v4.4.0
      - * https://github.com/js-sdsl/js-sdsl
      - * (c) 2021-present ZLY201 
      - * MIT license
      - */
      -
      -(function (global, factory) {
      -    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
      -    typeof define === 'function' && define.amd ? define(['exports'], factory) :
      -    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sdsl = {}));
      -})(this, (function (exports) { 'use strict';
      -
      -    /******************************************************************************
      -    Copyright (c) Microsoft Corporation.
      -
      -    Permission to use, copy, modify, and/or distribute this software for any
      -    purpose with or without fee is hereby granted.
      -
      -    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
      -    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
      -    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
      -    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
      -    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
      -    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
      -    PERFORMANCE OF THIS SOFTWARE.
      -    ***************************************************************************** */
      -    /* global Reflect, Promise */
      -
      -    var extendStatics = function (d, b) {
      -      extendStatics = Object.setPrototypeOf || {
      -        __proto__: []
      -      } instanceof Array && function (d, b) {
      -        d.__proto__ = b;
      -      } || function (d, b) {
      -        for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
      -      };
      -      return extendStatics(d, b);
      -    };
      -    function __extends(d, b) {
      -      if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
      -      extendStatics(d, b);
      -      function __() {
      -        this.constructor = d;
      -      }
      -      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      -    }
      -    function __generator(thisArg, body) {
      -      var _ = {
      -          label: 0,
      -          sent: function () {
      -            if (t[0] & 1) throw t[1];
      -            return t[1];
      -          },
      -          trys: [],
      -          ops: []
      -        },
      -        f,
      -        y,
      -        t,
      -        g;
      -      return g = {
      -        next: verb(0),
      -        "throw": verb(1),
      -        "return": verb(2)
      -      }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
      -        return this;
      -      }), g;
      -      function verb(n) {
      -        return function (v) {
      -          return step([n, v]);
      -        };
      -      }
      -      function step(op) {
      -        if (f) throw new TypeError("Generator is already executing.");
      -        while (g && (g = 0, op[0] && (_ = 0)), _) try {
      -          if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
      -          if (y = 0, t) op = [op[0] & 2, t.value];
      -          switch (op[0]) {
      -            case 0:
      -            case 1:
      -              t = op;
      -              break;
      -            case 4:
      -              _.label++;
      -              return {
      -                value: op[1],
      -                done: false
      -              };
      -            case 5:
      -              _.label++;
      -              y = op[1];
      -              op = [0];
      -              continue;
      -            case 7:
      -              op = _.ops.pop();
      -              _.trys.pop();
      -              continue;
      -            default:
      -              if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
      -                _ = 0;
      -                continue;
      -              }
      -              if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
      -                _.label = op[1];
      -                break;
      -              }
      -              if (op[0] === 6 && _.label < t[1]) {
      -                _.label = t[1];
      -                t = op;
      -                break;
      -              }
      -              if (t && _.label < t[2]) {
      -                _.label = t[2];
      -                _.ops.push(op);
      -                break;
      -              }
      -              if (t[2]) _.ops.pop();
      -              _.trys.pop();
      -              continue;
      -          }
      -          op = body.call(thisArg, _);
      -        } catch (e) {
      -          op = [6, e];
      -          y = 0;
      -        } finally {
      -          f = t = 0;
      -        }
      -        if (op[0] & 5) throw op[1];
      -        return {
      -          value: op[0] ? op[1] : void 0,
      -          done: true
      -        };
      -      }
      -    }
      -    function __values(o) {
      -      var s = typeof Symbol === "function" && Symbol.iterator,
      -        m = s && o[s],
      -        i = 0;
      -      if (m) return m.call(o);
      -      if (o && typeof o.length === "number") return {
      -        next: function () {
      -          if (o && i >= o.length) o = void 0;
      -          return {
      -            value: o && o[i++],
      -            done: !o
      -          };
      -        }
      -      };
      -      throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
      -    }
      -    function __read(o, n) {
      -      var m = typeof Symbol === "function" && o[Symbol.iterator];
      -      if (!m) return o;
      -      var i = m.call(o),
      -        r,
      -        ar = [],
      -        e;
      -      try {
      -        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
      -      } catch (error) {
      -        e = {
      -          error: error
      -        };
      -      } finally {
      -        try {
      -          if (r && !r.done && (m = i["return"])) m.call(i);
      -        } finally {
      -          if (e) throw e.error;
      -        }
      -      }
      -      return ar;
      -    }
      -    function __spreadArray(to, from, pack) {
      -      if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
      -        if (ar || !(i in from)) {
      -          if (!ar) ar = Array.prototype.slice.call(from, 0, i);
      -          ar[i] = from[i];
      -        }
      -      }
      -      return to.concat(ar || Array.prototype.slice.call(from));
      -    }
      -
      -    var ContainerIterator = /** @class */function () {
      -      /**
      -       * @internal
      -       */
      -      function ContainerIterator(iteratorType) {
      -        if (iteratorType === void 0) {
      -          iteratorType = 0 /* IteratorType.NORMAL */;
      -        }
      -        this.iteratorType = iteratorType;
      -      }
      -      /**
      -       * @param iter - The other iterator you want to compare.
      -       * @returns Whether this equals to obj.
      -       * @example
      -       * container.find(1).equals(container.end());
      -       */
      -      ContainerIterator.prototype.equals = function (iter) {
      -        return this._node === iter._node;
      -      };
      -      return ContainerIterator;
      -    }();
      -    var Base = /** @class */function () {
      -      function Base() {
      -        /**
      -         * @description Container's size.
      -         * @internal
      -         */
      -        this._length = 0;
      -      }
      -      Object.defineProperty(Base.prototype, "length", {
      -        /**
      -         * @returns The size of the container.
      -         * @example
      -         * const container = new Vector([1, 2]);
      -         * console.log(container.length); // 2
      -         */
      -        get: function () {
      -          return this._length;
      -        },
      -        enumerable: false,
      -        configurable: true
      -      });
      -      /**
      -       * @returns The size of the container.
      -       * @example
      -       * const container = new Vector([1, 2]);
      -       * console.log(container.size()); // 2
      -       */
      -      Base.prototype.size = function () {
      -        return this._length;
      -      };
      -      /**
      -       * @returns Whether the container is empty.
      -       * @example
      -       * container.clear();
      -       * console.log(container.empty());  // true
      -       */
      -      Base.prototype.empty = function () {
      -        return this._length === 0;
      -      };
      -      return Base;
      -    }();
      -    var Container = /** @class */function (_super) {
      -      __extends(Container, _super);
      -      function Container() {
      -        return _super !== null && _super.apply(this, arguments) || this;
      -      }
      -      return Container;
      -    }(Base);
      -
      -    var Stack = /** @class */function (_super) {
      -      __extends(Stack, _super);
      -      function Stack(container) {
      -        if (container === void 0) {
      -          container = [];
      -        }
      -        var _this = _super.call(this) || this;
      -        /**
      -         * @internal
      -         */
      -        _this._stack = [];
      -        var self = _this;
      -        container.forEach(function (el) {
      -          self.push(el);
      -        });
      -        return _this;
      -      }
      -      Stack.prototype.clear = function () {
      -        this._length = 0;
      -        this._stack = [];
      -      };
      -      /**
      -       * @description Insert element to stack's end.
      -       * @description The element you want to push to the back.
      -       * @returns The container length after erasing.
      -       */
      -      Stack.prototype.push = function (element) {
      -        this._stack.push(element);
      -        this._length += 1;
      -        return this._length;
      -      };
      -      /**
      -       * @description Removes the end element.
      -       * @returns The element you popped.
      -       */
      -      Stack.prototype.pop = function () {
      -        if (this._length === 0) return;
      -        this._length -= 1;
      -        return this._stack.pop();
      -      };
      -      /**
      -       * @description Accesses the end element.
      -       * @returns The last element.
      -       */
      -      Stack.prototype.top = function () {
      -        return this._stack[this._length - 1];
      -      };
      -      return Stack;
      -    }(Base);
      -
      -    var Queue = /** @class */function (_super) {
      -      __extends(Queue, _super);
      -      function Queue(container) {
      -        if (container === void 0) {
      -          container = [];
      -        }
      -        var _this = _super.call(this) || this;
      -        /**
      -         * @internal
      -         */
      -        _this._first = 0;
      -        /**
      -         * @internal
      -         */
      -        _this._queue = [];
      -        var self = _this;
      -        container.forEach(function (el) {
      -          self.push(el);
      -        });
      -        return _this;
      -      }
      -      Queue.prototype.clear = function () {
      -        this._queue = [];
      -        this._length = this._first = 0;
      -      };
      -      /**
      -       * @description Inserts element to queue's end.
      -       * @param element - The element you want to push to the front.
      -       * @returns The container length after pushing.
      -       */
      -      Queue.prototype.push = function (element) {
      -        var capacity = this._queue.length;
      -        if (this._first / capacity > 0.5 /* QUEUE_CONSTANT.ALLOCATE_SIGMA */ && this._first + this._length >= capacity && capacity > 4096 /* QUEUE_CONSTANT.MIN_ALLOCATE_SIZE */) {
      -          var length_1 = this._length;
      -          for (var i = 0; i < length_1; ++i) {
      -            this._queue[i] = this._queue[this._first + i];
      -          }
      -          this._first = 0;
      -          this._queue[this._length] = element;
      -        } else this._queue[this._first + this._length] = element;
      -        return ++this._length;
      -      };
      -      /**
      -       * @description Removes the first element.
      -       * @returns The element you popped.
      -       */
      -      Queue.prototype.pop = function () {
      -        if (this._length === 0) return;
      -        var el = this._queue[this._first++];
      -        this._length -= 1;
      -        return el;
      -      };
      -      /**
      -       * @description Access the first element.
      -       * @returns The first element.
      -       */
      -      Queue.prototype.front = function () {
      -        if (this._length === 0) return;
      -        return this._queue[this._first];
      -      };
      -      return Queue;
      -    }(Base);
      -
      -    var PriorityQueue = /** @class */function (_super) {
      -      __extends(PriorityQueue, _super);
      -      /**
      -       * @description PriorityQueue's constructor.
      -       * @param container - Initialize container, must have a forEach function.
      -       * @param cmp - Compare function.
      -       * @param copy - When the container is an array, you can choose to directly operate on the original object of
      -       *               the array or perform a shallow copy. The default is shallow copy.
      -       * @example
      -       * new PriorityQueue();
      -       * new PriorityQueue([1, 2, 3]);
      -       * new PriorityQueue([1, 2, 3], (x, y) => x - y);
      -       * new PriorityQueue([1, 2, 3], (x, y) => x - y, false);
      -       */
      -      function PriorityQueue(container, cmp, copy) {
      -        if (container === void 0) {
      -          container = [];
      -        }
      -        if (cmp === void 0) {
      -          cmp = function (x, y) {
      -            if (x > y) return -1;
      -            if (x < y) return 1;
      -            return 0;
      -          };
      -        }
      -        if (copy === void 0) {
      -          copy = true;
      -        }
      -        var _this = _super.call(this) || this;
      -        _this._cmp = cmp;
      -        if (Array.isArray(container)) {
      -          _this._priorityQueue = copy ? __spreadArray([], __read(container), false) : container;
      -        } else {
      -          _this._priorityQueue = [];
      -          var self_1 = _this;
      -          container.forEach(function (el) {
      -            self_1._priorityQueue.push(el);
      -          });
      -        }
      -        _this._length = _this._priorityQueue.length;
      -        var halfLength = _this._length >> 1;
      -        for (var parent_1 = _this._length - 1 >> 1; parent_1 >= 0; --parent_1) {
      -          _this._pushDown(parent_1, halfLength);
      -        }
      -        return _this;
      -      }
      -      /**
      -       * @internal
      -       */
      -      PriorityQueue.prototype._pushUp = function (pos) {
      -        var item = this._priorityQueue[pos];
      -        while (pos > 0) {
      -          var parent_2 = pos - 1 >> 1;
      -          var parentItem = this._priorityQueue[parent_2];
      -          if (this._cmp(parentItem, item) <= 0) break;
      -          this._priorityQueue[pos] = parentItem;
      -          pos = parent_2;
      -        }
      -        this._priorityQueue[pos] = item;
      -      };
      -      /**
      -       * @internal
      -       */
      -      PriorityQueue.prototype._pushDown = function (pos, halfLength) {
      -        var item = this._priorityQueue[pos];
      -        while (pos < halfLength) {
      -          var left = pos << 1 | 1;
      -          var right = left + 1;
      -          var minItem = this._priorityQueue[left];
      -          if (right < this._length && this._cmp(minItem, this._priorityQueue[right]) > 0) {
      -            left = right;
      -            minItem = this._priorityQueue[right];
      -          }
      -          if (this._cmp(minItem, item) >= 0) break;
      -          this._priorityQueue[pos] = minItem;
      -          pos = left;
      -        }
      -        this._priorityQueue[pos] = item;
      -      };
      -      PriorityQueue.prototype.clear = function () {
      -        this._length = 0;
      -        this._priorityQueue.length = 0;
      -      };
      -      /**
      -       * @description Push element into a container in order.
      -       * @param item - The element you want to push.
      -       * @returns The size of heap after pushing.
      -       * @example
      -       * queue.push(1);
      -       */
      -      PriorityQueue.prototype.push = function (item) {
      -        this._priorityQueue.push(item);
      -        this._pushUp(this._length);
      -        this._length += 1;
      -      };
      -      /**
      -       * @description Removes the top element.
      -       * @returns The element you popped.
      -       * @example
      -       * queue.pop();
      -       */
      -      PriorityQueue.prototype.pop = function () {
      -        if (this._length === 0) return;
      -        var value = this._priorityQueue[0];
      -        var last = this._priorityQueue.pop();
      -        this._length -= 1;
      -        if (this._length) {
      -          this._priorityQueue[0] = last;
      -          this._pushDown(0, this._length >> 1);
      -        }
      -        return value;
      -      };
      -      /**
      -       * @description Accesses the top element.
      -       * @example
      -       * const top = queue.top();
      -       */
      -      PriorityQueue.prototype.top = function () {
      -        return this._priorityQueue[0];
      -      };
      -      /**
      -       * @description Check if element is in heap.
      -       * @param item - The item want to find.
      -       * @returns Whether element is in heap.
      -       * @example
      -       * const que = new PriorityQueue([], (x, y) => x.id - y.id);
      -       * const obj = { id: 1 };
      -       * que.push(obj);
      -       * console.log(que.find(obj));  // true
      -       */
      -      PriorityQueue.prototype.find = function (item) {
      -        return this._priorityQueue.indexOf(item) >= 0;
      -      };
      -      /**
      -       * @description Remove specified item from heap.
      -       * @param item - The item want to remove.
      -       * @returns Whether remove success.
      -       * @example
      -       * const que = new PriorityQueue([], (x, y) => x.id - y.id);
      -       * const obj = { id: 1 };
      -       * que.push(obj);
      -       * que.remove(obj);
      -       */
      -      PriorityQueue.prototype.remove = function (item) {
      -        var index = this._priorityQueue.indexOf(item);
      -        if (index < 0) return false;
      -        if (index === 0) {
      -          this.pop();
      -        } else if (index === this._length - 1) {
      -          this._priorityQueue.pop();
      -          this._length -= 1;
      -        } else {
      -          this._priorityQueue.splice(index, 1, this._priorityQueue.pop());
      -          this._length -= 1;
      -          this._pushUp(index);
      -          this._pushDown(index, this._length >> 1);
      -        }
      -        return true;
      -      };
      -      /**
      -       * @description Update item and it's pos in the heap.
      -       * @param item - The item want to update.
      -       * @returns Whether update success.
      -       * @example
      -       * const que = new PriorityQueue([], (x, y) => x.id - y.id);
      -       * const obj = { id: 1 };
      -       * que.push(obj);
      -       * obj.id = 2;
      -       * que.updateItem(obj);
      -       */
      -      PriorityQueue.prototype.updateItem = function (item) {
      -        var index = this._priorityQueue.indexOf(item);
      -        if (index < 0) return false;
      -        this._pushUp(index);
      -        this._pushDown(index, this._length >> 1);
      -        return true;
      -      };
      -      /**
      -       * @returns Return a copy array of heap.
      -       * @example
      -       * const arr = queue.toArray();
      -       */
      -      PriorityQueue.prototype.toArray = function () {
      -        return __spreadArray([], __read(this._priorityQueue), false);
      -      };
      -      return PriorityQueue;
      -    }(Base);
      -
      -    var SequentialContainer = /** @class */function (_super) {
      -      __extends(SequentialContainer, _super);
      -      function SequentialContainer() {
      -        return _super !== null && _super.apply(this, arguments) || this;
      -      }
      -      return SequentialContainer;
      -    }(Container);
      -
      -    /**
      -     * @description Throw an iterator access error.
      -     * @internal
      -     */
      -    function throwIteratorAccessError() {
      -      throw new RangeError('Iterator access denied!');
      -    }
      -
      -    var RandomIterator = /** @class */function (_super) {
      -      __extends(RandomIterator, _super);
      -      /**
      -       * @internal
      -       */
      -      function RandomIterator(index, iteratorType) {
      -        var _this = _super.call(this, iteratorType) || this;
      -        _this._node = index;
      -        if (_this.iteratorType === 0 /* IteratorType.NORMAL */) {
      -          _this.pre = function () {
      -            if (this._node === 0) {
      -              throwIteratorAccessError();
      -            }
      -            this._node -= 1;
      -            return this;
      -          };
      -          _this.next = function () {
      -            if (this._node === this.container.size()) {
      -              throwIteratorAccessError();
      -            }
      -            this._node += 1;
      -            return this;
      -          };
      -        } else {
      -          _this.pre = function () {
      -            if (this._node === this.container.size() - 1) {
      -              throwIteratorAccessError();
      -            }
      -            this._node += 1;
      -            return this;
      -          };
      -          _this.next = function () {
      -            if (this._node === -1) {
      -              throwIteratorAccessError();
      -            }
      -            this._node -= 1;
      -            return this;
      -          };
      -        }
      -        return _this;
      -      }
      -      Object.defineProperty(RandomIterator.prototype, "pointer", {
      -        get: function () {
      -          return this.container.getElementByPos(this._node);
      -        },
      -        set: function (newValue) {
      -          this.container.setElementByPos(this._node, newValue);
      -        },
      -        enumerable: false,
      -        configurable: true
      -      });
      -      return RandomIterator;
      -    }(ContainerIterator);
      -
      -    var VectorIterator = /** @class */function (_super) {
      -      __extends(VectorIterator, _super);
      -      function VectorIterator(node, container, iteratorType) {
      -        var _this = _super.call(this, node, iteratorType) || this;
      -        _this.container = container;
      -        return _this;
      -      }
      -      VectorIterator.prototype.copy = function () {
      -        return new VectorIterator(this._node, this.container, this.iteratorType);
      -      };
      -      return VectorIterator;
      -    }(RandomIterator);
      -    var Vector = /** @class */function (_super) {
      -      __extends(Vector, _super);
      -      /**
      -       * @param container - Initialize container, must have a forEach function.
      -       * @param copy - When the container is an array, you can choose to directly operate on the original object of
      -       *               the array or perform a shallow copy. The default is shallow copy.
      -       */
      -      function Vector(container, copy) {
      -        if (container === void 0) {
      -          container = [];
      -        }
      -        if (copy === void 0) {
      -          copy = true;
      -        }
      -        var _this = _super.call(this) || this;
      -        if (Array.isArray(container)) {
      -          _this._vector = copy ? __spreadArray([], __read(container), false) : container;
      -          _this._length = container.length;
      -        } else {
      -          _this._vector = [];
      -          var self_1 = _this;
      -          container.forEach(function (el) {
      -            self_1.pushBack(el);
      -          });
      -        }
      -        return _this;
      -      }
      -      Vector.prototype.clear = function () {
      -        this._length = 0;
      -        this._vector.length = 0;
      -      };
      -      Vector.prototype.begin = function () {
      -        return new VectorIterator(0, this);
      -      };
      -      Vector.prototype.end = function () {
      -        return new VectorIterator(this._length, this);
      -      };
      -      Vector.prototype.rBegin = function () {
      -        return new VectorIterator(this._length - 1, this, 1 /* IteratorType.REVERSE */);
      -      };
      -
      -      Vector.prototype.rEnd = function () {
      -        return new VectorIterator(-1, this, 1 /* IteratorType.REVERSE */);
      -      };
      -
      -      Vector.prototype.front = function () {
      -        return this._vector[0];
      -      };
      -      Vector.prototype.back = function () {
      -        return this._vector[this._length - 1];
      -      };
      -      Vector.prototype.getElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        return this._vector[pos];
      -      };
      -      Vector.prototype.eraseElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        this._vector.splice(pos, 1);
      -        this._length -= 1;
      -        return this._length;
      -      };
      -      Vector.prototype.eraseElementByValue = function (value) {
      -        var index = 0;
      -        for (var i = 0; i < this._length; ++i) {
      -          if (this._vector[i] !== value) {
      -            this._vector[index++] = this._vector[i];
      -          }
      -        }
      -        this._length = this._vector.length = index;
      -        return this._length;
      -      };
      -      Vector.prototype.eraseElementByIterator = function (iter) {
      -        var _node = iter._node;
      -        iter = iter.next();
      -        this.eraseElementByPos(_node);
      -        return iter;
      -      };
      -      Vector.prototype.pushBack = function (element) {
      -        this._vector.push(element);
      -        this._length += 1;
      -        return this._length;
      -      };
      -      Vector.prototype.popBack = function () {
      -        if (this._length === 0) return;
      -        this._length -= 1;
      -        return this._vector.pop();
      -      };
      -      Vector.prototype.setElementByPos = function (pos, element) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        this._vector[pos] = element;
      -      };
      -      Vector.prototype.insert = function (pos, element, num) {
      -        var _a;
      -        if (num === void 0) {
      -          num = 1;
      -        }
      -        if (pos < 0 || pos > this._length) {
      -          throw new RangeError();
      -        }
      -        (_a = this._vector).splice.apply(_a, __spreadArray([pos, 0], __read(new Array(num).fill(element)), false));
      -        this._length += num;
      -        return this._length;
      -      };
      -      Vector.prototype.find = function (element) {
      -        for (var i = 0; i < this._length; ++i) {
      -          if (this._vector[i] === element) {
      -            return new VectorIterator(i, this);
      -          }
      -        }
      -        return this.end();
      -      };
      -      Vector.prototype.reverse = function () {
      -        this._vector.reverse();
      -        return this;
      -      };
      -      Vector.prototype.unique = function () {
      -        var index = 1;
      -        for (var i = 1; i < this._length; ++i) {
      -          if (this._vector[i] !== this._vector[i - 1]) {
      -            this._vector[index++] = this._vector[i];
      -          }
      -        }
      -        this._length = this._vector.length = index;
      -        return this._length;
      -      };
      -      Vector.prototype.sort = function (cmp) {
      -        this._vector.sort(cmp);
      -        return this;
      -      };
      -      Vector.prototype.forEach = function (callback) {
      -        for (var i = 0; i < this._length; ++i) {
      -          callback(this._vector[i], i, this);
      -        }
      -      };
      -      Vector.prototype[Symbol.iterator] = function () {
      -        return __generator(this, function (_a) {
      -          switch (_a.label) {
      -            case 0:
      -              return [5 /*yield**/, __values(this._vector)];
      -            case 1:
      -              _a.sent();
      -              return [2 /*return*/];
      -          }
      -        });
      -      };
      -
      -      return Vector;
      -    }(SequentialContainer);
      -
      -    var LinkListIterator = /** @class */function (_super) {
      -      __extends(LinkListIterator, _super);
      -      /**
      -       * @internal
      -       */
      -      function LinkListIterator(_node, _header, container, iteratorType) {
      -        var _this = _super.call(this, iteratorType) || this;
      -        _this._node = _node;
      -        _this._header = _header;
      -        _this.container = container;
      -        if (_this.iteratorType === 0 /* IteratorType.NORMAL */) {
      -          _this.pre = function () {
      -            if (this._node._pre === this._header) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._pre;
      -            return this;
      -          };
      -          _this.next = function () {
      -            if (this._node === this._header) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._next;
      -            return this;
      -          };
      -        } else {
      -          _this.pre = function () {
      -            if (this._node._next === this._header) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._next;
      -            return this;
      -          };
      -          _this.next = function () {
      -            if (this._node === this._header) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._pre;
      -            return this;
      -          };
      -        }
      -        return _this;
      -      }
      -      Object.defineProperty(LinkListIterator.prototype, "pointer", {
      -        get: function () {
      -          if (this._node === this._header) {
      -            throwIteratorAccessError();
      -          }
      -          return this._node._value;
      -        },
      -        set: function (newValue) {
      -          if (this._node === this._header) {
      -            throwIteratorAccessError();
      -          }
      -          this._node._value = newValue;
      -        },
      -        enumerable: false,
      -        configurable: true
      -      });
      -      LinkListIterator.prototype.copy = function () {
      -        return new LinkListIterator(this._node, this._header, this.container, this.iteratorType);
      -      };
      -      return LinkListIterator;
      -    }(ContainerIterator);
      -    var LinkList = /** @class */function (_super) {
      -      __extends(LinkList, _super);
      -      function LinkList(container) {
      -        if (container === void 0) {
      -          container = [];
      -        }
      -        var _this = _super.call(this) || this;
      -        _this._header = {};
      -        _this._head = _this._tail = _this._header._pre = _this._header._next = _this._header;
      -        var self = _this;
      -        container.forEach(function (el) {
      -          self.pushBack(el);
      -        });
      -        return _this;
      -      }
      -      /**
      -       * @internal
      -       */
      -      LinkList.prototype._eraseNode = function (node) {
      -        var _pre = node._pre,
      -          _next = node._next;
      -        _pre._next = _next;
      -        _next._pre = _pre;
      -        if (node === this._head) {
      -          this._head = _next;
      -        }
      -        if (node === this._tail) {
      -          this._tail = _pre;
      -        }
      -        this._length -= 1;
      -      };
      -      /**
      -       * @internal
      -       */
      -      LinkList.prototype._insertNode = function (value, pre) {
      -        var next = pre._next;
      -        var node = {
      -          _value: value,
      -          _pre: pre,
      -          _next: next
      -        };
      -        pre._next = node;
      -        next._pre = node;
      -        if (pre === this._header) {
      -          this._head = node;
      -        }
      -        if (next === this._header) {
      -          this._tail = node;
      -        }
      -        this._length += 1;
      -      };
      -      LinkList.prototype.clear = function () {
      -        this._length = 0;
      -        this._head = this._tail = this._header._pre = this._header._next = this._header;
      -      };
      -      LinkList.prototype.begin = function () {
      -        return new LinkListIterator(this._head, this._header, this);
      -      };
      -      LinkList.prototype.end = function () {
      -        return new LinkListIterator(this._header, this._header, this);
      -      };
      -      LinkList.prototype.rBegin = function () {
      -        return new LinkListIterator(this._tail, this._header, this, 1 /* IteratorType.REVERSE */);
      -      };
      -
      -      LinkList.prototype.rEnd = function () {
      -        return new LinkListIterator(this._header, this._header, this, 1 /* IteratorType.REVERSE */);
      -      };
      -
      -      LinkList.prototype.front = function () {
      -        return this._head._value;
      -      };
      -      LinkList.prototype.back = function () {
      -        return this._tail._value;
      -      };
      -      LinkList.prototype.getElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        var curNode = this._head;
      -        while (pos--) {
      -          curNode = curNode._next;
      -        }
      -        return curNode._value;
      -      };
      -      LinkList.prototype.eraseElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        var curNode = this._head;
      -        while (pos--) {
      -          curNode = curNode._next;
      -        }
      -        this._eraseNode(curNode);
      -        return this._length;
      -      };
      -      LinkList.prototype.eraseElementByValue = function (_value) {
      -        var curNode = this._head;
      -        while (curNode !== this._header) {
      -          if (curNode._value === _value) {
      -            this._eraseNode(curNode);
      -          }
      -          curNode = curNode._next;
      -        }
      -        return this._length;
      -      };
      -      LinkList.prototype.eraseElementByIterator = function (iter) {
      -        var node = iter._node;
      -        if (node === this._header) {
      -          throwIteratorAccessError();
      -        }
      -        iter = iter.next();
      -        this._eraseNode(node);
      -        return iter;
      -      };
      -      LinkList.prototype.pushBack = function (element) {
      -        this._insertNode(element, this._tail);
      -        return this._length;
      -      };
      -      LinkList.prototype.popBack = function () {
      -        if (this._length === 0) return;
      -        var value = this._tail._value;
      -        this._eraseNode(this._tail);
      -        return value;
      -      };
      -      /**
      -       * @description Push an element to the front.
      -       * @param element - The element you want to push.
      -       * @returns The size of queue after pushing.
      -       */
      -      LinkList.prototype.pushFront = function (element) {
      -        this._insertNode(element, this._header);
      -        return this._length;
      -      };
      -      /**
      -       * @description Removes the first element.
      -       * @returns The element you popped.
      -       */
      -      LinkList.prototype.popFront = function () {
      -        if (this._length === 0) return;
      -        var value = this._head._value;
      -        this._eraseNode(this._head);
      -        return value;
      -      };
      -      LinkList.prototype.setElementByPos = function (pos, element) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        var curNode = this._head;
      -        while (pos--) {
      -          curNode = curNode._next;
      -        }
      -        curNode._value = element;
      -      };
      -      LinkList.prototype.insert = function (pos, element, num) {
      -        if (num === void 0) {
      -          num = 1;
      -        }
      -        if (pos < 0 || pos > this._length) {
      -          throw new RangeError();
      -        }
      -        if (num <= 0) return this._length;
      -        if (pos === 0) {
      -          while (num--) this.pushFront(element);
      -        } else if (pos === this._length) {
      -          while (num--) this.pushBack(element);
      -        } else {
      -          var curNode = this._head;
      -          for (var i = 1; i < pos; ++i) {
      -            curNode = curNode._next;
      -          }
      -          var next = curNode._next;
      -          this._length += num;
      -          while (num--) {
      -            curNode._next = {
      -              _value: element,
      -              _pre: curNode
      -            };
      -            curNode._next._pre = curNode;
      -            curNode = curNode._next;
      -          }
      -          curNode._next = next;
      -          next._pre = curNode;
      -        }
      -        return this._length;
      -      };
      -      LinkList.prototype.find = function (element) {
      -        var curNode = this._head;
      -        while (curNode !== this._header) {
      -          if (curNode._value === element) {
      -            return new LinkListIterator(curNode, this._header, this);
      -          }
      -          curNode = curNode._next;
      -        }
      -        return this.end();
      -      };
      -      LinkList.prototype.reverse = function () {
      -        if (this._length <= 1) {
      -          return this;
      -        }
      -        var pHead = this._head;
      -        var pTail = this._tail;
      -        var cnt = 0;
      -        while (cnt << 1 < this._length) {
      -          var tmp = pHead._value;
      -          pHead._value = pTail._value;
      -          pTail._value = tmp;
      -          pHead = pHead._next;
      -          pTail = pTail._pre;
      -          cnt += 1;
      -        }
      -        return this;
      -      };
      -      LinkList.prototype.unique = function () {
      -        if (this._length <= 1) {
      -          return this._length;
      -        }
      -        var curNode = this._head;
      -        while (curNode !== this._header) {
      -          var tmpNode = curNode;
      -          while (tmpNode._next !== this._header && tmpNode._value === tmpNode._next._value) {
      -            tmpNode = tmpNode._next;
      -            this._length -= 1;
      -          }
      -          curNode._next = tmpNode._next;
      -          curNode._next._pre = curNode;
      -          curNode = curNode._next;
      -        }
      -        return this._length;
      -      };
      -      LinkList.prototype.sort = function (cmp) {
      -        if (this._length <= 1) {
      -          return this;
      -        }
      -        var arr = [];
      -        this.forEach(function (el) {
      -          arr.push(el);
      -        });
      -        arr.sort(cmp);
      -        var curNode = this._head;
      -        arr.forEach(function (element) {
      -          curNode._value = element;
      -          curNode = curNode._next;
      -        });
      -        return this;
      -      };
      -      /**
      -       * @description Merges two sorted lists.
      -       * @param list - The other list you want to merge (must be sorted).
      -       * @returns The size of list after merging.
      -       * @example
      -       * const linkA = new LinkList([1, 3, 5]);
      -       * const linkB = new LinkList([2, 4, 6]);
      -       * linkA.merge(linkB);  // [1, 2, 3, 4, 5];
      -       */
      -      LinkList.prototype.merge = function (list) {
      -        var self = this;
      -        if (this._length === 0) {
      -          list.forEach(function (el) {
      -            self.pushBack(el);
      -          });
      -        } else {
      -          var curNode_1 = this._head;
      -          list.forEach(function (el) {
      -            while (curNode_1 !== self._header && curNode_1._value <= el) {
      -              curNode_1 = curNode_1._next;
      -            }
      -            self._insertNode(el, curNode_1._pre);
      -          });
      -        }
      -        return this._length;
      -      };
      -      LinkList.prototype.forEach = function (callback) {
      -        var curNode = this._head;
      -        var index = 0;
      -        while (curNode !== this._header) {
      -          callback(curNode._value, index++, this);
      -          curNode = curNode._next;
      -        }
      -      };
      -      LinkList.prototype[Symbol.iterator] = function () {
      -        var curNode;
      -        return __generator(this, function (_a) {
      -          switch (_a.label) {
      -            case 0:
      -              if (this._length === 0) return [2 /*return*/];
      -              curNode = this._head;
      -              _a.label = 1;
      -            case 1:
      -              if (!(curNode !== this._header)) return [3 /*break*/, 3];
      -              return [4 /*yield*/, curNode._value];
      -            case 2:
      -              _a.sent();
      -              curNode = curNode._next;
      -              return [3 /*break*/, 1];
      -            case 3:
      -              return [2 /*return*/];
      -          }
      -        });
      -      };
      -
      -      return LinkList;
      -    }(SequentialContainer);
      -
      -    /**
      -     * @description Same to Math.ceil(a / b).
      -     * @param a - numerator.
      -     * @param b - Denominator.
      -     * @internal
      -     */
      -    function ceil(a, b) {
      -      return Math.floor((a + b - 1) / b);
      -    }
      -    /**
      -     * @internal
      -     */
      -    var floor = Math.floor;
      -
      -    var DequeIterator = /** @class */function (_super) {
      -      __extends(DequeIterator, _super);
      -      function DequeIterator(node, container, iteratorType) {
      -        var _this = _super.call(this, node, iteratorType) || this;
      -        _this.container = container;
      -        return _this;
      -      }
      -      DequeIterator.prototype.copy = function () {
      -        return new DequeIterator(this._node, this.container, this.iteratorType);
      -      };
      -      return DequeIterator;
      -    }(RandomIterator);
      -    var Deque = /** @class */function (_super) {
      -      __extends(Deque, _super);
      -      function Deque(container, _bucketSize) {
      -        if (container === void 0) {
      -          container = [];
      -        }
      -        if (_bucketSize === void 0) {
      -          _bucketSize = 1 << 12;
      -        }
      -        var _this = _super.call(this) || this;
      -        /**
      -         * @internal
      -         */
      -        _this._first = 0;
      -        /**
      -         * @internal
      -         */
      -        _this._curFirst = 0;
      -        /**
      -         * @internal
      -         */
      -        _this._last = 0;
      -        /**
      -         * @internal
      -         */
      -        _this._curLast = 0;
      -        /**
      -         * @internal
      -         */
      -        _this._bucketNum = 0;
      -        /**
      -         * @internal
      -         */
      -        _this._map = [];
      -        var _length = function () {
      -          if (typeof container.length === "number") return container.length;
      -          if (typeof container.size === "number") return container.size;
      -          if (typeof container.size === "function") return container.size();
      -          throw new TypeError("Cannot get the length or size of the container");
      -        }();
      -        _this._bucketSize = _bucketSize;
      -        _this._bucketNum = ceil(_length, _this._bucketSize) || 1;
      -        for (var i = 0; i < _this._bucketNum; ++i) {
      -          _this._map.push(new Array(_this._bucketSize));
      -        }
      -        var needBucketNum = ceil(_length, _this._bucketSize);
      -        _this._first = _this._last = (_this._bucketNum >> 1) - (needBucketNum >> 1);
      -        _this._curFirst = _this._curLast = _this._bucketSize - _length % _this._bucketSize >> 1;
      -        var self = _this;
      -        container.forEach(function (element) {
      -          self.pushBack(element);
      -        });
      -        return _this;
      -      }
      -      /**
      -       * @description Growth the Deque.
      -       * @internal
      -       */
      -      Deque.prototype._reAllocate = function (needBucketNum) {
      -        var newMap = [];
      -        var addBucketNum = needBucketNum || this._bucketNum >> 1 || 1;
      -        for (var i = 0; i < addBucketNum; ++i) {
      -          newMap[i] = new Array(this._bucketSize);
      -        }
      -        for (var i = this._first; i < this._bucketNum; ++i) {
      -          newMap[newMap.length] = this._map[i];
      -        }
      -        for (var i = 0; i < this._last; ++i) {
      -          newMap[newMap.length] = this._map[i];
      -        }
      -        newMap[newMap.length] = __spreadArray([], __read(this._map[this._last]), false);
      -        this._first = addBucketNum;
      -        this._last = newMap.length - 1;
      -        for (var i = 0; i < addBucketNum; ++i) {
      -          newMap[newMap.length] = new Array(this._bucketSize);
      -        }
      -        this._map = newMap;
      -        this._bucketNum = newMap.length;
      -      };
      -      /**
      -       * @description Get the bucket position of the element and the pointer position by index.
      -       * @param pos - The element's index.
      -       * @internal
      -       */
      -      Deque.prototype._getElementIndex = function (pos) {
      -        var curNodeBucketIndex, curNodePointerIndex;
      -        var index = this._curFirst + pos;
      -        curNodeBucketIndex = this._first + floor(index / this._bucketSize);
      -        if (curNodeBucketIndex >= this._bucketNum) {
      -          curNodeBucketIndex -= this._bucketNum;
      -        }
      -        curNodePointerIndex = (index + 1) % this._bucketSize - 1;
      -        if (curNodePointerIndex < 0) {
      -          curNodePointerIndex = this._bucketSize - 1;
      -        }
      -        return {
      -          curNodeBucketIndex: curNodeBucketIndex,
      -          curNodePointerIndex: curNodePointerIndex
      -        };
      -      };
      -      Deque.prototype.clear = function () {
      -        this._map = [new Array(this._bucketSize)];
      -        this._bucketNum = 1;
      -        this._first = this._last = this._length = 0;
      -        this._curFirst = this._curLast = this._bucketSize >> 1;
      -      };
      -      Deque.prototype.begin = function () {
      -        return new DequeIterator(0, this);
      -      };
      -      Deque.prototype.end = function () {
      -        return new DequeIterator(this._length, this);
      -      };
      -      Deque.prototype.rBegin = function () {
      -        return new DequeIterator(this._length - 1, this, 1 /* IteratorType.REVERSE */);
      -      };
      -
      -      Deque.prototype.rEnd = function () {
      -        return new DequeIterator(-1, this, 1 /* IteratorType.REVERSE */);
      -      };
      -
      -      Deque.prototype.front = function () {
      -        if (this._length === 0) return;
      -        return this._map[this._first][this._curFirst];
      -      };
      -      Deque.prototype.back = function () {
      -        if (this._length === 0) return;
      -        return this._map[this._last][this._curLast];
      -      };
      -      Deque.prototype.pushBack = function (element) {
      -        if (this._length) {
      -          if (this._curLast < this._bucketSize - 1) {
      -            this._curLast += 1;
      -          } else if (this._last < this._bucketNum - 1) {
      -            this._last += 1;
      -            this._curLast = 0;
      -          } else {
      -            this._last = 0;
      -            this._curLast = 0;
      -          }
      -          if (this._last === this._first && this._curLast === this._curFirst) this._reAllocate();
      -        }
      -        this._length += 1;
      -        this._map[this._last][this._curLast] = element;
      -        return this._length;
      -      };
      -      Deque.prototype.popBack = function () {
      -        if (this._length === 0) return;
      -        var value = this._map[this._last][this._curLast];
      -        if (this._length !== 1) {
      -          if (this._curLast > 0) {
      -            this._curLast -= 1;
      -          } else if (this._last > 0) {
      -            this._last -= 1;
      -            this._curLast = this._bucketSize - 1;
      -          } else {
      -            this._last = this._bucketNum - 1;
      -            this._curLast = this._bucketSize - 1;
      -          }
      -        }
      -        this._length -= 1;
      -        return value;
      -      };
      -      /**
      -       * @description Push the element to the front.
      -       * @param element - The element you want to push.
      -       * @returns The size of queue after pushing.
      -       */
      -      Deque.prototype.pushFront = function (element) {
      -        if (this._length) {
      -          if (this._curFirst > 0) {
      -            this._curFirst -= 1;
      -          } else if (this._first > 0) {
      -            this._first -= 1;
      -            this._curFirst = this._bucketSize - 1;
      -          } else {
      -            this._first = this._bucketNum - 1;
      -            this._curFirst = this._bucketSize - 1;
      -          }
      -          if (this._first === this._last && this._curFirst === this._curLast) this._reAllocate();
      -        }
      -        this._length += 1;
      -        this._map[this._first][this._curFirst] = element;
      -        return this._length;
      -      };
      -      /**
      -       * @description Remove the _first element.
      -       * @returns The element you popped.
      -       */
      -      Deque.prototype.popFront = function () {
      -        if (this._length === 0) return;
      -        var value = this._map[this._first][this._curFirst];
      -        if (this._length !== 1) {
      -          if (this._curFirst < this._bucketSize - 1) {
      -            this._curFirst += 1;
      -          } else if (this._first < this._bucketNum - 1) {
      -            this._first += 1;
      -            this._curFirst = 0;
      -          } else {
      -            this._first = 0;
      -            this._curFirst = 0;
      -          }
      -        }
      -        this._length -= 1;
      -        return value;
      -      };
      -      Deque.prototype.getElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        var _a = this._getElementIndex(pos),
      -          curNodeBucketIndex = _a.curNodeBucketIndex,
      -          curNodePointerIndex = _a.curNodePointerIndex;
      -        return this._map[curNodeBucketIndex][curNodePointerIndex];
      -      };
      -      Deque.prototype.setElementByPos = function (pos, element) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        var _a = this._getElementIndex(pos),
      -          curNodeBucketIndex = _a.curNodeBucketIndex,
      -          curNodePointerIndex = _a.curNodePointerIndex;
      -        this._map[curNodeBucketIndex][curNodePointerIndex] = element;
      -      };
      -      Deque.prototype.insert = function (pos, element, num) {
      -        if (num === void 0) {
      -          num = 1;
      -        }
      -        var length = this._length;
      -        if (pos < 0 || pos > length) {
      -          throw new RangeError();
      -        }
      -        if (pos === 0) {
      -          while (num--) this.pushFront(element);
      -        } else if (pos === this._length) {
      -          while (num--) this.pushBack(element);
      -        } else {
      -          var arr = [];
      -          for (var i = pos; i < this._length; ++i) {
      -            arr.push(this.getElementByPos(i));
      -          }
      -          this.cut(pos - 1);
      -          for (var i = 0; i < num; ++i) this.pushBack(element);
      -          for (var i = 0; i < arr.length; ++i) this.pushBack(arr[i]);
      -        }
      -        return this._length;
      -      };
      -      /**
      -       * @description Remove all elements after the specified position (excluding the specified position).
      -       * @param pos - The previous position of the first removed element.
      -       * @returns The size of the container after cutting.
      -       * @example
      -       * deque.cut(1); // Then deque's size will be 2. deque -> [0, 1]
      -       */
      -      Deque.prototype.cut = function (pos) {
      -        if (pos < 0) {
      -          this.clear();
      -          return 0;
      -        }
      -        var _a = this._getElementIndex(pos),
      -          curNodeBucketIndex = _a.curNodeBucketIndex,
      -          curNodePointerIndex = _a.curNodePointerIndex;
      -        this._last = curNodeBucketIndex;
      -        this._curLast = curNodePointerIndex;
      -        this._length = pos + 1;
      -        return this._length;
      -      };
      -      Deque.prototype.eraseElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        if (pos === 0) this.popFront();else if (pos === this._length - 1) this.popBack();else {
      -          var length_1 = this._length - 1;
      -          var _a = this._getElementIndex(pos),
      -            curBucket = _a.curNodeBucketIndex,
      -            curPointer = _a.curNodePointerIndex;
      -          for (var i = pos; i < length_1; ++i) {
      -            var _b = this._getElementIndex(pos + 1),
      -              nextBucket = _b.curNodeBucketIndex,
      -              nextPointer = _b.curNodePointerIndex;
      -            this._map[curBucket][curPointer] = this._map[nextBucket][nextPointer];
      -            curBucket = nextBucket;
      -            curPointer = nextPointer;
      -          }
      -          this.popBack();
      -        }
      -        return this._length;
      -      };
      -      Deque.prototype.eraseElementByValue = function (value) {
      -        var length = this._length;
      -        if (length === 0) return 0;
      -        var i = 0;
      -        var index = 0;
      -        while (i < length) {
      -          var element = this.getElementByPos(i);
      -          if (element !== value) {
      -            this.setElementByPos(index, element);
      -            index += 1;
      -          }
      -          i += 1;
      -        }
      -        this.cut(index - 1);
      -        return this._length;
      -      };
      -      Deque.prototype.eraseElementByIterator = function (iter) {
      -        var _node = iter._node;
      -        this.eraseElementByPos(_node);
      -        iter = iter.next();
      -        return iter;
      -      };
      -      Deque.prototype.find = function (element) {
      -        for (var i = 0; i < this._length; ++i) {
      -          if (this.getElementByPos(i) === element) {
      -            return new DequeIterator(i, this);
      -          }
      -        }
      -        return this.end();
      -      };
      -      Deque.prototype.reverse = function () {
      -        this._map.reverse().forEach(function (bucket) {
      -          bucket.reverse();
      -        });
      -        var _a = this,
      -          _first = _a._first,
      -          _last = _a._last,
      -          _curFirst = _a._curFirst,
      -          _curLast = _a._curLast;
      -        this._first = this._bucketNum - _last - 1;
      -        this._last = this._bucketNum - _first - 1;
      -        this._curFirst = this._bucketSize - _curLast - 1;
      -        this._curLast = this._bucketSize - _curFirst - 1;
      -        return this;
      -      };
      -      Deque.prototype.unique = function () {
      -        if (this._length <= 1) {
      -          return this._length;
      -        }
      -        var index = 1;
      -        var pre = this.getElementByPos(0);
      -        for (var i = 1; i < this._length; ++i) {
      -          var cur = this.getElementByPos(i);
      -          if (cur !== pre) {
      -            pre = cur;
      -            this.setElementByPos(index++, cur);
      -          }
      -        }
      -        this.cut(index - 1);
      -        return this._length;
      -      };
      -      Deque.prototype.sort = function (cmp) {
      -        var arr = [];
      -        for (var i = 0; i < this._length; ++i) {
      -          arr.push(this.getElementByPos(i));
      -        }
      -        arr.sort(cmp);
      -        for (var i = 0; i < this._length; ++i) {
      -          this.setElementByPos(i, arr[i]);
      -        }
      -        return this;
      -      };
      -      /**
      -       * @description Remove as much useless space as possible.
      -       */
      -      Deque.prototype.shrinkToFit = function () {
      -        if (this._length === 0) return;
      -        var newMap = [];
      -        if (this._first === this._last) return;else if (this._first < this._last) {
      -          for (var i = this._first; i <= this._last; ++i) {
      -            newMap.push(this._map[i]);
      -          }
      -        } else {
      -          for (var i = this._first; i < this._bucketNum; ++i) {
      -            newMap.push(this._map[i]);
      -          }
      -          for (var i = 0; i <= this._last; ++i) {
      -            newMap.push(this._map[i]);
      -          }
      -        }
      -        this._first = 0;
      -        this._last = newMap.length - 1;
      -        this._map = newMap;
      -      };
      -      Deque.prototype.forEach = function (callback) {
      -        for (var i = 0; i < this._length; ++i) {
      -          callback(this.getElementByPos(i), i, this);
      -        }
      -      };
      -      Deque.prototype[Symbol.iterator] = function () {
      -        var i;
      -        return __generator(this, function (_a) {
      -          switch (_a.label) {
      -            case 0:
      -              i = 0;
      -              _a.label = 1;
      -            case 1:
      -              if (!(i < this._length)) return [3 /*break*/, 4];
      -              return [4 /*yield*/, this.getElementByPos(i)];
      -            case 2:
      -              _a.sent();
      -              _a.label = 3;
      -            case 3:
      -              ++i;
      -              return [3 /*break*/, 1];
      -            case 4:
      -              return [2 /*return*/];
      -          }
      -        });
      -      };
      -
      -      return Deque;
      -    }(SequentialContainer);
      -
      -    var TreeNode = /** @class */function () {
      -      function TreeNode(key, value, color) {
      -        if (color === void 0) {
      -          color = 1 /* TreeNodeColor.RED */;
      -        }
      -        this._left = undefined;
      -        this._right = undefined;
      -        this._parent = undefined;
      -        this._key = key;
      -        this._value = value;
      -        this._color = color;
      -      }
      -      /**
      -       * @description Get the pre node.
      -       * @returns TreeNode about the pre node.
      -       */
      -      TreeNode.prototype._pre = function () {
      -        var preNode = this;
      -        if (preNode._color === 1 /* TreeNodeColor.RED */ && preNode._parent._parent === preNode) {
      -          preNode = preNode._right;
      -        } else if (preNode._left) {
      -          preNode = preNode._left;
      -          while (preNode._right) {
      -            preNode = preNode._right;
      -          }
      -        } else {
      -          var pre = preNode._parent;
      -          while (pre._left === preNode) {
      -            preNode = pre;
      -            pre = preNode._parent;
      -          }
      -          preNode = pre;
      -        }
      -        return preNode;
      -      };
      -      /**
      -       * @description Get the next node.
      -       * @returns TreeNode about the next node.
      -       */
      -      TreeNode.prototype._next = function () {
      -        var nextNode = this;
      -        if (nextNode._right) {
      -          nextNode = nextNode._right;
      -          while (nextNode._left) {
      -            nextNode = nextNode._left;
      -          }
      -          return nextNode;
      -        } else {
      -          var pre = nextNode._parent;
      -          while (pre._right === nextNode) {
      -            nextNode = pre;
      -            pre = nextNode._parent;
      -          }
      -          if (nextNode._right !== pre) {
      -            return pre;
      -          } else return nextNode;
      -        }
      -      };
      -      /**
      -       * @description Rotate left.
      -       * @returns TreeNode about moved to original position after rotation.
      -       */
      -      TreeNode.prototype._rotateLeft = function () {
      -        var PP = this._parent;
      -        var V = this._right;
      -        var R = V._left;
      -        if (PP._parent === this) PP._parent = V;else if (PP._left === this) PP._left = V;else PP._right = V;
      -        V._parent = PP;
      -        V._left = this;
      -        this._parent = V;
      -        this._right = R;
      -        if (R) R._parent = this;
      -        return V;
      -      };
      -      /**
      -       * @description Rotate right.
      -       * @returns TreeNode about moved to original position after rotation.
      -       */
      -      TreeNode.prototype._rotateRight = function () {
      -        var PP = this._parent;
      -        var F = this._left;
      -        var K = F._right;
      -        if (PP._parent === this) PP._parent = F;else if (PP._left === this) PP._left = F;else PP._right = F;
      -        F._parent = PP;
      -        F._right = this;
      -        this._parent = F;
      -        this._left = K;
      -        if (K) K._parent = this;
      -        return F;
      -      };
      -      return TreeNode;
      -    }();
      -    var TreeNodeEnableIndex = /** @class */function (_super) {
      -      __extends(TreeNodeEnableIndex, _super);
      -      function TreeNodeEnableIndex() {
      -        var _this = _super !== null && _super.apply(this, arguments) || this;
      -        _this._subTreeSize = 1;
      -        return _this;
      -      }
      -      /**
      -       * @description Rotate left and do recount.
      -       * @returns TreeNode about moved to original position after rotation.
      -       */
      -      TreeNodeEnableIndex.prototype._rotateLeft = function () {
      -        var parent = _super.prototype._rotateLeft.call(this);
      -        this._recount();
      -        parent._recount();
      -        return parent;
      -      };
      -      /**
      -       * @description Rotate right and do recount.
      -       * @returns TreeNode about moved to original position after rotation.
      -       */
      -      TreeNodeEnableIndex.prototype._rotateRight = function () {
      -        var parent = _super.prototype._rotateRight.call(this);
      -        this._recount();
      -        parent._recount();
      -        return parent;
      -      };
      -      TreeNodeEnableIndex.prototype._recount = function () {
      -        this._subTreeSize = 1;
      -        if (this._left) {
      -          this._subTreeSize += this._left._subTreeSize;
      -        }
      -        if (this._right) {
      -          this._subTreeSize += this._right._subTreeSize;
      -        }
      -      };
      -      return TreeNodeEnableIndex;
      -    }(TreeNode);
      -
      -    var TreeContainer = /** @class */function (_super) {
      -      __extends(TreeContainer, _super);
      -      /**
      -       * @internal
      -       */
      -      function TreeContainer(cmp, enableIndex) {
      -        if (cmp === void 0) {
      -          cmp = function (x, y) {
      -            if (x < y) return -1;
      -            if (x > y) return 1;
      -            return 0;
      -          };
      -        }
      -        if (enableIndex === void 0) {
      -          enableIndex = false;
      -        }
      -        var _this = _super.call(this) || this;
      -        /**
      -         * @internal
      -         */
      -        _this._root = undefined;
      -        _this._cmp = cmp;
      -        _this.enableIndex = enableIndex;
      -        _this._TreeNodeClass = enableIndex ? TreeNodeEnableIndex : TreeNode;
      -        _this._header = new _this._TreeNodeClass();
      -        return _this;
      -      }
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._lowerBound = function (curNode, key) {
      -        var resNode = this._header;
      -        while (curNode) {
      -          var cmpResult = this._cmp(curNode._key, key);
      -          if (cmpResult < 0) {
      -            curNode = curNode._right;
      -          } else if (cmpResult > 0) {
      -            resNode = curNode;
      -            curNode = curNode._left;
      -          } else return curNode;
      -        }
      -        return resNode;
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._upperBound = function (curNode, key) {
      -        var resNode = this._header;
      -        while (curNode) {
      -          var cmpResult = this._cmp(curNode._key, key);
      -          if (cmpResult <= 0) {
      -            curNode = curNode._right;
      -          } else {
      -            resNode = curNode;
      -            curNode = curNode._left;
      -          }
      -        }
      -        return resNode;
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._reverseLowerBound = function (curNode, key) {
      -        var resNode = this._header;
      -        while (curNode) {
      -          var cmpResult = this._cmp(curNode._key, key);
      -          if (cmpResult < 0) {
      -            resNode = curNode;
      -            curNode = curNode._right;
      -          } else if (cmpResult > 0) {
      -            curNode = curNode._left;
      -          } else return curNode;
      -        }
      -        return resNode;
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._reverseUpperBound = function (curNode, key) {
      -        var resNode = this._header;
      -        while (curNode) {
      -          var cmpResult = this._cmp(curNode._key, key);
      -          if (cmpResult < 0) {
      -            resNode = curNode;
      -            curNode = curNode._right;
      -          } else {
      -            curNode = curNode._left;
      -          }
      -        }
      -        return resNode;
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._eraseNodeSelfBalance = function (curNode) {
      -        while (true) {
      -          var parentNode = curNode._parent;
      -          if (parentNode === this._header) return;
      -          if (curNode._color === 1 /* TreeNodeColor.RED */) {
      -            curNode._color = 0 /* TreeNodeColor.BLACK */;
      -            return;
      -          }
      -          if (curNode === parentNode._left) {
      -            var brother = parentNode._right;
      -            if (brother._color === 1 /* TreeNodeColor.RED */) {
      -              brother._color = 0 /* TreeNodeColor.BLACK */;
      -              parentNode._color = 1 /* TreeNodeColor.RED */;
      -              if (parentNode === this._root) {
      -                this._root = parentNode._rotateLeft();
      -              } else parentNode._rotateLeft();
      -            } else {
      -              if (brother._right && brother._right._color === 1 /* TreeNodeColor.RED */) {
      -                brother._color = parentNode._color;
      -                parentNode._color = 0 /* TreeNodeColor.BLACK */;
      -                brother._right._color = 0 /* TreeNodeColor.BLACK */;
      -                if (parentNode === this._root) {
      -                  this._root = parentNode._rotateLeft();
      -                } else parentNode._rotateLeft();
      -                return;
      -              } else if (brother._left && brother._left._color === 1 /* TreeNodeColor.RED */) {
      -                brother._color = 1 /* TreeNodeColor.RED */;
      -                brother._left._color = 0 /* TreeNodeColor.BLACK */;
      -                brother._rotateRight();
      -              } else {
      -                brother._color = 1 /* TreeNodeColor.RED */;
      -                curNode = parentNode;
      -              }
      -            }
      -          } else {
      -            var brother = parentNode._left;
      -            if (brother._color === 1 /* TreeNodeColor.RED */) {
      -              brother._color = 0 /* TreeNodeColor.BLACK */;
      -              parentNode._color = 1 /* TreeNodeColor.RED */;
      -              if (parentNode === this._root) {
      -                this._root = parentNode._rotateRight();
      -              } else parentNode._rotateRight();
      -            } else {
      -              if (brother._left && brother._left._color === 1 /* TreeNodeColor.RED */) {
      -                brother._color = parentNode._color;
      -                parentNode._color = 0 /* TreeNodeColor.BLACK */;
      -                brother._left._color = 0 /* TreeNodeColor.BLACK */;
      -                if (parentNode === this._root) {
      -                  this._root = parentNode._rotateRight();
      -                } else parentNode._rotateRight();
      -                return;
      -              } else if (brother._right && brother._right._color === 1 /* TreeNodeColor.RED */) {
      -                brother._color = 1 /* TreeNodeColor.RED */;
      -                brother._right._color = 0 /* TreeNodeColor.BLACK */;
      -                brother._rotateLeft();
      -              } else {
      -                brother._color = 1 /* TreeNodeColor.RED */;
      -                curNode = parentNode;
      -              }
      -            }
      -          }
      -        }
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._eraseNode = function (curNode) {
      -        if (this._length === 1) {
      -          this.clear();
      -          return;
      -        }
      -        var swapNode = curNode;
      -        while (swapNode._left || swapNode._right) {
      -          if (swapNode._right) {
      -            swapNode = swapNode._right;
      -            while (swapNode._left) swapNode = swapNode._left;
      -          } else {
      -            swapNode = swapNode._left;
      -          }
      -          var key = curNode._key;
      -          curNode._key = swapNode._key;
      -          swapNode._key = key;
      -          var value = curNode._value;
      -          curNode._value = swapNode._value;
      -          swapNode._value = value;
      -          curNode = swapNode;
      -        }
      -        if (this._header._left === swapNode) {
      -          this._header._left = swapNode._parent;
      -        } else if (this._header._right === swapNode) {
      -          this._header._right = swapNode._parent;
      -        }
      -        this._eraseNodeSelfBalance(swapNode);
      -        var _parent = swapNode._parent;
      -        if (swapNode === _parent._left) {
      -          _parent._left = undefined;
      -        } else _parent._right = undefined;
      -        this._length -= 1;
      -        this._root._color = 0 /* TreeNodeColor.BLACK */;
      -        if (this.enableIndex) {
      -          while (_parent !== this._header) {
      -            _parent._subTreeSize -= 1;
      -            _parent = _parent._parent;
      -          }
      -        }
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._inOrderTraversal = function (param) {
      -        var pos = typeof param === 'number' ? param : undefined;
      -        var callback = typeof param === 'function' ? param : undefined;
      -        var nodeList = typeof param === 'undefined' ? [] : undefined;
      -        var index = 0;
      -        var curNode = this._root;
      -        var stack = [];
      -        while (stack.length || curNode) {
      -          if (curNode) {
      -            stack.push(curNode);
      -            curNode = curNode._left;
      -          } else {
      -            curNode = stack.pop();
      -            if (index === pos) return curNode;
      -            nodeList && nodeList.push(curNode);
      -            callback && callback(curNode, index, this);
      -            index += 1;
      -            curNode = curNode._right;
      -          }
      -        }
      -        return nodeList;
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._insertNodeSelfBalance = function (curNode) {
      -        while (true) {
      -          var parentNode = curNode._parent;
      -          if (parentNode._color === 0 /* TreeNodeColor.BLACK */) return;
      -          var grandParent = parentNode._parent;
      -          if (parentNode === grandParent._left) {
      -            var uncle = grandParent._right;
      -            if (uncle && uncle._color === 1 /* TreeNodeColor.RED */) {
      -              uncle._color = parentNode._color = 0 /* TreeNodeColor.BLACK */;
      -              if (grandParent === this._root) return;
      -              grandParent._color = 1 /* TreeNodeColor.RED */;
      -              curNode = grandParent;
      -              continue;
      -            } else if (curNode === parentNode._right) {
      -              curNode._color = 0 /* TreeNodeColor.BLACK */;
      -              if (curNode._left) {
      -                curNode._left._parent = parentNode;
      -              }
      -              if (curNode._right) {
      -                curNode._right._parent = grandParent;
      -              }
      -              parentNode._right = curNode._left;
      -              grandParent._left = curNode._right;
      -              curNode._left = parentNode;
      -              curNode._right = grandParent;
      -              if (grandParent === this._root) {
      -                this._root = curNode;
      -                this._header._parent = curNode;
      -              } else {
      -                var GP = grandParent._parent;
      -                if (GP._left === grandParent) {
      -                  GP._left = curNode;
      -                } else GP._right = curNode;
      -              }
      -              curNode._parent = grandParent._parent;
      -              parentNode._parent = curNode;
      -              grandParent._parent = curNode;
      -              grandParent._color = 1 /* TreeNodeColor.RED */;
      -            } else {
      -              parentNode._color = 0 /* TreeNodeColor.BLACK */;
      -              if (grandParent === this._root) {
      -                this._root = grandParent._rotateRight();
      -              } else grandParent._rotateRight();
      -              grandParent._color = 1 /* TreeNodeColor.RED */;
      -              return;
      -            }
      -          } else {
      -            var uncle = grandParent._left;
      -            if (uncle && uncle._color === 1 /* TreeNodeColor.RED */) {
      -              uncle._color = parentNode._color = 0 /* TreeNodeColor.BLACK */;
      -              if (grandParent === this._root) return;
      -              grandParent._color = 1 /* TreeNodeColor.RED */;
      -              curNode = grandParent;
      -              continue;
      -            } else if (curNode === parentNode._left) {
      -              curNode._color = 0 /* TreeNodeColor.BLACK */;
      -              if (curNode._left) {
      -                curNode._left._parent = grandParent;
      -              }
      -              if (curNode._right) {
      -                curNode._right._parent = parentNode;
      -              }
      -              grandParent._right = curNode._left;
      -              parentNode._left = curNode._right;
      -              curNode._left = grandParent;
      -              curNode._right = parentNode;
      -              if (grandParent === this._root) {
      -                this._root = curNode;
      -                this._header._parent = curNode;
      -              } else {
      -                var GP = grandParent._parent;
      -                if (GP._left === grandParent) {
      -                  GP._left = curNode;
      -                } else GP._right = curNode;
      -              }
      -              curNode._parent = grandParent._parent;
      -              parentNode._parent = curNode;
      -              grandParent._parent = curNode;
      -              grandParent._color = 1 /* TreeNodeColor.RED */;
      -            } else {
      -              parentNode._color = 0 /* TreeNodeColor.BLACK */;
      -              if (grandParent === this._root) {
      -                this._root = grandParent._rotateLeft();
      -              } else grandParent._rotateLeft();
      -              grandParent._color = 1 /* TreeNodeColor.RED */;
      -              return;
      -            }
      -          }
      -          if (this.enableIndex) {
      -            parentNode._recount();
      -            grandParent._recount();
      -            curNode._recount();
      -          }
      -          return;
      -        }
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._set = function (key, value, hint) {
      -        if (this._root === undefined) {
      -          this._length += 1;
      -          this._root = new this._TreeNodeClass(key, value, 0 /* TreeNodeColor.BLACK */);
      -          this._root._parent = this._header;
      -          this._header._parent = this._header._left = this._header._right = this._root;
      -          return this._length;
      -        }
      -        var curNode;
      -        var minNode = this._header._left;
      -        var compareToMin = this._cmp(minNode._key, key);
      -        if (compareToMin === 0) {
      -          minNode._value = value;
      -          return this._length;
      -        } else if (compareToMin > 0) {
      -          minNode._left = new this._TreeNodeClass(key, value);
      -          minNode._left._parent = minNode;
      -          curNode = minNode._left;
      -          this._header._left = curNode;
      -        } else {
      -          var maxNode = this._header._right;
      -          var compareToMax = this._cmp(maxNode._key, key);
      -          if (compareToMax === 0) {
      -            maxNode._value = value;
      -            return this._length;
      -          } else if (compareToMax < 0) {
      -            maxNode._right = new this._TreeNodeClass(key, value);
      -            maxNode._right._parent = maxNode;
      -            curNode = maxNode._right;
      -            this._header._right = curNode;
      -          } else {
      -            if (hint !== undefined) {
      -              var iterNode = hint._node;
      -              if (iterNode !== this._header) {
      -                var iterCmpRes = this._cmp(iterNode._key, key);
      -                if (iterCmpRes === 0) {
      -                  iterNode._value = value;
      -                  return this._length;
      -                } else /* istanbul ignore else */if (iterCmpRes > 0) {
      -                    var preNode = iterNode._pre();
      -                    var preCmpRes = this._cmp(preNode._key, key);
      -                    if (preCmpRes === 0) {
      -                      preNode._value = value;
      -                      return this._length;
      -                    } else if (preCmpRes < 0) {
      -                      curNode = new this._TreeNodeClass(key, value);
      -                      if (preNode._right === undefined) {
      -                        preNode._right = curNode;
      -                        curNode._parent = preNode;
      -                      } else {
      -                        iterNode._left = curNode;
      -                        curNode._parent = iterNode;
      -                      }
      -                    }
      -                  }
      -              }
      -            }
      -            if (curNode === undefined) {
      -              curNode = this._root;
      -              while (true) {
      -                var cmpResult = this._cmp(curNode._key, key);
      -                if (cmpResult > 0) {
      -                  if (curNode._left === undefined) {
      -                    curNode._left = new this._TreeNodeClass(key, value);
      -                    curNode._left._parent = curNode;
      -                    curNode = curNode._left;
      -                    break;
      -                  }
      -                  curNode = curNode._left;
      -                } else if (cmpResult < 0) {
      -                  if (curNode._right === undefined) {
      -                    curNode._right = new this._TreeNodeClass(key, value);
      -                    curNode._right._parent = curNode;
      -                    curNode = curNode._right;
      -                    break;
      -                  }
      -                  curNode = curNode._right;
      -                } else {
      -                  curNode._value = value;
      -                  return this._length;
      -                }
      -              }
      -            }
      -          }
      -        }
      -        if (this.enableIndex) {
      -          var parent_1 = curNode._parent;
      -          while (parent_1 !== this._header) {
      -            parent_1._subTreeSize += 1;
      -            parent_1 = parent_1._parent;
      -          }
      -        }
      -        this._insertNodeSelfBalance(curNode);
      -        this._length += 1;
      -        return this._length;
      -      };
      -      /**
      -       * @internal
      -       */
      -      TreeContainer.prototype._getTreeNodeByKey = function (curNode, key) {
      -        while (curNode) {
      -          var cmpResult = this._cmp(curNode._key, key);
      -          if (cmpResult < 0) {
      -            curNode = curNode._right;
      -          } else if (cmpResult > 0) {
      -            curNode = curNode._left;
      -          } else return curNode;
      -        }
      -        return curNode || this._header;
      -      };
      -      TreeContainer.prototype.clear = function () {
      -        this._length = 0;
      -        this._root = undefined;
      -        this._header._parent = undefined;
      -        this._header._left = this._header._right = undefined;
      -      };
      -      /**
      -       * @description Update node's key by iterator.
      -       * @param iter - The iterator you want to change.
      -       * @param key - The key you want to update.
      -       * @returns Whether the modification is successful.
      -       * @example
      -       * const st = new orderedSet([1, 2, 5]);
      -       * const iter = st.find(2);
      -       * st.updateKeyByIterator(iter, 3); // then st will become [1, 3, 5]
      -       */
      -      TreeContainer.prototype.updateKeyByIterator = function (iter, key) {
      -        var node = iter._node;
      -        if (node === this._header) {
      -          throwIteratorAccessError();
      -        }
      -        if (this._length === 1) {
      -          node._key = key;
      -          return true;
      -        }
      -        var nextKey = node._next()._key;
      -        if (node === this._header._left) {
      -          if (this._cmp(nextKey, key) > 0) {
      -            node._key = key;
      -            return true;
      -          }
      -          return false;
      -        }
      -        var preKey = node._pre()._key;
      -        if (node === this._header._right) {
      -          if (this._cmp(preKey, key) < 0) {
      -            node._key = key;
      -            return true;
      -          }
      -          return false;
      -        }
      -        if (this._cmp(preKey, key) >= 0 || this._cmp(nextKey, key) <= 0) return false;
      -        node._key = key;
      -        return true;
      -      };
      -      TreeContainer.prototype.eraseElementByPos = function (pos) {
      -        if (pos < 0 || pos > this._length - 1) {
      -          throw new RangeError();
      -        }
      -        var node = this._inOrderTraversal(pos);
      -        this._eraseNode(node);
      -        return this._length;
      -      };
      -      /**
      -       * @description Remove the element of the specified key.
      -       * @param key - The key you want to remove.
      -       * @returns Whether erase successfully.
      -       */
      -      TreeContainer.prototype.eraseElementByKey = function (key) {
      -        if (this._length === 0) return false;
      -        var curNode = this._getTreeNodeByKey(this._root, key);
      -        if (curNode === this._header) return false;
      -        this._eraseNode(curNode);
      -        return true;
      -      };
      -      TreeContainer.prototype.eraseElementByIterator = function (iter) {
      -        var node = iter._node;
      -        if (node === this._header) {
      -          throwIteratorAccessError();
      -        }
      -        var hasNoRight = node._right === undefined;
      -        var isNormal = iter.iteratorType === 0 /* IteratorType.NORMAL */;
      -        // For the normal iterator, the `next` node will be swapped to `this` node when has right.
      -        if (isNormal) {
      -          // So we should move it to next when it's right is null.
      -          if (hasNoRight) iter.next();
      -        } else {
      -          // For the reverse iterator, only when it doesn't have right and has left the `next` node will be swapped.
      -          // So when it has right, or it is a leaf node we should move it to `next`.
      -          if (!hasNoRight || node._left === undefined) iter.next();
      -        }
      -        this._eraseNode(node);
      -        return iter;
      -      };
      -      /**
      -       * @description Get the height of the tree.
      -       * @returns Number about the height of the RB-tree.
      -       */
      -      TreeContainer.prototype.getHeight = function () {
      -        if (this._length === 0) return 0;
      -        function traversal(curNode) {
      -          if (!curNode) return 0;
      -          return Math.max(traversal(curNode._left), traversal(curNode._right)) + 1;
      -        }
      -        return traversal(this._root);
      -      };
      -      return TreeContainer;
      -    }(Container);
      -
      -    var TreeIterator = /** @class */function (_super) {
      -      __extends(TreeIterator, _super);
      -      /**
      -       * @internal
      -       */
      -      function TreeIterator(node, header, iteratorType) {
      -        var _this = _super.call(this, iteratorType) || this;
      -        _this._node = node;
      -        _this._header = header;
      -        if (_this.iteratorType === 0 /* IteratorType.NORMAL */) {
      -          _this.pre = function () {
      -            if (this._node === this._header._left) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._pre();
      -            return this;
      -          };
      -          _this.next = function () {
      -            if (this._node === this._header) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._next();
      -            return this;
      -          };
      -        } else {
      -          _this.pre = function () {
      -            if (this._node === this._header._right) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._next();
      -            return this;
      -          };
      -          _this.next = function () {
      -            if (this._node === this._header) {
      -              throwIteratorAccessError();
      -            }
      -            this._node = this._node._pre();
      -            return this;
      -          };
      -        }
      -        return _this;
      -      }
      -      Object.defineProperty(TreeIterator.prototype, "index", {
      -        /**
      -         * @description Get the sequential index of the iterator in the tree container.
      - * Note: - * This function only takes effect when the specified tree container `enableIndex = true`. - * @returns The index subscript of the node in the tree. - * @example - * const st = new OrderedSet([1, 2, 3], true); - * console.log(st.begin().next().index); // 1 - */ - get: function () { - var _node = this._node; - var root = this._header._parent; - if (_node === this._header) { - if (root) { - return root._subTreeSize - 1; - } - return 0; - } - var index = 0; - if (_node._left) { - index += _node._left._subTreeSize; - } - while (_node !== root) { - var _parent = _node._parent; - if (_node === _parent._right) { - index += 1; - if (_parent._left) { - index += _parent._left._subTreeSize; - } - } - _node = _parent; - } - return index; - }, - enumerable: false, - configurable: true - }); - return TreeIterator; - }(ContainerIterator); - - var OrderedSetIterator = /** @class */function (_super) { - __extends(OrderedSetIterator, _super); - function OrderedSetIterator(node, header, container, iteratorType) { - var _this = _super.call(this, node, header, iteratorType) || this; - _this.container = container; - return _this; - } - Object.defineProperty(OrderedSetIterator.prototype, "pointer", { - get: function () { - if (this._node === this._header) { - throwIteratorAccessError(); - } - return this._node._key; - }, - enumerable: false, - configurable: true - }); - OrderedSetIterator.prototype.copy = function () { - return new OrderedSetIterator(this._node, this._header, this.container, this.iteratorType); - }; - return OrderedSetIterator; - }(TreeIterator); - var OrderedSet = /** @class */function (_super) { - __extends(OrderedSet, _super); - /** - * @param container - The initialization container. - * @param cmp - The compare function. - * @param enableIndex - Whether to enable iterator indexing function. - * @example - * new OrderedSet(); - * new OrderedSet([0, 1, 2]); - * new OrderedSet([0, 1, 2], (x, y) => x - y); - * new OrderedSet([0, 1, 2], (x, y) => x - y, true); - */ - function OrderedSet(container, cmp, enableIndex) { - if (container === void 0) { - container = []; - } - var _this = _super.call(this, cmp, enableIndex) || this; - var self = _this; - container.forEach(function (el) { - self.insert(el); - }); - return _this; - } - OrderedSet.prototype.begin = function () { - return new OrderedSetIterator(this._header._left || this._header, this._header, this); - }; - OrderedSet.prototype.end = function () { - return new OrderedSetIterator(this._header, this._header, this); - }; - OrderedSet.prototype.rBegin = function () { - return new OrderedSetIterator(this._header._right || this._header, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - OrderedSet.prototype.rEnd = function () { - return new OrderedSetIterator(this._header, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - OrderedSet.prototype.front = function () { - return this._header._left ? this._header._left._key : undefined; - }; - OrderedSet.prototype.back = function () { - return this._header._right ? this._header._right._key : undefined; - }; - OrderedSet.prototype.lowerBound = function (key) { - var resNode = this._lowerBound(this._root, key); - return new OrderedSetIterator(resNode, this._header, this); - }; - OrderedSet.prototype.upperBound = function (key) { - var resNode = this._upperBound(this._root, key); - return new OrderedSetIterator(resNode, this._header, this); - }; - OrderedSet.prototype.reverseLowerBound = function (key) { - var resNode = this._reverseLowerBound(this._root, key); - return new OrderedSetIterator(resNode, this._header, this); - }; - OrderedSet.prototype.reverseUpperBound = function (key) { - var resNode = this._reverseUpperBound(this._root, key); - return new OrderedSetIterator(resNode, this._header, this); - }; - OrderedSet.prototype.forEach = function (callback) { - this._inOrderTraversal(function (node, index, set) { - callback(node._key, index, set); - }); - }; - /** - * @description Insert element to set. - * @param key - The key want to insert. - * @param hint - You can give an iterator hint to improve insertion efficiency. - * @return The size of container after setting. - * @example - * const st = new OrderedSet([2, 4, 5]); - * const iter = st.begin(); - * st.insert(1); - * st.insert(3, iter); // give a hint will be faster. - */ - OrderedSet.prototype.insert = function (key, hint) { - return this._set(key, undefined, hint); - }; - OrderedSet.prototype.getElementByPos = function (pos) { - if (pos < 0 || pos > this._length - 1) { - throw new RangeError(); - } - var node = this._inOrderTraversal(pos); - return node._key; - }; - OrderedSet.prototype.find = function (element) { - var resNode = this._getTreeNodeByKey(this._root, element); - return new OrderedSetIterator(resNode, this._header, this); - }; - OrderedSet.prototype.union = function (other) { - var self = this; - other.forEach(function (el) { - self.insert(el); - }); - return this._length; - }; - OrderedSet.prototype[Symbol.iterator] = function () { - var length, nodeList, i; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - length = this._length; - nodeList = this._inOrderTraversal(); - i = 0; - _a.label = 1; - case 1: - if (!(i < length)) return [3 /*break*/, 4]; - return [4 /*yield*/, nodeList[i]._key]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - ++i; - return [3 /*break*/, 1]; - case 4: - return [2 /*return*/]; - } - }); - }; - - return OrderedSet; - }(TreeContainer); - - var OrderedMapIterator = /** @class */function (_super) { - __extends(OrderedMapIterator, _super); - function OrderedMapIterator(node, header, container, iteratorType) { - var _this = _super.call(this, node, header, iteratorType) || this; - _this.container = container; - return _this; - } - Object.defineProperty(OrderedMapIterator.prototype, "pointer", { - get: function () { - if (this._node === this._header) { - throwIteratorAccessError(); - } - var self = this; - return new Proxy([], { - get: function (_, props) { - if (props === '0') return self._node._key;else if (props === '1') return self._node._value; - }, - set: function (_, props, newValue) { - if (props !== '1') { - throw new TypeError('props must be 1'); - } - self._node._value = newValue; - return true; - } - }); - }, - enumerable: false, - configurable: true - }); - OrderedMapIterator.prototype.copy = function () { - return new OrderedMapIterator(this._node, this._header, this.container, this.iteratorType); - }; - return OrderedMapIterator; - }(TreeIterator); - var OrderedMap = /** @class */function (_super) { - __extends(OrderedMap, _super); - /** - * @param container - The initialization container. - * @param cmp - The compare function. - * @param enableIndex - Whether to enable iterator indexing function. - * @example - * new OrderedMap(); - * new OrderedMap([[0, 1], [2, 1]]); - * new OrderedMap([[0, 1], [2, 1]], (x, y) => x - y); - * new OrderedMap([[0, 1], [2, 1]], (x, y) => x - y, true); - */ - function OrderedMap(container, cmp, enableIndex) { - if (container === void 0) { - container = []; - } - var _this = _super.call(this, cmp, enableIndex) || this; - var self = _this; - container.forEach(function (el) { - self.setElement(el[0], el[1]); - }); - return _this; - } - OrderedMap.prototype.begin = function () { - return new OrderedMapIterator(this._header._left || this._header, this._header, this); - }; - OrderedMap.prototype.end = function () { - return new OrderedMapIterator(this._header, this._header, this); - }; - OrderedMap.prototype.rBegin = function () { - return new OrderedMapIterator(this._header._right || this._header, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - OrderedMap.prototype.rEnd = function () { - return new OrderedMapIterator(this._header, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - OrderedMap.prototype.front = function () { - if (this._length === 0) return; - var minNode = this._header._left; - return [minNode._key, minNode._value]; - }; - OrderedMap.prototype.back = function () { - if (this._length === 0) return; - var maxNode = this._header._right; - return [maxNode._key, maxNode._value]; - }; - OrderedMap.prototype.lowerBound = function (key) { - var resNode = this._lowerBound(this._root, key); - return new OrderedMapIterator(resNode, this._header, this); - }; - OrderedMap.prototype.upperBound = function (key) { - var resNode = this._upperBound(this._root, key); - return new OrderedMapIterator(resNode, this._header, this); - }; - OrderedMap.prototype.reverseLowerBound = function (key) { - var resNode = this._reverseLowerBound(this._root, key); - return new OrderedMapIterator(resNode, this._header, this); - }; - OrderedMap.prototype.reverseUpperBound = function (key) { - var resNode = this._reverseUpperBound(this._root, key); - return new OrderedMapIterator(resNode, this._header, this); - }; - OrderedMap.prototype.forEach = function (callback) { - this._inOrderTraversal(function (node, index, map) { - callback([node._key, node._value], index, map); - }); - }; - /** - * @description Insert a key-value pair or set value by the given key. - * @param key - The key want to insert. - * @param value - The value want to set. - * @param hint - You can give an iterator hint to improve insertion efficiency. - * @return The size of container after setting. - * @example - * const mp = new OrderedMap([[2, 0], [4, 0], [5, 0]]); - * const iter = mp.begin(); - * mp.setElement(1, 0); - * mp.setElement(3, 0, iter); // give a hint will be faster. - */ - OrderedMap.prototype.setElement = function (key, value, hint) { - return this._set(key, value, hint); - }; - OrderedMap.prototype.getElementByPos = function (pos) { - if (pos < 0 || pos > this._length - 1) { - throw new RangeError(); - } - var node = this._inOrderTraversal(pos); - return [node._key, node._value]; - }; - OrderedMap.prototype.find = function (key) { - var curNode = this._getTreeNodeByKey(this._root, key); - return new OrderedMapIterator(curNode, this._header, this); - }; - /** - * @description Get the value of the element of the specified key. - * @param key - The specified key you want to get. - * @example - * const val = container.getElementByKey(1); - */ - OrderedMap.prototype.getElementByKey = function (key) { - var curNode = this._getTreeNodeByKey(this._root, key); - return curNode._value; - }; - OrderedMap.prototype.union = function (other) { - var self = this; - other.forEach(function (el) { - self.setElement(el[0], el[1]); - }); - return this._length; - }; - OrderedMap.prototype[Symbol.iterator] = function () { - var length, nodeList, i, node; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - length = this._length; - nodeList = this._inOrderTraversal(); - i = 0; - _a.label = 1; - case 1: - if (!(i < length)) return [3 /*break*/, 4]; - node = nodeList[i]; - return [4 /*yield*/, [node._key, node._value]]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - ++i; - return [3 /*break*/, 1]; - case 4: - return [2 /*return*/]; - } - }); - }; - - return OrderedMap; - }(TreeContainer); - - /** - * @description Determine whether the type of key is `object`. - * @param key - The key want to check. - * @returns Whether the type of key is `object`. - * @internal - */ - function checkObject(key) { - var t = typeof key; - return t === 'object' && key !== null || t === 'function'; - } - - var HashContainerIterator = /** @class */function (_super) { - __extends(HashContainerIterator, _super); - /** - * @internal - */ - function HashContainerIterator(node, header, iteratorType) { - var _this = _super.call(this, iteratorType) || this; - _this._node = node; - _this._header = header; - if (_this.iteratorType === 0 /* IteratorType.NORMAL */) { - _this.pre = function () { - if (this._node._pre === this._header) { - throwIteratorAccessError(); - } - this._node = this._node._pre; - return this; - }; - _this.next = function () { - if (this._node === this._header) { - throwIteratorAccessError(); - } - this._node = this._node._next; - return this; - }; - } else { - _this.pre = function () { - if (this._node._next === this._header) { - throwIteratorAccessError(); - } - this._node = this._node._next; - return this; - }; - _this.next = function () { - if (this._node === this._header) { - throwIteratorAccessError(); - } - this._node = this._node._pre; - return this; - }; - } - return _this; - } - return HashContainerIterator; - }(ContainerIterator); - var HashContainer = /** @class */function (_super) { - __extends(HashContainer, _super); - /** - * @internal - */ - function HashContainer() { - var _this = _super.call(this) || this; - /** - * @internal - */ - _this._objMap = []; - /** - * @internal - */ - _this._originMap = {}; - /** - * @description Unique symbol used to tag object. - */ - _this.HASH_TAG = Symbol('@@HASH_TAG'); - Object.setPrototypeOf(_this._originMap, null); - _this._header = {}; - _this._header._pre = _this._header._next = _this._head = _this._tail = _this._header; - return _this; - } - /** - * @internal - */ - HashContainer.prototype._eraseNode = function (node) { - var _pre = node._pre, - _next = node._next; - _pre._next = _next; - _next._pre = _pre; - if (node === this._head) { - this._head = _next; - } - if (node === this._tail) { - this._tail = _pre; - } - this._length -= 1; - }; - /** - * @internal - */ - HashContainer.prototype._set = function (key, value, isObject) { - if (isObject === undefined) isObject = checkObject(key); - var newTail; - if (isObject) { - var index = key[this.HASH_TAG]; - if (index !== undefined) { - this._objMap[index]._value = value; - return this._length; - } - Object.defineProperty(key, this.HASH_TAG, { - value: this._objMap.length, - configurable: true - }); - newTail = { - _key: key, - _value: value, - _pre: this._tail, - _next: this._header - }; - this._objMap.push(newTail); - } else { - var node = this._originMap[key]; - if (node) { - node._value = value; - return this._length; - } - this._originMap[key] = newTail = { - _key: key, - _value: value, - _pre: this._tail, - _next: this._header - }; - } - if (this._length === 0) { - this._head = newTail; - this._header._next = newTail; - } else { - this._tail._next = newTail; - } - this._tail = newTail; - this._header._pre = newTail; - return ++this._length; - }; - /** - * @internal - */ - HashContainer.prototype._findElementNode = function (key, isObject) { - if (isObject === undefined) isObject = checkObject(key); - if (isObject) { - var index = key[this.HASH_TAG]; - if (index === undefined) return this._header; - return this._objMap[index]; - } else { - return this._originMap[key] || this._header; - } - }; - HashContainer.prototype.clear = function () { - var HASH_TAG = this.HASH_TAG; - this._objMap.forEach(function (el) { - delete el._key[HASH_TAG]; - }); - this._objMap = []; - this._originMap = {}; - Object.setPrototypeOf(this._originMap, null); - this._length = 0; - this._head = this._tail = this._header._pre = this._header._next = this._header; - }; - /** - * @description Remove the element of the specified key. - * @param key - The key you want to remove. - * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
      - * If a `undefined` value is passed in, the type will be automatically judged. - * @returns Whether erase successfully. - */ - HashContainer.prototype.eraseElementByKey = function (key, isObject) { - var node; - if (isObject === undefined) isObject = checkObject(key); - if (isObject) { - var index = key[this.HASH_TAG]; - if (index === undefined) return false; - delete key[this.HASH_TAG]; - node = this._objMap[index]; - delete this._objMap[index]; - } else { - node = this._originMap[key]; - if (node === undefined) return false; - delete this._originMap[key]; - } - this._eraseNode(node); - return true; - }; - HashContainer.prototype.eraseElementByIterator = function (iter) { - var node = iter._node; - if (node === this._header) { - throwIteratorAccessError(); - } - this._eraseNode(node); - return iter.next(); - }; - HashContainer.prototype.eraseElementByPos = function (pos) { - if (pos < 0 || pos > this._length - 1) { - throw new RangeError(); - } - var node = this._head; - while (pos--) { - node = node._next; - } - this._eraseNode(node); - return this._length; - }; - return HashContainer; - }(Container); - - var HashSetIterator = /** @class */function (_super) { - __extends(HashSetIterator, _super); - function HashSetIterator(node, header, container, iteratorType) { - var _this = _super.call(this, node, header, iteratorType) || this; - _this.container = container; - return _this; - } - Object.defineProperty(HashSetIterator.prototype, "pointer", { - get: function () { - if (this._node === this._header) { - throwIteratorAccessError(); - } - return this._node._key; - }, - enumerable: false, - configurable: true - }); - HashSetIterator.prototype.copy = function () { - return new HashSetIterator(this._node, this._header, this.container, this.iteratorType); - }; - return HashSetIterator; - }(HashContainerIterator); - var HashSet = /** @class */function (_super) { - __extends(HashSet, _super); - function HashSet(container) { - if (container === void 0) { - container = []; - } - var _this = _super.call(this) || this; - var self = _this; - container.forEach(function (el) { - self.insert(el); - }); - return _this; - } - HashSet.prototype.begin = function () { - return new HashSetIterator(this._head, this._header, this); - }; - HashSet.prototype.end = function () { - return new HashSetIterator(this._header, this._header, this); - }; - HashSet.prototype.rBegin = function () { - return new HashSetIterator(this._tail, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - HashSet.prototype.rEnd = function () { - return new HashSetIterator(this._header, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - HashSet.prototype.front = function () { - return this._head._key; - }; - HashSet.prototype.back = function () { - return this._tail._key; - }; - /** - * @description Insert element to set. - * @param key - The key want to insert. - * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
      - * If a `undefined` value is passed in, the type will be automatically judged. - * @returns The size of container after inserting. - */ - HashSet.prototype.insert = function (key, isObject) { - return this._set(key, undefined, isObject); - }; - HashSet.prototype.getElementByPos = function (pos) { - if (pos < 0 || pos > this._length - 1) { - throw new RangeError(); - } - var node = this._head; - while (pos--) { - node = node._next; - } - return node._key; - }; - /** - * @description Check key if exist in container. - * @param key - The element you want to search. - * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
      - * If a `undefined` value is passed in, the type will be automatically judged. - * @returns An iterator pointing to the element if found, or super end if not found. - */ - HashSet.prototype.find = function (key, isObject) { - var node = this._findElementNode(key, isObject); - return new HashSetIterator(node, this._header, this); - }; - HashSet.prototype.forEach = function (callback) { - var index = 0; - var node = this._head; - while (node !== this._header) { - callback(node._key, index++, this); - node = node._next; - } - }; - HashSet.prototype[Symbol.iterator] = function () { - var node; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - node = this._head; - _a.label = 1; - case 1: - if (!(node !== this._header)) return [3 /*break*/, 3]; - return [4 /*yield*/, node._key]; - case 2: - _a.sent(); - node = node._next; - return [3 /*break*/, 1]; - case 3: - return [2 /*return*/]; - } - }); - }; - - return HashSet; - }(HashContainer); - - var HashMapIterator = /** @class */function (_super) { - __extends(HashMapIterator, _super); - function HashMapIterator(node, header, container, iteratorType) { - var _this = _super.call(this, node, header, iteratorType) || this; - _this.container = container; - return _this; - } - Object.defineProperty(HashMapIterator.prototype, "pointer", { - get: function () { - if (this._node === this._header) { - throwIteratorAccessError(); - } - var self = this; - return new Proxy([], { - get: function (_, props) { - if (props === '0') return self._node._key;else if (props === '1') return self._node._value; - }, - set: function (_, props, newValue) { - if (props !== '1') { - throw new TypeError('props must be 1'); - } - self._node._value = newValue; - return true; - } - }); - }, - enumerable: false, - configurable: true - }); - HashMapIterator.prototype.copy = function () { - return new HashMapIterator(this._node, this._header, this.container, this.iteratorType); - }; - return HashMapIterator; - }(HashContainerIterator); - var HashMap = /** @class */function (_super) { - __extends(HashMap, _super); - function HashMap(container) { - if (container === void 0) { - container = []; - } - var _this = _super.call(this) || this; - var self = _this; - container.forEach(function (el) { - self.setElement(el[0], el[1]); - }); - return _this; - } - HashMap.prototype.begin = function () { - return new HashMapIterator(this._head, this._header, this); - }; - HashMap.prototype.end = function () { - return new HashMapIterator(this._header, this._header, this); - }; - HashMap.prototype.rBegin = function () { - return new HashMapIterator(this._tail, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - HashMap.prototype.rEnd = function () { - return new HashMapIterator(this._header, this._header, this, 1 /* IteratorType.REVERSE */); - }; - - HashMap.prototype.front = function () { - if (this._length === 0) return; - return [this._head._key, this._head._value]; - }; - HashMap.prototype.back = function () { - if (this._length === 0) return; - return [this._tail._key, this._tail._value]; - }; - /** - * @description Insert a key-value pair or set value by the given key. - * @param key - The key want to insert. - * @param value - The value want to set. - * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
      - * If a `undefined` value is passed in, the type will be automatically judged. - * @returns The size of container after setting. - */ - HashMap.prototype.setElement = function (key, value, isObject) { - return this._set(key, value, isObject); - }; - /** - * @description Get the value of the element of the specified key. - * @param key - The key want to search. - * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
      - * If a `undefined` value is passed in, the type will be automatically judged. - * @example - * const val = container.getElementByKey(1); - */ - HashMap.prototype.getElementByKey = function (key, isObject) { - if (isObject === undefined) isObject = checkObject(key); - if (isObject) { - var index = key[this.HASH_TAG]; - return index !== undefined ? this._objMap[index]._value : undefined; - } - var node = this._originMap[key]; - return node ? node._value : undefined; - }; - HashMap.prototype.getElementByPos = function (pos) { - if (pos < 0 || pos > this._length - 1) { - throw new RangeError(); - } - var node = this._head; - while (pos--) { - node = node._next; - } - return [node._key, node._value]; - }; - /** - * @description Check key if exist in container. - * @param key - The element you want to search. - * @param isObject - Tell us if the type of inserted key is `object` to improve efficiency.
      - * If a `undefined` value is passed in, the type will be automatically judged. - * @returns An iterator pointing to the element if found, or super end if not found. - */ - HashMap.prototype.find = function (key, isObject) { - var node = this._findElementNode(key, isObject); - return new HashMapIterator(node, this._header, this); - }; - HashMap.prototype.forEach = function (callback) { - var index = 0; - var node = this._head; - while (node !== this._header) { - callback([node._key, node._value], index++, this); - node = node._next; - } - }; - HashMap.prototype[Symbol.iterator] = function () { - var node; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - node = this._head; - _a.label = 1; - case 1: - if (!(node !== this._header)) return [3 /*break*/, 3]; - return [4 /*yield*/, [node._key, node._value]]; - case 2: - _a.sent(); - node = node._next; - return [3 /*break*/, 1]; - case 3: - return [2 /*return*/]; - } - }); - }; - - return HashMap; - }(HashContainer); - - exports.Deque = Deque; - exports.HashMap = HashMap; - exports.HashSet = HashSet; - exports.LinkList = LinkList; - exports.OrderedMap = OrderedMap; - exports.OrderedSet = OrderedSet; - exports.PriorityQueue = PriorityQueue; - exports.Queue = Queue; - exports.Stack = Stack; - exports.Vector = Vector; - - Object.defineProperty(exports, '__esModule', { value: true }); - -})); diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.min.js b/tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.min.js deleted file mode 100644 index 1d205733ed9de0..00000000000000 --- a/tools/node_modules/eslint/node_modules/js-sdsl/dist/umd/js-sdsl.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * js-sdsl v4.4.0 - * https://github.com/js-sdsl/js-sdsl - * (c) 2021-present ZLY201 - * MIT license - */ -!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).sdsl={})}(this,function(t){"use strict";var A=function(t,i){return(A=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(t,i){t.__proto__=i}:function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}))(t,i)};function i(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function r(){this.constructor=t}A(t,i),t.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}function s(e,n){var s,o,h,u={label:0,sent:function(){if(1&h[0])throw h[1];return h[1]},trys:[],ops:[]},f={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(f[Symbol.iterator]=function(){return this}),f;function t(r){return function(t){var i=[r,t];if(s)throw new TypeError("Generator is already executing.");for(;u=f&&i[f=0]?0:u;)try{if(s=1,o&&(h=2&i[0]?o.return:i[0]?o.throw||((h=o.return)&&h.call(o),0):o.next)&&!(h=h.call(o,i[1])).done)return h;switch(o=0,(i=h?[2&i[0],h.value]:i)[0]){case 0:case 1:h=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,o=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(h=0<(h=u.trys).length&&h[h.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!h||i[1]>h[0]&&i[1]=i&&4096>1,e=this.l[r];if(this.v(e,i)<=0)break;this.l[t]=e,t=r}this.l[t]=i},f.prototype._=function(t,i){for(var r=this.l[t];t>1)),t},f.prototype.top=function(){return this.l[0]},f.prototype.find=function(t){return 0<=this.l.indexOf(t)},f.prototype.remove=function(t){t=this.l.indexOf(t);return!(t<0||(0===t?this.pop():t===this.i-1?(this.l.pop(),--this.i):(this.l.splice(t,1,this.l.pop()),--this.i,this.p(t),this._(t,this.i>>1)),0))},f.prototype.updateItem=function(t){t=this.l.indexOf(t);return!(t<0||(this.p(t),this._(t,this.i>>1),0))},f.prototype.toArray=function(){return u([],h(this.l),!1)};var U,e=f;function f(t,i,r){void 0===t&&(t=[]),void 0===i&&(i=function(t,i){return i>1),o=n.i-1>>1;0<=o;--o)n._(o,s);return n}i(z,J=q);var J,p=z;function z(){return null!==J&&J.apply(this,arguments)||this}function c(){throw new RangeError("Iterator access denied!")}i(Z,W=r),Object.defineProperty(Z.prototype,"pointer",{get:function(){return this.container.getElementByPos(this.t)},set:function(t){this.container.setElementByPos(this.t,t)},enumerable:!1,configurable:!0});var W,Y=Z;function Z(t,i){i=W.call(this,i)||this;return i.t=t,0===i.iteratorType?(i.pre=function(){return 0===this.t&&c(),--this.t,this},i.next=function(){return this.t===this.container.size()&&c(),this.t+=1,this}):(i.pre=function(){return this.t===this.container.size()-1&&c(),this.t+=1,this},i.next=function(){return-1===this.t&&c(),--this.t,this}),i}i(Q,$=Y),Q.prototype.copy=function(){return new Q(this.t,this.container,this.iteratorType)};var $,a=Q;function Q(t,i,r){t=$.call(this,t,r)||this;return t.container=i,t}i(l,tt=p),l.prototype.clear=function(){this.i=0,this.I.length=0},l.prototype.begin=function(){return new a(0,this)},l.prototype.end=function(){return new a(this.i,this)},l.prototype.rBegin=function(){return new a(this.i-1,this,1)},l.prototype.rEnd=function(){return new a(-1,this,1)},l.prototype.front=function(){return this.I[0]},l.prototype.back=function(){return this.I[this.i-1]},l.prototype.getElementByPos=function(t){if(t<0||t>this.i-1)throw new RangeError;return this.I[t]},l.prototype.eraseElementByPos=function(t){if(t<0||t>this.i-1)throw new RangeError;return this.I.splice(t,1),--this.i,this.i},l.prototype.eraseElementByValue=function(t){for(var i=0,r=0;rthis.i-1)throw new RangeError;this.I[t]=i},l.prototype.insert=function(t,i,r){var e;if(void 0===r&&(r=1),t<0||t>this.i)throw new RangeError;return(e=this.I).splice.apply(e,u([t,0],h(new Array(r).fill(i)),!1)),this.i+=r,this.i},l.prototype.find=function(t){for(var i=0;i=t.length?void 0:t)&&t[e++],done:!t}}};throw new TypeError(i?"Object is not iterable.":"Symbol.iterator is not defined.")}(this.I)];case 1:return t.sent(),[2]}})};var tt,it=l;function l(t,i){void 0===t&&(t=[]),void 0===i&&(i=!0);var r,e=tt.call(this)||this;return Array.isArray(t)?(e.I=i?u([],h(t),!1):t,e.i=t.length):(e.I=[],r=e,t.forEach(function(t){r.pushBack(t)})),e}i(v,rt=r),Object.defineProperty(v.prototype,"pointer",{get:function(){return this.t===this.O&&c(),this.t.k},set:function(t){this.t===this.O&&c(),this.t.k=t},enumerable:!1,configurable:!0}),v.prototype.copy=function(){return new v(this.t,this.O,this.container,this.iteratorType)};var rt,y=v;function v(t,i,r,e){e=rt.call(this,e)||this;return e.t=t,e.O=i,e.container=r,0===e.iteratorType?(e.pre=function(){return this.t.S===this.O&&c(),this.t=this.t.S,this},e.next=function(){return this.t===this.O&&c(),this.t=this.t.L,this}):(e.pre=function(){return this.t.L===this.O&&c(),this.t=this.t.L,this},e.next=function(){return this.t===this.O&&c(),this.t=this.t.S,this}),e}i(O,et=p),O.prototype.M=function(t){var i=t.S,r=t.L;(i.L=r).S=i,t===this.H&&(this.H=r),t===this.g&&(this.g=i),--this.i},O.prototype.A=function(t,i){var r=i.L,t={k:t,S:i,L:r};i.L=t,r.S=t,i===this.O&&(this.H=t),r===this.O&&(this.g=t),this.i+=1},O.prototype.clear=function(){this.i=0,this.H=this.g=this.O.S=this.O.L=this.O},O.prototype.begin=function(){return new y(this.H,this.O,this)},O.prototype.end=function(){return new y(this.O,this.O,this)},O.prototype.rBegin=function(){return new y(this.g,this.O,this,1)},O.prototype.rEnd=function(){return new y(this.O,this.O,this,1)},O.prototype.front=function(){return this.H.k},O.prototype.back=function(){return this.g.k},O.prototype.getElementByPos=function(t){if(t<0||t>this.i-1)throw new RangeError;for(var i=this.H;t--;)i=i.L;return i.k},O.prototype.eraseElementByPos=function(t){if(t<0||t>this.i-1)throw new RangeError;for(var i=this.H;t--;)i=i.L;return this.M(i),this.i},O.prototype.eraseElementByValue=function(t){for(var i=this.H;i!==this.O;)i.k===t&&this.M(i),i=i.L;return this.i},O.prototype.eraseElementByIterator=function(t){var i=t.t;return i===this.O&&c(),t=t.next(),this.M(i),t},O.prototype.pushBack=function(t){return this.A(t,this.g),this.i},O.prototype.popBack=function(){var t;if(0!==this.i)return t=this.g.k,this.M(this.g),t},O.prototype.pushFront=function(t){return this.A(t,this.O),this.i},O.prototype.popFront=function(){var t;if(0!==this.i)return t=this.H.k,this.M(this.H),t},O.prototype.setElementByPos=function(t,i){if(t<0||t>this.i-1)throw new RangeError;for(var r=this.H;t--;)r=r.L;r.k=i},O.prototype.insert=function(t,i,r){if(void 0===r&&(r=1),t<0||t>this.i)throw new RangeError;if(!(r<=0))if(0===t)for(;r--;)this.pushFront(i);else if(t===this.i)for(;r--;)this.pushBack(i);else{for(var e=this.H,n=1;n>1||1,e=0;e=this.D&&(i-=this.D),{curNodeBucketIndex:i,curNodePointerIndex:i=(i=(t+1)%this.V-1)<0?this.V-1:i}},P.prototype.clear=function(){this.m=[new Array(this.V)],this.D=1,this.u=this.C=this.i=0,this.T=this.q=this.V>>1},P.prototype.begin=function(){return new d(0,this)},P.prototype.end=function(){return new d(this.i,this)},P.prototype.rBegin=function(){return new d(this.i-1,this,1)},P.prototype.rEnd=function(){return new d(-1,this,1)},P.prototype.front=function(){if(0!==this.i)return this.m[this.u][this.T]},P.prototype.back=function(){if(0!==this.i)return this.m[this.C][this.q]},P.prototype.pushBack=function(t){return this.i&&(this.qthis.i-1)throw new RangeError;var t=this.R(t),i=t.curNodeBucketIndex,t=t.curNodePointerIndex;return this.m[i][t]},P.prototype.setElementByPos=function(t,i){if(t<0||t>this.i-1)throw new RangeError;var t=this.R(t),r=t.curNodeBucketIndex,t=t.curNodePointerIndex;this.m[r][t]=i},P.prototype.insert=function(t,i,r){void 0===r&&(r=1);var e=this.i;if(t<0||ethis.i-1)throw new RangeError;if(0===t)this.popFront();else{if(t!==this.i-1)for(var i=this.i-1,r=this.R(t),e=r.curNodeBucketIndex,n=r.curNodePointerIndex,s=t;s>1)-(i>>1),r.T=r.q=r.V-e%r.V>>1,r);return t.forEach(function(t){s.pushBack(t)}),r}w.prototype.S=function(){var t=this;if(1===t.F&&t.B.B===t)t=t.N;else if(t.P)for(t=t.P;t.N;)t=t.N;else{for(var i=t.B;i.P===t;)i=(t=i).B;t=i}return t},w.prototype.L=function(){var t=this;if(t.N){for(t=t.N;t.P;)t=t.P;return t}for(var i=t.B;i.N===t;)i=(t=i).B;return t.N!==i?i:t},w.prototype.J=function(){var t=this.B,i=this.N,r=i.P;return t.B===this?t.B=i:t.P===this?t.P=i:t.N=i,i.B=t,(i.P=this).B=i,(this.N=r)&&(r.B=this),i},w.prototype.K=function(){var t=this.B,i=this.P,r=i.N;return t.B===this?t.B=i:t.P===this?t.P=i:t.N=i,i.B=t,(i.N=this).B=i,(this.P=r)&&(r.B=this),i};var pt=w;function w(t,i,r){void 0===r&&(r=1),this.P=void 0,this.N=void 0,this.B=void 0,this.G=t,this.k=i,this.F=r}i(g,B=pt),g.prototype.J=function(){var t=B.prototype.J.call(this);return this.W(),t.W(),t},g.prototype.K=function(){var t=B.prototype.K.call(this);return this.W(),t.W(),t},g.prototype.W=function(){this.U=1,this.P&&(this.U+=this.P.U),this.N&&(this.U+=this.N.U)};var B,ct=g;function g(){var t=null!==B&&B.apply(this,arguments)||this;return t.U=1,t}i(b,at=q),b.prototype.Z=function(t,i){for(var r=this.O;t;){var e=this.v(t.G,i);if(e<0)t=t.N;else{if(!(0this.i-1)throw new RangeError;t=this.et(t);return this.M(t),this.i},b.prototype.eraseElementByKey=function(t){return 0!==this.i&&(t=this.ht(this.X,t))!==this.O&&(this.M(t),!0)},b.prototype.eraseElementByIterator=function(t){var i=t.t,r=(i===this.O&&c(),void 0===i.N);return 0===t.iteratorType?r&&t.next():r&&void 0!==i.P||t.next(),this.M(i),t},b.prototype.getHeight=function(){return 0===this.i?0:function t(i){return i?Math.max(t(i.P),t(i.N))+1:0}(this.X)};var at,p=b;function b(t,i){void 0===t&&(t=function(t,i){return tthis.i-1)throw new RangeError;return this.et(t).G},k.prototype.find=function(t){t=this.ht(this.X,t);return new m(t,this.O,this)},k.prototype.union=function(t){var i=this;return t.forEach(function(t){i.insert(t)}),this.i},k.prototype[Symbol.iterator]=function(){var i,r,e;return s(this,function(t){switch(t.label){case 0:i=this.i,r=this.et(),e=0,t.label=1;case 1:return ethis.i-1)throw new RangeError;t=this.et(t);return[t.G,t.k]},L.prototype.find=function(t){t=this.ht(this.X,t);return new N(t,this.O,this)},L.prototype.getElementByKey=function(t){return this.ht(this.X,t).k},L.prototype.union=function(t){var i=this;return t.forEach(function(t){i.setElement(t[0],t[1])}),this.i},L.prototype[Symbol.iterator]=function(){var i,r,e,n;return s(this,function(t){switch(t.label){case 0:i=this.i,r=this.et(),e=0,t.label=1;case 1:return ethis.i-1)throw new RangeError;for(var i=this.H;t--;)i=i.L;return this.M(i),this.i};var Et,r=S;function S(){var t=Et.call(this)||this;return t.ut=[],t.ot={},t.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(t.ot,null),t.O={},t.O.S=t.O.L=t.H=t.g=t.O,t}i(F,kt=p),Object.defineProperty(F.prototype,"pointer",{get:function(){return this.t===this.O&&c(),this.t.G},enumerable:!1,configurable:!0}),F.prototype.copy=function(){return new F(this.t,this.O,this.container,this.iteratorType)};var kt,G=F;function F(t,i,r,e){t=kt.call(this,t,i,e)||this;return t.container=r,t}i(I,Nt=r),I.prototype.begin=function(){return new G(this.H,this.O,this)},I.prototype.end=function(){return new G(this.O,this.O,this)},I.prototype.rBegin=function(){return new G(this.g,this.O,this,1)},I.prototype.rEnd=function(){return new G(this.O,this.O,this,1)},I.prototype.front=function(){return this.H.G},I.prototype.back=function(){return this.g.G},I.prototype.insert=function(t,i){return this.st(t,void 0,i)},I.prototype.getElementByPos=function(t){if(t<0||t>this.i-1)throw new RangeError;for(var i=this.H;t--;)i=i.L;return i.G},I.prototype.find=function(t,i){t=this.ft(t,i);return new G(t,this.O,this)},I.prototype.forEach=function(t){for(var i=0,r=this.H;r!==this.O;)t(r.G,i++,this),r=r.L},I.prototype[Symbol.iterator]=function(){var i;return s(this,function(t){switch(t.label){case 0:i=this.H,t.label=1;case 1:return i===this.O?[3,3]:[4,i.G];case 2:return t.sent(),i=i.L,[3,1];case 3:return[2]}})};var Nt,q=I;function I(t){void 0===t&&(t=[]);var i=Nt.call(this)||this,r=i;return t.forEach(function(t){r.insert(t)}),i}i(x,Ht=p),Object.defineProperty(x.prototype,"pointer",{get:function(){this.t===this.O&&c();var e=this;return new Proxy([],{get:function(t,i){return"0"===i?e.t.G:"1"===i?e.t.k:void 0},set:function(t,i,r){if("1"!==i)throw new TypeError("props must be 1");return e.t.k=r,!0}})},enumerable:!1,configurable:!0}),x.prototype.copy=function(){return new x(this.t,this.O,this.container,this.iteratorType)};var Ht,T=x;function x(t,i,r,e){t=Ht.call(this,t,i,e)||this;return t.container=r,t}i(X,Lt=r),X.prototype.begin=function(){return new T(this.H,this.O,this)},X.prototype.end=function(){return new T(this.O,this.O,this)},X.prototype.rBegin=function(){return new T(this.g,this.O,this,1)},X.prototype.rEnd=function(){return new T(this.O,this.O,this,1)},X.prototype.front=function(){if(0!==this.i)return[this.H.G,this.H.k]},X.prototype.back=function(){if(0!==this.i)return[this.g.G,this.g.k]},X.prototype.setElement=function(t,i,r){return this.st(t,i,r)},X.prototype.getElementByKey=function(t,i){return(i=void 0===i?gt(t):i)?void 0!==(i=t[this.HASH_TAG])?this.ut[i].k:void 0:(i=this.ot[t])?i.k:void 0},X.prototype.getElementByPos=function(t){if(t<0||t>this.i-1)throw new RangeError;for(var i=this.H;t--;)i=i.L;return[i.G,i.k]},X.prototype.find=function(t,i){t=this.ft(t,i);return new T(t,this.O,this)},X.prototype.forEach=function(t){for(var i=0,r=this.H;r!==this.O;)t([r.G,r.k],i++,this),r=r.L},X.prototype[Symbol.iterator]=function(){var i;return s(this,function(t){switch(t.label){case 0:i=this.H,t.label=1;case 1:return i===this.O?[3,3]:[4,[i.G,i.k]];case 2:return t.sent(),i=i.L,[3,1];case 3:return[2]}})};var Lt,p=X;function X(t){void 0===t&&(t=[]);var i=Lt.call(this)||this,r=i;return t.forEach(function(t){r.setElement(t[0],t[1])}),i}t.Deque=Y,t.HashMap=p,t.HashSet=q,t.LinkList=nt,t.OrderedMap=yt,t.OrderedSet=Pt,t.PriorityQueue=e,t.Queue=K,t.Stack=M,t.Vector=it,Object.defineProperty(t,"ct",{value:!0})}); -//# sourceMappingURL=js-sdsl.min.js.map diff --git a/tools/node_modules/eslint/node_modules/js-sdsl/package.json b/tools/node_modules/eslint/node_modules/js-sdsl/package.json deleted file mode 100644 index 2d3c84a4337902..00000000000000 --- a/tools/node_modules/eslint/node_modules/js-sdsl/package.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "name": "js-sdsl", - "version": "4.4.0", - "description": "javascript standard data structure library which benchmark against C++ STL", - "main": "./dist/cjs/index.js", - "module": "./dist/esm/index.js", - "types": "./dist/esm/index.d.ts", - "author": { - "name": "ZLY201", - "email": "951711127@qq.com", - "url": "https://github.com/js-sdsl/js-sdsl" - }, - "sideEffects": false, - "homepage": "https://js-sdsl.org", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - }, - "scripts": { - "setup": "rm -rf node_modules && yarn install", - "dev": "ttsc --project tsconfig.dev.json --watch", - "build": "gulp", - "build:cjs": "gulp cjs", - "build:esm": "gulp esm", - "build:umd": "gulp umd", - "build:umd:min": "yarn build:umd && gulp umd:min", - "build:isolate": "gulp isolate", - "build:all": "yarn build && yarn build:isolate", - "test": "yarn test:unit && yarn test:chrome && yarn test:performance", - "test:unit": "nyc ts-mocha --paths 'test/**/*.test.ts' --timeout 10000", - "test:edge": "karma start --browsers Edge", - "test:safari": "karma start --browsers SafariNative", - "test:chrome": "karma start --browsers ChromeHeadless", - "test:firefox": "karma start --browsers Firefox", - "test:isolate": "yarn build:isolate && ts-mocha --paths 'test/IsolationTest/*.ts'", - "test:performance": "gulp performance && node dist/performance/performance/index.js", - "lint": "eslint --fix --color --cache --max-warnings=0 .", - "generate": "typedoc src/index.ts --includeVersion --sort required-first --sort instance-first --sort source-order", - "generate:dev": "yarn generate --watch", - "prepare": "husky install" - }, - "lint-staged": { - "*.{js,ts}": [ - "yarn lint" - ] - }, - "devDependencies": { - "@babel/core": "^7.19.3", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@rollup/plugin-babel": "^5.3.1", - "@rollup/plugin-typescript": "^9.0.2", - "@types/babel__core": "^7.1.19", - "@types/chai": "^3.5.2", - "@types/delete-empty": "^3.0.2", - "@types/gulp": "^4.0.9", - "@types/gulp-babel": "^6.1.30", - "@types/gulp-filter": "^3.0.34", - "@types/gulp-rename": "^2.0.1", - "@types/gulp-sourcemaps": "^0.0.35", - "@types/gulp-tap": "^1.0.1", - "@types/gulp-terser": "^1.2.1", - "@types/gulp-uglify": "^3.0.7", - "@types/karma": "^6.3.3", - "@types/merge-stream": "^1.1.2", - "@types/mocha": "^9.1.1", - "@types/node": "^17.0.0", - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "all-contributors-cli": "^6.20.0", - "babel-plugin-remove-unused-import": "^2.1.1", - "browserslist": "^4.21.3", - "chai": "^3.5.0", - "commitlint": "^17.0.3", - "compare-versions": "^5.0.1", - "conventional-changelog-conventionalcommits": "^5.0.0", - "delete-empty": "^3.0.0", - "eslint": "^8.23.1", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-compat": "^4.0.2", - "eslint-plugin-import": "^2.26.0", - "get-npm-package-version": "^1.1.1", - "gh-pages": "^3.2.3", - "gulp": "^4.0.2", - "gulp-babel": "^8.0.0", - "gulp-clean": "^0.4.0", - "gulp-filter": "^7.0.0", - "gulp-rename": "^2.0.0", - "gulp-sourcemaps": "^3.0.0", - "gulp-tap": "^2.0.0", - "gulp-terser": "^2.1.0", - "gulp-typescript": "^5.0.0", - "gulp-uglify": "^3.0.2", - "husky": "^8.0.1", - "karma": "^6.4.1", - "karma-chrome-launcher": "^3.1.1", - "karma-edge-launcher": "^0.4.2", - "karma-firefox-launcher": "^2.1.2", - "karma-mocha": "^2.0.1", - "karma-mocha-reporter": "^2.2.5", - "karma-requirejs": "^1.1.0", - "karma-safarinative-launcher": "^1.1.0", - "karma-typescript": "^5.5.3", - "lint-staged": "^13.0.3", - "merge-stream": "^2.0.0", - "mocha": "^9.2.2", - "nyc": "^15.1.0", - "requirejs": "^2.3.6", - "rollup": "^2.79.1", - "rollup-plugin-license": "^3.0.0", - "rollup-plugin-ts": "^3.0.2", - "ts-macros": "^1.3.3", - "ts-mocha": "^10.0.0", - "ts-node": "^10.9.1", - "ts-transform-paths": "^2.0.3", - "tsconfig-paths": "^4.0.0", - "tslib": "^2.4.0", - "ttypescript": "^1.5.13", - "typedoc": "^0.23.10", - "typedoc-plugin-missing-exports": "^1.0.0", - "typescript": "~4.7.4" - }, - "repository": { - "type": "github", - "url": "https://github.com/js-sdsl/js-sdsl.git" - }, - "license": "MIT", - "files": [ - "dist/cjs", - "dist/esm", - "dist/umd", - "CHANGELOG.md" - ], - "keywords": [ - "data", - "structure", - "data structure", - "rbTree", - "rbtree", - "RBTree", - "red black tree", - "ordered", - "set", - "map", - "ordered map", - "ordered set", - "deque", - "heap", - "priority queue", - "link list", - "LinkList", - "linkedList", - "vector", - "stack", - "queue", - "hash", - "hash set", - "hash map", - "c++", - "stl" - ], - "bugs": { - "email": "951711127@qq.com", - "url": "https://github.com/js-sdsl/js-sdsl/issues" - }, - "dependencies": {} -} diff --git a/tools/node_modules/eslint/node_modules/node-releases/data/processed/envs.json b/tools/node_modules/eslint/node_modules/node-releases/data/processed/envs.json index ebb7d402188786..b26bcea5db78cf 100644 --- a/tools/node_modules/eslint/node_modules/node-releases/data/processed/envs.json +++ b/tools/node_modules/eslint/node_modules/node-releases/data/processed/envs.json @@ -1 +1 @@ -[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false},{"name":"nodejs","version":"14.19.0","date":"2022-02-01","lts":"Fermium","security":false},{"name":"nodejs","version":"14.20.0","date":"2022-07-07","lts":"Fermium","security":true},{"name":"nodejs","version":"14.21.0","date":"2022-11-01","lts":"Fermium","security":false},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false},{"name":"nodejs","version":"16.13.0","date":"2021-10-26","lts":"Gallium","security":false},{"name":"nodejs","version":"16.14.0","date":"2022-02-08","lts":"Gallium","security":false},{"name":"nodejs","version":"16.15.0","date":"2022-04-26","lts":"Gallium","security":false},{"name":"nodejs","version":"16.16.0","date":"2022-07-07","lts":"Gallium","security":true},{"name":"nodejs","version":"16.17.0","date":"2022-08-16","lts":"Gallium","security":false},{"name":"nodejs","version":"16.18.0","date":"2022-10-12","lts":"Gallium","security":false},{"name":"nodejs","version":"16.19.0","date":"2022-12-13","lts":"Gallium","security":false},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false},{"name":"nodejs","version":"17.1.0","date":"2021-11-09","lts":false,"security":false},{"name":"nodejs","version":"17.2.0","date":"2021-11-30","lts":false,"security":false},{"name":"nodejs","version":"17.3.0","date":"2021-12-17","lts":false,"security":false},{"name":"nodejs","version":"17.4.0","date":"2022-01-18","lts":false,"security":false},{"name":"nodejs","version":"17.5.0","date":"2022-02-10","lts":false,"security":false},{"name":"nodejs","version":"17.6.0","date":"2022-02-22","lts":false,"security":false},{"name":"nodejs","version":"17.7.0","date":"2022-03-09","lts":false,"security":false},{"name":"nodejs","version":"17.8.0","date":"2022-03-22","lts":false,"security":false},{"name":"nodejs","version":"17.9.0","date":"2022-04-07","lts":false,"security":false},{"name":"nodejs","version":"18.0.0","date":"2022-04-18","lts":false,"security":false},{"name":"nodejs","version":"18.1.0","date":"2022-05-03","lts":false,"security":false},{"name":"nodejs","version":"18.2.0","date":"2022-05-17","lts":false,"security":false},{"name":"nodejs","version":"18.3.0","date":"2022-06-02","lts":false,"security":false},{"name":"nodejs","version":"18.4.0","date":"2022-06-16","lts":false,"security":false},{"name":"nodejs","version":"18.5.0","date":"2022-07-06","lts":false,"security":true},{"name":"nodejs","version":"18.6.0","date":"2022-07-13","lts":false,"security":false},{"name":"nodejs","version":"18.7.0","date":"2022-07-26","lts":false,"security":false},{"name":"nodejs","version":"18.8.0","date":"2022-08-24","lts":false,"security":false},{"name":"nodejs","version":"18.9.0","date":"2022-09-07","lts":false,"security":false},{"name":"nodejs","version":"18.10.0","date":"2022-09-28","lts":false,"security":false},{"name":"nodejs","version":"18.11.0","date":"2022-10-13","lts":false,"security":false},{"name":"nodejs","version":"18.12.0","date":"2022-10-25","lts":"Hydrogen","security":false},{"name":"nodejs","version":"18.13.0","date":"2023-01-05","lts":"Hydrogen","security":false},{"name":"nodejs","version":"18.14.0","date":"2023-02-01","lts":"Hydrogen","security":false},{"name":"nodejs","version":"19.0.0","date":"2022-10-17","lts":false,"security":false},{"name":"nodejs","version":"19.1.0","date":"2022-11-14","lts":false,"security":false},{"name":"nodejs","version":"19.2.0","date":"2022-11-29","lts":false,"security":false},{"name":"nodejs","version":"19.3.0","date":"2022-12-14","lts":false,"security":false},{"name":"nodejs","version":"19.4.0","date":"2023-01-05","lts":false,"security":false},{"name":"nodejs","version":"19.5.0","date":"2023-01-24","lts":false,"security":false},{"name":"nodejs","version":"19.6.0","date":"2023-02-01","lts":false,"security":false}] \ No newline at end of file +[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false},{"name":"nodejs","version":"14.19.0","date":"2022-02-01","lts":"Fermium","security":false},{"name":"nodejs","version":"14.20.0","date":"2022-07-07","lts":"Fermium","security":true},{"name":"nodejs","version":"14.21.0","date":"2022-11-01","lts":"Fermium","security":false},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false},{"name":"nodejs","version":"16.13.0","date":"2021-10-26","lts":"Gallium","security":false},{"name":"nodejs","version":"16.14.0","date":"2022-02-08","lts":"Gallium","security":false},{"name":"nodejs","version":"16.15.0","date":"2022-04-26","lts":"Gallium","security":false},{"name":"nodejs","version":"16.16.0","date":"2022-07-07","lts":"Gallium","security":true},{"name":"nodejs","version":"16.17.0","date":"2022-08-16","lts":"Gallium","security":false},{"name":"nodejs","version":"16.18.0","date":"2022-10-12","lts":"Gallium","security":false},{"name":"nodejs","version":"16.19.0","date":"2022-12-13","lts":"Gallium","security":false},{"name":"nodejs","version":"16.20.0","date":"2023-03-28","lts":"Gallium","security":false},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false},{"name":"nodejs","version":"17.1.0","date":"2021-11-09","lts":false,"security":false},{"name":"nodejs","version":"17.2.0","date":"2021-11-30","lts":false,"security":false},{"name":"nodejs","version":"17.3.0","date":"2021-12-17","lts":false,"security":false},{"name":"nodejs","version":"17.4.0","date":"2022-01-18","lts":false,"security":false},{"name":"nodejs","version":"17.5.0","date":"2022-02-10","lts":false,"security":false},{"name":"nodejs","version":"17.6.0","date":"2022-02-22","lts":false,"security":false},{"name":"nodejs","version":"17.7.0","date":"2022-03-09","lts":false,"security":false},{"name":"nodejs","version":"17.8.0","date":"2022-03-22","lts":false,"security":false},{"name":"nodejs","version":"17.9.0","date":"2022-04-07","lts":false,"security":false},{"name":"nodejs","version":"18.0.0","date":"2022-04-18","lts":false,"security":false},{"name":"nodejs","version":"18.1.0","date":"2022-05-03","lts":false,"security":false},{"name":"nodejs","version":"18.2.0","date":"2022-05-17","lts":false,"security":false},{"name":"nodejs","version":"18.3.0","date":"2022-06-02","lts":false,"security":false},{"name":"nodejs","version":"18.4.0","date":"2022-06-16","lts":false,"security":false},{"name":"nodejs","version":"18.5.0","date":"2022-07-06","lts":false,"security":true},{"name":"nodejs","version":"18.6.0","date":"2022-07-13","lts":false,"security":false},{"name":"nodejs","version":"18.7.0","date":"2022-07-26","lts":false,"security":false},{"name":"nodejs","version":"18.8.0","date":"2022-08-24","lts":false,"security":false},{"name":"nodejs","version":"18.9.0","date":"2022-09-07","lts":false,"security":false},{"name":"nodejs","version":"18.10.0","date":"2022-09-28","lts":false,"security":false},{"name":"nodejs","version":"18.11.0","date":"2022-10-13","lts":false,"security":false},{"name":"nodejs","version":"18.12.0","date":"2022-10-25","lts":"Hydrogen","security":false},{"name":"nodejs","version":"18.13.0","date":"2023-01-05","lts":"Hydrogen","security":false},{"name":"nodejs","version":"18.14.0","date":"2023-02-01","lts":"Hydrogen","security":false},{"name":"nodejs","version":"18.15.0","date":"2023-03-05","lts":"Hydrogen","security":false},{"name":"nodejs","version":"18.16.0","date":"2023-04-12","lts":"Hydrogen","security":false},{"name":"nodejs","version":"19.0.0","date":"2022-10-17","lts":false,"security":false},{"name":"nodejs","version":"19.1.0","date":"2022-11-14","lts":false,"security":false},{"name":"nodejs","version":"19.2.0","date":"2022-11-29","lts":false,"security":false},{"name":"nodejs","version":"19.3.0","date":"2022-12-14","lts":false,"security":false},{"name":"nodejs","version":"19.4.0","date":"2023-01-05","lts":false,"security":false},{"name":"nodejs","version":"19.5.0","date":"2023-01-24","lts":false,"security":false},{"name":"nodejs","version":"19.6.0","date":"2023-02-01","lts":false,"security":false},{"name":"nodejs","version":"19.7.0","date":"2023-02-21","lts":false,"security":false},{"name":"nodejs","version":"19.8.0","date":"2023-03-14","lts":false,"security":false},{"name":"nodejs","version":"19.9.0","date":"2023-04-10","lts":false,"security":false},{"name":"nodejs","version":"20.0.0","date":"2023-04-17","lts":false,"security":false},{"name":"nodejs","version":"20.1.0","date":"2023-05-03","lts":false,"security":false},{"name":"nodejs","version":"20.2.0","date":"2023-05-16","lts":false,"security":false}] \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/node-releases/package.json b/tools/node_modules/eslint/node_modules/node-releases/package.json index 402859838333ca..aa655e3a1ceec2 100644 --- a/tools/node_modules/eslint/node_modules/node-releases/package.json +++ b/tools/node_modules/eslint/node_modules/node-releases/package.json @@ -1,6 +1,6 @@ { "name": "node-releases", - "version": "2.0.10", + "version": "2.0.11", "description": "Node.js releases data", "scripts": { "build": "node scripts/build.js" diff --git a/tools/node_modules/eslint/node_modules/semver/classes/semver.js b/tools/node_modules/eslint/node_modules/semver/classes/semver.js index 25ee889d1492af..99dbe82db4dc59 100644 --- a/tools/node_modules/eslint/node_modules/semver/classes/semver.js +++ b/tools/node_modules/eslint/node_modules/semver/classes/semver.js @@ -16,7 +16,7 @@ class SemVer { version = version.version } } else if (typeof version !== 'string') { - throw new TypeError(`Invalid Version: ${require('util').inspect(version)}`) + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) } if (version.length > MAX_LENGTH) { diff --git a/tools/node_modules/eslint/node_modules/semver/package.json b/tools/node_modules/eslint/node_modules/semver/package.json index 0a6095b8900a62..592404a3c9d1c0 100644 --- a/tools/node_modules/eslint/node_modules/semver/package.json +++ b/tools/node_modules/eslint/node_modules/semver/package.json @@ -1,6 +1,6 @@ { "name": "semver", - "version": "7.5.0", + "version": "7.5.1", "description": "The semantic version parser used by npm.", "main": "index.js", "scripts": { @@ -14,7 +14,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^4.0.0", - "@npmcli/template-oss": "4.13.0", + "@npmcli/template-oss": "4.14.1", "tap": "^16.0.0" }, "license": "ISC", @@ -53,7 +53,7 @@ "author": "GitHub Inc.", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.13.0", + "version": "4.14.1", "engines": ">=10", "ciVersions": [ "10.0.0", diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json index 80809b8eff9c70..cc636323756de7 100644 --- a/tools/node_modules/eslint/package.json +++ b/tools/node_modules/eslint/package.json @@ -1,6 +1,6 @@ { "name": "eslint", - "version": "8.40.0", + "version": "8.41.0", "author": "Nicholas C. Zakas ", "description": "An AST-based pattern checker for JavaScript.", "bin": { @@ -63,7 +63,7 @@ "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", + "@eslint/js": "8.41.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -83,13 +83,12 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", From 23d310bee817581f74e485a4656d7fdf49f2864b Mon Sep 17 00:00:00 2001 From: Raz Luvaton <16746759+rluvaton@users.noreply.github.com> Date: Tue, 23 May 2023 07:44:38 +0300 Subject: [PATCH 051/146] test_runner: display dot report as wide as the terminal width PR-URL: https://github.com/nodejs/node/pull/48038 Reviewed-By: Moshe Atlow Reviewed-By: Colin Ihrig --- lib/internal/test_runner/reporter/dot.js | 12 +++++++++++- .../output/dot_output_custom_columns.js | 18 ++++++++++++++++++ .../output/dot_output_custom_columns.snapshot | 3 +++ test/parallel/test-runner-output.mjs | 1 + 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/test-runner/output/dot_output_custom_columns.js create mode 100644 test/fixtures/test-runner/output/dot_output_custom_columns.snapshot diff --git a/lib/internal/test_runner/reporter/dot.js b/lib/internal/test_runner/reporter/dot.js index 7dbba5a957894e..496c819d69ea07 100644 --- a/lib/internal/test_runner/reporter/dot.js +++ b/lib/internal/test_runner/reporter/dot.js @@ -1,7 +1,9 @@ 'use strict'; +const { MathMax } = primordials; module.exports = async function* dot(source) { let count = 0; + let columns = getLineLength(); for await (const { type } of source) { if (type === 'test:pass') { yield '.'; @@ -9,9 +11,17 @@ module.exports = async function* dot(source) { if (type === 'test:fail') { yield 'X'; } - if ((type === 'test:fail' || type === 'test:pass') && ++count % 20 === 0) { + if ((type === 'test:fail' || type === 'test:pass') && ++count === columns) { yield '\n'; + + // Getting again in case the terminal was resized. + columns = getLineLength(); + count = 0; } } yield '\n'; }; + +function getLineLength() { + return MathMax(process.stdout.columns ?? 20, 20); +} diff --git a/test/fixtures/test-runner/output/dot_output_custom_columns.js b/test/fixtures/test-runner/output/dot_output_custom_columns.js new file mode 100644 index 00000000000000..875ead9efc22a5 --- /dev/null +++ b/test/fixtures/test-runner/output/dot_output_custom_columns.js @@ -0,0 +1,18 @@ +// Flags: --test-reporter=dot +'use strict'; +process.stdout.columns = 30; + +const test = require('node:test'); +const { setTimeout } = require('timers/promises'); + +for (let i = 0; i < 100; i++) { + test(i + ' example', async () => { + if (i === 0) { + // So the reporter will run before all tests has started + await setTimeout(10); + } + // resize + if (i === 28) + process.stdout.columns = 41; + }); +} diff --git a/test/fixtures/test-runner/output/dot_output_custom_columns.snapshot b/test/fixtures/test-runner/output/dot_output_custom_columns.snapshot new file mode 100644 index 00000000000000..1aaaf3eb243ae4 --- /dev/null +++ b/test/fixtures/test-runner/output/dot_output_custom_columns.snapshot @@ -0,0 +1,3 @@ +.............................. +......................................... +............................. diff --git a/test/parallel/test-runner-output.mjs b/test/parallel/test-runner-output.mjs index d2fa06b4395095..bd8c9f1bd071ee 100644 --- a/test/parallel/test-runner-output.mjs +++ b/test/parallel/test-runner-output.mjs @@ -46,6 +46,7 @@ const tests = [ { name: 'test-runner/output/unresolved_promise.js' }, { name: 'test-runner/output/default_output.js', transform: specTransform, tty: true }, { name: 'test-runner/output/arbitrary-output.js' }, + { name: 'test-runner/output/dot_output_custom_columns.js', transform: specTransform, tty: true }, ].map(({ name, tty, transform }) => ({ name, fn: common.mustCall(async () => { From 2b797a6d39a0c4c1724741af5c11cbc0daa4350e Mon Sep 17 00:00:00 2001 From: Shiba <128208841+HinataKah0@users.noreply.github.com> Date: Tue, 23 May 2023 12:44:48 +0800 Subject: [PATCH 052/146] test_runner: delegate stderr and stdout formatting to reporter Introduce new `TestsStream` events `test:stderr` and `test:stdout` to delegate `stderr` and `stdout` (e.g. `console.log()`) formatting to the reporter. And patch existing reporters to: - Spec: output the message as it is - TAP: stay the same with existing `test:diagnostic` PR-URL: https://github.com/nodejs/node/pull/48045 Fixes: https://github.com/nodejs/node/issues/48011 Reviewed-By: Moshe Atlow Reviewed-By: Colin Ihrig --- doc/api/test.md | 18 ++++++++++++++++++ lib/internal/test_runner/reporter/spec.js | 3 +++ lib/internal/test_runner/reporter/tap.js | 2 ++ lib/internal/test_runner/runner.js | 13 ++++++------- lib/internal/test_runner/tests_stream.js | 8 ++++++++ 5 files changed, 37 insertions(+), 7 deletions(-) diff --git a/doc/api/test.md b/doc/api/test.md index b784b42cddf70b..118183150457d8 100644 --- a/doc/api/test.md +++ b/doc/api/test.md @@ -1519,6 +1519,24 @@ Emitted when all subtests have completed for a given test. Emitted when a test starts. +### Event: `'test:stderr'` + +* `data` {Object} + * `file` {string} The path of the test file. + * `message` {string} The message written to `stderr`. + +Emitted when a running test writes to `stderr`. +This event is only emitted if `--test` flag is passed. + +### Event: `'test:stdout'` + +* `data` {Object} + * `file` {string} The path of the test file. + * `message` {string} The message written to `stdout`. + +Emitted when a running test writes to `stdout`. +This event is only emitted if `--test` flag is passed. + ## Class: `TestContext` > Stability: 1 - Experimental diff --git a/lib/internal/streams/operators.js b/lib/internal/streams/operators.js index 65c87d6e456bdf..96e2a95476813d 100644 --- a/lib/internal/streams/operators.js +++ b/lib/internal/streams/operators.js @@ -23,6 +23,7 @@ const { addAbortSignalNoValidate, } = require('internal/streams/add-abort-signal'); const { isWritable, isNodeStream } = require('internal/streams/utils'); +const { deprecate } = require('internal/util'); const { ArrayPrototypePush, @@ -420,7 +421,7 @@ function take(number, options = undefined) { } module.exports.streamReturningOperators = { - asIndexedPairs, + asIndexedPairs: deprecate(asIndexedPairs, 'readable.asIndexedPairs will be removed in a future version.'), drop, filter, flatMap, diff --git a/test/parallel/test-stream-iterator-helpers-test262-tests.mjs b/test/parallel/test-stream-iterator-helpers-test262-tests.mjs index 8a153fc2fc283e..2f4f30e14c4cfe 100644 --- a/test/parallel/test-stream-iterator-helpers-test262-tests.mjs +++ b/test/parallel/test-stream-iterator-helpers-test262-tests.mjs @@ -60,8 +60,6 @@ import assert from 'assert'; } // asIndexedPairs/length.js assert.strictEqual(Readable.prototype.asIndexedPairs.length, 0); - // asIndexedPairs/name.js - assert.strictEqual(Readable.prototype.asIndexedPairs.name, 'asIndexedPairs'); const descriptor = Object.getOwnPropertyDescriptor( Readable.prototype, 'asIndexedPairs' From 4d4e506f2bf7c2c4da9e05ded44a5816dc08ac62 Mon Sep 17 00:00:00 2001 From: Darshan Sen Date: Wed, 24 May 2023 16:19:05 +0530 Subject: [PATCH 060/146] test,doc,sea: run SEA tests on ppc64 The recent Postject upgrade, https://github.com/nodejs/node/pull/48072, included a performance improvement for the injection operation (see https://github.com/nodejs/postject/pull/86), so now it might be possible to run the SEA tests on the ppc64 architecture runners on Jenkins, which was previously getting timed out. Signed-off-by: Darshan Sen PR-URL: https://github.com/nodejs/node/pull/48111 Reviewed-By: Richard Lau Reviewed-By: Luigi Pinca --- doc/api/single-executable-applications.md | 2 +- test/common/sea.js | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/doc/api/single-executable-applications.md b/doc/api/single-executable-applications.md index 7c929d56f58dca..0332a555449928 100644 --- a/doc/api/single-executable-applications.md +++ b/doc/api/single-executable-applications.md @@ -233,7 +233,7 @@ platforms: * Windows * macOS * Linux (all distributions [supported by Node.js][] except Alpine and all - architectures [supported by Node.js][] except s390x and ppc64) + architectures [supported by Node.js][] except s390x) This is due to a lack of better tools to generate single-executables that can be used to test this feature on other platforms. diff --git a/test/common/sea.js b/test/common/sea.js index b2df249cb9fcc3..bb337f176f2cc2 100644 --- a/test/common/sea.js +++ b/test/common/sea.js @@ -40,10 +40,6 @@ function skipIfSingleExecutableIsNotSupported() { if (process.arch === 's390x') { common.skip('On s390x, postject fails with `memory access out of bounds`.'); } - - if (process.arch === 'ppc64') { - common.skip('On ppc64, this test times out.'); - } } } From 5325be1d99d5f6749af67ab2dc21ced2959adec9 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 4 Mar 2023 18:59:32 +0100 Subject: [PATCH 061/146] tools: port js2c.py to C++ This makes it easier to use third-party dependencies in this tool (e.g. adding compression using algorithms not available in Python). It is also much faster - locally js2c.py takes ~1.5s to generate the output whereas this version takes ~0.1s - and consumes less memory (~110MB v.s. 66MB). This also modifies the js2c.py a bit to simplify the output, making it easier to compare with one generated by the C++ version. Locally the output from the two are identical. We'll remove js2c.py in a subsequent commit when the C++ version is used by default. PR-URL: https://github.com/nodejs/node/pull/46997 Reviewed-By: Yagiz Nizipli --- Makefile | 1 + node.gyp | 29 ++ tools/executable_wrapper.h | 55 +++ tools/js2c.cc | 756 +++++++++++++++++++++++++++++++++++++ tools/js2c.py | 34 +- 5 files changed, 857 insertions(+), 18 deletions(-) create mode 100644 tools/executable_wrapper.h create mode 100644 tools/js2c.cc diff --git a/Makefile b/Makefile index 25e54f109ef58b..8e10ec6ad21fbb 100644 --- a/Makefile +++ b/Makefile @@ -1409,6 +1409,7 @@ LINT_CPP_FILES = $(filter-out $(LINT_CPP_EXCLUDE), $(wildcard \ test/fixtures/*.c \ test/js-native-api/*/*.cc \ test/node-api/*/*.cc \ + tools/js2c.cc \ tools/icu/*.cc \ tools/icu/*.h \ tools/code_cache/*.cc \ diff --git a/node.gyp b/node.gyp index 4562d23c728dc6..b7febacfbc3783 100644 --- a/node.gyp +++ b/node.gyp @@ -1176,6 +1176,35 @@ }], ] }, # overlapped-checker + { + 'target_name': 'node_js2c', + 'type': 'executable', + 'dependencies': [ + 'deps/simdutf/simdutf.gyp:simdutf', + ], + 'include_dirs': [ + 'tools' + ], + 'sources': [ + 'tools/js2c.cc', + 'tools/executable_wrapper.h' + ], + 'conditions': [ + [ 'node_shared_libuv=="false"', { + 'dependencies': [ 'deps/uv/uv.gyp:libuv' ], + }], + [ 'debug_node=="true"', { + 'cflags!': [ '-O3' ], + 'cflags': [ '-g', '-O0' ], + 'defines': [ 'DEBUG' ], + 'xcode_settings': { + 'OTHER_CFLAGS': [ + '-g', '-O0' + ], + }, + }], + ] + }, { 'target_name': 'node_mksnapshot', 'type': 'executable', diff --git a/tools/executable_wrapper.h b/tools/executable_wrapper.h new file mode 100644 index 00000000000000..fcde6f527d72fd --- /dev/null +++ b/tools/executable_wrapper.h @@ -0,0 +1,55 @@ +#ifndef TOOLS_EXECUTABLE_WRAPPER_H_ +#define TOOLS_EXECUTABLE_WRAPPER_H_ + +// TODO(joyeecheung): reuse this in mksnapshot. +#include "uv.h" +#ifdef _WIN32 +#include +#endif + +namespace node { +#ifdef _WIN32 +using argv_type = wchar_t*; +#define NODE_MAIN int wmain + +void FixupMain(int argc, argv_type raw_argv[], char*** argv) { + // Convert argv to UTF8. + *argv = new char*[argc + 1]; + for (int i = 0; i < argc; i++) { + // Compute the size of the required buffer + DWORD size = WideCharToMultiByte( + CP_UTF8, 0, raw_argv[i], -1, nullptr, 0, nullptr, nullptr); + if (size == 0) { + // This should never happen. + fprintf(stderr, "Could not convert arguments to utf8."); + exit(1); + } + // Do the actual conversion + (*argv)[i] = new char[size]; + DWORD result = WideCharToMultiByte( + CP_UTF8, 0, raw_argv[i], -1, (*argv)[i], size, nullptr, nullptr); + if (result == 0) { + // This should never happen. + fprintf(stderr, "Could not convert arguments to utf8."); + exit(1); + } + } + (*argv)[argc] = nullptr; +} +#else + +using argv_type = char*; +#define NODE_MAIN int main + +void FixupMain(int argc, argv_type raw_argv[], char*** argv) { + *argv = uv_setup_args(argc, raw_argv); + // Disable stdio buffering, it interacts poorly with printf() + // calls elsewhere in the program (e.g., any logging from V8.) + setvbuf(stdout, nullptr, _IONBF, 0); + setvbuf(stderr, nullptr, _IONBF, 0); +} +#endif + +} // namespace node + +#endif // TOOLS_EXECUTABLE_WRAPPER_H_ diff --git a/tools/js2c.cc b/tools/js2c.cc new file mode 100644 index 00000000000000..45e3711d27bf9e --- /dev/null +++ b/tools/js2c.cc @@ -0,0 +1,756 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "executable_wrapper.h" +#include "simdutf.h" +#include "uv.h" + +#if defined(_WIN32) +#include // _S_IREAD _S_IWRITE +#ifndef S_IRUSR +#define S_IRUSR _S_IREAD +#endif // S_IRUSR +#ifndef S_IWUSR +#define S_IWUSR _S_IWRITE +#endif // S_IWUSR +#endif +namespace node { +namespace js2c { +int Main(int argc, char* argv[]); + +static bool is_verbose = false; + +void Debug(const char* format, ...) { + va_list arguments; + va_start(arguments, format); + if (is_verbose) { + vfprintf(stderr, format, arguments); + } + va_end(arguments); +} + +void PrintUvError(const char* syscall, const char* filename, int error) { + fprintf(stderr, "[%s] %s: %s\n", syscall, filename, uv_strerror(error)); +} + +int GetStats(const char* path, std::function func) { + uv_fs_t req; + int r = uv_fs_stat(nullptr, &req, path, nullptr); + if (r == 0) { + func(static_cast(req.ptr)); + } + uv_fs_req_cleanup(&req); + return r; +} + +bool IsDirectory(const std::string& filename, int* error) { + bool result = false; + *error = GetStats(filename.c_str(), [&](const uv_stat_t* stats) { + result = !!(stats->st_mode & S_IFDIR); + }); + if (*error != 0) { + PrintUvError("stat", filename.c_str(), *error); + } + return result; +} + +size_t GetFileSize(const std::string& filename, int* error) { + size_t result = 0; + *error = GetStats(filename.c_str(), + [&](const uv_stat_t* stats) { result = stats->st_size; }); + return result; +} + +bool EndsWith(const std::string& str, std::string_view suffix) { + size_t suffix_len = suffix.length(); + size_t str_len = str.length(); + if (str_len < suffix_len) { + return false; + } + return str.compare(str_len - suffix_len, suffix_len, suffix) == 0; +} + +bool StartsWith(const std::string& str, std::string_view prefix) { + size_t prefix_len = prefix.length(); + size_t str_len = str.length(); + if (str_len < prefix_len) { + return false; + } + return str.compare(0, prefix_len, prefix) == 0; +} + +typedef std::vector FileList; +typedef std::map FileMap; + +bool SearchFiles(const std::string& dir, + FileMap* file_map, + const std::string& extension) { + uv_fs_t scan_req; + int result = uv_fs_scandir(nullptr, &scan_req, dir.c_str(), 0, nullptr); + bool errored = false; + if (result < 0) { + PrintUvError("scandir", dir.c_str(), result); + errored = true; + } else { + auto it = file_map->insert({extension, FileList()}).first; + FileList& files = it->second; + files.reserve(files.size() + result); + uv_dirent_t dent; + while (true) { + result = uv_fs_scandir_next(&scan_req, &dent); + if (result == UV_EOF) { + break; + } + + if (result != 0) { + PrintUvError("scandir_next", dir.c_str(), result); + errored = true; + break; + } + + std::string path = dir + '/' + dent.name; + if (EndsWith(path, extension)) { + files.emplace_back(path); + continue; + } + if (!IsDirectory(path, &result)) { + if (result == 0) { // It's a file, no need to search further. + continue; + } else { + errored = true; + break; + } + } + + if (!SearchFiles(path, file_map, extension)) { + errored = true; + break; + } + } + } + + uv_fs_req_cleanup(&scan_req); + return !errored; +} + +constexpr std::string_view kMjsSuffix = ".mjs"; +constexpr std::string_view kJsSuffix = ".js"; +constexpr std::string_view kGypiSuffix = ".gypi"; +constexpr std::string_view depsPrefix = "deps/"; +constexpr std::string_view libPrefix = "lib/"; +std::set kAllowedExtensions{ + kGypiSuffix, kJsSuffix, kMjsSuffix}; + +std::string_view HasAllowedExtensions(const std::string& filename) { + for (const auto& ext : kAllowedExtensions) { + if (EndsWith(filename, ext)) { + return ext; + } + } + return {}; +} + +using Fragment = std::vector; +using Fragments = std::vector>; + +std::vector Join(const Fragments& fragments, + const std::string& separator) { + size_t length = separator.size() * (fragments.size() - 1); + for (size_t i = 0; i < fragments.size(); ++i) { + length += fragments[i].size(); + } + std::vector buf(length, 0); + size_t cursor = 0; + for (size_t i = 0; i < fragments.size(); ++i) { + const Fragment& fragment = fragments[i]; + // Avoid using snprintf on large chunks of data because it's much slower. + // It's fine to use it on small amount of data though. + if (i != 0) { + memcpy(buf.data() + cursor, separator.c_str(), separator.size()); + cursor += separator.size(); + } + memcpy(buf.data() + cursor, fragment.data(), fragment.size()); + cursor += fragment.size(); + } + buf.resize(cursor); + return buf; +} + +const char* kTemplate = R"( +#include "env-inl.h" +#include "node_builtins.h" +#include "node_external_reference.h" +#include "node_internals.h" + +namespace node { + +namespace builtins { + +%.*s +namespace { +const ThreadsafeCopyOnWrite global_source_map { + BuiltinSourceMap { +%.*s + } // BuiltinSourceMap +}; // ThreadsafeCopyOnWrite +} // anonymous namespace + +void BuiltinLoader::LoadJavaScriptSource() { + source_ = global_source_map; +} + +void RegisterExternalReferencesForInternalizedBuiltinCode( + ExternalReferenceRegistry* registry) { +%.*s +} + +UnionBytes BuiltinLoader::GetConfig() { + return UnionBytes(&config_resource); +} + +} // namespace builtins + +} // namespace node +)"; + +Fragment Format(const Fragments& definitions, + const Fragments& initializers, + const Fragments& registrations) { + std::vector def_buf = Join(definitions, "\n"); + size_t def_size = def_buf.size(); + std::vector init_buf = Join(initializers, "\n"); + size_t init_size = init_buf.size(); + std::vector reg_buf = Join(registrations, "\n"); + size_t reg_size = reg_buf.size(); + + size_t result_size = + def_size + init_size + reg_size + strlen(kTemplate) + 100; + std::vector result(result_size, 0); + int r = snprintf(result.data(), + result_size, + kTemplate, + static_cast(def_buf.size()), + def_buf.data(), + static_cast(init_buf.size()), + init_buf.data(), + static_cast(reg_buf.size()), + reg_buf.data()); + result.resize(r); + return result; +} + +std::vector ReadFileSync(const char* path, size_t size, int* error) { + uv_fs_t req; + Debug("ReadFileSync %s with size %zu\n", path, size); + + uv_file file = uv_fs_open(nullptr, &req, path, O_RDONLY, 0, nullptr); + if (req.result < 0) { + uv_fs_req_cleanup(&req); + *error = req.result; + return std::vector(); + } + uv_fs_req_cleanup(&req); + + std::vector contents(size); + size_t offset = 0; + + while (offset < size) { + uv_buf_t buf = uv_buf_init(contents.data() + offset, size - offset); + int bytes_read = uv_fs_read(nullptr, &req, file, &buf, 1, offset, nullptr); + offset += bytes_read; + *error = req.result; + uv_fs_req_cleanup(&req); + if (*error < 0) { + uv_fs_close(nullptr, &req, file, nullptr); + // We can't do anything if uv_fs_close returns error, so just return. + return std::vector(); + } + if (bytes_read <= 0) { + break; + } + } + assert(offset == size); + + *error = uv_fs_close(nullptr, &req, file, nullptr); + return contents; +} + +int WriteFileSync(const std::vector& out, const char* path) { + Debug("WriteFileSync %zu bytes to %s\n", out.size(), path); + uv_fs_t req; + uv_file file = uv_fs_open(nullptr, + &req, + path, + UV_FS_O_CREAT | UV_FS_O_WRONLY | UV_FS_O_TRUNC, + S_IWUSR | S_IRUSR, + nullptr); + int err = req.result; + uv_fs_req_cleanup(&req); + if (err < 0) { + return err; + } + + uv_buf_t buf = uv_buf_init(const_cast(out.data()), out.size()); + err = uv_fs_write(nullptr, &req, file, &buf, 1, 0, nullptr); + uv_fs_req_cleanup(&req); + + int r = uv_fs_close(nullptr, &req, file, nullptr); + uv_fs_req_cleanup(&req); + if (err < 0) { + // We can't do anything if uv_fs_close returns error, so just return. + return err; + } + return r; +} + +int WriteIfChanged(const Fragment& out, const std::string& dest) { + Debug("output size %zu\n", out.size()); + + int error = 0; + size_t size = GetFileSize(dest, &error); + if (error != 0 && error != UV_ENOENT) { + return error; + } + Debug("existing size %zu\n", size); + + bool changed = true; + // If it's not the same size, the file is definitely changed so we'll + // just proceed to update. Otherwise check the content before deciding + // whether we want to write it. + if (error != UV_ENOENT && size == out.size()) { + std::vector content = ReadFileSync(dest.c_str(), size, &error); + if (error == 0) { // In case of error, always write the file. + changed = (memcmp(content.data(), out.data(), size) != 0); + } + } + if (!changed) { + Debug("No change, return\n"); + return 0; + } + return WriteFileSync(out, dest.c_str()); +} + +std::string GetFileId(const std::string& filename) { + size_t end = filename.size(); + size_t start = 0; + std::string prefix; + // Strip .mjs and .js suffix + if (EndsWith(filename, kMjsSuffix)) { + end -= kMjsSuffix.size(); + } else if (EndsWith(filename, kJsSuffix)) { + end -= kJsSuffix.size(); + } + + // deps/acorn/acorn/dist/acorn.js -> internal/deps/acorn/acorn/dist/acorn + if (StartsWith(filename, depsPrefix)) { + start = depsPrefix.size(); + prefix = "internal/deps/"; + } else if (StartsWith(filename, libPrefix)) { + // lib/internal/url.js -> internal/url + start = libPrefix.size(); + prefix = ""; + } + + return prefix + std::string(filename.begin() + start, filename.begin() + end); +} + +std::string GetVariableName(const std::string& id) { + std::string result = id; + size_t length = result.size(); + + for (size_t i = 0; i < length; ++i) { + if (result[i] == '.' || result[i] == '-' || result[i] == '/') { + result[i] = '_'; + } + } + return result; +} + +std::vector GetCodeTable() { + size_t size = 1 << 16; + std::vector code_table(size); + for (size_t i = 0; i < size; ++i) { + code_table[i] = std::to_string(i) + ','; + } + return code_table; +} + +const std::string& GetCode(uint16_t index) { + static std::vector table = GetCodeTable(); + return table[index]; +} + +// Definitions: +// static const uint8_t fs_raw[] = { +// .... +// }; +// +// static StaticExternalOneByteResource fs_resource(fs_raw, 1234, nullptr); +// +// static const uint16_t internal_cli_table_raw[] = { +// .... +// }; +// +// static StaticExternalTwoByteResource +// internal_cli_table_resource(internal_cli_table_raw, 1234, nullptr); +constexpr std::string_view literal_end = "\n};\n\n"; +template +Fragment GetDefinitionImpl(const std::vector& code, const std::string& var) { + size_t count = code.size(); + + constexpr bool is_two_byte = std::is_same_v; + static_assert(is_two_byte || std::is_same_v); + constexpr size_t unit = + (is_two_byte ? 5 : 3) + 1; // 0-65536 or 0-127 and a "," + constexpr const char* arr_type = is_two_byte ? "uint16_t" : "uint8_t"; + constexpr const char* resource_type = is_two_byte + ? "StaticExternalTwoByteResource" + : "StaticExternalOneByteResource"; + + size_t def_size = 256 + (count * unit); + Fragment result(def_size, 0); + + int cur = snprintf(result.data(), + def_size, + "static const %s %s_raw[] = {\n", + arr_type, + var.c_str()); + assert(cur != 0); + for (size_t i = 0; i < count; ++i) { + // Avoid using snprintf on large chunks of data because it's much slower. + // It's fine to use it on small amount of data though. + const std::string& str = GetCode(static_cast(code[i])); + memcpy(result.data() + cur, str.c_str(), str.size()); + cur += str.size(); + } + memcpy(result.data() + cur, literal_end.data(), literal_end.size()); + cur += literal_end.size(); + + int end_size = snprintf(result.data() + cur, + result.size() - cur, + "static %s %s_resource(%s_raw, %zu, nullptr);\n", + resource_type, + var.c_str(), + var.c_str(), + count); + cur += end_size; + result.resize(cur); + return result; +} + +Fragment GetDefinition(const std::string& var, const std::vector& code) { + Debug("GetDefinition %s, code size %zu ", var.c_str(), code.size()); + bool is_one_byte = simdutf::validate_ascii(code.data(), code.size()); + Debug("with %s\n", is_one_byte ? "1-byte chars" : "2-byte chars"); + + if (is_one_byte) { + Debug("static size %zu\n", code.size()); + return GetDefinitionImpl(code, var); + } else { + size_t length = simdutf::utf16_length_from_utf8(code.data(), code.size()); + std::vector utf16(length); + size_t utf16_count = simdutf::convert_utf8_to_utf16( + code.data(), code.size(), reinterpret_cast(utf16.data())); + assert(utf16_count != 0); + utf16.resize(utf16_count); + Debug("static size %zu\n", utf16_count); + return GetDefinitionImpl(utf16, var); + } +} + +int AddModule(const std::string& filename, + Fragments* definitions, + Fragments* initializers, + Fragments* registrations) { + Debug("AddModule %s start\n", filename.c_str()); + + int error = 0; + size_t file_size = GetFileSize(filename, &error); + if (error != 0) { + return error; + } + std::vector code = ReadFileSync(filename.c_str(), file_size, &error); + if (error != 0) { + return error; + } + std::string file_id = GetFileId(filename); + std::string var = GetVariableName(file_id); + + definitions->emplace_back(GetDefinition(var, code)); + + // Initializers of the BuiltinSourceMap: + // {"fs", UnionBytes{&fs_resource}}, + Fragment& init_buf = initializers->emplace_back(Fragment(256, 0)); + int init_size = snprintf(init_buf.data(), + init_buf.size(), + " {\"%s\", UnionBytes(&%s_resource) },", + file_id.c_str(), + var.c_str()); + init_buf.resize(init_size); + + // Registrations: + // registry->Register(&fs_resource); + Fragment& reg_buf = registrations->emplace_back(Fragment(256, 0)); + int reg_size = snprintf(reg_buf.data(), + reg_buf.size(), + " registry->Register(&%s_resource);", + var.c_str()); + reg_buf.resize(reg_size); + return 0; +} + +std::vector ReplaceAll(const std::vector& data, + const std::string& search, + const std::string& replacement) { + auto cur = data.begin(); + auto last = data.begin(); + std::vector result; + result.reserve(data.size()); + while ((cur = std::search(last, data.end(), search.begin(), search.end())) != + data.end()) { + result.insert(result.end(), last, cur); + result.insert(result.end(), + replacement.c_str(), + replacement.c_str() + replacement.size()); + last = cur + search.size(); + } + result.insert(result.end(), last, data.end()); + return result; +} + +std::vector StripComments(const std::vector& input) { + std::vector result; + result.reserve(input.size()); + + auto last_hash = input.cbegin(); + auto line_begin = input.cbegin(); + auto end = input.cend(); + while ((last_hash = std::find(line_begin, end, '#')) != end) { + result.insert(result.end(), line_begin, last_hash); + line_begin = std::find(last_hash, end, '\n'); + if (line_begin != end) { + line_begin += 1; + } + } + result.insert(result.end(), line_begin, end); + return result; +} + +// This is technically unused for our config.gypi, but just porting it here to +// mimic js2c.py. +std::vector JoinMultilineString(const std::vector& input) { + std::vector result; + result.reserve(input.size()); + + auto closing_quote = input.cbegin(); + auto last_inserted = input.cbegin(); + auto end = input.cend(); + std::string search = "'\n"; + while ((closing_quote = std::search( + last_inserted, end, search.begin(), search.end())) != end) { + if (closing_quote != last_inserted) { + result.insert(result.end(), last_inserted, closing_quote - 1); + last_inserted = closing_quote - 1; + } + auto opening_quote = closing_quote + 2; + while (opening_quote != end && isspace(*opening_quote)) { + opening_quote++; + } + if (opening_quote == end) { + break; + } + if (*opening_quote == '\'') { + last_inserted = opening_quote + 1; + } else { + result.insert(result.end(), last_inserted, opening_quote); + last_inserted = opening_quote; + } + } + result.insert(result.end(), last_inserted, end); + return result; +} + +std::vector JSONify(const std::vector& code) { + // 1. Remove string comments + std::vector stripped = StripComments(code); + + // 2. join multiline strings + std::vector joined = JoinMultilineString(stripped); + + // 3. normalize string literals from ' into " + for (size_t i = 0; i < joined.size(); ++i) { + if (joined[i] == '\'') { + joined[i] = '"'; + } + } + + // 4. turn pseudo-booleans strings into Booleans + std::vector result3 = ReplaceAll(joined, R"("true")", "true"); + std::vector result4 = ReplaceAll(result3, R"("false")", "false"); + + return result4; +} + +int AddGypi(const std::string& var, + const std::string& filename, + Fragments* definitions) { + Debug("AddGypi %s start\n", filename.c_str()); + + int error = 0; + size_t file_size = GetFileSize(filename, &error); + if (error != 0) { + return error; + } + std::vector code = ReadFileSync(filename.c_str(), file_size, &error); + if (error != 0) { + return error; + } + assert(var == "config"); + + std::vector transformed = JSONify(code); + definitions->emplace_back(GetDefinition(var, transformed)); + return 0; +} + +int JS2C(const FileList& js_files, + const FileList& mjs_files, + const std::string& config, + const std::string& dest) { + Fragments defintions; + defintions.reserve(js_files.size() + mjs_files.size() + 1); + Fragments initializers; + initializers.reserve(js_files.size() + mjs_files.size()); + Fragments registrations; + registrations.reserve(js_files.size() + mjs_files.size() + 1); + + for (const auto& filename : js_files) { + int r = AddModule(filename, &defintions, &initializers, ®istrations); + if (r != 0) { + return r; + } + } + for (const auto& filename : mjs_files) { + int r = AddModule(filename, &defintions, &initializers, ®istrations); + if (r != 0) { + return r; + } + } + + assert(config == "config.gypi"); + // "config.gypi" -> config_raw. + int r = AddGypi("config", config, &defintions); + if (r != 0) { + return r; + } + Fragment out = Format(defintions, initializers, registrations); + return WriteIfChanged(out, dest); +} + +int PrintUsage(const char* argv0) { + fprintf(stderr, + "Usage: %s [--verbose] [--root /path/to/project/root] " + "path/to/output.cc path/to/directory " + "[extra-files ...]\n", + argv0); + return 1; +} + +int Main(int argc, char* argv[]) { + if (argc < 3) { + return PrintUsage(argv[0]); + } + + std::vector args; + args.reserve(argc); + std::string root_dir; + for (int i = 1; i < argc; ++i) { + std::string arg(argv[i]); + if (arg == "--verbose") { + is_verbose = true; + } else if (arg == "--root") { + if (i == argc - 1) { + fprintf(stderr, "--root must be followed by a path\n"); + return 1; + } + root_dir = argv[++i]; + } else { + args.emplace_back(argv[i]); + } + } + + if (args.size() < 2) { + return PrintUsage(argv[0]); + } + + if (!root_dir.empty()) { + int r = uv_chdir(root_dir.c_str()); + if (r != 0) { + fprintf(stderr, "Cannot switch to the directory specified by --root\n"); + PrintUvError("chdir", root_dir.c_str(), r); + return 1; + } + } + std::string output = args[0]; + + FileMap file_map; + for (size_t i = 1; i < args.size(); ++i) { + int error = 0; + const std::string& file = args[i]; + if (IsDirectory(file, &error)) { + if (!SearchFiles(file, &file_map, std::string(kJsSuffix)) || + !SearchFiles(file, &file_map, std::string(kMjsSuffix))) { + return 1; + } + } else if (error != 0) { + return 1; + } else { // It's a file. + std::string_view extension = HasAllowedExtensions(file); + if (extension.size() != 0) { + auto it = file_map.insert({std::string(extension), FileList()}).first; + it->second.push_back(file); + } else { + fprintf(stderr, "Unsupported file: %s\n", file.c_str()); + return 1; + } + } + } + + // Should have exactly 3 types: `.js`, `.mjs` and `.gypi`. + assert(file_map.size() == 3); + auto gypi_it = file_map.find(".gypi"); + std::string config = "config.gypi"; + // Currently config.gypi is the only `.gypi` file allowed + if (gypi_it == file_map.end() || gypi_it->second.size() != 1 || + gypi_it->second[0] != config) { + fprintf( + stderr, + "Arguments should contain one and only one .gypi file: config.gypi\n"); + return 1; + } + auto js_it = file_map.find(".js"); + auto mjs_it = file_map.find(".mjs"); + assert(js_it != file_map.end() && mjs_it != file_map.end()); + + std::sort(js_it->second.begin(), js_it->second.end()); + std::sort(mjs_it->second.begin(), mjs_it->second.end()); + + return JS2C(js_it->second, mjs_it->second, config, output); +} +} // namespace js2c +} // namespace node + +NODE_MAIN(int argc, node::argv_type raw_argv[]) { + char** argv; + node::FixupMain(argc, raw_argv, &argv); + return node::js2c::Main(argc, argv); +} diff --git a/tools/js2c.py b/tools/js2c.py index ff31f182746053..f93312c10b32fe 100755 --- a/tools/js2c.py +++ b/tools/js2c.py @@ -55,14 +55,14 @@ def ReadFile(filename): namespace node {{ namespace builtins {{ - {0} - namespace {{ const ThreadsafeCopyOnWrite global_source_map {{ - BuiltinSourceMap{{ {1} }} -}}; -}} + BuiltinSourceMap {{ +{1} + }} // BuiltinSourceMap +}}; // ThreadsafeCopyOnWrite +}} // anonymous namespace void BuiltinLoader::LoadJavaScriptSource() {{ source_ = global_source_map; @@ -70,7 +70,7 @@ def ReadFile(filename): void RegisterExternalReferencesForInternalizedBuiltinCode( ExternalReferenceRegistry* registry) {{ - {2} +{2} }} UnionBytes BuiltinLoader::GetConfig() {{ @@ -98,9 +98,9 @@ def ReadFile(filename): static StaticExternalTwoByteResource {2}({0}, {3}, nullptr); """ -INITIALIZER = '{{"{0}", UnionBytes(&{1}) }},' +INITIALIZER = ' {{"{0}", UnionBytes(&{1}) }},' -REGISTRATION = 'registry->Register(&{0});' +REGISTRATION = ' registry->Register(&{0});' CONFIG_GYPI_ID = 'config_raw' @@ -110,7 +110,7 @@ def ReadFile(filename): is_verbose = False -def GetDefinition(var, source, resource_var, step=30): +def GetDefinition(var, source, resource_var): template = ONE_BYTE_STRING code_points = [ord(c) for c in source] if any(c > 127 for c in code_points): @@ -122,12 +122,8 @@ def GetDefinition(var, source, resource_var, step=30): for i in range(0, len(encoded_source), 2) ] - # For easier debugging, align to the common 3 char for code-points. - elements_s = ['%3s' % x for x in code_points] - # Put no more then `step` code-points in a line. - slices = [elements_s[i:i + step] for i in range(0, len(elements_s), step)] - lines = [','.join(s) for s in slices] - array_content = ',\n'.join(lines) + elements_s = ['%s' % x for x in code_points] + array_content = ','.join(elements_s) + ',' length = len(code_points) definition = template.format(var, array_content, resource_var, length) @@ -174,8 +170,8 @@ def JS2C(source_files, target): # Emit result definitions = ''.join(definitions) - initializers = '\n '.join(initializers) - registrations = '\n '.join(registrations) + initializers = '\n'.join(initializers) + registrations = '\n'.join(registrations) out = TEMPLATE.format(definitions, initializers, registrations, CONFIG_GYPI_RESOURCE_ID) write_if_chaged(out, target) @@ -263,8 +259,10 @@ def main(): assert len(source_files['.gypi']) == 1 assert os.path.basename(source_files['.gypi'][0]) == 'config.gypi' source_files['config.gypi'] = source_files.pop('.gypi')[0] - JS2C(source_files, options.target) + source_files['.js'] = sorted(source_files['.js']) + source_files['.mjs'] = sorted(source_files['.mjs']) + JS2C(source_files, options.target) if __name__ == "__main__": main() From 5d92202220209eb774e0f7e0718ac623ff362019 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Tue, 7 Mar 2023 17:46:04 +0100 Subject: [PATCH 062/146] build: replace js2c.py with js2c.cc PR-URL: https://github.com/nodejs/node/pull/46997 Reviewed-By: Yagiz Nizipli --- deps/simdutf/simdutf.gyp | 1 + deps/uv/uv.gyp | 1 + node.gyp | 19 ++- test/tools/test_js2c.py | 14 -- tools/js2c.py | 268 --------------------------------------- 5 files changed, 11 insertions(+), 292 deletions(-) delete mode 100644 test/tools/test_js2c.py delete mode 100755 tools/js2c.py diff --git a/deps/simdutf/simdutf.gyp b/deps/simdutf/simdutf.gyp index a86e92eb608d7e..ca8cd2fa7bc079 100644 --- a/deps/simdutf/simdutf.gyp +++ b/deps/simdutf/simdutf.gyp @@ -7,6 +7,7 @@ 'targets': [ { 'target_name': 'simdutf', + 'toolsets': ['host', 'target'], 'type': 'static_library', 'include_dirs': ['.'], 'direct_dependent_settings': { diff --git a/deps/uv/uv.gyp b/deps/uv/uv.gyp index ad13f89dfa5bde..fa2dcb653c3d50 100644 --- a/deps/uv/uv.gyp +++ b/deps/uv/uv.gyp @@ -162,6 +162,7 @@ 'targets': [ { 'target_name': 'libuv', + 'toolsets': ['host', 'target'], 'type': '<(uv_library)', 'include_dirs': [ 'include', diff --git a/node.gyp b/node.gyp index b7febacfbc3783..d57ab5f21c575e 100644 --- a/node.gyp +++ b/node.gyp @@ -27,7 +27,7 @@ 'node_lib_target_name%': 'libnode', 'node_intermediate_lib_type%': 'static_library', 'node_builtin_modules_path%': '', - # We list the deps/ files out instead of globbing them in js2c.py since we + # We list the deps/ files out instead of globbing them in js2c.cc since we # only include a subset of all the files under these directories. # The lengths of their file names combined should not exceed the # Windows command length limit or there would be an error. @@ -362,6 +362,7 @@ 'src/quic/transportparams.h', ], 'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)', + 'node_js2c_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_js2c<(EXECUTABLE_SUFFIX)', 'conditions': [ ['GENERATOR == "ninja"', { 'node_text_start_object_path': 'src/large_pages/node_text_start.node_text_start.o' @@ -770,6 +771,7 @@ 'deps/uvwasi/uvwasi.gyp:uvwasi', 'deps/simdutf/simdutf.gyp:simdutf', 'deps/ada/ada.gyp:ada', + 'node_js2c#host', ], 'sources': [ @@ -925,8 +927,7 @@ 'action_name': 'node_js2c', 'process_outputs_as_sources': 1, 'inputs': [ - # Put the code first so it's a dependency and can be used for invocation. - 'tools/js2c.py', + '<(node_js2c_exec)', '<@(library_files)', '<@(deps_files)', 'config.gypi' @@ -935,12 +936,9 @@ '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc', ], 'action': [ - '<(python)', - 'tools/js2c.py', - '--directory', - 'lib', - '--target', + '<(node_js2c_exec)', '<@(_outputs)', + 'lib', 'config.gypi', '<@(deps_files)', ], @@ -1179,8 +1177,9 @@ { 'target_name': 'node_js2c', 'type': 'executable', + 'toolsets': ['host'], 'dependencies': [ - 'deps/simdutf/simdutf.gyp:simdutf', + 'deps/simdutf/simdutf.gyp:simdutf#host', ], 'include_dirs': [ 'tools' @@ -1191,7 +1190,7 @@ ], 'conditions': [ [ 'node_shared_libuv=="false"', { - 'dependencies': [ 'deps/uv/uv.gyp:libuv' ], + 'dependencies': [ 'deps/uv/uv.gyp:libuv#host' ], }], [ 'debug_node=="true"', { 'cflags!': [ '-O3' ], diff --git a/test/tools/test_js2c.py b/test/tools/test_js2c.py deleted file mode 100644 index 204562117086e4..00000000000000 --- a/test/tools/test_js2c.py +++ /dev/null @@ -1,14 +0,0 @@ -import unittest -import sys, os -sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), - '..', '..', 'tools'))) -from js2c import NormalizeFileName - -class Js2ctest(unittest.TestCase): - def testNormalizeFileName(self): - self.assertEqual(NormalizeFileName('dir/mod.js'), 'mod') - self.assertEqual(NormalizeFileName('deps/mod.js'), 'internal/deps/mod') - self.assertEqual(NormalizeFileName('mod.js'), 'mod') - -if __name__ == '__main__': - unittest.main() diff --git a/tools/js2c.py b/tools/js2c.py deleted file mode 100755 index f93312c10b32fe..00000000000000 --- a/tools/js2c.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2006-2008 the V8 project authors. All rights reserved. -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -""" -This is a utility for converting JavaScript source code into uint16_t[], -that are used for embedding JavaScript code into the Node.js binary. -""" -import argparse -import os -import re -import functools -import codecs -import utils - -def ReadFile(filename): - if is_verbose: - print(filename) - with codecs.open(filename, "r", "utf-8") as f: - lines = f.read() - return lines - - -TEMPLATE = """ -#include "env-inl.h" -#include "node_builtins.h" -#include "node_external_reference.h" -#include "node_internals.h" - -namespace node {{ - -namespace builtins {{ -{0} -namespace {{ -const ThreadsafeCopyOnWrite global_source_map {{ - BuiltinSourceMap {{ -{1} - }} // BuiltinSourceMap -}}; // ThreadsafeCopyOnWrite -}} // anonymous namespace - -void BuiltinLoader::LoadJavaScriptSource() {{ - source_ = global_source_map; -}} - -void RegisterExternalReferencesForInternalizedBuiltinCode( - ExternalReferenceRegistry* registry) {{ -{2} -}} - -UnionBytes BuiltinLoader::GetConfig() {{ - return UnionBytes(&{3}); -}} - -}} // namespace builtins - -}} // namespace node -""" - -ONE_BYTE_STRING = """ -static const uint8_t {0}[] = {{ -{1} -}}; - -static StaticExternalOneByteResource {2}({0}, {3}, nullptr); -""" - -TWO_BYTE_STRING = """ -static const uint16_t {0}[] = {{ -{1} -}}; - -static StaticExternalTwoByteResource {2}({0}, {3}, nullptr); -""" - -INITIALIZER = ' {{"{0}", UnionBytes(&{1}) }},' - -REGISTRATION = ' registry->Register(&{0});' - -CONFIG_GYPI_ID = 'config_raw' - -CONFIG_GYPI_RESOURCE_ID = 'config_resource' - -SLUGGER_RE = re.compile(r'[.\-/]') - -is_verbose = False - -def GetDefinition(var, source, resource_var): - template = ONE_BYTE_STRING - code_points = [ord(c) for c in source] - if any(c > 127 for c in code_points): - template = TWO_BYTE_STRING - # Treat non-ASCII as UTF-8 and encode as UTF-16 Little Endian. - encoded_source = bytearray(source, 'utf-16le') - code_points = [ - encoded_source[i] + (encoded_source[i + 1] * 256) - for i in range(0, len(encoded_source), 2) - ] - - elements_s = ['%s' % x for x in code_points] - array_content = ','.join(elements_s) + ',' - length = len(code_points) - definition = template.format(var, array_content, resource_var, length) - - return definition - - -def AddModule(filename, definitions, initializers, registrations): - code = ReadFile(filename) - name = NormalizeFileName(filename) - slug = SLUGGER_RE.sub('_', name) - var = slug + '_raw' - resource_var = slug + '_resource' - definition = GetDefinition(var, code, resource_var) - initializer = INITIALIZER.format(name, resource_var) - registration = REGISTRATION.format(resource_var) - definitions.append(definition) - initializers.append(initializer) - registrations.append(registration) - -def NormalizeFileName(filename): - split = filename.split('/') - if split[0] == 'deps': - split = ['internal'] + split - else: # `lib/**/*.js` so drop the 'lib' part - split = split[1:] - if len(split): - filename = '/'.join(split) - return os.path.splitext(filename)[0] - - -def JS2C(source_files, target): - # Build source code lines - definitions = [] - initializers = [] - registrations = [] - - for filename in source_files['.js']: - AddModule(filename, definitions, initializers, registrations) - for filename in source_files['.mjs']: - AddModule(filename, definitions, initializers, registrations) - - config_def = handle_config_gypi(source_files['config.gypi']) - definitions.append(config_def) - - # Emit result - definitions = ''.join(definitions) - initializers = '\n'.join(initializers) - registrations = '\n'.join(registrations) - out = TEMPLATE.format(definitions, initializers, - registrations, CONFIG_GYPI_RESOURCE_ID) - write_if_chaged(out, target) - - -def handle_config_gypi(config_filename): - # if its a gypi file we're going to want it as json - # later on anyway, so get it out of the way now - config = ReadFile(config_filename) - config = jsonify(config) - config_def = GetDefinition(CONFIG_GYPI_ID, config, CONFIG_GYPI_RESOURCE_ID) - return config_def - - -def jsonify(config): - # 1. string comments - config = re.sub(r'#.*?\n', '', config) - # 2. join multiline strings - config = re.sub(r"'$\s+'", '', config, flags=re.M) - # 3. normalize string literals from ' into " - config = re.sub('\'', '"', config) - # 4. turn pseudo-booleans strings into Booleans - config = re.sub('"true"', 'true', config) - config = re.sub('"false"', 'false', config) - return config - - -def write_if_chaged(content, target): - if os.path.exists(target): - with open(target, 'rt') as existing: - old_content = existing.read() - else: - old_content = '' - if old_content == content: - os.utime(target, None) - return - with open(target, "wt") as output: - output.write(content) - - -def SourceFileByExt(files_by_ext, filename): - """ - :type files_by_ext: dict - :type filename: str - :rtype: dict - """ - ext = os.path.splitext(filename)[-1] - files_by_ext.setdefault(ext, []).append(filename) - return files_by_ext - -def main(): - parser = argparse.ArgumentParser( - description='Convert code files into `uint16_t[]`s', - fromfile_prefix_chars='@' - ) - parser.add_argument('--target', help='output file') - parser.add_argument( - '--directory', - default=None, - help='input file directory') - parser.add_argument( - '--root', - default=None, - help='root directory containing the sources') - parser.add_argument('--verbose', action='store_true', help='output file') - parser.add_argument('sources', nargs='*', help='input files') - options = parser.parse_args() - global is_verbose - is_verbose = options.verbose - sources = options.sources - - if options.root is not None: - os.chdir(options.root) - - if options.directory is not None: - js_files = utils.SearchFiles(options.directory, 'js') - mjs_files = utils.SearchFiles(options.directory, 'mjs') - sources = js_files + mjs_files + options.sources - - source_files = functools.reduce(SourceFileByExt, sources, {}) - - # Should have exactly 3 types: `.js`, `.mjs` and `.gypi` - assert len(source_files) == 3 - # Currently config.gypi is the only `.gypi` file allowed - assert len(source_files['.gypi']) == 1 - assert os.path.basename(source_files['.gypi'][0]) == 'config.gypi' - source_files['config.gypi'] = source_files.pop('.gypi')[0] - source_files['.js'] = sorted(source_files['.js']) - source_files['.mjs'] = sorted(source_files['.mjs']) - - JS2C(source_files, options.target) - -if __name__ == "__main__": - main() From 8d93af381b5509f9135034929e57ead31ca10fcf Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Wed, 24 May 2023 14:40:20 +0200 Subject: [PATCH 063/146] tools: add security-wg as dep updaters owner PR-URL: https://github.com/nodejs/node/pull/48113 Refs: https://github.com/nodejs/security-wg/issues/828 Reviewed-By: Darshan Sen Reviewed-By: Rafael Gonzaga Reviewed-By: Richard Lau Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- .github/CODEOWNERS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 13cf3679c09109..6756f2364d78ca 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -157,3 +157,10 @@ /src/permission/* @nodejs/security-wg /doc/api/permissions.md @nodejs/security-wg /lib/internal/process/permission.js @nodejs/security-wg + +# Dependency Update Tools + +/.github/workflows/tools.yml @nodejs/security-wg +/.github/workflows/update-openssl.yml @nodejs/security-wg +/.github/workflows/update-v8.yml @nodejs/security-wg @nodejs/v8-update +/tools/dep_updaters/* @nodejs/security-wg From c480559347be39bec4f2361272e599acba5d699e Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Fri, 5 May 2023 22:01:02 +0200 Subject: [PATCH 064/146] bootstrap: put is_building_snapshot state in IsolateData Previously we modify the CLI options store to indicate whether the isolate is created for building snapshot, which is a bit hacky and makes it difficult to tell whether the snapshot is built from the command line or through other APIs. This patch adds is_building_snapshot to IsolateData and use this instead when we need to know whether the isolate is created for building snapshot (but do not care about where that request is coming from). PR-URL: https://github.com/nodejs/node/pull/47887 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Chengzhong Wu --- lib/internal/v8/startup_snapshot.js | 4 +- src/api/embed_helpers.cc | 4 +- src/base_object_types.h | 1 + src/env.h | 4 ++ src/node.cc | 4 +- src/node_binding.h | 1 + src/node_main_instance.cc | 2 + src/node_snapshotable.cc | 101 ++++++++++++++++++++++++---- src/node_snapshotable.h | 26 +++++++ src/node_worker.cc | 2 + 10 files changed, 131 insertions(+), 18 deletions(-) diff --git a/lib/internal/v8/startup_snapshot.js b/lib/internal/v8/startup_snapshot.js index 49623627706bc0..e5154446b01a3d 100644 --- a/lib/internal/v8/startup_snapshot.js +++ b/lib/internal/v8/startup_snapshot.js @@ -14,11 +14,11 @@ const { setSerializeCallback, setDeserializeCallback, setDeserializeMainFunction: _setDeserializeMainFunction, + isBuildingSnapshotBuffer } = internalBinding('mksnapshot'); function isBuildingSnapshot() { - // For now this is the only way to build a snapshot. - return require('internal/options').getOptionValue('--build-snapshot'); + return isBuildingSnapshotBuffer[0]; } function throwIfNotBuildingSnapshot() { diff --git a/src/api/embed_helpers.cc b/src/api/embed_helpers.cc index 5c8b733737a2e6..341d131f24f753 100644 --- a/src/api/embed_helpers.cc +++ b/src/api/embed_helpers.cc @@ -142,8 +142,8 @@ CommonEnvironmentSetup::CommonEnvironmentSetup( impl_->isolate_data.reset(CreateIsolateData( isolate, loop, platform, impl_->allocator.get(), snapshot_data)); - impl_->isolate_data->options()->build_snapshot = - impl_->snapshot_creator.has_value(); + impl_->isolate_data->set_is_building_snapshot( + impl_->snapshot_creator.has_value()); if (snapshot_data) { impl_->env.reset(make_env(this)); diff --git a/src/base_object_types.h b/src/base_object_types.h index 4916a20bbc6421..bb7a0e064b0b72 100644 --- a/src/base_object_types.h +++ b/src/base_object_types.h @@ -12,6 +12,7 @@ namespace node { #define SERIALIZABLE_BINDING_TYPES(V) \ V(encoding_binding_data, encoding_binding::BindingData) \ V(fs_binding_data, fs::BindingData) \ + V(mksnapshot_binding_data, mksnapshot::BindingData) \ V(v8_binding_data, v8_utils::BindingData) \ V(blob_binding_data, BlobBindingData) \ V(process_binding_data, process::BindingData) \ diff --git a/src/env.h b/src/env.h index 5359436be31e76..354d0bf414c55a 100644 --- a/src/env.h +++ b/src/env.h @@ -136,6 +136,9 @@ class NODE_EXTERN_PRIVATE IsolateData : public MemoryRetainer { void MemoryInfo(MemoryTracker* tracker) const override; IsolateDataSerializeInfo Serialize(v8::SnapshotCreator* creator); + bool is_building_snapshot() const { return is_building_snapshot_; } + void set_is_building_snapshot(bool value) { is_building_snapshot_ = value; } + inline uv_loop_t* event_loop() const; inline MultiIsolatePlatform* platform() const; inline const SnapshotData* snapshot_data() const; @@ -219,6 +222,7 @@ class NODE_EXTERN_PRIVATE IsolateData : public MemoryRetainer { const SnapshotData* snapshot_data_; std::shared_ptr options_; worker::Worker* worker_context_ = nullptr; + bool is_building_snapshot_ = false; }; struct ContextInfo { diff --git a/src/node.cc b/src/node.cc index 1806693d4bd204..acab0cb3d960b6 100644 --- a/src/node.cc +++ b/src/node.cc @@ -283,7 +283,7 @@ MaybeLocal StartExecution(Environment* env, StartExecutionCallback cb) { auto reset_entry_point = OnScopeLeave([&]() { env->set_embedder_entry_point({}); }); - const char* entry = env->isolate_data()->options()->build_snapshot + const char* entry = env->isolate_data()->is_building_snapshot() ? "internal/main/mksnapshot" : "internal/main/embedding"; @@ -311,7 +311,7 @@ MaybeLocal StartExecution(Environment* env, StartExecutionCallback cb) { return StartExecution(env, "internal/main/inspect"); } - if (env->isolate_data()->options()->build_snapshot) { + if (env->isolate_data()->is_building_snapshot()) { return StartExecution(env, "internal/main/mksnapshot"); } diff --git a/src/node_binding.h b/src/node_binding.h index f04be60c3890f0..dd7667899e5a7f 100644 --- a/src/node_binding.h +++ b/src/node_binding.h @@ -37,6 +37,7 @@ static_assert(static_cast(NM_F_LINKED) == V(contextify) \ V(encoding_binding) \ V(fs) \ + V(mksnapshot) \ V(timers) \ V(process_methods) \ V(performance) \ diff --git a/src/node_main_instance.cc b/src/node_main_instance.cc index 34ed9075e0fe16..41e5bee353a579 100644 --- a/src/node_main_instance.cc +++ b/src/node_main_instance.cc @@ -56,6 +56,8 @@ NodeMainInstance::NodeMainInstance(const SnapshotData* snapshot_data, platform, array_buffer_allocator_.get(), snapshot_data->AsEmbedderWrapper().get())); + isolate_data_->set_is_building_snapshot( + per_process::cli_options->per_isolate->build_snapshot); isolate_data_->max_young_gen_size = isolate_params_->constraints.max_young_generation_size_in_bytes(); diff --git a/src/node_snapshotable.cc b/src/node_snapshotable.cc index b2be437efff788..e5f6d0a60a3abb 100644 --- a/src/node_snapshotable.cc +++ b/src/node_snapshotable.cc @@ -3,6 +3,7 @@ #include #include #include +#include "aliased_buffer-inl.h" #include "base_object-inl.h" #include "blob_serializer_deserializer-inl.h" #include "debug_utils-inl.h" @@ -34,6 +35,7 @@ namespace node { using v8::Context; using v8::Function; using v8::FunctionCallbackInfo; +using v8::FunctionTemplate; using v8::HandleScope; using v8::Isolate; using v8::Local; @@ -1177,8 +1179,6 @@ void SerializeSnapshotableObjects(Realm* realm, }); } -namespace mksnapshot { - // NB: This is also used by the regular embedding codepath. void GetEmbedderEntryFunction(const FunctionCallbackInfo& args) { Environment* env = Environment::GetCurrent(args); @@ -1251,16 +1251,89 @@ void SetDeserializeMainFunction(const FunctionCallbackInfo& args) { env->set_snapshot_deserialize_main(args[0].As()); } -void Initialize(Local target, - Local unused, - Local context, - void* priv) { +namespace mksnapshot { + +BindingData::BindingData(Realm* realm, + v8::Local object, + InternalFieldInfo* info) + : SnapshotableObject(realm, object, type_int), + is_building_snapshot_buffer_( + realm->isolate(), + 1, + MAYBE_FIELD_PTR(info, is_building_snapshot_buffer)) { + if (info == nullptr) { + object + ->Set( + realm->context(), + FIXED_ONE_BYTE_STRING(realm->isolate(), "isBuildingSnapshotBuffer"), + is_building_snapshot_buffer_.GetJSArray()) + .Check(); + } else { + is_building_snapshot_buffer_.Deserialize(realm->context()); + } + // Reset the status according to the current state of the realm. + bool is_building_snapshot = realm->isolate_data()->is_building_snapshot(); + DCHECK_IMPLIES(is_building_snapshot, + realm->isolate_data()->snapshot_data() == nullptr); + is_building_snapshot_buffer_[0] = is_building_snapshot ? 1 : 0; + is_building_snapshot_buffer_.MakeWeak(); +} + +bool BindingData::PrepareForSerialization(Local context, + v8::SnapshotCreator* creator) { + DCHECK_NULL(internal_field_info_); + internal_field_info_ = InternalFieldInfoBase::New(type()); + internal_field_info_->is_building_snapshot_buffer = + is_building_snapshot_buffer_.Serialize(context, creator); + // Return true because we need to maintain the reference to the binding from + // JS land. + return true; +} + +InternalFieldInfoBase* BindingData::Serialize(int index) { + DCHECK_EQ(index, BaseObject::kEmbedderType); + InternalFieldInfo* info = internal_field_info_; + internal_field_info_ = nullptr; + return info; +} + +void BindingData::Deserialize(Local context, + Local holder, + int index, + InternalFieldInfoBase* info) { + DCHECK_EQ(index, BaseObject::kEmbedderType); + v8::HandleScope scope(context->GetIsolate()); + Realm* realm = Realm::GetCurrent(context); + // Recreate the buffer in the constructor. + InternalFieldInfo* casted_info = static_cast(info); + BindingData* binding = + realm->AddBindingData(context, holder, casted_info); + CHECK_NOT_NULL(binding); +} + +void BindingData::MemoryInfo(MemoryTracker* tracker) const { + tracker->TrackField("is_building_snapshot_buffer", + is_building_snapshot_buffer_); +} + +void CreatePerContextProperties(Local target, + Local unused, + Local context, + void* priv) { + Realm* realm = Realm::GetCurrent(context); + realm->AddBindingData(context, target); +} + +void CreatePerIsolateProperties(IsolateData* isolate_data, + Local ctor) { + Isolate* isolate = isolate_data->isolate(); + Local target = ctor->PrototypeTemplate(); SetMethod( - context, target, "getEmbedderEntryFunction", GetEmbedderEntryFunction); - SetMethod(context, target, "compileSerializeMain", CompileSerializeMain); - SetMethod(context, target, "setSerializeCallback", SetSerializeCallback); - SetMethod(context, target, "setDeserializeCallback", SetDeserializeCallback); - SetMethod(context, + isolate, target, "getEmbedderEntryFunction", GetEmbedderEntryFunction); + SetMethod(isolate, target, "compileSerializeMain", CompileSerializeMain); + SetMethod(isolate, target, "setSerializeCallback", SetSerializeCallback); + SetMethod(isolate, target, "setDeserializeCallback", SetDeserializeCallback); + SetMethod(isolate, target, "setDeserializeMainFunction", SetDeserializeMainFunction); @@ -1274,8 +1347,12 @@ void RegisterExternalReferences(ExternalReferenceRegistry* registry) { registry->Register(SetDeserializeMainFunction); } } // namespace mksnapshot + } // namespace node -NODE_BINDING_CONTEXT_AWARE_INTERNAL(mksnapshot, node::mksnapshot::Initialize) +NODE_BINDING_CONTEXT_AWARE_INTERNAL( + mksnapshot, node::mksnapshot::CreatePerContextProperties) +NODE_BINDING_PER_ISOLATE_INIT(mksnapshot, + node::mksnapshot::CreatePerIsolateProperties) NODE_BINDING_EXTERNAL_REFERENCE(mksnapshot, node::mksnapshot::RegisterExternalReferences) diff --git a/src/node_snapshotable.h b/src/node_snapshotable.h index 28d9dd8c0aee14..eed572beef3a0c 100644 --- a/src/node_snapshotable.h +++ b/src/node_snapshotable.h @@ -4,6 +4,7 @@ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS +#include "aliased_buffer.h" #include "base_object.h" #include "util.h" @@ -121,6 +122,31 @@ void DeserializeNodeInternalFields(v8::Local holder, void SerializeSnapshotableObjects(Realm* realm, v8::SnapshotCreator* creator, RealmSerializeInfo* info); + +namespace mksnapshot { +class BindingData : public SnapshotableObject { + public: + struct InternalFieldInfo : public node::InternalFieldInfoBase { + AliasedBufferIndex is_building_snapshot_buffer; + }; + + BindingData(Realm* realm, + v8::Local obj, + InternalFieldInfo* info = nullptr); + SET_BINDING_ID(mksnapshot_binding_data) + SERIALIZABLE_OBJECT_METHODS() + + void MemoryInfo(MemoryTracker* tracker) const override; + SET_SELF_SIZE(BindingData) + SET_MEMORY_INFO_NAME(BindingData) + + private: + AliasedUint8Array is_building_snapshot_buffer_; + InternalFieldInfo* internal_field_info_ = nullptr; +}; + +} // namespace mksnapshot + } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/node_worker.cc b/src/node_worker.cc index 2bb5bdf569ebef..ed966073ec7286 100644 --- a/src/node_worker.cc +++ b/src/node_worker.cc @@ -186,6 +186,7 @@ class WorkerThreadData { allocator.get(), w->snapshot_data()->AsEmbedderWrapper().get())); CHECK(isolate_data_); + CHECK(!isolate_data_->is_building_snapshot()); if (w_->per_isolate_opts_) isolate_data_->set_options(std::move(w_->per_isolate_opts_)); isolate_data_->set_worker_context(w_); @@ -481,6 +482,7 @@ void Worker::New(const FunctionCallbackInfo& args) { THROW_ERR_MISSING_PLATFORM_FOR_WORKER(env); return; } + CHECK(!env->isolate_data()->is_building_snapshot()); std::string url; std::string name; From 3e6e3abf324626a5879fb06fa39f6bf195151858 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Fri, 5 May 2023 22:14:54 +0200 Subject: [PATCH 065/146] bootstrap: throw ERR_NOT_SUPPORTED_IN_SNAPSHOT in unsupported operation This patch adds a new ERR_NOT_SUPPORTED_IN_SNAPSHOT error and throw it in the worker constructor. PR-URL: https://github.com/nodejs/node/pull/47887 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Chengzhong Wu --- doc/api/errors.md | 7 ++++++ lib/internal/errors.js | 2 ++ lib/internal/v8/startup_snapshot.js | 10 +++++++- lib/internal/worker.js | 5 +++- test/fixtures/snapshot/worker.js | 5 ++++ test/parallel/test-snapshot-worker.js | 34 +++++++++++++++++++++++++++ 6 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/snapshot/worker.js create mode 100644 test/parallel/test-snapshot-worker.js diff --git a/doc/api/errors.md b/doc/api/errors.md index c0952792727e53..09f866fc2869b5 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -2420,6 +2420,13 @@ error indicates that the idle loop has failed to stop. An attempt was made to use operations that can only be used when building V8 startup snapshot even though Node.js isn't building one. + + +### `ERR_NOT_SUPPORTED_IN_SNAPSHOT` + +An attempt was made to perform operations that are not supported when +building a startup snapshot. + ### `ERR_NO_CRYPTO` diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 79c4c7fd024156..ec03ead14623f6 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -1469,6 +1469,8 @@ E('ERR_NETWORK_IMPORT_DISALLOWED', "import of '%s' by %s is not supported: %s", Error); E('ERR_NOT_BUILDING_SNAPSHOT', 'Operation cannot be invoked when not building startup snapshot', Error); +E('ERR_NOT_SUPPORTED_IN_SNAPSHOT', + '%s is not supported in startup snapshot', Error); E('ERR_NO_CRYPTO', 'Node.js is not compiled with OpenSSL crypto support', Error); E('ERR_NO_ICU', diff --git a/lib/internal/v8/startup_snapshot.js b/lib/internal/v8/startup_snapshot.js index e5154446b01a3d..5de746293d06e8 100644 --- a/lib/internal/v8/startup_snapshot.js +++ b/lib/internal/v8/startup_snapshot.js @@ -6,6 +6,7 @@ const { const { codes: { ERR_NOT_BUILDING_SNAPSHOT, + ERR_NOT_SUPPORTED_IN_SNAPSHOT, ERR_DUPLICATE_STARTUP_SNAPSHOT_MAIN_FUNCTION, }, } = require('internal/errors'); @@ -14,7 +15,7 @@ const { setSerializeCallback, setDeserializeCallback, setDeserializeMainFunction: _setDeserializeMainFunction, - isBuildingSnapshotBuffer + isBuildingSnapshotBuffer, } = internalBinding('mksnapshot'); function isBuildingSnapshot() { @@ -27,6 +28,12 @@ function throwIfNotBuildingSnapshot() { } } +function throwIfBuildingSnapshot(reason) { + if (isBuildingSnapshot()) { + throw new ERR_NOT_SUPPORTED_IN_SNAPSHOT(reason); + } +} + const deserializeCallbacks = []; let deserializeCallbackIsSet = false; function runDeserializeCallbacks() { @@ -102,6 +109,7 @@ function setDeserializeMainFunction(callback, data) { module.exports = { initializeCallbacks, runDeserializeCallbacks, + throwIfBuildingSnapshot, // Exposed to require('v8').startupSnapshot namespace: { addDeserializeCallback, diff --git a/lib/internal/worker.js b/lib/internal/worker.js index eda9dbcdeb5c04..401bc43550ea7f 100644 --- a/lib/internal/worker.js +++ b/lib/internal/worker.js @@ -60,7 +60,9 @@ const { deserializeError } = require('internal/error_serdes'); const { fileURLToPath, isURL, pathToFileURL } = require('internal/url'); const { kEmptyObject } = require('internal/util'); const { validateArray, validateString } = require('internal/validators'); - +const { + throwIfBuildingSnapshot, +} = require('internal/v8/startup_snapshot'); const { ownsProcessState, isMainThread, @@ -129,6 +131,7 @@ function assignEnvironmentData(data) { class Worker extends EventEmitter { constructor(filename, options = kEmptyObject) { + throwIfBuildingSnapshot('Creating workers'); super(); const isInternal = arguments[2] === kIsInternal; debug( diff --git a/test/fixtures/snapshot/worker.js b/test/fixtures/snapshot/worker.js new file mode 100644 index 00000000000000..c95c9bde96f5ad --- /dev/null +++ b/test/fixtures/snapshot/worker.js @@ -0,0 +1,5 @@ +'use strict'; + +const { Worker } = require('worker_threads'); + +new Worker('1', { eval: true }); diff --git a/test/parallel/test-snapshot-worker.js b/test/parallel/test-snapshot-worker.js new file mode 100644 index 00000000000000..6fe5aa9638a8c5 --- /dev/null +++ b/test/parallel/test-snapshot-worker.js @@ -0,0 +1,34 @@ +'use strict'; + +// This tests snapshot JS API using the example in the docs. + +require('../common'); +const assert = require('assert'); +const { spawnSync } = require('child_process'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); +const path = require('path'); +const fs = require('fs'); + +tmpdir.refresh(); +const blobPath = path.join(tmpdir.path, 'snapshot.blob'); +const entry = fixtures.path('snapshot', 'worker.js'); +{ + const child = spawnSync(process.execPath, [ + '--snapshot-blob', + blobPath, + '--build-snapshot', + entry, + ], { + cwd: tmpdir.path + }); + const stderr = child.stderr.toString(); + assert.match( + stderr, + /Error: Creating workers is not supported in startup snapshot/); + assert.match( + stderr, + /ERR_NOT_SUPPORTED_IN_SNAPSHOT/); + assert.strictEqual(child.status, 1); + assert(!fs.existsSync(blobPath)); +} From d4922bc985888da834d04fa7f611ad8791390078 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 24 May 2023 14:27:03 +0100 Subject: [PATCH 066/146] deps: update c-ares to 1.19.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48115 Reviewed-By: Michaël Zasso Reviewed-By: Rafael Gonzaga Reviewed-By: Rich Trott --- deps/cares/CHANGES | 300 +++-- deps/cares/CMakeLists.txt | 14 +- deps/cares/Makefile.Watcom | 50 +- deps/cares/Makefile.in | 1 + deps/cares/RELEASE-NOTES | 122 +- deps/cares/aclocal.m4 | 1 + deps/cares/aminclude_static.am | 2 +- deps/cares/cares.gyp | 1 + deps/cares/configure | 600 +++++++--- deps/cares/configure.ac | 17 +- deps/cares/docs/Makefile.in | 1 + deps/cares/docs/ares_init_options.3 | 2 +- deps/cares/include/Makefile.in | 1 + deps/cares/include/ares_version.h | 4 +- deps/cares/m4/ax_cxx_compile_stdcxx.m4 | 1009 +++++++++++++++++ deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 | 158 +-- deps/cares/m4/ax_pthread.m4 | 444 +++++--- deps/cares/m4/cares-functions.m4 | 85 ++ deps/cares/src/Makefile.in | 1 + deps/cares/src/lib/Makefile.in | 30 +- deps/cares/src/lib/Makefile.inc | 3 +- deps/cares/src/lib/ares__addrinfo_localhost.c | 2 +- deps/cares/src/lib/ares_config.h.cmake | 3 + deps/cares/src/lib/ares_config.h.in | 3 + deps/cares/src/lib/ares_data.h | 2 +- deps/cares/src/lib/ares_destroy.c | 3 + deps/cares/src/lib/ares_expand_name.c | 6 +- deps/cares/src/lib/ares_getaddrinfo.c | 31 +- deps/cares/src/lib/ares_init.c | 101 +- deps/cares/src/lib/ares_private.h | 19 +- deps/cares/src/lib/ares_process.c | 58 +- deps/cares/src/lib/ares_query.c | 36 +- deps/cares/src/lib/ares_rand.c | 279 +++++ deps/cares/src/lib/ares_send.c | 12 +- deps/cares/src/lib/ares_strsplit.c | 8 +- deps/cares/src/lib/inet_net_pton.c | 194 ++-- deps/cares/src/tools/Makefile.in | 1 + 37 files changed, 2701 insertions(+), 903 deletions(-) create mode 100644 deps/cares/m4/ax_cxx_compile_stdcxx.m4 create mode 100644 deps/cares/src/lib/ares_rand.c diff --git a/deps/cares/CHANGES b/deps/cares/CHANGES index 5ecd504f063ebd..d465143131d726 100644 --- a/deps/cares/CHANGES +++ b/deps/cares/CHANGES @@ -1,5 +1,232 @@ Changelog for the c-ares project. Generated with git2changes.pl +Version 1.19.1 (22 May 2023) + +bradh352 (22 May 2023) +- Makefile.inc Windows requires tabs not spaces for nmake + +GitHub (22 May 2023) +- [Daniel Stenberg brought this change] + + ares_expand_name: fix compiler warnings (#522) + + Fix some compiler warnings (not introduced in this release) + + Fix By: Daniel Stenberg (@bagder) + +bradh352 (22 May 2023) +- windows MSVC compiler fix on 32bit + +- update security advisory links + +- minor CI issues fixes for imported inet_net_pton + +- ares_rand static analysis fixes from CI + +- windows build fix + +- security release notes + +GitHub (22 May 2023) +- [Brad House brought this change] + + Merge pull request from GHSA-9g78-jv2r-p7vc + +- [Brad House brought this change] + + Merge pull request from GHSA-x6mf-cxr9-8q6v + + * Merged latest OpenBSD changes for inet_net_pton_ipv6() into c-ares. + * Always use our own IP conversion functions now, do not delegate to OS + so we can have consistency in testing and fuzzing. + * Removed bogus test cases that never should have passed. + * Add new test case for crash bug found. + + Fix By: Brad House (@bradh352) + +- [Brad House brought this change] + + Merge pull request from GHSA-8r8p-23f3-64c2 + + * segment random number generation into own file + + * abstract random code to make it more modular so we can have multiple backends + + * rand: add support for arc4random_buf() and also direct CARES_RANDOM_FILE reading + + * autotools: fix detection of arc4random_buf + + * rework initial rc4 seed for PRNG as last fallback + + * rc4: more proper implementation, simplified for clarity + + * clarifications + +bradh352 (20 May 2023) +- add public release note information + +- bump version to 1.19.1 + +GitHub (6 May 2023) +- [Gregor Jasny brought this change] + + test: fix warning about uninitialized memory (#515) + + fix warning in tests + + Fix By: Gregor Jasny (@gjasny) + +- [lifenjoiner brought this change] + + Turn off IPV6_V6ONLY on Windows if it is supported (#520) + + Turn off IPV6_V6ONLY on Windows if it is supported, support for IPv4-mapped IPv6 addresses. + + IPV6_V6ONLY refs: + https://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses + https://github.com/golang/go/blob/master/src/net/ipsock_posix.go + https://en.wikipedia.org/wiki/Unix-like + off: + https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html#proc-sys-net-ipv6-variables + https://man.netbsd.org/inet6.4 + https://man.freebsd.org/cgi/man.cgi?query=inet6 + https://github.com/apple-oss-distributions/xnu/blob/main/bsd/man/man4/inet6.4 + on: + https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-ipv6-socket-options + acts like off, but returns 1 and dummy setting: + https://man.dragonflybsd.org/?command=inet6 + https://man.dragonflybsd.org/?command=ip6 + unsupported and read-only returns 1: + https://man.openbsd.org/inet6.4 + + default value refs: + https://datatracker.ietf.org/doc/html/rfc3493#section-5.3 + https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html#proc-sys-net-ipv6-variables + +- [Brad House brought this change] + + Merge pull request from GHSA-54xr-f67r-4pc4 + + * CARES_RANDOM_FILE should always default to /dev/urandom + + During cross-compilation, CARES_RANDOM_FILE may not be able to be appropriately + detected, therefore we should always set it to /dev/urandom and allow the + entity requesting compilation override the value. The code does appropriately + fall back if CARES_RANDOM_FILE cannot be opened. + + * use set not option + +bradh352 (18 Mar 2023) +- ares_getaddrinfo using service of "0" should be allowed + + As per #517 glibc allows a service/servname of "0" to be treated the + same as if NULL was provided. Also, add a sanity check to ensure + the port number is in range instead of a blind cast. + + Fixes: #517 + Fix By: Brad House (@bradh352) + +GitHub (10 Feb 2023) +- [Nikolaos Chatzikonstantinou brought this change] + + fix memory leak in ares_send (#511) + + When the condition channel->nservers < 1 holds, the function returns + prematurely, without deallocating query->tcpbuf. We rearrange the + check to be done prior to the allocations, avoiding the memory + leak. In this way, we also avoid unnecessary allocations if + channel->nservers < 1 holds. + + Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount) + +- [Nikolaos Chatzikonstantinou brought this change] + + change comment style to old-style (#513) + + Following the README.md guidelines, + + "Comments must be written in the old-style" + + the comment is changed to the old style. + + Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount) + +- [Nikolaos Chatzikonstantinou brought this change] + + use strncasecmp in ares__strsplit (#512) + + strncasecmp on platforms that don't already have it is already #define'd to a private implementation. There is no need to have OS-specific logic. Also removes ares__strsplit.h as a header as ares_private.h already includes it. + + Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount) + +- [Yijie Ma brought this change] + + Fix a typo in ares_init_options.3 (#510) + + that -> than + + Fix By: Yijie Ma (@yijiem) + +- [Douglas R. Reno brought this change] + + Watcom Portability Improvements (#509) + + - Modify the Watcom Makefile for the source code reorganization (#352) + - Add *.map files into .gitignore + - Fix build errors with Watcom's builtin Windows SDK (which is rather + outdated). It's smart enough to understand Windows Vista, but doesn't + have PMIB_UNICASTIPADDRESS_TABLE or MIB_IPFORWARD_ROW2. + + It may be possible to use a different Windows SDK with the Watcom + compiler, such as the most recent Windows 10 SDK. Alternatively the SDK + in OpenWatcom 2.0 (which is in development) should fix this. + + I have no problems testing this Makefile prior to releases, just give me + a ping. + + Tested with Windows Vista, Windows 7, and Windows 10 using 'adig', + 'acountry', and 'ahost'. This also seems to work on Windows XP, though + this is likely due to the compiler in use. + + Fix By: Douglas R. Reno (@renodr) + Fixes Bug: #352 + +- [Jay Freeman (saurik) brought this change] + + ignore aminclude_static.am, as generated by AX_AM_MACROS_STATIC (#508) + + Fix By: Jay Freeman (@saurik) + +- [Jay Freeman (saurik) brought this change] + + sync ax_pthread.m4 with upstream (#507) + + The version in the repository is many years old so this PR simply pulls in the latest + available revision from: + http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=tree;f=m4 + + Fix By: Jay Freeman (@saurik) + +- [Chilledheart brought this change] + + Windows: Invalid stack variable out of scope for HOSTS file path (#502) + + In some conditions Windows might try to use a stack address that has gone out of scope when determining where to read the hosts data from for file lookups. + + Fix By: @Chilledheart + +- [Brad House brought this change] + + sync ax_cxx_compile_stdcxx_11.m4 with upstream (#505) + + It was reported that ax_cxx_compile_stdcxx_11.m4 was not compatible with uclibc. + The version in the repository is many years old so this PR simply pulls in the latest + available revision from: + http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=tree;f=m4 + + Fixes Bug: #504 + Fix By: Brad House (@bradh352) + Version 1.19.0 (18 Jan 2023) bradh352 (18 Jan 2023) @@ -5325,76 +5552,3 @@ Daniel Stenberg (23 Mar 2010) - git now, not CVS - ignore lots of generated files - -- [Daniel Johnson brought this change] - - Fix warnings for clang - -Yang Tse (17 Mar 2010) -- replaced intel compiler option -no-ansi-alias with -fno-strict-aliasing - -- update outdated serial number - -- fix compiler warning - -- watt32 compilation fix - -- Added another VS10 version string - -- fix line break - -- removed usage of 's6_addr', fixing compilation issue triggered with no - longer using 'in6_addr' but only our 'ares_in6_addr' struct - -Daniel Stenberg (5 Mar 2010) -- Daniel Johnson provided fixes for building with the clang compiler - -Yang Tse (5 Mar 2010) -- Added IPv6 name servers support - -Gisle Vanem (5 Mar 2010) -- Ops!. Readded ares_nowarn.h. - -- Added ares_nowarn.c. - -Yang Tse (28 Feb 2010) -- Added SIZEOF_INT and SIZEOF_SHORT definitions for non-configure systems - -- Added ares_nowarn.* to VC6 project file - -- Added SIZEOF_INT definition - -- fix compiler warning - -- fix compiler warning - -- fix compiler warning - -Daniel Stenberg (17 Feb 2010) -- ares_reinit() - - - To allow an app to force a re-read of /etc/resolv.conf etc, pretty much - like the res_init() resolver function offers - -- - Tommie Gannert pointed out a silly bug in ares_process_fd() since it didn't - check for broken connections like ares_process() did. Based on that, I - merged the two functions into a single generic one with two front-ends. - -Yang Tse (30 Dec 2009) -- VMS specific preprocessor symbol checking adjustments - -- Mention last changes - -- - Fix configure_socket() to use ares_socket_t instead of int data type. - -- - Where run-time error checks enabling compiler option /GZ was used it is now - replaced with equivalent /RTCsu for Visual Studio 2003 and newer versions. - - - Compiler option /GX is now replaced with equivalent /EHsc for all versions. - -- - Ingmar Runge noticed that Windows config-win32.h configuration file - did not include a definition for HAVE_CLOSESOCKET which resulted in - function close() being inappropriately used to close sockets. - -Daniel Stenberg (30 Nov 2009) -- start working on 1.7.1 diff --git a/deps/cares/CMakeLists.txt b/deps/cares/CMakeLists.txt index d11c0bba52d649..9379014296c44b 100644 --- a/deps/cares/CMakeLists.txt +++ b/deps/cares/CMakeLists.txt @@ -8,10 +8,10 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (CheckStructHasMember) INCLUDE (CheckLibraryExists) -PROJECT (c-ares LANGUAGES C VERSION "1.19.0" ) +PROJECT (c-ares LANGUAGES C VERSION "1.19.1" ) # Set this version before release -SET (CARES_VERSION "1.19.0") +SET (CARES_VERSION "1.19.1") INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are wrong. @@ -26,7 +26,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w # For example, a version of 4:0:2 would generate output such as: # libname.so -> libname.so.2 # libname.so.2 -> libname.so.2.2.0 -SET (CARES_LIB_VERSIONINFO "8:0:6") +SET (CARES_LIB_VERSIONINFO "8:1:6") OPTION (CARES_STATIC "Build as a static library" OFF) @@ -36,6 +36,8 @@ OPTION (CARES_STATIC_PIC "Build the static library as PIC (position independent) OPTION (CARES_BUILD_TESTS "Build and run tests" OFF) OPTION (CARES_BUILD_CONTAINER_TESTS "Build and run container tests (implies CARES_BUILD_TESTS, Linux only)" OFF) OPTION (CARES_BUILD_TOOLS "Build tools" ON) +SET (CARES_RANDOM_FILE "/dev/urandom" CACHE STRING "Suitable File / Device Path for entropy, such as /dev/urandom") + # Tests require static to be enabled on Windows to be able to access otherwise hidden symbols IF (CARES_BUILD_TESTS AND (NOT CARES_STATIC) AND WIN32) @@ -391,6 +393,8 @@ CHECK_SYMBOL_EXISTS (strncasecmp "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRNCAS CHECK_SYMBOL_EXISTS (strncmpi "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRNCMPI) CHECK_SYMBOL_EXISTS (strnicmp "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRNICMP) CHECK_SYMBOL_EXISTS (writev "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_WRITEV) +CHECK_SYMBOL_EXISTS (arc4random_buf "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_ARC4RANDOM_BUF) + # On Android, the system headers may define __system_property_get(), but excluded # from libc. We need to perform a link test instead of a header/symbol test. @@ -402,10 +406,6 @@ SET (CMAKE_REQUIRED_DEFINITIONS) SET (CMAKE_REQUIRED_LIBRARIES) -find_file(CARES_RANDOM_FILE urandom /dev) -mark_as_advanced(CARES_RANDOM_FILE) - - ################################################################################ # recv, recvfrom, send, getnameinfo, gethostname # ARGUMENTS AND RETURN VALUES diff --git a/deps/cares/Makefile.Watcom b/deps/cares/Makefile.Watcom index fa529a56edc8e1..34e07bb4c6b96a 100644 --- a/deps/cares/Makefile.Watcom +++ b/deps/cares/Makefile.Watcom @@ -1,6 +1,7 @@ # # Watcom / OpenWatcom / Win32 makefile for cares. # Quick hack by Guenter; comments to: /dev/nul +# Updated by Douglas R. Reno, comments to: renodr2002@gmail.com. 2023 # !ifndef %watcom @@ -38,9 +39,9 @@ MD = mkdir RD = rmdir /q /s 2>NUL CP = copy -CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm & - -wcd=201 -bt=nt -d+ -dWIN32 -dCARES_BUILDING_LIBRARY & - -dNTDDI_VERSION=0x05010000 -I. $(SYS_INCL) +CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm -aa & + -wcd=201 -bt=nt -d+ -dWIN32 -dCARES_BUILDING_LIBRARY & + -dNTDDI_VERSION=0x06000000 -I. -I.\include -I.\src\lib $(SYS_INCL) LFLAGS = option quiet, map, caseexact, eliminate @@ -69,7 +70,7 @@ LIB_ARG = $(OBJ_BASE)\stat\wlib.arg !ifneq __MAKEOPTS__ -u !error You MUST call wmake with the -u switch! !else -!include Makefile.inc +!include src\lib\Makefile.inc !endif OBJS = $(CSOURCES:.c=.obj) @@ -82,10 +83,11 @@ OBJ_DIR = $(OBJ_BASE)\stat OBJS_STAT = $+ $(OBJS) $- OBJ_DIR = $(OBJ_BASE)\dyn -OBJS_DYN = $+ $(OBJS) $- +OBJS_DYN += $(OBJS) $- ARESBUILDH = ares_build.h RESOURCE = $(OBJ_BASE)\dyn\cares.res +ARESBUILDH = include\ares_build.h all: $(ARESBUILDH) $(OBJ_BASE) $(TARGETS) $(DEMOS) .SYMBOLIC @echo Welcome to cares @@ -94,10 +96,10 @@ $(OBJ_BASE): -$(MD) $^@ -$(MD) $^@\stat -$(MD) $^@\dyn - -$(MD) $^@\demos + -$(MD) $^@\tools $(ARESBUILDH): .EXISTSONLY - $(CP) $^@.dist $^@ + @echo Make sure to run buildconf.bat! $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG) $(LD) name $^@ @$]@ @@ -105,14 +107,20 @@ $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG) $(LIBNAME).lib: $(OBJS_STAT) $(LIB_ARG) $(AR) -q -b -c $^@ @$]@ -adig.exe: $(OBJ_BASE)\demos\adig.obj $(OBJ_BASE)\demos\ares_getopt.obj $(LIBNAME).lib - $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\demos\ares_getopt.obj $[@ } library $]@, ws2_32.lib +$(OBJ_BASE)\tools\ares_getopt.obj: + $(CC) $(CFLAGS) -DCARES_STATICLIB .\src\tools\ares_getopt.c -fo=$^@ -ahost.exe: $(OBJ_BASE)\demos\ahost.obj $(OBJ_BASE)\demos\ares_getopt.obj $(LIBNAME).lib - $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\demos\ares_getopt.obj $[@ } library $]@, ws2_32.lib +adig.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib + $(CC) $(CFLAGS) src\tools\adig.c -fo=$(OBJ_BASE)\tools\adig.obj + $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\adig.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib -acountry.exe: $(OBJ_BASE)\demos\acountry.obj $(OBJ_BASE)\demos\ares_getopt.obj $(LIBNAME).lib - $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\demos\ares_getopt.obj $[@ } library $]@, ws2_32.lib +ahost.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib + $(CC) $(CFLAGS) src\tools\ahost.c -fo=$(OBJ_BASE)\tools\ahost.obj + $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\ahost.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib + +acountry.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib + $(CC) $(CFLAGS) src\tools\acountry.c -fo=$(OBJ_BASE)\tools\acountry.obj + $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\acountry.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib clean: .SYMBOLIC -$(RM) $(OBJS_STAT) @@ -124,24 +132,23 @@ vclean realclean: clean .SYMBOLIC -$(RM) $(DEMOS) $(DEMOS:.exe=.map) -$(RD) $(OBJ_BASE)\stat -$(RD) $(OBJ_BASE)\dyn - -$(RD) $(OBJ_BASE)\demos + -$(RD) $(OBJ_BASE)\tools -$(RD) $(OBJ_BASE) .ERASE -$(RESOURCE): cares.rc .AUTODEPEND +.c: .\src\lib + +.ERASE +$(RESOURCE): src\lib\cares.rc .AUTODEPEND $(RC) $(DEBUG) -q -r -zm -I..\include $(SYS_INCL) $[@ -fo=$^@ .ERASE .c{$(OBJ_BASE)\dyn}.obj: - $(CC) $(CFLAGS) -bd $[@ -fo=$^@ + $(CC) $(CFLAGS) -bd .\src\lib\$^& -fo=$^@ .ERASE .c{$(OBJ_BASE)\stat}.obj: - $(CC) $(CFLAGS) -DCARES_STATICLIB $[@ -fo=$^@ - -.ERASE -.c{$(OBJ_BASE)\demos}.obj: - $(CC) $(CFLAGS) -DCARES_STATICLIB $[@ -fo=$^@ + $(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\$^& -fo=$^@ $(LINK_ARG): $(__MAKEFILES__) %create $^@ @@ -155,6 +162,7 @@ $(LINK_ARG): $(__MAKEFILES__) @%append $^@ library $(%watt_root)\lib\wattcpw_imp.lib !else @%append $^@ library ws2_32.lib + @%append $^@ library iphlpapi.lib !endif $(LIB_ARG): $(__MAKEFILES__) diff --git a/deps/cares/Makefile.in b/deps/cares/Makefile.in index a512effa1f6e52..3dfa479a2441ff 100644 --- a/deps/cares/Makefile.in +++ b/deps/cares/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ $(top_srcdir)/m4/ax_am_macros_static.m4 \ $(top_srcdir)/m4/ax_check_gnu_make.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/ax_file_escapes.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ diff --git a/deps/cares/RELEASE-NOTES b/deps/cares/RELEASE-NOTES index db705905bae50f..2524f3ccf413e8 100644 --- a/deps/cares/RELEASE-NOTES +++ b/deps/cares/RELEASE-NOTES @@ -1,91 +1,57 @@ -c-ares version 1.19.0 +c-ares version 1.19.1 -This is a feature and bugfix release. It addresses a couple of new feature -requests as well as a couple of bug fixes. +This is a security and bugfix release. -Security: - o Low. Stack overflow in ares_set_sortlist() which is used during c-ares - initialization and typically provided by an administrator and not an - end user. [24] +A special thanks goes out to the Open Source Technology Improvement Fund +(https://ostif.org) for sponsoring a security audit of c-ares performed by X41 +(https://x41-dsec.de). -Changes: - o Windows: Drop support for XP and derivatives which greatly cleans up - initialization code. [3] - o Add ARES_OPT_HOSTS_FILE similar to ARES_OPT_RESOLVCONF for specifying a - custom hosts file location. [10] - o Add vcpkg installation instructions [13] +Security: + o CVE-2023-32067. High. 0-byte UDP payload causes Denial of Service [12] + o CVE-2023-31147. Moderate. Insufficient randomness in generation of DNS + query IDs [13] + o CVE-2023-31130. Moderate. Buffer Underwrite in ares_inet_net_pton() [14] + o CVE-2023-31124. Low. AutoTools does not set CARES_RANDOM_FILE during cross + compilation [15] Bug fixes: - o Fix cross-compilation from Windows to Linux due to CPACK logic. [1] - o Fix memory leak in reading /etc/hosts when using localhost fallback. [2] - o Fix chain building c-ares when libresolv is already included by another - project [4] - o File lookup should not immediately abort as there may be other tries due to - search criteria. - o Asterisks should be allowed in host validation as CNAMEs may reference - wildcard domains [5] - o AutoTools build system referenced bad STDC_HEADERS macro [6] - o Even if one address class returns a failure for ares_getaddrinfo() we should - still return the results we have - o CMake Windows: DLLs did not include resource file to include versions [7] [8] - o CMake: Guard target creation in exported config [9] - o Fix ares_getaddrinfo() numerical address resolution with AF_UNSPEC [11] - o Apple: fix libresolv configured query times. [12] - o Fix tools and help information [14] [15] - o Various documentation fixes and cleanups [16] [22] [25] - o Add include guards to ares_data.h [17] - o c-ares could try to exceed maximum number of iovec entries supported by - system [18] - o CMake package config generation allow for absolute install paths [19] - o Intel compiler fixes [20] - o ares_strsplit bugs [21] [23] - o The RFC6761 6.3 states localhost subdomains must be offline too. [26] + o Fix uninitialized memory warning in test [1] + o Turn off IPV6_V6ONLY on Windows to allow IPv4-mapped IPv6 addresses [2] + o ares_getaddrinfo() should allow a port of 0 [3] + o Fix memory leak in ares_send() on error [4] + o Fix comment style in ares_data.h [5] + o Remove unneeded ifdef for Windows [6] + o Fix typo in ares_init_options.3 [7] + o Re-add support for Watcom compiler [8] + o Sync ax_pthread.m4 with upstream [9] + o Windows: Invalid stack variable used out of scope for HOSTS path [10] + o Sync ax_cxx_compile_stdcxx_11.m4 with upstream to fix uclibc support [11] Thanks go to these friendly people for their efforts and contributions: - Boby Reynolds (@reynoldsbd) Brad House (@bradh352) - Brad Spencer (@b-spencer) - @bsergean + @Chilledheart Daniel Stenberg (@bagder) - Dmitry Karpov - @FrankXie05 - @hopper-vul - Jonathan Ringer (@jonringer) - Kai Pastor (@dg0yt) + Douglas R. Reno (@renodr) + Gregor Jasny (@gjasny) + Jay Freeman (@saurik) @lifenjoiner - Manish Mehra (@mmehra) - @marc-groundctl Nikolaos Chatzikonstantinou (@createyourpersonalaccount) - Ridge Kennedy (@ridgek) - Sam James (@thesamesam) - Stephen Sachs (@stephenmsachs) - Thomas Dreibholz (@dreibh) -(18 contributors) + Yijie Ma (@yijiem) +(9 contributors) References to bug reports and discussions on issues: - [1] = https://github.com/c-ares/c-ares/pull/436 - [2] = https://github.com/c-ares/c-ares/issues/439 - [3] = https://github.com/c-ares/c-ares/pull/445 - [4] = https://github.com/c-ares/c-ares/pull/451 - [5] = https://github.com/c-ares/c-ares/issues/457 - [6] = https://github.com/c-ares/c-ares/pull/459 - [7] = https://github.com/c-ares/c-ares/issues/460 - [8] = https://github.com/c-ares/c-ares/pull/468 - [9] = https://github.com/c-ares/c-ares/pull/464 - [10] = https://github.com/c-ares/c-ares/pull/465 - [11] = https://github.com/c-ares/c-ares/pull/469 - [12] = https://github.com/c-ares/c-ares/pull/467 - [13] = https://github.com/c-ares/c-ares/pull/478 - [14] = https://github.com/c-ares/c-ares/pull/479 - [15] = https://github.com/c-ares/c-ares/pull/481 - [16] = https://github.com/c-ares/c-ares/pull/490 - [17] = https://github.com/c-ares/c-ares/pull/491 - [18] = https://github.com/c-ares/c-ares/pull/489 - [19] = https://github.com/c-ares/c-ares/pull/486 - [20] = https://github.com/c-ares/c-ares/pull/485 - [21] = https://github.com/c-ares/c-ares/pull/492 - [22] = https://github.com/c-ares/c-ares/pull/494 - [23] = https://github.com/c-ares/c-ares/pull/495 - [24] = https://github.com/c-ares/c-ares/pull/497 - [25] = https://github.com/c-ares/c-ares/issues/487 - [26] = https://github.com/c-ares/c-ares/issues/477 + [1] = https://github.com/c-ares/c-ares/pull/515 + [2] = https://github.com/c-ares/c-ares/pull/520 + [3] = https://github.com/c-ares/c-ares/issues/517 + [4] = https://github.com/c-ares/c-ares/pull/511 + [5] = https://github.com/c-ares/c-ares/pull/513 + [6] = https://github.com/c-ares/c-ares/pull/512 + [7] = https://github.com/c-ares/c-ares/pull/510 + [8] = https://github.com/c-ares/c-ares/pull/509 + [9] = https://github.com/c-ares/c-ares/pull/507 + [10] = https://github.com/c-ares/c-ares/pull/502 + [11] = https://github.com/c-ares/c-ares/pull/505 + [12] = https://github.com/c-ares/c-ares/security/advisories/GHSA-9g78-jv2r-p7vc + [13] = https://github.com/c-ares/c-ares/security/advisories/GHSA-8r8p-23f3-64c2 + [14] = https://github.com/c-ares/c-ares/security/advisories/GHSA-x6mf-cxr9-8q6v + [15] = https://github.com/c-ares/c-ares/security/advisories/GHSA-54xr-f67r-4pc4 diff --git a/deps/cares/aclocal.m4 b/deps/cares/aclocal.m4 index e7ced790b9190b..ef2987bfa003df 100644 --- a/deps/cares/aclocal.m4 +++ b/deps/cares/aclocal.m4 @@ -1190,6 +1190,7 @@ m4_include([m4/ax_add_am_macro_static.m4]) m4_include([m4/ax_am_macros_static.m4]) m4_include([m4/ax_check_gnu_make.m4]) m4_include([m4/ax_code_coverage.m4]) +m4_include([m4/ax_cxx_compile_stdcxx.m4]) m4_include([m4/ax_cxx_compile_stdcxx_11.m4]) m4_include([m4/ax_file_escapes.m4]) m4_include([m4/ax_require_defined.m4]) diff --git a/deps/cares/aminclude_static.am b/deps/cares/aminclude_static.am index aad78eb4b1e0af..94db7e3a8c6d7c 100644 --- a/deps/cares/aminclude_static.am +++ b/deps/cares/aminclude_static.am @@ -1,6 +1,6 @@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Sat Jan 28 22:07:59 CET 2023 +# from AX_AM_MACROS_STATIC on Mon May 22 14:23:05 CEST 2023 # Code coverage diff --git a/deps/cares/cares.gyp b/deps/cares/cares.gyp index 22e26c1f2266a5..110024a331671b 100644 --- a/deps/cares/cares.gyp +++ b/deps/cares/cares.gyp @@ -53,6 +53,7 @@ 'src/lib/ares_private.h', 'src/lib/ares_process.c', 'src/lib/ares_query.c', + 'src/lib/ares_rand.c', 'src/lib/ares__read_line.c', 'src/lib/ares__readaddrinfo.c', 'src/lib/ares_search.c', diff --git a/deps/cares/configure b/deps/cares/configure index 4c5e1a966c6d9f..2f182e0ce3177d 100755 --- a/deps/cares/configure +++ b/deps/cares/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for c-ares 1.19.0. +# Generated by GNU Autoconf 2.71 for c-ares 1.19.1. # # Report bugs to . # @@ -855,8 +855,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='c-ares' PACKAGE_TARNAME='c-ares' -PACKAGE_VERSION='1.19.0' -PACKAGE_STRING='c-ares 1.19.0' +PACKAGE_VERSION='1.19.1' +PACKAGE_STRING='c-ares 1.19.1' PACKAGE_BUGREPORT='c-ares mailing list: http://lists.haxx.se/listinfo/c-ares' PACKAGE_URL='' @@ -1650,7 +1650,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures c-ares 1.19.0 to adapt to many kinds of systems. +\`configure' configures c-ares 1.19.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1721,7 +1721,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of c-ares 1.19.0:";; + short | recursive ) echo "Configuration of c-ares 1.19.1:";; esac cat <<\_ACEOF @@ -1861,7 +1861,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -c-ares configure 1.19.0 +c-ares configure 1.19.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2453,7 +2453,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by c-ares $as_me 1.19.0, which was +It was created by c-ares $as_me 1.19.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3426,7 +3426,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -CARES_VERSION_INFO="8:0:6" +CARES_VERSION_INFO="8:1:6" @@ -6301,144 +6301,323 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ax_cxx_compile_cxx11_required=false + ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=false ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_success=no - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5 -printf %s "checking whether $CXX supports C++11 features by default... " >&6; } -if test ${ax_cv_cxx_compile_cxx11+y} + + + + + + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 +printf %s "checking whether $CXX supports C++11 features with $switch... " >&6; } +if eval test \${$cachevar+y} then : printf %s "(cached) " >&6 else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CXX="$CXX" + CXX="$CXX $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - template + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template struct check { static_assert(sizeof(int) <= sizeof(T), "not big enough"); }; - struct Base { - virtual void f() {} + } + + namespace test_final_override + { + + struct Base + { + virtual ~Base() {} + virtual void f() {} }; - struct Child : public Base { - virtual void f() override {} + + struct Derived : public Base + { + virtual ~Derived() override {} + virtual void f() override {} }; - typedef check> right_angle_brackets; + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; - int a; - decltype(a) b; + } - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); + namespace test_decltype + { - auto d = a; - auto l = [](){}; + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } - // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae - // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this - namespace test_template_alias_sfinae { - struct foo {}; + } - template - using member = typename T::member_type; + namespace test_type_deduction + { - template - void func(...) {} + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; - template - void func(member*) {} + template < typename T > + struct is_same + { + static const bool value = true; + }; - void test(); + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } - void test() { - func(0); - } + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); } -_ACEOF -if ac_fn_cxx_try_compile "$LINENO" -then : - ax_cv_cxx_compile_cxx11=yes -else $as_nop - ax_cv_cxx_compile_cxx11=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5 -printf "%s\n" "$ax_cv_cxx_compile_cxx11" >&6; } - if test x$ax_cv_cxx_compile_cxx11 = xyes; then - ac_success=yes - fi + } + namespace test_noexcept + { + int f() { return 0; } + int g() noexcept { return 0; } - if test x$ac_success = xno; then - for switch in -std=c++11 -std=c++0x; do - cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 -printf %s "checking whether $CXX supports C++11 features with $switch... " >&6; } -if eval test \${$cachevar+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); - template - struct check + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; }; - struct Base { - virtual void f() {} + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; }; - struct Child : public Base { - virtual void f() override {} + + template <> + struct sum<> + { + static constexpr auto value = 0; }; - typedef check> right_angle_brackets; + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); - int a; - decltype(a) b; + } - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { - auto d = a; - auto l = [](){}; + struct foo {}; - // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae - // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this - namespace test_template_alias_sfinae { - struct foo {}; + template + using member = typename T::member_type; - template - using member = typename T::member_type; + template + void func(...) {} - template - void func(...) {} + template + void func(member*) {} - template - void func(member*) {} + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L - void test(); - void test() { - func(0); - } - } _ACEOF if ac_fn_cxx_try_compile "$LINENO" @@ -6448,14 +6627,21 @@ else $as_nop eval $cachevar=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - CXXFLAGS="$ac_save_CXXFLAGS" + CXX="$ac_save_CXX" fi eval ac_res=\$$cachevar { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then break fi done @@ -6470,22 +6656,20 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test x$ac_success = xno; then as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5 fi - else - if test x$ac_success = xno; then - HAVE_CXX11=0 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 + fi + if test x$ac_success = xno; then + HAVE_CXX11=0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 printf "%s\n" "$as_me: No compiler with C++11 support was found" >&6;} - else - HAVE_CXX11=1 + else + HAVE_CXX11=1 printf "%s\n" "#define HAVE_CXX11 1" >>confdefs.h - fi - - fi + am__api_version='1.16' { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 @@ -6876,7 +7060,7 @@ fi # Define the identity of the package. PACKAGE='c-ares' - VERSION='1.19.0' + VERSION='1.19.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -33012,6 +33196,166 @@ printf "%s\n" "no" >&6; } fi + # + tst_links_arc4random_buf="unknown" + tst_proto_arc4random_buf="unknown" + tst_compi_arc4random_buf="unknown" + tst_allow_arc4random_buf="unknown" + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if arc4random_buf can be linked" >&5 +printf %s "checking if arc4random_buf can be linked... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* Define arc4random_buf to an innocuous variant, in case declares arc4random_buf. + For example, HP-UX 11i declares gettimeofday. */ +#define arc4random_buf innocuous_arc4random_buf + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char arc4random_buf (); below. */ + +#include +#undef arc4random_buf + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char arc4random_buf (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_arc4random_buf || defined __stub___arc4random_buf +choke me +#endif + +int +main (void) +{ +return arc4random_buf (); + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + tst_links_arc4random_buf="yes" + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + tst_links_arc4random_buf="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + # + if test "$tst_links_arc4random_buf" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if arc4random_buf is prototyped" >&5 +printf %s "checking if arc4random_buf is prototyped... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + $cares_includes_stdlib + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "arc4random_buf" >/dev/null 2>&1 +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + tst_proto_arc4random_buf="yes" + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + tst_proto_arc4random_buf="no" + +fi +rm -rf conftest* + + fi + # + if test "$tst_proto_arc4random_buf" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if arc4random_buf is compilable" >&5 +printf %s "checking if arc4random_buf is compilable... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + + $cares_includes_stdlib + +int +main (void) +{ + + arc4random_buf(NULL, 0); + return 1; + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + tst_compi_arc4random_buf="yes" + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + tst_compi_arc4random_buf="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + # + if test "$tst_compi_arc4random_buf" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if arc4random_buf usage allowed" >&5 +printf %s "checking if arc4random_buf usage allowed... " >&6; } + if test "x$cares_disallow_arc4random_buf" != "xyes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + tst_allow_arc4random_buf="yes" + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + tst_allow_arc4random_buf="no" + fi + fi + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if arc4random_buf might be used" >&5 +printf %s "checking if arc4random_buf might be used... " >&6; } + if test "$tst_links_arc4random_buf" = "yes" && + test "$tst_proto_arc4random_buf" = "yes" && + test "$tst_compi_arc4random_buf" = "yes" && + test "$tst_allow_arc4random_buf" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +printf "%s\n" "#define HAVE_ARC4RANDOM_BUF 1" >>confdefs.h + + ac_cv_func_arc4random_buf="yes" + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ac_cv_func_arc4random_buf="no" + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PF_INET6" >&5 @@ -33950,37 +34294,7 @@ if test ${with_random+y} then : withval=$with_random; CARES_RANDOM_FILE="$withval" else $as_nop - - if test "$cross_compiling" = "no"; then - as_ac_File=`printf "%s\n" "ac_cv_file_"/dev/urandom"" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for \"/dev/urandom\"" >&5 -printf %s "checking for \"/dev/urandom\"... " >&6; } -if eval test \${$as_ac_File+y} -then : - printf %s "(cached) " >&6 -else $as_nop - test "$cross_compiling" = yes && - as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r ""/dev/urandom""; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -eval ac_res=\$$as_ac_File - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_ac_File"\" = x"yes" -then : CARES_RANDOM_FILE="/dev/urandom" -fi - - else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot check for /dev/urandom while cross compiling; assuming none" >&5 -printf "%s\n" "$as_me: WARNING: cannot check for /dev/urandom while cross compiling; assuming none" >&2;} - fi - - fi @@ -34864,7 +35178,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by c-ares $as_me 1.19.0, which was +This file was extended by c-ares $as_me 1.19.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -34932,7 +35246,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -c-ares config.status 1.19.0 +c-ares config.status 1.19.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/deps/cares/configure.ac b/deps/cares/configure.ac index 56a570bce019b9..54e79d6e2a9680 100644 --- a/deps/cares/configure.ac +++ b/deps/cares/configure.ac @@ -1,9 +1,9 @@ AC_PREREQ([2.60]) -AC_INIT([c-ares], [1.19.0], +AC_INIT([c-ares], [1.19.1], [c-ares mailing list: http://lists.haxx.se/listinfo/c-ares]) -CARES_VERSION_INFO="8:0:6" +CARES_VERSION_INFO="8:1:6" dnl This flag accepts an argument of the form current[:revision[:age]]. So, dnl passing -version-info 3:12:1 sets current to 3, revision to 12, and age to dnl 1. @@ -683,6 +683,7 @@ CARES_CHECK_FUNC_STRNCASECMP CARES_CHECK_FUNC_STRNCMPI CARES_CHECK_FUNC_STRNICMP CARES_CHECK_FUNC_WRITEV +CARES_CHECK_FUNC_ARC4RANDOM_BUF dnl check for AF_INET6 @@ -896,17 +897,7 @@ AC_ARG_WITH(random, AS_HELP_STRING([--with-random=FILE], [read randomness from FILE (default=/dev/urandom)]), [ CARES_RANDOM_FILE="$withval" ], - [ - dnl Check for random device. If we're cross compiling, we can't - dnl check, and it's better to assume it doesn't exist than it is - dnl to fail on AC_CHECK_FILE or later. - if test "$cross_compiling" = "no"; then - AC_CHECK_FILE("/dev/urandom", [ CARES_RANDOM_FILE="/dev/urandom"] ) - else - AC_MSG_WARN([cannot check for /dev/urandom while cross compiling; assuming none]) - fi - - ] + [ CARES_RANDOM_FILE="/dev/urandom" ] ) if test -n "$CARES_RANDOM_FILE" && test X"$CARES_RANDOM_FILE" != Xno ; then AC_SUBST(CARES_RANDOM_FILE) diff --git a/deps/cares/docs/Makefile.in b/deps/cares/docs/Makefile.in index 94dc18d1e0400d..b169b2a01d1066 100644 --- a/deps/cares/docs/Makefile.in +++ b/deps/cares/docs/Makefile.in @@ -99,6 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ $(top_srcdir)/m4/ax_am_macros_static.m4 \ $(top_srcdir)/m4/ax_check_gnu_make.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/ax_file_escapes.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ diff --git a/deps/cares/docs/ares_init_options.3 b/deps/cares/docs/ares_init_options.3 index 02d30721080e9d..b31f6637c75b73 100644 --- a/deps/cares/docs/ares_init_options.3 +++ b/deps/cares/docs/ares_init_options.3 @@ -283,7 +283,7 @@ When initializing from path location) \fBares_init_options(3)\fP reads the \fIdomain\fP and \fIsearch\fP directives to allow lookups of short names relative to the domains specified. The -\fIdomain\fP and \fIsearch\fP directives override one another. If more that +\fIdomain\fP and \fIsearch\fP directives override one another. If more than one instance of either \fIdomain\fP or \fIsearch\fP directives is specified, the last occurrence wins. For more information, please see the .BR resolv.conf (5) diff --git a/deps/cares/include/Makefile.in b/deps/cares/include/Makefile.in index 40c1d51fb178b9..8586bd52f1133d 100644 --- a/deps/cares/include/Makefile.in +++ b/deps/cares/include/Makefile.in @@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ $(top_srcdir)/m4/ax_am_macros_static.m4 \ $(top_srcdir)/m4/ax_check_gnu_make.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/ax_file_escapes.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ diff --git a/deps/cares/include/ares_version.h b/deps/cares/include/ares_version.h index 4d8d62fd18ed67..35a1ed1a3d3035 100644 --- a/deps/cares/include/ares_version.h +++ b/deps/cares/include/ares_version.h @@ -7,11 +7,11 @@ #define ARES_VERSION_MAJOR 1 #define ARES_VERSION_MINOR 19 -#define ARES_VERSION_PATCH 0 +#define ARES_VERSION_PATCH 1 #define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\ (ARES_VERSION_MINOR<<8)|\ (ARES_VERSION_PATCH)) -#define ARES_VERSION_STR "1.19.0" +#define ARES_VERSION_STR "1.19.1" #if (ARES_VERSION >= 0x010700) # define CARES_HAVE_ARES_LIBRARY_INIT 1 diff --git a/deps/cares/m4/ax_cxx_compile_stdcxx.m4 b/deps/cares/m4/ax_cxx_compile_stdcxx.m4 new file mode 100644 index 00000000000000..a3d964c699aac7 --- /dev/null +++ b/deps/cares/m4/ax_cxx_compile_stdcxx.m4 @@ -0,0 +1,1009 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the specified +# version of the C++ standard. If necessary, add switches to CXX and +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. +# +# The second argument, if specified, indicates whether you insist on an +# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. +# -std=c++11). If neither is specified, you get whatever works, with +# preference for no added switch, and then for an extended mode. +# +# The third argument, if specified 'mandatory' or if left unspecified, +# indicates that baseline support for the specified C++ standard is +# required and that the macro should error out if no mode with that +# support is found. If specified 'optional', then configuration proceeds +# regardless, after defining HAVE_CXX${VERSION} if and only if a +# supporting mode is found. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# Copyright (c) 2016, 2018 Krzesimir Nowak +# Copyright (c) 2019 Enji Cooper +# Copyright (c) 2020 Jason Merrill +# Copyright (c) 2021 Jörn Heusipp +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 15 + +dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro +dnl (serial version number 13). + +AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl + m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], + [$1], [14], [ax_cxx_compile_alternatives="14 1y"], + [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [$1], [20], [ax_cxx_compile_alternatives="20"], + [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$2], [], [], + [$2], [ext], [], + [$2], [noext], [], + [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], + [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], + [$3], [optional], [ax_cxx_compile_cxx$1_required=false], + [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + AC_LANG_PUSH([C++])dnl + ac_success=no + + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) + + m4_if([$2], [noext], [], [dnl + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + + m4_if([$2], [ext], [], [dnl + if test x$ac_success = xno; then + dnl HP's aCC needs +std=c++11 according to: + dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf + dnl Cray's crayCC needs "-h std=c++11" + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then + break + fi + done + fi]) + AC_LANG_POP([C++]) + if test x$ax_cxx_compile_cxx$1_required = xtrue; then + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) + fi + fi + if test x$ac_success = xno; then + HAVE_CXX$1=0 + AC_MSG_NOTICE([No compiler with C++$1 support was found]) + else + HAVE_CXX$1=1 + AC_DEFINE(HAVE_CXX$1,1, + [define if the compiler supports basic C++$1 syntax]) + fi + AC_SUBST(HAVE_CXX$1) +]) + + +dnl Test body for checking C++11 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 +) + +dnl Test body for checking C++14 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 +) + +dnl Test body for checking C++17 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 +) + +dnl Test body for checking C++20 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 +) + + +dnl Tests for new features in C++11 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual ~Base() {} + virtual void f() {} + }; + + struct Derived : public Base + { + virtual ~Derived() override {} + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + +]]) + + +dnl Tests for new features in C++14 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L && !defined _MSC_VER + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + +]]) + + +dnl Tests for new features in C++17 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L && !defined _MSC_VER + +#error "This is not a C++17 compiler" + +#else + +#include +#include +#include + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) + { + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus < 201703L && !defined _MSC_VER + +]]) + + +dnl Tests for new features in C++20 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER + +]]) diff --git a/deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 b/deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 index 229de309169c8a..1733fd85f9595e 100644 --- a/deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 +++ b/deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 @@ -1,26 +1,23 @@ -# ============================================================================ -# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html -# ============================================================================ +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html +# ============================================================================= # # SYNOPSIS # -# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional]) +# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional]) # # DESCRIPTION # # Check for baseline language coverage in the compiler for the C++11 -# standard; if necessary, add switches to CXXFLAGS to enable support. +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. # -# The first argument, if specified, indicates whether you insist on an -# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -# -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. -# -# The second argument, if specified 'mandatory' or if left unspecified, -# indicates that baseline C++11 support is required and that the macro -# should error out if no mode with that support is found. If specified -# 'optional', then configuration proceeds regardless, after defining -# HAVE_CXX11 if and only if a supporting mode is found. +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++11. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. # # LICENSE # @@ -28,136 +25,15 @@ # Copyright (c) 2012 Zack Weinberg # Copyright (c) 2013 Roy Stogner # Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 9 - -m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[ - template - struct check - { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); - }; - - struct Base { - virtual void f() {} - }; - struct Child : public Base { - virtual void f() override {} - }; - - typedef check> right_angle_brackets; - - int a; - decltype(a) b; - - typedef check check_type; - check_type c; - check_type&& cr = static_cast(c); - - auto d = a; - auto l = [](){}; - - // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae - // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function because of this - namespace test_template_alias_sfinae { - struct foo {}; - - template - using member = typename T::member_type; - - template - void func(...) {} - - template - void func(member*) {} - - void test(); - - void test() { - func(0); - } - } -]]) - -AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl - m4_if([$1], [], [], - [$1], [ext], [], - [$1], [noext], [], - [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl - m4_if([$2], [], [ax_cxx_compile_cxx11_required=true], - [$2], [mandatory], [ax_cxx_compile_cxx11_required=true], - [$2], [optional], [ax_cxx_compile_cxx11_required=false], - [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])]) - AC_LANG_PUSH([C++])dnl - ac_success=no - AC_CACHE_CHECK(whether $CXX supports C++11 features by default, - ax_cv_cxx_compile_cxx11, - [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], - [ax_cv_cxx_compile_cxx11=yes], - [ax_cv_cxx_compile_cxx11=no])]) - if test x$ax_cv_cxx_compile_cxx11 = xyes; then - ac_success=yes - fi - - m4_if([$1], [noext], [], [dnl - if test x$ac_success = xno; then - for switch in -std=gnu++11 -std=gnu++0x; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch]) - AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch, - $cachevar, - [ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], - [eval $cachevar=yes], - [eval $cachevar=no]) - CXXFLAGS="$ac_save_CXXFLAGS"]) - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes - break - fi - done - fi]) - - m4_if([$1], [ext], [], [dnl - if test x$ac_success = xno; then - for switch in -std=c++11 -std=c++0x; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch]) - AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch, - $cachevar, - [ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])], - [eval $cachevar=yes], - [eval $cachevar=no]) - CXXFLAGS="$ac_save_CXXFLAGS"]) - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - ac_success=yes - break - fi - done - fi]) - AC_LANG_POP([C++]) - if test x$ax_cxx_compile_cxx11_required = xtrue; then - if test x$ac_success = xno; then - AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.]) - fi - else - if test x$ac_success = xno; then - HAVE_CXX11=0 - AC_MSG_NOTICE([No compiler with C++11 support was found]) - else - HAVE_CXX11=1 - AC_DEFINE(HAVE_CXX11,1, - [define if the compiler supports basic C++11 syntax]) - fi +#serial 18 - AC_SUBST(HAVE_CXX11) - fi -]) +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])]) diff --git a/deps/cares/m4/ax_pthread.m4 b/deps/cares/m4/ax_pthread.m4 index d383ad5c6d6a50..9f35d139149f8d 100644 --- a/deps/cares/m4/ax_pthread.m4 +++ b/deps/cares/m4/ax_pthread.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_pthread.html +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html # =========================================================================== # # SYNOPSIS @@ -14,24 +14,28 @@ # flags that are needed. (The user can also force certain compiler # flags/libs to be tested by setting these environment variables.) # -# Also sets PTHREAD_CC to any special C compiler that is needed for -# multi-threaded programs (defaults to the value of CC otherwise). (This -# is necessary on AIX to use the special cc_r compiler alias.) +# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is +# needed for multi-threaded programs (defaults to the value of CC +# respectively CXX otherwise). (This is necessary on e.g. AIX to use the +# special cc_r/CC_r compiler alias.) # # NOTE: You are assumed to not only compile your program with these flags, -# but also link it with them as well. e.g. you should link with +# but also to link with them as well. For example, you might link with # $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS # -# If you are only building threads programs, you may wish to use these +# If you are only building threaded programs, you may wish to use these # variables in your default LIBS, CFLAGS, and CC: # # LIBS="$PTHREAD_LIBS $LIBS" # CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" # CC="$PTHREAD_CC" +# CXX="$PTHREAD_CXX" # # In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name -# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). # # Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the # PTHREAD_PRIO_INHERIT symbol is defined when compiling with @@ -55,6 +59,7 @@ # # Copyright (c) 2008 Steven G. Johnson # Copyright (c) 2011 Daniel Richard G. +# Copyright (c) 2019 Marc Stevens # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the @@ -67,7 +72,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -82,35 +87,41 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 21 +#serial 31 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) AC_DEFUN([AX_PTHREAD], [ AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) AC_LANG_PUSH([C]) ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). +# requires special compiler flags (e.g. on Tru64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"]) CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) AC_MSG_RESULT([$ax_pthread_ok]) - if test x"$ax_pthread_ok" = xno; then + if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" fi # We must check for the threads library under a number of different @@ -118,12 +129,14 @@ fi # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: @@ -132,82 +145,163 @@ ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mt # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) -case ${host_os} in +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" + ;; +esac + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +AS_IF([test "x$ax_pthread_clang" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread"]) - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" ;; - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" + aix*) + ax_pthread_check_macro="_THREAD_SAFE" ;; -esac -# Clang doesn't consider unrecognized options an error unless we specify -# -Werror. We throw in some extra Clang-specific options to ensure that -# this doesn't happen for GCC, which also accepts -Werror. + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) -AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) -save_CFLAGS="$CFLAGS" -ax_pthread_extra_flags="-Werror" -CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], - [AC_MSG_RESULT([yes])], - [ax_pthread_extra_flags= - AC_MSG_RESULT([no])]) -CFLAGS="$save_CFLAGS" -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do - case $flag in + case $ax_pthread_try_flag in none) AC_MSG_CHECKING([whether pthreads work without any flags]) ;; + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) + ;; + -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) - if test x"$ax_pthread_config" = xno; then continue; fi + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we @@ -218,8 +312,18 @@ for flag in $ax_pthread_flags; do # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include - static void routine(void *a) { a = 0; } +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } static void *start_routine(void *a) { return a; }], [pthread_t th; pthread_attr_t attr; pthread_create(&th, 0, start_routine, 0); @@ -227,101 +331,187 @@ for flag in $ax_pthread_flags; do pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) + [ax_pthread_ok=yes], + []) - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" AC_MSG_RESULT([$ax_pthread_ok]) - if test "x$ax_pthread_ok" = xyes; then - break; - fi + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + # Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $attr; return attr /* ; */])], - [attr_name=$attr; break], - []) - done - AC_MSG_RESULT([$attr_name]) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - # TODO: What about Clang on Solaris? - flag="-mt -D_REENTRANT" - fi - ;; - esac - AC_MSG_RESULT([$flag]) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - [ax_cv_PTHREAD_PRIO_INHERIT], [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT; + return i;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], - [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" # More AIX lossage: compile with *_r variant - if test "x$GCC" != xyes; then + if test "x$GCC" != "xyes"; then case $host_os in aix*) AS_CASE(["x/$CC"], - [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], - [#handle absolute path differently from PATH based program lookup - AS_CASE(["x$CC"], - [x/*], - [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], - [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [ + AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"]) + AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])]) + ], + [ + AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC]) + AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])]) + ] + ) + ]) ;; esac fi fi test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" AC_SUBST([PTHREAD_LIBS]) AC_SUBST([PTHREAD_CFLAGS]) AC_SUBST([PTHREAD_CC]) +AC_SUBST([PTHREAD_CXX]) # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then +if test "x$ax_pthread_ok" = "xyes"; then ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) : else diff --git a/deps/cares/m4/cares-functions.m4 b/deps/cares/m4/cares-functions.m4 index 0f3992c7f08054..d4f4f994c6f22d 100644 --- a/deps/cares/m4/cares-functions.m4 +++ b/deps/cares/m4/cares-functions.m4 @@ -3753,3 +3753,88 @@ AC_DEFUN([CARES_CHECK_FUNC_WRITEV], [ ac_cv_func_writev="no" fi ]) + +dnl CARES_CHECK_FUNC_ARC4RANDOM_BUF +dnl ------------------------------------------------- +dnl Verify if arc4random_buf is available, prototyped, and +dnl can be compiled. If all of these are true, and +dnl usage has not been previously disallowed with +dnl shell variable cares_disallow_arc4random_buf, then +dnl HAVE_ARC4RANDOM_BUF will be defined. + +AC_DEFUN([CARES_CHECK_FUNC_ARC4RANDOM_BUF], [ + AC_REQUIRE([CARES_INCLUDES_STDLIB])dnl + # + tst_links_arc4random_buf="unknown" + tst_proto_arc4random_buf="unknown" + tst_compi_arc4random_buf="unknown" + tst_allow_arc4random_buf="unknown" + # + AC_MSG_CHECKING([if arc4random_buf can be linked]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([arc4random_buf]) + ],[ + AC_MSG_RESULT([yes]) + tst_links_arc4random_buf="yes" + ],[ + AC_MSG_RESULT([no]) + tst_links_arc4random_buf="no" + ]) + # + if test "$tst_links_arc4random_buf" = "yes"; then + AC_MSG_CHECKING([if arc4random_buf is prototyped]) + AC_EGREP_CPP([arc4random_buf],[ + $cares_includes_stdlib + ],[ + AC_MSG_RESULT([yes]) + tst_proto_arc4random_buf="yes" + ],[ + AC_MSG_RESULT([no]) + tst_proto_arc4random_buf="no" + ]) + fi + # + if test "$tst_proto_arc4random_buf" = "yes"; then + AC_MSG_CHECKING([if arc4random_buf is compilable]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ + $cares_includes_stdlib + ]],[[ + arc4random_buf(NULL, 0); + return 1; + ]]) + ],[ + AC_MSG_RESULT([yes]) + tst_compi_arc4random_buf="yes" + ],[ + AC_MSG_RESULT([no]) + tst_compi_arc4random_buf="no" + ]) + fi + # + if test "$tst_compi_arc4random_buf" = "yes"; then + AC_MSG_CHECKING([if arc4random_buf usage allowed]) + if test "x$cares_disallow_arc4random_buf" != "xyes"; then + AC_MSG_RESULT([yes]) + tst_allow_arc4random_buf="yes" + else + AC_MSG_RESULT([no]) + tst_allow_arc4random_buf="no" + fi + fi + # + AC_MSG_CHECKING([if arc4random_buf might be used]) + if test "$tst_links_arc4random_buf" = "yes" && + test "$tst_proto_arc4random_buf" = "yes" && + test "$tst_compi_arc4random_buf" = "yes" && + test "$tst_allow_arc4random_buf" = "yes"; then + AC_MSG_RESULT([yes]) + AC_DEFINE_UNQUOTED(HAVE_ARC4RANDOM_BUF, 1, + [Define to 1 if you have the arc4random_buf function.]) + ac_cv_func_arc4random_buf="yes" + else + AC_MSG_RESULT([no]) + ac_cv_func_arc4random_buf="no" + fi +]) + diff --git a/deps/cares/src/Makefile.in b/deps/cares/src/Makefile.in index da56f4c23ca2b5..6aa63b002ada82 100644 --- a/deps/cares/src/Makefile.in +++ b/deps/cares/src/Makefile.in @@ -95,6 +95,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ $(top_srcdir)/m4/ax_am_macros_static.m4 \ $(top_srcdir)/m4/ax_check_gnu_make.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/ax_file_escapes.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ diff --git a/deps/cares/src/lib/Makefile.in b/deps/cares/src/lib/Makefile.in index 71449c1c43b8bc..f1ed8a0b0c588e 100644 --- a/deps/cares/src/lib/Makefile.in +++ b/deps/cares/src/lib/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Sat Jan 28 10:29:54 CET 2023 +# from AX_AM_MACROS_STATIC on Mon May 22 13:34:17 CEST 2023 VPATH = @srcdir@ am__is_gnu_make = { \ @@ -106,6 +106,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ $(top_srcdir)/m4/ax_am_macros_static.m4 \ $(top_srcdir)/m4/ax_check_gnu_make.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/ax_file_escapes.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ @@ -194,13 +195,14 @@ am__objects_1 = libcares_la-ares__addrinfo2hostent.lo \ libcares_la-ares_parse_txt_reply.lo \ libcares_la-ares_parse_uri_reply.lo \ libcares_la-ares_platform.lo libcares_la-ares_process.lo \ - libcares_la-ares_query.lo libcares_la-ares_search.lo \ - libcares_la-ares_send.lo libcares_la-ares_strcasecmp.lo \ - libcares_la-ares_strdup.lo libcares_la-ares_strerror.lo \ - libcares_la-ares_strsplit.lo libcares_la-ares_timeout.lo \ - libcares_la-ares_version.lo libcares_la-ares_writev.lo \ - libcares_la-bitncmp.lo libcares_la-inet_net_pton.lo \ - libcares_la-inet_ntop.lo libcares_la-windows_port.lo + libcares_la-ares_query.lo libcares_la-ares_rand.lo \ + libcares_la-ares_search.lo libcares_la-ares_send.lo \ + libcares_la-ares_strcasecmp.lo libcares_la-ares_strdup.lo \ + libcares_la-ares_strerror.lo libcares_la-ares_strsplit.lo \ + libcares_la-ares_timeout.lo libcares_la-ares_version.lo \ + libcares_la-ares_writev.lo libcares_la-bitncmp.lo \ + libcares_la-inet_net_pton.lo libcares_la-inet_ntop.lo \ + libcares_la-windows_port.lo am__objects_2 = am_libcares_la_OBJECTS = $(am__objects_1) $(am__objects_2) libcares_la_OBJECTS = $(am_libcares_la_OBJECTS) @@ -273,6 +275,7 @@ am__depfiles_remade = \ ./$(DEPDIR)/libcares_la-ares_platform.Plo \ ./$(DEPDIR)/libcares_la-ares_process.Plo \ ./$(DEPDIR)/libcares_la-ares_query.Plo \ + ./$(DEPDIR)/libcares_la-ares_rand.Plo \ ./$(DEPDIR)/libcares_la-ares_search.Plo \ ./$(DEPDIR)/libcares_la-ares_send.Plo \ ./$(DEPDIR)/libcares_la-ares_strcasecmp.Plo \ @@ -617,6 +620,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares_platform.c \ ares_process.c \ ares_query.c \ + ares_rand.c \ ares_search.c \ ares_send.c \ ares_strcasecmp.c \ @@ -793,6 +797,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_platform.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_process.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_query.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_rand.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_search.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_send.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcares_la-ares_strcasecmp.Plo@am__quote@ # am--include-marker @@ -1159,6 +1164,13 @@ libcares_la-ares_query.lo: ares_query.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares_query.lo `test -f 'ares_query.c' || echo '$(srcdir)/'`ares_query.c +libcares_la-ares_rand.lo: ares_rand.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares_rand.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares_rand.Tpo -c -o libcares_la-ares_rand.lo `test -f 'ares_rand.c' || echo '$(srcdir)/'`ares_rand.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares_rand.Tpo $(DEPDIR)/libcares_la-ares_rand.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ares_rand.c' object='libcares_la-ares_rand.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -c -o libcares_la-ares_rand.lo `test -f 'ares_rand.c' || echo '$(srcdir)/'`ares_rand.c + libcares_la-ares_search.lo: ares_search.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcares_la_CPPFLAGS) $(CPPFLAGS) $(libcares_la_CFLAGS) $(CFLAGS) -MT libcares_la-ares_search.lo -MD -MP -MF $(DEPDIR)/libcares_la-ares_search.Tpo -c -o libcares_la-ares_search.lo `test -f 'ares_search.c' || echo '$(srcdir)/'`ares_search.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcares_la-ares_search.Tpo $(DEPDIR)/libcares_la-ares_search.Plo @@ -1503,6 +1515,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares_platform.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_process.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_query.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares_rand.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_search.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_send.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_strcasecmp.Plo @@ -1607,6 +1620,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/libcares_la-ares_platform.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_process.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_query.Plo + -rm -f ./$(DEPDIR)/libcares_la-ares_rand.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_search.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_send.Plo -rm -f ./$(DEPDIR)/libcares_la-ares_strcasecmp.Plo diff --git a/deps/cares/src/lib/Makefile.inc b/deps/cares/src/lib/Makefile.inc index 140378d67e2bd5..02d8d58a6d5f3a 100644 --- a/deps/cares/src/lib/Makefile.inc +++ b/deps/cares/src/lib/Makefile.inc @@ -45,6 +45,7 @@ CSOURCES = ares__addrinfo2hostent.c \ ares_platform.c \ ares_process.c \ ares_query.c \ + ares_rand.c \ ares_search.c \ ares_send.c \ ares_strcasecmp.c \ @@ -59,7 +60,7 @@ CSOURCES = ares__addrinfo2hostent.c \ inet_ntop.c \ windows_port.c -HHEADERS = ares_android.h \ +HHEADERS = ares_android.h \ ares_data.h \ ares_getenv.h \ ares_inet_net_pton.h \ diff --git a/deps/cares/src/lib/ares__addrinfo_localhost.c b/deps/cares/src/lib/ares__addrinfo_localhost.c index 7940ecdae7df3d..5bc1e0bff08cdb 100644 --- a/deps/cares/src/lib/ares__addrinfo_localhost.c +++ b/deps/cares/src/lib/ares__addrinfo_localhost.c @@ -131,7 +131,7 @@ static int ares__system_loopback_addrs(int aftype, unsigned short port, struct ares_addrinfo_node **nodes) { -#if defined(_WIN32) && defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600 +#if defined(_WIN32) && defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600 && !defined(__WATCOMC__) PMIB_UNICASTIPADDRESS_TABLE table; unsigned int i; int status; diff --git a/deps/cares/src/lib/ares_config.h.cmake b/deps/cares/src/lib/ares_config.h.cmake index fddb7853514bbe..798820a3a68997 100644 --- a/deps/cares/src/lib/ares_config.h.cmake +++ b/deps/cares/src/lib/ares_config.h.cmake @@ -346,6 +346,9 @@ /* Define to 1 if you need the memory.h header file even with stdlib.h */ #cmakedefine NEED_MEMORY_H +/* Define if have arc4random_buf() */ +#cmakedefine HAVE_ARC4RANDOM_BUF + /* a suitable file/device to read random data from */ #cmakedefine CARES_RANDOM_FILE "@CARES_RANDOM_FILE@" diff --git a/deps/cares/src/lib/ares_config.h.in b/deps/cares/src/lib/ares_config.h.in index b260c08fe62bd7..3f6954a74db124 100644 --- a/deps/cares/src/lib/ares_config.h.in +++ b/deps/cares/src/lib/ares_config.h.in @@ -54,6 +54,9 @@ /* Define to 1 if you have AF_INET6. */ #undef HAVE_AF_INET6 +/* Define to 1 if you have the arc4random_buf function. */ +#undef HAVE_ARC4RANDOM_BUF + /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H diff --git a/deps/cares/src/lib/ares_data.h b/deps/cares/src/lib/ares_data.h index 54d729d0e7eb62..a682ad54cb939d 100644 --- a/deps/cares/src/lib/ares_data.h +++ b/deps/cares/src/lib/ares_data.h @@ -78,4 +78,4 @@ struct ares_data { void *ares_malloc_data(ares_datatype type); -#endif // __ARES_DATA_H +#endif /* __ARES_DATA_H */ diff --git a/deps/cares/src/lib/ares_destroy.c b/deps/cares/src/lib/ares_destroy.c index 7ec2bde5a45d0d..62c899f82e01dd 100644 --- a/deps/cares/src/lib/ares_destroy.c +++ b/deps/cares/src/lib/ares_destroy.c @@ -95,6 +95,9 @@ void ares_destroy(ares_channel channel) if (channel->hosts_path) ares_free(channel->hosts_path); + if (channel->rand_state) + ares__destroy_rand_state(channel->rand_state); + ares_free(channel); } diff --git a/deps/cares/src/lib/ares_expand_name.c b/deps/cares/src/lib/ares_expand_name.c index 6c7a35a715bf47..ad1c97f9377cd6 100644 --- a/deps/cares/src/lib/ares_expand_name.c +++ b/deps/cares/src/lib/ares_expand_name.c @@ -179,9 +179,9 @@ int ares__expand_name_validated(const unsigned char *encoded, if (!ares__isprint(*p) && !(name_len == 1 && *p == 0)) { *q++ = '\\'; - *q++ = '0' + *p / 100; - *q++ = '0' + (*p % 100) / 10; - *q++ = '0' + (*p % 10); + *q++ = (char)('0' + *p / 100); + *q++ = (char)('0' + (*p % 100) / 10); + *q++ = (char)('0' + (*p % 10)); } else if (is_reservedch(*p)) { diff --git a/deps/cares/src/lib/ares_getaddrinfo.c b/deps/cares/src/lib/ares_getaddrinfo.c index bc9f19bf849fdc..cb494242f2807a 100644 --- a/deps/cares/src/lib/ares_getaddrinfo.c +++ b/deps/cares/src/lib/ares_getaddrinfo.c @@ -430,16 +430,20 @@ static int file_lookup(struct host_query *hquery) FILE *fp; int error; int status; - const char *path_hosts = NULL; + char *path_hosts = NULL; if (hquery->hints.ai_flags & ARES_AI_ENVHOSTS) { - path_hosts = getenv("CARES_HOSTS"); + path_hosts = ares_strdup(getenv("CARES_HOSTS")); + if (!path_hosts) + return ARES_ENOMEM; } if (hquery->channel->hosts_path) { - path_hosts = hquery->channel->hosts_path; + path_hosts = ares_strdup(hquery->channel->hosts_path); + if (!path_hosts) + return ARES_ENOMEM; } if (!path_hosts) @@ -473,15 +477,15 @@ static int file_lookup(struct host_query *hquery) return ARES_ENOTFOUND; strcat(PATH_HOSTS, WIN_PATH_HOSTS); - path_hosts = PATH_HOSTS; - #elif defined(WATT32) const char *PATH_HOSTS = _w32_GetHostsFile(); if (!PATH_HOSTS) return ARES_ENOTFOUND; #endif - path_hosts = PATH_HOSTS; + path_hosts = ares_strdup(PATH_HOSTS); + if (!path_hosts) + return ARES_ENOMEM; } fp = fopen(path_hosts, "r"); @@ -507,6 +511,7 @@ static int file_lookup(struct host_query *hquery) status = ares__readaddrinfo(fp, hquery->name, hquery->port, &hquery->hints, hquery->ai); fclose(fp); } + ares_free(path_hosts); /* RFC6761 section 6.3 #3 states that "Name resolution APIs and libraries * SHOULD recognize localhost names as special and SHOULD always return the @@ -665,26 +670,32 @@ void ares_getaddrinfo(ares_channel channel, { if (hints->ai_flags & ARES_AI_NUMERICSERV) { - port = (unsigned short)strtoul(service, NULL, 0); - if (!port) + unsigned long val; + errno = 0; + val = strtoul(service, NULL, 0); + if ((val == 0 && errno != 0) || val > 65535) { ares_free(alias_name); callback(arg, ARES_ESERVICE, 0, NULL); return; } + port = (unsigned short)val; } else { port = lookup_service(service, 0); if (!port) { - port = (unsigned short)strtoul(service, NULL, 0); - if (!port) + unsigned long val; + errno = 0; + val = strtoul(service, NULL, 0); + if ((val == 0 && errno != 0) || val > 65535) { ares_free(alias_name); callback(arg, ARES_ESERVICE, 0, NULL); return; } + port = (unsigned short)val; } } } diff --git a/deps/cares/src/lib/ares_init.c b/deps/cares/src/lib/ares_init.c index 3f9cec6521310e..0519f43e561a65 100644 --- a/deps/cares/src/lib/ares_init.c +++ b/deps/cares/src/lib/ares_init.c @@ -61,17 +61,6 @@ #undef WIN32 /* Redefined in MingW/MSVC headers */ #endif -/* Define RtlGenRandom = SystemFunction036. This is in advapi32.dll. There is - * no need to dynamically load this, other software used widely does not. - * http://blogs.msdn.com/michael_howard/archive/2005/01/14/353379.aspx - * https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-rtlgenrandom - */ -#ifdef _WIN32 -BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG RandomBufferLength); -# ifndef RtlGenRandom -# define RtlGenRandom(a,b) SystemFunction036(a,b) -# endif -#endif static int init_by_options(ares_channel channel, const struct ares_options *options, @@ -87,7 +76,6 @@ static int config_nameserver(struct server_state **servers, int *nservers, static int set_search(ares_channel channel, const char *str); static int set_options(ares_channel channel, const char *str); static const char *try_option(const char *p, const char *q, const char *opt); -static int init_id_key(rc4_key* key,int key_data_len); static int config_sortlist(struct apattern **sortlist, int *nsort, const char *str); @@ -165,6 +153,7 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options, channel->sock_func_cb_data = NULL; channel->resolvconf_path = NULL; channel->hosts_path = NULL; + channel->rand_state = NULL; channel->last_server = 0; channel->last_timeout_processed = (time_t)now.tv_sec; @@ -218,9 +207,13 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options, /* Generate random key */ if (status == ARES_SUCCESS) { - status = init_id_key(&channel->id_key, ARES_ID_KEY_LEN); + channel->rand_state = ares__init_rand_state(); + if (channel->rand_state == NULL) { + status = ARES_ENOMEM; + } + if (status == ARES_SUCCESS) - channel->next_id = ares__generate_new_id(&channel->id_key); + channel->next_id = ares__generate_new_id(channel->rand_state); else DEBUGF(fprintf(stderr, "Error: init_id_key failed: %s\n", ares_strerror(status))); @@ -242,6 +235,8 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options, ares_free(channel->resolvconf_path); if(channel->hosts_path) ares_free(channel->hosts_path); + if (channel->rand_state) + ares__destroy_rand_state(channel->rand_state); ares_free(channel); return status; } @@ -746,6 +741,17 @@ static ULONG getBestRouteMetric(IF_LUID * const luid, /* Can't be const :( */ const ULONG interfaceMetric) { /* On this interface, get the best route to that destination. */ +#if defined(__WATCOMC__) + /* OpenWatcom's builtin Windows SDK does not have a definition for + * MIB_IPFORWARD_ROW2, and also does not allow the usage of SOCKADDR_INET + * as a variable. Let's work around this by returning the worst possible + * metric, but only when using the OpenWatcom compiler. + * It may be worth investigating using a different version of the Windows + * SDK with OpenWatcom in the future, though this may be fixed in OpenWatcom + * 2.0. + */ + return (ULONG)-1; +#else MIB_IPFORWARD_ROW2 row; SOCKADDR_INET ignored; if(GetBestRoute2(/* The interface to use. The index is ignored since we are @@ -778,6 +784,7 @@ static ULONG getBestRouteMetric(IF_LUID * const luid, /* Can't be const :( */ * which describes the combination as a "sum". */ return row.Metric + interfaceMetric; +#endif /* __WATCOMC__ */ } /* @@ -2170,72 +2177,6 @@ static int sortlist_alloc(struct apattern **sortlist, int *nsort, } -/* initialize an rc4 key. If possible a cryptographically secure random key - is generated using a suitable function otherwise the code defaults to - cross-platform albeit less secure mechanism using rand -*/ -static void randomize_key(unsigned char* key,int key_data_len) -{ - int randomized = 0; - int counter=0; -#ifdef WIN32 - BOOLEAN res; - - res = RtlGenRandom(key, key_data_len); - if (res) - randomized = 1; - -#else /* !WIN32 */ -# ifdef CARES_RANDOM_FILE - FILE *f = fopen(CARES_RANDOM_FILE, "rb"); - if(f) { - setvbuf(f, NULL, _IONBF, 0); - counter = aresx_uztosi(fread(key, 1, key_data_len, f)); - fclose(f); - } -# endif -#endif /* WIN32 */ - - if (!randomized) { - for (;counterstate[0]; - for(counter = 0; counter < 256; counter++) - /* unnecessary AND but it keeps some compilers happier */ - state[counter] = (unsigned char)(counter & 0xff); - randomize_key(key->state,key_data_len); - key->x = 0; - key->y = 0; - index1 = 0; - index2 = 0; - for(counter = 0; counter < 256; counter++) - { - index2 = (unsigned char)((key_data_ptr[index1] + state[counter] + - index2) % 256); - ARES_SWAP_BYTE(&state[counter], &state[index2]); - - index1 = (unsigned char)((index1 + 1) % key_data_len); - } - ares_free(key_data_ptr); - return ARES_SUCCESS; -} - void ares_set_local_ip4(ares_channel channel, unsigned int local_ip) { channel->local_ip4 = local_ip; diff --git a/deps/cares/src/lib/ares_private.h b/deps/cares/src/lib/ares_private.h index 53043a6513758b..b6eab8a7d9bf2b 100644 --- a/deps/cares/src/lib/ares_private.h +++ b/deps/cares/src/lib/ares_private.h @@ -101,8 +101,6 @@ W32_FUNC const char *_w32_GetHostsFile (void); #endif -#define ARES_ID_KEY_LEN 31 - #include "ares_ipv6.h" #include "ares_llist.h" @@ -262,12 +260,8 @@ struct apattern { unsigned short type; }; -typedef struct rc4_key -{ - unsigned char state[256]; - unsigned char x; - unsigned char y; -} rc4_key; +struct ares_rand_state; +typedef struct ares_rand_state ares_rand_state; struct ares_channeldata { /* Configuration data */ @@ -302,8 +296,8 @@ struct ares_channeldata { /* ID to use for next query */ unsigned short next_id; - /* key to use when generating new ids */ - rc4_key id_key; + /* random state to use when generating new ids */ + ares_rand_state *rand_state; /* Generation number to use for the next TCP socket open/close */ int tcp_connection_generation; @@ -362,7 +356,10 @@ void ares__close_sockets(ares_channel channel, struct server_state *server); int ares__get_hostent(FILE *fp, int family, struct hostent **host); int ares__read_line(FILE *fp, char **buf, size_t *bufsize); void ares__free_query(struct query *query); -unsigned short ares__generate_new_id(rc4_key* key); + +ares_rand_state *ares__init_rand_state(void); +void ares__destroy_rand_state(ares_rand_state *state); +unsigned short ares__generate_new_id(ares_rand_state *state); struct timeval ares__tvnow(void); int ares__expand_name_validated(const unsigned char *encoded, const unsigned char *abuf, diff --git a/deps/cares/src/lib/ares_process.c b/deps/cares/src/lib/ares_process.c index d5a6df8ba7cdf8..6cac0a99fdf90d 100644 --- a/deps/cares/src/lib/ares_process.c +++ b/deps/cares/src/lib/ares_process.c @@ -470,7 +470,7 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds, { struct server_state *server; int i; - ares_ssize_t count; + ares_ssize_t read_len; unsigned char buf[MAXENDSSZ + 1]; #ifdef HAVE_RECVFROM ares_socklen_t fromlen; @@ -513,32 +513,41 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds, /* To reduce event loop overhead, read and process as many * packets as we can. */ do { - if (server->udp_socket == ARES_SOCKET_BAD) - count = 0; - - else { - if (server->addr.family == AF_INET) + if (server->udp_socket == ARES_SOCKET_BAD) { + read_len = -1; + } else { + if (server->addr.family == AF_INET) { fromlen = sizeof(from.sa4); - else + } else { fromlen = sizeof(from.sa6); - count = socket_recvfrom(channel, server->udp_socket, (void *)buf, - sizeof(buf), 0, &from.sa, &fromlen); + } + read_len = socket_recvfrom(channel, server->udp_socket, (void *)buf, + sizeof(buf), 0, &from.sa, &fromlen); } - if (count == -1 && try_again(SOCKERRNO)) + if (read_len == 0) { + /* UDP is connectionless, so result code of 0 is a 0-length UDP + * packet, and not an indication the connection is closed like on + * tcp */ continue; - else if (count <= 0) + } else if (read_len < 0) { + if (try_again(SOCKERRNO)) + continue; + handle_error(channel, i, now); + #ifdef HAVE_RECVFROM - else if (!same_address(&from.sa, &server->addr)) + } else if (!same_address(&from.sa, &server->addr)) { /* The address the response comes from does not match the address we * sent the request to. Someone may be attempting to perform a cache * poisoning attack. */ - break; + continue; #endif - else - process_answer(channel, buf, (int)count, i, 0, now); - } while (count > 0); + + } else { + process_answer(channel, buf, (int)read_len, i, 0, now); + } + } while (read_len >= 0); } } @@ -979,6 +988,22 @@ static int setsocknonblock(ares_socket_t sockfd, /* operate on this */ #endif } +#if defined(IPV6_V6ONLY) && defined(WIN32) +/* It makes support for IPv4-mapped IPv6 addresses. + * Linux kernel, NetBSD, FreeBSD and Darwin: default is off; + * Windows Vista and later: default is on; + * DragonFly BSD: acts like off, and dummy setting; + * OpenBSD and earlier Windows: unsupported. + * Linux: controlled by /proc/sys/net/ipv6/bindv6only. + */ +static void set_ipv6_v6only(ares_socket_t sockfd, int on) +{ + (void)setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&on, sizeof(on)); +} +#else +#define set_ipv6_v6only(s,v) +#endif + static int configure_socket(ares_socket_t s, int family, ares_channel channel) { union { @@ -1041,6 +1066,7 @@ static int configure_socket(ares_socket_t s, int family, ares_channel channel) if (bind(s, &local.sa, sizeof(local.sa6)) < 0) return -1; } + set_ipv6_v6only(s, 0); } return 0; diff --git a/deps/cares/src/lib/ares_query.c b/deps/cares/src/lib/ares_query.c index 508274db36cfac..42323bec55308a 100644 --- a/deps/cares/src/lib/ares_query.c +++ b/deps/cares/src/lib/ares_query.c @@ -33,32 +33,6 @@ struct qquery { static void qcallback(void *arg, int status, int timeouts, unsigned char *abuf, int alen); -static void rc4(rc4_key* key, unsigned char *buffer_ptr, int buffer_len) -{ - unsigned char x; - unsigned char y; - unsigned char* state; - unsigned char xorIndex; - int counter; - - x = key->x; - y = key->y; - - state = &key->state[0]; - for(counter = 0; counter < buffer_len; counter ++) - { - x = (unsigned char)((x + 1) % 256); - y = (unsigned char)((state[x] + y) % 256); - ARES_SWAP_BYTE(&state[x], &state[y]); - - xorIndex = (unsigned char)((state[x] + state[y]) % 256); - - buffer_ptr[counter] = (unsigned char)(buffer_ptr[counter]^state[xorIndex]); - } - key->x = x; - key->y = y; -} - static struct query* find_query_by_id(ares_channel channel, unsigned short id) { unsigned short qid; @@ -78,7 +52,6 @@ static struct query* find_query_by_id(ares_channel channel, unsigned short id) return NULL; } - /* a unique query id is generated using an rc4 key. Since the id may already be used by a running query (as infrequent as it may be), a lookup is performed per id generation. In practice this search should happen only @@ -89,19 +62,12 @@ static unsigned short generate_unique_id(ares_channel channel) unsigned short id; do { - id = ares__generate_new_id(&channel->id_key); + id = ares__generate_new_id(channel->rand_state); } while (find_query_by_id(channel, id)); return (unsigned short)id; } -unsigned short ares__generate_new_id(rc4_key* key) -{ - unsigned short r=0; - rc4(key, (unsigned char *)&r, sizeof(r)); - return r; -} - void ares_query(ares_channel channel, const char *name, int dnsclass, int type, ares_callback callback, void *arg) { diff --git a/deps/cares/src/lib/ares_rand.c b/deps/cares/src/lib/ares_rand.c new file mode 100644 index 00000000000000..766c1e6ea9bda1 --- /dev/null +++ b/deps/cares/src/lib/ares_rand.c @@ -0,0 +1,279 @@ +/* Copyright 1998 by the Massachusetts Institute of Technology. + * Copyright (C) 2007-2013 by Daniel Stenberg + * + * Permission to use, copy, modify, and distribute this + * software and its documentation for any purpose and without + * fee is hereby granted, provided that the above copyright + * notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting + * documentation, and that the name of M.I.T. not be used in + * advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. + * M.I.T. makes no representations about the suitability of + * this software for any purpose. It is provided "as is" + * without express or implied warranty. + */ + +#include "ares_setup.h" +#include "ares.h" +#include "ares_private.h" +#include "ares_nowarn.h" +#include + +typedef enum { + ARES_RAND_OS = 1, /* OS-provided such as RtlGenRandom or arc4random */ + ARES_RAND_FILE = 2, /* OS file-backed random number generator */ + ARES_RAND_RC4 = 3 /* Internal RC4 based PRNG */ +} ares_rand_backend; + +typedef struct ares_rand_rc4 +{ + unsigned char S[256]; + size_t i; + size_t j; +} ares_rand_rc4; + +struct ares_rand_state +{ + ares_rand_backend type; + union { + FILE *rand_file; + ares_rand_rc4 rc4; + } state; +}; + + +/* Define RtlGenRandom = SystemFunction036. This is in advapi32.dll. There is + * no need to dynamically load this, other software used widely does not. + * http://blogs.msdn.com/michael_howard/archive/2005/01/14/353379.aspx + * https://docs.microsoft.com/en-us/windows/win32/api/ntsecapi/nf-ntsecapi-rtlgenrandom + */ +#ifdef _WIN32 +BOOLEAN WINAPI SystemFunction036(PVOID RandomBuffer, ULONG RandomBufferLength); +# ifndef RtlGenRandom +# define RtlGenRandom(a,b) SystemFunction036(a,b) +# endif +#endif + + +#define ARES_RC4_KEY_LEN 32 /* 256 bits */ + +#ifdef _MSC_VER +typedef unsigned __int64 cares_u64; +#else +typedef unsigned long long cares_u64; +#endif + +static unsigned int ares_u32_from_ptr(void *addr) +{ + if (sizeof(void *) == 8) { + return (unsigned int)((((cares_u64)addr >> 32) & 0xFFFFFFFF) | ((cares_u64)addr & 0xFFFFFFFF)); + } + return (unsigned int)((size_t)addr & 0xFFFFFFFF); +} + + +/* initialize an rc4 key as the last possible fallback. */ +static void ares_rc4_generate_key(ares_rand_rc4 *rc4_state, unsigned char *key, size_t key_len) +{ + size_t i; + size_t len = 0; + unsigned int data; + struct timeval tv; + + if (key_len != ARES_RC4_KEY_LEN) + return; + + /* Randomness is hard to come by. Maybe the system randomizes heap and stack addresses. + * Maybe the current timestamp give us some randomness. + * Use rc4_state (heap), &i (stack), and ares__tvnow() + */ + data = ares_u32_from_ptr(rc4_state); + memcpy(key + len, &data, sizeof(data)); + len += sizeof(data); + + data = ares_u32_from_ptr(&i); + memcpy(key + len, &data, sizeof(data)); + len += sizeof(data); + + tv = ares__tvnow(); + data = (unsigned int)((tv.tv_sec | tv.tv_usec) & 0xFFFFFFFF); + memcpy(key + len, &data, sizeof(data)); + len += sizeof(data); + + srand(ares_u32_from_ptr(rc4_state) | ares_u32_from_ptr(&i) | (unsigned int)((tv.tv_sec | tv.tv_usec) & 0xFFFFFFFF)); + + for (i=len; iS); i++) { + rc4_state->S[i] = i & 0xFF; + } + + for(i = 0, j = 0; i < 256; i++) { + j = (j + rc4_state->S[i] + key[i % sizeof(key)]) % 256; + ARES_SWAP_BYTE(&rc4_state->S[i], &rc4_state->S[j]); + } + + rc4_state->i = 0; + rc4_state->j = 0; +} + +/* Just outputs the key schedule, no need to XOR with any data since we have none */ +static void ares_rc4_prng(ares_rand_rc4 *rc4_state, unsigned char *buf, size_t len) +{ + unsigned char *S = rc4_state->S; + size_t i = rc4_state->i; + size_t j = rc4_state->j; + size_t cnt; + + for (cnt=0; cnti = i; + rc4_state->j = j; +} + + +static int ares__init_rand_engine(ares_rand_state *state) +{ + memset(state, 0, sizeof(*state)); + +#if defined(HAVE_ARC4RANDOM_BUF) || defined(_WIN32) + state->type = ARES_RAND_OS; + return 1; +#elif defined(CARES_RANDOM_FILE) + state->type = ARES_RAND_FILE; + state->state.rand_file = fopen(CARES_RANDOM_FILE, "rb"); + if (state->state.rand_file) { + setvbuf(state->state.rand_file, NULL, _IONBF, 0); + return 1; + } + /* Fall-Thru on failure to RC4 */ +#endif + + state->type = ARES_RAND_RC4; + ares_rc4_init(&state->state.rc4); + + /* Currently cannot fail */ + return 1; +} + + +ares_rand_state *ares__init_rand_state() +{ + ares_rand_state *state = NULL; + + state = ares_malloc(sizeof(*state)); + if (!state) + return NULL; + + if (!ares__init_rand_engine(state)) { + ares_free(state); + return NULL; + } + + return state; +} + + +static void ares__clear_rand_state(ares_rand_state *state) +{ + if (!state) + return; + + switch (state->type) { + case ARES_RAND_OS: + break; + case ARES_RAND_FILE: + fclose(state->state.rand_file); + break; + case ARES_RAND_RC4: + break; + } +} + + +static void ares__reinit_rand(ares_rand_state *state) +{ + ares__clear_rand_state(state); + ares__init_rand_engine(state); +} + + +void ares__destroy_rand_state(ares_rand_state *state) +{ + if (!state) + return; + + ares__clear_rand_state(state); + ares_free(state); +} + + +static void ares__rand_bytes(ares_rand_state *state, unsigned char *buf, size_t len) +{ + + while (1) { + size_t bytes_read = 0; + + switch (state->type) { + case ARES_RAND_OS: +#ifdef _WIN32 + RtlGenRandom(buf, len); + return; +#elif defined(HAVE_ARC4RANDOM_BUF) + arc4random_buf(buf, len); + return; +#else + /* Shouldn't be possible to be here */ + break; +#endif + + case ARES_RAND_FILE: + while (1) { + size_t rv = fread(buf + bytes_read, 1, len - bytes_read, state->state.rand_file); + if (rv == 0) + break; /* critical error, will reinit rand state */ + + bytes_read += rv; + if (bytes_read == len) + return; + } + break; + + case ARES_RAND_RC4: + ares_rc4_prng(&state->state.rc4, buf, len); + return; + } + + /* If we didn't return before we got here, that means we had a critical rand + * failure and need to reinitialized */ + ares__reinit_rand(state); + } +} + +unsigned short ares__generate_new_id(ares_rand_state *state) +{ + unsigned short r=0; + + ares__rand_bytes(state, (unsigned char *)&r, sizeof(r)); + return r; +} + diff --git a/deps/cares/src/lib/ares_send.c b/deps/cares/src/lib/ares_send.c index 75ba9e4cc605d9..542cf45f11a6a3 100644 --- a/deps/cares/src/lib/ares_send.c +++ b/deps/cares/src/lib/ares_send.c @@ -39,7 +39,11 @@ void ares_send(ares_channel channel, const unsigned char *qbuf, int qlen, callback(arg, ARES_EBADQUERY, 0, NULL, 0); return; } - + if (channel->nservers < 1) + { + callback(arg, ARES_ESERVFAIL, 0, NULL, 0); + return; + } /* Allocate space for query and allocated fields. */ query = ares_malloc(sizeof(struct query)); if (!query) @@ -54,12 +58,6 @@ void ares_send(ares_channel channel, const unsigned char *qbuf, int qlen, callback(arg, ARES_ENOMEM, 0, NULL, 0); return; } - if (channel->nservers < 1) - { - ares_free(query); - callback(arg, ARES_ESERVFAIL, 0, NULL, 0); - return; - } query->server_info = ares_malloc(channel->nservers * sizeof(query->server_info[0])); if (!query->server_info) diff --git a/deps/cares/src/lib/ares_strsplit.c b/deps/cares/src/lib/ares_strsplit.c index 194375c8308e4d..d3e90c4a8f6515 100644 --- a/deps/cares/src/lib/ares_strsplit.c +++ b/deps/cares/src/lib/ares_strsplit.c @@ -18,7 +18,6 @@ #endif #include "ares_setup.h" -#include "ares_strsplit.h" #include "ares.h" #include "ares_private.h" @@ -55,7 +54,7 @@ char **ares__strsplit(const char *in, const char *delms, size_t *num_elm) { count++; p += i; } - } while(*p++ != 0); + } while (*p++ != 0); if (count == 0) return NULL; @@ -69,13 +68,8 @@ char **ares__strsplit(const char *in, const char *delms, size_t *num_elm) { i = strcspn(p, delms); if (i != 0) { for (k = 0; k < j; k++) { -#ifdef WIN32 - if (strnicmp(table[k], p, i) == 0 && table[k][i] == 0) - break; -#else if (strncasecmp(table[k], p, i) == 0 && table[k][i] == 0) break; -#endif } if (k == j) { /* copy unique strings only */ diff --git a/deps/cares/src/lib/inet_net_pton.c b/deps/cares/src/lib/inet_net_pton.c index 840de5065290f6..7130f0f1e22dd7 100644 --- a/deps/cares/src/lib/inet_net_pton.c +++ b/deps/cares/src/lib/inet_net_pton.c @@ -1,19 +1,20 @@ /* - * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") + * Copyright (c) 2012 by Gilles Chehade * Copyright (c) 1996,1999 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * - * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. */ #include "ares_setup.h" @@ -35,9 +36,6 @@ const struct ares_in6_addr ares_in6addr_any = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }; - -#ifndef HAVE_INET_NET_PTON - /* * static int * inet_net_pton_ipv4(src, dst, size) @@ -60,7 +58,7 @@ const struct ares_in6_addr ares_in6addr_any = { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0, * Paul Vixie (ISC), June 1996 */ static int -inet_net_pton_ipv4(const char *src, unsigned char *dst, size_t size) +ares_inet_net_pton_ipv4(const char *src, unsigned char *dst, size_t size) { static const char xdigits[] = "0123456789abcdef"; static const char digits[] = "0123456789"; @@ -216,64 +214,16 @@ getbits(const char *src, int *bitsp) return (1); } -static int -getv4(const char *src, unsigned char *dst, int *bitsp) -{ - static const char digits[] = "0123456789"; - unsigned char *odst = dst; - int n; - unsigned int val; - char ch; - - val = 0; - n = 0; - while ((ch = *src++) != '\0') { - const char *pch; - - pch = strchr(digits, ch); - if (pch != NULL) { - if (n++ != 0 && val == 0) /* no leading zeros */ - return (0); - val *= 10; - val += aresx_sztoui(pch - digits); - if (val > 255) /* range */ - return (0); - continue; - } - if (ch == '.' || ch == '/') { - if (dst - odst > 3) /* too many octets? */ - return (0); - *dst++ = (unsigned char)val; - if (ch == '/') - return (getbits(src, bitsp)); - val = 0; - n = 0; - continue; - } - return (0); - } - if (n == 0) - return (0); - if (dst - odst > 3) /* too many octets? */ - return (0); - *dst = (unsigned char)val; - return 1; -} static int -inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) +ares_inet_pton6(const char *src, unsigned char *dst) { static const char xdigits_l[] = "0123456789abcdef", - xdigits_u[] = "0123456789ABCDEF"; + xdigits_u[] = "0123456789ABCDEF"; unsigned char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp; const char *xdigits, *curtok; - int ch, saw_xdigit; + int ch, saw_xdigit, count_xdigit; unsigned int val; - int digits; - int bits; - size_t bytes; - int words; - int ipv4; memset((tp = tmp), '\0', NS_IN6ADDRSZ); endp = tp + NS_IN6ADDRSZ; @@ -283,22 +233,22 @@ inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) if (*++src != ':') goto enoent; curtok = src; - saw_xdigit = 0; + saw_xdigit = count_xdigit = 0; val = 0; - digits = 0; - bits = -1; - ipv4 = 0; while ((ch = *src++) != '\0') { const char *pch; if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL) pch = strchr((xdigits = xdigits_u), ch); if (pch != NULL) { + if (count_xdigit >= 4) + goto enoent; val <<= 4; - val |= aresx_sztoui(pch - xdigits); - if (++digits > 4) + val |= (unsigned int)(pch - xdigits); + if (val > 0xffff) goto enoent; saw_xdigit = 1; + count_xdigit++; continue; } if (ch == ':') { @@ -308,76 +258,99 @@ inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) goto enoent; colonp = tp; continue; - } else if (*src == '\0') + } else if (*src == '\0') { goto enoent; + } if (tp + NS_INT16SZ > endp) - return (0); - *tp++ = (unsigned char)((val >> 8) & 0xff); - *tp++ = (unsigned char)(val & 0xff); + goto enoent; + *tp++ = (unsigned char) (val >> 8) & 0xff; + *tp++ = (unsigned char) val & 0xff; saw_xdigit = 0; - digits = 0; + count_xdigit = 0; val = 0; continue; } if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) && - getv4(curtok, tp, &bits) > 0) { + ares_inet_net_pton_ipv4(curtok, tp, NS_INADDRSZ) > 0) { tp += NS_INADDRSZ; saw_xdigit = 0; - ipv4 = 1; break; /* '\0' was seen by inet_pton4(). */ } - if (ch == '/' && getbits(src, &bits) > 0) - break; goto enoent; } if (saw_xdigit) { if (tp + NS_INT16SZ > endp) goto enoent; - *tp++ = (unsigned char)((val >> 8) & 0xff); - *tp++ = (unsigned char)(val & 0xff); + *tp++ = (unsigned char) (val >> 8) & 0xff; + *tp++ = (unsigned char) val & 0xff; } - if (bits == -1) - bits = 128; - - words = (bits + 15) / 16; - if (words < 2) - words = 2; - if (ipv4) - words = 8; - endp = tmp + 2 * words; - if (colonp != NULL) { /* * Since some memmove()'s erroneously fail to handle * overlapping regions, we'll do the shift by hand. */ - const ares_ssize_t n = tp - colonp; - ares_ssize_t i; + const int n = (int)(tp - colonp); + int i; if (tp == endp) goto enoent; for (i = 1; i <= n; i++) { - *(endp - i) = *(colonp + n - i); - *(colonp + n - i) = 0; + endp[- i] = colonp[n - i]; + colonp[n - i] = 0; } tp = endp; } if (tp != endp) goto enoent; - bytes = (bits + 7) / 8; - if (bytes > size) - goto emsgsize; - memcpy(dst, tmp, bytes); - return (bits); + memcpy(dst, tmp, NS_IN6ADDRSZ); + return (1); - enoent: +enoent: SET_ERRNO(ENOENT); return (-1); +} - emsgsize: - SET_ERRNO(EMSGSIZE); - return (-1); +static int +ares_inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size) +{ + struct ares_in6_addr in6; + int ret; + int bits; + size_t bytes; + char buf[INET6_ADDRSTRLEN + sizeof("/128")]; + char *sep; + + if (strlen(src) >= sizeof buf) { + SET_ERRNO(EMSGSIZE); + return (-1); + } + strncpy(buf, src, sizeof buf); + + sep = strchr(buf, '/'); + if (sep != NULL) + *sep++ = '\0'; + + ret = ares_inet_pton6(buf, (unsigned char *)&in6); + if (ret != 1) + return (-1); + + if (sep == NULL) + bits = 128; + else { + if (!getbits(sep, &bits)) { + SET_ERRNO(ENOENT); + return (-1); + } + } + + bytes = (bits + 7) / 8; + if (bytes > size) { + SET_ERRNO(EMSGSIZE); + return (-1); + } + memcpy(dst, &in6, bytes); + return (bits); } /* @@ -403,18 +376,15 @@ ares_inet_net_pton(int af, const char *src, void *dst, size_t size) { switch (af) { case AF_INET: - return (inet_net_pton_ipv4(src, dst, size)); + return (ares_inet_net_pton_ipv4(src, dst, size)); case AF_INET6: - return (inet_net_pton_ipv6(src, dst, size)); + return (ares_inet_net_pton_ipv6(src, dst, size)); default: SET_ERRNO(EAFNOSUPPORT); return (-1); } } -#endif /* HAVE_INET_NET_PTON */ - -#ifndef HAVE_INET_PTON int ares_inet_pton(int af, const char *src, void *dst) { int result; @@ -434,11 +404,3 @@ int ares_inet_pton(int af, const char *src, void *dst) return 0; return (result > -1 ? 1 : -1); } -#else /* HAVE_INET_PTON */ -int ares_inet_pton(int af, const char *src, void *dst) -{ - /* just relay this to the underlying function */ - return inet_pton(af, src, dst); -} - -#endif diff --git a/deps/cares/src/tools/Makefile.in b/deps/cares/src/tools/Makefile.in index 709061ec79e8f6..9e64462d5912ce 100644 --- a/deps/cares/src/tools/Makefile.in +++ b/deps/cares/src/tools/Makefile.in @@ -98,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \ $(top_srcdir)/m4/ax_am_macros_static.m4 \ $(top_srcdir)/m4/ax_check_gnu_make.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/ax_file_escapes.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ From b25e7045add84790c09930a0d2a8363b152cd896 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 6 May 2023 18:07:19 +0200 Subject: [PATCH 067/146] src: avoid prototype access in binding templates This patch makes the binding templates ObjectTemplates, since we don't actually need the constructor function. This also avoids setting the properties on prototype, and instead initializes them directly on the object template. Previously the initialization was similar to: ``` function Binding() {} Binding.prototype.property = ...; module.exports = new Binding; ``` Now it's similar to: ``` module.exports = { property: ... }; ``` PR-URL: https://github.com/nodejs/node/pull/47913 Reviewed-By: Chengzhong Wu Reviewed-By: James M Snell --- src/async_wrap.cc | 3 +- src/async_wrap.h | 4 +-- src/encoding_binding.cc | 4 +-- src/encoding_binding.h | 2 +- src/env-inl.h | 2 +- src/env.cc | 13 ++++---- src/env.h | 4 +-- src/env_properties.h | 2 +- src/node_binding.cc | 26 +++++++--------- src/node_binding.h | 2 +- src/node_blob.cc | 3 +- src/node_blob.h | 2 +- src/node_builtins.cc | 62 ++++++++++++++++++------------------- src/node_builtins.h | 4 +-- src/node_contextify.cc | 4 +-- src/node_file.cc | 5 ++- src/node_i18n.cc | 19 ++++++------ src/node_perf.cc | 26 +++++++--------- src/node_process_methods.cc | 4 +-- src/node_snapshotable.cc | 4 +-- src/node_stat_watcher.cc | 3 +- src/node_stat_watcher.h | 2 +- src/node_url.cc | 4 +-- src/node_url.h | 2 +- src/node_worker.cc | 7 ++--- src/timers.cc | 4 +-- src/timers.h | 2 +- 27 files changed, 98 insertions(+), 121 deletions(-) diff --git a/src/async_wrap.cc b/src/async_wrap.cc index ad150ff7b0ca13..42cddc52aed285 100644 --- a/src/async_wrap.cc +++ b/src/async_wrap.cc @@ -353,9 +353,8 @@ Local AsyncWrap::GetConstructorTemplate( } void AsyncWrap::CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); SetMethod(isolate, target, "setupHooks", SetupHooks); SetMethod(isolate, target, "setCallbackTrampoline", SetCallbackTrampoline); diff --git a/src/async_wrap.h b/src/async_wrap.h index ba0c1580db44a2..a91ab26d69bce4 100644 --- a/src/async_wrap.h +++ b/src/async_wrap.h @@ -149,8 +149,8 @@ class AsyncWrap : public BaseObject { v8::Local unused, v8::Local context, void* priv); - static void CreatePerIsolateProperties( - IsolateData* isolate_data, v8::Local target); + static void CreatePerIsolateProperties(IsolateData* isolate_data, + v8::Local target); static void GetAsyncId(const v8::FunctionCallbackInfo& args); static void PushAsyncContext(const v8::FunctionCallbackInfo& args); diff --git a/src/encoding_binding.cc b/src/encoding_binding.cc index 38cb63d8a75643..0cf588295405ac 100644 --- a/src/encoding_binding.cc +++ b/src/encoding_binding.cc @@ -16,7 +16,6 @@ using v8::ArrayBuffer; using v8::BackingStore; using v8::Context; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::Isolate; using v8::Local; using v8::MaybeLocal; @@ -219,9 +218,8 @@ void BindingData::ToUnicode(const v8::FunctionCallbackInfo& args) { } void BindingData::CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); SetMethod(isolate, target, "encodeInto", EncodeInto); SetMethodNoSideEffect(isolate, target, "encodeUtf8String", EncodeUtf8String); SetMethodNoSideEffect(isolate, target, "decodeUTF8", DecodeUTF8); diff --git a/src/encoding_binding.h b/src/encoding_binding.h index 437aa9c5587918..2690cb74f8a05b 100644 --- a/src/encoding_binding.h +++ b/src/encoding_binding.h @@ -36,7 +36,7 @@ class BindingData : public SnapshotableObject { static void ToUnicode(const v8::FunctionCallbackInfo& args); static void CreatePerIsolateProperties(IsolateData* isolate_data, - v8::Local ctor); + v8::Local target); static void CreatePerContextProperties(v8::Local target, v8::Local unused, v8::Local context, diff --git a/src/env-inl.h b/src/env-inl.h index 7b135c7b83293a..43fc11217133c2 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -807,7 +807,7 @@ void Environment::set_process_exit_handler( #undef VY #undef VP -#define VM(PropertyName) V(PropertyName##_binding, v8::FunctionTemplate) +#define VM(PropertyName) V(PropertyName##_binding_template, v8::ObjectTemplate) #define V(PropertyName, TypeName) \ inline v8::Local IsolateData::PropertyName() const { \ return PropertyName##_.Get(isolate_); \ diff --git a/src/env.cc b/src/env.cc index ff8d3952cf20a3..61e334bb984a57 100644 --- a/src/env.cc +++ b/src/env.cc @@ -38,7 +38,6 @@ using v8::Context; using v8::EmbedderGraph; using v8::EscapableHandleScope; using v8::Function; -using v8::FunctionTemplate; using v8::HandleScope; using v8::HeapProfiler; using v8::HeapSpaceStatistics; @@ -49,6 +48,7 @@ using v8::MaybeLocal; using v8::NewStringType; using v8::Number; using v8::Object; +using v8::ObjectTemplate; using v8::Private; using v8::Script; using v8::SnapshotCreator; @@ -326,7 +326,7 @@ IsolateDataSerializeInfo IsolateData::Serialize(SnapshotCreator* creator) { info.primitive_values.push_back(creator->AddData(async_wrap_provider(i))); uint32_t id = 0; -#define VM(PropertyName) V(PropertyName##_binding, FunctionTemplate) +#define VM(PropertyName) V(PropertyName##_binding_template, ObjectTemplate) #define V(PropertyName, TypeName) \ do { \ Local field = PropertyName(); \ @@ -390,7 +390,7 @@ void IsolateData::DeserializeProperties(const IsolateDataSerializeInfo* info) { const std::vector& values = info->template_values; i = 0; // index to the array uint32_t id = 0; -#define VM(PropertyName) V(PropertyName##_binding, FunctionTemplate) +#define VM(PropertyName) V(PropertyName##_binding_template, ObjectTemplate) #define V(PropertyName, TypeName) \ do { \ if (values.size() > i && id == values[i].id) { \ @@ -491,10 +491,9 @@ void IsolateData::CreateProperties() { NODE_ASYNC_PROVIDER_TYPES(V) #undef V - Local templ = FunctionTemplate::New(isolate()); - templ->InstanceTemplate()->SetInternalFieldCount( - BaseObject::kInternalFieldCount); - set_binding_data_ctor_template(templ); + Local templ = ObjectTemplate::New(isolate()); + templ->SetInternalFieldCount(BaseObject::kInternalFieldCount); + set_binding_data_default_template(templ); binding::CreateInternalBindingTemplates(this); contextify::ContextifyContext::InitializeGlobalTemplates(this); diff --git a/src/env.h b/src/env.h index 354d0bf414c55a..b31cd12dfe2ec3 100644 --- a/src/env.h +++ b/src/env.h @@ -166,7 +166,7 @@ class NODE_EXTERN_PRIVATE IsolateData : public MemoryRetainer { #undef VS #undef VP -#define VM(PropertyName) V(PropertyName##_binding, v8::FunctionTemplate) +#define VM(PropertyName) V(PropertyName##_binding_template, v8::ObjectTemplate) #define V(PropertyName, TypeName) \ inline v8::Local PropertyName() const; \ inline void set_##PropertyName(v8::Local value); @@ -194,7 +194,7 @@ class NODE_EXTERN_PRIVATE IsolateData : public MemoryRetainer { #define VY(PropertyName, StringValue) V(v8::Symbol, PropertyName) #define VS(PropertyName, StringValue) V(v8::String, PropertyName) #define VR(PropertyName, TypeName) V(v8::Private, per_realm_##PropertyName) -#define VM(PropertyName) V(v8::FunctionTemplate, PropertyName##_binding) +#define VM(PropertyName) V(v8::ObjectTemplate, PropertyName##_binding_template) #define VT(PropertyName, TypeName) V(TypeName, PropertyName) #define V(TypeName, PropertyName) \ v8::Eternal PropertyName ## _; diff --git a/src/env_properties.h b/src/env_properties.h index 320d08d22577c8..c1160015e724a3 100644 --- a/src/env_properties.h +++ b/src/env_properties.h @@ -331,7 +331,7 @@ #define PER_ISOLATE_TEMPLATE_PROPERTIES(V) \ V(async_wrap_ctor_template, v8::FunctionTemplate) \ V(async_wrap_object_ctor_template, v8::FunctionTemplate) \ - V(binding_data_ctor_template, v8::FunctionTemplate) \ + V(binding_data_default_template, v8::ObjectTemplate) \ V(blob_constructor_template, v8::FunctionTemplate) \ V(blob_reader_constructor_template, v8::FunctionTemplate) \ V(blocklist_constructor_template, v8::FunctionTemplate) \ diff --git a/src/node_binding.cc b/src/node_binding.cc index cb27a497a3b6d1..e365bf1dbac5b4 100644 --- a/src/node_binding.cc +++ b/src/node_binding.cc @@ -101,7 +101,7 @@ NODE_BUILTIN_BINDINGS(V) #define V(modname) \ void _register_isolate_##modname(node::IsolateData* isolate_data, \ - v8::Local target); + v8::Local target); NODE_BINDINGS_WITH_PER_ISOLATE_INIT(V) #undef V @@ -235,11 +235,11 @@ using v8::Context; using v8::EscapableHandleScope; using v8::Exception; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::HandleScope; using v8::Isolate; using v8::Local; using v8::Object; +using v8::ObjectTemplate; using v8::String; using v8::Value; @@ -572,12 +572,11 @@ inline struct node_module* FindModule(struct node_module* list, void CreateInternalBindingTemplates(IsolateData* isolate_data) { #define V(modname) \ do { \ - Local templ = \ - FunctionTemplate::New(isolate_data->isolate()); \ - templ->InstanceTemplate()->SetInternalFieldCount( \ - BaseObject::kInternalFieldCount); \ + Local templ = \ + ObjectTemplate::New(isolate_data->isolate()); \ + templ->SetInternalFieldCount(BaseObject::kInternalFieldCount); \ _register_isolate_##modname(isolate_data, templ); \ - isolate_data->set_##modname##_binding(templ); \ + isolate_data->set_##modname##_binding_template(templ); \ } while (0); NODE_BINDINGS_WITH_PER_ISOLATE_INIT(V) #undef V @@ -586,21 +585,20 @@ void CreateInternalBindingTemplates(IsolateData* isolate_data) { static Local GetInternalBindingExportObject(IsolateData* isolate_data, const char* mod_name, Local context) { - Local ctor; + Local templ; + #define V(name) \ if (strcmp(mod_name, #name) == 0) { \ - ctor = isolate_data->name##_binding(); \ + templ = isolate_data->name##_binding_template(); \ } else // NOLINT(readability/braces) NODE_BINDINGS_WITH_PER_ISOLATE_INIT(V) #undef V { - ctor = isolate_data->binding_data_ctor_template(); + // Default template. + templ = isolate_data->binding_data_default_template(); } - Local obj = ctor->GetFunction(context) - .ToLocalChecked() - ->NewInstance(context) - .ToLocalChecked(); + Local obj = templ->NewInstance(context).ToLocalChecked(); return obj; } diff --git a/src/node_binding.h b/src/node_binding.h index dd7667899e5a7f..9f0692ca4e190b 100644 --- a/src/node_binding.h +++ b/src/node_binding.h @@ -84,7 +84,7 @@ namespace node { // list. #define NODE_BINDING_PER_ISOLATE_INIT(modname, per_isolate_func) \ void _register_isolate_##modname(node::IsolateData* isolate_data, \ - v8::Local target) { \ + v8::Local target) { \ per_isolate_func(isolate_data, target); \ } diff --git a/src/node_blob.cc b/src/node_blob.cc index a7b83f088f0777..6130360cacc537 100644 --- a/src/node_blob.cc +++ b/src/node_blob.cc @@ -109,9 +109,8 @@ void BlobFromFilePath(const FunctionCallbackInfo& args) { } // namespace void Blob::CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); SetMethod(isolate, target, "createBlob", New); SetMethod(isolate, target, "storeDataObject", StoreDataObject); diff --git a/src/node_blob.h b/src/node_blob.h index 96468534916e22..c601015d9af47b 100644 --- a/src/node_blob.h +++ b/src/node_blob.h @@ -27,7 +27,7 @@ class Blob : public BaseObject { ExternalReferenceRegistry* registry); static void CreatePerIsolateProperties(IsolateData* isolate_data, - v8::Local ctor); + v8::Local target); static void CreatePerContextProperties(v8::Local target, v8::Local unused, v8::Local context, diff --git a/src/node_builtins.cc b/src/node_builtins.cc index fb4d53e0ce3ddb..8673142d1e5dfd 100644 --- a/src/node_builtins.cc +++ b/src/node_builtins.cc @@ -15,7 +15,6 @@ using v8::DEFAULT; using v8::EscapableHandleScope; using v8::Function; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::IntegrityLevel; using v8::Isolate; using v8::Local; @@ -663,38 +662,37 @@ void BuiltinLoader::CopySourceAndCodeCacheReferenceFrom( } void BuiltinLoader::CreatePerIsolateProperties(IsolateData* isolate_data, - Local target) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local proto = target->PrototypeTemplate(); - - proto->SetAccessor(isolate_data->config_string(), - ConfigStringGetter, - nullptr, - Local(), - DEFAULT, - None, - SideEffectType::kHasNoSideEffect); - - proto->SetAccessor(FIXED_ONE_BYTE_STRING(isolate, "builtinIds"), - BuiltinIdsGetter, - nullptr, - Local(), - DEFAULT, - None, - SideEffectType::kHasNoSideEffect); - - proto->SetAccessor(FIXED_ONE_BYTE_STRING(isolate, "builtinCategories"), - GetBuiltinCategories, - nullptr, - Local(), - DEFAULT, - None, - SideEffectType::kHasNoSideEffect); - - SetMethod(isolate, proto, "getCacheUsage", BuiltinLoader::GetCacheUsage); - SetMethod(isolate, proto, "compileFunction", BuiltinLoader::CompileFunction); - SetMethod(isolate, proto, "hasCachedBuiltins", HasCachedBuiltins); - SetMethod(isolate, proto, "setInternalLoaders", SetInternalLoaders); + + target->SetAccessor(isolate_data->config_string(), + ConfigStringGetter, + nullptr, + Local(), + DEFAULT, + None, + SideEffectType::kHasNoSideEffect); + + target->SetAccessor(FIXED_ONE_BYTE_STRING(isolate, "builtinIds"), + BuiltinIdsGetter, + nullptr, + Local(), + DEFAULT, + None, + SideEffectType::kHasNoSideEffect); + + target->SetAccessor(FIXED_ONE_BYTE_STRING(isolate, "builtinCategories"), + GetBuiltinCategories, + nullptr, + Local(), + DEFAULT, + None, + SideEffectType::kHasNoSideEffect); + + SetMethod(isolate, target, "getCacheUsage", BuiltinLoader::GetCacheUsage); + SetMethod(isolate, target, "compileFunction", BuiltinLoader::CompileFunction); + SetMethod(isolate, target, "hasCachedBuiltins", HasCachedBuiltins); + SetMethod(isolate, target, "setInternalLoaders", SetInternalLoaders); } void BuiltinLoader::CreatePerContextProperties(Local target, diff --git a/src/node_builtins.h b/src/node_builtins.h index 11af941780be90..3cfdf552a31b9a 100644 --- a/src/node_builtins.h +++ b/src/node_builtins.h @@ -84,8 +84,8 @@ class NODE_EXTERN_PRIVATE BuiltinLoader { BuiltinLoader& operator=(const BuiltinLoader&) = delete; static void RegisterExternalReferences(ExternalReferenceRegistry* registry); - static void CreatePerIsolateProperties( - IsolateData* isolate_data, v8::Local target); + static void CreatePerIsolateProperties(IsolateData* isolate_data, + v8::Local target); static void CreatePerContextProperties(v8::Local target, v8::Local unused, v8::Local context, diff --git a/src/node_contextify.cc b/src/node_contextify.cc index eb84d35985f769..75cb88fce8e8d3 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -1393,9 +1393,9 @@ void MicrotaskQueueWrap::RegisterExternalReferences( } void CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); + ContextifyContext::CreatePerIsolateProperties(isolate_data, target); ContextifyScript::CreatePerIsolateProperties(isolate_data, target); MicrotaskQueueWrap::CreatePerIsolateProperties(isolate_data, target); diff --git a/src/node_file.cc b/src/node_file.cc index 9c69cdfc7ed821..5a92432019dbb1 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -2827,9 +2827,8 @@ InternalFieldInfoBase* BindingData::Serialize(int index) { } static void CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); SetMethod(isolate, target, "access", Access); SetMethod(isolate, target, "close", Close); @@ -2873,7 +2872,7 @@ static void CreatePerIsolateProperties(IsolateData* isolate_data, SetMethod(isolate, target, "mkdtemp", Mkdtemp); - StatWatcher::CreatePerIsolateProperties(isolate_data, ctor); + StatWatcher::CreatePerIsolateProperties(isolate_data, target); target->Set( FIXED_ONE_BYTE_STRING(isolate, "kFsStatsFieldsNumber"), diff --git a/src/node_i18n.cc b/src/node_i18n.cc index e60b58b57185ff..372df8d029fc4f 100644 --- a/src/node_i18n.cc +++ b/src/node_i18n.cc @@ -860,17 +860,16 @@ static void GetStringWidth(const FunctionCallbackInfo& args) { } static void CreatePerIsolateProperties(IsolateData* isolate_data, - Local target) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local proto = target->PrototypeTemplate(); - SetMethod(isolate, proto, "toUnicode", ToUnicode); - SetMethod(isolate, proto, "toASCII", ToASCII); - SetMethod(isolate, proto, "getStringWidth", GetStringWidth); + SetMethod(isolate, target, "toUnicode", ToUnicode); + SetMethod(isolate, target, "toASCII", ToASCII); + SetMethod(isolate, target, "getStringWidth", GetStringWidth); // One-shot converters - SetMethod(isolate, proto, "icuErrName", ICUErrorName); - SetMethod(isolate, proto, "transcode", Transcode); + SetMethod(isolate, target, "icuErrName", ICUErrorName); + SetMethod(isolate, target, "transcode", Transcode); // ConverterObject { @@ -883,9 +882,9 @@ static void CreatePerIsolateProperties(IsolateData* isolate_data, isolate_data->set_i18n_converter_template(t->InstanceTemplate()); } - SetMethod(isolate, proto, "getConverter", ConverterObject::Create); - SetMethod(isolate, proto, "decode", ConverterObject::Decode); - SetMethod(isolate, proto, "hasConverter", ConverterObject::Has); + SetMethod(isolate, target, "getConverter", ConverterObject::Create); + SetMethod(isolate, target, "decode", ConverterObject::Decode); + SetMethod(isolate, target, "hasConverter", ConverterObject::Has); } void CreatePerContextProperties(Local target, diff --git a/src/node_perf.cc b/src/node_perf.cc index 94773fa9e9fed6..555a90b0a76091 100644 --- a/src/node_perf.cc +++ b/src/node_perf.cc @@ -18,7 +18,6 @@ using v8::Context; using v8::DontDelete; using v8::Function; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::GCCallbackFlags; using v8::GCType; using v8::Int32; @@ -296,28 +295,27 @@ void MarkBootstrapComplete(const FunctionCallbackInfo& args) { } static void CreatePerIsolateProperties(IsolateData* isolate_data, - Local target) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local proto = target->PrototypeTemplate(); - HistogramBase::Initialize(isolate_data, proto); + HistogramBase::Initialize(isolate_data, target); - SetMethod(isolate, proto, "markMilestone", MarkMilestone); - SetMethod(isolate, proto, "setupObservers", SetupPerformanceObservers); + SetMethod(isolate, target, "markMilestone", MarkMilestone); + SetMethod(isolate, target, "setupObservers", SetupPerformanceObservers); SetMethod(isolate, - proto, + target, "installGarbageCollectionTracking", InstallGarbageCollectionTracking); SetMethod(isolate, - proto, + target, "removeGarbageCollectionTracking", RemoveGarbageCollectionTracking); - SetMethod(isolate, proto, "notify", Notify); - SetMethod(isolate, proto, "loopIdleTime", LoopIdleTime); - SetMethod(isolate, proto, "getTimeOrigin", GetTimeOrigin); - SetMethod(isolate, proto, "getTimeOriginTimestamp", GetTimeOriginTimeStamp); - SetMethod(isolate, proto, "createELDHistogram", CreateELDHistogram); - SetMethod(isolate, proto, "markBootstrapComplete", MarkBootstrapComplete); + SetMethod(isolate, target, "notify", Notify); + SetMethod(isolate, target, "loopIdleTime", LoopIdleTime); + SetMethod(isolate, target, "getTimeOrigin", GetTimeOrigin); + SetMethod(isolate, target, "getTimeOriginTimestamp", GetTimeOriginTimeStamp); + SetMethod(isolate, target, "createELDHistogram", CreateELDHistogram); + SetMethod(isolate, target, "markBootstrapComplete", MarkBootstrapComplete); } void CreatePerContextProperties(Local target, diff --git a/src/node_process_methods.cc b/src/node_process_methods.cc index bd0ba33d7d8dd9..eca0b343baef3a 100644 --- a/src/node_process_methods.cc +++ b/src/node_process_methods.cc @@ -41,7 +41,6 @@ using v8::CFunction; using v8::Context; using v8::Float64Array; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::HeapStatistics; using v8::Integer; using v8::Isolate; @@ -572,9 +571,8 @@ void BindingData::Deserialize(Local context, } static void CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); BindingData::AddMethods(isolate, target); // define various internal methods diff --git a/src/node_snapshotable.cc b/src/node_snapshotable.cc index e5f6d0a60a3abb..9d27a7c66b2aa2 100644 --- a/src/node_snapshotable.cc +++ b/src/node_snapshotable.cc @@ -35,7 +35,6 @@ namespace node { using v8::Context; using v8::Function; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::HandleScope; using v8::Isolate; using v8::Local; @@ -1325,9 +1324,8 @@ void CreatePerContextProperties(Local target, } void CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->PrototypeTemplate(); SetMethod( isolate, target, "getEmbedderEntryFunction", GetEmbedderEntryFunction); SetMethod(isolate, target, "compileSerializeMain", CompileSerializeMain); diff --git a/src/node_stat_watcher.cc b/src/node_stat_watcher.cc index 39a22eb2e1fca5..79a0b7ed9965a7 100644 --- a/src/node_stat_watcher.cc +++ b/src/node_stat_watcher.cc @@ -45,9 +45,8 @@ using v8::Uint32; using v8::Value; void StatWatcher::CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); Local t = NewFunctionTemplate(isolate, StatWatcher::New); t->InstanceTemplate()->SetInternalFieldCount( diff --git a/src/node_stat_watcher.h b/src/node_stat_watcher.h index cc76975ddb5653..b4341cd872439a 100644 --- a/src/node_stat_watcher.h +++ b/src/node_stat_watcher.h @@ -40,7 +40,7 @@ class ExternalReferenceRegistry; class StatWatcher : public HandleWrap { public: static void CreatePerIsolateProperties(IsolateData* isolate_data, - v8::Local ctor); + v8::Local ctor); static void RegisterExternalReferences(ExternalReferenceRegistry* registry); protected: diff --git a/src/node_url.cc b/src/node_url.cc index c5e1be2131fd23..ef845c612ef464 100644 --- a/src/node_url.cc +++ b/src/node_url.cc @@ -19,7 +19,6 @@ using v8::CFunction; using v8::Context; using v8::FastOneByteString; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::HandleScope; using v8::Isolate; using v8::Local; @@ -318,9 +317,8 @@ void BindingData::UpdateComponents(const ada::url_components& components, } void BindingData::CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); SetMethodNoSideEffect(isolate, target, "domainToASCII", DomainToASCII); SetMethodNoSideEffect(isolate, target, "domainToUnicode", DomainToUnicode); SetMethodNoSideEffect(isolate, target, "format", Format); diff --git a/src/node_url.h b/src/node_url.h index 04a57a9e2c413a..dffe4b63ef11ad 100644 --- a/src/node_url.h +++ b/src/node_url.h @@ -57,7 +57,7 @@ class BindingData : public SnapshotableObject { static void Update(const v8::FunctionCallbackInfo& args); static void CreatePerIsolateProperties(IsolateData* isolate_data, - v8::Local ctor); + v8::Local ctor); static void CreatePerContextProperties(v8::Local target, v8::Local unused, v8::Local context, diff --git a/src/node_worker.cc b/src/node_worker.cc index ed966073ec7286..34feb88cdb761e 100644 --- a/src/node_worker.cc +++ b/src/node_worker.cc @@ -902,9 +902,8 @@ void GetEnvMessagePort(const FunctionCallbackInfo& args) { } void CreateWorkerPerIsolateProperties(IsolateData* isolate_data, - Local target) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local proto = target->PrototypeTemplate(); { Local w = NewFunctionTemplate(isolate, Worker::New); @@ -923,7 +922,7 @@ void CreateWorkerPerIsolateProperties(IsolateData* isolate_data, SetProtoMethod(isolate, w, "loopIdleTime", Worker::LoopIdleTime); SetProtoMethod(isolate, w, "loopStartTime", Worker::LoopStartTime); - SetConstructorFunction(isolate, proto, "Worker", w); + SetConstructorFunction(isolate, target, "Worker", w); } { @@ -940,7 +939,7 @@ void CreateWorkerPerIsolateProperties(IsolateData* isolate_data, wst->InstanceTemplate()); } - SetMethod(isolate, proto, "getEnvMessagePort", GetEnvMessagePort); + SetMethod(isolate, target, "getEnvMessagePort", GetEnvMessagePort); } void CreateWorkerPerContextProperties(Local target, diff --git a/src/timers.cc b/src/timers.cc index 8318894e33cb54..59b4770fa219e8 100644 --- a/src/timers.cc +++ b/src/timers.cc @@ -12,7 +12,6 @@ namespace timers { using v8::Context; using v8::Function; using v8::FunctionCallbackInfo; -using v8::FunctionTemplate; using v8::Isolate; using v8::Local; using v8::Number; @@ -123,9 +122,8 @@ v8::CFunction BindingData::fast_toggle_immediate_ref_( v8::CFunction::Make(FastToggleImmediateRef)); void BindingData::CreatePerIsolateProperties(IsolateData* isolate_data, - Local ctor) { + Local target) { Isolate* isolate = isolate_data->isolate(); - Local target = ctor->InstanceTemplate(); SetMethod(isolate, target, "setupTimers", SetupTimers); SetFastMethod( diff --git a/src/timers.h b/src/timers.h index 61cc5d6bf8ed43..d514a70fc25990 100644 --- a/src/timers.h +++ b/src/timers.h @@ -46,7 +46,7 @@ class BindingData : public SnapshotableObject { static void ToggleImmediateRefImpl(BindingData* data, bool ref); static void CreatePerIsolateProperties(IsolateData* isolate_data, - v8::Local ctor); + v8::Local target); static void CreatePerContextProperties(v8::Local target, v8::Local unused, v8::Local context, From bd311b6c701c0a5f1b7d3034f6e8a31cb9ea0365 Mon Sep 17 00:00:00 2001 From: Stephen Odogwu <105284225+Stevepurpose@users.noreply.github.com> Date: Wed, 24 May 2023 18:00:37 +0100 Subject: [PATCH 068/146] doc: clarify mkdir() recursive behavior PR-URL: https://github.com/nodejs/node/pull/48109 Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- doc/api/fs.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/api/fs.md b/doc/api/fs.md index cc8bce4b0431fa..e95865db7fb200 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -3198,19 +3198,20 @@ Asynchronously creates a directory. The callback is given a possible exception and, if `recursive` is `true`, the first directory path created, `(err[, path])`. `path` can still be `undefined` when `recursive` is `true`, if no directory was -created. +created (for instance, if it was previously created). The optional `options` argument can be an integer specifying `mode` (permission and sticky bits), or an object with a `mode` property and a `recursive` property indicating whether parent directories should be created. Calling `fs.mkdir()` when `path` is a directory that exists results in an error only -when `recursive` is false. +when `recursive` is false. If `recursive` is false and the directory exists, +an `EEXIST` error occurs. ```mjs import { mkdir } from 'node:fs'; -// Creates /tmp/a/apple, regardless of whether `/tmp` and /tmp/a exist. -mkdir('/tmp/a/apple', { recursive: true }, (err) => { +// Create ./tmp/a/apple, regardless of whether ./tmp and ./tmp/a exist. +mkdir('./tmp/a/apple', { recursive: true }, (err) => { if (err) throw err; }); ``` From 45c3782c2042e5ee60a88a81918a959f13a0a19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Wed, 24 May 2023 19:45:40 +0200 Subject: [PATCH 069/146] src: remove INT_MAX asserts in SecretKeyGenTraits Now that CSPRNG() does not silently fail when the length exceeds INT_MAX anymore, there is no need for the two relevant assertions in SecretKeyGenTraits anymore. Refs: https://github.com/nodejs/node/pull/47515 PR-URL: https://github.com/nodejs/node/pull/48053 Reviewed-By: Luigi Pinca Reviewed-By: Filip Skokan --- src/crypto/crypto_keygen.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/crypto/crypto_keygen.cc b/src/crypto/crypto_keygen.cc index 64e65901ac5d67..b36f908a0b5a62 100644 --- a/src/crypto/crypto_keygen.cc +++ b/src/crypto/crypto_keygen.cc @@ -63,17 +63,13 @@ Maybe SecretKeyGenTraits::AdditionalConfig( SecretKeyGenConfig* params) { CHECK(args[*offset]->IsUint32()); uint32_t bits = args[*offset].As()->Value(); - static_assert(std::numeric_limits::max() / CHAR_BIT <= - INT_MAX); params->length = bits / CHAR_BIT; *offset += 1; return Just(true); } -KeyGenJobStatus SecretKeyGenTraits::DoKeyGen( - Environment* env, - SecretKeyGenConfig* params) { - CHECK_LE(params->length, INT_MAX); +KeyGenJobStatus SecretKeyGenTraits::DoKeyGen(Environment* env, + SecretKeyGenConfig* params) { ByteSource::Builder bytes(params->length); if (CSPRNG(bytes.data(), params->length).is_err()) return KeyGenJobStatus::FAILED; From 281dfaf72783a57828c4ff6a46276ddc39829e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Wed, 24 May 2023 22:21:07 +0200 Subject: [PATCH 070/146] doc: improve HMAC key recommendations Add a reference to potential problems with using strings as HMAC keys. Also advise against exceeding the underlying hash function's block size when generating HMAC keys from a cryptographically secure source of entropy. Refs: https://github.com/nodejs/node/pull/48052 Refs: https://github.com/nodejs/node/pull/37248 PR-URL: https://github.com/nodejs/node/pull/48121 Reviewed-By: Marco Ippolito Reviewed-By: Filip Skokan Reviewed-By: Luigi Pinca --- doc/api/crypto.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 2419634dc9bfe1..75f4f2befd6fc4 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -3391,7 +3391,11 @@ On recent releases of OpenSSL, `openssl list -digest-algorithms` will display the available digest algorithms. The `key` is the HMAC key used to generate the cryptographic HMAC hash. If it is -a [`KeyObject`][], its type must be `secret`. +a [`KeyObject`][], its type must be `secret`. If it is a string, please consider +[caveats when using strings as inputs to cryptographic APIs][]. If it was +obtained from a cryptographically secure source of entropy, such as +[`crypto.randomBytes()`][] or [`crypto.generateKey()`][], its length should not +exceed the block size of `algorithm` (e.g., 512 bits for SHA-256). Example: generating the sha256 HMAC of a file @@ -3665,6 +3669,9 @@ generateKey('hmac', { length: 512 }, (err, key) => { }); ``` +The size of a generated HMAC key should not exceed the block size of the +underlying hash function. See [`crypto.createHmac()`][] for more information. + ### `crypto.generateKeyPair(type, options, callback)` + + > Stability: 1 - Experimental: This feature is being designed and will change. From 6cf2adc36e1b692a0716e4efd17023a494705a6c Mon Sep 17 00:00:00 2001 From: Daeyeon Jeong Date: Fri, 26 May 2023 01:04:19 +0900 Subject: [PATCH 084/146] cluster: use ObjectPrototypeHasOwnProperty Signed-off-by: Daeyeon Jeong PR-URL: https://github.com/nodejs/node/pull/48141 Reviewed-By: Rich Trott Reviewed-By: Yagiz Nizipli --- lib/cluster.js | 6 +++++- test/parallel/test-cluster-basic.js | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/cluster.js b/lib/cluster.js index 7ca8b532ee243f..ff410235b7f0fd 100644 --- a/lib/cluster.js +++ b/lib/cluster.js @@ -21,5 +21,9 @@ 'use strict'; -const childOrPrimary = 'NODE_UNIQUE_ID' in process.env ? 'child' : 'primary'; +const { + ObjectPrototypeHasOwnProperty: ObjectHasOwn, +} = primordials; + +const childOrPrimary = ObjectHasOwn(process.env, 'NODE_UNIQUE_ID') ? 'child' : 'primary'; module.exports = require(`internal/cluster/${childOrPrimary}`); diff --git a/test/parallel/test-cluster-basic.js b/test/parallel/test-cluster-basic.js index e53b208ead4963..306b4d7f58788d 100644 --- a/test/parallel/test-cluster-basic.js +++ b/test/parallel/test-cluster-basic.js @@ -22,13 +22,26 @@ 'use strict'; const common = require('../common'); -const assert = require('assert'); -const cluster = require('cluster'); +const assert = require('node:assert'); +const cluster = require('node:cluster'); +const { spawnSync } = require('node:child_process'); assert.strictEqual('NODE_UNIQUE_ID' in process.env, false, `NODE_UNIQUE_ID (${process.env.NODE_UNIQUE_ID}) ` + 'should be removed on startup'); +{ + const { status } = spawnSync(process.execPath, [ + '-e', + ` + const { strictEqual } = require('node:assert'); + Object.setPrototypeOf(process.env, { NODE_UNIQUE_ID: 0 }); + strictEqual(require('cluster').isPrimary, true); + `, + ]); + assert.strictEqual(status, 0); +} + function forEach(obj, fn) { Object.keys(obj).forEach((name, index) => { fn(obj[name], name, index); From 8c49d740021d03c2cfbca90ce9dbcead0607b8bb Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Thu, 25 May 2023 21:20:09 +0300 Subject: [PATCH 085/146] test: fix flaky test-runner-watch-mode PR-URL: https://github.com/nodejs/node/pull/48144 Reviewed-By: Jacob Smith Reviewed-By: Rich Trott Reviewed-By: Benjamin Gruenbaum --- test/fixtures/test-runner/dependency.js | 1 - test/fixtures/test-runner/dependency.mjs | 1 - test/fixtures/test-runner/dependent.js | 5 --- test/parallel/test-runner-watch-mode.mjs | 52 ++++++++++++++++-------- 4 files changed, 35 insertions(+), 24 deletions(-) delete mode 100644 test/fixtures/test-runner/dependency.js delete mode 100644 test/fixtures/test-runner/dependency.mjs delete mode 100644 test/fixtures/test-runner/dependent.js diff --git a/test/fixtures/test-runner/dependency.js b/test/fixtures/test-runner/dependency.js deleted file mode 100644 index f053ebf7976e37..00000000000000 --- a/test/fixtures/test-runner/dependency.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {}; diff --git a/test/fixtures/test-runner/dependency.mjs b/test/fixtures/test-runner/dependency.mjs deleted file mode 100644 index cc798ff50da947..00000000000000 --- a/test/fixtures/test-runner/dependency.mjs +++ /dev/null @@ -1 +0,0 @@ -export const a = 1; diff --git a/test/fixtures/test-runner/dependent.js b/test/fixtures/test-runner/dependent.js deleted file mode 100644 index 6eb2ef2fda2ad8..00000000000000 --- a/test/fixtures/test-runner/dependent.js +++ /dev/null @@ -1,5 +0,0 @@ -const test = require('node:test'); -require('./dependency.js'); -import('./dependency.mjs'); -import('data:text/javascript,'); -test('test has ran'); diff --git a/test/parallel/test-runner-watch-mode.mjs b/test/parallel/test-runner-watch-mode.mjs index e7f17da8e5e142..9f06335cd92785 100644 --- a/test/parallel/test-runner-watch-mode.mjs +++ b/test/parallel/test-runner-watch-mode.mjs @@ -1,15 +1,37 @@ // Flags: --expose-internals import '../common/index.mjs'; +import path from 'node:path'; import { describe, it } from 'node:test'; import { spawn } from 'node:child_process'; -import { writeFileSync, readFileSync } from 'node:fs'; +import { writeFileSync } from 'node:fs'; import util from 'internal/util'; -import * as fixtures from '../common/fixtures.mjs'; +import tmpdir from '../common/tmpdir.js'; -async function testWatch({ files, fileToUpdate }) { +tmpdir.refresh(); + +// This test updates these files repeatedly, +// Reading them from disk is unreliable due to race conditions. +const fixtureContent = { + 'dependency.js': 'module.exports = {};', + 'dependency.mjs': 'export const a = 1;', + 'dependent.js': ` +const test = require('node:test'); +require('./dependency.js'); +import('./dependency.mjs'); +import('data:text/javascript,'); +test('test has ran');`, +}; +const fixturePaths = Object.keys(fixtureContent) + .reduce((acc, file) => ({ ...acc, [file]: path.join(tmpdir.path, file) }), {}); +Object.entries(fixtureContent) + .forEach(([file, content]) => writeFileSync(fixturePaths[file], content)); + +async function testWatch({ fileToUpdate }) { const ran1 = util.createDeferredPromise(); const ran2 = util.createDeferredPromise(); - const child = spawn(process.execPath, ['--watch', '--test', '--no-warnings', ...files], { encoding: 'utf8' }); + const child = spawn(process.execPath, + ['--watch', '--test', '--no-warnings', fixturePaths['dependent.js']], + { encoding: 'utf8', stdio: 'pipe' }); let stdout = ''; child.stdout.on('data', (data) => { @@ -20,8 +42,12 @@ async function testWatch({ files, fileToUpdate }) { }); await ran1.promise; - const content = readFileSync(fileToUpdate, 'utf8'); - const interval = setInterval(() => writeFileSync(fileToUpdate, content), 10); + const content = fixtureContent[fileToUpdate]; + const path = fixturePaths[fileToUpdate]; + const interval = setInterval(() => { + console.log(`Updating ${path}`); + writeFileSync(path, content); + }, 50); await ran2.promise; clearInterval(interval); child.kill(); @@ -29,22 +55,14 @@ async function testWatch({ files, fileToUpdate }) { describe('test runner watch mode', () => { it('should run tests repeatedly', async () => { - const file1 = fixtures.path('test-runner/index.test.js'); - const file2 = fixtures.path('test-runner/dependent.js'); - await testWatch({ files: [file1, file2], fileToUpdate: file2 }); + await testWatch({ fileToUpdate: 'dependent.js' }); }); it('should run tests with dependency repeatedly', async () => { - const file1 = fixtures.path('test-runner/index.test.js'); - const dependent = fixtures.path('test-runner/dependent.js'); - const dependency = fixtures.path('test-runner/dependency.js'); - await testWatch({ files: [file1, dependent], fileToUpdate: dependency }); + await testWatch({ fileToUpdate: 'dependency.js' }); }); it('should run tests with ESM dependency', async () => { - const file1 = fixtures.path('test-runner/index.test.js'); - const dependent = fixtures.path('test-runner/dependent.js'); - const dependency = fixtures.path('test-runner/dependency.mjs'); - await testWatch({ files: [file1, dependent], fileToUpdate: dependency }); + await testWatch({ fileToUpdate: 'dependency.mjs' }); }); }); From 801573ba46a80634f9c7206da3a06faeb67c89c3 Mon Sep 17 00:00:00 2001 From: Andrea Fassina Date: Thu, 25 May 2023 21:46:07 +0200 Subject: [PATCH 086/146] tools: log and verify sha256sum PR-URL: https://github.com/nodejs/node/pull/48088 Refs: https://github.com/nodejs/security-wg/issues/973 Reviewed-By: Rafael Gonzaga Reviewed-By: Marco Ippolito --- tools/dep_updaters/update-ada.sh | 6 +++++- tools/dep_updaters/update-base64.sh | 10 +++++++++- tools/dep_updaters/update-brotli.sh | 8 ++++++-- tools/dep_updaters/update-c-ares.sh | 8 +++++++- tools/dep_updaters/update-libuv.sh | 10 +++++++++- tools/dep_updaters/update-llhttp.sh | 14 ++++++++----- tools/dep_updaters/update-nghttp2.sh | 8 ++++++++ tools/dep_updaters/update-nghttp3.sh | 4 ++++ tools/dep_updaters/update-ngtcp2.sh | 4 ++++ tools/dep_updaters/update-npm.sh | 7 ++++++- tools/dep_updaters/update-openssl.sh | 8 +++++++- tools/dep_updaters/update-simdutf.sh | 6 +++++- tools/dep_updaters/update-uvwasi.sh | 5 +++++ tools/dep_updaters/update-zlib.sh | 9 +++++++-- tools/dep_updaters/utils.sh | 30 ++++++++++++++++++++++++++++ 15 files changed, 121 insertions(+), 16 deletions(-) create mode 100644 tools/dep_updaters/utils.sh diff --git a/tools/dep_updaters/update-ada.sh b/tools/dep_updaters/update-ada.sh index a9aa64731dc344..a26f854a1b2c52 100755 --- a/tools/dep_updaters/update-ada.sh +++ b/tools/dep_updaters/update-ada.sh @@ -7,6 +7,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/ada-url/ada/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -37,13 +40,14 @@ cleanup () { trap cleanup INT TERM EXIT ADA_REF="v$NEW_VERSION" -ADA_ZIP="ada-$NEW_VERSION.zip" +ADA_ZIP="ada-$ADA_REF.zip" ADA_LICENSE="LICENSE-MIT" cd "$WORKSPACE" echo "Fetching ada source archive..." curl -sL -o "$ADA_ZIP" "https://github.com/ada-url/ada/releases/download/$ADA_REF/singleheader.zip" +log_and_verify_sha256sum "ada" "$ADA_ZIP" unzip "$ADA_ZIP" rm "$ADA_ZIP" diff --git a/tools/dep_updaters/update-base64.sh b/tools/dep_updaters/update-base64.sh index b0d8693f82f1b7..ff39a5f6e82010 100755 --- a/tools/dep_updaters/update-base64.sh +++ b/tools/dep_updaters/update-base64.sh @@ -8,6 +8,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/aklomp/base64/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -39,8 +42,13 @@ trap cleanup INT TERM EXIT cd "$WORKSPACE" +BASE64_TARBALL="base64-v$NEW_VERSION.tar.gz" + echo "Fetching base64 source archive" -curl -sL "https://api.github.com/repos/aklomp/base64/tarball/v$NEW_VERSION" | tar xzf - +curl -sL -o "$BASE64_TARBALL" "https://api.github.com/repos/aklomp/base64/tarball/v$NEW_VERSION" +log_and_verify_sha256sum "base64" "$BASE64_TARBALL" +gzip -dc "$BASE64_TARBALL" | tar xf - +rm "$BASE64_TARBALL" mv aklomp-base64-* base64 echo "Replacing existing base64" diff --git a/tools/dep_updaters/update-brotli.sh b/tools/dep_updaters/update-brotli.sh index 651ae57d3f2e62..3e9d6eddeaf665 100755 --- a/tools/dep_updaters/update-brotli.sh +++ b/tools/dep_updaters/update-brotli.sh @@ -8,6 +8,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/google/brotli/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -44,10 +47,11 @@ trap cleanup INT TERM EXIT cd "$WORKSPACE" -BROTLI_TARBALL="v$NEW_VERSION.tar.gz" +BROTLI_TARBALL="brotli-v$NEW_VERSION.tar.gz" echo "Fetching brotli source archive" -curl -sL -o "$BROTLI_TARBALL" "https://github.com/google/brotli/archive/$BROTLI_TARBALL" +curl -sL -o "$BROTLI_TARBALL" "https://github.com/google/brotli/archive/v$NEW_VERSION.tar.gz" +log_and_verify_sha256sum "brotli" "$BROTLI_TARBALL" gzip -dc "$BROTLI_TARBALL" | tar xf - rm "$BROTLI_TARBALL" mv "brotli-$NEW_VERSION" "brotli" diff --git a/tools/dep_updaters/update-c-ares.sh b/tools/dep_updaters/update-c-ares.sh index 79d964e61f08a5..4bef7d20abca19 100755 --- a/tools/dep_updaters/update-c-ares.sh +++ b/tools/dep_updaters/update-c-ares.sh @@ -8,6 +8,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/c-ares/c-ares/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -43,7 +46,10 @@ ARES_TARBALL="c-ares-$NEW_VERSION.tar.gz" cd "$WORKSPACE" echo "Fetching c-ares source archive" -curl -sL "https://github.com/c-ares/c-ares/releases/download/$ARES_REF/$ARES_TARBALL" | tar xz +curl -sL -o "$ARES_TARBALL" "https://github.com/c-ares/c-ares/releases/download/$ARES_REF/$ARES_TARBALL" +log_and_verify_sha256sum "c-ares" "$ARES_TARBALL" +gzip -dc "$ARES_TARBALL" | tar xf - +rm "$ARES_TARBALL" mv "c-ares-$NEW_VERSION" cares echo "Removing tests" diff --git a/tools/dep_updaters/update-libuv.sh b/tools/dep_updaters/update-libuv.sh index b679d935a91431..ac95f25874db83 100755 --- a/tools/dep_updaters/update-libuv.sh +++ b/tools/dep_updaters/update-libuv.sh @@ -7,6 +7,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/libuv/libuv/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -45,8 +48,13 @@ trap cleanup INT TERM EXIT cd "$WORKSPACE" +LIBUV_TARBALL="libuv-v$NEW_VERSION.tar.gz" + echo "Fetching libuv source archive..." -curl -sL "https://api.github.com/repos/libuv/libuv/tarball/v$NEW_VERSION" | tar xzf - +curl -sL -o "$LIBUV_TARBALL" "https://api.github.com/repos/libuv/libuv/tarball/v$NEW_VERSION" +log_and_verify_sha256sum "libuv" "$LIBUV_TARBALL" +gzip -dc "$LIBUV_TARBALL" | tar xf - +rm "$LIBUV_TARBALL" mv libuv-libuv-* uv echo "Replacing existing libuv (except GYP build files)" diff --git a/tools/dep_updaters/update-llhttp.sh b/tools/dep_updaters/update-llhttp.sh index 9c46536f205b40..30fb06667ece5b 100755 --- a/tools/dep_updaters/update-llhttp.sh +++ b/tools/dep_updaters/update-llhttp.sh @@ -9,6 +9,9 @@ DEPS_DIR="${BASE_DIR}/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/nodejs/llhttp/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -52,19 +55,20 @@ if echo "$NEW_VERSION" | grep -qs "/" ; then # Download a release echo "Checking out branch $BRANCH ..." git checkout "$BRANCH" - echo "Building llhtttp ..." + echo "Building llhttp ..." npm install make release - echo "Copying llhtttp release ..." + echo "Copying llhttp release ..." rm -rf "$DEPS_DIR/llhttp" cp -a release "$DEPS_DIR/llhttp" else echo "Download llhttp release $NEW_VERSION ..." - curl -sL -o llhttp.tar.gz "https://github.com/nodejs/llhttp/archive/refs/tags/release/v$NEW_VERSION.tar.gz" - gzip -dc llhttp.tar.gz | tar xf - + LLHTTP_TARBALL="llhttp-v$NEW_VERSION.tar.gz" + curl -sL -o "$LLHTTP_TARBALL" "https://github.com/nodejs/llhttp/archive/refs/tags/release/v$NEW_VERSION.tar.gz" + gzip -dc "$LLHTTP_TARBALL" | tar xf - - echo "Copying llhtttp release ..." + echo "Copying llhttp release ..." rm -rf "$DEPS_DIR/llhttp" cp -a "llhttp-release-v$NEW_VERSION" "$DEPS_DIR/llhttp" fi diff --git a/tools/dep_updaters/update-nghttp2.sh b/tools/dep_updaters/update-nghttp2.sh index c53a620ba096ec..5ee7f1f08da0a2 100755 --- a/tools/dep_updaters/update-nghttp2.sh +++ b/tools/dep_updaters/update-nghttp2.sh @@ -8,6 +8,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/nghttp2/nghttp2/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -44,6 +47,11 @@ cd "$WORKSPACE" echo "Fetching nghttp2 source archive" curl -sL -o "$NGHTTP2_TARBALL" "https://github.com/nghttp2/nghttp2/releases/download/$NGHTTP2_REF/$NGHTTP2_TARBALL" + +DEPOSITED_CHECKSUM=$(curl -sL "https://github.com/nghttp2/nghttp2/releases/download/$NGHTTP2_REF/checksums.txt" | grep "$NGHTTP2_TARBALL") + +log_and_verify_sha256sum "nghttp2" "$NGHTTP2_TARBALL" "$DEPOSITED_CHECKSUM" + gzip -dc "$NGHTTP2_TARBALL" | tar xf - rm "$NGHTTP2_TARBALL" mv "nghttp2-$NEW_VERSION" nghttp2 diff --git a/tools/dep_updaters/update-nghttp3.sh b/tools/dep_updaters/update-nghttp3.sh index a3c035d871774b..f10165960dabae 100755 --- a/tools/dep_updaters/update-nghttp3.sh +++ b/tools/dep_updaters/update-nghttp3.sh @@ -7,6 +7,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/ngtcp2/nghttp3/releases'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -44,6 +47,7 @@ cd "$WORKSPACE" echo "Fetching nghttp3 source archive..." curl -sL -o "$NGHTTP3_ZIP.zip" "https://github.com/ngtcp2/nghttp3/archive/refs/tags/$NGHTTP3_REF.zip" +log_and_verify_sha256sum "nghttp3" "$NGHTTP3_ZIP.zip" unzip "$NGHTTP3_ZIP.zip" rm "$NGHTTP3_ZIP.zip" mv "$NGHTTP3_ZIP" nghttp3 diff --git a/tools/dep_updaters/update-ngtcp2.sh b/tools/dep_updaters/update-ngtcp2.sh index 0e7d43cb4ce0d7..9e9803ee6197e6 100755 --- a/tools/dep_updaters/update-ngtcp2.sh +++ b/tools/dep_updaters/update-ngtcp2.sh @@ -7,6 +7,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/ngtcp2/ngtcp2/releases'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -44,6 +47,7 @@ cd "$WORKSPACE" echo "Fetching ngtcp2 source archive..." curl -sL -o "$NGTCP2_ZIP.zip" "https://github.com/ngtcp2/ngtcp2/archive/refs/tags/$NGTCP2_REF.zip" +log_and_verify_sha256sum "ngtcp2" "$NGTCP2_ZIP.zip" unzip "$NGTCP2_ZIP.zip" rm "$NGTCP2_ZIP.zip" mv "$NGTCP2_ZIP" ngtcp2 diff --git a/tools/dep_updaters/update-npm.sh b/tools/dep_updaters/update-npm.sh index 9706bbfca85fe2..72aac6de1ce98f 100755 --- a/tools/dep_updaters/update-npm.sh +++ b/tools/dep_updaters/update-npm.sh @@ -7,6 +7,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NPM="$DEPS_DIR/npm/bin/npm-cli.js" NPM_VERSION=$1 @@ -30,12 +33,14 @@ trap cleanup INT TERM EXIT cd "$WORKSPACE" -NPM_TGZ=npm.tgz +NPM_TGZ="npm-v$NPM_VERSION.tar.gz" NPM_TARBALL="$($NODE "$NPM" view npm@"$NPM_VERSION" dist.tarball)" curl -s "$NPM_TARBALL" > "$NPM_TGZ" +log_and_verify_sha256sum "npm" "$NPM_TGZ" + rm -rf "$DEPS_DIR/npm" mkdir "$DEPS_DIR/npm" diff --git a/tools/dep_updaters/update-openssl.sh b/tools/dep_updaters/update-openssl.sh index 753120e54839bc..710bf3219aaf97 100755 --- a/tools/dep_updaters/update-openssl.sh +++ b/tools/dep_updaters/update-openssl.sh @@ -20,11 +20,17 @@ download() { echo "Making temporary workspace..." WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp') + # shellcheck disable=SC1091 + . "$BASE_DIR/tools/dep_updaters/utils.sh" cd "$WORKSPACE" echo "Fetching OpenSSL source archive..." - curl -sL "https://api.github.com/repos/quictls/openssl/tarball/openssl-$OPENSSL_VERSION" | tar xzf - + OPENSSL_TARBALL="openssl-v$OPENSSL_VERSION.tar.gz" + curl -sL -o "$OPENSSL_TARBALL" "https://api.github.com/repos/quictls/openssl/tarball/openssl-$OPENSSL_VERSION" + log_and_verify_sha256sum "openssl" "$OPENSSL_TARBALL" + gzip -dc "$OPENSSL_TARBALL" | tar xf - + rm "$OPENSSL_TARBALL" mv quictls-openssl-* openssl echo "Replacing existing OpenSSL..." diff --git a/tools/dep_updaters/update-simdutf.sh b/tools/dep_updaters/update-simdutf.sh index dba4ba49c62516..9eaa9f8149ef63 100755 --- a/tools/dep_updaters/update-simdutf.sh +++ b/tools/dep_updaters/update-simdutf.sh @@ -7,6 +7,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/simdutf/simdutf/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -36,13 +39,14 @@ cleanup () { trap cleanup INT TERM EXIT SIMDUTF_REF="v$NEW_VERSION" -SIMDUTF_ZIP="simdutf-$NEW_VERSION.zip" +SIMDUTF_ZIP="simdutf-$SIMDUTF_REF.zip" SIMDUTF_LICENSE="LICENSE-MIT" cd "$WORKSPACE" echo "Fetching simdutf source archive..." curl -sL -o "$SIMDUTF_ZIP" "https://github.com/simdutf/simdutf/releases/download/$SIMDUTF_REF/singleheader.zip" +log_and_verify_sha256sum "simdutf" "$SIMDUTF_ZIP" unzip "$SIMDUTF_ZIP" rm "$SIMDUTF_ZIP" rm ./*_demo.cpp diff --git a/tools/dep_updaters/update-uvwasi.sh b/tools/dep_updaters/update-uvwasi.sh index a6a66bf4e7672f..8ba9dbd9e1d150 100755 --- a/tools/dep_updaters/update-uvwasi.sh +++ b/tools/dep_updaters/update-uvwasi.sh @@ -8,6 +8,9 @@ DEPS_DIR="$BASE_DIR/deps" [ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" [ -x "$NODE" ] || NODE=$(command -v node) +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + NEW_VERSION="$("$NODE" --input-type=module <<'EOF' const res = await fetch('https://api.github.com/repos/nodejs/uvwasi/releases/latest'); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); @@ -46,6 +49,8 @@ cd "$WORKSPACE" echo "Fetching UVWASI source archive..." curl -sL -o "$UVWASI_ZIP.zip" "https://github.com/nodejs/uvwasi/archive/refs/tags/v$NEW_VERSION.zip" +log_and_verify_sha256sum "uvwasi" "$UVWASI_ZIP.zip" + echo "Moving existing GYP build file" mv "$DEPS_DIR/uvwasi/"*.gyp "$WORKSPACE/" rm -rf "$DEPS_DIR/uvwasi/" diff --git a/tools/dep_updaters/update-zlib.sh b/tools/dep_updaters/update-zlib.sh index 3902e9221264b0..33e0a9b4552459 100755 --- a/tools/dep_updaters/update-zlib.sh +++ b/tools/dep_updaters/update-zlib.sh @@ -7,6 +7,9 @@ set -e BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd) DEPS_DIR="$BASE_DIR/deps" +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + echo "Comparing latest upstream with current revision" git fetch https://chromium.googlesource.com/chromium/src/third_party/zlib.git HEAD @@ -49,10 +52,12 @@ cd "$WORKSPACE" mkdir zlib -ZLIB_TARBALL=zlib.tar.gz +ZLIB_TARBALL="zlib-v$NEW_VERSION.tar.gz" echo "Fetching zlib source archive" -curl -sL -o $ZLIB_TARBALL https://chromium.googlesource.com/chromium/src/+archive/refs/heads/main/third_party/$ZLIB_TARBALL +curl -sL -o "$ZLIB_TARBALL" https://chromium.googlesource.com/chromium/src/+archive/refs/heads/main/third_party/zlib.tar.gz + +log_and_verify_sha256sum "zlib" "$ZLIB_TARBALL" gzip -dc "$ZLIB_TARBALL" | tar xf - -C zlib/ diff --git a/tools/dep_updaters/utils.sh b/tools/dep_updaters/utils.sh new file mode 100644 index 00000000000000..21231e9410c6a8 --- /dev/null +++ b/tools/dep_updaters/utils.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# This function logs the archive checksum and, if provided, compares it with +# the deposited checksum +# +# $1 is the package name e.g. 'acorn', 'ada', 'base64' etc. See that file +# for a complete list of package name +# $2 is the downloaded archive +# $3 (optional) is the deposited sha256 cheksum. When provided, it is checked +# against the checksum generated from the archive +log_and_verify_sha256sum() { + package_name="$1" + archive="$2" + checksum="$3" + bsd_formatted_checksum=$(sha256sum --tag "$archive") + if [ -z "$3" ]; then + echo "$bsd_formatted_checksum" + else + archive_checksum=$(sha256sum "$archive") + if [ "$checksum" = "$archive_checksum" ]; then + echo "Valid $package_name checksum" + echo "$bsd_formatted_checksum" + else + echo "ERROR - Invalid $package_name checksum:" + echo "deposited: $checksum" + echo "generated: $archive_checksum" + exit 1 + fi + fi +} From 60ce2bcabc44be7dc65610bbce3ad09885b1e194 Mon Sep 17 00:00:00 2001 From: Matteo Collina Date: Fri, 26 May 2023 14:38:24 +0200 Subject: [PATCH 087/146] http: send implicit headers on HEAD with no body If we respond to a HEAD request with a body, we ignore all writes. However, we must still include all implicit headers. Fixes a regressions introduced in https://github.com/nodejs/node/pull/47732. Signed-off-by: Matteo Collina PR-URL: https://github.com/nodejs/node/pull/48108 Reviewed-By: Colin Ihrig Reviewed-By: Robert Nagy Reviewed-By: Paolo Insogna Reviewed-By: Marco Ippolito --- lib/_http_outgoing.js | 22 +++++++-------- ...sponse-has-no-body-end-implicit-headers.js | 27 +++++++++++++++++++ ...test-http-head-response-has-no-body-end.js | 2 +- 3 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 test/parallel/test-http-head-response-has-no-body-end-implicit-headers.js diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index 73bd2aad8f96a0..178a3418dace0a 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -887,17 +887,6 @@ function write_(msg, chunk, encoding, callback, fromEnd) { err = new ERR_STREAM_DESTROYED('write'); } - if (!msg._hasBody) { - if (msg[kRejectNonStandardBodyWrites]) { - throw new ERR_HTTP_BODY_NOT_ALLOWED(); - } else { - debug('This type of response MUST NOT have a body. ' + - 'Ignoring write() calls.'); - process.nextTick(callback); - return true; - } - } - if (err) { if (!msg.destroyed) { onError(msg, err, callback); @@ -930,6 +919,17 @@ function write_(msg, chunk, encoding, callback, fromEnd) { msg._implicitHeader(); } + if (!msg._hasBody) { + if (msg[kRejectNonStandardBodyWrites]) { + throw new ERR_HTTP_BODY_NOT_ALLOWED(); + } else { + debug('This type of response MUST NOT have a body. ' + + 'Ignoring write() calls.'); + process.nextTick(callback); + return true; + } + } + if (!fromEnd && msg.socket && !msg.socket.writableCorked) { msg.socket.cork(); process.nextTick(connectionCorkNT, msg.socket); diff --git a/test/parallel/test-http-head-response-has-no-body-end-implicit-headers.js b/test/parallel/test-http-head-response-has-no-body-end-implicit-headers.js new file mode 100644 index 00000000000000..5ebd9f8a90bd92 --- /dev/null +++ b/test/parallel/test-http-head-response-has-no-body-end-implicit-headers.js @@ -0,0 +1,27 @@ +'use strict'; +const common = require('../common'); +const http = require('http'); + +// This test is to make sure that when the HTTP server +// responds to a HEAD request with data to res.end, +// it does not send any body but the response is sent +// anyway. + +const server = http.createServer(function(req, res) { + res.end('FAIL'); // broken: sends FAIL from hot path. +}); +server.listen(0); + +server.on('listening', common.mustCall(function() { + const req = http.request({ + port: this.address().port, + method: 'HEAD', + path: '/' + }, common.mustCall(function(res) { + res.on('end', common.mustCall(function() { + server.close(); + })); + res.resume(); + })); + req.end(); +})); diff --git a/test/parallel/test-http-head-response-has-no-body-end.js b/test/parallel/test-http-head-response-has-no-body-end.js index 3e0e6cec240ba8..824a1bafe3a5e3 100644 --- a/test/parallel/test-http-head-response-has-no-body-end.js +++ b/test/parallel/test-http-head-response-has-no-body-end.js @@ -29,7 +29,7 @@ const http = require('http'); const server = http.createServer(function(req, res) { res.writeHead(200); - res.end(); + res.end('FAIL'); // broken: sends FAIL from hot path. }); server.listen(0); From 3047caebecc890263ad9d9222811324d34d3bdfd Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Fri, 26 May 2023 15:30:00 +0000 Subject: [PATCH 088/146] deps: set `CARES_RANDOM_FILE` for c-ares Upstream c-ares renamed `RANDOM_FILE` to `CARES_RANDOM_FILE` some time ago in c-ares 1.17.2. PR-URL: https://github.com/nodejs/node/pull/48156 Refs: https://github.com/c-ares/c-ares/pull/397 Reviewed-By: Michael Dawson Reviewed-By: Ben Noordhuis --- deps/cares/config/aix/ares_config.h | 2 +- deps/cares/config/android/ares_config.h | 2 +- deps/cares/config/cygwin/ares_config.h | 2 +- deps/cares/config/darwin/ares_config.h | 2 +- deps/cares/config/freebsd/ares_config.h | 2 +- deps/cares/config/linux/ares_config.h | 2 +- deps/cares/config/netbsd/ares_config.h | 2 +- deps/cares/config/openbsd/ares_config.h | 2 +- deps/cares/config/sunos/ares_config.h | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/deps/cares/config/aix/ares_config.h b/deps/cares/config/aix/ares_config.h index c79096a3627013..de536cd4673611 100644 --- a/deps/cares/config/aix/ares_config.h +++ b/deps/cares/config/aix/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/android/ares_config.h b/deps/cares/config/android/ares_config.h index 50c8114396b0fd..ff527032080aea 100644 --- a/deps/cares/config/android/ares_config.h +++ b/deps/cares/config/android/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/cygwin/ares_config.h b/deps/cares/config/cygwin/ares_config.h index 3818ad0b4612a9..66f97b3505da82 100644 --- a/deps/cares/config/cygwin/ares_config.h +++ b/deps/cares/config/cygwin/ares_config.h @@ -379,7 +379,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type of arg 1 for recvfrom. */ #define RECVFROM_TYPE_ARG1 int diff --git a/deps/cares/config/darwin/ares_config.h b/deps/cares/config/darwin/ares_config.h index 6625eccd6a3281..e127c27abc6b30 100644 --- a/deps/cares/config/darwin/ares_config.h +++ b/deps/cares/config/darwin/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/freebsd/ares_config.h b/deps/cares/config/freebsd/ares_config.h index 1adaa8c32e5e99..4f2b045fc8bb2c 100644 --- a/deps/cares/config/freebsd/ares_config.h +++ b/deps/cares/config/freebsd/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/linux/ares_config.h b/deps/cares/config/linux/ares_config.h index eb6239f6370e5b..3ba7e37da0b306 100644 --- a/deps/cares/config/linux/ares_config.h +++ b/deps/cares/config/linux/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/netbsd/ares_config.h b/deps/cares/config/netbsd/ares_config.h index 48512dc1a9950b..11efde2a8e3a86 100644 --- a/deps/cares/config/netbsd/ares_config.h +++ b/deps/cares/config/netbsd/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/openbsd/ares_config.h b/deps/cares/config/openbsd/ares_config.h index 48512dc1a9950b..11efde2a8e3a86 100644 --- a/deps/cares/config/openbsd/ares_config.h +++ b/deps/cares/config/openbsd/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 diff --git a/deps/cares/config/sunos/ares_config.h b/deps/cares/config/sunos/ares_config.h index b50814a103a383..d63b7472072ba4 100644 --- a/deps/cares/config/sunos/ares_config.h +++ b/deps/cares/config/sunos/ares_config.h @@ -378,7 +378,7 @@ #define PACKAGE_VERSION "1.13.0" /* a suitable file/device to read random data from */ -#define RANDOM_FILE "/dev/urandom" +#define CARES_RANDOM_FILE "/dev/urandom" /* Define to the type qualifier pointed by arg 5 for recvfrom. */ #define RECVFROM_QUAL_ARG5 From 8b89f139331e74523ca4dc8ae7ff389207a73882 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Wed, 17 May 2023 16:51:51 -0400 Subject: [PATCH 089/146] build: add action to close stale PRs Add action to close PRs that are over 1 year old and have had no comments or updates in the last 6 months. Fixes: https://github.com/nodejs/node/issues/42981 Signed-off-by: Michael Dawson PR-URL: https://github.com/nodejs/node/pull/48051 Reviewed-By: Matteo Collina --- .../workflows/close-stale-pull-requests.yml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/close-stale-pull-requests.yml diff --git a/.github/workflows/close-stale-pull-requests.yml b/.github/workflows/close-stale-pull-requests.yml new file mode 100644 index 00000000000000..05f1732f78df5d --- /dev/null +++ b/.github/workflows/close-stale-pull-requests.yml @@ -0,0 +1,63 @@ +name: Close stale feature requests +on: + workflow_dispatch: + inputs: + endDate: + description: stop processing PRs after this date + required: false + type: string + schedule: + # Run every day at 1:00 AM UTC. + - cron: 0 1 * * * + +# yamllint disable rule:empty-lines +env: + CLOSE_MESSAGE: > + This pull request was opened more than a year ago and there has + been no activity in the last 6 months. We value your contribution + but since it has not progressed in the last 6 months it is being + closed. If you feel closing this pull request is not the right thing + to do, please leave a comment. + + WARN_MESSAGE: > + This pull request was opened more than a year ago and there has + been no activity in the last 5 months. We value your contribution + but since it has not progressed in the last 5 months it is being + marked stale and will be closed if there is no progress in the + next month. If you feel that is not the right thing to do please + comment on the pull request. +# yamllint enable + +permissions: + contents: read + +jobs: + stale: + permissions: + pull-requests: write # for actions/stale to close stale PRs + if: github.repository == 'nodejs/node' + runs-on: ubuntu-latest + steps: + - name: Set default end date which is 1 year ago + run: echo "END_DATE=$(date --date='525600 minutes ago' --rfc-2822)" >> "$GITHUB_ENV" + - name: if date set in event override the default end date + env: + END_DATE_INPUT_VALUE: ${{ github.event.inputs.endDate }} + if: ${{ github.event.inputs.endDate != '' }} + run: echo "END_DATE=$END_DATE_INPUT_VALUE" >> "$GITHUB_ENV" + - uses: mhdawson/stale@453d6581568dc43dbe345757f24408d7b451c651 # PR to add support for endDate + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + end-date: ${{ env.END_DATE }} + days-before-issue-stale: -1 + days-before-issue-close: -1 + only-labels: test-stale-pr + days-before-stale: 150 + days-before-close: 30 + stale-issue-label: stale + close-issue-message: ${{ env.CLOSE_MESSAGE }} + stale-issue-message: ${{ env.WARN_MESSAGE }} + exempt-pr-labels: never-stale + # max requests it will send per run to the GitHub API before it deliberately exits to avoid hitting API rate limits + operations-per-run: 500 + remove-stale-when-updated: true From ed4514294a35eeb9405e5c052ea4b654f23290d5 Mon Sep 17 00:00:00 2001 From: Nicolas DUBIEN Date: Fri, 26 May 2023 21:37:36 +0200 Subject: [PATCH 090/146] vm: properly handle defining symbol props This PR is a follow-up of #46615. When bumping V8 for node 18, various bugs appeared around vm. Some have been fixed along the flow, but there is at least one remaining and described at: https://github.com/facebook/jest/issues/13338. The current fix does nothing on node 20: the new bump of v8 done for node 20 seems to fix it. But it would fix the problem in both node 18 and node 19. I confirmed it would fix node 19 by cherry-picking the commit on v19.x-staging and launching `make -j4 jstest` on it. PR-URL: https://github.com/nodejs/node/pull/47572 Reviewed-By: James M Snell --- src/node_contextify.cc | 1 + test/parallel/test-vm-global-get-own.js | 105 ++++++++++++++++++++++++ test/parallel/test-vm-global-symbol.js | 26 ------ 3 files changed, 106 insertions(+), 26 deletions(-) create mode 100644 test/parallel/test-vm-global-get-own.js delete mode 100644 test/parallel/test-vm-global-symbol.js diff --git a/src/node_contextify.cc b/src/node_contextify.cc index 75cb88fce8e8d3..6713f17f65314f 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -524,6 +524,7 @@ void ContextifyContext::PropertySetterCallback( !is_function) return; + if (!is_declared && property->IsSymbol()) return; if (ctx->sandbox()->Set(context, property, value).IsNothing()) return; Local desc; diff --git a/test/parallel/test-vm-global-get-own.js b/test/parallel/test-vm-global-get-own.js new file mode 100644 index 00000000000000..246fcbf866b8b6 --- /dev/null +++ b/test/parallel/test-vm-global-get-own.js @@ -0,0 +1,105 @@ +'use strict'; +require('../common'); +const assert = require('assert'); +const vm = require('vm'); + +// These assertions check that we can set new keys to the global context, +// get them back and also list them via getOwnProperty* or in. +// +// Related to: +// - https://github.com/nodejs/node/issues/45983 + +const global = vm.runInContext('this', vm.createContext()); + +function runAssertions(data, property, viaDefine, value1, value2, value3) { + // Define the property for the first time + setPropertyAndAssert(data, property, viaDefine, value1); + // Update the property + setPropertyAndAssert(data, property, viaDefine, value2); + // Delete the property + deletePropertyAndAssert(data, property); + // Re-define the property + setPropertyAndAssert(data, property, viaDefine, value3); + // Delete the property again + deletePropertyAndAssert(data, property); +} + +const fun1 = () => 1; +const fun2 = () => 2; +const fun3 = () => 3; + +function runAssertionsOnSandbox(builder) { + const sandboxContext = vm.createContext({ runAssertions, fun1, fun2, fun3 }); + vm.runInContext(builder('this'), sandboxContext); + vm.runInContext(builder('{}'), sandboxContext); +} + +// Assertions on: define property +runAssertions(global, 'toto', true, 1, 2, 3); +runAssertions(global, Symbol.for('toto'), true, 1, 2, 3); +runAssertions(global, 'tutu', true, fun1, fun2, fun3); +runAssertions(global, Symbol.for('tutu'), true, fun1, fun2, fun3); +runAssertions(global, 'tyty', true, fun1, 2, 3); +runAssertions(global, Symbol.for('tyty'), true, fun1, 2, 3); + +// Assertions on: direct assignment +runAssertions(global, 'titi', false, 1, 2, 3); +runAssertions(global, Symbol.for('titi'), false, 1, 2, 3); +runAssertions(global, 'tata', false, fun1, fun2, fun3); +runAssertions(global, Symbol.for('tata'), false, fun1, fun2, fun3); +runAssertions(global, 'tztz', false, fun1, 2, 3); +runAssertions(global, Symbol.for('tztz'), false, fun1, 2, 3); + +// Assertions on: define property from sandbox +runAssertionsOnSandbox( + (variable) => ` + runAssertions(${variable}, 'toto', true, 1, 2, 3); + runAssertions(${variable}, Symbol.for('toto'), true, 1, 2, 3); + runAssertions(${variable}, 'tutu', true, fun1, fun2, fun3); + runAssertions(${variable}, Symbol.for('tutu'), true, fun1, fun2, fun3); + runAssertions(${variable}, 'tyty', true, fun1, 2, 3); + runAssertions(${variable}, Symbol.for('tyty'), true, fun1, 2, 3);` +); + +// Assertions on: direct assignment from sandbox +runAssertionsOnSandbox( + (variable) => ` + runAssertions(${variable}, 'titi', false, 1, 2, 3); + runAssertions(${variable}, Symbol.for('titi'), false, 1, 2, 3); + runAssertions(${variable}, 'tata', false, fun1, fun2, fun3); + runAssertions(${variable}, Symbol.for('tata'), false, fun1, fun2, fun3); + runAssertions(${variable}, 'tztz', false, fun1, 2, 3); + runAssertions(${variable}, Symbol.for('tztz'), false, fun1, 2, 3);` +); + +// Helpers + +// Set the property on data and assert it worked +function setPropertyAndAssert(data, property, viaDefine, value) { + if (viaDefine) { + Object.defineProperty(data, property, { + enumerable: true, + writable: true, + value: value, + configurable: true, + }); + } else { + data[property] = value; + } + assert.strictEqual(data[property], value); + assert.ok(property in data); + if (typeof property === 'string') { + assert.ok(Object.getOwnPropertyNames(data).includes(property)); + } else { + assert.ok(Object.getOwnPropertySymbols(data).includes(property)); + } +} + +// Delete the property from data and assert it worked +function deletePropertyAndAssert(data, property) { + delete data[property]; + assert.strictEqual(data[property], undefined); + assert.ok(!(property in data)); + assert.ok(!Object.getOwnPropertyNames(data).includes(property)); + assert.ok(!Object.getOwnPropertySymbols(data).includes(property)); +} diff --git a/test/parallel/test-vm-global-symbol.js b/test/parallel/test-vm-global-symbol.js deleted file mode 100644 index 92038d9bfcf02d..00000000000000 --- a/test/parallel/test-vm-global-symbol.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; -require('../common'); -const assert = require('assert'); -const vm = require('vm'); - -const global = vm.runInContext('this', vm.createContext()); - -const totoSymbol = Symbol.for('toto'); -Object.defineProperty(global, totoSymbol, { - enumerable: true, - writable: true, - value: 4, - configurable: true, -}); -assert.strictEqual(global[totoSymbol], 4); -assert.ok(Object.getOwnPropertySymbols(global).includes(totoSymbol)); - -const totoKey = 'toto'; -Object.defineProperty(global, totoKey, { - enumerable: true, - writable: true, - value: 5, - configurable: true, -}); -assert.strictEqual(global[totoKey], 5); -assert.ok(Object.getOwnPropertyNames(global).includes(totoKey)); From b8f4070f71d0f7dc445c73ce427f5e651e159e8b Mon Sep 17 00:00:00 2001 From: Raghu Saxena Date: Thu, 25 May 2023 00:40:39 +0800 Subject: [PATCH 091/146] src: check node_extra_ca_certs after openssl cfg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I recently discovered that the custom NodeJS specific OpenSSL config section in openssl.cnf would not be respected, if the environment variable `NODE_EXTRA_CA_CERTS` was set. This happens even if it contains an invalid value, i.e no actual certs are read. Someone suggested moving the checking of extra ca certs to after the OpenSSL config is read, and this seems to work. PR-URL: https://github.com/nodejs/node/pull/48159 Reviewed-By: Richard Lau Reviewed-By: Tobias Nießen Reviewed-By: Minwoo Jung Reviewed-By: Michael Dawson --- src/node.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/node.cc b/src/node.cc index acab0cb3d960b6..b29dc57d6011b5 100644 --- a/src/node.cc +++ b/src/node.cc @@ -961,11 +961,6 @@ InitializeOncePerProcessInternal(const std::vector& args, return ret; }; - { - std::string extra_ca_certs; - if (credentials::SafeGetenv("NODE_EXTRA_CA_CERTS", &extra_ca_certs)) - crypto::UseExtraCaCerts(extra_ca_certs); - } // In the case of FIPS builds we should make sure // the random source is properly initialized first. #if OPENSSL_VERSION_MAJOR >= 3 @@ -1052,6 +1047,12 @@ InitializeOncePerProcessInternal(const std::vector& args, CHECK(crypto::CSPRNG(buffer, length).is_ok()); return true; }); + + { + std::string extra_ca_certs; + if (credentials::SafeGetenv("NODE_EXTRA_CA_CERTS", &extra_ca_certs)) + crypto::UseExtraCaCerts(extra_ca_certs); + } #endif // HAVE_OPENSSL && !defined(OPENSSL_IS_BORINGSSL) } From 0ca90a1e6dec9cb215cfe980a8bac33d113e3e65 Mon Sep 17 00:00:00 2001 From: Daniel Holbert Date: Sat, 27 May 2023 02:56:14 -0700 Subject: [PATCH 092/146] doc: add `auto` intrinsic height to prevent jitter/flicker This commit addresses a scrolling/flickering issue in the HTML version of the docs. By adding `auto` to the `contain-intrinsic-size` CSS property, we're asking the browser to remember the last-rendered size for the element (once it's been rendered) instead of forcing the browser to treat it as being 1px by 5000px when it goes offscreen. PR-URL: https://github.com/nodejs/node/pull/48195 Reviewed-By: Antoine du Hamel Reviewed-By: Yagiz Nizipli --- doc/api_assets/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api_assets/style.css b/doc/api_assets/style.css index 6b27fa1fb71b94..15e7b73f770eab 100644 --- a/doc/api_assets/style.css +++ b/doc/api_assets/style.css @@ -436,7 +436,7 @@ dd + dt.pre { #apicontent section { content-visibility: auto; - contain-intrinsic-size: 1px 5000px; + contain-intrinsic-size: 1px auto 5000px; } #apicontent .line { From 3c82165d27b8a25849fec0b1b191c6caed1b7d43 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 27 May 2023 08:51:13 -0700 Subject: [PATCH 093/146] doc: remove broken link for keygen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove broken link to deprecated keygen element. Replacing the link with something to the relevant part of the HTML spec might be OK, but I don't think it's necessary. People who need to know will find it and everyone else should be discouraged from using this. Support for the keygen element was removed from Chrome in 2017 and removed from Firefox in 2019. We might consider deprecating and removing support ourselves, or at least marking the API as legacy. Refs: https://caniuse.com/?search=keygen PR-URL: https://github.com/nodejs/node/pull/48176 Reviewed-By: Tobias Nießen Reviewed-By: Luigi Pinca Reviewed-By: Mohammed Keyvanzadeh --- doc/api/crypto.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 75f4f2befd6fc4..b9f0bb5e2bee28 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -78,7 +78,7 @@ added: v0.11.8 --> SPKAC is a Certificate Signing Request mechanism originally implemented by -Netscape and was specified formally as part of [HTML5's `keygen` element][]. +Netscape and was specified formally as part of HTML5's `keygen` element. `` is deprecated since [HTML 5.2][] and new projects should not use this element anymore. @@ -5999,7 +5999,6 @@ See the [list of SSL OP Flags][] for details. [Caveats]: #support-for-weak-or-compromised-algorithms [Crypto constants]: #crypto-constants [HTML 5.2]: https://www.w3.org/TR/html52/changes.html#features-removed -[HTML5's `keygen` element]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen [JWK]: https://tools.ietf.org/html/rfc7517 [NIST SP 800-131A]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar1.pdf [NIST SP 800-132]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf From 5f83ce530f9c0ca20c38f4387f73465db0bc6076 Mon Sep 17 00:00:00 2001 From: Vadym <40889760+devule@users.noreply.github.com> Date: Sat, 27 May 2023 22:32:38 +0300 Subject: [PATCH 094/146] doc: fix typo in readline completer function section PR-URL: https://github.com/nodejs/node/pull/48188 Reviewed-By: Marco Ippolito Reviewed-By: Darshan Sen Reviewed-By: Zeyu "Alex" Yang Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Daijiro Wachi --- doc/api/readline.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/readline.md b/doc/api/readline.md index eaac5f8f79d579..034a285073ce6f 100644 --- a/doc/api/readline.md +++ b/doc/api/readline.md @@ -744,7 +744,7 @@ function completer(line) { } ``` -The `completer` function can also returns a {Promise}, or be asynchronous: +The `completer` function can also return a {Promise}, or be asynchronous: ```js async function completer(linePartial) { From c1c4796a86b1c9e7f440f44cee98c6f04b7046cf Mon Sep 17 00:00:00 2001 From: Keyhan Vakil Date: Sat, 27 May 2023 16:40:05 -0700 Subject: [PATCH 095/146] test: mark test_cannot_run_js as flaky This test has been failing occasionally since it was introduced ~5 days ago. It was the most common failing JS test in the most recent reliability report. Mark it as flaky. Fixes: https://github.com/nodejs/node/issues/48180 Refs: https://github.com/nodejs/node/pull/47986 Refs: https://github.com/nodejs/reliability/issues/576 PR-URL: https://github.com/nodejs/node/pull/48181 Reviewed-By: Chengzhong Wu Reviewed-By: Michael Dawson --- test/root.status | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/root.status b/test/root.status index 85d907b1f9cc07..12fef69a4b3c92 100644 --- a/test/root.status +++ b/test/root.status @@ -1,3 +1,6 @@ +[true] +js-native-api/test_cannot_run_js/test: PASS,FLAKY + [$mode==debug] async-hooks/test-callback-error: SLOW async-hooks/test-emit-init: SLOW From 13e95e21a46a447339772e1d8ad451cfc4f89230 Mon Sep 17 00:00:00 2001 From: Chemi Atlow Date: Sun, 28 May 2023 11:28:38 +0300 Subject: [PATCH 096/146] doc: add atlowChemi to triagers PR-URL: https://github.com/nodejs/node/pull/48104 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Rich Trott Reviewed-By: Qingyu Deng Reviewed-By: Darshan Sen Reviewed-By: Daeyeon Jeong Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Luigi Pinca Reviewed-By: Feng Yu --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2ee48f7f5adab1..17bb106d5d3583 100644 --- a/README.md +++ b/README.md @@ -691,6 +691,8 @@ maintaining the Node.js project. ### Triagers +* [atlowChemi](https://github.com/atlowChemi) - + **Chemi Atlow** <> (he/him) * [Ayase-252](https://github.com/Ayase-252) - **Qingyu Deng** <> * [bmuenzenmeyer](https://github.com/bmuenzenmeyer) - From 568a705799db0856929a2c3af702bb0b432478df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 28 May 2023 14:01:50 +0200 Subject: [PATCH 097/146] tools: refactor v8_pch config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoid repetition by defining a new GYP target. PR-URL: https://github.com/nodejs/node/pull/47364 Reviewed-By: Richard Lau Reviewed-By: Jiawen Geng Reviewed-By: Tobias Nießen --- tools/v8_gypfiles/v8.gyp | 71 +++++++++++++--------------------------- 1 file changed, 23 insertions(+), 48 deletions(-) diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 6f04ec212b4804..f822c056e589f6 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -43,6 +43,23 @@ }, }, 'targets': [ + { + 'target_name': 'v8_pch', + 'type': 'none', + 'toolsets': ['host', 'target'], + 'conditions': [ + ['OS=="win"', { + 'direct_dependent_settings': { + 'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h', + 'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc', + 'sources': [ + '<(_msvs_precompiled_header)', + '<(_msvs_precompiled_source)', + ], + }, + }], + ], + }, # v8_pch { 'target_name': 'run_torque', 'type': 'none', @@ -244,6 +261,7 @@ 'torque_generated_initializers', 'v8_base_without_compiler', 'v8_shared_internal_headers', + 'v8_pch', ], 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)', @@ -318,14 +336,6 @@ '<(V8_ROOT)/src/builtins/builtins-intl-gen.cc', ], }], - ['OS=="win"', { - 'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h', - 'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc', - 'sources': [ - '<(_msvs_precompiled_header)', - '<(_msvs_precompiled_source)', - ], - }], ], }, # v8_initializers { @@ -750,16 +760,9 @@ 'v8_internal_headers', 'v8_libbase', 'v8_shared_internal_headers', + 'v8_pch', ], 'conditions': [ - ['OS=="win"', { - 'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h', - 'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc', - 'sources': [ - '<(_msvs_precompiled_header)', - '<(_msvs_precompiled_source)', - ], - }], ['v8_enable_turbofan==1', { 'dependencies': ['v8_compiler_sources'], }, { @@ -780,6 +783,7 @@ 'v8_libbase', 'v8_shared_internal_headers', 'v8_turboshaft', + 'v8_pch', ], 'conditions': [ ['v8_enable_turbofan==1', { @@ -787,14 +791,6 @@ }, { 'sources': ['<(V8_ROOT)/src/compiler/turbofan-disabled.cc'], }], - ['OS=="win"', { - 'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h', - 'msvs_precompiled_source': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.cc', - 'sources': [ - '<(_msvs_precompiled_header)', - '<(_msvs_precompiled_source)', - ], - }], ], }, # v8_compiler { @@ -809,20 +805,11 @@ 'v8_base_without_compiler', 'v8_libbase', 'v8_shared_internal_headers', + 'v8_pch', ], 'sources': [ ' Date: Sat, 27 May 2023 18:58:28 +0200 Subject: [PATCH 098/146] doc: fix broken link to new folder doc/contributing/maintaining MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48205 Reviewed-By: Antoine du Hamel Reviewed-By: Marco Ippolito Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Mestery Reviewed-By: Deokjin Kim Reviewed-By: Tobias Nießen --- .github/workflows/timezone-update.yml | 2 +- deps/openssl/README.md | 2 +- tools/dep_updaters/README.md | 2 +- tools/dep_updaters/update-openssl.sh | 4 ++-- tools/dep_updaters/utils.sh | 3 ++- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/timezone-update.yml b/.github/workflows/timezone-update.yml index 7846a66d265acd..50f42399a42815 100644 --- a/.github/workflows/timezone-update.yml +++ b/.github/workflows/timezone-update.yml @@ -48,7 +48,7 @@ jobs: body: | This PR was generated by tools/timezone-update.yml. - Updates the ICU files as per the instructions present in https://github.com/nodejs/node/blob/main/doc/contributing/maintaining-icu.md#time-zone-data + Updates the ICU files as per the instructions present in https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-icu.md#time-zone-data To test, build node off this branch & log the version of tz using ```js diff --git a/deps/openssl/README.md b/deps/openssl/README.md index bc69562b08a041..06f5c71c65d455 100644 --- a/deps/openssl/README.md +++ b/deps/openssl/README.md @@ -86,4 +86,4 @@ Also remove the architecture from the list of supported ASM architectures in ### Upgrading OpenSSL -Please refer to [maintaining-openssl](../../doc/contributing/maintaining-openssl.md). +Please refer to [maintaining-openssl](../../doc/contributing/maintaining/maintaining-openssl.md). diff --git a/tools/dep_updaters/README.md b/tools/dep_updaters/README.md index 7e6e47199cc82b..32f2d5a628a540 100644 --- a/tools/dep_updaters/README.md +++ b/tools/dep_updaters/README.md @@ -120,4 +120,4 @@ been created with the changes), do the following: 3. Create a commit for the update and in the commit message include the important/relevant items from the changelog. -[`maintaining-openssl.md`]: https://github.com/nodejs/node/blob/main/doc/contributing/maintaining-openssl.md +[`maintaining-openssl.md`]: https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-openssl.md diff --git a/tools/dep_updaters/update-openssl.sh b/tools/dep_updaters/update-openssl.sh index 710bf3219aaf97..a02bf264c523d8 100755 --- a/tools/dep_updaters/update-openssl.sh +++ b/tools/dep_updaters/update-openssl.sh @@ -1,7 +1,7 @@ #!/bin/sh set -e # Shell script to update OpenSSL in the source tree to a specific version -# Based on https://github.com/nodejs/node/blob/main/doc/contributing/maintaining-openssl.md +# Based on https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-openssl.md cleanup() { EXIT_CODE=$? @@ -56,7 +56,7 @@ regenerate() { make -C "$DEPS_DIR/openssl/config" clean # Needed for compatibility with nasm on 32-bit Windows - # See https://github.com/nodejs/node/blob/main/doc/contributing/maintaining-openssl.md#2-execute-make-in-depsopensslconfig-directory + # See https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-openssl.md#2-execute-make-in-depsopensslconfig-directory sed -i 's/#ifdef/%ifdef/g' "$DEPS_DIR/openssl/openssl/crypto/perlasm/x86asm.pl" sed -i 's/#endif/%endif/g' "$DEPS_DIR/openssl/openssl/crypto/perlasm/x86asm.pl" make -C "$DEPS_DIR/openssl/config" diff --git a/tools/dep_updaters/utils.sh b/tools/dep_updaters/utils.sh index 21231e9410c6a8..c32d7f5a2a0a49 100644 --- a/tools/dep_updaters/utils.sh +++ b/tools/dep_updaters/utils.sh @@ -3,7 +3,8 @@ # This function logs the archive checksum and, if provided, compares it with # the deposited checksum # -# $1 is the package name e.g. 'acorn', 'ada', 'base64' etc. See that file +# $1 is the package name e.g. 'acorn', 'ada', 'base64' etc. See the file +# https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-dependencies.md # for a complete list of package name # $2 is the downloaded archive # $3 (optional) is the deposited sha256 cheksum. When provided, it is checked From 802db923e05b8863d102ccd3f454f2f580f79866 Mon Sep 17 00:00:00 2001 From: Darshan Sen Date: Mon, 29 May 2023 06:56:22 +0530 Subject: [PATCH 099/146] doc,vm: clarify usage of cachedData in vm.compileFunction() Fixes: https://github.com/nodejs/node/issues/48175 Signed-off-by: Darshan Sen PR-URL: https://github.com/nodejs/node/pull/48193 Reviewed-By: Debadree Chatterjee Reviewed-By: Luigi Pinca --- doc/api/vm.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/api/vm.md b/doc/api/vm.md index 7631b39353b7d2..19d39c77a01720 100644 --- a/doc/api/vm.md +++ b/doc/api/vm.md @@ -1005,7 +1005,8 @@ changes: is displayed in stack traces produced by this script. **Default:** `0`. * `cachedData` {Buffer|TypedArray|DataView} Provides an optional `Buffer` or `TypedArray`, or `DataView` with V8's code cache data for the supplied - source. + source. This must be produced by a prior call to [`vm.compileFunction()`][] + with the same `code` and `params`. * `produceCachedData` {boolean} Specifies whether to produce new cache data. **Default:** `false`. * `parsingContext` {Object} The [contextified][] object in which the said @@ -1593,6 +1594,7 @@ are not controllable through the timeout either. [`script.runInContext()`]: #scriptrunincontextcontextifiedobject-options [`script.runInThisContext()`]: #scriptruninthiscontextoptions [`url.origin`]: url.md#urlorigin +[`vm.compileFunction()`]: #vmcompilefunctioncode-params-options [`vm.createContext()`]: #vmcreatecontextcontextobject-options [`vm.runInContext()`]: #vmrunincontextcode-contextifiedobject-options [`vm.runInThisContext()`]: #vmruninthiscontextcode-options From 15336c31397dcbe557c416972676c03599bd86b7 Mon Sep 17 00:00:00 2001 From: Colin Ihrig Date: Mon, 29 May 2023 00:47:21 -0400 Subject: [PATCH 100/146] test_runner: remove redundant check from coverage The code coverage reporting logic already filters out URLs that don't start with 'file:', so there is no need to also filter out URLs that start with 'node:'. PR-URL: https://github.com/nodejs/node/pull/48070 Reviewed-By: Antoine du Hamel Reviewed-By: Moshe Atlow Reviewed-By: Debadree Chatterjee --- lib/internal/test_runner/coverage.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/internal/test_runner/coverage.js b/lib/internal/test_runner/coverage.js index 5a098f71af633b..a20055fa91b601 100644 --- a/lib/internal/test_runner/coverage.js +++ b/lib/internal/test_runner/coverage.js @@ -377,10 +377,13 @@ function mergeCoverage(merged, coverage) { const newScript = coverage[i]; const { url } = newScript; - // Filter out core modules and the node_modules/ directory from results. - if (StringPrototypeStartsWith(url, 'node:') || - StringPrototypeIncludes(url, '/node_modules/') || - // On Windows some generated coverages are invalid. + // The first part of this check filters out the node_modules/ directory + // from the results. This filter is applied first because most real world + // applications will be dominated by third party dependencies. The second + // part of the check filters out core modules, which start with 'node:' in + // coverage reports, as well as any invalid coverages which have been + // observed on Windows. + if (StringPrototypeIncludes(url, '/node_modules/') || !StringPrototypeStartsWith(url, 'file:')) { continue; } From 7478ed014e17bdae49eab291a096d4bb3c76f99b Mon Sep 17 00:00:00 2001 From: Luca Date: Mon, 29 May 2023 06:53:28 +0200 Subject: [PATCH 101/146] tools: order dependency jobs alphabetically Refs: https://github.com/nodejs/security-wg/issues/973 PR-URL: https://github.com/nodejs/node/pull/48184 Reviewed-By: Marco Ippolito Reviewed-By: Mestery Reviewed-By: Luigi Pinca Reviewed-By: Debadree Chatterjee --- .github/workflows/tools.yml | 188 ++++++++++++++++++------------------ 1 file changed, 95 insertions(+), 93 deletions(-) diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index eea4c81c9feb0c..c6e09a04d3f8b7 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -28,6 +28,7 @@ on: - libuv - lint-md-dependencies - llhttp + - minimatch - nghttp2 - nghttp3 - ngtcp2 @@ -36,6 +37,7 @@ on: - simdutf - undici - uvwasi + - zlib env: PYTHON_VERSION: '3.11' @@ -51,67 +53,27 @@ jobs: fail-fast: false # Prevent other jobs from aborting if one fails matrix: include: - - id: eslint - subsystem: tools - label: tools + - id: acorn + subsystem: deps + label: dependencies run: | - ./tools/dep_updaters/update-eslint.sh > temp-output + ./tools/dep_updaters/update-acorn.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: corepack - subsystem: deps - label: dependencies - run: | - make corepack-update - echo "NEW_VERSION=$(node deps/corepack/dist/corepack.js --version)" >> $GITHUB_ENV - - id: lint-md-dependencies - subsystem: tools - label: tools - run: | - cd tools/lint-md - npm ci - NEW_VERSION=$(npm outdated --parseable | cut -d: -f4 | xargs) - if [ "$NEW_VERSION" != "" ]; then - echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV - rm -rf package-lock.json node_modules - # Include $NEW_VERSION to explicitly update the package.json - # entry for the dependency and also so that semver-major updates - # are not skipped. - npm install --ignore-scripts $NEW_VERSION - npm install --ignore-scripts - cd ../.. - make lint-md-rollup - fi - - id: doc - subsystem: tools - label: tools - run: | - cd tools/doc - npm ci - NEW_VERSION=$(npm outdated --parseable | cut -d: -f4 | xargs) - if [ "$NEW_VERSION" != "" ]; then - echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV - rm -rf package-lock.json node_modules - # Include $NEW_VERSION to explicitly update the package.json - # entry for the dependency and also so that semver-major updates - # are not skipped. - npm install --ignore-scripts $NEW_VERSION - npm install --ignore-scripts - fi - - id: undici + - id: acorn-walk subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-undici.sh > temp-output + ./tools/dep_updaters/update-acorn-walk.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: postject - subsystem: deps,test - label: test + - id: ada + subsystem: deps + label: dependencies run: | - ./tools/dep_updaters/update-postject.sh > temp-output + ./tools/dep_updaters/update-ada.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output @@ -123,96 +85,131 @@ jobs: cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: acorn + - id: brotli subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-acorn.sh > temp-output + ./tools/dep_updaters/update-brotli.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: acorn-walk + - id: c-ares subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-acorn-walk.sh > temp-output + ./tools/dep_updaters/update-c-ares.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: libuv + - id: cjs-module-lexer subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-libuv.sh > temp-output + ./tools/dep_updaters/update-cjs-module-lexer.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: simdutf + - id: corepack subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-simdutf.sh > temp-output + make corepack-update + echo "NEW_VERSION=$(node deps/corepack/dist/corepack.js --version)" >> $GITHUB_ENV + - id: doc + subsystem: tools + label: tools + run: | + cd tools/doc + npm ci + NEW_VERSION=$(npm outdated --parseable | cut -d: -f4 | xargs) + if [ "$NEW_VERSION" != "" ]; then + echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV + rm -rf package-lock.json node_modules + # Include $NEW_VERSION to explicitly update the package.json + # entry for the dependency and also so that semver-major updates + # are not skipped. + npm install --ignore-scripts $NEW_VERSION + npm install --ignore-scripts + fi + - id: eslint + subsystem: tools + label: tools + run: | + ./tools/dep_updaters/update-eslint.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: ada + - id: googletest subsystem: deps - label: dependencies + label: dependencies, test run: | - ./tools/dep_updaters/update-ada.sh > temp-output + ./tools/dep_updaters/update-googletest.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: nghttp2 + - id: icu subsystem: deps - label: dependencies + label: dependencies, test run: | - ./tools/dep_updaters/update-nghttp2.sh > temp-output + ./tools/dep_updaters/update-icu.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: llhttp + - id: libuv subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-llhttp.sh > temp-output + ./tools/dep_updaters/update-libuv.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: c-ares + - id: lint-md-dependencies + subsystem: tools + label: tools + run: | + cd tools/lint-md + npm ci + NEW_VERSION=$(npm outdated --parseable | cut -d: -f4 | xargs) + if [ "$NEW_VERSION" != "" ]; then + echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV + rm -rf package-lock.json node_modules + # Include $NEW_VERSION to explicitly update the package.json + # entry for the dependency and also so that semver-major updates + # are not skipped. + npm install --ignore-scripts $NEW_VERSION + npm install --ignore-scripts + cd ../.. + make lint-md-rollup + fi + - id: llhttp subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-c-ares.sh > temp-output + ./tools/dep_updaters/update-llhttp.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: brotli + - id: minimatch subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-brotli.sh > temp-output + ./tools/dep_updaters/update-minimatch.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: minimatch + - id: nghttp2 subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-minimatch.sh > temp-output + ./tools/dep_updaters/update-nghttp2.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: root-certificates - subsystem: crypto - label: crypto, notable-change - run: | - node ./tools/dep_updaters/update-root-certs.mjs -v -f "$GITHUB_ENV" - - id: cjs-module-lexer + - id: nghttp3 subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-cjs-module-lexer.sh > temp-output + ./tools/dep_updaters/update-nghttp3.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output @@ -224,43 +221,48 @@ jobs: cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: nghttp3 - subsystem: deps - label: dependencies + - id: postject + subsystem: deps,test + label: test run: | - ./tools/dep_updaters/update-nghttp3.sh > temp-output + ./tools/dep_updaters/update-postject.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: uvwasi + - id: root-certificates + subsystem: crypto + label: crypto, notable-change + run: | + node ./tools/dep_updaters/update-root-certs.mjs -v -f "$GITHUB_ENV" + - id: simdutf subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-uvwasi.sh > temp-output + ./tools/dep_updaters/update-simdutf.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: zlib + - id: undici subsystem: deps label: dependencies run: | - ./tools/dep_updaters/update-zlib.sh > temp-output + ./tools/dep_updaters/update-undici.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: googletest + - id: uvwasi subsystem: deps - label: dependencies, test + label: dependencies run: | - ./tools/dep_updaters/update-googletest.sh > temp-output + ./tools/dep_updaters/update-uvwasi.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output - - id: icu + - id: zlib subsystem: deps - label: dependencies, test + label: dependencies run: | - ./tools/dep_updaters/update-icu.sh > temp-output + ./tools/dep_updaters/update-zlib.sh > temp-output cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output From 2b51ee5e22a54408731a93a0c0a282d880990393 Mon Sep 17 00:00:00 2001 From: Claudio Wunder Date: Mon, 29 May 2023 11:22:05 +0200 Subject: [PATCH 102/146] doc: update codeowners with website team PR-URL: https://github.com/nodejs/node/pull/48197 Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- .github/CODEOWNERS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index dd0d63d3828c02..47e420a9457bb8 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -18,6 +18,11 @@ /LICENSE @nodejs/tsc /onboarding.md @nodejs/tsc +# website +/doc/api_assets @nodejs/website +/doc/template.html @nodejs/website +/tools/doc @nodejs/website + # streams /lib/_stream* @nodejs/streams From a60bc41e536e23e54bb75a857df8f4910b0ad4fc Mon Sep 17 00:00:00 2001 From: Andrea Fassina Date: Mon, 29 May 2023 12:51:37 +0200 Subject: [PATCH 103/146] tools: deps update authenticate github api request PR-URL: https://github.com/nodejs/node/pull/48200 Fixes: https://github.com/nodejs/node/issues/48119 Refs: https://github.com/nodejs/security-wg/issues/973 Reviewed-By: Luigi Pinca Reviewed-By: Marco Ippolito Reviewed-By: Moshe Atlow Reviewed-By: Mestery --- tools/dep_updaters/update-ada.sh | 7 ++++++- tools/dep_updaters/update-base64.sh | 7 ++++++- tools/dep_updaters/update-brotli.sh | 7 ++++++- tools/dep_updaters/update-c-ares.sh | 7 ++++++- tools/dep_updaters/update-cjs-module-lexer.sh | 7 ++++++- tools/dep_updaters/update-icu.sh | 7 ++++++- tools/dep_updaters/update-libuv.sh | 7 ++++++- tools/dep_updaters/update-llhttp.sh | 7 ++++++- tools/dep_updaters/update-nghttp2.sh | 7 ++++++- tools/dep_updaters/update-nghttp3.sh | 7 ++++++- tools/dep_updaters/update-ngtcp2.sh | 7 ++++++- tools/dep_updaters/update-simdutf.sh | 7 ++++++- tools/dep_updaters/update-uvwasi.sh | 7 ++++++- 13 files changed, 78 insertions(+), 13 deletions(-) diff --git a/tools/dep_updaters/update-ada.sh b/tools/dep_updaters/update-ada.sh index a26f854a1b2c52..a714596a88f66f 100755 --- a/tools/dep_updaters/update-ada.sh +++ b/tools/dep_updaters/update-ada.sh @@ -11,7 +11,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/ada-url/ada/releases/latest'); +const res = await fetch('https://api.github.com/repos/ada-url/ada/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); diff --git a/tools/dep_updaters/update-base64.sh b/tools/dep_updaters/update-base64.sh index ff39a5f6e82010..7bc8e274ecaf11 100755 --- a/tools/dep_updaters/update-base64.sh +++ b/tools/dep_updaters/update-base64.sh @@ -12,7 +12,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/aklomp/base64/releases/latest'); +const res = await fetch('https://api.github.com/repos/aklomp/base64/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); diff --git a/tools/dep_updaters/update-brotli.sh b/tools/dep_updaters/update-brotli.sh index 3e9d6eddeaf665..c8daf695e14a08 100755 --- a/tools/dep_updaters/update-brotli.sh +++ b/tools/dep_updaters/update-brotli.sh @@ -12,7 +12,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/google/brotli/releases/latest'); +const res = await fetch('https://api.github.com/repos/google/brotli/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); diff --git a/tools/dep_updaters/update-c-ares.sh b/tools/dep_updaters/update-c-ares.sh index 4bef7d20abca19..fa7186328ba8e9 100755 --- a/tools/dep_updaters/update-c-ares.sh +++ b/tools/dep_updaters/update-c-ares.sh @@ -12,7 +12,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/c-ares/c-ares/releases/latest'); +const res = await fetch('https://api.github.com/repos/c-ares/c-ares/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('cares-', '').replaceAll('_', '.')); diff --git a/tools/dep_updaters/update-cjs-module-lexer.sh b/tools/dep_updaters/update-cjs-module-lexer.sh index 151a57ebb07460..94adeea05e1a16 100755 --- a/tools/dep_updaters/update-cjs-module-lexer.sh +++ b/tools/dep_updaters/update-cjs-module-lexer.sh @@ -11,7 +11,12 @@ DEPS_DIR="$BASE_DIR/deps" NPM="$DEPS_DIR/npm/bin/npm-cli.js" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/nodejs/cjs-module-lexer/tags'); +const res = await fetch('https://api.github.com/repos/nodejs/cjs-module-lexer/tags', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const tags = await res.json(); const { name } = tags.at(0) diff --git a/tools/dep_updaters/update-icu.sh b/tools/dep_updaters/update-icu.sh index 1a5a57853f477c..22f7321c2c8f7a 100755 --- a/tools/dep_updaters/update-icu.sh +++ b/tools/dep_updaters/update-icu.sh @@ -10,7 +10,12 @@ TOOLS_DIR="$BASE_DIR/tools" [ -x "$NODE" ] || NODE=$(command -v node) NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/unicode-org/icu/releases/latest'); +const res = await fetch('https://api.github.com/repos/unicode-org/icu/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('release-', '').replace('-','.')); diff --git a/tools/dep_updaters/update-libuv.sh b/tools/dep_updaters/update-libuv.sh index ac95f25874db83..f34d74bd17bdcc 100755 --- a/tools/dep_updaters/update-libuv.sh +++ b/tools/dep_updaters/update-libuv.sh @@ -11,7 +11,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/libuv/libuv/releases/latest'); +const res = await fetch('https://api.github.com/repos/libuv/libuv/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); diff --git a/tools/dep_updaters/update-llhttp.sh b/tools/dep_updaters/update-llhttp.sh index 30fb06667ece5b..dda203609a3a50 100755 --- a/tools/dep_updaters/update-llhttp.sh +++ b/tools/dep_updaters/update-llhttp.sh @@ -13,7 +13,12 @@ DEPS_DIR="${BASE_DIR}/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/nodejs/llhttp/releases/latest'); +const res = await fetch('https://api.github.com/repos/nodejs/llhttp/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('release/v', '')); diff --git a/tools/dep_updaters/update-nghttp2.sh b/tools/dep_updaters/update-nghttp2.sh index 5ee7f1f08da0a2..d712221b680dcb 100755 --- a/tools/dep_updaters/update-nghttp2.sh +++ b/tools/dep_updaters/update-nghttp2.sh @@ -12,7 +12,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/nghttp2/nghttp2/releases/latest'); +const res = await fetch('https://api.github.com/repos/nghttp2/nghttp2/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); diff --git a/tools/dep_updaters/update-nghttp3.sh b/tools/dep_updaters/update-nghttp3.sh index f10165960dabae..dd82aad195cc7e 100755 --- a/tools/dep_updaters/update-nghttp3.sh +++ b/tools/dep_updaters/update-nghttp3.sh @@ -11,7 +11,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/ngtcp2/nghttp3/releases'); +const res = await fetch('https://api.github.com/repos/ngtcp2/nghttp3/releases', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const releases = await res.json() const { tag_name } = releases.at(0); diff --git a/tools/dep_updaters/update-ngtcp2.sh b/tools/dep_updaters/update-ngtcp2.sh index 9e9803ee6197e6..b8d8842b73f5be 100755 --- a/tools/dep_updaters/update-ngtcp2.sh +++ b/tools/dep_updaters/update-ngtcp2.sh @@ -11,7 +11,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/ngtcp2/ngtcp2/releases'); +const res = await fetch('https://api.github.com/repos/ngtcp2/ngtcp2/releases', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const releases = await res.json() const { tag_name } = releases.at(0); diff --git a/tools/dep_updaters/update-simdutf.sh b/tools/dep_updaters/update-simdutf.sh index 9eaa9f8149ef63..7076b6dd57cdd7 100755 --- a/tools/dep_updaters/update-simdutf.sh +++ b/tools/dep_updaters/update-simdutf.sh @@ -11,7 +11,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/simdutf/simdutf/releases/latest'); +const res = await fetch('https://api.github.com/repos/simdutf/simdutf/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); diff --git a/tools/dep_updaters/update-uvwasi.sh b/tools/dep_updaters/update-uvwasi.sh index 8ba9dbd9e1d150..5583f3ffad41ab 100755 --- a/tools/dep_updaters/update-uvwasi.sh +++ b/tools/dep_updaters/update-uvwasi.sh @@ -12,7 +12,12 @@ DEPS_DIR="$BASE_DIR/deps" . "$BASE_DIR/tools/dep_updaters/utils.sh" NEW_VERSION="$("$NODE" --input-type=module <<'EOF' -const res = await fetch('https://api.github.com/repos/nodejs/uvwasi/releases/latest'); +const res = await fetch('https://api.github.com/repos/nodejs/uvwasi/releases/latest', + process.env.GITHUB_TOKEN && { + headers: { + "Authorization": `Bearer ${process.env.GITHUB_TOKEN}` + }, + }); if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); const { tag_name } = await res.json(); console.log(tag_name.replace('v', '')); From b81e9d9b7b6847a70bc8778c4a549c29e146f4db Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 29 May 2023 12:59:52 +0200 Subject: [PATCH 104/146] tools: harmonize `dep_updaters` scripts PR-URL: https://github.com/nodejs/node/pull/48201 Reviewed-By: Marco Ippolito Reviewed-By: Luigi Pinca Reviewed-By: Mestery Reviewed-By: Rafael Gonzaga --- tools/dep_updaters/update-acorn.sh | 21 ++++++++------- tools/dep_updaters/update-base64.sh | 16 ++++++------ tools/dep_updaters/update-cjs-module-lexer.sh | 16 ++++++------ tools/dep_updaters/update-undici.sh | 26 +++++++++++++------ 4 files changed, 45 insertions(+), 34 deletions(-) diff --git a/tools/dep_updaters/update-acorn.sh b/tools/dep_updaters/update-acorn.sh index 4f6bf6b0dd7a43..21b2e018c0221d 100755 --- a/tools/dep_updaters/update-acorn.sh +++ b/tools/dep_updaters/update-acorn.sh @@ -34,17 +34,18 @@ rm -rf deps/acorn/acorn "$NODE" "$NPM" init --yes "$NODE" "$NPM" install --global-style --no-bin-links --ignore-scripts "acorn@$NEW_VERSION" - cd node_modules/acorn - # update this version information in src/acorn_version.h - FILE_PATH="$ROOT/src/acorn_version.h" - echo "// This is an auto generated file, please do not edit." > "$FILE_PATH" - echo "// Refer to tools/update-acorn.sh" >> "$FILE_PATH" - echo "#ifndef SRC_ACORN_VERSION_H_" >> "$FILE_PATH" - echo "#define SRC_ACORN_VERSION_H_" >> "$FILE_PATH" - echo "#define ACORN_VERSION \"$NEW_VERSION\"" >> "$FILE_PATH" - echo "#endif // SRC_ACORN_VERSION_H_" >> "$FILE_PATH" ) +# update version information in src/acorn_version.h +cat > "$ROOT/src/acorn_version.h" <> "$DEPS_DIR/base64/base64/lib/config.h" -echo "All done!" -echo "" -echo "Please git add base64/base64, commit the new version:" -echo "" -echo "$ git add -A deps/base64/base64" -echo "$ git commit -m \"deps: update base64 to $NEW_VERSION\"" -echo "" - # update the base64_version.h cat > "$BASE_DIR/src/base64_version.h" << EOL // This is an auto generated file, please do not edit. @@ -82,6 +74,14 @@ cat > "$BASE_DIR/src/base64_version.h" << EOL #endif // SRC_BASE64_VERSION_H_ EOL +echo "All done!" +echo "" +echo "Please git add base64/base64, commit the new version:" +echo "" +echo "$ git add -A deps/base64/base64 src/base64_version.h" +echo "$ git commit -m \"deps: update base64 to $NEW_VERSION\"" +echo "" + # The last line of the script should always print the new version, # as we need to add it to $GITHUB_ENV variable. echo "NEW_VERSION=$NEW_VERSION" diff --git a/tools/dep_updaters/update-cjs-module-lexer.sh b/tools/dep_updaters/update-cjs-module-lexer.sh index 94adeea05e1a16..c3a5cd367063ce 100755 --- a/tools/dep_updaters/update-cjs-module-lexer.sh +++ b/tools/dep_updaters/update-cjs-module-lexer.sh @@ -55,14 +55,6 @@ rm -rf "$DEPS_DIR/cjs-module-lexer" mv node_modules/cjs-module-lexer "$DEPS_DIR/cjs-module-lexer" -echo "All done!" -echo "" -echo "Please git add cjs-module-lexer, commit the new version:" -echo "" -echo "$ git add -A deps/cjs-module-lexer" -echo "$ git commit -m \"deps: update cjs-module-lexer to $NEW_VERSION\"" -echo "" - # update cjs_module_lexer_version.h cat > "$BASE_DIR/src/cjs_module_lexer_version.h" << EOL // This is an auto generated file, please do not edit. @@ -73,6 +65,14 @@ cat > "$BASE_DIR/src/cjs_module_lexer_version.h" << EOL #endif // SRC_CJS_MODULE_LEXER_VERSION_H_ EOL +echo "All done!" +echo "" +echo "Please git add cjs-module-lexer, commit the new version:" +echo "" +echo "$ git add -A deps/cjs-module-lexer src/cjs_module_lexer_version.h" +echo "$ git commit -m \"deps: update cjs-module-lexer to $NEW_VERSION\"" +echo "" + # The last line of the script should always print the new version, # as we need to add it to $GITHUB_ENV variable. echo "NEW_VERSION=$NEW_VERSION" diff --git a/tools/dep_updaters/update-undici.sh b/tools/dep_updaters/update-undici.sh index f9d40fd3fa1e9e..7879e373267bd8 100755 --- a/tools/dep_updaters/update-undici.sh +++ b/tools/dep_updaters/update-undici.sh @@ -36,22 +36,32 @@ rm -f deps/undici/undici.js "$NODE" "$NPM" install --global-style --no-bin-links --ignore-scripts "undici@$NEW_VERSION" cd node_modules/undici "$NODE" "$NPM" run build:node - # update this version information in src/undici_version.h - FILE_PATH="$ROOT/src/undici_version.h" - echo "// This is an auto generated file, please do not edit." > "$FILE_PATH" - echo "// Refer to tools/update-undici.sh" >> "$FILE_PATH" - echo "#ifndef SRC_UNDICI_VERSION_H_" >> "$FILE_PATH" - echo "#define SRC_UNDICI_VERSION_H_" >> "$FILE_PATH" - echo "#define UNDICI_VERSION \"$NEW_VERSION\"" >> "$FILE_PATH" - echo "#endif // SRC_UNDICI_VERSION_H_" >> "$FILE_PATH" ) +# update version information in src/undici_version.h +cat > "$ROOT/src/undici_version.h" < Date: Mon, 29 May 2023 21:15:08 +0200 Subject: [PATCH 105/146] tools: use shasum instead of sha256sum MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit By default, there is no sha256sum command in macOS. PR-URL: https://github.com/nodejs/node/pull/48229 Reviewed-By: Marco Ippolito Reviewed-By: Yagiz Nizipli Reviewed-By: Mestery Reviewed-By: Yongsheng Zhang Reviewed-By: Tobias Nießen Reviewed-By: Rafael Gonzaga Reviewed-By: Darshan Sen Reviewed-By: James M Snell --- tools/dep_updaters/utils.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/dep_updaters/utils.sh b/tools/dep_updaters/utils.sh index c32d7f5a2a0a49..63436781aec8a9 100644 --- a/tools/dep_updaters/utils.sh +++ b/tools/dep_updaters/utils.sh @@ -13,11 +13,11 @@ log_and_verify_sha256sum() { package_name="$1" archive="$2" checksum="$3" - bsd_formatted_checksum=$(sha256sum --tag "$archive") + bsd_formatted_checksum=$(shasum -a 256 --tag "$archive") if [ -z "$3" ]; then echo "$bsd_formatted_checksum" else - archive_checksum=$(sha256sum "$archive") + archive_checksum=$(shasum -a 256 "$archive") if [ "$checksum" = "$archive_checksum" ]; then echo "Valid $package_name checksum" echo "$bsd_formatted_checksum" From 1dabc7390c29277c813882a493a18c74ee796385 Mon Sep 17 00:00:00 2001 From: Filip Skokan Date: Mon, 29 May 2023 20:23:30 +0100 Subject: [PATCH 106/146] Revert "test: unskip negative-settimeout.any.js WPT" This reverts commit 8244e6c35c0e9af3976511f31db2575bd2fc9d7a. PR-URL: https://github.com/nodejs/node/pull/48182 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- test/wpt/status/html/webappapis/timers.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/wpt/status/html/webappapis/timers.json b/test/wpt/status/html/webappapis/timers.json index 0967ef424bce67..21e77a089d5ca7 100644 --- a/test/wpt/status/html/webappapis/timers.json +++ b/test/wpt/status/html/webappapis/timers.json @@ -1 +1,5 @@ -{} +{ + "negative-settimeout.any.js": { + "skip": "unreliable in Node.js; Refs: https://github.com/nodejs/node/issues/37672" + } +} From e12ee59d26d0c559c409e66720de5a8d4d54b989 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Mon, 29 May 2023 21:23:40 +0200 Subject: [PATCH 107/146] test: use lower security level in s_client With the default security level (SECLEVEL=2), the following error ``` 40E72B52DB7F0000:error:0A00018A:SSL routines:tls_process_ske_dhe:dh key too small:../deps/openssl/openssl/ssl/statem/statem_clnt.c:2100 ``` is raised on on Ubuntu 22.04 on WSL2. PR-URL: https://github.com/nodejs/node/pull/48192 Reviewed-By: Ben Noordhuis Reviewed-By: James M Snell --- test/parallel/test-tls-dhe.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-tls-dhe.js b/test/parallel/test-tls-dhe.js index a5cdc2d35ecbb7..46779b09ff6b8f 100644 --- a/test/parallel/test-tls-dhe.js +++ b/test/parallel/test-tls-dhe.js @@ -65,7 +65,7 @@ function test(dhparam, keylen, expectedCipher) { server.listen(0, '127.0.0.1', common.mustCall(() => { const args = ['s_client', '-connect', `127.0.0.1:${server.address().port}`, - '-cipher', ciphers]; + '-cipher', `${ciphers}:@SECLEVEL=1`]; execFile(common.opensslCli, args, common.mustSucceed((stdout) => { assert(keylen === null || From 11918d705fee418fb78bfdc65b0900a30b1a0ad2 Mon Sep 17 00:00:00 2001 From: sinkhaha <1468709106@qq.com> Date: Tue, 30 May 2023 03:48:13 +0800 Subject: [PATCH 108/146] doc: update Buffer.allocUnsafe description PR-URL: https://github.com/nodejs/node/pull/48183 Fixes: https://github.com/nodejs/node/issues/42821 Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- doc/api/buffer.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/api/buffer.md b/doc/api/buffer.md index d457df43775874..4ef77573adfe67 100644 --- a/doc/api/buffer.md +++ b/doc/api/buffer.md @@ -807,10 +807,9 @@ A `TypeError` will be thrown if `size` is not a number. The `Buffer` module pre-allocates an internal `Buffer` instance of size [`Buffer.poolSize`][] that is used as a pool for the fast allocation of new -`Buffer` instances created using [`Buffer.allocUnsafe()`][], -[`Buffer.from(array)`][], [`Buffer.concat()`][], and the deprecated -`new Buffer(size)` constructor only when `size` is less than or equal -to `Buffer.poolSize >> 1` (floor of [`Buffer.poolSize`][] divided by two). +`Buffer` instances created using [`Buffer.allocUnsafe()`][], [`Buffer.from(array)`][], +and [`Buffer.concat()`][] only when `size` is less than or equal to +`Buffer.poolSize >> 1` (floor of [`Buffer.poolSize`][] divided by two). Use of this pre-allocated internal memory pool is a key difference between calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. From 13930f092f40c847734b4b38546b3bd8160f69ec Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Tue, 30 May 2023 01:38:37 +0100 Subject: [PATCH 109/146] deps: update ada to 2.5.0 PR-URL: https://github.com/nodejs/node/pull/48223 Reviewed-By: Yagiz Nizipli Reviewed-By: Matthew Aitken Reviewed-By: Rich Trott Reviewed-By: Mestery Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- deps/ada/ada.cpp | 15 ++++++++++----- deps/ada/ada.h | 22 +++++++++++----------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/deps/ada/ada.cpp b/deps/ada/ada.cpp index 1759de2a1317d4..570a659d118de5 100644 --- a/deps/ada/ada.cpp +++ b/deps/ada/ada.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */ +/* auto-generated on 2023-05-25 16:09:25 -0400. Do not edit! */ /* begin file src/ada.cpp */ #include "ada.h" /* begin file src/checkers.cpp */ @@ -9313,7 +9313,7 @@ bool is_label_valid(const std::u32string_view label) { // - For Nontransitional Processing, each value must be either valid or // deviation. - // If CheckJoiners, the label must satisify the ContextJ rules from Appendix + // If CheckJoiners, the label must satisfy the ContextJ rules from Appendix // A, in The Unicode Code Points and Internationalized Domain Names for // Applications (IDNA) [IDNA2008]. constexpr static uint32_t virama[] = { @@ -10604,7 +10604,7 @@ ada_really_inline void remove_ascii_tab_or_newline( ada_really_inline std::string_view substring(std::string_view input, size_t pos) noexcept { ADA_ASSERT_TRUE(pos <= input.size()); - // The following is safer but uneeded if we have the above line: + // The following is safer but unneeded if we have the above line: // return pos > input.size() ? std::string_view() : input.substr(pos); return input.substr(pos); } @@ -11751,7 +11751,10 @@ namespace ada { if (non_special_scheme == "blob") { if (!path.empty()) { auto result = ada::parse(path); - if (result && result->is_special()) { + if (result && + (result->type == scheme::HTTP || result->type == scheme::HTTPS)) { + // If pathURL’s scheme is not "http" and not "https", then return a + // new opaque origin. return ada::helpers::concat(result->get_protocol(), "//", result->get_host()); } @@ -13720,7 +13723,9 @@ bool url_aggregator::set_hostname(const std::string_view input) { std::string_view path = get_pathname(); if (!path.empty()) { auto out = ada::parse(path); - if (out && out->is_special()) { + if (out && (out->type == scheme::HTTP || out->type == scheme::HTTPS)) { + // If pathURL’s scheme is not "http" and not "https", then return a + // new opaque origin. return helpers::concat(out->get_protocol(), "//", out->get_host()); } } diff --git a/deps/ada/ada.h b/deps/ada/ada.h index cd9a69a1e09a05..e48e9e6ee2d265 100644 --- a/deps/ada/ada.h +++ b/deps/ada/ada.h @@ -1,4 +1,4 @@ -/* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */ +/* auto-generated on 2023-05-25 16:09:25 -0400. Do not edit! */ /* begin file include/ada.h */ /** * @file ada.h @@ -425,7 +425,7 @@ namespace ada { #define ADA_DEVELOPMENT_CHECKS 1 #endif // __OPTIMIZE__ #endif // _MSC_VER -#endif // SIMDJSON_DEVELOPMENT_CHECKS +#endif // ADA_DEVELOPMENT_CHECKS #define ADA_STR(x) #x @@ -949,7 +949,7 @@ ada_really_inline bool bit_at(const uint8_t a[], const uint8_t i) { namespace ada::checkers { inline bool has_hex_prefix_unsafe(std::string_view input) { - // This is actualy efficient code, see has_hex_prefix for the assembly. + // This is actually efficient code, see has_hex_prefix for the assembly. uint32_t value_one = 1; bool is_little_endian = (reinterpret_cast(&value_one)[0] == 1); uint16_t word0x{}; @@ -2895,7 +2895,7 @@ struct default_constructor_tag { }; // expected_default_ctor_base will ensure that expected has a deleted default -// consturctor if T is not default constructible. +// constructor if T is not default constructible. // This specialization is for when T is default constructible template Date: Tue, 30 May 2023 11:40:58 +0530 Subject: [PATCH 110/146] doc: improve the documentation of the stdio option Fixes: https://github.com/nodejs/node/issues/47705 PR-URL: https://github.com/nodejs/node/pull/48110 Refs: https://nodejs.org/docs/latest-v20.x/api/cluster.html#clustersettings Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- doc/api/cluster.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/api/cluster.md b/doc/api/cluster.md index 7ab57b02a5a262..aa2e9b4057e5fc 100644 --- a/doc/api/cluster.md +++ b/doc/api/cluster.md @@ -935,7 +935,8 @@ changes: **Default:** `false`. * `stdio` {Array} Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must contain an - `'ipc'` entry. When this option is provided, it overrides `silent`. + `'ipc'` entry. When this option is provided, it overrides `silent`. See + [`child_process.spawn()`][]'s [`stdio`][]. * `uid` {number} Sets the user identity of the process. (See setuid(2).) * `gid` {number} Sets the group identity of the process. (See setgid(2).) * `inspectPort` {number|Function} Sets inspector port of worker. @@ -1092,6 +1093,7 @@ for (const worker of Object.values(cluster.workers)) { [`.setupPrimary()`]: #clustersetupprimarysettings [`ChildProcess.send()`]: child_process.md#subprocesssendmessage-sendhandle-options-callback [`child_process.fork()`]: child_process.md#child_processforkmodulepath-args-options +[`child_process.spawn()`]: child_process.md#child_processspawncommand-args-options [`child_process` event: `'exit'`]: child_process.md#event-exit [`child_process` event: `'message'`]: child_process.md#event-message [`cluster.isPrimary`]: #clusterisprimary @@ -1100,5 +1102,6 @@ for (const worker of Object.values(cluster.workers)) { [`kill()`]: process.md#processkillpid-signal [`process` event: `'message'`]: process.md#event-message [`server.close()`]: net.md#event-close +[`stdio`]: child_process.md#optionsstdio [`worker.exitedAfterDisconnect`]: #workerexitedafterdisconnect [`worker_threads`]: worker_threads.md From 215b2bc72c5fcdf1516c21cbfa51d2acdecf8cfa Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Tue, 30 May 2023 08:11:06 +0200 Subject: [PATCH 111/146] test: fix zlib version regex Add support for subrevision in the regular expression for the zlib version. Refs: https://github.com/madler/zlib/blob/48c3741002ac/zlib.h#L40 PR-URL: https://github.com/nodejs/node/pull/48227 Reviewed-By: Mestery Reviewed-By: James M Snell --- test/parallel/test-process-versions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-process-versions.js b/test/parallel/test-process-versions.js index f706bd060b45ff..31886093df8cc2 100644 --- a/test/parallel/test-process-versions.js +++ b/test/parallel/test-process-versions.js @@ -61,7 +61,7 @@ assert.match(process.versions.brotli, commonTemplate); assert.match(process.versions.llhttp, commonTemplate); assert.match(process.versions.node, commonTemplate); assert.match(process.versions.uv, commonTemplate); -assert.match(process.versions.zlib, commonTemplate); +assert.match(process.versions.zlib, /^\d+(?:\.\d+){2,3}(?:-.*)?$/); if (hasUndici) { assert.match(process.versions.undici, commonTemplate); From 07aa264366b6d5ee131bbc8fe921ea83b902ad48 Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Tue, 30 May 2023 10:32:27 +0200 Subject: [PATCH 112/146] tools: automate histogram update PR-URL: https://github.com/nodejs/node/pull/48171 Refs: https://github.com/nodejs/security-wg/issues/828 Reviewed-By: Rafael Gonzaga Reviewed-By: James M Snell --- .github/workflows/tools.yml | 9 ++++ tools/dep_updaters/update-histogram.sh | 74 ++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100755 tools/dep_updaters/update-histogram.sh diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index c6e09a04d3f8b7..5b5d79dbb58a25 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -24,6 +24,7 @@ on: - doc - eslint - googletest + - histogram - icu - libuv - lint-md-dependencies @@ -147,6 +148,14 @@ jobs: cat temp-output tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output + - id: histogram + subsystem: deps + label: dependencies + run: | + ./tools/dep_updaters/update-histogram.sh > temp-output + cat temp-output + tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true + rm temp-output - id: icu subsystem: deps label: dependencies, test diff --git a/tools/dep_updaters/update-histogram.sh b/tools/dep_updaters/update-histogram.sh new file mode 100755 index 00000000000000..5116583562ca4a --- /dev/null +++ b/tools/dep_updaters/update-histogram.sh @@ -0,0 +1,74 @@ +#!/bin/sh +set -e +# Shell script to update histogram in the source tree to specific version + +BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd) +DEPS_DIR="$BASE_DIR/deps" + +[ -z "$NODE" ] && NODE="$BASE_DIR/out/Release/node" +[ -x "$NODE" ] || NODE=$(command -v node) + +# shellcheck disable=SC1091 +. "$BASE_DIR/tools/dep_updaters/utils.sh" + +NEW_VERSION="$("$NODE" --input-type=module <<'EOF' +const res = await fetch('https://api.github.com/repos/HdrHistogram/HdrHistogram_c/releases/latest'); +if (!res.ok) throw new Error(`FetchError: ${res.status} ${res.statusText}`, { cause: res }); +const { tag_name } = await res.json(); +console.log(tag_name.replace('v', '')); +EOF +)" + +CURRENT_VERSION=$(grep "#define HDR_HISTOGRAM_VERSION" ./deps/histogram/include/hdr/hdr_histogram_version.h | sed -n "s/^.*VERSION \"\(.*\)\"/\1/p") + +echo "Comparing $NEW_VERSION with $CURRENT_VERSION" + +if [ "$NEW_VERSION" = "$CURRENT_VERSION" ]; then + echo "Skipped because histogram is on the latest version." + exit 0 +fi + +echo "Making temporary workspace" + +WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp') + +cleanup () { + EXIT_CODE=$? + [ -d "$WORKSPACE" ] && rm -rf "$WORKSPACE" + exit $EXIT_CODE +} + +trap cleanup INT TERM EXIT + +HISTOGRAM_TARBALL="$NEW_VERSION.tar.gz" + +cd "$WORKSPACE" + +echo "Fetching histogram source archive" + +curl -sL -o "$HISTOGRAM_TARBALL" "https://github.com/HdrHistogram/HdrHistogram_c/archive/refs/tags/$HISTOGRAM_TARBALL" + +log_and_verify_sha256sum "histogram" "$HISTOGRAM_TARBALL" + +gzip -dc "$HISTOGRAM_TARBALL" | tar xf - + +rm "$HISTOGRAM_TARBALL" + +mv "HdrHistogram_c-$NEW_VERSION" histogram + +cp "$WORKSPACE/histogram/include/hdr/hdr_histogram_version.h" "$WORKSPACE/histogram/include/hdr/hdr_histogram.h" "$DEPS_DIR/histogram/include/hdr" + +cp "$WORKSPACE/histogram/src/hdr_atomic.h" "$WORKSPACE/histogram/src/hdr_malloc.h" "$WORKSPACE/histogram/src/hdr_tests.h" "$WORKSPACE/histogram/src/hdr_histogram.c" "$DEPS_DIR/histogram/src" + + +echo "All done!" +echo "" +echo "Please git add histogram, commit the new version:" +echo "" +echo "$ git add -A deps/histogram" +echo "$ git commit -m \"deps: update histogram to $NEW_VERSION\"" +echo "" + +# The last line of the script should always print the new version, +# as we need to add it to $GITHUB_ENV variable. +echo "NEW_VERSION=$NEW_VERSION" From 750e53ca3c3369dd1b4ece883f59f33d3a2abb66 Mon Sep 17 00:00:00 2001 From: Paolo Insogna Date: Thu, 11 May 2023 09:14:03 -0700 Subject: [PATCH 113/146] net: fix family autoselection timeout handling PR-URL: https://github.com/nodejs/node/pull/47860 Reviewed-By: James M Snell Reviewed-By: Matteo Collina --- lib/net.js | 32 ++++++----- test/parallel/test-net-autoselectfamily.js | 64 +++++++++++++++++++++- 2 files changed, 80 insertions(+), 16 deletions(-) diff --git a/lib/net.js b/lib/net.js index f52222ec586ded..369f6fb6c84d3f 100644 --- a/lib/net.js +++ b/lib/net.js @@ -134,7 +134,6 @@ let autoSelectFamilyAttemptTimeoutDefault = 250; const { clearTimeout, setTimeout } = require('timers'); const { kTimeout } = require('internal/timers'); -const kTimeoutTriggered = Symbol('kTimeoutTriggered'); const DEFAULT_IPV4_ADDR = '0.0.0.0'; const DEFAULT_IPV6_ADDR = '::'; @@ -1106,9 +1105,10 @@ function internalConnectMultiple(context, canceled) { assert(self.connecting); - const handle = context.current === 0 ? self._handle : new TCP(TCPConstants.SOCKET); + const current = context.current++; + const handle = current === 0 ? self._handle : new TCP(TCPConstants.SOCKET); const { localPort, port, flags } = context; - const { address, family: addressType } = context.addresses[context.current++]; + const { address, family: addressType } = context.addresses[current]; let localAddress; let err; @@ -1135,7 +1135,7 @@ function internalConnectMultiple(context, canceled) { debug('connect/multiple: attempting to connect to %s:%d (addressType: %d)', address, port, addressType); const req = new TCPConnectWrap(); - req.oncomplete = FunctionPrototypeBind(afterConnectMultiple, undefined, context); + req.oncomplete = FunctionPrototypeBind(afterConnectMultiple, undefined, context, current); req.address = address; req.port = port; req.localAddress = localAddress; @@ -1162,8 +1162,12 @@ function internalConnectMultiple(context, canceled) { return; } - // If the attempt has not returned an error, start the connection timer - context[kTimeout] = setTimeout(internalConnectMultipleTimeout, context.timeout, context, req); + if (current < context.addresses.length - 1) { + debug('connect/multiple: setting the attempt timeout to %d ms', context.timeout); + + // If the attempt has not returned an error, start the connection timer + context[kTimeout] = setTimeout(internalConnectMultipleTimeout, context.timeout, context, req, handle); + } } Socket.prototype.connect = function(...args) { @@ -1478,7 +1482,6 @@ function lookupAndConnectMultiple( localPort, timeout, [kTimeout]: null, - [kTimeoutTriggered]: false, errors: [], }; @@ -1581,9 +1584,12 @@ function afterConnect(status, handle, req, readable, writable) { } } -function afterConnectMultiple(context, status, handle, req, readable, writable) { +function afterConnectMultiple(context, current, status, handle, req, readable, writable) { + // Make sure another connection is not spawned + clearTimeout(context[kTimeout]); + // One of the connection has completed and correctly dispatched but after timeout, ignore this one - if (context[kTimeoutTriggered]) { + if (status === 0 && current !== context.current - 1) { debug('connect/multiple: ignoring successful but timedout connection to %s:%s', req.address, req.port); handle.close(); return; @@ -1591,8 +1597,6 @@ function afterConnectMultiple(context, status, handle, req, readable, writable) const self = context.socket; - // Make sure another connection is not spawned - clearTimeout(context[kTimeout]); // Some error occurred, add to the list of exceptions if (status !== 0) { @@ -1633,8 +1637,10 @@ function afterConnectMultiple(context, status, handle, req, readable, writable) afterConnect(status, handle, req, readable, writable); } -function internalConnectMultipleTimeout(context, req) { - context[kTimeoutTriggered] = true; +function internalConnectMultipleTimeout(context, req, handle) { + debug('connect/multiple: connection to %s:%s timed out', req.address, req.port); + req.oncomplete = undefined; + handle.close(); internalConnectMultiple(context); } diff --git a/test/parallel/test-net-autoselectfamily.js b/test/parallel/test-net-autoselectfamily.js index d95819000c146c..d1440951eea6d0 100644 --- a/test/parallel/test-net-autoselectfamily.js +++ b/test/parallel/test-net-autoselectfamily.js @@ -36,7 +36,15 @@ function _lookup(resolver, hostname, options, cb) { }); } -function createDnsServer(ipv6Addr, ipv4Addr, cb) { +function createDnsServer(ipv6Addrs, ipv4Addrs, cb) { + if (!Array.isArray(ipv6Addrs)) { + ipv6Addrs = [ipv6Addrs]; + } + + if (!Array.isArray(ipv4Addrs)) { + ipv4Addrs = [ipv4Addrs]; + } + // Create a DNS server which replies with a AAAA and a A record for the same host const socket = dgram.createSocket('udp4'); @@ -49,8 +57,8 @@ function createDnsServer(ipv6Addr, ipv4Addr, cb) { id: parsed.id, questions: parsed.questions, answers: [ - { type: 'AAAA', address: ipv6Addr, ttl: 123, domain: 'example.org' }, - { type: 'A', address: ipv4Addr, ttl: 123, domain: 'example.org' }, + ...ipv6Addrs.map((address) => ({ type: 'AAAA', address, ttl: 123, domain: 'example.org' })), + ...ipv4Addrs.map((address) => ({ type: 'A', address, ttl: 123, domain: 'example.org' })), ] }), port, address); })); @@ -106,6 +114,56 @@ function createDnsServer(ipv6Addr, ipv4Addr, cb) { })); } +// Test that only the last successful connection is established. +{ + createDnsServer( + '::1', + ['104.20.22.46', '104.20.23.46', '127.0.0.1'], + common.mustCall(function({ dnsServer, lookup }) { + const ipv4Server = createServer((socket) => { + socket.on('data', common.mustCall(() => { + socket.write('response-ipv4'); + socket.end(); + })); + }); + + ipv4Server.listen(0, '127.0.0.1', common.mustCall(() => { + const port = ipv4Server.address().port; + + const connection = createConnection({ + host: 'example.org', + port: port, + lookup, + autoSelectFamily: true, + autoSelectFamilyAttemptTimeout, + }); + + let response = ''; + connection.setEncoding('utf-8'); + + connection.on('ready', common.mustCall(() => { + assert.deepStrictEqual( + connection.autoSelectFamilyAttemptedAddresses, + [`::1:${port}`, `104.20.22.46:${port}`, `104.20.23.46:${port}`, `127.0.0.1:${port}`] + ); + })); + + connection.on('data', (chunk) => { + response += chunk; + }); + + connection.on('end', common.mustCall(() => { + assert.strictEqual(response, 'response-ipv4'); + ipv4Server.close(); + dnsServer.close(); + })); + + connection.write('request'); + })); + }) + ); +} + // Test that IPV4 is NOT reached if IPV6 is reachable if (common.hasIPv6) { createDnsServer('::1', '127.0.0.1', common.mustCall(function({ dnsServer, lookup }) { From bfcb3d1d9a876f399013d326bd65804f9eda77e4 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Wed, 17 May 2023 12:06:26 +0200 Subject: [PATCH 114/146] deps: upgrade to libuv 1.45.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - linux: introduce io_uring support https://github.com/libuv/libuv/pull/3952 - src: add new metrics APIs https://github.com/libuv/libuv/pull/3749 - unix,win: give thread pool threads an 8 MB stack https://github.com/libuv/libuv/pull/3787 - win,unix: change execution order of timers https://github.com/libuv/libuv/pull/3927 Fixes: https://github.com/nodejs/node/issues/43931 Fixes: https://github.com/nodejs/node/issues/42496 Fixes: https://github.com/nodejs/node/issues/47715 Fixes: https://github.com/nodejs/node/issues/47259 Fixes: https://github.com/nodejs/node/issues/47241 PR-URL: https://github.com/nodejs/node/pull/48078 Reviewed-By: Ben Noordhuis Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Debadree Chatterjee Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Yagiz Nizipli Reviewed-By: Michaël Zasso Reviewed-By: Rafael Gonzaga Reviewed-By: Richard Lau Reviewed-By: Tobias Nießen Reviewed-By: Jiawen Geng --- deps/uv/.mailmap | 3 + deps/uv/.readthedocs.yaml | 5 +- deps/uv/AUTHORS | 25 + deps/uv/CMakeLists.txt | 194 +- deps/uv/ChangeLog | 295 ++- deps/uv/LICENSE | 47 - deps/uv/LICENSE-extra | 36 + deps/uv/LINKS.md | 9 +- deps/uv/MAINTAINERS.md | 8 +- deps/uv/Makefile.am | 24 +- deps/uv/README.md | 16 +- deps/uv/SUPPORTED_PLATFORMS.md | 6 +- deps/uv/autogen.sh | 2 +- deps/uv/cmake-toolchains/cross-mingw32.cmake | 17 + deps/uv/configure.ac | 14 +- deps/uv/docs/requirements.txt | 57 +- deps/uv/docs/src/design.rst | 17 +- deps/uv/docs/src/fs.rst | 23 +- deps/uv/docs/src/handle.rst | 3 + deps/uv/docs/src/metrics.rst | 48 +- deps/uv/docs/src/misc.rst | 85 +- deps/uv/docs/src/poll.rst | 4 +- deps/uv/docs/src/static/loop_iteration.png | Bin 80528 -> 65186 bytes deps/uv/docs/src/threading.rst | 40 + deps/uv/docs/src/threadpool.rst | 3 + deps/uv/docs/src/udp.rst | 2 +- deps/uv/include/uv.h | 73 +- deps/uv/include/uv/errno.h | 13 +- deps/uv/include/uv/stdint-msvc2008.h | 247 -- deps/uv/include/uv/unix.h | 1 - deps/uv/include/uv/version.h | 4 +- deps/uv/include/uv/win.h | 33 +- deps/uv/libuv-static.pc.in | 2 +- deps/uv/libuv.pc.in | 1 + deps/uv/src/inet.c | 9 +- deps/uv/src/thread-common.c | 175 ++ deps/uv/src/threadpool.c | 27 +- deps/uv/src/unix/aix.c | 20 +- deps/uv/src/unix/async.c | 140 +- deps/uv/src/unix/atomic-ops.h | 64 - deps/uv/src/unix/core.c | 194 +- deps/uv/src/unix/cygwin.c | 4 + deps/uv/src/unix/darwin-stub.h | 16 - deps/uv/src/unix/darwin.c | 166 +- deps/uv/src/unix/epoll.c | 422 --- deps/uv/src/unix/freebsd.c | 33 +- deps/uv/src/unix/fs.c | 164 +- deps/uv/src/unix/fsevents.c | 31 +- deps/uv/src/unix/haiku.c | 5 + deps/uv/src/unix/hurd.c | 5 + deps/uv/src/unix/ibmi.c | 5 + deps/uv/src/unix/internal.h | 156 +- deps/uv/src/unix/kqueue.c | 135 +- deps/uv/src/unix/linux-core.c | 834 ------ deps/uv/src/unix/linux-inotify.c | 327 --- deps/uv/src/unix/linux-syscalls.c | 264 -- deps/uv/src/unix/linux-syscalls.h | 78 - deps/uv/src/unix/linux.c | 2341 +++++++++++++++++ deps/uv/src/unix/loop.c | 8 +- deps/uv/src/unix/netbsd.c | 9 +- deps/uv/src/unix/openbsd.c | 9 +- deps/uv/src/unix/os390.c | 18 +- deps/uv/src/unix/pipe.c | 2 +- deps/uv/src/unix/posix-hrtime.c | 13 +- deps/uv/src/unix/posix-poll.c | 13 +- deps/uv/src/unix/process.c | 31 +- deps/uv/src/unix/pthread-fixes.c | 58 - deps/uv/src/unix/qnx.c | 5 + deps/uv/src/unix/random-devurandom.c | 2 +- deps/uv/src/unix/random-getrandom.c | 2 - deps/uv/src/unix/signal.c | 2 + deps/uv/src/unix/spinlock.h | 53 - deps/uv/src/unix/stream.c | 185 +- deps/uv/src/unix/sunos.c | 7 + deps/uv/src/unix/tcp.c | 136 +- deps/uv/src/unix/thread.c | 229 +- deps/uv/src/unix/tty.c | 24 +- deps/uv/src/unix/udp.c | 90 +- deps/uv/src/uv-common.c | 70 +- deps/uv/src/uv-common.h | 80 +- deps/uv/src/win/core.c | 70 +- deps/uv/src/win/fs.c | 67 +- deps/uv/src/win/internal.h | 1 - deps/uv/src/win/pipe.c | 48 +- deps/uv/src/win/poll.c | 9 +- deps/uv/src/win/process.c | 137 +- deps/uv/src/win/stream.c | 3 +- deps/uv/src/win/tcp.c | 44 +- deps/uv/src/win/thread.c | 139 +- deps/uv/src/win/tty.c | 25 +- deps/uv/src/win/udp.c | 209 +- deps/uv/src/win/util.c | 310 +-- deps/uv/test/benchmark-async-pummel.c | 7 +- deps/uv/test/benchmark-async.c | 5 +- deps/uv/test/benchmark-fs-stat.c | 12 +- deps/uv/test/benchmark-getaddrinfo.c | 2 +- deps/uv/test/benchmark-loop-count.c | 4 +- deps/uv/test/benchmark-million-async.c | 9 +- deps/uv/test/benchmark-million-timers.c | 2 +- deps/uv/test/benchmark-multi-accept.c | 2 +- deps/uv/test/benchmark-ping-pongs.c | 2 +- deps/uv/test/benchmark-ping-udp.c | 2 +- deps/uv/test/benchmark-pound.c | 2 +- deps/uv/test/benchmark-pump.c | 6 +- deps/uv/test/benchmark-queue-work.c | 9 +- deps/uv/test/benchmark-spawn.c | 2 +- deps/uv/test/benchmark-tcp-write-batch.c | 2 +- deps/uv/test/benchmark-udp-pummel.c | 2 +- deps/uv/test/fixtures/one_file/one_file | 0 deps/uv/test/run-tests.c | 4 - deps/uv/test/runner-unix.c | 1 + deps/uv/test/runner.c | 30 +- deps/uv/test/task.h | 35 +- deps/uv/test/test-active.c | 2 +- deps/uv/test/test-async-null-cb.c | 2 +- deps/uv/test/test-async.c | 2 +- deps/uv/test/test-barrier.c | 58 +- deps/uv/test/test-callback-stack.c | 2 +- deps/uv/test/test-close-fd.c | 2 +- deps/uv/test/test-close-order.c | 2 +- deps/uv/test/test-condvar.c | 23 +- deps/uv/test/test-connect-unspecified.c | 1 + deps/uv/test/test-connection-fail.c | 4 +- deps/uv/test/test-default-loop-close.c | 3 +- deps/uv/test/test-delayed-accept.c | 2 +- deps/uv/test/test-dlerror.c | 8 +- deps/uv/test/test-eintr-handling.c | 4 +- deps/uv/test/test-embed.c | 2 +- deps/uv/test/test-emfile.c | 2 +- deps/uv/test/test-env-vars.c | 5 +- deps/uv/test/test-fork.c | 29 +- deps/uv/test/test-fs-copyfile.c | 10 +- deps/uv/test/test-fs-event.c | 59 +- deps/uv/test/test-fs-open-flags.c | 2 +- deps/uv/test/test-fs-poll.c | 20 +- deps/uv/test/test-fs-readdir.c | 8 +- deps/uv/test/test-fs.c | 346 ++- deps/uv/test/test-get-currentexe.c | 3 + deps/uv/test/test-get-memory.c | 13 +- deps/uv/test/test-get-passwd.c | 121 +- deps/uv/test/test-getaddrinfo.c | 10 +- deps/uv/test/test-gethostname.c | 2 +- deps/uv/test/test-getnameinfo.c | 6 +- deps/uv/test/test-getsockname.c | 4 +- deps/uv/test/test-getters-setters.c | 1 + deps/uv/test/test-handle-fileno.c | 2 +- deps/uv/test/test-hrtime.c | 13 + deps/uv/test/test-idle.c | 4 +- deps/uv/test/test-idna.c | 4 +- deps/uv/test/test-ip-name.c | 4 +- deps/uv/test/test-ip4-addr.c | 2 +- deps/uv/test/test-ip6-addr.c | 6 +- .../test-ipc-heavy-traffic-deadlock-bug.c | 4 +- deps/uv/test/test-ipc-send-recv.c | 20 +- deps/uv/test/test-ipc.c | 14 +- deps/uv/test/test-list.h | 29 + deps/uv/test/test-loop-alive.c | 1 + deps/uv/test/test-loop-close.c | 4 +- deps/uv/test/test-loop-handles.c | 2 +- deps/uv/test/test-loop-stop.c | 1 + deps/uv/test/test-loop-time.c | 4 +- deps/uv/test/test-metrics.c | 265 +- deps/uv/test/test-multiple-listen.c | 2 +- ...-not-readable-nor-writable-on-read-error.c | 2 +- .../test/test-not-writable-after-shutdown.c | 4 +- deps/uv/test/test-osx-select.c | 4 +- deps/uv/test/test-ping-pong.c | 2 +- deps/uv/test/test-pipe-bind-error.c | 10 +- .../test/test-pipe-close-stdout-read-stdin.c | 2 +- deps/uv/test/test-pipe-connect-error.c | 26 +- deps/uv/test/test-pipe-connect-multiple.c | 75 +- deps/uv/test/test-pipe-connect-prepare.c | 2 +- deps/uv/test/test-pipe-getsockname.c | 8 +- deps/uv/test/test-pipe-pending-instances.c | 2 +- deps/uv/test/test-pipe-sendmsg.c | 4 +- deps/uv/test/test-pipe-server-close.c | 2 +- deps/uv/test/test-pipe-set-fchmod.c | 8 +- deps/uv/test/test-pipe-set-non-blocking.c | 2 +- deps/uv/test/test-platform-output.c | 36 +- .../test-poll-close-doesnt-corrupt-stack.c | 2 +- deps/uv/test/test-poll-close.c | 2 +- deps/uv/test/test-poll-closesocket.c | 2 +- deps/uv/test/test-poll-multiple-handles.c | 2 +- deps/uv/test/test-poll-oob.c | 2 +- deps/uv/test/test-poll.c | 10 +- deps/uv/test/test-process-title.c | 2 +- deps/uv/test/test-queue-foreach-delete.c | 2 +- deps/uv/test/test-random.c | 4 +- deps/uv/test/test-readable-on-eof.c | 2 +- deps/uv/test/test-ref.c | 48 +- deps/uv/test/test-run-nowait.c | 1 + deps/uv/test/test-run-once.c | 2 +- deps/uv/test/test-shutdown-close.c | 4 +- deps/uv/test/test-shutdown-eof.c | 2 +- deps/uv/test/test-shutdown-simultaneous.c | 2 +- deps/uv/test/test-shutdown-twice.c | 4 +- deps/uv/test/test-signal-multiple-loops.c | 42 +- deps/uv/test/test-signal-pending-on-close.c | 7 +- deps/uv/test/test-signal.c | 12 +- deps/uv/test/test-socket-buffer-size.c | 2 +- deps/uv/test/test-spawn.c | 72 +- deps/uv/test/test-stdio-over-pipes.c | 6 +- deps/uv/test/test-tcp-alloc-cb-fail.c | 2 +- deps/uv/test/test-tcp-bind-error.c | 22 +- deps/uv/test/test-tcp-bind6-error.c | 10 +- deps/uv/test/test-tcp-close-accept.c | 2 +- .../test/test-tcp-close-after-read-timeout.c | 2 +- deps/uv/test/test-tcp-close-reset.c | 10 +- .../uv/test/test-tcp-close-while-connecting.c | 2 +- deps/uv/test/test-tcp-close.c | 2 +- .../test/test-tcp-connect-error-after-write.c | 14 +- deps/uv/test/test-tcp-connect-error.c | 2 +- deps/uv/test/test-tcp-connect-timeout.c | 6 +- deps/uv/test/test-tcp-connect6-error.c | 2 +- deps/uv/test/test-tcp-create-socket-early.c | 8 +- deps/uv/test/test-tcp-flags.c | 2 +- deps/uv/test/test-tcp-oob.c | 2 +- deps/uv/test/test-tcp-open.c | 10 +- deps/uv/test/test-tcp-read-stop-start.c | 2 +- deps/uv/test/test-tcp-read-stop.c | 2 +- deps/uv/test/test-tcp-rst.c | 5 +- deps/uv/test/test-tcp-shutdown-after-write.c | 2 +- deps/uv/test/test-tcp-try-write-error.c | 2 +- deps/uv/test/test-tcp-try-write.c | 2 +- deps/uv/test/test-tcp-unexpected-read.c | 2 +- deps/uv/test/test-tcp-write-after-connect.c | 2 +- deps/uv/test/test-tcp-write-fail.c | 2 +- deps/uv/test/test-tcp-write-in-a-row.c | 142 + deps/uv/test/test-tcp-write-queue-order.c | 2 +- .../test-tcp-write-to-half-open-connection.c | 2 +- deps/uv/test/test-tcp-writealot.c | 6 +- deps/uv/test/test-thread-affinity.c | 136 + deps/uv/test/test-threadpool-cancel.c | 46 +- deps/uv/test/test-threadpool.c | 4 +- deps/uv/test/test-timer-again.c | 2 +- deps/uv/test/test-timer-from-check.c | 2 +- deps/uv/test/test-timer.c | 59 +- deps/uv/test/test-tty-duplicate-key.c | 6 +- .../test-tty-escape-sequence-processing.c | 65 +- deps/uv/test/test-tty.c | 38 +- deps/uv/test/test-udp-alloc-cb-fail.c | 2 +- deps/uv/test/test-udp-bind.c | 4 +- deps/uv/test/test-udp-connect.c | 5 +- deps/uv/test/test-udp-connect6.c | 5 +- deps/uv/test/test-udp-create-socket-early.c | 6 +- deps/uv/test/test-udp-dgram-too-big.c | 2 +- deps/uv/test/test-udp-ipv6.c | 8 +- deps/uv/test/test-udp-mmsg.c | 2 +- deps/uv/test/test-udp-multicast-interface.c | 2 +- deps/uv/test/test-udp-multicast-interface6.c | 4 +- deps/uv/test/test-udp-multicast-join.c | 5 +- deps/uv/test/test-udp-multicast-join6.c | 5 +- deps/uv/test/test-udp-multicast-ttl.c | 2 +- deps/uv/test/test-udp-open.c | 10 +- deps/uv/test/test-udp-options.c | 4 +- deps/uv/test/test-udp-recv-in-a-row.c | 121 + deps/uv/test/test-udp-send-and-recv.c | 2 +- deps/uv/test/test-udp-send-hang-loop.c | 2 +- deps/uv/test/test-udp-send-immediate.c | 2 +- deps/uv/test/test-udp-send-unreachable.c | 2 +- deps/uv/test/test-udp-sendmmsg-error.c | 2 +- deps/uv/test/test-udp-try-send.c | 2 +- deps/uv/test/test-walk-handles.c | 2 +- deps/uv/test/test-watcher-cross-stop.c | 2 +- deps/uv/tsansupp.txt | 2 + deps/uv/uv.gyp | 16 +- tools/dep_updaters/update-libuv.sh | 1 + 267 files changed, 6911 insertions(+), 4722 deletions(-) create mode 100644 deps/uv/LICENSE-extra create mode 100644 deps/uv/cmake-toolchains/cross-mingw32.cmake delete mode 100644 deps/uv/include/uv/stdint-msvc2008.h create mode 100644 deps/uv/src/thread-common.c delete mode 100644 deps/uv/src/unix/atomic-ops.h delete mode 100644 deps/uv/src/unix/epoll.c delete mode 100644 deps/uv/src/unix/linux-core.c delete mode 100644 deps/uv/src/unix/linux-inotify.c delete mode 100644 deps/uv/src/unix/linux-syscalls.c delete mode 100644 deps/uv/src/unix/linux-syscalls.h create mode 100644 deps/uv/src/unix/linux.c delete mode 100644 deps/uv/src/unix/pthread-fixes.c delete mode 100644 deps/uv/src/unix/spinlock.h create mode 100644 deps/uv/test/fixtures/one_file/one_file create mode 100644 deps/uv/test/test-tcp-write-in-a-row.c create mode 100644 deps/uv/test/test-thread-affinity.c create mode 100644 deps/uv/test/test-udp-recv-in-a-row.c create mode 100644 deps/uv/tsansupp.txt diff --git a/deps/uv/.mailmap b/deps/uv/.mailmap index b23377c6151008..bf12432495de03 100644 --- a/deps/uv/.mailmap +++ b/deps/uv/.mailmap @@ -29,6 +29,7 @@ Keno Fischer Keno Fischer Leith Bade Leonard Hecker +Lewis Russell Maciej Małecki Marc Schlaich Michael @@ -60,5 +61,7 @@ gengjiawen jBarz jBarz ptlomholt +theanarkh <2923878201@qq.com> tjarlama <59913901+tjarlama@users.noreply.github.com> +ywave620 <60539365+ywave620@users.noreply.github.com> zlargon diff --git a/deps/uv/.readthedocs.yaml b/deps/uv/.readthedocs.yaml index e53b9f3e84be0a..c1c9ab238cd900 100644 --- a/deps/uv/.readthedocs.yaml +++ b/deps/uv/.readthedocs.yaml @@ -5,7 +5,10 @@ sphinx: configuration: null fail_on_warning: false +build: + tools: + python: "3.9" + python: - version: 3.8 install: - requirements: docs/requirements.txt diff --git a/deps/uv/AUTHORS b/deps/uv/AUTHORS index e03100eab9d360..b6860c6620f43e 100644 --- a/deps/uv/AUTHORS +++ b/deps/uv/AUTHORS @@ -517,3 +517,28 @@ chucksilvers Sergey Fedorov theanarkh <2923878201@qq.com> Samuel Cabrero +自发对称破缺 <429839446@qq.com> +Luan Devecchi +Steven Schveighoffer +number201724 +Daniel +Christian Clason +ywave620 +jensbjorgensen +daomingq +Qix +Edward Humes <29870961+aurxenon@users.noreply.github.com> +Tim Besard +Sergey Rubanov +Stefan Stojanovic +Zvicii +dundargoc <33953936+dundargoc@users.noreply.github.com> +Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> +panran <310762957@qq.com> +Tamás Bálint Misius +Bruno Passeri +Jason Zhang +Lewis Russell +sivadeilra +cui fliter +Mohammed Keyvanzadeh diff --git a/deps/uv/CMakeLists.txt b/deps/uv/CMakeLists.txt index 7f466826c50337..93733dd0478343 100644 --- a/deps/uv/CMakeLists.txt +++ b/deps/uv/CMakeLists.txt @@ -1,8 +1,13 @@ cmake_minimum_required(VERSION 3.4) -project(libuv LANGUAGES C) -cmake_policy(SET CMP0057 NEW) # Enable IN_LIST operator -cmake_policy(SET CMP0064 NEW) # Support if (TEST) operator +if(POLICY CMP0091) + cmake_policy(SET CMP0091 NEW) # Enable MSVC_RUNTIME_LIBRARY setting +endif() +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) # disable /W3 warning, if possible +endif() + +project(libuv LANGUAGES C) list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") @@ -17,9 +22,13 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD 90) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +option(LIBUV_BUILD_SHARED "Build shared lib" ON) + cmake_dependent_option(LIBUV_BUILD_TESTS "Build the unit tests when BUILD_TESTING is enabled and we are the root project" ON - "BUILD_TESTING;CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF) + "BUILD_TESTING;LIBUV_BUILD_SHARED;CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF) cmake_dependent_option(LIBUV_BUILD_BENCH "Build the benchmarks when building unit tests and we are the root project" ON "LIBUV_BUILD_TESTS" OFF) @@ -27,28 +36,61 @@ cmake_dependent_option(LIBUV_BUILD_BENCH # Qemu Build option(QEMU "build for qemu" OFF) if(QEMU) - add_definitions(-D__QEMU__=1) + list(APPEND uv_defines __QEMU__=1) endif() +# Note: these are mutually exclusive. option(ASAN "Enable AddressSanitizer (ASan)" OFF) +option(MSAN "Enable MemorySanitizer (MSan)" OFF) option(TSAN "Enable ThreadSanitizer (TSan)" OFF) +option(UBSAN "Enable UndefinedBehaviorSanitizer (UBSan)" OFF) -if((ASAN OR TSAN) AND NOT (CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang")) - message(SEND_ERROR "Sanitizer support requires clang or gcc. Try again with -DCMAKE_C_COMPILER.") +if(MSAN AND NOT CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang") + message(SEND_ERROR "MemorySanitizer requires clang. Try again with -DCMAKE_C_COMPILER=clang") endif() if(ASAN) - add_definitions(-D__ASAN__=1) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address") - set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address") - set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address") + list(APPEND uv_defines __ASAN__=1) + if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address") + elseif(MSVC) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fsanitize=address") + else() + message(SEND_ERROR "AddressSanitizer support requires clang, gcc, or msvc. Try again with -DCMAKE_C_COMPILER.") + endif() +endif() + +if(MSAN) + list(APPEND uv_defines __MSAN__=1) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=memory") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=memory") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=memory") endif() if(TSAN) - add_definitions(-D__TSAN__=1) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") - set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") - set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") + list(APPEND uv_defines __TSAN__=1) + if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") + else() + message(SEND_ERROR "ThreadSanitizer support requires clang or gcc. Try again with -DCMAKE_C_COMPILER.") + endif() +endif() + +if(UBSAN) + list(APPEND uv_defines __UBSAN__=1) + if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=undefined") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=undefined") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=undefined") + elseif(MSVC) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fsanitize=undefined") + else() + message(SEND_ERROR "UndefinedBehaviorSanitizer support requires clang, gcc, or msvc. Try again with -DCMAKE_C_COMPILER.") + endif() endif() # Compiler check @@ -126,6 +168,7 @@ set(uv_sources src/random.c src/strscpy.c src/strtok.c + src/thread-common.c src/threadpool.c src/timer.c src/uv-common.c @@ -140,7 +183,10 @@ if(WIN32) advapi32 iphlpapi userenv - ws2_32) + ws2_32 + dbghelp + ole32 + uuid) list(APPEND uv_sources src/win/async.c src/win/core.c @@ -216,15 +262,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android") list(APPEND uv_defines _GNU_SOURCE) list(APPEND uv_libraries dl) list(APPEND uv_sources - src/unix/linux-core.c - src/unix/linux-inotify.c - src/unix/linux-syscalls.c + src/unix/linux.c src/unix/procfs-exepath.c - src/unix/pthread-fixes.c src/unix/random-getentropy.c src/unix/random-getrandom.c - src/unix/random-sysctl-linux.c - src/unix/epoll.c) + src/unix/random-sysctl-linux.c) endif() if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android|Linux") @@ -270,22 +312,14 @@ if(CMAKE_SYSTEM_NAME STREQUAL "GNU") src/unix/hurd.c) endif() -if(CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD") - list(APPEND uv_defines _GNU_SOURCE) - list(APPEND uv_libraries dl freebsd-glue) -endif() - if(CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND uv_defines _GNU_SOURCE _POSIX_C_SOURCE=200112) list(APPEND uv_libraries dl rt) list(APPEND uv_sources - src/unix/linux-core.c - src/unix/linux-inotify.c - src/unix/linux-syscalls.c + src/unix/linux.c src/unix/procfs-exepath.c src/unix/random-getrandom.c - src/unix/random-sysctl-linux.c - src/unix/epoll.c) + src/unix/random-sysctl-linux.c) endif() if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD") @@ -316,7 +350,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS390") list(APPEND uv_defines _XOPEN_SOURCE=600) list(APPEND uv_defines _XOPEN_SOURCE_EXTENDED) list(APPEND uv_sources - src/unix/pthread-fixes.c src/unix/os390.c src/unix/os390-syscalls.c src/unix/os390-proctitle.c) @@ -354,6 +387,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS400") endif() if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") + if(CMAKE_SYSTEM_VERSION STREQUAL "5.10") + list(APPEND uv_defines SUNOS_NO_IFADDRS) + list(APPEND uv_libraries rt) + endif() list(APPEND uv_defines __EXTENSIONS__ _XOPEN_SOURCE=500 _REENTRANT) list(APPEND uv_libraries kstat nsl sendfile socket) list(APPEND uv_sources @@ -388,25 +425,42 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD") list(APPEND uv_test_libraries util) endif() -add_library(uv SHARED ${uv_sources}) -target_compile_definitions(uv - INTERFACE - USING_UV_SHARED=1 - PRIVATE - BUILDING_UV_SHARED=1 - ${uv_defines}) -target_compile_options(uv PRIVATE ${uv_cflags}) -target_include_directories(uv - PUBLIC - $ - $ - PRIVATE - $) -if(CMAKE_SYSTEM_NAME STREQUAL "OS390") - target_include_directories(uv PUBLIC $) - set_target_properties(uv PROPERTIES LINKER_LANGUAGE CXX) +if(CYGWIN OR MSYS) + list(APPEND uv_defines _GNU_SOURCE) + list(APPEND uv_sources + src/unix/cygwin.c + src/unix/bsd-ifaddrs.c + src/unix/no-fsevents.c + src/unix/no-proctitle.c + src/unix/posix-hrtime.c + src/unix/posix-poll.c + src/unix/procfs-exepath.c + src/unix/sysinfo-loadavg.c + src/unix/sysinfo-memory.c) +endif() + +if(LIBUV_BUILD_SHARED) + add_library(uv SHARED ${uv_sources}) + target_compile_definitions(uv + INTERFACE + USING_UV_SHARED=1 + PRIVATE + BUILDING_UV_SHARED=1 + ${uv_defines}) + target_compile_options(uv PRIVATE ${uv_cflags}) + target_include_directories(uv + PUBLIC + $ + $ + PRIVATE + $) + if(CMAKE_SYSTEM_NAME STREQUAL "OS390") + target_include_directories(uv PUBLIC $) + set_target_properties(uv PROPERTIES LINKER_LANGUAGE CXX) + endif() + target_link_libraries(uv ${uv_libraries}) + set_target_properties(uv PROPERTIES OUTPUT_NAME "uv") endif() -target_link_libraries(uv ${uv_libraries}) add_library(uv_a STATIC ${uv_sources}) target_compile_definitions(uv_a PRIVATE ${uv_defines}) @@ -422,6 +476,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS390") set_target_properties(uv_a PROPERTIES LINKER_LANGUAGE CXX) endif() target_link_libraries(uv_a ${uv_libraries}) +set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv") +if(MSVC) + set_target_properties(uv_a PROPERTIES PREFIX "lib") +endif() if(LIBUV_BUILD_TESTS) # Small hack: use ${uv_test_sources} now to get the runner skeleton, @@ -584,6 +642,7 @@ if(LIBUV_BUILD_TESTS) test/test-tcp-rst.c test/test-tcp-shutdown-after-write.c test/test-tcp-try-write.c + test/test-tcp-write-in-a-row.c test/test-tcp-try-write-error.c test/test-tcp-unexpected-read.c test/test-tcp-write-after-connect.c @@ -592,6 +651,7 @@ if(LIBUV_BUILD_TESTS) test/test-tcp-write-to-half-open-connection.c test/test-tcp-writealot.c test/test-test-macros.c + test/test-thread-affinity.c test/test-thread-equal.c test/test-thread.c test/test-threadpool-cancel.c @@ -624,6 +684,7 @@ if(LIBUV_BUILD_TESTS) test/test-udp-sendmmsg-error.c test/test-udp-send-unreachable.c test/test-udp-try-send.c + test/test-udp-recv-in-a-row.c test/test-uname.c test/test-walk-handles.c test/test-watcher-cross-stop.c) @@ -667,27 +728,36 @@ string(REPLACE ";" " " LIBS "${LIBS}") file(STRINGS configure.ac configure_ac REGEX ^AC_INIT) string(REGEX MATCH "([0-9]+)[.][0-9]+[.][0-9]+" PACKAGE_VERSION "${configure_ac}") set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}") -# The version in the filename is mirroring the behaviour of autotools. -set_target_properties(uv PROPERTIES - VERSION ${UV_VERSION_MAJOR}.0.0 - SOVERSION ${UV_VERSION_MAJOR}) + set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) set(prefix ${CMAKE_INSTALL_PREFIX}) -configure_file(libuv.pc.in libuv.pc @ONLY) configure_file(libuv-static.pc.in libuv-static.pc @ONLY) install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) -install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc +install(FILES LICENSE-extra DESTINATION ${CMAKE_INSTALL_DOCDIR}) +install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -install(TARGETS uv EXPORT libuvConfig - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(TARGETS uv_a EXPORT libuvConfig ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -install(EXPORT libuvConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv) +install(EXPORT libuvConfig + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv + NAMESPACE libuv::) + +if(LIBUV_BUILD_SHARED) + # The version in the filename is mirroring the behaviour of autotools. + set_target_properties(uv PROPERTIES + VERSION ${UV_VERSION_MAJOR}.0.0 + SOVERSION ${UV_VERSION_MAJOR}) + configure_file(libuv.pc.in libuv.pc @ONLY) + install(FILES ${PROJECT_BINARY_DIR}/libuv.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(TARGETS uv EXPORT libuvConfig + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() if(MSVC) set(CMAKE_DEBUG_POSTFIX d) diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index cfbfed4fa6d6df..559c1442205ffc 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,4 +1,297 @@ -2022.07.12, Version 1.44.2 (Stable) +2023.05.19, Version 1.45.0 (Stable) + +Changes since version 1.44.2: + +* win: remove stdint-msvc2008.h (Ben Noordhuis) + +* android: remove pthread-fixes.c (Ben Noordhuis) + +* build: enable MSVC_RUNTIME_LIBRARY setting (自发对称破缺) + +* unix: switch to c11 atomics (Ben Noordhuis) + +* unix: don't accept() connections in a loop (Ben Noordhuis) + +* win: fix off-by-1 buffer overrun in uv_exepath() (Ben Noordhuis) + +* build: switch ci from macos-10.15 to macos-11 (Ben Noordhuis) + +* win: fix thread race in uv_cwd() and uv_chdir() (Ben Noordhuis) + +* unix,win: remove UV_HANDLE_SHUTTING flag (Santiago Gimeno) + +* win: support Windows 11 in uv_os_uname() (Luan Devecchi) + +* unix: fix uv_getrusage() ru_maxrss reporting (Ben Noordhuis) + +* doc: add note about offset -1 in uv_fs_read/write (Steven Schveighoffer) + +* test: fix musl libc.a dlerror() test expectation (Ben Noordhuis) + +* kqueue: DRY file descriptor deletion logic (Ben Noordhuis) + +* linux: teach uv_get_constrained_memory() cgroupsv2 (Ben Noordhuis) + +* build: upgrade qemu-user-static package (Ben Noordhuis) + +* linux: move epoll.c back into linux-core.c (Ben Noordhuis) + +* unix: remove pre-macos 10.8 compatibility hack (Ben Noordhuis) + +* unix,win: fix memory leak in uv_fs_scandir() (Ben Noordhuis) + +* build: restore qemu download logic (Ben Noordhuis) + +* win: fix uv__pipe_accept memory leak (number201724) + +* doc: update LINKS.md (Daniel) + +* unix: simplify atomic op in uv_tty_reset_mode() (Ben Noordhuis) + +* build: add LIBUV_BUILD_SHARED cmake option (Christian Clason) + +* linux: remove unused or obsolete syscall wrappers (Ben Noordhuis) + +* linux: merge files back into single file (Ben Noordhuis) + +* stream: process more than one write req per loop tick (ywave620) + +* unix,win: give thread pool threads an 8 MB stack (Ben Noordhuis) + +* build: add MemorySanitizer (MSAN) support (Ben Noordhuis) + +* doc: add uv_poll_cb status==UV_EBADF note (jensbjorgensen) + +* build: support AddressSanitizer on MSVC (Jameson Nash) + +* win,pipe: improve method of obtaining pid for ipc (number201724) + +* thread: add support for affinity (daomingq) + +* include: map ENODATA error code (Ben Noordhuis) + +* build: remove bashism from autogen.sh (Santiago Gimeno) + +* win,tcp,udp: remove "active streams" optimization (Saúl Ibarra Corretgé) + +* win: drop code checking for Windows XP / Server 2k3 (Saúl Ibarra Corretgé) + +* unix,win: fix 'sprintf' is deprecated warning (twosee) + +* doc: mention close_cb can be NULL (Qix) + +* win: optimize udp receive performance (ywave620) + +* win: fix an incompatible types warning (twosee) + +* doc: document 0 return value for free/total memory (Ben Noordhuis) + +* darwin: use hw.cpufrequency again for frequency info (Jameson Nash) + +* win,test: change format of TEST_PIPENAME's (Santiago Gimeno) + +* win,pipe: fixes in uv_pipe_connect() (Santiago Gimeno) + +* misc: fix return value of memory functions (theanarkh) + +* src: add new metrics APIs (Trevor Norris) + +* thread: add uv_thread_getcpu() (daomingq) + +* build: don't use ifaddrs.h on solaris 10 (Edward Humes) + +* unix,win: add uv_get_available_memory() (Tim Besard) + +* test: fix -Wunused-but-set-variable warnings (Ben Noordhuis) + +* doc: bump min supported linux and freebsd versions (Ben Noordhuis) + +* Add Socket Runtime to the LINKS.md (Sergey Rubanov) + +* unix: drop kfreebsd support (Ben Noordhuis) + +* win: fix fstat for pipes and character files (Stefan Stojanovic) + +* win: fix -Wunused-variable warning (Ben Noordhuis) + +* win: fix -Wunused-function warning (Ben Noordhuis) + +* build: drop qemu-alpha from ci matrix (Ben Noordhuis) + +* win: move child_stdio_buffer out of uv_process_t (Santiago Gimeno) + +* test: fix some unreachable code warnings (Santiago Gimeno) + +* linux: simplify uv_uptime() (Ben Noordhuis) + +* test: unflake fs_event_watch_dir test (Ben Noordhuis) + +* darwin: remove unused fsevents symbol lookups (Ben Noordhuis) + +* build: add define guard around UV_EXTERN (Zvicii) + +* build: add UndefinedBehaviorSanitizer support (Ben Noordhuis) + +* build: enable platform_output test on qemu (Ben Noordhuis) + +* linux: handle cpu hotplugging in uv_cpu_info() (Ben Noordhuis) + +* build: remove unnecessary policy setting (dundargoc) + +* docs: add vcpkg instruction step (Jack·Boos·Yu) + +* win,fs: fix readlink errno for a non-symlink file (Darshan Sen) + +* misc: extend getpw to take uid as an argument (Jameson Nash) + +* unix,win: use static_assert when available (Ben Noordhuis) + +* docs: delete code Makefile (Jameson Nash) + +* docs: add CI for docs PRs (Jameson Nash) + +* docs: update Sphinx version on RTD (Jameson Nash) + +* doc: clean up license file (Ben Noordhuis) + +* test: fix some warnings when compiling tests (panran) + +* build,win: add mingw-w64 CI configuration (Jameson Nash) + +* build: add CI for distcheck (Jameson Nash) + +* unix: remove busy loop from uv_async_send (Jameson Nash) + +* doc: document uv_fs_cb type (Tamás Bálint Misius) + +* build: Improve build by cmake for Cygwin (erw7) + +* build: add libuv:: namespace to libuvConfig.cmake (AJ Heller) + +* test: fix ThreadSanitizer thread leak warning (Ben Noordhuis) + +* test: fix ThreadSanitizer data race warning (Ben Noordhuis) + +* test: fix ThreadSanitizer data race warning (Ben Noordhuis) + +* test: fix ThreadSanitizer data race warning (Ben Noordhuis) + +* test: cond-skip fork_threadpool_queue_work_simple (Ben Noordhuis) + +* test: cond-skip signal_multiple_loops (Ben Noordhuis) + +* test: cond-skip tcp_writealot (Ben Noordhuis) + +* build: promote tsan ci to must-pass (Ben Noordhuis) + +* build: add CI for OpenBSD and FreeBSD (James McCoy) + +* build,test: fix distcheck errors (Jameson Nash) + +* test: remove bad tty window size assumption (Ben Noordhuis) + +* darwin,process: feed kevent the signal to reap children (Jameson Nash) + +* unix: abort on clock_gettime() error (Ben Noordhuis) + +* test: remove timing-sensitive check (Ben Noordhuis) + +* unix: DRY and fix tcp bind error path (Jameson Nash) + +* macos: fix fsevents thread race conditions (Ben Noordhuis) + +* win: fix leak in uv_chdir (Trevor Norris) + +* test: make valgrind happy (Trevor Norris) + +* barrier: wait for prior out before next in (Jameson Nash) + +* test: fix visual studio 2015 build error (Ben Noordhuis) + +* linux: fix ceph copy error truncating readonly files (Bruno Passeri) + +* test: silence more valgrind warnings (Trevor Norris) + +* doc: add entries to LINKS.md (Trevor Norris) + +* win,unix: change execution order of timers (Trevor Norris) + +* doc: add trevnorris to maintainers (Trevor Norris) + +* linux: remove epoll_pwait() emulation code path (Ben Noordhuis) + +* linux: replace unsafe macro with inline function (Ben Noordhuis) + +* linux: remove arm oabi support (Ben Noordhuis) + +* unix,sunos: SO_REUSEPORT not valid on all sockets (Stacey Marshall) + +* doc: consistent single backquote in misc.rst (Jason Zhang) + +* src: switch to use C11 atomics where available (Trevor Norris) + +* test: don't use static buffer for formatting (Ben Noordhuis) + +* linux: introduce io_uring support (Ben Noordhuis) + +* linux: fix academic valgrind warning (Ben Noordhuis) + +* test: disable signal test under ASan and MSan (Ben Noordhuis) + +* linux: add IORING_OP_OPENAT support (Ben Noordhuis) + +* linux: add IORING_OP_CLOSE support (Ben Noordhuis) + +* linux: remove bug workaround for obsolete kernels (Ben Noordhuis) + +* doc: update active maintainers list (Ben Noordhuis) + +* test: add ASSERT_OK (Trevor Norris) + +* src: fix events/events_waiting metrics counter (Trevor Norris) + +* unix,win: add uv_clock_gettime() (Ben Noordhuis) + +* build: remove freebsd and openbsd buildbots (Ben Noordhuis) + +* win: fix race condition in uv__init_console() (sivadeilra) + +* linux: fix logic bug in sqe ring space check (Ben Noordhuis) + +* linux: use io_uring to batch epoll_ctl calls (Ben Noordhuis) + +* macos: update minimum supported version (Santiago Gimeno) + +* docs: fix some typos (cui fliter) + +* unix: use memcpy() instead of type punning (Ben Noordhuis) + +* test: add additional assert (Mohammed Keyvanzadeh) + +* build: export compile_commands.json (Lewis Russell) + +* win,process: write minidumps when sending SIGQUIT (Elliot Saba) + +* unix: constrained_memory should return UINT64_MAX (Tim Besard) + +* unix: handle CQ overflow in iou ring (Santiago Gimeno) + +* unix: remove clang compiler warning pragmas (Ben Noordhuis) + +* win: fix mingw build (gengjiawen) + +* test: fix -Wbool-compare compiler warning (Ben Noordhuis) + +* win: define MiniDumpWithAvxXStateContext always (Santiago Gimeno) + +* freebsd: hard-code UV_ENODATA definition (Santiago Gimeno) + +* linux: work around EOWNERDEAD io_uring kernel bug (Ben Noordhuis) + +* linux: fix WRITEV with lots of bufs using io_uring (Santiago Gimeno) + + +2022.07.12, Version 1.44.2 (Stable), 0c1fa696aa502eb749c2c4735005f41ba00a27b8 Changes since version 1.44.1: diff --git a/deps/uv/LICENSE b/deps/uv/LICENSE index eb126dab3aab52..6566365d4f2380 100644 --- a/deps/uv/LICENSE +++ b/deps/uv/LICENSE @@ -1,6 +1,3 @@ -libuv is licensed for use as follows: - -==== Copyright (c) 2015-present libuv project contributors. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -20,47 +17,3 @@ 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. -==== - -This license applies to parts of libuv originating from the -https://github.com/joyent/libuv repository: - -==== - -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. - -==== - -This license applies to all parts of libuv that are not externally -maintained libraries. - -The externally maintained libraries used by libuv are: - - - tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license. - - - inet_pton and inet_ntop implementations, contained in src/inet.c, are - copyright the Internet Systems Consortium, Inc., and licensed under the ISC - license. - - - stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three - clause BSD license. - - - pthread-fixes.c, copyright Google Inc. and Sony Mobile Communications AB. - Three clause BSD license. diff --git a/deps/uv/LICENSE-extra b/deps/uv/LICENSE-extra new file mode 100644 index 00000000000000..7d8ee65fce626e --- /dev/null +++ b/deps/uv/LICENSE-extra @@ -0,0 +1,36 @@ +This license applies to parts of libuv originating from the +https://github.com/joyent/libuv repository: + +==== + +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. + +==== + +This license applies to all parts of libuv that are not externally +maintained libraries. + +The externally maintained libraries used by libuv are: + + - tree.h (from FreeBSD), copyright Niels Provos. Two clause BSD license. + + - inet_pton and inet_ntop implementations, contained in src/inet.c, are + copyright the Internet Systems Consortium, Inc., and licensed under the ISC + license. diff --git a/deps/uv/LINKS.md b/deps/uv/LINKS.md index b8204e56e160d2..c2d79f8bb7ad3d 100644 --- a/deps/uv/LINKS.md +++ b/deps/uv/LINKS.md @@ -1,8 +1,11 @@ ### Apps / VM +* [AliceO2](https://github.com/AliceO2Group/AliceO2): The framework and detector specific code for the reconstruction, calibration and simulation for the ALICE experiment at CERN. +* [Beam](https://github.com/BeamMW/beam): A scalable, confidential cryptocurrency based on the Mimblewimble protocol. * [BIND 9](https://bind.isc.org/): DNS software system including an authoritative server, a recursive resolver and related utilities. * [cjdns](https://github.com/cjdelisle/cjdns): Encrypted self-configuring network/VPN routing engine * [clearskies_core](https://github.com/larroy/clearskies_core): Clearskies file synchronization program. (C++11) * [CMake](https://cmake.org) open-source, cross-platform family of tools designed to build, test and package software +* [Cocos-Engine](https://github.com/cocos/cocos-engine): The runtime framework for Cocos Creator editor. * [Coherence](https://github.com/liesware/coherence/): Cryptographic server for modern web apps. * [DPS-For-IoT](https://github.com/intel/dps-for-iot/wiki): Fully distributed publish/subscribe protocol. * [HashLink](https://github.com/HaxeFoundation/hashlink): Haxe run-time with libuv support included. @@ -10,7 +13,7 @@ * [H2O](https://github.com/h2o/h2o): An optimized HTTP server with support for HTTP/1.x and HTTP/2. * [Igropyr](https://github.com/guenchi/Igropyr): a async Scheme http server base on libuv. * [Julia](http://julialang.org/): Scientific computing programming language -* [Kestrel](https://github.com/aspnet/AspNetCore/tree/master/src/Servers/Kestrel): web server (C# + libuv + [ASP.NET Core](http://github.com/aspnet)) +* [Kestrel](https://github.com/dotnet/aspnetcore/tree/main/src/Servers/Kestrel): web server (C# + libuv + [ASP.NET Core](http://github.com/aspnet)) * [Knot DNS Resolver](https://www.knot-resolver.cz/): A minimalistic DNS caching resolver * [Lever](http://leverlanguage.com): runtime, libuv at the 0.9.0 release * [libnode](https://github.com/plenluno/libnode): C++ implementation of Node.js @@ -30,8 +33,10 @@ * [phastlight](https://github.com/phastlight/phastlight): Command line tool and web server written in PHP 5.3+ inspired by Node.js * [pilight](https://www.pilight.org/): home automation ("domotica") * [pixie](https://github.com/pixie-lang/pixie): clojure-inspired lisp with a tracing JIT +* [Pixie-io](https://github.com/pixie-io/pixie): Open-source observability tool for Kubernetes applications. * [potion](https://github.com/perl11/potion)/[p2](https://github.com/perl11/p2): runtime * [racer](https://libraries.io/rubygems/racer): Ruby web server written as an C extension +* [Socket Runtime](https://sockets.sh): A runtime for creating native cross-platform software on mobile and desktop using HTML, CSS, and JavaScript * [spider-gazelle](https://github.com/cotag/spider-gazelle): Ruby web server using libuv bindings * [Suave](http://suave.io/): A simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition * [Swish](https://github.com/becls/swish/): Concurrency engine with Erlang-like concepts. Includes a web server. @@ -39,6 +44,7 @@ * [Urbit](http://urbit.org): runtime * [uv_callback](https://github.com/litesync/uv_callback) libuv thread communication * [uvloop](https://github.com/MagicStack/uvloop): Ultra fast implementation of python's asyncio event loop on top of libuv +* [WPILib](https://github.com/wpilibsuite/allwpilib): Libraries for creating robot programs for the roboRIO. * [Wren CLI](https://github.com/wren-lang/wren-cli): For io, process, scheduler and timer modules ### Other @@ -59,6 +65,7 @@ * [lluv](https://github.com/moteus/lua-lluv) * C++11 * [uvpp](https://github.com/larroy/uvpp) - Not complete, exposes very few aspects of `libuv` + * [nsuv](https://github.com/nodesource/nsuv) - Template wrapper focused on enforcing compile-time type safety when propagating data * C++17 * [uvw](https://github.com/skypjack/uvw) - Header-only, event based, tiny and easy to use *libuv* wrapper in modern C++. * Python diff --git a/deps/uv/MAINTAINERS.md b/deps/uv/MAINTAINERS.md index 477901f8680f9a..ff8be88b7b7cd5 100644 --- a/deps/uv/MAINTAINERS.md +++ b/deps/uv/MAINTAINERS.md @@ -4,12 +4,9 @@ libuv is currently managed by the following individuals: * **Ben Noordhuis** ([@bnoordhuis](https://github.com/bnoordhuis)) - GPG key: D77B 1E34 243F BAF0 5F8E 9CC3 4F55 C8C8 46AB 89B9 (pubkey-bnoordhuis) -* **Bert Belder** ([@piscisaureus](https://github.com/piscisaureus)) * **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) - GPG key: 94AE 3667 5C46 4D64 BAFA 68DD 7434 390B DBE9 B9C5 (pubkey-cjihrig) - GPG key: 5735 3E0D BDAA A7E8 39B6 6A1A FF47 D5E4 AD8B 4FDC (pubkey-cjihrig-kb) -* **Fedor Indutny** ([@indutny](https://github.com/indutny)) - - GPG key: AF2E EA41 EC34 47BF DD86 FED9 D706 3CCE 19B7 E890 (pubkey-indutny) * **Jameson Nash** ([@vtjnash](https://github.com/vtjnash)) - GPG key: AEAD 0A4B 6867 6775 1A0E 4AEF 34A2 5FB1 2824 6514 (pubkey-vtjnash) - GPG key: CFBB 9CA9 A5BE AFD7 0E2B 3C5A 79A6 7C55 A367 9C8B (pubkey2022-vtjnash) @@ -22,11 +19,16 @@ libuv is currently managed by the following individuals: - GPG key: 612F 0EAD 9401 6223 79DF 4402 F28C 3C8D A33C 03BE (pubkey-santigimeno) * **Saúl Ibarra Corretgé** ([@saghul](https://github.com/saghul)) - GPG key: FDF5 1936 4458 319F A823 3DC9 410E 5553 AE9B C059 (pubkey-saghul) +* **Trevor Norris** ([@trevnorris](https://github.com/trevnorris)) + - GPG key: AEFC 279A 0C93 0676 7E58 29A1 251C A676 820D C7F3 (pubkey-trevnorris) ## Project Maintainers emeriti * **Anna Henningsen** ([@addaleax](https://github.com/addaleax)) * **Bartosz Sosnowski** ([@bzoz](https://github.com/bzoz)) +* **Bert Belder** ([@piscisaureus](https://github.com/piscisaureus)) +* **Fedor Indutny** ([@indutny](https://github.com/indutny)) + - GPG key: AF2E EA41 EC34 47BF DD86 FED9 D706 3CCE 19B7 E890 (pubkey-indutny) * **Imran Iqbal** ([@imran-iq](https://github.com/imran-iq)) * **John Barboza** ([@jbarz](https://github.com/jbarz)) diff --git a/deps/uv/Makefile.am b/deps/uv/Makefile.am index 0c6d96598aed47..1dca3dd1f8a82e 100644 --- a/deps/uv/Makefile.am +++ b/deps/uv/Makefile.am @@ -38,6 +38,7 @@ libuv_la_SOURCES = src/fs-poll.c \ src/random.c \ src/strscpy.c \ src/strscpy.h \ + src/thread-common.c \ src/threadpool.c \ src/timer.c \ src/uv-data-getter-setters.c \ @@ -96,7 +97,6 @@ else # WINNT uvinclude_HEADERS += include/uv/unix.h AM_CPPFLAGS += -I$(top_srcdir)/src/unix libuv_la_SOURCES += src/unix/async.c \ - src/unix/atomic-ops.h \ src/unix/core.c \ src/unix/dl.c \ src/unix/fs.c \ @@ -110,7 +110,6 @@ libuv_la_SOURCES += src/unix/async.c \ src/unix/process.c \ src/unix/random-devurandom.c \ src/unix/signal.c \ - src/unix/spinlock.h \ src/unix/stream.c \ src/unix/tcp.c \ src/unix/thread.c \ @@ -122,11 +121,13 @@ endif # WINNT EXTRA_DIST = test/fixtures/empty_file \ test/fixtures/load_error.node \ test/fixtures/lorem_ipsum.txt \ + test/fixtures/one_file/one_file \ include \ docs \ img \ CONTRIBUTING.md \ LICENSE \ + LICENSE-extra \ README.md @@ -278,11 +279,13 @@ test_run_tests_SOURCES = test/blackhole-server.c \ test/test-tcp-writealot.c \ test/test-tcp-write-fail.c \ test/test-tcp-try-write.c \ + test/test-tcp-write-in-a-row.c \ test/test-tcp-try-write-error.c \ test/test-tcp-write-queue-order.c \ test/test-test-macros.c \ test/test-thread-equal.c \ test/test-thread.c \ + test/test-thread-affinity.c \ test/test-threadpool-cancel.c \ test/test-threadpool.c \ test/test-timer-again.c \ @@ -313,6 +316,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \ test/test-udp-sendmmsg-error.c \ test/test-udp-send-unreachable.c \ test/test-udp-try-send.c \ + test/test-udp-recv-in-a-row.c \ test/test-uname.c \ test/test-walk-handles.c \ test/test-watcher-cross-stop.c @@ -393,7 +397,6 @@ endif if ANDROID libuv_la_CFLAGS += -D_GNU_SOURCE -libuv_la_SOURCES += src/unix/pthread-fixes.c endif if CYGWIN @@ -467,22 +470,14 @@ libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ src/unix/hurd.c endif -if KFREEBSD -libuv_la_CFLAGS += -D_GNU_SOURCE -endif - if LINUX uvinclude_HEADERS += include/uv/linux.h libuv_la_CFLAGS += -D_GNU_SOURCE -libuv_la_SOURCES += src/unix/linux-core.c \ - src/unix/linux-inotify.c \ - src/unix/linux-syscalls.c \ - src/unix/linux-syscalls.h \ +libuv_la_SOURCES += src/unix/linux.c \ src/unix/procfs-exepath.c \ src/unix/proctitle.c \ src/unix/random-getrandom.c \ - src/unix/random-sysctl-linux.c \ - src/unix/epoll.c + src/unix/random-sysctl-linux.c test_run_tests_LDFLAGS += -lutil endif @@ -546,8 +541,7 @@ libuv_la_CFLAGS += -D_UNIX03_THREADS \ -qXPLINK \ -qFLOAT=IEEE libuv_la_LDFLAGS += -qXPLINK -libuv_la_SOURCES += src/unix/pthread-fixes.c \ - src/unix/os390.c \ +libuv_la_SOURCES += src/unix/os390.c \ src/unix/os390-syscalls.c \ src/unix/proctitle.c endif diff --git a/deps/uv/README.md b/deps/uv/README.md index 06486febc28199..09e9bf10b6dc31 100644 --- a/deps/uv/README.md +++ b/deps/uv/README.md @@ -43,8 +43,11 @@ The ABI/API changes can be tracked [here](http://abi-laboratory.pro/tracker/time ## Licensing -libuv is licensed under the MIT license. Check the [LICENSE file](LICENSE). -The documentation is licensed under the CC BY 4.0 license. Check the [LICENSE-docs file](LICENSE-docs). +libuv is licensed under the MIT license. Check the [LICENSE](LICENSE) and +[LICENSE-extra](LICENSE-extra) files. + +The documentation is licensed under the CC BY 4.0 license. Check the +[LICENSE-docs file](LICENSE-docs). ## Community @@ -220,6 +223,15 @@ Make sure that you specify the architecture you wish to build for in the "ARCHS" flag. You can specify more than one by delimiting with a space (e.g. "x86_64 i386"). +### Install with vcpkg + +```bash +$ git clone https://github.com/microsoft/vcpkg.git +$ ./bootstrap-vcpkg.bat # for powershell +$ ./bootstrap-vcpkg.sh # for bash +$ ./vcpkg install libuv +``` + ### Running tests Some tests are timing sensitive. Relaxing test timeouts may be necessary diff --git a/deps/uv/SUPPORTED_PLATFORMS.md b/deps/uv/SUPPORTED_PLATFORMS.md index 0c1dd4e29fa8e0..8a435d2592e47f 100644 --- a/deps/uv/SUPPORTED_PLATFORMS.md +++ b/deps/uv/SUPPORTED_PLATFORMS.md @@ -2,10 +2,10 @@ | System | Support type | Supported versions | Notes | |---|---|---|---| -| GNU/Linux | Tier 1 | Linux >= 2.6.32 with glibc >= 2.12 | | -| macOS | Tier 1 | macOS >= 10.15 | Current and previous macOS release | +| GNU/Linux | Tier 1 | Linux >= 3.10 with glibc >= 2.17 | | +| macOS | Tier 1 | macOS >= 11 | Currently supported macOS releases | | Windows | Tier 1 | >= Windows 8 | VS 2015 and later are supported | -| FreeBSD | Tier 1 | >= 10 | | +| FreeBSD | Tier 2 | >= 12 | | | AIX | Tier 2 | >= 6 | Maintainers: @libuv/aix | | IBM i | Tier 2 | >= IBM i 7.2 | Maintainers: @libuv/ibmi | | z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos | diff --git a/deps/uv/autogen.sh b/deps/uv/autogen.sh index bfd8f3e6df0867..cf82cc634d4f95 100755 --- a/deps/uv/autogen.sh +++ b/deps/uv/autogen.sh @@ -17,7 +17,7 @@ set -eu cd `dirname "$0"` -if [ "${1:-dev}" == "release" ]; then +if [ "${1:-dev}" = "release" ]; then export LIBUV_RELEASE=true else export LIBUV_RELEASE=false diff --git a/deps/uv/cmake-toolchains/cross-mingw32.cmake b/deps/uv/cmake-toolchains/cross-mingw32.cmake new file mode 100644 index 00000000000000..3fe1dd69ec565d --- /dev/null +++ b/deps/uv/cmake-toolchains/cross-mingw32.cmake @@ -0,0 +1,17 @@ +if(NOT HOST_ARCH) + message(SEND_ERROR "-DHOST_ARCH required to be specified") +endif() + +list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + HOST_ARCH + ) + +SET(CMAKE_SYSTEM_NAME Windows) +set(COMPILER_PREFIX "${HOST_ARCH}-w64-mingw32") +find_program(CMAKE_RC_COMPILER NAMES ${COMPILER_PREFIX}-windres) +find_program(CMAKE_C_COMPILER NAMES ${COMPILER_PREFIX}-gcc) +find_program(CMAKE_CXX_COMPILER NAMES ${COMPILER_PREFIX}-g++) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/deps/uv/configure.ac b/deps/uv/configure.ac index 82d1640c8e3afd..143ade35719316 100644 --- a/deps/uv/configure.ac +++ b/deps/uv/configure.ac @@ -13,7 +13,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_PREREQ(2.57) -AC_INIT([libuv], [1.44.2], [https://github.com/libuv/libuv/issues]) +AC_INIT([libuv], [1.45.0], [https://github.com/libuv/libuv/issues]) AC_CONFIG_MACRO_DIR([m4]) m4_include([m4/libuv-extra-automake-flags.m4]) m4_include([m4/as_case.m4]) @@ -61,8 +61,7 @@ AM_CONDITIONAL([ANDROID], [AS_CASE([$host_os],[linux-android*],[true], [false]) AM_CONDITIONAL([CYGWIN], [AS_CASE([$host_os],[cygwin*], [true], [false])]) AM_CONDITIONAL([DARWIN], [AS_CASE([$host_os],[darwin*], [true], [false])]) AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*], [true], [false])]) -AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[*freebsd*], [true], [false])]) -AM_CONDITIONAL([KFREEBSD], [AS_CASE([$host_os],[kfreebsd*], [true], [false])]) +AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[freebsd*], [true], [false])]) AM_CONDITIONAL([HAIKU], [AS_CASE([$host_os],[haiku], [true], [false])]) AM_CONDITIONAL([HURD], [AS_CASE([$host_os],[gnu*], [true], [false])]) AM_CONDITIONAL([LINUX], [AS_CASE([$host_os],[linux*], [true], [false])]) @@ -74,12 +73,12 @@ AM_CONDITIONAL([OS400], [AS_CASE([$host_os],[os400], [true], [false]) AM_CONDITIONAL([SUNOS], [AS_CASE([$host_os],[solaris*], [true], [false])]) AM_CONDITIONAL([WINNT], [AS_CASE([$host_os],[mingw*], [true], [false])]) AS_CASE([$host_os],[mingw*], [ - LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv -luser32" + LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv -luser32 -ldbghelp -lole32 -luuid" ]) -AS_CASE([$host_os], [netbsd*], [AC_CHECK_LIB([kvm], [kvm_open])]) -AS_CASE([$host_os], [kfreebsd*], [ - LIBS="$LIBS -lfreebsd-glue" +AS_CASE([$host_os], [solaris2.10], [ + CFLAGS="$CFLAGS -DSUNOS_NO_IFADDRS" ]) +AS_CASE([$host_os], [netbsd*], [AC_CHECK_LIB([kvm], [kvm_open])]) AS_CASE([$host_os], [haiku], [ LIBS="$LIBS -lnetwork" ]) @@ -88,4 +87,5 @@ AC_CONFIG_FILES([Makefile libuv.pc]) AC_CONFIG_LINKS([test/fixtures/empty_file:test/fixtures/empty_file]) AC_CONFIG_LINKS([test/fixtures/load_error.node:test/fixtures/load_error.node]) AC_CONFIG_LINKS([test/fixtures/lorem_ipsum.txt:test/fixtures/lorem_ipsum.txt]) +AC_CONFIG_LINKS([test/fixtures/one_file/one_file:test/fixtures/one_file/one_file]) AC_OUTPUT diff --git a/deps/uv/docs/requirements.txt b/deps/uv/docs/requirements.txt index 8386e0178fabac..b037de46595389 100644 --- a/deps/uv/docs/requirements.txt +++ b/deps/uv/docs/requirements.txt @@ -1,42 +1,27 @@ # primary -Sphinx==3.5.4 +sphinx==6.1.3 # dependencies -alabaster==0.7.12 -appdirs==1.4.3 -Babel==2.9.0 -CacheControl==0.12.6 -certifi==2019.11.28 -chardet==3.0.4 -colorama==0.4.3 -contextlib2==0.6.0 -distlib==0.3.0 -distro==1.4.0 -docutils==0.16 -html5lib==1.0.1 -idna==2.8 -imagesize==1.2.0 -ipaddr==2.2.0 -Jinja2==2.11.3 -lockfile==0.12.2 -MarkupSafe==1.1.1 -msgpack==0.6.2 -packaging==20.3 -pep517==0.8.2 -progress==1.5 -Pygments==2.8.1 -pyparsing==2.4.6 -pytoml==0.1.21 -pytz==2021.1 -requests==2.22.0 -retrying==1.3.3 -six==1.14.0 -snowballstemmer==2.1.0 -sphinxcontrib-applehelp==1.0.2 +alabaster==0.7.13 +Babel==2.11.0 +certifi==2022.12.7 +charset-normalizer==3.0.1 +docutils==0.19 +idna==3.4 +imagesize==1.4.1 +importlib-metadata==6.0.0 +Jinja2==3.1.2 +MarkupSafe==2.1.2 +packaging==23.0 +Pygments==2.14.0 +pytz==2022.7.1 +requests==2.28.2 +snowballstemmer==2.2.0 +sphinxcontrib-applehelp==1.0.3 sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==1.0.3 +sphinxcontrib-htmlhelp==2.0.0 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.4 -urllib3==1.25.8 -webencodings==0.5.1 +sphinxcontrib-serializinghtml==1.1.5 +urllib3==1.26.14 +zipp==3.11.0 diff --git a/deps/uv/docs/src/design.rst b/deps/uv/docs/src/design.rst index 0f5580c7e95211..5a20595c3b42ce 100644 --- a/deps/uv/docs/src/design.rst +++ b/deps/uv/docs/src/design.rst @@ -60,16 +60,15 @@ stages of a loop iteration: :align: center -#. The loop concept of 'now' is updated. The event loop caches the current time at the start of - the event loop tick in order to reduce the number of time-related system calls. +#. The loop concept of 'now' is initially set. + +#. Due timers are run if the loop was run with ``UV_RUN_DEFAULT``. All active timers scheduled + for a time before the loop's concept of *now* get their callbacks called. #. If the loop is *alive* an iteration is started, otherwise the loop will exit immediately. So, when is a loop considered to be *alive*? If a loop has active and ref'd handles, active requests or closing handles it's considered to be *alive*. -#. Due timers are run. All active timers scheduled for a time before the loop's concept of *now* - get their callbacks called. - #. Pending callbacks are called. All I/O callbacks are called right after polling for I/O, for the most part. There are cases, however, in which calling such a callback is deferred for the next loop iteration. If the previous iteration deferred any I/O callback it will be run at this point. @@ -101,9 +100,11 @@ stages of a loop iteration: #. Close callbacks are called. If a handle was closed by calling :c:func:`uv_close` it will get the close callback called. -#. Special case in case the loop was run with ``UV_RUN_ONCE``, as it implies forward progress. - It's possible that no I/O callbacks were fired after blocking for I/O, but some time has passed - so there might be timers which are due, those timers get their callbacks called. +#. The loop concept of 'now' is updated. + +#. Due timers are run. Note that 'now' is not updated again until the next loop iteration. + So if a timer became due while other timers were being processed, it won't be run until + the following event loop iteration. #. Iteration ends. If the loop was run with ``UV_RUN_NOWAIT`` or ``UV_RUN_ONCE`` modes the iteration ends and :c:func:`uv_run` will return. If the loop was run with ``UV_RUN_DEFAULT`` diff --git a/deps/uv/docs/src/fs.rst b/deps/uv/docs/src/fs.rst index 0bf2abed5e128a..891ee74c19d912 100644 --- a/deps/uv/docs/src/fs.rst +++ b/deps/uv/docs/src/fs.rst @@ -12,6 +12,12 @@ otherwise it will be performed asynchronously. All file operations are run on the threadpool. See :ref:`threadpool` for information on the threadpool size. +Starting with libuv v1.45.0, some file operations on Linux are handed off to +`io_uring ` when possible. Apart from +a (sometimes significant) increase in throughput there should be no change in +observable behavior. Libuv reverts to using its threadpool when the necessary +kernel features are unavailable or unsuitable. + .. note:: On Windows `uv_fs_*` functions use utf-8 encoding. @@ -24,7 +30,8 @@ Data types .. c:type:: uv_timespec_t - Portable equivalent of ``struct timespec``. + Y2K38-unsafe data type for storing times with nanosecond resolution. + Will be replaced with :c:type:`uv_timespec64_t` in libuv v2.0. :: @@ -160,6 +167,10 @@ Data types size_t nentries; } uv_dir_t; +.. c:type:: void (*uv_fs_cb)(uv_fs_t* req) + + Callback called when a request is completed asynchronously. + Public members ^^^^^^^^^^^^^^ @@ -218,7 +229,8 @@ API .. c:function:: int uv_fs_read(uv_loop_t* loop, uv_fs_t* req, uv_file file, const uv_buf_t bufs[], unsigned int nbufs, int64_t offset, uv_fs_cb cb) - Equivalent to :man:`preadv(2)`. + Equivalent to :man:`preadv(2)`. If the `offset` argument is `-1`, then + the current file offset is used and updated. .. warning:: On Windows, under non-MSVC environments (e.g. when GCC or Clang is used @@ -231,7 +243,8 @@ API .. c:function:: int uv_fs_write(uv_loop_t* loop, uv_fs_t* req, uv_file file, const uv_buf_t bufs[], unsigned int nbufs, int64_t offset, uv_fs_cb cb) - Equivalent to :man:`pwritev(2)`. + Equivalent to :man:`pwritev(2)`. If the `offset` argument is `-1`, then + the current file offset is used and updated. .. warning:: On Windows, under non-MSVC environments (e.g. when GCC or Clang is used @@ -463,10 +476,6 @@ API The background story and some more details on these issues can be checked `here `_. - .. note:: - This function is not implemented on Windows XP and Windows Server 2003. - On these systems, UV_ENOSYS is returned. - .. versionadded:: 1.8.0 .. c:function:: int uv_fs_chown(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_uid_t uid, uv_gid_t gid, uv_fs_cb cb) diff --git a/deps/uv/docs/src/handle.rst b/deps/uv/docs/src/handle.rst index 0edb7d7adf23ed..e91d6e8fb2d906 100644 --- a/deps/uv/docs/src/handle.rst +++ b/deps/uv/docs/src/handle.rst @@ -153,6 +153,9 @@ API In-progress requests, like uv_connect_t or uv_write_t, are cancelled and have their callbacks called asynchronously with status=UV_ECANCELED. + `close_cb` can be `NULL` in cases where no cleanup or deallocation is + necessary. + .. c:function:: void uv_ref(uv_handle_t* handle) Reference the given handle. References are idempotent, that is, if a handle diff --git a/deps/uv/docs/src/metrics.rst b/deps/uv/docs/src/metrics.rst index 696c620d192f36..0141d03286b199 100644 --- a/deps/uv/docs/src/metrics.rst +++ b/deps/uv/docs/src/metrics.rst @@ -4,8 +4,46 @@ Metrics operations ====================== -libuv provides a metrics API to track the amount of time the event loop has -spent idle in the kernel's event provider. +libuv provides a metrics API to track various internal operations of the event +loop. + + +Data types +---------- + +.. c:type:: uv_metrics_t + + The struct that contains event loop metrics. It is recommended to retrieve + these metrics in a :c:type:`uv_prepare_cb` in order to make sure there are + no inconsistencies with the metrics counters. + + :: + + typedef struct { + uint64_t loop_count; + uint64_t events; + uint64_t events_waiting; + /* private */ + uint64_t* reserved[13]; + } uv_metrics_t; + + +Public members +^^^^^^^^^^^^^^ + +.. c:member:: uint64_t uv_metrics_t.loop_count + + Number of event loop iterations. + +.. c:member:: uint64_t uv_metrics_t.events + + Number of events that have been processed by the event handler. + +.. c:member:: uint64_t uv_metrics_t.events_waiting + + Number of events that were waiting to be processed when the event provider + was called. + API --- @@ -25,3 +63,9 @@ API :c:type:`UV_METRICS_IDLE_TIME`. .. versionadded:: 1.39.0 + +.. c:function:: int uv_metrics_info(uv_loop_t* loop, uv_metrics_t* metrics) + + Copy the current set of event loop metrics to the ``metrics`` pointer. + + .. versionadded:: 1.45.0 diff --git a/deps/uv/docs/src/misc.rst b/deps/uv/docs/src/misc.rst index bae44814f193ed..8c3a00e934c97e 100644 --- a/deps/uv/docs/src/misc.rst +++ b/deps/uv/docs/src/misc.rst @@ -73,7 +73,8 @@ Data types .. c:type:: uv_timeval_t - Data type for storing times. + Y2K38-unsafe data type for storing times with microsecond resolution. + Will be replaced with :c:type:`uv_timeval64_t` in libuv v2.0. :: @@ -84,7 +85,7 @@ Data types .. c:type:: uv_timeval64_t - Alternative data type for storing times. + Y2K38-safe data type for storing times with microsecond resolution. :: @@ -93,6 +94,28 @@ Data types int32_t tv_usec; } uv_timeval64_t; +.. c:type:: uv_timespec64_t + + Y2K38-safe data type for storing times with nanosecond resolution. + + :: + + typedef struct { + int64_t tv_sec; + int32_t tv_nsec; + } uv_timespec64_t; + +.. c:enum:: uv_clock_id + + Clock source for :c:func:`uv_clock_gettime`. + + :: + + typedef enum { + UV_CLOCK_MONOTONIC, + UV_CLOCK_REALTIME + } uv_clock_id; + .. c:type:: uv_rusage_t Data type for resource usage results. @@ -119,7 +142,10 @@ Data types } uv_rusage_t; Members marked with `(X)` are unsupported on Windows. - See :man:`getrusage(2)` for supported fields on Unix + See :man:`getrusage(2)` for supported fields on UNIX-like platforms. + + The maximum resident set size is reported in kilobytes, the unit most + platforms use natively. .. c:type:: uv_cpu_info_t @@ -211,7 +237,7 @@ API type of the stdio streams. For :man:`isatty(3)` equivalent functionality use this function and test - for ``UV_TTY``. + for `UV_TTY`. .. c:function:: int uv_replace_allocator(uv_malloc_func malloc_func, uv_realloc_func realloc_func, uv_calloc_func calloc_func, uv_free_func free_func) @@ -225,8 +251,8 @@ API after all resources have been freed and thus libuv doesn't reference any allocated memory chunk. - On success, it returns 0, if any of the function pointers is NULL it - returns UV_EINVAL. + On success, it returns 0, if any of the function pointers is `NULL` it + returns `UV_EINVAL`. .. warning:: There is no protection against changing the allocator multiple times. If the user changes it they are responsible for making @@ -362,6 +388,13 @@ API Frees the `cpu_infos` array previously allocated with :c:func:`uv_cpu_info`. +.. c:function:: int uv_cpumask_size(void) + + Returns the maximum size of the mask used for process/thread affinities, + or `UV_ENOTSUP` if affinities are not supported on the current platform. + + .. versionadded:: 1.45.0 + .. c:function:: int uv_interface_addresses(uv_interface_address_t** addresses, int* count) Gets address information about the network interfaces on the system. An @@ -541,18 +574,21 @@ API .. c:function:: uint64_t uv_get_free_memory(void) - Gets the amount of free memory available in the system, as reported by the kernel (in bytes). + Gets the amount of free memory available in the system, as reported by + the kernel (in bytes). Returns 0 when unknown. .. c:function:: uint64_t uv_get_total_memory(void) Gets the total amount of physical memory in the system (in bytes). + Returns 0 when unknown. .. c:function:: uint64_t uv_get_constrained_memory(void) - Gets the amount of memory available to the process (in bytes) based on + Gets the total amount of memory available to the process (in bytes) based on limits imposed by the OS. If there is no such constraint, or the constraint - is unknown, `0` is returned. Note that it is not unusual for this value to - be less than or greater than :c:func:`uv_get_total_memory`. + is unknown, `0` is returned. If there is a constraining mechanism, but there + is no constraint set, `UINT64_MAX` is returned. Note that it is not unusual + for this value to be less than or greater than :c:func:`uv_get_total_memory`. .. note:: This function currently only returns a non-zero value on Linux, based @@ -560,9 +596,23 @@ API .. versionadded:: 1.29.0 +.. c:function:: uint64_t uv_get_available_memory(void) + + Gets the amount of free memory that is still available to the process (in bytes). + This differs from :c:func:`uv_get_free_memory` in that it takes into account any + limits imposed by the OS. If there is no such constraint, or the constraint + is unknown, the amount returned will be identical to :c:func:`uv_get_free_memory`. + + .. note:: + This function currently only returns a value that is different from + what :c:func:`uv_get_free_memory` reports on Linux, based + on cgroups if it is present. + + .. versionadded:: 1.45.0 + .. c:function:: uint64_t uv_hrtime(void) - Returns the current high-resolution real time. This is expressed in + Returns the current high-resolution timestamp. This is expressed in nanoseconds. It is relative to an arbitrary time in the past. It is not related to the time of day and therefore not subject to clock drift. The primary use is for measuring performance between intervals. @@ -571,6 +621,19 @@ API Not every platform can support nanosecond resolution; however, this value will always be in nanoseconds. +.. c:function:: int uv_clock_gettime(uv_clock_id clock_id, uv_timespec64_t* ts) + + Obtain the current system time from a high-resolution real-time or monotonic + clock source. + + The real-time clock counts from the UNIX epoch (1970-01-01) and is subject + to time adjustments; it can jump back in time. + + The monotonic clock counts from an arbitrary point in the past and never + jumps back in time. + + .. versionadded:: 1.45.0 + .. c:function:: void uv_print_all_handles(uv_loop_t* loop, FILE* stream) Prints all handles associated with the given `loop` to the given `stream`. diff --git a/deps/uv/docs/src/poll.rst b/deps/uv/docs/src/poll.rst index 93a101ec686c53..f501089279d55e 100644 --- a/deps/uv/docs/src/poll.rst +++ b/deps/uv/docs/src/poll.rst @@ -101,7 +101,9 @@ API with one of the `UV_E*` error codes (see :ref:`errors`). The user should not close the socket while the handle is active. If the user does that anyway, the callback *may* be called reporting an error status, but this is - **not** guaranteed. + **not** guaranteed. If `status == UV_EBADF` polling is discontinued for the + file handle and no further events will be reported. The user should + then call :c:func:`uv_close` on the handle. .. note:: Calling :c:func:`uv_poll_start` on a handle that is already active is diff --git a/deps/uv/docs/src/static/loop_iteration.png b/deps/uv/docs/src/static/loop_iteration.png index e769cf338b4456ea688b0abf888b646a4253e0eb..1545f84a8dcd1cf7b5035f467fea69321e230302 100644 GIT binary patch literal 65186 zcmagF2Ut@}+xLqQDIyYzBGOABfOH5=dO`^`^p2DS2mwMbQltn0q=-QUq!>j}dT#=v zpnzaOiZnqK6)7qT2nc+W?S9_xdC$4db+-E=Yt5Q9Yu1!|=KkIPm2PQn$a3t=F&Y{g z7Goo%6%EaiAsQMw2S$33f~>CY0zXGWtqk>OYF_Xz)6g(XgrOY50-|t!1S}0qQUC7| zOhL{!C^QVFh=eI9co2y)-hLiFAszvtGJ)7IkOZy=1bO@6{IK4C^C-wEC`!vIO3Nc` zz*R+EWo7V3NmWKwP1Wgdeh(jP;J*bb%gBKO;12TgFhxCZWa<|f9tD1*R1xk7B?)k( zOC%Do_E=97KkzgIWknSkMFjO06C)clQ<#E2I41b{W5JIh*2_PLdW*hqNKgPsF_4#+ zllkW#NVN9Ad4%}=R}s{jW5Yar{?m96wbl@x=J9?~Y>F-}zln*P(amY`Xr<^L9S<1;a*Cej zC{?vcqEncurzs)Y53P$+ls5_sh(;<~M~3P<+RN!e*Tm)f|zC03)x6NJ5mNN{FGk6V5wam)ce)Q6|3D;T~346MsDmkYI}rkXIslsz#!M ziE2T1F-qa)p^gXxAG~g`wWnW@8o|%T5fv4Rh(Z!PJ@u7L4bA0L&24Rc<$bLcje<=O zYC$SW#sm{ZC!Ad{D9+k8z|qbc>uDN{bo6sFRJKRUqvZooI8!G_TeZMIBZml-p_Qe9 zi2=gG3~din&@-V{D%xAc9ucH$;Y96DBarF{ejUAWRx03F4I7AvR*ukDu*8E@PZL78 z57r!IX`)8-#o8i+0xbz4h;Wp?u}M&rIV#%3(1NIE9D}mAB2Nmv*M;Yj2YQk1e+KIhg+*r-&@}y%qrAOF4V-zKFrJ{ z(#+Jv(Zq;=_4lyS^9eFC4~+`6Q^2dJsfCB&m9dK9W;kP9kTu@V(@9Ux9_eix1Ih@n z_KNli_jYvj3W)KS)3q_viwMMl^ay+~)=xHHEiNC79gA)ogzrM9fl)in#&oZENuM2yXl#PTN8Zkae9IF7AAT| zfsW?pj)p;DL_}nykC!bd-^jqs$2%g>R?$#Rk7yQc?&pP-$A{Ugf=d_$IXQE~U`Lda zAId%;IKazJ%~nmtR#n~_VeX-dv5Hhxj#N>$(KS)V_+gQ1XkSNV1!I(Bc%Z66l!|^B z!Aw6C*b6-~#~?Jp(_76C>yI=DwL+RY`Wwdh$k{~O5_AnC%oR|e+0nWLJ+FWWqOF{Y zoVmQ5nl8qkIw{amwz}a#o+?&Rj@EKWH9|xT-pDTmTtFZl^ew$r6m%^E&28oN!og!4 zod~x2K~d4R-q=W_zOAP&GC*Ng*BJKP!p<&8l{!u~ZPL{#O$^nt)1lw>Ylp#jR(cC{8p=57pjth-Z zQZfzFlgHug>_FirYL=E3VYW)dKx;)?b6-y@Yg@dT1u-aufVc69#Cu?^jlx54fk^6z zu(MZE)>8_wa3X|Qns}?=Ok<)w%TBbTuti1d zIeDl?7%EY_1)(fw=x?fEPf$_}4^fP9LKp@p830qOXK95*I4J26F}gt(HW(ZR6|CZA z7!=~47@RF7!@qS3S%W76l9Kw#2I)|tx|}-nMn*1p%xvE z1%wh_AWriu#s_SV6kSS6bXuMqzzFI|KM(oxyT zkQk=mp%7__RWVoau(vX>QZuyjiwLu~(+v&@jkfjk^E8VHRq%=-T6(DI+S)kjdItsC zg`icvgTXSVCud_A6X@+3Vu?{OwL~j;+AA0$iIMuMI9qHCUf0e~-Xc;DjW$z>REzRJ zg_=63=%SqT33!uG2Y*vPGi8ET7@p{%6o~dvmA8)yQBl@c#F&7E(ZIyc*vH-y9C$_H z!N>tdin@AG|EIqFe^#D=*V~o_biE>*lKH4;kXuXtw=LUJ^ z&TQ(;-S0!g|NYBAYl8Xv3-ApV8)WmU zjl!9Z2nj+`E<&NS>5O6Qml}q3$zS>PbpD=$W4iwwf7RE? zXwaJdMFwSnv?eB6;UR>dudVgptl%=zQ6Mk|{r7Yla)b?Aq}234;_p*8g#;;8tSXwY zzo!977fB6fXPm}4sbw)H?n0rMiL{~;_P?hHT^;0<7)$ZpLiH^b7IcRpsxG7fy+)E+{cm_7B#b>7(<92vdBLzYgG3>vqQ%WgXRyyfsq$;9tn0%6Oeurv%sGZTtw z@#z$w*ey*sU^@fq2g!JJ+Uqh~#nM5MH04)MR!E~IvVdny(uh%s54`3ZA!#g}GJIlY zA>?51TTgPMBR%sGA-Q9T^3Qm!Exl7Nk`zSF>kr!@xjicfaiAfFJ6K8ZMg!HdKZm<3 zwXdtP4EOtkUTtR27^YYlLdLW=Rs_7VlpOgfIq?4npR(epPak@#eDv@2G%`< zbL*{FPVw^ZS1$@O;WO=$4)DH@T1Sc(!E2 zi`N3nUL6_=37#{M;NE1=-b*GabYkq01$-^NOMgJM8GIU#pQ6<}&q@0sTcf6IfDycz z!K2h0)g*;JyQ?F5I>>@>0VoESMbz1070@~-=#PB>h5`oC5wRwzqd>jRRwsm$q8zUu z_iluqz64&ovjn^>wO#lTgc}sMlba9p7w9x02@iifWeyx>>Oaqhg-hor7Yn1~V8|KI z$8)DdD8qrdoEThM08#C5YbK~bYRFI^Zmg$UyaT<)>2&o+-);U3(-s~`~jUH8q;ATf{P zh-tr1bx%$xu2i>{w11&wo_X9^5HX$ZKD|NR~}7e1*BY84vH_j&&u1}6Evq3R;pFQ{92!fczCmY1U@uw?>=|!=Un8xauxhJ+Y+a>sfTRb z?(#i8PHdwjBSxliSOGUAac{K@UX-7p_%jinqq@kr5`+4YT5^LCJJ&7b$?59J_&UBc z;1p(eR$Xmo0!`_QYkx$`e53!A^YCo!&yi2ViZ7K^W{JtY;b^6K;mot1TXT`_if>F6 z!*$9N4i6%-@|rCs;M-F^0z7r>78aVDKM6HRQ=&HHDS7YocWN)ow0~sJJn26(*BRNm{sOee zoR)xDu3|vz;lW;!@`S^aj>OUn>uNv0^&A#*<8Jg4x;7_T&Lv%VP>x^gT)O65=p58F z&Ko|4!CiNasGn-zVDj~B&?#fRv8cN|SzFp1UEMs<;6L-L*hIE#EcVZjXE;i_n1WPQ zT~e{P=oQPx>3dGaZ``;rcTo?v_K@UeFT1zm@t_}uZ$mKTg?+r!5;eJcR}5wJ2`29bYAXE+n%S zc7E%g(R!lu?0mwchPDQ?p_A$v59Xm#+y`=Y8l>7lqhJZB>oisRj2gkig zLgY^0PoI5qZ>LMhopZ}~t`<(ZC(MPdOpJW8h(pW}6gv;lV={E=DUgCIr)Rl;zd^c| z1V81DsB`xz4j(?s^%wW;b8*%ZJizi!Eu8VL(SpJr-MX2rv98*9u)E?cj0)J$m^pI# zV!`Hh5wU|8G^;M5=G-%!KpaOw9*UM$6h%fyH9!6dqcwW0CQpue_5uXM1Os+4*@meGGjhJDx>Y zR5vx3E`9BI#r-cn)xg%NCx3l%a`!1u5P7vP{4*!4#@>(&*JMXOYriufyL_;}HS@A# z1{iR0lhhwEA;rD?kNaS&q>%QdYmFHjYpwGw*!<_(Oad*{Wkwif@tedXzFgP#3fbAh zHv1s3=vZloOzzB_&{#eHmLo&BGF96dOGN1zfu*Bcnqiav{pQ#4=jVP7E5azmwH)+Q zmh9;#)tWPe#)5={ooDRFXJUw-M-6_w4Aiv&Go#ZnerIWaYB~}yP{W3+5da3;ihRc=RLkaVxPP_W5^9d8$s;7m2|V=nno|%>Dyn# z+z=U>@+qCuO41mq-bAH0%HyE_*4-!!3RX%OO65-Z5NxoRXp= zI94Mv|0UdL`MGRQllL-hDPRcZ@Y{rh<5S9P;SP2y&rHY znSpg3O1cu(Bb9mN^d=3H+`!M(qM&X+*IS|k{YQ_yKAGzK4^EoB1aPvjK`1O$?`<>Gw6dPH%&;lK%f$Qvp)5XEraHcOF zYgO#>wr7m4l8(co-$j3RY?Z{6$<&)K4P@x{a3j+dys|DIDY%&HD=NJd4>lqQb(H|U z_v)A2)(b=_eE}xObe&}5f$x@2UZ9vOpTx^fGio|+{&GBU7ev;MyswAR&K5v(Ey?b2oB6inrIy0)$6t1Qwj?8GC~$$Og+%04L8E(H4%*=v zc`-pf`&)KXVld&7;CB0lXPVED6)t;vgsLkI6TG%$vc(10=%swV3`0!E<_oY+iC=-= z-od`s%4!PuH8m(!RORR>QF@wI7#*I@PP=AAZj%*4x!`kQM|ggu9P`#diXaCei33jb zIAQ&rE|;V-%yye`aglnw>`G?tQUCn$7thUv(Hk&UPT`N&$v2eh0uA?>&PTt$#6{pd zdzHaR+AoWJscSJqYTCc8c4t|P(d2ABGHpTBUTh`Bl+l;jWj=7Ej#sN%6ivWK>?!#( zvSSd;gRg(G{oN4X9v)qNZo*Sj5+;z+dxnn*^`V7sx=Th^dDUS!nIt z35)ww;M0=9e(3|njhk4!xG-z+_>*h=k3C0mm})X47;41cTqJ#locWw3Pw-LdN*j|9 zWXwqEn93kOBi*F%Oi;^QgmdM(I*uz`9JWAUSV; zd5cIwr_SDf`91^3a&@<1!lgRF7Vplv#1}d1v3-LAzrFN^-rgk`mG)=wxy1Pi_>?=h zw6;VKuGOM>_ih(|BoBiMO*Em7H2UG`;EYmhyVmm%ZZaQ+-E?sb>b^ikrWYxf{4Nqf zlb*pQ9`Rz-C#5C@(e%15S;uqXJVRiA(sHiOEV&vimXF7FI>FhMq!Mn*gYT99#M=IOxzq4FD3ju; ztA2k(xArYp==qe77c);F+reLF)SwQh1vE=! z$hVG_u2uv+G3VmBLXUn4W6WNI8E-58ZoG@~r1`|jOClv+l|D^=exNZXmT?1uX|Sb5 z?SPF{{!seo9F6PB=Io+b>W{{ax__jc39WG_(WCkb1;qOo_)~{5Z$!;Ab;HF1e9}KN z-%_I>F&z-C*zlt&vUt|(!YM~5L{EsGHdBqEKU?n^$heh-3L>(0}8`Wv6V{+P{PEIwTIO8UqSef1UDED<@gj$Y5A?V ztaV47cWB-V*VF_6;+Mn8gBQYVFz@HnXS`_&7GjWt*F@}+5(U}FQgm8hkJ-yeaRr!?Pc@vCRha?Qiv(H776)Yo6 zUEXHvai70bDBXH6IH-{e_s@W8V;(}h-aokfE%`G0N$&wBEy%9Ui}S;f-hf?;WR7jJ z|NKJ|J5S;GKeg0i!z!nI?UA8W33NWz96Vno3MtH@K^nh;W@K*~l@p+(Z%0P%lDCF! zky9mWB@X^<=7{p&i5)#)2ED)Ah#5zWX8M@bCfZtuCr2WtC9 zz?y-$cxHc`ntITmwaTtjncelKf#v4MiB@<2t8~-kUA}j3{SY$$^v!J2Rgwy%n zd1z{?e)(K&gKai&`Lh7RARO;OTV%o;pCH<9PVtwCLQ-^YFt+WNc{qJ*9T!IT%!u2s zAj$2Is~@N6SOXstaq`890^lf8^UpWMf2#s{`DXOUUb5*joUz*w2EhAbv(VXE;Tzw$>w}DS#=qJ4u z92f!E!r&&k|HVhIS%n#V9s(i)Zm4zZn*RU2A-3Gj7?3PEwlBcfyOGLpzL}(O(O~E~ zlGIS(uJ|Z$$$oDV@hhAq&b6=WXY)gC&?N@wf4$~~-eeR(1Vs@3Dwp12QL5FOrFQG| zS<3P9@{l@3G zy=O`oeK-SGVMdYLb*qz7bly-qfN#_)_3uvnb0QrB{r}LO{k?52PHrldVsyYtLH=Qc z{W<{VU5>Dk{^v|j@GnQIBwV5bM7^@pV3=mU&VF#|FADsZaOGG3J>{eW@iX>hGKO?`THcEt-L4TY9|(omG&|5EL)$v5~;rNB1hyKXmpl>e{07kVnF&G zHc`p;V@Ef(*&GR6mH!8|yWi**K2iAsH?l>Tzwl1 zsJwiUMc$bWOR5$tqT;L-EznA5-e24}T&e9bXhd}Hi^M0_M9%UH$EpjL9b9ogJndgq zPkScdv4Sm<+wKAuFO9tKYme$gXq>U$S>n*t03Mf*x>i%@C*h%pzrB$N>H6ojRKg z`sMVcM{OUnrQrWB5C;bJ90QWg)g=CsvHB`mrTJ-8wMNKPu{%41U6*;z04PGdTl2*xzQU+N z$hmO)+SNcVFEB=%oBkay*WKfPOyEc%GXbs2nlZoRlIdB{O&q9Luxj4`aB1@U9spE6 z{D3(It&qJ>BisLMJaAG4@eKdby6xC~|==kK0oe*y{fXdt>IqvoIu8t5jLj@nC5aLfA#ZSsBWR_OOI&WMPISe92YkBWl`YRhs7qA)_VDNGCV0n}XX_r(;_CZPDXPrJ zHmU(1o8?Z{$`!aiZ5na&h0+^SW#!*#0`b1)nwvI1`#3CafEoGj*SGokRWPdW0;e(^ z**@XqUtq`|-FK}A>_fBdCh(QjxS#6Vv!NrYJb`cDtG8H1mK*}Vr)n5Ot*Ug7_IGc;T6W3E17fpsPJc+Bj}^8*W=FVt6VFw3-^Z`x0~ zcQXW?4j)YZJRi61+W1P3xd5QCSC{3Vp8f=On@X|ULBR7u%*XFl2Y68e1Y*7jDV~3H z(dM@%80puBExU71tz0>NU}|%EOi18h>uY80wT)y;MsvyuDE8q&Wo>r{YzPd|8A8)* zgYp&V8!(A+bj2jAOJ$7HdTe=uQlzTsNh`}wRom~th~H8p5r*ZTHF+z7(w!*}*IH&) z4~5VhonSL6jR|ZR6iZb$6@xSh^z|M2lWlsR3p2v|)l6sT)h+$CX22EZwYakEs++ZP zg|FU(U2}LG3mn@|U{@^Lb)Cv;LE||NH$0c|7e|ukJ0pXf`8l`=NL?=h?YNx6atldp zGBD3PF3H2n-jozZun%Ug#9LY<9PYQ;O2JR6JW|#pE5YwX%mzOz*qn5q2a%rs6E%Nc zM5F_JGjq*0izsL~#w*(S<0(%Ohq-DmyL7Sw{&Ep~Zu_q;wdOnRyLQ6pugRX>R7$oXCP1EZjhw>{@?5a|36E~s z(P?{Y@~+}sQu6Pvl3i8Goi2E$@e%(C*@xegbYY#wC+`eTBk-p#_?Ci4y@Wjyuy@>8`b%Sw+}2E_^_L$^3LJdE92xXfD8SonDb4wbL;3D6qdn& ziayx+oU=7`mUF588NWXRfm~os&Shb;m-u=%gDzQWU2Ou%ZBzOFv&{rR=!C&zo}@(v zj~|hwjeL7IiMWYlMHmF(B}och;ts-4Rnz@}W0DbNpQtE%#qDTM)SjB@-mhh^jl~K? zM=Eb!_)6WCF!-Y4J_1Yey#?<_%1caYhR^06Z~6flESu)VJgwEBAYtm*G(3oHJdYeT z7GL{*`Xi%6qZTCE#-t4ej7oecKv&l%HYhJ=0WMC}OouK33g*(m2}8RS`~ZJRB}!D{ zC)@L9G!J&8kE2(ut$ZpO?MQZ%xD|7+5dVN3V=&oAK@RpM_T8bOT%Nq-e^YAsW701G zQyraer!z4Hx``pcI%hq%>5( zNHt_9k}TBXWPnK1Bj?(mt3QO=_S0PUXTR>Mn4YJJH_mv?23xrd`3U;O#qm&2ZE-YH zeEOntlRV!yP-0mPEMX^X2!zq@ zhjF9QGxOBNB+xBtMC}MKZMG(J7Ws7FRD~pX@k(CBtBRGAo}IvwSDUCkfIB9nz^CqV zh@)HI?Yz+VCd!Ug>WNvQ!?6E2hDo|m-nT2deR~-5?d7?jm%~js#+g%*JG(cq2h*#N#$gkD+ynMbelVUd92UpFS6#vx zlX>~$Uutf@rMU(;V5kz0puUm3IT`Y$?&ziPraMpG3)ve@u)(-rf)H_p3H?=CF$QBM ztBZdeD!uni%E!=@s#dLWQpiBA(8NitXS|`8w=@kWl+?^~Q2mB68ql{ zV2@qE1^vpJ+i)QT607i8ABHQG3aOgLQ_EZW8wp#UA?H;BmCPTd8%Q)Bw&5YxcQib~JOxSpxOnopwq`FPdh!J=VGd1GP)+6Fy#!YEgln4@3~#-SkHaG2z&e`^bd=Q@=EQhN`JWh{W!)V`qh^vOxZ zBNjha2tFPSz1J}gm4UX07S@5YaeT8hAM1OC(K$TgL2quj?iH$@e8vW&^Dl3jbh}Uh z7R%{(dKc5JX{+SfP4zu1kCY}SofB-++;b$52;pquvf3f9e}F_LF^qE76!Ot|&L_W?QzlI^NsFed^H z-4M+kjPpo(n0^*(0@YS)7BfqN-=`Dj(!B`jxhTXiq5mDqBNM_N!4J47jB@!?4jNFc zf_{dbJAc03XN~J;!~Uu};=_EzWsFZnZry_`F7tW*mQHUYOKP=bx8aiv_?uq~yX$N~ zjNvR)n!%v(+s2s0u17NL5}O+6Wy%$qaaB!E-4tu>PLb^GLMJJyA}@N)spcOYe_EEl z!hu>Qx7z(0EGq9ErofxtqEdzb% z*8x9;w~usKF%*)kr?oc6@hu%I!=XiQUNHty#Pn@-p#`P%HI>&d6Y6uwYx0DlG&rl~ zuUG6C3Y-t~)O8M8Zha5=?kV;C>S`x;b;t{;6w_n0bX-X{TvFs$uC%SCCt=xpMQNJT zuRq@Y*uA>gSu8XyP8BIAG_=E!Oy>xZIr-O{QTl4zNX@ zd$z#pv521q+tVsZ)1n(^i4+!ZrgnB-)GHe|q@#b_12))B@B1*OyJKND{!?_P5xR* z#on{){?OCkwwl{Bz8n^(yd1bv9$$U1V4pyo2}t6JqLl;gm5#^~)^qgMd~|+w2w(!f z$AOFQ_1iYa>92ldI4vh1Br|d({ub|hTy?3`E)%{_xPHw6Mjv=1Kf|W-RH!5M#<=3(y_n0$vhTvI0EDn^9JpXK##-PrVe0^@xefg?-_!FSp^v1q&;m0p;2Pb^OTbOt?iZaBf+PV|54TO|po5U52EZZH z@^3iw1T%nOY+sj=lNYpMFOS3cbLzn-XeEu%D<^QY1`E4_!uX~DDYmRdt!NsB_Q{&hl$=LP+v|^=xxTYI}xB(Q|p>K zo3iIXQ$1Fxm%JfQMMy{Nw)D!z!E>DFXeG6&;OSOt*(w*UEg&xsG8q$}f?q^xX~`+t zcho|=)4j_+gWQ@yf(7CbNg+AHTRFwp-^4dv7q%N(%Y}x3VxthCo5H}k4kjX?Yn~wU zI4nhHfsr@3kL|8u4nJ#7oeFrcE4lLzV!4oqtQ-Lg`0lZWJOU;lifOtvNW39+9x6%ra(9wUyH6CN96#`J``2A+@N+>*; z=D|kS_B$!pEOs0j{sA&b2i)GPV|QY%K`SnTkuj&w$Vrn}@!+x@!{e|A^1By)@!ub$ z4WqFYvIehS@VIjLl1@BhpDng9uUza+*_{j1|I;gSjHz2+_%1$u^F;$WOnNA zj_sA>phIwsH4Ud|qeUz;ACL=&JHu_z#E!qr0=dtuU5agYy?zf$9(J9LVr4lk_%FqZl z(3>2+HgQzyRQO${chP%4JU!wUtmVU_Un}1`(#VJYR~AE*t3q z`oX|E^jgtbU$0810;)0Lbi>L(oHBK6!1G#Kq-|o_K<+028jdoM2f|QIIy-!Wq)Ue` zqbSI1^9)LR)R4y3cywEg`Q57rZa9!vG1-or`G_`D$2RX*m$CM=zFkThm{kuESNrwK za1bCSk=+}1@XE6N*%$-lnAG_h@$JZigj;N<g+pnB?fsh{44!mm5pw0CeF|EE8MFfQH&78)SB}FzhnW3LATI$1@8WIApPA0yp7W^A<lx9=>_9~dl(9}+cD2@jqz9w~+X z29AyfuV8L-KuA9>t8Rn!NMcz!`-a!T!o5ANqnhTIf6(8LDAs+vzcN~$IT4`u<@M1P zHhU>_!^!k;6I6c-ZFK%J9c?d|I)dh!soC;O4JpnpH=9{Ih#9v_5KHelJm}=|ztY_8 z12>7|>}c7Vn0qhyDui-;e59}?-Lc1;=JhVtsc-tH7GuLWraDVl)}8Y(} za=c6ZuW*plKrnjorJq-gA60Zh;>rw%a)PL<~->&#!p=>el+X23S7GQ1ht}~ z)h(GH;2FY*ksQyt=u*Gwbx*tzRdyelKC=u00V5NOh`~6ZQM4yo&;+beI*P(a$AE6p z8{k+q#U-+JAy8!8TT5CX_Dcc}F?${-hRBCAy<^&EX6$a#{`?ri_4g_tZcY2+9$h?w z?JXfR3=V@iAC!865C6N1ly2;Cs>Y5qDltSAb&+0`*KpK0n4PkIQqH4@ER#SEp2~HP z-$A7vQ)<8E(0KEF64S%C3X7yXN#M^v`~7I4o}p#6dVlWF#>Z!Kp3sQZHu} z2C%%1iOmekm@eP#cdX=cil;yKba;>=o9_)c(}J#RihW&;7jAjRAumeR2D9UF2@3K2PAyKo2v6)x~-gdrs~AhD+fc`-H36HXCj zT_6;)c5xT@`q_6$&q3%u6bMd>Kv?PZasG2}G1J=lcxtl1r=&f(0LT)Hr$7K8AeZms zM5Vp#&k>dRx0_z0ROW9E^x~t6&?Tx^7>oyymFb8p=${RF zE{#oBGr2i?i&vdT&4ipE$(xu;%HvAsa*((Hp+<+UJs5&x++u(9N9a&V*f6)xO^*m5 z;XXkl3b?>eu${u?Lnpahh`KY8K#s|+@#Jj_L^6PGRK-m$_r|z`=e4$YU5c8}l0Eu?W>dg%I^*SEjTj&IlGKX#0x(kUK z+G#vu3

      rQxP)(0rA=J9lqKl9F+2FPD5_DS-^aYTQR=a^pCi8#W{$+&9lH)f+_JF z)RzP=a6JH_u7a8=-z?nN8M8`TEE&GD5A>G`)Ub}LhTcw@jSE^By}rav?=YLT{_7Tq z+PpdO$vt7eS$AI!x|jQ%tRuX%TiRGZHR*WU#pBY+)ibcRJZ=AcplC`dhTmH7x#5w@ zj&%9V*Jry6=12ihPmfY#Ia^e9Ct)3c*kmpmtIV3}kbS`Q8$YH$zZOxJb4!rRH4L+N z4$?7#mWL_6by2F;lj??G|4i`_Mtf?d*p2?=wL?b24ea zz!wPdXZL}Kv-!%`nHyB2m+I531PCFAVUT5THA-@?AX zCD9p3`FNBtS=-$D;DVfQ^VcV>#sK;lZ&|YoCV2`CBy$41z)bg*8f$hg-8V zreyT5WzqHnTXGW!@~UFY&3nxwXss}W3DcquV}o%Vw|Sq)!0$^H7$Z66LYwFkt#}jCXv<$NOvqfHaE)~R39d|i zu@h6zh6mTOuN9KpxQ=$dPX&7HZc&m|jf1<>ZHI_46d5WSI2khk^3AQ!#p+c7?K0MZ zhpy6-LPK`QKlvhPg5e;sxcTYcdS{Rl#rwP_h?Whr8S-N6*hT=|`~=j_bt{D20Jrq+ zg3Md2r#Xnd2`%1$=J z37aQ$lm1d#Pi)iS!Ci|<{U@K(4Cz8%i>#7Hy2P{LyzKdW-^dyjB8A!7GIhDT}Dej*2CqwAvG3Q;cUKG3s zU-qiPgnS~NQ;S@4^eJ94`))gH(C+zD{HpME2QCcwJS1lq9-0|*^hyqg#kt`1a(iL) zWuc0+1%BFWpg%WlZ*&X3$F4Mb+mMxKn8V#Cy!RaBDpAReKfQML_X0j^@?`jDpubDi z72eI4KGUSBs}ww`^tydD4&pr9NH{7K0OA#huO}yegHfk(rpn$mJf9k(MhAwvTyN`f z9g}+bouH(9r!B1h=yssguIKcDuJ%VDzY49be)bkGEH&N0cYuhS#3G8rrkOo9)62)?kGimO8Mh2q&|9K@vV*t^G#S3TSqny9`!l%|u8gS|FyGsk?d z;_H-#VJM;k)5pq<7m0KO+n~1_wtwFI#>92D*CV8V_nlSzjJ+ae!?Rgk;Z=}PV{5i! z$h+6IekAsW4}!F<0dO=KLM}s|Ca9rOd#~SSEsa`aS`qWEd#Nr5Il8>JZ3ULLt8b{G zyobP5Ye~NKs+bnp+lUxE7z5_8OP>L`te=+)TbXI|QoHl$=x->z55d}+{e{H7trAVK z!qh>}PQE?$w2!{wgv3zO$#14xB8lh$=ETDEyu`bs1_VB+9DYRJg!gpW#yh<$sqp0{ z!r@!6><|vK5^$MDe%W;*wK>`cZDF6_;?K)s8%(=9oIZrh0D&8WP|`QBj^gP`zj)p3 zITiuFFlpAr$w<5xUaGP;*Y#XGodbC`T8|s%f9o5994!0+J}x@X$|tD9Y_I$qo^+>Q)@b$L1N`Ecz9iw zH=B3=KC4xl^7I&z+!jB*|5n}TC@Nh_il6O<&l?Wk_q2+5=}9)xmE_|Y8mo2s)s9gK z+K}ZIx#*xOL;6#$7=v4>@SiS^1&LYd65pKJ#P9Nlf4Ey@#eu=6z8mD1TO;LVZB-Wr zbKJCCi64UNc9itFwF!4MwK*}dkKV^@W}RF^k_E|WQWI>V+L`L|)wQjce%hEJ2hSFx z_N$U@V_(cm{1a9$F}jL5ube^v*HOZ5&iSgdJ0Nh|bfKRy*wFSzd4%x6@8cMy_5yjH`kh#gUX`2p z$83J*p4p%JT_$aKub<-rDms;A3Zev+Zv8cCGBYxZ^xa*EfyMSrx7RK)HjrecA%j~v zc4jU%fm^TNIa-wcc%}5@WDznKb@N6`27?nO&+7t z$2{bUCPt~G4BZ!vMJ4vhdlFvYtTpeCBaJmlu~~POAj@P6wh6H%y!15jqeUD(xZh4> zK-kQ5-|tqe^!;?W+MhycVVV9X%OCEltfZBw>3YLe%(TpJA-}m*-$uCugvJq^>Zw(r>rtqzYCxx*=UaCUAGg(jVwG-)SMG|3 zGug--yG~9OydBNy5x{O=*_~GS?fmP&a(V7Fx##7eY9-Q-`eR8?(#C2%eKyjl$Ra-+P}@IR+1Th ztfY6Jy;fHA$$hvvriGR@a`v?MplD(Mzh7QsI8gmCZg}Tgo2&JA90(c5lk}V(kS^xQXyXoZ) zQJ{3i%BGT4`gJ^_>@2t8jT?Gobi5!D$Ui=N8kr%NIk7U=_G_U71)&me#3pzg?}Z_a z8PY6=*kJ1?yBRGys9#KJ?X7zCEJp%?nCL0vk5c~E!ADm^xhWJ={Ttb$n9=7lodhSN zuJ)X8FX7t!6rFdBs+5nKPn=Q5qDKo<;vMrp!!UYI`4b--Xy}f5?Hd zuX}ei)8RYoC3`y3lixa4WO#lIsbkepgV)&4q$#J_Nup=%vf-|CqwHegPY<9uuOIu< zIJQXcs+-OGZ)utisouQ#NHJdg{n7O8dE9kpY3&ovKAyYa^TDax(#!UZFVrhFmEtzX z?Q6H9pp%aALZg~zj%HG-F3Dv=IToC~eza@lT?Zd&irx_a)_l}W%MF>Gr7ta(&zioW z+3k0)cp?Iii_3=3T|Y&6S>OMJMG1};qdE74Atd(u#^za=@TcjMS6zh7D3em|T<8i!$}TGGDjy^H#gg##az)R+EA zPgwli%OKEHdOYc^pu9`iCLCRuv?fR}R0BJlHN(`~=~vMX+aIxnW(tIkYtyNQ*-m&k z*S5S;7E`;nkYQ#;CZu`Zzi2GvmV1uFKfFTJh&}%TQ10X-zIt)&6|}biNmIdG#Ei7X zn?k!&kb*7JfKrNt?Nrmee_dngm-fOSD)_Py>*Y$k8 zE*x=EWAD;&wYq98KM}4PrOg+7`e&A*hIjpSdDGsivoj0?2rKSYz&(W9XVyB9U7!BP z)vMliT&4S4MitmJ0w182^vCxHX`R13N*jC}B_fMOU6Q$_C0BPhhgz656)4Q-*5biue1)7v0>i}wpzZ;ypkkQD*Tq$;y}3uo0c9VFIdU=6}HRGAp*Z6 z$+QQ5&{~Z3!*=D`t9fG19do=e2WCObsY1I|M$b9uCEKTuvsbyfd(*}mTrNJz)aIN? zc;sYAf9?;@zbrs(Pf>F1)nD>t~R_gdFhW*rVWwK+ZqN?;Q zGR(xnGo{U6&nfZfDTb+VvVPDWh5fswC9i8n$N0*p>YoK>3QUr(CYetg{7N)&V%r*> z{Un2tWVsP-T|wuLh0SY35bVv@Eo#7Z=`(oLmvmTe*oK1{Mtz$3H)P zUh4PbDYI3USp~K}HS4@ywx&@=wTe2fg@0E0(xL4)jk#|*m#tmupO++GrL&-LvAL^D z@m#W=q!awDnR}8ub+X?hgShopvKU_W?HwT11{KocjnG_u{#{heo0l<^rPudeP;%%X z`=g$a*X0*0=NmW%J%@b)H#sHMoJQmJRg&f0Ghoku)2)|nw(%o*``fKMmey5n&%5}0 zagPiVY?t=i1@&|!I|WU|(3bDCIhbt3#}lZdsK3o?(M1o~z3OIjAoehxz425%v&x)T z=PeU^-wQLB$zKWjX>(FKbele0InEsHyuL!Z7~y|e_`@snnmwF~I)Se86RD+l8?mLdf{jaSI(Zj4f6ZT8ny%i?U(cQB zMA_?^KF}1i!#gIWe7RIQ!PlMmu{GyZ(}TDx*4LYU6bPWG zC+i6Wrk}FKh=dd(aL% z;khMFon_Iggj1fLC7-_K_tXax518+gXg;la@~utQoYL$Ihz-{1_{HTroWU==GI)8n zQ?)sT)ROZ!>aTYE01f1ExXZoNOJzFwq4^A&>jhUGo=sHvVACr>%Q4gMObPzOM_lE) zUn2R_yJ^oDoKf>in0l`f@lzeAFjN+=OIRJHu9)vzO~NxITq`egjFRjFIr%y%`ldd_kNWx@~irM@mP z)c!3pb57SYrcu^oi2{1s=&@qPX~sBjfyfLZX>Oh@^Ar5WxGKh5iR^gCE42y1No}@4 zf>@MI=wx$`B~P_kWJp}S(>k3%g5}a%pAv99SD|y=rnccLS*>ke9{kizJyThU^-<5f zG+5RBcxH#YL(0ukK0l=Ww4Sv^%ashvJIB1QgiQ#c}--3P*sD{*PXbKH6iPJT&g+nNlVdS_O8RCB5uNA-5h&ovw0 z@H$JN;Bj((mAU!@JCmv%HKum$W+gLq=j`AVzg5x&5X9PkmOuWZHyj~UIQe!z?chm< z3)u&H0XtP(XY9w%@6D@F3Cy;u=}CMa$<0LL6Tg=)tT>8|v}zVN_1ufMtbDh9exuMX|D^0>kqJAo{ss+p`*}&&@eAzY-LjeG4|0WR10$o19@5;DK6++VUdO(8 z&6854u#hSeWs%Sw1L6{0;rzMop;v$WLKz6%Hs(w2JLhvQ{M1j$@@#Ri5P2!`qvP$p zn;+f_vzuH|tb6PO@KIy9;5A$kJDod@oebQ~;ZX+n@CJK{?Cv?xbj91`@v~)M#oX~* zTvpFHq8fwX_tIt8$@-+Q6e}~Jf*cAK7S%l>TOYN^TSL+wK zedKA8W9C`>b9c%tlKnlF&=%DbJAqwM+_20a;C#B4r-fLF7d{rfd>6Tp8CxH1RG)Y` zRy9u2>8G+A2=F_k@;WDDUi|L(leDc)HK(%orMOBdbVzt5SK^X?s*PwTm<%|xf=sXvF)72yISm9x!#X? z3627HaBYh`dHpWK)p)Gr>U86dm@9C60?vyUz!|y^)XfRLe@*sdjv9vVy_q8DSl*Aw=UBU z6aIbo*bq%hNhaT)>lMzHER+~yH!3c>>z6C6#nw&4rEYOZzIka@hQLOVYs^1;dof!-an0hVjBZJ^nj@qU3oz-{Mxy6*BY%kr3T>8^2Nd^w461!SF@yGkT zrw)QIyq?v4DnlDl6qgq4Ym#|UJ4&WbtbKr7X5gJVZc|&edh*ZN8WX&ARaldDMI~7> zidARVsKPjav`DatB%Pzv%_m@p((T*0(tGaPkz<=0vXily?%rs!Zc1Ks&z@g1UjSnd z=Six=_FjychnTyY<<+&ZjpkFWmIp!9w`%!y@ce|Cp=OkvY^qwaVl7xwGtIWW4a-9p zB2EUu*!cKY4{bI|ig=eW11G*4>5-+O2$(eoj^W1?iCMTCuh$0!%1WJXb;!dy``B(i zaJ+k?On_J)ckFdt0AgTa45?XL{&Mz$CuWnGz`BmOq1A-gEWCBtWT^wEwvmgsJXqha zY8G|H`%P>5k*ZyteZe7Kbdg9V_A2Ma=Qeek@5AP6hn^_=G%b&~_nqN`pA$ECem~MQ zxSRMSlrSS}m>agvJRlN1_M{Ix@hYq8;b?Ml$brFmZ@rMz7{E=;=O1 z+9ov9>Gie^{o~}i!jEKTls}RWQE1?938)n==zWZtIo&86I?og8)z&ahDsSd7(?|Qb z;$F?r_|%Fmo7e9c9=+V#7BYir)Lp_E+P5zX-RFlcfJcuBH?etGoYqsOvTG;Jjx(0~ z@5b7DOjD9;;u;qKeD=yHrQ+35jysmP%kmQz`swC-oi7;gwmBqN4>$VvJso6ghl+{z zZKy6OLo%wIKSYE_zciVY=3wYV@O!Cp6Axl&U?`kooPJIJj7%_F6;t)}+j8r8bqe|` zZV5VPB64d-ZFJu*>lo`vKE7G8biAoSia3MnNM z{L?ke8&oZ2lL2KNzDJ>_sloGtv&yez4qGV>3 z)9!1NJf2w>s`+WkQ&&C=n0Q2{be^@uYL{OB|>{mnVzYOpjg@MKts39rK_6 z2|d^$qK`8}UnZ*ZE^rQTY;TZ9i)#F;m7v8{$h3Dd!#b~xt4Y&{bcam}MMiQ+H>4{;XM0?_FZcRk(zn&*2HNn^F8St_+`JJWLHq zH-9Jz!nPuwDK9xodz>)onLn6q6fBprP|LH15?LX^jVi(c5c$4$A}AY_ss zZ{X@;T~EpOvNrUFu39`whlHZleEQRpho;!q?-XHG#1&RoO_=fBlkQ zkBQl{z{N#98C|y-#NEjOXKYiw`%dWdsT28T?iKmh08^>pVQ8ho_{^PO9O!c9N_vj* zrQto2Z?V3jSa$!0pZi-{*HYv%cp&#s(&HFV97Jd0jfZQNn)2t&QU=DZ9GN=1QrQOGdcmnSA@@5aZC3Hy~73b-9e@4mR2XP_oVY z@N=~4DV{m&x{*s&gB&rR?aH^$6I?s*Qv|AyGQw@;=FW z)yqM$h(A%v$b?h9$dJah896%HuksOQm(Z+%M1!{w0>&sa>6@GuQf5K38yJ(XAru43 zJaa;X5T0N$j9e|-jTooPyhu<0B`{bkTF1=R;2y|3FFX;dWBpKX{A4Sq2LT{COt-6f zV^l|IbUwvrR5ZC(eNf(}#WY{Es(7HzeTmrnDPBB%6k4IxWfKM?X3G``IYei(Bt|?% zNpPW3-DWerNx#){x{`>Yv5j{yQnvDu0I?7r6uqr!(r;XBAbfwTB=xgHInm?rmkwbIfI(|OMb z)eoUyF=3k3%kXd^W@9yJ{t)c$J0OsiZQBu?^Y}yXP}toj>tMJNk!%{buI`_ZVwD4~ zzN&lnX0y;EPgSxQfng=$vh>3KfV?be zgeyM>CU_!sod>b8s(hhs1#R)DRW-w5(g?sy{ft_{GxkbPq{>sRix3pAdk@6_p1s3N4%!NFN%n68rNq<^>Bnaknc45^89M$ zGHg}qzL{nrNhngV<)6NLuM2ef2appL!Nc#Xp;5#d+Ln1f0p+fy|BF207%jZOCOCZ% z1}+<__-E`vi>b>g8dP;Uf1osRu5MkHM2h=!04cqM#;K)xoUhC9`BhP0kaP0DU~B1f zFXUV6E2NCNY;GSjl7en6fZ(NNutmy3MotuBetd;EnyBRGj=gPg89tVpHDJN>CQ;cY z!IO8;^37<6I=3ouu1whsm}s1nWF{mK9tu1wHx0gj==f_@#CpKKTMn@`DjnRB22fDn z2XRv7xZ<&u3+zCF1%U%>En*#M5{JGnMbeBaJ9efr4VWz)X+zpMSNt~SdYnP+kgDm} z$<1-jbt6Py5p;=AZP@d(oJQl^Qb$A8xs8Z(&y{)9_K++C7b*u*X1r+v!u+vqx-#g{dy-ZB?m#KQ^=`&dq34NuApcd20kvm^iNB_r+-cZ=e`B zhU(q}T&+h6eX@(rh;MO)PE&r|Xb!ml9JA#81x zEJMw|=R2n9u5}^CL|XttmR=E2E86Ytth>w3`d!-plkfZ5!e>bq0?t^Z315ACJKmjw zuLLp+u14Ay4n{mJ%SbaDEQlrpp(}Q68@&{-pl_c=-ZbBLC-25{j(2S~h{W<8gT45fCc+5Oy~enD8XJua8p3U!e}3ur&R^Hi zK+-|_+MPr}D$#C19E!FIa`qyi8|nWNPzQyn;M2oDZsHwpY+r!deLJG)A$g1{6Fh7z z%Ea-5q!CjzaAwNUIP=Gd^Ul4x^_kc4R`?<)SCjZn=HV&h3A*A*#IcpvN2Tx*i7Awo z%ydWhR7161O0Eq3<()8P`2*;9ue!ER<#yKIbQyt1T+F)oqimY8WL2gpJsCWIy+2kU zvo>13hnRj+%I=)O?T&P4>E;P^A?am_;L>O&Y;k`t-uwB+dlL29H-JufQj6N<4S>ha z6-=j9D;eV)@RURj{5_M6b_N6C0IB2IG7~;M(Rn}4{O+HE+m}Eg^T5>!TGNxviJb7Y8ooW*{siYk~$&>x;|ZK;>(k=FC-XgP3j1M zv!r`;Mi-5%6!9jf$rPon>Eq+bL%Zp2{qdwqSV$UZx;q9Qgffe!i0-+qE?YG zSp*HBm$7g3>M^8&(Z^1t|4h;u{SOCxQaG9W_Zs8ZHyYGUck)I4KR+7#9|G8dQQ+m5 zBD&K$oO72fjMEEb%3hYo0RhZ`2C6?7nApKDeKZd)C5?P629$S#@-e3?0z@;(-HvA_ zyw6Kxmf^O-Ba=fSF#G8gETkVT(L1COsx;n@(%yQ?zj|Pd0Kg=pEs_mH$TCa%cbP3> z0{YfM?qzW8Q>Z!?AqI?sfV-8YEJ z0uc}}1Nqx8RU-SPsPPkslY#u7zq-VISx^iO38yi06|Ou+41eKYM~tP}HoPJ=@{0fY zt4l?uf?`^LdM}U|{ZKDLk)lln{2i{B?ieza`cFUM1Tx<%eB72)nh_vqpo)bX2Pp#Uhxho{Z1yTfRgknuSa(ldM{q;$SS4eh2J475W?P3YmaY%&zq)DbE7l!A700 z%0!qp!^ORGD{qZ^)#S^#q(3WtnQ3i!TwED9I{o0sa4nLuz;gI&U6Zzi)R_1^d!(Oy z0Jvhi)V_x^VNo5PY)6#z7}=Y4Z&XDTW#;#;_d?d>^_SnJjVWvn&)VrF06$!aySX9@ zUkk!rBevrvrIb&z#<+8l9Ko1>3zKkwxAic4(+cjjYw+Z(p7)xC^nu$nI(NH4oXj~~ z&i{_XzhvD=NubBX&IH%nknX}=U>raCoilf|4VLH%hV2#38$G0ZM=0Xx=Vf!0+b6c~ zSbn@y_l!+sNe6f2X$-y$P7f>wZ_-%Mtc|*6hI#Ue{lqia5nX?-MO*sV@Kd2Z0E`bI zV}Yxb%JPjGeNG|~vXq8LeK-=O!vs%DAF?jT)#p21u>TS)N!aUxBfNBEbfg2`hjJOc zBl8-n1O#(AUogt|H>-AqG!Y)T%l~558oXQPg(r%a-Gla z#(YfK9bq2$u;HYB>r>+@#fL7b4F4Pt_rirksmBNnXu3 z7acMC7c?T43#$-H@)*!Ir{#L-$VaO zGE`+@I^ogw5%^lBZhpa@E|37oNV}XP)Uyk;*{)=aP@#4S>Ss?YP3a#fK61uCf$S|s zd7j3kwLkGEthi?(Z$qmu0F50zdCPGMEE04W^*5RqfnvLcMe&dr=c5vm)!KoL11iwQ z7pkS{p{2bc@K+l14npG8h)CH2`fJ7wGGN$CQK8?9%h&dovaT4-1gJw~-}iHK=*(ZQcsnp24}3qrUWU>`0%KHsz~05pUB$0+BJ2pf{`O~WaTC#kXmSx{k63TZZpSi z0$eH$X%hKAl2H5Gt1gTJoJ0(z-`yg~1UDwoLSRCArqWl>t@rva@?EUYDFPjr1ETlP zqqe|>P5>>36n`(KPaKe^%G7_?L!Tp`=f`i=d|q--jg!36ZsW$QCp0**)h?J7-{u~0 z9tz@D5G8Vbx1VY;CSEj4`C#jk)H`cmR%PzcZ>^tmPs+{IdikO##>u~GF)qP=#fwqE zy=1)zg-JvWLL5O+32K$3iJMv-hpafJIF#o@RQle~gFG)wV;myYnUNw{4#I;_iHeeH zo|})R501Gq#`53KF{sI8(f?=wwAk)^fPhU!UfouPXx}^}>s9sIh##z*IY@Z`B#+24 zTupMf&W0kHt!gY!)|;*F?B{9XQocfW!|q7!14sd_zoAI4q6mUzUm|3^DJusmZ~E1z zZK6?||E9S1v8^F7u2Gq_=W@A!9%nM|p4bOAOBOJ&2mWg5Cx#w43v(9nQc(%_T_c}*(UCNtg@1e za`%CKgd7;rldxf}cw2lv6nHP;2606SqQ2Hr1d4p`lx6c$ok9#}US+vgF?72bVVu`h zrqXo$_Lx_9wtjrE?e{?=;Uc+7vQsZMLM{0cTm zZg~%@At3gsXTr^~^it|-q#5;6%rW=4S2N$A-9A2&a$1eP!P)I0UB6o3zAN~a2(!6~`paL?_?Fp<>$_|EOj zyL&F&f@wKpKmxBS72R69;y0pM^$KDM3IztG*TW$IpI8tvtPE95(^59eE9$hb)WDcnCPDiuj?Hg*CZp*h(|vg%|w*z-|#$m z1!)#lNtHDk&ql&7xrZNTPELuQ%eHQ5E>WDK&d+hIvmHdo?bk&e9(^gkn+w~Z*~}x@ z8NUx6c@CR6*C*90YrTS`*+*~hl2!kP=dD<5BWq~Hz?IAUCSQj-!Et`Y>Y2t92(^1V z7*p}EBbiP0eTr@1{P8|Y`SW-6@{W)V38N4Z@gO!Ur~fAnc@%|}73rHv|93X)GI4Kc zmw;El)TV+(iHw7J`Bza2H_Kp5(GKJz`;MEMy;s|ZBWensY4@Md^5S5L~MkkkneAx_QG!J(5Q9kr%{jh>xF0Q)^AZqb)P7N6zYDH@~$~XRZOIUla>mjW;p&HH|O35*y1@2 z)jaHyq%Bfz(TB<|3{hkJT*IwL3?3OxZn=y}Io^2`gTj1Y%W9 zAe6lAN=Z%0PoF}F7n*2Vjg&IN-N2WKHYdpA(PWqPTMT-RzgvK6LwRZ)$nJX6@Dv8e z3%Q=n?<>=yM04h!(>DZ8yyvD_>!%{|)yB0Lg4)SKIrP)#bu&enR%m8L+`0|BSZ?wKex`cTJDS7VN<=lB}aO$pgX!L zOwh~g9)yF0a$Y}Cf_)zK@zX#@!WL~DL*A#e$HqUzXw@X3jx>zo>qkC}^?oKxadUQ1 zErgZPGqaLw(?KrHx>2~Kdx~6K=mlXGKlb*C$7iSr)eY}+v)WllqFDQltRNi4LK%%c zujj)tFYG8G01m@fMeDpF7W$%(pB{gLp?cAVeLP9X)Z?1? zr$`qb4A0}E*K(}q1bEKgzkg5XwNw0KzDGzYz+~lNkEOd#culkbX|ySvC@R8_`R*HnW^8nwG^h zEkqnVZ-qAi2ut`&P=%*f`t&!6?)#1Sk$W#6uztBwfj@7pt|l)Txm(Y#M|jQrOyX%m zq3nANvd`FP36z`A)OZr_@^g5{nw(3CBlVCaB4|z|P$w7{sVallNuv{{a>~m@xeIaK zT)uyY^O{WoF_vFo<^}4TG+H->%Dt}4Q|F9fF9!vy#_pC>R<^gqZWJT&1PUW5WY0@` zk+^qG{q+4v%#-acGr}k4?xlwYqNDsk-6l+rANLz!CM8ceok?zvw^NdAbBf>3o}nE{ zc*k48kN-n$Av9PSY(e!~OSjD8X&v+E$=hBBwZpU1wAakM7)~I@Mr?4#IB1QDs7Kl#?;GZYhmh1;w&TD(~{>LjCk$tbW=piv&i4L zo9cbD^<%~SK(}Tz3cW;VhaXnOjhzBVL0Z#UUfZMZM~5|)c>W?Hx~MUHe3~jhLn&WN z@Zjk=VyAeUrMTQ~dXligiU+74=Oy0Tt0r+On3E}dwtOm(l&fy@R<8S=&ILgp;<7j4 z@VjwF45icc(Yb~zXHa^iasEm;GsRFSze|-80}0JPRy^#YJ4caIjLMlT(KVpM;E2y* zxF!VZ=og#~rQC9QmlBv`L%b7;CCQHU1_*|2{T8K5C%ux+P+BAQ>AsBxjet}rFD8f# zODXpFGmSips}TVWE0HL{nU>S6yWVbEC!U~gQTDdbH}DT4qYX&R``^M?hO6(|14r`d zZg*oow``ji>+7Lc>1N}C9cIfo@w{xAp;;|AZ)iW^PIL{TJWNq#LJwH7>BTlZ^l`_{ z^`5t7!=sZFqXvOT@kzx$LkSH=!T%~Diu-b)5^f~dBCgV`lU4L;r zo5enMA*$l8zXmC%94hMMyBwCH*c&}~NggCjC8;NaRfV>4j2R!X#X`!{5vVYi_MiZQ zbmnIKn-z{Xg;rrCA@#Qjk_yymmoKczN)K_-g>f{FsMk8 zHM(N^%uHV8MRfxj?X9pq(rqWZ=c~6B@@32?l6i&$73yVQ{jMqjlk$Xc_~uphPYePr zCM#!%CyP*S`m&p!#^W+I_|Lk(rI8Don7$H}{ENr{6NqCLJMmaKol{V=kx>Pb)tC~L z0_IKU!gwE9$UPWNrT%7dNOjmqOJHcgwy=IoHW1~#^l?030o z=^dkm<;WuMP|0KJ!o(A*el4(i=lqbQnIHANgO~E&sHayRE{cit9Z4cKR@L(&xnLLR zD18dl&dWuMg+p#(pz6<9* zHy@`U5!qZk?RB1xsDn?>JMQ%1a$H(Ymp*0UWX}iv358j#%1o5V=+beXma6k}6mIju z{#M6V#0n*6l`ljZ8AvPaaP0it(ep88x5uD_eUQb&+D z(`h~RqE$6VeqQ#0Sb6%iHiWofndzCb%9y=84oPfLUYP_NEviLp9ZNTv+oRYXo}r^b zt1R0^iKc;2BbgAE5mNAtI9rt5ncM!DA0|%MNn(!X*~=}rYb-f>Px1D7K0q?Vn6RS+T>@9S3QY{~lMGD#;i(0Or? zSD5zKSx4%K6mABShgRCW*P9EAP&`wC4z+%0R_dLer^^#fwRiljOirxOJ4FuV^_&G; z#&6YS48HQ=t&P*0nFKk+RAX7^RZ%G?x-N0LySmX`8?EBlRIIjH89vnA=z`6=K7lmK zS0^3KaQfX3TS#=;kkd(N($Yzeh5;!9#CYRydxvOzbZt4`I?*$nT369Q_Xi=f%|{Qr zHreBIWJ23HQdmM`#l#!s)0t36+3BQ3L@4~`q> ze6GM=c6jc&2WKgr%_Wa$R8MA4zN#SeD^l8G{O&37$CYtu^{o9ERRb1oRHSQM|B?wi zgH&@}v-!~dg-UmjzPjjKdzCfE_#R2NO~lk+y@DFd)s6dUDN$}W2eu9Kx zo@h9hVFYyzw7ltkduct{E;j9${ZibX=eV!j&iALVn_uvpfll{CDLnc738QwOJ7N#- zoQ6Oh?cZw6s8H|H@9Omi@-y=c7AK>42ai(5*_G3u%F_;ZxV^JnQW1&nLXko zSJmQgy`vpNt_nsX4teZ-joo!bA$aI;Vu&2ASo^(5y(+KNJeeIWRG+Tt@M+ zCi-g-(SRZkjRdIqRTz?)&?70OJ+(P?6CG$Osdt|u9=&zcWco}G(@g&R*bsE@CtW2i z;8hScSTd#B^1VT4Ni}@@+cYl-36$S_b5Fx>H909Z>Z8Bf7r)@=F`@w|z!(?vWf0~; zh@+MMe$+o2MG&Wa$hxhPQ1XwC8ii_7G1@0;QmJh|i0BpJunpbc*}ndU9&}*A4{Wla zBwY7Qw}<18PErLwb$iwA|AS^b#^%Jcx7i&*M1i6HdyCWpBe#$q(w^U zQf}H^(1Ifyt+XI)drpNAc9sQ?wcx5mG;hKG91P?wAZnoc))HdxrP($TK#rX{0uX{Qtw^}XL@4yLU9&(~rHGqJXY zQ6Ke81?oz{Wx;h%;> zCya+WU$FTz716`2!6M?6grtwm>r^2~M#g2!0VD|6xw7urX0;@Q4@**r*53XKm&)(8 zhGFArInaLdApP`RJIpgf#-G&>--8KC%V1!Z1TDJx90$!h z-kiCiUGW{RAt%IoI{FcEcLRK(cb^CE{Jf$Wl8mR>A@*v62?Hs`t2XDB|Gt!p9WpU-nn&!?^cu_q_pVZx+M$}el zi(C&(W&M(nvLZ03wQ8G$I`v9r_45_5WTmajAckKrXmVKOVP5>v{QEGP)VM<>hE^); z=L}iH7~_y2g{Q$vyK_;cJ>Q|>vJu>6Hbs&PEJzg|iM-X1-$bUGUBCeH((2am=xZkg zRdki0kf}5t^NK6F+Ksb&DuU5I_;~6j$?~EaEzUF%mdqEohCBY(|VWb)z1P!Y^ z;AO{Tui{V@v=m+~z_NUhh(i)UcY?GTh#QNHhtGXx_eJJ%sOCfWeOR=8qt_WY5J^xo zuRikXV_O1g*)b{zq7~AqhP~59Azj!G90F87q4Sr=sT6E(W%L$quuwzvZ%~5Yw|{H@ zdBKXR=K?t4fi?y24wUn6HoOI2GVP^Z&Pf4e^>L-^*7S8mp!%$AM>o@ z&@apr|5fKb$dtWo<8RskHQ7zlmR`@WZh{lpkOBO$P2-~C5A;uHMzbpN5ldA;fJH#B z^ZbxuS1MamNF?`p)1=uE;_46m+WB4g-?q?pXkhgO@N?>}saD19oJP z6S$aGBnKPuz|OvHi!}M(%nqvZt6ZdENkq1!Ku;7$}o2S&Vk(jnkYlm~D=ZW^kzQIH-?HVSJ0 zzHzDmnyhv6CG@?luNA_4s6iU+fWHo<@l~atkhs?DRGi3?as?U{RPmDK%9LA+nz(CV zd-dd(kcGUqH_HUAXKPO%*La%V|;-|b? z?hDW!#!dx%h34erz#>i_4TiI1`{Es2#=eNed{lh+Ir}Qr{u4gEu+OcC8}b634qBp^ zrYE9H;igdZGbIDd+9k*=XbSM*@?2_uRl=k9g7K-&l_>ycUh&*vcNn-AZLCR9%rxK& zs8((G>6U9CdCQ=0e}IOob1bWKZMe2!abnKQNfwFjG@p^QxXmu6b!o}q_OKDlwz=&a z@efJIp&_NTUX(6)-wsKt9<^I5h>*@FOrTo%c0QhtS2anKvGfvA3*kNecS^nxanHhV z+>v4Sq1o#T6TkEEe*1JhfxPD_ja2t z9wD~CqcE9eo{vvAJzdcko*9g~md{T9;Y=~E2FS|xJe)L`Dk2lo;e0n6ckn{bl zdi52E^~Fs(#pr=Sl=DvAB%Q=^5m!MJV;nn%u zS>Kh$%GiNOxr9>yD~--E3CD?KH-r-R-W9aIkCGG=A0gH)RxO0VWWL}s$}oYUIwq`( zOczmOe97_)NADFVxX*bBk`K+Z^uA2yc{#x4?0iA^e}?VmPf|%m@#O#69{BpC^~c(` znGfG=zt5}+XMOi_DVa#ux>z%wdlEk0Et6Rm3g+I<6I{2vt=UUY3dGaB)WE^iK^Jb~ z3nr0DV~sa1WSxx_4ub(r4mx>H38o3qEZjl8uL{UYMt41iA;3cj?{V>Bzz=s%>T*(v z6p3EpLb8`*+&xsiL-`esK73yz<;Ev9(!Au*1A_$;ZkhPSKczx?ChV~*JnYZIOwa$0 z9p+JHVDtYxK;E>QE%5H8hOqzc$L3l2`OIt zol!A-t9GY202wPvYh5g=-d?KwkkdqBC1;=P9bGklG&bUKxnEq`fy%~fn0H5fnMO+G zsvY%%wN`PsP6Q63P&{%{3`fI+2FL7+A!gP1qeg z8B@86QD3{h4rvo-qhLgasd2afKDseYSAFT0eWdnCh7{kR@%kA}+}h7NZ5`LNgY!~M z?C>fVXWlJdVZzWolYW}L^$Nmlqst_A{IL18S?>Ee10jJQ&-O!7N6=-D8tLI;1Ig_5 zONa238@cj=qdiTlBXNjV@F&naA(kPypaQms?^4cMFhr^9kgH*wX$4l&O!;-0%LsNV zUZ@(d5yul=jT|z@8Mu~R*m=3Ou555?%|eagt8Pj?kMa&PCN7B4X)jnkVC{NprLi7H zoe))z1WIdSEJMs0Hl#?fG`umlul=BUtGBN0l!rGE_5xDiRJ7u1Wy3QATlK89@rbjm z{n2*}G3v4?y|h$4T7mtz#t{YqV)Tn&fRZNYNqI&aWBh5D?%PVyg&SZtrE*#V`tO{L zE*xheQ=1v)6cJ8$(@y|jB9dK_EsqSgl|Pqukb5hX zBg8t|`TZx}K1omhgxaomuK0dtNm1QR9t#0aSQ8S`LpU+~!|0;+flUt@vUu|KM)YcjE%u6RYj9Y;Y%daygee-HSv)c+)gC1J0E#g zbhh7Rk&rf&DieKKeP!a9<0)6))*TJPxo4cEF}JS6r-wRRpot@1| zO2w}kY~@vctJcAliKn5~k`$wR*77EEUSK>~`t={FJi47CSP`l)_7T24uH>%TLhV4R z7&pfO$JdS&sh@fDIyGaA&U!i>C3i?G^zA}Tc7ow_d|E%_2gUT)I)>CguEnKoVvJer zeQbGLVtJh}W;Q%zxqo@+a#bu!w~~iph%oy6z@igI!&%Jp@l~0ixHKAZ;@1VjId2^& zjhUXUewVkx>KUZ*YF~Ka=fs|R>=|d9=2`PHZ|e8;DKgi838i7-&bky|kJXl?zlup5 zZxI^Q`z{l+k=-uA;3P>554a8CXZ)_$v*%Y^jMU1E;?krtSfbtIg;$TS8oY@P!FYfD zL~Ajb)mA{m8RDPs8QuP(-7%cvsg@+U%O*FovYe)F91SnGfopu)`5#12(O>S>i{_<^ zS~1Z@lacBFY|huaTz;_oe1S+H>rba1j(OjQ#f5#K`)T+T^~9ef8nNf*qJ+mVbdg#Z z=a^?0T>C=uq20w%N=a=-eCF2^Q$xI|X7a`pU~gq+rWimG?y5Q_COM7~Y-^Ji96u3O z?@bUgv^QdrJmM^fSk27K&Ev zCi=L>te0j?R4Gy_Z!f<{*Cf^xKZ7x5lK)v?ji+_&!!z+*8RMn6?H8DZmSnmT-Jx6J z5Yg9aNtdnT7+IO%$~!n=n}PROp!J%s67-6+W(E~Ui16#8z(p@m7?8(G9O~Z9lo@(L z!$d^HsmI>AUa?B!)M~a(mpS(ND09tyzWB%e&&69mduUl}1U3Jz0~vyYTm3a3r|BX# zXgGBp#sX0)oXB3B%B|)={71Y*4kDfuagr_$jQd`{|ai2TM@Cgr!5VB6^0T9ECLKO5V## z+I-5|e}#|@(GwjFY4oG?T{6uKJYRm!ladyC^p5R*$^8`dYc*I#NUuie)0;DVdP2O& zf0|6!lwh8FDT-s%cHd?}DPLACv(2iIx==OdqAVdB7aLb;0jM-_^#_%U8_A2zU(fqp z6bESYO+Os8CeBdtmX*!ticAKdOE0P>c;qr38Y%zO+Y7m*WSBcuyft>}btsIbTMicD z9sk@%OQZar;$#wa(%laoAy4l8@QW(>mjxiu#Cbh=R(N&b`-!d3_Y~>iEalLq;7z_X z`WfTM7AX1x71Od1<+H(&$;@ixt|2!Qt5j;qIydcNEBH9&u@xwx2$WOx2O zg^5dGfndUOTtk$}Lz*uzs#@jY;ZL3a+fRebg5iID8e*wc9+rST70XVKC}pGs+N7wh zl`^Tt_r60WiFn*Oa2Dja+*1)SSm%i+NN&jSdVpu_ zFh5QEA0Z7kvn`%?{`r^x{gVt%6s+x>`DiWTu16e8$vTP)8*+o!`os4Iw2{Xb^e}Df zY~jgR)WJ3u&bKBcD+_5_#MLRn91ZnGjU+g>ZZ5)(;O))NW8s{-|CgWs16AYye0F4j z*q?I(nqQkQ&YTwn3!{vW0jV?+YArPQfU95n9~Dhu48fuQ@JIjvzwZm0n`dE*KOA|p z`(ieYYw%wo)KDeP5F>cECt!6#?8~o-t3ACMpVWpmwuk#58tqd+fyqS0boGzVAfmbR zN<^YG8TM|;gNWwAJHGp7ckcIJ5$$S+up&ec6ryohX8qFBe?>Hk0a`|<4>51RLTL50 zaxB}b1a&IPm*?79yr?G4UWkcYZ%lT5 zMw&ORIC<+bMGqizyI!Al*Z)1GKb1CeSz^+ebk?tMW8pmy>TDS~LqP*EoiRNS0}F~~ zHV7a3OviYVl=r^agDZv#0Zk{tcF_ldnQdrHTSGZ5f@b!CT5&29h<$IcYfIZ$T>x(1 z8wMLi0|F_5=tN?N7iHf&&chLq!sH%xWZ2)^CXt#xUYOAQX?KQt%XN6Zus@AnA z>WUpm>y8Eb`1Iku;bFk9Y9X%X$urFB@e|-d3-$IiDMx;<_?e~6>Tk#hvD`uFn>zA5 zw7iv!&j)tJ0R!-*W4g!$lT(Z@Vw>2ndAqO+8NA>e6rvPm|w$ z8eUCbj&>F(FyBD=z+k}aw3H(r_^lAOedmM+5vO|+9&t|<<8J}K-3Pm@w{E+Hu1Y`h zK)hW!AMRh`y^aYW?hp?+gMP0w#5-ub9S+-LdstPH=?6g&<^mn1L96Xi8{{S5L2Vc|iaW=NgVmVqJNR6hsAMQM>_^IE_|`)QbV0Aqe?Gy}pao36B{fiif$eC#BHkqxSHfmhpC!jE0> z=PR+GRfv5H?F3`Y*)>i1KnN{8iSWALF5neyCpX5;uEfCpTTU?V7F_c7kRwT+Al7V- z&~tqzmkh@rD6S}i=FtmK2%9s6Te8@Kf2^htG-j?L34gV75a|*e2u_txpJ5;zDM*=S zlVDQn1tjUigO^a)$%)p#;I)r9&J^e91Jq#*2tx{CF>Kp4K(gBdE={#Y_HZ54K5Ae= zomy6_pY(#N#_{8RwQ}fQwCQCF0dXUUQ)tYDW=r_F?sPQb?TQ77gJ%YW-iVIBQ<5qn zM8O^;S89uoA-e$Z9cTCoSQh>M7nqDkZZHGVZur`&pYeMDT{%Ind+iN`aWoSBof6k) z&ISy6e-xHcQH#|HM{6Ahuip!p7o#o6&pNla7y)cj+A)8EP4hhQjL_aexouRtX^kXlaGISR8h@VEHQ96q}1Z>cOO~)wKU3o6QD}I&bD$aKF#Cu z8cZn@tw81Y8PToX&j*p%9+G<9cm^3SoAb~KymN&7JVi8Fd9Iok4FNq>MF?FCw~V08 zj^>uTfiaWVjvQ-??M+ZL8H3APibn zQustR<}7joGT0))U5@=IlTd!`)>p+uGYU zf+Vg{qjbiE=+|IR$AMU~BMly27m260}YtE3=1& zowi+4!5aRTla7gOX|d@IF*p?j=dhEV6#OL#*R+{+UCh|%QW2h1;XVo$q^Fs8$^6xE zAh25U=a#4$AwtC;dY5VQA7+vwcXde}blKA7=FNH?qKynsYDgn;QagjggTxZG7SIgb z^2^fGTWq4pfq}obfPTe!h6H2G9I%+Gt;MUuriZH)6{b||K3+`4FkotC!>G&WiPL?* zz0<}1dX5~U&LUc1bXQlyrWl7M{9o+7`8(7P-~L}HV~H6%*@hX7r5H<*eazS^Bb6zU zJ*3b^L>P>nF+^E1mMCQjZM4|8Qc{*yq9Q7aMC$W=>FT=f`?&7w{(k>}`*{EI?%=?@ zW?swld_Kd`Y$m zQIy~MqeTk$l5$JAt{7PIwk8P0!hox-#i68jsMsP{6wiC}Xt=IF!9z?tO|d1p&@q0M z0W3R+zG>QRy36Za>%DCXog!+#Ydtgz{rlldC3ng`((G0fwj6Vf*eGew*_0xLzkGDQ zzHjXhbp0tPq8P>P>r5i>6bdcct`}Aux;1syIpF@98F$65Z#e(&K$7QD_Xo*f>uNEV zT6Z`UY^yP6*-pV~%Q=x_+pF8);G^tHu^)mI?0rU3njV%7MyK;dMVk%FHq5WtGJLS; z)(;l}Z$)bqbNNoK=~{w&Q@WZ)&lfpLPMvx;2j}qzxcnDyH?w;b47=8F_CJSwSqu+z zt6Hug*1J(6nv4_K57sCEx|Og&Ua>AK7V z&}DV7%}6|fi9Y)yt>NsL014@)bQ!wNUDEBoL*pZ#uT>c~x81scM=V-{%0jCy9khzB zwbe6gqEoL;fr*hZV$O`q+Ur|hwul-C66`dl#ad&Ntn5>#FAg0)z>zZLhorL4OsR0W zg`T0y^Y9IH{|ss;lIvf6DPfGY@9<5$ z(ks@W!W`f+}h_EPfH zPAO`QdOJDaQ~C;)XHA3}SBDXyaIXk4qe_xDUqjo~{Ff)jbK`Qa87qm0MH>c5jk>xf z0^3%MvA0-L6QE3CLELe$Lz0gc+oQ1gmtu=e4Zo{vn_m{DtE9r390Ia=oXm+q?05eA zugc1GhAo4oYwC&>c}X-9`&*z`{QIjFoZ<+fL?=1DguwGSP%bpE(~!`CnQOu2fVoAHd>VWvV+z))f-xj} zyWzudM=LXsH)bVZ@CjV(>VS%u?fGIEx@`(g{U=I(MG~lJ!XBk=$ioVTJw$6U-lnhm zk%|iaw7M8CEa+0_gxWk^o;KB4QD}a@yXypl$RmX*H4Nryr=6_&i;2BuYuW_Uc~XQP zZ)&EX~=hZd=MoS71+HfVK9yGEj-kk?;UOeW-%AVkNwO`+Br{s@-`c%zLWK{ zXEcc{%XF#Hys4VJ+UWY0Mw!IT?QKl_5^&nmKTN43b~0Ciz?VGZwD>&Dkv@o9A7 ze$1u&456p1WIJ&pU*lrd@bRa}nViYJsTh_lWbS$~!{bKk7!yX<*3%E*S@p{AIwk9x zFe{eA&y>mScf)(dG-UABLSc?-7`9SmM@?YHv}tEX`M!7p?a#BRaD|0l8SPFL;iT!bt?pcN&m}|8f)4Uno-&cP>gz2B6%W?;U-Qn~#EgJ5g+KcW z_o${;$qVbW?{N&&ni<0IDRJ9`$zN7q)?gmH?<_-(Kc!(7SV*AmrzJ2w_(kxci6NxQ z-LkGaLe5O{zIDG~a(GYWNzbL5vZk8Z1gk--^%k}rhe{6pw2V78ljkAaR8*UHjcJ>o zRmV%rSe2=59iu#ymSPZe;pT+FM8u0P{`YkKN6n=nzJ2EBaR6szJ@io%%{`}%Ln$W`A$d0)Hd z-aukym3O_LvSF{XQgaJ4yOkz0P*b^WVT=F5nqNuV+SbMgt37f=RiUiqTIHj~W=mcV zJ?YtNQuqCb|K~aMtvwm+Z^K#w%d^%jlh$9w_+3am1QmadXj*mA!b?q9WRm#^PmdAu ztb0jdd$1LpEIuR^gq-J%d&U!iIpG;pSJ7upZXR1}O6+8ll?R$`(bLO0YrKhP`kI+! z9svT+P6;{}cI`t!&6`CU8YtnKwhn1Z;5p)i5Zm*!sN%QI&yI#aD|M*Dr1%)YrOK=y zUB6^#9b&WZruESbnhu%gs+#==^_2ND!YwVNRH7gDyEQppkW9J}w}hqGd~#L0hLZ1U z>Mir=*KCu;Sp`gGvYnFE$^ijhzq;n(R^NWcge7?>p+>}0(cCF-(qu-v&yID%Io;zd z3`k*7YL3T?l&J9)cZffo)W7V~;({$&3TFw3i^DbaZ||-bK@%`0y)n zW~f?n(yQj($;tOy=OypAY8w2=9q6UzOLF-R-M}f07>`-r$o#ml9=kUsPk zHm0)FR`r=X%EJ99n@#^f4fcqt3Aj+OAUWPMBlqR4)Wb}nw(C81451S9-^IObdv#m~ zn>)rYfq560N3KEDS$S?T0$MAbt6!Czle86SEvSy*DSDn=s>Ui#<`YqO-7R)){*qN# zmAFQLVdrkOV2J^OIZFk*8}$>O;FCjZ7S2`_rT6OZ<8t1X(C62y`>k7_s_9cCmGgm_ zfwd#$mSOFG^6bZ4#pPOdWW*Oz$??AO#CWUo0TLOU-ts)JiPQ}n1*t)X*4%E2<#B6P zWw?}oKMA)9gPh<_`#OG0F$LUY)f>yWz??zqYx*hd9;L%dA^n{&&kAois3bh!t?L!7 zay1UQI&`^La}bG}KL|VE`J_-HY725PDJtA@6?@rZ&XcB(BZb?;EV~pgts-hEeHFrc z60fJVr z`GpIDx3>NYd6n~mCR{G!>5Y9&pDT^mTt4vedp%zaPL@U_)aMj4x)pOhA36W1N)Y8SMnGO@$7Hd*{oCZVfBD?M-g?4&5ig!-oMbcRUD z#a98J5*d9V+?|Ghq|Fk-`QU~6TLM%em22p9P+@&V|DnQ~&hl4Z=h>Oiw=Y$9-h!-5 zLSv8RqHC+V!c!2bH)TTouAj7auk{^E(j4JxS@@jF$9W4(?!40C$uA6U0R&h z)OV&<17xlwLY+cZ4GaFOm@`1|F*UBIvkyLl2Bxe-KTX2X=+eq8U+E5PBT3jK= zVjWcx6wCmq)3PT|9Jbs27X4cDLfU!K;W~kvOyA9_UD<9LuBT;AnA)*2)NUEHZ*t1T3CwVBKV^<;igXW6F8zV6l zW?BV2ACzbbaslVEGu6${zLZp{6ItyiqQIV#TCUj58~G6Wjg=`wl5elRJ1!ulUG~oN zk_pIs^i`;D)6WMsqV4|(yb9J4rxjA^CR7MJu%?Q+sR1KWg`T!UUelL21X}#5H&S{o7YZpB1?_$KIUV zmV)ToFHpxmzk2D0rxX>JdGX*2zKJ~m{CmhwKmMiWG*4Otdw$n|X ztN@FL7EKQ&Xom3D@4J53^zL<8J~3G-!BeuAB4pbny``^zEv|81k*@4mG~q}LS(*Ll zeKQYv!9%#bEv}8bHx3cc<7@};Gnj%$0)b3uCVBd0n`p1 z7Zehgd{TdhZ|XnZfSk{f11*HyS`**j99HlB`YfFYS3F5soShOBRK~VM9dL#&zr#?FM&u)0?{|2#hwn&)w+;FpzKiAo7(~ePAbgi5Y?q zK1R7TTj2#rZi->Q5LFLEJ~e}HkIY7ZffH!BgqZ?s=({R#l5_XBz})7ndUn@#9?;C; z5EuZVIDEogk8L|p3uAfr4sO`Dxeadi52sfjAOeXAWK!~ z0|e}dg7>vxGrmScce1Rg3524(HA*N%oLmP|QK;GTXHQjxfqmp7zPk%ZT$W*%{kod8 z45MCi`S{+7YY(MF$B`HycFWXP_~dDYfk$}+_)9^A8B{w2o8fgJ8HR=hn$|6lSgFw3 z=)fv-*vYbx4e@YbA+Y7uS!_P&zWRp%(4i(nuVcr?-&;prLfZw&dSJ+HJMjWSx?R&L zVv_fNgDj{e4KDT(P@M%p_B`4B{%3M;707eyu)E&u3M2ozhTJ9i!}$>VtnT~VqfH>x zV8mAn+a1C8espA~|L@xC%M+*0{rClefcK^i$_?SPc-u>4*zeYd>oU?XE%8d#6NJ|N zxJUqmbdf3ySCGap4aY+}C2@?{uYtAcK;Dkdqc;1mS_ymZ{*W2)1yZV|*78fBJEd=f zSlbM%Z?Om?2>Wb;psjNga^7(?eghCpT;X-{?J)Y`ksZ*)^RX}Ms&g5m<~Y}}r7b@u z6RsL*o~u|UNYkd#*`TDe*#?jn)h&e2_$uXBfl&)L25nhzyi}~P$Ikd zS24S1r*3F?68F6RQ1?f*Xu^i`hiV)fmAi`7=?;*@AfEXK5q^vp0cU1MA#=aN+5^;w z^4$<2AYWzY1W3SW{?&?kRIu|IOX{;bclq|Q88!9$&z~hw0jR9CtH_0sC0BB(jc#LQ zkHvU`7Q7B7GC_g`^Z0_Hj|{#Gbn;CNkSeXXs`~!g^(_HchX8_IUGpy}+{oGVQs+(1@!U(ow)% zvG^Km_INGD10K59ChI+vbzwf6O{8HGgOJ>jCODNP*4tQq1I;%4MWoE9VyoK{{!Sf2)MxcOXNAUL@{y5+Xhn_b+9z#|n#eYgDBZ!e zy>z1dV!o6WkGt_1+eG)0Qo^25+1gyF>q4$3BT8nKgnJO`fJ@SQm;HD{ zN`2akuW$iuSEDf`YCKXO)mSDIsKGn8>FgSWS8WDqUhYE4<@fA6_9%1#M61Dkj#$_2 zxh^fjkx91JDvwf~`y_p|2Xk5>#0NG3SC8E^ILee0dOPg~UTh7jo-1h_Q;s=1j&_yTBkGFKOnzU47~JbG+G zhG)91M}kmEW;;QUO-`4jGRtkEgg$dA_4}yk(qy@g!qp}Y;5#L+Z*J&ui0_wzB(_g=p zp}C_R?PR}vK@+NR;;SIEKL+~x@Yhg^6jC9CURyMj=97N_@<>@@)gi*({yEkDH~;!lwVZ+k4gLm4nCo?rD3AA%MdRm!$W{vjP4_zOChToCiX!`;?1`@Q^9`|Ey?aIL zw$El%)Wg%(z8My~VtUZ`pb!0rN1fR!wpxsGp-ta7&kj<;gkd#k^{TO}hoYU_;_;e! z3jLko@{-p|MX=UQDFmaP7YWu5{k32jcZABlib=Fd=^~7L&ZQID z?0m8hottL5wF6f4WR zMsg=^M?_jA&6>&<3i--!{rHuM8AqbBb$HuCk4VY>Jv?S9^*}WJwpFnvHK?tEq_(R) z3i6ioyNDuqWAO2blRJB-iHtrGm9d`7zcgx`AUP;ATcY-DihjK^^UJ2tCY)fpbmsfu z4!AGN%)^^6v0dqTwyg`zA5*nO?P-1gFiVL-TQ7Z^tc=`N&!X(lK9yY=qoyr(ZD4ieXIDV(F)vVcVbjEp7|un4=Bt#9 zUnls4Jk>tVK{RyYP=Uk}lhB1M+hkMk*`)*fZR?O9Vs)l*rwE?xk-%KG=qRXkk1ms+ ztS$Tm$xB%`&UWN0dHI`Cg@pW53klQPC{styv7MmPYIH^-rOTr+R7{8OU7C`0b$`C% zk$EJ}&~5XkrM3h9y!D3Rlfzx8!S&$g8d^|=?Rsj+lV=2Wh5x{DI)PhIRvOO1YRlR( znUv7M>*^QYWxud87|}|}&VHIfDCcCq^?aKf?eST3wppGkBCEdT%{U64Q2h8GKZ_=W zj7x`R(D!s>jIl>hGH-1s;nl7G9vZSF;2n##_+()vREo#)>Zn~7M6Nzgbr!S&;r|zFx)Bxf*<4a4CEIju+qW2}Lobnnmn^BaW9`);&F|Mxhy=*#BueTxxDN z6p`b%q=~A_$(P4+&eOR=GG$zHC{cEc-T7439M0Md#W60eSlA0AO6$OzqXHGm#F2&@bC&;xdHAd%TM;@*gvE&9 zgH&A+Ba595oPnRcs(8V5f&0Lm70Es+%m!%h@yPRpAJQLin ztvBlY19O_<+4;7}FGVo4*?tKI4yTQO2ab~6E%sT+e|7oXf2>i~&NcqR9_4E%zK#f& zed#ned29BzsQ)V#p*dm+e2>v9fBDIk0r=BePaT07%5~nG%454frk(HFNhk>Mgyq#0 zuf4t#nRNhd^VVJBe|3_Upk!+9t=Ae_6_2kr(t3O5ayTkTm3bj2o4l^ zN?x8){>aa;ZC7)*2z9e`&@KYkEq<6xF`n49`YyhzE7(v!XC&;-`-=w8vEZAx9hj1e zVGwSc8(+>OUC>$?o=>#hxEzuP{;5kLIVyI@e7=eU{D8;#=n!83a7;F%&!wP45y=Bw zdC?Nxa9>g*|HW?}K^IcQ_T~2w>-HbMdo4fVU*CNLg3r*kZ97y0Km0(!Y0OrWrk2VbT7H#f<(mdN6+;04-9!?fr?i$WYSVZlOO+7+k{eq`iamhm%L znJv@~$ii}817@Zz7uv#h@k{G!^uR^EF!cK;BnqkX)xG&`POf!NNxO5Os>=qy@Vi$220#!1Q5XLSJ;9Fhe+ztqsrBaOmJfKqRzyH$SUUy3_NgT>p8DGKr^um6d&Ug{wJJ1Ye1jJCZ zFdA!~Qkn8i@OwV+P*mz+$TuDV^gRAo5y3|=VHO^FKckIg=6buAg>5w=pG(?>{!z2g zB^EY9o&F;9jb{QZRG!lFi636;jRUMIe1M7QUWEiFSDu$uxX*nLRHWR#0@9T?FavYE2s&| zi947C@C>$qFtC9Rvzc*~w-G2sba2ipPXXeG{kX(`pM$apCOA6y@l<}o`yEJ9dd#?E zwIR|Uvc*ThR>Y4uTEWFgvfN^zI;vr-3!UR z3y7%D?kCSXDGNYFq8r^r-ZaTieDA?R%SkXjyV~e21ObiGcGm^OI#)QJml=HIo8aGz zgQ9HWsP%JsfiGun5XJZrap_Q^WMVQ>=%y4n(=-kKVzv788IH{dj)TXI+^5Yc%m_NW z{{#;raZQ;`vRxM9h+YRR{*qDb-xJY*54QwvhC|-I99ZR^bRenF{%!J%8=vl-Q@%j9 z@TmC?CYGKC#U@<3*$W886Vm5vlTU1i)YEF0A+HPJVrp9;R}p1(STyp;mo;zR{l)Rm zWfEvFi(>Ui_qkenZIu9vsu)+=bc-!bB{>X2#id;4HmJ!PEpGda78+aXQmtfdBUOJg z0$Qm^1>r24Tg6>o2-$n}y>+FuQa^!DQ0NGeJ?7o7*kZDb?f`3`_)`Tg(`7H)TWD2b zRo+PmjP#|Jmnoo9m#ErVlKj19oj z<1cxdsKp*T$y$Iro_IU2zu5!!u*Q57H9LFb9lL>~N@&)_&FdK1sb{-|FlIq{OPG#q z*%o6j=8>vd`dac@(q-UJ+k^gaQLFyRMa4)Dn)T#wgLRia(CY^Fstaw_uZl49+LWAj zW2Jpc-^QGk$Tvq5RO{3B-jZf8HN+B_NffQ76!bU@L1OWEA2c&Y6fsn50Nj>!Je9}4 zG{-9;!|2jlJhK)qum+bTQM{vOjeD2rG1x)-IbmkB2C-uju5!ubG#t-u@yt3%9;YZA z=oJq|*df{V%0J5#J9K?)Cka>$g`c((gCcm`4u)uE8?KjTDRgO8if^q5o_^nrdoEkM zUwyo2cw6;La93BadlLc>QHq`D0x9b+6s6{H@M5|^LD9o^a6XrnVQondB)BMLS*=mZ zrmCq%lxj8|Yb_L71)sk!D%K)F8+!6Li;)O{9hlKJi4BPT(5b4pw@*_^vJ&kTdVSUG z{EjPEuf^=S(skKW&z@CBzV^mbM+-8^pi42Q>;ybEC2z*w3KBkh+y~G0sOxp64a=`@ zI)Gl6aYE0%#akQTJIWI_{v*5yzNj-mCmf39$-#2kxC5LQfpjz@3Tw$PQV>327;WfjlEA3u%e+^Y0i3L~RnVxJAlEeS7trDw-iK{ieg)h%^|o=#(& z$;so}etizM8L6Fnv!Avr2(%uQ$mr*qC-d8-=L^nmc;0^P{Xefbk%S>ZQaV1llfN!9 z;T$M(Zkqg(XRSU$zSv-mND&6_Thu@19WEWdFp}QEGcgo$+q(H4^1l19iv^zxmwKr) zPg{R63&8}{a+L+$k)#H#XjFVF6$L})?wJbTJ zt87p2xx^=miX~Xr1gT1rJHyxe3LQ^U!B0K-wSM_tasB}OFxg2$B7x`qIgk?ekkZRm zEuOdJh_`I0j{mX|yUjs@ZxusR@>I+tJC;XPmV$Lk8+w#Z7z*{6iAlf5ay~P2Qgi!| z#kLgv^+(d8Wwy9sO%(*KHqvqiLcS;@G%XY_Ct2;op}n?yPrg&GOdmjRpZ|-iJ+Nin zvm!C3T`^7jfFa&z=T+mOiI*|HVse8~wAP~*5f#m{rLDB($EWAv0=8~{wiB)K%aEl0ZNTczjCqfxdmt;trpgAXf(e)SGtE6PXs zb0utgZY$|bF|q&9Y!L+vV8dhM)HXpJtIPQewu@^U=Qik^QTskH=-W4ok8L zchx9XFL8Ajf^^?C4QVUc>oXpBxW|il@RZ8!W$NnsuBK{^oKN>;uyJFVB?PNaCe&A8 zh7%RVho|Gaf0*>gD2rZB?95oUnHL?}6HSLEEr5!ALd#%-=4W8s(YVl>@7Q;ck8T;O z;+O=tV5(<&TJ$g$qtqzQJwZa*J|hr1(qm8qg|$6k4oJQ6;Q*Vv*FLn^Dnj16#)QhE zyFOVP`56X*z*Oe4Ns{4KMr4}%vwW3^qCEPUp=Rx(tnxu$XzGKz7zZoE$SpD| zE^NYmUOR)|-TmJ6uNAQWPc8ZG+2f zNSO^hYw=x^jrrtwxrW-jB2~0r@c|2L_86+$)Wr6UZMLHhfY+Vjav8cyg>=d38{Dq? zlaW7Z(g9PP(G44qSxbmMJ-C#FmNiP>$XA}e-zkBhe72SMy=}%c;d_|_ObAu3g-z>I z)V^je>%W@u>$GpUvHFlciIv;!At+|hDex{=wWXygiMV#gEtA3Yb0h}{et*)Q^`d#u z9b@7^FQ9goc_tZJGM^2qQf^Ao?2U2T2ju``;vMrz5Te%4#{$-oKD6D%2n4_ruO4T2 zQxTS_rw8`c4Uy7zlrk%&5KA6+k|(oiA&IBmIn;b1L2)%2A9~!Y%t$GsX74o-e7sgE zq5HIVX=Xe5AuiRIf=??<=rfTCbc#M2hAvmGww^1h_2E<@Ndv}wpj+i_Xs#JagkbVR z-DdYsi-y=P5_}djVmK#7*&dH$3JH4WqS?0j-Q!v;oW)5EF~zbYV&(I^R$*r}9_S8q zN*-v#CZxYLpgUr}z}TYmsdKa-`D>d&=5%F@-QB5AQu#2hHRJWoE1;d=RpoR2$`3o!LE3 zq-HcY@CE6-8I`+KEm-}@yrW4<77lg>?p2HwzeZc6(MHf1DDyVXWa-mA^d8G>_}eGAsaj@;8$OuD086~j&4(4X!{&H0A! zRZc{=sZ16G1ZqiRpsQ;B(w{2>Q#r0-;Nwhsr+f9Fb+|pArzucvQ8Nx*gzB76D!4D;Y0-BATat~ zUZ`lp-bpsWZi#u}D-*Ocgm+x45`p5L+S;tUX%Wg=7kN`6lci|w=lb7moq~5{doDx$ z2I2)?*iQZ{I9pOxzU@s7eELO`0(&DTQQpW+(FnXmW88lzzTCA!>dcv(QQz?0m$&iM zv}9a(JVE9}f|C%(ntzxQ3k?oFy6`VkA`*J`znKyZ0^Z#F*LN>3&VBvQa@>W~aR}?;3gt6p z@md%2PVCi%VWbI04bg}2IO&MgzDs0*bwC4D%vgB7C{mik@s*$ap>y&^2A^8Y0Q4RR z%fgd%K$r4GI&>ruPK5v$5)02TTh#9UoE=F}z52nU_xbL-uyl_>EC>iP;|jok!1%r^ zc^FWa{R~UDmKao$k+}XiaMEl=+RE^ONS9g@GN{L2D^g-l5u)bqx{zrRNq+lRT&*98 zPnE|_$zt{@<0eJMcSmB^H$k?V$S)9wG@ALfRoU@ZRki0onnD@F@#0%W(>h zLT;EuX|`Jeb76euHz+=We-I#KQc8r~zTIbFrCt@z^1Lifj=!5fzVCF%aKU)N^(C8; z7DIol^P4#jffGmTR<-J^-vhNL4R0U1*B=#B87Pf2L=gQNp94~i( z@DsZ}=#vdfxS}P$2(Psn+?!Id0y0v_gc<T*i0#etclVdYa`@yL1VUh@me;MSR%D#+{PkI9gMm1zR599$2QiqaNC1Vi9lT zw}~ekkPed^oX;<|0WG~q45|)dG@#~f*GpD0o1R;}5}q;xx})E&v->C8PMvi*8mE8r zo_#RV{!OI{d1_EX9#h2E09W7hiox8tW+w}Avu!Ba`+9OiZa~xG?njY*B?SFd&UtP^(A`i_#tF<43PZ^%1lzoJG)@okd0b@KD8AZ6>X@c#_q4-hpc5)N@G z_fEb=`ZI_l?j@PKeRm$(7|*;eL!<)lFugj4KV6ul^n+pbvgu4FV;0_C!Lv?5R>8o> zamH`6-HPx){5FVmt#}XlDmRNbfH){!!HFjbS6x1&$OaLVn_$%5++>IVDJ|zbvVkqz z3M8fCX#6A%)cEJiy8Kewgj}!-V7^1=qUL54Kl?8WkhKMZ`RPCq5_>>aRAik5O(Pb# zw#`VFO62k^Xqouf$7dlMEw~qIN&AC#z#~W>|KljAq*g$1!fJI1&ZJ5Z^nJJrUV$!> z&HoK#(-ynm@Z2L>4YK@?W<(2ax67g$EpOk)=nv?H7BMm8fgO=>>R;F=5GMHA@Hf&c zphD+;otlUo;2$4^t^B_UyNAF>CzX#=K?QPvhK98eA07W=ztql3TP}GKb@LOd2||k9 z+Im*??d|Z_YkkroHF&fRJ0KL)}l(!q)ZKP2Uo)4Mvrwt(#Ol7pg(){%L&+RAq!|o|pVt7oj z)dZ}5PT4AKkY#l1YT?sCku_jBjzPpZF=J4lxtfk8S**`^lahMkV538XNpLA)%iw`% zM_GCuD5LFb*0eNr|DH&MPtL|shNL9EQ>d@45;2dD>JE8iP;4RGE%C+~&QJx(G_SrC zFtQJBkT~6HEVk)D;_swsM2+jkb|EHb>7WiQMxCG3CMUKV62RS@4rzo}fu^psNH!i7 zd>i@kM;sEP6xa}4>sv5lUP}RRoFHB-u!9@|z-mjT@nyS?t9#u)GwqZ!G z$4Ya%e%aCy6EApq4OKIpX+U~OFh-r_5mp>Q?TTY#cbO{l{NGr{ZnOk zl=<%3Wg)ZGX%7qGa2?TCZV23PFsa3CFx9%ueu{v6>7Yt)f@oPzuapU6iuz51g0 zh7&kN_o4Ea4n@YfUA&^!_d#7F4&|e|j1&-g3gNwTCf>rs4jqiTo0$!Ba@33*?|i-a zHDjH}y^<9BRR*FiTg)l351l?%OieBbwL|GBPFGEgdoGcF0Tp=e zlFcjkoc1yj<1$kQk&W(Q4IF60b~bQ<3)6)}M+IWxd|83rJD|P{n&!g7VXxT!g^*2) z@SJOh^IcpN?;5<5^}hVM-AWc5dEpo3VU+4CY# zstF_GMDa8v5inZf&egr$N(&Bj(PQJtT_eA03za0fYd=Fyh5#tf{ta9ab}V|zleXZ< z{_LL{ZzfjFu6W9MYr5@^zacqF;*%w*LYu}LG)`~lidtiHN-l@M!KWYQ=4LVOHNE5H z7_Iz$Bj7j3N(dkI`X-&~r;qmEJm=K~fwnQqV3J`IvTXZxc!@=q z@D~-J*7UZd!>th)*8PhnOX;L13zbSYRb(c`8}Bz-q9XJ#bnfZ7%^%4!)yNv@#tFs~ zhu9K7_}$Y@2qLYF1Y6mkO2t-8!8V-jf>!svgxTP0>wGWf7WUlBoWJg^@Lsmc(>T>= zG-5Kwk!U&aip7dKi^0#a?`0$~zo-`;>_41k%I=R>*&vdyO{z!|H}Wp{4k~&4U9;k} z!o15m1;bii)Wg@)1$B?gwCAPf^mb zJ^<|8(L=CelD5iL6wl;mdMlVw_s$=_8Cuh2L1kW8oes;_{W;go(g?cz6d&W~tzi#~ zw-K`9Un-q$iY0h|sWa3U<1-J+9Nsf|baAyU)|e&ZxJR?;($8p#2}KlVW}*~+%2r5h zWDiQMoN#S1TFo7-oJrLK?b-4@RzW+ns2ix<8s0AJ8|)-&8Vf6(3QbNa0zLA+~xmFlvmuW`3`)At3dyQcZ|$2qdd+6|IROaC-^ z2~#-)t$1)u4O-PL_3OQD9`33>O6%qm><9#oru3g18wXlsv7MrhSK^sf#3ft${%MqD zO*hY5B9`s~_SL=C$C*BS}a>BTRHOuM(GSl(6JgANRXw(+*n1 zGt+#Z?K>|o9d<^9##Jq$aLC3Uts*9x7e1Yrd>uz+KOFkpD&JLc^1RR@{!lknS}f3< z^^GSqMdH05*0@8sqT;Za;WtS>{X}Vr-D+wyX#{S=MAY1D%mLIIstp^HAD&of9-Hj6 z3_B3yE_7gYE3ET0Uq5WVqbO|9(r&b_e0C6S0m2dW*A7n9W9}%ZC7QOBR@kNY$Ec8x zyV_nTJs^M4I+g>cn8^xena{34z2H+W+>F&ys;ihC680D!?^qRjn5MG225%bkMJ<7A zS7eP>P;2ioYoqKa482QMp6fR7?`>;%c=PR!E$T$lk6^>*@1i32Lf{a;-4T!KzLP%- zHrME5v7|)0%EoW!r#NqOb5KT1NuA+pPvw$?Mew{3W2ZNIAF2Y=1y=X9r)iIw?IX?~ z!{SN(w9uZP$$om`IRrt^In`~2q2=Sxp@2W&@ z%j}p7r|YD%uUVe)kQ|WqpYZ~`L^hrMZS&UWBZBV*45bRyl{R!-WMP~=**2fzG4|2) zgW_HBR;lqZqQ>fb&e;9XcO@}(ljzw!fSUKit>jxfJ?2uEJDo%;XU7g6b&KF@s#e>s zq_4lFqorV%QRr#hg$rUtrC^3&9p_EEO=Fq15^j~r^>*UZoa-40RwA=ex!I30mU7f^ zx^Zy{s}%#djFk@XXL3}(dvM8PHK(hIN$!&32qR6yXoT;yue!kj;(?(u-0!LjBX)+? z>w;pwP@@*OLR?F}M5zV0u21L_(M`mNtWV@*$Q3YT?c(Ovc;ti?t@F)w-~7&atgUx} z%QcdFKtpM$$TpUS4Q&%{lW>pZ%84>O9e1u)kw5@;J7G%>-E6;F)s0kQ56v!VBUjVY zB)*RGM#WBT8jeHG-dFCN*Xh;m4Ncy7;H&fNj*kG~#-GR-7|$d`W?JQIs948aMP?da z_ODSG;x^;)+$KQ3Y3F8}Z`+UN&fsguWd~$GvJ`Vu?@Ed4Paw>!cQYAcAIo83H$!wy znQbHM{DQwF(Ue`P8a!KuO@ECwdL%^&C-R}Be%p1F*^)Zx6l~xkMgcMzvH1Bg8drKc z-_RElH;Q*n?&hCy0eZhoE!VrbRdYsazFLqQ^( zI?9*xI;&;vX8JFpP<-$jdGdn=^TwKiZO>6pb`P6&FsevV&^<&8}VcRwa>CW5ph>V zkTke4vwN>%Ge1wZIRnV<*l_;VW{l^~lLfir99LIp-CMF3faxUg;AtqU--3d89`2C~ zfsbb1pSf21_qJp6Z=TaX@q%Jm6=U>o(MRxS&!PXsl+Dx2XCCXcTP&XUA2v37`dL7^ zYtePz4QBGcyH0&(eRa>v+vr&S57B=bAl1gM(2X}Bx(;yGEriQ~4DnRevC_1CSIiEp z>?jO-C%V+e@_ko&>UEJ}*C|D(3$xvr5}j)z>62fP1j4D9Si~*p^8MXY@}H25u=c{g zI(acc^wgF18@|Cg3SF^gSD|J7EF%1})mjd`PYnGF&E69~9I6xJyrM3XSpxc$P5&$i zX|a>lK4|wZw<91wi$^DoQ~wdVMP~h4B+LG@u(-uh76Qor_1)pii~lR#2@3JQP-dhF z_K%U0jMzmH4Oo$j)${h>0{kFP@UJ8F|Kk1rFW&EejQ1P=oCQjTei#U5BZx)w{NYCw5mu77`CcFZH?Wz!>~^2_&N~Hz*>D>$s&+XinKa!{klb>dNmklWV)D5EmzsfrB_7n{@`9o*X>O>r$|?f-&91J|xQ? z>-mV7(mFqar|Zh|1yuzqVtI1~jUyp33nI--$+YW_pVS|K^-zte*_As_5utcvD67O5 zJfQD;e}BLGn?eZzTruea;mNPhfHP95SD|%)N_}?iG$Q`y<|1MdGePsnGJu}}ju6Jw zY^(L4KbG+IRl)V&@?8kGt5OMR3XNA6-t4@xyyJSttWPgusoDg<>t-^5o=0NAKubUt zQLfOg`H)_Q`GpzoeQr#f{(9;+m$0qfYn}?u62H_M&Ns*F_F=me24VKt$%L$M8(~kw z=LKK*8u7-`~D=LfCSw&LqbT%H;4GbeD*p?O&n5IJp!tH>f|X9)&-DcoiS_8$AqFJ zreF3R1?%~xO;BKBY0w|vi)g(ER&&JC<^e6G1D>sqsM{le*6GA)TwKENtW-? zZkW{9i_tvNtL|~|(LpLVkVXhsaO$SG@NoY^D$fT&mvNWOoPsuW6u5y}QDw#qHwQx7uR`swTgPuK&clp*)Kxg=M}M? zz}fwr&;{CukO&v6-nKZ=AYaZ0RMQm-oC8&%KM%|kD*?a${0g4NzO+iYiEU3Q? zgW)xM5Wn)EMJAJSFcG6&=~rwluP-JD2~9UajcG5a1YKQ>T^!C>M2Ii!zB`)|=AVn_ z9RbWYP#Q_Q!5mrq2^*S}fq;(un4L_V?~t*m{-eih3X+wb;&_yT zm7X9XGMw$&fkM*$wU6D7kZ|<58!5#ymgfqvk<<0hH#sLlhDR?-RB-)fHLvQRymCWJ zZ}6}tjWvK(y>06QRO3~!ff2uT^?IQ{LRkFzYpyvju)T;?KD=kt6@usz65=}Z-fCr5 zh)~%zf_h_Vmi1+7Vp6rDnvoymaUDn_eNv0pg2}Cg8=%vX-6X+Mpjh|NgG2=~$1+9(Vda>OE<0t61l541Rom@~LVrbh6LL4*Mo5 zbYNN^Qj5XkY`kf&{5R;XSFQRS@d#=yQ?Raep9&17=Yo=9T;2fVa#EMd&jX@PT#93B zl%?S+e^UhSOOMaDD;eU~>OqU*h4nLz_Q~5cRU(bVxw_ON5*hjX>tI;^)+Ijja4Ix2_Wfg{Aaz=rCM6q zTy-7n=rt%Z&oc=wUNNgBaCMDFt*WycP2b4dRTpm*L*S9T7#{>=X#B|QVs`D~#LmTM z{C#EB>ERy3jQ2+rbJRvnz2#1f;WVsI~9iS$G>nVvh$*>P0U6^ZfI(?$g&@P~Fd9J=6 z)y`mU9Xw09QnGHmEqufDm2XizpRQyPXat;#oe8b%%_So81&+ zUp@X?Hy4upaetEhbIcES?U_$VIDjNnz9?`Xt*Eu=Y&j0BIwiAt^7SFuNhBr2qxU`& zf5@~WxuKTa5o(;Db8pi+Yb`(022=X79z%#}y&k)}W7X5R-~A6hqm`k(!1h7MF&)Z} zH_?LiKV{Zf42pX0Qt78yo~_5c^Spaah)SxM8qZ;mUC}|5(HCbqng8WI?^K6{M;n-OnicgEz zobcXdxKx-Ep8fQk(uied?Q({SKA8J+TkZ1sV4Xgh=G1N}6f4&~@TXEu(X z2QyA2l{T;n8_Dreu?MUaNP%ZHtFRvj7`frDzcW3u?AMka2!&i)i;ASO!S+VDR%jm4 z2fNT)XSMHpEpI=AWuL>=C)ryeVDU;&OBqKVwQhanCD2@NkG@h|+9gqF-o*4##93!; z6uzZwO^U7Xq9#urt@bu&FpET`A1U>8%8HY7_#69-hItA%h~hoI!A-P%nI?2%t1sP- zM_sG4ut@{hG2LhL6e zTXzVNnk?Bh!w6&S6%9(1WJ$7Q4U?#D*`*1s64Katf5+YP-p}(s@AG;8dGQCIImbCO z=gj%d?>g7@y+&ZBg;DajtJacUMK8)iwj6xQ?)Lq8#@D9lcm0KMJkoMi&XN6t!j&TG z1+*KKJL*DrpB*Z93B~2|=&83`;w9Sb>6}B1CTAI>}=~FJ>ZJ()(t@m8Z5KS2jZS zx_43XRTeWQ($T@>KGq@AGWS?kn%Zz}=E-BT_-|IU`{13DZ#VJ;>bx*Ztc2bvgLd+5 z-o9`lJyjmFx?vy9alZaNXV8>CYe!1v(oL({8^Vs6IR}4>t51qHe-Zn)FD2H7wS`?C;e!m9X5kg_a z9(3y^OEBnMg`)|+JjOq<;=L@D0T!PHL)!HYlN(L<9J5H{$~utKeB}zuZ5*olBn8Qp zLMcLJ?p=$>T)~O%b*y2&bxq~4M0tBYIG`D9Sej)?%;&lSFKrj2d$OHCz%F|->%DAJe zw$4cuS<G$7|njUbmdMpx6Y`#zg|09faE$&iz3I}=OadQ zO}LnLPBq8z&EGb_U$g4JV~0P4v~`d~n>4Ol=6a_N>fXA|=M3A!Xqbw-z=IWxyVboDb4v3uNW5FMbkHHie)6hTjm1e` zvTf&H9^D<50~Zbp)7j!N>{kokU(w?4r0h*2$M2B$`Nm&ycAhnj(FTGVQUG)%^rDvR zW~6-4#b-ime5>TLOSaqdm;_B0Jn9Cu^OmyrFVI8OeLTFEjR#{n;G0Ra%IY+%naTGK zb%CZlwX?qw`ywQysn{=~4}zU|Kz@cuKVxS;9e5G3!uQrQMI29K!^;Y=2_5FwZ#Tty zukL>~-lxgORLC(I4p1~m42@X^rk!ht(C37d+q)zBqYuOt$lEeaR`LT6w5J=4**sQ{ zj5W}0ZPgTOQsDM@NWI({#G7wsB_$EfJ}3VpOy`JTaZQGy8;ql-%bn$bq6$fDM=F)- zHRFqNK&+&)W1a~Ass|~^+6JfQ*&}cfk_|%T(NKZ9iwaD}jhd0;^pz{NOMX9U;C&@9 z9GD0B1Li|zXb5O*s)9J47fQsU=8BA;>`*;*$vxW8c;U5M%?_S3kR@XzHlAV`Kp>9 z>=zedf~viPthZaM;_x_IElZoaU#3DYKd{;GK7X;WaKq-n&3}wZI3cgqme06npXBM~ zahz>6S|cxj(}gy}6G=foSRGZrp~irMvllJGzF#HAFs7jUs5~sGPM}k*+(DSgH6qU_WLt&{vKlkE^Suay6UI1r{=D51bn|Z)wcuO%D~<2A2g~3mWjel!#cam zBkZMpRlxe$#)So`b;V@JOF3+W4GKMoR{0$rhkTrsGLxkYuZ0lIzvR|CT!tp*Nc+s= zM+$pbDe4l}P4sBmWZb{z*5@*OfTLx*(WK)t*FPMZCW&^p2Sdqa30a`zOLwZ&7IsnM zFYpu(6U-K#{WqHo>f_j^xN$fBhmMJVw{!l-y!4+@|4SJM5cZg))145B4SSs{`i}WF zdu}l{8-SPoPe5F!nN&!ElOUwVLU01&?*@$RKh43P(*O48>68TC-5&>Zpyazru;Q!6 zu*4@Jb)<&$nN&0KtBg+^a%!{@U-qANl8Mjp32>@y+QxU$3L2=2UsJ+&2Mw z`+#&9$sWp_`7&S$Fm4cfO0f8uQJOib0J$9&-=&!efEj-W%L{;$V)MpopW=U7Iubau z{`S3kBp=NDT}1M~zEbNT+5C4R{yCt7{m%E-f>IDbd;{$zM^nJLm00cgkrZ@3+H%Eeb=ku*KVZvLw7m?8oD$98b_R*d{$xcoBk)lB@&{u1vMl*f+|LNh|aEbQx*shC;&%l6SlV!6a^|>1)!oq zA@(OQ9ojfarEZ0OARyh6g7R zEAJ&Zs-FdMcDmD!jx`K$r#Qcm@ltW!H`PCrUx);NwYB|>IH3gaOMS6kH*+2{0A!J~ zLtv)GX50t3Y78hVsUiADCes+WQ1&G*#EZEEzJ2y=YctGYW~jh4Rsk=$38aDm0&wEB zLaNe7U`6TK?EV@{BlmerxSlh9!7y%N7kYA&t;QU5x~%JQ;4g`&VW^JZpMfEy4YG$VIBS~xN+smqICGwk7zh1I;o7gREkyRz@3%9-Jlp(k^8&^!Pg0OSvrs*$`4F7t; z)NB|c?k|Hffk}OA7H|Ov0&T*Jav^M_&E+d3b7Z=Net|k-(Bugqvx%dOrc%w^4ar#$ zV{erS^x$})iK(f>GJ(5nD3i1&7b%9t)B{ZLNa42M@zEcK&T~v~{^{%tIOF>hq|@vd z<_@f6Q~`sMvh~o+QHq|=nonv6h|P;Af8YC8MGA=XBqKpl^6UM;aSNGm^&mO%3`COy zhuZ}qP4*iFN|~~bBb*Opo0BJvR6UbIJr_PHEqTr?=tY`2=bB!{Qg{1Rw7_0oTL*Qf zI+oP2DyUHfeHZMrAzT=}^R)-)tO?cy=snfzg^&bg0HV#?LgXN%DGPE2COF7#TMj88 za1TbXt-oM%`}KO!Td#XTOOIlvnJZ%wr0ZqDomevQ+If{8@Gl|BG+^>{*l63y=s5^y zGzY}%=MfHC^n|GsfVlQVj@}i{C;b2z$a5HS;-%yyYBe0>yC9rsb`!E zzF`R5#~LYV3_^GRLVg5dg-P;wiw#Dqdb@t94zR5MNa2D?F@5ORxdF~nu?S5{qMs_aTP7(RnZvYc4oCRM{ zuy9HNWqR?Hh|Set<0^gq-dVl+uuDIFF0ARKd@>5|?RC=9AFSKdsA|7&Nj-dd)=6C7 zlV4>546DmY65+K3`IR|_neDrtqZ3v%sh3X@D?7@JRdYr8ZwC$HsdsJi%g1D5+&mJ- zXbkJ*M7WrbKayT{;$Z@>{xNEa;LJ#kuPN6Z<{YD~B}eOQjL!qRC1RMM&c|}+`WTeQ z4jW#vZ$Cfv#nOr#5F_)Gov{l~FHB;GnuB8-3Taak;`wc#7@=svj|saZmXzn69Q<-j zsQ``2`_k6?+!a_mM~m~*i|0y^7w*!Kj{tHeS;hZA))%o$^B+2FmvTqa6wNsTCYpGQ zk;>LLvcn7nra_5P>qY~0t~FIMQSxBe%EEL(qJ3K!OPY)UAyD_u0rJy}jol$#s&w@S z)k-NCniOYtl?uPCk%8`|nV~=->(hI2RKM9LPWEOO=5kW8UkCEEe+hg~SGIW$Q#ya- z$}ZePK3b90WM_(OEGRJIzb<3AYLj(!Yg5{SBH0f%}`rYC1C7ntcR2(BQrL%k4$xK978}o-8pr3kE$yt>x$uo)f#ZSDX1r zZ$wT>MCThv9`_$*CZxz1awk&62lI3S653iaNcAFv;(0&1)0JZncV$TGm{3c&$BHnC z3m;$RnPDvN^DAD8KiqNNoM!IdUTLv-CU|DEP*v&*ka#a} zxzqq?P&Z*E4--6mt9_irm~C%7?TL8&o_VuBe^G`=xq7BS*l(oz96{oQj{`Mr$d=k} zETL7puO@qc+l1})b~gJL`8q!cU8z_++$QpN$PuTcc1JvwYS2y*p?XWxVKj0a zt7sh!kwlHVU4oPck!FcX3|c}c7F@wjSWv(G{3y+j=IRyja@^S0ZC1^y@u3A7I`*dB z%e8?Z*zcWxKP9Ir{o@Im-#k4F*{RHbkQ8dFS3#;`6xXOQZ7WW!0A;6q-cDb1+T37m;;{jzQuGVU05k3)35Tz zaeHsiTvX~J>s!hu8|M=3xvgDEwgWzhe+gdJE|M)tX#ew?9F8cHv}CJhvEd<8t90*k z|2=#8P26+;TP4(#_>tmaro*=O_Fab*>sjGv+E=M$SYmb{`6OH+Gj{EnS8l{!lE37qyY``3?qj zh61;yDl6Pe*OF5|ax*+|nnnXA2T|+6+s#{j`Nl_-a9s&ga0i|#Y#k?}=M!AHeIsca z-Axb|E5Z)%no4HK6dCON!PaL%f{STz?^Yt}XXZC2K5J;5Cs1+gtH0E!uC|>gJ3fmc zuI=8<7WcU&Pz0^lN1zko4TO2Q9HL!rc0|&Pj1?9!7g%#yz;Fe8`txpi{PAIF$&rt1 zOFwwOJ8q0CtSA9$M3;6UQKs00!jY3tl||Pol(H|h%kh5QYbnfd5VhVs^Cuc#8SRdk zLu0yGchs2@+NJSSzo}z9UWs8MwX#dE&0RuuDFO?OPc3pq4!`W^tY12Gk@Vb`H#Ffo z=J`GOscxL}eRP!;iz26&8RipIzU`c+Q_|6=# zM|(Wz&f}@)9q#s=z3O!8_0NwI{OImag~;x?m%L8d0UzqcFW3{)+IR^hw{hDeT+E27 z2I`%FNt;eJ{9^)BiQb)VKB8MHSU6`SbG(`3CD&f3&S?&O+Ax998ec#UJg=UI{30}* z(atA-Ve@75&Q#?`=-x9gNt7@GYjcJbStzK}*|I_8Ao*LWuO2=~cCsPl+i~J>kZhju zlvSfj`QX@w{&%&O7c2x+=9qbpu-H;5F=$|(DyY;~*bd9!DP_GJEOGT%B9fTv-#0467E(n~sUK#jC^KW8d8p@@kr2+nPkn$$UtI z7k)dl8k&kcM%~>VP!n9Xw;TR_=3brU2O$f4kXu2FZr%D%n$VRH{NIyG>DPX`X zsH*e?jn_WovB(Qb7%|G0^JOJctnL#&(Jh(w^z_p2*m3`2aIsj&QQ* zDPSA>?sVb@^_+{5dh%NzI`#LQhq<_#n}jFoSPhyR51Je3-TUVql_9;+anC5G+j%)I z8Oh;GkvfzKpS78XuFv>9g3@Iqb!;DsDasjrW1n0NjF zgAHDct|N!kESwFBs#4c+_7ABa3%^w!&djK(smb_p?&yYz2leR99PW)=EOnk~iT?U4 zguVUlGN$bpWA*)~(drO(1bFIk-~wCyWa*MKJG!77R)P#^Jai@E_-r29Q9^ZhVic^0 z7=>2B_dfB=9ljwu^%f0OBsU3|-{|A>5-I1WwL%&n2aOEq?*r%A!pu{cwiGML4l_Kb zbm~DE7;4K0UL6OAP+`9!8yMO1=daHmIsumSSE7sB+;SF+PEdrN`R*okS;&t+@7lbT z9Ko@JEqJ5dIy?Z_W5geVq2jEK5UG+`jRp9oi(3bT_&1}T_@}pB`r@^5lHj`m9 zV|BsL^`DM9VTQ-+LOh{O%CQ}klfw_N&{Dvw1%5uOv%$SCe;P=GR*8c3M@69>cMy$G z(Du*;_22~_zj@kx5456!?GCUkuiPpOT2UZ+RzVJb>9W6c4zwcCgcmG(FzT}+w4w?7 h)1)Z$|JO#hSTzskPU)K35a literal 80528 zcmc$^^;;WJ*EWh3*V5uvoECSd6o(e6;qLA(fl{mlD-t|7rFbcY;_eWvxCeKFCImR) z`Ofpc-*x_h^TT8&bM4uC&ziN@TKm557;Q}zB77QrG&D3KHC4s;XlNLyYm7}?Y}6f> z1o~1mG<WDWV{)Vy)v(nVHxwXaewaLD?L#>(@x!bkbJ!c*ONz7sjtk`JyO8-QqL)a;|Fj79$^->Ey zU=3ZQatTHX2vX$Z6;v=od#atTO1ED%52l0IH}h%q$EaI`bAip;E17KTg+Q!)qja`4 z+rl6m>(-BInP^+roKsUb*>BPKpJkYi?6BuM#Rw`rqdty-VW8or^hmUL5XZtL>~hik zN^Cd3Va2Ffl#tD)+i&d-*dWg8KEN#mUZr%uTaWg83%U4B7|%}`TJ4&qgwCe#oMD%A zR7rPqq(8H52XCKWWeE9jCo>Rm`{|7R5Rxko%++6YI;`Mpr9iu4HOQi`YfJrv_S+fz z_11cY)(I0D>)FC;J&+NQS(Sjo+v>VlM23%#(6j(4>UE~5Vf)5Ny1@H&j zTI?#5sy!0~1MYVaj08sCT-M*pGk@5=B22LIU@PFJE?oWU)QRyl5yvYJUpS1HAA{SB zh%Qvf4ReJF?Q5tiDP|fbuPTQ9Yph@LvU4aG6qrNz33qTqn+^*Y$I|>F>V|EErQ1Q| zMnD*<@)|#~Q-dFUCCnc8%PHye0{Neb6h$N%Z)Qko4RHMxcoJkn_4n6oQSvtm)Inf;2pV0XlDLP!0uHiLBzvtOF zlpTxf>Wvh##0_1P>$In6+!3Z-$+)iva4{#8^>As=6yGH3v7(c`a735i6OzZtjZ^|*yYE=wY59U)z z76P4vpo5jkm}$m-Ey4r`9yT1G|H{!@R@oKi={?hM?(zMY~(|n=<3HOOmXS!q#W^QHf2>1WCGa#tPGT1WM zsW;(I%{U(UXv0<)E0JGWbyUhTAzQRuE>mgwqfXDZP_u4~-1s}Mp_qJwQNst{H(DBe zdVHqUIw$$EI^arhQM*dJAz-LuoN2)@ISJH-Sx(?GawX) zBaowZO09G?M}LfKjA*QofROT(a+-(AW5RvCkgSd}{b?~3YH)xUc{dxk z_n$y|eiXBj2Pc ztI;$C#v7!9PlPm{2%+(FgeMg*w{Qjfp?~8izYsrPEFKFbMTMSb)r5h`0hQP|3JnTh zcaG|?-tfl4&D{93V9u?7$6 zjF4?#Y-Vn{4AT#u58j4|*ogRg+qU`KMJ52H!Q+-}_uY&gnU=wF;|Uv&mdp~qqN z;>a>QqiX>STx&a4$~*U(FRfQ}LkzTp5zir&-;H1{<+6-2fq3bNLw(0lgWKLC0)yi-fsM_T0uSeNp>n-vVsNA+n!dNOeC%E+}@-A+Mp*c6r^f1JJ zul~fjbCp{7D~sfCX)cf^_oqh*>%`GO{Ow@=C0#V{6w(Q^R!)E~^G8r5^=qlQIBv4Qz!kOP9OWW=iC(ff5&({ z<)9uJ$9t#zpF#i6eHwf?;s5oQ1NDg4n`E;89k&KmQs7?DV$iV_9Dn_SSAa=Q-=e86_d4uPh;yX%42 z_Sklz4x4mv`=V=mtA4;O5dYC|_CfCK{O`byZCe--d+b68|0YNeRS|GTJ5Sy#F%d=FxB4pR zdr0yUMr66R{jDcwVc>Yq+Wj5}s|!(>>+$$PeyY9PXTv-FwlDsG4P9Hko%$f6DZc?^ zstWmlljZTWr7avBp0d!Mc!FGWu9hFIbct?Xk=| z|Jag|_irAp)MTo^5Za+gPkGkzr2g;OMhc^rO-ti6qmr34urF2viH#|DVmW!Q^4PXL zO2H7*=D9Fd6E?$5lL7lBd3#WZGSOa>bB`$b-NqAF!6TLBqPsZMYPbu2h-|y4e?cnM zvP;S7my}>SOF=26yt!cY9`Gzo)ahya6WiYl{4~=${Q+!80IW&v-G@N&-y&;q?2IreAzN!#Z_@GHwKbxA7Ja^a`CcIR}I$6=5ET_QD!CV3#J<~xcN+uQ;Vxe$(V8Td5LYdSL?2a4-AIay@b{$ z&oNA`wm&Y{_G_12jpIcptS_3wVst;Mw#m~<2|wmei+3mO>!Pe92gWOdM6Rn|z7kS} zXjObb+%kpT5ltxW9z)`bY$t{0)+D$TnhKmh`7G)st0DJ z&&y5E3&=>f=&+bc0Q-D?qDmWLtI^*e>aud@ATTqp_ic>(-iayJ@k+ZAH4U+ZwEJE6&WUJ?3L?4eF=54NkkGh6T z8F~NvWGO^cA4CZD9FtJWZJ+aYi`!dIfH|)lv=KM#Js@V=UH&XMls}ntNp>9O8(Kz% z#Zj#gSn~Ed3Ba#zJJT`KJAX(muAWYC`Q}KHNq-)ghY+cnyAuQ@w&(O6@$5-b%nQPs20h%5~ed z$U#M2{3mX&hGic|m&Wx-53q$qGm?N)H;gxDp!y>PuJT{r2MqjAc^VwBSE+(!I%HCp6eRbZrUzvy9QU5Bl;BFd+MAz2(dmK78Po~^^^{t($S*1^v5h+I^Q03 zOw+Rn(T(8NP5HzaupU7vT3*%UP*y6~*B=xY-v6sp?g6gVVp)d{O>O4^oV|(xBDufG zTASJzr)J)wY)`OPcdaDN8OYs!87plg?l(4L5_t5O%WCzWH2;CIkY1J=+#3M6yOmDu zn6d*F_O||NDVUSJKFl9N&dhcz3Y96EiIV=1vN``f1vHm@4Mz~Y;;4jwZB5*p)J^cv z|5IMw*5tn}1fHk!8kZmKX1J<}wBKVyuHjglF;|Mr=oR{3)q#ygo0g#r*P$Yx$DUHb z&4X!WIQuX>vRs<%&zojjs}A33k0Fb9z<`i*lO+&Z5`CS{S@TArEFAjHI&^m#so$O_qmWZyAyV8WA%ipa`6gH{-L{u33tp=|k)?8Xd$q9k zbs|^0G?Rcmn3J1a2x?3*vG^8wD8oe_jtC=SJSvk&bk1xu4pFpS(@pF+CJqI9kc{V> zIALFAaH;#=We33qiLy94u`r_%-^Zj@;bYqZ3H~E`_q9l!_HC__d+1(&V+^uBj6W%; z4?>JuQ6t1-8N-B3W;iyJUs?DfsS|hk-4TV{NKRL(Zyz`ij(5ydA<^x3SBtcwN+wB;%!fZ!HUg%dq>~kY}-}+D0%MbS6JUz2T%Y8w3RM| zPlDQ}D;ib;EXDg_(>HO?CH<(T`LS=lKzsQ@-0L3hZ^h1)ZOF%DZx6Roui;aN3d_Q- zDBO>B=C(8XBHt`}MS%g9xZQdZ>?$z8+m3_@c7&ij%2iWhE9J`>Y?#l~qmbK7HDvm_ zhg{2P<)%+eG{LWjWhhwoa{9wC(_MwFOgVhSR`vrhvI!{wc)A>Xy-W-1K|?11mZs{O z_#gf?SEz`Lw%5U?Q|`lmRWTlPQOL-1okpZPGMY5Prg_di78 z(%@Z57{5d|1?VFUek=ie#CHLAP9TFchcP~$TXNG2;iw)|SxvaNcT!M7qO>B&30ZuB zNrE}Qd?JhZBn~G=z-%Pj#wW9d+vl8Iv z$^<8|rbr8F?X?ebZ8m0qF9lnJPi z=GA?pq^Hx}+$$Y0b|0EXc#CjMa?oe*QAeuu59Vpv(m~IJ24wej5**UgZ0tMzR>t*9 z`=i(5>c+sGBkw$Rdti0IjuA9vba(Mf0scA0vxfFNXKudBBq0D-AQ=@Z@fAB| zlZCFkAOGFqeU?BshWr;^3T_B2*%Nr*q0shB-{y0gvClkgn+L2xsO1k%NS-@^xcm!U^l(Sc+aCJ2r8TS{i$W8a7`q?z}8QAM) zBzG)-bEgS`HFrabm@nP05y9QW>T@w-hXC%>nv6tyKmWe+grw6=4!OVUOx)I|mV`B( zbr2aqXuMO8K(6K zS{5ZV_|1wZ_m8Z-USwRq_Ba(16@YZoWah-aaBI?YDr3~?F0nvkwb^u`w(xfvIjV8V zeT`?xSHRzRqAy+A;Dtl8L@p*3-T`nQqf!~W^^EjjH3jqW-0v@bY8l$9TsGf0yOZ%= zIt(qkjK&5alDc1%x454xm&Ce@wDYTk9HVAR$rsM%+9=-UW=3v09TQ?TN1i97i4VTe z^R$f&lOa3&X-h;$U2On%d)xgkVuZ>p#Y+O)q@=yjCFip)op*282N2;I6;{Qi5N!vD zaaU%GOY4Qh+v*u#?JWW{8%3|8-Zr8w$8YBSw31Xa?j>aQDHB>jAh7sVA{ArV{io0R z*4(ls*3yAyr$PteXE+Rp@_QcK_WYQIAt}imBD|4>tA1tf@8QY$$s$zj$)ATV7*KnV zfCT#zaShxX3L76E?KX7pR%+@56CRd?-+oiw0{j`2NZw%43IRQsGUb+9c%1F7&)zMZ zF{jld=*xh?FZ1)%Ox|bIupTl9_Ukqb@uS~U>KW3`Nf`t)ZP2qpCHu`NVYd<`$wriM zRwD#)2VVjAqgpYEor=h;iB!IU33l#r`9Z5C5Wy%I;Rg5Ujk2@B?z%3xm0oZ-H-QpHD zeHRCU1(fFkIg)^`A?1ur+a)V|8p32H2cNA;?R4W7p#}zKGh4R$a3O*lqoitXK}4}m zyr0%Al;b?($cf23i@BJ#m0!^P!&_^nL)MW8tF24a#aXd_><;S0l_(=fnR8S zv6tb$Y`eTHGudjJLx8q&nDKGJK^QTz@qSaR6{{E1plafer9eF)mQK(MacF_;^_L7R z!l!h8Ve)jL8a)FE2=4kdqg>9gBt~1g#O~f8-0uDxOXWAzWoJnn{alz^%*HwHk@>PL z-uFEjkpb^Fymrqc@Q?Sj00D4=F7eHGV(&NJX*dK;$02k$5X~3wY<29M`MK3;%BG~S zJcKMyYDQ9QsL>@krSy>|r!AaM?>QZfHp^a-P-Ck~YPBVRTm!r_E7m<-&@prO6ug6! z?dERM+0VqW*`U-|`hrY!)^Sn&0QOy6&%29KIUXElctofvMqX67gW14`S-*3p!)cki zX95iLmlBHK?lA7b^3(l{)AcERkvL-)+#G__pt9gLn#6>PJ(XNUNih(nZ46W(DQ&Z7F6`!GG?~_ow|;7)Irr9~ z#a;Wd^NW7T0L$nf3%FnnTvk%4ovbqz?ay0eV7EZVAG4TeuJq9JeiGh`Rd$ z5k$Ym7Z;K@seC|{tyL+^+r8IFacuFeLRn?JsXa;Syon5U+WqvB9VS-mLON;L2P+n4 z4czTw*^ee5*{Su-ZV9wQxsHDb!X+o}%}V`-%NavZc*fj~J$#g4sEtgP%=!aosp<^; ze7>y3fKeump^>DdtOBmE^$+0K@*oKyKHLB+&(BdWzfF_d zMxg-z1++{(B*mp9I-=U0xAG%E?WJ#SU$t4KYvwEM`o+?5-VmxsxnO_kd;Z zKblO9FDqoV7bg9V+#gkj@1PH;Bv9iKKfqB{$|qSNVIHf-`_m}76!d%dgg_(sn{Ge5 z7K_YH@-5u+2=rUrJSt-yPzL_cC^re%K2r=F`b8>`cYmHzR%B~xGFEv^eeJ&Y;T%XqEW=AYSS4&Bn&LK#RhGDep{E|SJvw!vyp zQG)Y2GnraoKwK9?f^WlJdn&n4m|4r%zdl5bAApS=wp7T^-{5ic(gH_iv=AW8y6>%L z-F!ivF0LAV38!pXd$QFdRZ=sr+P^3}wG#BHV-}AtD>l}CZzmfa`y=uAI;|hJSR1=p zNmxUm&rjFi6Uqd;7I|i&{I3PYVOKzgTWawiQDYCuV5AkiR0Sr$H)%UwGQy3Mr@%nB zH%tph$Dz~KWML(e9ki0eY(AOi99SF7S3d;W`g8-5SOF^^C1gmuqZK93tPj((*%NI>B2Z^0wCmop{Uwt+xZV z_9I>Sh=b0*$gweA2vrU6LtX~H7k@y<{I(Nnn~HF&7O+Z($K0A#gzr%w7i^pMYkh8? z8Fm9Oxg{ixZRXu`I;07bQ3Z!@#Kno7m5ECU?tS#i_*DY6rpc-g#%7AY+ah>^jXfr4 zc4{5a=F>tgWDWU+p>p<%u46&mb*HFbr@7@w@br%a;nTKD+ws2FX5VsxGKhD0GKmrn zkvo7VRA_Eq+dYNDf|y&@Xq)^jD>F%3o^P>3hWgirve@J2aob$h5?`RcOwEjY8d|C1 zcM41{O!3S7d%`}a^h1vgUh5eQBd!l#RCI*nR4=LCQ|Y!$)D;(kxm~kSI8iDXs>`2Hs<`KjeOH&;X`o+ z1Dd@V)n3fTK-T>P9gaxyJ*yyB(wl#-A-YckkZI?O$6g=W76;-Ob9^&h)XTuQBN!Nj zXf5>3)Cv8dFfz(J=ySFqZ+Kua+-p_u%957w|ZcrY0gWW8vY za`3-@I6bIvTP}rIgg{_$6|5oE|K%mvJ{TyLHp*{d^xeK(0~U}Fio<&eOZ>?eU^?{h12B5As}1G zUUbP1*8tvG0Q-qtdddGh>?Km`S^bIu$7*9={(UYoV_J;Fj+@UMY9k0ZpeegIA2S_+ z$|UKo(z<_V4=Hqhx$(lsg1me0XLu}&P}P1skBVn zqQ1+QfGNje7TCorxm|djL~4`4s(E?)Wo4P)+w1$;J)6e%N0|RV_~D8s&li3Z9LlXG zWb2IWwHTOUV`0b;R5%Nt-P3x;kcI?b6mdM~+z%AwzB~ya4*2v?b&UR{Muq_Or)@ zDw*taguszrv~OxF=OUS_%kMa|{!5t{rv+h!&FLt$=gjyq{Sz#cdx(vq$r7b=%;@1e za}3n{KKt-!w1;aqJIA#Je_Av`10zBkV_ssX`nUh-l{?_JZ1F?nE$t&petS=3y+@6N z9~g*zM*k8X;!LHOf%}=qG%EGo-4ik3H;p)5`p>*)w3ks*{Lgk1)8Bz@i~UXLRg8Py zdSYakV)Ug-5Q>m-2meYzM~{oJ<1FeVMN@ZWuAw3w=S<{{WVT8Z`id&0gs`00rKE7J zN` zyVjP5E7bl=gpPYYGCLAQ8D{^z!!Q15CGl%P$M65;LNDkZcO=C2?CJl#L->f75stNv zWd0BTDf7rc%pFNfI|}X=zh&kR zd>l7W&sG!FTKffQT!b*`OE)8Yj!qiI2z z##jdqzS$0jy^4#-5BU1)mnZIHl@{fqOu-xV{Nr^4a0rBLLwXXbCl zCF}*hIdlsZ^U;p%56=-}Z3xU#Gz;KVP zkuL+R@33qb!cb0F@Zxp9k{*pzp7p(e z3gn7273-Mly^2_MD?REq{Wb0%pc~Lf%SW1@Un%Ld@ z0i+rh0vA2knAhg%Tw`=nX!+uMLc>-&z2RhK|GV+sri-nqK08w*)N3i`iQ$gyQ9qF) zkYvNw<6Y?sHpIb@dTO=Hy*ckr#Y@H_S06v}cvF-_PS+r^1Jh)(=th2E%hkJC8hnLaOF{Wfe7+ z6vk$uDd!qlRP6l#i;L)m0O0_RWmp3Ph}A>li&UZuFAHh~Q8kM%>KI?m%@oM}smmBI z%|6UnBY%e=tnxxdv6@}nk-x<_l4Me>D};@9yTnB_q#x&r@qfzoy_$Mnt*MKAyZ?c4 zNc~QjhMNRlqJg#j6yuK?h?d{Yz4mB&D-PnxqY@xgT&?q^wj)-VS7F+hy*s93nl$}` z5WW|?7n87yB&*S)AZC!%3;RuP_@dRKUtO_QR9|s^hXEh3)TV<3&)ak z%*U#6o2;7H9g%ucFT3~N1sGusGEU?6w8_s)ltcAPmM$cOFYLe#zZHf)Yy zL>FmbmBe>gh&|g?JOrjk+SXW6bczv`TSZxwVlo0+HkH0Hip^e@@#*p^0avP##z@>b zUZ_X-QQYJ|=UQF?h-ZqficA?YW1QpNep26?IG0HButAm@JrKj8V$B6LlfFl^BiQ+0 zbPmCpkMabgzc-DiG5D7ycdcXAsKtnAhXx3DgdL+ksY5n@&SwD$E2?b~;fuVS{jH1m z%@`M96dC=aM2;+-4kOlCIZQK*0E*@aX2ZE=8UL}E9VGS4>LQEb<6lW4`2NVJU?3(T z$I2#u0k^L)n2-ZQC=3lkO9@#+F`UAGZ2NpH4TVlb@2&ic1oY=c{|@e3a*wBZ*mO3d zmPEQVMy$1R7&as#sbf)yNROqnV3CU|Z3r|JrEGH1F!;My#pHsII5_Uf(0Z8YDN5BO z6ceh9q5M+$jZAm{`9N=n;VlnkP_{6_k-n?sQ_2^U>dV5~L?MEL98~92Vfu{zhn)Kv zSg{T*If}G#(s$uMAYRo%1U_psLiWt#j#zdY(zaB1Vk>@@2f7&EfpvsQ39G|?_9@9Y zaY5cJTJxeSA1{*XPu8DAyfQ|me_%pK#Te%t`ndS=Iz$rb7q=>2_Ah3ASBwE4b#*2{ zch?7b9&AI_@vY%S%@>bi4Xl6|H0MwseOf$dJ<++Y@=L~rzH<1Gs;vR|>OT`DJG$V& zIKmxi%Fj#c$nrpHEL?5y4Aisa=R-lfod4+eb%RR)`i8waJJR-5w+yx;(`0$Z zHrAPL#&5PbtTbA>#&<%0d2f{1*{yZ1MUC^c~WsPW>o zlrb|uJ(it9eUe$gAHK36`%M)9{VGM&+f9`Rr-P{yJ(ocrHkcZDSOi)68TAuMbZn6s zENJQHXA$Bw4i^divGn)>(7`{&^CyUDJi3fjGBI1KXq3yor9fZ!qTEF!wp26z_RU+4 zKUusXAVQe2J4)XrkT5?!tH;Eb_Cjxe*yqz~1R;qKhLCLGYn<0nMZL!d4BHksqNlw-c-6>@s2ni+S;)=#FAz>qQuss^kdn$Q%$OhX6#B5R7NAR|~a= z&cms6qdowh84~hK-J6F**BvJ-bl67B|2U{_4?$;JNI4>EcYgcR4W$#2pTJ?Xp-A^$ zS4Y)eQW!!GoZ|!1e4Qe4QZ#lKo-CV#u7L^yn);VTNpb^-wG0i?rAx15c_tb>clH;5 zC?{XMZH@`C1{(S3`ZH}q`pm~#GYF*Wl9c+JCdIN z8frl=)0Q*0Yl&k9#SYrA%r@U(ZoeW=_^=X0NUnRpiD_Ee;vTv4Q+Cb*=-&Iw04$&P zC{)QRjFD+QTHaAxEtuxrnHIx-6qS8S91ffQwMm)v4b z5Qk6j@eTbsE6_xRoB#JT(~`kYp(%4Y4Ff((V4m5&=^t4yMN#(K>6Y;s+M-XMhGo3Y z+lj;=ii;nd$9fpY4arJ2oidoY;cYvceALwh{C|EkAvUi-zD-_^IU)D}STfkjMJL1KM6i@yjt>vY=3)I^`lTQ8+QaBL&$=YpGOU9;gGFa zaLh@lV&Kcv(;5B}hZ%M{tV@xr$?#EP1N+^o{u43L8S!r_?NjY2rgpRwhjHoTUwS?4 zcFD5FbAuTY0g1d<<7@GabqA&Dy~=6Egsz? zOsKOpeZ4r%k}vJXY6PfnVfN3!wrF-_T2Pf1R0| zfmoEd$RtHX7FJMkmPBbCm(arL7__OR4@EVhVf5EY8>5FhC0@U5IWRtPm_dn%wzv2I z{{DR(%*$Q4r$%mP+-9t&R|n^qy}fRm83vp6gERJ|_b8>ztn}TU79R&K0|0qut%c{> zjS>q%vi_r2A(lEE4?53U<rGb?n)}5RBh-8m`03)WiNdPwr-2o3Me0VtsC3kV0EB%EMvWYx$%NR|@ zm(1^=1*;y)>Z=rTIlzEj%^CCYN9_nN1a@HhfcRVw2|o5D(y+Tdtka_Duf%2Z{6o4s z55ypfB>sjT+wk?KI6SqC_Brg57T98tChU;=tAr#~clfF9c?z2*M|B!o+csA@??)3J z4WrQyY2rDkMmL!#y>E+i4U+#y9X{QRQvct7pAA#@7BGp$Lmjl{jZw0^(Z`4>*m{SO z1hsl~Bm_(sW^%}$#cb`aaB+x7J@aE|7=%j120`na2X+o!eqtJc{0qgHHlM z)R@P!$+;Ir-;3de!)S;|v6lQ(F0nn?9SMlN=!zfIX3@EUM_ECpzB9d|+hh4vj z?9T}04$VnulgnhNEKF|~W;4$ra_u9NBUxhAhj->S?5ON+tM`n% z&K5mr$?en!>; z$Ldxee`xkli6FKRFsy#Yp!}_xrJWf!fB7j&Hd7#RJ|d){LM!D6uKueTypp44Mq0I~ zSb^zYpIn;zJI#>*?A}Kmare7a#+iH7033`tLK-UN{&3ST_bvbGQSY?d)m>&wrBE=+ zxnz^&JVYC;)1<+-?^@eSu@w;^U+Yss4~JRY!wTp^;8X+`zV7~|X*rxg^N7xiYQSB& z`Dbk3E<6t5#{i$D+q(a0G|kXO-|wFP7ItVW*E}C^P?`0}m0R0?(TavMfB6$8A9_Yc zKTKH^$KdgpS+bI~WdGjGGk$q-Rm>O6^|MHhOb;zAmkM8)PV&`?jlK9;^1$5bfJEe_ zVL_GK=0Sq+r3#rFyfa?I2s`Fi67T~$oZ>DVCAcdpznW=it8e)$5O>5bmdbeD*e~Ms z$7`k{^*Z@L@aYdsXGMbsP*n{~aQw=DMq<*!e#3)A0>E0eVQzf z(TalaR`%E*5;)|No@yS>FT_v9j@q;HVg)#G-o!9u^kRp%6Tc#dIuz9O>NN;3?=+&3C3vd+`D1-ta)082SAC;h6BV7cAVq6^j6*{h;Kxd1i|L(M1-#2;~izh@=2(OwKGm0(`n@ zN^{-$Q{rY6rK7cF9w<2_5Yx)=!1yb2?!DUrVzmggHl^f3JXxDZx;F^Fcsr`{H56tVOKbD5Sh?A

      IlG||>&m()vh!j1bs%Xt$;1BU+W z)iGl9GvI77$4O39ztw3wP%$ae!I2Xpm=d6nHVmWIPs2^O{y~3B_Swk2H_|$lw||6K z$mWdo132(1(M?mySz4g*s*AF%=GEXP2gc}cq9-&Y^l6b8w60FtYq9MvA5XoYgC+OV zXS9)9IJpEi*mJwR1_z46Pj+&AP5iNQwy);Pxu)jD+lIlznk?whQ1qdOqq#IrIdiK; zqh;*WYPc~%;2lmd_AlOGY~GoEftPNFLgs%$yHlsb_EoSSszWZz1qv~8kHy;I?=p@# zDm15UV`BcS$$ZlKsfm(PS0Nhqw0vzk?{JNGzSf{81&)@O03)hmt!ZS5{+VZ^REn!F zg@{JzDt-;U?4>eiah0R$onhJAP%!I+cPVk=5JmR&U;=CNbkKU|^YTs;Q=e8FIVBD~ zzEPp)rb(j>eq{LmT=u|Ud{8TrV)E@R2p}B{RizA0`;xwF{=p<@QN)xJhu3@wj>i;`UD*M`qpSED!cE}MKWAxX zhMNhp|Am*D%&4Z2i=bldNuqRJ^KS9joY>;flqvg#^2uYo_*P+A*MaM*0~CahG!%i7zOxVV&5$mv{Vf_y)SWV^Rdn%Ho|^OH@K zbWS1?o|5`5m?U^tVR(@bUKRz`dMTk1t{;Oco8gx3gptjMzcl=hxkw~is{q_lAzao_ zBTS>}xCsCA?NlMsx%6gEVud(sToAKfZfBz4Q>c7A zt#6|*>6SJQOYFe^#4<2RCF62-8lfmF4NFqd0~DRQ>!fM1NQmQFhC(zYdZO+_KT!A+ z!<|l00=Bbs28LsL93uC(LUjsM_}pr4{G{PjU`>ynT3%Ubi^z$jVBDCYfYkM1!n@Ez z<27fR?yt90!}PMwnxS6(6|I;3M9Qu!KSL+(gZHO{k=7JzZ6lIt_H7d36O7Z)0VsaoCluRzBlE&8x zV$WbKe2Bd@j)UFkrM03luXER_9f;d5x8M0hub>JbD+CDsDXS;R<}4}FRw99$QW!45 z2Y9%yv@AX#{;Vdj|CFzcO?j+8ZBdm6;+CC@M!mxr>KQ4Fi z?#Y4J5NQ74!0gSpAknqjkTEATTSl`A7)cDbig*o|)7$yx za^<+{(g{L)$>ehH$D~fA^JVSV=HSC+w)I(>_eGx$gi;Zxtw>u%-BURe_~OO7lGyWL ztG^tCyeYA#c~UdAaFcAYqJ=Xf*gQ)gmdgD`f-(GW{ z>v1!RBR5tf4Ey%_l6d1T@8UOfOO7;OukKO5Z%MKk>%3A|r#_TDN08D* z)#eG6%Pmb0@d4#3jLO^;xw5ft75vR*8eO4XALQ* zqwWyrmj}9NDYC$pktum{*Jhfgo{d9UxN|-XvF@OGeS!I8?_IVyB?h{Gb0QM4ru%3r z(ikHpo!Ho4^k|ldTDArBP*E=667Vtopcz|CI-t##qHN<0% z$^KiC%y&QJsC$WTs!)*uc{}^T6ZaDP4{u2mKOOH8{1_0X*k&|a+FZGio=6T@{=C-g zJfVdc5wb&k{d-=rj4C}U_ye@KsM(5-Ll%`v8()CisF@V$>AhY>a9x(YktP_cGE|-n zA%x!U(y*Fz!WI<6-(M&Ys$#;!yU?0X=xC#KlG_n#S_!?d^ACFM_#tCe4Fl)79Z!$c z+`LP4W=ui?=~AD2PF-Y?S4hFEkK`Uah2pmkzrNDB_0_J4enqoxb@JA{`q*%{MW8(Q zrxfL24+ikkU8}&$KejZsG#3?z_dy4x|XLfUyyCE=>i?xHR!$I;qy(cAshe@%cPpsp}U z54Bwk7i6fL|H?Gvthhhz)THnQe$}rsstX%5%6q7nnh@YV73*wf-`cvfD>i>%EKB#S zd!QYWdj@OIOmrC>X2qJ&vQf7E+_}~1PO7uI7pnnFWS|b&?WCmy(U7{wPYOo;zFsdQ z(ZP+J*V~Etj?9$?&u@jx#B?+`QNK&Tew~{ZnddV**N4E+ZXN;GDgv+AF77vHFbZNh z>%bpuTHft;9)Ukl9;P3NJ<64i&9k8{=&zkQsGxGLDDJL`$b2=XJF8^pDl=k!pYCaF zxc8(s%tcS(=ZPp^!^o`p3_D%k9USpn((s-voVwG`wUEQ>uH(kn zUqsYmZ0KZL*0uG!>^!!ehaamW^N}4=BdP;jNvZ0 z=p==NaaqM~Q>i-rr*Mkn`#1X>9U*IWgm6C)V%qloqaeYrE`-|i-vv{`biTr6rbN+A zhbiQQ>e1eoaQ9WT@)!v&o`G!knUj&KVgG`RdgzJ1F^h~M-CD=1L&n^iVD@q)W=w|T zzgi1u-&U0;v~u|4^JE2yq<4`pbYwu9bmVM}?mXUCMDVECTEUgc`JBUA=`Y7-xDsg; z*0-FCRYl)+X)QtyOrYY~x&q6@;D8|cg+_5B*tMul&qvZq$sa{){UOeHgxD!xX`{43 zszZ2=BD1luqnk;HZ~k<=yV7!f=DKB~Cul0A|8EatNiiApYOv98)c)DmsfJhG@KU(_ z7#10`23GRau=gi2c_)rDi+JAk?V_s7fy%3ZbNfq&lQ;d!AOfMsU~Xs7REG9Bj0_&| zvmVTb{CJdzjYlFWBq}gc?%V44oZMan;d2gE>%J$0G;04kM#*yUgz;>m+}mfI^4vUc z!9DWgcT)yjXHw0^0;kM_C$ojTg^4ORGt{x=9eQm2a`F@%Tz(=Lb7k%x1b)Dq@900v ze*HPg$1v8u2yK9b@AS&Mfw^9{GQGOn1NBKaW=j%l*^4o4LFD>jX6ji>V)PkQ4Q4J7 zqG)FUj>S{lzVb(g=52RereTTYkx;S6&0W_Jx5YgaNR_js9jZTWQ7d3UKQd+R?$XD) zrLLwH2LT`+GT1-*^gT+1d}?p7J7~zM?ICgk{@kx-`9Cax(UY}4b!3te{&Qe^Vz7KC zic_Q%QyiM1o7N9ElHBcYD!Hxkp=AV`Yf%I=LNcG#t!hNIMtP(4)KJ7pHb50+Q4LhsnVni{r_T-b+VoJ-d z`J)OOb=C;xTAygjxK29@hi=KOn6=%*QZ4&ywz#Uye#%m-MgS{2^5Rn((t#R}B;eI& zrNxVy{#tN}te0_Hy}G}+@^5*Gl3x$qRh{qiz>bPdu$Akd$iywbp;2dHn#!+gJ4$0q zcb30Ghd$T4+owH1xQPbF7UIlo$2`GuoPGb=Njjy?H&8i>+fDdgwtpZ6f?33`qoC85 zR>ziK)dDC;HsG(NzpRXS{;7}uIQAy=_h+bUVs-GecpsIq20hY^`G_P!aH?W#soq&d zw}b^b0~haW+F(J7G)RwTt7Piu%G5zPSc;>CZ-T=nI$*GA*A%_sCV{q1HWsk%!zWIr z+`=)qroxVVC2FYgCxIJ=9>@N@kb=3SG2Y*|?HCWmr5y>7MTtHhq*P|-X8}eNCfpDI z*e{~4=H#zyZ>eIoIf|2($ppI{RN|lQW;fP(pbYyO%HQjwcHd@*lj5ahGNfHZv2|o! zwL1D%yXqT^u5MZ1mZ0IO9lLj;X(i6SdcnxUkxLqKZH`@B&L=d)uKtmBqn`p%iRC0Z z%Wxih|Jd5&)673Vks}qGHP<1bcw}JpF+3C5A14b8jf1d}nsw#8ef!b6nDE}q%4nuZ7rCLo*oSofp4pU&UeazP3H5Pk z#&#?a1yaw>wUQLiRiexld0a)ms9qnkw=cR1x1P>?k;?Xxy!l<@_L*c%9&4Fzk#dNf zgq4Joga@ovuI_I_h?h+)T32F1e#CWGCx&j6^fCN;qqvjB9qb*k)*5_l1OJ1$N&04` z@=`msLE1I|ZK&0_H{5@Drc1Bb{NCPzzdaOLvfbm~&!;4Im!5E0|CfN6<|tP|rQ%LG zNc_`dP30LLu)#@V?=Qy1&4H<%hoRFo)dN`p0y(hsqQpyCp}Rt+uY~6>!@c;D*eQI(AGqD~XyrxO6k?+E1 z@;B%YBd(EXl9!O|#KfbP(KS!m@n*I299OSew1f)%b@|Ep_Y+P(~DVoqW z@ao_ZxBIB;8u2)ekUvQry1@k}_#UEz_m)oFa-ZNSkT9pSia1PaVWjw9z3gZp!M*!) z65FUuoJ96^4wEurl=n!rV^W5mMt&+4_nynRtP|eZi`C4GP#%~U6tz>HA*-Q?f;y=? zcV`cwJ++CPKWw(=z4sf9V{1Zrb)%!+P& zJ2Mt5Y6)FDWPY&^QY~~jQXt%06mfaj&$80`)5D7|8?&$_Grd)EaMfv_p~Jw&Rhjk= z+7*~#rnGd+2f_#vR#JnT-AsY=g(Pha3fFgYy2sAC!mlVi1j~~0+g%h_qp03~{rls^ zepMRC^-&_ZkeW(KQS`kef5otlw}feHX&^)-_aQ{B-xgmL{86Vt9wufabGtFtrKv>T zd3gR%)>;5|^7EDblQaA4ZTj@P9yKhdnBe7kF<9qD zWFP&nqQl0Vmhy1dGDEi%kx;G^oe(Dy)qqdQb>rwjEx(ko8$}Y%(T3N{^NdG7PK%ST z8&6j0^q)gzqC{B9-{%+4n`x{k;08nXh7n9bi0}EsVGAo5T8m4!On+te2VwgQ0l86Q4Qa^bU1+8jEv}CCzswIpZ_|v8079Rp(R;0 zkWrooG*>3G!jJNvPx2I7n{^um?`jt(hB}g}Zd7n5iK5;}ki7YCA2Rqwh@BW?n5GZA zVYOM>6{Q)KKOPpb4}a3@-1!7$kx0wpc(@|%`l#_n+yN)jZ!@Fu!nnt}>p zS~p+5L5Le=+!&T9Tj$fk4#4aTByB9|3=Wag&UnZizfsq-7l9VTbN-0Ej6t!>oGtnC z?YcxZ@=y*#o5=M(ww=Aeistab23D80Hr?Xwi*f91ASDGv4Wy8r{!Qkn20h>sWk%&b-GE+lO!Q z$^Kad9Zd$ga8ch&W1hAU30OVBy7<^Qs#4e54B2-@SmWe?`FU@>uj^lSuP^#s=ltT? zq>PJ0HMSmD`1Ua98*_wrr}-k;wMrQ{ampNdFrsoH8dwZ;waYR-B%0mGdm4*T7dDYE9&0I-v?8^qat(&3}QF7W?+&xmNsfL^)$$N881(C71OM=M^m2mZH}W z`I(^vd`!j2Wsp7YKN*or&)@ngnBWWD{Pu&WHkIWM#~9XtnEUw#RbMmPmG~_+-kkzA zVGmVIWtReaqU$?iP=+_x^Ua7Ic55Xdm2dCHC$5ce4oiiWMSP~6FnH&fqCb~U;4Orl zqxkXcX>qN=82_|Hl57uMdKX$DK%dOxj9lT$cE@tV?Ds1((kD_vy-B72=g-O_OvD}> zcE=UN0}6l_wBydFnElpmVi&@6&di4CS&hvL^U{u`2gTMhu1pykKqboLfK&EWGki3m zGrq#piMrtOf@xGjmp&s`=Y&D1BY;C(aaXPV5Rip1wwC-tu{6v*9Zo7B{O@a(t;?|-7vc(ACVRNWSKH39VN(2`#m62JVW44esnAbq^3i|7~d^j zEYSG=IM1DUglCcpI|!q5YCR*1jwi|QBqqpTde8#&QSfEZmrjE?&F%=>mQEnuDfCIM z?J&WrN^s*pu;%zwi-G0gLEh#;*?u$B;TM(Qvpv;#ZpYTAo^{J`=Ue6R)*k+;cx_sE zVc4oce)qja@SsCLy6&><^0B{p8yZwFq@tIDRZ*||@GRiEPkSbMFtsZIHKB#^>=))= z_C|$`i3dP8DTXyAN&QZq6bO4YA_|o`io$z|Wx9N5SS9aW?ebUy9nVSSt;6s&;ako4 z{s*leL|!>)O1vClz4nE1i_*C8NiP|c*kK6`){H88IlwWtXuNOPCxWdMzR0-+CCi^; zcS8~-5w8GKUqrp;HA8eM6$$=E#MAC9e3Bk?hJb<0#E8W{PK8H1z8bNmE!jTnIT5-?#uOefV^-qCncHGsKN7(c*Njzyu zgZs8J7zxpf8^BFcmM_tzJN`uI$%Wo^iJL|$C>9uF?!|JK#!!y{V7*}W z&4#0Lt5(Y7u#D1A%lnnV%)jU7JRIb>|wu4|V zpfq40ZnzBsKUD4j7h^A`+t5Crd?0p=F=J~1cJ@H%ZZgW%apqtahMj5g1L2i(UeBTE z_b5LL6Yu9XnkZ4{%)7~Oyfut7xvq607%Qm5m(L<&5KjufPLjLeIh#ak>p!2I=NfAi zAK!YUNs?zu=CHJDT^>%BEc7x{yMuL33qf2xzsa5)AWNr*gSs95B}qJD!dQ5Oe%x&Q zRZxAe7J@V?JOOF!BRMV$bZj4{K+F&*^JblPsxm`+rTvTx`((Q#6EJ>`Ne;9qjo~;` zjMKPsK!|-P5+eUN7*uTR9jLiZ9|Z(`+|%Uf+`vo3S)%{5x{Lqpz*aNO?pOPY)s?|A zKa!d{USN?PO*D;G6qxcO6j5+gsx!`R}4N}g)B)p zzwCkJ^*zCfgBVBFWcaw52=3rpc08=y$xm}uOEU9v9je9oCnWlPO2epDnYw8suQIGA z|L$n?-Nn_8?%y&xg<5HuJ5+?-c|YH%_O6nYm!TpwpfK`1IJVO*;Q^!-D@q}$JWdlu z6|Qoxz&Qr1VBF?X_jP!JBfisZZ-36V=;>>A;Ujx!N#OlY$)bI!F|ArjENUT&j>R1I zr+COjuTeUlI^TH0pao72FumTKni zB<)_94Z1r?3bZ#;)X?Gy0~_9mim~|}HG_@0hIA3dqr;(U*EEjNvjL!T$Ozn(%4tca zV;01Lw2IRRv*wCA2ddZ?dQu@j!DW+$gVjP$G#ggue4@5m6!U|=EK~gD9M5;h`uSYwqu<=2qVoKQl^;l+bZE&TL) zLd84UuCemuBu^p4^4z-F^?hV;1!8_xg!_xy4*?_8JPgPU(wB-FSlP7_HJNW}lWfDn z-9Q^<0(Fd&hDv>;9sRNyZlEoiSup~V;KlQhPpRRQS40D;gBgISH+SgaGXO4n%rQjP zb+n>j%2_g8|KZMMr=lf0D;7AfyEIOmkqb}h(8aot4_aOAQ>k`J%_v8^eLZpN@T$?A3F3^C*wVGoM-kjT;yD zo89sh1d}dsjl^{%(h;?mN>?gxMLCYXm1O`y{QXxv4@blp6ZrIH6Hz&8{i0++c2OJI zdeD25D={5GeOMmT)okORJhbhfA8@TP2>qlDL6zoc$35e_itm8pJa0R(nGDn;aUgNI z9N8O@TCtEMI8=~2vGIGF%Rn=cmi>YGj?BF>MM`aM;EfVbsjd0(eD5}0Uels0bq7ne z$E_71lq;uq6Oc(GIfU(Fuoh5dLt%X}tUuyJsORSgChA)0ko#e4HstLe>f`0Fx(mpi z_Rnp$WW5wUZ5ojH)&6M5)VML!X;D(zDrhyD6g-=`Qx`cgU1kWfQSMm04TQ`5)bstc ze7XKz{I&-A;_E)y``UBR$kTfD4@)*rOtANj;#uY}Js|1V8w>)nnxmfH8qr;4A3qUT z;$2zKL>wooHN3uwhg)9k!ofH}r(i1F9La8aRcn*I^HlSQH{PSpQ$Oa7$b+u>iZLDH zzGs3`VNlR>p*T*x1~#wk=OlC}Ab6%n7SJN~EoJ*8!9dZ2pBC#w2_V;RQBteA%N^3@ zU0`GmFj)zOh;QEhC!_N{E#*MYPJ-1CdzcuVpmBXigr2xop!X!#EUa8NF~ck8QC4qZ zzDC40Xg99djzk6`>PWqKm62-JZAR&R+`%Q$L-(K(stSDnN?UyU*6E<`hv$=_)6PhC z24$I0sl2RL8WGPVcKj&{J|sHx_c#(9$NwaT`3EqF2@VQ)hFBSZCnlE)MCpuJ^>#c4 z)GMLitHV+dy`nfVkwX;pBp#2IV@EaKC))bstK_#6Z0b-Z;V{TY()FUS3QyHY&wZ&Yy z;w2?%Jsv%wyH&~YX)Dg|D?!R_2`qUN2yq@l3ndS4ca8iQhv%BZ<9cKi??+cX;8Mn7zo!yG4p=G+A{a2bdc}LH|J5YM^?cD5+|F?9U zO7X3Tw)`YJ>YC|};g_*@gVpMXq-NQG2S5kMC05X_b~suru{Mk{q1NU_(oeiR+aU*r zL?6pmo++J>M4Z7qjfi(#573T{D$p@f^e|)Dz)EPei4II2mtUB~i1&~B7gExc`{7KF zOJ0sThFoJK-@1L|&85S`%6M@rM_Y@dQ!dM&i?Sfsh0%t8-uRmsJ#l*BkMaUGW$1UZ zJ!uE0hxrTIgNdEFumhY$pbS!1wW);=QO}S8KOEjYS)Q&|m3orSUk;-r9X2(ohC+e& z4ic;7m~F#Zj&q4o?ue4)v8*fYmZwR!xKcv{?en1DvxhN6AQ>O3o74WRCBNkv0 z5^bLPX>jQ!$Fu~Wl)vwlqROAZHuJI#1OPxZ+$sm@O=l1k8bVoJYGms5QKR?`HwD4!17`~FX_ zO9k+#`cffgF~GUz&T3=MDU`uBY+@ho7`N@NIoT*3JgBw0mvNT?xz5XxBs$C~%%}aO z=t1zhObE%9&gf{o9k_a50)AuFaP~=lm2G7vnN~eN3&)AW)ns_`L&M~K`@U!Ngax^RXyI+bcY~UNHian} zZxK^FX&e4=ZJ$HDP#{pIR4QOEWy_=h+0hx5H)Zc?`T|@6e0Y6Z-2}kmNy#TRrNn!ymu^7Q@32kebqky-3@B z&Sy=tzVb{=2tAITg-&H9Ujvtf!R&nz3Sj~sAu$5};)6!jg`I&MbyoB^Zvh@d-H2(} zSjR96UoCtfT)MFs6`brdogysyFnAVL2Ud6K$3-cx#Qcjg!LY@QlDfmeaXA70vfXN61Uv^}P&@ z1xc$9@RW|Dk|EL)+yXv5$4ZMC!$>F$Gc2eL>+HD3 zmE}t$#J86tkYlI_p0+(ZDhPa@Qtp}73-?hD{`lor%aO@q+8bX3<2mg^H&#=jK^H|4 zvxB`74S;)7djE5lP|U5RUMj5Ftt8qnPeZO@|a@(eXREnntph z&+!Z2z0x(uMY@5FY223Vp5Vts$yH*Q2F6b=*|XuhHvBbNn3~jVPy{D$3T*)^ zcZINO2A7n*0c*NPIPNgZKCFvqVVX25{3MJnR7&SqsZ!rm=z{R_DIupv@;^Hn;8?Xu zQnNGq^9O49Lr8u|lVHd)yR@z^h_EFn$;vVFxT@|AK}!vlK+_7d+I-1QtW{<(Qna&| z;}mRE-2l6Jmr}5*vBbgaGl;9{Rml$jp3MF5YFizqs|nL3XLem%lx@A00-TGl*lf%p zW2T7X-g#yYwe2ag&nHyyd^2UITW2_;e>v5rCjrBQ3=7+pXL@`gUVHBh`1s;GPAF?a z0_cb@@v$Sn#sm)6j%bB#>E5F!r2GJ0m->Vb0|-$)vFm0!0f`V+st8Ty?RUA)A^5V1 zIAp>gwyOr5#0mJol1xMXE6a^txQ0M_``HM8O=pTD!3IXem8wXNMpuU-vstYo+MKP} z>T0&GX7iB)QLy5OUO_oimOuz|n%{~M`dtY+pU2>WL&a?9IV(_wn`smbnRc)uPBapu zrRy>B{T@teWo|IMS-68mg*NcxU^oI?Ir_~6t-xysIdJyONeE*UBh1MJhf7F)_7wO> z!qLEh@TX;2px@dP_|p;76AiO^Gw!a1i&xSN_BBi%;BK--eZg$&9AcMImqW7 z=07Wcn$t8MxOr~{TV&|A^x;kDM2`Pp1@Xpnuw73)lw8?Q8Id&ilAzJkXQu$L4Ys0` zYqaOq5C?1~DTIkK4Q;%z#7M49h<#i+Pku?d1Mu5hBYnBAh~@OVK^&=I;dGDnM!l3c z3kX)@I}%yLYQxw%FnZgo?S#RiXQjbj`b^VZ?DaVXS4$T`BOH3BD(9xhDEd!@3@-d0 z*E#Ux3fmL7@Y_(^2nSIH&f4~gvUEjdiC`cXJBJpc=--gc0e8Fs$Lm#aVOltNB;g;; zqH`WVY8Vt$X8>|8CTzrkDqPLR4kuF~Zmx%(xAq;ubUl$wcFj92vV1FgqV8v7^?m5G zME%##g`>zj*^OmLqt$T)Xa2$Ix214$9uF);g?{l%Xlfq~~C{(q?WP7u(){_hX@!tW`qd}R~(0yC5^nHhV^jTI89%-sK7 zs_E%+L|LJ*pgf(72_?cSUIfy*`BbLf0@(Cf5ro;(8A@08Ic&Xu0c-`}JH!@oLGVB* z-1+l%qQC$Bo=*XKz_GYH_r_}|7_kb$#m^-l~#kLC0+AmqvEZhPDM(JViWme zWA9SPj2rXO!1_y%W@*ZdkN*M18>HtX$LejzFnIDXQRX(}Qib*CWeXn#8XH)ymtVj0 z!H|q!xl|#SU-NrCHnzSr_Mz#=lk3^%6{YD|ef}Y6h*?M|cI<~UlHF&^KAKsEE_*#c zhfCM&O?ShzOqJ^Tbbz4|^YGP6I@_ywYegkR76=ibsqUM;sAIbGQy<+FV;7RsrG2K& zKO2|&WZC4nRpPN}<+~rEv(Oy!`(D zaQN1z5;p2ml$;RsBVutm$Y&7FEoNl_T3nb}1KE2gG%`H@uZZgn2WaS5yxb8LQLH{&|mGAkif*@ z>j7{!FO?ZUQ$~nA@qm!-9@~F?eX0aTx04$M#zp!A4XWJ8*Iu&zgVMZ*D2{f5q|1`) z?Sk~Pq|t`6Dy`%5Ea*k;gF9&SfdM4(LOShJ0X97M+5Wf$`(n^GBp-DwcOzM~7=*qu zs!#ca`>*htCjkTHV1y~={ft-pv<#Uisx$z)D|B{hf#mR$|t}4-|!em z0cd4>q$y5O0$dl$_X_~W%R|u|qD!+khl|?oa5TUj^p}+vQYUx*dPrialy5MQJu*2a z95TYYtN%0yjj9JvCx0wz+PNEmE#AUR}Y#Q@?_d$F|`4HwMJ&K)7$Sc0Y6^ znA3>%+3oY*eFo#5j5eZW;itOkgkIY%X~SUX2M=3mFBA-6tjV>ElkbSHCnnPxR70}< zp|x_;zdSn6^1PtiC3_lnH$SEea-9grjo zuUcF$%f4~niKK-68L=klH_KWW%!kt8D*YN$_~ipX`rDsSq~F#uo!@@R$u-_`)zf_P z7maQ?`Tdmv^?J%oPR!uhGMUXmvBf&JP4!9j=gqfHfCjeH%00wiuUii`ZBl6QdG_~b zD__U0HkGpf+$@ZR&h7&<7O8(EsU*+YsM9sVDKzyfOzOM8Q9W3+N}-bv*}x5FGl<$0 zGa7^cImCQZ!eVW zvB!2p^V(9z^jr7u5FING!FX;uH_or)IT8r@mr(rAn zA=s$QmN>96e|`Jd#PZW;FmS(}(v$meK9zqxT?IPXNLjY$VinkK-4Qru3$wnu6--MG zt5Vuv`-(On2G4gh8&8^p*mM7&yX#-3DFPQ#|YI?Frt z!^^W-(YZ%>z^UBN2BTxN0VxN4?$b)oqBJZxc~FGqH3s*&_y&BJiq*;d3S?G zw{K#zoGJSqedEq}P=pp1>Go!;33(%<>&ika=4Ds0TALC`9F$4S22!S7+uf>bnGCR1x0*rqtgqcK* zWRm3Rus52nM5@t&_9u54G1D`-?r|A~;w?KX?3p8p3K}Lw(pNziFGhx+g`({BaIdT(S9^6}_us zUG8Q35XqE1(==7ekw_+!d;Rv764Oalt7%S~0-ZKo+ffs)lax*?Y~GJvO4ASS5X{as(XX(5%uh z{pSz{G(~;TsiUcNL!c(1zUpD-g#LW%N&k_Ui(QWJK^1r2j5|@LG)|9%&xF1G zdwj^VW`cY9tPFQ?;U@#M*js2Fob`+_Lu7rTNYbJ{y)w~C|QOaU$4=&&wB^R;KjnB>l_=TX1SSCj)~Bz!po!5zS^k6 z0ZqlaPoet)2tVCrhg~>Z+8-(id*U>IAHiune- z%3s4KO30|~W95TiI3bwFQa-wBD#?1B^CeJry;e;k7gK}~K})+jO#0FOU&jJTrgTQ( z!Aw{0&Ca8jD{jE?y@|#(9}ihy*9ET)xU2a??DoG2D+P;SPO6)lfxDKr-vGW_;mt3z^fN&myZ)H`QQf;*F@>n4glTDD;QaT6N>tPH z@}hW6{Qj0xbQ5f%%K(@eIk7qsnUyo{Y;%vwyX8GMC>xq^t5otTZ>`N16!l0x30`u< zMt}ic)Ho)y{Td8@jZ+4~EXM};gVCvV)tEN`j4@*t`eR?@W9G&@kV4Wz4o14gKeXE( zyCeCq9sOJxLdjbDQmuO6LFv@Pv8Y#Mc%<^j!myxP#c6Xom!3kk#LI$6wqvyKX&)Jc zWLS}I45y@X5)gLa#}-eYs5ulFl`k+998_z&epe27KbQZsLw6yC8 zw?#iM$A(1|Q2lix?xpd%D#F)Ca;3&3O|~ez&+H)~W5ln7?u_bL=cP3-)(T8Tr$6l^mz07tgaiGN1Byv2mu9vm-l8n61KLNa)-J*!)8n8mgJfCr;a$3xK z@ZA5*M>#7|k%4+dC%7wJ2hyYWBpM_j>9N3r!%i?(l$eeoGp(s*7HWs2eT90%Uo*-F+;dNHO=WC2LGQ-RV8E&5m@=w>wF1`KCWqEutt=g?0|XRVT%Qq zf^oi~rzA?Arbc&`?+TO*iQEBdVOSoX-_CiwP>tqZgHOtkBSy6I8o z%WE_n3F(XB^snCNTUZ_?>AXp3Syxwd-Qf7yr7veVdsNz(yLTVaN>CksYkVrSWK(^S z29DZ?9-Q_ASx&OcxhIYux16XZQ^2G1!SX*1Rquqz?;99Dz2frwQVko1Z%m^G?^vD@ z=rU7Uo&6l3A)&y;lg4*lyGER2)2tcJwhkDXo+N^hAMc>~osB$GSldp--IKbfo+loKN z$7z!qe|#f0DqUQa87yIFzS}RW9y0i-Px>71m|bXh?!4q%?2|nCAMXO8-&eMJnkPS{ZnKdOC?C`E!6hM^KWF9S zO^z=$H5`ktS7TWeA9Ejnz;<<9%@R^Ns)Dx|1P>g`Ujp`ztGo;3_?2VV8qz?7wR?`8 z(9Hm4!xFU-!x;HJgQRq!+OBR zy(jpXYnOKQ4QyR!#K_uwQ z$?T$b#p39l?h;>ISL3%W{T{r<)R>9JiXZVhD^3knCP7#7`!NAE$n<=WU2<^{e)>VP zWVfo~s@1c<2}9cDo7~NGc*}uS)MKRphe<`?lq=^_+3VR#3HFQ7zQttxWjddn?JH1j z3t2yZG~4nMy#xMo2dWe9{Cl5Kc)=d73Wd(T)i)YzyuO4JSe36w8p{(QX6^-Q+tpNQ zEgdAB_qkmnF1qoy1d;)i;i$r85!-m5sOJ=+Yiecw6~Lw-2YYYg{n zlROIe>^5m#Yo~6eeH@^~^-WeSgv%n3G&4%!q)h&&{o~P|u9qp_l7G_(2Omj?Y4yN9ekQj=#}oCeGZq=}dd*79S8U!06?|HI;QsoZ zL-#<_cC=tP0;S9qi`=d#^ydBQGpwk=v-W(r%gLjw<15zLL0K@qd_d??|Ki~_jb?dbt z8TyrDob##q;LYkB#;w-hslw9co3bnYDjyZka>aTvcDMgU$S; zJ>R~1N{@z-VFve=9@)vJV}jnDQFhH)MhWlnx{ZanRVyOMbnnJ2TBDB!8*7J$Kc-T8 zT(T$Jgkb%%xy>Tfg<%YO{1A2|k`xrDzm{=T{y~3U$!XAtYo|*UjB3%(M(XKiKKk~q1zZ?Uw4&B^ts?rFT)Iim)AZbaic{zj0k7+ushFy0Z;52pFhItyaAHX?FTl7i;8z?wU7F}e z0wcv=ig-S07xpnY45=*mKOx@>uokAypz0uUb*s6nV)x1D1aKL|e-|A`xGCbWA1BJW zjNm*3vDC^RLGNl^yKB?6FK@LshQ4l%hNC}tLr>O-t0?D%9j2YYl4@oWM`ivm@CtfI zJ8buYcj|vl{tiF0F3*E&h$wPS-1=Du)oK8$_JjMb{xwqI@YQV4jO)g&cH6Zrg{Mkd zEj5&&pV(TrtIURi=$eZpK$=Vja`S|omSC6wcQH@^iM2jHe7Cx9iM)X;F+DzB(f4a_-;|$&3aF?2al5Z+uM6 zJn6qY?Igr3=w5X#!T5-nF^DnI9U8);8;XX`ZsTMAeo$4KI!?YBVy3NGC{!{vn!|<& zac{ksEL@d9%>#&cr zU`gX$rdC{P8eQ31ncvqe)Zm=jOA5O=4F(OqVSVpKv8oUKqA^Yi3({C4?@^ohk$vl^ z*N`gLk-hvMZb}NOie@daNA4f!W2n)neg8}236eY?~S>sm_*%S5&-XC zBF#!?`sjm@oze_RfREpqX6?aHJBXR{33FanA)-faqNDOxTkXquMt^k^`(JSN(GFet zoo{4h1eO;Yv?zPQCJnbqcUK{HVRllhYY9T0=>q1)p6>Y14B{ebT-T8WcyNmI3MCnt zFr782&tkYVQS4KKB5>`PUQj=*wQ)(pqX4P>H>oaTyee(&v z558XoYgW1}+iS_>s&nA0Rs))KJB`I4a8do&Y?fMo$&;}X;3QYE9pHqIpu4`68-NauRPa^ zOTi~YS?Pg0->Nrsb>8e1eadll&B(iaGTQLy^Z)0+di#;LJ$>wCne|n2*D@lr)StDc zj3N8-`W=P;sa{uj$qRs+cE7;e-4R(Vp%6fTYEZANq?K-Xd#Tcw5B z=eSZ)sRRwSsb>#hv)^M3PxH?wV69}@7wTZ}4?SegkuVk)k>>q8X=}ix^-YTTT-{|& ze^+1cY5dB%UP6fa+bd_E6{TeC|MmxX2hu_Pn3mi{NwLZ2741(Cyt>~fWuWK9#J^(* zyz$^kgg^D>w`kMhnRh1b4H9~ueWd}RyZY7&b7yhc4Ws&Cs@Qg)yXp?*_;9>se^Z!D zheFTJ*EP%~ckt-$F-EadSVA4v-Zz8X2UsjvpXNXQa@X>&HZ81hS!r6VdmB9uoIuDI zBPvq}up(3W7~d6crv6v;W%((vT|ie~zKEJ`vz2{_9CWy$gWbf>u_LcQE8J6(CSN3q z^iV*&=F-9)Xm~_7`N_yOuSFym_1){G|LSxv{!ow7#R|0LW=$dgaDoFg+_ngFL$tK* zmoMo0%g<g)NquuK3Dg|_FG+a23WAA3t=O=e%hOxXfKYXfacckup1EYC){dp^I=@J$EGb(9!?@ zDl0nTW>xx~=O^JCWdI*2&Mj>>^XzJG?+6|C`n+9~@YejtQF`qY`>&xsu|7{qMMWOsNJ3n9 z%+3&$-Zhb;6o(vwEMdc9f-Z*1XLCSyyE*!-%?};VEd@YN)wk$cu;&2dv;f`Fv3`oi zwMvkT-~7J0Qkp4WnCM%acMdbj{~h}u765G6o_XpLM4$5BBSBi}VG!ClTDIWxsyDgt z;|;12wu}N0L-<=X%5VhidK3b#I#?1F0iQF&Noe!5n(zi)bPzY;cvQ}di1+{_9~4)8 z{^SN7Fkfi}m0~krXTz_y(3N1(7z@2hjz5W4Z*?a_X4)Td-JB#V|Kd3zJFg*`jlA!! z5G<0J{#Fz9xcd3yf2DF400;doU|n8~ka~JYI(>V6=cPDzKGfH*0~0?j+ylLkVFqA4 zy^WcTEW_gmbJLxaUo*E5rWxhBBT@qYDH#2q;?bH44rjGpOCU+{me1<&<%d*U*?{0$ zMx^1#^y;bIY3S5{%idjKK9wJw-FQvAF$^rM$dtfu0f)tchk~C6xS97LLvg;ft%9M` zNk>OBsX+FqeSuyMUW>4#se3*T^`z@N(^XdcoT?{VAx*f?g{Ggrecl?DxJuL1tiJFd z2#v(diMD+9{geCO*DOOXeFBzT__LdLq+JI0CcWImWRI3k*400MY_9WY09iZqH!?^A ztm!j!tT6`^kTklyWyWhSH^VK|_r{~x@FU-kvj4%_d&g7xKYrs@Br+?6Lu8aq_HnEv zk&&{uka4o*$V?I95ZSBj>{&*3X7s;gYdR@=SRSe$w_Xo7E#nF-kc&81yH zdMqhb(~Ha6Hk@C~2>vsmJ#`_dh!DZ+EM8bI&@26b0*$UF$$?O-=+d}nTyL3GcWAVn zzUe_TU3OPhfqN;MUp^^1uhY%g#%gvl4wYD+T{`^w+-a1am%Po`w$Y|U5Q*?6Nubq$ zmojk!#wATJ`4#s}HpGtBR09@g+-bWgHtSp3>F=DL6~un^GO+lnx`Jy(6iSFp0#(1$ zJ;py>=t7e&Oaz-V-AfR<&A7-o+|&jklFRDPYP8G2#TwW06iUeLGFPKeoL;>nZuisU zQ?00O?ZilEiUEs5tbpmX_m;h>J=ClFL0J<1q8cJTj^*q?c^4F_m&3cDaOkTZc8xKFNcSUdBITd#EV#Rp zEH2)b6=6-rr6WJp{@A)oA$3Q8gX9D|{zyV}!OCFT#jYvc>^;N-Ujg7!3Fssq>U zfKm7$(tG+Tt6=}PJ1h(^4Z!jhC+NVI8WuSOZ2v@)$vZ#^4mtf$>Zdrc!bK-S^w!W~ z<*TilB4l0B;jRv`J0Mtn2ccSTs~2v~kNsEVCLzNhQ$W=oh|FS#?Yv&b^?}N6aAXQ3 z#MDffrl$a>cvXEOpX8jt=C$r7#a^TlAra~OClTJ<_7?Lz0EI6e2zD;IlakN2M{q`xBW`MA$8}C zO$;qI#tNm$N!J?(hthK+WKR!-2b?geA~)66ZBpEIO50m+E^9Ru8gG9O_kz-1ldnz# z6YmSM#1=}~x{A0O1D)aaWpG9sf)qmm`)B1EZf}&K7OCO0uAKxO>#r)ISb-dx}MZgzM@iV5q-#nw3pkgz(Tu zn13?w;QYmj$#&>Zpf+fAd}_<39*QZAh$4abZDct_;zDW5&WO2dfe5S@L`gC6CQ~te z0Wr7kJ7L7U`-PQdlYZR+##C%YI>xl)msq5y2ZcwT=DAieaLPG?&vHJ%G4k z0{XyP*Sf}R-DercMuTOK=axY{^Fx&3Jjmw#6~l~Sh)*cd4-x6lGi4iLS+snO9pJ>Z zy|Z!2=Bs0N0!Q1k3qdGGcnXg5@3-xC4}3VynXXeHeZk1ZZ^O@vZaTEpcy8eA1Y(jk zVlXAPW^8R*o`#R3)4ii4`r}{!La;AXlUsHte+OAN6{;kgtUaJgqu)g z@tgQ)$K*P2)V8b!zv5fig!;>H8kKkg<%Y4xWs3$pZI64abh8%eaLx|s_b%;R=~b>M zHmVSy4CR$2P-pIiA&E&|#5aIMN96Qg)u(r3F4eKbZfW~m0uCM$N{4-LT^bL<;s@SSfTX*l3$lA0NJW(KK`GkDVO)PM zwPx^L(XCga>T_VYYA*{6VxCl(`H(Vv1US*-hbi0|@W{&|2W_2P0xh1@9n7zG<{MTE zT{B#Vj>?;|nYr(dIeU`B3xeYKjSaf=41Kml2FhObK9+mEm+(d$Xjk(1*7V}I$!5%| z-BZ|ST>9tamZ8S?`RkFR2s8^ky|a}8oAAW>dcS3J_};jQHOIG`QCq*CgkhZTm>kd3 z(QzpnZYPk_d-@pn9g67B$D2jB3zfp)uxn|*bm)0$C0{J%lAu*yS2>@=1oyemYLUBZ zqP$8})j$QK{>~DW+&w2m?cT86 zOqTQ8Ru;YBMB`(W#RpRq3JIi?mY4_@4sqT7{hB?38;w^$xqrDBS}ebsN0Mm(EDAompjnIjbR%pN`w>R(1g40^>_1$u*SGn>7f|kv2wM%87-L@&=LqkXKRkq?~dsBT*&7}+< z&rOQ$ip-lN_w4uPO zNc=n*s;tUBC&kIgb^`Y=ywbxS5Zujb23%6lJGXU%Ny2TMgs4oI&UcX z4(p~8zKs3B>H1~ExHv{N#q)Y&lVq=;phS6((c}Pe-$|ad)uCdn0Eb;Ix5n`Re;~Y; zWLad+dG+nPdiRH14=6Y>m+z3cVn8MQOwEXUKjPBLH>r-Ct+DD}_w2*F6@`4179UzP zeCbX%HB0PU)+eiM`!K(pf~8|@R!dKrbSfOUPhJsvCzsB86V>t*6cm!|4d}MlTyAS+ z85}^^CSRg>IO@IALcLf@i{`Ef)b5mg``yHYvoWHbY^Ozc6dw_=VJ|u1Pf1Bq>R~Xv z63JmB>;#++BCzE=4HQ$+*SvuF#S%k;pG3(#6QRjld|tDcqtPz6B5YV9nmnM;_Qmnr^M2ki znAL{@XIn$&Z}u4#KU`^>HY>Q1qI$$@MH1*D?--h;58jLI5{{PycLq(5C)lE|OY>}Y z-5yWq;(5Vyc3YA;Tu+_3U8tY>7TWj~)P!I~5~^61Nm@ax9NJFteIV8+?_%%=i5+GA zL7|B9u1vJZE0HF4ZYDhD$y~p&+UZJMe=uTrdqf2mw$sAtSTGAes9vAAlM=DVC%fhe zJuBB82zYHE^GU95U0^GM(X+Cp-6FggfFE@xG|Nh}6x!Izf|ca!C2ErU8cMF8`g|98 z4u-!?|3bH!J1HQ3HbAtigbCTH7_mn`F>z(%RVpTV3cYk&vdgkNuF;N#nNy!&h1}EE zp+sFP&1NVTiNH+U8BI^dEzbEaSf|mqLQ!2bj?QR+e46dx+p)jq=P^ z6=?FajX=3nmsh24ZN6lA8wUPh=zg2X(#@%X2u7foS{B$~WCNyp%&tWNjrw?te3US3 z)F>)Dqb`kD;2yY}hU#PLR#|tg@g3i9-;EF_^@KO~5=KiPmz*h9oX?N8Z-kZe^VlE!3Op$Cm+t2A(mz(n?VKbU; zBiCWj7aYF#rgbDX;Z6R)i9>V#fP%j3Zj||3Z?KX#Al~wPTcetmLZJS1_o=u#fmNw+ zt4gE3lmD~rYiViGA-3JY&946MDEr{^rN+w%lvawio)*5xEp6_x9bJr9#s7ZA6x1MiEQsaoi0*Wkfc?W=cgCoqUQ11sIVi^Y|07A zC)yM8l`PE1S97ENgSm!8p}Dz`$=| zoyW2|yHX>OlGD6hcz6WH5-`6*$kj@kd}oD07Ofhir7K-f&w|ZWewRXvj8ZP~wwhD& z!FB9(1O%k~y7DA{bY(mBS#hNUb!*V5069m^2=ruR4?Kc4*`Cz1+iFp)1t=R>7}Q@R_a@ z)9y*MG*wd|`0s!okH&Xpc`eSg#a+!Jrbn8%%6j2No4-?|ejy2gqZbKDF5K!|NZ`Zm z?-!kv@*IX&-ib|b6*W|>E_Qn$LH9-94VM>IqkCXR&vu+vJ9L=C99kwJNE#1x@V6dY zS)&TR$4lUT#bZ7o@^5iQc-{@Kp(*HoY}bQbasCE+LR#h{ZB>oA^X0ci^n5eh3Ny+y zyKiae=c4Lt8^t7xF}SH8!jV8TP>@NAJjC!)N+OI}7dT+br4vP43%ASOX7_F1!D}kN zTCjXEmUM}a)O6qt*0H=8f$HkABuhm!UAIS|zBlGA4lwX|F6Zv`& zZ*Vl}vLc^hsx8QFu8Rj?96+R-pX@MuuT9PFaH0tVy#a-5*mh0QqPd-QSaAyEk zwZw4Du(=PM8W>CL*LJ50MFzO(a-|$hMsP>iOh}@<>v2}g^_~z19c?&)+1m$cWKVv) zd9Gz?{4NB(frdK@Y?m^m{wlNhO1yW_i)X68SbA^j+o z95>sdWW?j4ol7#)Jj)X_9ES8OVnOqLXOJ7C+Mt=dS1MCP;&RGs2!b`JmWeINCd< zzZ2m0f;EfjnQkdM=N`;+eRtZE(|1}%QXxWLX)ByG5>KU`Y}&-_GQ;m>B1(<0_Nnf= z^|yG>-kbw+1HmibgDqo{W~df06HmOSZ4o@o9%Kh{6wy3^$}tP9bb&JY52~ax_^N*E zpZm})FNp1*qhhyVl~D5SxE37qj$?9iN0QI#D~r1@@`SC@dnw)fbr7ZWT!COZV|>S~ z$TdAj?E8v$lov}s?B}CaKLkfF?BnzHd3+k_gL-N7wmB41<#)AGpOCGDkp|c-ywvmH z9g@I`b!Znaw|isaSy37OA^nb=jW)Xel(ah%{_U#1hJkfbuhYCab$iWA2qH`+ucwvs zN+hI;`?r5&Za*I!ZEuBA`ygQrFV8_cHKN7w4j!l5N)RMQrM311M} zH#%oE3_0?W-7`G+CfX}ZTkqaNYS!Fdy(l%1=KS(|A)C|pC|9})QZA8cS+kZC{41km zSGOJn+0MgH&FC(Wq%u=_&^vXY6iM1$KvcT2!_C?4!B59UZ4d9Lwu+7D5BR3Utqrhk z%hJvkU+q-3=TT)jPf*mThb%3WoRrgj9I2;m_NXW4F-|CVw=R~?V8&^6(1z9ea)(^E zTpd`8-Y;*zKz;=KnUP#2Rk>61Sn{OjX6R*llG^hH>f>K$iDdFU*YB_19D~DZxA|qk zldw&`I59R$NB}%74eRB%V;5?VX9H3uY}W_1)5>ZcB5ht{w%2d*JV49_`f#!lnC@Gi z>m_=%ORreSviqi-N2#IdM#juRe890mT4&5ej zsN$lr$2lh>>kGfHtrIJy9yK0nJ04!Bt8)3wHIU`#LaFIDkyY=pA=QPxWN7gLu{5NC zGiTZKPPw%{>WsDbRU6uOrWqgUfBLP@bBM{azv*1i$^PWC-dV8NfwT>`S*0#KU6A(d zwH8cI2HJ)(6UHrI77&v`0idzSf$>prQ#@K`j=SV)%uF`ufhyvGEp2$lsV@Q-JTt%= zwdy0Dt=;x5Y+1NoRXz^0VRPIN*(~yQn(y{6i1C>=j#HGHSPT8HW$gdAAIz26n9ph1 z<@^y*C`ylZrmz!D&Br__a3&$l4d}dv3C}O5!WNcqRq$2aN4SKQo>X*-g(>||KS*Yr zJu`3;jPNrf;3)S70qcx-5s>blzzpiGv0-;6OOg?QS|JU>}`e~w^P2XY8 ziApfXyx@i7FKKW0f&uM&VlH!6RXxIefkBN)vqOac9oy-eTk0K*I z@HOv`eyu+wumu}-DYcImdB(E);)qdUfi0fLhV~u|5@Ah-#7qyD-f2;oM0EKY=ftPp zKgsYmZXY&%B^Mt4S!MFDB@tXukb;wv9vRWMznuMW5#QGHw0ZX7L64{*d3Q-Ttwcnn^yQLP{r|=>=_LWd_ZKD zjeoPt{j0VghDn*R$~a!>RG}ID%XE0l=q?uhnX&J%*!1jjd*;bCKoI%qQ4T(k=^#`9 zo$gGF^ba>85A!LCN4~eZ0fN*brhs_r;H`93Ys|_@ z)6GVw!D8k>Zd!SeCtp#PcQ&JAli!xF&gC0@{_&Z<-brx24*J^OQf3BpOa^A9Rv)<2 z9OyO?adFFE>!GZ^YYC?y+O}jh?ylMyRyk?ytH(ob@Bmpz*%?6G%O7{r2&fLipq0IH zN$_L4KUxx~0&KTO+!0uFk}*A}OWkpC@?Li(9veco+#l4lX?Z&gzY41+K0@Y-t4yyx zzt-D-tL=(}1Rco!d*k}-jZX>AuxLM8wPR5BjpT1Q#<*Rw4mZ01^cr{(0b~?cm?bE9 z6$bTJKRNz$a!T6nf4dlwA(wo)DfBW=XolcaQNS(0w=DYHkSH->Xas@jOIzc`G05c)9-Z^_s!YI|#zcZAJfW^93#D z1mM*1zRZttSNpfox9ugkLoEpqJ>WY*=HcrEWcc9BU1@&QCH40uO9gOJgz(d>|K&ZV z33%lXHY1z6X~q2aB_VLD0lrkD{9m6F(x@N@Hhbmtt}Np3OYu}4l>FhO2Vb97ZJF-! z?}^zQ0SmI3+xY{fJ8P@FR-K|?4~Jhr_EM*6)SBG~{-0-|y(&%mcfqcaU%+P~lqE?s z^=9tN(g1pz&jNP&5+uh5=%~{(&$9%wUd72!R*a=lIuyn5e^z+>?}Q*L(Fn`XfSv1# ze$d^+G8$Oc`bY8+>nF6;NXX&YvLM(Y0<*H5I{tH^tEtEDqzb}*CD4oey`PbdGxfy{ z`$cE+{k^SYE)#Qm(DDN%Qjnie59`t_1(kC@TevsV@GLc(ELOKLo2KCrh4l}ORgs`g z+5DgRUtP|4P3!B9#SPlYirokQy*PfnHq|O|0i<4yS9DIx*JZzWxSK*X$EaKtt9qhB zWM|aM3rK5AQ@z#yMdlGrEAB3XB9&wMJev^PtoI>JSW83;{$+%KvJy{3f&$!v(} zys|87YrUM*UUYoKG2p+nQYGYNZq(&kCZ|x(A4m4|LxA7!z}?vbC-&#spG2n_XTXLy zFHvJ{U%s@pYG`n%ZW2;mlQX+7E`~Ga z2~5D;5|93-hROrE4r=s0F>zpoWfjzBNx0!ybckNM{#U;f*IV==LT;=Pe@3%A6O!xL zxP*PF7oV4*U6?=TSo%Y@O62btTcIOO;M^GI+!R2EYrTj>Ih)-sy3Yx;Lr+>bcalyE zYAIc{0Dc;VKTD@1%4z;*#N*eg81LH+U!6$bNR{Gjc6`4hT|DE5-g z=xBZ99A`u)i-i=6`5upIen#`3DpdRB+64WTLY&iOrzRri(v{Fu?BU|mU;y=EsBCu8 zA~i?>N}A`>;+EO=uJcsn^pv((sqN@r(^kc0;z_SYj{A`pB5m`8GwpMl;qI1F*xH#( zYt4CKl(8Xxdkr|Zv#-w)3mFg*JzxocLgw7;@$4D~kLxGD#I+l=Bss&TC;HE!v+-oV zFP&sqNE88$G_se<)eofb)c2}nm%9~%X7TQV8&WG1uxb{Z>~FnnyD3eCty>&l$% z{as>E7?h5S3P|B=^{TL9UZWMy0P&;(>2%{h4r3>P2`wq#Xz6AT5ZjJH@;~j7!liHY z$|t2h%Lz7O4Y(f1M8KUDLanHUy|=g=LM5p~uxFqdRR0ut0FrW~Ui~TMgz)euPl298 z91>4lni2j`4_}?AID0|H{{$jsmt#NGS-Ar8sq|90*x^9Yj`M2Z5!4g942t@&50Cm} z_NSJC*UT2^FQ&4M&{bagD|aUsojy(;X!Us}O(_iIq%s`-CGI)No)NEyv?RfNW5T=} z6Dbc#n4IKxfyd3U&HmF|5Th6+szWi+M)qjDM_qdBmgqol@L}LDpdJ}nzFh37v>Wc| zoly-8lZH-N^5souDZjjJc7YSGCg$3Cu4E^LU8o3FZ4rcc_YAuyc5k#39YLmK93V?) zrhq|m%zUhfOZ5ItSH!hkXW^|wm z>+sZo#!%XRMbU-p!=tBOvx0n&a@3#gyo-h;3nS5YBt8Goguo-$o%$ip#LIRUXhtg4 zK0u$H1d-Q0LhVdLf+(7G%)|pK*;_m!u}~$JAl?kmf?A z_qQ-%tzJx~v5V-8u$`}NO<1w9Ex77I0Z81G+Ht%M(>l6r>Dl<&d_LFztiOO>iB7AK zh1P$R8}bJ8*(-Fqlx;QynLxU5G~7P=mP0jh3pDe5DH9FM@8G0NHljI8kXzVj649rUnHffgM&n{1 z>z5Qx^mUR_;aHVtUx7XXSes|ExdghXSCm&7WgSM{^^LVJ8 z{9~HMrbYcbb@|s@Kf7R<)E4`)5Mt!9`OF7xzg*LfZh2@#c@e1wvH`MYz3B4L>$P zE^5!8RA&QbNWmojhuw#$KaRAT=_USWwnZM5`IpBHOtL+)wnNgqF`YdjT&dst#bD1h zSB`*kpa)XtJjxj_#;SA&nm}b4-sk9(K?`UPw&>ZHW!U~_6|Y355i(Icn>@?z4?{t+&=)g9yEw(7QM1 zp8;yy@*}erV)Wf-q-Zbx!~$BjezqN3GZ6lCcoX+iA)Oo;mpA6CiO`ki0wjQmF|N8?9+{nQR-i2T)%QBy#E z>OT#*SWiH(PQqvLDY>f(&<}Ynufl4Xiotslq3<}f$+{mv>7D*ZMxyx>Dr`uOf=K-) z{^-lXJ2@AHgf1EbcZK3}=g0NOO9FA_SJf~OW7~DRoq=L;xHNUJBUo7iRBv2O&LyOT zmq?KRp{hZ~eG#ga9X8;-s>qUflPC7*qwbfF6(Nd&$#m7Dl|_$w-@+Fd`knyN^Vb87 z$(OK*CXhJ2OpJq)7bHQgStxsuqH`;?a!eT**D7qs9-TmXlq@9EVJ7AFl@3URBCO(y zyx28)=U`h+u_Qtv6c}5MtB2{p(;^$t1N@oH$zjgt6r?Z~iTI#4TIA9GNX!$ZA5nVM)JInCe56Fj}n1Cwb*bq{iuPqTVor}LSxn%Ox;6O$)Zg-#^;XcBt zP7u+~IK3TY4W^9bnrx;+@9}PvQTWmg4O=KOx=gt0L}Y}8u@BYjdR6BTs$#u&5~&<_ z2%+;&p8{q!mc_dn5?`>XGJhu({5}n8sF$p0tc8PYP_v=5J5X_KL0eBtwb$BWNbDQQI^|xCGokC>& zA4MAR6=EtsvFQpz$~7r|09wnN6lQ!$yxCB6xH^YdBGdB=oMCw!wauWbQg3VH%eK%< zNuz{5^TZp3eQCn$O*R}jC=fsbwtdmip;RfM0$67oVjLN6GcQEZtk?+NPnzC|cou`i z1X4)ls`+dEBGvFzK*>ZEp3=tzD9ha6%_ZV>GV^>i496tMC43&Ik^SATnBx``(DvEN zVu4uvvwS(I`Jm$ps6f@Fc4qecR2^O^j82+bXHc)<0OZKkB$)*lsCp;d7(K zt&q0+YF7Q$-3dy9>VF>dn;WSWQzB3WM)UxGTNrFF%I`{8Z_g|N+JGxjRW(IAXyZ&XNbx_y&A`+Zwa*f6w4{crz> z5g_yhZNR4YgZSKa+?lRF2jL6aRsJ$D^jN-zs%tFzoHT-LjVl)~=#+QeK0dCoI62lo zd2sh&;rh8Ocr&!ZQ8=++JvQ*mFRV(e>M49bq{ z&wzynP7U?#g=Kq&fJe&t--f=%2l`J9e@txhIHs;4epmk0iZ|(7Zoh7-7_N(taNf;Y zRvp%gy-_w!{UKsr`3eeQuyUD?BFwka@jBE}bSKK`ujX=bpe2f* z(^#B@8(xVCi5klm_W2akOez#r8F5XhpkdWx||U8chtLlWEXtZwv**q@Ao5iI%*-6 z(>qSIGE*{gwtS2$#qEJ}q=amf{GB3_;(K>|=H16fRqs_-zNvFwwUqu3(74)oJ)DqA zuJKu;)*U%u~^-;%i%LMeDL^< zV#@04ZkwYNuTrU{Nb}(kXPsX4vh^!-A+pZ%kC(oM#*5$q8!}^Xq6P}H^zK`T?8HZ| zc_|i2E1WN(Iswlg-Q-YL)p3|W{pU5Wuojn?ccE#v+y~U2nR5(5Vke&QLdzMd6D+;t z#WqEhzQ1cXj8>$UoE88Cr%hpwsUj`bIJ`sVK{{bfdpauF6|UIuPzsV;*JJyo7h8lo z@D}hk(y#Y5vD|*$EpEKqR;cl%AkaP7z!dYnnd_jCV6xS9=`iMt)wXvET*266(RNb! zJ@N0weC^$sM-kqz1gh`ZaT6-QSvPzyx zhsWP3I6sdV0rztesDp|fTldy^iqfRGTZR$QOSR3dt2tfN3Toh1ol38_-8wqKugb-J zYJbVyo!ON@Hmxp~(^HRGbQKG9#dAb;8+MU|SLA$y1nVxVt}7ucYelO)?UK8bNLorsls4k4Dgk(p@GfKDY54^!NP0gRAJJ@qIj8LB5 z&t9Z3y7h~4x9IYteBP#zP;h@}kyj~VuH`1O8o_E_|2zzILDNzRIF!Fvax4uhE63soi7)?f5;aK#UNroSf|2Chu~Vpo2wtkUR+JfY<+Z+BHn2U2mM)~| zWzy8$&gk3DQY*2F^B>c%>`S8D?B90gHF>qDng};AZx3im-jv&xIX8pR)cCkn^K|iu zy|3mY*Oqp}LpJCRNYz?p#+Wm>`M)0#LeO5ox@uar7s@7yZQk0^A&S0~c4Haz$|y8a z&&n|bZ%Vv+I;(%HxA{g+@`Kc^p|wdaW92?70BzV4xsd$&AQgI4{8Ms!kV1f2`|c+-Y&8~fRbps zSHk$vD)gJq-wtjG&p3Yu!p$Gs#Z5S~w};Nppa+l(SeotK!c_WK8Ifq1PP?R}>ubEp6baG?p<+Mr@I+Y|acv`i$P}{~;Fm5q zYAkvz)n%u%-Z*ZU}#x!(sMZ}?l2l{+p6eI18_>DPxGlc=-u)I z>FB4>`(+DAY&+#|i244D_G_4wUv1{a&^EN9kIJ^D-<)LfAby?>Jt|)O7x9FQg$Kw@ znhm$v6Ou_1XZ?4x_nUo<%>{;E|1uMn=)@N!m$03q0!2gH7E={ ziNzLjQTkdmlr(gR0|IbiUG{rVzbpiaqjBlH!k-WF8K>KVmHnm6Dm!mvcxxHt*_f;s zyIi+RZp~dz3gYw)G1Zk_o8KSz%T)~Wg}w|+GKoD$ef_!fSVJoHI~bLGS`-0ypBu2~ zSnavpHo8>L949Og@(w;&QtJ-E-Nxe#??W4_OF}FAMf4p{2l?A7HrWK<;_5Wf45YJz4Vc5TH-}n9}+qdkI$`A2H zWrOZFwP&q0R&{@|G0Zs1aDl73F4I(+Sc~(8PWPCt6(DL^97BRD0O!X8Vf0uTm6_Zl)fAZSS<_QPpF)knY6$bJ zZg<<}aG~8btZ^%QF4=gV+}5|__SFSvR(}@4HG`_~oPR`&c`94jRZSoqqbaM0ne5Bsv zRVI|DOnw#6QFKhaQcg^IFEh*g9Y29n3v`9%;Ysm~Ov(WgZorP5@8e)gW%igIq8wAG z8*lXMH=6fr>8%iGJEuUvUW%D&Rs!&X`@3Wa{KEpOc_l#E;URLj{e@bciGr^^qh*si z`8ouFlTCW_5E1AI(Ce=%^lA&`?;&oHhRE$Ilj$9c>tsksGoYjQwz~ejr*^TUWM0~z zPht}^0am?YTt(_XKSC_uE(3U~THYP$tO3UBe~3Rz$i66K>VNBBTScD#27-aL;`?;D zHe&z1ywME%iSNVF4 zvsNM$=!82>ZHS!6Pl0hz44^aux1=t#PAV+6e=fshVzPiE+}+m@CJg=te35_r-LFbl zaY805pO&uC;)H;&^Ze_OhenzIP#(#j!;aFa=2j-a~8&_)w2BmP^7&Uo0N zZl}#^{+SEOONq7UI|!-s+vlUw4x@YVKVSFFPwuTr>$f2v_tW{I8@6<69_O+)n1wsv ztUgV9U->;(dhp{Q{Hw}yZ&mpd#Kxsxk3Dp-tEXl2Ug#JFWpE*K;bHL{zTTmXo)nlfbNH4covHctfE!RO-+1}M*$ z3PeVnT+e2gU2pY_;ZoPsxFE1jzY>*=`i~7eQs;B^mnM5WyLww&KGPhC0yL;sA9Kmh zs`O4N0%mM`oRl%32S-84Bp?e5mp0t^Yzz##$JT&1y8_r7A*c5L{|(dDb|C$r=Z@*` z(J{A$=$T64_!}Ct)^8JT0L=zY_v~x^?Ac`Ku#etS`;RnYBtnj9+rr3cRte#(XlTMjA7vk{ z0?5~i5|!g@*^Q?y+(&)KtFk7+5QO;0W8Zs~Cy_om#%N8Dn>G{Re#dOLcDR71qq5b} zCFg5BThD3v=U*)C0smzKLQkf;1^*)2fi}hV<6%?LgHProZK{w0r0vMYiEtHe>m+qy zcTs_N*={)BbmA(P_`;x+EHHBE>uIMN;tU>c9%X)(OZ!q->dc7e*HjUgR3TW!QOfjsv ztMX5jaO&FK@IO()J_>d-g3Ni&R%K^z8qQknqjvs1^&nq0Rl%H8Xfp{O8+;^Ro5&N? z_z|yu@>5)?#%X;%&}u&I#1ZksZzr|y;IG|VA-UwopD^KCGWEM%txY$ux_+an(4;bP zBC?9_t`-hfRBDZsUkhmKDg2|qY@uNt4xgsIELxYE3a&*#aWOkN6^xyf~N?;RjQVX{g_S1>2E&*&|a zgb@bNc*R#ADDXpt+<PzVVh_ zPwMlZgy^|TGPHrujE58iv=u4|9e)utxe94#bc)s zovDD*gZ)5}uQ(L^y9>;HdQmsLAeSiwE+s-)oK5e)1K(iRbs-Kx>Vcx+I;kIDb=4=p zIoH+rzx~N|20}#b)e*SGp!$FauLn!(Zgik7^IuGwQO_ChjSd|H5GirOR`CpgHvIbp zXR+1O^10ZJ-xCuoarGY25il@A+(GZ8^9inQhvm~Ph~N)_#jf!o#Og^SPk}%431p%Y zXF2-bo(RP&_C%-t&K$M)kW%ECKYz~}X!de^#R;f$iabBknIZh@z^P{<~JVSoFLq{M*BLebM%A-x1KQ~kl^&cHh+ z!(4s-PvcHO;M4c1O>1#`-~wUk$@AGb119)teUM^R4#b?Is|Gv|EKurgwT?S8H2OTsgQ zu^OEg5lbuHnX(V3Ks2-efUY;xNu8+nrRT}S@6NNynbXltV0O=+Q#StN+1)({u{1g0 znWj6?z;vEyOQ8=yG|M15hp+a&Y8-zGXTH%ew5R$LO2$QABl%(wMf@nCR|5Z_t6Cs=ATi}Dzfv!XU&H^B3#e^s6r~~+~ z+jTnxj?IJ*S(Rv$96~kU)e!4eH-EV}{$m(!)d!%ZH%Qvl;XAFujV;p0+bv0y-m`=~ zf9k10E37@BBq`s8gu|KMaslUM4;iqG+tL!FN{xmpaNr<$>;mGu;Sc-0O@1O;jJm%Y zopwwVMH4TWhKb3!g+_g|e0=#Hs?U2_gpust9{rku-0xZ8$}B#=V|dluRZR~E zm%$3e7cwj6Y$sH(?0;?-J=!eSNH{PLJ%cQvgQHNC>ypzHwK9`dYB0Ov(NpIz!Z{k=dki;{OR4w=2mB4(EqiP9QVt($)U9xVlA-9u=;XVJMya z+!&k0&I*LO+Y+vj#luN;frIku`r#s%Y;|U#YPf4>@&VxtoEr;=c#iduz)$V4=eLRh z1=uaGhs}h79|$>(_UWGjyy#Ckby59GkuHFJ3jh!C3&IoAZ~b#M{c%n;bNPy?JKU5rn!95C7Uh_>Jf_aUk&!PAFk?+HN9=bFuj-yHqCpwGE1vU;dNq@Vy;TMc!5*bt5h0 z>M2yuz3fj&5g$a-OBuaio{BA4hEV<8l3@__W`eDGo|($TCs0{%%pWVAKu{ z|AO!}k*F{htFm=KMWz`tUE!2ZCggm=nFum9?)N|r=?4M_YE(qO6ZGOY^GLSZJ8|F~ z8z)~{j~K#$qv`fhHoZl(aT(B}#wBJLkZ|xzuWOM~{VD~1Ef26TOD8gdB#d)sfBgLf z)&w@qpH58-$#Qps(QtafwdrNCPdB2ukS!{ni|j1=6LY;(hnp6f#SreF^#jZ}*n72p z*nHE=%z_YMHst`C>$Q;?rYR`UIpsC~Z4Pd{A~kly{cLIlp_|O5c?cH&$D157;K z6cpO=t`jwMU!0F(7-DN(Qrr)Q<W|zrb=q2+b+c}X!#&c2Om>0nkpz{r zI`R`}DnE;-?D{|$5bn`$ruiCQGH@sHt!(rkM^Gq&kRxBD>rZ})RJzAnyGzV_wNE>; zz)^jxfFf!Vq`h{_s}MVL&O!1RE5Ve!)0nJ_OcW;1!W^AS3Von-6$y}d(4pKF`u0(Z z*J@c;Ti)yz#iyn`9+cWd9b1=tFSNj4jk0cTd2gn0HW*j`kkhyOrSOfC!c$NSQ01_j z)c)89^6Pb!hc&%4hwbIcN|Q*OBi1?HM3nF}+J_W8U9dd22$<;Ncchz8z(IxbC9_WX zVIbzq+MI@DNLhL?X~DUI%Zh3N@Qo?J66K$Jo-APv1A;r zZp;D%w0`SS%{G&%DjB_&jU0a*$5zF8r=x#(*xhsznJ1Np=?xH>sk{iOH7dNpWEP<4 zpFy*MCTzSHPnr_Ky-ZC)=0U8NHHO-BDM`%yR&(m@=N}TWS32?OB-zqTnsLe!wQd>K zcyr2ou+^5(5G!T8%z|2svZ8yzeAz>NQS}$NWaI3=nLk2_jv%}V9qVTus0w6pG0F!( zDS~(e!);Q@fZ2nuSBIBHpNT*D_4lGDVfKozy;|3}HuVCMP%%yFr07=?lmxOMwU*4I z%%bEJ!%KDuvZHH~h0-Z!AAg0<52tvwB4!t;nFt?$IN>pxyI}RK{q*Jitud>lh(kJbClB0Hg*A6Gmq%=gOQdF*N`x(!+D2=lsa)0-Peu+i85T1; zzB=U_{;;!)bQ`&i2$T#cwE1l_0CYJ3HQSj4fT8`%kTj*V*L+k3T!(MuT5 z*X=wNWc2|O5m#6a%f1Np`8Eef4=*s0UXwDMsEkO?Fry2Ut1ji=zH10Os5EDEZ$yh+ z+C(^|&6W)2eBWY)^|5Or)MLdmN5hZlKcsNe;@UD&oiW01ApGu6O2?@9C)+$ZKyyMY z;Z+>Qb9Cae1pUEFF8F&m+WPr4zN+zWi@JO!t8{pSwfHs6uw@CyFe>|9{t))DUU%tM zUuN&im$aFPUc9CXujE*+I_Q3_yt;Iel)!Mjfb}Bm;dNy71J7iX**>0(!nXxy{1sw} zv&QNWAgB;nLXzoz?7BAqq%s%Ljk{hRG$x=3;=ZuK>7Y6yy;YxN{Sis`tE)C_w<5gX zxFRzOP-Uq^{%o&CHu7t>U{Tf&F~ z(xP}$*&=G>!tragg(rF2f)vbk7Kr@=+j)~!La(26Y7bt! z|LpCHeQudu3ZxWl$irxwXda&3IVHw|T&T3+mV>41g_O%W%muC$m#sRu`i>Q~Xh+=}%s+iwC{uqmXnn*l5ouiR_eWqxY)zG4EMC{}b~;^Lm0N-Rri z=Yqv64YfB6Zpr{-?Ct7!I-HhHLMF(00nrh&2>Sf#%?Bg|`2KwYn0HETpKo;~G*lfj zO|c2~A8p3Dkj7;34Lz8CDp;hJDP%&#b$Z)`slyT>T&0TA$!78v;d>OJ%jHb9{%pJl zy+mu{{yL+vs%-DW8?Ogj*A$JDZ+%18EDGgS)B6AXqsxRE0dNgh5thozKK1!#xz1Wa z-W&K!vmDaQB+PD_H96~sP{k&TF8VEnpJE1 z5@YWxvZFoK+P#x`INg)+m=(A5U^SbIvvT_Cz%Cbqkn_{0JN9&FmRF__9Yjm~YL;Y~ zwl>dsVI2BIc2uA$ukdtLsebA9myYsH$SM=eaMa=z8T+}3`Ekfm;0mSLYoJmCeoRzX zE(^YxhCXK4rsR6bpi%^$6Phg7&3RN4Vg)Gea*7{BgVJXrR(9IkY5bE0=PneEiou^a!5?=f(AjrQtMR>{-?uNU!Ws8!y6#Jz)24uJCm8P*j|d$W zZH2kO9`UA0N`avc$4OAU{dF(DxS&Rp;>-Ww?JeV?TKm6IN{O zMk!H{PDxR^yBk4?kq`xu&Y_1!rIA)<=osc)%YD1=|BL52=X1{aobzUndziIm&01If zzNKa6`-Y`CFlC% zVufpieq51Jv6j*Cvq#rmc6Y~%Jwdc-=YBpxt0mgT!DRCuGRoAdaW)^Z@VMvy)Q+)x zXPp`qF8fye7DBxZY)Q_!%qqwZ?hMtg$S;8I!Zb*_&mz|wT>Y~3kjD#?C?nV6JYT5N zbo_XFV|VJpDv|A@oRwrez4LheP1tG8NUXKZf5Ct!7EWX_qNibS5g0N#y(;Uemy8z{Dlh7f-$4E7}vQW9r?5_RaP@I;M%S zZnIT7%375wk@|8lKm`8$!f*|}CThTK(Z}G zY4kBW&QRra%Fi$O8%}G{rW78Jm$mq5770+SJ0UpMCp-{&L0%to3Rbc!6}W?hA0hz- zNUy~{z_sG3LZ*y$U+Vpr=)A6RmWO$!9mk@BBQjDR-d?&%z1cnno~5lWtZaj^N?QoJ5pC3Sgj{38%y@?;l(zWt&W z*0(MX!17-N7?eC4QXQMCx#7|k2j8!x+gJD33=pY^tTD!r<4|^B@=~M zHg=8Z=W^$bDYhPbSQ#v8ZQlFYAzQL=Y*Zjoo2!A#1XAnRVv~8(c4coIP2j1Ms}uT2 zt^RbAweGesjE9{;6!K#aoFRmFa_lbqSdfb|`pD$2*T?lqh>ATGHW^!ctjTWNG#j?m zQ%PiQ-LcT&yg-3FNUToo7vdIjcL7DtRyer{!(p=q%9 z#wFhZS%c zIg;Vq-FNS&_rRB`&V?N7PP90dT!UK@F8w~!b=B5MNgz_Y+48z4ul+qj_sIT(GjrVF zeGY_0>NpktyjqZh-9@>&zT*sYDbB8re#I_V8@&!SnVlmyAs!yRNj1$E4%+&p*{C;) zn|vQhi+Wd=6h$s9dwC2!OXhQ%C6){2b7!|+9J>Gu3AS^`c}^;aetx-Wyd__b-G}`~ zC8ZaN-#;_4<$ba!ofE$pM&07oA`Sz*d%;9%Lo3$E!KLlGqo~tECnvG9kl^4e>%#|^ESxt#uqvslhu&p zo+I+$e3|551P;F zVlU6kiB4`#UNv#bn9ANUddCrM-OpZ`Q~NOVWY?7Jm*LL92MN46>4leXyt^g8d+hhS zFP{x{D5cNxOjPCRs1hg!;$GkgqPj&%VcMT5(Ut7@zcLE^;~E$}7C_vI$Zn5#4T+NA zF|hhduL{c1jd`LEuC0?NMCd|$V~BJQj0oM=6`QIZZvWr>pLv~Xg?8GAHJo>;wRWUZ zPtjP!R`Xnw>qVH1Pnrm4P2ODsgYEfS58{P>S^NhrH{3c|#3|lhdeOX3OMI^IJK%CY z=Aidqnd!vUM24W=5ORi4F~b5f z$yPvz$bTzerlO+3dH6T;Xi^c8>qLw|v|!Spx!>7$(0LG5gPG`)FlbJ@zT1-tN|5Tv za%@{uKx2&ZUoB2~a$WenoHDjiilVzY$3OY*`!yYPXI?@THEyRIOrL`ktTL&~6YTDS zO*AOD&|L<*x&W6@CzDB8v&g8!|5jPvQv{}8Oatm_^Zpb1i5b@+Y1PqhA6N^A4qTt* zl5ZkQFi#p!5)U{&EiK)7$DAQlKa9$(a!wb&3f0dql^d24)n2i2kXm6?ijl7%eb>CP zV;lWYjRSyD*OxGqr(XYRhsvqgc{s`+;C9HX$u!c4@(DabKMFvGU!_J}r5^nW%K!*K zRqm9)mH_%;Ce!-o6EY8xJ;;U}V=2QKNy2}=5%LMOK#@mk;NXJbG*8moNKZW}qYtO! z5PE<7HXmr(CdV}zj{FXoHsbP`z{UMh_Ab;mQj#){m8=dV{;^w^`=55}Pr&{Bo%mll zm-8En8*_JCVTMZ^W9wt)Kjg_-OHmz;SA*zcw`4DW!A`*w|688gFY3fG-Noq+GNHqb zZ2W`&xklfpRLCa!X-CeCNyasrb z%N@Mgc}T=kV?SN}v$~J}`9GrDXL-We0D;aX5{#Lrhhnn^er7tFEsBu?{_~~j2f}|^ zUpxO;G7c%8$gb0XjpAh2D!@zR#^cxFefPpe^VBaOAVL-1YR!ek-!%cU~;+b;Jdh*?9u(k_0^zobbP zafLG6-W_1w7 z|B!#WvtkSB*Qp~c!xP`N&sL`pmtmV?C!l*7>u2zC>*qaIz}t`$>Prj3iNVE6Cj{_q zmt-!`=CXfJc$(<2^s)51UZ(vGf&FhlKKVX+vhqh#0G^)t=Gf4=`C<6Sby*(0a?Yht ztn{Pq{IaO!A;@sOpD)L7h5%2E_>b<@u)R6WBO&l=5edD}i=4Ak4h`C;%M_v-0JTC+mzra=iQ`-n2xz7=8v&cwi9)K6tz%O(;6CP1!vwPI?z;e-mSs= ze6$$Z_i%tYXvrch_@dPEQc-~kz?~Ltn}LcR(aJc33I1dB{|?nA6Yo|FHBcj8LSu=T zHYnv1LXEU()<`;(&CRy23DT0!-vD2$s~(&N!S@eOUgcKkfC1h{)OA8&``zrGGJvv!d9V?{>kgygjR05w|Ll)lpN};?qo4S9!JrAF zu=S3rX?UQh2VTNI+>j4~5TE0**{2KI&poL2&TMOlORb+sbbZ13^P=6%5JXp)7K8HG z?(J4IbF?Z@k1Fw(#Jh7}h+%1aW)yXweWT;(-uUnLo@f{Z2NiaTs^-cC;v(dvNDYJ- zt)mpct*Ma(-rolpOW6m1!TI^}`oeju-_L4*FU%r>Hug9$?Icn1&f?7rqC)r_OG41? z1bPallNbNqOY4zKh)a>U5iPHOT2OiSC^59EV3b$6o+KYVlu)He+>(tvJ$IIZzTsFS zA1DvvCV+hc$vykLS|DGl0T%;ee^~@qbx!d=eLAUf{eIYgKCUj$h4V1U?bZUPVFl4|*+t>ByE1 zR)qBe3f$V<|B!=TyhX@ncSUYlvJ{r%Y`38SV+M?|il#@`nbzI*^gNB?BdfbW{4zsO z7$~OC?af#{y9TvfVx5|PE`mj7;ZFN-=2d3PI;l|+E$c#QZ;|!%68jDK%sX;Qp^R|u zOu)=KpgeuOo?cqLITK*REx9`ZWl>Bpwevo{NB~Soh-}ESjXIU4fwbA{Cc7z39mG+< zcmO8Ev!##E;WO!Sge9qQC$8TDIzMjG-3qu3eLbB?%~&##pr(XVmwckVC;8%ldEZU_ zU0#lTed(7MIqpS6y64QSMnH9FJg4lAKrZZR2!I2JFZZ|KX>bM`H*TNGuv~v{tT#ZO_7UYU6koHszj5gQ=xzm^|*7qalK0ilng5ab`fs*yX1g`yfD zk)sVz-`hbcJ&!`~p8ock{E`7#u^x|=$b2-yO7HfIWI`f9aiD?hiw*ET!+w*b^qPB% z#=@O`L_Y7K(VC2V8mGv4FGS~UQk-y-8dbcS7G2NxK=yk#Yi<=>WzkVgJkkm$W>a8k zFUDdUC+l;6`wcd{%zZgnzq}9U5o*^3+WWrTM z$zHe|Y1o?UQZD-yJ0ui3w^pKYn_-LdcC=UDmfeS<>5e{m_%at0cQ$>Mf7kCZZHVU%Z$EJ z2;*0mw%%;JET9HexVl~GdU*lN>4*du4Qv z#gT{IC!<3FM3kd8%BPcy;i0*@iGR7`Z>cN3Ag#fp*L8PzaIBpgIDJ ziJa^={x1U35xMCyE>(j<>c{QlB~l-Y#{xhkEYcB}XV(Jw;b%jcbSR_GQwf0Ojsjpm z4Khlu9lm#2OO13Y07SBmvV_tn$bcluVkpXS9l*=?wg(5xCz>lx+P>8q5;Vq+^3GP& zbTO+2b_E#*JN8p*NFXRb`eRq&Z$h132|M#vbzHUUr(Kb^eJemqoTiI02w5CCcb_y(^}OU2l_y~a z?#Q(AlwC*LI!#&eB#~aN`<#BB){s>auj-*Cy#q;lXQkqv6Pz3aLNug{! z{bsg?dGThoo?ibwVK_Qp9P*r;=N&rVT>?>7uyf7E)^Fy)>0(j7M7wn z{Ne=QnAz72EO4!_q-9xbNVpNaMRic8SQ|CGhh;Y{d);oU@$KzK7gR1M!)vWN1m2<9 z01GBrKt@M)CEUz!fBX{1<6rfwgTiANfP6jFK4H8wPmomRy&euF+g|E^1>=Jf6h?uN zzoeXWwu&*k-!8t|EP>4!mCz+@V~d$m@6J?ciMi)$@CkX95+9!@2v-dyAz0x1&Jq(; zHq1@(X6|MrZ$b^z%dM*0*t6YLu_NcS-yjUQ-*^+qyI;x}9D&ea2?sE>+ktrH0ZQ-j zJIH0q-HyopI6stFOAjl>k-nL?^$9@cQ=F^-{w*7BnH@W_|N7P*a-;$v!(MS_zffKQK>#Esls3-kRV{kML8;Dw!vkJ0Dz8aQ&F*+ zTDRA`5;rdGw`{gE^mrcEGTIxGQ)=5r1}dqz>=xtkG?(Km5dz1^Ah=jKai2F$Su1)4tusXuleI-IcmwqIcRmk+L`?9@cAfDe zdA?bRPJQ_qbhAq!b4I)0Uk?Y}i%iD#U5dgLk_G6jlZRehaI{uif7zdR_VQOf$F7&# zP4Q9$Rk2BDzC~0eLaS*DW|(}#yEtoKz9s(#(UjKO#SOlick*#I`kk9zJ9nIjt0ks| znd+ytay^9C=RjKgGnW^uAdw)R(f??n(JufDpKN+lSxp>)?VxSt{%XdackuYCSuCzT zn9Ic+&dD~X1EvZ`5dnQ-_b^7q>|B1bn^U4sKw8RlYh;`GV(M7VHYR*{@?pXbAy&Cp~#SymQ6Q&B6ica0?HEH1n5BswZ?HJ$#- zW*}Q;1c97U#UAqW6vHeXXyv}^whB|n^Cn@HZ_u|0D@If8`>Ej-C$-=5y$Qf98tYxg zE8MeQ64D(M>qVjxnE-24d)^Y|+k5}LR}!mC&c63PYB^EktsO13URf3_5J>4dXlL$& z+~LF7j(UPc_wC8e$R21Tn~jc7b&X3OJ=X!n3&pa<w15oLlGMX#he&qw-pD&a(TI9D>r4|KD(X343rlMM?Jc8tKMn}0Fs@|T|98T{Z z;2?|7AnxWIv&e0_qM~t)ZP8jV1Fu&}+EVmQ-#Z}gnx&`9Z2j9*M}Bn8b%Mw>;05*)zRF_Vn@C-p^)o-4}0 zO@K>FgGf^ScbC4E?yFJ>T9~}orA)g{_EQ(+^?k?9*IV~gr@18^#!3cA2Usm&`QH7; z)>Y2}N9DwmT8B^Y8MxeYBuq90P3wL$DFGh>zij0)73@&JxhsE;?uSaPS`Nk}^3jON zX?Q|6X{g}wghKZDsD^CzCyZsbRr6p9;%c-@{UUTJp$g(8+%WluVNmE`mrW2`Nz#_s zf6cVdCNK+@p*g$ahb%c(ie*O%D+B#a_G7){sFy$d8~tNMLjxJ!{QU5uxLC|WT*lAS zy2zlE@``?LEElSQtxqkzy7_A!{M}$I`F}pA2&8BzxzN7JT zgbfF82X2BpV%TVGTk%43456gsVr_JmprWpG{J($o)pBR<4d-rFiyR6K_j)@tdEvMx zepxX+?ihC8H!%=Kg$%xmsP#hX`=?)*rM`-gkI@$sowiDJo3Sf#ZxSWnPj@=@9HQr6 zwp8QhL2{BctHBIAbq_g*EJNKV3`_KK$#nSuL(C4OnD&G+TEld#cO7d#0Xl6|zS$2Q zvmzv=u37r^=Ar~jUGNS6yH|4^Ob=Ll`KDDtzb^VlZo2{T_Z<~Vjxc~2q&9k~sA|;m zow#q8F9lO4(ql^k;R5K`Xedad7LDLpb-;k)kPtjDz4o}|QJc2T=g0_iWb2ly=mFv0 z@t6?Pt0yiiODbEwn&xKOR;M|l7mw~)CRcFhY$?7!$0Iu>My{d=54;{GGB<=@>(gQ<+=elkoZViLu_q0Y1my{7bZib`i{|6I z0jV%)5YSNvscF*FM5io*&sa*4GAo*lcSA@0?RV=4+*dy;t}Iw{w|^&3I;tp5C>whDv7Z9U^XXA|dZ)14!-m;0g*b4l@FjDGiGm|W&t0vabM zXyiL2iCJ+5xD{Y|&vr&};8GQFI`5B)s8VCR3P=(ra+|Ulox@RAWu1(HGHADBLiI@K zlFs$o#cFXe;1wV)8Q7h63znzyMg=C8wvp z=B&vl&!TaRq)aYHD|Ln%%^kfnFP#f}pUcUFXnv>HOrhJfr&zYvNvSk>g1Ir?_VD%- zMH8`bft({GWwgtGM-8?L54WWulGl&a?X)(@V&uXTkp;oehs2yzHO5YYSv41nYS-px zx|%zb?MBiUR?n*BTVmR#<~JUdu*~21ZrVyjgUc$|1TIam32r_#X%@>+%BhZT944fg zvsh59zFZd7qir&Ff-e;NnWovF;3j)SWCM2346D_A$Kg7d=LZ&ls5~cWBo;F3)RswN zih1MJ)BSn>lp-vRlXS)Q?0di%hfU}y?6A?U2AZaz?FB#q#GLIs9l~i)} z37f8SG`@~RQiv|e{%|H&Z-aS-!)wv3Y#J_$s%Buz!1Qh(7Q*yd{B|rfS_(NPD_w+P z5Fz>yB0%RUONgY7&P2T{(ZeI>d?d zYW5X5b4FAL2VZtiA{Y&fn*)R?`MZWNwjNCZZgbFN#qh=k^&vyWK^z854sW}Fwmte&ZCEZm~r>Sm4qUkObcvC|dkDt^9QMPC} zcT|td+W)n>6iiFm$C(FDjB<3ML82m=Tl=#1AHZ zdy+@xp2q&VF>?32tb$#k^?fGrs0w4>sb+-)>iM!Ulh|kMuqvrbh#0deNv|7##wYL@ zOVXq&n)5r?MatP{3u+JtG@l0Xf^TDa{448!B1mzAujbQt^mSiN2N{+V|t{X5*0}k?fFGsGLc8U77 z7|yn0XT@E-`xatEYH5Nj1CqZR?H1lpt4H$H8JPL@7}BVVr)1v&C+es3pQx0_fd$?0 z&3|(pA$kZ+zBvKs-jc+3ywV*AqFSPeKJbVies?W7{+TK8Fh@$fd-~x{Ok0#eG+TE} zn?b=hWOaRbeJjVqj3mc3KzZc=W^Aq=SB++vzT2}3J|eiCGS9nXX@ZJrdoV&@pTqDb z-qLn}j^J~BeR_S>G|=va4Ly85)(bMievU+8g7A*?UWXcYuGniInnAD zFBsJ9nXbO5q7cL@3<~VJR=Nl<&ORDCuyqLuNh}Tt4|H66jA!G_YC#Ys7khIUTd5qY zH#jZ~ofY&z3xWoy$^BY%-2D574;^@9(th41;?OaH;KVn4Bi5 z$}I3#=(wO?(1iZw=v%|zH*)TSV>HYe^#}j?nkYF>Xc#g*bNKQ14Gm~nR3Z?|WBbq7 z+|T<$bkrC1qcfoH<1g&C;5RcP(S9Pg3%Gs_hP6D&Pv2=t67zlCv7ELSzcdVz$O4X; z?#VO!xx#jNIrX4($0%e$J6B&dD+~-ZJykU}SMXfOk0y~Pj*j2gzJFiV{jm(>cET(< zrAGzeAJ+c5f8==+zhQD|VZ_uUJ+Ua^W^S_do>=G2Lsn)r#W#^pm%F{v&67jbz^lOe z^QwFyC3g{qza6i(Z$F<*gHF@dko?o1}TU@L)^txJ;TQ!sMP|-LOMa$ zp~~%~(!{QK6v1kYFl=TDx=Q`n1{xNryG{Yz(6ZQ`ZwT!;B0WL%Ox#&JH8B+@44+!6 zSZP7|Q`A4^ofAx-8!mFZ0p^|HU0T_t|Al#{Pr*(>%;HuQ`D$qS-^-XVT)02+&~)7E z#}Pu?Nasw#2*Jf?RKnrURZ?5JyzvygJk8EID$YU{B$O3GFYZ2zsV*v!DwQ!Q;ALVx z+#DRiUH||1z=T2G<|I!aH&DkDln`r3q9d^JuuL@nBuvAr@$+ILE$`3?hKM9&#KOC4 z=qRYg!q4hMh@=R^H;V!R%JCW|`P>4eQ9Zi72H>7^+egi{*#6L^smJc!$BwuQ{++rc zAPdjoqM~HdU}5*@>son7-nV0Gr>Zu%*EN&R)RUF4&WPctueM zHLL|12HCl;fi4ORw?kWA*xDC3+wm8_X|2Uy7LwF2G{GPz#Ok^DjeZ&j%x~0pz&?kk z9D|>#Wcy`{X+yNY+Ft;`)oXtnVR8zM6_GP}gxnY^KD=yEqF$nDKN_5P&osH=v?xZ_ z3`q9Y1rI>&S7ZmOP`<{OYDF4Zg7NvWHIjOXTuZq)uIt^F&-thy$`zhr;> zmPHwf&5}TMl-BxjJsSHy+|=9hIym6r(jtqs^QG3iYWFwiuDxr27ekiPHHU$x{%ZCb zl9c)PyI9nxX8t4E%ZR&0NyxD|bX5KWOm4N?=XU#nGsRutM_=7>5GuQ5P8!Jm@}um} z$WRh_d}h#v;ZLK@n;{d=&)ELYBBGLWvKajz0h!RqG#d7)Kj$JyPECN4Q%fKd&!LEO zkQa*mOsOOE zBv}J)f5QSoHjk<6z@2rlZtout^T_xhEAj`qDEaccN%BvTZ9lQmNy~_aR1XVT;H~pH zdaIuF+scf#x{IAm#hpFaiVZmjv7O1M8z7i8MbFSWS=|o;EB1hHM{FCMhL(7vS7Sfw zGc$A3Ok(m|RCp{0Mq<^}L73qNG(TUdjfZWl%4+PuHUb zfBhflK~h#EQqI+iLqlSyI}e}p=x$^geJ3G)kvaz&Rse5JHpOEUNqP+Y6(9BqH2a!G zS3mm#L`X<7J*etOigXzNDs0oClZ7#DXGr+F8wKs#k&Z;eG0 zL+-JM@Kol51>VTP;aj4^Sx7}mWcLWTTjBdB@hqv3y&YnX43_&0@T8aT&#SWCoj=B( zH5^%N!$-r(oLHi?!shN$h(YB-#OX`1n^v(m0gU!a9)ft>(JO1bs)w4{m;*~ z%gaYaJTJzNZB@5hQBA2ucLd*`b=to}1RRwF{YdXz%>hVEOyLexZ!vZ5q_P8#{^4c5 zTFqi8AviMyzyNz)qD@uWlVH6h{S|nns6+OTNT|T)t2YmYC#D1+0%elqHzd=HOws{% z+c7{@-_%{VVY}`dGMG#ztx&bD#Mj zLL`7{7WYC#8(BcrPtOjxHqZy=y5$#RpmJ(`Hc#c}Co>koS0oDDCk0Z1w#(p65|fYL z6{o0_RW>|(@!XCn^K~ebznC9T9VtUXSoFfs8)`E#bIF~@)Z9o!UG0nM=<~hk}&cN?9jgH+%)ap~hy#Co`B?15%&Ps16Ip z0$2m628=?AIf4VYS0|6~tOYyfDHhao)WOukRW{^{7yt%gp0wYhs6%aHHJ9O3o)fk4&ebm z+$W2H!Ei;m$TgCqKHeI&95wOfE`oDNf*34vLcHbxBBs63Q2KJlPXLm-0oP-j)kUCx zGcBp87IEJga|2M<&)($rxT)6qdHU{eK)tm^RO(-K4q<6E*_7&HET67O?*Wgq*i|3b z57%x~Yg5~{&Dvx-Ac5*G!wfiMx-DCaZ1l-Eu#x@(YRi|q9Ro#|*ujJGk|{j_pw56r z?g?t*g2U27{H)Kti5w*$Qua;-KuFdhiT(KezUm;0#t=Dz>>K)<^rWuC{^nkXyARRY7SRr1a(8adcK2-1nnfKhYLvqgzlJP z2C^siWk%-(lOp_XAzT?l&lPeT0gzX%9kjIDDc~>EOxv!WVXsik^DVyQ^D_G&nxR~CW5d>OR=k_34q1N(=7Ae zM?rkdyNlMg2zadWI{+PX*s8Gic#^Uw@Cj9GtPUN`-|W8C9;D?#2Ira|6!R8C}LS+>>LDpzzKKOZ2L)GV0wo5Hp(% z{fK2{qm%NM){t@0H1#yWeC@mHS0wRksY_J06;nR|lgw39mRa6#pZTEVCV!#+QInUKw&&+~t;~W<2l7G2o8<}#_DKiUhoE@>OR73gYI&+^Ug&~xS8)!~8UygMsk5{o^iOcE${tztS`wO>TH#r`q>v^B(mU(5i)s2^4!V>k!OhHCUkVp!}_kx+u zEM}`(uiL!=s&c;H)jJP}&x(Sjkz$~vbZL2=!*BdDBG&W@qi5C2!bxvk_E;gOz?Qi4 zJmKjJk5^fLrD$gm9 z4HPy=)AdUpD(Z*x3tr0cob~p86n?juOaRSQQXY^#6dL0-TOnNFpw~aM5q&1Co=!5G zMLqnQU2^2S1mNRt$1AC;*?8>rG+rjm**%klzFsdXeRIqyy-e^leAgG!oXmnv3H^)2 zyIYs8=)u*pv|uQ(z`HGbxOzr7)M+UfLU!e`E0`(zB>859;{B8KrRta%%e)2^6&X71 zcw&-}Jxg-)Q%*4~=w8;HwPj#^=O|Ot7Lm;?4t!d?9qeRn#a_Q#7Vky_i&CzK>B7a@ z_seAm@g~EcKZwhDy1dYD`f~f@I+((?NW5%Unq;AzXph;aB9gQOSvTk{_v~D2u^?_) zT$a6{S#P@k!nJ?`|M+p`u4)MYO6RYoN~nweTZ|DCB)1hLr{Yvmpwc%hLO|#{>vWry)DSENYbR+~_+&&NYU8b6M7K?N6X3t3D zpyhN~Mr9M?h0Z?l7HR@(ouA>?#g7WgE34RYj*`lHV?{0@y15=J!B;^go_e#V#@9<~ zVjkzIVY7YX@7TRODdH9i=8n6G-H+ueuk6p`taXG_*1Q;tJzzC=Mr2=Qe~d%~zrvLy z?dY_1kH(kJXwkpv>|-zu90i((R)7VZ67o>VtGM6wX;ot~#Dl5wC_-d_$r}!eR zbF7{)ek&`#TZTu;TC!>QrmD^ArK!BN0u>ZK&+nbFlSHN)RxMQNtA(Dr%HEOe2)r)W z!ygge<5Dncq*?Vo2J_;oFR{7xm=-$={hRkE${aJ~WZaojSD$>zvEAOf?UeFLjF5tj z+Ro+xqg5{?uxN@#FYrQn_qnzW-r7fS3%s>7 zIW9m@0=%zJsyEGp47vyHO;jl#eY7m^5cS(z7x?al@$|o!+1Dz4pSk4{7(e;LD~2a? zO_|9oTPF0ZpnQWYxoL}2<8Izrl7@H!i#iCtCD40Yu18g1mMn8jFm8-S+P--h2xm&< z<1wFQ)MV6I>29#ImEX4n_R5sjI-%Tth~kIzw>!iwsRmi2z@ksA`4tV5rOtYpbhW(q zGalzxXcZO4I>Y=_~tIeat+}xZ_PMLOz6ie|WWm z0A)#=K79x~SUxj#YQ1o5@_?7n5b{F1C9A)PTv40r88(Zq)M?R&;!NG01NYWd|EsHc9FX4S< zFL&JOk{nvt^8S(V8VhW=>^UM)240McNJo$>!JM^FHYq9e*Cc(ewQXeL2e0)tS*2Tv z^Y-XT7;h9`Sti;ko*POZWF2^a5F`0(&A0QBM;DSMQaIiIXM`)qibM;v6) zag?f|lsZB1XZ$EZg`@5VWBlCQ4JvoHG_8hZ7HaDr$}TaRt+rCB-p*>!2zqMTLtHyN znT~43CGEC^TX>pV0~_(2rzy>KR$xZ9vS`B5R8vqr-Z3Tv#deA3-}gx32o_ITM`NWH zwe-B>IZRQvL`?jaFNut<>PqQ-?xFZl7VPQET%wZ8_q;a&-Vjl8_kn0ibQBT+N3M<# z;cr3~HMnT4lyNqE8RG%&MBj0R6&|wpzT^0eOmmOhR>j4RPn7)FUClDD>6N!lSC;tq z^o6+P`_g5e*nKk*&dAf1vAyPXCFv9O-WB|0F4}Q@-;Y`cI(5hbWH4HSmy|J9e9@S$ zN=@$@0g5wKOx}6=RYdBAlk*;aN!F|j^A0z}vl5bJVy?|aGxvn-btYa}7~px2)Mu3F zScf|TNA=zG8(tdH`#SzV61#Z`tZwxMje*sxxTGq5f=+t1fcP}$eln1d-MHe1aDK`N zI?jOQtV*PA@I|?&!z0Xi8r2Vfw&S@;pkKG$|$Dm2AEM(vc<@aa1;jbmS- zgmHGbB{5-yrVNwrqO>nN4?_rnXkA4Bu>M(wi`^8sp~((ws%ZH}<7+GL-9v%69g9CT zJu)LZqxzVerkC}EwS?^@*%_bs9t+z{fDg_G`w+V)8ihgPF`o(bH>F#5IfnSbG z&`&QCmkbPk%S^i-8A}@L3Hh2^F?<~?t&Ur20JO))$9b&qg{w{>V&y$c*F0|O$f7^A ze!AxM`YnERv0pM7^ux7NUU_N0vI;GOqt!B@%5ja?r$IXW;ER{&mkuZ-p{&}-ts={c2IBJB9TZQO zyQMmHL$)G^Jg+zrh*b<)46$C_XnlF!h>smsAX|YG2p{*xY~_?;Fq$ce zDQ}7I+~A|z@6;AAD)XAwoMT#l5)9Wx&)oD9))Edv?<;2AYD(()bce{~| zw3s zKbqL|+#yQ3K}K-kN_bw(SnOw(yYwBm?ugiu1d=c;UXCp9(Uslv#%S$ZE{>|>H2CTV z+Rmf;;&z;$l`_d&uPDwj&H5a*5X!`P-UMqdS8_zG&NeUHnKw~tONr6;8WD`%SusZ^ zoVEKC{gDAhtddjGk>Xu*`DICpgrN83S7m2zh4S(2Ve(A`=M{9%;6&`tE@UU-h%6H& zRiM{7c9Pja5o4DE^^*kOJk$i#+z8ip*a-(2V~Cq+AP!lS!jH^5T6IyW+xq_Ha4%gq zz5O!8ZN~|6FZsF7P0xLs3i{_af=Ka59+j&ZIJlO+C=IIYVHQFT*UIpC=^@Ic(gBt| z9DNcj3Kv9=OK;@2yR>&Ya~?UH8d{6ksjo|V^@x*#O<5L=)8aSWwWlTbeG1%95V^Dr ze103se%_KnFmAPe;;o1ek8G*m^vZ@9Rt>f4kP0l~tmoQyR)=0q#e|7kFX)g?2#hQx zKiqPacIG`AMmhy=k?Cuo6-G*a&nF=a6Drr;2x6p8UT29dx10~PY7EhO_y5H=MzrRS z!5sCZ@xF9Tp^54DlYOGG$JdYdXD~bl5Baq?x+=_LHCyLnB8O7wy|wZ0WaD(v;VqWn#gh-tj{9^zK?%^NiuE%)Z0HpUog@2LO(Pgu{^tN)OxZV+w5&uL!YB+0c9$M0& z1pP-Ta8kpf7YlyLe*F>f)?B$eLk^4*l$@WY?$di+2=@ywv^%R01H5l#LJECl!G7HpIPARB$Y)PHv?y|c3yOJE^4W%yg}4b z_Fbgs7wp)0-&qx4YPL;1-b^?pFQtom@1<+O(w(PsaZ^LKQSS-m=pXpCG2jW4XCp0C z{tI?}ULj~`2L&_U4hts(Ydo;TLYL3|R=h;Lz-E%92l9`HFffcF<{m}~f{5)t0nHdg z2B^~B+fDm~xEUPjZ{1#Yv_qtM#X#33A>LOn<86u5riSM&m8{oVz4~;|&Z5jsW#27{ z0-x64e^C>oaJVDxz2obz*;!G_APl9~dq2Ng%&>U}2ESZM^H=e~{e$7>h=IH!`JJujYU;_WuDA6TYXJ%)3Lw zSsb-r(u~r4qW#8_%knHL_e6PGv?I1QY25=G?(W+7Z>4m7+FSP@pVo2U)0!;&=j_{G z0}!Z|_5a-YZyO2eXUFRnR2EN>0)LVjc~<&rtt#fQv7cUtJ`LATPsu`w_^$w;R?bt^ z^j~_wr&ZTamuYkas(i0m&YWDW4?iBbqaSdH#9_7gD;>iH(y`QPU8#R?WVx~v6)Fu0 z(5glQeu5&I>Gjcz5ah@_I5kd-(tgFq-)XJN6OcbNat)5?@1`~a|Qa@VZUf_?{5Rf}J-$8BkG=GbeM0xri zfIn*)aq02s@%h96p)iYGEiKOA^_1b$x|e@w2YLphP)Z}cg!_ihZ}!^7jW6-{E%wMQ z&MfkUAoLj2W!&lCjMU60guDW%YJQ$o`ePPm7;ePj(3MKtmUix*wtv1Nnq!OKOEh2d zM=JnhopLKGTr4R+zcaj)6xwRD+4aR4d@4!;k4`%;BDR5o+5m!ejhjEC_&Gp+);{tq zp8RtRI1dZxD0{=5PP%{KSMaet2yyn=j`%F|_tZW_;J!(_37Js+g^j<4fNL`Qa-AEWK-V3x`xcM}gzM~pdA!(6)7snDkA?WfQHq_^z|citw+tN@en#`jUly-TQRj2m zegCM`V_gu<;2&k&%!K>+Cbx+q2y^T^doN{mQ?~1+QZ7nyiEt24HuNWSQ|KousygI? z6L$dU>v`T;`@%(T{w)U}tk4zZf$iU3xg!8rXS}h%ydzC8sPFeMGq@>q1Yh{xrp@O9 z7VaJ}MG(bi+Oc~-{AEGT;RhfvoLKT>K${?K={(y1trm2F<$!XLIR5v!$jiN4P?x$p z00ax(u%OeH{Qrzio8|MzPym))>ji514RnPlE2_d) z;WrxX-Fo$nYLf&;Aw0L(H=Tba={ny^pBn`Ba+$wX6)#p&Jr*{FkYGgWI$#ZrJZe&d zK;IO!bwiT&|GPu=jgB?5i2uvADY)^4G_du>Q7c+!)^k#=$9X|&r1Fxv3f>4 z3_)V^ou6Bv#73(3=*5;WljJBsJt}SMI=b?`t+K5LQzCj2TN(WKkO@OeCCXrSwhA|z zq)P?MJdDSNrN3kMPdV-^iDK}js&WB932}9B{~d;Fx{8Vux3bm|e2=!ozf;32K?CSw#Z_iOuqcY@4D zhKzqT3;*$Gm4G~2O*r(sKQ#ezQF>F^BhTD1RCganL7Jfp+TmEnI+yW1y>nIG!U;)C z_+AsO9LYgj>Q#WymUz_31}zn2Sl&0~yA?&Kc410RF&t)>0p$+#Y7wzdGsM9T;`0gY zVZ_YEN^A-ZZrn*6Kho;_F_|~r#l}&s$fGaVeI$nZw|959t+)-@FIkhLv`WMmxWru!&aSs^WN%4Kzs)it76$p5WgiCJ^-X&De&lxfMI#Ul_rYQ-#}lJ zqAtBZ7DMk{=#9~tD4z!&iK`_L2$t>Bc~WLFz213p8CxAwFMmGD35`B)zW8;0o~C{6 zHVQK$HAw&%kZCdx1L%zBfUlV#b5Ipq3=xMhz>IQ;6pyln1B7_}5no^cqWb^};5!$p zNJ1gK68&)XgU z^M-DTK+`g3O%zNL0bh(RI#;ODs86^daG+~0?y6FDt^%W5VoO0J`i~ydNCMpdWPWmM#{XB&#a^!g3^aC+nLyO!RI@S*Y z){9dIV=hRN>=b+lv4dG+9S0!XQ~(29f_uCn9>xqX7C=Ilr?vgUeQwLT0fEW;#tW1A;yc=B8HYY`D%>hoL zNMAVsx()pSy0bPP$crnfW$yfuse2xvM}win0Np!?T7RU4+I1cHKlj{?`}VXj8ol4rDaPfVjzafI{2xokeu@${T)~X`_iQ1 zH_#92`n780zbAuY3)X?J?|`jG3%Rr#P%_T_0SaX0(f$x_Vm}65=a)r zU2O>?S%;l=B&TFO?d7O=9uu`#oVEAx-?CB0MVvcXZp)pw@iQ)pbr$kkD;^8;F&sre z*U6rK7gz(Ug%)5Tag<0)uS~FTqA<@hb{lqlv$94Y4?_Z$!hXlMYhvUi-wC$#FCZdW zCSdOD=FaH!Qrgnr0M9iEg>X(NM^8iF#92v3yR{<#@BxZ0QL?-3BwiUew_^{2`)xmm z6lJPV9VKTcy+?eni$MMSZRU%aDvg)UL{8+8U$GSKIjFd+0k>jH37~1Z>PYNV8NB&c zLWHYE#C6W^(7OBps60BXdKM%WKYe#mJ=rUf%`Us0bg-1S4K5@cKM(Xhhptx=g7QmJ z&ZRpb;`f2tGm!tWWI{Z(4csZ#AuG48Q2e)zSMFg1zV0Dwdu~R$ov^xVX&T>*l>*8y zlb16?@&@cC^cj#K^f;QxKCT(Skg8IfkR93 z4?xH$za*(xq)GE+%o)}B}&SgJ&Yww@!r$PdEe{3 z-oJi-zy7>k&peO&{?6mRzn|@gLu{`fYWYy}f2*4=%Gl*;`TNVjq;$%ixJQ6+l=pMlv8GUiP9~jvjqB`M`M| z7?Z_B*oMf2$X_=ksuDF|&=t?Kb~*J(rq_WB8RlL~o!Vz+%3sD*cNS+m)+9_@oDa48 zY~48QBYM5VQQb3|1%|Vf4tj#R`M0Fz#y;A|&ZXtFtwe$t<~vT`W;Iz3$@iIPp<)ll z?563xnS#}3KW~=1_WgPw+$`*M^3YF8>!Q`vSylmCwc2 z{JBpP0IbQ#sjl=fWqZpapS9@};(Sg~*8zWvc;7r?z?;llY@ntB+-*<&|oUCP0MQzA+}wHuXx04kdzcNq74WeUq?p4mdD*S#jX zkxc6oFb@{2qO0SayVc^$Ye#NryrcFqE2F<8cwUp8o&e21(&@htdst+t&my88>AeUT zdstv%(l(1bBx)`(e5YJ@1W_^AIUql_yWiPsA`X`qR^+fReUM*48eZO>QBOxn>Fu*l zLw@v1AgtaQ-V_}=TTPw$lM{0Mu)r+?TF~^vNM%FqoOuE`tL!DLVzX|LzRv(dObUTA zO)zaDi$&;%oXhW05y%|z?*sx_NrUz4r8S>*-=5Q+t+>=U3euPsaFP;-iCeo2X4M~a z%GA>xHUO9JLWD?&XUNwU(N=LTE1kp<(*Oa+acI^@v86=VG*ez;5q9Q^(#D6I+nOoh zK>JT8mcw?}0kA2KtT0CBZ@{DEk{vv*qJ8P8KaQNlQsNt+1A`X@u>5KE+0*t++Q%-l z=B0}YzEepLy3oxok_dLYmrokyo2vC-4(|#D3qXj>aNWquulFwL65H=xDkEn#UL=O| z*k$*s5?t1f|G8$}&tg0n@UR`*Li6C0{D$Fw6SIrZ`5^Ohw>O7lwvu{DkPg1#qC`Ej z-yL5V=3tN>4tetD%-;1Dt4}Ss^2%HYs*TcpGper{ za8GmEft$@pg_;hb<3M6zdQEsC5C3iG^M2Z=Nj0UT#jME4@ub6No{SMeifHw@sU)W! z@{}?azyOeDV@(A&)QysT*smq=lH?xlsYZ-lVX}sCNQfOAb73`uiIMh+x<9BMNeC~WfsjevA!vkR_7b6 z3^5(48QAF1t5E^yC6RPR{_^6V&)g9qi;?l1e)5{KG`PPbg~_K@P9-w)J>DzRRe(&W8}x=1AhHyQ^gtP5e5}UmyR`oF}#+EWJ-I zT|HlCyV03PN@GDO(ezo=)AajruBjbB*`1|4mbxlAF9kN~&+yU8N2>VWgj?<}F=mrm zR6oYdD`~h@mpeJC6w;6kTPV4LrxDzyTh<|{xsu{cGcp7-6K6^Bdm-2Yp*y`mTOpaF z#YOyCl|QW?9*gWw(p^E3?NY+{3fwT2jl+f<#9~ZZmw0rnMYvJQYAEIog26E%eXi6U zJ5E~1{s75tX^KWrvoIB-31NVlCs>NLc~>;#x0xlTBuv8&b$!9QtLSu-pHeq8j4MYQ zSAe_nz&p~!4+^JDQJol%^qQ}GN771KOo=Enuy1CUc*hWYfv&P={ZKSRyf1S}k>z5+ zl+c|#E5sotT%qXxgs8E(l>=MP4>jn&GvwOzW2uW;-Up&;(y#f;AB(0OU*M21@MHY7 z2aQPXSQmlw>XdY+EIYdAkIB-Eq`dMs4z~f3-7oU`Oi6&Ja4(yz%+OL&RL6n5TK{zW zEzb?XCP;Ox&anQTXq$44+VJCXiD|GYqyRqbBV}(jy&!NloK3J;I*JRke@Ko{JLdCZ z=#Z*T$h60XU69hoVJn`|5V0pT+X8}ViyYUB7qZdN$;CXWx~WDTh(bDuXj0b`nMKOH zTDnXr0-RwDZFcvPs*yK`H%G=_*Bd^e?p+W0*i|NkU-1_hm_=v?l3{2nE*UcI^xh6R zo^+OHO0K!>FL~v9bS{JJZxVF+utHxLu{7xHbi&m>3F zTNy52Hr|&ssWh@I8lqxwVOG%*7Km$&F2|$3#5?(8DQ4SWrA9jW-PIhGR)#ZHl8{fs z^EY}l0N_?2MFZpw-R^{?`}BwN;^C$;=zA+>$HJ7-0h!fAZf6g~IAlBiyI)CL+DTX|O z!rPuP&g$UOzbvGJFe4s*vj2yIT*9JcO3@iIgv3QM=u3FQbT~N{stN_#pDV!ngE;#R zKf_=@%Ml4zA6IJ~#!G*0Bp?|{LoF3B)11HvAxuk)i{dOJ#O-Q~d3A1@(~ES4W6YZ~ z+Gl?TzGfXVQcOluYuDS zM=w_U>mb|M^|=%dC)f-3V~RycLjb;QRo z@F+}PZon2*ifm3H>P7|9rC{vassdTX0)=zVZl_N861(KvG-fe9Tc?8~?XxSiyu5HS z(W+lh?=m=ICf;2icxs>ibOKbGH|j|MQ1pVR;mM6HumigfK`nLHj}0w; zF=@OxQ^L#_+DnL{Kq!Zxx4iAKbwPAF&4N6G=l%#Wc#C{dshvmN;poMjss~ik&%#jF zR}+eTE~u{RpPDls>bYAwJBCFUI8ofC!Zt9BJnpILh<(t1!MEL+liTETxZgpAOLoJwegHxAMUF%K&D3{2<2%XMhA&LH#s%M@*d?aiY*Y0Wo!bT~$Fg{i7H&y~(B8 z1WAeNFJw%<;{F*k_{r;hRBbWDO*{pigRn(#yZVezMJ^UAsHe3V^pUrxjE5pS%KRCV zn|YOQZW~8oDBnG;q!dqYRJP`tF~Szk2mJ8X zwm+VaeBjC>wX(2VRVttesbn11GQ9YwdHqrxt`#eSK?XJDt^+!B*5Y-1b_~KB;Tv|B zBy`*G!`b>}OTZm5!{_~5nF6>JcLPU!knd7Ezh+|kKRYg??OzsI-9OJrCw zyfng>>ZnfBh4U)NbEDDZ+O>8OWcGJvC#Ql5H0E)b{Y}o?k22Zl14jqCG<>t4R^8sJ zu6a>vAB>`w@ULU+N~)HvB%%!CzRzKM?^xm^Li>pk3#A+pDww*a@Qb~~rTt^WW{Yb# z60`QI5jCE}APVjsK3TZPcNw~icOg`^uc>m+1*4?dCU9cc)fln@5kC0=T0>{}U6%6Ny9gerKKb=aMhBni2UWXcL{L8b*GSVy3xtlePh zEy2Iv`c5AX#sMX>EYPJdQ=G8EAm#KiQPJsxnyM|_KQkre%Je5}G0C}12bATj8998~k@VYA^;j*2*wx%}ZyLnx;Y$K{bt*s^%U#agJVo)orm;x-)aov<)^Tm0jn z8ur|Q70->Sz8P%zxJ$3&JyeIDb@xsAEepZ*A{cLI0+q_=L6bTo+n)rV(5pTEiRc(z zbgJ-j-Ar)pA#Lp7)%Q|QAHK|)f3Q5ycl-Pum7+P`3iA&1>$?b?o}0Dy)nuU?_5dU9 zDmLKMnN2nL}15 zbn_l{P1{_}b2TBZ_ErZy{j$na|7>c;uwomB|EAa7K7-oMg+g~+69P`dWO2KUiQ)MR z2Spz#1Tjm4e@yZ`{?fvCWL09!;`#P+Y`-89hy?M~2+bWuvDPjd-)8X^tqNjcZ4pLI z@>QJl(jL*LF@_I!3yo?^vWF!0E2#kJXyB*c2I)!(AL|_+AC`2vCEiK(W?^r34;_zM zOfN?QS=GKj@e67|4D1+f^3xPMy0T@bXZ^1mQW|$b|5_t=5sWj^t^`TfD~vbI`cj*G<&CMm{`1m8=4Ogi-&kN<@qv+&=3 zpHCMBtWozsZ0ep}-XqOPp#`l;>EJ>1?3&Cme4;FoHUKZ|4DDXp#_skA7(e;3bPMP9 zFFsY-KJ>uj!@^+$B!>ehibO%nQ%Mh}4s~t3l}r>-^m1U5ZtOQ4b?Q4ay>=R?;)dS* z)~h{5jm%t%v#saK?XZaI=}APgD`oe*pQpaQp2WgR?$1jPe*f1h!S7daDh&ju(rT~J zpRD*@5x&0LA#}8lV3dg8>{|O~INb-x%>Zi^r?^}ypn%|1E2$xW8PVHuEFm^^^UMo5 zvH87&rgyYI&r3h;*xBDIm$t?q{#(m`7x$?{K0l{|k?H*o!{_K?hNFcsXIFPE${qE6 zHW=$Y2oHv`_-I~(r>r6)+X67;mLf8uzxtPltL`~2 zv3tu_Z8CJTH>W^j&3Weg_UO@J+4Ccg!2Squ6tHJ{wCP)CA3pDnEuMZ9nVBNVg3F)- zsEpUUN@Ks2u%C!a{fY-c1yVeaHMLX~UmB+8as8sbM;vN}bU6FUr`X8C?S=9Jafy+& zoEfxk1WQ4v7wF=muB~R%1oW=V?UdNHVfrXn%NWSXxeEkt@xBJYXh8k?SF0|=?WlXK)*?&2CvBQet123; zWdY1ayhFkjI91?~bG=Fx%N#@AZK$b|Nxzr-OO5CV@+3p|^xMfWPNy{I%nhRAhyUIW zZtM+&*%hW82|i8N`LNdFq46mAZtz#1fMk)lO^uY7mYjTg*R@XZO`E$IpF`0ReV^`&nJ7Gi+H#_N?y7y!tCxF!4>Z&QPEAv7t#w)c4%YsSReXB21I0T7q4D5xLPN=}mOHl^WC3^A zLTVg$21YqRQH_qM|CP3b>OW&q&A$x=(RK#@=3>=Et8duB+bpd(82(MG9z^X7BnyC- zNpjMwu~T4ze`(5r-UXa`anDP42E;^Jr6HQpLDJkI9Y}(UuJBxQ(fU20s=}IH6&0d# zzz$R4|0jmE-2dssWYY95{8KQh!trth12388LtuF#Ie-{&xy3i+;J@4s1&(8DvC+BO zw6Etu$?v!VoB-giKJpd!UU&FM#lx@!H8JEfS^l*i417sEg0;{`r #include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "uv/stdint-msvc2008.h" -#else -# include -#endif +#include #if defined(_WIN32) # include "uv/win.h" @@ -152,6 +149,7 @@ extern "C" { XX(EFTYPE, "inappropriate file type or format") \ XX(EILSEQ, "illegal byte sequence") \ XX(ESOCKTNOSUPPORT, "socket type not supported") \ + XX(ENODATA, "no data available") \ #define UV_HANDLE_TYPE_MAP(XX) \ XX(ASYNC, async) \ @@ -247,9 +245,12 @@ typedef struct uv_cpu_info_s uv_cpu_info_t; typedef struct uv_interface_address_s uv_interface_address_t; typedef struct uv_dirent_s uv_dirent_t; typedef struct uv_passwd_s uv_passwd_t; +typedef struct uv_group_s uv_group_t; typedef struct uv_utsname_s uv_utsname_t; typedef struct uv_statfs_s uv_statfs_t; +typedef struct uv_metrics_s uv_metrics_t; + typedef enum { UV_LOOP_BLOCK_SIGNAL = 0, UV_METRICS_IDLE_TIME @@ -344,11 +345,32 @@ typedef void (*uv_random_cb)(uv_random_t* req, void* buf, size_t buflen); +typedef enum { + UV_CLOCK_MONOTONIC, + UV_CLOCK_REALTIME +} uv_clock_id; + +/* XXX(bnoordhuis) not 2038-proof, https://github.com/libuv/libuv/issues/3864 */ typedef struct { long tv_sec; long tv_nsec; } uv_timespec_t; +typedef struct { + int64_t tv_sec; + int32_t tv_nsec; +} uv_timespec64_t; + +/* XXX(bnoordhuis) not 2038-proof, https://github.com/libuv/libuv/issues/3864 */ +typedef struct { + long tv_sec; + long tv_usec; +} uv_timeval_t; + +typedef struct { + int64_t tv_sec; + int32_t tv_usec; +} uv_timeval64_t; typedef struct { uint64_t st_dev; @@ -1139,6 +1161,12 @@ struct uv_passwd_s { char* homedir; }; +struct uv_group_s { + char* groupname; + unsigned long gid; + char** members; +}; + struct uv_utsname_s { char sysname[256]; char release[256]; @@ -1184,16 +1212,6 @@ UV_EXTERN int uv_uptime(double* uptime); UV_EXTERN uv_os_fd_t uv_get_osfhandle(int fd); UV_EXTERN int uv_open_osfhandle(uv_os_fd_t os_fd); -typedef struct { - long tv_sec; - long tv_usec; -} uv_timeval_t; - -typedef struct { - int64_t tv_sec; - int32_t tv_usec; -} uv_timeval64_t; - typedef struct { uv_timeval_t ru_utime; /* user CPU time used */ uv_timeval_t ru_stime; /* system CPU time used */ @@ -1219,6 +1237,9 @@ UV_EXTERN int uv_os_homedir(char* buffer, size_t* size); UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size); UV_EXTERN int uv_os_get_passwd(uv_passwd_t* pwd); UV_EXTERN void uv_os_free_passwd(uv_passwd_t* pwd); +UV_EXTERN int uv_os_get_passwd2(uv_passwd_t* pwd, uv_uid_t uid); +UV_EXTERN int uv_os_get_group(uv_group_t* grp, uv_uid_t gid); +UV_EXTERN void uv_os_free_group(uv_group_t* grp); UV_EXTERN uv_pid_t uv_os_getpid(void); UV_EXTERN uv_pid_t uv_os_getppid(void); @@ -1245,6 +1266,7 @@ UV_EXTERN int uv_os_setpriority(uv_pid_t pid, int priority); UV_EXTERN unsigned int uv_available_parallelism(void); UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count); UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count); +UV_EXTERN int uv_cpumask_size(void); UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses, int* count); @@ -1277,6 +1299,15 @@ UV_EXTERN int uv_os_gethostname(char* buffer, size_t* size); UV_EXTERN int uv_os_uname(uv_utsname_t* buffer); +struct uv_metrics_s { + uint64_t loop_count; + uint64_t events; + uint64_t events_waiting; + /* private */ + uint64_t* reserved[13]; +}; + +UV_EXTERN int uv_metrics_info(uv_loop_t* loop, uv_metrics_t* metrics); UV_EXTERN uint64_t uv_metrics_idle_time(uv_loop_t* loop); typedef enum { @@ -1710,7 +1741,9 @@ UV_EXTERN int uv_chdir(const char* dir); UV_EXTERN uint64_t uv_get_free_memory(void); UV_EXTERN uint64_t uv_get_total_memory(void); UV_EXTERN uint64_t uv_get_constrained_memory(void); +UV_EXTERN uint64_t uv_get_available_memory(void); +UV_EXTERN int uv_clock_gettime(uv_clock_id clock_id, uv_timespec64_t* ts); UV_EXTERN uint64_t uv_hrtime(void); UV_EXTERN void uv_sleep(unsigned int msec); @@ -1787,6 +1820,14 @@ UV_EXTERN int uv_thread_create_ex(uv_thread_t* tid, const uv_thread_options_t* params, uv_thread_cb entry, void* arg); +UV_EXTERN int uv_thread_setaffinity(uv_thread_t* tid, + char* cpumask, + char* oldmask, + size_t mask_size); +UV_EXTERN int uv_thread_getaffinity(uv_thread_t* tid, + char* cpumask, + size_t mask_size); +UV_EXTERN int uv_thread_getcpu(void); UV_EXTERN uv_thread_t uv_thread_self(void); UV_EXTERN int uv_thread_join(uv_thread_t *tid); UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2); diff --git a/deps/uv/include/uv/errno.h b/deps/uv/include/uv/errno.h index 71906b3f5e65e6..648e493d0e7f0f 100644 --- a/deps/uv/include/uv/errno.h +++ b/deps/uv/include/uv/errno.h @@ -413,7 +413,6 @@ #elif defined(__APPLE__) || \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) # define UV__EHOSTDOWN (-64) @@ -457,4 +456,16 @@ # define UV__ESOCKTNOSUPPORT (-4025) #endif +/* FreeBSD defines ENODATA in /usr/include/c++/v1/errno.h which is only visible + * if C++ is being used. Define it directly to avoid problems when integrating + * libuv in a C++ project. + */ +#if defined(ENODATA) && !defined(_WIN32) +# define UV__ENODATA UV__ERR(ENODATA) +#elif defined(__FreeBSD__) +# define UV__ENODATA (-9919) +#else +# define UV__ENODATA (-4024) +#endif + #endif /* UV_ERRNO_H_ */ diff --git a/deps/uv/include/uv/stdint-msvc2008.h b/deps/uv/include/uv/stdint-msvc2008.h deleted file mode 100644 index d02608a5972642..00000000000000 --- a/deps/uv/include/uv/stdint-msvc2008.h +++ /dev/null @@ -1,247 +0,0 @@ -// ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// -// Copyright (c) 2006-2008 Alexander Chemeris -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. The name of the author may be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef _MSC_VER // [ -#error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] - -#ifndef _MSC_STDINT_H_ // [ -#define _MSC_STDINT_H_ - -#if _MSC_VER > 1000 -#pragma once -#endif - -#include - -// For Visual Studio 6 in C++ mode and for many Visual Studio versions when -// compiling for ARM we should wrap include with 'extern "C++" {}' -// or compiler give many errors like this: -// error C2733: second C linkage of overloaded function 'wmemchr' not allowed -#ifdef __cplusplus -extern "C" { -#endif -# include -#ifdef __cplusplus -} -#endif - -// Define _W64 macros to mark types changing their size, like intptr_t. -#ifndef _W64 -# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 -# define _W64 __w64 -# else -# define _W64 -# endif -#endif - - -// 7.18.1 Integer types - -// 7.18.1.1 Exact-width integer types - -// Visual Studio 6 and Embedded Visual C++ 4 doesn't -// realize that, e.g. char has the same size as __int8 -// so we give up on __intX for them. -#if (_MSC_VER < 1300) - typedef signed char int8_t; - typedef signed short int16_t; - typedef signed int int32_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; -#else - typedef signed __int8 int8_t; - typedef signed __int16 int16_t; - typedef signed __int32 int32_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; -#endif -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; - - -// 7.18.1.2 Minimum-width integer types -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -typedef int64_t int_least64_t; -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -typedef uint64_t uint_least64_t; - -// 7.18.1.3 Fastest minimum-width integer types -typedef int8_t int_fast8_t; -typedef int16_t int_fast16_t; -typedef int32_t int_fast32_t; -typedef int64_t int_fast64_t; -typedef uint8_t uint_fast8_t; -typedef uint16_t uint_fast16_t; -typedef uint32_t uint_fast32_t; -typedef uint64_t uint_fast64_t; - -// 7.18.1.4 Integer types capable of holding object pointers -#ifdef _WIN64 // [ - typedef signed __int64 intptr_t; - typedef unsigned __int64 uintptr_t; -#else // _WIN64 ][ - typedef _W64 signed int intptr_t; - typedef _W64 unsigned int uintptr_t; -#endif // _WIN64 ] - -// 7.18.1.5 Greatest-width integer types -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; - - -// 7.18.2 Limits of specified-width integer types - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 - -// 7.18.2.1 Limits of exact-width integer types -#define INT8_MIN ((int8_t)_I8_MIN) -#define INT8_MAX _I8_MAX -#define INT16_MIN ((int16_t)_I16_MIN) -#define INT16_MAX _I16_MAX -#define INT32_MIN ((int32_t)_I32_MIN) -#define INT32_MAX _I32_MAX -#define INT64_MIN ((int64_t)_I64_MIN) -#define INT64_MAX _I64_MAX -#define UINT8_MAX _UI8_MAX -#define UINT16_MAX _UI16_MAX -#define UINT32_MAX _UI32_MAX -#define UINT64_MAX _UI64_MAX - -// 7.18.2.2 Limits of minimum-width integer types -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST8_MAX INT8_MAX -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST16_MAX INT16_MAX -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST32_MAX INT32_MAX -#define INT_LEAST64_MIN INT64_MIN -#define INT_LEAST64_MAX INT64_MAX -#define UINT_LEAST8_MAX UINT8_MAX -#define UINT_LEAST16_MAX UINT16_MAX -#define UINT_LEAST32_MAX UINT32_MAX -#define UINT_LEAST64_MAX UINT64_MAX - -// 7.18.2.3 Limits of fastest minimum-width integer types -#define INT_FAST8_MIN INT8_MIN -#define INT_FAST8_MAX INT8_MAX -#define INT_FAST16_MIN INT16_MIN -#define INT_FAST16_MAX INT16_MAX -#define INT_FAST32_MIN INT32_MIN -#define INT_FAST32_MAX INT32_MAX -#define INT_FAST64_MIN INT64_MIN -#define INT_FAST64_MAX INT64_MAX -#define UINT_FAST8_MAX UINT8_MAX -#define UINT_FAST16_MAX UINT16_MAX -#define UINT_FAST32_MAX UINT32_MAX -#define UINT_FAST64_MAX UINT64_MAX - -// 7.18.2.4 Limits of integer types capable of holding object pointers -#ifdef _WIN64 // [ -# define INTPTR_MIN INT64_MIN -# define INTPTR_MAX INT64_MAX -# define UINTPTR_MAX UINT64_MAX -#else // _WIN64 ][ -# define INTPTR_MIN INT32_MIN -# define INTPTR_MAX INT32_MAX -# define UINTPTR_MAX UINT32_MAX -#endif // _WIN64 ] - -// 7.18.2.5 Limits of greatest-width integer types -#define INTMAX_MIN INT64_MIN -#define INTMAX_MAX INT64_MAX -#define UINTMAX_MAX UINT64_MAX - -// 7.18.3 Limits of other integer types - -#ifdef _WIN64 // [ -# define PTRDIFF_MIN _I64_MIN -# define PTRDIFF_MAX _I64_MAX -#else // _WIN64 ][ -# define PTRDIFF_MIN _I32_MIN -# define PTRDIFF_MAX _I32_MAX -#endif // _WIN64 ] - -#define SIG_ATOMIC_MIN INT_MIN -#define SIG_ATOMIC_MAX INT_MAX - -#ifndef SIZE_MAX // [ -# ifdef _WIN64 // [ -# define SIZE_MAX _UI64_MAX -# else // _WIN64 ][ -# define SIZE_MAX _UI32_MAX -# endif // _WIN64 ] -#endif // SIZE_MAX ] - -// WCHAR_MIN and WCHAR_MAX are also defined in -#ifndef WCHAR_MIN // [ -# define WCHAR_MIN 0 -#endif // WCHAR_MIN ] -#ifndef WCHAR_MAX // [ -# define WCHAR_MAX _UI16_MAX -#endif // WCHAR_MAX ] - -#define WINT_MIN 0 -#define WINT_MAX _UI16_MAX - -#endif // __STDC_LIMIT_MACROS ] - - -// 7.18.4 Limits of other integer types - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 - -// 7.18.4.1 Macros for minimum-width integer constants - -#define INT8_C(val) val##i8 -#define INT16_C(val) val##i16 -#define INT32_C(val) val##i32 -#define INT64_C(val) val##i64 - -#define UINT8_C(val) val##ui8 -#define UINT16_C(val) val##ui16 -#define UINT32_C(val) val##ui32 -#define UINT64_C(val) val##ui64 - -// 7.18.4.2 Macros for greatest-width integer constants -#define INTMAX_C INT64_C -#define UINTMAX_C UINT64_C - -#endif // __STDC_CONSTANT_MACROS ] - - -#endif // _MSC_STDINT_H_ ] diff --git a/deps/uv/include/uv/unix.h b/deps/uv/include/uv/unix.h index ea37d78768654e..0b1fdac2b25a6d 100644 --- a/deps/uv/include/uv/unix.h +++ b/deps/uv/include/uv/unix.h @@ -59,7 +59,6 @@ # include "uv/darwin.h" #elif defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__OpenBSD__) || \ defined(__NetBSD__) # include "uv/bsd.h" diff --git a/deps/uv/include/uv/version.h b/deps/uv/include/uv/version.h index 9c9d292f695038..febad1ef1c141c 100644 --- a/deps/uv/include/uv/version.h +++ b/deps/uv/include/uv/version.h @@ -31,8 +31,8 @@ */ #define UV_VERSION_MAJOR 1 -#define UV_VERSION_MINOR 44 -#define UV_VERSION_PATCH 2 +#define UV_VERSION_MINOR 45 +#define UV_VERSION_PATCH 0 #define UV_VERSION_IS_RELEASE 1 #define UV_VERSION_SUFFIX "" diff --git a/deps/uv/include/uv/win.h b/deps/uv/include/uv/win.h index 155c4355022176..92a95fa15f1aec 100644 --- a/deps/uv/include/uv/win.h +++ b/deps/uv/include/uv/win.h @@ -59,12 +59,7 @@ typedef struct pollfd { #include #include #include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "uv/stdint-msvc2008.h" -#else -# include -#endif +#include #include "uv/tree.h" #include "uv/threadpool.h" @@ -75,6 +70,11 @@ typedef struct pollfd { # define S_IFLNK 0xA000 #endif +// Define missing in Windows Kit Include\{VERSION}\ucrt\sys\stat.h +#if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES && !defined(S_IFIFO) +# define S_IFIFO _S_IFIFO +#endif + /* Additional signals supported by uv_signal and or uv_kill. The CRT defines * the following signals already: * @@ -91,6 +91,7 @@ typedef struct pollfd { * variants (Linux and Darwin) */ #define SIGHUP 1 +#define SIGQUIT 3 #define SIGKILL 9 #define SIGWINCH 28 @@ -223,7 +224,7 @@ typedef struct _AFD_POLL_INFO { AFD_POLL_HANDLE_INFO Handles[1]; } AFD_POLL_INFO, *PAFD_POLL_INFO; -#define UV_MSAFD_PROVIDER_COUNT 3 +#define UV_MSAFD_PROVIDER_COUNT 4 /** @@ -274,11 +275,12 @@ typedef struct { } uv_rwlock_t; typedef struct { - unsigned int n; - unsigned int count; + unsigned threshold; + unsigned in; uv_mutex_t mutex; - uv_sem_t turnstile1; - uv_sem_t turnstile2; + /* TODO: in v2 make this a uv_cond_t, without unused_ */ + CONDITION_VARIABLE cond; + unsigned out; } uv_barrier_t; typedef struct { @@ -348,9 +350,9 @@ typedef struct { uv_idle_t* next_idle_handle; \ /* This handle holds the peer sockets for the fast variant of uv_poll_t */ \ SOCKET poll_peer_sockets[UV_MSAFD_PROVIDER_COUNT]; \ - /* Counter to keep track of active tcp streams */ \ + /* No longer used. */ \ unsigned int active_tcp_streams; \ - /* Counter to keep track of active udp streams */ \ + /* No longer used. */ \ unsigned int active_udp_streams; \ /* Counter to started timer */ \ uint64_t timer_counter; \ @@ -382,6 +384,7 @@ typedef struct { ULONG_PTR result; /* overlapped.Internal is reused to hold the result */\ HANDLE pipeHandle; \ DWORD duplex_flags; \ + WCHAR* name; \ } connect; \ } u; \ struct uv_req_s* next_req; @@ -497,7 +500,7 @@ typedef struct { struct { uv_pipe_connection_fields } conn; \ } pipe; -/* TODO: put the parser states in an union - TTY handles are always half-duplex +/* TODO: put the parser states in a union - TTY handles are always half-duplex * so read-state can safely overlap write-state. */ #define UV_TTY_PRIVATE_FIELDS \ HANDLE handle; \ @@ -605,7 +608,7 @@ typedef struct { struct uv_process_exit_s { \ UV_REQ_FIELDS \ } exit_req; \ - BYTE* child_stdio_buffer; \ + void* unused; /* TODO: retained for ABI compat; remove this in v2.x. */ \ int exit_signal; \ HANDLE wait_handle; \ HANDLE process_handle; \ diff --git a/deps/uv/libuv-static.pc.in b/deps/uv/libuv-static.pc.in index ea625482d5ebd4..639058c8e083aa 100644 --- a/deps/uv/libuv-static.pc.in +++ b/deps/uv/libuv-static.pc.in @@ -8,5 +8,5 @@ Version: @PACKAGE_VERSION@ Description: multi-platform support library with a focus on asynchronous I/O. URL: http://libuv.org/ -Libs: -L${libdir} -luv_a @LIBS@ +Libs: -L${libdir} -l:libuv.a @LIBS@ Cflags: -I${includedir} diff --git a/deps/uv/libuv.pc.in b/deps/uv/libuv.pc.in index 1d7b86f751764c..0f569146697451 100644 --- a/deps/uv/libuv.pc.in +++ b/deps/uv/libuv.pc.in @@ -2,6 +2,7 @@ prefix=@prefix@ exec_prefix=${prefix} libdir=@libdir@ includedir=@includedir@ +LIBUV_STATIC=-L${libdir} -l:libuv.a @LIBS@ Name: libuv Version: @PACKAGE_VERSION@ diff --git a/deps/uv/src/inet.c b/deps/uv/src/inet.c index ddabf22fa52a0d..cd77496846e90e 100644 --- a/deps/uv/src/inet.c +++ b/deps/uv/src/inet.c @@ -17,12 +17,7 @@ #include #include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "uv/stdint-msvc2008.h" -#else -# include -#endif +#include #include "uv.h" #include "uv-common.h" @@ -135,7 +130,7 @@ static int inet_ntop6(const unsigned char *src, char *dst, size_t size) { tp += strlen(tp); break; } - tp += sprintf(tp, "%x", words[i]); + tp += snprintf(tp, sizeof tmp - (tp - tmp), "%x", words[i]); } /* Was it a trailing run of 0x00's? */ if (best.base != -1 && (best.base + best.len) == ARRAY_SIZE(words)) diff --git a/deps/uv/src/thread-common.c b/deps/uv/src/thread-common.c new file mode 100644 index 00000000000000..c67c0a7dd7279a --- /dev/null +++ b/deps/uv/src/thread-common.c @@ -0,0 +1,175 @@ +/* Copyright libuv project 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. + */ + +#include "uv.h" +#include "uv-common.h" + +#include +#ifndef _WIN32 +#include +#endif + +#if defined(PTHREAD_BARRIER_SERIAL_THREAD) +STATIC_ASSERT(sizeof(uv_barrier_t) == sizeof(pthread_barrier_t)); +#endif + +/* Note: guard clauses should match uv_barrier_t's in include/uv/unix.h. */ +#if defined(_AIX) || \ + defined(__OpenBSD__) || \ + !defined(PTHREAD_BARRIER_SERIAL_THREAD) +int uv_barrier_init(uv_barrier_t* barrier, unsigned int count) { + int rc; +#ifdef _WIN32 + uv_barrier_t* b; + b = barrier; + + if (barrier == NULL || count == 0) + return UV_EINVAL; +#else + struct _uv_barrier* b; + + if (barrier == NULL || count == 0) + return UV_EINVAL; + + b = uv__malloc(sizeof(*b)); + if (b == NULL) + return UV_ENOMEM; +#endif + + b->in = 0; + b->out = 0; + b->threshold = count; + + rc = uv_mutex_init(&b->mutex); + if (rc != 0) + goto error2; + + /* TODO(vjnash): remove these uv_cond_t casts in v2. */ + rc = uv_cond_init((uv_cond_t*) &b->cond); + if (rc != 0) + goto error; + +#ifndef _WIN32 + barrier->b = b; +#endif + return 0; + +error: + uv_mutex_destroy(&b->mutex); +error2: +#ifndef _WIN32 + uv__free(b); +#endif + return rc; +} + + +int uv_barrier_wait(uv_barrier_t* barrier) { + int last; +#ifdef _WIN32 + uv_barrier_t* b; + b = barrier; +#else + struct _uv_barrier* b; + + if (barrier == NULL || barrier->b == NULL) + return UV_EINVAL; + + b = barrier->b; +#endif + + uv_mutex_lock(&b->mutex); + + while (b->out != 0) + uv_cond_wait((uv_cond_t*) &b->cond, &b->mutex); + + if (++b->in == b->threshold) { + b->in = 0; + b->out = b->threshold; + uv_cond_broadcast((uv_cond_t*) &b->cond); + } else { + do + uv_cond_wait((uv_cond_t*) &b->cond, &b->mutex); + while (b->in != 0); + } + + last = (--b->out == 0); + if (last) + uv_cond_broadcast((uv_cond_t*) &b->cond); + + uv_mutex_unlock(&b->mutex); + return last; +} + + +void uv_barrier_destroy(uv_barrier_t* barrier) { +#ifdef _WIN32 + uv_barrier_t* b; + b = barrier; +#else + struct _uv_barrier* b; + b = barrier->b; +#endif + + uv_mutex_lock(&b->mutex); + + assert(b->in == 0); + while (b->out != 0) + uv_cond_wait((uv_cond_t*) &b->cond, &b->mutex); + + if (b->in != 0) + abort(); + + uv_mutex_unlock(&b->mutex); + uv_mutex_destroy(&b->mutex); + uv_cond_destroy((uv_cond_t*) &b->cond); + +#ifndef _WIN32 + uv__free(barrier->b); + barrier->b = NULL; +#endif +} + +#else + +int uv_barrier_init(uv_barrier_t* barrier, unsigned int count) { + return UV__ERR(pthread_barrier_init(barrier, NULL, count)); +} + + +int uv_barrier_wait(uv_barrier_t* barrier) { + int rc; + + rc = pthread_barrier_wait(barrier); + if (rc != 0) + if (rc != PTHREAD_BARRIER_SERIAL_THREAD) + abort(); + + return rc == PTHREAD_BARRIER_SERIAL_THREAD; +} + + +void uv_barrier_destroy(uv_barrier_t* barrier) { + if (pthread_barrier_destroy(barrier)) + abort(); +} + +#endif diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c index e804c7c4b6f03c..51962bf0021574 100644 --- a/deps/uv/src/threadpool.c +++ b/deps/uv/src/threadpool.c @@ -191,6 +191,7 @@ void uv__threadpool_cleanup(void) { static void init_threads(void) { + uv_thread_options_t config; unsigned int i; const char* val; uv_sem_t sem; @@ -226,8 +227,11 @@ static void init_threads(void) { if (uv_sem_init(&sem, 0)) abort(); + config.flags = UV_THREAD_HAS_STACK_SIZE; + config.stack_size = 8u << 20; /* 8 MB */ + for (i = 0; i < nthreads; i++) - if (uv_thread_create(threads + i, worker, &sem)) + if (uv_thread_create_ex(threads + i, &config, worker, &sem)) abort(); for (i = 0; i < nthreads; i++) @@ -271,9 +275,13 @@ void uv__work_submit(uv_loop_t* loop, } +/* TODO(bnoordhuis) teach libuv how to cancel file operations + * that go through io_uring instead of the thread pool. + */ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) { int cancelled; + uv_once(&once, init_once); /* Ensure |mutex| is initialized. */ uv_mutex_lock(&mutex); uv_mutex_lock(&w->loop->wq_mutex); @@ -303,12 +311,15 @@ void uv__work_done(uv_async_t* handle) { QUEUE* q; QUEUE wq; int err; + int nevents; loop = container_of(handle, uv_loop_t, wq_async); uv_mutex_lock(&loop->wq_mutex); QUEUE_MOVE(&loop->wq, &wq); uv_mutex_unlock(&loop->wq_mutex); + nevents = 0; + while (!QUEUE_EMPTY(&wq)) { q = QUEUE_HEAD(&wq); QUEUE_REMOVE(q); @@ -316,6 +327,20 @@ void uv__work_done(uv_async_t* handle) { w = container_of(q, struct uv__work, wq); err = (w->work == uv__cancelled) ? UV_ECANCELED : 0; w->done(w, err); + nevents++; + } + + /* This check accomplishes 2 things: + * 1. Even if the queue was empty, the call to uv__work_done() should count + * as an event. Which will have been added by the event loop when + * calling this callback. + * 2. Prevents accidental wrap around in case nevents == 0 events == 0. + */ + if (nevents > 1) { + /* Subtract 1 to counter the call to uv__work_done(). */ + uv__metrics_inc_events(loop, nevents - 1); + if (uv__get_internal_fields(loop)->current_timeout == 0) + uv__metrics_inc_events_waiting(loop, nevents - 1); } } diff --git a/deps/uv/src/unix/aix.c b/deps/uv/src/unix/aix.c index 6a013d43e3ae4b..f1afbed49ec8d2 100644 --- a/deps/uv/src/unix/aix.c +++ b/deps/uv/src/unix/aix.c @@ -131,6 +131,7 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) { void uv__io_poll(uv_loop_t* loop, int timeout) { + uv__loop_internal_fields_t* lfields; struct pollfd events[1024]; struct pollfd pqry; struct pollfd* pe; @@ -154,6 +155,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { return; } + lfields = uv__get_internal_fields(loop); + while (!QUEUE_EMPTY(&loop->watcher_queue)) { q = QUEUE_HEAD(&loop->watcher_queue); QUEUE_REMOVE(q); @@ -217,7 +220,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { base = loop->time; count = 48; /* Benchmarks suggest this gives the best throughput. */ - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { + if (lfields->flags & UV_METRICS_IDLE_TIME) { reset_timeout = 1; user_timeout = timeout; timeout = 0; @@ -232,6 +235,12 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { if (timeout != 0) uv__metrics_set_provider_entry_time(loop); + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + nfds = pollset_poll(loop->backend_fd, events, ARRAY_SIZE(events), @@ -321,9 +330,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { nevents++; } + uv__metrics_inc_events(loop, nevents); if (reset_timeout != 0) { timeout = user_timeout; reset_timeout = 0; + uv__metrics_inc_events_waiting(loop, nevents); } if (have_signals != 0) { @@ -389,6 +400,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + void uv_loadavg(double avg[3]) { perfstat_cpu_total_t ps_total; int result = perfstat_cpu_total(NULL, &ps_total, sizeof(ps_total), 1); @@ -425,7 +441,7 @@ static char* uv__rawname(const char* cp, char (*dst)[FILENAME_MAX+1]) { static int uv__path_is_a_directory(char* filename) { struct stat statbuf; - if (stat(filename, &statbuf) < 0) + if (uv__stat(filename, &statbuf) < 0) return -1; /* failed: not a directory, assume it is a file */ if (statbuf.st_type == VDIR) diff --git a/deps/uv/src/unix/async.c b/deps/uv/src/unix/async.c index e1805c323795e5..5751b6d02be9e6 100644 --- a/deps/uv/src/unix/async.c +++ b/deps/uv/src/unix/async.c @@ -24,9 +24,9 @@ #include "uv.h" #include "internal.h" -#include "atomic-ops.h" #include +#include #include /* snprintf() */ #include #include @@ -40,6 +40,7 @@ static void uv__async_send(uv_loop_t* loop); static int uv__async_start(uv_loop_t* loop); +static void uv__cpu_relax(void); int uv_async_init(uv_loop_t* loop, uv_async_t* handle, uv_async_cb async_cb) { @@ -52,6 +53,7 @@ int uv_async_init(uv_loop_t* loop, uv_async_t* handle, uv_async_cb async_cb) { uv__handle_init(loop, (uv_handle_t*)handle, UV_ASYNC); handle->async_cb = async_cb; handle->pending = 0; + handle->u.fd = 0; /* This will be used as a busy flag. */ QUEUE_INSERT_TAIL(&loop->async_handles, &handle->queue); uv__handle_start(handle); @@ -61,46 +63,54 @@ int uv_async_init(uv_loop_t* loop, uv_async_t* handle, uv_async_cb async_cb) { int uv_async_send(uv_async_t* handle) { + _Atomic int* pending; + _Atomic int* busy; + + pending = (_Atomic int*) &handle->pending; + busy = (_Atomic int*) &handle->u.fd; + /* Do a cheap read first. */ - if (ACCESS_ONCE(int, handle->pending) != 0) + if (atomic_load_explicit(pending, memory_order_relaxed) != 0) return 0; - /* Tell the other thread we're busy with the handle. */ - if (cmpxchgi(&handle->pending, 0, 1) != 0) - return 0; + /* Set the loop to busy. */ + atomic_fetch_add(busy, 1); /* Wake up the other thread's event loop. */ - uv__async_send(handle->loop); + if (atomic_exchange(pending, 1) == 0) + uv__async_send(handle->loop); - /* Tell the other thread we're done. */ - if (cmpxchgi(&handle->pending, 1, 2) != 1) - abort(); + /* Set the loop to not-busy. */ + atomic_fetch_add(busy, -1); return 0; } -/* Only call this from the event loop thread. */ -static int uv__async_spin(uv_async_t* handle) { +/* Wait for the busy flag to clear before closing. + * Only call this from the event loop thread. */ +static void uv__async_spin(uv_async_t* handle) { + _Atomic int* pending; + _Atomic int* busy; int i; - int rc; + + pending = (_Atomic int*) &handle->pending; + busy = (_Atomic int*) &handle->u.fd; + + /* Set the pending flag first, so no new events will be added by other + * threads after this function returns. */ + atomic_store(pending, 1); for (;;) { - /* 997 is not completely chosen at random. It's a prime number, acyclical - * by nature, and should therefore hopefully dampen sympathetic resonance. + /* 997 is not completely chosen at random. It's a prime number, acyclic by + * nature, and should therefore hopefully dampen sympathetic resonance. */ for (i = 0; i < 997; i++) { - /* rc=0 -- handle is not pending. - * rc=1 -- handle is pending, other thread is still working with it. - * rc=2 -- handle is pending, other thread is done. - */ - rc = cmpxchgi(&handle->pending, 2, 0); - - if (rc != 1) - return rc; + if (atomic_load(busy) == 0) + return; /* Other thread is busy with this handle, spin until it's done. */ - cpu_relax(); + uv__cpu_relax(); } /* Yield the CPU. We may have preempted the other thread while it's @@ -125,6 +135,7 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { QUEUE queue; QUEUE* q; uv_async_t* h; + _Atomic int *pending; assert(w == &loop->async_io_watcher); @@ -154,8 +165,10 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { QUEUE_REMOVE(q); QUEUE_INSERT_TAIL(&loop->async_handles, q); - if (0 == uv__async_spin(h)) - continue; /* Not pending. */ + /* Atomically fetch and clear pending flag */ + pending = (_Atomic int*) &h->pending; + if (atomic_exchange(pending, 0) == 0) + continue; if (h->async_cb == NULL) continue; @@ -227,20 +240,68 @@ static int uv__async_start(uv_loop_t* loop) { } +void uv__async_stop(uv_loop_t* loop) { + QUEUE queue; + QUEUE* q; + uv_async_t* h; + + if (loop->async_io_watcher.fd == -1) + return; + + /* Make sure no other thread is accessing the async handle fd after the loop + * cleanup. + */ + QUEUE_MOVE(&loop->async_handles, &queue); + while (!QUEUE_EMPTY(&queue)) { + q = QUEUE_HEAD(&queue); + h = QUEUE_DATA(q, uv_async_t, queue); + + QUEUE_REMOVE(q); + QUEUE_INSERT_TAIL(&loop->async_handles, q); + + uv__async_spin(h); + } + + if (loop->async_wfd != -1) { + if (loop->async_wfd != loop->async_io_watcher.fd) + uv__close(loop->async_wfd); + loop->async_wfd = -1; + } + + uv__io_stop(loop, &loop->async_io_watcher, POLLIN); + uv__close(loop->async_io_watcher.fd); + loop->async_io_watcher.fd = -1; +} + + int uv__async_fork(uv_loop_t* loop) { + QUEUE queue; + QUEUE* q; + uv_async_t* h; + if (loop->async_io_watcher.fd == -1) /* never started */ return 0; - uv__async_stop(loop); - - return uv__async_start(loop); -} + QUEUE_MOVE(&loop->async_handles, &queue); + while (!QUEUE_EMPTY(&queue)) { + q = QUEUE_HEAD(&queue); + h = QUEUE_DATA(q, uv_async_t, queue); + QUEUE_REMOVE(q); + QUEUE_INSERT_TAIL(&loop->async_handles, q); -void uv__async_stop(uv_loop_t* loop) { - if (loop->async_io_watcher.fd == -1) - return; + /* The state of any thread that set pending is now likely corrupt in this + * child because the user called fork, so just clear these flags and move + * on. Calling most libc functions after `fork` is declared to be undefined + * behavior anyways, unless async-signal-safe, for multithreaded programs + * like libuv, and nothing interesting in pthreads is async-signal-safe. + */ + h->pending = 0; + /* This is the busy flag, and we just abruptly lost all other threads. */ + h->u.fd = 0; + } + /* Recreate these, since they still exist, but belong to the wrong pid now. */ if (loop->async_wfd != -1) { if (loop->async_wfd != loop->async_io_watcher.fd) uv__close(loop->async_wfd); @@ -250,4 +311,19 @@ void uv__async_stop(uv_loop_t* loop) { uv__io_stop(loop, &loop->async_io_watcher, POLLIN); uv__close(loop->async_io_watcher.fd); loop->async_io_watcher.fd = -1; + + return uv__async_start(loop); +} + + +static void uv__cpu_relax(void) { +#if defined(__i386__) || defined(__x86_64__) + __asm__ __volatile__ ("rep; nop" ::: "memory"); /* a.k.a. PAUSE */ +#elif (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__) + __asm__ __volatile__ ("yield" ::: "memory"); +#elif (defined(__ppc__) || defined(__ppc64__)) && defined(__APPLE__) + __asm volatile ("" : : : "memory"); +#elif !defined(__APPLE__) && (defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__)) + __asm__ __volatile__ ("or 1,1,1; or 2,2,2" ::: "memory"); +#endif } diff --git a/deps/uv/src/unix/atomic-ops.h b/deps/uv/src/unix/atomic-ops.h deleted file mode 100644 index 58043c42fbd7aa..00000000000000 --- a/deps/uv/src/unix/atomic-ops.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (c) 2013, Ben Noordhuis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef UV_ATOMIC_OPS_H_ -#define UV_ATOMIC_OPS_H_ - -#include "internal.h" /* UV_UNUSED */ - -#if defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#include -#endif - -UV_UNUSED(static int cmpxchgi(int* ptr, int oldval, int newval)); -UV_UNUSED(static void cpu_relax(void)); - -/* Prefer hand-rolled assembly over the gcc builtins because the latter also - * issue full memory barriers. - */ -UV_UNUSED(static int cmpxchgi(int* ptr, int oldval, int newval)) { -#if defined(__i386__) || defined(__x86_64__) - int out; - __asm__ __volatile__ ("lock; cmpxchg %2, %1;" - : "=a" (out), "+m" (*(volatile int*) ptr) - : "r" (newval), "0" (oldval) - : "memory"); - return out; -#elif defined(__MVS__) - /* Use hand-rolled assembly because codegen from builtin __plo_CSST results in - * a runtime bug. - */ - __asm(" cs %0,%2,%1 \n " : "+r"(oldval), "+m"(*ptr) : "r"(newval) :); - return oldval; -#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) - return atomic_cas_uint((uint_t *)ptr, (uint_t)oldval, (uint_t)newval); -#else - return __sync_val_compare_and_swap(ptr, oldval, newval); -#endif -} - -UV_UNUSED(static void cpu_relax(void)) { -#if defined(__i386__) || defined(__x86_64__) - __asm__ __volatile__ ("rep; nop" ::: "memory"); /* a.k.a. PAUSE */ -#elif (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__) - __asm__ __volatile__ ("yield" ::: "memory"); -#elif (defined(__ppc__) || defined(__ppc64__)) && defined(__APPLE__) - __asm volatile ("" : : : "memory"); -#elif !defined(__APPLE__) && (defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__)) - __asm__ __volatile__ ("or 1,1,1; or 2,2,2" ::: "memory"); -#endif -} - -#endif /* UV_ATOMIC_OPS_H_ */ diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c index 54c769f37f2331..9c0b3f99b80aa5 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c @@ -41,12 +41,13 @@ #include /* writev */ #include /* getrusage */ #include +#include #include #include +#include /* clock_gettime */ #ifdef __sun # include -# include # include #endif @@ -66,13 +67,14 @@ extern char** environ; #if defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) # include # include # include +# include # if defined(__FreeBSD__) +# include # define uv__accept4 accept4 # endif # if defined(__NetBSD__) @@ -107,6 +109,35 @@ STATIC_ASSERT(offsetof(uv_buf_t, base) == offsetof(struct iovec, iov_base)); STATIC_ASSERT(offsetof(uv_buf_t, len) == offsetof(struct iovec, iov_len)); +/* https://github.com/libuv/libuv/issues/1674 */ +int uv_clock_gettime(uv_clock_id clock_id, uv_timespec64_t* ts) { + struct timespec t; + int r; + + if (ts == NULL) + return UV_EFAULT; + + switch (clock_id) { + default: + return UV_EINVAL; + case UV_CLOCK_MONOTONIC: + r = clock_gettime(CLOCK_MONOTONIC, &t); + break; + case UV_CLOCK_REALTIME: + r = clock_gettime(CLOCK_REALTIME, &t); + break; + } + + if (r) + return UV__ERR(errno); + + ts->tv_sec = t.tv_sec; + ts->tv_nsec = t.tv_nsec; + + return 0; +} + + uint64_t uv_hrtime(void) { return uv__hrtime(UV_CLOCK_PRECISE); } @@ -232,10 +263,10 @@ int uv__getiovmax(void) { #if defined(IOV_MAX) return IOV_MAX; #elif defined(_SC_IOV_MAX) - static int iovmax_cached = -1; + static _Atomic int iovmax_cached = -1; int iovmax; - iovmax = uv__load_relaxed(&iovmax_cached); + iovmax = atomic_load_explicit(&iovmax_cached, memory_order_relaxed); if (iovmax != -1) return iovmax; @@ -247,7 +278,7 @@ int uv__getiovmax(void) { if (iovmax == -1) iovmax = 1; - uv__store_relaxed(&iovmax_cached, iovmax); + atomic_store_explicit(&iovmax_cached, iovmax, memory_order_relaxed); return iovmax; #else @@ -360,6 +391,7 @@ static int uv__backend_timeout(const uv_loop_t* loop) { (uv__has_active_handles(loop) || uv__has_active_reqs(loop)) && QUEUE_EMPTY(&loop->pending_queue) && QUEUE_EMPTY(&loop->idle_handles) && + (loop->flags & UV_LOOP_REAP_CHILDREN) == 0 && loop->closing_handles == NULL) return uv__next_timeout(loop); return 0; @@ -388,10 +420,17 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) { if (!r) uv__update_time(loop); - while (r != 0 && loop->stop_flag == 0) { - uv__update_time(loop); + /* Maintain backwards compatibility by processing timers before entering the + * while loop for UV_RUN_DEFAULT. Otherwise timers only need to be executed + * once, which should be done after polling in order to maintain proper + * execution order of the conceptual event loop. */ + if (mode == UV_RUN_DEFAULT) { + if (r) + uv__update_time(loop); uv__run_timers(loop); + } + while (r != 0 && loop->stop_flag == 0) { can_sleep = QUEUE_EMPTY(&loop->pending_queue) && QUEUE_EMPTY(&loop->idle_handles); @@ -403,6 +442,8 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) { if ((mode == UV_RUN_ONCE && can_sleep) || mode == UV_RUN_DEFAULT) timeout = uv__backend_timeout(loop); + uv__metrics_inc_loop_count(loop); + uv__io_poll(loop, timeout); /* Process immediate callbacks (e.g. write_cb) a small fixed number of @@ -420,18 +461,8 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) { uv__run_check(loop); uv__run_closing_handles(loop); - if (mode == UV_RUN_ONCE) { - /* UV_RUN_ONCE implies forward progress: at least one callback must have - * been invoked when it returns. uv__io_poll() can return without doing - * I/O (meaning: no callbacks) when its timeout expires - which means we - * have pending timers that satisfy the forward progress constraint. - * - * UV_RUN_NOWAIT makes no guarantees about progress so it's omitted from - * the check. - */ - uv__update_time(loop); - uv__run_timers(loop); - } + uv__update_time(loop); + uv__run_timers(loop); r = uv__loop_alive(loop); if (mode == UV_RUN_ONCE || mode == UV_RUN_NOWAIT) @@ -867,11 +898,6 @@ void uv__io_init(uv__io_t* w, uv__io_cb cb, int fd) { w->fd = fd; w->events = 0; w->pevents = 0; - -#if defined(UV_HAVE_KQUEUE) - w->rcount = 0; - w->wcount = 0; -#endif /* defined(UV_HAVE_KQUEUE) */ } @@ -991,6 +1017,15 @@ int uv_getrusage(uv_rusage_t* rusage) { rusage->ru_nivcsw = usage.ru_nivcsw; #endif + /* Most platforms report ru_maxrss in kilobytes; macOS and Solaris are + * the outliers because of course they are. + */ +#if defined(__APPLE__) && !TARGET_OS_IPHONE + rusage->ru_maxrss /= 1024; /* macOS reports bytes. */ +#elif defined(__sun) + rusage->ru_maxrss /= getpagesize() / 1024; /* Solaris reports pages. */ +#endif + return 0; } @@ -1090,8 +1125,8 @@ int uv_os_homedir(char* buffer, size_t* size) { if (r != UV_ENOENT) return r; - /* HOME is not set, so call uv__getpwuid_r() */ - r = uv__getpwuid_r(&pwd); + /* HOME is not set, so call uv_os_get_passwd() */ + r = uv_os_get_passwd(&pwd); if (r != 0) { return r; @@ -1164,11 +1199,10 @@ int uv_os_tmpdir(char* buffer, size_t* size) { } -int uv__getpwuid_r(uv_passwd_t* pwd) { +static int uv__getpwuid_r(uv_passwd_t *pwd, uid_t uid) { struct passwd pw; struct passwd* result; char* buf; - uid_t uid; size_t bufsize; size_t name_size; size_t homedir_size; @@ -1178,8 +1212,6 @@ int uv__getpwuid_r(uv_passwd_t* pwd) { if (pwd == NULL) return UV_EINVAL; - uid = geteuid(); - /* Calling sysconf(_SC_GETPW_R_SIZE_MAX) would get the suggested size, but it * is frequently 1024 or 4096, so we can just use that directly. The pwent * will not usually be large. */ @@ -1238,24 +1270,93 @@ int uv__getpwuid_r(uv_passwd_t* pwd) { } -void uv_os_free_passwd(uv_passwd_t* pwd) { - if (pwd == NULL) - return; +int uv_os_get_group(uv_group_t* grp, uv_uid_t gid) { + struct group gp; + struct group* result; + char* buf; + char* gr_mem; + size_t bufsize; + size_t name_size; + long members; + size_t mem_size; + int r; - /* - The memory for name, shell, and homedir are allocated in a single - uv__malloc() call. The base of the pointer is stored in pwd->username, so - that is the field that needs to be freed. - */ - uv__free(pwd->username); - pwd->username = NULL; - pwd->shell = NULL; - pwd->homedir = NULL; + if (grp == NULL) + return UV_EINVAL; + + /* Calling sysconf(_SC_GETGR_R_SIZE_MAX) would get the suggested size, but it + * is frequently 1024 or 4096, so we can just use that directly. The pwent + * will not usually be large. */ + for (bufsize = 2000;; bufsize *= 2) { + buf = uv__malloc(bufsize); + + if (buf == NULL) + return UV_ENOMEM; + + do + r = getgrgid_r(gid, &gp, buf, bufsize, &result); + while (r == EINTR); + + if (r != 0 || result == NULL) + uv__free(buf); + + if (r != ERANGE) + break; + } + + if (r != 0) + return UV__ERR(r); + + if (result == NULL) + return UV_ENOENT; + + /* Allocate memory for the groupname and members. */ + name_size = strlen(gp.gr_name) + 1; + members = 0; + mem_size = sizeof(char*); + for (r = 0; gp.gr_mem[r] != NULL; r++) { + mem_size += strlen(gp.gr_mem[r]) + 1 + sizeof(char*); + members++; + } + + gr_mem = uv__malloc(name_size + mem_size); + if (gr_mem == NULL) { + uv__free(buf); + return UV_ENOMEM; + } + + /* Copy the members */ + grp->members = (char**) gr_mem; + grp->members[members] = NULL; + gr_mem = (char*) &grp->members[members + 1]; + for (r = 0; r < members; r++) { + grp->members[r] = gr_mem; + strcpy(gr_mem, gp.gr_mem[r]); + gr_mem += strlen(gr_mem) + 1; + } + assert(gr_mem == (char*)grp->members + mem_size); + + /* Copy the groupname */ + grp->groupname = gr_mem; + memcpy(grp->groupname, gp.gr_name, name_size); + gr_mem += name_size; + + /* Copy the gid */ + grp->gid = gp.gr_gid; + + uv__free(buf); + + return 0; } int uv_os_get_passwd(uv_passwd_t* pwd) { - return uv__getpwuid_r(pwd); + return uv__getpwuid_r(pwd, geteuid()); +} + + +int uv_os_get_passwd2(uv_passwd_t* pwd, uv_uid_t uid) { + return uv__getpwuid_r(pwd, uid); } @@ -1416,6 +1517,13 @@ uv_pid_t uv_os_getppid(void) { return getppid(); } +int uv_cpumask_size(void) { +#if UV__CPU_AFFINITY_SUPPORTED + return CPU_SETSIZE; +#else + return UV_ENOTSUP; +#endif +} int uv_os_getpriority(uv_pid_t pid, int* priority) { int r; diff --git a/deps/uv/src/unix/cygwin.c b/deps/uv/src/unix/cygwin.c index 169958d55f2ed0..4e5413963d6acf 100644 --- a/deps/uv/src/unix/cygwin.c +++ b/deps/uv/src/unix/cygwin.c @@ -51,3 +51,7 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { uint64_t uv_get_constrained_memory(void) { return 0; /* Memory constraints are unknown. */ } + +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} diff --git a/deps/uv/src/unix/darwin-stub.h b/deps/uv/src/unix/darwin-stub.h index 433e3efa73079e..b93cf67c596285 100644 --- a/deps/uv/src/unix/darwin-stub.h +++ b/deps/uv/src/unix/darwin-stub.h @@ -27,7 +27,6 @@ struct CFArrayCallBacks; struct CFRunLoopSourceContext; struct FSEventStreamContext; -struct CFRange; typedef double CFAbsoluteTime; typedef double CFTimeInterval; @@ -43,23 +42,13 @@ typedef unsigned CFStringEncoding; typedef void* CFAllocatorRef; typedef void* CFArrayRef; typedef void* CFBundleRef; -typedef void* CFDataRef; typedef void* CFDictionaryRef; -typedef void* CFMutableDictionaryRef; -typedef struct CFRange CFRange; typedef void* CFRunLoopRef; typedef void* CFRunLoopSourceRef; typedef void* CFStringRef; typedef void* CFTypeRef; typedef void* FSEventStreamRef; -typedef uint32_t IOOptionBits; -typedef unsigned int io_iterator_t; -typedef unsigned int io_object_t; -typedef unsigned int io_service_t; -typedef unsigned int io_registry_entry_t; - - typedef void (*FSEventStreamCallback)(const FSEventStreamRef, void*, size_t, @@ -80,11 +69,6 @@ struct FSEventStreamContext { void* pad[3]; }; -struct CFRange { - CFIndex location; - CFIndex length; -}; - static const CFStringEncoding kCFStringEncodingUTF8 = 0x8000100; static const OSStatus noErr = 0; diff --git a/deps/uv/src/unix/darwin.c b/deps/uv/src/unix/darwin.c index 62f04d315423d5..90790d701c4327 100644 --- a/deps/uv/src/unix/darwin.c +++ b/deps/uv/src/unix/darwin.c @@ -33,13 +33,10 @@ #include #include /* sysconf */ -#include "darwin-stub.h" - static uv_once_t once = UV_ONCE_INIT; static uint64_t (*time_func)(void); static mach_timebase_info_data_t timebase; -typedef unsigned char UInt8; int uv__platform_loop_init(uv_loop_t* loop) { loop->cf_state = NULL; @@ -110,7 +107,7 @@ uint64_t uv_get_free_memory(void) { if (host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&info, &count) != KERN_SUCCESS) { - return UV_EINVAL; /* FIXME(bnoordhuis) Translate error. */ + return 0; } return (uint64_t) info.free_count * sysconf(_SC_PAGESIZE); @@ -123,7 +120,7 @@ uint64_t uv_get_total_memory(void) { size_t size = sizeof(info); if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) info; } @@ -134,6 +131,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + void uv_loadavg(double avg[3]) { struct loadavg info; size_t size = sizeof(info); @@ -183,159 +185,17 @@ int uv_uptime(double* uptime) { return 0; } -static int uv__get_cpu_speed(uint64_t* speed) { - /* IOKit */ - void (*pIOObjectRelease)(io_object_t); - kern_return_t (*pIOMasterPort)(mach_port_t, mach_port_t*); - CFMutableDictionaryRef (*pIOServiceMatching)(const char*); - kern_return_t (*pIOServiceGetMatchingServices)(mach_port_t, - CFMutableDictionaryRef, - io_iterator_t*); - io_service_t (*pIOIteratorNext)(io_iterator_t); - CFTypeRef (*pIORegistryEntryCreateCFProperty)(io_registry_entry_t, - CFStringRef, - CFAllocatorRef, - IOOptionBits); - - /* CoreFoundation */ - CFStringRef (*pCFStringCreateWithCString)(CFAllocatorRef, - const char*, - CFStringEncoding); - CFStringEncoding (*pCFStringGetSystemEncoding)(void); - UInt8 *(*pCFDataGetBytePtr)(CFDataRef); - CFIndex (*pCFDataGetLength)(CFDataRef); - void (*pCFDataGetBytes)(CFDataRef, CFRange, UInt8*); - void (*pCFRelease)(CFTypeRef); - - void* core_foundation_handle; - void* iokit_handle; - int err; - - kern_return_t kr; - mach_port_t mach_port; - io_iterator_t it; - io_object_t service; - - mach_port = 0; - - err = UV_ENOENT; - core_foundation_handle = dlopen("/System/Library/Frameworks/" - "CoreFoundation.framework/" - "CoreFoundation", - RTLD_LAZY | RTLD_LOCAL); - iokit_handle = dlopen("/System/Library/Frameworks/IOKit.framework/" - "IOKit", - RTLD_LAZY | RTLD_LOCAL); - - if (core_foundation_handle == NULL || iokit_handle == NULL) - goto out; - -#define V(handle, symbol) \ - do { \ - *(void **)(&p ## symbol) = dlsym((handle), #symbol); \ - if (p ## symbol == NULL) \ - goto out; \ - } \ - while (0) - V(iokit_handle, IOMasterPort); - V(iokit_handle, IOServiceMatching); - V(iokit_handle, IOServiceGetMatchingServices); - V(iokit_handle, IOIteratorNext); - V(iokit_handle, IOObjectRelease); - V(iokit_handle, IORegistryEntryCreateCFProperty); - V(core_foundation_handle, CFStringCreateWithCString); - V(core_foundation_handle, CFStringGetSystemEncoding); - V(core_foundation_handle, CFDataGetBytePtr); - V(core_foundation_handle, CFDataGetLength); - V(core_foundation_handle, CFDataGetBytes); - V(core_foundation_handle, CFRelease); -#undef V - -#define S(s) pCFStringCreateWithCString(NULL, (s), kCFStringEncodingUTF8) - - kr = pIOMasterPort(MACH_PORT_NULL, &mach_port); - assert(kr == KERN_SUCCESS); - CFMutableDictionaryRef classes_to_match - = pIOServiceMatching("IOPlatformDevice"); - kr = pIOServiceGetMatchingServices(mach_port, classes_to_match, &it); - assert(kr == KERN_SUCCESS); - service = pIOIteratorNext(it); - - CFStringRef device_type_str = S("device_type"); - CFStringRef clock_frequency_str = S("clock-frequency"); - - while (service != 0) { - CFDataRef data; - data = pIORegistryEntryCreateCFProperty(service, - device_type_str, - NULL, - 0); - if (data) { - const UInt8* raw = pCFDataGetBytePtr(data); - if (strncmp((char*)raw, "cpu", 3) == 0 || - strncmp((char*)raw, "processor", 9) == 0) { - CFDataRef freq_ref; - freq_ref = pIORegistryEntryCreateCFProperty(service, - clock_frequency_str, - NULL, - 0); - if (freq_ref) { - const UInt8* freq_ref_ptr = pCFDataGetBytePtr(freq_ref); - CFIndex len = pCFDataGetLength(freq_ref); - if (len == 8) - memcpy(speed, freq_ref_ptr, 8); - else if (len == 4) { - uint32_t v; - memcpy(&v, freq_ref_ptr, 4); - *speed = v; - } else { - *speed = 0; - } - - pCFRelease(freq_ref); - pCFRelease(data); - break; - } - } - pCFRelease(data); - } - - service = pIOIteratorNext(it); - } - - pIOObjectRelease(it); - - err = 0; - - if (device_type_str != NULL) - pCFRelease(device_type_str); - if (clock_frequency_str != NULL) - pCFRelease(clock_frequency_str); - -out: - if (core_foundation_handle != NULL) - dlclose(core_foundation_handle); - - if (iokit_handle != NULL) - dlclose(iokit_handle); - - mach_port_deallocate(mach_task_self(), mach_port); - - return err; -} - int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { unsigned int ticks = (unsigned int)sysconf(_SC_CLK_TCK), multiplier = ((uint64_t)1000L / ticks); char model[512]; + uint64_t cpuspeed; size_t size; unsigned int i; natural_t numcpus; mach_msg_type_number_t msg_type; processor_cpu_load_info_data_t *info; uv_cpu_info_t* cpu_info; - uint64_t cpuspeed; - int err; size = sizeof(model); if (sysctlbyname("machdep.cpu.brand_string", &model, &size, NULL, 0) && @@ -343,9 +203,13 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { return UV__ERR(errno); } - err = uv__get_cpu_speed(&cpuspeed); - if (err < 0) - return err; + cpuspeed = 0; + size = sizeof(cpuspeed); + sysctlbyname("hw.cpufrequency", &cpuspeed, &size, NULL, 0); + if (cpuspeed == 0) + /* If sysctl hw.cputype == CPU_TYPE_ARM64, the correct value is unavailable + * from Apple, but we can hard-code it here to a plausible value. */ + cpuspeed = 2400000000; if (host_processor_info(mach_host_self(), PROCESSOR_CPU_LOAD_INFO, &numcpus, (processor_info_array_t*)&info, diff --git a/deps/uv/src/unix/epoll.c b/deps/uv/src/unix/epoll.c deleted file mode 100644 index 97348e254b4556..00000000000000 --- a/deps/uv/src/unix/epoll.c +++ /dev/null @@ -1,422 +0,0 @@ -/* Copyright libuv 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. - */ - -#include "uv.h" -#include "internal.h" -#include -#include - -int uv__epoll_init(uv_loop_t* loop) { - int fd; - fd = epoll_create1(O_CLOEXEC); - - /* epoll_create1() can fail either because it's not implemented (old kernel) - * or because it doesn't understand the O_CLOEXEC flag. - */ - if (fd == -1 && (errno == ENOSYS || errno == EINVAL)) { - fd = epoll_create(256); - - if (fd != -1) - uv__cloexec(fd, 1); - } - - loop->backend_fd = fd; - if (fd == -1) - return UV__ERR(errno); - - return 0; -} - - -void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) { - struct epoll_event* events; - struct epoll_event dummy; - uintptr_t i; - uintptr_t nfds; - - assert(loop->watchers != NULL); - assert(fd >= 0); - - events = (struct epoll_event*) loop->watchers[loop->nwatchers]; - nfds = (uintptr_t) loop->watchers[loop->nwatchers + 1]; - if (events != NULL) - /* Invalidate events with same file descriptor */ - for (i = 0; i < nfds; i++) - if (events[i].data.fd == fd) - events[i].data.fd = -1; - - /* Remove the file descriptor from the epoll. - * This avoids a problem where the same file description remains open - * in another process, causing repeated junk epoll events. - * - * We pass in a dummy epoll_event, to work around a bug in old kernels. - */ - if (loop->backend_fd >= 0) { - /* Work around a bug in kernels 3.10 to 3.19 where passing a struct that - * has the EPOLLWAKEUP flag set generates spurious audit syslog warnings. - */ - memset(&dummy, 0, sizeof(dummy)); - epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, &dummy); - } -} - - -int uv__io_check_fd(uv_loop_t* loop, int fd) { - struct epoll_event e; - int rc; - - memset(&e, 0, sizeof(e)); - e.events = POLLIN; - e.data.fd = -1; - - rc = 0; - if (epoll_ctl(loop->backend_fd, EPOLL_CTL_ADD, fd, &e)) - if (errno != EEXIST) - rc = UV__ERR(errno); - - if (rc == 0) - if (epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, &e)) - abort(); - - return rc; -} - - -void uv__io_poll(uv_loop_t* loop, int timeout) { - /* A bug in kernels < 2.6.37 makes timeouts larger than ~30 minutes - * effectively infinite on 32 bits architectures. To avoid blocking - * indefinitely, we cap the timeout and poll again if necessary. - * - * Note that "30 minutes" is a simplification because it depends on - * the value of CONFIG_HZ. The magic constant assumes CONFIG_HZ=1200, - * that being the largest value I have seen in the wild (and only once.) - */ - static const int max_safe_timeout = 1789569; - static int no_epoll_pwait_cached; - static int no_epoll_wait_cached; - int no_epoll_pwait; - int no_epoll_wait; - struct epoll_event events[1024]; - struct epoll_event* pe; - struct epoll_event e; - int real_timeout; - QUEUE* q; - uv__io_t* w; - sigset_t sigset; - uint64_t sigmask; - uint64_t base; - int have_signals; - int nevents; - int count; - int nfds; - int fd; - int op; - int i; - int user_timeout; - int reset_timeout; - - if (loop->nfds == 0) { - assert(QUEUE_EMPTY(&loop->watcher_queue)); - return; - } - - memset(&e, 0, sizeof(e)); - - while (!QUEUE_EMPTY(&loop->watcher_queue)) { - q = QUEUE_HEAD(&loop->watcher_queue); - QUEUE_REMOVE(q); - QUEUE_INIT(q); - - w = QUEUE_DATA(q, uv__io_t, watcher_queue); - assert(w->pevents != 0); - assert(w->fd >= 0); - assert(w->fd < (int) loop->nwatchers); - - e.events = w->pevents; - e.data.fd = w->fd; - - if (w->events == 0) - op = EPOLL_CTL_ADD; - else - op = EPOLL_CTL_MOD; - - /* XXX Future optimization: do EPOLL_CTL_MOD lazily if we stop watching - * events, skip the syscall and squelch the events after epoll_wait(). - */ - if (epoll_ctl(loop->backend_fd, op, w->fd, &e)) { - if (errno != EEXIST) - abort(); - - assert(op == EPOLL_CTL_ADD); - - /* We've reactivated a file descriptor that's been watched before. */ - if (epoll_ctl(loop->backend_fd, EPOLL_CTL_MOD, w->fd, &e)) - abort(); - } - - w->events = w->pevents; - } - - sigmask = 0; - if (loop->flags & UV_LOOP_BLOCK_SIGPROF) { - sigemptyset(&sigset); - sigaddset(&sigset, SIGPROF); - sigmask |= 1 << (SIGPROF - 1); - } - - assert(timeout >= -1); - base = loop->time; - count = 48; /* Benchmarks suggest this gives the best throughput. */ - real_timeout = timeout; - - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { - reset_timeout = 1; - user_timeout = timeout; - timeout = 0; - } else { - reset_timeout = 0; - user_timeout = 0; - } - - /* You could argue there is a dependency between these two but - * ultimately we don't care about their ordering with respect - * to one another. Worst case, we make a few system calls that - * could have been avoided because another thread already knows - * they fail with ENOSYS. Hardly the end of the world. - */ - no_epoll_pwait = uv__load_relaxed(&no_epoll_pwait_cached); - no_epoll_wait = uv__load_relaxed(&no_epoll_wait_cached); - - for (;;) { - /* Only need to set the provider_entry_time if timeout != 0. The function - * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME. - */ - if (timeout != 0) - uv__metrics_set_provider_entry_time(loop); - - /* See the comment for max_safe_timeout for an explanation of why - * this is necessary. Executive summary: kernel bug workaround. - */ - if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout) - timeout = max_safe_timeout; - - if (sigmask != 0 && no_epoll_pwait != 0) - if (pthread_sigmask(SIG_BLOCK, &sigset, NULL)) - abort(); - - if (no_epoll_wait != 0 || (sigmask != 0 && no_epoll_pwait == 0)) { - nfds = epoll_pwait(loop->backend_fd, - events, - ARRAY_SIZE(events), - timeout, - &sigset); - if (nfds == -1 && errno == ENOSYS) { - uv__store_relaxed(&no_epoll_pwait_cached, 1); - no_epoll_pwait = 1; - } - } else { - nfds = epoll_wait(loop->backend_fd, - events, - ARRAY_SIZE(events), - timeout); - if (nfds == -1 && errno == ENOSYS) { - uv__store_relaxed(&no_epoll_wait_cached, 1); - no_epoll_wait = 1; - } - } - - if (sigmask != 0 && no_epoll_pwait != 0) - if (pthread_sigmask(SIG_UNBLOCK, &sigset, NULL)) - abort(); - - /* Update loop->time unconditionally. It's tempting to skip the update when - * timeout == 0 (i.e. non-blocking poll) but there is no guarantee that the - * operating system didn't reschedule our process while in the syscall. - */ - SAVE_ERRNO(uv__update_time(loop)); - - if (nfds == 0) { - assert(timeout != -1); - - if (reset_timeout != 0) { - timeout = user_timeout; - reset_timeout = 0; - } - - if (timeout == -1) - continue; - - if (timeout == 0) - return; - - /* We may have been inside the system call for longer than |timeout| - * milliseconds so we need to update the timestamp to avoid drift. - */ - goto update_timeout; - } - - if (nfds == -1) { - if (errno == ENOSYS) { - /* epoll_wait() or epoll_pwait() failed, try the other system call. */ - assert(no_epoll_wait == 0 || no_epoll_pwait == 0); - continue; - } - - if (errno != EINTR) - abort(); - - if (reset_timeout != 0) { - timeout = user_timeout; - reset_timeout = 0; - } - - if (timeout == -1) - continue; - - if (timeout == 0) - return; - - /* Interrupted by a signal. Update timeout and poll again. */ - goto update_timeout; - } - - have_signals = 0; - nevents = 0; - - { - /* Squelch a -Waddress-of-packed-member warning with gcc >= 9. */ - union { - struct epoll_event* events; - uv__io_t* watchers; - } x; - - x.events = events; - assert(loop->watchers != NULL); - loop->watchers[loop->nwatchers] = x.watchers; - loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds; - } - - for (i = 0; i < nfds; i++) { - pe = events + i; - fd = pe->data.fd; - - /* Skip invalidated events, see uv__platform_invalidate_fd */ - if (fd == -1) - continue; - - assert(fd >= 0); - assert((unsigned) fd < loop->nwatchers); - - w = loop->watchers[fd]; - - if (w == NULL) { - /* File descriptor that we've stopped watching, disarm it. - * - * Ignore all errors because we may be racing with another thread - * when the file descriptor is closed. - */ - epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, pe); - continue; - } - - /* Give users only events they're interested in. Prevents spurious - * callbacks when previous callback invocation in this loop has stopped - * the current watcher. Also, filters out events that users has not - * requested us to watch. - */ - pe->events &= w->pevents | POLLERR | POLLHUP; - - /* Work around an epoll quirk where it sometimes reports just the - * EPOLLERR or EPOLLHUP event. In order to force the event loop to - * move forward, we merge in the read/write events that the watcher - * is interested in; uv__read() and uv__write() will then deal with - * the error or hangup in the usual fashion. - * - * Note to self: happens when epoll reports EPOLLIN|EPOLLHUP, the user - * reads the available data, calls uv_read_stop(), then sometime later - * calls uv_read_start() again. By then, libuv has forgotten about the - * hangup and the kernel won't report EPOLLIN again because there's - * nothing left to read. If anything, libuv is to blame here. The - * current hack is just a quick bandaid; to properly fix it, libuv - * needs to remember the error/hangup event. We should get that for - * free when we switch over to edge-triggered I/O. - */ - if (pe->events == POLLERR || pe->events == POLLHUP) - pe->events |= - w->pevents & (POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI); - - if (pe->events != 0) { - /* Run signal watchers last. This also affects child process watchers - * because those are implemented in terms of signal watchers. - */ - if (w == &loop->signal_io_watcher) { - have_signals = 1; - } else { - uv__metrics_update_idle_time(loop); - w->cb(loop, w, pe->events); - } - - nevents++; - } - } - - if (reset_timeout != 0) { - timeout = user_timeout; - reset_timeout = 0; - } - - if (have_signals != 0) { - uv__metrics_update_idle_time(loop); - loop->signal_io_watcher.cb(loop, &loop->signal_io_watcher, POLLIN); - } - - loop->watchers[loop->nwatchers] = NULL; - loop->watchers[loop->nwatchers + 1] = NULL; - - if (have_signals != 0) - return; /* Event loop should cycle now so don't poll again. */ - - if (nevents != 0) { - if (nfds == ARRAY_SIZE(events) && --count != 0) { - /* Poll for more events but don't block this time. */ - timeout = 0; - continue; - } - return; - } - - if (timeout == 0) - return; - - if (timeout == -1) - continue; - -update_timeout: - assert(timeout > 0); - - real_timeout -= (loop->time - base); - if (real_timeout <= 0) - return; - - timeout = real_timeout; - } -} - diff --git a/deps/uv/src/unix/freebsd.c b/deps/uv/src/unix/freebsd.c index 658ff262d3738e..191bc8bc213ffd 100644 --- a/deps/uv/src/unix/freebsd.c +++ b/deps/uv/src/unix/freebsd.c @@ -91,7 +91,7 @@ uint64_t uv_get_free_memory(void) { size_t size = sizeof(freecount); if (sysctlbyname("vm.stats.vm.v_free_count", &freecount, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) freecount * sysconf(_SC_PAGESIZE); @@ -105,7 +105,7 @@ uint64_t uv_get_total_memory(void) { size_t size = sizeof(info); if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) info; } @@ -116,6 +116,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + void uv_loadavg(double avg[3]) { struct loadavg info; size_t size = sizeof(info); @@ -264,30 +269,6 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { } -int uv__sendmmsg(int fd, struct uv__mmsghdr* mmsg, unsigned int vlen) { -#if __FreeBSD__ >= 11 && !defined(__DragonFly__) - return sendmmsg(fd, - (struct mmsghdr*) mmsg, - vlen, - 0 /* flags */); -#else - return errno = ENOSYS, -1; -#endif -} - - -int uv__recvmmsg(int fd, struct uv__mmsghdr* mmsg, unsigned int vlen) { -#if __FreeBSD__ >= 11 && !defined(__DragonFly__) - return recvmmsg(fd, - (struct mmsghdr*) mmsg, - vlen, - 0 /* flags */, - NULL /* timeout */); -#else - return errno = ENOSYS, -1; -#endif -} - ssize_t uv__fs_copy_file_range(int fd_in, off_t* off_in, diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c index 933c9c0dc2da40..5f9aae373b9fd2 100644 --- a/deps/uv/src/unix/fs.c +++ b/deps/uv/src/unix/fs.c @@ -48,7 +48,6 @@ #if defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__OpenBSD__) || \ defined(__NetBSD__) # define HAVE_PREADV 1 @@ -57,10 +56,11 @@ #endif #if defined(__linux__) -# include "sys/utsname.h" +# include +# include #endif -#if defined(__linux__) || defined(__sun) +#if defined(__sun) # include # include #endif @@ -79,7 +79,6 @@ #if defined(__APPLE__) || \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__OpenBSD__) || \ defined(__NetBSD__) # include @@ -256,7 +255,6 @@ static ssize_t uv__fs_futime(uv_fs_t* req) { #elif defined(__APPLE__) \ || defined(__DragonFly__) \ || defined(__FreeBSD__) \ - || defined(__FreeBSD_kernel__) \ || defined(__NetBSD__) \ || defined(__OpenBSD__) \ || defined(__sun) @@ -311,7 +309,7 @@ static int uv__fs_mkstemp(uv_fs_t* req) { static uv_once_t once = UV_ONCE_INIT; int r; #ifdef O_CLOEXEC - static int no_cloexec_support; + static _Atomic int no_cloexec_support; #endif static const char pattern[] = "XXXXXX"; static const size_t pattern_size = sizeof(pattern) - 1; @@ -336,7 +334,8 @@ static int uv__fs_mkstemp(uv_fs_t* req) { uv_once(&once, uv__mkostemp_initonce); #ifdef O_CLOEXEC - if (uv__load_relaxed(&no_cloexec_support) == 0 && uv__mkostemp != NULL) { + if (atomic_load_explicit(&no_cloexec_support, memory_order_relaxed) == 0 && + uv__mkostemp != NULL) { r = uv__mkostemp(path, O_CLOEXEC); if (r >= 0) @@ -349,7 +348,7 @@ static int uv__fs_mkstemp(uv_fs_t* req) { /* We set the static variable so that next calls don't even try to use mkostemp. */ - uv__store_relaxed(&no_cloexec_support, 1); + atomic_store_explicit(&no_cloexec_support, 1, memory_order_relaxed); } #endif /* O_CLOEXEC */ @@ -459,7 +458,7 @@ static ssize_t uv__fs_preadv(uv_file fd, static ssize_t uv__fs_read(uv_fs_t* req) { #if defined(__linux__) - static int no_preadv; + static _Atomic int no_preadv; #endif unsigned int iovmax; ssize_t result; @@ -483,19 +482,19 @@ static ssize_t uv__fs_read(uv_fs_t* req) { result = preadv(req->file, (struct iovec*) req->bufs, req->nbufs, req->off); #else # if defined(__linux__) - if (uv__load_relaxed(&no_preadv)) retry: + if (atomic_load_explicit(&no_preadv, memory_order_relaxed)) retry: # endif { result = uv__fs_preadv(req->file, req->bufs, req->nbufs, req->off); } # if defined(__linux__) else { - result = uv__preadv(req->file, - (struct iovec*)req->bufs, - req->nbufs, - req->off); + result = preadv(req->file, + (struct iovec*) req->bufs, + req->nbufs, + req->off); if (result == -1 && errno == ENOSYS) { - uv__store_relaxed(&no_preadv, 1); + atomic_store_explicit(&no_preadv, 1, memory_order_relaxed); goto retry; } } @@ -516,7 +515,7 @@ static ssize_t uv__fs_read(uv_fs_t* req) { if (result == -1 && errno == EOPNOTSUPP) { struct stat buf; ssize_t rc; - rc = fstat(req->file, &buf); + rc = uv__fstat(req->file, &buf); if (rc == 0 && S_ISDIR(buf.st_mode)) { errno = EISDIR; } @@ -527,19 +526,12 @@ static ssize_t uv__fs_read(uv_fs_t* req) { } -#if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_8) -#define UV_CONST_DIRENT uv__dirent_t -#else -#define UV_CONST_DIRENT const uv__dirent_t -#endif - - -static int uv__fs_scandir_filter(UV_CONST_DIRENT* dent) { +static int uv__fs_scandir_filter(const uv__dirent_t* dent) { return strcmp(dent->d_name, ".") != 0 && strcmp(dent->d_name, "..") != 0; } -static int uv__fs_scandir_sort(UV_CONST_DIRENT** a, UV_CONST_DIRENT** b) { +static int uv__fs_scandir_sort(const uv__dirent_t** a, const uv__dirent_t** b) { return strcmp((*a)->d_name, (*b)->d_name); } @@ -715,7 +707,7 @@ static ssize_t uv__fs_readlink(uv_fs_t* req) { /* We may not have a real PATH_MAX. Read size of link. */ struct stat st; int ret; - ret = lstat(req->path, &st); + ret = uv__lstat(req->path, &st); if (ret != 0) return -1; if (!S_ISLNK(st.st_mode)) { @@ -908,14 +900,14 @@ static ssize_t uv__fs_sendfile_emul(uv_fs_t* req) { #ifdef __linux__ static unsigned uv__kernel_version(void) { - static unsigned cached_version; + static _Atomic unsigned cached_version; struct utsname u; unsigned version; unsigned major; unsigned minor; unsigned patch; - version = uv__load_relaxed(&cached_version); + version = atomic_load_explicit(&cached_version, memory_order_relaxed); if (version != 0) return version; @@ -926,7 +918,7 @@ static unsigned uv__kernel_version(void) { return 0; version = major * 65536 + minor * 256 + patch; - uv__store_relaxed(&cached_version, version); + atomic_store_explicit(&cached_version, version, memory_order_relaxed); return version; } @@ -968,10 +960,10 @@ static int uv__is_cifs_or_smb(int fd) { static ssize_t uv__fs_try_copy_file_range(int in_fd, off_t* off, int out_fd, size_t len) { - static int no_copy_file_range_support; + static _Atomic int no_copy_file_range_support; ssize_t r; - if (uv__load_relaxed(&no_copy_file_range_support)) { + if (atomic_load_explicit(&no_copy_file_range_support, memory_order_relaxed)) { errno = ENOSYS; return -1; } @@ -990,7 +982,7 @@ static ssize_t uv__fs_try_copy_file_range(int in_fd, off_t* off, errno = ENOSYS; /* Use fallback. */ break; case ENOSYS: - uv__store_relaxed(&no_copy_file_range_support, 1); + atomic_store_explicit(&no_copy_file_range_support, 1, memory_order_relaxed); break; case EPERM: /* It's been reported that CIFS spuriously fails. @@ -1061,10 +1053,7 @@ static ssize_t uv__fs_sendfile(uv_fs_t* req) { return -1; } -#elif defined(__APPLE__) || \ - defined(__DragonFly__) || \ - defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) +#elif defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__) { off_t len; ssize_t r; @@ -1088,15 +1077,6 @@ static ssize_t uv__fs_sendfile(uv_fs_t* req) { #endif len = 0; r = sendfile(in_fd, out_fd, req->off, req->bufsml[0].len, NULL, &len, 0); -#elif defined(__FreeBSD_kernel__) - len = 0; - r = bsd_sendfile(in_fd, - out_fd, - req->off, - req->bufsml[0].len, - NULL, - &len, - 0); #else /* The darwin sendfile takes len as an input for the length to send, * so make sure to initialize it with the caller's value. */ @@ -1148,7 +1128,6 @@ static ssize_t uv__fs_utime(uv_fs_t* req) { #elif defined(__APPLE__) \ || defined(__DragonFly__) \ || defined(__FreeBSD__) \ - || defined(__FreeBSD_kernel__) \ || defined(__NetBSD__) \ || defined(__OpenBSD__) struct timeval tv[2]; @@ -1190,7 +1169,6 @@ static ssize_t uv__fs_lutime(uv_fs_t* req) { #elif defined(__APPLE__) || \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__NetBSD__) struct timeval tv[2]; tv[0] = uv__fs_to_timeval(req->atime); @@ -1241,10 +1219,10 @@ static ssize_t uv__fs_write(uv_fs_t* req) { } # if defined(__linux__) else { - r = uv__pwritev(req->file, - (struct iovec*) req->bufs, - req->nbufs, - req->off); + r = pwritev(req->file, + (struct iovec*) req->bufs, + req->nbufs, + req->off); if (r == -1 && errno == ENOSYS) { no_pwritev = 1; goto retry; @@ -1288,7 +1266,7 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { return srcfd; /* Get the source file's mode. */ - if (fstat(srcfd, &src_statsbuf)) { + if (uv__fstat(srcfd, &src_statsbuf)) { err = UV__ERR(errno); goto out; } @@ -1316,7 +1294,7 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { destination are not the same file. If they are the same, bail out early. */ if ((req->flags & UV_FS_COPYFILE_EXCL) == 0) { /* Get the destination file's mode. */ - if (fstat(dstfd, &dst_statsbuf)) { + if (uv__fstat(dstfd, &dst_statsbuf)) { err = UV__ERR(errno); goto out; } @@ -1330,7 +1308,19 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { /* Truncate the file in case the destination already existed. */ if (ftruncate(dstfd, 0) != 0) { err = UV__ERR(errno); - goto out; + + /* ftruncate() on ceph-fuse fails with EACCES when the file is created + * with read only permissions. Since ftruncate() on a newly created + * file is a meaningless operation anyway, detect that condition + * and squelch the error. + */ + if (err != UV_EACCES) + goto out; + + if (dst_statsbuf.st_size > 0) + goto out; + + err = 0; } } @@ -1514,14 +1504,14 @@ static int uv__fs_statx(int fd, uv_stat_t* buf) { STATIC_ASSERT(UV_ENOSYS != -1); #ifdef __linux__ - static int no_statx; + static _Atomic int no_statx; struct uv__statx statxbuf; int dirfd; int flags; int mode; int rc; - if (uv__load_relaxed(&no_statx)) + if (atomic_load_explicit(&no_statx, memory_order_relaxed)) return UV_ENOSYS; dirfd = AT_FDCWD; @@ -1555,30 +1545,11 @@ static int uv__fs_statx(int fd, * implemented, rc might return 1 with 0 set as the error code in which * case we return ENOSYS. */ - uv__store_relaxed(&no_statx, 1); + atomic_store_explicit(&no_statx, 1, memory_order_relaxed); return UV_ENOSYS; } - buf->st_dev = makedev(statxbuf.stx_dev_major, statxbuf.stx_dev_minor); - buf->st_mode = statxbuf.stx_mode; - buf->st_nlink = statxbuf.stx_nlink; - buf->st_uid = statxbuf.stx_uid; - buf->st_gid = statxbuf.stx_gid; - buf->st_rdev = makedev(statxbuf.stx_rdev_major, statxbuf.stx_rdev_minor); - buf->st_ino = statxbuf.stx_ino; - buf->st_size = statxbuf.stx_size; - buf->st_blksize = statxbuf.stx_blksize; - buf->st_blocks = statxbuf.stx_blocks; - buf->st_atim.tv_sec = statxbuf.stx_atime.tv_sec; - buf->st_atim.tv_nsec = statxbuf.stx_atime.tv_nsec; - buf->st_mtim.tv_sec = statxbuf.stx_mtime.tv_sec; - buf->st_mtim.tv_nsec = statxbuf.stx_mtime.tv_nsec; - buf->st_ctim.tv_sec = statxbuf.stx_ctime.tv_sec; - buf->st_ctim.tv_nsec = statxbuf.stx_ctime.tv_nsec; - buf->st_birthtim.tv_sec = statxbuf.stx_btime.tv_sec; - buf->st_birthtim.tv_nsec = statxbuf.stx_btime.tv_nsec; - buf->st_flags = 0; - buf->st_gen = 0; + uv__statx_to_stat(&statxbuf, buf); return 0; #else @@ -1595,7 +1566,7 @@ static int uv__fs_stat(const char *path, uv_stat_t *buf) { if (ret != UV_ENOSYS) return ret; - ret = stat(path, &pbuf); + ret = uv__stat(path, &pbuf); if (ret == 0) uv__to_stat(&pbuf, buf); @@ -1611,7 +1582,7 @@ static int uv__fs_lstat(const char *path, uv_stat_t *buf) { if (ret != UV_ENOSYS) return ret; - ret = lstat(path, &pbuf); + ret = uv__lstat(path, &pbuf); if (ret == 0) uv__to_stat(&pbuf, buf); @@ -1627,7 +1598,7 @@ static int uv__fs_fstat(int fd, uv_stat_t *buf) { if (ret != UV_ENOSYS) return ret; - ret = fstat(fd, &pbuf); + ret = uv__fstat(fd, &pbuf); if (ret == 0) uv__to_stat(&pbuf, buf); @@ -1822,6 +1793,9 @@ int uv_fs_chown(uv_loop_t* loop, int uv_fs_close(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { INIT(CLOSE); req->file = file; + if (cb != NULL) + if (uv__iou_fs_close(loop, req)) + return 0; POST; } @@ -1869,6 +1843,9 @@ int uv_fs_lchown(uv_loop_t* loop, int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { INIT(FDATASYNC); req->file = file; + if (cb != NULL) + if (uv__iou_fs_fsync_or_fdatasync(loop, req, /* IORING_FSYNC_DATASYNC */ 1)) + return 0; POST; } @@ -1876,6 +1853,9 @@ int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { int uv_fs_fstat(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { INIT(FSTAT); req->file = file; + if (cb != NULL) + if (uv__iou_fs_statx(loop, req, /* is_fstat */ 1, /* is_lstat */ 0)) + return 0; POST; } @@ -1883,6 +1863,9 @@ int uv_fs_fstat(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { int uv_fs_fsync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { INIT(FSYNC); req->file = file; + if (cb != NULL) + if (uv__iou_fs_fsync_or_fdatasync(loop, req, /* no flags */ 0)) + return 0; POST; } @@ -1929,6 +1912,9 @@ int uv_fs_lutime(uv_loop_t* loop, int uv_fs_lstat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) { INIT(LSTAT); PATH; + if (cb != NULL) + if (uv__iou_fs_statx(loop, req, /* is_fstat */ 0, /* is_lstat */ 1)) + return 0; POST; } @@ -1990,6 +1976,9 @@ int uv_fs_open(uv_loop_t* loop, PATH; req->flags = flags; req->mode = mode; + if (cb != NULL) + if (uv__iou_fs_open(loop, req)) + return 0; POST; } @@ -2018,6 +2007,11 @@ int uv_fs_read(uv_loop_t* loop, uv_fs_t* req, memcpy(req->bufs, bufs, nbufs * sizeof(*bufs)); req->off = off; + + if (cb != NULL) + if (uv__iou_fs_read_or_write(loop, req, /* is_read */ 1)) + return 0; + POST; } @@ -2125,6 +2119,9 @@ int uv_fs_sendfile(uv_loop_t* loop, int uv_fs_stat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) { INIT(STAT); PATH; + if (cb != NULL) + if (uv__iou_fs_statx(loop, req, /* is_fstat */ 0, /* is_lstat */ 0)) + return 0; POST; } @@ -2188,6 +2185,11 @@ int uv_fs_write(uv_loop_t* loop, memcpy(req->bufs, bufs, nbufs * sizeof(*bufs)); req->off = off; + + if (cb != NULL) + if (uv__iou_fs_read_or_write(loop, req, /* is_read */ 0)) + return 0; + POST; } @@ -2196,7 +2198,7 @@ void uv_fs_req_cleanup(uv_fs_t* req) { if (req == NULL) return; - /* Only necessary for asychronous requests, i.e., requests with a callback. + /* Only necessary for asynchronous requests, i.e., requests with a callback. * Synchronous ones don't copy their arguments and have req->path and * req->new_path pointing to user-owned memory. UV_FS_MKDTEMP and * UV_FS_MKSTEMP are the exception to the rule, they always allocate memory. diff --git a/deps/uv/src/unix/fsevents.c b/deps/uv/src/unix/fsevents.c index bf4f1f6a5180ab..0535b4547aa961 100644 --- a/deps/uv/src/unix/fsevents.c +++ b/deps/uv/src/unix/fsevents.c @@ -132,7 +132,6 @@ static void (*pCFRunLoopWakeUp)(CFRunLoopRef); static CFStringRef (*pCFStringCreateWithFileSystemRepresentation)( CFAllocatorRef, const char*); -static CFStringEncoding (*pCFStringGetSystemEncoding)(void); static CFStringRef (*pkCFRunLoopDefaultMode); static FSEventStreamRef (*pFSEventStreamCreate)(CFAllocatorRef, FSEventStreamCallback, @@ -141,7 +140,6 @@ static FSEventStreamRef (*pFSEventStreamCreate)(CFAllocatorRef, FSEventStreamEventId, CFTimeInterval, FSEventStreamCreateFlags); -static void (*pFSEventStreamFlushSync)(FSEventStreamRef); static void (*pFSEventStreamInvalidate)(FSEventStreamRef); static void (*pFSEventStreamRelease)(FSEventStreamRef); static void (*pFSEventStreamScheduleWithRunLoop)(FSEventStreamRef, @@ -331,8 +329,9 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef, /* Runs in CF thread */ -static int uv__fsevents_create_stream(uv_loop_t* loop, CFArrayRef paths) { - uv__cf_loop_state_t* state; +static int uv__fsevents_create_stream(uv__cf_loop_state_t* state, + uv_loop_t* loop, + CFArrayRef paths) { FSEventStreamContext ctx; FSEventStreamRef ref; CFAbsoluteTime latency; @@ -373,10 +372,7 @@ static int uv__fsevents_create_stream(uv_loop_t* loop, CFArrayRef paths) { flags); assert(ref != NULL); - state = loop->cf_state; - pFSEventStreamScheduleWithRunLoop(ref, - state->loop, - *pkCFRunLoopDefaultMode); + pFSEventStreamScheduleWithRunLoop(ref, state->loop, *pkCFRunLoopDefaultMode); if (!pFSEventStreamStart(ref)) { pFSEventStreamInvalidate(ref); pFSEventStreamRelease(ref); @@ -389,11 +385,7 @@ static int uv__fsevents_create_stream(uv_loop_t* loop, CFArrayRef paths) { /* Runs in CF thread */ -static void uv__fsevents_destroy_stream(uv_loop_t* loop) { - uv__cf_loop_state_t* state; - - state = loop->cf_state; - +static void uv__fsevents_destroy_stream(uv__cf_loop_state_t* state) { if (state->fsevent_stream == NULL) return; @@ -408,9 +400,9 @@ static void uv__fsevents_destroy_stream(uv_loop_t* loop) { /* Runs in CF thread, when there're new fsevent handles to add to stream */ -static void uv__fsevents_reschedule(uv_fs_event_t* handle, +static void uv__fsevents_reschedule(uv__cf_loop_state_t* state, + uv_loop_t* loop, uv__cf_loop_signal_type_t type) { - uv__cf_loop_state_t* state; QUEUE* q; uv_fs_event_t* curr; CFArrayRef cf_paths; @@ -419,7 +411,6 @@ static void uv__fsevents_reschedule(uv_fs_event_t* handle, int err; unsigned int path_count; - state = handle->loop->cf_state; paths = NULL; cf_paths = NULL; err = 0; @@ -438,7 +429,7 @@ static void uv__fsevents_reschedule(uv_fs_event_t* handle, uv_mutex_unlock(&state->fsevent_mutex); /* Destroy previous FSEventStream */ - uv__fsevents_destroy_stream(handle->loop); + uv__fsevents_destroy_stream(state); /* Any failure below will be a memory failure */ err = UV_ENOMEM; @@ -478,7 +469,7 @@ static void uv__fsevents_reschedule(uv_fs_event_t* handle, err = UV_ENOMEM; goto final; } - err = uv__fsevents_create_stream(handle->loop, cf_paths); + err = uv__fsevents_create_stream(state, loop, cf_paths); } final: @@ -563,10 +554,8 @@ static int uv__fsevents_global_init(void) { V(core_foundation_handle, CFRunLoopStop); V(core_foundation_handle, CFRunLoopWakeUp); V(core_foundation_handle, CFStringCreateWithFileSystemRepresentation); - V(core_foundation_handle, CFStringGetSystemEncoding); V(core_foundation_handle, kCFRunLoopDefaultMode); V(core_services_handle, FSEventStreamCreate); - V(core_services_handle, FSEventStreamFlushSync); V(core_services_handle, FSEventStreamInvalidate); V(core_services_handle, FSEventStreamRelease); V(core_services_handle, FSEventStreamScheduleWithRunLoop); @@ -767,7 +756,7 @@ static void uv__cf_loop_cb(void* arg) { if (s->handle == NULL) pCFRunLoopStop(state->loop); else - uv__fsevents_reschedule(s->handle, s->type); + uv__fsevents_reschedule(state, loop, s->type); uv__free(s); } diff --git a/deps/uv/src/unix/haiku.c b/deps/uv/src/unix/haiku.c index cf17d836b4c7e8..31284b66dc3e96 100644 --- a/deps/uv/src/unix/haiku.c +++ b/deps/uv/src/unix/haiku.c @@ -84,6 +84,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + int uv_resident_set_memory(size_t* rss) { area_info area; ssize_t cookie; diff --git a/deps/uv/src/unix/hurd.c b/deps/uv/src/unix/hurd.c index d19ea6347906e3..63c878123f13ac 100644 --- a/deps/uv/src/unix/hurd.c +++ b/deps/uv/src/unix/hurd.c @@ -165,3 +165,8 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { uint64_t uv_get_constrained_memory(void) { return 0; /* Memory constraints are unknown. */ } + + +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} diff --git a/deps/uv/src/unix/ibmi.c b/deps/uv/src/unix/ibmi.c index 8c6ae636329e5b..837bba6e2fef7b 100644 --- a/deps/uv/src/unix/ibmi.c +++ b/deps/uv/src/unix/ibmi.c @@ -249,6 +249,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + void uv_loadavg(double avg[3]) { SSTS0200 rcvr; diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h index cee35c2106aed2..6c5822e6a0d2a3 100644 --- a/deps/uv/src/unix/internal.h +++ b/deps/uv/src/unix/internal.h @@ -26,21 +26,34 @@ #include #include /* _POSIX_PATH_MAX, PATH_MAX */ +#include #include /* abort */ #include /* strrchr */ #include /* O_CLOEXEC and O_NONBLOCK, if supported. */ #include #include #include +#include +#include + +#define uv__msan_unpoison(p, n) \ + do { \ + (void) (p); \ + (void) (n); \ + } while (0) + +#if defined(__has_feature) +# if __has_feature(memory_sanitizer) +# include +# undef uv__msan_unpoison +# define uv__msan_unpoison __msan_unpoison +# endif +#endif #if defined(__STRICT_ANSI__) # define inline __inline #endif -#if defined(__linux__) -# include "linux-syscalls.h" -#endif /* __linux__ */ - #if defined(__MVS__) # include "os390-syscalls.h" #endif /* __MVS__ */ @@ -79,13 +92,11 @@ # define UV__PATH_MAX 8192 #endif -#if defined(__ANDROID__) -int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset); -# ifdef pthread_sigmask -# undef pthread_sigmask -# endif -# define pthread_sigmask(how, set, oldset) uv__pthread_sigmask(how, set, oldset) -#endif +union uv__sockaddr { + struct sockaddr_in6 in6; + struct sockaddr_in in; + struct sockaddr addr; +}; #define ACCESS_ONCE(type, var) \ (*(volatile type*) &(var)) @@ -166,12 +177,42 @@ struct uv__stream_queued_fds_s { int fds[1]; }; +#ifdef __linux__ +struct uv__statx_timestamp { + int64_t tv_sec; + uint32_t tv_nsec; + int32_t unused0; +}; + +struct uv__statx { + uint32_t stx_mask; + uint32_t stx_blksize; + uint64_t stx_attributes; + uint32_t stx_nlink; + uint32_t stx_uid; + uint32_t stx_gid; + uint16_t stx_mode; + uint16_t unused0; + uint64_t stx_ino; + uint64_t stx_size; + uint64_t stx_blocks; + uint64_t stx_attributes_mask; + struct uv__statx_timestamp stx_atime; + struct uv__statx_timestamp stx_btime; + struct uv__statx_timestamp stx_ctime; + struct uv__statx_timestamp stx_mtime; + uint32_t stx_rdev_major; + uint32_t stx_rdev_minor; + uint32_t stx_dev_major; + uint32_t stx_dev_minor; + uint64_t unused1[14]; +}; +#endif /* __linux__ */ #if defined(_AIX) || \ defined(__APPLE__) || \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__linux__) || \ defined(__OpenBSD__) || \ defined(__NetBSD__) @@ -258,10 +299,10 @@ int uv__signal_loop_fork(uv_loop_t* loop); /* platform specific */ uint64_t uv__hrtime(uv_clocktype_t type); int uv__kqueue_init(uv_loop_t* loop); -int uv__epoll_init(uv_loop_t* loop); int uv__platform_loop_init(uv_loop_t* loop); void uv__platform_loop_delete(uv_loop_t* loop); void uv__platform_invalidate_fd(uv_loop_t* loop, int fd); +int uv__process_init(uv_loop_t* loop); /* various */ void uv__async_close(uv_async_t* handle); @@ -278,7 +319,6 @@ size_t uv__thread_stack_size(void); void uv__udp_close(uv_udp_t* handle); void uv__udp_finish_close(uv_udp_t* handle); FILE* uv__open_file(const char* path); -int uv__getpwuid_r(uv_passwd_t* pwd); int uv__search_path(const char* prog, char* buf, size_t* buflen); void uv__wait_children(uv_loop_t* loop); @@ -289,6 +329,28 @@ int uv__random_getentropy(void* buf, size_t buflen); int uv__random_readpath(const char* path, void* buf, size_t buflen); int uv__random_sysctl(void* buf, size_t buflen); +/* io_uring */ +#ifdef __linux__ +int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req); +int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop, + uv_fs_t* req, + uint32_t fsync_flags); +int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req); +int uv__iou_fs_read_or_write(uv_loop_t* loop, + uv_fs_t* req, + int is_read); +int uv__iou_fs_statx(uv_loop_t* loop, + uv_fs_t* req, + int is_fstat, + int is_lstat); +#else +#define uv__iou_fs_close(loop, req) 0 +#define uv__iou_fs_fsync_or_fdatasync(loop, req, fsync_flags) 0 +#define uv__iou_fs_open(loop, req) 0 +#define uv__iou_fs_read_or_write(loop, req, is_read) 0 +#define uv__iou_fs_statx(loop, req, is_fstat, is_lstat) 0 +#endif + #if defined(__APPLE__) int uv___stream_fd(const uv_stream_t* handle); #define uv__stream_fd(handle) (uv___stream_fd((const uv_stream_t*) (handle))) @@ -322,8 +384,51 @@ UV_UNUSED(static char* uv__basename_r(const char* path)) { return s + 1; } +UV_UNUSED(static int uv__fstat(int fd, struct stat* s)) { + int rc; + + rc = fstat(fd, s); + if (rc >= 0) + uv__msan_unpoison(s, sizeof(*s)); + + return rc; +} + +UV_UNUSED(static int uv__lstat(const char* path, struct stat* s)) { + int rc; + + rc = lstat(path, s); + if (rc >= 0) + uv__msan_unpoison(s, sizeof(*s)); + + return rc; +} + +UV_UNUSED(static int uv__stat(const char* path, struct stat* s)) { + int rc; + + rc = stat(path, s); + if (rc >= 0) + uv__msan_unpoison(s, sizeof(*s)); + + return rc; +} + #if defined(__linux__) -int uv__inotify_fork(uv_loop_t* loop, void* old_watchers); +ssize_t +uv__fs_copy_file_range(int fd_in, + off_t* off_in, + int fd_out, + off_t* off_out, + size_t len, + unsigned int flags); +int uv__statx(int dirfd, + const char* path, + int flags, + unsigned int mask, + struct uv__statx* statxbuf); +void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf); +ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags); #endif typedef int (*uv__peersockfunc)(int, struct sockaddr*, socklen_t*); @@ -333,22 +438,6 @@ int uv__getsockpeername(const uv_handle_t* handle, struct sockaddr* name, int* namelen); -#if defined(__linux__) || \ - defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ - defined(__DragonFly__) -#define HAVE_MMSG 1 -struct uv__mmsghdr { - struct msghdr msg_hdr; - unsigned int msg_len; -}; - -int uv__recvmmsg(int fd, struct uv__mmsghdr* mmsg, unsigned int vlen); -int uv__sendmmsg(int fd, struct uv__mmsghdr* mmsg, unsigned int vlen); -#else -#define HAVE_MMSG 0 -#endif - #if defined(__sun) #if !defined(_POSIX_VERSION) || _POSIX_VERSION < 200809L size_t strnlen(const char* s, size_t maxlen); @@ -365,5 +454,10 @@ uv__fs_copy_file_range(int fd_in, unsigned int flags); #endif +#if defined(__linux__) || (defined(__FreeBSD__) && __FreeBSD_version >= 1301000) +#define UV__CPU_AFFINITY_SUPPORTED 1 +#else +#define UV__CPU_AFFINITY_SUPPORTED 0 +#endif #endif /* UV_UNIX_INTERNAL_H_ */ diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c index 5dac76ae753c6c..82916d659332b8 100644 --- a/deps/uv/src/unix/kqueue.c +++ b/deps/uv/src/unix/kqueue.c @@ -60,7 +60,7 @@ int uv__kqueue_init(uv_loop_t* loop) { #if defined(__APPLE__) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 -static int uv__has_forked_with_cfrunloop; +static _Atomic int uv__has_forked_with_cfrunloop; #endif int uv__io_fork(uv_loop_t* loop) { @@ -82,7 +82,9 @@ int uv__io_fork(uv_loop_t* loop) { process. So we sidestep the issue by pretending like we never started it in the first place. */ - uv__store_relaxed(&uv__has_forked_with_cfrunloop, 1); + atomic_store_explicit(&uv__has_forked_with_cfrunloop, + 1, + memory_order_relaxed); uv__free(loop->cf_state); loop->cf_state = NULL; } @@ -109,7 +111,23 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) { } +static void uv__kqueue_delete(int kqfd, const struct kevent *ev) { + struct kevent change; + + EV_SET(&change, ev->ident, ev->filter, EV_DELETE, 0, 0, 0); + + if (0 == kevent(kqfd, &change, 1, NULL, 0, NULL)) + return; + + if (errno == EBADF || errno == ENOENT) + return; + + abort(); +} + + void uv__io_poll(uv_loop_t* loop, int timeout) { + uv__loop_internal_fields_t* lfields; struct kevent events[1024]; struct kevent* ev; struct timespec spec; @@ -138,6 +156,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { return; } + lfields = uv__get_internal_fields(loop); nevents = 0; while (!QUEUE_EMPTY(&loop->watcher_queue)) { @@ -205,7 +224,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { base = loop->time; count = 48; /* Benchmarks suggest this gives the best throughput. */ - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { + if (lfields->flags & UV_METRICS_IDLE_TIME) { reset_timeout = 1; user_timeout = timeout; timeout = 0; @@ -228,6 +247,12 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { if (pset != NULL) pthread_sigmask(SIG_BLOCK, pset, NULL); + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + nfds = kevent(loop->backend_fd, events, nevents, @@ -235,6 +260,9 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { ARRAY_SIZE(events), timeout == -1 ? NULL : &spec); + if (nfds == -1) + assert(errno == EINTR); + if (pset != NULL) pthread_sigmask(SIG_UNBLOCK, pset, NULL); @@ -242,36 +270,26 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { * timeout == 0 (i.e. non-blocking poll) but there is no guarantee that the * operating system didn't reschedule our process while in the syscall. */ - SAVE_ERRNO(uv__update_time(loop)); - - if (nfds == 0) { - if (reset_timeout != 0) { - timeout = user_timeout; - reset_timeout = 0; - if (timeout == -1) - continue; - if (timeout > 0) - goto update_timeout; + uv__update_time(loop); + + if (nfds == 0 || nfds == -1) { + /* If kqueue is empty or interrupted, we might still have children ready + * to reap immediately. */ + if (loop->flags & UV_LOOP_REAP_CHILDREN) { + loop->flags &= ~UV_LOOP_REAP_CHILDREN; + uv__wait_children(loop); + assert((reset_timeout == 0 ? timeout : user_timeout) == 0); + return; /* Equivalent to fall-through behavior. */ } - assert(timeout != -1); - return; - } - - if (nfds == -1) { - if (errno != EINTR) - abort(); - if (reset_timeout != 0) { timeout = user_timeout; reset_timeout = 0; - } - - if (timeout == 0) + } else if (nfds == 0) { + /* Reached the user timeout value. */ + assert(timeout != -1); return; - - if (timeout == -1) - continue; + } /* Interrupted by a signal. Update timeout and poll again. */ goto update_timeout; @@ -307,15 +325,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { w = loop->watchers[fd]; if (w == NULL) { - /* File descriptor that we've stopped watching, disarm it. - * TODO: batch up. */ - struct kevent events[1]; - - EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0); - if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL)) - if (errno != EBADF && errno != ENOENT) - abort(); - + /* File descriptor that we've stopped watching, disarm it. */ + uv__kqueue_delete(loop->backend_fd, ev); continue; } @@ -331,47 +342,27 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { revents = 0; if (ev->filter == EVFILT_READ) { - if (w->pevents & POLLIN) { + if (w->pevents & POLLIN) revents |= POLLIN; - w->rcount = ev->data; - } else { - /* TODO batch up */ - struct kevent events[1]; - EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0); - if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL)) - if (errno != ENOENT) - abort(); - } + else + uv__kqueue_delete(loop->backend_fd, ev); + if ((ev->flags & EV_EOF) && (w->pevents & UV__POLLRDHUP)) revents |= UV__POLLRDHUP; } if (ev->filter == EV_OOBAND) { - if (w->pevents & UV__POLLPRI) { + if (w->pevents & UV__POLLPRI) revents |= UV__POLLPRI; - w->rcount = ev->data; - } else { - /* TODO batch up */ - struct kevent events[1]; - EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0); - if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL)) - if (errno != ENOENT) - abort(); - } + else + uv__kqueue_delete(loop->backend_fd, ev); } if (ev->filter == EVFILT_WRITE) { - if (w->pevents & POLLOUT) { + if (w->pevents & POLLOUT) revents |= POLLOUT; - w->wcount = ev->data; - } else { - /* TODO batch up */ - struct kevent events[1]; - EV_SET(events + 0, fd, ev->filter, EV_DELETE, 0, 0, 0); - if (kevent(loop->backend_fd, events, 1, NULL, 0, NULL)) - if (errno != ENOENT) - abort(); - } + else + uv__kqueue_delete(loop->backend_fd, ev); } if (ev->flags & EV_ERROR) @@ -398,9 +389,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { uv__wait_children(loop); } + uv__metrics_inc_events(loop, nevents); if (reset_timeout != 0) { timeout = user_timeout; reset_timeout = 0; + uv__metrics_inc_events_waiting(loop, nevents); } if (have_signals != 0) { @@ -423,13 +416,13 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { return; } +update_timeout: if (timeout == 0) return; if (timeout == -1) continue; -update_timeout: assert(timeout > 0); diff = loop->time - base; @@ -541,13 +534,14 @@ int uv_fs_event_start(uv_fs_event_t* handle, handle->realpath_len = 0; handle->cf_flags = flags; - if (fstat(fd, &statbuf)) + if (uv__fstat(fd, &statbuf)) goto fallback; /* FSEvents works only with directories */ if (!(statbuf.st_mode & S_IFDIR)) goto fallback; - if (0 == uv__load_relaxed(&uv__has_forked_with_cfrunloop)) { + if (0 == atomic_load_explicit(&uv__has_forked_with_cfrunloop, + memory_order_relaxed)) { int r; /* The fallback fd is no longer needed */ uv__close_nocheckstdio(fd); @@ -582,7 +576,8 @@ int uv_fs_event_stop(uv_fs_event_t* handle) { uv__handle_stop(handle); #if defined(__APPLE__) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 - if (0 == uv__load_relaxed(&uv__has_forked_with_cfrunloop)) + if (0 == atomic_load_explicit(&uv__has_forked_with_cfrunloop, + memory_order_relaxed)) if (handle->cf_cb != NULL) r = uv__fsevents_close(handle); #endif diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c deleted file mode 100644 index 23a7dafec814f6..00000000000000 --- a/deps/uv/src/unix/linux-core.c +++ /dev/null @@ -1,834 +0,0 @@ -/* 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. - */ - -/* We lean on the fact that POLL{IN,OUT,ERR,HUP} correspond with their - * EPOLL* counterparts. We use the POLL* variants in this file because that - * is what libuv uses elsewhere. - */ - -#include "uv.h" -#include "internal.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#define HAVE_IFADDRS_H 1 - -# if defined(__ANDROID_API__) && __ANDROID_API__ < 24 -# undef HAVE_IFADDRS_H -#endif - -#ifdef __UCLIBC__ -# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32 -# undef HAVE_IFADDRS_H -# endif -#endif - -#ifdef HAVE_IFADDRS_H -# include -# include -# include -# include -#endif /* HAVE_IFADDRS_H */ - -/* Available from 2.6.32 onwards. */ -#ifndef CLOCK_MONOTONIC_COARSE -# define CLOCK_MONOTONIC_COARSE 6 -#endif - -/* This is rather annoying: CLOCK_BOOTTIME lives in but we can't - * include that file because it conflicts with . We'll just have to - * define it ourselves. - */ -#ifndef CLOCK_BOOTTIME -# define CLOCK_BOOTTIME 7 -#endif - -static int read_models(unsigned int numcpus, uv_cpu_info_t* ci); -static int read_times(FILE* statfile_fp, - unsigned int numcpus, - uv_cpu_info_t* ci); -static void read_speeds(unsigned int numcpus, uv_cpu_info_t* ci); -static uint64_t read_cpufreq(unsigned int cpunum); - -int uv__platform_loop_init(uv_loop_t* loop) { - - loop->inotify_fd = -1; - loop->inotify_watchers = NULL; - - return uv__epoll_init(loop); -} - - -int uv__io_fork(uv_loop_t* loop) { - int err; - void* old_watchers; - - old_watchers = loop->inotify_watchers; - - uv__close(loop->backend_fd); - loop->backend_fd = -1; - uv__platform_loop_delete(loop); - - err = uv__platform_loop_init(loop); - if (err) - return err; - - return uv__inotify_fork(loop, old_watchers); -} - - -void uv__platform_loop_delete(uv_loop_t* loop) { - if (loop->inotify_fd == -1) return; - uv__io_stop(loop, &loop->inotify_read_watcher, POLLIN); - uv__close(loop->inotify_fd); - loop->inotify_fd = -1; -} - - - -uint64_t uv__hrtime(uv_clocktype_t type) { - static clock_t fast_clock_id = -1; - struct timespec t; - clock_t clock_id; - - /* Prefer CLOCK_MONOTONIC_COARSE if available but only when it has - * millisecond granularity or better. CLOCK_MONOTONIC_COARSE is - * serviced entirely from the vDSO, whereas CLOCK_MONOTONIC may - * decide to make a costly system call. - */ - /* TODO(bnoordhuis) Use CLOCK_MONOTONIC_COARSE for UV_CLOCK_PRECISE - * when it has microsecond granularity or better (unlikely). - */ - clock_id = CLOCK_MONOTONIC; - if (type != UV_CLOCK_FAST) - goto done; - - clock_id = uv__load_relaxed(&fast_clock_id); - if (clock_id != -1) - goto done; - - clock_id = CLOCK_MONOTONIC; - if (0 == clock_getres(CLOCK_MONOTONIC_COARSE, &t)) - if (t.tv_nsec <= 1 * 1000 * 1000) - clock_id = CLOCK_MONOTONIC_COARSE; - - uv__store_relaxed(&fast_clock_id, clock_id); - -done: - - if (clock_gettime(clock_id, &t)) - return 0; /* Not really possible. */ - - return t.tv_sec * (uint64_t) 1e9 + t.tv_nsec; -} - - -int uv_resident_set_memory(size_t* rss) { - char buf[1024]; - const char* s; - ssize_t n; - long val; - int fd; - int i; - - do - fd = open("/proc/self/stat", O_RDONLY); - while (fd == -1 && errno == EINTR); - - if (fd == -1) - return UV__ERR(errno); - - do - n = read(fd, buf, sizeof(buf) - 1); - while (n == -1 && errno == EINTR); - - uv__close(fd); - if (n == -1) - return UV__ERR(errno); - buf[n] = '\0'; - - s = strchr(buf, ' '); - if (s == NULL) - goto err; - - s += 1; - if (*s != '(') - goto err; - - s = strchr(s, ')'); - if (s == NULL) - goto err; - - for (i = 1; i <= 22; i++) { - s = strchr(s + 1, ' '); - if (s == NULL) - goto err; - } - - errno = 0; - val = strtol(s, NULL, 10); - if (errno != 0) - goto err; - if (val < 0) - goto err; - - *rss = val * getpagesize(); - return 0; - -err: - return UV_EINVAL; -} - -int uv_uptime(double* uptime) { - static volatile int no_clock_boottime; - char buf[128]; - struct timespec now; - int r; - - /* Try /proc/uptime first, then fallback to clock_gettime(). */ - - if (0 == uv__slurp("/proc/uptime", buf, sizeof(buf))) - if (1 == sscanf(buf, "%lf", uptime)) - return 0; - - /* Try CLOCK_BOOTTIME first, fall back to CLOCK_MONOTONIC if not available - * (pre-2.6.39 kernels). CLOCK_MONOTONIC doesn't increase when the system - * is suspended. - */ - if (no_clock_boottime) { - retry_clock_gettime: r = clock_gettime(CLOCK_MONOTONIC, &now); - } - else if ((r = clock_gettime(CLOCK_BOOTTIME, &now)) && errno == EINVAL) { - no_clock_boottime = 1; - goto retry_clock_gettime; - } - - if (r) - return UV__ERR(errno); - - *uptime = now.tv_sec; - return 0; -} - - -static int uv__cpu_num(FILE* statfile_fp, unsigned int* numcpus) { - unsigned int num; - char buf[1024]; - - if (!fgets(buf, sizeof(buf), statfile_fp)) - return UV_EIO; - - num = 0; - while (fgets(buf, sizeof(buf), statfile_fp)) { - if (strncmp(buf, "cpu", 3)) - break; - num++; - } - - if (num == 0) - return UV_EIO; - - *numcpus = num; - return 0; -} - - -int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { - unsigned int numcpus; - uv_cpu_info_t* ci; - int err; - FILE* statfile_fp; - - *cpu_infos = NULL; - *count = 0; - - statfile_fp = uv__open_file("/proc/stat"); - if (statfile_fp == NULL) - return UV__ERR(errno); - - err = uv__cpu_num(statfile_fp, &numcpus); - if (err < 0) - goto out; - - err = UV_ENOMEM; - ci = uv__calloc(numcpus, sizeof(*ci)); - if (ci == NULL) - goto out; - - err = read_models(numcpus, ci); - if (err == 0) - err = read_times(statfile_fp, numcpus, ci); - - if (err) { - uv_free_cpu_info(ci, numcpus); - goto out; - } - - /* read_models() on x86 also reads the CPU speed from /proc/cpuinfo. - * We don't check for errors here. Worst case, the field is left zero. - */ - if (ci[0].speed == 0) - read_speeds(numcpus, ci); - - *cpu_infos = ci; - *count = numcpus; - err = 0; - -out: - - if (fclose(statfile_fp)) - if (errno != EINTR && errno != EINPROGRESS) - abort(); - - return err; -} - - -static void read_speeds(unsigned int numcpus, uv_cpu_info_t* ci) { - unsigned int num; - - for (num = 0; num < numcpus; num++) - ci[num].speed = read_cpufreq(num) / 1000; -} - - -/* Also reads the CPU frequency on ppc and x86. The other architectures only - * have a BogoMIPS field, which may not be very accurate. - * - * Note: Simply returns on error, uv_cpu_info() takes care of the cleanup. - */ -static int read_models(unsigned int numcpus, uv_cpu_info_t* ci) { -#if defined(__PPC__) - static const char model_marker[] = "cpu\t\t: "; - static const char speed_marker[] = "clock\t\t: "; -#else - static const char model_marker[] = "model name\t: "; - static const char speed_marker[] = "cpu MHz\t\t: "; -#endif - const char* inferred_model; - unsigned int model_idx; - unsigned int speed_idx; - unsigned int part_idx; - char buf[1024]; - char* model; - FILE* fp; - int model_id; - - /* Most are unused on non-ARM, non-MIPS and non-x86 architectures. */ - (void) &model_marker; - (void) &speed_marker; - (void) &speed_idx; - (void) &part_idx; - (void) &model; - (void) &buf; - (void) &fp; - (void) &model_id; - - model_idx = 0; - speed_idx = 0; - part_idx = 0; - -#if defined(__arm__) || \ - defined(__i386__) || \ - defined(__mips__) || \ - defined(__aarch64__) || \ - defined(__PPC__) || \ - defined(__x86_64__) - fp = uv__open_file("/proc/cpuinfo"); - if (fp == NULL) - return UV__ERR(errno); - - while (fgets(buf, sizeof(buf), fp)) { - if (model_idx < numcpus) { - if (strncmp(buf, model_marker, sizeof(model_marker) - 1) == 0) { - model = buf + sizeof(model_marker) - 1; - model = uv__strndup(model, strlen(model) - 1); /* Strip newline. */ - if (model == NULL) { - fclose(fp); - return UV_ENOMEM; - } - ci[model_idx++].model = model; - continue; - } - } -#if defined(__arm__) || defined(__mips__) || defined(__aarch64__) - if (model_idx < numcpus) { -#if defined(__arm__) - /* Fallback for pre-3.8 kernels. */ - static const char model_marker[] = "Processor\t: "; -#elif defined(__aarch64__) - static const char part_marker[] = "CPU part\t: "; - - /* Adapted from: https://github.com/karelzak/util-linux */ - struct vendor_part { - const int id; - const char* name; - }; - - static const struct vendor_part arm_chips[] = { - { 0x811, "ARM810" }, - { 0x920, "ARM920" }, - { 0x922, "ARM922" }, - { 0x926, "ARM926" }, - { 0x940, "ARM940" }, - { 0x946, "ARM946" }, - { 0x966, "ARM966" }, - { 0xa20, "ARM1020" }, - { 0xa22, "ARM1022" }, - { 0xa26, "ARM1026" }, - { 0xb02, "ARM11 MPCore" }, - { 0xb36, "ARM1136" }, - { 0xb56, "ARM1156" }, - { 0xb76, "ARM1176" }, - { 0xc05, "Cortex-A5" }, - { 0xc07, "Cortex-A7" }, - { 0xc08, "Cortex-A8" }, - { 0xc09, "Cortex-A9" }, - { 0xc0d, "Cortex-A17" }, /* Originally A12 */ - { 0xc0f, "Cortex-A15" }, - { 0xc0e, "Cortex-A17" }, - { 0xc14, "Cortex-R4" }, - { 0xc15, "Cortex-R5" }, - { 0xc17, "Cortex-R7" }, - { 0xc18, "Cortex-R8" }, - { 0xc20, "Cortex-M0" }, - { 0xc21, "Cortex-M1" }, - { 0xc23, "Cortex-M3" }, - { 0xc24, "Cortex-M4" }, - { 0xc27, "Cortex-M7" }, - { 0xc60, "Cortex-M0+" }, - { 0xd01, "Cortex-A32" }, - { 0xd03, "Cortex-A53" }, - { 0xd04, "Cortex-A35" }, - { 0xd05, "Cortex-A55" }, - { 0xd06, "Cortex-A65" }, - { 0xd07, "Cortex-A57" }, - { 0xd08, "Cortex-A72" }, - { 0xd09, "Cortex-A73" }, - { 0xd0a, "Cortex-A75" }, - { 0xd0b, "Cortex-A76" }, - { 0xd0c, "Neoverse-N1" }, - { 0xd0d, "Cortex-A77" }, - { 0xd0e, "Cortex-A76AE" }, - { 0xd13, "Cortex-R52" }, - { 0xd20, "Cortex-M23" }, - { 0xd21, "Cortex-M33" }, - { 0xd41, "Cortex-A78" }, - { 0xd42, "Cortex-A78AE" }, - { 0xd4a, "Neoverse-E1" }, - { 0xd4b, "Cortex-A78C" }, - }; - - if (strncmp(buf, part_marker, sizeof(part_marker) - 1) == 0) { - model = buf + sizeof(part_marker) - 1; - - errno = 0; - model_id = strtol(model, NULL, 16); - if ((errno != 0) || model_id < 0) { - fclose(fp); - return UV_EINVAL; - } - - for (part_idx = 0; part_idx < ARRAY_SIZE(arm_chips); part_idx++) { - if (model_id == arm_chips[part_idx].id) { - model = uv__strdup(arm_chips[part_idx].name); - if (model == NULL) { - fclose(fp); - return UV_ENOMEM; - } - ci[model_idx++].model = model; - break; - } - } - } -#else /* defined(__mips__) */ - static const char model_marker[] = "cpu model\t\t: "; -#endif - if (strncmp(buf, model_marker, sizeof(model_marker) - 1) == 0) { - model = buf + sizeof(model_marker) - 1; - model = uv__strndup(model, strlen(model) - 1); /* Strip newline. */ - if (model == NULL) { - fclose(fp); - return UV_ENOMEM; - } - ci[model_idx++].model = model; - continue; - } - } -#else /* !__arm__ && !__mips__ && !__aarch64__ */ - if (speed_idx < numcpus) { - if (strncmp(buf, speed_marker, sizeof(speed_marker) - 1) == 0) { - ci[speed_idx++].speed = atoi(buf + sizeof(speed_marker) - 1); - continue; - } - } -#endif /* __arm__ || __mips__ || __aarch64__ */ - } - - fclose(fp); -#endif /* __arm__ || __i386__ || __mips__ || __PPC__ || __x86_64__ || __aarch__ */ - - /* Now we want to make sure that all the models contain *something* because - * it's not safe to leave them as null. Copy the last entry unless there - * isn't one, in that case we simply put "unknown" into everything. - */ - inferred_model = "unknown"; - if (model_idx > 0) - inferred_model = ci[model_idx - 1].model; - - while (model_idx < numcpus) { - model = uv__strndup(inferred_model, strlen(inferred_model)); - if (model == NULL) - return UV_ENOMEM; - ci[model_idx++].model = model; - } - - return 0; -} - - -static int read_times(FILE* statfile_fp, - unsigned int numcpus, - uv_cpu_info_t* ci) { - struct uv_cpu_times_s ts; - unsigned int ticks; - unsigned int multiplier; - uint64_t user; - uint64_t nice; - uint64_t sys; - uint64_t idle; - uint64_t dummy; - uint64_t irq; - uint64_t num; - uint64_t len; - char buf[1024]; - - ticks = (unsigned int)sysconf(_SC_CLK_TCK); - assert(ticks != (unsigned int) -1); - assert(ticks != 0); - multiplier = ((uint64_t)1000L / ticks); - - rewind(statfile_fp); - - if (!fgets(buf, sizeof(buf), statfile_fp)) - abort(); - - num = 0; - - while (fgets(buf, sizeof(buf), statfile_fp)) { - if (num >= numcpus) - break; - - if (strncmp(buf, "cpu", 3)) - break; - - /* skip "cpu " marker */ - { - unsigned int n; - int r = sscanf(buf, "cpu%u ", &n); - assert(r == 1); - (void) r; /* silence build warning */ - for (len = sizeof("cpu0"); n /= 10; len++); - } - - /* Line contains user, nice, system, idle, iowait, irq, softirq, steal, - * guest, guest_nice but we're only interested in the first four + irq. - * - * Don't use %*s to skip fields or %ll to read straight into the uint64_t - * fields, they're not allowed in C89 mode. - */ - if (6 != sscanf(buf + len, - "%" PRIu64 " %" PRIu64 " %" PRIu64 - "%" PRIu64 " %" PRIu64 " %" PRIu64, - &user, - &nice, - &sys, - &idle, - &dummy, - &irq)) - abort(); - - ts.user = user * multiplier; - ts.nice = nice * multiplier; - ts.sys = sys * multiplier; - ts.idle = idle * multiplier; - ts.irq = irq * multiplier; - ci[num++].cpu_times = ts; - } - assert(num == numcpus); - - return 0; -} - - -static uint64_t read_cpufreq(unsigned int cpunum) { - uint64_t val; - char buf[1024]; - FILE* fp; - - snprintf(buf, - sizeof(buf), - "/sys/devices/system/cpu/cpu%u/cpufreq/scaling_cur_freq", - cpunum); - - fp = uv__open_file(buf); - if (fp == NULL) - return 0; - - if (fscanf(fp, "%" PRIu64, &val) != 1) - val = 0; - - fclose(fp); - - return val; -} - - -#ifdef HAVE_IFADDRS_H -static int uv__ifaddr_exclude(struct ifaddrs *ent, int exclude_type) { - if (!((ent->ifa_flags & IFF_UP) && (ent->ifa_flags & IFF_RUNNING))) - return 1; - if (ent->ifa_addr == NULL) - return 1; - /* - * On Linux getifaddrs returns information related to the raw underlying - * devices. We're not interested in this information yet. - */ - if (ent->ifa_addr->sa_family == PF_PACKET) - return exclude_type; - return !exclude_type; -} -#endif - -int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { -#ifndef HAVE_IFADDRS_H - *count = 0; - *addresses = NULL; - return UV_ENOSYS; -#else - struct ifaddrs *addrs, *ent; - uv_interface_address_t* address; - int i; - struct sockaddr_ll *sll; - - *count = 0; - *addresses = NULL; - - if (getifaddrs(&addrs)) - return UV__ERR(errno); - - /* Count the number of interfaces */ - for (ent = addrs; ent != NULL; ent = ent->ifa_next) { - if (uv__ifaddr_exclude(ent, UV__EXCLUDE_IFADDR)) - continue; - - (*count)++; - } - - if (*count == 0) { - freeifaddrs(addrs); - return 0; - } - - /* Make sure the memory is initiallized to zero using calloc() */ - *addresses = uv__calloc(*count, sizeof(**addresses)); - if (!(*addresses)) { - freeifaddrs(addrs); - return UV_ENOMEM; - } - - address = *addresses; - - for (ent = addrs; ent != NULL; ent = ent->ifa_next) { - if (uv__ifaddr_exclude(ent, UV__EXCLUDE_IFADDR)) - continue; - - address->name = uv__strdup(ent->ifa_name); - - if (ent->ifa_addr->sa_family == AF_INET6) { - address->address.address6 = *((struct sockaddr_in6*) ent->ifa_addr); - } else { - address->address.address4 = *((struct sockaddr_in*) ent->ifa_addr); - } - - if (ent->ifa_netmask->sa_family == AF_INET6) { - address->netmask.netmask6 = *((struct sockaddr_in6*) ent->ifa_netmask); - } else { - address->netmask.netmask4 = *((struct sockaddr_in*) ent->ifa_netmask); - } - - address->is_internal = !!(ent->ifa_flags & IFF_LOOPBACK); - - address++; - } - - /* Fill in physical addresses for each interface */ - for (ent = addrs; ent != NULL; ent = ent->ifa_next) { - if (uv__ifaddr_exclude(ent, UV__EXCLUDE_IFPHYS)) - continue; - - address = *addresses; - - for (i = 0; i < (*count); i++) { - size_t namelen = strlen(ent->ifa_name); - /* Alias interface share the same physical address */ - if (strncmp(address->name, ent->ifa_name, namelen) == 0 && - (address->name[namelen] == 0 || address->name[namelen] == ':')) { - sll = (struct sockaddr_ll*)ent->ifa_addr; - memcpy(address->phys_addr, sll->sll_addr, sizeof(address->phys_addr)); - } - address++; - } - } - - freeifaddrs(addrs); - - return 0; -#endif -} - - -void uv_free_interface_addresses(uv_interface_address_t* addresses, - int count) { - int i; - - for (i = 0; i < count; i++) { - uv__free(addresses[i].name); - } - - uv__free(addresses); -} - - -void uv__set_process_title(const char* title) { -#if defined(PR_SET_NAME) - prctl(PR_SET_NAME, title); /* Only copies first 16 characters. */ -#endif -} - - -static uint64_t uv__read_proc_meminfo(const char* what) { - uint64_t rc; - char* p; - char buf[4096]; /* Large enough to hold all of /proc/meminfo. */ - - if (uv__slurp("/proc/meminfo", buf, sizeof(buf))) - return 0; - - p = strstr(buf, what); - - if (p == NULL) - return 0; - - p += strlen(what); - - rc = 0; - sscanf(p, "%" PRIu64 " kB", &rc); - - return rc * 1024; -} - - -uint64_t uv_get_free_memory(void) { - struct sysinfo info; - uint64_t rc; - - rc = uv__read_proc_meminfo("MemAvailable:"); - - if (rc != 0) - return rc; - - if (0 == sysinfo(&info)) - return (uint64_t) info.freeram * info.mem_unit; - - return 0; -} - - -uint64_t uv_get_total_memory(void) { - struct sysinfo info; - uint64_t rc; - - rc = uv__read_proc_meminfo("MemTotal:"); - - if (rc != 0) - return rc; - - if (0 == sysinfo(&info)) - return (uint64_t) info.totalram * info.mem_unit; - - return 0; -} - - -static uint64_t uv__read_cgroups_uint64(const char* cgroup, const char* param) { - char filename[256]; - char buf[32]; /* Large enough to hold an encoded uint64_t. */ - uint64_t rc; - - rc = 0; - snprintf(filename, sizeof(filename), "/sys/fs/cgroup/%s/%s", cgroup, param); - if (0 == uv__slurp(filename, buf, sizeof(buf))) - sscanf(buf, "%" PRIu64, &rc); - - return rc; -} - - -uint64_t uv_get_constrained_memory(void) { - /* - * This might return 0 if there was a problem getting the memory limit from - * cgroups. This is OK because a return value of 0 signifies that the memory - * limit is unknown. - */ - return uv__read_cgroups_uint64("memory", "memory.limit_in_bytes"); -} - - -void uv_loadavg(double avg[3]) { - struct sysinfo info; - char buf[128]; /* Large enough to hold all of /proc/loadavg. */ - - if (0 == uv__slurp("/proc/loadavg", buf, sizeof(buf))) - if (3 == sscanf(buf, "%lf %lf %lf", &avg[0], &avg[1], &avg[2])) - return; - - if (sysinfo(&info) < 0) - return; - - avg[0] = (double) info.loads[0] / 65536.0; - avg[1] = (double) info.loads[1] / 65536.0; - avg[2] = (double) info.loads[2] / 65536.0; -} diff --git a/deps/uv/src/unix/linux-inotify.c b/deps/uv/src/unix/linux-inotify.c deleted file mode 100644 index c1bd260e16e5e9..00000000000000 --- a/deps/uv/src/unix/linux-inotify.c +++ /dev/null @@ -1,327 +0,0 @@ -/* 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. - */ - -#include "uv.h" -#include "uv/tree.h" -#include "internal.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -struct watcher_list { - RB_ENTRY(watcher_list) entry; - QUEUE watchers; - int iterating; - char* path; - int wd; -}; - -struct watcher_root { - struct watcher_list* rbh_root; -}; -#define CAST(p) ((struct watcher_root*)(p)) - - -static int compare_watchers(const struct watcher_list* a, - const struct watcher_list* b) { - if (a->wd < b->wd) return -1; - if (a->wd > b->wd) return 1; - return 0; -} - - -RB_GENERATE_STATIC(watcher_root, watcher_list, entry, compare_watchers) - - -static void uv__inotify_read(uv_loop_t* loop, - uv__io_t* w, - unsigned int revents); - -static void maybe_free_watcher_list(struct watcher_list* w, - uv_loop_t* loop); - -static int init_inotify(uv_loop_t* loop) { - int fd; - - if (loop->inotify_fd != -1) - return 0; - - fd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); - if (fd < 0) - return UV__ERR(errno); - - loop->inotify_fd = fd; - uv__io_init(&loop->inotify_read_watcher, uv__inotify_read, loop->inotify_fd); - uv__io_start(loop, &loop->inotify_read_watcher, POLLIN); - - return 0; -} - - -int uv__inotify_fork(uv_loop_t* loop, void* old_watchers) { - /* Open the inotify_fd, and re-arm all the inotify watchers. */ - int err; - struct watcher_list* tmp_watcher_list_iter; - struct watcher_list* watcher_list; - struct watcher_list tmp_watcher_list; - QUEUE queue; - QUEUE* q; - uv_fs_event_t* handle; - char* tmp_path; - - if (old_watchers != NULL) { - /* We must restore the old watcher list to be able to close items - * out of it. - */ - loop->inotify_watchers = old_watchers; - - QUEUE_INIT(&tmp_watcher_list.watchers); - /* Note that the queue we use is shared with the start and stop() - * functions, making QUEUE_FOREACH unsafe to use. So we use the - * QUEUE_MOVE trick to safely iterate. Also don't free the watcher - * list until we're done iterating. c.f. uv__inotify_read. - */ - RB_FOREACH_SAFE(watcher_list, watcher_root, - CAST(&old_watchers), tmp_watcher_list_iter) { - watcher_list->iterating = 1; - QUEUE_MOVE(&watcher_list->watchers, &queue); - while (!QUEUE_EMPTY(&queue)) { - q = QUEUE_HEAD(&queue); - handle = QUEUE_DATA(q, uv_fs_event_t, watchers); - /* It's critical to keep a copy of path here, because it - * will be set to NULL by stop() and then deallocated by - * maybe_free_watcher_list - */ - tmp_path = uv__strdup(handle->path); - assert(tmp_path != NULL); - QUEUE_REMOVE(q); - QUEUE_INSERT_TAIL(&watcher_list->watchers, q); - uv_fs_event_stop(handle); - - QUEUE_INSERT_TAIL(&tmp_watcher_list.watchers, &handle->watchers); - handle->path = tmp_path; - } - watcher_list->iterating = 0; - maybe_free_watcher_list(watcher_list, loop); - } - - QUEUE_MOVE(&tmp_watcher_list.watchers, &queue); - while (!QUEUE_EMPTY(&queue)) { - q = QUEUE_HEAD(&queue); - QUEUE_REMOVE(q); - handle = QUEUE_DATA(q, uv_fs_event_t, watchers); - tmp_path = handle->path; - handle->path = NULL; - err = uv_fs_event_start(handle, handle->cb, tmp_path, 0); - uv__free(tmp_path); - if (err) - return err; - } - } - - return 0; -} - - -static struct watcher_list* find_watcher(uv_loop_t* loop, int wd) { - struct watcher_list w; - w.wd = wd; - return RB_FIND(watcher_root, CAST(&loop->inotify_watchers), &w); -} - -static void maybe_free_watcher_list(struct watcher_list* w, uv_loop_t* loop) { - /* if the watcher_list->watchers is being iterated over, we can't free it. */ - if ((!w->iterating) && QUEUE_EMPTY(&w->watchers)) { - /* No watchers left for this path. Clean up. */ - RB_REMOVE(watcher_root, CAST(&loop->inotify_watchers), w); - inotify_rm_watch(loop->inotify_fd, w->wd); - uv__free(w); - } -} - -static void uv__inotify_read(uv_loop_t* loop, - uv__io_t* dummy, - unsigned int events) { - const struct inotify_event* e; - struct watcher_list* w; - uv_fs_event_t* h; - QUEUE queue; - QUEUE* q; - const char* path; - ssize_t size; - const char *p; - /* needs to be large enough for sizeof(inotify_event) + strlen(path) */ - char buf[4096]; - - for (;;) { - do - size = read(loop->inotify_fd, buf, sizeof(buf)); - while (size == -1 && errno == EINTR); - - if (size == -1) { - assert(errno == EAGAIN || errno == EWOULDBLOCK); - break; - } - - assert(size > 0); /* pre-2.6.21 thing, size=0 == read buffer too small */ - - /* Now we have one or more inotify_event structs. */ - for (p = buf; p < buf + size; p += sizeof(*e) + e->len) { - e = (const struct inotify_event*) p; - - events = 0; - if (e->mask & (IN_ATTRIB|IN_MODIFY)) - events |= UV_CHANGE; - if (e->mask & ~(IN_ATTRIB|IN_MODIFY)) - events |= UV_RENAME; - - w = find_watcher(loop, e->wd); - if (w == NULL) - continue; /* Stale event, no watchers left. */ - - /* inotify does not return the filename when monitoring a single file - * for modifications. Repurpose the filename for API compatibility. - * I'm not convinced this is a good thing, maybe it should go. - */ - path = e->len ? (const char*) (e + 1) : uv__basename_r(w->path); - - /* We're about to iterate over the queue and call user's callbacks. - * What can go wrong? - * A callback could call uv_fs_event_stop() - * and the queue can change under our feet. - * So, we use QUEUE_MOVE() trick to safely iterate over the queue. - * And we don't free the watcher_list until we're done iterating. - * - * First, - * tell uv_fs_event_stop() (that could be called from a user's callback) - * not to free watcher_list. - */ - w->iterating = 1; - QUEUE_MOVE(&w->watchers, &queue); - while (!QUEUE_EMPTY(&queue)) { - q = QUEUE_HEAD(&queue); - h = QUEUE_DATA(q, uv_fs_event_t, watchers); - - QUEUE_REMOVE(q); - QUEUE_INSERT_TAIL(&w->watchers, q); - - h->cb(h, path, events, 0); - } - /* done iterating, time to (maybe) free empty watcher_list */ - w->iterating = 0; - maybe_free_watcher_list(w, loop); - } - } -} - - -int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle) { - uv__handle_init(loop, (uv_handle_t*)handle, UV_FS_EVENT); - return 0; -} - - -int uv_fs_event_start(uv_fs_event_t* handle, - uv_fs_event_cb cb, - const char* path, - unsigned int flags) { - struct watcher_list* w; - size_t len; - int events; - int err; - int wd; - - if (uv__is_active(handle)) - return UV_EINVAL; - - err = init_inotify(handle->loop); - if (err) - return err; - - events = IN_ATTRIB - | IN_CREATE - | IN_MODIFY - | IN_DELETE - | IN_DELETE_SELF - | IN_MOVE_SELF - | IN_MOVED_FROM - | IN_MOVED_TO; - - wd = inotify_add_watch(handle->loop->inotify_fd, path, events); - if (wd == -1) - return UV__ERR(errno); - - w = find_watcher(handle->loop, wd); - if (w) - goto no_insert; - - len = strlen(path) + 1; - w = uv__malloc(sizeof(*w) + len); - if (w == NULL) - return UV_ENOMEM; - - w->wd = wd; - w->path = memcpy(w + 1, path, len); - QUEUE_INIT(&w->watchers); - w->iterating = 0; - RB_INSERT(watcher_root, CAST(&handle->loop->inotify_watchers), w); - -no_insert: - uv__handle_start(handle); - QUEUE_INSERT_TAIL(&w->watchers, &handle->watchers); - handle->path = w->path; - handle->cb = cb; - handle->wd = wd; - - return 0; -} - - -int uv_fs_event_stop(uv_fs_event_t* handle) { - struct watcher_list* w; - - if (!uv__is_active(handle)) - return 0; - - w = find_watcher(handle->loop, handle->wd); - assert(w != NULL); - - handle->wd = -1; - handle->path = NULL; - uv__handle_stop(handle); - QUEUE_REMOVE(&handle->watchers); - - maybe_free_watcher_list(w, handle->loop); - - return 0; -} - - -void uv__fs_event_close(uv_fs_event_t* handle) { - uv_fs_event_stop(handle); -} diff --git a/deps/uv/src/unix/linux-syscalls.c b/deps/uv/src/unix/linux-syscalls.c deleted file mode 100644 index 5071cd56d1fcb2..00000000000000 --- a/deps/uv/src/unix/linux-syscalls.c +++ /dev/null @@ -1,264 +0,0 @@ -/* 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. - */ - -#include "linux-syscalls.h" -#include -#include -#include -#include -#include - -#if defined(__arm__) -# if defined(__thumb__) || defined(__ARM_EABI__) -# define UV_SYSCALL_BASE 0 -# else -# define UV_SYSCALL_BASE 0x900000 -# endif -#endif /* __arm__ */ - -#ifndef __NR_recvmmsg -# if defined(__x86_64__) -# define __NR_recvmmsg 299 -# elif defined(__arm__) -# define __NR_recvmmsg (UV_SYSCALL_BASE + 365) -# endif -#endif /* __NR_recvmsg */ - -#ifndef __NR_sendmmsg -# if defined(__x86_64__) -# define __NR_sendmmsg 307 -# elif defined(__arm__) -# define __NR_sendmmsg (UV_SYSCALL_BASE + 374) -# endif -#endif /* __NR_sendmmsg */ - -#ifndef __NR_utimensat -# if defined(__x86_64__) -# define __NR_utimensat 280 -# elif defined(__i386__) -# define __NR_utimensat 320 -# elif defined(__arm__) -# define __NR_utimensat (UV_SYSCALL_BASE + 348) -# endif -#endif /* __NR_utimensat */ - -#ifndef __NR_preadv -# if defined(__x86_64__) -# define __NR_preadv 295 -# elif defined(__i386__) -# define __NR_preadv 333 -# elif defined(__arm__) -# define __NR_preadv (UV_SYSCALL_BASE + 361) -# endif -#endif /* __NR_preadv */ - -#ifndef __NR_pwritev -# if defined(__x86_64__) -# define __NR_pwritev 296 -# elif defined(__i386__) -# define __NR_pwritev 334 -# elif defined(__arm__) -# define __NR_pwritev (UV_SYSCALL_BASE + 362) -# endif -#endif /* __NR_pwritev */ - -#ifndef __NR_dup3 -# if defined(__x86_64__) -# define __NR_dup3 292 -# elif defined(__i386__) -# define __NR_dup3 330 -# elif defined(__arm__) -# define __NR_dup3 (UV_SYSCALL_BASE + 358) -# endif -#endif /* __NR_pwritev */ - -#ifndef __NR_copy_file_range -# if defined(__x86_64__) -# define __NR_copy_file_range 326 -# elif defined(__i386__) -# define __NR_copy_file_range 377 -# elif defined(__s390__) -# define __NR_copy_file_range 375 -# elif defined(__arm__) -# define __NR_copy_file_range (UV_SYSCALL_BASE + 391) -# elif defined(__aarch64__) -# define __NR_copy_file_range 285 -# elif defined(__powerpc__) -# define __NR_copy_file_range 379 -# elif defined(__arc__) -# define __NR_copy_file_range 285 -# endif -#endif /* __NR_copy_file_range */ - -#ifndef __NR_statx -# if defined(__x86_64__) -# define __NR_statx 332 -# elif defined(__i386__) -# define __NR_statx 383 -# elif defined(__aarch64__) -# define __NR_statx 397 -# elif defined(__arm__) -# define __NR_statx (UV_SYSCALL_BASE + 397) -# elif defined(__ppc__) -# define __NR_statx 383 -# elif defined(__s390__) -# define __NR_statx 379 -# endif -#endif /* __NR_statx */ - -#ifndef __NR_getrandom -# if defined(__x86_64__) -# define __NR_getrandom 318 -# elif defined(__i386__) -# define __NR_getrandom 355 -# elif defined(__aarch64__) -# define __NR_getrandom 384 -# elif defined(__arm__) -# define __NR_getrandom (UV_SYSCALL_BASE + 384) -# elif defined(__ppc__) -# define __NR_getrandom 359 -# elif defined(__s390__) -# define __NR_getrandom 349 -# endif -#endif /* __NR_getrandom */ - -struct uv__mmsghdr; - -int uv__sendmmsg(int fd, struct uv__mmsghdr* mmsg, unsigned int vlen) { -#if defined(__i386__) - unsigned long args[4]; - int rc; - - args[0] = (unsigned long) fd; - args[1] = (unsigned long) mmsg; - args[2] = (unsigned long) vlen; - args[3] = /* flags */ 0; - - /* socketcall() raises EINVAL when SYS_SENDMMSG is not supported. */ - rc = syscall(/* __NR_socketcall */ 102, 20 /* SYS_SENDMMSG */, args); - if (rc == -1) - if (errno == EINVAL) - errno = ENOSYS; - - return rc; -#elif defined(__NR_sendmmsg) - return syscall(__NR_sendmmsg, fd, mmsg, vlen, /* flags */ 0); -#else - return errno = ENOSYS, -1; -#endif -} - - -int uv__recvmmsg(int fd, struct uv__mmsghdr* mmsg, unsigned int vlen) { -#if defined(__i386__) - unsigned long args[5]; - int rc; - - args[0] = (unsigned long) fd; - args[1] = (unsigned long) mmsg; - args[2] = (unsigned long) vlen; - args[3] = /* flags */ 0; - args[4] = /* timeout */ 0; - - /* socketcall() raises EINVAL when SYS_RECVMMSG is not supported. */ - rc = syscall(/* __NR_socketcall */ 102, 19 /* SYS_RECVMMSG */, args); - if (rc == -1) - if (errno == EINVAL) - errno = ENOSYS; - - return rc; -#elif defined(__NR_recvmmsg) - return syscall(__NR_recvmmsg, fd, mmsg, vlen, /* flags */ 0, /* timeout */ 0); -#else - return errno = ENOSYS, -1; -#endif -} - - -ssize_t uv__preadv(int fd, const struct iovec *iov, int iovcnt, int64_t offset) { -#if !defined(__NR_preadv) || defined(__ANDROID_API__) && __ANDROID_API__ < 24 - return errno = ENOSYS, -1; -#else - return syscall(__NR_preadv, fd, iov, iovcnt, (long)offset, (long)(offset >> 32)); -#endif -} - - -ssize_t uv__pwritev(int fd, const struct iovec *iov, int iovcnt, int64_t offset) { -#if !defined(__NR_pwritev) || defined(__ANDROID_API__) && __ANDROID_API__ < 24 - return errno = ENOSYS, -1; -#else - return syscall(__NR_pwritev, fd, iov, iovcnt, (long)offset, (long)(offset >> 32)); -#endif -} - - -int uv__dup3(int oldfd, int newfd, int flags) { -#if !defined(__NR_dup3) || defined(__ANDROID_API__) && __ANDROID_API__ < 21 - return errno = ENOSYS, -1; -#else - return syscall(__NR_dup3, oldfd, newfd, flags); -#endif -} - - -ssize_t -uv__fs_copy_file_range(int fd_in, - off_t* off_in, - int fd_out, - off_t* off_out, - size_t len, - unsigned int flags) -{ -#ifdef __NR_copy_file_range - return syscall(__NR_copy_file_range, - fd_in, - off_in, - fd_out, - off_out, - len, - flags); -#else - return errno = ENOSYS, -1; -#endif -} - - -int uv__statx(int dirfd, - const char* path, - int flags, - unsigned int mask, - struct uv__statx* statxbuf) { -#if !defined(__NR_statx) || defined(__ANDROID_API__) && __ANDROID_API__ < 30 - return errno = ENOSYS, -1; -#else - return syscall(__NR_statx, dirfd, path, flags, mask, statxbuf); -#endif -} - - -ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags) { -#if !defined(__NR_getrandom) || defined(__ANDROID_API__) && __ANDROID_API__ < 28 - return errno = ENOSYS, -1; -#else - return syscall(__NR_getrandom, buf, buflen, flags); -#endif -} diff --git a/deps/uv/src/unix/linux-syscalls.h b/deps/uv/src/unix/linux-syscalls.h deleted file mode 100644 index b4d9082d46f99b..00000000000000 --- a/deps/uv/src/unix/linux-syscalls.h +++ /dev/null @@ -1,78 +0,0 @@ -/* 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. - */ - -#ifndef UV_LINUX_SYSCALL_H_ -#define UV_LINUX_SYSCALL_H_ - -#include -#include -#include -#include -#include - -struct uv__statx_timestamp { - int64_t tv_sec; - uint32_t tv_nsec; - int32_t unused0; -}; - -struct uv__statx { - uint32_t stx_mask; - uint32_t stx_blksize; - uint64_t stx_attributes; - uint32_t stx_nlink; - uint32_t stx_uid; - uint32_t stx_gid; - uint16_t stx_mode; - uint16_t unused0; - uint64_t stx_ino; - uint64_t stx_size; - uint64_t stx_blocks; - uint64_t stx_attributes_mask; - struct uv__statx_timestamp stx_atime; - struct uv__statx_timestamp stx_btime; - struct uv__statx_timestamp stx_ctime; - struct uv__statx_timestamp stx_mtime; - uint32_t stx_rdev_major; - uint32_t stx_rdev_minor; - uint32_t stx_dev_major; - uint32_t stx_dev_minor; - uint64_t unused1[14]; -}; - -ssize_t uv__preadv(int fd, const struct iovec *iov, int iovcnt, int64_t offset); -ssize_t uv__pwritev(int fd, const struct iovec *iov, int iovcnt, int64_t offset); -int uv__dup3(int oldfd, int newfd, int flags); -ssize_t -uv__fs_copy_file_range(int fd_in, - off_t* off_in, - int fd_out, - off_t* off_out, - size_t len, - unsigned int flags); -int uv__statx(int dirfd, - const char* path, - int flags, - unsigned int mask, - struct uv__statx* statxbuf); -ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags); - -#endif /* UV_LINUX_SYSCALL_H_ */ diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c new file mode 100644 index 00000000000000..a3439184c3724c --- /dev/null +++ b/deps/uv/src/unix/linux.c @@ -0,0 +1,2341 @@ +/* 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. + */ + +/* We lean on the fact that POLL{IN,OUT,ERR,HUP} correspond with their + * EPOLL* counterparts. We use the POLL* variants in this file because that + * is what libuv uses elsewhere. + */ + +#include "uv.h" +#include "internal.h" + +#include +#include +#include /* offsetof */ +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef __NR_io_uring_setup +# define __NR_io_uring_setup 425 +#endif + +#ifndef __NR_io_uring_enter +# define __NR_io_uring_enter 426 +#endif + +#ifndef __NR_io_uring_register +# define __NR_io_uring_register 427 +#endif + +#ifndef __NR_copy_file_range +# if defined(__x86_64__) +# define __NR_copy_file_range 326 +# elif defined(__i386__) +# define __NR_copy_file_range 377 +# elif defined(__s390__) +# define __NR_copy_file_range 375 +# elif defined(__arm__) +# define __NR_copy_file_range 391 +# elif defined(__aarch64__) +# define __NR_copy_file_range 285 +# elif defined(__powerpc__) +# define __NR_copy_file_range 379 +# elif defined(__arc__) +# define __NR_copy_file_range 285 +# endif +#endif /* __NR_copy_file_range */ + +#ifndef __NR_statx +# if defined(__x86_64__) +# define __NR_statx 332 +# elif defined(__i386__) +# define __NR_statx 383 +# elif defined(__aarch64__) +# define __NR_statx 397 +# elif defined(__arm__) +# define __NR_statx 397 +# elif defined(__ppc__) +# define __NR_statx 383 +# elif defined(__s390__) +# define __NR_statx 379 +# endif +#endif /* __NR_statx */ + +#ifndef __NR_getrandom +# if defined(__x86_64__) +# define __NR_getrandom 318 +# elif defined(__i386__) +# define __NR_getrandom 355 +# elif defined(__aarch64__) +# define __NR_getrandom 384 +# elif defined(__arm__) +# define __NR_getrandom 384 +# elif defined(__ppc__) +# define __NR_getrandom 359 +# elif defined(__s390__) +# define __NR_getrandom 349 +# endif +#endif /* __NR_getrandom */ + +#define HAVE_IFADDRS_H 1 + +# if defined(__ANDROID_API__) && __ANDROID_API__ < 24 +# undef HAVE_IFADDRS_H +#endif + +#ifdef __UCLIBC__ +# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32 +# undef HAVE_IFADDRS_H +# endif +#endif + +#ifdef HAVE_IFADDRS_H +# include +# include +# include +# include +#endif /* HAVE_IFADDRS_H */ + +enum { + UV__IORING_SETUP_SQPOLL = 2u, +}; + +enum { + UV__IORING_FEAT_SINGLE_MMAP = 1u, + UV__IORING_FEAT_NODROP = 2u, + UV__IORING_FEAT_RSRC_TAGS = 1024u, /* linux v5.13 */ +}; + +enum { + UV__IORING_OP_READV = 1, + UV__IORING_OP_WRITEV = 2, + UV__IORING_OP_FSYNC = 3, + UV__IORING_OP_OPENAT = 18, + UV__IORING_OP_CLOSE = 19, + UV__IORING_OP_STATX = 21, + UV__IORING_OP_EPOLL_CTL = 29, +}; + +enum { + UV__IORING_ENTER_GETEVENTS = 1u, + UV__IORING_ENTER_SQ_WAKEUP = 2u, +}; + +enum { + UV__IORING_SQ_NEED_WAKEUP = 1u, + UV__IORING_SQ_CQ_OVERFLOW = 2u, +}; + +struct uv__io_cqring_offsets { + uint32_t head; + uint32_t tail; + uint32_t ring_mask; + uint32_t ring_entries; + uint32_t overflow; + uint32_t cqes; + uint64_t reserved0; + uint64_t reserved1; +}; + +STATIC_ASSERT(40 == sizeof(struct uv__io_cqring_offsets)); + +struct uv__io_sqring_offsets { + uint32_t head; + uint32_t tail; + uint32_t ring_mask; + uint32_t ring_entries; + uint32_t flags; + uint32_t dropped; + uint32_t array; + uint32_t reserved0; + uint64_t reserved1; +}; + +STATIC_ASSERT(40 == sizeof(struct uv__io_sqring_offsets)); + +struct uv__io_uring_cqe { + uint64_t user_data; + int32_t res; + uint32_t flags; +}; + +STATIC_ASSERT(16 == sizeof(struct uv__io_uring_cqe)); + +struct uv__io_uring_sqe { + uint8_t opcode; + uint8_t flags; + uint16_t ioprio; + int32_t fd; + union { + uint64_t off; + uint64_t addr2; + }; + union { + uint64_t addr; + }; + uint32_t len; + union { + uint32_t rw_flags; + uint32_t fsync_flags; + uint32_t open_flags; + uint32_t statx_flags; + }; + uint64_t user_data; + union { + uint16_t buf_index; + uint64_t pad[3]; + }; +}; + +STATIC_ASSERT(64 == sizeof(struct uv__io_uring_sqe)); +STATIC_ASSERT(0 == offsetof(struct uv__io_uring_sqe, opcode)); +STATIC_ASSERT(1 == offsetof(struct uv__io_uring_sqe, flags)); +STATIC_ASSERT(2 == offsetof(struct uv__io_uring_sqe, ioprio)); +STATIC_ASSERT(4 == offsetof(struct uv__io_uring_sqe, fd)); +STATIC_ASSERT(8 == offsetof(struct uv__io_uring_sqe, off)); +STATIC_ASSERT(16 == offsetof(struct uv__io_uring_sqe, addr)); +STATIC_ASSERT(24 == offsetof(struct uv__io_uring_sqe, len)); +STATIC_ASSERT(28 == offsetof(struct uv__io_uring_sqe, rw_flags)); +STATIC_ASSERT(32 == offsetof(struct uv__io_uring_sqe, user_data)); +STATIC_ASSERT(40 == offsetof(struct uv__io_uring_sqe, buf_index)); + +struct uv__io_uring_params { + uint32_t sq_entries; + uint32_t cq_entries; + uint32_t flags; + uint32_t sq_thread_cpu; + uint32_t sq_thread_idle; + uint32_t features; + uint32_t reserved[4]; + struct uv__io_sqring_offsets sq_off; /* 40 bytes */ + struct uv__io_cqring_offsets cq_off; /* 40 bytes */ +}; + +STATIC_ASSERT(40 + 40 + 40 == sizeof(struct uv__io_uring_params)); +STATIC_ASSERT(40 == offsetof(struct uv__io_uring_params, sq_off)); +STATIC_ASSERT(80 == offsetof(struct uv__io_uring_params, cq_off)); + +STATIC_ASSERT(EPOLL_CTL_ADD < 4); +STATIC_ASSERT(EPOLL_CTL_DEL < 4); +STATIC_ASSERT(EPOLL_CTL_MOD < 4); + +struct watcher_list { + RB_ENTRY(watcher_list) entry; + QUEUE watchers; + int iterating; + char* path; + int wd; +}; + +struct watcher_root { + struct watcher_list* rbh_root; +}; + +static int uv__inotify_fork(uv_loop_t* loop, struct watcher_list* root); +static void uv__inotify_read(uv_loop_t* loop, + uv__io_t* w, + unsigned int revents); +static int compare_watchers(const struct watcher_list* a, + const struct watcher_list* b); +static void maybe_free_watcher_list(struct watcher_list* w, + uv_loop_t* loop); + +static void uv__epoll_ctl_flush(int epollfd, + struct uv__iou* ctl, + struct epoll_event (*events)[256]); + +static void uv__epoll_ctl_prep(int epollfd, + struct uv__iou* ctl, + struct epoll_event (*events)[256], + int op, + int fd, + struct epoll_event* e); + +RB_GENERATE_STATIC(watcher_root, watcher_list, entry, compare_watchers) + + +static struct watcher_root* uv__inotify_watchers(uv_loop_t* loop) { + /* This cast works because watcher_root is a struct with a pointer as its + * sole member. Such type punning is unsafe in the presence of strict + * pointer aliasing (and is just plain nasty) but that is why libuv + * is compiled with -fno-strict-aliasing. + */ + return (struct watcher_root*) &loop->inotify_watchers; +} + + +ssize_t +uv__fs_copy_file_range(int fd_in, + off_t* off_in, + int fd_out, + off_t* off_out, + size_t len, + unsigned int flags) +{ +#ifdef __NR_copy_file_range + return syscall(__NR_copy_file_range, + fd_in, + off_in, + fd_out, + off_out, + len, + flags); +#else + return errno = ENOSYS, -1; +#endif +} + + +int uv__statx(int dirfd, + const char* path, + int flags, + unsigned int mask, + struct uv__statx* statxbuf) { +#if !defined(__NR_statx) || defined(__ANDROID_API__) && __ANDROID_API__ < 30 + return errno = ENOSYS, -1; +#else + int rc; + + rc = syscall(__NR_statx, dirfd, path, flags, mask, statxbuf); + if (rc >= 0) + uv__msan_unpoison(statxbuf, sizeof(*statxbuf)); + + return rc; +#endif +} + + +ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags) { +#if !defined(__NR_getrandom) || defined(__ANDROID_API__) && __ANDROID_API__ < 28 + return errno = ENOSYS, -1; +#else + ssize_t rc; + + rc = syscall(__NR_getrandom, buf, buflen, flags); + if (rc >= 0) + uv__msan_unpoison(buf, buflen); + + return rc; +#endif +} + + +int uv__io_uring_setup(int entries, struct uv__io_uring_params* params) { + return syscall(__NR_io_uring_setup, entries, params); +} + + +int uv__io_uring_enter(int fd, + unsigned to_submit, + unsigned min_complete, + unsigned flags) { + /* io_uring_enter used to take a sigset_t but it's unused + * in newer kernels unless IORING_ENTER_EXT_ARG is set, + * in which case it takes a struct io_uring_getevents_arg. + */ + return syscall(__NR_io_uring_enter, + fd, + to_submit, + min_complete, + flags, + NULL, + 0L); +} + + +int uv__io_uring_register(int fd, unsigned opcode, void* arg, unsigned nargs) { + return syscall(__NR_io_uring_register, fd, opcode, arg, nargs); +} + + +static int uv__use_io_uring(void) { + /* Ternary: unknown=0, yes=1, no=-1 */ + static _Atomic int use_io_uring; + char* val; + int use; + + use = atomic_load_explicit(&use_io_uring, memory_order_relaxed); + + if (use == 0) { + val = getenv("UV_USE_IO_URING"); + use = val == NULL || atoi(val) ? 1 : -1; + atomic_store_explicit(&use_io_uring, use, memory_order_relaxed); + } + + return use > 0; +} + + +static void uv__iou_init(int epollfd, + struct uv__iou* iou, + uint32_t entries, + uint32_t flags) { + struct uv__io_uring_params params; + struct epoll_event e; + size_t cqlen; + size_t sqlen; + size_t maxlen; + size_t sqelen; + uint32_t i; + char* sq; + char* sqe; + int ringfd; + + sq = MAP_FAILED; + sqe = MAP_FAILED; + + if (!uv__use_io_uring()) + return; + + /* SQPOLL required CAP_SYS_NICE until linux v5.12 relaxed that requirement. + * Mostly academic because we check for a v5.13 kernel afterwards anyway. + */ + memset(¶ms, 0, sizeof(params)); + params.flags = flags; + + if (flags & UV__IORING_SETUP_SQPOLL) + params.sq_thread_idle = 10; /* milliseconds */ + + /* Kernel returns a file descriptor with O_CLOEXEC flag set. */ + ringfd = uv__io_uring_setup(entries, ¶ms); + if (ringfd == -1) + return; + + /* IORING_FEAT_RSRC_TAGS is used to detect linux v5.13 but what we're + * actually detecting is whether IORING_OP_STATX works with SQPOLL. + */ + if (!(params.features & UV__IORING_FEAT_RSRC_TAGS)) + goto fail; + + /* Implied by IORING_FEAT_RSRC_TAGS but checked explicitly anyway. */ + if (!(params.features & UV__IORING_FEAT_SINGLE_MMAP)) + goto fail; + + /* Implied by IORING_FEAT_RSRC_TAGS but checked explicitly anyway. */ + if (!(params.features & UV__IORING_FEAT_NODROP)) + goto fail; + + sqlen = params.sq_off.array + params.sq_entries * sizeof(uint32_t); + cqlen = + params.cq_off.cqes + params.cq_entries * sizeof(struct uv__io_uring_cqe); + maxlen = sqlen < cqlen ? cqlen : sqlen; + sqelen = params.sq_entries * sizeof(struct uv__io_uring_sqe); + + sq = mmap(0, + maxlen, + PROT_READ | PROT_WRITE, + MAP_SHARED | MAP_POPULATE, + ringfd, + 0); /* IORING_OFF_SQ_RING */ + + sqe = mmap(0, + sqelen, + PROT_READ | PROT_WRITE, + MAP_SHARED | MAP_POPULATE, + ringfd, + 0x10000000ull); /* IORING_OFF_SQES */ + + if (sq == MAP_FAILED || sqe == MAP_FAILED) + goto fail; + + if (flags & UV__IORING_SETUP_SQPOLL) { + /* Only interested in completion events. To get notified when + * the kernel pulls items from the submission ring, add POLLOUT. + */ + memset(&e, 0, sizeof(e)); + e.events = POLLIN; + e.data.fd = ringfd; + + if (epoll_ctl(epollfd, EPOLL_CTL_ADD, ringfd, &e)) + goto fail; + } + + iou->sqhead = (uint32_t*) (sq + params.sq_off.head); + iou->sqtail = (uint32_t*) (sq + params.sq_off.tail); + iou->sqmask = *(uint32_t*) (sq + params.sq_off.ring_mask); + iou->sqarray = (uint32_t*) (sq + params.sq_off.array); + iou->sqflags = (uint32_t*) (sq + params.sq_off.flags); + iou->cqhead = (uint32_t*) (sq + params.cq_off.head); + iou->cqtail = (uint32_t*) (sq + params.cq_off.tail); + iou->cqmask = *(uint32_t*) (sq + params.cq_off.ring_mask); + iou->sq = sq; + iou->cqe = sq + params.cq_off.cqes; + iou->sqe = sqe; + iou->sqlen = sqlen; + iou->cqlen = cqlen; + iou->maxlen = maxlen; + iou->sqelen = sqelen; + iou->ringfd = ringfd; + iou->in_flight = 0; + + for (i = 0; i <= iou->sqmask; i++) + iou->sqarray[i] = i; /* Slot -> sqe identity mapping. */ + + return; + +fail: + if (sq != MAP_FAILED) + munmap(sq, maxlen); + + if (sqe != MAP_FAILED) + munmap(sqe, sqelen); + + uv__close(ringfd); +} + + +static void uv__iou_delete(struct uv__iou* iou) { + if (iou->ringfd != -1) { + munmap(iou->sq, iou->maxlen); + munmap(iou->sqe, iou->sqelen); + uv__close(iou->ringfd); + iou->ringfd = -1; + } +} + + +int uv__platform_loop_init(uv_loop_t* loop) { + uv__loop_internal_fields_t* lfields; + + lfields = uv__get_internal_fields(loop); + lfields->ctl.ringfd = -1; + lfields->iou.ringfd = -1; + + loop->inotify_watchers = NULL; + loop->inotify_fd = -1; + loop->backend_fd = epoll_create1(O_CLOEXEC); + + if (loop->backend_fd == -1) + return UV__ERR(errno); + + uv__iou_init(loop->backend_fd, &lfields->iou, 64, UV__IORING_SETUP_SQPOLL); + uv__iou_init(loop->backend_fd, &lfields->ctl, 256, 0); + + return 0; +} + + +int uv__io_fork(uv_loop_t* loop) { + int err; + struct watcher_list* root; + + root = uv__inotify_watchers(loop)->rbh_root; + + uv__close(loop->backend_fd); + loop->backend_fd = -1; + + /* TODO(bnoordhuis) Loses items from the submission and completion rings. */ + uv__platform_loop_delete(loop); + + err = uv__platform_loop_init(loop); + if (err) + return err; + + return uv__inotify_fork(loop, root); +} + + +void uv__platform_loop_delete(uv_loop_t* loop) { + uv__loop_internal_fields_t* lfields; + + lfields = uv__get_internal_fields(loop); + uv__iou_delete(&lfields->ctl); + uv__iou_delete(&lfields->iou); + + if (loop->inotify_fd != -1) { + uv__io_stop(loop, &loop->inotify_read_watcher, POLLIN); + uv__close(loop->inotify_fd); + loop->inotify_fd = -1; + } +} + + +struct uv__invalidate { + struct epoll_event (*prep)[256]; + struct epoll_event* events; + int nfds; +}; + + +void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) { + uv__loop_internal_fields_t* lfields; + struct uv__invalidate* inv; + struct epoll_event dummy; + int i; + + lfields = uv__get_internal_fields(loop); + inv = lfields->inv; + + /* Invalidate events with same file descriptor */ + if (inv != NULL) + for (i = 0; i < inv->nfds; i++) + if (inv->events[i].data.fd == fd) + inv->events[i].data.fd = -1; + + /* Remove the file descriptor from the epoll. + * This avoids a problem where the same file description remains open + * in another process, causing repeated junk epoll events. + * + * We pass in a dummy epoll_event, to work around a bug in old kernels. + * + * Work around a bug in kernels 3.10 to 3.19 where passing a struct that + * has the EPOLLWAKEUP flag set generates spurious audit syslog warnings. + */ + memset(&dummy, 0, sizeof(dummy)); + + if (inv == NULL) { + epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, &dummy); + } else { + uv__epoll_ctl_prep(loop->backend_fd, + &lfields->ctl, + inv->prep, + EPOLL_CTL_DEL, + fd, + &dummy); + } +} + + +int uv__io_check_fd(uv_loop_t* loop, int fd) { + struct epoll_event e; + int rc; + + memset(&e, 0, sizeof(e)); + e.events = POLLIN; + e.data.fd = -1; + + rc = 0; + if (epoll_ctl(loop->backend_fd, EPOLL_CTL_ADD, fd, &e)) + if (errno != EEXIST) + rc = UV__ERR(errno); + + if (rc == 0) + if (epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, &e)) + abort(); + + return rc; +} + + +/* Caller must initialize SQE and call uv__iou_submit(). */ +static struct uv__io_uring_sqe* uv__iou_get_sqe(struct uv__iou* iou, + uv_loop_t* loop, + uv_fs_t* req) { + struct uv__io_uring_sqe* sqe; + uint32_t head; + uint32_t tail; + uint32_t mask; + uint32_t slot; + + if (iou->ringfd == -1) + return NULL; + + head = atomic_load_explicit((_Atomic uint32_t*) iou->sqhead, + memory_order_acquire); + tail = *iou->sqtail; + mask = iou->sqmask; + + if ((head & mask) == ((tail + 1) & mask)) + return NULL; /* No room in ring buffer. TODO(bnoordhuis) maybe flush it? */ + + slot = tail & mask; + sqe = iou->sqe; + sqe = &sqe[slot]; + memset(sqe, 0, sizeof(*sqe)); + sqe->user_data = (uintptr_t) req; + + /* Pacify uv_cancel(). */ + req->work_req.loop = loop; + req->work_req.work = NULL; + req->work_req.done = NULL; + QUEUE_INIT(&req->work_req.wq); + + uv__req_register(loop, req); + iou->in_flight++; + + return sqe; +} + + +static void uv__iou_submit(struct uv__iou* iou) { + uint32_t flags; + + atomic_store_explicit((_Atomic uint32_t*) iou->sqtail, + *iou->sqtail + 1, + memory_order_release); + + flags = atomic_load_explicit((_Atomic uint32_t*) iou->sqflags, + memory_order_acquire); + + if (flags & UV__IORING_SQ_NEED_WAKEUP) + if (uv__io_uring_enter(iou->ringfd, 0, 0, UV__IORING_ENTER_SQ_WAKEUP)) + if (errno != EOWNERDEAD) /* Kernel bug. Harmless, ignore. */ + perror("libuv: io_uring_enter(wakeup)"); /* Can't happen. */ +} + + +int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req) { + struct uv__io_uring_sqe* sqe; + struct uv__iou* iou; + + iou = &uv__get_internal_fields(loop)->iou; + + sqe = uv__iou_get_sqe(iou, loop, req); + if (sqe == NULL) + return 0; + + sqe->fd = req->file; + sqe->opcode = UV__IORING_OP_CLOSE; + + uv__iou_submit(iou); + + return 1; +} + + +int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop, + uv_fs_t* req, + uint32_t fsync_flags) { + struct uv__io_uring_sqe* sqe; + struct uv__iou* iou; + + iou = &uv__get_internal_fields(loop)->iou; + + sqe = uv__iou_get_sqe(iou, loop, req); + if (sqe == NULL) + return 0; + + /* Little known fact: setting seq->off and seq->len turns + * it into an asynchronous sync_file_range() operation. + */ + sqe->fd = req->file; + sqe->fsync_flags = fsync_flags; + sqe->opcode = UV__IORING_OP_FSYNC; + + uv__iou_submit(iou); + + return 1; +} + + +int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) { + struct uv__io_uring_sqe* sqe; + struct uv__iou* iou; + + iou = &uv__get_internal_fields(loop)->iou; + + sqe = uv__iou_get_sqe(iou, loop, req); + if (sqe == NULL) + return 0; + + sqe->addr = (uintptr_t) req->path; + sqe->fd = AT_FDCWD; + sqe->len = req->mode; + sqe->opcode = UV__IORING_OP_OPENAT; + sqe->open_flags = req->flags | O_CLOEXEC; + + uv__iou_submit(iou); + + return 1; +} + + +int uv__iou_fs_read_or_write(uv_loop_t* loop, + uv_fs_t* req, + int is_read) { + struct uv__io_uring_sqe* sqe; + struct uv__iou* iou; + + /* For the moment, if iovcnt is greater than IOV_MAX, fallback to the + * threadpool. In the future we might take advantage of IOSQE_IO_LINK. */ + if (req->nbufs > IOV_MAX) + return 0; + + iou = &uv__get_internal_fields(loop)->iou; + + sqe = uv__iou_get_sqe(iou, loop, req); + if (sqe == NULL) + return 0; + + sqe->addr = (uintptr_t) req->bufs; + sqe->fd = req->file; + sqe->len = req->nbufs; + sqe->off = req->off < 0 ? -1 : req->off; + sqe->opcode = is_read ? UV__IORING_OP_READV : UV__IORING_OP_WRITEV; + + uv__iou_submit(iou); + + return 1; +} + + +int uv__iou_fs_statx(uv_loop_t* loop, + uv_fs_t* req, + int is_fstat, + int is_lstat) { + struct uv__io_uring_sqe* sqe; + struct uv__statx* statxbuf; + struct uv__iou* iou; + + statxbuf = uv__malloc(sizeof(*statxbuf)); + if (statxbuf == NULL) + return 0; + + iou = &uv__get_internal_fields(loop)->iou; + + sqe = uv__iou_get_sqe(iou, loop, req); + if (sqe == NULL) { + uv__free(statxbuf); + return 0; + } + + req->ptr = statxbuf; + + sqe->addr = (uintptr_t) req->path; + sqe->addr2 = (uintptr_t) statxbuf; + sqe->fd = AT_FDCWD; + sqe->len = 0xFFF; /* STATX_BASIC_STATS + STATX_BTIME */ + sqe->opcode = UV__IORING_OP_STATX; + + if (is_fstat) { + sqe->addr = (uintptr_t) ""; + sqe->fd = req->file; + sqe->statx_flags |= 0x1000; /* AT_EMPTY_PATH */ + } + + if (is_lstat) + sqe->statx_flags |= AT_SYMLINK_NOFOLLOW; + + uv__iou_submit(iou); + + return 1; +} + + +void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf) { + buf->st_dev = makedev(statxbuf->stx_dev_major, statxbuf->stx_dev_minor); + buf->st_mode = statxbuf->stx_mode; + buf->st_nlink = statxbuf->stx_nlink; + buf->st_uid = statxbuf->stx_uid; + buf->st_gid = statxbuf->stx_gid; + buf->st_rdev = makedev(statxbuf->stx_rdev_major, statxbuf->stx_rdev_minor); + buf->st_ino = statxbuf->stx_ino; + buf->st_size = statxbuf->stx_size; + buf->st_blksize = statxbuf->stx_blksize; + buf->st_blocks = statxbuf->stx_blocks; + buf->st_atim.tv_sec = statxbuf->stx_atime.tv_sec; + buf->st_atim.tv_nsec = statxbuf->stx_atime.tv_nsec; + buf->st_mtim.tv_sec = statxbuf->stx_mtime.tv_sec; + buf->st_mtim.tv_nsec = statxbuf->stx_mtime.tv_nsec; + buf->st_ctim.tv_sec = statxbuf->stx_ctime.tv_sec; + buf->st_ctim.tv_nsec = statxbuf->stx_ctime.tv_nsec; + buf->st_birthtim.tv_sec = statxbuf->stx_btime.tv_sec; + buf->st_birthtim.tv_nsec = statxbuf->stx_btime.tv_nsec; + buf->st_flags = 0; + buf->st_gen = 0; +} + + +static void uv__iou_fs_statx_post(uv_fs_t* req) { + struct uv__statx* statxbuf; + uv_stat_t* buf; + + buf = &req->statbuf; + statxbuf = req->ptr; + req->ptr = NULL; + + if (req->result == 0) { + uv__msan_unpoison(statxbuf, sizeof(*statxbuf)); + uv__statx_to_stat(statxbuf, buf); + req->ptr = buf; + } + + uv__free(statxbuf); +} + + +static void uv__poll_io_uring(uv_loop_t* loop, struct uv__iou* iou) { + struct uv__io_uring_cqe* cqe; + struct uv__io_uring_cqe* e; + uv_fs_t* req; + uint32_t head; + uint32_t tail; + uint32_t mask; + uint32_t i; + uint32_t flags; + int nevents; + int rc; + + head = *iou->cqhead; + tail = atomic_load_explicit((_Atomic uint32_t*) iou->cqtail, + memory_order_acquire); + mask = iou->cqmask; + cqe = iou->cqe; + nevents = 0; + + for (i = head; i != tail; i++) { + e = &cqe[i & mask]; + + req = (uv_fs_t*) (uintptr_t) e->user_data; + assert(req->type == UV_FS); + + uv__req_unregister(loop, req); + iou->in_flight--; + + /* io_uring stores error codes as negative numbers, same as libuv. */ + req->result = e->res; + + switch (req->fs_type) { + case UV_FS_FSTAT: + case UV_FS_LSTAT: + case UV_FS_STAT: + uv__iou_fs_statx_post(req); + break; + default: /* Squelch -Wswitch warnings. */ + break; + } + + uv__metrics_update_idle_time(loop); + req->cb(req); + nevents++; + } + + atomic_store_explicit((_Atomic uint32_t*) iou->cqhead, + tail, + memory_order_release); + + /* Check whether CQE's overflowed, if so enter the kernel to make them + * available. Don't grab them immediately but in the next loop iteration to + * avoid loop starvation. */ + flags = atomic_load_explicit((_Atomic uint32_t*) iou->sqflags, + memory_order_acquire); + + if (flags & UV__IORING_SQ_CQ_OVERFLOW) { + do + rc = uv__io_uring_enter(iou->ringfd, 0, 0, UV__IORING_ENTER_GETEVENTS); + while (rc == -1 && errno == EINTR); + + if (rc < 0) + perror("libuv: io_uring_enter(getevents)"); /* Can't happen. */ + } + + uv__metrics_inc_events(loop, nevents); + if (uv__get_internal_fields(loop)->current_timeout == 0) + uv__metrics_inc_events_waiting(loop, nevents); +} + + +static void uv__epoll_ctl_prep(int epollfd, + struct uv__iou* ctl, + struct epoll_event (*events)[256], + int op, + int fd, + struct epoll_event* e) { + struct uv__io_uring_sqe* sqe; + struct epoll_event* pe; + uint32_t mask; + uint32_t slot; + + if (ctl->ringfd == -1) { + if (!epoll_ctl(epollfd, op, fd, e)) + return; + + if (op == EPOLL_CTL_DEL) + return; /* Ignore errors, may be racing with another thread. */ + + if (op != EPOLL_CTL_ADD) + abort(); + + if (errno != EEXIST) + abort(); + + /* File descriptor that's been watched before, update event mask. */ + if (!epoll_ctl(epollfd, EPOLL_CTL_MOD, fd, e)) + return; + + abort(); + } else { + mask = ctl->sqmask; + slot = (*ctl->sqtail)++ & mask; + + pe = &(*events)[slot]; + *pe = *e; + + sqe = ctl->sqe; + sqe = &sqe[slot]; + + memset(sqe, 0, sizeof(*sqe)); + sqe->addr = (uintptr_t) pe; + sqe->fd = epollfd; + sqe->len = op; + sqe->off = fd; + sqe->opcode = UV__IORING_OP_EPOLL_CTL; + sqe->user_data = op | slot << 2 | (int64_t) fd << 32; + + if ((*ctl->sqhead & mask) == (*ctl->sqtail & mask)) + uv__epoll_ctl_flush(epollfd, ctl, events); + } +} + + +static void uv__epoll_ctl_flush(int epollfd, + struct uv__iou* ctl, + struct epoll_event (*events)[256]) { + struct epoll_event oldevents[256]; + struct uv__io_uring_cqe* cqe; + uint32_t oldslot; + uint32_t slot; + uint32_t n; + int fd; + int op; + int rc; + + STATIC_ASSERT(sizeof(oldevents) == sizeof(*events)); + assert(ctl->ringfd != -1); + assert(*ctl->sqhead != *ctl->sqtail); + + n = *ctl->sqtail - *ctl->sqhead; + do + rc = uv__io_uring_enter(ctl->ringfd, n, n, UV__IORING_ENTER_GETEVENTS); + while (rc == -1 && errno == EINTR); + + if (rc < 0) + perror("libuv: io_uring_enter(getevents)"); /* Can't happen. */ + + if (rc != (int) n) + abort(); + + assert(*ctl->sqhead == *ctl->sqtail); + + memcpy(oldevents, *events, sizeof(*events)); + + /* Failed submissions are either EPOLL_CTL_DEL commands for file descriptors + * that have been closed, or EPOLL_CTL_ADD commands for file descriptors + * that we are already watching. Ignore the former and retry the latter + * with EPOLL_CTL_MOD. + */ + while (*ctl->cqhead != *ctl->cqtail) { + slot = (*ctl->cqhead)++ & ctl->cqmask; + + cqe = ctl->cqe; + cqe = &cqe[slot]; + + if (cqe->res == 0) + continue; + + fd = cqe->user_data >> 32; + op = 3 & cqe->user_data; + oldslot = 255 & (cqe->user_data >> 2); + + if (op == EPOLL_CTL_DEL) + continue; + + if (op != EPOLL_CTL_ADD) + abort(); + + if (cqe->res != -EEXIST) + abort(); + + uv__epoll_ctl_prep(epollfd, + ctl, + events, + EPOLL_CTL_MOD, + fd, + &oldevents[oldslot]); + } +} + + +void uv__io_poll(uv_loop_t* loop, int timeout) { + uv__loop_internal_fields_t* lfields; + struct epoll_event events[1024]; + struct epoll_event prep[256]; + struct uv__invalidate inv; + struct epoll_event* pe; + struct epoll_event e; + struct uv__iou* ctl; + struct uv__iou* iou; + int real_timeout; + QUEUE* q; + uv__io_t* w; + sigset_t* sigmask; + sigset_t sigset; + uint64_t base; + int have_iou_events; + int have_signals; + int nevents; + int epollfd; + int count; + int nfds; + int fd; + int op; + int i; + int user_timeout; + int reset_timeout; + + lfields = uv__get_internal_fields(loop); + ctl = &lfields->ctl; + iou = &lfields->iou; + + sigmask = NULL; + if (loop->flags & UV_LOOP_BLOCK_SIGPROF) { + sigemptyset(&sigset); + sigaddset(&sigset, SIGPROF); + sigmask = &sigset; + } + + assert(timeout >= -1); + base = loop->time; + count = 48; /* Benchmarks suggest this gives the best throughput. */ + real_timeout = timeout; + + if (lfields->flags & UV_METRICS_IDLE_TIME) { + reset_timeout = 1; + user_timeout = timeout; + timeout = 0; + } else { + reset_timeout = 0; + user_timeout = 0; + } + + epollfd = loop->backend_fd; + + memset(&e, 0, sizeof(e)); + + while (!QUEUE_EMPTY(&loop->watcher_queue)) { + q = QUEUE_HEAD(&loop->watcher_queue); + w = QUEUE_DATA(q, uv__io_t, watcher_queue); + QUEUE_REMOVE(q); + QUEUE_INIT(q); + + op = EPOLL_CTL_MOD; + if (w->events == 0) + op = EPOLL_CTL_ADD; + + w->events = w->pevents; + e.events = w->pevents; + e.data.fd = w->fd; + + uv__epoll_ctl_prep(epollfd, ctl, &prep, op, w->fd, &e); + } + + inv.events = events; + inv.prep = &prep; + inv.nfds = -1; + + for (;;) { + if (loop->nfds == 0) + if (iou->in_flight == 0) + break; + + /* All event mask mutations should be visible to the kernel before + * we enter epoll_pwait(). + */ + if (ctl->ringfd != -1) + while (*ctl->sqhead != *ctl->sqtail) + uv__epoll_ctl_flush(epollfd, ctl, &prep); + + /* Only need to set the provider_entry_time if timeout != 0. The function + * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME. + */ + if (timeout != 0) + uv__metrics_set_provider_entry_time(loop); + + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + + nfds = epoll_pwait(epollfd, events, ARRAY_SIZE(events), timeout, sigmask); + + /* Update loop->time unconditionally. It's tempting to skip the update when + * timeout == 0 (i.e. non-blocking poll) but there is no guarantee that the + * operating system didn't reschedule our process while in the syscall. + */ + SAVE_ERRNO(uv__update_time(loop)); + + if (nfds == 0) { + assert(timeout != -1); + + if (reset_timeout != 0) { + timeout = user_timeout; + reset_timeout = 0; + } + + if (timeout == -1) + continue; + + if (timeout == 0) + break; + + /* We may have been inside the system call for longer than |timeout| + * milliseconds so we need to update the timestamp to avoid drift. + */ + goto update_timeout; + } + + if (nfds == -1) { + if (errno != EINTR) + abort(); + + if (reset_timeout != 0) { + timeout = user_timeout; + reset_timeout = 0; + } + + if (timeout == -1) + continue; + + if (timeout == 0) + break; + + /* Interrupted by a signal. Update timeout and poll again. */ + goto update_timeout; + } + + have_iou_events = 0; + have_signals = 0; + nevents = 0; + + inv.nfds = nfds; + lfields->inv = &inv; + + for (i = 0; i < nfds; i++) { + pe = events + i; + fd = pe->data.fd; + + /* Skip invalidated events, see uv__platform_invalidate_fd */ + if (fd == -1) + continue; + + if (fd == iou->ringfd) { + uv__poll_io_uring(loop, iou); + have_iou_events = 1; + continue; + } + + assert(fd >= 0); + assert((unsigned) fd < loop->nwatchers); + + w = loop->watchers[fd]; + + if (w == NULL) { + /* File descriptor that we've stopped watching, disarm it. + * + * Ignore all errors because we may be racing with another thread + * when the file descriptor is closed. + */ + uv__epoll_ctl_prep(epollfd, ctl, &prep, EPOLL_CTL_DEL, fd, pe); + continue; + } + + /* Give users only events they're interested in. Prevents spurious + * callbacks when previous callback invocation in this loop has stopped + * the current watcher. Also, filters out events that users has not + * requested us to watch. + */ + pe->events &= w->pevents | POLLERR | POLLHUP; + + /* Work around an epoll quirk where it sometimes reports just the + * EPOLLERR or EPOLLHUP event. In order to force the event loop to + * move forward, we merge in the read/write events that the watcher + * is interested in; uv__read() and uv__write() will then deal with + * the error or hangup in the usual fashion. + * + * Note to self: happens when epoll reports EPOLLIN|EPOLLHUP, the user + * reads the available data, calls uv_read_stop(), then sometime later + * calls uv_read_start() again. By then, libuv has forgotten about the + * hangup and the kernel won't report EPOLLIN again because there's + * nothing left to read. If anything, libuv is to blame here. The + * current hack is just a quick bandaid; to properly fix it, libuv + * needs to remember the error/hangup event. We should get that for + * free when we switch over to edge-triggered I/O. + */ + if (pe->events == POLLERR || pe->events == POLLHUP) + pe->events |= + w->pevents & (POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI); + + if (pe->events != 0) { + /* Run signal watchers last. This also affects child process watchers + * because those are implemented in terms of signal watchers. + */ + if (w == &loop->signal_io_watcher) { + have_signals = 1; + } else { + uv__metrics_update_idle_time(loop); + w->cb(loop, w, pe->events); + } + + nevents++; + } + } + + uv__metrics_inc_events(loop, nevents); + if (reset_timeout != 0) { + timeout = user_timeout; + reset_timeout = 0; + uv__metrics_inc_events_waiting(loop, nevents); + } + + if (have_signals != 0) { + uv__metrics_update_idle_time(loop); + loop->signal_io_watcher.cb(loop, &loop->signal_io_watcher, POLLIN); + } + + lfields->inv = NULL; + + if (have_iou_events != 0) + break; /* Event loop should cycle now so don't poll again. */ + + if (have_signals != 0) + break; /* Event loop should cycle now so don't poll again. */ + + if (nevents != 0) { + if (nfds == ARRAY_SIZE(events) && --count != 0) { + /* Poll for more events but don't block this time. */ + timeout = 0; + continue; + } + break; + } + + if (timeout == 0) + break; + + if (timeout == -1) + continue; + +update_timeout: + assert(timeout > 0); + + real_timeout -= (loop->time - base); + if (real_timeout <= 0) + break; + + timeout = real_timeout; + } + + if (ctl->ringfd != -1) + while (*ctl->sqhead != *ctl->sqtail) + uv__epoll_ctl_flush(epollfd, ctl, &prep); +} + +uint64_t uv__hrtime(uv_clocktype_t type) { + static _Atomic clock_t fast_clock_id = -1; + struct timespec t; + clock_t clock_id; + + /* Prefer CLOCK_MONOTONIC_COARSE if available but only when it has + * millisecond granularity or better. CLOCK_MONOTONIC_COARSE is + * serviced entirely from the vDSO, whereas CLOCK_MONOTONIC may + * decide to make a costly system call. + */ + /* TODO(bnoordhuis) Use CLOCK_MONOTONIC_COARSE for UV_CLOCK_PRECISE + * when it has microsecond granularity or better (unlikely). + */ + clock_id = CLOCK_MONOTONIC; + if (type != UV_CLOCK_FAST) + goto done; + + clock_id = atomic_load_explicit(&fast_clock_id, memory_order_relaxed); + if (clock_id != -1) + goto done; + + clock_id = CLOCK_MONOTONIC; + if (0 == clock_getres(CLOCK_MONOTONIC_COARSE, &t)) + if (t.tv_nsec <= 1 * 1000 * 1000) + clock_id = CLOCK_MONOTONIC_COARSE; + + atomic_store_explicit(&fast_clock_id, clock_id, memory_order_relaxed); + +done: + + if (clock_gettime(clock_id, &t)) + return 0; /* Not really possible. */ + + return t.tv_sec * (uint64_t) 1e9 + t.tv_nsec; +} + + +int uv_resident_set_memory(size_t* rss) { + char buf[1024]; + const char* s; + ssize_t n; + long val; + int fd; + int i; + + do + fd = open("/proc/self/stat", O_RDONLY); + while (fd == -1 && errno == EINTR); + + if (fd == -1) + return UV__ERR(errno); + + do + n = read(fd, buf, sizeof(buf) - 1); + while (n == -1 && errno == EINTR); + + uv__close(fd); + if (n == -1) + return UV__ERR(errno); + buf[n] = '\0'; + + s = strchr(buf, ' '); + if (s == NULL) + goto err; + + s += 1; + if (*s != '(') + goto err; + + s = strchr(s, ')'); + if (s == NULL) + goto err; + + for (i = 1; i <= 22; i++) { + s = strchr(s + 1, ' '); + if (s == NULL) + goto err; + } + + errno = 0; + val = strtol(s, NULL, 10); + if (errno != 0) + goto err; + if (val < 0) + goto err; + + *rss = val * getpagesize(); + return 0; + +err: + return UV_EINVAL; +} + +int uv_uptime(double* uptime) { + struct timespec now; + char buf[128]; + + /* Consult /proc/uptime when present (common case), or fall back to + * clock_gettime. Why not always clock_gettime? It doesn't always return the + * right result under OpenVZ and possibly other containerized environments. + */ + if (0 == uv__slurp("/proc/uptime", buf, sizeof(buf))) + if (1 == sscanf(buf, "%lf", uptime)) + return 0; + + if (clock_gettime(CLOCK_BOOTTIME, &now)) + return UV__ERR(errno); + + *uptime = now.tv_sec; + return 0; +} + + +int uv_cpu_info(uv_cpu_info_t** ci, int* count) { +#if defined(__PPC__) + static const char model_marker[] = "cpu\t\t: "; +#elif defined(__arm__) + static const char model_marker[] = "Processor\t: "; +#elif defined(__aarch64__) + static const char model_marker[] = "CPU part\t: "; +#elif defined(__mips__) + static const char model_marker[] = "cpu model\t\t: "; +#else + static const char model_marker[] = "model name\t: "; +#endif + static const char parts[] = +#ifdef __aarch64__ + "0x811\nARM810\n" "0x920\nARM920\n" "0x922\nARM922\n" + "0x926\nARM926\n" "0x940\nARM940\n" "0x946\nARM946\n" + "0x966\nARM966\n" "0xa20\nARM1020\n" "0xa22\nARM1022\n" + "0xa26\nARM1026\n" "0xb02\nARM11 MPCore\n" "0xb36\nARM1136\n" + "0xb56\nARM1156\n" "0xb76\nARM1176\n" "0xc05\nCortex-A5\n" + "0xc07\nCortex-A7\n" "0xc08\nCortex-A8\n" "0xc09\nCortex-A9\n" + "0xc0d\nCortex-A17\n" /* Originally A12 */ + "0xc0f\nCortex-A15\n" "0xc0e\nCortex-A17\n" "0xc14\nCortex-R4\n" + "0xc15\nCortex-R5\n" "0xc17\nCortex-R7\n" "0xc18\nCortex-R8\n" + "0xc20\nCortex-M0\n" "0xc21\nCortex-M1\n" "0xc23\nCortex-M3\n" + "0xc24\nCortex-M4\n" "0xc27\nCortex-M7\n" "0xc60\nCortex-M0+\n" + "0xd01\nCortex-A32\n" "0xd03\nCortex-A53\n" "0xd04\nCortex-A35\n" + "0xd05\nCortex-A55\n" "0xd06\nCortex-A65\n" "0xd07\nCortex-A57\n" + "0xd08\nCortex-A72\n" "0xd09\nCortex-A73\n" "0xd0a\nCortex-A75\n" + "0xd0b\nCortex-A76\n" "0xd0c\nNeoverse-N1\n" "0xd0d\nCortex-A77\n" + "0xd0e\nCortex-A76AE\n" "0xd13\nCortex-R52\n" "0xd20\nCortex-M23\n" + "0xd21\nCortex-M33\n" "0xd41\nCortex-A78\n" "0xd42\nCortex-A78AE\n" + "0xd4a\nNeoverse-E1\n" "0xd4b\nCortex-A78C\n" +#endif + ""; + struct cpu { + unsigned long long freq, user, nice, sys, idle, irq; + unsigned model; + }; + FILE* fp; + char* p; + int found; + int n; + unsigned i; + unsigned cpu; + unsigned maxcpu; + unsigned size; + unsigned long long skip; + struct cpu (*cpus)[8192]; /* Kernel maximum. */ + struct cpu* c; + struct cpu t; + char (*model)[64]; + unsigned char bitmap[ARRAY_SIZE(*cpus) / 8]; + /* Assumption: even big.LITTLE systems will have only a handful + * of different CPU models. Most systems will just have one. + */ + char models[8][64]; + char buf[1024]; + + memset(bitmap, 0, sizeof(bitmap)); + memset(models, 0, sizeof(models)); + snprintf(*models, sizeof(*models), "unknown"); + maxcpu = 0; + + cpus = uv__calloc(ARRAY_SIZE(*cpus), sizeof(**cpus)); + if (cpus == NULL) + return UV_ENOMEM; + + fp = uv__open_file("/proc/stat"); + if (fp == NULL) { + uv__free(cpus); + return UV__ERR(errno); + } + + fgets(buf, sizeof(buf), fp); /* Skip first line. */ + + for (;;) { + memset(&t, 0, sizeof(t)); + + n = fscanf(fp, "cpu%u %llu %llu %llu %llu %llu %llu", + &cpu, &t.user, &t.nice, &t.sys, &t.idle, &skip, &t.irq); + + if (n != 7) + break; + + fgets(buf, sizeof(buf), fp); /* Skip rest of line. */ + + if (cpu >= ARRAY_SIZE(*cpus)) + continue; + + (*cpus)[cpu] = t; + + bitmap[cpu >> 3] |= 1 << (cpu & 7); + + if (cpu >= maxcpu) + maxcpu = cpu + 1; + } + + fclose(fp); + + fp = uv__open_file("/proc/cpuinfo"); + if (fp == NULL) + goto nocpuinfo; + + for (;;) { + if (1 != fscanf(fp, "processor\t: %u\n", &cpu)) + break; /* Parse error. */ + + found = 0; + while (!found && fgets(buf, sizeof(buf), fp)) + found = !strncmp(buf, model_marker, sizeof(model_marker) - 1); + + if (!found) + goto next; + + p = buf + sizeof(model_marker) - 1; + n = (int) strcspn(p, "\n"); + + /* arm64: translate CPU part code to model name. */ + if (*parts) { + p = memmem(parts, sizeof(parts) - 1, p, n + 1); + if (p == NULL) + p = "unknown"; + else + p += n + 1; + n = (int) strcspn(p, "\n"); + } + + found = 0; + for (model = models; !found && model < ARRAY_END(models); model++) + found = !strncmp(p, *model, strlen(*model)); + + if (!found) + goto next; + + if (**model == '\0') + snprintf(*model, sizeof(*model), "%.*s", n, p); + + if (cpu < maxcpu) + (*cpus)[cpu].model = model - models; + +next: + while (fgets(buf, sizeof(buf), fp)) + if (*buf == '\n') + break; + } + + fclose(fp); + fp = NULL; + +nocpuinfo: + + n = 0; + for (cpu = 0; cpu < maxcpu; cpu++) { + if (!(bitmap[cpu >> 3] & (1 << (cpu & 7)))) + continue; + + n++; + snprintf(buf, sizeof(buf), + "/sys/devices/system/cpu/cpu%u/cpufreq/scaling_cur_freq", cpu); + + fp = uv__open_file(buf); + if (fp == NULL) + continue; + + fscanf(fp, "%llu", &(*cpus)[cpu].freq); + fclose(fp); + fp = NULL; + } + + size = n * sizeof(**ci) + sizeof(models); + *ci = uv__malloc(size); + *count = 0; + + if (*ci == NULL) { + uv__free(cpus); + return UV_ENOMEM; + } + + *count = n; + p = memcpy(*ci + n, models, sizeof(models)); + + i = 0; + for (cpu = 0; cpu < maxcpu; cpu++) { + if (!(bitmap[cpu >> 3] & (1 << (cpu & 7)))) + continue; + + c = *cpus + cpu; + + (*ci)[i++] = (uv_cpu_info_t) { + .model = p + c->model * sizeof(*model), + .speed = c->freq / 1000, + /* Note: sysconf(_SC_CLK_TCK) is fixed at 100 Hz, + * therefore the multiplier is always 1000/100 = 10. + */ + .cpu_times = (struct uv_cpu_times_s) { + .user = 10 * c->user, + .nice = 10 * c->nice, + .sys = 10 * c->sys, + .idle = 10 * c->idle, + .irq = 10 * c->irq, + }, + }; + } + + uv__free(cpus); + + return 0; +} + + +#ifdef HAVE_IFADDRS_H +static int uv__ifaddr_exclude(struct ifaddrs *ent, int exclude_type) { + if (!((ent->ifa_flags & IFF_UP) && (ent->ifa_flags & IFF_RUNNING))) + return 1; + if (ent->ifa_addr == NULL) + return 1; + /* + * On Linux getifaddrs returns information related to the raw underlying + * devices. We're not interested in this information yet. + */ + if (ent->ifa_addr->sa_family == PF_PACKET) + return exclude_type; + return !exclude_type; +} +#endif + +int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { +#ifndef HAVE_IFADDRS_H + *count = 0; + *addresses = NULL; + return UV_ENOSYS; +#else + struct ifaddrs *addrs, *ent; + uv_interface_address_t* address; + int i; + struct sockaddr_ll *sll; + + *count = 0; + *addresses = NULL; + + if (getifaddrs(&addrs)) + return UV__ERR(errno); + + /* Count the number of interfaces */ + for (ent = addrs; ent != NULL; ent = ent->ifa_next) { + if (uv__ifaddr_exclude(ent, UV__EXCLUDE_IFADDR)) + continue; + + (*count)++; + } + + if (*count == 0) { + freeifaddrs(addrs); + return 0; + } + + /* Make sure the memory is initiallized to zero using calloc() */ + *addresses = uv__calloc(*count, sizeof(**addresses)); + if (!(*addresses)) { + freeifaddrs(addrs); + return UV_ENOMEM; + } + + address = *addresses; + + for (ent = addrs; ent != NULL; ent = ent->ifa_next) { + if (uv__ifaddr_exclude(ent, UV__EXCLUDE_IFADDR)) + continue; + + address->name = uv__strdup(ent->ifa_name); + + if (ent->ifa_addr->sa_family == AF_INET6) { + address->address.address6 = *((struct sockaddr_in6*) ent->ifa_addr); + } else { + address->address.address4 = *((struct sockaddr_in*) ent->ifa_addr); + } + + if (ent->ifa_netmask->sa_family == AF_INET6) { + address->netmask.netmask6 = *((struct sockaddr_in6*) ent->ifa_netmask); + } else { + address->netmask.netmask4 = *((struct sockaddr_in*) ent->ifa_netmask); + } + + address->is_internal = !!(ent->ifa_flags & IFF_LOOPBACK); + + address++; + } + + /* Fill in physical addresses for each interface */ + for (ent = addrs; ent != NULL; ent = ent->ifa_next) { + if (uv__ifaddr_exclude(ent, UV__EXCLUDE_IFPHYS)) + continue; + + address = *addresses; + + for (i = 0; i < (*count); i++) { + size_t namelen = strlen(ent->ifa_name); + /* Alias interface share the same physical address */ + if (strncmp(address->name, ent->ifa_name, namelen) == 0 && + (address->name[namelen] == 0 || address->name[namelen] == ':')) { + sll = (struct sockaddr_ll*)ent->ifa_addr; + memcpy(address->phys_addr, sll->sll_addr, sizeof(address->phys_addr)); + } + address++; + } + } + + freeifaddrs(addrs); + + return 0; +#endif +} + + +void uv_free_interface_addresses(uv_interface_address_t* addresses, + int count) { + int i; + + for (i = 0; i < count; i++) { + uv__free(addresses[i].name); + } + + uv__free(addresses); +} + + +void uv__set_process_title(const char* title) { +#if defined(PR_SET_NAME) + prctl(PR_SET_NAME, title); /* Only copies first 16 characters. */ +#endif +} + + +static uint64_t uv__read_proc_meminfo(const char* what) { + uint64_t rc; + char* p; + char buf[4096]; /* Large enough to hold all of /proc/meminfo. */ + + if (uv__slurp("/proc/meminfo", buf, sizeof(buf))) + return 0; + + p = strstr(buf, what); + + if (p == NULL) + return 0; + + p += strlen(what); + + rc = 0; + sscanf(p, "%" PRIu64 " kB", &rc); + + return rc * 1024; +} + + +uint64_t uv_get_free_memory(void) { + struct sysinfo info; + uint64_t rc; + + rc = uv__read_proc_meminfo("MemAvailable:"); + + if (rc != 0) + return rc; + + if (0 == sysinfo(&info)) + return (uint64_t) info.freeram * info.mem_unit; + + return 0; +} + + +uint64_t uv_get_total_memory(void) { + struct sysinfo info; + uint64_t rc; + + rc = uv__read_proc_meminfo("MemTotal:"); + + if (rc != 0) + return rc; + + if (0 == sysinfo(&info)) + return (uint64_t) info.totalram * info.mem_unit; + + return 0; +} + + +static uint64_t uv__read_uint64(const char* filename) { + char buf[32]; /* Large enough to hold an encoded uint64_t. */ + uint64_t rc; + + rc = 0; + if (0 == uv__slurp(filename, buf, sizeof(buf))) + if (1 != sscanf(buf, "%" PRIu64, &rc)) + if (0 == strcmp(buf, "max\n")) + rc = UINT64_MAX; + + return rc; +} + + +/* Given a buffer with the contents of a cgroup1 /proc/self/cgroups, + * finds the location and length of the memory controller mount path. + * This disregards the leading / for easy concatenation of paths. + * Returns NULL if the memory controller wasn't found. */ +static char* uv__cgroup1_find_memory_controller(char buf[static 1024], + int* n) { + char* p; + + /* Seek to the memory controller line. */ + p = strchr(buf, ':'); + while (p != NULL && strncmp(p, ":memory:", 8)) { + p = strchr(p, '\n'); + if (p != NULL) + p = strchr(p, ':'); + } + + if (p != NULL) { + /* Determine the length of the mount path. */ + p = p + strlen(":memory:/"); + *n = (int) strcspn(p, "\n"); + } + + return p; +} + +static void uv__get_cgroup1_memory_limits(char buf[static 1024], uint64_t* high, + uint64_t* max) { + char filename[4097]; + char* p; + int n; + uint64_t cgroup1_max; + + /* Find out where the controller is mounted. */ + p = uv__cgroup1_find_memory_controller(buf, &n); + if (p != NULL) { + snprintf(filename, sizeof(filename), + "/sys/fs/cgroup/memory/%.*s/memory.soft_limit_in_bytes", n, p); + *high = uv__read_uint64(filename); + + snprintf(filename, sizeof(filename), + "/sys/fs/cgroup/memory/%.*s/memory.limit_in_bytes", n, p); + *max = uv__read_uint64(filename); + + /* If the controller wasn't mounted, the reads above will have failed, + * as indicated by uv__read_uint64 returning 0. + */ + if (*high != 0 && *max != 0) + goto update_limits; + } + + /* Fall back to the limits of the global memory controller. */ + *high = uv__read_uint64("/sys/fs/cgroup/memory/memory.soft_limit_in_bytes"); + *max = uv__read_uint64("/sys/fs/cgroup/memory/memory.limit_in_bytes"); + + /* uv__read_uint64 detects cgroup2's "max", so we need to separately detect + * cgroup1's maximum value (which is derived from LONG_MAX and PAGE_SIZE). + */ +update_limits: + cgroup1_max = LONG_MAX & ~(sysconf(_SC_PAGESIZE) - 1); + if (*high == cgroup1_max) + *high = UINT64_MAX; + if (*max == cgroup1_max) + *max = UINT64_MAX; +} + +static void uv__get_cgroup2_memory_limits(char buf[static 1024], uint64_t* high, + uint64_t* max) { + char filename[4097]; + char* p; + int n; + + /* Find out where the controller is mounted. */ + p = buf + strlen("0::/"); + n = (int) strcspn(p, "\n"); + + /* Read the memory limits of the controller. */ + snprintf(filename, sizeof(filename), "/sys/fs/cgroup/%.*s/memory.max", n, p); + *max = uv__read_uint64(filename); + snprintf(filename, sizeof(filename), "/sys/fs/cgroup/%.*s/memory.high", n, p); + *high = uv__read_uint64(filename); +} + +static uint64_t uv__get_cgroup_constrained_memory(char buf[static 1024]) { + uint64_t high; + uint64_t max; + + /* In the case of cgroupv2, we'll only have a single entry. */ + if (strncmp(buf, "0::/", 4)) + uv__get_cgroup1_memory_limits(buf, &high, &max); + else + uv__get_cgroup2_memory_limits(buf, &high, &max); + + if (high == 0 || max == 0) + return 0; + + return high < max ? high : max; +} + +uint64_t uv_get_constrained_memory(void) { + char buf[1024]; + + if (uv__slurp("/proc/self/cgroup", buf, sizeof(buf))) + return 0; + + return uv__get_cgroup_constrained_memory(buf); +} + + +static uint64_t uv__get_cgroup1_current_memory(char buf[static 1024]) { + char filename[4097]; + uint64_t current; + char* p; + int n; + + /* Find out where the controller is mounted. */ + p = uv__cgroup1_find_memory_controller(buf, &n); + if (p != NULL) { + snprintf(filename, sizeof(filename), + "/sys/fs/cgroup/memory/%.*s/memory.usage_in_bytes", n, p); + current = uv__read_uint64(filename); + + /* If the controller wasn't mounted, the reads above will have failed, + * as indicated by uv__read_uint64 returning 0. + */ + if (current != 0) + return current; + } + + /* Fall back to the usage of the global memory controller. */ + return uv__read_uint64("/sys/fs/cgroup/memory/memory.usage_in_bytes"); +} + +static uint64_t uv__get_cgroup2_current_memory(char buf[static 1024]) { + char filename[4097]; + char* p; + int n; + + /* Find out where the controller is mounted. */ + p = buf + strlen("0::/"); + n = (int) strcspn(p, "\n"); + + snprintf(filename, sizeof(filename), + "/sys/fs/cgroup/%.*s/memory.current", n, p); + return uv__read_uint64(filename); +} + +uint64_t uv_get_available_memory(void) { + char buf[1024]; + uint64_t constrained; + uint64_t current; + uint64_t total; + + if (uv__slurp("/proc/self/cgroup", buf, sizeof(buf))) + return 0; + + constrained = uv__get_cgroup_constrained_memory(buf); + if (constrained == 0) + return uv_get_free_memory(); + + total = uv_get_total_memory(); + if (constrained > total) + return uv_get_free_memory(); + + /* In the case of cgroupv2, we'll only have a single entry. */ + if (strncmp(buf, "0::/", 4)) + current = uv__get_cgroup1_current_memory(buf); + else + current = uv__get_cgroup2_current_memory(buf); + + /* memory usage can be higher than the limit (for short bursts of time) */ + if (constrained < current) + return 0; + + return constrained - current; +} + + +void uv_loadavg(double avg[3]) { + struct sysinfo info; + char buf[128]; /* Large enough to hold all of /proc/loadavg. */ + + if (0 == uv__slurp("/proc/loadavg", buf, sizeof(buf))) + if (3 == sscanf(buf, "%lf %lf %lf", &avg[0], &avg[1], &avg[2])) + return; + + if (sysinfo(&info) < 0) + return; + + avg[0] = (double) info.loads[0] / 65536.0; + avg[1] = (double) info.loads[1] / 65536.0; + avg[2] = (double) info.loads[2] / 65536.0; +} + + +static int compare_watchers(const struct watcher_list* a, + const struct watcher_list* b) { + if (a->wd < b->wd) return -1; + if (a->wd > b->wd) return 1; + return 0; +} + + +static int init_inotify(uv_loop_t* loop) { + int fd; + + if (loop->inotify_fd != -1) + return 0; + + fd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); + if (fd < 0) + return UV__ERR(errno); + + loop->inotify_fd = fd; + uv__io_init(&loop->inotify_read_watcher, uv__inotify_read, loop->inotify_fd); + uv__io_start(loop, &loop->inotify_read_watcher, POLLIN); + + return 0; +} + + +static int uv__inotify_fork(uv_loop_t* loop, struct watcher_list* root) { + /* Open the inotify_fd, and re-arm all the inotify watchers. */ + int err; + struct watcher_list* tmp_watcher_list_iter; + struct watcher_list* watcher_list; + struct watcher_list tmp_watcher_list; + QUEUE queue; + QUEUE* q; + uv_fs_event_t* handle; + char* tmp_path; + + if (root == NULL) + return 0; + + /* We must restore the old watcher list to be able to close items + * out of it. + */ + loop->inotify_watchers = root; + + QUEUE_INIT(&tmp_watcher_list.watchers); + /* Note that the queue we use is shared with the start and stop() + * functions, making QUEUE_FOREACH unsafe to use. So we use the + * QUEUE_MOVE trick to safely iterate. Also don't free the watcher + * list until we're done iterating. c.f. uv__inotify_read. + */ + RB_FOREACH_SAFE(watcher_list, watcher_root, + uv__inotify_watchers(loop), tmp_watcher_list_iter) { + watcher_list->iterating = 1; + QUEUE_MOVE(&watcher_list->watchers, &queue); + while (!QUEUE_EMPTY(&queue)) { + q = QUEUE_HEAD(&queue); + handle = QUEUE_DATA(q, uv_fs_event_t, watchers); + /* It's critical to keep a copy of path here, because it + * will be set to NULL by stop() and then deallocated by + * maybe_free_watcher_list + */ + tmp_path = uv__strdup(handle->path); + assert(tmp_path != NULL); + QUEUE_REMOVE(q); + QUEUE_INSERT_TAIL(&watcher_list->watchers, q); + uv_fs_event_stop(handle); + + QUEUE_INSERT_TAIL(&tmp_watcher_list.watchers, &handle->watchers); + handle->path = tmp_path; + } + watcher_list->iterating = 0; + maybe_free_watcher_list(watcher_list, loop); + } + + QUEUE_MOVE(&tmp_watcher_list.watchers, &queue); + while (!QUEUE_EMPTY(&queue)) { + q = QUEUE_HEAD(&queue); + QUEUE_REMOVE(q); + handle = QUEUE_DATA(q, uv_fs_event_t, watchers); + tmp_path = handle->path; + handle->path = NULL; + err = uv_fs_event_start(handle, handle->cb, tmp_path, 0); + uv__free(tmp_path); + if (err) + return err; + } + + return 0; +} + + +static struct watcher_list* find_watcher(uv_loop_t* loop, int wd) { + struct watcher_list w; + w.wd = wd; + return RB_FIND(watcher_root, uv__inotify_watchers(loop), &w); +} + + +static void maybe_free_watcher_list(struct watcher_list* w, uv_loop_t* loop) { + /* if the watcher_list->watchers is being iterated over, we can't free it. */ + if ((!w->iterating) && QUEUE_EMPTY(&w->watchers)) { + /* No watchers left for this path. Clean up. */ + RB_REMOVE(watcher_root, uv__inotify_watchers(loop), w); + inotify_rm_watch(loop->inotify_fd, w->wd); + uv__free(w); + } +} + + +static void uv__inotify_read(uv_loop_t* loop, + uv__io_t* dummy, + unsigned int events) { + const struct inotify_event* e; + struct watcher_list* w; + uv_fs_event_t* h; + QUEUE queue; + QUEUE* q; + const char* path; + ssize_t size; + const char *p; + /* needs to be large enough for sizeof(inotify_event) + strlen(path) */ + char buf[4096]; + + for (;;) { + do + size = read(loop->inotify_fd, buf, sizeof(buf)); + while (size == -1 && errno == EINTR); + + if (size == -1) { + assert(errno == EAGAIN || errno == EWOULDBLOCK); + break; + } + + assert(size > 0); /* pre-2.6.21 thing, size=0 == read buffer too small */ + + /* Now we have one or more inotify_event structs. */ + for (p = buf; p < buf + size; p += sizeof(*e) + e->len) { + e = (const struct inotify_event*) p; + + events = 0; + if (e->mask & (IN_ATTRIB|IN_MODIFY)) + events |= UV_CHANGE; + if (e->mask & ~(IN_ATTRIB|IN_MODIFY)) + events |= UV_RENAME; + + w = find_watcher(loop, e->wd); + if (w == NULL) + continue; /* Stale event, no watchers left. */ + + /* inotify does not return the filename when monitoring a single file + * for modifications. Repurpose the filename for API compatibility. + * I'm not convinced this is a good thing, maybe it should go. + */ + path = e->len ? (const char*) (e + 1) : uv__basename_r(w->path); + + /* We're about to iterate over the queue and call user's callbacks. + * What can go wrong? + * A callback could call uv_fs_event_stop() + * and the queue can change under our feet. + * So, we use QUEUE_MOVE() trick to safely iterate over the queue. + * And we don't free the watcher_list until we're done iterating. + * + * First, + * tell uv_fs_event_stop() (that could be called from a user's callback) + * not to free watcher_list. + */ + w->iterating = 1; + QUEUE_MOVE(&w->watchers, &queue); + while (!QUEUE_EMPTY(&queue)) { + q = QUEUE_HEAD(&queue); + h = QUEUE_DATA(q, uv_fs_event_t, watchers); + + QUEUE_REMOVE(q); + QUEUE_INSERT_TAIL(&w->watchers, q); + + h->cb(h, path, events, 0); + } + /* done iterating, time to (maybe) free empty watcher_list */ + w->iterating = 0; + maybe_free_watcher_list(w, loop); + } + } +} + + +int uv_fs_event_init(uv_loop_t* loop, uv_fs_event_t* handle) { + uv__handle_init(loop, (uv_handle_t*)handle, UV_FS_EVENT); + return 0; +} + + +int uv_fs_event_start(uv_fs_event_t* handle, + uv_fs_event_cb cb, + const char* path, + unsigned int flags) { + struct watcher_list* w; + uv_loop_t* loop; + size_t len; + int events; + int err; + int wd; + + if (uv__is_active(handle)) + return UV_EINVAL; + + loop = handle->loop; + + err = init_inotify(loop); + if (err) + return err; + + events = IN_ATTRIB + | IN_CREATE + | IN_MODIFY + | IN_DELETE + | IN_DELETE_SELF + | IN_MOVE_SELF + | IN_MOVED_FROM + | IN_MOVED_TO; + + wd = inotify_add_watch(loop->inotify_fd, path, events); + if (wd == -1) + return UV__ERR(errno); + + w = find_watcher(loop, wd); + if (w) + goto no_insert; + + len = strlen(path) + 1; + w = uv__malloc(sizeof(*w) + len); + if (w == NULL) + return UV_ENOMEM; + + w->wd = wd; + w->path = memcpy(w + 1, path, len); + QUEUE_INIT(&w->watchers); + w->iterating = 0; + RB_INSERT(watcher_root, uv__inotify_watchers(loop), w); + +no_insert: + uv__handle_start(handle); + QUEUE_INSERT_TAIL(&w->watchers, &handle->watchers); + handle->path = w->path; + handle->cb = cb; + handle->wd = wd; + + return 0; +} + + +int uv_fs_event_stop(uv_fs_event_t* handle) { + struct watcher_list* w; + + if (!uv__is_active(handle)) + return 0; + + w = find_watcher(handle->loop, handle->wd); + assert(w != NULL); + + handle->wd = -1; + handle->path = NULL; + uv__handle_stop(handle); + QUEUE_REMOVE(&handle->watchers); + + maybe_free_watcher_list(w, handle->loop); + + return 0; +} + + +void uv__fs_event_close(uv_fs_event_t* handle) { + uv_fs_event_stop(handle); +} diff --git a/deps/uv/src/unix/loop.c b/deps/uv/src/unix/loop.c index a88e71c339351f..90a51b339de016 100644 --- a/deps/uv/src/unix/loop.c +++ b/deps/uv/src/unix/loop.c @@ -45,6 +45,9 @@ int uv_loop_init(uv_loop_t* loop) { err = uv_mutex_init(&lfields->loop_metrics.lock); if (err) goto fail_metrics_mutex_init; + memset(&lfields->loop_metrics.metrics, + 0, + sizeof(lfields->loop_metrics.metrics)); heap_init((struct heap*) &loop->timer_heap); QUEUE_INIT(&loop->wq); @@ -79,12 +82,9 @@ int uv_loop_init(uv_loop_t* loop) { goto fail_platform_init; uv__signal_global_once_init(); - err = uv_signal_init(loop, &loop->child_watcher); + err = uv__process_init(loop); if (err) goto fail_signal_init; - - uv__handle_unref(&loop->child_watcher); - loop->child_watcher.flags |= UV_HANDLE_INTERNAL; QUEUE_INIT(&loop->process_handles); err = uv_rwlock_init(&loop->cloexec_lock); diff --git a/deps/uv/src/unix/netbsd.c b/deps/uv/src/unix/netbsd.c index c66333f522c5d4..fa21e98e41aec8 100644 --- a/deps/uv/src/unix/netbsd.c +++ b/deps/uv/src/unix/netbsd.c @@ -103,7 +103,7 @@ uint64_t uv_get_free_memory(void) { int which[] = {CTL_VM, VM_UVMEXP}; if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) info.free * sysconf(_SC_PAGESIZE); } @@ -120,7 +120,7 @@ uint64_t uv_get_total_memory(void) { size_t size = sizeof(info); if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) info; } @@ -131,6 +131,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + int uv_resident_set_memory(size_t* rss) { kvm_t *kd = NULL; struct kinfo_proc2 *kinfo = NULL; diff --git a/deps/uv/src/unix/openbsd.c b/deps/uv/src/unix/openbsd.c index f32a94df38765f..9c863b6c90dad9 100644 --- a/deps/uv/src/unix/openbsd.c +++ b/deps/uv/src/unix/openbsd.c @@ -116,7 +116,7 @@ uint64_t uv_get_free_memory(void) { int which[] = {CTL_VM, VM_UVMEXP}; if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) info.free * sysconf(_SC_PAGESIZE); } @@ -128,7 +128,7 @@ uint64_t uv_get_total_memory(void) { size_t size = sizeof(info); if (sysctl(which, ARRAY_SIZE(which), &info, &size, NULL, 0)) - return UV__ERR(errno); + return 0; return (uint64_t) info; } @@ -139,6 +139,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + int uv_resident_set_memory(size_t* rss) { struct kinfo_proc kinfo; size_t page_size = getpagesize(); diff --git a/deps/uv/src/unix/os390.c b/deps/uv/src/unix/os390.c index 3b16318ce28a92..a87c2d77fafa02 100644 --- a/deps/uv/src/unix/os390.c +++ b/deps/uv/src/unix/os390.c @@ -198,6 +198,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + int uv_resident_set_memory(size_t* rss) { char* ascb; char* rax; @@ -803,6 +808,7 @@ static int os390_message_queue_handler(uv__os390_epoll* ep) { void uv__io_poll(uv_loop_t* loop, int timeout) { static const int max_safe_timeout = 1789569; + uv__loop_internal_fields_t* lfields; struct epoll_event events[1024]; struct epoll_event* pe; struct epoll_event e; @@ -825,6 +831,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { return; } + lfields = uv__get_internal_fields(loop); + while (!QUEUE_EMPTY(&loop->watcher_queue)) { uv_stream_t* stream; @@ -872,7 +880,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { int nevents = 0; have_signals = 0; - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { + if (lfields->flags & UV_METRICS_IDLE_TIME) { reset_timeout = 1; user_timeout = timeout; timeout = 0; @@ -891,6 +899,12 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout) timeout = max_safe_timeout; + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + nfds = epoll_wait(loop->ep, events, ARRAY_SIZE(events), timeout); @@ -998,9 +1012,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { } } + uv__metrics_inc_events(loop, nevents); if (reset_timeout != 0) { timeout = user_timeout; reset_timeout = 0; + uv__metrics_inc_events_waiting(loop, nevents); } if (have_signals != 0) { diff --git a/deps/uv/src/unix/pipe.c b/deps/uv/src/unix/pipe.c index e8cfa1481c3648..610b09b37f338e 100644 --- a/deps/uv/src/unix/pipe.c +++ b/deps/uv/src/unix/pipe.c @@ -357,7 +357,7 @@ int uv_pipe_chmod(uv_pipe_t* handle, int mode) { } /* stat must be used as fstat has a bug on Darwin */ - if (stat(name_buffer, &pipe_stat) == -1) { + if (uv__stat(name_buffer, &pipe_stat) == -1) { uv__free(name_buffer); return -errno; } diff --git a/deps/uv/src/unix/posix-hrtime.c b/deps/uv/src/unix/posix-hrtime.c index 323dfc20392423..7b45c01a4d06ee 100644 --- a/deps/uv/src/unix/posix-hrtime.c +++ b/deps/uv/src/unix/posix-hrtime.c @@ -23,13 +23,14 @@ #include "internal.h" #include +#include #include -#undef NANOSEC -#define NANOSEC ((uint64_t) 1e9) - uint64_t uv__hrtime(uv_clocktype_t type) { - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); + struct timespec t; + + if (clock_gettime(CLOCK_MONOTONIC, &t)) + abort(); + + return t.tv_sec * (uint64_t) 1e9 + t.tv_nsec; } diff --git a/deps/uv/src/unix/posix-poll.c b/deps/uv/src/unix/posix-poll.c index 0f4bf93874be89..7e7de86845ddb4 100644 --- a/deps/uv/src/unix/posix-poll.c +++ b/deps/uv/src/unix/posix-poll.c @@ -132,6 +132,7 @@ static void uv__pollfds_del(uv_loop_t* loop, int fd) { void uv__io_poll(uv_loop_t* loop, int timeout) { + uv__loop_internal_fields_t* lfields; sigset_t* pset; sigset_t set; uint64_t time_base; @@ -152,6 +153,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { return; } + lfields = uv__get_internal_fields(loop); + /* Take queued watchers and add their fds to our poll fds array. */ while (!QUEUE_EMPTY(&loop->watcher_queue)) { q = QUEUE_HEAD(&loop->watcher_queue); @@ -179,7 +182,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { assert(timeout >= -1); time_base = loop->time; - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { + if (lfields->flags & UV_METRICS_IDLE_TIME) { reset_timeout = 1; user_timeout = timeout; timeout = 0; @@ -198,6 +201,12 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { if (timeout != 0) uv__metrics_set_provider_entry_time(loop); + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + if (pset != NULL) if (pthread_sigmask(SIG_BLOCK, pset, NULL)) abort(); @@ -292,9 +301,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { } } + uv__metrics_inc_events(loop, nevents); if (reset_timeout != 0) { timeout = user_timeout; reset_timeout = 0; + uv__metrics_inc_events_waiting(loop, nevents); } if (have_signals != 0) { diff --git a/deps/uv/src/unix/process.c b/deps/uv/src/unix/process.c index f84153687f799a..c4fb322d17f3da 100644 --- a/deps/uv/src/unix/process.c +++ b/deps/uv/src/unix/process.c @@ -55,7 +55,7 @@ extern char **environ; #endif -#if defined(__linux__) || defined(__GLIBC__) +#if defined(__linux__) # include #endif @@ -79,8 +79,28 @@ static void uv__chld(uv_signal_t* handle, int signum) { assert(signum == SIGCHLD); uv__wait_children(handle->loop); } + + +int uv__process_init(uv_loop_t* loop) { + int err; + + err = uv_signal_init(loop, &loop->child_watcher); + if (err) + return err; + uv__handle_unref(&loop->child_watcher); + loop->child_watcher.flags |= UV_HANDLE_INTERNAL; + return 0; +} + + +#else +int uv__process_init(uv_loop_t* loop) { + memset(&loop->child_watcher, 0, sizeof(loop->child_watcher)); + return 0; +} #endif + void uv__wait_children(uv_loop_t* loop) { uv_process_t* process; int exit_status; @@ -105,6 +125,7 @@ void uv__wait_children(uv_loop_t* loop) { continue; options = 0; process->flags &= ~UV_HANDLE_REAP; + loop->nfds--; #else options = WNOHANG; #endif @@ -665,7 +686,7 @@ static int uv__spawn_resolve_and_spawn(const uv_process_options_t* options, if (options->file == NULL) return ENOENT; - /* The environment for the child process is that of the parent unless overriden + /* The environment for the child process is that of the parent unless overridden * by options->env */ char** env = environ; if (options->env != NULL) @@ -1012,6 +1033,10 @@ int uv_spawn(uv_loop_t* loop, process->flags |= UV_HANDLE_REAP; loop->flags |= UV_LOOP_REAP_CHILDREN; } + /* This prevents uv__io_poll() from bailing out prematurely, being unaware + * that we added an event here for it to react to. We will decrement this + * again after the waitpid call succeeds. */ + loop->nfds++; #endif process->pid = pid; @@ -1080,6 +1105,8 @@ int uv_kill(int pid, int signum) { void uv__process_close(uv_process_t* handle) { QUEUE_REMOVE(&handle->queue); uv__handle_stop(handle); +#ifdef UV_USE_SIGCHLD if (QUEUE_EMPTY(&handle->loop->process_handles)) uv_signal_stop(&handle->loop->child_watcher); +#endif } diff --git a/deps/uv/src/unix/pthread-fixes.c b/deps/uv/src/unix/pthread-fixes.c deleted file mode 100644 index 022d79c4e21615..00000000000000 --- a/deps/uv/src/unix/pthread-fixes.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (c) 2013, Sony Mobile Communications AB - * Copyright (c) 2012, Google Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* Android versions < 4.1 have a broken pthread_sigmask. */ -#include "uv-common.h" - -#include -#include -#include - -int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset) { - static int workaround; - int err; - - if (uv__load_relaxed(&workaround)) { - return sigprocmask(how, set, oset); - } else { - err = pthread_sigmask(how, set, oset); - if (err) { - if (err == EINVAL && sigprocmask(how, set, oset) == 0) { - uv__store_relaxed(&workaround, 1); - return 0; - } else { - return -1; - } - } - } - - return 0; -} diff --git a/deps/uv/src/unix/qnx.c b/deps/uv/src/unix/qnx.c index ca148d349f87c8..57ea9dfd9ccc9c 100644 --- a/deps/uv/src/unix/qnx.c +++ b/deps/uv/src/unix/qnx.c @@ -88,6 +88,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + int uv_resident_set_memory(size_t* rss) { int fd; procfs_asinfo asinfo; diff --git a/deps/uv/src/unix/random-devurandom.c b/deps/uv/src/unix/random-devurandom.c index 05e52a56a364ea..d6336f2c98c2c9 100644 --- a/deps/uv/src/unix/random-devurandom.c +++ b/deps/uv/src/unix/random-devurandom.c @@ -40,7 +40,7 @@ int uv__random_readpath(const char* path, void* buf, size_t buflen) { if (fd < 0) return fd; - if (fstat(fd, &s)) { + if (uv__fstat(fd, &s)) { uv__close(fd); return UV__ERR(errno); } diff --git a/deps/uv/src/unix/random-getrandom.c b/deps/uv/src/unix/random-getrandom.c index bcc94089bcb64e..054eccf1664666 100644 --- a/deps/uv/src/unix/random-getrandom.c +++ b/deps/uv/src/unix/random-getrandom.c @@ -24,8 +24,6 @@ #ifdef __linux__ -#include "linux-syscalls.h" - #define uv__random_getrandom_init() 0 #else /* !__linux__ */ diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c index 1133c73a955525..bb70523f561dee 100644 --- a/deps/uv/src/unix/signal.c +++ b/deps/uv/src/unix/signal.c @@ -279,6 +279,8 @@ static int uv__signal_loop_once_init(uv_loop_t* loop) { int uv__signal_loop_fork(uv_loop_t* loop) { + if (loop->signal_pipefd[0] == -1) + return 0; uv__io_stop(loop, &loop->signal_io_watcher, POLLIN); uv__close(loop->signal_pipefd[0]); uv__close(loop->signal_pipefd[1]); diff --git a/deps/uv/src/unix/spinlock.h b/deps/uv/src/unix/spinlock.h deleted file mode 100644 index a20c83cc601d9f..00000000000000 --- a/deps/uv/src/unix/spinlock.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (c) 2013, Ben Noordhuis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef UV_SPINLOCK_H_ -#define UV_SPINLOCK_H_ - -#include "internal.h" /* ACCESS_ONCE, UV_UNUSED */ -#include "atomic-ops.h" - -#define UV_SPINLOCK_INITIALIZER { 0 } - -typedef struct { - int lock; -} uv_spinlock_t; - -UV_UNUSED(static void uv_spinlock_init(uv_spinlock_t* spinlock)); -UV_UNUSED(static void uv_spinlock_lock(uv_spinlock_t* spinlock)); -UV_UNUSED(static void uv_spinlock_unlock(uv_spinlock_t* spinlock)); -UV_UNUSED(static int uv_spinlock_trylock(uv_spinlock_t* spinlock)); - -UV_UNUSED(static void uv_spinlock_init(uv_spinlock_t* spinlock)) { - ACCESS_ONCE(int, spinlock->lock) = 0; -} - -UV_UNUSED(static void uv_spinlock_lock(uv_spinlock_t* spinlock)) { - while (!uv_spinlock_trylock(spinlock)) cpu_relax(); -} - -UV_UNUSED(static void uv_spinlock_unlock(uv_spinlock_t* spinlock)) { - ACCESS_ONCE(int, spinlock->lock) = 0; -} - -UV_UNUSED(static int uv_spinlock_trylock(uv_spinlock_t* spinlock)) { - /* TODO(bnoordhuis) Maybe change to a ticket lock to guarantee fair queueing. - * Not really critical until we have locks that are (frequently) contended - * for by several threads. - */ - return 0 == cmpxchgi(&spinlock->lock, 0, 1); -} - -#endif /* UV_SPINLOCK_H_ */ diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c index b1f6359e0de2c5..03f92b5045ab4e 100644 --- a/deps/uv/src/unix/stream.c +++ b/deps/uv/src/unix/stream.c @@ -60,6 +60,16 @@ struct uv__stream_select_s { }; #endif /* defined(__APPLE__) */ +union uv__cmsg { + struct cmsghdr hdr; + /* This cannot be larger because of the IBMi PASE limitation that + * the total size of control messages cannot exceed 256 bytes. + */ + char pad[256]; +}; + +STATIC_ASSERT(256 == sizeof(union uv__cmsg)); + static void uv__stream_connect(uv_stream_t*); static void uv__write(uv_stream_t* stream); static void uv__read(uv_stream_t* stream); @@ -495,76 +505,34 @@ static int uv__emfile_trick(uv_loop_t* loop, int accept_fd) { } -#if defined(UV_HAVE_KQUEUE) -# define UV_DEC_BACKLOG(w) w->rcount--; -#else -# define UV_DEC_BACKLOG(w) /* no-op */ -#endif /* defined(UV_HAVE_KQUEUE) */ - - void uv__server_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { uv_stream_t* stream; int err; + int fd; stream = container_of(w, uv_stream_t, io_watcher); assert(events & POLLIN); assert(stream->accepted_fd == -1); assert(!(stream->flags & UV_HANDLE_CLOSING)); - uv__io_start(stream->loop, &stream->io_watcher, POLLIN); - - /* connection_cb can close the server socket while we're - * in the loop so check it on each iteration. - */ - while (uv__stream_fd(stream) != -1) { - assert(stream->accepted_fd == -1); - -#if defined(UV_HAVE_KQUEUE) - if (w->rcount <= 0) - return; -#endif /* defined(UV_HAVE_KQUEUE) */ - - err = uv__accept(uv__stream_fd(stream)); - if (err < 0) { - if (err == UV_EAGAIN || err == UV__ERR(EWOULDBLOCK)) - return; /* Not an error. */ + fd = uv__stream_fd(stream); + err = uv__accept(fd); - if (err == UV_ECONNABORTED) - continue; /* Ignore. Nothing we can do about that. */ + if (err == UV_EMFILE || err == UV_ENFILE) + err = uv__emfile_trick(loop, fd); /* Shed load. */ - if (err == UV_EMFILE || err == UV_ENFILE) { - err = uv__emfile_trick(loop, uv__stream_fd(stream)); - if (err == UV_EAGAIN || err == UV__ERR(EWOULDBLOCK)) - break; - } - - stream->connection_cb(stream, err); - continue; - } - - UV_DEC_BACKLOG(w) - stream->accepted_fd = err; - stream->connection_cb(stream, 0); + if (err < 0) + return; - if (stream->accepted_fd != -1) { - /* The user hasn't yet accepted called uv_accept() */ - uv__io_stop(loop, &stream->io_watcher, POLLIN); - return; - } + stream->accepted_fd = err; + stream->connection_cb(stream, 0); - if (stream->type == UV_TCP && - (stream->flags & UV_HANDLE_TCP_SINGLE_ACCEPT)) { - /* Give other processes a chance to accept connections. */ - struct timespec timeout = { 0, 1 }; - nanosleep(&timeout, NULL); - } - } + if (stream->accepted_fd != -1) + /* The user hasn't yet accepted called uv_accept() */ + uv__io_stop(loop, &stream->io_watcher, POLLIN); } -#undef UV_DEC_BACKLOG - - int uv_accept(uv_stream_t* server, uv_stream_t* client) { int err; @@ -665,7 +633,7 @@ static void uv__drain(uv_stream_t* stream) { uv__stream_osx_interrupt_select(stream); } - if (!(stream->flags & UV_HANDLE_SHUTTING)) + if (!uv__is_stream_shutting(stream)) return; req = stream->shutdown_req; @@ -674,7 +642,6 @@ static void uv__drain(uv_stream_t* stream) { if ((stream->flags & UV_HANDLE_CLOSING) || !(stream->flags & UV_HANDLE_SHUT)) { stream->shutdown_req = NULL; - stream->flags &= ~UV_HANDLE_SHUTTING; uv__req_unregister(stream->loop, req); err = 0; @@ -812,18 +779,14 @@ static int uv__try_write(uv_stream_t* stream, if (send_handle != NULL) { int fd_to_send; struct msghdr msg; - struct cmsghdr *cmsg; - union { - char data[64]; - struct cmsghdr alias; - } scratch; + union uv__cmsg cmsg; if (uv__is_closing(send_handle)) return UV_EBADF; fd_to_send = uv__handle_fd((uv_handle_t*) send_handle); - memset(&scratch, 0, sizeof(scratch)); + memset(&cmsg, 0, sizeof(cmsg)); assert(fd_to_send >= 0); @@ -833,20 +796,13 @@ static int uv__try_write(uv_stream_t* stream, msg.msg_iovlen = iovcnt; msg.msg_flags = 0; - msg.msg_control = &scratch.alias; + msg.msg_control = &cmsg.hdr; msg.msg_controllen = CMSG_SPACE(sizeof(fd_to_send)); - cmsg = CMSG_FIRSTHDR(&msg); - cmsg->cmsg_level = SOL_SOCKET; - cmsg->cmsg_type = SCM_RIGHTS; - cmsg->cmsg_len = CMSG_LEN(sizeof(fd_to_send)); - - /* silence aliasing warning */ - { - void* pv = CMSG_DATA(cmsg); - int* pi = pv; - *pi = fd_to_send; - } + cmsg.hdr.cmsg_level = SOL_SOCKET; + cmsg.hdr.cmsg_type = SCM_RIGHTS; + cmsg.hdr.cmsg_len = CMSG_LEN(sizeof(fd_to_send)); + memcpy(CMSG_DATA(&cmsg.hdr), &fd_to_send, sizeof(fd_to_send)); do n = sendmsg(uv__stream_fd(stream), &msg, 0); @@ -884,9 +840,16 @@ static void uv__write(uv_stream_t* stream) { QUEUE* q; uv_write_t* req; ssize_t n; + int count; assert(uv__stream_fd(stream) >= 0); + /* Prevent loop starvation when the consumer of this stream read as fast as + * (or faster than) we can write it. This `count` mechanism does not need to + * change even if we switch to edge-triggered I/O. + */ + count = 32; + for (;;) { if (QUEUE_EMPTY(&stream->write_queue)) return; @@ -905,10 +868,13 @@ static void uv__write(uv_stream_t* stream) { req->send_handle = NULL; if (uv__write_req_update(stream, req, n)) { uv__write_req_finish(req); - return; /* TODO(bnoordhuis) Start trying to write the next request. */ + if (count-- > 0) + continue; /* Start trying to write the next request. */ + + return; } } else if (n != UV_EAGAIN) - break; + goto error; /* If this is a blocking stream, try again. */ if (stream->flags & UV_HANDLE_BLOCKING_WRITES) @@ -923,6 +889,7 @@ static void uv__write(uv_stream_t* stream) { return; } +error: req->error = n; uv__write_req_finish(req); uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT); @@ -1010,57 +977,38 @@ static int uv__stream_queue_fd(uv_stream_t* stream, int fd) { } -#if defined(__PASE__) -/* on IBMi PASE the control message length can not exceed 256. */ -# define UV__CMSG_FD_COUNT 60 -#else -# define UV__CMSG_FD_COUNT 64 -#endif -#define UV__CMSG_FD_SIZE (UV__CMSG_FD_COUNT * sizeof(int)) - - static int uv__stream_recv_cmsg(uv_stream_t* stream, struct msghdr* msg) { struct cmsghdr* cmsg; + int fd; + int err; + size_t i; + size_t count; for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) { - char* start; - char* end; - int err; - void* pv; - int* pi; - unsigned int i; - unsigned int count; - if (cmsg->cmsg_type != SCM_RIGHTS) { fprintf(stderr, "ignoring non-SCM_RIGHTS ancillary data: %d\n", cmsg->cmsg_type); continue; } - /* silence aliasing warning */ - pv = CMSG_DATA(cmsg); - pi = pv; - - /* Count available fds */ - start = (char*) cmsg; - end = (char*) cmsg + cmsg->cmsg_len; - count = 0; - while (start + CMSG_LEN(count * sizeof(*pi)) < end) - count++; - assert(start + CMSG_LEN(count * sizeof(*pi)) == end); + assert(cmsg->cmsg_len >= CMSG_LEN(0)); + count = cmsg->cmsg_len - CMSG_LEN(0); + assert(count % sizeof(fd) == 0); + count /= sizeof(fd); for (i = 0; i < count; i++) { + memcpy(&fd, (char*) CMSG_DATA(cmsg) + i * sizeof(fd), sizeof(fd)); /* Already has accepted fd, queue now */ if (stream->accepted_fd != -1) { - err = uv__stream_queue_fd(stream, pi[i]); + err = uv__stream_queue_fd(stream, fd); if (err != 0) { /* Close rest */ for (; i < count; i++) - uv__close(pi[i]); + uv__close(fd); return err; } } else { - stream->accepted_fd = pi[i]; + stream->accepted_fd = fd; } } } @@ -1069,17 +1017,11 @@ static int uv__stream_recv_cmsg(uv_stream_t* stream, struct msghdr* msg) { } -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wgnu-folding-constant" -# pragma clang diagnostic ignored "-Wvla-extension" -#endif - static void uv__read(uv_stream_t* stream) { uv_buf_t buf; ssize_t nread; struct msghdr msg; - char cmsg_space[CMSG_SPACE(UV__CMSG_FD_SIZE)]; + union uv__cmsg cmsg; int count; int err; int is_ipc; @@ -1125,8 +1067,8 @@ static void uv__read(uv_stream_t* stream) { msg.msg_name = NULL; msg.msg_namelen = 0; /* Set up to receive a descriptor even if one isn't in the message */ - msg.msg_controllen = sizeof(cmsg_space); - msg.msg_control = cmsg_space; + msg.msg_controllen = sizeof(cmsg); + msg.msg_control = &cmsg.hdr; do { nread = uv__recvmsg(uv__stream_fd(stream), &msg, 0); @@ -1210,14 +1152,6 @@ static void uv__read(uv_stream_t* stream) { } -#ifdef __clang__ -# pragma clang diagnostic pop -#endif - -#undef UV__CMSG_FD_COUNT -#undef UV__CMSG_FD_SIZE - - int uv_shutdown(uv_shutdown_t* req, uv_stream_t* stream, uv_shutdown_cb cb) { assert(stream->type == UV_TCP || stream->type == UV_TTY || @@ -1225,7 +1159,7 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* stream, uv_shutdown_cb cb) { if (!(stream->flags & UV_HANDLE_WRITABLE) || stream->flags & UV_HANDLE_SHUT || - stream->flags & UV_HANDLE_SHUTTING || + uv__is_stream_shutting(stream) || uv__is_closing(stream)) { return UV_ENOTCONN; } @@ -1238,7 +1172,6 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* stream, uv_shutdown_cb cb) { req->handle = stream; req->cb = cb; stream->shutdown_req = req; - stream->flags |= UV_HANDLE_SHUTTING; stream->flags &= ~UV_HANDLE_WRITABLE; if (QUEUE_EMPTY(&stream->write_queue)) diff --git a/deps/uv/src/unix/sunos.c b/deps/uv/src/unix/sunos.c index 7835bed75e0cc5..75b6fbad493707 100644 --- a/deps/uv/src/unix/sunos.c +++ b/deps/uv/src/unix/sunos.c @@ -320,9 +320,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue); } + uv__metrics_inc_events(loop, nevents); if (reset_timeout != 0) { timeout = user_timeout; reset_timeout = 0; + uv__metrics_inc_events_waiting(loop, nevents); } if (have_signals != 0) { @@ -415,6 +417,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + void uv_loadavg(double avg[3]) { (void) getloadavg(avg, 3); } diff --git a/deps/uv/src/unix/tcp.c b/deps/uv/src/unix/tcp.c index 73fc657a86d41b..ab4e06c2f67974 100644 --- a/deps/uv/src/unix/tcp.c +++ b/deps/uv/src/unix/tcp.c @@ -28,16 +28,39 @@ #include -static int new_socket(uv_tcp_t* handle, int domain, unsigned long flags) { - struct sockaddr_storage saddr; +static int maybe_bind_socket(int fd) { + union uv__sockaddr s; socklen_t slen; + + slen = sizeof(s); + memset(&s, 0, sizeof(s)); + + if (getsockname(fd, &s.addr, &slen)) + return UV__ERR(errno); + + if (s.addr.sa_family == AF_INET) + if (s.in.sin_port != 0) + return 0; /* Already bound to a port. */ + + if (s.addr.sa_family == AF_INET6) + if (s.in6.sin6_port != 0) + return 0; /* Already bound to a port. */ + + /* Bind to an arbitrary port. */ + if (bind(fd, &s.addr, slen)) + return UV__ERR(errno); + + return 0; +} + + +static int new_socket(uv_tcp_t* handle, int domain, unsigned int flags) { int sockfd; int err; - err = uv__socket(domain, SOCK_STREAM, 0); - if (err < 0) - return err; - sockfd = err; + sockfd = uv__socket(domain, SOCK_STREAM, 0); + if (sockfd < 0) + return sockfd; err = uv__stream_open((uv_stream_t*) handle, sockfd, flags); if (err) { @@ -45,74 +68,44 @@ static int new_socket(uv_tcp_t* handle, int domain, unsigned long flags) { return err; } - if (flags & UV_HANDLE_BOUND) { - /* Bind this new socket to an arbitrary port */ - slen = sizeof(saddr); - memset(&saddr, 0, sizeof(saddr)); - if (getsockname(uv__stream_fd(handle), (struct sockaddr*) &saddr, &slen)) { - uv__close(sockfd); - return UV__ERR(errno); - } - - if (bind(uv__stream_fd(handle), (struct sockaddr*) &saddr, slen)) { - uv__close(sockfd); - return UV__ERR(errno); - } - } + if (flags & UV_HANDLE_BOUND) + return maybe_bind_socket(sockfd); return 0; } -static int maybe_new_socket(uv_tcp_t* handle, int domain, unsigned long flags) { - struct sockaddr_storage saddr; - socklen_t slen; +static int maybe_new_socket(uv_tcp_t* handle, int domain, unsigned int flags) { + int sockfd; + int err; - if (domain == AF_UNSPEC) { - handle->flags |= flags; - return 0; - } + if (domain == AF_UNSPEC) + goto out; - if (uv__stream_fd(handle) != -1) { + sockfd = uv__stream_fd(handle); + if (sockfd == -1) + return new_socket(handle, domain, flags); - if (flags & UV_HANDLE_BOUND) { - - if (handle->flags & UV_HANDLE_BOUND) { - /* It is already bound to a port. */ - handle->flags |= flags; - return 0; - } - - /* Query to see if tcp socket is bound. */ - slen = sizeof(saddr); - memset(&saddr, 0, sizeof(saddr)); - if (getsockname(uv__stream_fd(handle), (struct sockaddr*) &saddr, &slen)) - return UV__ERR(errno); - - if ((saddr.ss_family == AF_INET6 && - ((struct sockaddr_in6*) &saddr)->sin6_port != 0) || - (saddr.ss_family == AF_INET && - ((struct sockaddr_in*) &saddr)->sin_port != 0)) { - /* Handle is already bound to a port. */ - handle->flags |= flags; - return 0; - } - - /* Bind to arbitrary port */ - if (bind(uv__stream_fd(handle), (struct sockaddr*) &saddr, slen)) - return UV__ERR(errno); - } + if (!(flags & UV_HANDLE_BOUND)) + goto out; - handle->flags |= flags; - return 0; - } + if (handle->flags & UV_HANDLE_BOUND) + goto out; /* Already bound to a port. */ + + err = maybe_bind_socket(sockfd); + if (err) + return err; - return new_socket(handle, domain, flags); +out: + + handle->flags |= flags; + return 0; } int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* tcp, unsigned int flags) { int domain; + int err; /* Use the lower 8 bits for the domain */ domain = flags & 0xFF; @@ -129,9 +122,12 @@ int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* tcp, unsigned int flags) { */ if (domain != AF_UNSPEC) { - int err = maybe_new_socket(tcp, domain, 0); + err = new_socket(tcp, domain, 0); if (err) { QUEUE_REMOVE(&tcp->handle_queue); + if (tcp->io_watcher.fd != -1) + uv__close(tcp->io_watcher.fd); + tcp->io_watcher.fd = -1; return err; } } @@ -317,7 +313,7 @@ int uv_tcp_close_reset(uv_tcp_t* handle, uv_close_cb close_cb) { struct linger l = { 1, 0 }; /* Disallow setting SO_LINGER to zero due to some platform inconsistencies */ - if (handle->flags & UV_HANDLE_SHUTTING) + if (uv__is_stream_shutting(handle)) return UV_EINVAL; fd = uv__stream_fd(handle); @@ -338,24 +334,12 @@ int uv_tcp_close_reset(uv_tcp_t* handle, uv_close_cb close_cb) { int uv__tcp_listen(uv_tcp_t* tcp, int backlog, uv_connection_cb cb) { - static int single_accept_cached = -1; - unsigned long flags; - int single_accept; + unsigned int flags; int err; if (tcp->delayed_error) return tcp->delayed_error; - single_accept = uv__load_relaxed(&single_accept_cached); - if (single_accept == -1) { - const char* val = getenv("UV_TCP_SINGLE_ACCEPT"); - single_accept = (val != NULL && atoi(val) != 0); /* Off by default. */ - uv__store_relaxed(&single_accept_cached, single_accept); - } - - if (single_accept) - tcp->flags |= UV_HANDLE_TCP_SINGLE_ACCEPT; - flags = 0; #if defined(__MVS__) /* on zOS the listen call does not bind automatically @@ -460,10 +444,6 @@ int uv_tcp_keepalive(uv_tcp_t* handle, int on, unsigned int delay) { int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable) { - if (enable) - handle->flags &= ~UV_HANDLE_TCP_SINGLE_ACCEPT; - else - handle->flags |= UV_HANDLE_TCP_SINGLE_ACCEPT; return 0; } diff --git a/deps/uv/src/unix/thread.c b/deps/uv/src/unix/thread.c index d89e5cd13ba0ad..4d6f4b8232ec6d 100644 --- a/deps/uv/src/unix/thread.c +++ b/deps/uv/src/unix/thread.c @@ -41,126 +41,19 @@ #include /* gnu_get_libc_version() */ #endif -#undef NANOSEC -#define NANOSEC ((uint64_t) 1e9) - -#if defined(PTHREAD_BARRIER_SERIAL_THREAD) -STATIC_ASSERT(sizeof(uv_barrier_t) == sizeof(pthread_barrier_t)); +#if defined(__linux__) +# include +# define uv__cpu_set_t cpu_set_t +#elif defined(__FreeBSD__) +# include +# include +# include +# define uv__cpu_set_t cpuset_t #endif -/* Note: guard clauses should match uv_barrier_t's in include/uv/unix.h. */ -#if defined(_AIX) || \ - defined(__OpenBSD__) || \ - !defined(PTHREAD_BARRIER_SERIAL_THREAD) -int uv_barrier_init(uv_barrier_t* barrier, unsigned int count) { - struct _uv_barrier* b; - int rc; - - if (barrier == NULL || count == 0) - return UV_EINVAL; - - b = uv__malloc(sizeof(*b)); - if (b == NULL) - return UV_ENOMEM; - - b->in = 0; - b->out = 0; - b->threshold = count; - - rc = uv_mutex_init(&b->mutex); - if (rc != 0) - goto error2; - - rc = uv_cond_init(&b->cond); - if (rc != 0) - goto error; - - barrier->b = b; - return 0; - -error: - uv_mutex_destroy(&b->mutex); -error2: - uv__free(b); - return rc; -} - - -int uv_barrier_wait(uv_barrier_t* barrier) { - struct _uv_barrier* b; - int last; - - if (barrier == NULL || barrier->b == NULL) - return UV_EINVAL; - - b = barrier->b; - uv_mutex_lock(&b->mutex); - - if (++b->in == b->threshold) { - b->in = 0; - b->out = b->threshold; - uv_cond_signal(&b->cond); - } else { - do - uv_cond_wait(&b->cond, &b->mutex); - while (b->in != 0); - } - - last = (--b->out == 0); - uv_cond_signal(&b->cond); - - uv_mutex_unlock(&b->mutex); - return last; -} - - -void uv_barrier_destroy(uv_barrier_t* barrier) { - struct _uv_barrier* b; - - b = barrier->b; - uv_mutex_lock(&b->mutex); - - assert(b->in == 0); - while (b->out != 0) - uv_cond_wait(&b->cond, &b->mutex); - - if (b->in != 0) - abort(); - - uv_mutex_unlock(&b->mutex); - uv_mutex_destroy(&b->mutex); - uv_cond_destroy(&b->cond); - - uv__free(barrier->b); - barrier->b = NULL; -} - -#else - -int uv_barrier_init(uv_barrier_t* barrier, unsigned int count) { - return UV__ERR(pthread_barrier_init(barrier, NULL, count)); -} - - -int uv_barrier_wait(uv_barrier_t* barrier) { - int rc; - - rc = pthread_barrier_wait(barrier); - if (rc != 0) - if (rc != PTHREAD_BARRIER_SERIAL_THREAD) - abort(); - - return rc == PTHREAD_BARRIER_SERIAL_THREAD; -} - - -void uv_barrier_destroy(uv_barrier_t* barrier) { - if (pthread_barrier_destroy(barrier)) - abort(); -} - -#endif +#undef NANOSEC +#define NANOSEC ((uint64_t) 1e9) /* Musl's PTHREAD_STACK_MIN is 2 KB on all architectures, which is * too small to safely receive signals on. @@ -284,6 +177,106 @@ int uv_thread_create_ex(uv_thread_t* tid, return UV__ERR(err); } +#if UV__CPU_AFFINITY_SUPPORTED + +int uv_thread_setaffinity(uv_thread_t* tid, + char* cpumask, + char* oldmask, + size_t mask_size) { + int i; + int r; + uv__cpu_set_t cpuset; + int cpumasksize; + + cpumasksize = uv_cpumask_size(); + if (cpumasksize < 0) + return cpumasksize; + if (mask_size < (size_t)cpumasksize) + return UV_EINVAL; + + if (oldmask != NULL) { + r = uv_thread_getaffinity(tid, oldmask, mask_size); + if (r < 0) + return r; + } + + CPU_ZERO(&cpuset); + for (i = 0; i < cpumasksize; i++) + if (cpumask[i]) + CPU_SET(i, &cpuset); + +#if defined(__ANDROID__) + if (sched_setaffinity(pthread_gettid_np(*tid), sizeof(cpuset), &cpuset)) + r = errno; + else + r = 0; +#else + r = pthread_setaffinity_np(*tid, sizeof(cpuset), &cpuset); +#endif + + return UV__ERR(r); +} + + +int uv_thread_getaffinity(uv_thread_t* tid, + char* cpumask, + size_t mask_size) { + int r; + int i; + uv__cpu_set_t cpuset; + int cpumasksize; + + cpumasksize = uv_cpumask_size(); + if (cpumasksize < 0) + return cpumasksize; + if (mask_size < (size_t)cpumasksize) + return UV_EINVAL; + + CPU_ZERO(&cpuset); +#if defined(__ANDROID__) + if (sched_getaffinity(pthread_gettid_np(*tid), sizeof(cpuset), &cpuset)) + r = errno; + else + r = 0; +#else + r = pthread_getaffinity_np(*tid, sizeof(cpuset), &cpuset); +#endif + if (r) + return UV__ERR(r); + for (i = 0; i < cpumasksize; i++) + cpumask[i] = !!CPU_ISSET(i, &cpuset); + + return 0; +} +#else +int uv_thread_setaffinity(uv_thread_t* tid, + char* cpumask, + char* oldmask, + size_t mask_size) { + return UV_ENOTSUP; +} + + +int uv_thread_getaffinity(uv_thread_t* tid, + char* cpumask, + size_t mask_size) { + return UV_ENOTSUP; +} +#endif /* defined(__linux__) || defined(UV_BSD_H) */ + +int uv_thread_getcpu(void) { +#if UV__CPU_AFFINITY_SUPPORTED + int cpu; + + cpu = sched_getcpu(); + if (cpu < 0) + return UV__ERR(errno); + + return cpu; +#else + return UV_ENOTSUP; +#endif +} uv_thread_t uv_thread_self(void) { return pthread_self(); @@ -585,7 +578,7 @@ static void uv__custom_sem_post(uv_sem_t* sem_) { uv_mutex_lock(&sem->mutex); sem->value++; if (sem->value == 1) - uv_cond_signal(&sem->cond); + uv_cond_signal(&sem->cond); /* Release one to replace us. */ uv_mutex_unlock(&sem->mutex); } diff --git a/deps/uv/src/unix/tty.c b/deps/uv/src/unix/tty.c index b41505258ff822..7a5390c1a8bd83 100644 --- a/deps/uv/src/unix/tty.c +++ b/deps/uv/src/unix/tty.c @@ -21,8 +21,8 @@ #include "uv.h" #include "internal.h" -#include "spinlock.h" +#include #include #include #include @@ -64,7 +64,7 @@ static int isreallyatty(int file) { static int orig_termios_fd = -1; static struct termios orig_termios; -static uv_spinlock_t termios_spinlock = UV_SPINLOCK_INITIALIZER; +static _Atomic int termios_spinlock; int uv__tcsetattr(int fd, int how, const struct termios *term) { int rc; @@ -81,7 +81,7 @@ int uv__tcsetattr(int fd, int how, const struct termios *term) { static int uv__tty_is_slave(const int fd) { int result; -#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#if defined(__linux__) || defined(__FreeBSD__) int dummy; result = ioctl(fd, TIOCGPTN, &dummy) != 0; @@ -113,7 +113,7 @@ static int uv__tty_is_slave(const int fd) { } /* Lookup stat structure behind the file descriptor. */ - if (fstat(fd, &sb) != 0) + if (uv__fstat(fd, &sb) != 0) abort(); /* Assert character device. */ @@ -280,6 +280,7 @@ static void uv__tty_make_raw(struct termios* tio) { int uv_tty_set_mode(uv_tty_t* tty, uv_tty_mode_t mode) { struct termios tmp; + int expected; int fd; int rc; @@ -296,12 +297,16 @@ int uv_tty_set_mode(uv_tty_t* tty, uv_tty_mode_t mode) { return UV__ERR(errno); /* This is used for uv_tty_reset_mode() */ - uv_spinlock_lock(&termios_spinlock); + do + expected = 0; + while (!atomic_compare_exchange_strong(&termios_spinlock, &expected, 1)); + if (orig_termios_fd == -1) { orig_termios = tty->orig_termios; orig_termios_fd = fd; } - uv_spinlock_unlock(&termios_spinlock); + + atomic_store(&termios_spinlock, 0); } tmp = tty->orig_termios; @@ -360,7 +365,7 @@ uv_handle_type uv_guess_handle(uv_file file) { if (isatty(file)) return UV_TTY; - if (fstat(file, &s)) { + if (uv__fstat(file, &s)) { #if defined(__PASE__) /* On ibmi receiving RST from TCP instead of FIN immediately puts fd into * an error state. fstat will return EINVAL, getsockname will also return @@ -445,14 +450,15 @@ int uv_tty_reset_mode(void) { int err; saved_errno = errno; - if (!uv_spinlock_trylock(&termios_spinlock)) + + if (atomic_exchange(&termios_spinlock, 1)) return UV_EBUSY; /* In uv_tty_set_mode(). */ err = 0; if (orig_termios_fd != -1) err = uv__tcsetattr(orig_termios_fd, TCSANOW, &orig_termios); - uv_spinlock_unlock(&termios_spinlock); + atomic_store(&termios_spinlock, 0); errno = saved_errno; return err; diff --git a/deps/uv/src/unix/udp.c b/deps/uv/src/unix/udp.c index 4d985b88ba9304..f556808fbae68e 100644 --- a/deps/uv/src/unix/udp.c +++ b/deps/uv/src/unix/udp.c @@ -40,12 +40,6 @@ # define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP #endif -union uv__sockaddr { - struct sockaddr_in6 in6; - struct sockaddr_in in; - struct sockaddr addr; -}; - static void uv__udp_run_completed(uv_udp_t* handle); static void uv__udp_io(uv_loop_t* loop, uv__io_t* w, unsigned int revents); static void uv__udp_recvmsg(uv_udp_t* handle); @@ -54,36 +48,6 @@ static int uv__udp_maybe_deferred_bind(uv_udp_t* handle, int domain, unsigned int flags); -#if HAVE_MMSG - -#define UV__MMSG_MAXWIDTH 20 - -static int uv__udp_recvmmsg(uv_udp_t* handle, uv_buf_t* buf); -static void uv__udp_sendmmsg(uv_udp_t* handle); - -static int uv__recvmmsg_avail; -static int uv__sendmmsg_avail; -static uv_once_t once = UV_ONCE_INIT; - -static void uv__udp_mmsg_init(void) { - int ret; - int s; - s = uv__socket(AF_INET, SOCK_DGRAM, 0); - if (s < 0) - return; - ret = uv__sendmmsg(s, NULL, 0); - if (ret == 0 || errno != ENOSYS) { - uv__sendmmsg_avail = 1; - uv__recvmmsg_avail = 1; - } else { - ret = uv__recvmmsg(s, NULL, 0); - if (ret == 0 || errno != ENOSYS) - uv__recvmmsg_avail = 1; - } - uv__close(s); -} - -#endif void uv__udp_close(uv_udp_t* handle) { uv__io_close(handle->loop, &handle->io_watcher); @@ -183,11 +147,11 @@ static void uv__udp_io(uv_loop_t* loop, uv__io_t* w, unsigned int revents) { } } -#if HAVE_MMSG static int uv__udp_recvmmsg(uv_udp_t* handle, uv_buf_t* buf) { - struct sockaddr_in6 peers[UV__MMSG_MAXWIDTH]; - struct iovec iov[UV__MMSG_MAXWIDTH]; - struct uv__mmsghdr msgs[UV__MMSG_MAXWIDTH]; +#if defined(__linux__) || defined(__FreeBSD__) + struct sockaddr_in6 peers[20]; + struct iovec iov[ARRAY_SIZE(peers)]; + struct mmsghdr msgs[ARRAY_SIZE(peers)]; ssize_t nread; uv_buf_t chunk_buf; size_t chunks; @@ -212,7 +176,7 @@ static int uv__udp_recvmmsg(uv_udp_t* handle, uv_buf_t* buf) { } do - nread = uv__recvmmsg(handle->io_watcher.fd, msgs, chunks); + nread = recvmmsg(handle->io_watcher.fd, msgs, chunks, 0, NULL); while (nread == -1 && errno == EINTR); if (nread < 1) { @@ -240,8 +204,10 @@ static int uv__udp_recvmmsg(uv_udp_t* handle, uv_buf_t* buf) { handle->recv_cb(handle, 0, buf, NULL, UV_UDP_MMSG_FREE); } return nread; +#else /* __linux__ || ____FreeBSD__ */ + return UV_ENOSYS; +#endif /* __linux__ || ____FreeBSD__ */ } -#endif static void uv__udp_recvmsg(uv_udp_t* handle) { struct sockaddr_storage peer; @@ -268,14 +234,12 @@ static void uv__udp_recvmsg(uv_udp_t* handle) { } assert(buf.base != NULL); -#if HAVE_MMSG if (uv_udp_using_recvmmsg(handle)) { nread = uv__udp_recvmmsg(handle, &buf); if (nread > 0) count -= nread; continue; } -#endif memset(&h, 0, sizeof(h)); memset(&peer, 0, sizeof(peer)); @@ -311,11 +275,11 @@ static void uv__udp_recvmsg(uv_udp_t* handle) { && handle->recv_cb != NULL); } -#if HAVE_MMSG -static void uv__udp_sendmmsg(uv_udp_t* handle) { +static void uv__udp_sendmsg(uv_udp_t* handle) { +#if defined(__linux__) || defined(__FreeBSD__) uv_udp_send_t* req; - struct uv__mmsghdr h[UV__MMSG_MAXWIDTH]; - struct uv__mmsghdr *p; + struct mmsghdr h[20]; + struct mmsghdr* p; QUEUE* q; ssize_t npkts; size_t pkts; @@ -326,7 +290,7 @@ static void uv__udp_sendmmsg(uv_udp_t* handle) { write_queue_drain: for (pkts = 0, q = QUEUE_HEAD(&handle->write_queue); - pkts < UV__MMSG_MAXWIDTH && q != &handle->write_queue; + pkts < ARRAY_SIZE(h) && q != &handle->write_queue; ++pkts, q = QUEUE_HEAD(q)) { assert(q != NULL); req = QUEUE_DATA(q, uv_udp_send_t, queue); @@ -355,7 +319,7 @@ static void uv__udp_sendmmsg(uv_udp_t* handle) { } do - npkts = uv__sendmmsg(handle->io_watcher.fd, h, pkts); + npkts = sendmmsg(handle->io_watcher.fd, h, pkts, 0); while (npkts == -1 && errno == EINTR); if (npkts < 1) { @@ -401,24 +365,12 @@ static void uv__udp_sendmmsg(uv_udp_t* handle) { if (!QUEUE_EMPTY(&handle->write_queue)) goto write_queue_drain; uv__io_feed(handle->loop, &handle->io_watcher); - return; -} -#endif - -static void uv__udp_sendmsg(uv_udp_t* handle) { +#else /* __linux__ || ____FreeBSD__ */ uv_udp_send_t* req; struct msghdr h; QUEUE* q; ssize_t size; -#if HAVE_MMSG - uv_once(&once, uv__udp_mmsg_init); - if (uv__sendmmsg_avail) { - uv__udp_sendmmsg(handle); - return; - } -#endif - while (!QUEUE_EMPTY(&handle->write_queue)) { q = QUEUE_HEAD(&handle->write_queue); assert(q != NULL); @@ -466,6 +418,7 @@ static void uv__udp_sendmsg(uv_udp_t* handle) { QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue); uv__io_feed(handle->loop, &handle->io_watcher); } +#endif /* __linux__ || ____FreeBSD__ */ } /* On the BSDs, SO_REUSEPORT implies SO_REUSEADDR but with some additional @@ -495,7 +448,8 @@ static int uv__set_reuse(int fd) { if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes))) return UV__ERR(errno); } -#elif defined(SO_REUSEPORT) && !defined(__linux__) && !defined(__GNU__) +#elif defined(SO_REUSEPORT) && !defined(__linux__) && !defined(__GNU__) && \ + !defined(__sun__) if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes))) return UV__ERR(errno); #else @@ -1061,11 +1015,9 @@ int uv__udp_init_ex(uv_loop_t* loop, int uv_udp_using_recvmmsg(const uv_udp_t* handle) { -#if HAVE_MMSG - if (handle->flags & UV_HANDLE_UDP_RECVMMSG) { - uv_once(&once, uv__udp_mmsg_init); - return uv__recvmmsg_avail; - } +#if defined(__linux__) || defined(__FreeBSD__) + if (handle->flags & UV_HANDLE_UDP_RECVMMSG) + return 1; #endif return 0; } diff --git a/deps/uv/src/uv-common.c b/deps/uv/src/uv-common.c index efc9eb50ee3b9e..cec771fab21339 100644 --- a/deps/uv/src/uv-common.c +++ b/deps/uv/src/uv-common.c @@ -128,6 +128,39 @@ int uv_replace_allocator(uv_malloc_func malloc_func, return 0; } + +void uv_os_free_passwd(uv_passwd_t* pwd) { + if (pwd == NULL) + return; + + /* On unix, the memory for name, shell, and homedir are allocated in a single + * uv__malloc() call. The base of the pointer is stored in pwd->username, so + * that is the field that needs to be freed. + */ + uv__free(pwd->username); +#ifdef _WIN32 + uv__free(pwd->homedir); +#endif + pwd->username = NULL; + pwd->shell = NULL; + pwd->homedir = NULL; +} + + +void uv_os_free_group(uv_group_t *grp) { + if (grp == NULL) + return; + + /* The memory for is allocated in a single uv__malloc() call. The base of the + * pointer is stored in grp->members, so that is the only field that needs to + * be freed. + */ + uv__free(grp->members); + grp->members = NULL; + grp->groupname = NULL; +} + + #define XX(uc, lc) case UV_##uc: return sizeof(uv_##lc##_t); size_t uv_handle_size(uv_handle_type type) { @@ -650,14 +683,22 @@ static unsigned int* uv__get_nbufs(uv_fs_t* req) { void uv__fs_scandir_cleanup(uv_fs_t* req) { uv__dirent_t** dents; + unsigned int* nbufs; + unsigned int i; + unsigned int n; - unsigned int* nbufs = uv__get_nbufs(req); + if (req->result >= 0) { + dents = req->ptr; + nbufs = uv__get_nbufs(req); - dents = req->ptr; - if (*nbufs > 0 && *nbufs != (unsigned int) req->result) - (*nbufs)--; - for (; *nbufs < (unsigned int) req->result; (*nbufs)++) - uv__fs_scandir_free(dents[*nbufs]); + i = 0; + if (*nbufs > 0) + i = *nbufs - 1; + + n = (unsigned int) req->result; + for (; i < n; i++) + uv__fs_scandir_free(dents[i]); + } uv__fs_scandir_free(req->ptr); req->ptr = NULL; @@ -879,12 +920,17 @@ void uv_os_free_environ(uv_env_item_t* envitems, int count) { void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count) { +#ifdef __linux__ + (void) &count; + uv__free(cpu_infos); +#else int i; for (i = 0; i < count; i++) uv__free(cpu_infos[i].model); uv__free(cpu_infos); +#endif /* __linux__ */ } @@ -898,7 +944,7 @@ __attribute__((destructor)) void uv_library_shutdown(void) { static int was_shutdown; - if (uv__load_relaxed(&was_shutdown)) + if (uv__exchange_int_relaxed(&was_shutdown, 1)) return; uv__process_title_cleanup(); @@ -909,7 +955,6 @@ void uv_library_shutdown(void) { #else uv__threadpool_cleanup(); #endif - uv__store_relaxed(&was_shutdown, 1); } @@ -955,6 +1000,15 @@ void uv__metrics_set_provider_entry_time(uv_loop_t* loop) { } +int uv_metrics_info(uv_loop_t* loop, uv_metrics_t* metrics) { + memcpy(metrics, + &uv__get_loop_metrics(loop)->metrics, + sizeof(*metrics)); + + return 0; +} + + uint64_t uv_metrics_idle_time(uv_loop_t* loop) { uv__loop_metrics_t* loop_metrics; uint64_t entry_time; diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h index 6001b0cf68d0b0..decde5362c85f4 100644 --- a/deps/uv/src/uv-common.h +++ b/deps/uv/src/uv-common.h @@ -30,18 +30,17 @@ #include #include #include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "uv/stdint-msvc2008.h" -#else -# include -#endif +#include #include "uv.h" #include "uv/tree.h" #include "queue.h" #include "strscpy.h" +#ifndef _MSC_VER +# include +#endif + #if EDOM > 0 # define UV__ERR(x) (-(x)) #else @@ -53,19 +52,25 @@ extern int snprintf(char*, size_t, const char*, ...); #endif #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) +#define ARRAY_END(a) ((a) + ARRAY_SIZE(a)) #define container_of(ptr, type, member) \ ((type *) ((char *) (ptr) - offsetof(type, member))) +/* C11 defines static_assert to be a macro which calls _Static_assert. */ +#if defined(static_assert) +#define STATIC_ASSERT(expr) static_assert(expr, #expr) +#else #define STATIC_ASSERT(expr) \ void uv__static_assert(int static_assert_failed[1 - 2 * !(expr)]) +#endif -#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 7) -#define uv__load_relaxed(p) __atomic_load_n(p, __ATOMIC_RELAXED) -#define uv__store_relaxed(p, v) __atomic_store_n(p, v, __ATOMIC_RELAXED) +#ifdef _MSC_VER +#define uv__exchange_int_relaxed(p, v) \ + InterlockedExchangeNoFence((LONG volatile*)(p), v) #else -#define uv__load_relaxed(p) (*p) -#define uv__store_relaxed(p, v) do *p = v; while (0) +#define uv__exchange_int_relaxed(p, v) \ + atomic_exchange_explicit((_Atomic int*)(p), v, memory_order_relaxed) #endif #define UV__UDP_DGRAM_MAXSIZE (64 * 1024) @@ -83,7 +88,6 @@ enum { /* Used by streams. */ UV_HANDLE_LISTENING = 0x00000040, UV_HANDLE_CONNECTION = 0x00000080, - UV_HANDLE_SHUTTING = 0x00000100, UV_HANDLE_SHUT = 0x00000200, UV_HANDLE_READ_PARTIAL = 0x00000400, UV_HANDLE_READ_EOF = 0x00000800, @@ -263,6 +267,14 @@ void uv__threadpool_cleanup(void); #define uv__is_closing(h) \ (((h)->flags & (UV_HANDLE_CLOSING | UV_HANDLE_CLOSED)) != 0) +#if defined(_WIN32) +# define uv__is_stream_shutting(h) \ + (h->stream.conn.shutdown_req != NULL) +#else +# define uv__is_stream_shutting(h) \ + (h->shutdown_req != NULL) +#endif + #define uv__handle_start(h) \ do { \ if (((h)->flags & UV_HANDLE_ACTIVE) != 0) break; \ @@ -347,6 +359,21 @@ void uv__threadpool_cleanup(void); #define uv__get_loop_metrics(loop) \ (&uv__get_internal_fields(loop)->loop_metrics) +#define uv__metrics_inc_loop_count(loop) \ + do { \ + uv__get_loop_metrics(loop)->metrics.loop_count++; \ + } while (0) + +#define uv__metrics_inc_events(loop, e) \ + do { \ + uv__get_loop_metrics(loop)->metrics.events += (e); \ + } while (0) + +#define uv__metrics_inc_events_waiting(loop, e) \ + do { \ + uv__get_loop_metrics(loop)->metrics.events_waiting += (e); \ + } while (0) + /* Allocator prototypes */ void *uv__calloc(size_t count, size_t size); char *uv__strdup(const char* s); @@ -360,6 +387,7 @@ typedef struct uv__loop_metrics_s uv__loop_metrics_t; typedef struct uv__loop_internal_fields_s uv__loop_internal_fields_t; struct uv__loop_metrics_s { + uv_metrics_t metrics; uint64_t provider_entry_time; uint64_t provider_idle_time; uv_mutex_t lock; @@ -368,9 +396,37 @@ struct uv__loop_metrics_s { void uv__metrics_update_idle_time(uv_loop_t* loop); void uv__metrics_set_provider_entry_time(uv_loop_t* loop); +#ifdef __linux__ +struct uv__iou { + uint32_t* sqhead; + uint32_t* sqtail; + uint32_t* sqarray; + uint32_t sqmask; + uint32_t* sqflags; + uint32_t* cqhead; + uint32_t* cqtail; + uint32_t cqmask; + void* sq; /* pointer to munmap() on event loop teardown */ + void* cqe; /* pointer to array of struct uv__io_uring_cqe */ + void* sqe; /* pointer to array of struct uv__io_uring_sqe */ + size_t sqlen; + size_t cqlen; + size_t maxlen; + size_t sqelen; + int ringfd; + uint32_t in_flight; +}; +#endif /* __linux__ */ + struct uv__loop_internal_fields_s { unsigned int flags; uv__loop_metrics_t loop_metrics; + int current_timeout; +#ifdef __linux__ + struct uv__iou ctl; + struct uv__iou iou; + void* inv; /* used by uv__platform_invalidate_fd() */ +#endif /* __linux__ */ }; #endif /* UV_COMMON_H_ */ diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c index 67af93e6571ed4..426edb18eb51d0 100644 --- a/deps/uv/src/win/core.c +++ b/deps/uv/src/win/core.c @@ -245,6 +245,9 @@ int uv_loop_init(uv_loop_t* loop) { err = uv_mutex_init(&lfields->loop_metrics.lock); if (err) goto fail_metrics_mutex_init; + memset(&lfields->loop_metrics.metrics, + 0, + sizeof(lfields->loop_metrics.metrics)); /* To prevent uninitialized memory access, loop->time must be initialized * to zero before calling uv_update_time for the first time. @@ -279,9 +282,6 @@ int uv_loop_init(uv_loop_t* loop) { memset(&loop->poll_peer_sockets, 0, sizeof loop->poll_peer_sockets); - loop->active_tcp_streams = 0; - loop->active_udp_streams = 0; - loop->timer_counter = 0; loop->stop_flag = 0; @@ -424,6 +424,7 @@ int uv_backend_timeout(const uv_loop_t* loop) { static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { + uv__loop_internal_fields_t* lfields; DWORD bytes; ULONG_PTR key; OVERLAPPED* overlapped; @@ -433,9 +434,10 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { uint64_t user_timeout; int reset_timeout; + lfields = uv__get_internal_fields(loop); timeout_time = loop->time + timeout; - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { + if (lfields->flags & UV_METRICS_IDLE_TIME) { reset_timeout = 1; user_timeout = timeout; timeout = 0; @@ -450,6 +452,12 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { if (timeout != 0) uv__metrics_set_provider_entry_time(loop); + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + GetQueuedCompletionStatus(loop->iocp, &bytes, &key, @@ -457,6 +465,8 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { timeout); if (reset_timeout != 0) { + if (overlapped && timeout == 0) + uv__metrics_inc_events_waiting(loop, 1); timeout = user_timeout; reset_timeout = 0; } @@ -469,6 +479,8 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { uv__metrics_update_idle_time(loop); if (overlapped) { + uv__metrics_inc_events(loop, 1); + /* Package was dequeued */ req = uv__overlapped_to_req(overlapped); uv__insert_pending_req(loop, req); @@ -503,6 +515,7 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { static void uv__poll(uv_loop_t* loop, DWORD timeout) { + uv__loop_internal_fields_t* lfields; BOOL success; uv_req_t* req; OVERLAPPED_ENTRY overlappeds[128]; @@ -511,11 +524,13 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { int repeat; uint64_t timeout_time; uint64_t user_timeout; + uint64_t actual_timeout; int reset_timeout; + lfields = uv__get_internal_fields(loop); timeout_time = loop->time + timeout; - if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) { + if (lfields->flags & UV_METRICS_IDLE_TIME) { reset_timeout = 1; user_timeout = timeout; timeout = 0; @@ -524,12 +539,20 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { } for (repeat = 0; ; repeat++) { + actual_timeout = timeout; + /* Only need to set the provider_entry_time if timeout != 0. The function * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME. */ if (timeout != 0) uv__metrics_set_provider_entry_time(loop); + /* Store the current timeout in a location that's globally accessible so + * other locations like uv__work_done() can determine whether the queue + * of events in the callback were waiting when poll was called. + */ + lfields->current_timeout = timeout; + success = pGetQueuedCompletionStatusEx(loop->iocp, overlappeds, ARRAY_SIZE(overlappeds), @@ -543,9 +566,9 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { } /* Placed here because on success the loop will break whether there is an - * empty package or not, or if GetQueuedCompletionStatus returned early then - * the timeout will be updated and the loop will run again. In either case - * the idle time will need to be updated. + * empty package or not, or if pGetQueuedCompletionStatusEx returned early + * then the timeout will be updated and the loop will run again. In either + * case the idle time will need to be updated. */ uv__metrics_update_idle_time(loop); @@ -555,6 +578,10 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { * meant only to wake us up. */ if (overlappeds[i].lpOverlapped) { + uv__metrics_inc_events(loop, 1); + if (actual_timeout == 0) + uv__metrics_inc_events_waiting(loop, 1); + req = uv__overlapped_to_req(overlappeds[i].lpOverlapped); uv__insert_pending_req(loop, req); } @@ -598,10 +625,17 @@ int uv_run(uv_loop_t *loop, uv_run_mode mode) { if (!r) uv_update_time(loop); - while (r != 0 && loop->stop_flag == 0) { - uv_update_time(loop); + /* Maintain backwards compatibility by processing timers before entering the + * while loop for UV_RUN_DEFAULT. Otherwise timers only need to be executed + * once, which should be done after polling in order to maintain proper + * execution order of the conceptual event loop. */ + if (mode == UV_RUN_DEFAULT) { + if (r) + uv_update_time(loop); uv__run_timers(loop); + } + while (r != 0 && loop->stop_flag == 0) { can_sleep = loop->pending_reqs_tail == NULL && loop->idle_handles == NULL; uv__process_reqs(loop); @@ -612,6 +646,8 @@ int uv_run(uv_loop_t *loop, uv_run_mode mode) { if ((mode == UV_RUN_ONCE && can_sleep) || mode == UV_RUN_DEFAULT) timeout = uv_backend_timeout(loop); + uv__metrics_inc_loop_count(loop); + if (pGetQueuedCompletionStatusEx) uv__poll(loop, timeout); else @@ -632,18 +668,8 @@ int uv_run(uv_loop_t *loop, uv_run_mode mode) { uv__check_invoke(loop); uv__process_endgames(loop); - if (mode == UV_RUN_ONCE) { - /* UV_RUN_ONCE implies forward progress: at least one callback must have - * been invoked when it returns. uv__io_poll() can return without doing - * I/O (meaning: no callbacks) when its timeout expires - which means we - * have pending timers that satisfy the forward progress constraint. - * - * UV_RUN_NOWAIT makes no guarantees about progress so it's omitted from - * the check. - */ - uv_update_time(loop); - uv__run_timers(loop); - } + uv_update_time(loop); + uv__run_timers(loop); r = uv__loop_alive(loop); if (mode == UV_RUN_ONCE || mode == UV_RUN_NOWAIT) diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c index 792307995f60c8..2fc7481f9a2d1e 100644 --- a/deps/uv/src/win/fs.c +++ b/deps/uv/src/win/fs.c @@ -36,6 +36,8 @@ #include "handle-inl.h" #include "fs-fd-hash-inl.h" +#include + #define UV_FS_FREE_PATHS 0x0002 #define UV_FS_FREE_PTR 0x0008 @@ -1706,11 +1708,36 @@ void fs__closedir(uv_fs_t* req) { INLINE static int fs__stat_handle(HANDLE handle, uv_stat_t* statbuf, int do_lstat) { + FILE_FS_DEVICE_INFORMATION device_info; FILE_ALL_INFORMATION file_info; FILE_FS_VOLUME_INFORMATION volume_info; NTSTATUS nt_status; IO_STATUS_BLOCK io_status; + nt_status = pNtQueryVolumeInformationFile(handle, + &io_status, + &device_info, + sizeof device_info, + FileFsDeviceInformation); + + /* Buffer overflow (a warning status code) is expected here. */ + if (NT_ERROR(nt_status)) { + SetLastError(pRtlNtStatusToDosError(nt_status)); + return -1; + } + + /* If it's NUL device set fields as reasonable as possible and return. */ + if (device_info.DeviceType == FILE_DEVICE_NULL) { + memset(statbuf, 0, sizeof(uv_stat_t)); + statbuf->st_mode = _S_IFCHR; + statbuf->st_mode |= (_S_IREAD | _S_IWRITE) | ((_S_IREAD | _S_IWRITE) >> 3) | + ((_S_IREAD | _S_IWRITE) >> 6); + statbuf->st_nlink = 1; + statbuf->st_blksize = 4096; + statbuf->st_rdev = FILE_DEVICE_NULL << 16; + return 0; + } + nt_status = pNtQueryInformationFile(handle, &io_status, &file_info, @@ -1915,6 +1942,37 @@ INLINE static void fs__stat_impl(uv_fs_t* req, int do_lstat) { } +INLINE static int fs__fstat_handle(int fd, HANDLE handle, uv_stat_t* statbuf) { + DWORD file_type; + + /* Each file type is processed differently. */ + file_type = uv_guess_handle(fd); + switch (file_type) { + /* Disk files use the existing logic from fs__stat_handle. */ + case UV_FILE: + return fs__stat_handle(handle, statbuf, 0); + + /* Devices and pipes are processed identically. There is no more information + * for them from any API. Fields are set as reasonably as possible and the + * function returns. */ + case UV_TTY: + case UV_NAMED_PIPE: + memset(statbuf, 0, sizeof(uv_stat_t)); + statbuf->st_mode = file_type == UV_TTY ? _S_IFCHR : _S_IFIFO; + statbuf->st_nlink = 1; + statbuf->st_rdev = (file_type == UV_TTY ? FILE_DEVICE_CONSOLE : FILE_DEVICE_NAMED_PIPE) << 16; + statbuf->st_ino = (uint64_t) handle; + return 0; + + /* If file type is unknown it is an error. */ + case UV_UNKNOWN_HANDLE: + default: + SetLastError(ERROR_INVALID_HANDLE); + return -1; + } +} + + static void fs__stat(uv_fs_t* req) { fs__stat_prepare_path(req->file.pathw); fs__stat_impl(req, 0); @@ -1940,7 +1998,7 @@ static void fs__fstat(uv_fs_t* req) { return; } - if (fs__stat_handle(handle, &req->statbuf, 0) != 0) { + if (fs__fstat_handle(fd, handle, &req->statbuf) != 0) { SET_REQ_WIN32_ERROR(req, GetLastError()); return; } @@ -2221,7 +2279,7 @@ static void fs__fchmod(uv_fs_t* req) { SET_REQ_WIN32_ERROR(req, pRtlNtStatusToDosError(nt_status)); goto fchmod_cleanup; } - /* Remeber to clear the flag later on */ + /* Remember to clear the flag later on */ clear_archive_flag = 1; } else { clear_archive_flag = 0; @@ -2604,7 +2662,10 @@ static void fs__readlink(uv_fs_t* req) { } if (fs__readlink_handle(handle, (char**) &req->ptr, NULL) != 0) { - SET_REQ_WIN32_ERROR(req, GetLastError()); + DWORD error = GetLastError(); + SET_REQ_WIN32_ERROR(req, error); + if (error == ERROR_NOT_A_REPARSE_POINT) + req->result = UV_EINVAL; CloseHandle(handle); return; } diff --git a/deps/uv/src/win/internal.h b/deps/uv/src/win/internal.h index 89c72b8a1a6dc0..bda321c17dc25d 100644 --- a/deps/uv/src/win/internal.h +++ b/deps/uv/src/win/internal.h @@ -267,7 +267,6 @@ void uv__util_init(void); uint64_t uv__hrtime(unsigned int scale); __declspec(noreturn) void uv_fatal_error(const int errorno, const char* syscall); -int uv__getpwuid_r(uv_passwd_t* pwd); int uv__convert_utf16_to_utf8(const WCHAR* utf16, int utf16len, char** utf8); int uv__convert_utf8_to_utf16(const char* utf8, int utf8len, WCHAR** utf16); diff --git a/deps/uv/src/win/pipe.c b/deps/uv/src/win/pipe.c index 998461811fb87f..787ba105c935b8 100644 --- a/deps/uv/src/win/pipe.c +++ b/deps/uv/src/win/pipe.c @@ -792,15 +792,17 @@ static DWORD WINAPI pipe_connect_thread_proc(void* parameter) { /* We're here because CreateFile on a pipe returned ERROR_PIPE_BUSY. We wait * up to 30 seconds for the pipe to become available with WaitNamedPipe. */ - while (WaitNamedPipeW(handle->name, 30000)) { + while (WaitNamedPipeW(req->u.connect.name, 30000)) { /* The pipe is now available, try to connect. */ - pipeHandle = open_named_pipe(handle->name, &duplex_flags); + pipeHandle = open_named_pipe(req->u.connect.name, &duplex_flags); if (pipeHandle != INVALID_HANDLE_VALUE) break; SwitchToThread(); } + uv__free(req->u.connect.name); + req->u.connect.name = NULL; if (pipeHandle != INVALID_HANDLE_VALUE) { SET_REQ_SUCCESS(req); req->u.connect.pipeHandle = pipeHandle; @@ -828,6 +830,7 @@ void uv_pipe_connect(uv_connect_t* req, uv_pipe_t* handle, req->cb = cb; req->u.connect.pipeHandle = INVALID_HANDLE_VALUE; req->u.connect.duplex_flags = 0; + req->u.connect.name = NULL; if (handle->flags & UV_HANDLE_PIPESERVER) { err = ERROR_INVALID_PARAMETER; @@ -859,10 +862,19 @@ void uv_pipe_connect(uv_connect_t* req, uv_pipe_t* handle, pipeHandle = open_named_pipe(handle->name, &duplex_flags); if (pipeHandle == INVALID_HANDLE_VALUE) { if (GetLastError() == ERROR_PIPE_BUSY) { + req->u.connect.name = uv__malloc(nameSize); + if (!req->u.connect.name) { + uv_fatal_error(ERROR_OUTOFMEMORY, "uv__malloc"); + } + + memcpy(req->u.connect.name, handle->name, nameSize); + /* Wait for the server to make a pipe instance available. */ if (!QueueUserWorkItem(&pipe_connect_thread_proc, req, WT_EXECUTELONGFUNCTION)) { + uv__free(req->u.connect.name); + req->u.connect.name = NULL; err = GetLastError(); goto error; } @@ -1067,11 +1079,12 @@ int uv__pipe_accept(uv_pipe_t* server, uv_stream_t* client) { err = uv__tcp_xfer_import( (uv_tcp_t*) client, item->xfer_type, &item->xfer_info); + + uv__free(item); + if (err != 0) return err; - uv__free(item); - } else { pipe_client = (uv_pipe_t*) client; uv__pipe_connection_init(pipe_client); @@ -1638,9 +1651,13 @@ static DWORD uv__pipe_get_ipc_remote_pid(uv_pipe_t* handle) { /* If the both ends of the IPC pipe are owned by the same process, * the remote end pid may not yet be set. If so, do it here. * TODO: this is weird; it'd probably better to use a handshake. */ - if (*pid == 0) - *pid = GetCurrentProcessId(); - + if (*pid == 0) { + GetNamedPipeClientProcessId(handle->handle, pid); + if (*pid == GetCurrentProcessId()) { + GetNamedPipeServerProcessId(handle->handle, pid); + } + } + return *pid; } @@ -2069,9 +2086,9 @@ void uv__process_pipe_write_req(uv_loop_t* loop, uv_pipe_t* handle, uv__queue_non_overlapped_write(handle); } - if (handle->stream.conn.write_reqs_pending == 0) - if (handle->flags & UV_HANDLE_SHUTTING) - uv__pipe_shutdown(loop, handle, handle->stream.conn.shutdown_req); + if (handle->stream.conn.write_reqs_pending == 0 && + uv__is_stream_shutting(handle)) + uv__pipe_shutdown(loop, handle, handle->stream.conn.shutdown_req); DECREASE_PENDING_REQ_COUNT(handle); } @@ -2126,7 +2143,10 @@ void uv__process_pipe_connect_req(uv_loop_t* loop, uv_pipe_t* handle, if (REQ_SUCCESS(req)) { pipeHandle = req->u.connect.pipeHandle; duplex_flags = req->u.connect.duplex_flags; - err = uv__set_pipe_handle(loop, handle, pipeHandle, -1, duplex_flags); + if (handle->flags & UV_HANDLE_CLOSING) + err = UV_ECANCELED; + else + err = uv__set_pipe_handle(loop, handle, pipeHandle, -1, duplex_flags); if (err) CloseHandle(pipeHandle); } else { @@ -2149,7 +2169,6 @@ void uv__process_pipe_shutdown_req(uv_loop_t* loop, uv_pipe_t* handle, /* Clear the shutdown_req field so we don't go here again. */ handle->stream.conn.shutdown_req = NULL; - handle->flags &= ~UV_HANDLE_SHUTTING; UNREGISTER_HANDLE_REQ(loop, handle, req); if (handle->flags & UV_HANDLE_CLOSING) { @@ -2342,7 +2361,10 @@ int uv_pipe_open(uv_pipe_t* pipe, uv_file file) { if (pipe->ipc) { assert(!(pipe->flags & UV_HANDLE_NON_OVERLAPPED_PIPE)); - pipe->pipe.conn.ipc_remote_pid = uv_os_getppid(); + GetNamedPipeClientProcessId(os_handle, &pipe->pipe.conn.ipc_remote_pid); + if (pipe->pipe.conn.ipc_remote_pid == GetCurrentProcessId()) { + GetNamedPipeServerProcessId(os_handle, &pipe->pipe.conn.ipc_remote_pid); + } assert(pipe->pipe.conn.ipc_remote_pid != (DWORD)(uv_pid_t) -1); } return 0; diff --git a/deps/uv/src/win/poll.c b/deps/uv/src/win/poll.c index 53a4fd976121f7..7fec2b99650646 100644 --- a/deps/uv/src/win/poll.c +++ b/deps/uv/src/win/poll.c @@ -34,7 +34,9 @@ static const GUID uv_msafd_provider_ids[UV_MSAFD_PROVIDER_COUNT] = { {0xf9eab0c0, 0x26d4, 0x11d0, {0xbb, 0xbf, 0x00, 0xaa, 0x00, 0x6c, 0x34, 0xe4}}, {0x9fc48064, 0x7298, 0x43e4, - {0xb7, 0xbd, 0x18, 0x1f, 0x20, 0x89, 0x79, 0x2a}} + {0xb7, 0xbd, 0x18, 0x1f, 0x20, 0x89, 0x79, 0x2a}}, + {0xa00943d9, 0x9c2e, 0x4633, + {0x9b, 0x59, 0x00, 0x57, 0xa3, 0x16, 0x09, 0x94}} }; typedef struct uv_single_fd_set_s { @@ -423,9 +425,8 @@ int uv_poll_init_socket(uv_loop_t* loop, uv_poll_t* handle, return uv_translate_sys_error(WSAGetLastError()); /* Try to obtain a base handle for the socket. This increases this chances that - * we find an AFD handle and are able to use the fast poll mechanism. This will - * always fail on windows XP/2k3, since they don't support the. SIO_BASE_HANDLE - * ioctl. */ + * we find an AFD handle and are able to use the fast poll mechanism. + */ #ifndef NDEBUG base_socket = INVALID_SOCKET; #endif diff --git a/deps/uv/src/win/process.c b/deps/uv/src/win/process.c index 24c633393fd15d..3e451e2291d6ed 100644 --- a/deps/uv/src/win/process.c +++ b/deps/uv/src/win/process.c @@ -32,6 +32,9 @@ #include "internal.h" #include "handle-inl.h" #include "req-inl.h" +#include +#include +#include /* GetModuleBaseNameW */ #define SIGKILL 9 @@ -144,7 +147,6 @@ static void uv__process_init(uv_loop_t* loop, uv_process_t* handle) { handle->exit_signal = 0; handle->wait_handle = INVALID_HANDLE_VALUE; handle->process_handle = INVALID_HANDLE_VALUE; - handle->child_stdio_buffer = NULL; handle->exit_cb_pending = 0; UV_REQ_INIT(&handle->exit_req, UV_PROCESS_EXIT); @@ -947,9 +949,11 @@ int uv_spawn(uv_loop_t* loop, STARTUPINFOW startup; PROCESS_INFORMATION info; DWORD process_flags; + BYTE* child_stdio_buffer; uv__process_init(loop, process); process->exit_cb = options->exit_cb; + child_stdio_buffer = NULL; if (options->flags & (UV_PROCESS_SETGID | UV_PROCESS_SETUID)) { return UV_ENOTSUP; @@ -1040,7 +1044,7 @@ int uv_spawn(uv_loop_t* loop, } } - err = uv__stdio_create(loop, options, &process->child_stdio_buffer); + err = uv__stdio_create(loop, options, &child_stdio_buffer); if (err) goto done; @@ -1059,12 +1063,12 @@ int uv_spawn(uv_loop_t* loop, startup.lpTitle = NULL; startup.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; - startup.cbReserved2 = uv__stdio_size(process->child_stdio_buffer); - startup.lpReserved2 = (BYTE*) process->child_stdio_buffer; + startup.cbReserved2 = uv__stdio_size(child_stdio_buffer); + startup.lpReserved2 = (BYTE*) child_stdio_buffer; - startup.hStdInput = uv__stdio_handle(process->child_stdio_buffer, 0); - startup.hStdOutput = uv__stdio_handle(process->child_stdio_buffer, 1); - startup.hStdError = uv__stdio_handle(process->child_stdio_buffer, 2); + startup.hStdInput = uv__stdio_handle(child_stdio_buffer, 0); + startup.hStdOutput = uv__stdio_handle(child_stdio_buffer, 1); + startup.hStdError = uv__stdio_handle(child_stdio_buffer, 2); process_flags = CREATE_UNICODE_ENVIRONMENT; @@ -1178,10 +1182,10 @@ int uv_spawn(uv_loop_t* loop, uv__free(env); uv__free(alloc_path); - if (process->child_stdio_buffer != NULL) { + if (child_stdio_buffer != NULL) { /* Clean up child stdio handles. */ - uv__stdio_destroy(process->child_stdio_buffer); - process->child_stdio_buffer = NULL; + uv__stdio_destroy(child_stdio_buffer); + child_stdio_buffer = NULL; } return uv_translate_sys_error(err); @@ -1193,7 +1197,120 @@ static int uv__kill(HANDLE process_handle, int signum) { return UV_EINVAL; } + /* Create a dump file for the targeted process, if the registry key + * `HKLM:Software\Microsoft\Windows\Windows Error Reporting\LocalDumps` + * exists. The location of the dumps can be influenced by the `DumpFolder` + * sub-key, which has a default value of `%LOCALAPPDATA%\CrashDumps`, see [0] + * for more detail. Note that if the dump folder does not exist, we attempt + * to create it, to match behavior with WER itself. + * [0]: https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps */ + if (signum == SIGQUIT) { + HKEY registry_key; + DWORD pid, ret; + WCHAR basename[MAX_PATH]; + + /* Get target process name. */ + GetModuleBaseNameW(process_handle, NULL, &basename[0], sizeof(basename)); + + /* Get PID of target process. */ + pid = GetProcessId(process_handle); + + /* Get LocalDumps directory path. */ + ret = RegOpenKeyExW( + HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\Windows Error Reporting\\LocalDumps", + 0, + KEY_QUERY_VALUE, + ®istry_key); + if (ret == ERROR_SUCCESS) { + HANDLE hDumpFile = NULL; + WCHAR dump_folder[MAX_PATH], dump_name[MAX_PATH]; + DWORD dump_folder_len = sizeof(dump_folder), key_type = 0; + ret = RegGetValueW(registry_key, + NULL, + L"DumpFolder", + RRF_RT_ANY, + &key_type, + (PVOID) dump_folder, + &dump_folder_len); + if (ret != ERROR_SUCCESS) { + /* Default value for `dump_folder` is `%LOCALAPPDATA%\CrashDumps`. */ + WCHAR* localappdata; + SHGetKnownFolderPath(&FOLDERID_LocalAppData, 0, NULL, &localappdata); + _snwprintf_s(dump_folder, + sizeof(dump_folder), + _TRUNCATE, + L"%ls\\CrashDumps", + localappdata); + CoTaskMemFree(localappdata); + } + RegCloseKey(registry_key); + + /* Create dump folder if it doesn't already exist. */ + CreateDirectoryW(dump_folder, NULL); + + /* Construct dump filename from process name and PID. */ + _snwprintf_s(dump_name, + sizeof(dump_name), + _TRUNCATE, + L"%ls\\%ls.%d.dmp", + dump_folder, + basename, + pid); + + hDumpFile = CreateFileW(dump_name, + GENERIC_WRITE, + 0, + NULL, + CREATE_NEW, + FILE_ATTRIBUTE_NORMAL, + NULL); + if (hDumpFile != INVALID_HANDLE_VALUE) { + DWORD dump_options, sym_options; + FILE_DISPOSITION_INFO DeleteOnClose = { TRUE }; + + /* If something goes wrong while writing it out, delete the file. */ + SetFileInformationByHandle(hDumpFile, + FileDispositionInfo, + &DeleteOnClose, + sizeof(DeleteOnClose)); + + /* Tell wine to dump ELF modules as well. */ + sym_options = SymGetOptions(); + SymSetOptions(sym_options | 0x40000000); + +/* MiniDumpWithAvxXStateContext might be undef in server2012r2 or mingw < 12 */ +#ifndef MiniDumpWithAvxXStateContext +#define MiniDumpWithAvxXStateContext 0x00200000 +#endif + /* We default to a fairly complete dump. In the future, we may want to + * allow clients to customize what kind of dump to create. */ + dump_options = MiniDumpWithFullMemory | + MiniDumpIgnoreInaccessibleMemory | + MiniDumpWithAvxXStateContext; + + if (MiniDumpWriteDump(process_handle, + pid, + hDumpFile, + dump_options, + NULL, + NULL, + NULL)) { + /* Don't delete the file on close if we successfully wrote it out. */ + FILE_DISPOSITION_INFO DontDeleteOnClose = { FALSE }; + SetFileInformationByHandle(hDumpFile, + FileDispositionInfo, + &DontDeleteOnClose, + sizeof(DontDeleteOnClose)); + } + SymSetOptions(sym_options); + CloseHandle(hDumpFile); + } + } + } + switch (signum) { + case SIGQUIT: case SIGTERM: case SIGKILL: case SIGINT: { diff --git a/deps/uv/src/win/stream.c b/deps/uv/src/win/stream.c index 292bf588da6b2f..7bf9ca388cb0f0 100644 --- a/deps/uv/src/win/stream.c +++ b/deps/uv/src/win/stream.c @@ -204,7 +204,7 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* handle, uv_shutdown_cb cb) { uv_loop_t* loop = handle->loop; if (!(handle->flags & UV_HANDLE_WRITABLE) || - handle->flags & UV_HANDLE_SHUTTING || + uv__is_stream_shutting(handle) || uv__is_closing(handle)) { return UV_ENOTCONN; } @@ -214,7 +214,6 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* handle, uv_shutdown_cb cb) { req->cb = cb; handle->flags &= ~UV_HANDLE_WRITABLE; - handle->flags |= UV_HANDLE_SHUTTING; handle->stream.conn.shutdown_req = req; handle->reqs_pending++; REGISTER_HANDLE_REQ(loop, handle, req); diff --git a/deps/uv/src/win/tcp.c b/deps/uv/src/win/tcp.c index b6aa4c512050e0..6b282e0b501c0d 100644 --- a/deps/uv/src/win/tcp.c +++ b/deps/uv/src/win/tcp.c @@ -29,14 +29,6 @@ #include "req-inl.h" -/* - * Threshold of active tcp streams for which to preallocate tcp read buffers. - * (Due to node slab allocator performing poorly under this pattern, - * the optimization is temporarily disabled (threshold=0). This will be - * revisited once node allocator is improved.) - */ -const unsigned int uv_active_tcp_streams_threshold = 0; - /* * Number of simultaneous pending AcceptEx calls. */ @@ -214,7 +206,6 @@ void uv__process_tcp_shutdown_req(uv_loop_t* loop, uv_tcp_t* stream, uv_shutdown assert(stream->flags & UV_HANDLE_CONNECTION); stream->stream.conn.shutdown_req = NULL; - stream->flags &= ~UV_HANDLE_SHUTTING; UNREGISTER_HANDLE_REQ(loop, stream, req); err = 0; @@ -274,7 +265,6 @@ void uv__tcp_endgame(uv_loop_t* loop, uv_tcp_t* handle) { } uv__handle_close(handle); - loop->active_tcp_streams--; } @@ -484,26 +474,9 @@ static void uv__tcp_queue_read(uv_loop_t* loop, uv_tcp_t* handle) { req = &handle->read_req; memset(&req->u.io.overlapped, 0, sizeof(req->u.io.overlapped)); - /* - * Preallocate a read buffer if the number of active streams is below - * the threshold. - */ - if (loop->active_tcp_streams < uv_active_tcp_streams_threshold) { - handle->flags &= ~UV_HANDLE_ZERO_READ; - handle->tcp.conn.read_buffer = uv_buf_init(NULL, 0); - handle->alloc_cb((uv_handle_t*) handle, 65536, &handle->tcp.conn.read_buffer); - if (handle->tcp.conn.read_buffer.base == NULL || - handle->tcp.conn.read_buffer.len == 0) { - handle->read_cb((uv_stream_t*) handle, UV_ENOBUFS, &handle->tcp.conn.read_buffer); - return; - } - assert(handle->tcp.conn.read_buffer.base != NULL); - buf = handle->tcp.conn.read_buffer; - } else { - handle->flags |= UV_HANDLE_ZERO_READ; - buf.base = (char*) &uv_zero_; - buf.len = 0; - } + handle->flags |= UV_HANDLE_ZERO_READ; + buf.base = (char*) &uv_zero_; + buf.len = 0; /* Prepare the overlapped structure. */ memset(&(req->u.io.overlapped), 0, sizeof(req->u.io.overlapped)); @@ -550,7 +523,7 @@ int uv_tcp_close_reset(uv_tcp_t* handle, uv_close_cb close_cb) { struct linger l = { 1, 0 }; /* Disallow setting SO_LINGER to zero due to some platform inconsistencies */ - if (handle->flags & UV_HANDLE_SHUTTING) + if (uv__is_stream_shutting(handle)) return UV_EINVAL; if (0 != setsockopt(handle->socket, SOL_SOCKET, SO_LINGER, (const char*)&l, sizeof(l))) @@ -654,7 +627,6 @@ int uv__tcp_listen(uv_tcp_t* handle, int backlog, uv_connection_cb cb) { int uv__tcp_accept(uv_tcp_t* server, uv_tcp_t* client) { - uv_loop_t* loop = server->loop; int err = 0; int family; @@ -716,8 +688,6 @@ int uv__tcp_accept(uv_tcp_t* server, uv_tcp_t* client) { } } - loop->active_tcp_streams++; - return err; } @@ -1163,7 +1133,7 @@ void uv__process_tcp_write_req(uv_loop_t* loop, uv_tcp_t* handle, closesocket(handle->socket); handle->socket = INVALID_SOCKET; } - if (handle->flags & UV_HANDLE_SHUTTING) + if (uv__is_stream_shutting(handle)) uv__process_tcp_shutdown_req(loop, handle, handle->stream.conn.shutdown_req); @@ -1248,7 +1218,6 @@ void uv__process_tcp_connect_req(uv_loop_t* loop, uv_tcp_t* handle, 0) == 0) { uv__connection_init((uv_stream_t*)handle); handle->flags |= UV_HANDLE_READABLE | UV_HANDLE_WRITABLE; - loop->active_tcp_streams++; } else { err = WSAGetLastError(); } @@ -1331,7 +1300,6 @@ int uv__tcp_xfer_import(uv_tcp_t* tcp, tcp->flags |= UV_HANDLE_READABLE | UV_HANDLE_WRITABLE; } - tcp->loop->active_tcp_streams++; return 0; } @@ -1432,7 +1400,7 @@ static void uv__tcp_try_cancel_reqs(uv_tcp_t* tcp) { uv_tcp_non_ifs_lsp_ipv4; /* If there are non-ifs LSPs then try to obtain a base handle for the socket. - * This will always fail on Windows XP/3k. */ + */ if (non_ifs_lsp) { DWORD bytes; if (WSAIoctl(socket, diff --git a/deps/uv/src/win/thread.c b/deps/uv/src/win/thread.c index d3b1c96b6199a7..57c25e8f5a861c 100644 --- a/deps/uv/src/win/thread.c +++ b/deps/uv/src/win/thread.c @@ -180,6 +180,81 @@ int uv_thread_create_ex(uv_thread_t* tid, return UV_EIO; } +int uv_thread_setaffinity(uv_thread_t* tid, + char* cpumask, + char* oldmask, + size_t mask_size) { + int i; + HANDLE hproc; + DWORD_PTR procmask; + DWORD_PTR sysmask; + DWORD_PTR threadmask; + DWORD_PTR oldthreadmask; + int cpumasksize; + + cpumasksize = uv_cpumask_size(); + assert(cpumasksize > 0); + if (mask_size < (size_t)cpumasksize) + return UV_EINVAL; + + hproc = GetCurrentProcess(); + if (!GetProcessAffinityMask(hproc, &procmask, &sysmask)) + return uv_translate_sys_error(GetLastError()); + + threadmask = 0; + for (i = 0; i < cpumasksize; i++) { + if (cpumask[i]) { + if (procmask & (1 << i)) + threadmask |= 1 << i; + else + return UV_EINVAL; + } + } + + oldthreadmask = SetThreadAffinityMask(*tid, threadmask); + if (oldthreadmask == 0) + return uv_translate_sys_error(GetLastError()); + + if (oldmask != NULL) { + for (i = 0; i < cpumasksize; i++) + oldmask[i] = (oldthreadmask >> i) & 1; + } + + return 0; +} + +int uv_thread_getaffinity(uv_thread_t* tid, + char* cpumask, + size_t mask_size) { + int i; + HANDLE hproc; + DWORD_PTR procmask; + DWORD_PTR sysmask; + DWORD_PTR threadmask; + int cpumasksize; + + cpumasksize = uv_cpumask_size(); + assert(cpumasksize > 0); + if (mask_size < (size_t)cpumasksize) + return UV_EINVAL; + + hproc = GetCurrentProcess(); + if (!GetProcessAffinityMask(hproc, &procmask, &sysmask)) + return uv_translate_sys_error(GetLastError()); + + threadmask = SetThreadAffinityMask(*tid, procmask); + if (threadmask == 0 || SetThreadAffinityMask(*tid, threadmask) == 0) + return uv_translate_sys_error(GetLastError()); + + for (i = 0; i < cpumasksize; i++) + cpumask[i] = (threadmask >> i) & 1; + + return 0; +} + +int uv_thread_getcpu(void) { + return GetCurrentProcessorNumber(); +} uv_thread_t uv_thread_self(void) { uv_thread_t key; @@ -374,6 +449,7 @@ void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex) { abort(); } + int uv_cond_timedwait(uv_cond_t* cond, uv_mutex_t* mutex, uint64_t timeout) { if (SleepConditionVariableCS(&cond->cond_var, mutex, (DWORD)(timeout / 1e6))) return 0; @@ -383,69 +459,6 @@ int uv_cond_timedwait(uv_cond_t* cond, uv_mutex_t* mutex, uint64_t timeout) { } -int uv_barrier_init(uv_barrier_t* barrier, unsigned int count) { - int err; - - barrier->n = count; - barrier->count = 0; - - err = uv_mutex_init(&barrier->mutex); - if (err) - return err; - - err = uv_sem_init(&barrier->turnstile1, 0); - if (err) - goto error2; - - err = uv_sem_init(&barrier->turnstile2, 1); - if (err) - goto error; - - return 0; - -error: - uv_sem_destroy(&barrier->turnstile1); -error2: - uv_mutex_destroy(&barrier->mutex); - return err; - -} - - -void uv_barrier_destroy(uv_barrier_t* barrier) { - uv_sem_destroy(&barrier->turnstile2); - uv_sem_destroy(&barrier->turnstile1); - uv_mutex_destroy(&barrier->mutex); -} - - -int uv_barrier_wait(uv_barrier_t* barrier) { - int serial_thread; - - uv_mutex_lock(&barrier->mutex); - if (++barrier->count == barrier->n) { - uv_sem_wait(&barrier->turnstile2); - uv_sem_post(&barrier->turnstile1); - } - uv_mutex_unlock(&barrier->mutex); - - uv_sem_wait(&barrier->turnstile1); - uv_sem_post(&barrier->turnstile1); - - uv_mutex_lock(&barrier->mutex); - serial_thread = (--barrier->count == 0); - if (serial_thread) { - uv_sem_wait(&barrier->turnstile1); - uv_sem_post(&barrier->turnstile2); - } - uv_mutex_unlock(&barrier->mutex); - - uv_sem_wait(&barrier->turnstile2); - uv_sem_post(&barrier->turnstile2); - return serial_thread; -} - - int uv_key_create(uv_key_t* key) { key->tls_index = TlsAlloc(); if (key->tls_index == TLS_OUT_OF_INDEXES) diff --git a/deps/uv/src/win/tty.c b/deps/uv/src/win/tty.c index 267ca64519963f..60f249b6a2af6f 100644 --- a/deps/uv/src/win/tty.c +++ b/deps/uv/src/win/tty.c @@ -23,12 +23,7 @@ #include #include #include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "uv/stdint-msvc2008.h" -#else -# include -#endif +#include #ifndef COMMON_LVB_REVERSE_VIDEO # define COMMON_LVB_REVERSE_VIDEO 0x4000 @@ -175,14 +170,14 @@ void uv__console_init(void) { 0); if (uv__tty_console_handle != INVALID_HANDLE_VALUE) { CONSOLE_SCREEN_BUFFER_INFO sb_info; - QueueUserWorkItem(uv__tty_console_resize_message_loop_thread, - NULL, - WT_EXECUTELONGFUNCTION); uv_mutex_init(&uv__tty_console_resize_mutex); if (GetConsoleScreenBufferInfo(uv__tty_console_handle, &sb_info)) { uv__tty_console_width = sb_info.dwSize.X; uv__tty_console_height = sb_info.srWindow.Bottom - sb_info.srWindow.Top + 1; } + QueueUserWorkItem(uv__tty_console_resize_message_loop_thread, + NULL, + WT_EXECUTELONGFUNCTION); } } @@ -2239,11 +2234,11 @@ void uv__process_tty_write_req(uv_loop_t* loop, uv_tty_t* handle, handle->stream.conn.write_reqs_pending--; - if (handle->stream.conn.write_reqs_pending == 0) - if (handle->flags & UV_HANDLE_SHUTTING) - uv__process_tty_shutdown_req(loop, - handle, - handle->stream.conn.shutdown_req); + if (handle->stream.conn.write_reqs_pending == 0 && + uv__is_stream_shutting(handle)) + uv__process_tty_shutdown_req(loop, + handle, + handle->stream.conn.shutdown_req); DECREASE_PENDING_REQ_COUNT(handle); } @@ -2274,7 +2269,6 @@ void uv__process_tty_shutdown_req(uv_loop_t* loop, uv_tty_t* stream, uv_shutdown assert(req); stream->stream.conn.shutdown_req = NULL; - stream->flags &= ~UV_HANDLE_SHUTTING; UNREGISTER_HANDLE_REQ(loop, stream, req); /* TTY shutdown is really just a no-op */ @@ -2429,7 +2423,6 @@ static void uv__tty_console_signal_resize(void) { height = sb_info.srWindow.Bottom - sb_info.srWindow.Top + 1; uv_mutex_lock(&uv__tty_console_resize_mutex); - assert(uv__tty_console_width != -1 && uv__tty_console_height != -1); if (width != uv__tty_console_width || height != uv__tty_console_height) { uv__tty_console_width = width; uv__tty_console_height = height; diff --git a/deps/uv/src/win/udp.c b/deps/uv/src/win/udp.c index eaebc1eda8f492..8a982d1907d707 100644 --- a/deps/uv/src/win/udp.c +++ b/deps/uv/src/win/udp.c @@ -29,11 +29,6 @@ #include "req-inl.h" -/* - * Threshold of active udp streams for which to preallocate udp read buffers. - */ -const unsigned int uv_active_udp_streams_threshold = 0; - /* A zero-size buffer for use by uv_udp_read */ static char uv_zero_[] = ""; int uv_udp_getpeername(const uv_udp_t* handle, @@ -276,84 +271,35 @@ static void uv__udp_queue_recv(uv_loop_t* loop, uv_udp_t* handle) { req = &handle->recv_req; memset(&req->u.io.overlapped, 0, sizeof(req->u.io.overlapped)); - /* - * Preallocate a read buffer if the number of active streams is below - * the threshold. - */ - if (loop->active_udp_streams < uv_active_udp_streams_threshold) { - handle->flags &= ~UV_HANDLE_ZERO_READ; - - handle->recv_buffer = uv_buf_init(NULL, 0); - handle->alloc_cb((uv_handle_t*) handle, UV__UDP_DGRAM_MAXSIZE, &handle->recv_buffer); - if (handle->recv_buffer.base == NULL || handle->recv_buffer.len == 0) { - handle->recv_cb(handle, UV_ENOBUFS, &handle->recv_buffer, NULL, 0); - return; - } - assert(handle->recv_buffer.base != NULL); - - buf = handle->recv_buffer; - memset(&handle->recv_from, 0, sizeof handle->recv_from); - handle->recv_from_len = sizeof handle->recv_from; - flags = 0; - - result = handle->func_wsarecvfrom(handle->socket, - (WSABUF*) &buf, - 1, - &bytes, - &flags, - (struct sockaddr*) &handle->recv_from, - &handle->recv_from_len, - &req->u.io.overlapped, - NULL); - - if (UV_SUCCEEDED_WITHOUT_IOCP(result == 0)) { - /* Process the req without IOCP. */ - handle->flags |= UV_HANDLE_READ_PENDING; - req->u.io.overlapped.InternalHigh = bytes; - handle->reqs_pending++; - uv__insert_pending_req(loop, req); - } else if (UV_SUCCEEDED_WITH_IOCP(result == 0)) { - /* The req will be processed with IOCP. */ - handle->flags |= UV_HANDLE_READ_PENDING; - handle->reqs_pending++; - } else { - /* Make this req pending reporting an error. */ - SET_REQ_ERROR(req, WSAGetLastError()); - uv__insert_pending_req(loop, req); - handle->reqs_pending++; - } + handle->flags |= UV_HANDLE_ZERO_READ; + + buf.base = (char*) uv_zero_; + buf.len = 0; + flags = MSG_PEEK; + result = handle->func_wsarecv(handle->socket, + (WSABUF*) &buf, + 1, + &bytes, + &flags, + &req->u.io.overlapped, + NULL); + + if (UV_SUCCEEDED_WITHOUT_IOCP(result == 0)) { + /* Process the req without IOCP. */ + handle->flags |= UV_HANDLE_READ_PENDING; + req->u.io.overlapped.InternalHigh = bytes; + handle->reqs_pending++; + uv__insert_pending_req(loop, req); + } else if (UV_SUCCEEDED_WITH_IOCP(result == 0)) { + /* The req will be processed with IOCP. */ + handle->flags |= UV_HANDLE_READ_PENDING; + handle->reqs_pending++; } else { - handle->flags |= UV_HANDLE_ZERO_READ; - - buf.base = (char*) uv_zero_; - buf.len = 0; - flags = MSG_PEEK; - - result = handle->func_wsarecv(handle->socket, - (WSABUF*) &buf, - 1, - &bytes, - &flags, - &req->u.io.overlapped, - NULL); - - if (UV_SUCCEEDED_WITHOUT_IOCP(result == 0)) { - /* Process the req without IOCP. */ - handle->flags |= UV_HANDLE_READ_PENDING; - req->u.io.overlapped.InternalHigh = bytes; - handle->reqs_pending++; - uv__insert_pending_req(loop, req); - } else if (UV_SUCCEEDED_WITH_IOCP(result == 0)) { - /* The req will be processed with IOCP. */ - handle->flags |= UV_HANDLE_READ_PENDING; - handle->reqs_pending++; - } else { - /* Make this req pending reporting an error. */ - SET_REQ_ERROR(req, WSAGetLastError()); - uv__insert_pending_req(loop, req); - handle->reqs_pending++; - } + /* Make this req pending reporting an error. */ + SET_REQ_ERROR(req, WSAGetLastError()); + uv__insert_pending_req(loop, req); + handle->reqs_pending++; } } @@ -376,7 +322,6 @@ int uv__udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, handle->flags |= UV_HANDLE_READING; INCREASE_ACTIVE_COUNT(loop, handle); - loop->active_udp_streams++; handle->recv_cb = recv_cb; handle->alloc_cb = alloc_cb; @@ -393,7 +338,6 @@ int uv__udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, int uv__udp_recv_stop(uv_udp_t* handle) { if (handle->flags & UV_HANDLE_READING) { handle->flags &= ~UV_HANDLE_READING; - handle->loop->active_udp_streams--; DECREASE_ACTIVE_COUNT(loop, handle); } @@ -497,57 +441,68 @@ void uv__process_udp_recv_req(uv_loop_t* loop, uv_udp_t* handle, DWORD bytes, err, flags; struct sockaddr_storage from; int from_len; + int count; + + /* Prevent loop starvation when the data comes in as fast as + * (or faster than) we can read it. */ + count = 32; + + do { + /* Do at most `count` nonblocking receive. */ + buf = uv_buf_init(NULL, 0); + handle->alloc_cb((uv_handle_t*) handle, UV__UDP_DGRAM_MAXSIZE, &buf); + if (buf.base == NULL || buf.len == 0) { + handle->recv_cb(handle, UV_ENOBUFS, &buf, NULL, 0); + goto done; + } - /* Do a nonblocking receive. - * TODO: try to read multiple datagrams at once. FIONREAD maybe? */ - buf = uv_buf_init(NULL, 0); - handle->alloc_cb((uv_handle_t*) handle, UV__UDP_DGRAM_MAXSIZE, &buf); - if (buf.base == NULL || buf.len == 0) { - handle->recv_cb(handle, UV_ENOBUFS, &buf, NULL, 0); - goto done; - } - assert(buf.base != NULL); - - memset(&from, 0, sizeof from); - from_len = sizeof from; + memset(&from, 0, sizeof from); + from_len = sizeof from; - flags = 0; + flags = 0; - if (WSARecvFrom(handle->socket, - (WSABUF*)&buf, - 1, - &bytes, - &flags, - (struct sockaddr*) &from, - &from_len, - NULL, - NULL) != SOCKET_ERROR) { + if (WSARecvFrom(handle->socket, + (WSABUF*)&buf, + 1, + &bytes, + &flags, + (struct sockaddr*) &from, + &from_len, + NULL, + NULL) != SOCKET_ERROR) { - /* Message received */ - handle->recv_cb(handle, bytes, &buf, (const struct sockaddr*) &from, 0); - } else { - err = WSAGetLastError(); - if (err == WSAEMSGSIZE) { - /* Message truncated */ - handle->recv_cb(handle, - bytes, - &buf, - (const struct sockaddr*) &from, - UV_UDP_PARTIAL); - } else if (err == WSAEWOULDBLOCK) { - /* Kernel buffer empty */ - handle->recv_cb(handle, 0, &buf, NULL, 0); - } else if (err == WSAECONNRESET || err == WSAENETRESET) { - /* WSAECONNRESET/WSANETRESET is ignored because this just indicates - * that a previous sendto operation failed. - */ - handle->recv_cb(handle, 0, &buf, NULL, 0); + /* Message received */ + err = ERROR_SUCCESS; + handle->recv_cb(handle, bytes, &buf, (const struct sockaddr*) &from, 0); } else { - /* Any other error that we want to report back to the user. */ - uv_udp_recv_stop(handle); - handle->recv_cb(handle, uv_translate_sys_error(err), &buf, NULL, 0); + err = WSAGetLastError(); + if (err == WSAEMSGSIZE) { + /* Message truncated */ + handle->recv_cb(handle, + bytes, + &buf, + (const struct sockaddr*) &from, + UV_UDP_PARTIAL); + } else if (err == WSAEWOULDBLOCK) { + /* Kernel buffer empty */ + handle->recv_cb(handle, 0, &buf, NULL, 0); + } else if (err == WSAECONNRESET || err == WSAENETRESET) { + /* WSAECONNRESET/WSANETRESET is ignored because this just indicates + * that a previous sendto operation failed. + */ + handle->recv_cb(handle, 0, &buf, NULL, 0); + } else { + /* Any other error that we want to report back to the user. */ + uv_udp_recv_stop(handle); + handle->recv_cb(handle, uv_translate_sys_error(err), &buf, NULL, 0); + } } } + while (err == ERROR_SUCCESS && + count-- > 0 && + /* The recv_cb callback may decide to pause or close the handle. */ + (handle->flags & UV_HANDLE_READING) && + !(handle->flags & UV_HANDLE_READ_PENDING)); } done: diff --git a/deps/uv/src/win/util.c b/deps/uv/src/win/util.c index 99432053cc3b24..f6ec79cd57b501 100644 --- a/deps/uv/src/win/util.c +++ b/deps/uv/src/win/util.c @@ -31,6 +31,7 @@ #include "internal.h" /* clang-format off */ +#include #include #include #include @@ -121,9 +122,6 @@ int uv_exepath(char* buffer, size_t* size_ptr) { goto error; } - /* utf16_len contains the length, *not* including the terminating null. */ - utf16_buffer[utf16_len] = L'\0'; - /* Convert to UTF-8 */ utf8_len = WideCharToMultiByte(CP_UTF8, 0, @@ -151,6 +149,51 @@ int uv_exepath(char* buffer, size_t* size_ptr) { } +static int uv__cwd(WCHAR** buf, DWORD *len) { + WCHAR* p; + DWORD n; + DWORD t; + + t = GetCurrentDirectoryW(0, NULL); + for (;;) { + if (t == 0) + return uv_translate_sys_error(GetLastError()); + + /* |t| is the size of the buffer _including_ nul. */ + p = uv__malloc(t * sizeof(*p)); + if (p == NULL) + return UV_ENOMEM; + + /* |n| is the size of the buffer _excluding_ nul but _only on success_. + * If |t| was too small because another thread changed the working + * directory, |n| is the size the buffer should be _including_ nul. + * It therefore follows we must resize when n >= t and fail when n == 0. + */ + n = GetCurrentDirectoryW(t, p); + if (n > 0) + if (n < t) + break; + + uv__free(p); + t = n; + } + + /* The returned directory should not have a trailing slash, unless it points + * at a drive root, like c:\. Remove it if needed. + */ + t = n - 1; + if (p[t] == L'\\' && !(n == 3 && p[1] == L':')) { + p[t] = L'\0'; + n = t; + } + + *buf = p; + *len = n; + + return 0; +} + + int uv_cwd(char* buffer, size_t* size) { DWORD utf16_len; WCHAR *utf16_buffer; @@ -160,30 +203,9 @@ int uv_cwd(char* buffer, size_t* size) { return UV_EINVAL; } - utf16_len = GetCurrentDirectoryW(0, NULL); - if (utf16_len == 0) { - return uv_translate_sys_error(GetLastError()); - } - utf16_buffer = uv__malloc(utf16_len * sizeof(WCHAR)); - if (utf16_buffer == NULL) { - return UV_ENOMEM; - } - - utf16_len = GetCurrentDirectoryW(utf16_len, utf16_buffer); - if (utf16_len == 0) { - uv__free(utf16_buffer); - return uv_translate_sys_error(GetLastError()); - } - - /* utf16_len contains the length, *not* including the terminating null. */ - utf16_buffer[utf16_len] = L'\0'; - - /* The returned directory should not have a trailing slash, unless it points - * at a drive root, like c:\. Remove it if needed. */ - if (utf16_buffer[utf16_len - 1] == L'\\' && - !(utf16_len == 3 && utf16_buffer[1] == L':')) { - utf16_len--; - utf16_buffer[utf16_len] = L'\0'; + r = uv__cwd(&utf16_buffer, &utf16_len); + if (r < 0) { + return r; } /* Check how much space we need */ @@ -226,8 +248,9 @@ int uv_cwd(char* buffer, size_t* size) { int uv_chdir(const char* dir) { WCHAR *utf16_buffer; - size_t utf16_len, new_utf16_len; + DWORD utf16_len; WCHAR drive_letter, env_var[4]; + int r; if (dir == NULL) { return UV_EINVAL; @@ -262,32 +285,22 @@ int uv_chdir(const char* dir) { return uv_translate_sys_error(GetLastError()); } + /* uv__cwd() will return a new buffer. */ + uv__free(utf16_buffer); + utf16_buffer = NULL; + /* Windows stores the drive-local path in an "hidden" environment variable, * which has the form "=C:=C:\Windows". SetCurrentDirectory does not update * this, so we'll have to do it. */ - new_utf16_len = GetCurrentDirectoryW(utf16_len, utf16_buffer); - if (new_utf16_len > utf16_len ) { - uv__free(utf16_buffer); - utf16_buffer = uv__malloc(new_utf16_len * sizeof(WCHAR)); - if (utf16_buffer == NULL) { - /* When updating the environment variable fails, return UV_OK anyway. - * We did successfully change current working directory, only updating - * hidden env variable failed. */ - return 0; - } - new_utf16_len = GetCurrentDirectoryW(new_utf16_len, utf16_buffer); - } - if (utf16_len == 0) { - uv__free(utf16_buffer); + r = uv__cwd(&utf16_buffer, &utf16_len); + if (r == UV_ENOMEM) { + /* When updating the environment variable fails, return UV_OK anyway. + * We did successfully change current working directory, only updating + * hidden env variable failed. */ return 0; } - - /* The returned directory should not have a trailing slash, unless it points - * at a drive root, like c:\. Remove it if needed. */ - if (utf16_buffer[utf16_len - 1] == L'\\' && - !(utf16_len == 3 && utf16_buffer[1] == L':')) { - utf16_len--; - utf16_buffer[utf16_len] = L'\0'; + if (r < 0) { + return r; } if (utf16_len < 2 || utf16_buffer[1] != L':') { @@ -330,7 +343,7 @@ uint64_t uv_get_free_memory(void) { memory_status.dwLength = sizeof(memory_status); if (!GlobalMemoryStatusEx(&memory_status)) { - return -1; + return 0; } return (uint64_t)memory_status.ullAvailPhys; @@ -342,7 +355,7 @@ uint64_t uv_get_total_memory(void) { memory_status.dwLength = sizeof(memory_status); if (!GlobalMemoryStatusEx(&memory_status)) { - return -1; + return 0; } return (uint64_t)memory_status.ullTotalPhys; @@ -354,6 +367,11 @@ uint64_t uv_get_constrained_memory(void) { } +uint64_t uv_get_available_memory(void) { + return uv_get_free_memory(); +} + + uv_pid_t uv_os_getpid(void) { return GetCurrentProcessId(); } @@ -487,11 +505,43 @@ int uv_get_process_title(char* buffer, size_t size) { } +/* https://github.com/libuv/libuv/issues/1674 */ +int uv_clock_gettime(uv_clock_id clock_id, uv_timespec64_t* ts) { + FILETIME ft; + int64_t t; + + if (ts == NULL) + return UV_EFAULT; + + switch (clock_id) { + case UV_CLOCK_MONOTONIC: + uv__once_init(); + t = uv__hrtime(UV__NANOSEC); + ts->tv_sec = t / 1000000000; + ts->tv_nsec = t % 1000000000; + return 0; + case UV_CLOCK_REALTIME: + GetSystemTimePreciseAsFileTime(&ft); + /* In 100-nanosecond increments from 1601-01-01 UTC because why not? */ + t = (int64_t) ft.dwHighDateTime << 32 | ft.dwLowDateTime; + /* Convert to UNIX epoch, 1970-01-01. Still in 100 ns increments. */ + t -= 116444736000000000ll; + /* Now convert to seconds and nanoseconds. */ + ts->tv_sec = t / 10000000; + ts->tv_nsec = t % 10000000 * 100; + return 0; + } + + return UV_EINVAL; +} + + uint64_t uv_hrtime(void) { uv__once_init(); return uv__hrtime(UV__NANOSEC); } + uint64_t uv__hrtime(unsigned int scale) { LARGE_INTEGER counter; double scaled_freq; @@ -678,71 +728,6 @@ int uv_cpu_info(uv_cpu_info_t** cpu_infos_ptr, int* cpu_count_ptr) { } -static int is_windows_version_or_greater(DWORD os_major, - DWORD os_minor, - WORD service_pack_major, - WORD service_pack_minor) { - OSVERSIONINFOEX osvi; - DWORDLONG condition_mask = 0; - int op = VER_GREATER_EQUAL; - - /* Initialize the OSVERSIONINFOEX structure. */ - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - osvi.dwMajorVersion = os_major; - osvi.dwMinorVersion = os_minor; - osvi.wServicePackMajor = service_pack_major; - osvi.wServicePackMinor = service_pack_minor; - - /* Initialize the condition mask. */ - VER_SET_CONDITION(condition_mask, VER_MAJORVERSION, op); - VER_SET_CONDITION(condition_mask, VER_MINORVERSION, op); - VER_SET_CONDITION(condition_mask, VER_SERVICEPACKMAJOR, op); - VER_SET_CONDITION(condition_mask, VER_SERVICEPACKMINOR, op); - - /* Perform the test. */ - return (int) VerifyVersionInfo( - &osvi, - VER_MAJORVERSION | VER_MINORVERSION | - VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR, - condition_mask); -} - - -static int address_prefix_match(int family, - struct sockaddr* address, - struct sockaddr* prefix_address, - int prefix_len) { - uint8_t* address_data; - uint8_t* prefix_address_data; - int i; - - assert(address->sa_family == family); - assert(prefix_address->sa_family == family); - - if (family == AF_INET6) { - address_data = (uint8_t*) &(((struct sockaddr_in6 *) address)->sin6_addr); - prefix_address_data = - (uint8_t*) &(((struct sockaddr_in6 *) prefix_address)->sin6_addr); - } else { - address_data = (uint8_t*) &(((struct sockaddr_in *) address)->sin_addr); - prefix_address_data = - (uint8_t*) &(((struct sockaddr_in *) prefix_address)->sin_addr); - } - - for (i = 0; i < prefix_len >> 3; i++) { - if (address_data[i] != prefix_address_data[i]) - return 0; - } - - if (prefix_len % 8) - return prefix_address_data[i] == - (address_data[i] & (0xff << (8 - prefix_len % 8))); - - return 1; -} - - int uv_interface_addresses(uv_interface_address_t** addresses_ptr, int* count_ptr) { IP_ADAPTER_ADDRESSES* win_address_buf; @@ -755,26 +740,13 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, uv_interface_address_t* uv_address; int count; - - int is_vista_or_greater; ULONG flags; *addresses_ptr = NULL; *count_ptr = 0; - is_vista_or_greater = is_windows_version_or_greater(6, 0, 0, 0); - if (is_vista_or_greater) { - flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | - GAA_FLAG_SKIP_DNS_SERVER; - } else { - /* We need at least XP SP1. */ - if (!is_windows_version_or_greater(5, 1, 1, 0)) - return UV_ENOTSUP; - - flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | - GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_INCLUDE_PREFIX; - } - + flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | + GAA_FLAG_SKIP_DNS_SERVER; /* Fetch the size of the adapters reported by windows, and then get the list * itself. */ @@ -938,37 +910,8 @@ int uv_interface_addresses(uv_interface_address_t** addresses_ptr, sa = unicast_address->Address.lpSockaddr; - /* XP has no OnLinkPrefixLength field. */ - if (is_vista_or_greater) { - prefix_len = - ((IP_ADAPTER_UNICAST_ADDRESS_LH*) unicast_address)->OnLinkPrefixLength; - } else { - /* Prior to Windows Vista the FirstPrefix pointed to the list with - * single prefix for each IP address assigned to the adapter. - * Order of FirstPrefix does not match order of FirstUnicastAddress, - * so we need to find corresponding prefix. - */ - IP_ADAPTER_PREFIX* prefix; - prefix_len = 0; - - for (prefix = adapter->FirstPrefix; prefix; prefix = prefix->Next) { - /* We want the longest matching prefix. */ - if (prefix->Address.lpSockaddr->sa_family != sa->sa_family || - prefix->PrefixLength <= prefix_len) - continue; - - if (address_prefix_match(sa->sa_family, sa, - prefix->Address.lpSockaddr, prefix->PrefixLength)) { - prefix_len = prefix->PrefixLength; - } - } - - /* If there is no matching prefix information, return a single-host - * subnet mask (e.g. 255.255.255.255 for IPv4). - */ - if (!prefix_len) - prefix_len = (sa->sa_family == AF_INET6) ? 128 : 32; - } + prefix_len = + ((IP_ADAPTER_UNICAST_ADDRESS_LH*) unicast_address)->OnLinkPrefixLength; memset(uv_address, 0, sizeof *uv_address); @@ -1093,8 +1036,8 @@ int uv_os_homedir(char* buffer, size_t* size) { if (r != UV_ENOENT) return r; - /* USERPROFILE is not set, so call uv__getpwuid_r() */ - r = uv__getpwuid_r(&pwd); + /* USERPROFILE is not set, so call uv_os_get_passwd() */ + r = uv_os_get_passwd(&pwd); if (r != 0) { return r; @@ -1181,17 +1124,6 @@ int uv_os_tmpdir(char* buffer, size_t* size) { } -void uv_os_free_passwd(uv_passwd_t* pwd) { - if (pwd == NULL) - return; - - uv__free(pwd->username); - uv__free(pwd->homedir); - pwd->username = NULL; - pwd->homedir = NULL; -} - - /* * Converts a UTF-16 string into a UTF-8 one. The resulting string is * null-terminated. @@ -1288,7 +1220,7 @@ int uv__convert_utf8_to_utf16(const char* utf8, int utf8len, WCHAR** utf16) { } -int uv__getpwuid_r(uv_passwd_t* pwd) { +static int uv__getpwuid_r(uv_passwd_t* pwd) { HANDLE token; wchar_t username[UNLEN + 1]; wchar_t *path; @@ -1366,6 +1298,16 @@ int uv_os_get_passwd(uv_passwd_t* pwd) { } +int uv_os_get_passwd2(uv_passwd_t* pwd, uv_uid_t uid) { + return UV_ENOTSUP; +} + + +int uv_os_get_group(uv_group_t* grp, uv_uid_t gid) { + return UV_ENOTSUP; +} + + int uv_os_environ(uv_env_item_t** envitems, int* count) { wchar_t* env; wchar_t* penv; @@ -1769,6 +1711,22 @@ int uv_os_uname(uv_utsname_t* buffer) { RegCloseKey(registry_key); if (r == ERROR_SUCCESS) { + /* Windows 11 shares dwMajorVersion with Windows 10 + * this workaround tries to disambiguate that by checking + * if the dwBuildNumber is from Windows 11 releases (>= 22000). + * + * This workaround replaces the ProductName key value + * from "Windows 10 *" to "Windows 11 *" */ + if (os_info.dwMajorVersion == 10 && + os_info.dwBuildNumber >= 22000 && + product_name_w_size >= ARRAY_SIZE(L"Windows 10")) { + /* If ProductName starts with "Windows 10" */ + if (wcsncmp(product_name_w, L"Windows 10", ARRAY_SIZE(L"Windows 10") - 1) == 0) { + /* Bump 10 to 11 */ + product_name_w[9] = '1'; + } + } + version_size = WideCharToMultiByte(CP_UTF8, 0, product_name_w, diff --git a/deps/uv/test/benchmark-async-pummel.c b/deps/uv/test/benchmark-async-pummel.c index 49660a6f5755c0..bec91850616150 100644 --- a/deps/uv/test/benchmark-async-pummel.c +++ b/deps/uv/test/benchmark-async-pummel.c @@ -62,6 +62,7 @@ static void pummel(void* arg) { static int test_async_pummel(int nthreads) { + char fmtbuf[2][32]; uv_thread_t* tids; uv_async_t handle; uint64_t time; @@ -88,13 +89,13 @@ static int test_async_pummel(int nthreads) { printf("async_pummel_%d: %s callbacks in %.2f seconds (%s/sec)\n", nthreads, - fmt(callbacks), + fmt(&fmtbuf[0], callbacks), time / 1e9, - fmt(callbacks / (time / 1e9))); + fmt(&fmtbuf[1], callbacks / (time / 1e9))); free(tids); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/benchmark-async.c b/deps/uv/test/benchmark-async.c index 5167ecbd758d7a..d4b7c8bd91482f 100644 --- a/deps/uv/test/benchmark-async.c +++ b/deps/uv/test/benchmark-async.c @@ -73,6 +73,7 @@ static void worker(void* arg) { static int test_async(int nthreads) { + char fmtbuf[32]; struct ctx* threads; struct ctx* ctx; uint64_t time; @@ -112,11 +113,11 @@ static int test_async(int nthreads) { printf("async%d: %.2f sec (%s/sec)\n", nthreads, time / 1e9, - fmt(NUM_PINGS / (time / 1e9))); + fmt(&fmtbuf, NUM_PINGS / (time / 1e9))); free(threads); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/benchmark-fs-stat.c b/deps/uv/test/benchmark-fs-stat.c index 32d2589586c1b0..c4106224109100 100644 --- a/deps/uv/test/benchmark-fs-stat.c +++ b/deps/uv/test/benchmark-fs-stat.c @@ -60,6 +60,7 @@ static void warmup(const char* path) { static void sync_bench(const char* path) { + char fmtbuf[2][32]; uint64_t before; uint64_t after; uv_fs_t req; @@ -74,9 +75,9 @@ static void sync_bench(const char* path) { after = uv_hrtime(); printf("%s stats (sync): %.2fs (%s/s)\n", - fmt(1.0 * NUM_SYNC_REQS), + fmt(&fmtbuf[0], 1.0 * NUM_SYNC_REQS), (after - before) / 1e9, - fmt((1.0 * NUM_SYNC_REQS) / ((after - before) / 1e9))); + fmt(&fmtbuf[1], (1.0 * NUM_SYNC_REQS) / ((after - before) / 1e9))); fflush(stdout); } @@ -93,6 +94,7 @@ static void stat_cb(uv_fs_t* fs_req) { static void async_bench(const char* path) { struct async_req reqs[MAX_CONCURRENT_REQS]; struct async_req* req; + char fmtbuf[2][32]; uint64_t before; uint64_t after; int count; @@ -112,10 +114,10 @@ static void async_bench(const char* path) { after = uv_hrtime(); printf("%s stats (%d concurrent): %.2fs (%s/s)\n", - fmt(1.0 * NUM_ASYNC_REQS), + fmt(&fmtbuf[0], 1.0 * NUM_ASYNC_REQS), i, (after - before) / 1e9, - fmt((1.0 * NUM_ASYNC_REQS) / ((after - before) / 1e9))); + fmt(&fmtbuf[1], (1.0 * NUM_ASYNC_REQS) / ((after - before) / 1e9))); fflush(stdout); } } @@ -131,6 +133,6 @@ BENCHMARK_IMPL(fs_stat) { warmup(path); sync_bench(path); async_bench(path); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/benchmark-getaddrinfo.c b/deps/uv/test/benchmark-getaddrinfo.c index 1dbc23ddba009d..1ef7b1ef095937 100644 --- a/deps/uv/test/benchmark-getaddrinfo.c +++ b/deps/uv/test/benchmark-getaddrinfo.c @@ -87,6 +87,6 @@ BENCHMARK_IMPL(getaddrinfo) { (double) calls_completed / (double) (end_time - start_time) * 1000.0); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-loop-count.c b/deps/uv/test/benchmark-loop-count.c index 970a94c2fecb5c..4aa39867bb16a8 100644 --- a/deps/uv/test/benchmark-loop-count.c +++ b/deps/uv/test/benchmark-loop-count.c @@ -68,7 +68,7 @@ BENCHMARK_IMPL(loop_count) { NUM_TICKS / (ns / 1e9)); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -87,6 +87,6 @@ BENCHMARK_IMPL(loop_count_timed) { fprintf(stderr, "loop_count: %lu ticks (%.0f ticks/s)\n", ticks, ticks / 5.0); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-million-async.c b/deps/uv/test/benchmark-million-async.c index 937a12f81e64be..30c21c38af15c4 100644 --- a/deps/uv/test/benchmark-million-async.c +++ b/deps/uv/test/benchmark-million-async.c @@ -76,6 +76,7 @@ static void timer_cb(uv_timer_t* handle) { BENCHMARK_IMPL(million_async) { + char fmtbuf[3][32]; uv_timer_t timer_handle; uv_async_t* handle; uv_loop_t* loop; @@ -101,12 +102,12 @@ BENCHMARK_IMPL(million_async) { ASSERT(0 == uv_thread_create(&thread_id, thread_cb, NULL)); ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); printf("%s async events in %.1f seconds (%s/s, %s unique handles seen)\n", - fmt(container->async_events), + fmt(&fmtbuf[0], container->async_events), timeout / 1000., - fmt(container->async_events / (timeout / 1000.)), - fmt(container->handles_seen)); + fmt(&fmtbuf[1], container->async_events / (timeout / 1000.)), + fmt(&fmtbuf[2], container->handles_seen)); free(container); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-million-timers.c b/deps/uv/test/benchmark-million-timers.c index ef25c2052d6f66..b35fd5e788224d 100644 --- a/deps/uv/test/benchmark-million-timers.c +++ b/deps/uv/test/benchmark-million-timers.c @@ -81,6 +81,6 @@ BENCHMARK_IMPL(million_timers) { fprintf(stderr, "%.2f seconds cleanup\n", (after_all - after_run) / 1e9); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-multi-accept.c b/deps/uv/test/benchmark-multi-accept.c index 86b7da5acd158a..e2026276721b4e 100644 --- a/deps/uv/test/benchmark-multi-accept.c +++ b/deps/uv/test/benchmark-multi-accept.c @@ -431,7 +431,7 @@ static int test_tcp(unsigned int num_servers, unsigned int num_clients) { free(clients); free(servers); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-ping-pongs.c b/deps/uv/test/benchmark-ping-pongs.c index 646a7df9447036..0357704e66e3c9 100644 --- a/deps/uv/test/benchmark-ping-pongs.c +++ b/deps/uv/test/benchmark-ping-pongs.c @@ -216,6 +216,6 @@ BENCHMARK_IMPL(ping_pongs) { ASSERT(completed_pingers == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-ping-udp.c b/deps/uv/test/benchmark-ping-udp.c index cf9ca9811f7a7b..3db8765bf9cf4c 100644 --- a/deps/uv/test/benchmark-ping-udp.c +++ b/deps/uv/test/benchmark-ping-udp.c @@ -153,7 +153,7 @@ static int ping_udp(unsigned pingers) { fprintf(stderr, "ping_pongs: %d pingers, ~ %lu roundtrips/s\n", completed_pingers, completed_pings / (TIME/1000)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-pound.c b/deps/uv/test/benchmark-pound.c index 830bc554b34348..acfe4497a2ed48 100644 --- a/deps/uv/test/benchmark-pound.c +++ b/deps/uv/test/benchmark-pound.c @@ -306,7 +306,7 @@ static int pound_it(int concurrency, conns_failed); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-pump.c b/deps/uv/test/benchmark-pump.c index 7d3977dfc32d0d..316c680996065e 100644 --- a/deps/uv/test/benchmark-pump.c +++ b/deps/uv/test/benchmark-pump.c @@ -415,7 +415,7 @@ HELPER_IMPL(pipe_pump_server) { notify_parent_process(); uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -434,7 +434,7 @@ static void tcp_pump(int n) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); } @@ -450,7 +450,7 @@ static void pipe_pump(int n) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); } diff --git a/deps/uv/test/benchmark-queue-work.c b/deps/uv/test/benchmark-queue-work.c index 2dd5cb665617b1..6e7b74becf63b4 100644 --- a/deps/uv/test/benchmark-queue-work.c +++ b/deps/uv/test/benchmark-queue-work.c @@ -46,6 +46,7 @@ static void after_work_cb(uv_work_t* req, int status) { static void timer_cb(uv_timer_t* handle) { done = 1; } BENCHMARK_IMPL(queue_work) { + char fmtbuf[2][32]; uv_timer_t timer_handle; uv_work_t work; uv_loop_t* loop; @@ -60,9 +61,11 @@ BENCHMARK_IMPL(queue_work) { ASSERT_EQ(0, uv_queue_work(loop, &work, work_cb, after_work_cb)); ASSERT_EQ(0, uv_run(loop, UV_RUN_DEFAULT)); - printf("%s async jobs in %.1f seconds (%s/s)\n", fmt(events), timeout / 1000., - fmt(events / (timeout / 1000.))); + printf("%s async jobs in %.1f seconds (%s/s)\n", + fmt(&fmtbuf[0], events), + timeout / 1000., + fmt(&fmtbuf[1], events / (timeout / 1000.))); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-spawn.c b/deps/uv/test/benchmark-spawn.c index ed9ad608f3790e..bdaf6c1a254e19 100644 --- a/deps/uv/test/benchmark-spawn.c +++ b/deps/uv/test/benchmark-spawn.c @@ -159,6 +159,6 @@ BENCHMARK_IMPL(spawn) { (double) N / (double) (end_time - start_time) * 1000.0); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-tcp-write-batch.c b/deps/uv/test/benchmark-tcp-write-batch.c index 16aa72f6bf73c8..aedefb742559c5 100644 --- a/deps/uv/test/benchmark-tcp-write-batch.c +++ b/deps/uv/test/benchmark-tcp-write-batch.c @@ -139,6 +139,6 @@ BENCHMARK_IMPL(tcp_write_batch) { (long)NUM_WRITE_REQS, (stop - start) / 1e9); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/benchmark-udp-pummel.c b/deps/uv/test/benchmark-udp-pummel.c index 1a2205702603e0..f89913b6cebad0 100644 --- a/deps/uv/test/benchmark-udp-pummel.c +++ b/deps/uv/test/benchmark-udp-pummel.c @@ -215,7 +215,7 @@ static int pummel(unsigned int n_senders, send_cb_called, duration / 1000.0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/fixtures/one_file/one_file b/deps/uv/test/fixtures/one_file/one_file new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/deps/uv/test/run-tests.c b/deps/uv/test/run-tests.c index 86b0359949b7f1..d8cfe297c49524 100644 --- a/deps/uv/test/run-tests.c +++ b/deps/uv/test/run-tests.c @@ -85,10 +85,6 @@ int main(int argc, char **argv) { fflush(stderr); return EXIT_FAILURE; } - -#ifndef __SUNPRO_C - return EXIT_SUCCESS; -#endif } diff --git a/deps/uv/test/runner-unix.c b/deps/uv/test/runner-unix.c index c165aab9305623..09191dbdaa1f32 100644 --- a/deps/uv/test/runner-unix.c +++ b/deps/uv/test/runner-unix.c @@ -344,6 +344,7 @@ long int process_output_size(process_info_t *p) { /* Size of the p->stdout_file */ struct stat buf; + memset(&buf, 0, sizeof(buf)); int r = fstat(fileno(p->stdout_file), &buf); if (r < 0) { return -1; diff --git a/deps/uv/test/runner.c b/deps/uv/test/runner.c index 789108275cda11..d1dd02f5ce0806 100644 --- a/deps/uv/test/runner.c +++ b/deps/uv/test/runner.c @@ -37,28 +37,14 @@ static int compare_task(const void* va, const void* vb) { } -const char* fmt(double d) { - static char buf[1024]; - static char* p; +char* fmt(char (*buf)[32], double d) { uint64_t v; + char* p; - if (p == NULL) - p = buf; - - p += 31; - - if (p >= buf + sizeof(buf)) - return ""; - + p = &(*buf)[32]; v = (uint64_t) d; -#if 0 /* works but we don't care about fractional precision */ - if (d - v >= 0.01) { - *--p = '0' + (uint64_t) (d * 100) % 10; - *--p = '0' + (uint64_t) (d * 10) % 10; - *--p = '.'; - } -#endif + *--p = '\0'; if (v == 0) *--p = '0'; @@ -77,9 +63,7 @@ const char* fmt(double d) { int run_tests(int benchmark_output) { int actual; int total; - int passed; int failed; - int skipped; int current; int test_result; int skip; @@ -102,9 +86,7 @@ int run_tests(int benchmark_output) { fflush(stdout); /* Run all tests. */ - passed = 0; failed = 0; - skipped = 0; current = 1; for (task = TASKS; task->main; task++) { if (task->is_helper) { @@ -113,8 +95,8 @@ int run_tests(int benchmark_output) { test_result = run_test(task->task_name, benchmark_output, current); switch (test_result) { - case TEST_OK: passed++; break; - case TEST_SKIP: skipped++; break; + case TEST_OK: break; + case TEST_SKIP: break; default: failed++; } current++; diff --git a/deps/uv/test/task.h b/deps/uv/test/task.h index 925f1b1c0aeac6..fa6cc0ed535a5c 100644 --- a/deps/uv/test/task.h +++ b/deps/uv/test/task.h @@ -29,12 +29,7 @@ #include #include #include - -#if defined(_MSC_VER) && _MSC_VER < 1600 -# include "uv/stdint-msvc2008.h" -#else -# include -#endif +#include #if !defined(_WIN32) # include @@ -55,9 +50,9 @@ #define TEST_PORT_3 9125 #ifdef _WIN32 -# define TEST_PIPENAME "\\\\?\\pipe\\uv-test" -# define TEST_PIPENAME_2 "\\\\?\\pipe\\uv-test2" -# define TEST_PIPENAME_3 "\\\\?\\pipe\\uv-test3" +# define TEST_PIPENAME "\\\\.\\pipe\\uv-test" +# define TEST_PIPENAME_2 "\\\\.\\pipe\\uv-test2" +# define TEST_PIPENAME_3 "\\\\.\\pipe\\uv-test3" #else # define TEST_PIPENAME "/tmp/uv-test-sock" # define TEST_PIPENAME_2 "/tmp/uv-test-sock2" @@ -203,6 +198,7 @@ typedef enum { #define ASSERT_LE(a, b) ASSERT_BASE(a, <=, b, int64_t, PRId64) #define ASSERT_LT(a, b) ASSERT_BASE(a, <, b, int64_t, PRId64) #define ASSERT_NE(a, b) ASSERT_BASE(a, !=, b, int64_t, PRId64) +#define ASSERT_OK(a) ASSERT_BASE(a, ==, 0, int64_t, PRId64) #define ASSERT_UINT64_EQ(a, b) ASSERT_BASE(a, ==, b, uint64_t, PRIu64) #define ASSERT_UINT64_GE(a, b) ASSERT_BASE(a, >=, b, uint64_t, PRIu64) @@ -248,13 +244,13 @@ typedef enum { #define ASSERT_PTR_NE(a, b) \ ASSERT_BASE(a, !=, b, void*, "p") -/* This macro cleans up the main loop. This is used to avoid valgrind - * warnings about memory being "leaked" by the main event loop. +/* This macro cleans up the event loop. This is used to avoid valgrind + * warnings about memory being "leaked" by the event loop. */ -#define MAKE_VALGRIND_HAPPY() \ +#define MAKE_VALGRIND_HAPPY(loop) \ do { \ - close_loop(uv_default_loop()); \ - ASSERT(0 == uv_loop_close(uv_default_loop())); \ + close_loop(loop); \ + ASSERT(0 == uv_loop_close(loop)); \ uv_library_shutdown(); \ } while (0) @@ -271,8 +267,8 @@ typedef enum { int run_helper_##name(void); \ int run_helper_##name(void) -/* Format big numbers nicely. WARNING: leaks memory. */ -const char* fmt(double d); +/* Format big numbers nicely. */ +char* fmt(char (*buf)[32], double d); /* Reserved test exit codes. */ enum test_status { @@ -375,4 +371,11 @@ UNUSED static int can_ipv6(void) { "Cygwin runtime hangs on listen+connect in same process." #endif +#if !defined(__linux__) && \ + !(defined(__FreeBSD__) && __FreeBSD_version >= 1301000) && \ + !defined(_WIN32) +# define NO_CPU_AFFINITY \ + "affinity not supported on this platform." +#endif + #endif /* TASK_H_ */ diff --git a/deps/uv/test/test-active.c b/deps/uv/test/test-active.c index 384389561a79e8..aaff97087b190d 100644 --- a/deps/uv/test/test-active.c +++ b/deps/uv/test/test-active.c @@ -79,6 +79,6 @@ TEST_IMPL(active) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-async-null-cb.c b/deps/uv/test/test-async-null-cb.c index 52652d91ebf098..1bdd0e032497a9 100644 --- a/deps/uv/test/test-async-null-cb.c +++ b/deps/uv/test/test-async-null-cb.c @@ -59,6 +59,6 @@ TEST_IMPL(async_null_cb) { ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); ASSERT(0 == uv_thread_join(&thread)); ASSERT(1 == check_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-async.c b/deps/uv/test/test-async.c index 619be620e3e916..73664ea5d67efa 100644 --- a/deps/uv/test/test-async.c +++ b/deps/uv/test/test-async.c @@ -129,6 +129,6 @@ TEST_IMPL(async) { ASSERT(0 == uv_thread_join(&thread)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-barrier.c b/deps/uv/test/test-barrier.c index 89858db5711482..c780f0cf2dd48b 100644 --- a/deps/uv/test/test-barrier.c +++ b/deps/uv/test/test-barrier.c @@ -27,20 +27,22 @@ typedef struct { uv_barrier_t barrier; - int delay; - volatile int posted; - int main_barrier_wait_rval; - int worker_barrier_wait_rval; + unsigned delay; + unsigned niter; + unsigned main_barrier_wait_rval; + unsigned worker_barrier_wait_rval; } worker_config; static void worker(void* arg) { worker_config* c = arg; + unsigned i; if (c->delay) uv_sleep(c->delay); - c->worker_barrier_wait_rval = uv_barrier_wait(&c->barrier); + for (i = 0; i < c->niter; i++) + c->worker_barrier_wait_rval += uv_barrier_wait(&c->barrier); } @@ -49,17 +51,18 @@ TEST_IMPL(barrier_1) { worker_config wc; memset(&wc, 0, sizeof(wc)); + wc.niter = 1; - ASSERT(0 == uv_barrier_init(&wc.barrier, 2)); - ASSERT(0 == uv_thread_create(&thread, worker, &wc)); + ASSERT_EQ(0, uv_barrier_init(&wc.barrier, 2)); + ASSERT_EQ(0, uv_thread_create(&thread, worker, &wc)); uv_sleep(100); wc.main_barrier_wait_rval = uv_barrier_wait(&wc.barrier); - ASSERT(0 == uv_thread_join(&thread)); + ASSERT_EQ(0, uv_thread_join(&thread)); uv_barrier_destroy(&wc.barrier); - ASSERT(1 == (wc.main_barrier_wait_rval ^ wc.worker_barrier_wait_rval)); + ASSERT_EQ(1, (wc.main_barrier_wait_rval ^ wc.worker_barrier_wait_rval)); return 0; } @@ -71,16 +74,17 @@ TEST_IMPL(barrier_2) { memset(&wc, 0, sizeof(wc)); wc.delay = 100; + wc.niter = 1; - ASSERT(0 == uv_barrier_init(&wc.barrier, 2)); - ASSERT(0 == uv_thread_create(&thread, worker, &wc)); + ASSERT_EQ(0, uv_barrier_init(&wc.barrier, 2)); + ASSERT_EQ(0, uv_thread_create(&thread, worker, &wc)); wc.main_barrier_wait_rval = uv_barrier_wait(&wc.barrier); - ASSERT(0 == uv_thread_join(&thread)); + ASSERT_EQ(0, uv_thread_join(&thread)); uv_barrier_destroy(&wc.barrier); - ASSERT(1 == (wc.main_barrier_wait_rval ^ wc.worker_barrier_wait_rval)); + ASSERT_EQ(1, (wc.main_barrier_wait_rval ^ wc.worker_barrier_wait_rval)); return 0; } @@ -89,26 +93,32 @@ TEST_IMPL(barrier_2) { TEST_IMPL(barrier_3) { uv_thread_t thread; worker_config wc; + unsigned i; memset(&wc, 0, sizeof(wc)); + wc.niter = 5; - ASSERT(0 == uv_barrier_init(&wc.barrier, 2)); - ASSERT(0 == uv_thread_create(&thread, worker, &wc)); + ASSERT_EQ(0, uv_barrier_init(&wc.barrier, 2)); + ASSERT_EQ(0, uv_thread_create(&thread, worker, &wc)); - wc.main_barrier_wait_rval = uv_barrier_wait(&wc.barrier); + for (i = 0; i < wc.niter; i++) + wc.main_barrier_wait_rval += uv_barrier_wait(&wc.barrier); - ASSERT(0 == uv_thread_join(&thread)); + ASSERT_EQ(0, uv_thread_join(&thread)); uv_barrier_destroy(&wc.barrier); - ASSERT(1 == (wc.main_barrier_wait_rval ^ wc.worker_barrier_wait_rval)); + ASSERT_EQ(wc.niter, wc.main_barrier_wait_rval + wc.worker_barrier_wait_rval); return 0; } static void serial_worker(void* data) { uv_barrier_t* barrier; + unsigned i; barrier = data; + for (i = 0; i < 5; i++) + uv_barrier_wait(barrier); if (uv_barrier_wait(barrier) > 0) uv_barrier_destroy(barrier); @@ -123,16 +133,18 @@ TEST_IMPL(barrier_serial_thread) { uv_barrier_t barrier; unsigned i; - ASSERT(0 == uv_barrier_init(&barrier, ARRAY_SIZE(threads) + 1)); + ASSERT_EQ(0, uv_barrier_init(&barrier, ARRAY_SIZE(threads) + 1)); for (i = 0; i < ARRAY_SIZE(threads); ++i) - ASSERT(0 == uv_thread_create(&threads[i], serial_worker, &barrier)); + ASSERT_EQ(0, uv_thread_create(&threads[i], serial_worker, &barrier)); + for (i = 0; i < 5; i++) + uv_barrier_wait(&barrier); if (uv_barrier_wait(&barrier) > 0) uv_barrier_destroy(&barrier); for (i = 0; i < ARRAY_SIZE(threads); ++i) - ASSERT(0 == uv_thread_join(&threads[i])); + ASSERT_EQ(0, uv_thread_join(&threads[i])); return 0; } @@ -141,8 +153,8 @@ TEST_IMPL(barrier_serial_thread) { TEST_IMPL(barrier_serial_thread_single) { uv_barrier_t barrier; - ASSERT(0 == uv_barrier_init(&barrier, 1)); - ASSERT(0 < uv_barrier_wait(&barrier)); + ASSERT_EQ(0, uv_barrier_init(&barrier, 1)); + ASSERT_LT(0, uv_barrier_wait(&barrier)); uv_barrier_destroy(&barrier); return 0; } diff --git a/deps/uv/test/test-callback-stack.c b/deps/uv/test/test-callback-stack.c index a5195c7b7f3dd1..5dad8d75d2aa9a 100644 --- a/deps/uv/test/test-callback-stack.c +++ b/deps/uv/test/test-callback-stack.c @@ -199,6 +199,6 @@ TEST_IMPL(callback_stack) { ASSERT(shutdown_cb_called == 1 && "shutdown_cb must be called exactly once"); ASSERT(close_cb_called == 2 && "close_cb must be called exactly twice"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-close-fd.c b/deps/uv/test/test-close-fd.c index 0d3927f652ede0..d8e12653f77feb 100644 --- a/deps/uv/test/test-close-fd.c +++ b/deps/uv/test/test-close-fd.c @@ -79,6 +79,6 @@ TEST_IMPL(close_fd) { ASSERT(2 == read_cb_called); ASSERT(0 != uv_is_closing((const uv_handle_t *) &pipe_handle)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-close-order.c b/deps/uv/test/test-close-order.c index c2fd6c3d0dec16..768e1ceedbe474 100644 --- a/deps/uv/test/test-close-order.c +++ b/deps/uv/test/test-close-order.c @@ -75,6 +75,6 @@ TEST_IMPL(close_order) { ASSERT(close_cb_called == 3); ASSERT(timer_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-condvar.c b/deps/uv/test/test-condvar.c index 32abccc2e7602e..61592d0e2d159a 100644 --- a/deps/uv/test/test-condvar.c +++ b/deps/uv/test/test-condvar.c @@ -228,11 +228,6 @@ TEST_IMPL(condvar_4) { /* uv_cond_timedwait: One thread waits, no signal. Timeout should be delivered. */ TEST_IMPL(condvar_5) { worker_config wc; - int r; - /* ns */ - uint64_t before; - uint64_t after; - uint64_t elapsed; uint64_t timeout; timeout = 100 * 1000 * 1000; /* 100 ms in ns */ @@ -242,25 +237,11 @@ TEST_IMPL(condvar_5) { uv_mutex_lock(&wc.mutex); - /* We wait. - * No signaler, so this will only return if timeout is delivered. */ - before = uv_hrtime(); - r = uv_cond_timedwait(&wc.cond, &wc.mutex, timeout); - after = uv_hrtime(); + /* We wait. No signaler, so this will only return if timeout is delivered. */ + ASSERT_EQ(UV_ETIMEDOUT, uv_cond_timedwait(&wc.cond, &wc.mutex, timeout)); uv_mutex_unlock(&wc.mutex); - /* It timed out. */ - ASSERT(r == UV_ETIMEDOUT); - - /* It must have taken at least timeout, modulo system timer ticks. - * But it should not take too much longer. - * cf. MSDN docs: - * https://msdn.microsoft.com/en-us/library/ms687069(VS.85).aspx */ - elapsed = after - before; - ASSERT(0.75 * timeout <= elapsed); /* 1.0 too large for Windows. */ - ASSERT(elapsed <= 5.0 * timeout); /* MacOS has reported failures up to 1.75. */ - worker_config_destroy(&wc); return 0; diff --git a/deps/uv/test/test-connect-unspecified.c b/deps/uv/test/test-connect-unspecified.c index 5f32b67a6a4daa..ecbe98538edc9d 100644 --- a/deps/uv/test/test-connect-unspecified.c +++ b/deps/uv/test/test-connect-unspecified.c @@ -59,5 +59,6 @@ TEST_IMPL(connect_unspecified) { ASSERT(uv_run(loop, UV_RUN_DEFAULT) == 0); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-connection-fail.c b/deps/uv/test/test-connection-fail.c index 5904810252995f..aa7db30d85a2d1 100644 --- a/deps/uv/test/test-connection-fail.c +++ b/deps/uv/test/test-connection-fail.c @@ -130,7 +130,7 @@ TEST_IMPL(connection_fail) { ASSERT(timer_close_cb_calls == 0); ASSERT(timer_cb_calls == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -156,6 +156,6 @@ TEST_IMPL(connection_fail_doesnt_auto_close) { ASSERT(timer_close_cb_calls == 1); ASSERT(timer_cb_calls == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-default-loop-close.c b/deps/uv/test/test-default-loop-close.c index 51e1e7dc23bffa..8d960e1130a7cb 100644 --- a/deps/uv/test/test-default-loop-close.c +++ b/deps/uv/test/test-default-loop-close.c @@ -52,8 +52,7 @@ TEST_IMPL(default_loop_close) { ASSERT(0 == uv_timer_start(&timer_handle, timer_cb, 1, 0)); ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(2 == timer_cb_called); - ASSERT(0 == uv_loop_close(loop)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-delayed-accept.c b/deps/uv/test/test-delayed-accept.c index 88b31e26903f09..c1d6ce0b45b203 100644 --- a/deps/uv/test/test-delayed-accept.c +++ b/deps/uv/test/test-delayed-accept.c @@ -184,6 +184,6 @@ TEST_IMPL(delayed_accept) { ASSERT(connect_cb_called == 2); ASSERT(close_cb_called == 7); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-dlerror.c b/deps/uv/test/test-dlerror.c index a436ec016bfec8..631e67cc5f3e89 100644 --- a/deps/uv/test/test-dlerror.c +++ b/deps/uv/test/test-dlerror.c @@ -43,7 +43,9 @@ TEST_IMPL(dlerror) { msg = uv_dlerror(&lib); ASSERT_NOT_NULL(msg); #if !defined(__OpenBSD__) && !defined(__QNX__) - ASSERT_NOT_NULL(strstr(msg, path)); + /* musl's libc.a does not support dlopen(), only libc.so does. */ + if (NULL == strstr(msg, "Dynamic loading not supported")) + ASSERT_NOT_NULL(strstr(msg, path)); #endif ASSERT_NULL(strstr(msg, dlerror_no_error)); @@ -51,7 +53,9 @@ TEST_IMPL(dlerror) { msg = uv_dlerror(&lib); ASSERT_NOT_NULL(msg); #if !defined(__OpenBSD__) && !defined(__QNX__) - ASSERT_NOT_NULL(strstr(msg, path)); + /* musl's libc.a does not support dlopen(), only libc.so does. */ + if (NULL == strstr(msg, "Dynamic loading not supported")) + ASSERT_NOT_NULL(strstr(msg, path)); #endif ASSERT_NULL(strstr(msg, dlerror_no_error)); diff --git a/deps/uv/test/test-eintr-handling.c b/deps/uv/test/test-eintr-handling.c index 1aaf623b789b6e..d37aba4aa529ba 100644 --- a/deps/uv/test/test-eintr-handling.c +++ b/deps/uv/test/test-eintr-handling.c @@ -87,7 +87,9 @@ TEST_IMPL(eintr_handling) { ASSERT(0 == close(pipe_fds[1])); uv_close((uv_handle_t*) &signal, NULL); - MAKE_VALGRIND_HAPPY(); + ASSERT_EQ(0, uv_thread_join(&thread)); + + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-embed.c b/deps/uv/test/test-embed.c index 1d3355fdc67310..bbe56e176db17a 100644 --- a/deps/uv/test/test-embed.c +++ b/deps/uv/test/test-embed.c @@ -74,6 +74,6 @@ TEST_IMPL(embed) { ASSERT_EQ(0, uv_thread_join(&thread)); uv_barrier_destroy(&barrier); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-emfile.c b/deps/uv/test/test-emfile.c index bc1fce5f5591f0..343c9521dc7eba 100644 --- a/deps/uv/test/test-emfile.c +++ b/deps/uv/test/test-emfile.c @@ -94,7 +94,7 @@ TEST_IMPL(emfile) { first_fd += 1; } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-env-vars.c b/deps/uv/test/test-env-vars.c index ecaba337ca1088..8118e3da5d7c59 100644 --- a/deps/uv/test/test-env-vars.c +++ b/deps/uv/test/test-env-vars.c @@ -131,7 +131,10 @@ TEST_IMPL(env_vars) { ASSERT(found == 2); #ifdef _WIN32 - ASSERT(found_win_special > 0); + ASSERT_GT(found_win_special, 0); +#else + /* There's no rule saying a key can't start with '='. */ + (void) &found_win_special; #endif uv_os_free_environ(envitems, envcount); diff --git a/deps/uv/test/test-fork.c b/deps/uv/test/test-fork.c index 9e4684f0e15376..7a6eb9c411b36a 100644 --- a/deps/uv/test/test-fork.c +++ b/deps/uv/test/test-fork.c @@ -59,17 +59,18 @@ static void socket_cb(uv_poll_t* poll, int status, int events) { static void run_timer_loop_once(void) { - uv_loop_t* loop; + uv_loop_t loop; uv_timer_t timer_handle; - loop = uv_default_loop(); + ASSERT_EQ(0, uv_loop_init(&loop)); timer_cb_called = 0; /* Reset for the child. */ - ASSERT(0 == uv_timer_init(loop, &timer_handle)); + ASSERT(0 == uv_timer_init(&loop, &timer_handle)); ASSERT(0 == uv_timer_start(&timer_handle, timer_cb, 1, 0)); - ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); + ASSERT(0 == uv_run(&loop, UV_RUN_DEFAULT)); ASSERT(1 == timer_cb_called); + ASSERT_EQ(0, uv_loop_close(&loop)); } @@ -111,7 +112,7 @@ TEST_IMPL(fork_timer) { run_timer_loop_once(); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -148,7 +149,7 @@ TEST_IMPL(fork_socketpair) { ASSERT(1 == socket_cb_called); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -212,7 +213,7 @@ TEST_IMPL(fork_socketpair_started) { ASSERT(0 == strcmp("hi\n", socket_cb_read_buf)); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -269,7 +270,7 @@ TEST_IMPL(fork_signal_to_child) { ASSERT(SIGUSR1 == fork_signal_cb_called); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -342,7 +343,7 @@ TEST_IMPL(fork_signal_to_child_closed) { exit(0); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -500,7 +501,7 @@ static int _do_fork_fs_events_child(int file_or_dir) { printf("Exiting child \n"); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -597,7 +598,7 @@ TEST_IMPL(fork_fs_events_file_parent_child) { } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; #endif } @@ -646,6 +647,10 @@ TEST_IMPL(fork_threadpool_queue_work_simple) { pid_t child_pid; uv_loop_t loop; +#ifdef __TSAN__ + RETURN_SKIP("ThreadSanitizer doesn't support multi-threaded fork"); +#endif + /* Prime the pool and default loop. */ assert_run_work(uv_default_loop()); @@ -671,7 +676,7 @@ TEST_IMPL(fork_threadpool_queue_work_simple) { } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif /* !__MVS__ */ diff --git a/deps/uv/test/test-fs-copyfile.c b/deps/uv/test/test-fs-copyfile.c index c785a4b51fbb10..d7f04cf4cddea8 100644 --- a/deps/uv/test/test-fs-copyfile.c +++ b/deps/uv/test/test-fs-copyfile.c @@ -151,14 +151,18 @@ TEST_IMPL(fs_copyfile) { handle_result(&req); /* Fails to overwrites existing file. */ + ASSERT_EQ(uv_fs_chmod(NULL, &req, dst, 0644, NULL), 0); + uv_fs_req_cleanup(&req); r = uv_fs_copyfile(NULL, &req, fixture, dst, UV_FS_COPYFILE_EXCL, NULL); ASSERT(r == UV_EEXIST); uv_fs_req_cleanup(&req); /* Truncates when an existing destination is larger than the source file. */ + ASSERT_EQ(uv_fs_chmod(NULL, &req, dst, 0644, NULL), 0); + uv_fs_req_cleanup(&req); touch_file(src, 1); r = uv_fs_copyfile(NULL, &req, src, dst, 0, NULL); - ASSERT(r == 0); + ASSERT_EQ(r, 0); handle_result(&req); /* Copies a larger file. */ @@ -176,6 +180,9 @@ TEST_IMPL(fs_copyfile) { ASSERT(result_check_count == 5); uv_run(loop, UV_RUN_DEFAULT); ASSERT(result_check_count == 6); + /* Ensure file is user-writable (not copied from src). */ + ASSERT_EQ(uv_fs_chmod(NULL, &req, dst, 0644, NULL), 0); + uv_fs_req_cleanup(&req); /* If the flags are invalid, the loop should not be kept open */ unlink(dst); @@ -213,5 +220,6 @@ TEST_IMPL(fs_copyfile) { #endif unlink(dst); /* Cleanup */ + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-fs-event.c b/deps/uv/test/test-fs-event.c index a08bfb9100ce6e..9f231ebfc01e9a 100644 --- a/deps/uv/test/test-fs-event.c +++ b/deps/uv/test/test-fs-event.c @@ -33,19 +33,12 @@ # if defined(__APPLE__) || \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ defined(__OpenBSD__) || \ defined(__NetBSD__) # define HAVE_KQUEUE 1 # endif #endif -#if defined(__arm__)/* Increase the timeout so the test passes on arm CI bots */ -# define CREATE_TIMEOUT 100 -#else -# define CREATE_TIMEOUT 1 -#endif - static uv_fs_event_t fs_event; static const char file_prefix[] = "fsevent-"; static const int fs_event_file_count = 16; @@ -163,10 +156,7 @@ static void fs_event_create_files(uv_timer_t* handle) { if (++fs_event_created < fs_event_file_count) { /* Create another file on a different event loop tick. We do it this way * to avoid fs events coalescing into one fs event. */ - ASSERT(0 == uv_timer_start(&timer, - fs_event_create_files, - CREATE_TIMEOUT, - 0)); + ASSERT_EQ(0, uv_timer_start(&timer, fs_event_create_files, 100, 0)); } } @@ -242,7 +232,8 @@ static void fs_event_create_files_in_subdir(uv_timer_t* handle) { if (++fs_event_created < fs_event_file_count) { /* Create another file on a different event loop tick. We do it this way * to avoid fs events coalescing into one fs event. */ - ASSERT(0 == uv_timer_start(&timer, fs_event_create_files_in_subdir, 1, 0)); + ASSERT_EQ(0, + uv_timer_start(&timer, fs_event_create_files_in_subdir, 100, 0)); } } @@ -441,7 +432,7 @@ TEST_IMPL(fs_event_watch_dir) { remove("watch_dir/file1"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -503,7 +494,7 @@ TEST_IMPL(fs_event_watch_dir_recursive) { remove("watch_dir/subdir"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; #else RETURN_SKIP("Recursive directory watching not supported on this platform."); @@ -550,7 +541,7 @@ TEST_IMPL(fs_event_watch_dir_short_path) { remove("watch_dir/file1"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); if (!has_shortnames) RETURN_SKIP("Was not able to address files with 8.3 short name."); @@ -596,7 +587,7 @@ TEST_IMPL(fs_event_watch_file) { remove("watch_dir/file1"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -623,7 +614,7 @@ TEST_IMPL(fs_event_watch_file_exact_path) { create_file("watch_dir/file.js"); create_file("watch_dir/file.jsx"); #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_12) - /* Empirically, FSEvents seems to (reliably) report the preceeding + /* Empirically, FSEvents seems to (reliably) report the preceding * create_file events prior to macOS 10.11.6 in the subsequent fs_watch * creation, but that behavior hasn't been observed to occur on newer * versions. Give a long delay here to let the system settle before running @@ -649,7 +640,7 @@ TEST_IMPL(fs_event_watch_file_exact_path) { remove("watch_dir/file.jsx"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -673,7 +664,7 @@ TEST_IMPL(fs_event_watch_file_twice) { ASSERT(0 == uv_timer_start(&timer, timer_cb_watch_twice, 10, 0)); ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -691,7 +682,7 @@ TEST_IMPL(fs_event_watch_file_current_dir) { remove("watch_file"); create_file("watch_file"); #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_12) - /* Empirically, kevent seems to (sometimes) report the preceeding + /* Empirically, kevent seems to (sometimes) report the preceding * create_file events prior to macOS 10.11.6 in the subsequent fs_event_start * So let the system settle before running the test. */ uv_sleep(1100); @@ -728,7 +719,7 @@ TEST_IMPL(fs_event_watch_file_current_dir) { /* Cleanup */ remove("watch_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -754,7 +745,7 @@ TEST_IMPL(fs_event_watch_file_root_dir) { uv_close((uv_handle_t*) &fs_event, NULL); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } #endif @@ -793,7 +784,7 @@ TEST_IMPL(fs_event_no_callback_after_close) { remove("watch_dir/file1"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -830,7 +821,7 @@ TEST_IMPL(fs_event_no_callback_on_close) { remove("watch_dir/file1"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -868,7 +859,7 @@ TEST_IMPL(fs_event_immediate_close) { ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -903,7 +894,7 @@ TEST_IMPL(fs_event_close_with_pending_event) { remove("watch_dir/file"); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -941,7 +932,7 @@ TEST_IMPL(fs_event_close_with_pending_delete_event) { /* Clean up */ remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -982,7 +973,7 @@ TEST_IMPL(fs_event_close_in_callback) { fs_event_unlink_files(NULL); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1017,7 +1008,7 @@ TEST_IMPL(fs_event_start_and_close) { ASSERT(close_cb_called == 2); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1070,7 +1061,7 @@ TEST_IMPL(fs_event_getpath) { } remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1159,7 +1150,7 @@ TEST_IMPL(fs_event_error_reporting) { } while (i-- != 0); remove("watch_dir/"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1168,7 +1159,7 @@ TEST_IMPL(fs_event_error_reporting) { TEST_IMPL(fs_event_error_reporting) { /* No-op, needed only for FSEvents backend */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1191,7 +1182,7 @@ TEST_IMPL(fs_event_watch_invalid_path) { r = uv_fs_event_start(&fs_event, fs_event_cb_file, "", 0); ASSERT(r != 0); ASSERT(uv_is_active((uv_handle_t*) &fs_event) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1237,6 +1228,6 @@ TEST_IMPL(fs_event_stop_in_cb) { remove(path); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-fs-open-flags.c b/deps/uv/test/test-fs-open-flags.c index 372afe1397572a..ea9be25afc1593 100644 --- a/deps/uv/test/test-fs-open-flags.c +++ b/deps/uv/test/test-fs-open-flags.c @@ -424,7 +424,7 @@ TEST_IMPL(fs_open_flags) { /* Cleanup. */ rmdir(empty_dir); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-fs-poll.c b/deps/uv/test/test-fs-poll.c index 76fe6fc3957192..af486023d10c87 100644 --- a/deps/uv/test/test-fs-poll.c +++ b/deps/uv/test/test-fs-poll.c @@ -164,7 +164,7 @@ TEST_IMPL(fs_poll) { ASSERT(timer_cb_called == 2); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -192,7 +192,7 @@ TEST_IMPL(fs_poll_getpath) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -212,9 +212,7 @@ TEST_IMPL(fs_poll_close_request) { uv_run(&loop, UV_RUN_ONCE); ASSERT(close_cb_called == 1); - ASSERT(0 == uv_loop_close(&loop)); - - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } @@ -238,9 +236,7 @@ TEST_IMPL(fs_poll_close_request_multi_start_stop) { uv_run(&loop, UV_RUN_ONCE); ASSERT(close_cb_called == 1); - ASSERT(0 == uv_loop_close(&loop)); - - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } @@ -264,9 +260,7 @@ TEST_IMPL(fs_poll_close_request_multi_stop_start) { uv_run(&loop, UV_RUN_ONCE); ASSERT(close_cb_called == 1); - ASSERT(0 == uv_loop_close(&loop)); - - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } @@ -293,8 +287,6 @@ TEST_IMPL(fs_poll_close_request_stop_when_active) { uv_run(&loop, UV_RUN_ONCE); ASSERT(close_cb_called == 1); - ASSERT(0 == uv_loop_close(&loop)); - - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } diff --git a/deps/uv/test/test-fs-readdir.c b/deps/uv/test/test-fs-readdir.c index 6bb691784151f5..43c9edf178be98 100644 --- a/deps/uv/test/test-fs-readdir.c +++ b/deps/uv/test/test-fs-readdir.c @@ -156,7 +156,7 @@ TEST_IMPL(fs_readdir_empty_dir) { ASSERT(empty_closedir_cb_count == 1); uv_fs_rmdir(uv_default_loop(), &rmdir_req, path, NULL); uv_fs_req_cleanup(&rmdir_req); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -208,7 +208,7 @@ TEST_IMPL(fs_readdir_non_existing_dir) { ASSERT(r == 0); ASSERT(non_existing_opendir_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -258,7 +258,7 @@ TEST_IMPL(fs_readdir_file) { r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT(r == 0); ASSERT(file_opendir_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -457,6 +457,6 @@ TEST_IMPL(fs_readdir_non_empty_dir) { uv_fs_req_cleanup(&rmdir_req); cleanup_test_files(); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-fs.c b/deps/uv/test/test-fs.c index c879f6298483d8..f9fa20eff6b55c 100644 --- a/deps/uv/test/test-fs.c +++ b/deps/uv/test/test-fs.c @@ -37,6 +37,9 @@ # ifndef ERROR_SYMLINK_NOT_SUPPORTED # define ERROR_SYMLINK_NOT_SUPPORTED 1464 # endif +# ifndef S_IFIFO +# define S_IFIFO _S_IFIFO +# endif # define unlink _unlink # define rmdir _rmdir # define open _open @@ -219,16 +222,6 @@ static void realpath_cb(uv_fs_t* req) { char test_file_abs_buf[PATHMAX]; size_t test_file_abs_size = sizeof(test_file_abs_buf); ASSERT(req->fs_type == UV_FS_REALPATH); -#ifdef _WIN32 - /* - * Windows XP and Server 2003 don't support GetFinalPathNameByHandleW() - */ - if (req->result == UV_ENOSYS) { - realpath_cb_count++; - uv_fs_req_cleanup(req); - return; - } -#endif ASSERT(req->result == 0); uv_cwd(test_file_abs_buf, &test_file_abs_size); @@ -669,6 +662,15 @@ static void stat_cb(uv_fs_t* req) { ASSERT(!req->ptr); } +static void stat_batch_cb(uv_fs_t* req) { + ASSERT(req->fs_type == UV_FS_STAT || req->fs_type == UV_FS_LSTAT); + ASSERT(req->result == 0); + ASSERT(req->ptr); + stat_cb_count++; + uv_fs_req_cleanup(req); + ASSERT(!req->ptr); +} + static void sendfile_cb(uv_fs_t* req) { ASSERT(req == &sendfile_req); @@ -730,7 +732,7 @@ TEST_IMPL(fs_file_noent) { /* TODO add EACCES test */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -756,7 +758,7 @@ TEST_IMPL(fs_file_nametoolong) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(open_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -770,11 +772,10 @@ TEST_IMPL(fs_file_loop) { r = uv_fs_symlink(NULL, &req, "test_symlink", "test_symlink", 0, NULL); #ifdef _WIN32 /* - * Windows XP and Server 2003 don't support symlinks; we'll get UV_ENOTSUP. - * Starting with vista they are supported, but only when elevated, otherwise + * Symlinks are only suported but only when elevated, otherwise * we'll see UV_EPERM. */ - if (r == UV_ENOTSUP || r == UV_EPERM) + if (r == UV_EPERM) return 0; #elif defined(__MSYS__) /* MSYS2's approximation of symlinks with copies does not work for broken @@ -799,7 +800,7 @@ TEST_IMPL(fs_file_loop) { unlink("test_symlink"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -966,7 +967,7 @@ TEST_IMPL(fs_file_async) { unlink("test_file"); unlink("test_file2"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1056,7 +1057,7 @@ TEST_IMPL(fs_file_sync) { fs_file_sync(0); fs_file_sync(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1092,7 +1093,7 @@ TEST_IMPL(fs_file_write_null_buffer) { fs_file_write_null_buffer(0); fs_file_write_null_buffer(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1187,7 +1188,7 @@ TEST_IMPL(fs_async_dir) { unlink("test_dir/file2"); rmdir("test_dir"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1239,6 +1240,8 @@ static int test_sendfile(void (*setup)(int), uv_fs_cb cb, off_t expected_size) { ASSERT(r == 0); uv_fs_req_cleanup(&close_req); + memset(&s1, 0, sizeof(s1)); + memset(&s2, 0, sizeof(s2)); ASSERT(0 == stat("test_file", &s1)); ASSERT(0 == stat("test_file2", &s2)); ASSERT(s2.st_size == expected_size); @@ -1265,7 +1268,7 @@ static int test_sendfile(void (*setup)(int), uv_fs_cb cb, off_t expected_size) { unlink("test_file"); unlink("test_file2"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1313,7 +1316,7 @@ TEST_IMPL(fs_mkdtemp) { uv_fs_req_cleanup(&mkdtemp_req1); uv_fs_req_cleanup(&mkdtemp_req2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1346,6 +1349,8 @@ TEST_IMPL(fs_mkstemp) { /* Make sure that path is empty string */ ASSERT_EQ(0, strlen(mkstemp_req3.path)); + uv_fs_req_cleanup(&mkstemp_req3); + /* We can write to the opened file */ iov = uv_buf_init(test_buf, sizeof(test_buf)); r = uv_fs_write(NULL, &req, mkstemp_req1.result, &iov, 1, -1, NULL); @@ -1379,7 +1384,7 @@ TEST_IMPL(fs_mkstemp) { uv_fs_req_cleanup(&mkstemp_req1); uv_fs_req_cleanup(&mkstemp_req2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1393,6 +1398,13 @@ TEST_IMPL(fs_fstat) { struct stat t; #endif +#if defined(__s390__) && defined(__QEMU__) + /* qemu-user-s390x has this weird bug where statx() reports nanoseconds + * but plain fstat() does not. + */ + RETURN_SKIP("Test does not currently work in QEMU"); +#endif + /* Setup. */ unlink("test_file"); @@ -1406,6 +1418,7 @@ TEST_IMPL(fs_fstat) { uv_fs_req_cleanup(&req); #ifndef _WIN32 + memset(&t, 0, sizeof(t)); ASSERT(0 == fstat(file, &t)); ASSERT(0 == uv_fs_fstat(NULL, &req, file, NULL)); ASSERT(req.result == 0); @@ -1535,7 +1548,44 @@ TEST_IMPL(fs_fstat) { /* Cleanup. */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); + return 0; +} + + +TEST_IMPL(fs_fstat_stdio) { + int fd; + int res; + uv_fs_t req; +#ifdef _WIN32 + uv_stat_t* st; + DWORD ft; +#endif + + for (fd = 0; fd <= 2; ++fd) { + res = uv_fs_fstat(NULL, &req, fd, NULL); + ASSERT(res == 0); + ASSERT(req.result == 0); + +#ifdef _WIN32 + st = req.ptr; + ft = uv_guess_handle(fd); + switch (ft) { + case UV_TTY: + case UV_NAMED_PIPE: + ASSERT(st->st_mode == (ft == UV_TTY ? S_IFCHR : S_IFIFO)); + ASSERT(st->st_nlink == 1); + ASSERT(st->st_rdev == (ft == UV_TTY ? FILE_DEVICE_CONSOLE : FILE_DEVICE_NAMED_PIPE) << 16); + break; + default: + break; + } +#endif + + uv_fs_req_cleanup(&req); + } + + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1611,7 +1661,7 @@ TEST_IMPL(fs_access) { unlink("test_file"); rmdir("test_dir"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1709,7 +1759,7 @@ TEST_IMPL(fs_chmod) { /* Cleanup. */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1768,7 +1818,7 @@ TEST_IMPL(fs_unlink_readonly) { uv_fs_req_cleanup(&req); unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1826,7 +1876,7 @@ TEST_IMPL(fs_unlink_archive_readonly) { uv_fs_req_cleanup(&req); unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } #endif @@ -1919,7 +1969,7 @@ TEST_IMPL(fs_chown) { unlink("test_file"); unlink("test_file_link"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2005,28 +2055,61 @@ TEST_IMPL(fs_link) { unlink("test_file_link"); unlink("test_file_link2"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } TEST_IMPL(fs_readlink) { - uv_fs_t req; + /* Must return UV_ENOENT on an inexistent file */ + { + uv_fs_t req; - loop = uv_default_loop(); - ASSERT(0 == uv_fs_readlink(loop, &req, "no_such_file", dummy_cb)); - ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); - ASSERT(dummy_cb_count == 1); - ASSERT_NULL(req.ptr); - ASSERT(req.result == UV_ENOENT); - uv_fs_req_cleanup(&req); + loop = uv_default_loop(); + ASSERT(0 == uv_fs_readlink(loop, &req, "no_such_file", dummy_cb)); + ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); + ASSERT(dummy_cb_count == 1); + ASSERT_NULL(req.ptr); + ASSERT(req.result == UV_ENOENT); + uv_fs_req_cleanup(&req); - ASSERT(UV_ENOENT == uv_fs_readlink(NULL, &req, "no_such_file", NULL)); - ASSERT_NULL(req.ptr); - ASSERT(req.result == UV_ENOENT); - uv_fs_req_cleanup(&req); + ASSERT(UV_ENOENT == uv_fs_readlink(NULL, &req, "no_such_file", NULL)); + ASSERT_NULL(req.ptr); + ASSERT(req.result == UV_ENOENT); + uv_fs_req_cleanup(&req); + } + + /* Must return UV_EINVAL on a non-symlink file */ + { + int r; + uv_fs_t req; + uv_file file; + + /* Setup */ + + /* Create a non-symlink file */ + r = uv_fs_open(NULL, &req, "test_file", O_RDWR | O_CREAT, + S_IWUSR | S_IRUSR, NULL); + ASSERT_GE(r, 0); + ASSERT_GE(req.result, 0); + file = req.result; + uv_fs_req_cleanup(&req); + + r = uv_fs_close(NULL, &req, file, NULL); + ASSERT_EQ(r, 0); + ASSERT_EQ(req.result, 0); + uv_fs_req_cleanup(&req); + + /* Test */ + r = uv_fs_readlink(NULL, &req, "test_file", NULL); + ASSERT_EQ(r, UV_EINVAL); + uv_fs_req_cleanup(&req); - MAKE_VALGRIND_HAPPY(); + /* Cleanup */ + unlink("test_file"); + } + + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2039,15 +2122,6 @@ TEST_IMPL(fs_realpath) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(dummy_cb_count == 1); ASSERT_NULL(req.ptr); -#ifdef _WIN32 - /* - * Windows XP and Server 2003 don't support GetFinalPathNameByHandleW() - */ - if (req.result == UV_ENOSYS) { - uv_fs_req_cleanup(&req); - RETURN_SKIP("realpath is not supported on Windows XP"); - } -#endif ASSERT(req.result == UV_ENOENT); uv_fs_req_cleanup(&req); @@ -2056,7 +2130,7 @@ TEST_IMPL(fs_realpath) { ASSERT(req.result == UV_ENOENT); uv_fs_req_cleanup(&req); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2158,15 +2232,6 @@ TEST_IMPL(fs_symlink) { uv_fs_req_cleanup(&req); r = uv_fs_realpath(NULL, &req, "test_file_symlink_symlink", NULL); -#ifdef _WIN32 - /* - * Windows XP and Server 2003 don't support GetFinalPathNameByHandleW() - */ - if (r == UV_ENOSYS) { - uv_fs_req_cleanup(&req); - RETURN_SKIP("realpath is not supported on Windows XP"); - } -#endif ASSERT(r == 0); #ifdef _WIN32 ASSERT(stricmp(req.ptr, test_file_abs_buf) == 0); @@ -2216,15 +2281,6 @@ TEST_IMPL(fs_symlink) { ASSERT(readlink_cb_count == 1); r = uv_fs_realpath(loop, &req, "test_file", realpath_cb); -#ifdef _WIN32 - /* - * Windows XP and Server 2003 don't support GetFinalPathNameByHandleW() - */ - if (r == UV_ENOSYS) { - uv_fs_req_cleanup(&req); - RETURN_SKIP("realpath is not supported on Windows XP"); - } -#endif ASSERT(r == 0); uv_run(loop, UV_RUN_DEFAULT); ASSERT(realpath_cb_count == 1); @@ -2242,7 +2298,7 @@ TEST_IMPL(fs_symlink) { unlink("test_file_symlink2"); unlink("test_file_symlink2_symlink"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2325,15 +2381,6 @@ int test_symlink_dir_impl(int type) { uv_fs_req_cleanup(&req); r = uv_fs_realpath(NULL, &req, "test_dir_symlink", NULL); -#ifdef _WIN32 - /* - * Windows XP and Server 2003 don't support GetFinalPathNameByHandleW() - */ - if (r == UV_ENOSYS) { - uv_fs_req_cleanup(&req); - RETURN_SKIP("realpath is not supported on Windows XP"); - } -#endif ASSERT(r == 0); #ifdef _WIN32 ASSERT(strlen(req.ptr) == test_dir_abs_size - 5); @@ -2396,7 +2443,7 @@ int test_symlink_dir_impl(int type) { rmdir("test_dir"); rmdir("test_dir_symlink"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2505,7 +2552,7 @@ TEST_IMPL(fs_non_symlink_reparse_point) { unlink("test_dir/test_file"); rmdir("test_dir"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2525,7 +2572,7 @@ TEST_IMPL(fs_lstat_windows_store_apps) { len = sizeof(localappdata); r = uv_os_getenv("LOCALAPPDATA", localappdata, &len); if (r == UV_ENOENT) { - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return TEST_SKIP; } ASSERT_EQ(r, 0); @@ -2536,11 +2583,11 @@ TEST_IMPL(fs_lstat_windows_store_apps) { ASSERT_GT(r, 0); if (uv_fs_opendir(loop, &req, windowsapps_path, NULL) != 0) { /* If we cannot read the directory, skip the test. */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return TEST_SKIP; } if (uv_fs_scandir(loop, &req, windowsapps_path, 0, NULL) <= 0) { - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return TEST_SKIP; } while (uv_fs_scandir_next(&req, &dirent) != UV_EOF) { @@ -2556,7 +2603,7 @@ TEST_IMPL(fs_lstat_windows_store_apps) { } ASSERT_EQ(uv_fs_lstat(loop, &stat_req, file_path, NULL), 0); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } #endif @@ -2603,7 +2650,7 @@ TEST_IMPL(fs_utime) { /* Cleanup. */ unlink(path); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2642,7 +2689,7 @@ TEST_IMPL(fs_utime_round) { check_utime(path, atime, mtime, /* test_lutime */ 0); unlink(path); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2673,7 +2720,7 @@ TEST_IMPL(fs_stat_root) { r = uv_fs_stat(NULL, &stat_req, "\\\\?\\C:\\", NULL); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -2736,7 +2783,7 @@ TEST_IMPL(fs_futime) { /* Cleanup. */ unlink(path); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2755,8 +2802,8 @@ TEST_IMPL(fs_lutime) { loop = uv_default_loop(); unlink(path); r = uv_fs_open(NULL, &req, path, O_RDWR | O_CREAT, S_IWUSR | S_IRUSR, NULL); - ASSERT(r >= 0); - ASSERT(req.result >= 0); + ASSERT_GE(r, 0); + ASSERT_GE(req.result, 0); uv_fs_req_cleanup(&req); uv_fs_close(loop, &req, r, NULL); @@ -2772,8 +2819,8 @@ TEST_IMPL(fs_lutime) { "Symlink creation requires elevated console (with admin rights)"); } #endif - ASSERT(s == 0); - ASSERT(req.result == 0); + ASSERT_EQ(s, 0); + ASSERT_EQ(req.result, 0); uv_fs_req_cleanup(&req); /* Test the synchronous version. */ @@ -2787,12 +2834,12 @@ TEST_IMPL(fs_lutime) { r = uv_fs_lutime(NULL, &req, symlink_path, atime, mtime, NULL); #if (defined(_AIX) && !defined(_AIX71)) || \ defined(__MVS__) - ASSERT(r == UV_ENOSYS); + ASSERT_EQ(r, UV_ENOSYS); RETURN_SKIP("lutime is not implemented for z/OS and AIX versions below 7.1"); #endif - ASSERT(r == 0); + ASSERT_EQ(r, 0); lutime_cb(&req); - ASSERT(lutime_cb_count == 1); + ASSERT_EQ(lutime_cb_count, 1); /* Test the asynchronous version. */ atime = mtime = 1291404900; /* 2010-12-03 20:35:00 */ @@ -2802,15 +2849,15 @@ TEST_IMPL(fs_lutime) { checkme.path = symlink_path; r = uv_fs_lutime(loop, &req, symlink_path, atime, mtime, lutime_cb); - ASSERT(r == 0); + ASSERT_EQ(r, 0); uv_run(loop, UV_RUN_DEFAULT); - ASSERT(lutime_cb_count == 2); + ASSERT_EQ(lutime_cb_count, 2); /* Cleanup. */ unlink(path); unlink(symlink_path); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2826,7 +2873,7 @@ TEST_IMPL(fs_stat_missing_path) { ASSERT(req.result == UV_ENOENT); uv_fs_req_cleanup(&req); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2863,7 +2910,7 @@ TEST_IMPL(fs_scandir_empty_dir) { uv_fs_rmdir(NULL, &req, path, NULL); uv_fs_req_cleanup(&req); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2897,7 +2944,7 @@ TEST_IMPL(fs_scandir_non_existent_dir) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(scandir_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -2919,7 +2966,25 @@ TEST_IMPL(fs_scandir_file) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(scandir_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); + return 0; +} + + +/* Run in Valgrind. Should not leak when the iterator isn't exhausted. */ +TEST_IMPL(fs_scandir_early_exit) { + uv_dirent_t d; + uv_fs_t req; + + ASSERT_LT(0, uv_fs_scandir(NULL, &req, "test/fixtures/one_file", 0, NULL)); + ASSERT_NE(UV_EOF, uv_fs_scandir_next(&req, &d)); + uv_fs_req_cleanup(&req); + + ASSERT_LT(0, uv_fs_scandir(NULL, &req, "test/fixtures", 0, NULL)); + ASSERT_NE(UV_EOF, uv_fs_scandir_next(&req, &d)); + uv_fs_req_cleanup(&req); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -2949,7 +3014,7 @@ TEST_IMPL(fs_open_dir) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(open_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -3024,7 +3089,7 @@ TEST_IMPL(fs_file_open_append) { fs_file_open_append(0); fs_file_open_append(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -3093,7 +3158,7 @@ TEST_IMPL(fs_rename_to_existing_file) { unlink("test_file"); unlink("test_file2"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -3151,7 +3216,7 @@ TEST_IMPL(fs_read_bufs) { fs_read_bufs(0); fs_read_bufs(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -3217,7 +3282,7 @@ TEST_IMPL(fs_read_file_eof) { fs_read_file_eof(0); fs_read_file_eof(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -3311,7 +3376,7 @@ TEST_IMPL(fs_write_multiple_bufs) { fs_write_multiple_bufs(0); fs_write_multiple_bufs(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -3418,7 +3483,7 @@ TEST_IMPL(fs_write_alotof_bufs) { fs_write_alotof_bufs(0); fs_write_alotof_bufs(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -3534,7 +3599,7 @@ TEST_IMPL(fs_write_alotof_bufs_with_offset) { fs_write_alotof_bufs_with_offset(0); fs_write_alotof_bufs_with_offset(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -3589,7 +3654,7 @@ TEST_IMPL(fs_read_dir) { /* Cleanup */ rmdir("test_dir"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -3682,9 +3747,9 @@ static void test_fs_partial(int doread) { ctx.doread = doread; ctx.interval = 1000; ctx.size = sizeof(test_buf) * iovcount; - ctx.data = malloc(ctx.size); + ctx.data = calloc(ctx.size, 1); ASSERT_NOT_NULL(ctx.data); - buffer = malloc(ctx.size); + buffer = calloc(ctx.size, 1); ASSERT_NOT_NULL(buffer); for (index = 0; index < iovcount; ++index) @@ -3727,9 +3792,10 @@ static void test_fs_partial(int doread) { uv_fs_req_cleanup(&write_req); } - ASSERT(0 == memcmp(buffer, ctx.data, ctx.size)); - ASSERT(0 == uv_thread_join(&thread)); + + ASSERT_MEM_EQ(buffer, ctx.data, ctx.size); + ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(0 == close(pipe_fds[1])); @@ -3747,7 +3813,7 @@ static void test_fs_partial(int doread) { free(buffer); free(ctx.data); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); } TEST_IMPL(fs_partial_read) { @@ -3820,6 +3886,7 @@ TEST_IMPL(fs_read_write_null_arguments) { uv_run(loop, UV_RUN_DEFAULT); uv_fs_req_cleanup(&write_req); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -3858,7 +3925,7 @@ TEST_IMPL(get_osfhandle_valid_handle) { /* Cleanup. */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -3904,7 +3971,7 @@ TEST_IMPL(open_osfhandle_valid_handle) { /* Cleanup. */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -3944,7 +4011,7 @@ TEST_IMPL(fs_file_pos_after_op_with_offset) { /* Cleanup */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -4043,7 +4110,7 @@ TEST_IMPL(fs_file_pos_write) { fs_file_pos_write(0); fs_file_pos_write(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -4083,7 +4150,7 @@ TEST_IMPL(fs_file_pos_append) { fs_file_pos_append(0); fs_file_pos_append(UV_FS_O_FILEMAP); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -4243,7 +4310,7 @@ TEST_IMPL(fs_exclusive_sharing_mode) { /* Cleanup */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -4290,7 +4357,7 @@ TEST_IMPL(fs_file_flag_no_buffering) { /* Cleanup */ unlink("test_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -4376,7 +4443,7 @@ TEST_IMPL(fs_open_readonly_acl) { unlink("test_file_icacls"); uv_os_free_passwd(&pwd); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } #endif @@ -4461,6 +4528,7 @@ TEST_IMPL(fs_statfs) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(statfs_cb_count == 2); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -4481,3 +4549,27 @@ TEST_IMPL(fs_get_system_error) { return 0; } + +TEST_IMPL(fs_stat_batch_multiple) { + uv_fs_t req[300]; + int r; + int i; + + rmdir("test_dir"); + + r = uv_fs_mkdir(NULL, &mkdir_req, "test_dir", 0755, NULL); + ASSERT_EQ(r, 0); + + loop = uv_default_loop(); + + for (i = 0; i < (int) ARRAY_SIZE(req); ++i) { + r = uv_fs_stat(loop, &req[i], "test_dir", stat_batch_cb); + ASSERT_EQ(r, 0); + } + + uv_run(loop, UV_RUN_DEFAULT); + ASSERT_EQ(stat_cb_count, ARRAY_SIZE(req)); + + MAKE_VALGRIND_HAPPY(loop); + return 0; +} diff --git a/deps/uv/test/test-get-currentexe.c b/deps/uv/test/test-get-currentexe.c index dc239cc89d1435..becaf5c1bb8613 100644 --- a/deps/uv/test/test-get-currentexe.c +++ b/deps/uv/test/test-get-currentexe.c @@ -35,6 +35,9 @@ TEST_IMPL(get_currentexe) { #if defined(__QEMU__) RETURN_SKIP("Test does not currently work in QEMU"); #endif +#if defined(__OpenBSD__) + RETURN_SKIP("Test does not currently work in OpenBSD"); +#endif char buffer[PATHMAX]; char path[PATHMAX]; diff --git a/deps/uv/test/test-get-memory.c b/deps/uv/test/test-get-memory.c index 4555ba08895e7d..9ac42c383c918b 100644 --- a/deps/uv/test/test-get-memory.c +++ b/deps/uv/test/test-get-memory.c @@ -26,11 +26,14 @@ TEST_IMPL(get_memory) { uint64_t free_mem = uv_get_free_memory(); uint64_t total_mem = uv_get_total_memory(); uint64_t constrained_mem = uv_get_constrained_memory(); + uint64_t available_mem = uv_get_available_memory(); - printf("free_mem=%llu, total_mem=%llu, constrained_mem=%llu\n", + printf("free_mem=%llu, total_mem=%llu, constrained_mem=%llu, " + "available_mem=%llu\n", (unsigned long long) free_mem, (unsigned long long) total_mem, - (unsigned long long) constrained_mem); + (unsigned long long) constrained_mem, + (unsigned long long) available_mem); ASSERT(free_mem > 0); ASSERT(total_mem > 0); @@ -40,5 +43,11 @@ TEST_IMPL(get_memory) { #else ASSERT(total_mem > free_mem); #endif + ASSERT_LE(available_mem, total_mem); + /* we'd really want to test if available <= free, but that is fragile: + * with no limit set, get_available calls and returns get_free; so if + * any memory was freed between our calls to get_free and get_available + * we would fail such a test test (as observed on CI). + */ return 0; } diff --git a/deps/uv/test/test-get-passwd.c b/deps/uv/test/test-get-passwd.c index d2c7431fe7f72b..d046e40c6e80f0 100644 --- a/deps/uv/test/test-get-passwd.c +++ b/deps/uv/test/test-get-passwd.c @@ -39,32 +39,32 @@ TEST_IMPL(get_passwd) { /* Test the normal case */ r = uv_os_get_passwd(&pwd); - ASSERT(r == 0); + ASSERT_EQ(r, 0); len = strlen(pwd.username); - ASSERT(len > 0); + ASSERT_GT(len, 0); #ifdef _WIN32 ASSERT_NULL(pwd.shell); #else len = strlen(pwd.shell); # ifndef __PASE__ - ASSERT(len > 0); + ASSERT_GT(len, 0); # endif #endif len = strlen(pwd.homedir); - ASSERT(len > 0); + ASSERT_GT(len, 0); #ifdef _WIN32 if (len == 3 && pwd.homedir[1] == ':') - ASSERT(pwd.homedir[2] == '\\'); + ASSERT_EQ(pwd.homedir[2], '\\'); else - ASSERT(pwd.homedir[len - 1] != '\\'); + ASSERT_NE(pwd.homedir[len - 1], '\\'); #else if (len == 1) - ASSERT(pwd.homedir[0] == '/'); + ASSERT_EQ(pwd.homedir[0], '/'); else - ASSERT(pwd.homedir[len - 1] != '/'); + ASSERT_NE(pwd.homedir[len - 1], '/'); #endif #ifdef _WIN32 @@ -95,7 +95,110 @@ TEST_IMPL(get_passwd) { /* Test invalid input */ r = uv_os_get_passwd(NULL); - ASSERT(r == UV_EINVAL); + ASSERT_EQ(r, UV_EINVAL); + + return 0; +} + + +TEST_IMPL(get_passwd2) { +/* TODO(gengjiawen): Fix test on QEMU. */ +#if defined(__QEMU__) + RETURN_SKIP("Test does not currently work in QEMU"); +#endif + + uv_passwd_t pwd; + uv_passwd_t pwd2; + size_t len; + int r; + + /* Test the normal case */ + r = uv_os_get_passwd(&pwd); + ASSERT_EQ(r, 0); + + r = uv_os_get_passwd2(&pwd2, pwd.uid); + +#ifdef _WIN32 + ASSERT_EQ(r, UV_ENOTSUP); + +#else + ASSERT_EQ(r, 0); + ASSERT_EQ(pwd.uid, pwd2.uid); + ASSERT_STR_EQ(pwd.username, pwd2.username); + ASSERT_STR_EQ(pwd.shell, pwd2.shell); + ASSERT_STR_EQ(pwd.homedir, pwd2.homedir); + uv_os_free_passwd(&pwd2); + + r = uv_os_get_passwd2(&pwd2, 0); + ASSERT_EQ(r, 0); + + len = strlen(pwd2.username); + ASSERT_GT(len, 0); + ASSERT_STR_EQ(pwd2.username, "root"); + + len = strlen(pwd2.homedir); + ASSERT_GT(len, 0); + + len = strlen(pwd2.shell); +# ifndef __PASE__ + ASSERT_GT(len, 0); +# endif + + uv_os_free_passwd(&pwd2); +#endif + + uv_os_free_passwd(&pwd); + + /* Test invalid input */ + r = uv_os_get_passwd2(NULL, pwd.uid); +#ifdef _WIN32 + ASSERT_EQ(r, UV_ENOTSUP); +#else + ASSERT_EQ(r, UV_EINVAL); +#endif + + return 0; +} + + +TEST_IMPL(get_group) { +/* TODO(gengjiawen): Fix test on QEMU. */ +#if defined(__QEMU__) + RETURN_SKIP("Test does not currently work in QEMU"); +#endif + + uv_passwd_t pwd; + uv_group_t grp; + size_t len; + int r; + + r = uv_os_get_passwd(&pwd); + ASSERT_EQ(r, 0); + + r = uv_os_get_group(&grp, pwd.gid); + +#ifdef _WIN32 + ASSERT_EQ(r, UV_ENOTSUP); + +#else + ASSERT_EQ(r, 0); + ASSERT_EQ(pwd.gid, grp.gid); + + len = strlen(grp.groupname); + ASSERT_GT(len, 0); + + uv_os_free_group(&grp); +#endif + + uv_os_free_passwd(&pwd); + + /* Test invalid input */ + r = uv_os_get_group(NULL, pwd.gid); +#ifdef _WIN32 + ASSERT_EQ(r, UV_ENOTSUP); +#else + ASSERT_EQ(r, UV_EINVAL); +#endif return 0; } diff --git a/deps/uv/test/test-getaddrinfo.c b/deps/uv/test/test-getaddrinfo.c index d0b6a505016dd8..1032537ad563a0 100644 --- a/deps/uv/test/test-getaddrinfo.c +++ b/deps/uv/test/test-getaddrinfo.c @@ -106,7 +106,7 @@ TEST_IMPL(getaddrinfo_fail) { ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); ASSERT(fail_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -127,7 +127,7 @@ TEST_IMPL(getaddrinfo_fail_sync) { NULL)); uv_freeaddrinfo(req.addrinfo); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -153,7 +153,7 @@ TEST_IMPL(getaddrinfo_basic) { ASSERT(getaddrinfo_cbs == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -173,7 +173,7 @@ TEST_IMPL(getaddrinfo_basic_sync) { NULL)); uv_freeaddrinfo(req.addrinfo); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -210,6 +210,6 @@ TEST_IMPL(getaddrinfo_concurrent) { ASSERT(callback_counts[i] == 1); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-gethostname.c b/deps/uv/test/test-gethostname.c index 1a9816d43c619e..dc29cd69234a13 100644 --- a/deps/uv/test/test-gethostname.c +++ b/deps/uv/test/test-gethostname.c @@ -43,7 +43,7 @@ TEST_IMPL(gethostname) { enobufs_size = 1; buf[0] = '\0'; r = uv_os_gethostname(buf, &enobufs_size); - ASSERT(r == UV_ENOBUFS); + ASSERT_EQ(r, UV_ENOBUFS); ASSERT(buf[0] == '\0'); ASSERT(enobufs_size > 1); diff --git a/deps/uv/test/test-getnameinfo.c b/deps/uv/test/test-getnameinfo.c index 2bfedd3a39b233..cea57b012f1322 100644 --- a/deps/uv/test/test-getnameinfo.c +++ b/deps/uv/test/test-getnameinfo.c @@ -65,7 +65,7 @@ TEST_IMPL(getnameinfo_basic_ip4) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -86,7 +86,7 @@ TEST_IMPL(getnameinfo_basic_ip4_sync) { ASSERT(req.host[0] != '\0'); ASSERT(req.service[0] != '\0'); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -111,6 +111,6 @@ TEST_IMPL(getnameinfo_basic_ip6) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-getsockname.c b/deps/uv/test/test-getsockname.c index 6e0f8c18982eec..1d4d9f12bdaab3 100644 --- a/deps/uv/test/test-getsockname.c +++ b/deps/uv/test/test-getsockname.c @@ -337,7 +337,7 @@ TEST_IMPL(getsockname_tcp) { ASSERT(getsocknamecount_tcp == 3); ASSERT(getpeernamecount == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -357,6 +357,6 @@ TEST_IMPL(getsockname_udp) { ASSERT(udp.send_queue_size == 0); ASSERT(udpServer.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-getters-setters.c b/deps/uv/test/test-getters-setters.c index 2a37122df3f6aa..9869f7b9da8b1f 100644 --- a/deps/uv/test/test-getters-setters.c +++ b/deps/uv/test/test-getters-setters.c @@ -68,6 +68,7 @@ TEST_IMPL(getters_setters) { pipe = malloc(uv_handle_size(UV_NAMED_PIPE)); r = uv_pipe_init(loop, pipe, 0); + ASSERT(r == 0); ASSERT(uv_handle_get_type((uv_handle_t*)pipe) == UV_NAMED_PIPE); ASSERT(uv_handle_get_loop((uv_handle_t*)pipe) == loop); diff --git a/deps/uv/test/test-handle-fileno.c b/deps/uv/test/test-handle-fileno.c index 8a093e2ea46e2c..6c4c2b6601d4a3 100644 --- a/deps/uv/test/test-handle-fileno.c +++ b/deps/uv/test/test-handle-fileno.c @@ -120,6 +120,6 @@ TEST_IMPL(handle_fileno) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-hrtime.c b/deps/uv/test/test-hrtime.c index 9d461d9623d660..854a482f23c189 100644 --- a/deps/uv/test/test-hrtime.c +++ b/deps/uv/test/test-hrtime.c @@ -50,3 +50,16 @@ TEST_IMPL(hrtime) { } return 0; } + + +TEST_IMPL(clock_gettime) { + uv_timespec64_t t; + + ASSERT_EQ(UV_EINVAL, uv_clock_gettime(1337, &t)); + ASSERT_EQ(UV_EFAULT, uv_clock_gettime(1337, NULL)); + ASSERT_EQ(0, uv_clock_gettime(UV_CLOCK_MONOTONIC, &t)); + ASSERT_EQ(0, uv_clock_gettime(UV_CLOCK_REALTIME, &t)); + ASSERT_GT(1682500000000ll, t.tv_sec); /* 2023-04-26T09:06:40.000Z */ + + return 0; +} diff --git a/deps/uv/test/test-idle.c b/deps/uv/test/test-idle.c index 427cf545beb921..e3f4c2bcb659f9 100644 --- a/deps/uv/test/test-idle.c +++ b/deps/uv/test/test-idle.c @@ -94,7 +94,7 @@ TEST_IMPL(idle_starvation) { ASSERT(timer_cb_called == 1); ASSERT(close_cb_called == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -120,6 +120,6 @@ TEST_IMPL(idle_check) { ASSERT_EQ(0, uv_run(uv_default_loop(), UV_RUN_ONCE)); ASSERT_EQ(2, close_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-idna.c b/deps/uv/test/test-idna.c index f4fad9653df2cf..9b7002819fa354 100644 --- a/deps/uv/test/test-idna.c +++ b/deps/uv/test/test-idna.c @@ -104,13 +104,13 @@ TEST_IMPL(utf8_decode1_overrun) { p = b; b[0] = 0x7F; ASSERT_EQ(0x7F, uv__utf8_decode1(&p, b + 1)); - ASSERT_EQ(p, b + 1); + ASSERT_PTR_EQ(p, b + 1); /* Multi-byte. */ p = b; b[0] = 0xC0; ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + 1)); - ASSERT_EQ(p, b + 1); + ASSERT_PTR_EQ(p, b + 1); return 0; } diff --git a/deps/uv/test/test-ip-name.c b/deps/uv/test/test-ip-name.c index 1cb1b6058348ec..006095f5f9731b 100644 --- a/deps/uv/test/test-ip-name.c +++ b/deps/uv/test/test-ip-name.c @@ -51,7 +51,7 @@ TEST_IMPL(ip_name) { ASSERT_EQ(0, uv_ip6_addr("fe80::2acf:daff:fedd:342a", TEST_PORT, addr6)); ASSERT_EQ(0, uv_ip6_name(addr6, dst, INET6_ADDRSTRLEN)); ASSERT_EQ(0, strcmp("fe80::2acf:daff:fedd:342a", dst)); - + ASSERT_EQ(0, uv_ip_name(addr, dst, INET6_ADDRSTRLEN)); ASSERT_EQ(0, strcmp("fe80::2acf:daff:fedd:342a", dst)); @@ -60,6 +60,6 @@ TEST_IMPL(ip_name) { /* size is not a concern here */ ASSERT_EQ(UV_EAFNOSUPPORT, uv_ip_name(addr, dst, INET6_ADDRSTRLEN)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-ip4-addr.c b/deps/uv/test/test-ip4-addr.c index dfefb0f914a6ef..722ffb390a99e4 100644 --- a/deps/uv/test/test-ip4-addr.c +++ b/deps/uv/test/test-ip4-addr.c @@ -50,6 +50,6 @@ TEST_IMPL(ip4_addr) { ASSERT(UV_EAFNOSUPPORT == uv_inet_pton(42, "127.0.0.1", &addr.sin_addr.s_addr)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-ip6-addr.c b/deps/uv/test/test-ip6-addr.c index 8036c4b171237f..8f0c18601ba815 100644 --- a/deps/uv/test/test-ip6-addr.c +++ b/deps/uv/test/test-ip6-addr.c @@ -103,7 +103,7 @@ TEST_IMPL(ip6_addr_link_local) { fflush(stderr); ASSERT(0 == uv_ip6_addr(scoped_addr, TEST_PORT, &addr)); - fprintf(stderr, "Got scope_id 0x%02x\n", addr.sin6_scope_id); + fprintf(stderr, "Got scope_id 0x%2x\n", (unsigned)addr.sin6_scope_id); fflush(stderr); ASSERT(iface_index == addr.sin6_scope_id); } @@ -113,7 +113,7 @@ TEST_IMPL(ip6_addr_link_local) { scoped_addr_len = sizeof(scoped_addr); ASSERT(0 != uv_if_indextoname((unsigned int)-1, scoped_addr, &scoped_addr_len)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -154,7 +154,7 @@ TEST_IMPL(ip6_pton) { GOOD_ADDR_LIST(TEST_GOOD) BAD_ADDR_LIST(TEST_BAD) - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c b/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c index 89b977d2c34080..f239d1fc01fb7e 100644 --- a/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c +++ b/deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c @@ -137,7 +137,7 @@ TEST_IMPL(ipc_heavy_traffic_deadlock_bug) { spawn_helper(&pipe, &process, "ipc_helper_heavy_traffic_deadlock_bug"); do_writes_and_reads((uv_stream_t*) &pipe); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(pipe.loop); return 0; } @@ -154,6 +154,6 @@ int ipc_helper_heavy_traffic_deadlock_bug(void) { do_writes_and_reads((uv_stream_t*) &pipe); uv_sleep(100); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-ipc-send-recv.c b/deps/uv/test/test-ipc-send-recv.c index 8a0e9708f02429..48eea7286b87d9 100644 --- a/deps/uv/test/test-ipc-send-recv.c +++ b/deps/uv/test/test-ipc-send-recv.c @@ -76,10 +76,12 @@ static int write2_cb_called; static void alloc_cb(uv_handle_t* handle, size_t suggested_size, uv_buf_t* buf) { - /* we're not actually reading anything so a small buffer is okay */ - static char slab[8]; - buf->base = slab; - buf->len = sizeof(slab); + /* We're not actually reading anything so a small buffer is okay + * but it needs to be heap-allocated to appease TSan. + */ + buf->len = 8; + buf->base = malloc(buf->len); + ASSERT_NOT_NULL(buf->base); } @@ -91,6 +93,8 @@ static void recv_cb(uv_stream_t* handle, int r; union handles* recv; + free(buf->base); + pipe = (uv_pipe_t*) handle; ASSERT(pipe == &ctx.channel); @@ -219,7 +223,7 @@ static int run_ipc_send_recv_pipe(int inprocess) { r = run_test(inprocess); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -260,7 +264,7 @@ static int run_ipc_send_recv_tcp(int inprocess) { r = run_test(inprocess); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -304,6 +308,8 @@ static void read_cb(uv_stream_t* handle, union handles* recv; uv_write_t* write_req; + free(rdbuf->base); + if (nread == UV_EOF || nread == UV_ECONNABORTED) { return; } @@ -410,7 +416,7 @@ int ipc_send_recv_helper(void) { r = run_ipc_send_recv_helper(uv_default_loop(), 0); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-ipc.c b/deps/uv/test/test-ipc.c index cf131ffd193f41..7ec6ec9ce3af5b 100644 --- a/deps/uv/test/test-ipc.c +++ b/deps/uv/test/test-ipc.c @@ -424,7 +424,7 @@ static int run_ipc_test(const char* helper, uv_read_cb read_cb) { r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT_EQ(r, 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -489,7 +489,7 @@ TEST_IMPL(listen_with_simultaneous_accepts) { ASSERT_EQ(r, 0); ASSERT_EQ(server.reqs_pending, 32); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -514,7 +514,7 @@ TEST_IMPL(listen_no_simultaneous_accepts) { ASSERT_EQ(r, 0); ASSERT_EQ(server.reqs_pending, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -721,7 +721,7 @@ int ipc_helper(int listen_after_write) { ASSERT_EQ(connection_accepted, 1); ASSERT_EQ(close_cb_called, 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -774,7 +774,7 @@ int ipc_helper_tcp_connection(void) { ASSERT_EQ(tcp_conn_write_cb_called, 1); ASSERT_EQ(close_cb_called, 4); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -820,7 +820,7 @@ int ipc_helper_bind_twice(void) { r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT_EQ(r, 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -852,6 +852,6 @@ int ipc_helper_send_zero(void) { ASSERT_EQ(send_zero_write, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h index b19c10c7e40c77..68c9c1171a7fe8 100644 --- a/deps/uv/test/test-list.h +++ b/deps/uv/test/test-list.h @@ -105,6 +105,7 @@ TEST_DECLARE (tcp_write_after_connect) TEST_DECLARE (tcp_writealot) TEST_DECLARE (tcp_write_fail) TEST_DECLARE (tcp_try_write) +TEST_DECLARE (tcp_write_in_a_row) TEST_DECLARE (tcp_try_write_error) TEST_DECLARE (tcp_write_queue_order) TEST_DECLARE (tcp_open) @@ -184,6 +185,7 @@ TEST_DECLARE (udp_open) TEST_DECLARE (udp_open_twice) TEST_DECLARE (udp_open_bound) TEST_DECLARE (udp_open_connect) +TEST_DECLARE (udp_recv_in_a_row) #ifndef _WIN32 TEST_DECLARE (udp_send_unix) #endif @@ -192,6 +194,7 @@ TEST_DECLARE (udp_try_send) TEST_DECLARE (pipe_bind_error_addrinuse) TEST_DECLARE (pipe_bind_error_addrnotavail) TEST_DECLARE (pipe_bind_error_inval) +TEST_DECLARE (pipe_connect_close_multiple) TEST_DECLARE (pipe_connect_multiple) TEST_DECLARE (pipe_listen_without_bind) TEST_DECLARE (pipe_bind_or_listen_error_after_close) @@ -227,6 +230,8 @@ TEST_DECLARE (timer_from_check) TEST_DECLARE (timer_is_closing) TEST_DECLARE (timer_null_callback) TEST_DECLARE (timer_early_check) +TEST_DECLARE (timer_no_double_call_once) +TEST_DECLARE (timer_no_double_call_nowait) TEST_DECLARE (idle_starvation) TEST_DECLARE (idle_check) TEST_DECLARE (loop_handles) @@ -275,10 +280,13 @@ TEST_DECLARE (process_title_threadsafe) TEST_DECLARE (cwd_and_chdir) TEST_DECLARE (get_memory) TEST_DECLARE (get_passwd) +TEST_DECLARE (get_passwd2) +TEST_DECLARE (get_group) TEST_DECLARE (handle_fileno) TEST_DECLARE (homedir) TEST_DECLARE (tmpdir) TEST_DECLARE (hrtime) +TEST_DECLARE (clock_gettime) TEST_DECLARE (getaddrinfo_fail) TEST_DECLARE (getaddrinfo_fail_sync) TEST_DECLARE (getaddrinfo_basic) @@ -344,6 +352,7 @@ TEST_DECLARE (fs_async_sendfile_nodata) TEST_DECLARE (fs_mkdtemp) TEST_DECLARE (fs_mkstemp) TEST_DECLARE (fs_fstat) +TEST_DECLARE (fs_fstat_stdio) TEST_DECLARE (fs_access) TEST_DECLARE (fs_chmod) TEST_DECLARE (fs_copyfile) @@ -372,6 +381,7 @@ TEST_DECLARE (fs_futime) TEST_DECLARE (fs_lutime) TEST_DECLARE (fs_file_open_append) TEST_DECLARE (fs_statfs) +TEST_DECLARE (fs_stat_batch_multiple) TEST_DECLARE (fs_stat_missing_path) TEST_DECLARE (fs_read_bufs) TEST_DECLARE (fs_read_file_eof) @@ -401,6 +411,7 @@ TEST_DECLARE (fs_event_stop_in_cb) TEST_DECLARE (fs_scandir_empty_dir) TEST_DECLARE (fs_scandir_non_existent_dir) TEST_DECLARE (fs_scandir_file) +TEST_DECLARE (fs_scandir_early_exit) TEST_DECLARE (fs_open_dir) TEST_DECLARE (fs_readdir_empty_dir) TEST_DECLARE (fs_readdir_file) @@ -448,6 +459,7 @@ TEST_DECLARE (thread_rwlock) TEST_DECLARE (thread_rwlock_trylock) TEST_DECLARE (thread_create) TEST_DECLARE (thread_equal) +TEST_DECLARE (thread_affinity) TEST_DECLARE (dlerror) #if (defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))) && \ !defined(__sun) @@ -542,6 +554,8 @@ TEST_DECLARE (utf8_decode1) TEST_DECLARE (utf8_decode1_overrun) TEST_DECLARE (uname) +TEST_DECLARE (metrics_info_check) +TEST_DECLARE (metrics_pool_events) TEST_DECLARE (metrics_idle_time) TEST_DECLARE (metrics_idle_time_thread) TEST_DECLARE (metrics_idle_time_zero) @@ -669,6 +683,7 @@ TASK_LIST_START TEST_HELPER (tcp_write_fail, tcp4_echo_server) TEST_ENTRY (tcp_try_write) + TEST_ENTRY (tcp_write_in_a_row) TEST_ENTRY (tcp_try_write_error) TEST_ENTRY (tcp_write_queue_order) @@ -766,6 +781,7 @@ TASK_LIST_START TEST_ENTRY (udp_multicast_ttl) TEST_ENTRY (udp_sendmmsg_error) TEST_ENTRY (udp_try_send) + TEST_ENTRY (udp_recv_in_a_row) TEST_ENTRY (udp_open) TEST_ENTRY (udp_open_twice) @@ -778,6 +794,7 @@ TASK_LIST_START TEST_ENTRY (pipe_bind_error_addrinuse) TEST_ENTRY (pipe_bind_error_addrnotavail) TEST_ENTRY (pipe_bind_error_inval) + TEST_ENTRY (pipe_connect_close_multiple) TEST_ENTRY (pipe_connect_multiple) TEST_ENTRY (pipe_listen_without_bind) TEST_ENTRY (pipe_bind_or_listen_error_after_close) @@ -824,6 +841,8 @@ TASK_LIST_START TEST_ENTRY (timer_is_closing) TEST_ENTRY (timer_null_callback) TEST_ENTRY (timer_early_check) + TEST_ENTRY (timer_no_double_call_once) + TEST_ENTRY (timer_no_double_call_nowait) TEST_ENTRY (idle_starvation) TEST_ENTRY (idle_check) @@ -883,6 +902,8 @@ TASK_LIST_START TEST_ENTRY (get_memory) TEST_ENTRY (get_passwd) + TEST_ENTRY (get_passwd2) + TEST_ENTRY (get_group) TEST_ENTRY (get_loadavg) @@ -894,6 +915,8 @@ TASK_LIST_START TEST_ENTRY_CUSTOM (hrtime, 0, 0, 20000) + TEST_ENTRY (clock_gettime) + TEST_ENTRY_CUSTOM (getaddrinfo_fail, 0, 0, 10000) TEST_ENTRY_CUSTOM (getaddrinfo_fail_sync, 0, 0, 10000) @@ -1015,6 +1038,7 @@ TASK_LIST_START TEST_ENTRY (fs_mkdtemp) TEST_ENTRY (fs_mkstemp) TEST_ENTRY (fs_fstat) + TEST_ENTRY (fs_fstat_stdio) TEST_ENTRY (fs_access) TEST_ENTRY (fs_chmod) TEST_ENTRY (fs_copyfile) @@ -1041,6 +1065,7 @@ TASK_LIST_START TEST_ENTRY (fs_fd_hash) #endif TEST_ENTRY (fs_statfs) + TEST_ENTRY (fs_stat_batch_multiple) TEST_ENTRY (fs_stat_missing_path) TEST_ENTRY (fs_read_bufs) TEST_ENTRY (fs_read_file_eof) @@ -1071,6 +1096,7 @@ TASK_LIST_START TEST_ENTRY (fs_scandir_empty_dir) TEST_ENTRY (fs_scandir_non_existent_dir) TEST_ENTRY (fs_scandir_file) + TEST_ENTRY (fs_scandir_early_exit) TEST_ENTRY (fs_open_dir) TEST_ENTRY (fs_readdir_empty_dir) TEST_ENTRY (fs_readdir_file) @@ -1118,6 +1144,7 @@ TASK_LIST_START TEST_ENTRY (thread_rwlock_trylock) TEST_ENTRY (thread_create) TEST_ENTRY (thread_equal) + TEST_ENTRY (thread_affinity) TEST_ENTRY (dlerror) TEST_ENTRY (ip4_addr) TEST_ENTRY (ip6_addr_link_local) @@ -1164,6 +1191,8 @@ TASK_LIST_START TEST_ENTRY (readable_on_eof) TEST_HELPER (readable_on_eof, tcp4_echo_server) + TEST_ENTRY (metrics_info_check) + TEST_ENTRY (metrics_pool_events) TEST_ENTRY (metrics_idle_time) TEST_ENTRY (metrics_idle_time_thread) TEST_ENTRY (metrics_idle_time_zero) diff --git a/deps/uv/test/test-loop-alive.c b/deps/uv/test/test-loop-alive.c index cf4d301930c518..76a2b04cc9d1e7 100644 --- a/deps/uv/test/test-loop-alive.c +++ b/deps/uv/test/test-loop-alive.c @@ -63,5 +63,6 @@ TEST_IMPL(loop_alive) { ASSERT(r == 0); ASSERT(!uv_loop_alive(uv_default_loop())); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-loop-close.c b/deps/uv/test/test-loop-close.c index f0f3e627f971e2..f5814796e8f3f0 100644 --- a/deps/uv/test/test-loop-close.c +++ b/deps/uv/test/test-loop-close.c @@ -62,6 +62,8 @@ static void loop_instant_close_work_cb(uv_work_t* req) { static void loop_instant_close_after_work_cb(uv_work_t* req, int status) { } +/* It's impossible to properly cleanup after this test because loop can't be + * closed while work has been queued. */ TEST_IMPL(loop_instant_close) { static uv_loop_t loop; static uv_work_t req; @@ -70,6 +72,6 @@ TEST_IMPL(loop_instant_close) { &req, loop_instant_close_work_cb, loop_instant_close_after_work_cb)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-loop-handles.c b/deps/uv/test/test-loop-handles.c index 05cb8466ca626e..5d3df0245aa064 100644 --- a/deps/uv/test/test-loop-handles.c +++ b/deps/uv/test/test-loop-handles.c @@ -332,6 +332,6 @@ TEST_IMPL(loop_handles) { ASSERT(idle_2_close_cb_called == idle_2_cb_started); ASSERT(idle_2_is_active == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-loop-stop.c b/deps/uv/test/test-loop-stop.c index 14b8c11186c9b4..02aa12f1a83b59 100644 --- a/deps/uv/test/test-loop-stop.c +++ b/deps/uv/test/test-loop-stop.c @@ -67,5 +67,6 @@ TEST_IMPL(loop_stop) { ASSERT(timer_called == 10); ASSERT(prepare_called == 10); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-loop-time.c b/deps/uv/test/test-loop-time.c index 087720b9e9eb35..5d083064ae3133 100644 --- a/deps/uv/test/test-loop-time.c +++ b/deps/uv/test/test-loop-time.c @@ -30,7 +30,7 @@ TEST_IMPL(loop_update_time) { while (uv_now(uv_default_loop()) - start < 1000) ASSERT_EQ(0, uv_run(uv_default_loop(), UV_RUN_NOWAIT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -64,6 +64,6 @@ TEST_IMPL(loop_backend_timeout) { ASSERT_EQ(r, 0); ASSERT_EQ(uv_backend_timeout(loop), 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-metrics.c b/deps/uv/test/test-metrics.c index f527494470e920..d532f4eff49ec1 100644 --- a/deps/uv/test/test-metrics.c +++ b/deps/uv/test/test-metrics.c @@ -25,6 +25,17 @@ #define UV_NS_TO_MS 1000000 +typedef struct { + uv_fs_t open_req; + uv_fs_t write_req; + uv_fs_t close_req; +} fs_reqs_t; + +static uint64_t last_events_count; +static char test_buf[] = "test-buffer\n"; +static fs_reqs_t fs_reqs; +static int pool_events_counter; + static void timer_spin_cb(uv_timer_t* handle) { uint64_t t; @@ -37,6 +48,9 @@ static void timer_spin_cb(uv_timer_t* handle) { TEST_IMPL(metrics_idle_time) { +#if defined(__OpenBSD__) + RETURN_SKIP("Test does not currently work in OpenBSD"); +#endif const uint64_t timeout = 1000; uv_timer_t timer; uint64_t idle_time; @@ -55,10 +69,10 @@ TEST_IMPL(metrics_idle_time) { idle_time = uv_metrics_idle_time(uv_default_loop()); /* Permissive check that the idle time matches within the timeout ±500 ms. */ - ASSERT((idle_time <= (timeout + 500) * UV_NS_TO_MS) && - (idle_time >= (timeout - 500) * UV_NS_TO_MS)); + ASSERT_LE(idle_time, (timeout + 500) * UV_NS_TO_MS); + ASSERT_GE(idle_time, (timeout - 500) * UV_NS_TO_MS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -116,6 +130,7 @@ static void timer_noop_cb(uv_timer_t* handle) { TEST_IMPL(metrics_idle_time_zero) { + uv_metrics_t metrics; uv_timer_t timer; int cntr; @@ -130,6 +145,248 @@ TEST_IMPL(metrics_idle_time_zero) { ASSERT_GT(cntr, 0); ASSERT_EQ(0, uv_metrics_idle_time(uv_default_loop())); - MAKE_VALGRIND_HAPPY(); + ASSERT_EQ(0, uv_metrics_info(uv_default_loop(), &metrics)); + ASSERT_UINT64_EQ(cntr, metrics.loop_count); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +} + + +static void close_cb(uv_fs_t* req) { + uv_metrics_t metrics; + + ASSERT_EQ(0, uv_metrics_info(uv_default_loop(), &metrics)); + ASSERT_UINT64_EQ(3, metrics.loop_count); + ASSERT_UINT64_GT(metrics.events, last_events_count); + + uv_fs_req_cleanup(req); + last_events_count = metrics.events; +} + + +static void write_cb(uv_fs_t* req) { + uv_metrics_t metrics; + + ASSERT_EQ(0, uv_metrics_info(uv_default_loop(), &metrics)); + ASSERT_UINT64_EQ(2, metrics.loop_count); + ASSERT_UINT64_GT(metrics.events, last_events_count); + ASSERT_EQ(req->result, sizeof(test_buf)); + + uv_fs_req_cleanup(req); + last_events_count = metrics.events; + + ASSERT_EQ(0, uv_fs_close(uv_default_loop(), + &fs_reqs.close_req, + fs_reqs.open_req.result, + close_cb)); +} + + +static void create_cb(uv_fs_t* req) { + uv_metrics_t metrics; + + ASSERT_EQ(0, uv_metrics_info(uv_default_loop(), &metrics)); + /* Event count here is still 0 so not going to check. */ + ASSERT_UINT64_EQ(1, metrics.loop_count); + ASSERT_GE(req->result, 0); + + uv_fs_req_cleanup(req); + last_events_count = metrics.events; + + uv_buf_t iov = uv_buf_init(test_buf, sizeof(test_buf)); + ASSERT_EQ(0, uv_fs_write(uv_default_loop(), + &fs_reqs.write_req, + req->result, + &iov, + 1, + 0, + write_cb)); +} + + +static void prepare_cb(uv_prepare_t* handle) { + uv_metrics_t metrics; + + uv_prepare_stop(handle); + + ASSERT_EQ(0, uv_metrics_info(uv_default_loop(), &metrics)); + ASSERT_UINT64_EQ(0, metrics.loop_count); + ASSERT_UINT64_EQ(0, metrics.events); + + ASSERT_EQ(0, uv_fs_open(uv_default_loop(), + &fs_reqs.open_req, + "test_file", + O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR, + create_cb)); +} + + +TEST_IMPL(metrics_info_check) { + uv_fs_t unlink_req; + uv_prepare_t prepare; + + uv_fs_unlink(NULL, &unlink_req, "test_file", NULL); + uv_fs_req_cleanup(&unlink_req); + + ASSERT_EQ(0, uv_prepare_init(uv_default_loop(), &prepare)); + ASSERT_EQ(0, uv_prepare_start(&prepare, prepare_cb)); + + ASSERT_EQ(0, uv_run(uv_default_loop(), UV_RUN_DEFAULT)); + + uv_fs_unlink(NULL, &unlink_req, "test_file", NULL); + uv_fs_req_cleanup(&unlink_req); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +} + + +static void fs_prepare_cb(uv_prepare_t* handle) { + uv_metrics_t metrics; + + ASSERT_OK(uv_metrics_info(uv_default_loop(), &metrics)); + + if (pool_events_counter == 1) + ASSERT_EQ(metrics.events, metrics.events_waiting); + + if (pool_events_counter < 7) + return; + + uv_prepare_stop(handle); + pool_events_counter = -42; +} + + +static void fs_stat_cb(uv_fs_t* req) { + uv_fs_req_cleanup(req); + pool_events_counter++; +} + + +static void fs_work_cb(uv_work_t* req) { +} + + +static void fs_after_work_cb(uv_work_t* req, int status) { + free(req); + pool_events_counter++; +} + + +static void fs_write_cb(uv_fs_t* req) { + uv_work_t* work1 = malloc(sizeof(*work1)); + uv_work_t* work2 = malloc(sizeof(*work2)); + pool_events_counter++; + + uv_fs_req_cleanup(req); + + ASSERT_OK(uv_queue_work(uv_default_loop(), + work1, + fs_work_cb, + fs_after_work_cb)); + ASSERT_OK(uv_queue_work(uv_default_loop(), + work2, + fs_work_cb, + fs_after_work_cb)); +} + + +static void fs_random_cb(uv_random_t* req, int status, void* buf, size_t len) { + pool_events_counter++; +} + + +static void fs_addrinfo_cb(uv_getaddrinfo_t* req, + int status, + struct addrinfo* res) { + uv_freeaddrinfo(req->addrinfo); + pool_events_counter++; +} + + +TEST_IMPL(metrics_pool_events) { + uv_buf_t iov; + uv_fs_t open_req; + uv_fs_t stat1_req; + uv_fs_t stat2_req; + uv_fs_t unlink_req; + uv_fs_t write_req; + uv_getaddrinfo_t addrinfo_req; + uv_metrics_t metrics; + uv_prepare_t prepare; + uv_random_t random_req; + int fd; + char rdata; + + ASSERT_OK(uv_loop_configure(uv_default_loop(), UV_METRICS_IDLE_TIME)); + + uv_fs_unlink(NULL, &unlink_req, "test_file", NULL); + uv_fs_req_cleanup(&unlink_req); + + ASSERT_OK(uv_prepare_init(uv_default_loop(), &prepare)); + ASSERT_OK(uv_prepare_start(&prepare, fs_prepare_cb)); + + pool_events_counter = 0; + fd = uv_fs_open(NULL, + &open_req, + "test_file", + O_WRONLY | O_CREAT, + S_IRUSR | S_IWUSR, + NULL); + ASSERT_GT(fd, 0); + uv_fs_req_cleanup(&open_req); + + iov = uv_buf_init(test_buf, sizeof(test_buf)); + ASSERT_OK(uv_fs_write(uv_default_loop(), + &write_req, + fd, + &iov, + 1, + 0, + fs_write_cb)); + ASSERT_OK(uv_fs_stat(uv_default_loop(), + &stat1_req, + "test_file", + fs_stat_cb)); + ASSERT_OK(uv_fs_stat(uv_default_loop(), + &stat2_req, + "test_file", + fs_stat_cb)); + ASSERT_OK(uv_random(uv_default_loop(), + &random_req, + &rdata, + 1, + 0, + fs_random_cb)); + ASSERT_OK(uv_getaddrinfo(uv_default_loop(), + &addrinfo_req, + fs_addrinfo_cb, + "example.invalid", + NULL, + NULL)); + + /* Sleep for a moment to hopefully force the events to complete before + * entering the event loop. */ + uv_sleep(100); + + ASSERT_OK(uv_run(uv_default_loop(), UV_RUN_DEFAULT)); + + ASSERT_OK(uv_metrics_info(uv_default_loop(), &metrics)); + /* It's possible for uv__work_done() to execute one extra time even though the + * QUEUE has already been cleared out. This has to do with the way we use an + * uv_async to tell the event loop thread to process the worker pool QUEUE. */ + ASSERT_GE(metrics.events, 7); + /* It's possible one of the other events also got stuck in the event queue, so + * check GE instead of EQ. Reason for 4 instead of 5 is because the call to + * uv_getaddrinfo() is racey and slow. So can't guarantee that it'll always + * execute before sleep completes. */ + ASSERT_GE(metrics.events_waiting, 4); + ASSERT_EQ(pool_events_counter, -42); + + uv_fs_unlink(NULL, &unlink_req, "test_file", NULL); + uv_fs_req_cleanup(&unlink_req); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-multiple-listen.c b/deps/uv/test/test-multiple-listen.c index 0b2851411a862b..bbaa9bc1ef1265 100644 --- a/deps/uv/test/test-multiple-listen.c +++ b/deps/uv/test/test-multiple-listen.c @@ -104,6 +104,6 @@ TEST_IMPL(multiple_listen) { ASSERT(connect_cb_called == 1); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-not-readable-nor-writable-on-read-error.c b/deps/uv/test/test-not-readable-nor-writable-on-read-error.c index ae951e39893b36..823a4e91e29096 100644 --- a/deps/uv/test/test-not-readable-nor-writable-on-read-error.c +++ b/deps/uv/test/test-not-readable-nor-writable-on-read-error.c @@ -99,6 +99,6 @@ TEST_IMPL(not_readable_nor_writable_on_read_error) { ASSERT(write_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } diff --git a/deps/uv/test/test-not-writable-after-shutdown.c b/deps/uv/test/test-not-writable-after-shutdown.c index 9cd93703cea292..84e09177bd3651 100644 --- a/deps/uv/test/test-not-writable-after-shutdown.c +++ b/deps/uv/test/test-not-writable-after-shutdown.c @@ -61,9 +61,9 @@ TEST_IMPL(not_writable_after_shutdown) { connect_cb); ASSERT(r == 0); - r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); + r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-osx-select.c b/deps/uv/test/test-osx-select.c index a0afda9181ebd9..00ae540b405a6c 100644 --- a/deps/uv/test/test-osx-select.c +++ b/deps/uv/test/test-osx-select.c @@ -79,7 +79,7 @@ TEST_IMPL(osx_select) { ASSERT(read_count == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -133,7 +133,7 @@ TEST_IMPL(osx_select_many_fds) { ASSERT(read_count == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-ping-pong.c b/deps/uv/test/test-ping-pong.c index c598587d112f56..f54f2ad22e59d9 100644 --- a/deps/uv/test/test-ping-pong.c +++ b/deps/uv/test/test-ping-pong.c @@ -378,7 +378,7 @@ static int run_ping_pong_test(void) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT_EQ(completed_pingers, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-bind-error.c b/deps/uv/test/test-pipe-bind-error.c index aacde456543d76..88ece6ba5d8d38 100644 --- a/deps/uv/test/test-pipe-bind-error.c +++ b/deps/uv/test/test-pipe-bind-error.c @@ -67,7 +67,7 @@ TEST_IMPL(pipe_bind_error_addrinuse) { ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -88,7 +88,7 @@ TEST_IMPL(pipe_bind_error_addrnotavail) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -110,7 +110,7 @@ TEST_IMPL(pipe_bind_error_inval) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -134,7 +134,7 @@ TEST_IMPL(pipe_listen_without_bind) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -150,6 +150,6 @@ TEST_IMPL(pipe_bind_or_listen_error_after_close) { ASSERT_EQ(uv_run(uv_default_loop(), UV_RUN_DEFAULT), 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-close-stdout-read-stdin.c b/deps/uv/test/test-pipe-close-stdout-read-stdin.c index 126be2cc46f0e3..e0f864e9cdf653 100644 --- a/deps/uv/test/test-pipe-close-stdout-read-stdin.c +++ b/deps/uv/test/test-pipe-close-stdout-read-stdin.c @@ -101,7 +101,7 @@ TEST_IMPL(pipe_close_stdout_read_stdin) { ASSERT(WIFEXITED(status) && WEXITSTATUS(status) == 0); } - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-connect-error.c b/deps/uv/test/test-pipe-connect-error.c index 0f1e2b1c1ed538..140e7d32dafc44 100644 --- a/deps/uv/test/test-pipe-connect-error.c +++ b/deps/uv/test/test-pipe-connect-error.c @@ -43,15 +43,17 @@ static void close_cb(uv_handle_t* handle) { static void connect_cb(uv_connect_t* connect_req, int status) { - ASSERT(status == UV_ENOENT); - uv_close((uv_handle_t*)connect_req->handle, close_cb); + ASSERT_EQ(status, UV_ENOENT); + uv_close((uv_handle_t*) connect_req->handle, close_cb); connect_cb_called++; } static void connect_cb_file(uv_connect_t* connect_req, int status) { - ASSERT(status == UV_ENOTSOCK || status == UV_ECONNREFUSED); - uv_close((uv_handle_t*)connect_req->handle, close_cb); + if (status != UV_ENOTSOCK) + if (status != UV_EACCES) + ASSERT_EQ(status, UV_ECONNREFUSED); + uv_close((uv_handle_t*) connect_req->handle, close_cb); connect_cb_called++; } @@ -62,15 +64,15 @@ TEST_IMPL(pipe_connect_bad_name) { int r; r = uv_pipe_init(uv_default_loop(), &client, 0); - ASSERT(r == 0); + ASSERT_EQ(r, 0); uv_pipe_connect(&req, &client, BAD_PIPENAME, connect_cb); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - ASSERT(close_cb_called == 1); - ASSERT(connect_cb_called == 1); + ASSERT_EQ(close_cb_called, 1); + ASSERT_EQ(connect_cb_called, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -82,14 +84,14 @@ TEST_IMPL(pipe_connect_to_file) { int r; r = uv_pipe_init(uv_default_loop(), &client, 0); - ASSERT(r == 0); + ASSERT_EQ(r, 0); uv_pipe_connect(&req, &client, path, connect_cb_file); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - ASSERT(close_cb_called == 1); - ASSERT(connect_cb_called == 1); + ASSERT_EQ(close_cb_called, 1); + ASSERT_EQ(connect_cb_called, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-connect-multiple.c b/deps/uv/test/test-pipe-connect-multiple.c index 0a60d4a9642433..b8f417e81caff0 100644 --- a/deps/uv/test/test-pipe-connect-multiple.c +++ b/deps/uv/test/test-pipe-connect-multiple.c @@ -29,7 +29,7 @@ static int connection_cb_called = 0; static int connect_cb_called = 0; -#define NUM_CLIENTS 4 +#define NUM_CLIENTS 10 typedef struct { uv_pipe_t pipe_handle; @@ -102,6 +102,77 @@ TEST_IMPL(pipe_connect_multiple) { ASSERT(connection_cb_called == NUM_CLIENTS); ASSERT(connect_cb_called == NUM_CLIENTS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); + return 0; +} + + +static void connection_cb2(uv_stream_t* server, int status) { + int r; + uv_pipe_t* conn; + ASSERT_EQ(status, 0); + + conn = &connections[connection_cb_called]; + r = uv_pipe_init(server->loop, conn, 0); + ASSERT_EQ(r, 0); + + r = uv_accept(server, (uv_stream_t*)conn); + ASSERT_EQ(r, 0); + + uv_close((uv_handle_t*)conn, NULL); + if (++connection_cb_called == NUM_CLIENTS && + connect_cb_called == NUM_CLIENTS) { + uv_close((uv_handle_t*)&server_handle, NULL); + } +} + +static void connect_cb2(uv_connect_t* connect_req, int status) { + ASSERT_EQ(status, UV_ECANCELED); + if (++connect_cb_called == NUM_CLIENTS && + connection_cb_called == NUM_CLIENTS) { + uv_close((uv_handle_t*)&server_handle, NULL); + } +} + + +TEST_IMPL(pipe_connect_close_multiple) { +#if defined(NO_SELF_CONNECT) + RETURN_SKIP(NO_SELF_CONNECT); +#endif + int i; + int r; + uv_loop_t* loop; + + loop = uv_default_loop(); + + r = uv_pipe_init(loop, &server_handle, 0); + ASSERT_EQ(r, 0); + + r = uv_pipe_bind(&server_handle, TEST_PIPENAME); + ASSERT_EQ(r, 0); + + r = uv_listen((uv_stream_t*)&server_handle, 128, connection_cb2); + ASSERT_EQ(r, 0); + + for (i = 0; i < NUM_CLIENTS; i++) { + r = uv_pipe_init(loop, &clients[i].pipe_handle, 0); + ASSERT_EQ(r, 0); + uv_pipe_connect(&clients[i].conn_req, + &clients[i].pipe_handle, + TEST_PIPENAME, + connect_cb2); + } + + for (i = 0; i < NUM_CLIENTS; i++) { + uv_close((uv_handle_t*)&clients[i].pipe_handle, NULL); + } + + + uv_run(loop, UV_RUN_DEFAULT); + + ASSERT_EQ(connection_cb_called, NUM_CLIENTS); + ASSERT_EQ(connect_cb_called, NUM_CLIENTS); + + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-pipe-connect-prepare.c b/deps/uv/test/test-pipe-connect-prepare.c index 08b57cbf51094c..f7a79404048c15 100644 --- a/deps/uv/test/test-pipe-connect-prepare.c +++ b/deps/uv/test/test-pipe-connect-prepare.c @@ -78,6 +78,6 @@ TEST_IMPL(pipe_connect_on_prepare) { ASSERT(close_cb_called == 2); ASSERT(connect_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-getsockname.c b/deps/uv/test/test-pipe-getsockname.c index 79db8eba7177e0..4b0aa53b9271bd 100644 --- a/deps/uv/test/test-pipe-getsockname.c +++ b/deps/uv/test/test-pipe-getsockname.c @@ -156,7 +156,7 @@ TEST_IMPL(pipe_getsockname) { ASSERT(pipe_client_connect_cb_called == 1); ASSERT(pipe_close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -200,10 +200,10 @@ TEST_IMPL(pipe_getsockname_abstract) { close(sock); ASSERT(pipe_close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #else - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #endif } @@ -265,6 +265,6 @@ TEST_IMPL(pipe_getsockname_blocking) { CloseHandle(writeh); #endif - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-pending-instances.c b/deps/uv/test/test-pipe-pending-instances.c index b6ff911a0f2ab0..9b1bfbc9aaccc4 100644 --- a/deps/uv/test/test-pipe-pending-instances.c +++ b/deps/uv/test/test-pipe-pending-instances.c @@ -54,6 +54,6 @@ TEST_IMPL(pipe_pending_instances) { r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-pipe-sendmsg.c b/deps/uv/test/test-pipe-sendmsg.c index 3bf427f8aa0634..7758b65b05cff9 100644 --- a/deps/uv/test/test-pipe-sendmsg.c +++ b/deps/uv/test/test-pipe-sendmsg.c @@ -158,14 +158,14 @@ TEST_IMPL(pipe_sendmsg) { ASSERT(ARRAY_SIZE(incoming) + 1 == close_called); close(fds[0]); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #else /* !_WIN32 */ TEST_IMPL(pipe_sendmsg) { - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-pipe-server-close.c b/deps/uv/test/test-pipe-server-close.c index 25305b397b2e05..dc20661916d889 100644 --- a/deps/uv/test/test-pipe-server-close.c +++ b/deps/uv/test/test-pipe-server-close.c @@ -89,6 +89,6 @@ TEST_IMPL(pipe_server_close) { ASSERT(pipe_client_connect_cb_called == 1); ASSERT(pipe_close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-pipe-set-fchmod.c b/deps/uv/test/test-pipe-set-fchmod.c index 91e476652e027f..402970e3da9922 100644 --- a/deps/uv/test/test-pipe-set-fchmod.c +++ b/deps/uv/test/test-pipe-set-fchmod.c @@ -22,6 +22,7 @@ #include "uv.h" #include "task.h" +#include TEST_IMPL(pipe_set_chmod) { uv_pipe_t pipe_handle; @@ -43,12 +44,13 @@ TEST_IMPL(pipe_set_chmod) { * successful. */ r = uv_pipe_chmod(&pipe_handle, UV_READABLE); if (r == UV_EPERM) { - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); RETURN_SKIP("Insufficient privileges to alter pipe fmode"); } ASSERT(r == 0); #ifndef _WIN32 - stat(TEST_PIPENAME, &stat_buf); + memset(&stat_buf, 0, sizeof(stat_buf)); + ASSERT_EQ(0, stat(TEST_PIPENAME, &stat_buf)); ASSERT(stat_buf.st_mode & S_IRUSR); ASSERT(stat_buf.st_mode & S_IRGRP); ASSERT(stat_buf.st_mode & S_IROTH); @@ -85,6 +87,6 @@ TEST_IMPL(pipe_set_chmod) { r = uv_pipe_chmod(&pipe_handle, UV_WRITABLE | UV_READABLE); ASSERT(r == UV_EBADF); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-pipe-set-non-blocking.c b/deps/uv/test/test-pipe-set-non-blocking.c index c780460950ea8a..1b90bca3d2ab90 100644 --- a/deps/uv/test/test-pipe-set-non-blocking.c +++ b/deps/uv/test/test-pipe-set-non-blocking.c @@ -122,6 +122,6 @@ TEST_IMPL(pipe_set_non_blocking) { fd[0] = -1; uv_barrier_destroy(&ctx.barrier); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-platform-output.c b/deps/uv/test/test-platform-output.c index 5827dca1cb2ba8..5839f52dfe5885 100644 --- a/deps/uv/test/test-platform-output.c +++ b/deps/uv/test/test-platform-output.c @@ -25,11 +25,6 @@ TEST_IMPL(platform_output) { -/* TODO(gengjiawen): Fix test on QEMU. */ -#if defined(__QEMU__) - RETURN_SKIP("Test does not currently work in QEMU"); -#endif - char buffer[512]; size_t rss; size_t size; @@ -40,8 +35,10 @@ TEST_IMPL(platform_output) { uv_cpu_info_t* cpus; uv_interface_address_t* interfaces; uv_passwd_t pwd; + uv_group_t grp; uv_utsname_t uname; unsigned par; + char* const* member; int count; int i; int err; @@ -152,15 +149,38 @@ TEST_IMPL(platform_output) { uv_free_interface_addresses(interfaces, count); err = uv_os_get_passwd(&pwd); - ASSERT(err == 0); + ASSERT_EQ(err, 0); + + err = uv_os_get_group(&grp, pwd.gid); +#if defined(_WIN32) + ASSERT_EQ(err, UV_ENOTSUP); + ASSERT_EQ(pwd.uid, (unsigned long) -1); + ASSERT_EQ(pwd.gid, (unsigned long) -1); + (void) member; + grp.groupname = "ENOTSUP"; +#else + ASSERT_EQ(err, 0); + ASSERT_EQ(pwd.gid, grp.gid); +#endif printf("uv_os_get_passwd:\n"); printf(" euid: %ld\n", pwd.uid); - printf(" gid: %ld\n", pwd.gid); + printf(" gid: %ld (%s)\n", pwd.gid, grp.groupname); +#if !defined(_WIN32) + printf(" members: ["); + for (member = grp.members; *member != NULL; member++) { + printf(" %s", *member); + } + printf(" ]\n"); +#endif printf(" username: %s\n", pwd.username); - printf(" shell: %s\n", pwd.shell); + if (pwd.shell != NULL) /* Not set on Windows */ + printf(" shell: %s\n", pwd.shell); printf(" home directory: %s\n", pwd.homedir); uv_os_free_passwd(&pwd); +#if !defined(_WIN32) + uv_os_free_group(&grp); +#endif pid = uv_os_getpid(); ASSERT(pid > 0); diff --git a/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c b/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c index 1d7e84f60398ae..a19f42769b5788 100644 --- a/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c +++ b/deps/uv/test/test-poll-close-doesnt-corrupt-stack.c @@ -108,7 +108,7 @@ TEST_IMPL(poll_close_doesnt_corrupt_stack) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #endif } diff --git a/deps/uv/test/test-poll-close.c b/deps/uv/test/test-poll-close.c index 2eccddf5b0b923..b4ad4c7834674b 100644 --- a/deps/uv/test/test-poll-close.c +++ b/deps/uv/test/test-poll-close.c @@ -68,6 +68,6 @@ TEST_IMPL(poll_close) { ASSERT(close_cb_called == NUM_SOCKETS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-poll-closesocket.c b/deps/uv/test/test-poll-closesocket.c index 1a1c364112a177..a81d0b09ff8d0d 100644 --- a/deps/uv/test/test-poll-closesocket.c +++ b/deps/uv/test/test-poll-closesocket.c @@ -86,7 +86,7 @@ TEST_IMPL(poll_closesocket) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #endif } diff --git a/deps/uv/test/test-poll-multiple-handles.c b/deps/uv/test/test-poll-multiple-handles.c index fc2205ddec74d5..1aad1ef21065b7 100644 --- a/deps/uv/test/test-poll-multiple-handles.c +++ b/deps/uv/test/test-poll-multiple-handles.c @@ -94,6 +94,6 @@ TEST_IMPL(poll_multiple_handles) { ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-poll-oob.c b/deps/uv/test/test-poll-oob.c index 77ffe31e962f10..b1ff41f5b8ad9f 100644 --- a/deps/uv/test/test-poll-oob.c +++ b/deps/uv/test/test-poll-oob.c @@ -199,7 +199,7 @@ TEST_IMPL(poll_oob) { */ ASSERT(srv_rd_check == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-poll.c b/deps/uv/test/test-poll.c index 3bc422d2795543..a0f28324e2f2ca 100644 --- a/deps/uv/test/test-poll.c +++ b/deps/uv/test/test-poll.c @@ -589,7 +589,7 @@ static void start_poll_test(void) { #if !defined(__sun) && !defined(_AIX) && !defined(__MVS__) ASSERT(disconnects == NUM_CLIENTS * 2); #endif - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); } @@ -631,7 +631,7 @@ TEST_IMPL(poll_unidirectional) { */ TEST_IMPL(poll_bad_fdtype) { #if !defined(__DragonFly__) && !defined(__FreeBSD__) && !defined(__sun) && \ - !defined(_AIX) && !defined(__MVS__) && !defined(__FreeBSD_kernel__) && \ + !defined(_AIX) && !defined(__MVS__) && \ !defined(__OpenBSD__) && !defined(__CYGWIN__) && !defined(__MSYS__) && \ !defined(__NetBSD__) uv_poll_t poll_handle; @@ -647,7 +647,7 @@ TEST_IMPL(poll_bad_fdtype) { ASSERT(0 == close(fd)); #endif - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -668,7 +668,7 @@ TEST_IMPL(poll_nested_epoll) { ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); ASSERT(0 == close(fd)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif /* __linux__ */ @@ -690,7 +690,7 @@ TEST_IMPL(poll_nested_kqueue) { ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); ASSERT(0 == close(fd)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif /* UV_HAVE_KQUEUE */ diff --git a/deps/uv/test/test-process-title.c b/deps/uv/test/test-process-title.c index 35a14809fb3ccd..c5cff9723da4d3 100644 --- a/deps/uv/test/test-process-title.c +++ b/deps/uv/test/test-process-title.c @@ -120,7 +120,7 @@ TEST_IMPL(process_title_big_argv) { ASSERT(0 == uv_spawn(uv_default_loop(), &process, &options)); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-queue-foreach-delete.c b/deps/uv/test/test-queue-foreach-delete.c index 049ea776e34322..75d63f5cf1798b 100644 --- a/deps/uv/test/test-queue-foreach-delete.c +++ b/deps/uv/test/test-queue-foreach-delete.c @@ -198,7 +198,7 @@ TEST_IMPL(queue_foreach_delete) { ASSERT(helper_timer_cb_calls == 1); #endif - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-random.c b/deps/uv/test/test-random.c index 2e3ce4424d29eb..3ff3fa8b364824 100644 --- a/deps/uv/test/test-random.c +++ b/deps/uv/test/test-random.c @@ -70,7 +70,7 @@ TEST_IMPL(random_async) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(2 == random_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -89,6 +89,6 @@ TEST_IMPL(random_sync) { memset(zero, 0, sizeof(zero)); ASSERT(0 != memcmp(buf, zero, sizeof(zero))); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-readable-on-eof.c b/deps/uv/test/test-readable-on-eof.c index 68e845424775ca..1162f8db1d06a4 100644 --- a/deps/uv/test/test-readable-on-eof.c +++ b/deps/uv/test/test-readable-on-eof.c @@ -106,6 +106,6 @@ TEST_IMPL(readable_on_eof) { ASSERT_EQ(write_cb_called, 1); ASSERT_EQ(close_cb_called, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } diff --git a/deps/uv/test/test-ref.c b/deps/uv/test/test-ref.c index d24ea4a01e8aba..7a9a0b9315b697 100644 --- a/deps/uv/test/test-ref.c +++ b/deps/uv/test/test-ref.c @@ -101,7 +101,7 @@ static void connect_and_shutdown(uv_connect_t* req, int status) { TEST_IMPL(ref) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -113,7 +113,7 @@ TEST_IMPL(idle_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -124,7 +124,7 @@ TEST_IMPL(async_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -136,7 +136,7 @@ TEST_IMPL(prepare_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -148,7 +148,7 @@ TEST_IMPL(check_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -165,7 +165,7 @@ TEST_IMPL(unref_in_prepare_cb) { uv_prepare_start(&h, prepare_cb); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -176,7 +176,7 @@ TEST_IMPL(timer_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -188,7 +188,7 @@ TEST_IMPL(timer_ref2) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -203,7 +203,7 @@ TEST_IMPL(fs_event_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -215,7 +215,7 @@ TEST_IMPL(fs_poll_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -226,7 +226,7 @@ TEST_IMPL(tcp_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -238,7 +238,7 @@ TEST_IMPL(tcp_ref2) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -251,7 +251,7 @@ TEST_IMPL(tcp_ref2b) { uv_close((uv_handle_t*)&h, close_cb); uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -270,7 +270,7 @@ TEST_IMPL(tcp_ref3) { ASSERT(connect_cb_called == 1); ASSERT(shutdown_cb_called == 1); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -290,7 +290,7 @@ TEST_IMPL(tcp_ref4) { ASSERT(write_cb_called == 1); ASSERT(shutdown_cb_called == 1); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -301,7 +301,7 @@ TEST_IMPL(udp_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -316,7 +316,7 @@ TEST_IMPL(udp_ref2) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -340,7 +340,7 @@ TEST_IMPL(udp_ref3) { ASSERT(req_cb_called == 1); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -351,7 +351,7 @@ TEST_IMPL(pipe_ref) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -363,7 +363,7 @@ TEST_IMPL(pipe_ref2) { uv_unref((uv_handle_t*)&h); uv_run(uv_default_loop(), UV_RUN_DEFAULT); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -377,7 +377,7 @@ TEST_IMPL(pipe_ref3) { ASSERT(connect_cb_called == 1); ASSERT(shutdown_cb_called == 1); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -392,7 +392,7 @@ TEST_IMPL(pipe_ref4) { ASSERT(write_cb_called == 1); ASSERT(shutdown_cb_called == 1); do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -428,7 +428,7 @@ TEST_IMPL(process_ref) { do_close(&h); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -440,6 +440,6 @@ TEST_IMPL(has_ref) { ASSERT(uv_has_ref((uv_handle_t*)&h) == 1); uv_unref((uv_handle_t*)&h); ASSERT(uv_has_ref((uv_handle_t*)&h) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-run-nowait.c b/deps/uv/test/test-run-nowait.c index 43524f636d8575..704105376faeac 100644 --- a/deps/uv/test/test-run-nowait.c +++ b/deps/uv/test/test-run-nowait.c @@ -41,5 +41,6 @@ TEST_IMPL(run_nowait) { ASSERT(r != 0); ASSERT(timer_called == 0); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-run-once.c b/deps/uv/test/test-run-once.c index 10cbf95e4adf59..ee332fa1a057d7 100644 --- a/deps/uv/test/test-run-once.c +++ b/deps/uv/test/test-run-once.c @@ -43,6 +43,6 @@ TEST_IMPL(run_once) { while (uv_run(uv_default_loop(), UV_RUN_ONCE)); ASSERT(idle_counter == NUM_TICKS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-shutdown-close.c b/deps/uv/test/test-shutdown-close.c index 78c369be2d9b6b..cb478b5fdd2939 100644 --- a/deps/uv/test/test-shutdown-close.c +++ b/deps/uv/test/test-shutdown-close.c @@ -84,7 +84,7 @@ TEST_IMPL(shutdown_close_tcp) { ASSERT(shutdown_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -103,6 +103,6 @@ TEST_IMPL(shutdown_close_pipe) { ASSERT(shutdown_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-shutdown-eof.c b/deps/uv/test/test-shutdown-eof.c index 0abab9175e9d26..9c0b85652aef12 100644 --- a/deps/uv/test/test-shutdown-eof.c +++ b/deps/uv/test/test-shutdown-eof.c @@ -182,7 +182,7 @@ TEST_IMPL(shutdown_eof) { ASSERT(called_timer_close_cb == 1); ASSERT(called_timer_cb == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-shutdown-simultaneous.c b/deps/uv/test/test-shutdown-simultaneous.c index 7de3bd42252e62..14cc443730d565 100644 --- a/deps/uv/test/test-shutdown-simultaneous.c +++ b/deps/uv/test/test-shutdown-simultaneous.c @@ -130,6 +130,6 @@ TEST_IMPL(shutdown_simultaneous) { ASSERT_EQ(got_eof, 1); ASSERT_EQ(got_q, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-shutdown-twice.c b/deps/uv/test/test-shutdown-twice.c index d7aae89914dad6..d936a70cb7d7bb 100644 --- a/deps/uv/test/test-shutdown-twice.c +++ b/deps/uv/test/test-shutdown-twice.c @@ -75,11 +75,11 @@ TEST_IMPL(shutdown_twice) { connect_cb); ASSERT(r == 0); - r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); + r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); ASSERT(shutdown_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-signal-multiple-loops.c b/deps/uv/test/test-signal-multiple-loops.c index 7d61ff61e0d9e9..de511fc06804ef 100644 --- a/deps/uv/test/test-signal-multiple-loops.c +++ b/deps/uv/test/test-signal-multiple-loops.c @@ -50,18 +50,18 @@ enum signal_action { }; static uv_sem_t sem; -static uv_mutex_t counter_lock; -static volatile int stop = 0; +static uv_mutex_t lock; +static int stop = 0; -static volatile int signal1_cb_counter = 0; -static volatile int signal2_cb_counter = 0; -static volatile int loop_creation_counter = 0; +static int signal1_cb_counter = 0; +static int signal2_cb_counter = 0; +static int loop_creation_counter = 0; -static void increment_counter(volatile int* counter) { - uv_mutex_lock(&counter_lock); +static void increment_counter(int* counter) { + uv_mutex_lock(&lock); ++(*counter); - uv_mutex_unlock(&counter_lock); + uv_mutex_unlock(&lock); } @@ -162,6 +162,8 @@ static void signal_unexpected_cb(uv_signal_t* handle, int signum) { static void loop_creating_worker(void* context) { + int done; + (void) context; do { @@ -188,7 +190,11 @@ static void loop_creating_worker(void* context) { free(loop); increment_counter(&loop_creation_counter); - } while (!stop); + + uv_mutex_lock(&lock); + done = stop; + uv_mutex_unlock(&lock); + } while (!done); } @@ -202,8 +208,18 @@ TEST_IMPL(signal_multiple_loops) { #endif /* TODO(gengjiawen): Fix test on QEMU. */ #if defined(__QEMU__) - // See https://github.com/libuv/libuv/issues/2859 + /* See https://github.com/libuv/libuv/issues/2859 */ RETURN_SKIP("QEMU's signal emulation code is notoriously tricky"); +#endif +#if defined(__ASAN__) || defined(__MSAN__) + /* See https://github.com/libuv/libuv/issues/3956 */ + RETURN_SKIP("Test is too slow to run under ASan or MSan"); +#endif +#if defined(__TSAN__) + /* ThreadSanitizer complains - likely legitimately - about data races + * in uv__signal_compare() in src/unix/signal.c but that's pre-existing. + */ + RETURN_SKIP("Fix test under ThreadSanitizer"); #endif uv_thread_t loop_creating_threads[NUM_LOOP_CREATING_THREADS]; uv_thread_t signal_handling_threads[NUM_SIGNAL_HANDLING_THREADS]; @@ -215,7 +231,7 @@ TEST_IMPL(signal_multiple_loops) { r = uv_sem_init(&sem, 0); ASSERT(r == 0); - r = uv_mutex_init(&counter_lock); + r = uv_mutex_init(&lock); ASSERT(r == 0); /* Create a couple of threads that create a destroy loops continuously. */ @@ -272,7 +288,9 @@ TEST_IMPL(signal_multiple_loops) { } /* Tell all loop creating threads to stop. */ + uv_mutex_lock(&lock); stop = 1; + uv_mutex_unlock(&lock); /* Wait for all loop creating threads to exit. */ for (i = 0; i < NUM_LOOP_CREATING_THREADS; i++) { @@ -296,7 +314,7 @@ TEST_IMPL(signal_multiple_loops) { */ ASSERT(loop_creation_counter >= NUM_LOOP_CREATING_THREADS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-signal-pending-on-close.c b/deps/uv/test/test-signal-pending-on-close.c index 428a97ef5ae30d..e0b9bc300b159e 100644 --- a/deps/uv/test/test-signal-pending-on-close.c +++ b/deps/uv/test/test-signal-pending-on-close.c @@ -88,11 +88,9 @@ TEST_IMPL(signal_pending_on_close) { ASSERT(0 == uv_run(&loop, UV_RUN_DEFAULT)); - ASSERT(0 == uv_loop_close(&loop)); - ASSERT(2 == close_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } @@ -109,10 +107,9 @@ TEST_IMPL(signal_close_loop_alive) { ASSERT(1 == uv_loop_alive(&loop)); ASSERT(0 == uv_run(&loop, UV_RUN_DEFAULT)); - ASSERT(0 == uv_loop_close(&loop)); ASSERT(1 == close_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } diff --git a/deps/uv/test/test-signal.c b/deps/uv/test/test-signal.c index c2ce5ec0e0a85e..f8222d14b4e71f 100644 --- a/deps/uv/test/test-signal.c +++ b/deps/uv/test/test-signal.c @@ -38,7 +38,7 @@ TEST_IMPL(kill_invalid_signum) { #endif ASSERT(uv_kill(pid, 4096) == UV_EINVAL); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -69,7 +69,7 @@ TEST_IMPL(win32_signum_number) { ASSERT(uv_signal_start(&signal, signum_test_cb, -1) == UV_EINVAL); ASSERT(uv_signal_start(&signal, signum_test_cb, NSIG) == UV_EINVAL); ASSERT(uv_signal_start(&signal, signum_test_cb, 1024) == UV_EINVAL); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } #else @@ -180,7 +180,7 @@ TEST_IMPL(we_get_signal) { ASSERT(tc.ncalls == NSIGNALS); ASSERT(sc.ncalls == NSIGNALS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -206,7 +206,7 @@ TEST_IMPL(we_get_signals) { for (i = 0; i < ARRAY_SIZE(tc); i++) ASSERT(tc[i].ncalls == NSIGNALS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -235,7 +235,7 @@ TEST_IMPL(we_get_signal_one_shot) { ASSERT(tc.ncalls == NSIGNALS); ASSERT(sc.ncalls == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -318,7 +318,7 @@ TEST_IMPL(we_get_signals_mixed) { ASSERT(sc[2].ncalls == 0); ASSERT(sc[3].ncalls == NSIGNALS); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-socket-buffer-size.c b/deps/uv/test/test-socket-buffer-size.c index 72f8c2524c09a7..5f072cb02be252 100644 --- a/deps/uv/test/test-socket-buffer-size.c +++ b/deps/uv/test/test-socket-buffer-size.c @@ -72,6 +72,6 @@ TEST_IMPL(socket_buffer_size) { ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-spawn.c b/deps/uv/test/test-spawn.c index 7a07482b1c98f6..182cf5ec3ebaa7 100644 --- a/deps/uv/test/test-spawn.c +++ b/deps/uv/test/test-spawn.c @@ -193,7 +193,7 @@ TEST_IMPL(spawn_fails) { uv_close((uv_handle_t*) &process, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -223,7 +223,7 @@ TEST_IMPL(spawn_fails_check_for_waitpid_cleanup) { uv_close((uv_handle_t*) &process, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -253,7 +253,7 @@ TEST_IMPL(spawn_empty_env) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -272,7 +272,7 @@ TEST_IMPL(spawn_exit_code) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -305,7 +305,7 @@ TEST_IMPL(spawn_stdout) { printf("output is: %s", output); ASSERT(strcmp("hello world\n", output) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -359,7 +359,7 @@ TEST_IMPL(spawn_stdout_to_file) { /* Cleanup. */ unlink("stdout_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -415,7 +415,7 @@ TEST_IMPL(spawn_stdout_and_stderr_to_file) { /* Cleanup. */ unlink("stdout_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -477,7 +477,7 @@ TEST_IMPL(spawn_stdout_and_stderr_to_file2) { /* Cleanup. */ unlink("stdout_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #else RETURN_SKIP("Unix only test"); @@ -569,7 +569,7 @@ TEST_IMPL(spawn_stdout_and_stderr_to_file_swap) { unlink("stdout_file"); unlink("stderr_file"); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #else RETURN_SKIP("Unix only test"); @@ -615,7 +615,7 @@ TEST_IMPL(spawn_stdin) { ASSERT(close_cb_called == 3); /* Once for process twice for the pipe. */ ASSERT(strcmp(buffer, output) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -650,7 +650,7 @@ TEST_IMPL(spawn_stdio_greater_than_3) { printf("output from stdio[3] is: %s", output); ASSERT(strcmp("fourth stdio!\n", output) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -728,7 +728,7 @@ TEST_IMPL(spawn_tcp_server) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -750,7 +750,7 @@ TEST_IMPL(spawn_ignored_stdio) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -775,7 +775,7 @@ TEST_IMPL(spawn_and_kill) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 2); /* Once for process and once for timer. */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -815,7 +815,7 @@ TEST_IMPL(spawn_preserve_env) { printf("output is: %s", output); ASSERT(strcmp("testval", output) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -845,7 +845,7 @@ TEST_IMPL(spawn_detached) { r = uv_kill(process.pid, SIGTERM); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -903,7 +903,7 @@ TEST_IMPL(spawn_and_kill_with_std) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 5); /* process x 1, timer x 1, stdio x 3. */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -950,7 +950,7 @@ TEST_IMPL(spawn_and_ping) { ASSERT(exit_cb_called == 1); ASSERT(strcmp(output, "TEST") == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -997,7 +997,7 @@ TEST_IMPL(spawn_same_stdout_stderr) { ASSERT(exit_cb_called == 1); ASSERT(strcmp(output, "TEST") == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1029,7 +1029,7 @@ TEST_IMPL(spawn_closed_process_io) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 2); /* process, child stdin */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1083,7 +1083,7 @@ TEST_IMPL(kill) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1135,7 +1135,7 @@ TEST_IMPL(spawn_detect_pipe_name_collisions_on_windows) { printf("output is: %s", output); ASSERT(strcmp("hello world\n", output) == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1363,7 +1363,7 @@ TEST_IMPL(spawn_with_an_odd_path) { uv_close((uv_handle_t*) &process, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -1406,7 +1406,7 @@ TEST_IMPL(spawn_setuid_setgid) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -1459,7 +1459,7 @@ TEST_IMPL(spawn_setuid_fails) { ASSERT(close_cb_called == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1504,7 +1504,7 @@ TEST_IMPL(spawn_setgid_fails) { ASSERT(close_cb_called == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -1535,7 +1535,7 @@ TEST_IMPL(spawn_setuid_fails) { ASSERT(close_cb_called == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1556,7 +1556,7 @@ TEST_IMPL(spawn_setgid_fails) { ASSERT(close_cb_called == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -1570,7 +1570,7 @@ TEST_IMPL(spawn_auto_unref) { uv_close((uv_handle_t*) &process, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); ASSERT(1 == uv_is_closing((uv_handle_t*) &process)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1633,7 +1633,7 @@ TEST_IMPL(spawn_fs_open) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 2); /* One for `in`, one for process */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1705,7 +1705,7 @@ TEST_IMPL(closed_fd_events) { ASSERT(0 == close(fd[1])); #endif - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1775,7 +1775,7 @@ TEST_IMPL(spawn_reads_child_path) { ASSERT(exit_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -1859,7 +1859,7 @@ TEST_IMPL(spawn_inherit_streams) { r = memcmp(ubuf, output, sizeof ubuf); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1883,7 +1883,7 @@ TEST_IMPL(spawn_quoted_path) { /* We test if libuv will not segfault. */ uv_spawn(uv_default_loop(), &process, &options); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #endif } @@ -1922,7 +1922,7 @@ TEST_IMPL(spawn_exercise_sigchld_issue) { ASSERT_EQ(exit_cb_called, 1); ASSERT_EQ(close_cb_called, 101); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -2009,6 +2009,6 @@ TEST_IMPL(spawn_relative_path) { ASSERT_EQ(1, exit_cb_called); ASSERT_EQ(1, close_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-stdio-over-pipes.c b/deps/uv/test/test-stdio-over-pipes.c index 1aed47122772ab..1b7f17297cabb2 100644 --- a/deps/uv/test/test-stdio-over-pipes.c +++ b/deps/uv/test/test-stdio-over-pipes.c @@ -145,7 +145,7 @@ static void test_stdio_over_pipes(int overlapped) { r = uv_read_start((uv_stream_t*) &out, on_alloc, on_read); ASSERT(r == 0); - r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); + r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); ASSERT(on_read_cb_called > 1); @@ -155,7 +155,7 @@ static void test_stdio_over_pipes(int overlapped) { ASSERT(memcmp("hello world\nhello world\n", output, 24) == 0); ASSERT(output_used == 24); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); } TEST_IMPL(stdio_over_pipes) { @@ -294,6 +294,6 @@ int stdio_over_pipes_helper(void) { ASSERT(on_pipe_read_called == 2); ASSERT(close_cb_called == 4); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-alloc-cb-fail.c b/deps/uv/test/test-tcp-alloc-cb-fail.c index b6f4ca38850bac..a1b5e84d3b13dd 100644 --- a/deps/uv/test/test-tcp-alloc-cb-fail.c +++ b/deps/uv/test/test-tcp-alloc-cb-fail.c @@ -118,6 +118,6 @@ TEST_IMPL(tcp_alloc_cb_fail) { ASSERT(connection_cb_called == 1); ASSERT(close_cb_called == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-bind-error.c b/deps/uv/test/test-tcp-bind-error.c index c3ca6ec824a948..edb44c21459261 100644 --- a/deps/uv/test/test-tcp-bind-error.c +++ b/deps/uv/test/test-tcp-bind-error.c @@ -72,7 +72,7 @@ TEST_IMPL(tcp_bind_error_addrinuse_connect) { ASSERT(connect_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -105,7 +105,7 @@ TEST_IMPL(tcp_bind_error_addrinuse_listen) { ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -130,7 +130,7 @@ TEST_IMPL(tcp_bind_error_addrnotavail_1) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -153,7 +153,7 @@ TEST_IMPL(tcp_bind_error_addrnotavail_2) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -178,7 +178,7 @@ TEST_IMPL(tcp_bind_error_fault) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -206,7 +206,7 @@ TEST_IMPL(tcp_bind_error_inval) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -223,7 +223,7 @@ TEST_IMPL(tcp_bind_localhost_ok) { r = uv_tcp_bind(&server, (const struct sockaddr*) &addr, 0); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -240,7 +240,7 @@ TEST_IMPL(tcp_bind_invalid_flags) { r = uv_tcp_bind(&server, (const struct sockaddr*) &addr, UV_TCP_IPV6ONLY); ASSERT(r == UV_EINVAL); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -254,7 +254,7 @@ TEST_IMPL(tcp_listen_without_bind) { r = uv_listen((uv_stream_t*)&server, 128, NULL); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -294,7 +294,7 @@ TEST_IMPL(tcp_bind_writable_flags) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -312,6 +312,6 @@ TEST_IMPL(tcp_bind_or_listen_error_after_close) { ASSERT_EQ(uv_tcp_bind(&tcp, (struct sockaddr*) &addr, 0), UV_EINVAL); ASSERT_EQ(uv_listen((uv_stream_t*) &tcp, 5, NULL), UV_EINVAL); ASSERT_EQ(uv_run(uv_default_loop(), UV_RUN_DEFAULT), 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-bind6-error.c b/deps/uv/test/test-tcp-bind6-error.c index 86181b708e3fd2..656ebe34e297da 100644 --- a/deps/uv/test/test-tcp-bind6-error.c +++ b/deps/uv/test/test-tcp-bind6-error.c @@ -66,7 +66,7 @@ TEST_IMPL(tcp_bind6_error_addrinuse) { ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -92,7 +92,7 @@ TEST_IMPL(tcp_bind6_error_addrnotavail) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -120,7 +120,7 @@ TEST_IMPL(tcp_bind6_error_fault) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -151,7 +151,7 @@ TEST_IMPL(tcp_bind6_error_inval) { ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -171,6 +171,6 @@ TEST_IMPL(tcp_bind6_localhost_ok) { r = uv_tcp_bind(&server, (const struct sockaddr*) &addr, 0); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-close-accept.c b/deps/uv/test/test-tcp-close-accept.c index 624262bcfe9000..b255cfbd9f362e 100644 --- a/deps/uv/test/test-tcp-close-accept.c +++ b/deps/uv/test/test-tcp-close-accept.c @@ -187,7 +187,7 @@ TEST_IMPL(tcp_close_accept) { ASSERT(ARRAY_SIZE(tcp_outgoing) == write_cb_called); ASSERT(1 == read_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-close-after-read-timeout.c b/deps/uv/test/test-tcp-close-after-read-timeout.c index 493492dba6ad4e..098e405a87529c 100644 --- a/deps/uv/test/test-tcp-close-after-read-timeout.c +++ b/deps/uv/test/test-tcp-close-after-read-timeout.c @@ -178,6 +178,6 @@ TEST_IMPL(tcp_close_after_read_timeout) { ASSERT_EQ(read_cb_called, 1); ASSERT_EQ(on_close_called, 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-close-reset.c b/deps/uv/test/test-tcp-close-reset.c index 66dfc82eb47838..7415646996cd9f 100644 --- a/deps/uv/test/test-tcp-close-reset.c +++ b/deps/uv/test/test-tcp-close-reset.c @@ -223,7 +223,7 @@ TEST_IMPL(tcp_close_reset_client) { ASSERT(close_cb_called == 1); ASSERT(shutdown_cb_called == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -250,7 +250,7 @@ TEST_IMPL(tcp_close_reset_client_after_shutdown) { ASSERT(close_cb_called == 0); ASSERT(shutdown_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -277,7 +277,7 @@ TEST_IMPL(tcp_close_reset_accepted) { ASSERT(close_cb_called == 1); ASSERT(shutdown_cb_called == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -304,7 +304,7 @@ TEST_IMPL(tcp_close_reset_accepted_after_shutdown) { ASSERT(close_cb_called == 0); ASSERT(shutdown_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -331,6 +331,6 @@ TEST_IMPL(tcp_close_reset_accepted_after_socket_shutdown) { ASSERT_EQ(close_cb_called, 1); ASSERT_EQ(shutdown_cb_called, 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-close-while-connecting.c b/deps/uv/test/test-tcp-close-while-connecting.c index 8d0b8270645c76..490413891bbc0c 100644 --- a/deps/uv/test/test-tcp-close-while-connecting.c +++ b/deps/uv/test/test-tcp-close-while-connecting.c @@ -88,7 +88,7 @@ TEST_IMPL(tcp_close_while_connecting) { ASSERT(timer1_cb_called == 1); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); if (netunreach_errors > 0) RETURN_SKIP("Network unreachable."); diff --git a/deps/uv/test/test-tcp-close.c b/deps/uv/test/test-tcp-close.c index 5a7bd6893bf479..6879bae20f89ad 100644 --- a/deps/uv/test/test-tcp-close.c +++ b/deps/uv/test/test-tcp-close.c @@ -131,6 +131,6 @@ TEST_IMPL(tcp_close) { ASSERT(write_cb_called == NUM_WRITE_REQS); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-connect-error-after-write.c b/deps/uv/test/test-tcp-connect-error-after-write.c index 3f2e3572da9be2..1800b4d6ed06d3 100644 --- a/deps/uv/test/test-tcp-connect-error-after-write.c +++ b/deps/uv/test/test-tcp-connect-error-after-write.c @@ -55,6 +55,11 @@ static void write_cb(uv_write_t* req, int status) { * Related issue: https://github.com/joyent/libuv/issues/443 */ TEST_IMPL(tcp_connect_error_after_write) { +#ifdef _WIN32 + RETURN_SKIP("This test is disabled on Windows for now. " + "See https://github.com/joyent/libuv/issues/444\n"); +#else + uv_connect_t connect_req; struct sockaddr_in addr; uv_write_t write_req; @@ -62,12 +67,6 @@ TEST_IMPL(tcp_connect_error_after_write) { uv_buf_t buf; int r; -#ifdef _WIN32 - fprintf(stderr, "This test is disabled on Windows for now.\n"); - fprintf(stderr, "See https://github.com/joyent/libuv/issues/444\n"); - return 0; /* windows slackers... */ -#endif - ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &addr)); buf = uv_buf_init("TEST", 4); @@ -93,6 +92,7 @@ TEST_IMPL(tcp_connect_error_after_write) { ASSERT(write_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; +#endif } diff --git a/deps/uv/test/test-tcp-connect-error.c b/deps/uv/test/test-tcp-connect-error.c index dda30a58064f8f..9384ebce57c450 100644 --- a/deps/uv/test/test-tcp-connect-error.c +++ b/deps/uv/test/test-tcp-connect-error.c @@ -68,6 +68,6 @@ TEST_IMPL(tcp_connect_error_fault) { ASSERT(connect_cb_called == 0); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-connect-timeout.c b/deps/uv/test/test-tcp-connect-timeout.c index 0f968157127d0d..4cd83e1d38b58c 100644 --- a/deps/uv/test/test-tcp-connect-timeout.c +++ b/deps/uv/test/test-tcp-connect-timeout.c @@ -86,7 +86,7 @@ TEST_IMPL(tcp_connect_timeout) { r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -153,7 +153,7 @@ TEST_IMPL(tcp_local_connect_timeout) { r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -191,6 +191,6 @@ TEST_IMPL(tcp6_local_connect_timeout) { r = uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT_EQ(r, 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-connect6-error.c b/deps/uv/test/test-tcp-connect6-error.c index 2f6e9cbce14336..8646dd56496eb0 100644 --- a/deps/uv/test/test-tcp-connect6-error.c +++ b/deps/uv/test/test-tcp-connect6-error.c @@ -66,6 +66,6 @@ TEST_IMPL(tcp_connect6_error_fault) { ASSERT(connect_cb_called == 0); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-create-socket-early.c b/deps/uv/test/test-tcp-create-socket-early.c index f2bc60d7c7c0ec..c84882dad216ef 100644 --- a/deps/uv/test/test-tcp-create-socket-early.c +++ b/deps/uv/test/test-tcp-create-socket-early.c @@ -128,7 +128,7 @@ TEST_IMPL(tcp_create_early) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -173,7 +173,7 @@ TEST_IMPL(tcp_create_early_bad_bind) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -190,7 +190,7 @@ TEST_IMPL(tcp_create_early_bad_domain) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -204,6 +204,6 @@ TEST_IMPL(tcp_create_early_accept) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-flags.c b/deps/uv/test/test-tcp-flags.c index 68afb39f456875..6856429aa1dc75 100644 --- a/deps/uv/test/test-tcp-flags.c +++ b/deps/uv/test/test-tcp-flags.c @@ -47,6 +47,6 @@ TEST_IMPL(tcp_flags) { r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-oob.c b/deps/uv/test/test-tcp-oob.c index 53f8231e83e497..989454ed8787f9 100644 --- a/deps/uv/test/test-tcp-oob.c +++ b/deps/uv/test/test-tcp-oob.c @@ -135,7 +135,7 @@ TEST_IMPL(tcp_oob) { ASSERT(ticks == kMaxTicks); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-open.c b/deps/uv/test/test-tcp-open.c index 7e49139cd81a86..b5c5621a793679 100644 --- a/deps/uv/test/test-tcp-open.c +++ b/deps/uv/test/test-tcp-open.c @@ -277,7 +277,7 @@ TEST_IMPL(tcp_open) { ASSERT(write_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -304,7 +304,7 @@ TEST_IMPL(tcp_open_twice) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -327,7 +327,7 @@ TEST_IMPL(tcp_open_bound) { ASSERT(0 == uv_listen((uv_stream_t*) &server, 128, NULL)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -361,7 +361,7 @@ TEST_IMPL(tcp_open_connected) { ASSERT(write_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -396,6 +396,6 @@ TEST_IMPL(tcp_write_ready) { ASSERT(write_cb_called > 0); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-read-stop-start.c b/deps/uv/test/test-tcp-read-stop-start.c index 9bccbc12fc58e6..9be12bb75b0b34 100644 --- a/deps/uv/test/test-tcp-read-stop-start.c +++ b/deps/uv/test/test-tcp-read-stop-start.c @@ -131,6 +131,6 @@ TEST_IMPL(tcp_read_stop_start) { ASSERT(read_cb_called >= 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-read-stop.c b/deps/uv/test/test-tcp-read-stop.c index 488e8fb49a904b..1754876d4f1263 100644 --- a/deps/uv/test/test-tcp-read-stop.c +++ b/deps/uv/test/test-tcp-read-stop.c @@ -70,7 +70,7 @@ TEST_IMPL(tcp_read_stop) { (const struct sockaddr*) &addr, connect_cb)); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-rst.c b/deps/uv/test/test-tcp-rst.c index ed48e741908361..b5d216ce7e8e51 100644 --- a/deps/uv/test/test-tcp-rst.c +++ b/deps/uv/test/test-tcp-rst.c @@ -76,6 +76,9 @@ static void connect_cb(uv_connect_t *req, int status) { * RST. Test checks that uv_guess_handle still works on a reset TCP handle. */ TEST_IMPL(tcp_rst) { +#if defined(__OpenBSD__) + RETURN_SKIP("Test does not currently work in OpenBSD"); +#endif #ifndef _WIN32 struct sockaddr_in server_addr; int r; @@ -99,7 +102,7 @@ TEST_IMPL(tcp_rst) { ASSERT_EQ(called_connect_cb, 1); ASSERT_EQ(called_close_cb, 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; #else RETURN_SKIP("Unix only test"); diff --git a/deps/uv/test/test-tcp-shutdown-after-write.c b/deps/uv/test/test-tcp-shutdown-after-write.c index 463b4b0d79cb71..d2401e8fdb36f6 100644 --- a/deps/uv/test/test-tcp-shutdown-after-write.c +++ b/deps/uv/test/test-tcp-shutdown-after-write.c @@ -133,6 +133,6 @@ TEST_IMPL(tcp_shutdown_after_write) { ASSERT(conn_close_cb_called == 1); ASSERT(timer_close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-try-write-error.c b/deps/uv/test/test-tcp-try-write-error.c index 2201d0ea61ad31..97deccaa0dd7eb 100644 --- a/deps/uv/test/test-tcp-try-write-error.c +++ b/deps/uv/test/test-tcp-try-write-error.c @@ -104,6 +104,6 @@ TEST_IMPL(tcp_try_write_error) { ASSERT(close_cb_called == 3); ASSERT(connection_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-try-write.c b/deps/uv/test/test-tcp-try-write.c index 97a1d6e3d5794f..6458857a85c879 100644 --- a/deps/uv/test/test-tcp-try-write.c +++ b/deps/uv/test/test-tcp-try-write.c @@ -130,6 +130,6 @@ TEST_IMPL(tcp_try_write) { ASSERT(bytes_read == bytes_written); ASSERT(bytes_written > 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-unexpected-read.c b/deps/uv/test/test-tcp-unexpected-read.c index c7b981456be469..e11f77473f4030 100644 --- a/deps/uv/test/test-tcp-unexpected-read.c +++ b/deps/uv/test/test-tcp-unexpected-read.c @@ -112,6 +112,6 @@ TEST_IMPL(tcp_unexpected_read) { */ ASSERT(ticks <= 20); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-write-after-connect.c b/deps/uv/test/test-tcp-write-after-connect.c index 8a698f44bd5db5..4a786995ff1002 100644 --- a/deps/uv/test/test-tcp-write-after-connect.c +++ b/deps/uv/test/test-tcp-write-after-connect.c @@ -66,7 +66,7 @@ TEST_IMPL(tcp_write_after_connect) { uv_run(&loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); return 0; } diff --git a/deps/uv/test/test-tcp-write-fail.c b/deps/uv/test/test-tcp-write-fail.c index 58ee00faedb410..2912e7c5068586 100644 --- a/deps/uv/test/test-tcp-write-fail.c +++ b/deps/uv/test/test-tcp-write-fail.c @@ -110,6 +110,6 @@ TEST_IMPL(tcp_write_fail) { ASSERT(write_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-write-in-a-row.c b/deps/uv/test/test-tcp-write-in-a-row.c new file mode 100644 index 00000000000000..99f4dee125e1a8 --- /dev/null +++ b/deps/uv/test/test-tcp-write-in-a-row.c @@ -0,0 +1,142 @@ +/* Copyright libuv project 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. + */ + +#include +#include +#include + +#include "task.h" +#include "uv.h" + +static uv_tcp_t server; +static uv_tcp_t client; +static uv_tcp_t incoming; +static int connect_cb_called; +static int close_cb_called; +static int connection_cb_called; +static int write_cb_called; +static uv_write_t small_write; +static uv_write_t big_write; + +/* 10 MB, which is large than the send buffer size and the recv buffer */ +static char data[1024 * 1024 * 10]; + +static void close_cb(uv_handle_t* handle) { + close_cb_called++; +} + +static void write_cb(uv_write_t* w, int status) { + /* the small write should finish immediately after the big write */ + ASSERT_EQ(0, uv_stream_get_write_queue_size((uv_stream_t*) &client)); + + write_cb_called++; + + if (write_cb_called == 2) { + /* we are done */ + uv_close((uv_handle_t*) &client, close_cb); + uv_close((uv_handle_t*) &incoming, close_cb); + uv_close((uv_handle_t*) &server, close_cb); + } +} + +static void connect_cb(uv_connect_t* _, int status) { + int r; + uv_buf_t buf; + size_t write_queue_size0, write_queue_size1; + + ASSERT_EQ(0, status); + connect_cb_called++; + + /* fire a big write */ + buf = uv_buf_init(data, sizeof(data)); + r = uv_write(&small_write, (uv_stream_t*) &client, &buf, 1, write_cb); + ASSERT_EQ(0, r); + + /* check that the write process gets stuck */ + write_queue_size0 = uv_stream_get_write_queue_size((uv_stream_t*) &client); + ASSERT_GT(write_queue_size0, 0); + + /* fire a small write, which should be queued */ + buf = uv_buf_init("A", 1); + r = uv_write(&big_write, (uv_stream_t*) &client, &buf, 1, write_cb); + ASSERT_EQ(0, r); + + write_queue_size1 = uv_stream_get_write_queue_size((uv_stream_t*) &client); + ASSERT_EQ(write_queue_size1, write_queue_size0 + 1); +} + +static void alloc_cb(uv_handle_t* handle, size_t size, uv_buf_t* buf) { + static char base[1024]; + + buf->base = base; + buf->len = sizeof(base); +} + +static void read_cb(uv_stream_t* tcp, ssize_t nread, const uv_buf_t* buf) {} + +static void connection_cb(uv_stream_t* tcp, int status) { + ASSERT_EQ(0, status); + connection_cb_called++; + + ASSERT_EQ(0, uv_tcp_init(tcp->loop, &incoming)); + ASSERT_EQ(0, uv_accept(tcp, (uv_stream_t*) &incoming)); + ASSERT_EQ(0, uv_read_start((uv_stream_t*) &incoming, alloc_cb, read_cb)); +} + +static void start_server(void) { + struct sockaddr_in addr; + + ASSERT_EQ(0, uv_ip4_addr("0.0.0.0", TEST_PORT, &addr)); + + ASSERT_EQ(0, uv_tcp_init(uv_default_loop(), &server)); + ASSERT_EQ(0, uv_tcp_bind(&server, (struct sockaddr*) &addr, 0)); + ASSERT_EQ(0, uv_listen((uv_stream_t*) &server, 128, connection_cb)); +} + +TEST_IMPL(tcp_write_in_a_row) { +#if defined(_WIN32) + RETURN_SKIP("tcp_write_in_a_row does not work on Windows"); +#else + + uv_connect_t connect_req; + struct sockaddr_in addr; + + start_server(); + + ASSERT_EQ(0, uv_ip4_addr("127.0.0.1", TEST_PORT, &addr)); + + ASSERT_EQ(0, uv_tcp_init(uv_default_loop(), &client)); + ASSERT_EQ(0, uv_tcp_connect(&connect_req, + &client, + (struct sockaddr*) &addr, + connect_cb)); + + ASSERT_EQ(0, uv_run(uv_default_loop(), UV_RUN_DEFAULT)); + + ASSERT_EQ(1, connect_cb_called); + ASSERT_EQ(3, close_cb_called); + ASSERT_EQ(1, connection_cb_called); + ASSERT_EQ(2, write_cb_called); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +#endif +} diff --git a/deps/uv/test/test-tcp-write-queue-order.c b/deps/uv/test/test-tcp-write-queue-order.c index 1ff9c517cec1c6..7562c41d3de208 100644 --- a/deps/uv/test/test-tcp-write-queue-order.c +++ b/deps/uv/test/test-tcp-write-queue-order.c @@ -134,6 +134,6 @@ TEST_IMPL(tcp_write_queue_order) { write_cancelled_callbacks == REQ_COUNT); ASSERT(close_cb_called == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tcp-write-to-half-open-connection.c b/deps/uv/test/test-tcp-write-to-half-open-connection.c index ae4251317d80e6..8978211d2b7663 100644 --- a/deps/uv/test/test-tcp-write-to-half-open-connection.c +++ b/deps/uv/test/test-tcp-write-to-half-open-connection.c @@ -136,6 +136,6 @@ TEST_IMPL(tcp_write_to_half_open_connection) { ASSERT(write_cb_called > 0); ASSERT(read_cb_called > 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tcp-writealot.c b/deps/uv/test/test-tcp-writealot.c index 40dce96e8d8c34..3c6c149e92c590 100644 --- a/deps/uv/test/test-tcp-writealot.c +++ b/deps/uv/test/test-tcp-writealot.c @@ -149,6 +149,10 @@ TEST_IMPL(tcp_writealot) { uv_tcp_t client; int r; +#ifdef __TSAN__ + RETURN_SKIP("Test is too slow to run under ThreadSanitizer"); +#endif + ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &addr)); send_buffer = calloc(1, TOTAL_BYTES); @@ -175,6 +179,6 @@ TEST_IMPL(tcp_writealot) { free(send_buffer); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-thread-affinity.c b/deps/uv/test/test-thread-affinity.c new file mode 100644 index 00000000000000..2c9b696ec7a5d2 --- /dev/null +++ b/deps/uv/test/test-thread-affinity.c @@ -0,0 +1,136 @@ +/* Copyright libuv project contributors. All rights reserved. + */ + +#include "uv.h" +#include "task.h" + +#include + +#ifndef NO_CPU_AFFINITY + +static void check_affinity(void* arg) { + int r; + char* cpumask; + int cpumasksize; + uv_thread_t tid; + + cpumask = (char*)arg; + cpumasksize = uv_cpumask_size(); + ASSERT(cpumasksize > 0); + tid = uv_thread_self(); + r = uv_thread_setaffinity(&tid, cpumask, NULL, cpumasksize); + ASSERT(r == 0); + r = uv_thread_setaffinity(&tid, cpumask + cpumasksize, cpumask, cpumasksize); + ASSERT(r == 0); +} + + +TEST_IMPL(thread_affinity) { + int t1first; + int t1second; + int t2first; + int t2second; + int cpumasksize; + char* cpumask; + int ncpus; + int r; + int c; + int i; + uv_thread_t threads[3]; + +#ifdef _WIN32 + /* uv_thread_self isn't defined for the main thread on Windows */ + threads[0] = GetCurrentThread(); +#else + threads[0] = uv_thread_self(); +#endif + cpumasksize = uv_cpumask_size(); + ASSERT(cpumasksize > 0); + + cpumask = calloc(4 * cpumasksize, 1); + ASSERT(cpumask); + + r = uv_thread_getaffinity(&threads[0], cpumask, cpumasksize); + ASSERT(r == 0); + ASSERT(cpumask[0] && "test must be run with cpu 0 affinity"); + ncpus = 0; + while (cpumask[++ncpus]) { } + memset(cpumask, 0, 4 * cpumasksize); + + t1first = cpumasksize * 0; + t1second = cpumasksize * 1; + t2first = cpumasksize * 2; + t2second = cpumasksize * 3; + + cpumask[t1second + 0] = 1; + cpumask[t2first + 0] = 1; + cpumask[t1first + (ncpus >= 2)] = 1; + cpumask[t2second + (ncpus >= 2)] = 1; +#ifdef __linux__ + cpumask[t1second + 2] = 1; + cpumask[t2first + 2] = 1; + cpumask[t1first + 3] = 1; + cpumask[t2second + 3] = 1; +#else + if (ncpus >= 3) { + cpumask[t1second + 2] = 1; + cpumask[t2first + 2] = 1; + } + if (ncpus >= 4) { + cpumask[t1first + 3] = 1; + cpumask[t2second + 3] = 1; + } +#endif + + ASSERT(0 == uv_thread_create(threads + 1, + check_affinity, + &cpumask[t1first])); + ASSERT(0 == uv_thread_create(threads + 2, + check_affinity, + &cpumask[t2first])); + ASSERT(0 == uv_thread_join(threads + 1)); + ASSERT(0 == uv_thread_join(threads + 2)); + + ASSERT(cpumask[t1first + 0] == (ncpus == 1)); + ASSERT(cpumask[t1first + 1] == (ncpus >= 2)); + ASSERT(cpumask[t1first + 2] == 0); + ASSERT(cpumask[t1first + 3] == (ncpus >= 4)); + + ASSERT(cpumask[t2first + 0] == 1); + ASSERT(cpumask[t2first + 1] == 0); + ASSERT(cpumask[t2first + 2] == (ncpus >= 3)); + ASSERT(cpumask[t2first + 3] == 0); + + c = uv_thread_getcpu(); + ASSERT_GE(c, 0); + + memset(cpumask, 0, cpumasksize); + cpumask[c] = 1; + r = uv_thread_setaffinity(&threads[0], cpumask, NULL, cpumasksize); + ASSERT_EQ(r, 0); + + memset(cpumask, 0, cpumasksize); + r = uv_thread_getaffinity(&threads[0], cpumask, cpumasksize); + ASSERT_EQ(r, 0); + for (i = 0; i < cpumasksize; i++) { + if (i == c) + ASSERT_EQ(1, cpumask[i]); + else + ASSERT_EQ(0, cpumask[i]); + } + + free(cpumask); + + return 0; +} + +#else + +TEST_IMPL(thread_affinity) { + int cpumasksize; + cpumasksize = uv_cpumask_size(); + ASSERT(cpumasksize == UV_ENOTSUP); + return 0; +} + +#endif diff --git a/deps/uv/test/test-threadpool-cancel.c b/deps/uv/test/test-threadpool-cancel.c index 1e867c51cf9c3f..263d54a5234e97 100644 --- a/deps/uv/test/test-threadpool-cancel.c +++ b/deps/uv/test/test-threadpool-cancel.c @@ -87,8 +87,34 @@ static void unblock_threadpool(void) { } +static int known_broken(uv_req_t* req) { + if (req->type != UV_FS) + return 0; + +#ifdef __linux__ + /* TODO(bnoordhuis) make cancellation work with io_uring */ + switch (((uv_fs_t*) req)->fs_type) { + case UV_FS_CLOSE: + case UV_FS_FDATASYNC: + case UV_FS_FSTAT: + case UV_FS_FSYNC: + case UV_FS_LSTAT: + case UV_FS_OPEN: + case UV_FS_READ: + case UV_FS_STAT: + case UV_FS_WRITE: + return 1; + default: /* Squelch -Wswitch warnings. */ + break; + } +#endif + + return 0; +} + + static void fs_cb(uv_fs_t* req) { - ASSERT(req->result == UV_ECANCELED); + ASSERT(known_broken((uv_req_t*) req) || req->result == UV_ECANCELED); uv_fs_req_cleanup(req); fs_cb_called++; } @@ -133,7 +159,7 @@ static void timer_cb(uv_timer_t* handle) { for (i = 0; i < ci->nreqs; i++) { req = (uv_req_t*) ((char*) ci->reqs + i * ci->stride); - ASSERT(0 == uv_cancel(req)); + ASSERT(known_broken(req) || 0 == uv_cancel(req)); } uv_close((uv_handle_t*) &ci->timer_handle, NULL); @@ -189,7 +215,7 @@ TEST_IMPL(threadpool_cancel_getaddrinfo) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(1 == timer_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -225,7 +251,7 @@ TEST_IMPL(threadpool_cancel_getnameinfo) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(1 == timer_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -248,7 +274,7 @@ TEST_IMPL(threadpool_cancel_random) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(1 == done_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -272,7 +298,7 @@ TEST_IMPL(threadpool_cancel_work) { ASSERT(1 == timer_cb_called); ASSERT(ARRAY_SIZE(reqs) == done2_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -305,7 +331,7 @@ TEST_IMPL(threadpool_cancel_fs) { ASSERT(0 == uv_fs_lstat(loop, reqs + n++, "/", fs_cb)); ASSERT(0 == uv_fs_mkdir(loop, reqs + n++, "/", 0, fs_cb)); ASSERT(0 == uv_fs_open(loop, reqs + n++, "/", 0, 0, fs_cb)); - ASSERT(0 == uv_fs_read(loop, reqs + n++, 0, &iov, 1, 0, fs_cb)); + ASSERT(0 == uv_fs_read(loop, reqs + n++, -1, &iov, 1, 0, fs_cb)); ASSERT(0 == uv_fs_scandir(loop, reqs + n++, "/", 0, fs_cb)); ASSERT(0 == uv_fs_readlink(loop, reqs + n++, "/", fs_cb)); ASSERT(0 == uv_fs_realpath(loop, reqs + n++, "/", fs_cb)); @@ -316,7 +342,7 @@ TEST_IMPL(threadpool_cancel_fs) { ASSERT(0 == uv_fs_symlink(loop, reqs + n++, "/", "/", 0, fs_cb)); ASSERT(0 == uv_fs_unlink(loop, reqs + n++, "/", fs_cb)); ASSERT(0 == uv_fs_utime(loop, reqs + n++, "/", 0, 0, fs_cb)); - ASSERT(0 == uv_fs_write(loop, reqs + n++, 0, &iov, 1, 0, fs_cb)); + ASSERT(0 == uv_fs_write(loop, reqs + n++, -1, &iov, 1, 0, fs_cb)); ASSERT(n == ARRAY_SIZE(reqs)); ASSERT(0 == uv_timer_init(loop, &ci.timer_handle)); @@ -326,7 +352,7 @@ TEST_IMPL(threadpool_cancel_fs) { ASSERT(1 == timer_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -344,6 +370,6 @@ TEST_IMPL(threadpool_cancel_single) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); ASSERT(1 == done_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-threadpool.c b/deps/uv/test/test-threadpool.c index e3d17d7546f66b..5254131bce303d 100644 --- a/deps/uv/test/test-threadpool.c +++ b/deps/uv/test/test-threadpool.c @@ -54,7 +54,7 @@ TEST_IMPL(threadpool_queue_work_simple) { ASSERT(work_cb_count == 1); ASSERT(after_work_cb_count == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -71,6 +71,6 @@ TEST_IMPL(threadpool_queue_work_einval) { ASSERT(work_cb_count == 0); ASSERT(after_work_cb_count == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-timer-again.c b/deps/uv/test/test-timer-again.c index 834b59d718c8aa..cb298956aa94ac 100644 --- a/deps/uv/test/test-timer-again.c +++ b/deps/uv/test/test-timer-again.c @@ -136,6 +136,6 @@ TEST_IMPL(timer_again) { (long int)(uv_now(uv_default_loop()) - start_time)); fflush(stderr); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-timer-from-check.c b/deps/uv/test/test-timer-from-check.c index a18c7e1fb99637..e1a002d8121065 100644 --- a/deps/uv/test/test-timer-from-check.c +++ b/deps/uv/test/test-timer-from-check.c @@ -75,6 +75,6 @@ TEST_IMPL(timer_from_check) { uv_close((uv_handle_t*) &check_handle, NULL); uv_close((uv_handle_t*) &timer_handle, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_ONCE)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-timer.c b/deps/uv/test/test-timer.c index a9fa534f5ad6b1..eb54bb25f0c7d2 100644 --- a/deps/uv/test/test-timer.c +++ b/deps/uv/test/test-timer.c @@ -30,6 +30,7 @@ static int twice_close_cb_called = 0; static int repeat_cb_called = 0; static int repeat_close_cb_called = 0; static int order_cb_called = 0; +static int timer_check_double_call_called = 0; static uint64_t start_time; static uv_timer_t tiny_timer; static uv_timer_t huge_timer1; @@ -154,7 +155,7 @@ TEST_IMPL(timer) { ASSERT(500 <= uv_now(uv_default_loop()) - start_time); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -174,7 +175,7 @@ TEST_IMPL(timer_start_twice) { ASSERT(twice_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -187,7 +188,7 @@ TEST_IMPL(timer_init) { ASSERT_UINT64_LE(0, uv_timer_get_due_in(&handle)); ASSERT(0 == uv_is_active((uv_handle_t*) &handle)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -236,7 +237,7 @@ TEST_IMPL(timer_order) { ASSERT(order_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -260,7 +261,7 @@ TEST_IMPL(timer_huge_timeout) { ASSERT_UINT64_EQ(281474976710655, uv_timer_get_due_in(&huge_timer1)); ASSERT_UINT64_LE(0, uv_timer_get_due_in(&huge_timer2)); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -286,7 +287,7 @@ TEST_IMPL(timer_huge_repeat) { ASSERT(0 == uv_timer_start(&tiny_timer, huge_repeat_cb, 2, 2)); ASSERT(0 == uv_timer_start(&huge_timer1, huge_repeat_cb, 1, (uint64_t) -1)); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -314,7 +315,7 @@ TEST_IMPL(timer_run_once) { uv_close((uv_handle_t*) &timer_handle, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_ONCE)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -327,7 +328,7 @@ TEST_IMPL(timer_is_closing) { ASSERT(UV_EINVAL == uv_timer_start(&handle, never_cb, 100, 100)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -338,7 +339,7 @@ TEST_IMPL(timer_null_callback) { ASSERT(0 == uv_timer_init(uv_default_loop(), &handle)); ASSERT(UV_EINVAL == uv_timer_start(&handle, NULL, 100, 100)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -365,6 +366,44 @@ TEST_IMPL(timer_early_check) { uv_close((uv_handle_t*) &timer_handle, NULL); ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +} + +static void timer_check_double_call(uv_timer_t* handle) { + timer_check_double_call_called++; +} + +TEST_IMPL(timer_no_double_call_once) { + uv_timer_t timer_handle; + const uint64_t timeout_ms = 10; + + ASSERT_EQ(0, uv_timer_init(uv_default_loop(), &timer_handle)); + ASSERT_EQ(0, uv_timer_start(&timer_handle, + timer_check_double_call, + timeout_ms, + timeout_ms)); + uv_sleep(timeout_ms * 2); + ASSERT_EQ(1, uv_run(uv_default_loop(), UV_RUN_ONCE)); + ASSERT_EQ(1, timer_check_double_call_called); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +} + +TEST_IMPL(timer_no_double_call_nowait) { + uv_timer_t timer_handle; + const uint64_t timeout_ms = 10; + + ASSERT_EQ(0, uv_timer_init(uv_default_loop(), &timer_handle)); + ASSERT_EQ(0, uv_timer_start(&timer_handle, + timer_check_double_call, + timeout_ms, + timeout_ms)); + uv_sleep(timeout_ms * 2); + ASSERT_EQ(1, uv_run(uv_default_loop(), UV_RUN_NOWAIT)); + ASSERT_EQ(1, timer_check_double_call_called); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-tty-duplicate-key.c b/deps/uv/test/test-tty-duplicate-key.c index efd79e14786d69..6ba96c81352337 100644 --- a/deps/uv/test/test-tty-duplicate-key.c +++ b/deps/uv/test/test-tty-duplicate-key.c @@ -180,7 +180,7 @@ TEST_IMPL(tty_duplicate_vt100_fn_key) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -246,7 +246,7 @@ TEST_IMPL(tty_duplicate_alt_modifier_key) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -310,7 +310,7 @@ TEST_IMPL(tty_composing_character) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-tty-escape-sequence-processing.c b/deps/uv/test/test-tty-escape-sequence-processing.c index 5f04291d24415d..2f7d0364b8b5f0 100644 --- a/deps/uv/test/test-tty-escape-sequence-processing.c +++ b/deps/uv/test/test-tty-escape-sequence-processing.c @@ -420,7 +420,7 @@ TEST_IMPL(tty_cursor_up) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -471,7 +471,7 @@ TEST_IMPL(tty_cursor_down) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -532,7 +532,7 @@ TEST_IMPL(tty_cursor_forward) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -593,7 +593,7 @@ TEST_IMPL(tty_cursor_back) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -644,7 +644,7 @@ TEST_IMPL(tty_cursor_next_line) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -695,7 +695,7 @@ TEST_IMPL(tty_cursor_previous_line) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -741,7 +741,7 @@ TEST_IMPL(tty_cursor_horizontal_move_absolute) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -797,7 +797,7 @@ TEST_IMPL(tty_cursor_move_absolute) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -831,7 +831,7 @@ TEST_IMPL(tty_hide_show_cursor) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -905,7 +905,7 @@ TEST_IMPL(tty_erase) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -979,7 +979,7 @@ TEST_IMPL(tty_erase_line) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1037,12 +1037,17 @@ TEST_IMPL(tty_set_cursor_shape) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } TEST_IMPL(tty_set_style) { +#if _MSC_VER >= 1920 && _MSC_VER <= 1929 + RETURN_SKIP("Broken on Microsoft Visual Studio 2019, to be investigated. " + "See: https://github.com/libuv/libuv/issues/3304"); +#else + uv_tty_t tty_out; uv_loop_t* loop; COORD cursor_pos; @@ -1070,11 +1075,6 @@ TEST_IMPL(tty_set_style) { WORD attr; int i, length; -#if _MSC_VER >= 1920 && _MSC_VER <= 1929 - RETURN_SKIP("Broken on Microsoft Visual Studio 2019, to be investigated. " - "See: https://github.com/libuv/libuv/issues/3304"); -#endif - loop = uv_default_loop(); initialize_tty(&tty_out); @@ -1121,7 +1121,7 @@ TEST_IMPL(tty_set_style) { ASSERT(compare_screen(&tty_out, &actual, &expect)); } - /* Set foregroud and background color */ + /* Set foreground and background color */ ASSERT(ARRAY_SIZE(fg_attrs) == ARRAY_SIZE(bg_attrs)); length = ARRAY_SIZE(bg_attrs); for (i = 0; i < length; i++) { @@ -1237,8 +1237,9 @@ TEST_IMPL(tty_set_style) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; +#endif } @@ -1296,7 +1297,7 @@ TEST_IMPL(tty_save_restore_cursor_position) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -1339,12 +1340,16 @@ TEST_IMPL(tty_full_reset) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } TEST_IMPL(tty_escape_sequence_processing) { +#if _MSC_VER >= 1920 && _MSC_VER <= 1929 + RETURN_SKIP("Broken on Microsoft Visual Studio 2019, to be investigated. " + "See: https://github.com/libuv/libuv/issues/3304"); +#else uv_tty_t tty_out; uv_loop_t* loop; COORD cursor_pos, cursor_pos_old; @@ -1353,16 +1358,11 @@ TEST_IMPL(tty_escape_sequence_processing) { struct captured_screen actual = {0}, expect = {0}; int dir; -#if _MSC_VER >= 1920 && _MSC_VER <= 1929 - RETURN_SKIP("Broken on Microsoft Visual Studio 2019, to be investigated. " - "See: https://github.com/libuv/libuv/issues/3304"); -#endif - loop = uv_default_loop(); initialize_tty(&tty_out); - /* CSI + finaly byte does not output anything */ + /* CSI + finally byte does not output anything */ cursor_pos.X = 1; cursor_pos.Y = 1; set_cursor_position(&tty_out, cursor_pos); @@ -1375,7 +1375,7 @@ TEST_IMPL(tty_escape_sequence_processing) { capture_screen(&tty_out, &actual); ASSERT(compare_screen(&tty_out, &actual, &expect)); - /* CSI(C1) + finaly byte does not output anything */ + /* CSI(C1) + finally byte does not output anything */ cursor_pos.X = 1; cursor_pos.Y = 1; set_cursor_position(&tty_out, cursor_pos); @@ -1388,7 +1388,7 @@ TEST_IMPL(tty_escape_sequence_processing) { capture_screen(&tty_out, &actual); ASSERT(compare_screen(&tty_out, &actual, &expect)); - /* CSI + intermediate byte + finaly byte does not output anything */ + /* CSI + intermediate byte + finally byte does not output anything */ cursor_pos.X = 1; cursor_pos.Y = 1; set_cursor_position(&tty_out, cursor_pos); @@ -1401,7 +1401,7 @@ TEST_IMPL(tty_escape_sequence_processing) { capture_screen(&tty_out, &actual); ASSERT(compare_screen(&tty_out, &actual, &expect)); - /* CSI + parameter byte + finaly byte does not output anything */ + /* CSI + parameter byte + finally byte does not output anything */ cursor_pos.X = 1; cursor_pos.Y = 1; set_cursor_position(&tty_out, cursor_pos); @@ -1605,7 +1605,7 @@ TEST_IMPL(tty_escape_sequence_processing) { capture_screen(&tty_out, &actual); ASSERT(compare_screen(&tty_out, &actual, &expect)); - /* Finaly byte immedately after CSI [ are also output(#1874 1.) */ + /* Finally byte immedately after CSI [ are also output(#1874 1.) */ cursor_pos.X = expect.si.width / 2; cursor_pos.Y = expect.si.height / 2; set_cursor_position(&tty_out, cursor_pos); @@ -1620,8 +1620,9 @@ TEST_IMPL(tty_escape_sequence_processing) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; +#endif } #else diff --git a/deps/uv/test/test-tty.c b/deps/uv/test/test-tty.c index ff7d388d7c00f3..418ec31e4b53b3 100644 --- a/deps/uv/test/test-tty.c +++ b/deps/uv/test/test-tty.c @@ -28,7 +28,7 @@ #else /* Unix */ # include # include -# if (defined(__linux__) || defined(__GLIBC__)) && !defined(__ANDROID__) +# if defined(__linux__) && !defined(__ANDROID__) # include # elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) # include @@ -94,12 +94,12 @@ TEST_IMPL(tty) { ASSERT(UV_TTY == uv_guess_handle(ttyin_fd)); ASSERT(UV_TTY == uv_guess_handle(ttyout_fd)); - r = uv_tty_init(uv_default_loop(), &tty_in, ttyin_fd, 1); /* Readable. */ + r = uv_tty_init(loop, &tty_in, ttyin_fd, 1); /* Readable. */ ASSERT(r == 0); ASSERT(uv_is_readable((uv_stream_t*) &tty_in)); ASSERT(!uv_is_writable((uv_stream_t*) &tty_in)); - r = uv_tty_init(uv_default_loop(), &tty_out, ttyout_fd, 0); /* Writable. */ + r = uv_tty_init(loop, &tty_out, ttyout_fd, 0); /* Writable. */ ASSERT(r == 0); ASSERT(!uv_is_readable((uv_stream_t*) &tty_out)); ASSERT(uv_is_writable((uv_stream_t*) &tty_out)); @@ -112,16 +112,12 @@ TEST_IMPL(tty) { if (width == 0 && height == 0) { /* Some environments such as containers or Jenkins behave like this * sometimes */ - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return TEST_SKIP; } - /* - * Is it a safe assumption that most people have terminals larger than - * 10x10? - */ - ASSERT(width > 10); - ASSERT(height > 10); + ASSERT_GT(width, 0); + ASSERT_GT(height, 0); /* Turn on raw mode. */ r = uv_tty_set_mode(&tty_in, UV_TTY_MODE_RAW); @@ -145,7 +141,7 @@ TEST_IMPL(tty) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -188,7 +184,7 @@ TEST_IMPL(tty_raw) { ASSERT(ttyin_fd >= 0); ASSERT(UV_TTY == uv_guess_handle(ttyin_fd)); - r = uv_tty_init(uv_default_loop(), &tty_in, ttyin_fd, 1); /* Readable. */ + r = uv_tty_init(loop, &tty_in, ttyin_fd, 1); /* Readable. */ ASSERT(r == 0); ASSERT(uv_is_readable((uv_stream_t*) &tty_in)); ASSERT(!uv_is_writable((uv_stream_t*) &tty_in)); @@ -215,7 +211,7 @@ TEST_IMPL(tty_raw) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -246,7 +242,7 @@ TEST_IMPL(tty_empty_write) { ASSERT(UV_TTY == uv_guess_handle(ttyout_fd)); - r = uv_tty_init(uv_default_loop(), &tty_out, ttyout_fd, 0); /* Writable. */ + r = uv_tty_init(loop, &tty_out, ttyout_fd, 0); /* Writable. */ ASSERT(r == 0); ASSERT(!uv_is_readable((uv_stream_t*) &tty_out)); ASSERT(uv_is_writable((uv_stream_t*) &tty_out)); @@ -261,7 +257,7 @@ TEST_IMPL(tty_empty_write) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -292,7 +288,7 @@ TEST_IMPL(tty_large_write) { ASSERT(UV_TTY == uv_guess_handle(ttyout_fd)); - r = uv_tty_init(uv_default_loop(), &tty_out, ttyout_fd, 0); /* Writable. */ + r = uv_tty_init(loop, &tty_out, ttyout_fd, 0); /* Writable. */ ASSERT(r == 0); memset(dummy, '.', sizeof(dummy) - 1); @@ -307,7 +303,7 @@ TEST_IMPL(tty_large_write) { uv_run(loop, UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -340,7 +336,7 @@ TEST_IMPL(tty_raw_cancel) { r = uv_read_stop((uv_stream_t*) &tty_in); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } #endif @@ -414,9 +410,8 @@ TEST_IMPL(tty_file) { ASSERT(0 == uv_run(&loop, UV_RUN_DEFAULT)); - ASSERT(0 == uv_loop_close(&loop)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); #endif return 0; } @@ -433,7 +428,6 @@ TEST_IMPL(tty_pty) { #if defined(__APPLE__) || \ defined(__DragonFly__) || \ defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || \ (defined(__linux__) && !defined(__ANDROID__)) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) @@ -468,7 +462,7 @@ TEST_IMPL(tty_pty) { ASSERT(0 == uv_run(&loop, UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(&loop); #endif return 0; } diff --git a/deps/uv/test/test-udp-alloc-cb-fail.c b/deps/uv/test/test-udp-alloc-cb-fail.c index 6b0980163a5f9e..073dea977821d6 100644 --- a/deps/uv/test/test-udp-alloc-cb-fail.c +++ b/deps/uv/test/test-udp-alloc-cb-fail.c @@ -191,6 +191,6 @@ TEST_IMPL(udp_alloc_cb_fail) { ASSERT(sv_recv_cb_called == 1); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-bind.c b/deps/uv/test/test-udp-bind.c index a1e080ee70c880..200cdc7c927fa9 100644 --- a/deps/uv/test/test-udp-bind.c +++ b/deps/uv/test/test-udp-bind.c @@ -55,7 +55,7 @@ TEST_IMPL(udp_bind) { r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -88,6 +88,6 @@ TEST_IMPL(udp_bind_reuseaddr) { r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-udp-connect.c b/deps/uv/test/test-udp-connect.c index 0be702efef403e..c1e4064b94e255 100644 --- a/deps/uv/test/test-udp-connect.c +++ b/deps/uv/test/test-udp-connect.c @@ -98,6 +98,9 @@ static void sv_recv_cb(uv_udp_t* handle, TEST_IMPL(udp_connect) { +#if defined(__OpenBSD__) + RETURN_SKIP("Test does not currently work in OpenBSD"); +#endif uv_udp_send_t req; struct sockaddr_in ext_addr; struct sockaddr_in tmp_addr; @@ -188,6 +191,6 @@ TEST_IMPL(udp_connect) { ASSERT(client.send_queue_size == 0); ASSERT(server.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-connect6.c b/deps/uv/test/test-udp-connect6.c index d000daf17fbb2c..076d8d77b92df4 100644 --- a/deps/uv/test/test-udp-connect6.c +++ b/deps/uv/test/test-udp-connect6.c @@ -98,6 +98,9 @@ static void sv_recv_cb(uv_udp_t* handle, TEST_IMPL(udp_connect6) { +#if defined(__OpenBSD__) + RETURN_SKIP("Test does not currently work in OpenBSD"); +#endif uv_udp_send_t req; struct sockaddr_in6 ext_addr; struct sockaddr_in6 tmp_addr; @@ -191,6 +194,6 @@ TEST_IMPL(udp_connect6) { ASSERT_EQ(client.send_queue_size, 0); ASSERT_EQ(server.send_queue_size, 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-create-socket-early.c b/deps/uv/test/test-udp-create-socket-early.c index f7e46abc98da54..f51e275ba1e352 100644 --- a/deps/uv/test/test-udp-create-socket-early.c +++ b/deps/uv/test/test-udp-create-socket-early.c @@ -68,7 +68,7 @@ TEST_IMPL(udp_create_early) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -113,7 +113,7 @@ TEST_IMPL(udp_create_early_bad_bind) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -130,6 +130,6 @@ TEST_IMPL(udp_create_early_bad_domain) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-dgram-too-big.c b/deps/uv/test/test-udp-dgram-too-big.c index bd44c425287cca..9db8b47be18da8 100644 --- a/deps/uv/test/test-udp-dgram-too-big.c +++ b/deps/uv/test/test-udp-dgram-too-big.c @@ -86,6 +86,6 @@ TEST_IMPL(udp_dgram_too_big) { ASSERT(send_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-ipv6.c b/deps/uv/test/test-udp-ipv6.c index 7099953097cdd8..ae55cd01b0b2a7 100644 --- a/deps/uv/test/test-udp-ipv6.c +++ b/deps/uv/test/test-udp-ipv6.c @@ -26,7 +26,7 @@ #include #include -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) #include #endif @@ -49,7 +49,7 @@ static int recv_cb_called; static int close_cb_called; static uint16_t client_port; -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) static int can_ipv6_ipv4_dual(void) { int v6only; size_t size = sizeof(int); @@ -207,7 +207,7 @@ static void do_test(uv_udp_recv_cb recv_cb, int bind_flags) { ASSERT(close_cb_called == 3); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); } @@ -220,7 +220,7 @@ TEST_IMPL(udp_dual_stack) { if (!can_ipv6()) RETURN_SKIP("IPv6 not supported"); -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) if (!can_ipv6_ipv4_dual()) RETURN_SKIP("IPv6-IPv4 dual stack not supported"); #elif defined(__OpenBSD__) diff --git a/deps/uv/test/test-udp-mmsg.c b/deps/uv/test/test-udp-mmsg.c index f722608a185bc9..c37343f8c9f4c5 100644 --- a/deps/uv/test/test-udp-mmsg.c +++ b/deps/uv/test/test-udp-mmsg.c @@ -144,6 +144,6 @@ TEST_IMPL(udp_mmsg) { else ASSERT_EQ(alloc_cb_called, recv_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-multicast-interface.c b/deps/uv/test/test-udp-multicast-interface.c index bd9a61c98aa6e2..447d3487f5cefc 100644 --- a/deps/uv/test/test-udp-multicast-interface.c +++ b/deps/uv/test/test-udp-multicast-interface.c @@ -99,6 +99,6 @@ TEST_IMPL(udp_multicast_interface) { ASSERT(client.send_queue_size == 0); ASSERT(server.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-multicast-interface6.c b/deps/uv/test/test-udp-multicast-interface6.c index be11514c805900..1d40aefa8cb236 100644 --- a/deps/uv/test/test-udp-multicast-interface6.c +++ b/deps/uv/test/test-udp-multicast-interface6.c @@ -77,7 +77,7 @@ TEST_IMPL(udp_multicast_interface6) { r = uv_udp_bind(&server, (const struct sockaddr*)&baddr, 0); ASSERT(r == 0); -#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#if defined(__APPLE__) || defined(__FreeBSD__) r = uv_udp_set_multicast_interface(&server, "::1%lo0"); #else r = uv_udp_set_multicast_interface(&server, NULL); @@ -103,6 +103,6 @@ TEST_IMPL(udp_multicast_interface6) { ASSERT(sv_send_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-multicast-join.c b/deps/uv/test/test-udp-multicast-join.c index 9e603a8455f736..dddcea4662f1d9 100644 --- a/deps/uv/test/test-udp-multicast-join.c +++ b/deps/uv/test/test-udp-multicast-join.c @@ -138,6 +138,9 @@ static void cl_recv_cb(uv_udp_t* handle, TEST_IMPL(udp_multicast_join) { +#if defined(__OpenBSD__) + RETURN_SKIP("Test does not currently work in OpenBSD"); +#endif int r; struct sockaddr_in addr; @@ -176,6 +179,6 @@ TEST_IMPL(udp_multicast_join) { ASSERT(sv_send_cb_called == 2); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-multicast-join6.c b/deps/uv/test/test-udp-multicast-join6.c index e67c5ee59bb1fb..d5262b6a9a07bf 100644 --- a/deps/uv/test/test-udp-multicast-join6.c +++ b/deps/uv/test/test-udp-multicast-join6.c @@ -33,7 +33,6 @@ #if defined(__APPLE__) || \ defined(_AIX) || \ defined(__MVS__) || \ - defined(__FreeBSD_kernel__) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) #define MULTICAST_ADDR "ff02::1%lo0" @@ -187,7 +186,7 @@ TEST_IMPL(udp_multicast_join6) { r = uv_udp_set_membership(&server, MULTICAST_ADDR, INTERFACE_ADDR, UV_JOIN_GROUP); if (r == UV_ENODEV) { - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); RETURN_SKIP("No ipv6 multicast route"); } @@ -214,6 +213,6 @@ TEST_IMPL(udp_multicast_join6) { ASSERT(sv_send_cb_called == 2); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-multicast-ttl.c b/deps/uv/test/test-udp-multicast-ttl.c index fbddd90914ca86..9aa5bb9147ffbe 100644 --- a/deps/uv/test/test-udp-multicast-ttl.c +++ b/deps/uv/test/test-udp-multicast-ttl.c @@ -89,6 +89,6 @@ TEST_IMPL(udp_multicast_ttl) { ASSERT(sv_send_cb_called == 1); ASSERT(close_cb_called == 1); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-open.c b/deps/uv/test/test-udp-open.c index f5136b6d4f281f..0e09f56a49fa59 100644 --- a/deps/uv/test/test-udp-open.c +++ b/deps/uv/test/test-udp-open.c @@ -188,7 +188,7 @@ TEST_IMPL(udp_open) { ASSERT(client.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -215,7 +215,7 @@ TEST_IMPL(udp_open_twice) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -245,7 +245,7 @@ TEST_IMPL(udp_open_bound) { uv_close((uv_handle_t*) &client, NULL); uv_run(uv_default_loop(), UV_RUN_DEFAULT); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -295,7 +295,7 @@ TEST_IMPL(udp_open_connect) { ASSERT(client.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } @@ -344,7 +344,7 @@ TEST_IMPL(udp_send_unix) { close(fd); unlink(TEST_PIPENAME); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } #endif diff --git a/deps/uv/test/test-udp-options.c b/deps/uv/test/test-udp-options.c index 3ea51baf40b736..11e58b996a18ac 100644 --- a/deps/uv/test/test-udp-options.c +++ b/deps/uv/test/test-udp-options.c @@ -87,7 +87,7 @@ static int udp_options_test(const struct sockaddr* addr) { r = uv_run(loop, UV_RUN_DEFAULT); ASSERT(r == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } @@ -155,6 +155,6 @@ TEST_IMPL(udp_no_autobind) { ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-udp-recv-in-a-row.c b/deps/uv/test/test-udp-recv-in-a-row.c new file mode 100644 index 00000000000000..98aca28e193693 --- /dev/null +++ b/deps/uv/test/test-udp-recv-in-a-row.c @@ -0,0 +1,121 @@ +/* Copyright The libuv project and 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. + */ + +#include "uv.h" +#include "task.h" + +#include +#include +#include + +static uv_udp_t server; +static uv_udp_t client; +static uv_check_t check_handle; +static uv_buf_t buf; +static struct sockaddr_in addr; +static char send_data[10]; +static int check_cb_called; + +#define N 5 +static int recv_cnt; + +static void alloc_cb(uv_handle_t* handle, + size_t suggested_size, + uv_buf_t* buf) { + static char slab[sizeof(send_data)]; + buf->base = slab; + buf->len = sizeof(slab); +} + +static void sv_recv_cb(uv_udp_t* handle, + ssize_t nread, + const uv_buf_t* rcvbuf, + const struct sockaddr* addr, + unsigned flags) { + if (++ recv_cnt < N) { + ASSERT_EQ(sizeof(send_data), nread); + } else { + ASSERT_EQ(0, nread); + } +} + +static void check_cb(uv_check_t* handle) { + ASSERT_PTR_EQ(&check_handle, handle); + + /** + * sv_recv_cb() is called with nread set to zero to indicate + * there is no more udp packet in the kernel, so the actual + * recv_cnt is one larger than N. + */ + ASSERT_EQ(N+1, recv_cnt); + check_cb_called = 1; + + /* we are done */ + ASSERT_EQ(0, uv_check_stop(handle)); + uv_close((uv_handle_t*) &client, NULL); + uv_close((uv_handle_t*) &check_handle, NULL); + uv_close((uv_handle_t*) &server, NULL); +} + + +TEST_IMPL(udp_recv_in_a_row) { + int i, r; + + ASSERT_EQ(0, uv_check_init(uv_default_loop(), &check_handle)); + ASSERT_EQ(0, uv_check_start(&check_handle, check_cb)); + + ASSERT_EQ(0, uv_ip4_addr("127.0.0.1", TEST_PORT, &addr)); + + ASSERT_EQ(0, uv_udp_init(uv_default_loop(), &server)); + ASSERT_EQ(0, uv_udp_bind(&server, (const struct sockaddr*) &addr, 0)); + ASSERT_EQ(0, uv_udp_recv_start(&server, alloc_cb, sv_recv_cb)); + + ASSERT_EQ(0, uv_udp_init(uv_default_loop(), &client)); + + /* send N-1 udp packets */ + buf = uv_buf_init(send_data, sizeof(send_data)); + for (i = 0; i < N - 1; i ++) { + r = uv_udp_try_send(&client, + &buf, + 1, + (const struct sockaddr*) &addr); + ASSERT_EQ(sizeof(send_data), r); + } + + /* send an empty udp packet */ + buf = uv_buf_init(NULL, 0); + r = uv_udp_try_send(&client, + &buf, + 1, + (const struct sockaddr*) &addr); + ASSERT_EQ(0, r); + + /* check_cb() asserts that the N packets can be received + * before it gets called. + */ + + ASSERT_EQ(0, uv_run(uv_default_loop(), UV_RUN_DEFAULT)); + + ASSERT(check_cb_called); + + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +} diff --git a/deps/uv/test/test-udp-send-and-recv.c b/deps/uv/test/test-udp-send-and-recv.c index d60209059b9887..ab60e84a138179 100644 --- a/deps/uv/test/test-udp-send-and-recv.c +++ b/deps/uv/test/test-udp-send-and-recv.c @@ -207,6 +207,6 @@ TEST_IMPL(udp_send_and_recv) { ASSERT(client.send_queue_size == 0); ASSERT(server.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-send-hang-loop.c b/deps/uv/test/test-udp-send-hang-loop.c index 072070b60e5e65..b1e02263d3ca5a 100644 --- a/deps/uv/test/test-udp-send-hang-loop.c +++ b/deps/uv/test/test-udp-send-hang-loop.c @@ -94,6 +94,6 @@ TEST_IMPL(udp_send_hang_loop) { ASSERT(loop_hang_called > 1000); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-send-immediate.c b/deps/uv/test/test-udp-send-immediate.c index a1c95d34384ce2..ee70a6165a21da 100644 --- a/deps/uv/test/test-udp-send-immediate.c +++ b/deps/uv/test/test-udp-send-immediate.c @@ -143,6 +143,6 @@ TEST_IMPL(udp_send_immediate) { ASSERT(sv_recv_cb_called == 2); ASSERT(close_cb_called == 2); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-send-unreachable.c b/deps/uv/test/test-udp-send-unreachable.c index c67a23b38529fe..7075deb189666b 100644 --- a/deps/uv/test/test-udp-send-unreachable.c +++ b/deps/uv/test/test-udp-send-unreachable.c @@ -196,6 +196,6 @@ TEST_IMPL(udp_send_unreachable) { ASSERT_EQ(timer_cb_called, 1); ASSERT_EQ(close_cb_called, (long)(can_recverr ? 3 : 2)); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-sendmmsg-error.c b/deps/uv/test/test-udp-sendmmsg-error.c index c8a411b2dee423..7b1741a3e04f2f 100644 --- a/deps/uv/test/test-udp-sendmmsg-error.c +++ b/deps/uv/test/test-udp-sendmmsg-error.c @@ -70,6 +70,6 @@ TEST_IMPL(udp_sendmmsg_error) { ASSERT_EQ(0, client.send_queue_size); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-udp-try-send.c b/deps/uv/test/test-udp-try-send.c index 85caaaca41d5a5..b81506cc39f3ce 100644 --- a/deps/uv/test/test-udp-try-send.c +++ b/deps/uv/test/test-udp-try-send.c @@ -116,6 +116,6 @@ TEST_IMPL(udp_try_send) { ASSERT(client.send_queue_size == 0); ASSERT(server.send_queue_size == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(uv_default_loop()); return 0; } diff --git a/deps/uv/test/test-walk-handles.c b/deps/uv/test/test-walk-handles.c index 4b0ca6ebc55849..50f0ce84f1e846 100644 --- a/deps/uv/test/test-walk-handles.c +++ b/deps/uv/test/test-walk-handles.c @@ -72,6 +72,6 @@ TEST_IMPL(walk_handles) { uv_walk(loop, walk_cb, magic_cookie); ASSERT(seen_timer_handle == 0); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/test/test-watcher-cross-stop.c b/deps/uv/test/test-watcher-cross-stop.c index b26deb8d88c50f..bbc0c30574a7f7 100644 --- a/deps/uv/test/test-watcher-cross-stop.c +++ b/deps/uv/test/test-watcher-cross-stop.c @@ -107,6 +107,6 @@ TEST_IMPL(watcher_cross_stop) { ASSERT(ARRAY_SIZE(sockets) == send_cb_called); ASSERT(ARRAY_SIZE(sockets) == close_cb_called); - MAKE_VALGRIND_HAPPY(); + MAKE_VALGRIND_HAPPY(loop); return 0; } diff --git a/deps/uv/tsansupp.txt b/deps/uv/tsansupp.txt new file mode 100644 index 00000000000000..bde4060803e2da --- /dev/null +++ b/deps/uv/tsansupp.txt @@ -0,0 +1,2 @@ +# glibc reads `count` field unsynchronized, not a libuv bug +race:pthread_barrier_destroy diff --git a/deps/uv/uv.gyp b/deps/uv/uv.gyp index fa2dcb653c3d50..ddc30fafca8294 100644 --- a/deps/uv/uv.gyp +++ b/deps/uv/uv.gyp @@ -129,25 +129,18 @@ 'src/unix/random-getentropy.c', ], 'uv_sources_linux': [ - 'src/unix/epoll.c', - 'src/unix/linux-core.c', - 'src/unix/linux-inotify.c', - 'src/unix/linux-syscalls.c', - 'src/unix/linux-syscalls.h', + 'src/unix/linux.c', 'src/unix/procfs-exepath.c', 'src/unix/random-getrandom.c', 'src/unix/random-sysctl-linux.c', ], 'uv_sources_android': [ - 'src/unix/linux-core.c', - 'src/unix/linux-inotify.c', - 'src/unix/linux-syscalls.c', + 'src/unix/linux.c', 'src/unix/procfs-exepath.c', 'src/unix/pthread-fixes.c', 'src/unix/random-getentropy.c', 'src/unix/random-getrandom.c', 'src/unix/random-sysctl-linux.c', - 'src/unix/epoll.c', ], 'uv_sources_solaris': [ 'src/unix/no-proctitle.c', @@ -203,7 +196,7 @@ 'conditions': [ [ 'OS=="win"', { 'defines': [ - '_WIN32_WINNT=0x0600', + '_WIN32_WINNT=0x0602', '_GNU_SOURCE', ], 'sources': [ @@ -212,11 +205,14 @@ 'link_settings': { 'libraries': [ '-ladvapi32', + '-ldbghelp', + '-lole32', '-liphlpapi', '-lpsapi', '-lshell32', '-luser32', '-luserenv', + '-luuid', '-lws2_32' ], }, diff --git a/tools/dep_updaters/update-libuv.sh b/tools/dep_updaters/update-libuv.sh index f34d74bd17bdcc..8d45e770fb747b 100755 --- a/tools/dep_updaters/update-libuv.sh +++ b/tools/dep_updaters/update-libuv.sh @@ -1,5 +1,6 @@ #!/bin/sh set -e +set -x # Shell script to update libuv in the source tree to a specific version BASE_DIR=$(cd "$(dirname "$0")/../.." && pwd) From 3440d7c6bff6eecdc11fedc7d5a22c8188876658 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Mon, 22 May 2023 11:25:58 +0200 Subject: [PATCH 115/146] test: unflake test-vm-timeout-escape-nexttick MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This wasn't failing on arm boxes, increase the `runInNewContext()` timeout a bit to make sure the code it's allowed to fail. PR-URL: https://github.com/nodejs/node/pull/48078 Fixes: https://github.com/nodejs/node/issues/43931 Fixes: https://github.com/nodejs/node/issues/42496 Fixes: https://github.com/nodejs/node/issues/47715 Fixes: https://github.com/nodejs/node/issues/47259 Fixes: https://github.com/nodejs/node/issues/47241 Reviewed-By: Ben Noordhuis Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Debadree Chatterjee Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Yagiz Nizipli Reviewed-By: Michaël Zasso Reviewed-By: Rafael Gonzaga Reviewed-By: Richard Lau Reviewed-By: Tobias Nießen Reviewed-By: Jiawen Geng --- test/known_issues/test-vm-timeout-escape-nexttick.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/known_issues/test-vm-timeout-escape-nexttick.js b/test/known_issues/test-vm-timeout-escape-nexttick.js index 6555370820f1f7..31f4110430c042 100644 --- a/test/known_issues/test-vm-timeout-escape-nexttick.js +++ b/test/known_issues/test-vm-timeout-escape-nexttick.js @@ -13,7 +13,7 @@ const NS_PER_MS = 1000000n; const hrtime = process.hrtime.bigint; const nextTick = process.nextTick; -const waitDuration = common.platformTimeout(100n); +const waitDuration = common.platformTimeout(200n); function loop() { const start = hrtime(); @@ -38,7 +38,7 @@ for (let i = 0; i < 4; i++) { nextTick, loop, }, - { timeout: common.platformTimeout(10) }, + { timeout: common.platformTimeout(100) }, ); }, { code: 'ERR_SCRIPT_EXECUTION_TIMEOUT', From ded0e2d755717607d9b2555f140f2efe225d7449 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Wed, 24 May 2023 07:47:22 +0200 Subject: [PATCH 116/146] tools: update LICENSE and license-builder.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A libuv `LICENSE-extra` file was added and a couple of files were removed (stdint-msvc2008.h and pthread-fixes.c). PR-URL: https://github.com/nodejs/node/pull/48078 Fixes: https://github.com/nodejs/node/issues/43931 Fixes: https://github.com/nodejs/node/issues/42496 Fixes: https://github.com/nodejs/node/issues/47715 Fixes: https://github.com/nodejs/node/issues/47259 Fixes: https://github.com/nodejs/node/issues/47241 Reviewed-By: Ben Noordhuis Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Debadree Chatterjee Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Yagiz Nizipli Reviewed-By: Michaël Zasso Reviewed-By: Rafael Gonzaga Reviewed-By: Richard Lau Reviewed-By: Tobias Nießen Reviewed-By: Jiawen Geng --- LICENSE | 11 ----------- tools/license-builder.sh | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/LICENSE b/LICENSE index b2f25c4e4b8974..b26c65a2410529 100644 --- a/LICENSE +++ b/LICENSE @@ -644,9 +644,6 @@ The externally maintained libraries used by Node.js are: - libuv, located at deps/uv, is licensed as follows: """ - libuv is licensed for use as follows: - - ==== Copyright (c) 2015-present libuv project contributors. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -666,8 +663,6 @@ The externally maintained libraries used by Node.js are: 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. - ==== - This license applies to parts of libuv originating from the https://github.com/joyent/libuv repository: @@ -704,12 +699,6 @@ The externally maintained libraries used by Node.js are: - inet_pton and inet_ntop implementations, contained in src/inet.c, are copyright the Internet Systems Consortium, Inc., and licensed under the ISC license. - - - stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three - clause BSD license. - - - pthread-fixes.c, copyright Google Inc. and Sony Mobile Communications AB. - Three clause BSD license. """ - llhttp, located at deps/llhttp, is licensed as follows: diff --git a/tools/license-builder.sh b/tools/license-builder.sh index aaedfeed5c7b1b..10b894262946ea 100755 --- a/tools/license-builder.sh +++ b/tools/license-builder.sh @@ -59,7 +59,7 @@ else exit 1 fi -licenseText="$(cat "${rootdir}/deps/uv/LICENSE")" +licenseText="$(cat "${rootdir}/deps/uv/LICENSE" "${rootdir}/deps/uv/LICENSE-extra")" addlicense "libuv" "deps/uv" "$licenseText" licenseText="$(cat deps/llhttp/LICENSE-MIT)" addlicense "llhttp" "deps/llhttp" "$licenseText" From 5f08bfe35f5ef6a7a6792423e83f6426028a5dfc Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Tue, 30 May 2023 13:32:20 +0200 Subject: [PATCH 117/146] tools: don't gitignore base64 config.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The file is checked into git. Ignoring it causes a very non-obvious way of breaking tarball builds: 1. Download and unpack tarball 2. Check the sources into git with `git init; git add .; git commit -a` 3. Clean the source tree with `git clean -dfx` 4. Run `./configure && make` 5. Observe build failure because config.h is missing Fixes: https://github.com/nodejs/node/issues/47638 PR-URL: https://github.com/nodejs/node/pull/48174 Reviewed-By: Michaël Zasso Reviewed-By: Richard Lau Reviewed-By: Marco Ippolito Reviewed-By: Luigi Pinca Reviewed-By: Yagiz Nizipli --- tools/dep_updaters/update-base64.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/dep_updaters/update-base64.sh b/tools/dep_updaters/update-base64.sh index 66f91af0e4dd49..eb0fadaf543255 100755 --- a/tools/dep_updaters/update-base64.sh +++ b/tools/dep_updaters/update-base64.sh @@ -62,7 +62,11 @@ mv "$WORKSPACE/base64" "$DEPS_DIR/base64/" # Build configuration is handled by `deps/base64/base64.gyp`, but since `config.h` has to be present for the build # to work, we create it and leave it empty. -echo "// Intentionally empty" >> "$DEPS_DIR/base64/base64/lib/config.h" +echo "// Intentionally empty" > "$DEPS_DIR/base64/base64/lib/config.h" + +# Clear out .gitignore, otherwise config.h is ignored. That's dangerous when +# people check in our tarballs into source control and run `git clean`. +echo "# Intentionally empty" > "$DEPS_DIR/base64/base64/.gitignore" # update the base64_version.h cat > "$BASE_DIR/src/base64_version.h" << EOL From 9aff8c7818b718f761dca4121acdf457665de269 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Tue, 30 May 2023 11:40:25 +0000 Subject: [PATCH 118/146] doc: update documentation for FIPS support When using OpenSSL 3, Node.js supports FIPS 140-2 when used with an appropriate OpenSSL 3 provider. It is no longer necessary to rebuild Node.js with different build time options. Add a section on how to configure Node.js to use an OpenSSL 3 FIPS provider to the documentation for the `crypto` module. PR-URL: https://github.com/nodejs/node/pull/48194 Reviewed-By: Michael Dawson Reviewed-By: James M Snell --- BUILDING.md | 244 +--------------------------------------------- doc/api/crypto.md | 83 ++++++++++++++++ 2 files changed, 88 insertions(+), 239 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index ff101422f7ab32..e608aa318f87df 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -794,246 +794,12 @@ configure option: ## Building Node.js with FIPS-compliant OpenSSL -The current version of Node.js supports FIPS when statically and -dynamically linking with OpenSSL 3.0.0 by using the configuration flag -`--openssl-is-fips`. +Node.js supports FIPS when statically or dynamically linked with OpenSSL 3 via +[OpenSSL's provider model](https://www.openssl.org/docs/man3.0/man7/crypto.html#OPENSSL-PROVIDERS). +It is not necessary to rebuild Node.js to enable support for FIPS. -### FIPS support when statically linking OpenSSL - -FIPS can be supported by specifying the configuration flag `--openssl-is-fips`: - -```bash -./configure --openssl-is-fips -make -j8 -``` - -The above command will build and install the FIPS module into the out directory. -This includes building fips.so, running the `installfips` command that generates -the FIPS configuration file (fipsmodule.cnf), copying and updating openssl.cnf -to include the correct path to fipsmodule.cnf and finally uncomment the fips -section. - -We can then run node specifying `--enable-fips`: - -```console -$ ./node --enable-fips -p 'crypto.getFips()' -1 -``` - -The above will use the Node.js default locations for OpenSSL 3.0: - -```console -$ ./out/Release/openssl-cli version -m -d -OPENSSLDIR: "/nodejs/openssl/out/Release/obj.target/deps/openssl" -MODULESDIR: "/nodejs/openssl/out/Release/obj.target/deps/openssl/lib/openssl-modules" -``` - -The OpenSSL configuration files will be found in `OPENSSLDIR` directory above: - -```console -$ ls -w 1 out/Release/obj.target/deps/openssl/*.cnf -out/Release/obj.target/deps/openssl/fipsmodule.cnf -out/Release/obj.target/deps/openssl/openssl.cnf -``` - -And the FIPS module will be located in the `MODULESDIR` directory: - -```console -$ ls out/Release/obj.target/deps/openssl/lib/openssl-modules/ -fips.so -``` - -Running `configure` without `--openssl-is-fips` flag and rebuilding will reset -the FIPS configuration. - -### FIPS support when dynamically linking OpenSSL - -For quictls/openssl 3.0 it is possible to enable FIPS when dynamically linking. -If you want to build Node.js using openssl-3.0.0+quic, you can follow these -steps: - -**clone OpenSSL source and prepare build** - -```bash -git clone git@github.com:quictls/openssl.git - -cd openssl - -./config \ - --prefix=/path/to/install/dir/ \ - shared \ - enable-fips \ - linux-x86_64 -``` - -The `/path/to/install/dir` is the path in which the `make install` instructions -will publish the OpenSSL libraries and such. We will also use this path -(and sub-paths) later when compiling Node.js. - -**compile and install OpenSSL** - -```bash -make -j8 -make install -make install_ssldirs -make install_fips -``` - -After the OpenSSL (including FIPS) modules have been compiled and installed -(into the `/path/to/install/dir`) by the above instructions we also need to -update the OpenSSL configuration file located under -`/path/to/install/dir/ssl/openssl.cnf`. Right next to this file, you should -find the `fipsmodule.cnf` file - let's add the following to the end of the -`openssl.cnf` file. - -**alter openssl.cnf** - -```text -.include /absolute/path/to/fipsmodule.cnf - -# List of providers to load -[provider_sect] -default = default_sect -# The fips section name should match the section name inside the -# included /path/to/install/dir/ssl/fipsmodule.cnf. -fips = fips_sect - -[default_sect] -activate = 1 -``` - -You can e.g. accomplish this by running the following command - be sure to -replace `/path/to/install/dir/` with the path you have selected. Please make -sure that you specify an absolute path for the `.include fipsmodule.cnf` line - -using relative paths did not work on my system! - -**alter openssl.cnf using a script** - -```bash -cat <> /path/to/install/dir/ssl/openssl.cnf -.include /path/to/install/dir/ssl/fipsmodule.cnf - -# List of providers to load -[provider_sect] -default = default_sect -# The fips section name should match the section name inside the -# included /path/to/install/dir/ssl/fipsmodule.cnf. -fips = fips_sect - -[default_sect] -activate = 1 -EOT -``` - -As you might have picked a non-custom path for your OpenSSL install dir, we -have to export the following two environment variables in order for Node.js to -find our OpenSSL modules we built beforehand: - -```bash -export OPENSSL_CONF=/path/to/install/dir/ssl/openssl.cnf -export OPENSSL_MODULES=/path/to/install/dir/lib/ossl-modules -``` - -**build Node.js** - -```bash -./configure \ - --shared-openssl \ - --shared-openssl-libpath=/path/to/install/dir/lib \ - --shared-openssl-includes=/path/to/install/dir/include \ - --shared-openssl-libname=crypto,ssl \ - --openssl-is-fips - -export LD_LIBRARY_PATH=/path/to/install/dir/lib - -make -j8 -``` - -**verify the produced executable** - -```console -$ ldd ./node - linux-vdso.so.1 (0x00007ffd7917b000) - libcrypto.so.81.3 => /path/to/install/dir/lib/libcrypto.so.81.3 (0x00007fd911321000) - libssl.so.81.3 => /path/to/install/dir/lib/libssl.so.81.3 (0x00007fd91125e000) - libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fd911232000) - libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fd911039000) - libm.so.6 => /usr/lib64/libm.so.6 (0x00007fd910ef3000) - libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fd910ed9000) - libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fd910eb5000) - libc.so.6 => /usr/lib64/libc.so.6 (0x00007fd910cec000) - /lib64/ld-linux-x86-64.so.2 (0x00007fd9117f2000) -``` - -If the `ldd` command says that `libcrypto` cannot be found one needs to set -`LD_LIBRARY_PATH` to point to the directory used above for -`--shared-openssl-libpath` (see previous step). - -**verify the OpenSSL version** - -```console -$ ./node -p process.versions.openssl -3.0.0-alpha16+quic -``` - -**verify that FIPS is available** - -```console -$ ./node -p 'process.config.variables.openssl_is_fips' -true - -$ ./node --enable-fips -p 'crypto.getFips()' -1 -``` - -FIPS support can then be enable via the OpenSSL configuration file or -using `--enable-fips` or `--force-fips` command line options to the Node.js -executable. See sections -[Enabling FIPS using Node.js options](#enabling-fips-using-node.js-options) and -[Enabling FIPS using OpenSSL config](#enabling-fips-using-openssl-config) below. - -### Enabling FIPS using Node.js options - -This is done using one of the Node.js options `--enable-fips` or -`--force-fips`, for example: - -```bash -node --enable-fips -p 'crypto.getFips()' -``` - -### Enabling FIPS using OpenSSL config - -This example show that using OpenSSL's configuration file, FIPS can be enabled -without specifying the `--enable-fips` or `--force-fips` options by setting -`default_properties = fips=yes` in the FIPS configuration file. See -[link](https://github.com/openssl/openssl/blob/master/README-FIPS.md#loading-the-fips-module-at-the-same-time-as-other-providers) -for details. - -For this to work the OpenSSL configuration file (default openssl.cnf) needs to -be updated. The following shows an example: - -```text -openssl_conf = openssl_init - -.include /path/to/install/dir/ssl/fipsmodule.cnf - -[openssl_init] -providers = prov -alg_section = algorithm_sect - -[prov] -fips = fips_sect -default = default_sect - -[default_sect] -activate = 1 - -[algorithm_sect] -default_properties = fips=yes -``` - -After this change Node.js can be run without the `--enable-fips` or `--force-fips` -options. +See [FIPS mode](./doc/api/crypto.md#fips-mode) for more information on how to +enable FIPS support in Node.js. ## Building Node.js with external core modules diff --git a/doc/api/crypto.md b/doc/api/crypto.md index b9f0bb5e2bee28..5cac4f345a24a3 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -5723,6 +5723,86 @@ try { console.log(receivedPlaintext); ``` +### FIPS mode + +When using OpenSSL 3, Node.js supports FIPS 140-2 when used with an appropriate +OpenSSL 3 provider, such as the [FIPS provider from OpenSSL 3][] which can be +installed by following the instructions in [OpenSSL's FIPS README file][]. + +For FIPS support in Node.js you will need: + +* A correctly installed OpenSSL 3 FIPS provider. +* An OpenSSL 3 [FIPS module configuration file][]. +* An OpenSSL 3 configuration file that references the FIPS module + configuration file. + +Node.js will need to be configured with an OpenSSL configuration file that +points to the FIPS provider. An example configuration file looks like this: + +```text +nodejs_conf = nodejs_init + +.include //fipsmodule.cnf + +[nodejs_init] +providers = provider_sect + +[provider_sect] +default = default_sect +# The fips section name should match the section name inside the +# included fipsmodule.cnf. +fips = fips_sect + +[default_sect] +activate = 1 +``` + +where `fipsmodule.cnf` is the FIPS module configuration file generated from the +FIPS provider installation step: + +```bash +openssl fipsinstall +``` + +Set the `OPENSSL_CONF` environment variable to point to +your configuration file and `OPENSSL_MODULES` to the location of the FIPS +provider dynamic library. e.g. + +```bash +export OPENSSL_CONF=//nodejs.cnf +export OPENSSL_MODULES=//ossl-modules +``` + +FIPS mode can then be enabled in Node.js either by: + +* Starting Node.js with `--enable-fips` or `--force-fips` command line flags. +* Programmatically calling `crypto.setFips(true)`. + +Optionally FIPS mode can be enabled in Node.js via the OpenSSL configuration +file. e.g. + +```text +nodejs_conf = nodejs_init + +.include //fipsmodule.cnf + +[nodejs_init] +providers = provider_sect +alg_section = algorithm_sect + +[provider_sect] +default = default_sect +# The fips section name should match the section name inside the +# included fipsmodule.cnf. +fips = fips_sect + +[default_sect] +activate = 1 + +[algorithm_sect] +default_properties = fips=yes +``` + ## Crypto constants The following constants exported by `crypto.constants` apply to various uses of @@ -5998,12 +6078,15 @@ See the [list of SSL OP Flags][] for details. [CVE-2021-44532]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532 [Caveats]: #support-for-weak-or-compromised-algorithms [Crypto constants]: #crypto-constants +[FIPS module configuration file]: https://www.openssl.org/docs/man3.0/man5/fips_config.html +[FIPS provider from OpenSSL 3]: https://www.openssl.org/docs/man3.0/man7/crypto.html#FIPS-provider [HTML 5.2]: https://www.w3.org/TR/html52/changes.html#features-removed [JWK]: https://tools.ietf.org/html/rfc7517 [NIST SP 800-131A]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar1.pdf [NIST SP 800-132]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf [NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf [Nonce-Disrespecting Adversaries]: https://github.com/nonce-disrespect/nonce-disrespect +[OpenSSL's FIPS README file]: https://github.com/openssl/openssl/blob/openssl-3.0/README-FIPS.md [OpenSSL's SPKAC implementation]: https://www.openssl.org/docs/man3.0/man1/openssl-spkac.html [RFC 1421]: https://www.rfc-editor.org/rfc/rfc1421.txt [RFC 2409]: https://www.rfc-editor.org/rfc/rfc2409.txt From 9e2dd5b5e2995b36ab02579fd533d4139d8f32d6 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 31 May 2023 07:24:04 +0100 Subject: [PATCH 119/146] deps: update zlib to 337322d PR-URL: https://github.com/nodejs/node/pull/48218 Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- deps/zlib/BUILD.gn | 4 + deps/zlib/CMakeLists.txt | 10 +- deps/zlib/contrib/optimizations/inflate.c | 2 + .../fuzzers/inflate_with_header_fuzzer.cc | 2 +- deps/zlib/cpu_features.c | 9 + deps/zlib/cpu_features.h | 1 + deps/zlib/crc32.c | 14 +- deps/zlib/crc32_simd.c | 198 ++++++- deps/zlib/crc32_simd.h | 6 + deps/zlib/crc_folding.c | 6 +- deps/zlib/deflate.c | 5 +- deps/zlib/google/BUILD.gn | 11 + deps/zlib/google/test_data.filelist | 32 + deps/zlib/google/test_data.globlist | 8 + deps/zlib/google/zip_unittest.cc | 8 +- deps/zlib/gzlib.c | 5 +- deps/zlib/gzwrite.c | 2 +- deps/zlib/inflate.c | 2 + deps/zlib/inftrees.c | 4 +- deps/zlib/patches/0011-avx512.patch | 357 ++++++++++++ deps/zlib/patches/0012-lfs-open64.patch | 40 ++ deps/zlib/zconf.h | 6 +- deps/zlib/zconf.h.cmakein | 6 +- deps/zlib/zconf.h.in | 551 ++++++++++++++++++ deps/zlib/zlib.3 | 4 +- deps/zlib/zlib.h | 8 +- 26 files changed, 1273 insertions(+), 28 deletions(-) create mode 100644 deps/zlib/google/test_data.filelist create mode 100644 deps/zlib/google/test_data.globlist create mode 100644 deps/zlib/patches/0011-avx512.patch create mode 100644 deps/zlib/patches/0012-lfs-open64.patch create mode 100644 deps/zlib/zconf.h.in diff --git a/deps/zlib/BUILD.gn b/deps/zlib/BUILD.gn index 5c215860aec16c..0ffd486d731d8d 100644 --- a/deps/zlib/BUILD.gn +++ b/deps/zlib/BUILD.gn @@ -515,6 +515,10 @@ if (build_with_chromium) { data = [ "google/test/data/" ] + if (is_ios) { + bundle_deps = [ "google:zlib_pak_bundle_data" ] + } + deps = [ ":zlib", "google:compression_utils", diff --git a/deps/zlib/CMakeLists.txt b/deps/zlib/CMakeLists.txt index f06e193f726be7..378a3792f4ba8f 100644 --- a/deps/zlib/CMakeLists.txt +++ b/deps/zlib/CMakeLists.txt @@ -3,7 +3,7 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) project(zlib C) -set(VERSION "1.2.13") +set(VERSION "1.2.13.1") set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables") set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries") @@ -22,6 +22,7 @@ check_include_file(stdint.h HAVE_STDINT_H) check_include_file(stddef.h HAVE_STDDEF_H) option(ENABLE_SIMD_OPTIMIZATIONS "Enable all SIMD optimizations" OFF) +option(ENABLE_SIMD_AVX512 "Enable SIMD AXV512 optimizations" OFF) # TODO(cavalcantii): add support for other OSes (e.g. Android, fuchsia, osx) # and architectures (e.g. Arm). @@ -30,8 +31,13 @@ if (ENABLE_SIMD_OPTIMIZATIONS) add_definitions(-DADLER32_SIMD_SSSE3) add_definitions(-DINFLATE_CHUNK_READ_64LE) add_definitions(-DCRC32_SIMD_SSE42_PCLMUL) + if (ENABLE_SIMD_AVX512) + add_definitions(-DCRC32_SIMD_AVX512_PCLMUL) + add_compile_options(-mvpclmulqdq -msse2 -mavx512f -mpclmul) + else() + add_compile_options(-msse4.2 -mpclmul) + endif() add_definitions(-DDEFLATE_SLIDE_HASH_SSE2) - add_compile_options(-msse4.2 -mpclmul) # Required by CPU features detection code. add_definitions(-DX86_NOT_WINDOWS) # Apparently some environments (e.g. CentOS) require to explicitly link diff --git a/deps/zlib/contrib/optimizations/inflate.c b/deps/zlib/contrib/optimizations/inflate.c index f3dfba8b262852..8c062a6f0f2554 100644 --- a/deps/zlib/contrib/optimizations/inflate.c +++ b/deps/zlib/contrib/optimizations/inflate.c @@ -257,6 +257,8 @@ int value; struct inflate_state FAR *state; if (inflateStateCheck(strm)) return Z_STREAM_ERROR; + if (bits == 0) + return Z_OK; state = (struct inflate_state FAR *)strm->state; if (bits < 0) { state->hold = 0; diff --git a/deps/zlib/contrib/tests/fuzzers/inflate_with_header_fuzzer.cc b/deps/zlib/contrib/tests/fuzzers/inflate_with_header_fuzzer.cc index f99220aee2c49c..dfb5b39a7a32cf 100644 --- a/deps/zlib/contrib/tests/fuzzers/inflate_with_header_fuzzer.cc +++ b/deps/zlib/contrib/tests/fuzzers/inflate_with_header_fuzzer.cc @@ -12,7 +12,7 @@ #include -#include "third_party/zlib/zlib.h" +#include "zlib.h" // Fuzzer builds often have NDEBUG set, so roll our own assert macro. #define ASSERT(cond) \ diff --git a/deps/zlib/cpu_features.c b/deps/zlib/cpu_features.c index 877d5f23d0ceae..ac6ee88e460e2e 100644 --- a/deps/zlib/cpu_features.c +++ b/deps/zlib/cpu_features.c @@ -31,6 +31,7 @@ int ZLIB_INTERNAL arm_cpu_enable_pmull = 0; int ZLIB_INTERNAL x86_cpu_enable_sse2 = 0; int ZLIB_INTERNAL x86_cpu_enable_ssse3 = 0; int ZLIB_INTERNAL x86_cpu_enable_simd = 0; +int ZLIB_INTERNAL x86_cpu_enable_avx512 = 0; #ifndef CPU_NO_SIMD @@ -138,6 +139,10 @@ static void _cpu_check_features(void) /* On x86 we simply use a instruction to check the CPU features. * (i.e. CPUID). */ +#ifdef CRC32_SIMD_AVX512_PCLMUL +#include +#include +#endif static void _cpu_check_features(void) { int x86_cpu_has_sse2; @@ -164,6 +169,10 @@ static void _cpu_check_features(void) x86_cpu_enable_simd = x86_cpu_has_sse2 && x86_cpu_has_sse42 && x86_cpu_has_pclmulqdq; + +#ifdef CRC32_SIMD_AVX512_PCLMUL + x86_cpu_enable_avx512 = _xgetbv(0) & 0x00000040; +#endif } #endif #endif diff --git a/deps/zlib/cpu_features.h b/deps/zlib/cpu_features.h index 279246c859e87e..aed3e834c5ac89 100644 --- a/deps/zlib/cpu_features.h +++ b/deps/zlib/cpu_features.h @@ -14,5 +14,6 @@ extern int arm_cpu_enable_pmull; extern int x86_cpu_enable_sse2; extern int x86_cpu_enable_ssse3; extern int x86_cpu_enable_simd; +extern int x86_cpu_enable_avx512; void cpu_check_features(void); diff --git a/deps/zlib/crc32.c b/deps/zlib/crc32.c index 4486098c7b3a1d..acb6972f4bdbc8 100644 --- a/deps/zlib/crc32.c +++ b/deps/zlib/crc32.c @@ -773,7 +773,19 @@ unsigned long ZEXPORT crc32_z(crc, buf, len) } #endif -#if defined(CRC32_SIMD_SSE42_PCLMUL) +#if defined(CRC32_SIMD_AVX512_PCLMUL) + if (x86_cpu_enable_avx512 && len >= Z_CRC32_AVX512_MINIMUM_LENGTH) { + /* crc32 64-byte chunks */ + z_size_t chunk_size = len & ~Z_CRC32_AVX512_CHUNKSIZE_MASK; + crc = ~crc32_avx512_simd_(buf, chunk_size, ~(uint32_t)crc); + /* check remaining data */ + len -= chunk_size; + if (!len) + return crc; + /* Fall into the default crc32 for the remaining data. */ + buf += chunk_size; + } +#elif defined(CRC32_SIMD_SSE42_PCLMUL) if (x86_cpu_enable_simd && len >= Z_CRC32_SSE42_MINIMUM_LENGTH) { /* crc32 16-byte chunks */ z_size_t chunk_size = len & ~Z_CRC32_SSE42_CHUNKSIZE_MASK; diff --git a/deps/zlib/crc32_simd.c b/deps/zlib/crc32_simd.c index d80beba39c0397..7428270920a03e 100644 --- a/deps/zlib/crc32_simd.c +++ b/deps/zlib/crc32_simd.c @@ -6,17 +6,207 @@ */ #include "crc32_simd.h" - -#if defined(CRC32_SIMD_SSE42_PCLMUL) +#if defined(CRC32_SIMD_AVX512_PCLMUL) /* - * crc32_sse42_simd_(): compute the crc32 of the buffer, where the buffer - * length must be at least 64, and a multiple of 16. Based on: + * crc32_avx512_simd_(): compute the crc32 of the buffer, where the buffer + * length must be at least 256, and a multiple of 64. Based on: * * "Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction" * V. Gopal, E. Ozturk, et al., 2009, http://intel.ly/2ySEwL0 */ +#include +#include +#include +#include + +uint32_t ZLIB_INTERNAL crc32_avx512_simd_( /* AVX512+PCLMUL */ + const unsigned char *buf, + z_size_t len, + uint32_t crc) +{ + /* + * Definitions of the bit-reflected domain constants k1,k2,k3,k4 + * are similar to those given at the end of the paper, and remaining + * constants and CRC32+Barrett polynomials remain unchanged. + * + * Replace the index of x from 128 to 512. As follows: + * k1 = ( x ^ ( 512 * 4 + 32 ) mod P(x) << 32 )' << 1 = 0x011542778a + * k2 = ( x ^ ( 512 * 4 - 32 ) mod P(x) << 32 )' << 1 = 0x01322d1430 + * k3 = ( x ^ ( 512 + 32 ) mod P(x) << 32 )' << 1 = 0x0154442bd4 + * k4 = ( x ^ ( 512 - 32 ) mod P(x) << 32 )' << 1 = 0x01c6e41596 + */ + static const uint64_t zalign(64) k1k2[] = { 0x011542778a, 0x01322d1430, + 0x011542778a, 0x01322d1430, + 0x011542778a, 0x01322d1430, + 0x011542778a, 0x01322d1430 }; + static const uint64_t zalign(64) k3k4[] = { 0x0154442bd4, 0x01c6e41596, + 0x0154442bd4, 0x01c6e41596, + 0x0154442bd4, 0x01c6e41596, + 0x0154442bd4, 0x01c6e41596 }; + static const uint64_t zalign(16) k5k6[] = { 0x01751997d0, 0x00ccaa009e }; + static const uint64_t zalign(16) k7k8[] = { 0x0163cd6124, 0x0000000000 }; + static const uint64_t zalign(16) poly[] = { 0x01db710641, 0x01f7011641 }; + __m512i x0, x1, x2, x3, x4, x5, x6, x7, x8, y5, y6, y7, y8; + __m128i a0, a1, a2, a3; + + /* + * There's at least one block of 256. + */ + x1 = _mm512_loadu_si512((__m512i *)(buf + 0x00)); + x2 = _mm512_loadu_si512((__m512i *)(buf + 0x40)); + x3 = _mm512_loadu_si512((__m512i *)(buf + 0x80)); + x4 = _mm512_loadu_si512((__m512i *)(buf + 0xC0)); + + x1 = _mm512_xor_si512(x1, _mm512_castsi128_si512(_mm_cvtsi32_si128(crc))); + + x0 = _mm512_load_si512((__m512i *)k1k2); + + buf += 256; + len -= 256; + + /* + * Parallel fold blocks of 256, if any. + */ + while (len >= 256) + { + x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); + x6 = _mm512_clmulepi64_epi128(x2, x0, 0x00); + x7 = _mm512_clmulepi64_epi128(x3, x0, 0x00); + x8 = _mm512_clmulepi64_epi128(x4, x0, 0x00); + + + x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); + x2 = _mm512_clmulepi64_epi128(x2, x0, 0x11); + x3 = _mm512_clmulepi64_epi128(x3, x0, 0x11); + x4 = _mm512_clmulepi64_epi128(x4, x0, 0x11); + + y5 = _mm512_loadu_si512((__m512i *)(buf + 0x00)); + y6 = _mm512_loadu_si512((__m512i *)(buf + 0x40)); + y7 = _mm512_loadu_si512((__m512i *)(buf + 0x80)); + y8 = _mm512_loadu_si512((__m512i *)(buf + 0xC0)); + + x1 = _mm512_xor_si512(x1, x5); + x2 = _mm512_xor_si512(x2, x6); + x3 = _mm512_xor_si512(x3, x7); + x4 = _mm512_xor_si512(x4, x8); + + x1 = _mm512_xor_si512(x1, y5); + x2 = _mm512_xor_si512(x2, y6); + x3 = _mm512_xor_si512(x3, y7); + x4 = _mm512_xor_si512(x4, y8); + + buf += 256; + len -= 256; + } + + /* + * Fold into 512-bits. + */ + x0 = _mm512_load_si512((__m512i *)k3k4); + + x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); + x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); + x1 = _mm512_xor_si512(x1, x2); + x1 = _mm512_xor_si512(x1, x5); + + x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); + x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); + x1 = _mm512_xor_si512(x1, x3); + x1 = _mm512_xor_si512(x1, x5); + + x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); + x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); + x1 = _mm512_xor_si512(x1, x4); + x1 = _mm512_xor_si512(x1, x5); + + /* + * Single fold blocks of 64, if any. + */ + while (len >= 64) + { + x2 = _mm512_loadu_si512((__m512i *)buf); + + x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); + x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); + x1 = _mm512_xor_si512(x1, x2); + x1 = _mm512_xor_si512(x1, x5); + + buf += 64; + len -= 64; + } + + /* + * Fold 512-bits to 384-bits. + */ + a0 = _mm_load_si128((__m128i *)k5k6); + + a1 = _mm512_extracti32x4_epi32(x1, 0); + a2 = _mm512_extracti32x4_epi32(x1, 1); + + a3 = _mm_clmulepi64_si128(a1, a0, 0x00); + a1 = _mm_clmulepi64_si128(a1, a0, 0x11); + + a1 = _mm_xor_si128(a1, a3); + a1 = _mm_xor_si128(a1, a2); + + /* + * Fold 384-bits to 256-bits. + */ + a2 = _mm512_extracti32x4_epi32(x1, 2); + a3 = _mm_clmulepi64_si128(a1, a0, 0x00); + a1 = _mm_clmulepi64_si128(a1, a0, 0x11); + a1 = _mm_xor_si128(a1, a3); + a1 = _mm_xor_si128(a1, a2); + + /* + * Fold 256-bits to 128-bits. + */ + a2 = _mm512_extracti32x4_epi32(x1, 3); + a3 = _mm_clmulepi64_si128(a1, a0, 0x00); + a1 = _mm_clmulepi64_si128(a1, a0, 0x11); + a1 = _mm_xor_si128(a1, a3); + a1 = _mm_xor_si128(a1, a2); + + /* + * Fold 128-bits to 64-bits. + */ + a2 = _mm_clmulepi64_si128(a1, a0, 0x10); + a3 = _mm_setr_epi32(~0, 0, ~0, 0); + a1 = _mm_srli_si128(a1, 8); + a1 = _mm_xor_si128(a1, a2); + + a0 = _mm_loadl_epi64((__m128i*)k7k8); + a2 = _mm_srli_si128(a1, 4); + a1 = _mm_and_si128(a1, a3); + a1 = _mm_clmulepi64_si128(a1, a0, 0x00); + a1 = _mm_xor_si128(a1, a2); + + /* + * Barret reduce to 32-bits. + */ + a0 = _mm_load_si128((__m128i*)poly); + + a2 = _mm_and_si128(a1, a3); + a2 = _mm_clmulepi64_si128(a2, a0, 0x10); + a2 = _mm_and_si128(a2, a3); + a2 = _mm_clmulepi64_si128(a2, a0, 0x00); + a1 = _mm_xor_si128(a1, a2); + + /* + * Return the crc32. + */ + return _mm_extract_epi32(a1, 1); +} + +#elif defined(CRC32_SIMD_SSE42_PCLMUL) + +/* + * crc32_sse42_simd_(): compute the crc32 of the buffer, where the buffer + * length must be at least 64, and a multiple of 16. + */ + #include #include #include diff --git a/deps/zlib/crc32_simd.h b/deps/zlib/crc32_simd.h index c0346dc3d903e3..84624647bcd216 100644 --- a/deps/zlib/crc32_simd.h +++ b/deps/zlib/crc32_simd.h @@ -19,12 +19,18 @@ uint32_t ZLIB_INTERNAL crc32_sse42_simd_(const unsigned char* buf, z_size_t len, uint32_t crc); +uint32_t ZLIB_INTERNAL crc32_avx512_simd_(const unsigned char* buf, + z_size_t len, + uint32_t crc); + /* * crc32_sse42_simd_ buffer size constraints: see the use in zlib/crc32.c * for computing the crc32 of an arbitrary length buffer. */ #define Z_CRC32_SSE42_MINIMUM_LENGTH 64 #define Z_CRC32_SSE42_CHUNKSIZE_MASK 15 +#define Z_CRC32_AVX512_MINIMUM_LENGTH 256 +#define Z_CRC32_AVX512_CHUNKSIZE_MASK 63 /* * CRC32 checksums using ARMv8-a crypto instructions. diff --git a/deps/zlib/crc_folding.c b/deps/zlib/crc_folding.c index ee31d4918d6413..1b4f4e1d193871 100644 --- a/deps/zlib/crc_folding.c +++ b/deps/zlib/crc_folding.c @@ -435,7 +435,10 @@ unsigned ZLIB_INTERNAL crc_fold_512to32(deflate_state *const s) unsigned crc; __m128i x_tmp0, x_tmp1, x_tmp2, crc_fold; - CRC_LOAD(s) + __m128i xmm_crc0 = _mm_loadu_si128((__m128i *)s->crc0 + 0); + __m128i xmm_crc1 = _mm_loadu_si128((__m128i *)s->crc0 + 1); + __m128i xmm_crc2 = _mm_loadu_si128((__m128i *)s->crc0 + 2); + __m128i xmm_crc3 = _mm_loadu_si128((__m128i *)s->crc0 + 3); /* * k1 @@ -491,7 +494,6 @@ unsigned ZLIB_INTERNAL crc_fold_512to32(deflate_state *const s) crc = _mm_extract_epi32(xmm_crc3, 2); return ~crc; - CRC_SAVE(s) } #endif /* CRC32_SIMD_SSE42_PCLMUL */ diff --git a/deps/zlib/deflate.c b/deps/zlib/deflate.c index 413590f2735d3c..7dc589ccc940c6 100644 --- a/deps/zlib/deflate.c +++ b/deps/zlib/deflate.c @@ -65,7 +65,7 @@ #endif const char deflate_copyright[] = - " deflate 1.2.13 Copyright 1995-2022 Jean-loup Gailly and Mark Adler "; + " deflate 1.2.13.1 Copyright 1995-2022 Jean-loup Gailly and Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -774,7 +774,8 @@ uLong ZEXPORT deflateBound(strm, sourceLen) /* if not default parameters, return one of the conservative bounds */ if (s->w_bits != 15 || s->hash_bits != 8 + 7) - return (s->w_bits <= s->hash_bits ? fixedlen : storelen) + wraplen; + return (s->w_bits <= s->hash_bits && s->level ? fixedlen : storelen) + + wraplen; /* default settings: return tight bound for that case -- ~0.03% overhead plus a small constant */ diff --git a/deps/zlib/google/BUILD.gn b/deps/zlib/google/BUILD.gn index 990b0232306bdb..122cef573d5bd5 100644 --- a/deps/zlib/google/BUILD.gn +++ b/deps/zlib/google/BUILD.gn @@ -4,6 +4,10 @@ import("//build_overrides/build.gni") +if (build_with_chromium && is_ios) { + import("//build/config/ios/bundle_data_from_filelist.gni") +} + if (build_with_chromium) { static_library("zip") { sources = [ @@ -35,6 +39,13 @@ if (build_with_chromium) { ] public_deps = [ ":compression_utils_portable" ] } + + if (is_ios) { + bundle_data_from_filelist("zlib_pak_bundle_data") { + testonly = true + filelist_name = "test_data.filelist" + } + } } # This allows other users of Chromium's zlib library, but don't use Chromium's diff --git a/deps/zlib/google/test_data.filelist b/deps/zlib/google/test_data.filelist new file mode 100644 index 00000000000000..0a9d20bcea605a --- /dev/null +++ b/deps/zlib/google/test_data.filelist @@ -0,0 +1,32 @@ +# Copyright 2023 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# NOTE: this file is generated by build/ios/update_bundle_filelist.py +# If it requires updating, you should get a presubmit error with +# instructions on how to regenerate. Otherwise, do not edit. +test/data/Different Encryptions.zip +test/data/Empty Dir Same Name As File.zip +test/data/Mixed Paths.zip +test/data/Parent Dir Same Name As File.zip +test/data/README.md +test/data/Repeated Dir Name.zip +test/data/Repeated File Name With Different Cases.zip +test/data/Repeated File Name.zip +test/data/SJIS Bug 846195.zip +test/data/Windows Special Names.zip +test/data/Wrong CRC.zip +test/data/create_test_zip.sh +test/data/empty.zip +test/data/evil.zip +test/data/evil_via_absolute_file_name.zip +test/data/evil_via_invalid_utf8.zip +test/data/test.zip +test/data/test/foo.txt +test/data/test/foo/bar.txt +test/data/test/foo/bar/.hidden +test/data/test/foo/bar/baz.txt +test/data/test/foo/bar/quux.txt +test/data/test_encrypted.zip +test/data/test_mismatch_size.zip +test/data/test_nocompress.zip +test/data/test_posix_permissions.zip diff --git a/deps/zlib/google/test_data.globlist b/deps/zlib/google/test_data.globlist new file mode 100644 index 00000000000000..117a1e507df406 --- /dev/null +++ b/deps/zlib/google/test_data.globlist @@ -0,0 +1,8 @@ +# Copyright 2023 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# +# See build/ios/update_bundle_filelist.py for details on how .globlist +# files are used to update their .filelist counterparts. +test/data/** +test/data/test/foo/bar/.hidden \ No newline at end of file diff --git a/deps/zlib/google/zip_unittest.cc b/deps/zlib/google/zip_unittest.cc index 24ed147729f720..d0fc02fd939a15 100644 --- a/deps/zlib/google/zip_unittest.cc +++ b/deps/zlib/google/zip_unittest.cc @@ -611,7 +611,7 @@ TEST_F(ZipTest, UnzipWindowsSpecialNames) { "NUL .txt", "NUL .txt", "NUL ..txt", -#ifndef OS_MAC +#ifndef OS_APPLE "Nul.txt", #endif "nul.very long extension", @@ -669,7 +669,7 @@ TEST_F(ZipTest, UnzipWindowsSpecialNames) { } TEST_F(ZipTest, UnzipDifferentCases) { -#if defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_WIN) || defined(OS_APPLE) // Only the first file (with mixed case) is extracted. EXPECT_FALSE(zip::Unzip(GetDataDirectory().AppendASCII( "Repeated File Name With Different Cases.zip"), @@ -711,7 +711,7 @@ TEST_F(ZipTest, UnzipDifferentCasesContinueOnError) { std::string contents; -#if defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_WIN) || defined(OS_APPLE) // Only the first file (with mixed case) has been extracted. EXPECT_THAT( GetRelativePaths(test_dir_, base::FileEnumerator::FileType::FILES), @@ -782,7 +782,7 @@ TEST_F(ZipTest, UnzipMixedPaths) { "Space→ ", // "c/NUL", // Disappears on Windows "nul.very long extension", // Disappears on Windows -#ifndef OS_MAC +#ifndef OS_APPLE "CASE", // Conflicts with "Case" "case", // Conflicts with "Case" #endif diff --git a/deps/zlib/gzlib.c b/deps/zlib/gzlib.c index 55da46a453fd18..bbdb797e8079d8 100644 --- a/deps/zlib/gzlib.c +++ b/deps/zlib/gzlib.c @@ -7,11 +7,14 @@ #if defined(_WIN32) && !defined(__BORLANDC__) # define LSEEK _lseeki64 +# define OPEN open #else #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 # define LSEEK lseek64 +# define OPEN open64 #else # define LSEEK lseek +# define OPEN open #endif #endif @@ -244,7 +247,7 @@ local gzFile gz_open(path, fd, mode) #ifdef WIDECHAR fd == -2 ? _wopen(path, oflag, 0666) : #endif - open((const char *)path, oflag, 0666)); + OPEN((const char *)path, oflag, 0666)); if (state->fd == -1) { free(state->path); free(state); diff --git a/deps/zlib/gzwrite.c b/deps/zlib/gzwrite.c index eb8a0e5893ff6a..3030d74d6176c7 100644 --- a/deps/zlib/gzwrite.c +++ b/deps/zlib/gzwrite.c @@ -609,7 +609,7 @@ int ZEXPORT gzsetparams(file, level, strategy) strm = &(state->strm); /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) + if (state->mode != GZ_WRITE || state->err != Z_OK || state->direct) return Z_STREAM_ERROR; /* if no change is requested, then do nothing */ diff --git a/deps/zlib/inflate.c b/deps/zlib/inflate.c index 281f9ab2e8c5fc..ada86f1a1ebaa8 100644 --- a/deps/zlib/inflate.c +++ b/deps/zlib/inflate.c @@ -256,6 +256,8 @@ int value; struct inflate_state FAR *state; if (inflateStateCheck(strm)) return Z_STREAM_ERROR; + if (bits == 0) + return Z_OK; state = (struct inflate_state FAR *)strm->state; if (bits < 0) { state->hold = 0; diff --git a/deps/zlib/inftrees.c b/deps/zlib/inftrees.c index 57d2793bec931f..0178ffafe1e0ed 100644 --- a/deps/zlib/inftrees.c +++ b/deps/zlib/inftrees.c @@ -9,7 +9,7 @@ #define MAXBITS 15 const char inflate_copyright[] = - " inflate 1.2.13 Copyright 1995-2022 Mark Adler "; + " inflate 1.2.13.1 Copyright 1995-2022 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome in the documentation of your product. If for some reason you cannot @@ -62,7 +62,7 @@ unsigned short FAR *work; 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 194, 65}; + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 77, 76}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, diff --git a/deps/zlib/patches/0011-avx512.patch b/deps/zlib/patches/0011-avx512.patch new file mode 100644 index 00000000000000..6d409b77383d53 --- /dev/null +++ b/deps/zlib/patches/0011-avx512.patch @@ -0,0 +1,357 @@ +From 87fc8e3e38323cfdabf8da3927488e3e57073b02 Mon Sep 17 00:00:00 2001 +From: Jia Liu +Date: Thu, 30 Mar 2023 11:13:16 +0800 +Subject: [PATCH] Enabled AVX512 for CRC32 + +Enabled AVX512 for CRC32 that provide best of known performance +beyond current SSE SIMD optimization. It enables multiple folding +operations and AVX512 new instructions, providing ~3.5X CRC32 +performance and ~3.7% gain on Zlib_bench gzip performance. +--- + CMakeLists.txt | 8 +- + cpu_features.c | 9 +++ + cpu_features.h | 1 + + crc32.c | 14 +++- + crc32_simd.c | 198 ++++++++++++++++++++++++++++++++++++++++++++++++- + crc32_simd.h | 6 ++ + 6 files changed, 230 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f06e193..d45b902 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,6 +22,7 @@ check_include_file(stdint.h HAVE_STDINT_H) + check_include_file(stddef.h HAVE_STDDEF_H) + + option(ENABLE_SIMD_OPTIMIZATIONS "Enable all SIMD optimizations" OFF) ++option(ENABLE_SIMD_AVX512 "Enable SIMD AXV512 optimizations" OFF) + + # TODO(cavalcantii): add support for other OSes (e.g. Android, fuchsia, osx) + # and architectures (e.g. Arm). +@@ -30,8 +31,13 @@ if (ENABLE_SIMD_OPTIMIZATIONS) + add_definitions(-DADLER32_SIMD_SSSE3) + add_definitions(-DINFLATE_CHUNK_READ_64LE) + add_definitions(-DCRC32_SIMD_SSE42_PCLMUL) ++ if (ENABLE_SIMD_AVX512) ++ add_definitions(-DCRC32_SIMD_AVX512_PCLMUL) ++ add_compile_options(-mvpclmulqdq -msse2 -mavx512f -mpclmul) ++ else() ++ add_compile_options(-msse4.2 -mpclmul) ++ endif() + add_definitions(-DDEFLATE_SLIDE_HASH_SSE2) +- add_compile_options(-msse4.2 -mpclmul) + # Required by CPU features detection code. + add_definitions(-DX86_NOT_WINDOWS) + # Apparently some environments (e.g. CentOS) require to explicitly link +diff --git a/cpu_features.c b/cpu_features.c +index 877d5f2..ac6ee88 100644 +--- a/cpu_features.c ++++ b/cpu_features.c +@@ -31,6 +31,7 @@ int ZLIB_INTERNAL arm_cpu_enable_pmull = 0; + int ZLIB_INTERNAL x86_cpu_enable_sse2 = 0; + int ZLIB_INTERNAL x86_cpu_enable_ssse3 = 0; + int ZLIB_INTERNAL x86_cpu_enable_simd = 0; ++int ZLIB_INTERNAL x86_cpu_enable_avx512 = 0; + + #ifndef CPU_NO_SIMD + +@@ -138,6 +139,10 @@ static void _cpu_check_features(void) + /* On x86 we simply use a instruction to check the CPU features. + * (i.e. CPUID). + */ ++#ifdef CRC32_SIMD_AVX512_PCLMUL ++#include ++#include ++#endif + static void _cpu_check_features(void) + { + int x86_cpu_has_sse2; +@@ -164,6 +169,10 @@ static void _cpu_check_features(void) + x86_cpu_enable_simd = x86_cpu_has_sse2 && + x86_cpu_has_sse42 && + x86_cpu_has_pclmulqdq; ++ ++#ifdef CRC32_SIMD_AVX512_PCLMUL ++ x86_cpu_enable_avx512 = _xgetbv(0) & 0x00000040; ++#endif + } + #endif + #endif +diff --git a/cpu_features.h b/cpu_features.h +index 279246c..aed3e83 100644 +--- a/cpu_features.h ++++ b/cpu_features.h +@@ -14,5 +14,6 @@ extern int arm_cpu_enable_pmull; + extern int x86_cpu_enable_sse2; + extern int x86_cpu_enable_ssse3; + extern int x86_cpu_enable_simd; ++extern int x86_cpu_enable_avx512; + + void cpu_check_features(void); +diff --git a/crc32.c b/crc32.c +index 4486098..acb6972 100644 +--- a/crc32.c ++++ b/crc32.c +@@ -773,7 +773,19 @@ unsigned long ZEXPORT crc32_z(crc, buf, len) + } + + #endif +-#if defined(CRC32_SIMD_SSE42_PCLMUL) ++#if defined(CRC32_SIMD_AVX512_PCLMUL) ++ if (x86_cpu_enable_avx512 && len >= Z_CRC32_AVX512_MINIMUM_LENGTH) { ++ /* crc32 64-byte chunks */ ++ z_size_t chunk_size = len & ~Z_CRC32_AVX512_CHUNKSIZE_MASK; ++ crc = ~crc32_avx512_simd_(buf, chunk_size, ~(uint32_t)crc); ++ /* check remaining data */ ++ len -= chunk_size; ++ if (!len) ++ return crc; ++ /* Fall into the default crc32 for the remaining data. */ ++ buf += chunk_size; ++ } ++#elif defined(CRC32_SIMD_SSE42_PCLMUL) + if (x86_cpu_enable_simd && len >= Z_CRC32_SSE42_MINIMUM_LENGTH) { + /* crc32 16-byte chunks */ + z_size_t chunk_size = len & ~Z_CRC32_SSE42_CHUNKSIZE_MASK; +diff --git a/crc32_simd.c b/crc32_simd.c +index d80beba..7428270 100644 +--- a/crc32_simd.c ++++ b/crc32_simd.c +@@ -6,17 +6,207 @@ + */ + + #include "crc32_simd.h" +- +-#if defined(CRC32_SIMD_SSE42_PCLMUL) ++#if defined(CRC32_SIMD_AVX512_PCLMUL) + + /* +- * crc32_sse42_simd_(): compute the crc32 of the buffer, where the buffer +- * length must be at least 64, and a multiple of 16. Based on: ++ * crc32_avx512_simd_(): compute the crc32 of the buffer, where the buffer ++ * length must be at least 256, and a multiple of 64. Based on: + * + * "Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction" + * V. Gopal, E. Ozturk, et al., 2009, http://intel.ly/2ySEwL0 + */ + ++#include ++#include ++#include ++#include ++ ++uint32_t ZLIB_INTERNAL crc32_avx512_simd_( /* AVX512+PCLMUL */ ++ const unsigned char *buf, ++ z_size_t len, ++ uint32_t crc) ++{ ++ /* ++ * Definitions of the bit-reflected domain constants k1,k2,k3,k4 ++ * are similar to those given at the end of the paper, and remaining ++ * constants and CRC32+Barrett polynomials remain unchanged. ++ * ++ * Replace the index of x from 128 to 512. As follows: ++ * k1 = ( x ^ ( 512 * 4 + 32 ) mod P(x) << 32 )' << 1 = 0x011542778a ++ * k2 = ( x ^ ( 512 * 4 - 32 ) mod P(x) << 32 )' << 1 = 0x01322d1430 ++ * k3 = ( x ^ ( 512 + 32 ) mod P(x) << 32 )' << 1 = 0x0154442bd4 ++ * k4 = ( x ^ ( 512 - 32 ) mod P(x) << 32 )' << 1 = 0x01c6e41596 ++ */ ++ static const uint64_t zalign(64) k1k2[] = { 0x011542778a, 0x01322d1430, ++ 0x011542778a, 0x01322d1430, ++ 0x011542778a, 0x01322d1430, ++ 0x011542778a, 0x01322d1430 }; ++ static const uint64_t zalign(64) k3k4[] = { 0x0154442bd4, 0x01c6e41596, ++ 0x0154442bd4, 0x01c6e41596, ++ 0x0154442bd4, 0x01c6e41596, ++ 0x0154442bd4, 0x01c6e41596 }; ++ static const uint64_t zalign(16) k5k6[] = { 0x01751997d0, 0x00ccaa009e }; ++ static const uint64_t zalign(16) k7k8[] = { 0x0163cd6124, 0x0000000000 }; ++ static const uint64_t zalign(16) poly[] = { 0x01db710641, 0x01f7011641 }; ++ __m512i x0, x1, x2, x3, x4, x5, x6, x7, x8, y5, y6, y7, y8; ++ __m128i a0, a1, a2, a3; ++ ++ /* ++ * There's at least one block of 256. ++ */ ++ x1 = _mm512_loadu_si512((__m512i *)(buf + 0x00)); ++ x2 = _mm512_loadu_si512((__m512i *)(buf + 0x40)); ++ x3 = _mm512_loadu_si512((__m512i *)(buf + 0x80)); ++ x4 = _mm512_loadu_si512((__m512i *)(buf + 0xC0)); ++ ++ x1 = _mm512_xor_si512(x1, _mm512_castsi128_si512(_mm_cvtsi32_si128(crc))); ++ ++ x0 = _mm512_load_si512((__m512i *)k1k2); ++ ++ buf += 256; ++ len -= 256; ++ ++ /* ++ * Parallel fold blocks of 256, if any. ++ */ ++ while (len >= 256) ++ { ++ x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); ++ x6 = _mm512_clmulepi64_epi128(x2, x0, 0x00); ++ x7 = _mm512_clmulepi64_epi128(x3, x0, 0x00); ++ x8 = _mm512_clmulepi64_epi128(x4, x0, 0x00); ++ ++ ++ x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); ++ x2 = _mm512_clmulepi64_epi128(x2, x0, 0x11); ++ x3 = _mm512_clmulepi64_epi128(x3, x0, 0x11); ++ x4 = _mm512_clmulepi64_epi128(x4, x0, 0x11); ++ ++ y5 = _mm512_loadu_si512((__m512i *)(buf + 0x00)); ++ y6 = _mm512_loadu_si512((__m512i *)(buf + 0x40)); ++ y7 = _mm512_loadu_si512((__m512i *)(buf + 0x80)); ++ y8 = _mm512_loadu_si512((__m512i *)(buf + 0xC0)); ++ ++ x1 = _mm512_xor_si512(x1, x5); ++ x2 = _mm512_xor_si512(x2, x6); ++ x3 = _mm512_xor_si512(x3, x7); ++ x4 = _mm512_xor_si512(x4, x8); ++ ++ x1 = _mm512_xor_si512(x1, y5); ++ x2 = _mm512_xor_si512(x2, y6); ++ x3 = _mm512_xor_si512(x3, y7); ++ x4 = _mm512_xor_si512(x4, y8); ++ ++ buf += 256; ++ len -= 256; ++ } ++ ++ /* ++ * Fold into 512-bits. ++ */ ++ x0 = _mm512_load_si512((__m512i *)k3k4); ++ ++ x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); ++ x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); ++ x1 = _mm512_xor_si512(x1, x2); ++ x1 = _mm512_xor_si512(x1, x5); ++ ++ x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); ++ x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); ++ x1 = _mm512_xor_si512(x1, x3); ++ x1 = _mm512_xor_si512(x1, x5); ++ ++ x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); ++ x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); ++ x1 = _mm512_xor_si512(x1, x4); ++ x1 = _mm512_xor_si512(x1, x5); ++ ++ /* ++ * Single fold blocks of 64, if any. ++ */ ++ while (len >= 64) ++ { ++ x2 = _mm512_loadu_si512((__m512i *)buf); ++ ++ x5 = _mm512_clmulepi64_epi128(x1, x0, 0x00); ++ x1 = _mm512_clmulepi64_epi128(x1, x0, 0x11); ++ x1 = _mm512_xor_si512(x1, x2); ++ x1 = _mm512_xor_si512(x1, x5); ++ ++ buf += 64; ++ len -= 64; ++ } ++ ++ /* ++ * Fold 512-bits to 384-bits. ++ */ ++ a0 = _mm_load_si128((__m128i *)k5k6); ++ ++ a1 = _mm512_extracti32x4_epi32(x1, 0); ++ a2 = _mm512_extracti32x4_epi32(x1, 1); ++ ++ a3 = _mm_clmulepi64_si128(a1, a0, 0x00); ++ a1 = _mm_clmulepi64_si128(a1, a0, 0x11); ++ ++ a1 = _mm_xor_si128(a1, a3); ++ a1 = _mm_xor_si128(a1, a2); ++ ++ /* ++ * Fold 384-bits to 256-bits. ++ */ ++ a2 = _mm512_extracti32x4_epi32(x1, 2); ++ a3 = _mm_clmulepi64_si128(a1, a0, 0x00); ++ a1 = _mm_clmulepi64_si128(a1, a0, 0x11); ++ a1 = _mm_xor_si128(a1, a3); ++ a1 = _mm_xor_si128(a1, a2); ++ ++ /* ++ * Fold 256-bits to 128-bits. ++ */ ++ a2 = _mm512_extracti32x4_epi32(x1, 3); ++ a3 = _mm_clmulepi64_si128(a1, a0, 0x00); ++ a1 = _mm_clmulepi64_si128(a1, a0, 0x11); ++ a1 = _mm_xor_si128(a1, a3); ++ a1 = _mm_xor_si128(a1, a2); ++ ++ /* ++ * Fold 128-bits to 64-bits. ++ */ ++ a2 = _mm_clmulepi64_si128(a1, a0, 0x10); ++ a3 = _mm_setr_epi32(~0, 0, ~0, 0); ++ a1 = _mm_srli_si128(a1, 8); ++ a1 = _mm_xor_si128(a1, a2); ++ ++ a0 = _mm_loadl_epi64((__m128i*)k7k8); ++ a2 = _mm_srli_si128(a1, 4); ++ a1 = _mm_and_si128(a1, a3); ++ a1 = _mm_clmulepi64_si128(a1, a0, 0x00); ++ a1 = _mm_xor_si128(a1, a2); ++ ++ /* ++ * Barret reduce to 32-bits. ++ */ ++ a0 = _mm_load_si128((__m128i*)poly); ++ ++ a2 = _mm_and_si128(a1, a3); ++ a2 = _mm_clmulepi64_si128(a2, a0, 0x10); ++ a2 = _mm_and_si128(a2, a3); ++ a2 = _mm_clmulepi64_si128(a2, a0, 0x00); ++ a1 = _mm_xor_si128(a1, a2); ++ ++ /* ++ * Return the crc32. ++ */ ++ return _mm_extract_epi32(a1, 1); ++} ++ ++#elif defined(CRC32_SIMD_SSE42_PCLMUL) ++ ++/* ++ * crc32_sse42_simd_(): compute the crc32 of the buffer, where the buffer ++ * length must be at least 64, and a multiple of 16. ++ */ ++ + #include + #include + #include +diff --git a/crc32_simd.h b/crc32_simd.h +index c0346dc..8462464 100644 +--- a/crc32_simd.h ++++ b/crc32_simd.h +@@ -19,12 +19,18 @@ uint32_t ZLIB_INTERNAL crc32_sse42_simd_(const unsigned char* buf, + z_size_t len, + uint32_t crc); + ++uint32_t ZLIB_INTERNAL crc32_avx512_simd_(const unsigned char* buf, ++ z_size_t len, ++ uint32_t crc); ++ + /* + * crc32_sse42_simd_ buffer size constraints: see the use in zlib/crc32.c + * for computing the crc32 of an arbitrary length buffer. + */ + #define Z_CRC32_SSE42_MINIMUM_LENGTH 64 + #define Z_CRC32_SSE42_CHUNKSIZE_MASK 15 ++#define Z_CRC32_AVX512_MINIMUM_LENGTH 256 ++#define Z_CRC32_AVX512_CHUNKSIZE_MASK 63 + + /* + * CRC32 checksums using ARMv8-a crypto instructions. +-- +2.34.1 + diff --git a/deps/zlib/patches/0012-lfs-open64.patch b/deps/zlib/patches/0012-lfs-open64.patch new file mode 100644 index 00000000000000..70e7b687a72941 --- /dev/null +++ b/deps/zlib/patches/0012-lfs-open64.patch @@ -0,0 +1,40 @@ +From 6f21cb4b209d750486ede5472fdf7e35cf5ac3aa Mon Sep 17 00:00:00 2001 +From: Ramin Halavati +Date: Wed, 17 May 2023 15:21:43 +0200 +Subject: [PATCH] Add open64 for Large File System support to gzlib. + +--- + third_party/zlib/gzlib.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/third_party/zlib/gzlib.c b/third_party/zlib/gzlib.c +index 55da46a453fd1..bbdb797e8079d 100644 +--- a/third_party/zlib/gzlib.c ++++ b/third_party/zlib/gzlib.c +@@ -7,11 +7,14 @@ + + #if defined(_WIN32) && !defined(__BORLANDC__) + # define LSEEK _lseeki64 ++# define OPEN open + #else + #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 + # define LSEEK lseek64 ++# define OPEN open64 + #else + # define LSEEK lseek ++# define OPEN open + #endif + #endif + +@@ -244,7 +247,7 @@ local gzFile gz_open(path, fd, mode) + #ifdef WIDECHAR + fd == -2 ? _wopen(path, oflag, 0666) : + #endif +- open((const char *)path, oflag, 0666)); ++ OPEN((const char *)path, oflag, 0666)); + if (state->fd == -1) { + free(state->path); + free(state); +-- +2.40.1.606.ga4b1b128d6-goog + diff --git a/deps/zlib/zconf.h b/deps/zlib/zconf.h index c88d40847b6af8..2f2956b13e6afd 100644 --- a/deps/zlib/zconf.h +++ b/deps/zlib/zconf.h @@ -253,7 +253,11 @@ #endif #ifdef Z_SOLO - typedef unsigned long z_size_t; +# ifdef _WIN64 + typedef unsigned long long z_size_t; +# else + typedef unsigned long z_size_t; +# endif #else # define z_longlong long long # if defined(NO_SIZE_T) diff --git a/deps/zlib/zconf.h.cmakein b/deps/zlib/zconf.h.cmakein index 247ba2461dd09e..9cc20bfb6ce74b 100644 --- a/deps/zlib/zconf.h.cmakein +++ b/deps/zlib/zconf.h.cmakein @@ -243,7 +243,11 @@ #endif #ifdef Z_SOLO - typedef unsigned long z_size_t; +# ifdef _WIN64 + typedef unsigned long long z_size_t; +# else + typedef unsigned long z_size_t; +# endif #else # define z_longlong long long # if defined(NO_SIZE_T) diff --git a/deps/zlib/zconf.h.in b/deps/zlib/zconf.h.in new file mode 100644 index 00000000000000..fb76ffe312ae45 --- /dev/null +++ b/deps/zlib/zconf.h.in @@ -0,0 +1,551 @@ +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* @(#) $Id$ */ + +#ifndef ZCONF_H +#define ZCONF_H + +/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set + * this permanently in zconf.h using "./configure --zprefix". + */ +#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ +# define Z_PREFIX_SET + +/* all linked symbols and init macros */ +# define _dist_code z__dist_code +# define _length_code z__length_code +# define _tr_align z__tr_align +# define _tr_flush_bits z__tr_flush_bits +# define _tr_flush_block z__tr_flush_block +# define _tr_init z__tr_init +# define _tr_stored_block z__tr_stored_block +# define _tr_tally z__tr_tally +# define adler32 z_adler32 +# define adler32_combine z_adler32_combine +# define adler32_combine64 z_adler32_combine64 +# define adler32_z z_adler32_z +# ifndef Z_SOLO +# define compress z_compress +# define compress2 z_compress2 +# define compressBound z_compressBound +# endif +# define crc32 z_crc32 +# define crc32_combine z_crc32_combine +# define crc32_combine64 z_crc32_combine64 +# define crc32_combine_gen z_crc32_combine_gen +# define crc32_combine_gen64 z_crc32_combine_gen64 +# define crc32_combine_op z_crc32_combine_op +# define crc32_z z_crc32_z +# define deflate z_deflate +# define deflateBound z_deflateBound +# define deflateCopy z_deflateCopy +# define deflateEnd z_deflateEnd +# define deflateGetDictionary z_deflateGetDictionary +# define deflateInit z_deflateInit +# define deflateInit2 z_deflateInit2 +# define deflateInit2_ z_deflateInit2_ +# define deflateInit_ z_deflateInit_ +# define deflateParams z_deflateParams +# define deflatePending z_deflatePending +# define deflatePrime z_deflatePrime +# define deflateReset z_deflateReset +# define deflateResetKeep z_deflateResetKeep +# define deflateSetDictionary z_deflateSetDictionary +# define deflateSetHeader z_deflateSetHeader +# define deflateTune z_deflateTune +# define deflate_copyright z_deflate_copyright +# define get_crc_table z_get_crc_table +# ifndef Z_SOLO +# define gz_error z_gz_error +# define gz_intmax z_gz_intmax +# define gz_strwinerror z_gz_strwinerror +# define gzbuffer z_gzbuffer +# define gzclearerr z_gzclearerr +# define gzclose z_gzclose +# define gzclose_r z_gzclose_r +# define gzclose_w z_gzclose_w +# define gzdirect z_gzdirect +# define gzdopen z_gzdopen +# define gzeof z_gzeof +# define gzerror z_gzerror +# define gzflush z_gzflush +# define gzfread z_gzfread +# define gzfwrite z_gzfwrite +# define gzgetc z_gzgetc +# define gzgetc_ z_gzgetc_ +# define gzgets z_gzgets +# define gzoffset z_gzoffset +# define gzoffset64 z_gzoffset64 +# define gzopen z_gzopen +# define gzopen64 z_gzopen64 +# ifdef _WIN32 +# define gzopen_w z_gzopen_w +# endif +# define gzprintf z_gzprintf +# define gzputc z_gzputc +# define gzputs z_gzputs +# define gzread z_gzread +# define gzrewind z_gzrewind +# define gzseek z_gzseek +# define gzseek64 z_gzseek64 +# define gzsetparams z_gzsetparams +# define gztell z_gztell +# define gztell64 z_gztell64 +# define gzungetc z_gzungetc +# define gzvprintf z_gzvprintf +# define gzwrite z_gzwrite +# endif +# define inflate z_inflate +# define inflateBack z_inflateBack +# define inflateBackEnd z_inflateBackEnd +# define inflateBackInit z_inflateBackInit +# define inflateBackInit_ z_inflateBackInit_ +# define inflateCodesUsed z_inflateCodesUsed +# define inflateCopy z_inflateCopy +# define inflateEnd z_inflateEnd +# define inflateGetDictionary z_inflateGetDictionary +# define inflateGetHeader z_inflateGetHeader +# define inflateInit z_inflateInit +# define inflateInit2 z_inflateInit2 +# define inflateInit2_ z_inflateInit2_ +# define inflateInit_ z_inflateInit_ +# define inflateMark z_inflateMark +# define inflatePrime z_inflatePrime +# define inflateReset z_inflateReset +# define inflateReset2 z_inflateReset2 +# define inflateResetKeep z_inflateResetKeep +# define inflateSetDictionary z_inflateSetDictionary +# define inflateSync z_inflateSync +# define inflateSyncPoint z_inflateSyncPoint +# define inflateUndermine z_inflateUndermine +# define inflateValidate z_inflateValidate +# define inflate_copyright z_inflate_copyright +# define inflate_fast z_inflate_fast +# define inflate_table z_inflate_table +# ifndef Z_SOLO +# define uncompress z_uncompress +# define uncompress2 z_uncompress2 +# endif +# define zError z_zError +# ifndef Z_SOLO +# define zcalloc z_zcalloc +# define zcfree z_zcfree +# endif +# define zlibCompileFlags z_zlibCompileFlags +# define zlibVersion z_zlibVersion + +/* all zlib typedefs in zlib.h and zconf.h */ +# define Byte z_Byte +# define Bytef z_Bytef +# define alloc_func z_alloc_func +# define charf z_charf +# define free_func z_free_func +# ifndef Z_SOLO +# define gzFile z_gzFile +# endif +# define gz_header z_gz_header +# define gz_headerp z_gz_headerp +# define in_func z_in_func +# define intf z_intf +# define out_func z_out_func +# define uInt z_uInt +# define uIntf z_uIntf +# define uLong z_uLong +# define uLongf z_uLongf +# define voidp z_voidp +# define voidpc z_voidpc +# define voidpf z_voidpf + +/* all zlib structs in zlib.h and zconf.h */ +# define gz_header_s z_gz_header_s +# define internal_state z_internal_state + +#endif + +#if defined(__MSDOS__) && !defined(MSDOS) +# define MSDOS +#endif +#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) +# define OS2 +#endif +#if defined(_WINDOWS) && !defined(WINDOWS) +# define WINDOWS +#endif +#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) +# ifndef WIN32 +# define WIN32 +# endif +#endif +#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) +# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) +# ifndef SYS16BIT +# define SYS16BIT +# endif +# endif +#endif + +/* + * Compile with -DMAXSEG_64K if the alloc function cannot allocate more + * than 64k bytes at a time (needed on systems with 16-bit int). + */ +#ifdef SYS16BIT +# define MAXSEG_64K +#endif +#ifdef MSDOS +# define UNALIGNED_OK +#endif + +#ifdef __STDC_VERSION__ +# ifndef STDC +# define STDC +# endif +# if __STDC_VERSION__ >= 199901L +# ifndef STDC99 +# define STDC99 +# endif +# endif +#endif +#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) +# define STDC +#endif +#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) +# define STDC +#endif +#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) +# define STDC +#endif +#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) +# define STDC +#endif + +#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ +# define STDC +#endif + +#ifndef STDC +# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ +# define const /* note: need a more gentle solution here */ +# endif +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +#ifdef Z_SOLO +# ifdef _WIN64 + typedef unsigned long long z_size_t; +# else + typedef unsigned long z_size_t; +# endif +#else +# define z_longlong long long +# if defined(NO_SIZE_T) + typedef unsigned NO_SIZE_T z_size_t; +# elif defined(STDC) +# include + typedef size_t z_size_t; +# else + typedef unsigned long z_size_t; +# endif +# undef z_longlong +#endif + +/* Maximum value for memLevel in deflateInit2 */ +#ifndef MAX_MEM_LEVEL +# ifdef MAXSEG_64K +# define MAX_MEM_LEVEL 8 +# else +# define MAX_MEM_LEVEL 9 +# endif +#endif + +/* Maximum value for windowBits in deflateInit2 and inflateInit2. + * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files + * created by gzip. (Files created by minigzip can still be extracted by + * gzip.) + */ +#ifndef MAX_WBITS +# define MAX_WBITS 15 /* 32K LZ77 window */ +#endif + +/* The memory requirements for deflate are (in bytes): + (1 << (windowBits+2)) + (1 << (memLevel+9)) + that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) + plus a few kilobytes for small objects. For example, if you want to reduce + the default memory requirements from 256K to 128K, compile with + make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" + Of course this will generally degrade compression (there's no free lunch). + + The memory requirements for inflate are (in bytes) 1 << windowBits + that is, 32K for windowBits=15 (default value) plus about 7 kilobytes + for small objects. +*/ + + /* Type declarations */ + +#ifndef OF /* function prototypes */ +# ifdef STDC +# define OF(args) args +# else +# define OF(args) () +# endif +#endif + +#ifndef Z_ARG /* function prototypes for stdarg */ +# if defined(STDC) || defined(Z_HAVE_STDARG_H) +# define Z_ARG(args) args +# else +# define Z_ARG(args) () +# endif +#endif + +/* The following definitions for FAR are needed only for MSDOS mixed + * model programming (small or medium model with some far allocations). + * This was tested only with MSC; for other MSDOS compilers you may have + * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, + * just define FAR to be empty. + */ +#ifdef SYS16BIT +# if defined(M_I86SM) || defined(M_I86MM) + /* MSC small or medium model */ +# define SMALL_MEDIUM +# ifdef _MSC_VER +# define FAR _far +# else +# define FAR far +# endif +# endif +# if (defined(__SMALL__) || defined(__MEDIUM__)) + /* Turbo C small or medium model */ +# define SMALL_MEDIUM +# ifdef __BORLANDC__ +# define FAR _far +# else +# define FAR far +# endif +# endif +#endif + +#if defined(WINDOWS) || defined(WIN32) + /* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ +# ifdef ZLIB_DLL +# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) +# ifdef ZLIB_INTERNAL +# define ZEXTERN extern __declspec(dllexport) +# else +# define ZEXTERN extern __declspec(dllimport) +# endif +# endif +# endif /* ZLIB_DLL */ + /* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ +# ifdef ZLIB_WINAPI +# ifdef FAR +# undef FAR +# endif +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include + /* No need for _export, use ZLIB.DEF instead. */ + /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +# define ZEXPORT WINAPI +# ifdef WIN32 +# define ZEXPORTVA WINAPIV +# else +# define ZEXPORTVA FAR CDECL +# endif +# endif +#endif + +#if defined (__BEOS__) +# ifdef ZLIB_DLL +# ifdef ZLIB_INTERNAL +# define ZEXPORT __declspec(dllexport) +# define ZEXPORTVA __declspec(dllexport) +# else +# define ZEXPORT __declspec(dllimport) +# define ZEXPORTVA __declspec(dllimport) +# endif +# endif +#endif + +#ifndef ZEXTERN +# define ZEXTERN extern +#endif +#ifndef ZEXPORT +# define ZEXPORT +#endif +#ifndef ZEXPORTVA +# define ZEXPORTVA +#endif + +#ifndef FAR +# define FAR +#endif + +#if !defined(__MACTYPES__) +typedef unsigned char Byte; /* 8 bits */ +#endif +typedef unsigned int uInt; /* 16 bits or more */ +typedef unsigned long uLong; /* 32 bits or more */ + +#ifdef SMALL_MEDIUM + /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ +# define Bytef Byte FAR +#else + typedef Byte FAR Bytef; +#endif +typedef char FAR charf; +typedef int FAR intf; +typedef uInt FAR uIntf; +typedef uLong FAR uLongf; + +#ifdef STDC + typedef void const *voidpc; + typedef void FAR *voidpf; + typedef void *voidp; +#else + typedef Byte const *voidpc; + typedef Byte FAR *voidpf; + typedef Byte *voidp; +#endif + +#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) +# include +# if (UINT_MAX == 0xffffffffUL) +# define Z_U4 unsigned +# elif (ULONG_MAX == 0xffffffffUL) +# define Z_U4 unsigned long +# elif (USHRT_MAX == 0xffffffffUL) +# define Z_U4 unsigned short +# endif +#endif + +#ifdef Z_U4 + typedef Z_U4 z_crc_t; +#else + typedef unsigned long z_crc_t; +#endif + +#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ +# define Z_HAVE_UNISTD_H +#endif + +#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ +# define Z_HAVE_STDARG_H +#endif + +#ifdef STDC +# ifndef Z_SOLO +# include /* for off_t */ +# endif +#endif + +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +# include /* for va_list */ +# endif +#endif + +#ifdef _WIN32 +# ifndef Z_SOLO +# include /* for wchar_t */ +# endif +#endif + +/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and + * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even + * though the former does not conform to the LFS document), but considering + * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as + * equivalently requesting no 64-bit operations + */ +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +# undef _LARGEFILE64_SOURCE +#endif + +#ifndef Z_HAVE_UNISTD_H +# ifdef __WATCOMC__ +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_HAVE_UNISTD_H +# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32) +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_SOLO +# if defined(Z_HAVE_UNISTD_H) +# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ +# ifdef VMS +# include /* for off_t */ +# endif +# ifndef z_off_t +# define z_off_t off_t +# endif +# endif +#endif + +#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 +# define Z_LFS64 +#endif + +#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) +# define Z_LARGE64 +#endif + +#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) +# define Z_WANT64 +#endif + +#if !defined(SEEK_SET) && !defined(Z_SOLO) +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ +#endif + +#ifndef z_off_t +# define z_off_t long +#endif + +#if !defined(_WIN32) && defined(Z_LARGE64) +# define z_off64_t off64_t +#else +# if defined(_WIN32) && !defined(__GNUC__) +# define z_off64_t __int64 +# else +# define z_off64_t z_off_t +# endif +#endif + +/* MVS linker does not support external names larger than 8 bytes */ +#if defined(__MVS__) + #pragma map(deflateInit_,"DEIN") + #pragma map(deflateInit2_,"DEIN2") + #pragma map(deflateEnd,"DEEND") + #pragma map(deflateBound,"DEBND") + #pragma map(inflateInit_,"ININ") + #pragma map(inflateInit2_,"ININ2") + #pragma map(inflateEnd,"INEND") + #pragma map(inflateSync,"INSY") + #pragma map(inflateSetDictionary,"INSEDI") + #pragma map(compressBound,"CMBND") + #pragma map(inflate_table,"INTABL") + #pragma map(inflate_fast,"INFA") + #pragma map(inflate_copyright,"INCOPY") +#endif + +#endif /* ZCONF_H */ diff --git a/deps/zlib/zlib.3 b/deps/zlib/zlib.3 index 6f6e91404dff19..e733b5ab65c642 100644 --- a/deps/zlib/zlib.3 +++ b/deps/zlib/zlib.3 @@ -1,4 +1,4 @@ -.TH ZLIB 3 "13 Oct 2022" +.TH ZLIB 3 "xx Oct 2022" .SH NAME zlib \- compression/decompression library .SH SYNOPSIS @@ -105,7 +105,7 @@ before asking for help. Send questions and/or comments to zlib@gzip.org, or (for the Windows DLL version) to Gilles Vollant (info@winimage.com). .SH AUTHORS AND LICENSE -Version 1.2.13 +Version 1.2.13.1 .LP Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler .LP diff --git a/deps/zlib/zlib.h b/deps/zlib/zlib.h index cff21a1564dfdf..5b503db75664dd 100644 --- a/deps/zlib/zlib.h +++ b/deps/zlib/zlib.h @@ -1,5 +1,5 @@ /* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.13, October 13th, 2022 + version 1.2.13.1, October xxth, 2022 Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler @@ -37,12 +37,12 @@ extern "C" { #endif -#define ZLIB_VERSION "1.2.13" -#define ZLIB_VERNUM 0x12d0 +#define ZLIB_VERSION "1.2.13.1-motley" +#define ZLIB_VERNUM 0x12d1 #define ZLIB_VER_MAJOR 1 #define ZLIB_VER_MINOR 2 #define ZLIB_VER_REVISION 13 -#define ZLIB_VER_SUBREVISION 0 +#define ZLIB_VER_SUBREVISION 1 /* The 'zlib' compression library provides in-memory compression and From 96e54ddbca94b12d4a54c938ff100cc5fbd8b885 Mon Sep 17 00:00:00 2001 From: Calvin Date: Wed, 31 May 2023 00:33:04 -0600 Subject: [PATCH 120/146] doc: reserve 117 for Electron 26 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/48245 Reviewed-By: Michaël Zasso Reviewed-By: Richard Lau Reviewed-By: Moshe Atlow Reviewed-By: Luigi Pinca Reviewed-By: Tobias Nießen --- doc/abi_version_registry.json | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/abi_version_registry.json b/doc/abi_version_registry.json index bf313ae9d48b21..b9c4e3a750a988 100644 --- a/doc/abi_version_registry.json +++ b/doc/abi_version_registry.json @@ -1,5 +1,6 @@ { "NODE_MODULE_VERSION": [ + { "modules": 117,"runtime": "electron", "variant": "electron", "versions": "26" }, { "modules": 116,"runtime": "electron", "variant": "electron", "versions": "25" }, { "modules": 115,"runtime": "node", "variant": "v8_11.3", "versions": "20.0.0" }, { "modules": 114,"runtime": "electron", "variant": "electron", "versions": "24" }, From 5ddca72e62ddd902e5cd70105d6630bb15cb1721 Mon Sep 17 00:00:00 2001 From: Paolo Insogna Date: Fri, 26 May 2023 16:28:34 +0200 Subject: [PATCH 121/146] net: fix family autoselection SSL connection handling PR-URL: https://github.com/nodejs/node/pull/48189 Reviewed-By: James M Snell Reviewed-By: Marco Ippolito --- lib/_tls_wrap.js | 4 ++-- ...est-https-autoselectfamily-slow-timeout.js | 20 +++++++++++++++++++ ...e-connection-header-persists-connection.js | 4 ++-- 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 test/internet/test-https-autoselectfamily-slow-timeout.js diff --git a/lib/_tls_wrap.js b/lib/_tls_wrap.js index d5db06c4404c98..05c5a2fe65cb53 100644 --- a/lib/_tls_wrap.js +++ b/lib/_tls_wrap.js @@ -634,8 +634,8 @@ TLSSocket.prototype._wrapHandle = function(wrap, handle) { }; TLSSocket.prototype[kReinitializeHandle] = function reinitializeHandle(handle) { - const originalServername = this._handle.getServername(); - const originalSession = this._handle.getSession(); + const originalServername = this.ssl ? this._handle.getServername() : null; + const originalSession = this.ssl ? this._handle.getSession() : null; this.handle = this._wrapHandle(null, handle); this.ssl = this._handle; diff --git a/test/internet/test-https-autoselectfamily-slow-timeout.js b/test/internet/test-https-autoselectfamily-slow-timeout.js new file mode 100644 index 00000000000000..ea8f1374c01a23 --- /dev/null +++ b/test/internet/test-https-autoselectfamily-slow-timeout.js @@ -0,0 +1,20 @@ +'use strict'; + +const common = require('../common'); +const { addresses } = require('../common/internet'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const { request } = require('https'); + +request( + `https://${addresses.INET_HOST}/en`, + // Purposely set this to false because we want all connection but the last to fail + { autoSelectFamily: true, autoSelectFamilyAttemptTimeout: 10 }, + (res) => { + assert.strictEqual(res.statusCode, 200); + res.resume(); + }, +).end(); diff --git a/test/parallel/test-http-remove-connection-header-persists-connection.js b/test/parallel/test-http-remove-connection-header-persists-connection.js index 6d05874272df03..df7e39ae94375f 100644 --- a/test/parallel/test-http-remove-connection-header-persists-connection.js +++ b/test/parallel/test-http-remove-connection-header-persists-connection.js @@ -1,5 +1,5 @@ 'use strict'; -require('../common'); +const common = require('../common'); const assert = require('assert'); const net = require('net'); @@ -52,7 +52,7 @@ function makeHttp10Request(cb) { setTimeout(function() { cb(socket); - }, 10); + }, common.platformTimeout(50)); }); } From f3268d64cb79c091704aa9c54833544910e7ae75 Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Wed, 31 May 2023 18:33:30 +0300 Subject: [PATCH 122/146] test_runner: fix global after hook PR-URL: https://github.com/nodejs/node/pull/48231 Fixes: https://github.com/nodejs/node/issues/48230 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Colin Ihrig --- lib/internal/test_runner/harness.js | 8 +++--- lib/internal/test_runner/test.js | 12 ++++----- test/fixtures/test-runner/output/hooks.js | 27 +++++++++++-------- .../test-runner/output/hooks.snapshot | 3 +++ 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/lib/internal/test_runner/harness.js b/lib/internal/test_runner/harness.js index 26b85ac0d2d6a5..f150a8f5ed85c2 100644 --- a/lib/internal/test_runner/harness.js +++ b/lib/internal/test_runner/harness.js @@ -140,8 +140,8 @@ function setup(root) { const rejectionHandler = createProcessEventHandler('unhandledRejection', root); const coverage = configureCoverage(root, globalOptions); - const exitHandler = () => { - root.postRun(new ERR_TEST_FAILURE( + const exitHandler = async () => { + await root.run(new ERR_TEST_FAILURE( 'Promise resolution is still pending but the event loop has already resolved', kCancelledByParent)); @@ -150,8 +150,8 @@ function setup(root) { process.removeListener('uncaughtException', exceptionHandler); }; - const terminationHandler = () => { - exitHandler(); + const terminationHandler = async () => { + await exitHandler(); process.exit(); }; diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index ea6578e53f666a..310e794ab2945d 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -427,7 +427,7 @@ class Test extends AsyncResource { validateOneOf(name, 'hook name', kHookNames); // eslint-disable-next-line no-use-before-define const hook = new TestHook(fn, options); - if (name === 'before') { + if (name === 'before' || name === 'after') { hook.run = runOnce(hook.run); } ArrayPrototypePush(this.hooks[name], hook); @@ -514,7 +514,7 @@ class Test extends AsyncResource { } } - async run() { + async run(pendingSubtestsError) { if (this.parent !== null) { this.parent.activeSubtests++; } @@ -526,11 +526,11 @@ class Test extends AsyncResource { } const { args, ctx } = this.getRunArgs(); - const after = runOnce(async () => { + const after = async () => { if (this.hooks.after.length > 0) { await this.runHook('after', { args, ctx }); } - }); + }; const afterEach = runOnce(async () => { if (this.parent?.hooks.afterEach.length > 0) { await this.parent.runHook('afterEach', { args, ctx }); @@ -579,8 +579,8 @@ class Test extends AsyncResource { await after(); this.pass(); } catch (err) { - try { await after(); } catch { /* Ignore error. */ } try { await afterEach(); } catch { /* test is already failing, let's ignore the error */ } + try { await after(); } catch { /* Ignore error. */ } if (isTestFailureError(err)) { if (err.failureType === kTestTimeoutFailure) { this.#cancel(err); @@ -594,7 +594,7 @@ class Test extends AsyncResource { // Clean up the test. Then, try to report the results and execute any // tests that were pending due to available concurrency. - this.postRun(); + this.postRun(pendingSubtestsError); } postRun(pendingSubtestsError) { diff --git a/test/fixtures/test-runner/output/hooks.js b/test/fixtures/test-runner/output/hooks.js index a69506bbda5ef7..827da5d5646262 100644 --- a/test/fixtures/test-runner/output/hooks.js +++ b/test/fixtures/test-runner/output/hooks.js @@ -5,6 +5,7 @@ const assert = require('assert'); const { test, describe, it, before, after, beforeEach, afterEach } = require('node:test'); before((t) => t.diagnostic('before 1 called')); +after((t) => t.diagnostic('after 1 called')); describe('describe hooks', () => { const testArr = []; @@ -107,17 +108,20 @@ test('test hooks', async (t) => { await t.test('nested 2', () => testArr.push('nested 2')); }); - assert.deepStrictEqual(testArr, [ - 'before test hooks', - 'beforeEach 1', '1', 'afterEach 1', - 'beforeEach 2', '2', 'afterEach 2', - 'beforeEach nested', - 'nested before nested', - 'beforeEach nested 1', 'nested beforeEach nested 1', 'nested1', 'afterEach nested 1', 'nested afterEach nested 1', - 'beforeEach nested 2', 'nested beforeEach nested 2', 'nested 2', 'afterEach nested 2', 'nested afterEach nested 2', - 'afterEach nested', - 'nested after nested', - ]); + t.after(common.mustCall(() => { + assert.deepStrictEqual(testArr, [ + 'before test hooks', + 'beforeEach 1', '1', 'afterEach 1', + 'beforeEach 2', '2', 'afterEach 2', + 'beforeEach nested', + 'nested before nested', + 'beforeEach nested 1', 'nested beforeEach nested 1', 'nested1', 'afterEach nested 1', 'nested afterEach nested 1', + 'beforeEach nested 2', 'nested beforeEach nested 2', 'nested 2', 'afterEach nested 2', 'nested afterEach nested 2', + 'afterEach nested', + 'nested after nested', + 'after test hooks', + ]); + })); }); test('t.before throws', async (t) => { @@ -164,3 +168,4 @@ test('t.after() is called if test body throws', (t) => { }); before((t) => t.diagnostic('before 2 called')); +after((t) => t.diagnostic('after 2 called')); diff --git a/test/fixtures/test-runner/output/hooks.snapshot b/test/fixtures/test-runner/output/hooks.snapshot index 1007093e352a88..5b16957ba24dc6 100644 --- a/test/fixtures/test-runner/output/hooks.snapshot +++ b/test/fixtures/test-runner/output/hooks.snapshot @@ -97,6 +97,7 @@ not ok 3 - after throws * * * + * ... # Subtest: beforeEach throws # Subtest: 1 @@ -544,6 +545,8 @@ not ok 14 - t.after() is called if test body throws 1..14 # before 1 called # before 2 called +# after 1 called +# after 2 called # tests 38 # suites 8 # pass 14 From 9a034746f50e91f4cbe29b41db56dae87f033df2 Mon Sep 17 00:00:00 2001 From: Chengzhong Wu Date: Thu, 1 Jun 2023 15:11:39 +0800 Subject: [PATCH 123/146] src: add Realm document in the src README.md PR-URL: https://github.com/nodejs/node/pull/47932 Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Joyee Cheung --- src/README.md | 89 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 21 deletions(-) diff --git a/src/README.md b/src/README.md index 2333a90fa04b10..15317f06ae0ca3 100644 --- a/src/README.md +++ b/src/README.md @@ -96,6 +96,7 @@ Typical ways of accessing the current `Isolate` in the Node.js code are: using `args.GetIsolate()`. * Given a [`Context`][], using `context->GetIsolate()`. * Given a [`Environment`][], using `env->isolate()`. +* Given a [`Realm`][], using `realm->isolate()`. ### V8 JavaScript values @@ -264,19 +265,25 @@ heap. Node.js exposes this ability through the [`vm` module][]. V8 refers to each of these global objects and their associated builtins as a `Context`. -Currently, in Node.js there is one main `Context` associated with an -[`Environment`][] instance, and most Node.js features will only work inside -that context. (The only exception at the time of writing are -[`MessagePort`][] objects.) This restriction is not inherent to the design of -Node.js, and a sufficiently committed person could restructure Node.js to -provide built-in modules inside of `vm.Context`s. +Currently, in Node.js there is one main `Context` associated with the +principal [`Realm`][] of an [`Environment`][] instance, and a number of +subsidiary `Context`s that are created with `vm.Context` or associated with +[`ShadowRealm`][]. + +Most Node.js features will only work inside a context associated with a +`Realm`. The only exception at the time of writing are [`MessagePort`][] +objects. This restriction is not inherent to the design of Node.js, and a +sufficiently committed person could restructure Node.js to provide built-in +modules inside of `vm.Context`s. Often, the `Context` is passed around for [exception handling][]. Typical ways of accessing the current `Context` in the Node.js code are: * Given an [`Isolate`][], using `isolate->GetCurrentContext()`. * Given an [`Environment`][], using `env->context()` to get the `Environment`'s - main context. + principal [`Realm`][]'s context. +* Given a [`Realm`][], using `realm->context()` to get the `Realm`'s + context. @@ -303,15 +310,11 @@ Currently, every `Environment` class is associated with: * One [event loop][] * One [`Isolate`][] -* One main [`Context`][] +* One principal [`Realm`][] The `Environment` class contains a large number of different fields for -different Node.js modules, for example a libuv timer for `setTimeout()` or -the memory for a `Float64Array` that the `fs` module uses for storing data -returned from a `fs.stat()` call. - -It also provides [cleanup hooks][] and maintains a list of [`BaseObject`][] -instances. +different built-in modules that can be shared across different `Realm` +instances, for example, the inspector agent, async hooks info. Typical ways of accessing the current `Environment` in the Node.js code are: @@ -325,6 +328,45 @@ Typical ways of accessing the current `Environment` in the Node.js code are: * Given an [`Isolate`][], using `Environment::GetCurrent(isolate)`. This looks up the current [`Context`][] and then uses that. + + +### `Realm` + +The `Realm` class is a container for a set of JavaScript objects and functions +that are associated with a particular [ECMAScript realm][]. + +Each ECMAScript realm comes with a global object and a set of intrinsic +objects. An ECMAScript realm has a `[[HostDefined]]` field, which represents +the Node.js [`Realm`][] object. + +Every `Realm` instance is created for a particular [`Context`][]. A `Realm` +can be a principal realm or a synthetic realm. A principal realm is created +for each `Environment`'s main [`Context`][]. A synthetic realm is created +for the [`Context`][] of each [`ShadowRealm`][] constructed from the JS API. No +`Realm` is created for the [`Context`][] of a `vm.Context`. + +Native bindings and built-in modules can be evaluated in either a principal +realm or a synthetic realm. + +The `Realm` class contains a large number of different fields for +different built-in modules, for example the memory for a `Uint32Array` that +the `url` module uses for storing data returned from a +`urlBinding.update()` call. + +It also provides [cleanup hooks][] and maintains a list of [`BaseObject`][] +instances. + +Typical ways of accessing the current `Realm` in the Node.js code are: + +* Given a `FunctionCallbackInfo` for a [binding function][], + using `Realm::GetCurrent(args)`. +* Given a [`BaseObject`][], using `realm()` or `self->realm()`. +* Given a [`Context`][], using `Realm::GetCurrent(context)`. + This requires that `context` has been associated with the `Realm` + instance, e.g. is the principal `Realm` for the `Environment`. +* Given an [`Isolate`][], using `Realm::GetCurrent(isolate)`. This looks + up the current [`Context`][] and then uses its `Realm`. + ### `IsolateData` @@ -509,7 +551,7 @@ implement them. Otherwise, add the id and the class name to the // In the HTTP parser source code file: class BindingData : public BaseObject { public: - BindingData(Environment* env, Local obj) : BaseObject(env, obj) {} + BindingData(Realm* realm, Local obj) : BaseObject(realm, obj) {} SET_BINDING_ID(http_parser_binding_data) @@ -525,7 +567,7 @@ static void New(const FunctionCallbackInfo& args) { new Parser(binding_data, args.This()); } -// ... because the initialization function told the Environment to store the +// ... because the initialization function told the Realm to store the // BindingData object: void InitializeHttpParser(Local target, Local unused, @@ -710,11 +752,13 @@ any resources owned by it, e.g. memory or libuv requests/handles. #### Cleanup hooks -Cleanup hooks are provided that run before the [`Environment`][] -is destroyed. They can be added and removed through by using +Cleanup hooks are provided that run before the [`Environment`][] or the +[`Realm`][] is destroyed. They can be added and removed by using `env->AddCleanupHook(callback, hint);` and -`env->RemoveCleanupHook(callback, hint);`, where callback takes a `void* hint` -argument. +`env->RemoveCleanupHook(callback, hint);`, or +`realm->AddCleanupHook(callback, hint);` and +`realm->RemoveCleanupHook(callback, hint);` respectively, where callback takes +a `void* hint` argument. Inside these cleanup hooks, new asynchronous operations _may_ be started on the event loop, although ideally that is avoided as much as possible. @@ -776,7 +820,7 @@ need to be tied together. `BaseObject` is the main abstraction for that in Node.js, and most classes that are associated with JavaScript objects are subclasses of it. It is defined in [`base_object.h`][]. -Every `BaseObject` is associated with one [`Environment`][] and one +Every `BaseObject` is associated with one [`Realm`][] and one `v8::Object`. The `v8::Object` needs to have at least one [internal field][] that is used for storing the pointer to the C++ object. In order to ensure this, the V8 `SetInternalFieldCount()` function is usually used when setting up the @@ -1038,6 +1082,7 @@ static void GetUserInfo(const FunctionCallbackInfo& args) { [C++ coding style]: ../doc/contributing/cpp-style-guide.md [Callback scopes]: #callback-scopes +[ECMAScript realm]: https://tc39.es/ecma262/#sec-code-realms [JavaScript value handles]: #js-handles [N-API]: https://nodejs.org/api/n-api.html [`BaseObject`]: #baseobject @@ -1050,7 +1095,9 @@ static void GetUserInfo(const FunctionCallbackInfo& args) { [`Local`]: #local-handles [`MakeCallback()`]: #makecallback [`MessagePort`]: https://nodejs.org/api/worker_threads.html#worker_threads_class_messageport +[`Realm`]: #realm [`ReqWrap`]: #reqwrap +[`ShadowRealm`]: https://github.com/tc39/proposal-shadowrealm [`async_hooks` module]: https://nodejs.org/api/async_hooks.html [`async_wrap.h`]: async_wrap.h [`base_object.h`]: base_object.h From 3c7846d7e1f48a6dd11ad793274e866ddc92d6b4 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Thu, 1 Jun 2023 11:21:01 +0200 Subject: [PATCH 124/146] esm: handle more error types thrown from the loader thread PR-URL: https://github.com/nodejs/node/pull/48247 Refs: https://github.com/nodejs/node/issues/48240 Reviewed-By: Geoffrey Booth Reviewed-By: Moshe Atlow Reviewed-By: Jacob Smith --- lib/internal/modules/esm/hooks.js | 11 +- lib/internal/modules/esm/worker.js | 5 +- test/es-module/test-esm-loader-hooks.mjs | 156 +++++++++++++++++++++++ 3 files changed, 166 insertions(+), 6 deletions(-) diff --git a/lib/internal/modules/esm/hooks.js b/lib/internal/modules/esm/hooks.js index d927e3c9ba5e18..4d325f7456099c 100644 --- a/lib/internal/modules/esm/hooks.js +++ b/lib/internal/modules/esm/hooks.js @@ -590,16 +590,17 @@ class HooksProxy { if (response.message.status === 'never-settle') { return new Promise(() => {}); } - if (response.message.status === 'error') { - if (response.message.body == null) throw response.message.body; - if (response.message.body.serializationFailed || response.message.body.serialized == null) { + const { status, body } = response.message; + if (status === 'error') { + if (body == null || typeof body !== 'object') throw body; + if (body.serializationFailed || body.serialized == null) { throw ERR_WORKER_UNSERIALIZABLE_ERROR(); } // eslint-disable-next-line no-restricted-syntax - throw deserializeError(response.message.body.serialized); + throw deserializeError(body.serialized); } else { - return response.message.body; + return body; } } diff --git a/lib/internal/modules/esm/worker.js b/lib/internal/modules/esm/worker.js index 616076c98fb627..380906accf6fe9 100644 --- a/lib/internal/modules/esm/worker.js +++ b/lib/internal/modules/esm/worker.js @@ -40,7 +40,10 @@ function transferArrayBuffer(hasError, source) { } function wrapMessage(status, body) { - if (status === 'success' || body === null || typeof body !== 'object') { + if (status === 'success' || body === null || + (typeof body !== 'object' && + typeof body !== 'function' && + typeof body !== 'symbol')) { return { status, body }; } diff --git a/test/es-module/test-esm-loader-hooks.mjs b/test/es-module/test-esm-loader-hooks.mjs index 7e60932c6f6145..821c3d92ed76c0 100644 --- a/test/es-module/test-esm-loader-hooks.mjs +++ b/test/es-module/test-esm-loader-hooks.mjs @@ -244,6 +244,162 @@ describe('Loader hooks', { concurrency: true }, () => { assert.strictEqual(signal, null); }); + describe('should handle a throwing top-level body', () => { + it('should handle regular Error object', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw new Error("error message")', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /Error: error message\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle null', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw null', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\nnull\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle undefined', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw undefined', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\nundefined\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle boolean', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw true', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\ntrue\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle empty plain object', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw {}', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\n\{\}\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle plain object', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw {fn(){},symbol:Symbol("symbol"),u:undefined}', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\n\{ fn: \[Function: fn\], symbol: Symbol\(symbol\), u: undefined \}\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle number', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw 1', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\n1\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle bigint', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw 1n', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\n1\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle string', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw "literal string"', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\nliteral string\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle symbol', async () => { + const { code, signal, stdout } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw Symbol("symbol descriptor")', + fixtures.path('empty.js'), + ]); + + // Throwing a symbol doesn't produce any output + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + + it('should handle function', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,throw function fnName(){}', + fixtures.path('empty.js'), + ]); + + assert.match(stderr, /\n\[Function: fnName\]\r?\n/); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 1); + assert.strictEqual(signal, null); + }); + }); + it('should be fine to call `process.removeAllListeners("beforeExit")` from the main thread', async () => { const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ '--no-warnings', From 3b00f3afefbc090498661ca687daac79016ace6a Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 30 May 2023 11:56:29 +0200 Subject: [PATCH 125/146] esm: handle `globalPreload` hook returning a nullish value PR-URL: https://github.com/nodejs/node/pull/48249 Fixes: https://github.com/nodejs/node/issues/48240 Reviewed-By: Geoffrey Booth Reviewed-By: Jacob Smith --- lib/internal/modules/esm/hooks.js | 2 +- test/es-module/test-esm-loader-hooks.mjs | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/internal/modules/esm/hooks.js b/lib/internal/modules/esm/hooks.js index 4d325f7456099c..db30c57821f31d 100644 --- a/lib/internal/modules/esm/hooks.js +++ b/lib/internal/modules/esm/hooks.js @@ -169,7 +169,7 @@ class Hooks { port: insideLoader, }); - if (preloaded == null) { return; } + if (preloaded == null) { continue; } if (typeof preloaded !== 'string') { // [2] throw new ERR_INVALID_RETURN_VALUE( diff --git a/test/es-module/test-esm-loader-hooks.mjs b/test/es-module/test-esm-loader-hooks.mjs index 821c3d92ed76c0..2c747ed842df64 100644 --- a/test/es-module/test-esm-loader-hooks.mjs +++ b/test/es-module/test-esm-loader-hooks.mjs @@ -400,6 +400,20 @@ describe('Loader hooks', { concurrency: true }, () => { }); }); + it('should handle globalPreload returning undefined', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + 'data:text/javascript,export function globalPreload(){}', + fixtures.path('empty.js'), + ]); + + assert.strictEqual(stderr, ''); + assert.strictEqual(stdout, ''); + assert.strictEqual(code, 0); + assert.strictEqual(signal, null); + }); + it('should be fine to call `process.removeAllListeners("beforeExit")` from the main thread', async () => { const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ '--no-warnings', From 9875885357af8afa30413d2e358dcf0ca4bca7a7 Mon Sep 17 00:00:00 2001 From: OttoHollmann Date: Thu, 1 Jun 2023 16:52:53 +0200 Subject: [PATCH 126/146] test: adapt tests for OpenSSL 3.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/47859 Reviewed-By: Tobias Nießen Reviewed-By: Richard Lau --- test/common/index.js | 6 +++++- .../test-https-agent-session-eviction.js | 1 + test/parallel/test-tls-alert.js | 1 + test/parallel/test-tls-getprotocol.js | 16 +++++++++++++--- test/parallel/test-tls-min-max-version.js | 3 +++ test/parallel/test-tls-session-cache.js | 1 + 6 files changed, 24 insertions(+), 4 deletions(-) diff --git a/test/common/index.js b/test/common/index.js index 6bea72487f3676..2a8ef3a3b183cc 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -57,7 +57,10 @@ const hasCrypto = Boolean(process.versions.openssl) && !process.env.NODE_SKIP_CRYPTO; const hasOpenSSL3 = hasCrypto && - require('crypto').constants.OPENSSL_VERSION_NUMBER >= 805306368; + require('crypto').constants.OPENSSL_VERSION_NUMBER >= 0x30000000; + +const hasOpenSSL31 = hasCrypto && + require('crypto').constants.OPENSSL_VERSION_NUMBER >= 0x30100000; const hasQuic = hasCrypto && !!process.config.variables.openssl_quic; @@ -911,6 +914,7 @@ const common = { hasIntl, hasCrypto, hasOpenSSL3, + hasOpenSSL31, hasQuic, hasMultiLocalhost, invalidArgTypeHelper, diff --git a/test/parallel/test-https-agent-session-eviction.js b/test/parallel/test-https-agent-session-eviction.js index 20cdb870a09ddb..da5600710560b2 100644 --- a/test/parallel/test-https-agent-session-eviction.js +++ b/test/parallel/test-https-agent-session-eviction.js @@ -56,6 +56,7 @@ function faultyServer(port) { function second(server, session) { const req = https.request({ port: server.address().port, + ciphers: (common.hasOpenSSL31 ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), rejectUnauthorized: false }, function(res) { res.resume(); diff --git a/test/parallel/test-tls-alert.js b/test/parallel/test-tls-alert.js index 31b07104c241a9..04000771aa977b 100644 --- a/test/parallel/test-tls-alert.js +++ b/test/parallel/test-tls-alert.js @@ -42,6 +42,7 @@ const server = tls.Server({ cert: loadPEM('agent2-cert') }, null).listen(0, common.mustCall(() => { const args = ['s_client', '-quiet', '-tls1_1', + '-cipher', (common.hasOpenSSL31 ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), '-connect', `127.0.0.1:${server.address().port}`]; execFile(common.opensslCli, args, common.mustCall((err, _, stderr) => { diff --git a/test/parallel/test-tls-getprotocol.js b/test/parallel/test-tls-getprotocol.js index d45287d671d8af..7da2f60676d00e 100644 --- a/test/parallel/test-tls-getprotocol.js +++ b/test/parallel/test-tls-getprotocol.js @@ -11,9 +11,18 @@ const tls = require('tls'); const fixtures = require('../common/fixtures'); const clientConfigs = [ - { secureProtocol: 'TLSv1_method', version: 'TLSv1' }, - { secureProtocol: 'TLSv1_1_method', version: 'TLSv1.1' }, - { secureProtocol: 'TLSv1_2_method', version: 'TLSv1.2' }, + { + secureProtocol: 'TLSv1_method', + version: 'TLSv1', + ciphers: (common.hasOpenSSL31 ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT') + }, { + secureProtocol: 'TLSv1_1_method', + version: 'TLSv1.1', + ciphers: (common.hasOpenSSL31 ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT') + }, { + secureProtocol: 'TLSv1_2_method', + version: 'TLSv1.2' + }, ]; const serverConfig = { @@ -30,6 +39,7 @@ const server = tls.createServer(serverConfig, common.mustCall(clientConfigs.leng tls.connect({ host: common.localhostIPv4, port: server.address().port, + ciphers: v.ciphers, rejectUnauthorized: false, secureProtocol: v.secureProtocol }, common.mustCall(function() { diff --git a/test/parallel/test-tls-min-max-version.js b/test/parallel/test-tls-min-max-version.js index 5cea41ca7e0bd6..ab351558a4c8b3 100644 --- a/test/parallel/test-tls-min-max-version.js +++ b/test/parallel/test-tls-min-max-version.js @@ -22,6 +22,9 @@ function test(cmin, cmax, cprot, smin, smax, sprot, proto, cerr, serr) { if (serr !== 'ERR_SSL_UNSUPPORTED_PROTOCOL') ciphers = 'ALL@SECLEVEL=0'; } + if (common.hasOpenSSL31 && cerr === 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION') { + ciphers = 'DEFAULT@SECLEVEL=0'; + } // Report where test was called from. Strip leading garbage from // at Object. (file:line) // from the stack location, we only want the file:line part. diff --git a/test/parallel/test-tls-session-cache.js b/test/parallel/test-tls-session-cache.js index c4bebff2e32085..e4ecb53282fbae 100644 --- a/test/parallel/test-tls-session-cache.js +++ b/test/parallel/test-tls-session-cache.js @@ -100,6 +100,7 @@ function doTest(testOptions, callback) { const args = [ 's_client', '-tls1', + '-cipher', (common.hasOpenSSL31 ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), '-connect', `localhost:${this.address().port}`, '-servername', 'ohgod', '-key', fixtures.path('keys/rsa_private.pem'), From 4562805cf6583467f83e83f28a9bab7c0e5ca383 Mon Sep 17 00:00:00 2001 From: Keyhan Vakil Date: Thu, 1 Jun 2023 08:41:52 -0700 Subject: [PATCH 127/146] build: speed up compilation of mksnapshot output Incremental compilation of Node.js is slow. Currently on a powerful Linux machine, it takes about 5.8 seconds to compile `gen/node_snapshot.cc` with g++. As in the previous PR which dealt with `node_js2c`, we add a new build define `NODE_MKSNAPSHOT_USE_STRING_LITERALS` which is used by `node_mksnapshot`. When this flag is set, we emit string literals instead of array literals for the snapshot blob and for the code cache, i.e.: ```c++ // old: static const uint8_t X[] = { ... }; static const uint8_t *X = "..."; ``` I only enabled the new flag on Linux/macOS, since those are systems that I have available for testing. On my Linux system with gcc, it speeds up compilation of this file by 3.7s (5.8s -> 2.1s). On my Mac system with clang, it speeds up compilation by 1.7s (3.4s -> 1.7s). Again, the right thing here is probably to generate separate files for the snapshot blob and for each code cache output, but this is a nice intermediate speedup. Refs: https://github.com/nodejs/node/issues/47984 Refs: https://github.com/nodejs/node/pull/48160 PR-URL: https://github.com/nodejs/node/pull/48162 Reviewed-By: Yagiz Nizipli Reviewed-By: Joyee Cheung --- node.gyp | 3 ++ src/node_snapshotable.cc | 77 +++++++++++++++++++++++++++++++++------- 2 files changed, 67 insertions(+), 13 deletions(-) diff --git a/node.gyp b/node.gyp index d57ab5f21c575e..a66d569154476f 100644 --- a/node.gyp +++ b/node.gyp @@ -872,6 +872,9 @@ 'node_target_type=="executable"', { 'defines': [ 'NODE_ENABLE_LARGE_CODE_PAGES=1' ], }], + ['OS in "linux mac"', { + 'defines': [ 'NODE_MKSNAPSHOT_USE_STRING_LITERALS' ], + }], [ 'use_openssl_def==1', { # TODO(bnoordhuis) Make all platforms export the same list of symbols. # Teach mkssldef.py to generate linker maps that UNIX linkers understand. diff --git a/src/node_snapshotable.cc b/src/node_snapshotable.cc index 9d27a7c66b2aa2..55933e3bbef2f3 100644 --- a/src/node_snapshotable.cc +++ b/src/node_snapshotable.cc @@ -742,18 +742,56 @@ static std::string FormatSize(size_t size) { return buf; } -static void WriteStaticCodeCacheData(std::ostream* ss, - const builtins::CodeCacheInfo& info) { +#ifdef NODE_MKSNAPSHOT_USE_STRING_LITERALS +static void WriteDataAsCharString(std::ostream* ss, + const uint8_t* data, + size_t length) { + for (size_t i = 0; i < length; i++) { + const uint8_t ch = data[i]; + // We can print most printable characters directly. The exceptions are '\' + // (escape characters), " (would end the string), and ? (trigraphs). The + // latter may be overly conservative: we compile with C++17 which doesn't + // support trigraphs. + if (ch >= ' ' && ch <= '~' && ch != '\\' && ch != '"' && ch != '?') { + *ss << ch; + } else { + // All other characters are blindly output as octal. + const char c0 = '0' + ((ch >> 6) & 7); + const char c1 = '0' + ((ch >> 3) & 7); + const char c2 = '0' + (ch & 7); + *ss << "\\" << c0 << c1 << c2; + } + if (i % 64 == 63) { + // Go to a newline every 64 bytes since many text editors have + // problems with very long lines. + *ss << "\"\n\""; + } + } +} + +static void WriteStaticCodeCacheDataAsStringLiteral( + std::ostream* ss, const builtins::CodeCacheInfo& info) { + *ss << "static const uint8_t *" << GetCodeCacheDefName(info.id) + << "= reinterpret_cast(\""; + WriteDataAsCharString(ss, info.data.data, info.data.length); + *ss << "\");\n"; +} +#else +static void WriteStaticCodeCacheDataAsArray( + std::ostream* ss, const builtins::CodeCacheInfo& info) { *ss << "static const uint8_t " << GetCodeCacheDefName(info.id) << "[] = {\n"; WriteVector(ss, info.data.data, info.data.length); - *ss << "};"; + *ss << "};\n"; } +#endif -static void WriteCodeCacheInitializer(std::ostream* ss, const std::string& id) { +static void WriteCodeCacheInitializer(std::ostream* ss, + const std::string& id, + size_t size) { std::string def_name = GetCodeCacheDefName(id); *ss << " { \"" << id << "\",\n"; *ss << " {" << def_name << ",\n"; - *ss << " arraysize(" << def_name << "),\n"; + *ss << " " << size << ",\n"; *ss << " }\n"; *ss << " },\n"; } @@ -767,21 +805,34 @@ void FormatBlob(std::ostream& ss, const SnapshotData* data) { // This file is generated by tools/snapshot. Do not edit. namespace node { - -static const char v8_snapshot_blob_data[] = { )"; + +#ifdef NODE_MKSNAPSHOT_USE_STRING_LITERALS + ss << R"(static const char *v8_snapshot_blob_data = ")"; + WriteDataAsCharString( + &ss, + reinterpret_cast(data->v8_snapshot_blob_data.data), + data->v8_snapshot_blob_data.raw_size); + ss << R"(";)"; +#else + ss << R"(static const char v8_snapshot_blob_data[] = {)"; WriteVector(&ss, data->v8_snapshot_blob_data.data, data->v8_snapshot_blob_data.raw_size); - ss << R"(}; + ss << R"(};)"; +#endif -static const int v8_snapshot_blob_size = )" + ss << R"(static const int v8_snapshot_blob_size = )" << data->v8_snapshot_blob_data.raw_size << ";"; - // Windows can't deal with too many large vector initializers. - // Store the data into static arrays first. for (const auto& item : data->code_cache) { - WriteStaticCodeCacheData(&ss, item); +#ifdef NODE_MKSNAPSHOT_USE_STRING_LITERALS + WriteStaticCodeCacheDataAsStringLiteral(&ss, item); +#else + // Windows can't deal with too many large vector initializers. + // Store the data into static arrays first. + WriteStaticCodeCacheDataAsArray(&ss, item); +#endif } ss << R"(const SnapshotData snapshot_data { @@ -808,7 +859,7 @@ static const int v8_snapshot_blob_size = )" // -- code_cache begins -- {)"; for (const auto& item : data->code_cache) { - WriteCodeCacheInitializer(&ss, item.id); + WriteCodeCacheInitializer(&ss, item.id, item.data.length); } ss << R"( } From 50c0a155352f3a6f85bb89310db31f917e6ef2b1 Mon Sep 17 00:00:00 2001 From: Cheng Shao Date: Thu, 1 Jun 2023 20:11:26 +0200 Subject: [PATCH 128/146] build: set v8_enable_webassembly=false when lite mode is enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We should set v8_enable_webassembly=false when lite mode is enabled, since v8_enable_lite_mode implies v8_jitless, and wasm currently doesn't work with jitless. This is automatically handled in gn, but seems to be not the case in gyp. Enabling lite mode without setting v8_enable_webassembly=false leads to "Warning: disabling flag --expose_wasm due to conflicting flags" at runtime. PR-URL: https://github.com/nodejs/node/pull/48248 Reviewed-By: Ben Noordhuis Reviewed-By: Michaël Zasso Reviewed-By: Richard Lau Reviewed-By: Luigi Pinca Reviewed-By: Yagiz Nizipli --- configure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.py b/configure.py index 83a6faead7613d..fef5b87d74da2e 100755 --- a/configure.py +++ b/configure.py @@ -1471,7 +1471,7 @@ def configure_library(lib, output, pkgname=None): def configure_v8(o): - o['variables']['v8_enable_webassembly'] = 1 + o['variables']['v8_enable_webassembly'] = 0 if options.v8_lite_mode else 1 o['variables']['v8_enable_javascript_promise_hooks'] = 1 o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0 o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0 From 950185b0c09987898521341db36ed68396a10509 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <238531+indutny@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:53:56 -0700 Subject: [PATCH 129/146] net: fix address iteration with autoSelectFamily MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When `autoSelectFamily` is set to `true`, `net.connect` is supposed to try connecting to both IPv4 and IPv6, interleaving the address types. Instead, it appears that the array that holds the addresses in the order they should be attempted was never used after being populated. PR-URL: https://github.com/nodejs/node/pull/48258 Reviewed-By: Paolo Insogna Reviewed-By: Colin Ihrig Reviewed-By: Tobias Nießen Reviewed-By: Luigi Pinca Reviewed-By: Juan José Arboleda --- lib/net.js | 2 +- test/parallel/test-net-autoselectfamily.js | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/net.js b/lib/net.js index 369f6fb6c84d3f..88d2fe5421ef29 100644 --- a/lib/net.js +++ b/lib/net.js @@ -1476,7 +1476,7 @@ function lookupAndConnectMultiple( const context = { socket: self, - addresses, + addresses: toAttempt, current: 0, port, localPort, diff --git a/test/parallel/test-net-autoselectfamily.js b/test/parallel/test-net-autoselectfamily.js index d1440951eea6d0..3cce88f9ce907e 100644 --- a/test/parallel/test-net-autoselectfamily.js +++ b/test/parallel/test-net-autoselectfamily.js @@ -117,7 +117,7 @@ function createDnsServer(ipv6Addrs, ipv4Addrs, cb) { // Test that only the last successful connection is established. { createDnsServer( - '::1', + ['2606:4700::6810:85e5', '2606:4700::6810:84e5', '::1'], ['104.20.22.46', '104.20.23.46', '127.0.0.1'], common.mustCall(function({ dnsServer, lookup }) { const ipv4Server = createServer((socket) => { @@ -144,7 +144,14 @@ function createDnsServer(ipv6Addrs, ipv4Addrs, cb) { connection.on('ready', common.mustCall(() => { assert.deepStrictEqual( connection.autoSelectFamilyAttemptedAddresses, - [`::1:${port}`, `104.20.22.46:${port}`, `104.20.23.46:${port}`, `127.0.0.1:${port}`] + [ + `2606:4700::6810:85e5:${port}`, + `104.20.22.46:${port}`, + `2606:4700::6810:84e5:${port}`, + `104.20.23.46:${port}`, + `::1:${port}`, + `127.0.0.1:${port}`, + ] ); })); From d681e5f45664b76c6ed0f3b7aed24206abd19fea Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Fri, 2 Jun 2023 00:01:48 +0300 Subject: [PATCH 130/146] doc: document watch option for node:test run() PR-URL: https://github.com/nodejs/node/pull/48256 Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum Reviewed-By: Luigi Pinca --- doc/api/test.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/api/test.md b/doc/api/test.md index 118183150457d8..8c3c848fe8d936 100644 --- a/doc/api/test.md +++ b/doc/api/test.md @@ -744,25 +744,26 @@ changes: **Default:** `false`. * `files`: {Array} An array containing the list of files to run. **Default** matching files from [test runner execution model][]. - * `setup` {Function} A function that accepts the `TestsStream` instance - and can be used to setup listeners before any tests are run. - **Default:** `undefined`. - * `signal` {AbortSignal} Allows aborting an in-progress test execution. - * `timeout` {number} A number of milliseconds the test execution will - fail after. - If unspecified, subtests inherit this value from their parent. - **Default:** `Infinity`. * `inspectPort` {number|Function} Sets inspector port of test child process. This can be a number, or a function that takes no arguments and returns a number. If a nullish value is provided, each process gets its own port, incremented from the primary's `process.debugPort`. **Default:** `undefined`. + * `setup` {Function} A function that accepts the `TestsStream` instance + and can be used to setup listeners before any tests are run. + **Default:** `undefined`. + * `signal` {AbortSignal} Allows aborting an in-progress test execution. * `testNamePatterns` {string|RegExp|Array} A String, RegExp or a RegExp Array, that can be used to only run tests whose name matches the provided pattern. Test name patterns are interpreted as JavaScript regular expressions. For each test that is executed, any corresponding test hooks, such as `beforeEach()`, are also run. **Default:** `undefined`. + * `timeout` {number} A number of milliseconds the test execution will + fail after. + If unspecified, subtests inherit this value from their parent. + **Default:** `Infinity`. + * `watch` {boolean} Whether to run in watch mode or not. **Default:** `false`. * Returns: {TestsStream} ```mjs From c9f8e8c5624ae4ed0473235c1408a724af6a3c7d Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Wed, 31 May 2023 02:30:01 +0300 Subject: [PATCH 131/146] test_runner: stop watch mode when abortSignal aborted PR-URL: https://github.com/nodejs/node/pull/48259 Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum --- lib/internal/test_runner/runner.js | 7 ++++--- lib/internal/watch_mode/files_watcher.js | 8 ++++++-- test/parallel/test-runner-run.mjs | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/lib/internal/test_runner/runner.js b/lib/internal/test_runner/runner.js index 5b2a74c7b62862..c539f6d68af14a 100644 --- a/lib/internal/test_runner/runner.js +++ b/lib/internal/test_runner/runner.js @@ -409,8 +409,8 @@ function runTestFile(path, root, inspectPort, filesWatcher, testNamePatterns) { return subtest.start(); } -function watchFiles(testFiles, root, inspectPort, testNamePatterns) { - const filesWatcher = new FilesWatcher({ throttle: 500, mode: 'filter' }); +function watchFiles(testFiles, root, inspectPort, signal, testNamePatterns) { + const filesWatcher = new FilesWatcher({ throttle: 500, mode: 'filter', signal }); filesWatcher.on('changed', ({ owners }) => { filesWatcher.unfilterFilesOwnedBy(owners); PromisePrototypeThen(SafePromiseAllReturnVoid(testFiles, async (file) => { @@ -432,6 +432,7 @@ function watchFiles(testFiles, root, inspectPort, testNamePatterns) { triggerUncaughtException(error, true /* fromPromise */); })); }); + signal?.addEventListener('abort', () => root.postRun(), { __proto__: null, once: true }); return filesWatcher; } @@ -474,7 +475,7 @@ function run(options) { let postRun = () => root.postRun(); let filesWatcher; if (watch) { - filesWatcher = watchFiles(testFiles, root, inspectPort, testNamePatterns); + filesWatcher = watchFiles(testFiles, root, inspectPort, signal, testNamePatterns); postRun = undefined; } const runFiles = () => { diff --git a/lib/internal/watch_mode/files_watcher.js b/lib/internal/watch_mode/files_watcher.js index 3c756c4b5d77c9..1fa4fc14cd4d4d 100644 --- a/lib/internal/watch_mode/files_watcher.js +++ b/lib/internal/watch_mode/files_watcher.js @@ -30,14 +30,18 @@ class FilesWatcher extends EventEmitter { #ownerDependencies = new SafeMap(); #throttle; #mode; + #signal; - constructor({ throttle = 500, mode = 'filter' } = kEmptyObject) { + constructor({ throttle = 500, mode = 'filter', signal } = kEmptyObject) { super(); validateNumber(throttle, 'options.throttle', 0, TIMEOUT_MAX); validateOneOf(mode, 'options.mode', ['filter', 'all']); this.#throttle = throttle; this.#mode = mode; + this.#signal = signal; + + signal?.addEventListener('abort', () => this.clear(), { __proto__: null, once: true }); } #isPathWatched(path) { @@ -89,7 +93,7 @@ class FilesWatcher extends EventEmitter { if (this.#isPathWatched(path)) { return; } - const watcher = watch(path, { recursive }); + const watcher = watch(path, { recursive, signal: this.#signal }); watcher.on('change', (eventType, fileName) => this .#onChange(recursive ? resolve(path, fileName) : path)); this.#watchers.set(path, { handle: watcher, recursive }); diff --git a/test/parallel/test-runner-run.mjs b/test/parallel/test-runner-run.mjs index 794d55ab1a51d1..866b283981136a 100644 --- a/test/parallel/test-runner-run.mjs +++ b/test/parallel/test-runner-run.mjs @@ -117,4 +117,19 @@ describe('require(\'node:test\').run', { concurrency: true }, () => { assert.strictEqual(result[2], 'ok 1 - this should be skipped # SKIP test name does not match pattern\n'); assert.strictEqual(result[5], 'ok 2 - this should be executed\n'); }); + + it('should stop watch mode when abortSignal aborts', async () => { + const controller = new AbortController(); + const result = await run({ files: [join(testFixtures, 'test/random.cjs')], watch: true, signal: controller.signal }) + .compose(async function* (source) { + for await (const chunk of source) { + if (chunk.type === 'test:pass') { + controller.abort(); + yield chunk.data.name; + } + } + }) + .toArray(); + assert.deepStrictEqual(result, ['this should pass']); + }); }); From 3f259b7a303ff0f7c15365f0dd8929fdacbcf749 Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Wed, 31 May 2023 02:53:57 +0300 Subject: [PATCH 132/146] test_runner: emit `test:watch:drained` event PR-URL: https://github.com/nodejs/node/pull/48259 Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum --- doc/api/test.md | 4 ++++ lib/internal/test_runner/runner.js | 35 ++++++++++++++++++++---------- test/parallel/test-runner-run.mjs | 10 +++++++++ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/doc/api/test.md b/doc/api/test.md index 8c3c848fe8d936..e520e18e3d8431 100644 --- a/doc/api/test.md +++ b/doc/api/test.md @@ -1538,6 +1538,10 @@ This event is only emitted if `--test` flag is passed. Emitted when a running test writes to `stdout`. This event is only emitted if `--test` flag is passed. +### Event: `'test:watch:drained'` + +Emitted when no more tests are queued for execution in watch mode. + ## Class: `TestContext` -> Stability: 1 - Experimental - ```c NAPI_EXTERN napi_status node_api_throw_syntax_error(napi_env env, const char* code, @@ -1341,10 +1340,9 @@ This API returns a JavaScript `RangeError` with the text provided. added: - v17.2.0 - v16.14.0 +napiVersion: 9 --> -> Stability: 1 - Experimental - ```c NAPI_EXTERN napi_status node_api_create_syntax_error(napi_env env, napi_value code, @@ -2592,10 +2590,9 @@ of the ECMAScript Language Specification. added: - v17.5.0 - v16.15.0 +napiVersion: 9 --> -> Stability: 1 - Experimental - ```c napi_status node_api_symbol_for(napi_env env, const char* utf8description, @@ -6348,10 +6345,9 @@ added: - v15.9.0 - v14.18.0 - v12.22.0 +napiVersion: 9 --> -> Stability: 1 - Experimental - ```c NAPI_EXTERN napi_status node_api_get_module_file_name(napi_env env, const char** result); diff --git a/src/js_native_api.h b/src/js_native_api.h index b72f5980dc0785..8fe93ecb1d1815 100644 --- a/src/js_native_api.h +++ b/src/js_native_api.h @@ -95,13 +95,13 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env, NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env, napi_value description, napi_value* result); -#ifdef NAPI_EXPERIMENTAL +#if NAPI_VERSION >= 9 NAPI_EXTERN napi_status NAPI_CDECL node_api_symbol_for(napi_env env, const char* utf8description, size_t length, napi_value* result); -#endif // NAPI_EXPERIMENTAL +#endif // NAPI_VERSION >= 9 NAPI_EXTERN napi_status NAPI_CDECL napi_create_function(napi_env env, const char* utf8name, size_t length, @@ -120,10 +120,10 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_range_error(napi_env env, napi_value code, napi_value msg, napi_value* result); -#ifdef NAPI_EXPERIMENTAL +#if NAPI_VERSION >= 9 NAPI_EXTERN napi_status NAPI_CDECL node_api_create_syntax_error( napi_env env, napi_value code, napi_value msg, napi_value* result); -#endif // NAPI_EXPERIMENTAL +#endif // NAPI_VERSION >= 9 // Methods to get the native napi_value from Primitive type NAPI_EXTERN napi_status NAPI_CDECL napi_typeof(napi_env env, @@ -378,11 +378,11 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_throw_type_error(napi_env env, NAPI_EXTERN napi_status NAPI_CDECL napi_throw_range_error(napi_env env, const char* code, const char* msg); -#ifdef NAPI_EXPERIMENTAL +#if NAPI_VERSION >= 9 NAPI_EXTERN napi_status NAPI_CDECL node_api_throw_syntax_error(napi_env env, const char* code, const char* msg); -#endif // NAPI_EXPERIMENTAL +#endif // NAPI_VERSION >= 9 NAPI_EXTERN napi_status NAPI_CDECL napi_is_error(napi_env env, napi_value value, bool* result); diff --git a/src/node_api.cc b/src/node_api.cc index efe1d09ed8ed0c..7537dc20b2bd82 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -673,11 +673,13 @@ node::addon_context_register_func get_node_api_context_register_func( const char* module_name, int32_t module_api_version) { static_assert( - NAPI_VERSION == 8, + NAPI_VERSION == 9, "New version of Node-API requires adding another else-if statement below " "for the new version and updating this assert condition."); if (module_api_version <= NODE_API_DEFAULT_MODULE_API_VERSION) { return node_api_context_register_func; + } else if (module_api_version == 9) { + return node_api_context_register_func<9>; } else if (module_api_version == NAPI_VERSION_EXPERIMENTAL) { return node_api_context_register_func; } else { diff --git a/src/node_api.h b/src/node_api.h index 4c0356eaccb2fc..03454683c401d4 100644 --- a/src/node_api.h +++ b/src/node_api.h @@ -248,12 +248,12 @@ napi_remove_async_cleanup_hook(napi_async_cleanup_hook_handle remove_handle); #endif // NAPI_VERSION >= 8 -#ifdef NAPI_EXPERIMENTAL +#if NAPI_VERSION >= 9 NAPI_EXTERN napi_status NAPI_CDECL node_api_get_module_file_name(napi_env env, const char** result); -#endif // NAPI_EXPERIMENTAL +#endif // NAPI_VERSION >= 9 EXTERN_C_END diff --git a/src/node_version.h b/src/node_version.h index 90dad728a9b8ca..a1dd3be702ce19 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -93,7 +93,7 @@ // The NAPI_VERSION provided by this version of the runtime. This is the version // which the Node binary being built supports. -#define NAPI_VERSION 8 +#define NAPI_VERSION 9 // Node API modules use NAPI_VERSION 8 by default if it is not explicitly // specified. It must be always 8. diff --git a/test/js-native-api/test_error/test_error.c b/test/js-native-api/test_error/test_error.c index 0dea66a51cc3a6..43e98921efadb0 100644 --- a/test/js-native-api/test_error/test_error.c +++ b/test/js-native-api/test_error/test_error.c @@ -1,4 +1,4 @@ -#define NAPI_EXPERIMENTAL +#define NAPI_VERSION 9 #include #include "../common.h" diff --git a/test/js-native-api/test_general/test.js b/test/js-native-api/test_general/test.js index ec5c4fe0ddc86f..9072e734468964 100644 --- a/test/js-native-api/test_general/test.js +++ b/test/js-native-api/test_general/test.js @@ -33,7 +33,7 @@ assert.notStrictEqual(test_general.testGetPrototype(baseObject), test_general.testGetPrototype(extendedObject)); // Test version management functions -assert.strictEqual(test_general.testGetVersion(), 8); +assert.strictEqual(test_general.testGetVersion(), 9); [ 123, diff --git a/test/js-native-api/test_properties/test_properties.c b/test/js-native-api/test_properties/test_properties.c index 2c1a513449d214..d822d3628d87fa 100644 --- a/test/js-native-api/test_properties/test_properties.c +++ b/test/js-native-api/test_properties/test_properties.c @@ -1,4 +1,4 @@ -#define NAPI_EXPERIMENTAL +#define NAPI_VERSION 9 #include #include "../common.h" diff --git a/test/js-native-api/test_reference/test_reference.c b/test/js-native-api/test_reference/test_reference.c index e9f3ec7a919542..c17f27021b4215 100644 --- a/test/js-native-api/test_reference/test_reference.c +++ b/test/js-native-api/test_reference/test_reference.c @@ -1,4 +1,4 @@ -#define NAPI_EXPERIMENTAL +#define NAPI_VERSION 9 #include #include #include diff --git a/test/node-api/test_general/test_general.c b/test/node-api/test_general/test_general.c index b8d837d5e45650..ece1f2703b4aec 100644 --- a/test/node-api/test_general/test_general.c +++ b/test/node-api/test_general/test_general.c @@ -1,4 +1,4 @@ -#define NAPI_EXPERIMENTAL +#define NAPI_VERSION 9 // we define NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED here to validate that it can // be used as a form of test itself. It is // not related to any of the other tests From 72de4e71709d57600fdcdf07b5a162a34a00af4d Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Fri, 2 Jun 2023 14:18:53 +0200 Subject: [PATCH 135/146] lib: do not disable linter for entire files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Disabling linter for single lines is less error prone. PR-URL: https://github.com/nodejs/node/pull/48299 Reviewed-By: Michaël Zasso Reviewed-By: Debadree Chatterjee Reviewed-By: Moshe Atlow Reviewed-By: Yagiz Nizipli Reviewed-By: Paolo Insogna --- lib/internal/http2/core.js | 7 +++---- lib/internal/webstreams/readablestream.js | 8 ++++---- lib/internal/webstreams/writablestream.js | 5 +---- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index 352c915137d7f0..bbdd6e03c9f641 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -1,7 +1,5 @@ 'use strict'; -/* eslint-disable no-use-before-define */ - const { ArrayFrom, ArrayIsArray, @@ -363,6 +361,7 @@ function onSessionHeaders(handle, id, cat, flags, headers, sensitiveHeaders) { } // session[kType] can be only one of two possible values if (type === NGHTTP2_SESSION_SERVER) { + // eslint-disable-next-line no-use-before-define stream = new ServerHttp2Stream(session, handle, id, {}, obj); if (endOfStream) { stream.push(null); @@ -374,6 +373,7 @@ function onSessionHeaders(handle, id, cat, flags, headers, sensitiveHeaders) { stream[kState].flags |= STREAM_FLAGS_HEAD_REQUEST; } } else { + // eslint-disable-next-line no-use-before-define stream = new ClientHttp2Stream(session, handle, id, {}); if (endOfStream) { stream.push(null); @@ -1788,6 +1788,7 @@ class ClientHttp2Session extends Http2Session { const headersList = mapToHeaders(headers); + // eslint-disable-next-line no-use-before-define const stream = new ClientHttp2Stream(this, undefined, undefined, {}); stream[kSentHeaders] = headers; stream[kOrigin] = `${headers[HTTP2_HEADER_SCHEME]}://` + @@ -3412,5 +3413,3 @@ module.exports = { Http2ServerRequest, Http2ServerResponse, }; - -/* eslint-enable no-use-before-define */ diff --git a/lib/internal/webstreams/readablestream.js b/lib/internal/webstreams/readablestream.js index 0b8b8ac1ef584d..1f96a709959301 100644 --- a/lib/internal/webstreams/readablestream.js +++ b/lib/internal/webstreams/readablestream.js @@ -1,7 +1,5 @@ 'use strict'; -/* eslint-disable no-use-before-define */ - const { ArrayBuffer, ArrayBufferPrototypeGetByteLength, @@ -343,10 +341,12 @@ class ReadableStream { const mode = options?.mode; if (mode === undefined) + // eslint-disable-next-line no-use-before-define return new ReadableStreamDefaultReader(this); if (`${mode}` !== 'byob') throw new ERR_INVALID_ARG_VALUE('options.mode', mode); + // eslint-disable-next-line no-use-before-define return new ReadableStreamBYOBReader(this); } @@ -466,6 +466,7 @@ class ReadableStream { preventCancel = false, } = options; + // eslint-disable-next-line no-use-before-define const reader = new ReadableStreamDefaultReader(this); let done = false; let started = false; @@ -576,6 +577,7 @@ class ReadableStream { locked: this.locked, state: this[kState].state, supportsBYOB: + // eslint-disable-next-line no-use-before-define this[kState].controller instanceof ReadableByteStreamController, }); } @@ -3259,5 +3261,3 @@ module.exports = { setupReadableByteStreamController, setupReadableByteStreamControllerFromSource, }; - -/* eslint-enable no-use-before-define */ diff --git a/lib/internal/webstreams/writablestream.js b/lib/internal/webstreams/writablestream.js index e04ff381c51cd4..b0eb5f20abb80e 100644 --- a/lib/internal/webstreams/writablestream.js +++ b/lib/internal/webstreams/writablestream.js @@ -1,7 +1,5 @@ 'use strict'; -/* eslint-disable no-use-before-define */ - const { ArrayPrototypePush, ArrayPrototypeShift, @@ -262,6 +260,7 @@ class WritableStream { getWriter() { if (!isWritableStream(this)) throw new ERR_INVALID_THIS('WritableStream'); + // eslint-disable-next-line no-use-before-define return new WritableStreamDefaultWriter(this); } @@ -1360,5 +1359,3 @@ module.exports = { setupWritableStreamDefaultControllerFromSink, setupWritableStreamDefaultController, }; - -/* eslint-enable no-use-before-define */ From 2c19f596adc758867121f6def24ec233e560cd33 Mon Sep 17 00:00:00 2001 From: Bryan English Date: Fri, 2 Jun 2023 17:44:47 -0400 Subject: [PATCH 136/146] doc: clarify array args to Buffer.from() The code for Buffer.from() treats non-Buffer and non-Uint8Array Array-likes as Arrays. This creates some confusion when passing various TypedArrays to Buffer.from(). The documentation now reflects the actual behavior. Fixes: https://github.com/nodejs/node/issues/28725 PR-URL: https://github.com/nodejs/node/pull/48274 Reviewed-By: Rich Trott Reviewed-By: LiviaMedeiros Reviewed-By: Luigi Pinca Reviewed-By: Mestery Reviewed-By: Harshitha K P --- doc/api/buffer.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/api/buffer.md b/doc/api/buffer.md index 4ef77573adfe67..2dc36d902695cc 100644 --- a/doc/api/buffer.md +++ b/doc/api/buffer.md @@ -1116,6 +1116,12 @@ const { Buffer } = require('node:buffer'); const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); ``` +If `array` is an `Array`-like object (that is, one with a `length` property of +type `number`), it is treated as if it is an array, unless it is a `Buffer` or +a `Uint8Array`. This means all other `TypedArray` variants get treated as an +`Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use +[`Buffer.copyBytesFrom()`][]. + A `TypeError` will be thrown if `array` is not an `Array` or another type appropriate for `Buffer.from()` variants. @@ -5488,6 +5494,7 @@ introducing security vulnerabilities into an application. [`Buffer.allocUnsafe()`]: #static-method-bufferallocunsafesize [`Buffer.allocUnsafeSlow()`]: #static-method-bufferallocunsafeslowsize [`Buffer.concat()`]: #static-method-bufferconcatlist-totallength +[`Buffer.copyBytesFrom()`]: #static-method-buffercopybytesfromview-offset-length [`Buffer.from(array)`]: #static-method-bufferfromarray [`Buffer.from(arrayBuf)`]: #static-method-bufferfromarraybuffer-byteoffset-length [`Buffer.from(buffer)`]: #static-method-bufferfrombuffer From 3e97826a66063df7f0120d334df8572f55b5295b Mon Sep 17 00:00:00 2001 From: Marco Ippolito Date: Sat, 3 Jun 2023 13:28:46 +0200 Subject: [PATCH 137/146] Revert "tools: open issue when update workflow fails" This reverts commit c488558c15eb088a4b81a16fc34e5416c1d6e8d5. PR-URL: https://github.com/nodejs/node/pull/48312 Reviewed-By: Richard Lau Reviewed-By: Mestery Reviewed-By: Antoine du Hamel --- .github/FAILED_DEP_UPDATE_ISSUE_TEMPLATE.md | 7 ------- .github/workflows/tools.yml | 11 ----------- 2 files changed, 18 deletions(-) delete mode 100644 .github/FAILED_DEP_UPDATE_ISSUE_TEMPLATE.md diff --git a/.github/FAILED_DEP_UPDATE_ISSUE_TEMPLATE.md b/.github/FAILED_DEP_UPDATE_ISSUE_TEMPLATE.md deleted file mode 100644 index c1f35e66ed48fe..00000000000000 --- a/.github/FAILED_DEP_UPDATE_ISSUE_TEMPLATE.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 'deps: update {{ env.FAILED_DEP }} job failed' -labels: dependencies ---- -This is an automatically generated issue by the {{ tools.context.action }} GitHub Action. -The update [workflow]({{ env.JOB_URL }}) has failed for {{ tools.context.workflow }}. -@nodejs/security-wg @nodejs/actions \ No newline at end of file diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 5b5d79dbb58a25..10f6f073d2d883 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -307,14 +307,3 @@ jobs: labels: ${{ matrix.label }} title: '${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}' update-pull-request-title-and-body: true - - name: Open issue on fail - id: create-issue - if: github.event_name == 'schedule' && ${{ failure() }} - uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd # 2.9.1 - env: - GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }} - FAILED_DEP: ${{ matrix.id }} - JOB_URL: ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id }} - with: - filename: .github/FAILED_DEP_UPDATE_ISSUE_TEMPLATE.md - update_existing: true From 6d6bf3ee52bac5ac610a7bda9f644a6cb3a81372 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Wed, 31 May 2023 16:41:03 -0400 Subject: [PATCH 138/146] module: reduce the number of URL initializations PR-URL: https://github.com/nodejs/node/pull/48272 Reviewed-By: Geoffrey Booth Reviewed-By: Matthew Aitken Reviewed-By: Mestery Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- lib/internal/main/check_syntax.js | 3 ++- lib/internal/modules/esm/get_format.js | 22 ++++++++++++---------- lib/internal/modules/esm/load.js | 8 ++++---- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/lib/internal/main/check_syntax.js b/lib/internal/main/check_syntax.js index 1b32a4d569f494..9355f7b7e4d9be 100644 --- a/lib/internal/main/check_syntax.js +++ b/lib/internal/main/check_syntax.js @@ -4,6 +4,7 @@ // instead of actually running the file. const { getOptionValue } = require('internal/options'); +const { URL } = require('internal/url'); const { prepareMainThreadExecution, markBootstrapComplete, @@ -67,7 +68,7 @@ async function checkSyntax(source, filename) { const { defaultResolve } = require('internal/modules/esm/resolve'); const { defaultGetFormat } = require('internal/modules/esm/get_format'); const { url } = await defaultResolve(pathToFileURL(filename).toString()); - const format = await defaultGetFormat(url); + const format = await defaultGetFormat(new URL(url)); isModule = format === 'module'; } diff --git a/lib/internal/modules/esm/get_format.js b/lib/internal/modules/esm/get_format.js index d8cfb6df710540..4ac9c011d153f4 100644 --- a/lib/internal/modules/esm/get_format.js +++ b/lib/internal/modules/esm/get_format.js @@ -17,7 +17,7 @@ const { const experimentalNetworkImports = getOptionValue('--experimental-network-imports'); const { getPackageType, getPackageScopeConfig } = require('internal/modules/esm/resolve'); -const { URL, fileURLToPath } = require('internal/url'); +const { fileURLToPath } = require('internal/url'); const { ERR_UNKNOWN_FILE_EXTENSION } = require('internal/errors').codes; const protocolHandlers = { @@ -117,27 +117,29 @@ function getHttpProtocolModuleFormat(url, context) { } /** - * @param {URL | URL['href']} url + * @param {URL} url * @param {{parentURL: string}} context * @returns {Promise | string | undefined} only works when enabled */ function defaultGetFormatWithoutErrors(url, context) { - const parsed = new URL(url); - if (!ObjectPrototypeHasOwnProperty(protocolHandlers, parsed.protocol)) + const protocol = url.protocol; + if (!ObjectPrototypeHasOwnProperty(protocolHandlers, protocol)) { return null; - return protocolHandlers[parsed.protocol](parsed, context, true); + } + return protocolHandlers[protocol](url, context, true); } /** - * @param {URL | URL['href']} url + * @param {URL} url * @param {{parentURL: string}} context * @returns {Promise | string | undefined} only works when enabled */ function defaultGetFormat(url, context) { - const parsed = new URL(url); - return ObjectPrototypeHasOwnProperty(protocolHandlers, parsed.protocol) ? - protocolHandlers[parsed.protocol](parsed, context, false) : - null; + const protocol = url.protocol; + if (!ObjectPrototypeHasOwnProperty(protocolHandlers, protocol)) { + return null; + } + return protocolHandlers[protocol](url, context, false); } module.exports = { diff --git a/lib/internal/modules/esm/load.js b/lib/internal/modules/esm/load.js index 9ab6f18f3fdda9..c929fcc649c9f1 100644 --- a/lib/internal/modules/esm/load.js +++ b/lib/internal/modules/esm/load.js @@ -79,11 +79,11 @@ async function defaultLoad(url, context = kEmptyObject) { source, } = context; - throwIfUnsupportedURLScheme(new URL(url), experimentalNetworkImports); + const urlInstance = new URL(url); - if (format == null) { - format = await defaultGetFormat(url, context); - } + throwIfUnsupportedURLScheme(urlInstance, experimentalNetworkImports); + + format ??= await defaultGetFormat(urlInstance, context); validateAssertions(url, format, importAssertions); From 10715aea26dbcaea02ac6e7b8a0d8ae17de63cbd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 3 Jun 2023 19:09:09 +0000 Subject: [PATCH 139/146] meta: bump codecov/codecov-action from 3.1.3 to 3.1.4 Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.3 to 3.1.4. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/894ff025c7b54547a9a2a1e9f228beae737ad3c2...eaaf4bedf32dbdc6b720b63067d99c4d77d6047d) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] PR-URL: https://github.com/nodejs/node/pull/48285 Reviewed-By: Rich Trott Reviewed-By: Yagiz Nizipli Reviewed-By: Mestery Reviewed-By: Luigi Pinca --- .github/workflows/coverage-linux-without-intl.yml | 2 +- .github/workflows/coverage-linux.yml | 2 +- .github/workflows/coverage-windows.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index aca32133511030..ab8ee1c7f14337 100644 --- a/.github/workflows/coverage-linux-without-intl.yml +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -64,6 +64,6 @@ jobs: - name: Clean tmp run: rm -rf coverage/tmp && rm -rf out - name: Upload - uses: codecov/codecov-action@894ff025c7b54547a9a2a1e9f228beae737ad3c2 # v3.1.3 + uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 with: directory: ./coverage diff --git a/.github/workflows/coverage-linux.yml b/.github/workflows/coverage-linux.yml index 45520bf605b55a..ca339942b81e32 100644 --- a/.github/workflows/coverage-linux.yml +++ b/.github/workflows/coverage-linux.yml @@ -64,6 +64,6 @@ jobs: - name: Clean tmp run: rm -rf coverage/tmp && rm -rf out - name: Upload - uses: codecov/codecov-action@894ff025c7b54547a9a2a1e9f228beae737ad3c2 # v3.1.3 + uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 with: directory: ./coverage diff --git a/.github/workflows/coverage-windows.yml b/.github/workflows/coverage-windows.yml index 6869b2f37fedae..a042b626046b3a 100644 --- a/.github/workflows/coverage-windows.yml +++ b/.github/workflows/coverage-windows.yml @@ -65,6 +65,6 @@ jobs: - name: Clean tmp run: npx rimraf ./coverage/tmp - name: Upload - uses: codecov/codecov-action@894ff025c7b54547a9a2a1e9f228beae737ad3c2 # v3.1.3 + uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 with: directory: ./coverage From 1b87ccdf70c2f6cc93db134b9ab1362d73330038 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 3 Jun 2023 19:09:20 +0000 Subject: [PATCH 140/146] meta: bump actions/setup-python from 4.6.0 to 4.6.1 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.0 to 4.6.1. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/57ded4d7d5e986d7296eab16560982c6dd7c923b...bd6b4b6205c4dbad673328db7b31b7fab9e241c0) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] PR-URL: https://github.com/nodejs/node/pull/48286 Reviewed-By: Rich Trott Reviewed-By: Mestery Reviewed-By: Luigi Pinca --- .github/workflows/build-tarball.yml | 4 ++-- .github/workflows/build-windows.yml | 2 +- .github/workflows/coverage-linux-without-intl.yml | 2 +- .github/workflows/coverage-linux.yml | 2 +- .github/workflows/coverage-windows.yml | 2 +- .github/workflows/daily-wpt-fyi.yml | 2 +- .github/workflows/linters.yml | 8 ++++---- .github/workflows/test-asan.yml | 2 +- .github/workflows/test-internet.yml | 2 +- .github/workflows/test-linux.yml | 2 +- .github/workflows/test-macos.yml | 2 +- .github/workflows/tools.yml | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index 6611f96c1f5dae..dd3e2b51038a8d 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -43,7 +43,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information @@ -69,7 +69,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 80e08205f04a97..df615f35eda97d 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -42,7 +42,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install deps diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index ab8ee1c7f14337..bc112c6dbb798a 100644 --- a/.github/workflows/coverage-linux-without-intl.yml +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -41,7 +41,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/coverage-linux.yml b/.github/workflows/coverage-linux.yml index ca339942b81e32..5f33d2e3e296fc 100644 --- a/.github/workflows/coverage-linux.yml +++ b/.github/workflows/coverage-linux.yml @@ -41,7 +41,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/coverage-windows.yml b/.github/workflows/coverage-windows.yml index a042b626046b3a..b634227a1b4844 100644 --- a/.github/workflows/coverage-windows.yml +++ b/.github/workflows/coverage-windows.yml @@ -43,7 +43,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install deps diff --git a/.github/workflows/daily-wpt-fyi.yml b/.github/workflows/daily-wpt-fyi.yml index 58554e98facaab..27506cd5ed0a44 100644 --- a/.github/workflows/daily-wpt-fyi.yml +++ b/.github/workflows/daily-wpt-fyi.yml @@ -33,7 +33,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index a481e5be4e310a..c1f79a9955ff01 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -44,7 +44,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information @@ -64,7 +64,7 @@ jobs: with: node-version: ${{ env.NODE_VERSION }} - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information @@ -122,7 +122,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information @@ -139,7 +139,7 @@ jobs: with: persist-credentials: false - name: Use Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/test-asan.yml b/.github/workflows/test-asan.yml index b574479cc063d3..b2cd66be992352 100644 --- a/.github/workflows/test-asan.yml +++ b/.github/workflows/test-asan.yml @@ -51,7 +51,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/test-internet.yml b/.github/workflows/test-internet.yml index a803f6aacb5ed1..07e9ee23688af0 100644 --- a/.github/workflows/test-internet.yml +++ b/.github/workflows/test-internet.yml @@ -36,7 +36,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index efa821a4ee09e7..ad9a8851a24c37 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -38,7 +38,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index b9a44445608ae9..313129dee34981 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -44,7 +44,7 @@ jobs: with: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - name: Environment Information diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 10f6f073d2d883..4e66d7ba6eb821 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -282,7 +282,7 @@ jobs: persist-credentials: false - name: Set up Python ${{ env.PYTHON_VERSION }} if: matrix.id == 'icu' && (github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id) - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 + uses: actions/setup-python@bd6b4b6205c4dbad673328db7b31b7fab9e241c0 # v4.6.1 with: python-version: ${{ env.PYTHON_VERSION }} - run: ${{ matrix.run }} From 8f1b86961f28f04a4ff984c64b33fe64e99bec45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 3 Jun 2023 19:09:31 +0000 Subject: [PATCH 141/146] meta: bump github/codeql-action from 2.3.3 to 2.3.6 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.3 to 2.3.6. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/29b1f65c5e92e24fe6b6647da1eaabe529cec70f...83f0fe6c4988d98a455712a27f0255212bba9bd4) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] PR-URL: https://github.com/nodejs/node/pull/48287 Reviewed-By: Rich Trott Reviewed-By: Mestery --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3f00950b2ab0e4..6549203d566f32 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -73,6 +73,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload to code-scanning - uses: github/codeql-action/upload-sarif@29b1f65c5e92e24fe6b6647da1eaabe529cec70f # v2.3.3 + uses: github/codeql-action/upload-sarif@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6 with: sarif_file: results.sarif From 62f847d0b34c98ea610364eb8567aa998099fd6e Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Sun, 28 May 2023 00:26:11 +0000 Subject: [PATCH 142/146] tools: update rollup lint-md-dependencies - @rollup/plugin-node-resolve@15.1.0 - rollup@3.23.0 PR-URL: https://github.com/nodejs/node/pull/48329 Reviewed-By: Moshe Atlow Reviewed-By: Debadree Chatterjee Reviewed-By: Antoine du Hamel --- tools/lint-md/lint-md.mjs | 1169 +++++++++++++++++-------------- tools/lint-md/package-lock.json | 193 +++-- tools/lint-md/package.json | 4 +- 3 files changed, 747 insertions(+), 619 deletions(-) diff --git a/tools/lint-md/lint-md.mjs b/tools/lint-md/lint-md.mjs index d1f76da5b5a048..280cf0f44255da 100644 --- a/tools/lint-md/lint-md.mjs +++ b/tools/lint-md/lint-md.mjs @@ -796,14 +796,14 @@ function splice(list, start, remove, items) { remove = remove > 0 ? remove : 0; if (items.length < 10000) { parameters = Array.from(items); - parameters.unshift(start, remove) - ;[].splice.apply(list, parameters); + parameters.unshift(start, remove); + list.splice(...parameters); } else { - if (remove) [].splice.apply(list, [start, remove]); + if (remove) list.splice(start, remove); while (chunkStart < items.length) { parameters = items.slice(chunkStart, chunkStart + 10000); - parameters.unshift(start, 0) - ;[].splice.apply(list, parameters); + parameters.unshift(start, 0); + list.splice(...parameters); chunkStart += 10000; start += 10000; } @@ -833,13 +833,15 @@ function syntaxExtension(all, extension) { const left = maybe || (all[hook] = {}); const right = extension[hook]; let code; - for (code in right) { - if (!hasOwnProperty.call(left, code)) left[code] = []; - const value = right[code]; - constructs( - left[code], - Array.isArray(value) ? value : value ? [value] : [] - ); + if (right) { + for (code in right) { + if (!hasOwnProperty.call(left, code)) left[code] = []; + const value = right[code]; + constructs( + left[code], + Array.isArray(value) ? value : value ? [value] : [] + ); + } } } } @@ -853,30 +855,30 @@ function constructs(existing, list) { } const unicodePunctuationRegex = - /[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/; + /[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/; const asciiAlpha = regexCheck(/[A-Za-z]/); -const asciiDigit = regexCheck(/\d/); -const asciiHexDigit = regexCheck(/[\dA-Fa-f]/); const asciiAlphanumeric = regexCheck(/[\dA-Za-z]/); -const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/); const asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/); function asciiControl(code) { return ( code !== null && (code < 32 || code === 127) ) } -function markdownLineEndingOrSpace(code) { - return code !== null && (code < 0 || code === 32) -} +const asciiDigit = regexCheck(/\d/); +const asciiHexDigit = regexCheck(/[\dA-Fa-f]/); +const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/); function markdownLineEnding(code) { return code !== null && code < -2 } +function markdownLineEndingOrSpace(code) { + return code !== null && (code < 0 || code === 32) +} function markdownSpace(code) { return code === -2 || code === -1 || code === 32 } -const unicodeWhitespace = regexCheck(/\s/); const unicodePunctuation = regexCheck(unicodePunctuationRegex); +const unicodeWhitespace = regexCheck(/\s/); function regexCheck(regex) { return check function check(code) { @@ -1327,14 +1329,14 @@ function tokenizeAttention(effects, ok) { let marker; return start function start(code) { - effects.enter('attentionSequence'); marker = code; - return sequence(code) + effects.enter('attentionSequence'); + return inside(code) } - function sequence(code) { + function inside(code) { if (code === marker) { effects.consume(code); - return sequence + return inside } const token = effects.exit('attentionSequence'); const after = classifyCharacter(code); @@ -1358,7 +1360,7 @@ const autolink = { tokenize: tokenizeAutolink }; function tokenizeAutolink(effects, ok, nok) { - let size = 1; + let size = 0; return start function start(code) { effects.enter('autolink'); @@ -1373,16 +1375,19 @@ function tokenizeAutolink(effects, ok, nok) { effects.consume(code); return schemeOrEmailAtext } - return asciiAtext(code) ? emailAtext(code) : nok(code) + return emailAtext(code) } function schemeOrEmailAtext(code) { - return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code) - ? schemeInsideOrEmailAtext(code) - : emailAtext(code) + if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) { + size = 1; + return schemeInsideOrEmailAtext(code) + } + return emailAtext(code) } function schemeInsideOrEmailAtext(code) { if (code === 58) { effects.consume(code); + size = 0; return urlInside } if ( @@ -1392,12 +1397,17 @@ function tokenizeAutolink(effects, ok, nok) { effects.consume(code); return schemeInsideOrEmailAtext } + size = 0; return emailAtext(code) } function urlInside(code) { if (code === 62) { effects.exit('autolinkProtocol'); - return end(code) + effects.enter('autolinkMarker'); + effects.consume(code); + effects.exit('autolinkMarker'); + effects.exit('autolink'); + return ok } if (code === null || code === 32 || code === 60 || asciiControl(code)) { return nok(code) @@ -1408,7 +1418,6 @@ function tokenizeAutolink(effects, ok, nok) { function emailAtext(code) { if (code === 64) { effects.consume(code); - size = 0; return emailAtSignOrDot } if (asciiAtext(code)) { @@ -1428,24 +1437,22 @@ function tokenizeAutolink(effects, ok, nok) { } if (code === 62) { effects.exit('autolinkProtocol').type = 'autolinkEmail'; - return end(code) + effects.enter('autolinkMarker'); + effects.consume(code); + effects.exit('autolinkMarker'); + effects.exit('autolink'); + return ok } return emailValue(code) } function emailValue(code) { if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) { + const next = code === 45 ? emailValue : emailLabel; effects.consume(code); - return code === 45 ? emailValue : emailLabel + return next } return nok(code) } - function end(code) { - effects.enter('autolinkMarker'); - effects.consume(code); - effects.exit('autolinkMarker'); - effects.exit('autolink'); - return ok - } } const blankLine = { @@ -1453,8 +1460,13 @@ const blankLine = { partial: true }; function tokenizeBlankLine(effects, ok, nok) { - return factorySpace(effects, afterWhitespace, 'linePrefix') - function afterWhitespace(code) { + return start + function start(code) { + return markdownSpace(code) + ? factorySpace(effects, after, 'linePrefix')(code) + : after(code) + } + function after(code) { return code === null || markdownLineEnding(code) ? ok(code) : nok(code) } } @@ -1500,12 +1512,24 @@ function tokenizeBlockQuoteStart(effects, ok, nok) { } } function tokenizeBlockQuoteContinuation(effects, ok, nok) { - return factorySpace( - effects, - effects.attempt(blockQuote, ok, nok), - 'linePrefix', - this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 - ) + const self = this; + return contStart + function contStart(code) { + if (markdownSpace(code)) { + return factorySpace( + effects, + contBefore, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + } + return contBefore(code) + } + function contBefore(code) { + return effects.attempt(blockQuote, ok, nok)(code) + } } function exit$1(effects) { effects.exit('blockQuote'); @@ -1522,9 +1546,9 @@ function tokenizeCharacterEscape(effects, ok, nok) { effects.enter('escapeMarker'); effects.consume(code); effects.exit('escapeMarker'); - return open + return inside } - function open(code) { + function inside(code) { if (asciiPunctuation(code)) { effects.enter('characterEscapeValue'); effects.consume(code); @@ -3714,9 +3738,8 @@ function tokenizeCharacterReference(effects, ok, nok) { return value(code) } function value(code) { - let token; if (code === 59 && size) { - token = effects.exit('characterReferenceValue'); + const token = effects.exit('characterReferenceValue'); if ( test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token)) @@ -3737,6 +3760,10 @@ function tokenizeCharacterReference(effects, ok, nok) { } } +const nonLazyContinuation = { + tokenize: tokenizeNonLazyContinuation, + partial: true +}; const codeFenced = { name: 'codeFenced', tokenize: tokenizeCodeFenced, @@ -3744,43 +3771,49 @@ const codeFenced = { }; function tokenizeCodeFenced(effects, ok, nok) { const self = this; - const closingFenceConstruct = { - tokenize: tokenizeClosingFence, + const closeStart = { + tokenize: tokenizeCloseStart, partial: true }; - const nonLazyLine = { - tokenize: tokenizeNonLazyLine, - partial: true - }; - const tail = this.events[this.events.length - 1]; - const initialPrefix = - tail && tail[1].type === 'linePrefix' - ? tail[2].sliceSerialize(tail[1], true).length - : 0; + let initialPrefix = 0; let sizeOpen = 0; let marker; return start function start(code) { + return beforeSequenceOpen(code) + } + function beforeSequenceOpen(code) { + const tail = self.events[self.events.length - 1]; + initialPrefix = + tail && tail[1].type === 'linePrefix' + ? tail[2].sliceSerialize(tail[1], true).length + : 0; + marker = code; effects.enter('codeFenced'); effects.enter('codeFencedFence'); effects.enter('codeFencedFenceSequence'); - marker = code; return sequenceOpen(code) } function sequenceOpen(code) { if (code === marker) { - effects.consume(code); sizeOpen++; + effects.consume(code); return sequenceOpen } + if (sizeOpen < 3) { + return nok(code) + } effects.exit('codeFencedFenceSequence'); - return sizeOpen < 3 - ? nok(code) - : factorySpace(effects, infoOpen, 'whitespace')(code) + return markdownSpace(code) + ? factorySpace(effects, infoBefore, 'whitespace')(code) + : infoBefore(code) } - function infoOpen(code) { + function infoBefore(code) { if (code === null || markdownLineEnding(code)) { - return openAfter(code) + effects.exit('codeFencedFence'); + return self.interrupt + ? ok(code) + : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code) } effects.enter('codeFencedFenceInfo'); effects.enter('chunkString', { @@ -3789,18 +3822,25 @@ function tokenizeCodeFenced(effects, ok, nok) { return info(code) } function info(code) { - if (code === null || markdownLineEndingOrSpace(code)) { + if (code === null || markdownLineEnding(code)) { effects.exit('chunkString'); effects.exit('codeFencedFenceInfo'); - return factorySpace(effects, infoAfter, 'whitespace')(code) + return infoBefore(code) + } + if (markdownSpace(code)) { + effects.exit('chunkString'); + effects.exit('codeFencedFenceInfo'); + return factorySpace(effects, metaBefore, 'whitespace')(code) + } + if (code === 96 && code === marker) { + return nok(code) } - if (code === 96 && code === marker) return nok(code) effects.consume(code); return info } - function infoAfter(code) { + function metaBefore(code) { if (code === null || markdownLineEnding(code)) { - return openAfter(code) + return infoBefore(code) } effects.enter('codeFencedFenceMeta'); effects.enter('chunkString', { @@ -3812,92 +3852,96 @@ function tokenizeCodeFenced(effects, ok, nok) { if (code === null || markdownLineEnding(code)) { effects.exit('chunkString'); effects.exit('codeFencedFenceMeta'); - return openAfter(code) + return infoBefore(code) + } + if (code === 96 && code === marker) { + return nok(code) } - if (code === 96 && code === marker) return nok(code) effects.consume(code); return meta } - function openAfter(code) { - effects.exit('codeFencedFence'); - return self.interrupt ? ok(code) : contentStart(code) + function atNonLazyBreak(code) { + return effects.attempt(closeStart, after, contentBefore)(code) + } + function contentBefore(code) { + effects.enter('lineEnding'); + effects.consume(code); + effects.exit('lineEnding'); + return contentStart } function contentStart(code) { - if (code === null) { - return after(code) - } - if (markdownLineEnding(code)) { - return effects.attempt( - nonLazyLine, - effects.attempt( - closingFenceConstruct, - after, - initialPrefix - ? factorySpace( - effects, - contentStart, - 'linePrefix', - initialPrefix + 1 - ) - : contentStart - ), - after - )(code) + return initialPrefix > 0 && markdownSpace(code) + ? factorySpace( + effects, + beforeContentChunk, + 'linePrefix', + initialPrefix + 1 + )(code) + : beforeContentChunk(code) + } + function beforeContentChunk(code) { + if (code === null || markdownLineEnding(code)) { + return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code) } effects.enter('codeFlowValue'); - return contentContinue(code) + return contentChunk(code) } - function contentContinue(code) { + function contentChunk(code) { if (code === null || markdownLineEnding(code)) { effects.exit('codeFlowValue'); - return contentStart(code) + return beforeContentChunk(code) } effects.consume(code); - return contentContinue + return contentChunk } function after(code) { effects.exit('codeFenced'); return ok(code) } - function tokenizeNonLazyLine(effects, ok, nok) { - const self = this; - return start - function start(code) { + function tokenizeCloseStart(effects, ok, nok) { + let size = 0; + return startBefore + function startBefore(code) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); - return lineStart - } - function lineStart(code) { - return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + return start } - } - function tokenizeClosingFence(effects, ok, nok) { - let size = 0; - return factorySpace( - effects, - closingSequenceStart, - 'linePrefix', - this.parser.constructs.disable.null.includes('codeIndented') - ? undefined - : 4 - ) - function closingSequenceStart(code) { + function start(code) { effects.enter('codeFencedFence'); - effects.enter('codeFencedFenceSequence'); - return closingSequence(code) + return markdownSpace(code) + ? factorySpace( + effects, + beforeSequenceClose, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + : beforeSequenceClose(code) } - function closingSequence(code) { + function beforeSequenceClose(code) { + if (code === marker) { + effects.enter('codeFencedFenceSequence'); + return sequenceClose(code) + } + return nok(code) + } + function sequenceClose(code) { if (code === marker) { - effects.consume(code); size++; - return closingSequence + effects.consume(code); + return sequenceClose + } + if (size >= sizeOpen) { + effects.exit('codeFencedFenceSequence'); + return markdownSpace(code) + ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code) + : sequenceCloseAfter(code) } - if (size < sizeOpen) return nok(code) - effects.exit('codeFencedFenceSequence'); - return factorySpace(effects, closingSequenceEnd, 'whitespace')(code) + return nok(code) } - function closingSequenceEnd(code) { + function sequenceCloseAfter(code) { if (code === null || markdownLineEnding(code)) { effects.exit('codeFencedFence'); return ok(code) @@ -3906,13 +3950,29 @@ function tokenizeCodeFenced(effects, ok, nok) { } } } +function tokenizeNonLazyContinuation(effects, ok, nok) { + const self = this; + return start + function start(code) { + if (code === null) { + return nok(code) + } + effects.enter('lineEnding'); + effects.consume(code); + effects.exit('lineEnding'); + return lineStart + } + function lineStart(code) { + return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + } +} const codeIndented = { name: 'codeIndented', tokenize: tokenizeCodeIndented }; -const indentedContent = { - tokenize: tokenizeIndentedContent, +const furtherStart = { + tokenize: tokenizeFurtherStart, partial: true }; function tokenizeCodeIndented(effects, ok, nok) { @@ -3920,43 +3980,43 @@ function tokenizeCodeIndented(effects, ok, nok) { return start function start(code) { effects.enter('codeIndented'); - return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code) + return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code) } - function afterStartPrefix(code) { + function afterPrefix(code) { const tail = self.events[self.events.length - 1]; return tail && tail[1].type === 'linePrefix' && tail[2].sliceSerialize(tail[1], true).length >= 4 - ? afterPrefix(code) + ? atBreak(code) : nok(code) } - function afterPrefix(code) { + function atBreak(code) { if (code === null) { return after(code) } if (markdownLineEnding(code)) { - return effects.attempt(indentedContent, afterPrefix, after)(code) + return effects.attempt(furtherStart, atBreak, after)(code) } effects.enter('codeFlowValue'); - return content(code) + return inside(code) } - function content(code) { + function inside(code) { if (code === null || markdownLineEnding(code)) { effects.exit('codeFlowValue'); - return afterPrefix(code) + return atBreak(code) } effects.consume(code); - return content + return inside } function after(code) { effects.exit('codeIndented'); return ok(code) } } -function tokenizeIndentedContent(effects, ok, nok) { +function tokenizeFurtherStart(effects, ok, nok) { const self = this; - return start - function start(code) { + return furtherStart + function furtherStart(code) { if (self.parser.lazy[self.now().line]) { return nok(code) } @@ -3964,7 +4024,7 @@ function tokenizeIndentedContent(effects, ok, nok) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); - return start + return furtherStart } return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code) } @@ -3975,7 +4035,7 @@ function tokenizeIndentedContent(effects, ok, nok) { tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok(code) : markdownLineEnding(code) - ? start(code) + ? furtherStart(code) : nok(code) } } @@ -4045,37 +4105,37 @@ function tokenizeCodeText(effects, ok, nok) { function start(code) { effects.enter('codeText'); effects.enter('codeTextSequence'); - return openingSequence(code) + return sequenceOpen(code) } - function openingSequence(code) { + function sequenceOpen(code) { if (code === 96) { effects.consume(code); sizeOpen++; - return openingSequence + return sequenceOpen } effects.exit('codeTextSequence'); - return gap(code) + return between(code) } - function gap(code) { + function between(code) { if (code === null) { return nok(code) } - if (code === 96) { - token = effects.enter('codeTextSequence'); - size = 0; - return closingSequence(code) - } if (code === 32) { effects.enter('space'); effects.consume(code); effects.exit('space'); - return gap + return between + } + if (code === 96) { + token = effects.enter('codeTextSequence'); + size = 0; + return sequenceClose(code) } if (markdownLineEnding(code)) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); - return gap + return between } effects.enter('codeTextData'); return data(code) @@ -4088,16 +4148,16 @@ function tokenizeCodeText(effects, ok, nok) { markdownLineEnding(code) ) { effects.exit('codeTextData'); - return gap(code) + return between(code) } effects.consume(code); return data } - function closingSequence(code) { + function sequenceClose(code) { if (code === 96) { effects.consume(code); size++; - return closingSequence + return sequenceClose } if (size === sizeOpen) { effects.exit('codeTextSequence'); @@ -4280,15 +4340,15 @@ function resolveContent(events) { } function tokenizeContent(effects, ok) { let previous; - return start - function start(code) { + return chunkStart + function chunkStart(code) { effects.enter('content'); previous = effects.enter('chunkContent', { contentType: 'content' }); - return data(code) + return chunkInside(code) } - function data(code) { + function chunkInside(code) { if (code === null) { return contentEnd(code) } @@ -4300,7 +4360,7 @@ function tokenizeContent(effects, ok) { )(code) } effects.consume(code); - return data + return chunkInside } function contentEnd(code) { effects.exit('chunkContent'); @@ -4315,7 +4375,7 @@ function tokenizeContent(effects, ok) { previous }); previous = previous.next; - return data + return chunkInside } } function tokenizeContinuation(effects, ok, nok) { @@ -4366,9 +4426,9 @@ function factoryDestination( effects.enter(literalMarkerType); effects.consume(code); effects.exit(literalMarkerType); - return destinationEnclosedBefore + return enclosedBefore } - if (code === null || code === 41 || asciiControl(code)) { + if (code === null || code === 32 || code === 41 || asciiControl(code)) { return nok(code) } effects.enter(type); @@ -4377,9 +4437,9 @@ function factoryDestination( effects.enter('chunkString', { contentType: 'string' }); - return destinationRaw(code) + return raw(code) } - function destinationEnclosedBefore(code) { + function enclosedBefore(code) { if (code === 62) { effects.enter(literalMarkerType); effects.consume(code); @@ -4392,69 +4452,67 @@ function factoryDestination( effects.enter('chunkString', { contentType: 'string' }); - return destinationEnclosed(code) + return enclosed(code) } - function destinationEnclosed(code) { + function enclosed(code) { if (code === 62) { effects.exit('chunkString'); effects.exit(stringType); - return destinationEnclosedBefore(code) + return enclosedBefore(code) } if (code === null || code === 60 || markdownLineEnding(code)) { return nok(code) } effects.consume(code); - return code === 92 ? destinationEnclosedEscape : destinationEnclosed + return code === 92 ? enclosedEscape : enclosed } - function destinationEnclosedEscape(code) { + function enclosedEscape(code) { if (code === 60 || code === 62 || code === 92) { effects.consume(code); - return destinationEnclosed + return enclosed } - return destinationEnclosed(code) + return enclosed(code) } - function destinationRaw(code) { - if (code === 40) { - if (++balance > limit) return nok(code) - effects.consume(code); - return destinationRaw - } - if (code === 41) { - if (!balance--) { - effects.exit('chunkString'); - effects.exit(stringType); - effects.exit(rawType); - effects.exit(type); - return ok(code) - } - effects.consume(code); - return destinationRaw - } - if (code === null || markdownLineEndingOrSpace(code)) { - if (balance) return nok(code) + function raw(code) { + if ( + !balance && + (code === null || code === 41 || markdownLineEndingOrSpace(code)) + ) { effects.exit('chunkString'); effects.exit(stringType); effects.exit(rawType); effects.exit(type); return ok(code) } - if (asciiControl(code)) return nok(code) + if (balance < limit && code === 40) { + effects.consume(code); + balance++; + return raw + } + if (code === 41) { + effects.consume(code); + balance--; + return raw + } + if (code === null || code === 32 || code === 40 || asciiControl(code)) { + return nok(code) + } effects.consume(code); - return code === 92 ? destinationRawEscape : destinationRaw + return code === 92 ? rawEscape : raw } - function destinationRawEscape(code) { + function rawEscape(code) { if (code === 40 || code === 41 || code === 92) { effects.consume(code); - return destinationRaw + return raw } - return destinationRaw(code) + return raw(code) } } function factoryLabel(effects, ok, nok, type, markerType, stringType) { const self = this; let size = 0; - let data; + let seen; return start function start(code) { effects.enter(type); @@ -4466,13 +4524,13 @@ function factoryLabel(effects, ok, nok, type, markerType, stringType) { } function atBreak(code) { if ( + size > 999 || code === null || code === 91 || - (code === 93 && !data) || + (code === 93 && !seen) || (code === 94 && !size && - '_hiddenFootnoteSupport' in self.parser.constructs) || - size > 999 + '_hiddenFootnoteSupport' in self.parser.constructs) ) { return nok(code) } @@ -4493,9 +4551,9 @@ function factoryLabel(effects, ok, nok, type, markerType, stringType) { effects.enter('chunkString', { contentType: 'string' }); - return label(code) + return labelInside(code) } - function label(code) { + function labelInside(code) { if ( code === null || code === 91 || @@ -4507,16 +4565,16 @@ function factoryLabel(effects, ok, nok, type, markerType, stringType) { return atBreak(code) } effects.consume(code); - data = data || !markdownSpace(code); - return code === 92 ? labelEscape : label + if (!seen) seen = !markdownSpace(code); + return code === 92 ? labelEscape : labelInside } function labelEscape(code) { if (code === 91 || code === 92 || code === 93) { effects.consume(code); size++; - return label + return labelInside } - return label(code) + return labelInside(code) } } @@ -4524,14 +4582,17 @@ function factoryTitle(effects, ok, nok, type, markerType, stringType) { let marker; return start function start(code) { - effects.enter(type); - effects.enter(markerType); - effects.consume(code); - effects.exit(markerType); - marker = code === 40 ? 41 : code; - return atFirstTitleBreak + if (code === 34 || code === 39 || code === 40) { + effects.enter(type); + effects.enter(markerType); + effects.consume(code); + effects.exit(markerType); + marker = code === 40 ? 41 : code; + return begin + } + return nok(code) } - function atFirstTitleBreak(code) { + function begin(code) { if (code === marker) { effects.enter(markerType); effects.consume(code); @@ -4540,12 +4601,12 @@ function factoryTitle(effects, ok, nok, type, markerType, stringType) { return ok } effects.enter(stringType); - return atTitleBreak(code) + return atBreak(code) } - function atTitleBreak(code) { + function atBreak(code) { if (code === marker) { effects.exit(stringType); - return atFirstTitleBreak(marker) + return begin(marker) } if (code === null) { return nok(code) @@ -4554,27 +4615,27 @@ function factoryTitle(effects, ok, nok, type, markerType, stringType) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); - return factorySpace(effects, atTitleBreak, 'linePrefix') + return factorySpace(effects, atBreak, 'linePrefix') } effects.enter('chunkString', { contentType: 'string' }); - return title(code) + return inside(code) } - function title(code) { + function inside(code) { if (code === marker || code === null || markdownLineEnding(code)) { effects.exit('chunkString'); - return atTitleBreak(code) + return atBreak(code) } effects.consume(code); - return code === 92 ? titleEscape : title + return code === 92 ? escape : inside } - function titleEscape(code) { + function escape(code) { if (code === marker || code === 92) { effects.consume(code); - return title + return inside } - return title(code) + return inside(code) } } @@ -4614,8 +4675,8 @@ const definition$1 = { name: 'definition', tokenize: tokenizeDefinition }; -const titleConstruct = { - tokenize: tokenizeTitle, +const titleBefore = { + tokenize: tokenizeTitleBefore, partial: true }; function tokenizeDefinition(effects, ok, nok) { @@ -4624,6 +4685,9 @@ function tokenizeDefinition(effects, ok, nok) { return start function start(code) { effects.enter('definition'); + return before(code) + } + function before(code) { return factoryLabel.call( self, effects, @@ -4642,58 +4706,67 @@ function tokenizeDefinition(effects, ok, nok) { effects.enter('definitionMarker'); effects.consume(code); effects.exit('definitionMarker'); - return factoryWhitespace( - effects, - factoryDestination( - effects, - effects.attempt( - titleConstruct, - factorySpace(effects, after, 'whitespace'), - factorySpace(effects, after, 'whitespace') - ), - nok, - 'definitionDestination', - 'definitionDestinationLiteral', - 'definitionDestinationLiteralMarker', - 'definitionDestinationRaw', - 'definitionDestinationString' - ) - ) + return markerAfter } return nok(code) } + function markerAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, destinationBefore)(code) + : destinationBefore(code) + } + function destinationBefore(code) { + return factoryDestination( + effects, + destinationAfter, + nok, + 'definitionDestination', + 'definitionDestinationLiteral', + 'definitionDestinationLiteralMarker', + 'definitionDestinationRaw', + 'definitionDestinationString' + )(code) + } + function destinationAfter(code) { + return effects.attempt(titleBefore, after, after)(code) + } function after(code) { + return markdownSpace(code) + ? factorySpace(effects, afterWhitespace, 'whitespace')(code) + : afterWhitespace(code) + } + function afterWhitespace(code) { if (code === null || markdownLineEnding(code)) { effects.exit('definition'); - if (!self.parser.defined.includes(identifier)) { - self.parser.defined.push(identifier); - } + self.parser.defined.push(identifier); return ok(code) } return nok(code) } } -function tokenizeTitle(effects, ok, nok) { - return start - function start(code) { +function tokenizeTitleBefore(effects, ok, nok) { + return titleBefore + function titleBefore(code) { return markdownLineEndingOrSpace(code) - ? factoryWhitespace(effects, before)(code) + ? factoryWhitespace(effects, beforeMarker)(code) : nok(code) } - function before(code) { - if (code === 34 || code === 39 || code === 40) { - return factoryTitle( - effects, - factorySpace(effects, after, 'whitespace'), - nok, - 'definitionTitle', - 'definitionTitleMarker', - 'definitionTitleString' - )(code) - } - return nok(code) + function beforeMarker(code) { + return factoryTitle( + effects, + titleAfter, + nok, + 'definitionTitle', + 'definitionTitleMarker', + 'definitionTitleString' + )(code) } - function after(code) { + function titleAfter(code) { + return markdownSpace(code) + ? factorySpace(effects, titleAfterOptionalWhitespace, 'whitespace')(code) + : titleAfterOptionalWhitespace(code) + } + function titleAfterOptionalWhitespace(code) { return code === null || markdownLineEnding(code) ? ok(code) : nok(code) } } @@ -4706,13 +4779,11 @@ function tokenizeHardBreakEscape(effects, ok, nok) { return start function start(code) { effects.enter('hardBreakEscape'); - effects.enter('escapeMarker'); effects.consume(code); - return open + return after } - function open(code) { + function after(code) { if (markdownLineEnding(code)) { - effects.exit('escapeMarker'); effects.exit('hardBreakEscape'); return ok(code) } @@ -4769,52 +4840,54 @@ function resolveHeadingAtx(events, context) { return events } function tokenizeHeadingAtx(effects, ok, nok) { - const self = this; let size = 0; return start function start(code) { effects.enter('atxHeading'); + return before(code) + } + function before(code) { effects.enter('atxHeadingSequence'); - return fenceOpenInside(code) + return sequenceOpen(code) } - function fenceOpenInside(code) { + function sequenceOpen(code) { if (code === 35 && size++ < 6) { effects.consume(code); - return fenceOpenInside + return sequenceOpen } if (code === null || markdownLineEndingOrSpace(code)) { effects.exit('atxHeadingSequence'); - return self.interrupt ? ok(code) : headingBreak(code) + return atBreak(code) } return nok(code) } - function headingBreak(code) { + function atBreak(code) { if (code === 35) { effects.enter('atxHeadingSequence'); - return sequence(code) + return sequenceFurther(code) } if (code === null || markdownLineEnding(code)) { effects.exit('atxHeading'); return ok(code) } if (markdownSpace(code)) { - return factorySpace(effects, headingBreak, 'whitespace')(code) + return factorySpace(effects, atBreak, 'whitespace')(code) } effects.enter('atxHeadingText'); return data(code) } - function sequence(code) { + function sequenceFurther(code) { if (code === 35) { effects.consume(code); - return sequence + return sequenceFurther } effects.exit('atxHeadingSequence'); - return headingBreak(code) + return atBreak(code) } function data(code) { if (code === null || code === 35 || markdownLineEndingOrSpace(code)) { effects.exit('atxHeadingText'); - return headingBreak(code) + return atBreak(code) } effects.consume(code); return data @@ -4871,6 +4944,7 @@ const htmlBlockNames = [ 'option', 'p', 'param', + 'search', 'section', 'summary', 'table', @@ -4892,8 +4966,12 @@ const htmlFlow = { resolveTo: resolveToHtmlFlow, concrete: true }; -const nextBlankConstruct = { - tokenize: tokenizeNextBlank, +const blankLineBefore = { + tokenize: tokenizeBlankLineBefore, + partial: true +}; +const nonLazyContinuationStart = { + tokenize: tokenizeNonLazyContinuationStart, partial: true }; function resolveToHtmlFlow(events) { @@ -4912,13 +4990,16 @@ function resolveToHtmlFlow(events) { } function tokenizeHtmlFlow(effects, ok, nok) { const self = this; - let kind; - let startTag; + let marker; + let closingTag; let buffer; let index; - let marker; + let markerB; return start function start(code) { + return before(code) + } + function before(code) { effects.enter('htmlFlow'); effects.enter('htmlFlowData'); effects.consume(code); @@ -4927,41 +5008,40 @@ function tokenizeHtmlFlow(effects, ok, nok) { function open(code) { if (code === 33) { effects.consume(code); - return declarationStart + return declarationOpen } if (code === 47) { effects.consume(code); + closingTag = true; return tagCloseStart } if (code === 63) { effects.consume(code); - kind = 3; + marker = 3; return self.interrupt ? ok : continuationDeclarationInside } if (asciiAlpha(code)) { effects.consume(code); buffer = String.fromCharCode(code); - startTag = true; return tagName } return nok(code) } - function declarationStart(code) { + function declarationOpen(code) { if (code === 45) { effects.consume(code); - kind = 2; + marker = 2; return commentOpenInside } if (code === 91) { effects.consume(code); - kind = 5; - buffer = 'CDATA['; + marker = 5; index = 0; return cdataOpenInside } if (asciiAlpha(code)) { effects.consume(code); - kind = 4; + marker = 4; return self.interrupt ? ok : continuationDeclarationInside } return nok(code) @@ -4974,13 +5054,13 @@ function tokenizeHtmlFlow(effects, ok, nok) { return nok(code) } function cdataOpenInside(code) { - if (code === buffer.charCodeAt(index++)) { + const value = 'CDATA['; + if (code === value.charCodeAt(index++)) { effects.consume(code); - return index === buffer.length - ? self.interrupt - ? ok - : continuation - : cdataOpenInside + if (index === value.length) { + return self.interrupt ? ok : continuation + } + return cdataOpenInside } return nok(code) } @@ -4999,28 +5079,26 @@ function tokenizeHtmlFlow(effects, ok, nok) { code === 62 || markdownLineEndingOrSpace(code) ) { - if ( - code !== 47 && - startTag && - htmlRawNames.includes(buffer.toLowerCase()) - ) { - kind = 1; + const slash = code === 47; + const name = buffer.toLowerCase(); + if (!slash && !closingTag && htmlRawNames.includes(name)) { + marker = 1; return self.interrupt ? ok(code) : continuation(code) } if (htmlBlockNames.includes(buffer.toLowerCase())) { - kind = 6; - if (code === 47) { + marker = 6; + if (slash) { effects.consume(code); return basicSelfClosing } return self.interrupt ? ok(code) : continuation(code) } - kind = 7; + marker = 7; return self.interrupt && !self.parser.lazy[self.now().line] ? nok(code) - : startTag - ? completeAttributeNameBefore(code) - : completeClosingTagAfter(code) + : closingTag + ? completeClosingTagAfter(code) + : completeAttributeNameBefore(code) } if (code === 45 || asciiAlphanumeric(code)) { effects.consume(code); @@ -5094,24 +5172,24 @@ function tokenizeHtmlFlow(effects, ok, nok) { } if (code === 34 || code === 39) { effects.consume(code); - marker = code; + markerB = code; return completeAttributeValueQuoted } if (markdownSpace(code)) { effects.consume(code); return completeAttributeValueBefore } - marker = null; return completeAttributeValueUnquoted(code) } function completeAttributeValueQuoted(code) { - if (code === null || markdownLineEnding(code)) { - return nok(code) - } - if (code === marker) { + if (code === markerB) { effects.consume(code); + markerB = null; return completeAttributeValueQuotedAfter } + if (code === null || markdownLineEnding(code)) { + return nok(code) + } effects.consume(code); return completeAttributeValueQuoted } @@ -5120,6 +5198,7 @@ function tokenizeHtmlFlow(effects, ok, nok) { code === null || code === 34 || code === 39 || + code === 47 || code === 60 || code === 61 || code === 62 || @@ -5145,81 +5224,71 @@ function tokenizeHtmlFlow(effects, ok, nok) { return nok(code) } function completeAfter(code) { + if (code === null || markdownLineEnding(code)) { + return continuation(code) + } if (markdownSpace(code)) { effects.consume(code); return completeAfter } - return code === null || markdownLineEnding(code) - ? continuation(code) - : nok(code) + return nok(code) } function continuation(code) { - if (code === 45 && kind === 2) { + if (code === 45 && marker === 2) { effects.consume(code); return continuationCommentInside } - if (code === 60 && kind === 1) { + if (code === 60 && marker === 1) { effects.consume(code); return continuationRawTagOpen } - if (code === 62 && kind === 4) { + if (code === 62 && marker === 4) { effects.consume(code); return continuationClose } - if (code === 63 && kind === 3) { + if (code === 63 && marker === 3) { effects.consume(code); return continuationDeclarationInside } - if (code === 93 && kind === 5) { + if (code === 93 && marker === 5) { effects.consume(code); - return continuationCharacterDataInside + return continuationCdataInside } - if (markdownLineEnding(code) && (kind === 6 || kind === 7)) { + if (markdownLineEnding(code) && (marker === 6 || marker === 7)) { + effects.exit('htmlFlowData'); return effects.check( - nextBlankConstruct, - continuationClose, - continuationAtLineEnding + blankLineBefore, + continuationAfter, + continuationStart )(code) } if (code === null || markdownLineEnding(code)) { - return continuationAtLineEnding(code) + effects.exit('htmlFlowData'); + return continuationStart(code) } effects.consume(code); return continuation } - function continuationAtLineEnding(code) { - effects.exit('htmlFlowData'); - return htmlContinueStart(code) + function continuationStart(code) { + return effects.check( + nonLazyContinuationStart, + continuationStartNonLazy, + continuationAfter + )(code) } - function htmlContinueStart(code) { - if (code === null) { - return done(code) - } - if (markdownLineEnding(code)) { - return effects.attempt( - { - tokenize: htmlLineEnd, - partial: true - }, - htmlContinueStart, - done - )(code) + function continuationStartNonLazy(code) { + effects.enter('lineEnding'); + effects.consume(code); + effects.exit('lineEnding'); + return continuationBefore + } + function continuationBefore(code) { + if (code === null || markdownLineEnding(code)) { + return continuationStart(code) } effects.enter('htmlFlowData'); return continuation(code) } - function htmlLineEnd(effects, ok, nok) { - return start - function start(code) { - effects.enter('lineEnding'); - effects.consume(code); - effects.exit('lineEnding'); - return lineStart - } - function lineStart(code) { - return self.parser.lazy[self.now().line] ? nok(code) : ok(code) - } - } function continuationCommentInside(code) { if (code === 45) { effects.consume(code); @@ -5236,9 +5305,13 @@ function tokenizeHtmlFlow(effects, ok, nok) { return continuation(code) } function continuationRawEndTag(code) { - if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) { - effects.consume(code); - return continuationClose + if (code === 62) { + const name = buffer.toLowerCase(); + if (htmlRawNames.includes(name)) { + effects.consume(code); + return continuationClose + } + return continuation(code) } if (asciiAlpha(code) && buffer.length < 8) { effects.consume(code); @@ -5247,7 +5320,7 @@ function tokenizeHtmlFlow(effects, ok, nok) { } return continuation(code) } - function continuationCharacterDataInside(code) { + function continuationCdataInside(code) { if (code === 93) { effects.consume(code); return continuationDeclarationInside @@ -5259,7 +5332,7 @@ function tokenizeHtmlFlow(effects, ok, nok) { effects.consume(code); return continuationClose } - if (code === 45 && kind === 2) { + if (code === 45 && marker === 2) { effects.consume(code); return continuationDeclarationInside } @@ -5268,23 +5341,38 @@ function tokenizeHtmlFlow(effects, ok, nok) { function continuationClose(code) { if (code === null || markdownLineEnding(code)) { effects.exit('htmlFlowData'); - return done(code) + return continuationAfter(code) } effects.consume(code); return continuationClose } - function done(code) { + function continuationAfter(code) { effects.exit('htmlFlow'); return ok(code) } } -function tokenizeNextBlank(effects, ok, nok) { +function tokenizeNonLazyContinuationStart(effects, ok, nok) { + const self = this; return start function start(code) { - effects.exit('htmlFlowData'); - effects.enter('lineEndingBlank'); + if (markdownLineEnding(code)) { + effects.enter('lineEnding'); + effects.consume(code); + effects.exit('lineEnding'); + return after + } + return nok(code) + } + function after(code) { + return self.parser.lazy[self.now().line] ? nok(code) : ok(code) + } +} +function tokenizeBlankLineBefore(effects, ok, nok) { + return start + function start(code) { + effects.enter('lineEnding'); effects.consume(code); - effects.exit('lineEndingBlank'); + effects.exit('lineEnding'); return effects.attempt(blankLine, ok, nok) } } @@ -5296,7 +5384,6 @@ const htmlText = { function tokenizeHtmlText(effects, ok, nok) { const self = this; let marker; - let buffer; let index; let returnState; return start @@ -5328,13 +5415,12 @@ function tokenizeHtmlText(effects, ok, nok) { function declarationOpen(code) { if (code === 45) { effects.consume(code); - return commentOpen + return commentOpenInside } if (code === 91) { effects.consume(code); - buffer = 'CDATA['; index = 0; - return cdataOpen + return cdataOpenInside } if (asciiAlpha(code)) { effects.consume(code); @@ -5342,29 +5428,13 @@ function tokenizeHtmlText(effects, ok, nok) { } return nok(code) } - function commentOpen(code) { + function commentOpenInside(code) { if (code === 45) { effects.consume(code); - return commentStart + return commentEnd } return nok(code) } - function commentStart(code) { - if (code === null || code === 62) { - return nok(code) - } - if (code === 45) { - effects.consume(code); - return commentStartDash - } - return comment(code) - } - function commentStartDash(code) { - if (code === null || code === 62) { - return nok(code) - } - return comment(code) - } function comment(code) { if (code === null) { return nok(code) @@ -5375,7 +5445,7 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = comment; - return atLineEnding(code) + return lineEndingBefore(code) } effects.consume(code); return comment @@ -5383,14 +5453,22 @@ function tokenizeHtmlText(effects, ok, nok) { function commentClose(code) { if (code === 45) { effects.consume(code); - return end + return commentEnd } return comment(code) } - function cdataOpen(code) { - if (code === buffer.charCodeAt(index++)) { + function commentEnd(code) { + return code === 62 + ? end(code) + : code === 45 + ? commentClose(code) + : comment(code) + } + function cdataOpenInside(code) { + const value = 'CDATA['; + if (code === value.charCodeAt(index++)) { effects.consume(code); - return index === buffer.length ? cdata : cdataOpen + return index === value.length ? cdata : cdataOpenInside } return nok(code) } @@ -5404,7 +5482,7 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = cdata; - return atLineEnding(code) + return lineEndingBefore(code) } effects.consume(code); return cdata @@ -5432,7 +5510,7 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = declaration; - return atLineEnding(code) + return lineEndingBefore(code) } effects.consume(code); return declaration @@ -5447,7 +5525,7 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = instruction; - return atLineEnding(code) + return lineEndingBefore(code) } effects.consume(code); return instruction @@ -5472,7 +5550,7 @@ function tokenizeHtmlText(effects, ok, nok) { function tagCloseBetween(code) { if (markdownLineEnding(code)) { returnState = tagCloseBetween; - return atLineEnding(code) + return lineEndingBefore(code) } if (markdownSpace(code)) { effects.consume(code); @@ -5501,7 +5579,7 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = tagOpenBetween; - return atLineEnding(code) + return lineEndingBefore(code) } if (markdownSpace(code)) { effects.consume(code); @@ -5529,7 +5607,7 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = tagOpenAttributeNameAfter; - return atLineEnding(code) + return lineEndingBefore(code) } if (markdownSpace(code)) { effects.consume(code); @@ -5554,19 +5632,19 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = tagOpenAttributeValueBefore; - return atLineEnding(code) + return lineEndingBefore(code) } if (markdownSpace(code)) { effects.consume(code); return tagOpenAttributeValueBefore } effects.consume(code); - marker = undefined; return tagOpenAttributeValueUnquoted } function tagOpenAttributeValueQuoted(code) { if (code === marker) { effects.consume(code); + marker = undefined; return tagOpenAttributeValueQuotedAfter } if (code === null) { @@ -5574,17 +5652,11 @@ function tokenizeHtmlText(effects, ok, nok) { } if (markdownLineEnding(code)) { returnState = tagOpenAttributeValueQuoted; - return atLineEnding(code) + return lineEndingBefore(code) } effects.consume(code); return tagOpenAttributeValueQuoted } - function tagOpenAttributeValueQuotedAfter(code) { - if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) { - return tagOpenBetween(code) - } - return nok(code) - } function tagOpenAttributeValueUnquoted(code) { if ( code === null || @@ -5596,29 +5668,17 @@ function tokenizeHtmlText(effects, ok, nok) { ) { return nok(code) } - if (code === 62 || markdownLineEndingOrSpace(code)) { + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { return tagOpenBetween(code) } effects.consume(code); return tagOpenAttributeValueUnquoted } - function atLineEnding(code) { - effects.exit('htmlTextData'); - effects.enter('lineEnding'); - effects.consume(code); - effects.exit('lineEnding'); - return factorySpace( - effects, - afterPrefix, - 'linePrefix', - self.parser.constructs.disable.null.includes('codeIndented') - ? undefined - : 4 - ) - } - function afterPrefix(code) { - effects.enter('htmlTextData'); - return returnState(code) + function tagOpenAttributeValueQuotedAfter(code) { + if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { + return tagOpenBetween(code) + } + return nok(code) } function end(code) { if (code === 62) { @@ -5629,6 +5689,29 @@ function tokenizeHtmlText(effects, ok, nok) { } return nok(code) } + function lineEndingBefore(code) { + effects.exit('htmlTextData'); + effects.enter('lineEnding'); + effects.consume(code); + effects.exit('lineEnding'); + return lineEndingAfter + } + function lineEndingAfter(code) { + return markdownSpace(code) + ? factorySpace( + effects, + lineEndingAfterPrefix, + 'linePrefix', + self.parser.constructs.disable.null.includes('codeIndented') + ? undefined + : 4 + )(code) + : lineEndingAfterPrefix(code) + } + function lineEndingAfterPrefix(code) { + effects.enter('htmlTextData'); + return returnState(code) + } } const labelEnd = { @@ -5640,17 +5723,16 @@ const labelEnd = { const resourceConstruct = { tokenize: tokenizeResource }; -const fullReferenceConstruct = { - tokenize: tokenizeFullReference +const referenceFullConstruct = { + tokenize: tokenizeReferenceFull }; -const collapsedReferenceConstruct = { - tokenize: tokenizeCollapsedReference +const referenceCollapsedConstruct = { + tokenize: tokenizeReferenceCollapsed }; function resolveAllLabelEnd(events) { let index = -1; - let token; while (++index < events.length) { - token = events[index][1]; + const token = events[index][1]; if ( token.type === 'labelImage' || token.type === 'labelLink' || @@ -5758,7 +5840,9 @@ function tokenizeLabelEnd(effects, ok, nok) { if (!labelStart) { return nok(code) } - if (labelStart._inactive) return balanced(code) + if (labelStart._inactive) { + return labelEndNok(code) + } defined = self.parser.defined.includes( normalizeIdentifier( self.sliceSerialize({ @@ -5772,49 +5856,62 @@ function tokenizeLabelEnd(effects, ok, nok) { effects.consume(code); effects.exit('labelMarker'); effects.exit('labelEnd'); - return afterLabelEnd + return after } - function afterLabelEnd(code) { + function after(code) { if (code === 40) { return effects.attempt( resourceConstruct, - ok, - defined ? ok : balanced + labelEndOk, + defined ? labelEndOk : labelEndNok )(code) } if (code === 91) { return effects.attempt( - fullReferenceConstruct, - ok, - defined - ? effects.attempt(collapsedReferenceConstruct, ok, balanced) - : balanced + referenceFullConstruct, + labelEndOk, + defined ? referenceNotFull : labelEndNok )(code) } - return defined ? ok(code) : balanced(code) + return defined ? labelEndOk(code) : labelEndNok(code) } - function balanced(code) { + function referenceNotFull(code) { + return effects.attempt( + referenceCollapsedConstruct, + labelEndOk, + labelEndNok + )(code) + } + function labelEndOk(code) { + return ok(code) + } + function labelEndNok(code) { labelStart._balanced = true; return nok(code) } } function tokenizeResource(effects, ok, nok) { - return start - function start(code) { + return resourceStart + function resourceStart(code) { effects.enter('resource'); effects.enter('resourceMarker'); effects.consume(code); effects.exit('resourceMarker'); - return factoryWhitespace(effects, open) + return resourceBefore } - function open(code) { + function resourceBefore(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceOpen)(code) + : resourceOpen(code) + } + function resourceOpen(code) { if (code === 41) { - return end(code) + return resourceEnd(code) } return factoryDestination( effects, - destinationAfter, - nok, + resourceDestinationAfter, + resourceDestinationMissing, 'resourceDestination', 'resourceDestinationLiteral', 'resourceDestinationLiteralMarker', @@ -5823,25 +5920,33 @@ function tokenizeResource(effects, ok, nok) { 32 )(code) } - function destinationAfter(code) { + function resourceDestinationAfter(code) { return markdownLineEndingOrSpace(code) - ? factoryWhitespace(effects, between)(code) - : end(code) + ? factoryWhitespace(effects, resourceBetween)(code) + : resourceEnd(code) } - function between(code) { + function resourceDestinationMissing(code) { + return nok(code) + } + function resourceBetween(code) { if (code === 34 || code === 39 || code === 40) { return factoryTitle( effects, - factoryWhitespace(effects, end), + resourceTitleAfter, nok, 'resourceTitle', 'resourceTitleMarker', 'resourceTitleString' )(code) } - return end(code) + return resourceEnd(code) } - function end(code) { + function resourceTitleAfter(code) { + return markdownLineEndingOrSpace(code) + ? factoryWhitespace(effects, resourceEnd)(code) + : resourceEnd(code) + } + function resourceEnd(code) { if (code === 41) { effects.enter('resourceMarker'); effects.consume(code); @@ -5852,21 +5957,21 @@ function tokenizeResource(effects, ok, nok) { return nok(code) } } -function tokenizeFullReference(effects, ok, nok) { +function tokenizeReferenceFull(effects, ok, nok) { const self = this; - return start - function start(code) { + return referenceFull + function referenceFull(code) { return factoryLabel.call( self, effects, - afterLabel, - nok, + referenceFullAfter, + referenceFullMissing, 'reference', 'referenceMarker', 'referenceString' )(code) } - function afterLabel(code) { + function referenceFullAfter(code) { return self.parser.defined.includes( normalizeIdentifier( self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1) @@ -5875,17 +5980,20 @@ function tokenizeFullReference(effects, ok, nok) { ? ok(code) : nok(code) } + function referenceFullMissing(code) { + return nok(code) + } } -function tokenizeCollapsedReference(effects, ok, nok) { - return start - function start(code) { +function tokenizeReferenceCollapsed(effects, ok, nok) { + return referenceCollapsedStart + function referenceCollapsedStart(code) { effects.enter('reference'); effects.enter('referenceMarker'); effects.consume(code); effects.exit('referenceMarker'); - return open + return referenceCollapsedOpen } - function open(code) { + function referenceCollapsedOpen(code) { if (code === 93) { effects.enter('referenceMarker'); effects.consume(code); @@ -5976,6 +6084,9 @@ function tokenizeThematicBreak(effects, ok, nok) { return start function start(code) { effects.enter('thematicBreak'); + return before(code) + } + function before(code) { marker = code; return atBreak(code) } @@ -5984,14 +6095,11 @@ function tokenizeThematicBreak(effects, ok, nok) { effects.enter('thematicBreakSequence'); return sequence(code) } - if (markdownSpace(code)) { - return factorySpace(effects, atBreak, 'whitespace')(code) - } - if (size < 3 || (code !== null && !markdownLineEnding(code))) { - return nok(code) + if (size >= 3 && (code === null || markdownLineEnding(code))) { + effects.exit('thematicBreak'); + return ok(code) } - effects.exit('thematicBreak'); - return ok(code) + return nok(code) } function sequence(code) { if (code === marker) { @@ -6000,7 +6108,9 @@ function tokenizeThematicBreak(effects, ok, nok) { return sequence } effects.exit('thematicBreakSequence'); - return atBreak(code) + return markdownSpace(code) + ? factorySpace(effects, atBreak, 'whitespace')(code) + : atBreak(code) } } @@ -6237,38 +6347,43 @@ function resolveToSetextUnderline(events, context) { } function tokenizeSetextUnderline(effects, ok, nok) { const self = this; - let index = self.events.length; let marker; - let paragraph; - while (index--) { - if ( - self.events[index][1].type !== 'lineEnding' && - self.events[index][1].type !== 'linePrefix' && - self.events[index][1].type !== 'content' - ) { - paragraph = self.events[index][1].type === 'paragraph'; - break - } - } return start function start(code) { + let index = self.events.length; + let paragraph; + while (index--) { + if ( + self.events[index][1].type !== 'lineEnding' && + self.events[index][1].type !== 'linePrefix' && + self.events[index][1].type !== 'content' + ) { + paragraph = self.events[index][1].type === 'paragraph'; + break + } + } if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) { effects.enter('setextHeadingLine'); - effects.enter('setextHeadingLineSequence'); marker = code; - return closingSequence(code) + return before(code) } return nok(code) } - function closingSequence(code) { + function before(code) { + effects.enter('setextHeadingLineSequence'); + return inside(code) + } + function inside(code) { if (code === marker) { effects.consume(code); - return closingSequence + return inside } effects.exit('setextHeadingLineSequence'); - return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code) + return markdownSpace(code) + ? factorySpace(effects, after, 'lineSuffix')(code) + : after(code) } - function closingSequenceEnd(code) { + function after(code) { if (code === null || markdownLineEnding(code)) { effects.exit('setextHeadingLine'); return ok(code) @@ -6533,7 +6648,14 @@ function createTokenizer(parser, initialize, from) { return sliceChunks(chunks, token) } function now() { - return Object.assign({}, point) + const {line, column, offset, _index, _bufferIndex} = point; + return { + line, + column, + offset, + _index, + _bufferIndex + } } function defineSkip(value) { columnStart[value.line] = value.column; @@ -6611,10 +6733,10 @@ function createTokenizer(parser, initialize, from) { let currentConstruct; let info; return Array.isArray(constructs) - ? - handleListOfConstructs(constructs) + ? handleListOfConstructs(constructs) : 'tokenize' in constructs - ? handleListOfConstructs([constructs]) + ? + handleListOfConstructs([constructs]) : handleMapOfConstructs(constructs) function handleMapOfConstructs(map) { return start @@ -6724,7 +6846,12 @@ function sliceChunks(chunks, token) { } else { view = chunks.slice(startIndex, endIndex); if (startBufferIndex > -1) { - view[0] = view[0].slice(startBufferIndex); + const head = view[0]; + if (typeof head === 'string') { + view[0] = head.slice(startBufferIndex); + } else { + view.shift(); + } } if (endBufferIndex > 0) { view.push(chunks[endIndex].slice(0, endBufferIndex)); @@ -6849,10 +6976,10 @@ var defaultConstructs = /*#__PURE__*/Object.freeze({ text: text$2 }); -function parse$1(options = {}) { - const constructs = combineExtensions( - [defaultConstructs].concat(options.extensions || []) - ); +function parse$1(options) { + const settings = options || {}; + const constructs = + combineExtensions([defaultConstructs, ...(settings.extensions || [])]); const parser = { defined: [], lazy: {}, @@ -6965,9 +7092,9 @@ function decodeNumericCharacterReference(value, base) { (code > 13 && code < 32) || (code > 126 && code < 160) || (code > 55295 && code < 57344) || - (code > 64975 && code < 65008) || + (code > 64975 && code < 65008) || (code & 65535) === 65535 || - (code & 65535) === 65534 || + (code & 65535) === 65534 || code > 1114111 ) { return '\uFFFD' @@ -7279,7 +7406,8 @@ function compiler(options) { listItem = { type: 'listItem', _spread: false, - start: Object.assign({}, event[1].start) + start: Object.assign({}, event[1].start), + end: undefined }; events.splice(index, 0, ['enter', listItem, event[2]]); index++; @@ -21008,11 +21136,12 @@ function ansiRegex({onlyFirst = false} = {}) { return new RegExp(pattern, onlyFirst ? undefined : 'g'); } +const regex = ansiRegex(); function stripAnsi(string) { if (typeof string !== 'string') { throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``); } - return string.replace(ansiRegex(), ''); + return string.replace(regex, ''); } var eastasianwidth = {exports: {}}; diff --git a/tools/lint-md/package-lock.json b/tools/lint-md/package-lock.json index c580bf49fbb736..d7ca8247d9fe6b 100644 --- a/tools/lint-md/package-lock.json +++ b/tools/lint-md/package-lock.json @@ -17,8 +17,8 @@ }, "devDependencies": { "@rollup/plugin-commonjs": "^25.0.0", - "@rollup/plugin-node-resolve": "^15.0.2", - "rollup": "^3.22.0", + "@rollup/plugin-node-resolve": "^15.1.0", + "rollup": "^3.23.0", "rollup-plugin-cleanup": "^3.2.1" } }, @@ -54,9 +54,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", - "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", + "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -101,9 +101,9 @@ } }, "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", "dependencies": { "@types/ms": "*" } @@ -584,9 +584,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", - "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", "dependencies": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", @@ -767,9 +767,9 @@ } }, "node_modules/micromark": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", - "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", "funding": [ { "type": "GitHub Sponsors", @@ -801,9 +801,9 @@ } }, "node_modules/micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", "funding": [ { "type": "GitHub Sponsors", @@ -853,9 +853,9 @@ } }, "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.4.tgz", - "integrity": "sha512-WCssN+M9rUyfHN5zPBn3/f0mIA7tqArHL/EKbv3CZK+LT2rG77FEikIQEqBkv46fOqXQK4NEW/Pc7Z27gshpeg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", + "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-sanitize-uri": "^1.0.0", @@ -868,9 +868,9 @@ } }, "node_modules/micromark-extension-gfm-footnote": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.0.tgz", - "integrity": "sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", + "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", "dependencies": { "micromark-core-commonmark": "^1.0.0", "micromark-factory-space": "^1.0.0", @@ -887,9 +887,9 @@ } }, "node_modules/micromark-extension-gfm-strikethrough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.5.tgz", - "integrity": "sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", + "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", "dependencies": { "micromark-util-chunked": "^1.0.0", "micromark-util-classify-character": "^1.0.0", @@ -904,9 +904,9 @@ } }, "node_modules/micromark-extension-gfm-table": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.6.tgz", - "integrity": "sha512-92pq7Q+T+4kXH4M6kL+pc8WU23Z9iuhcqmtYFWdFWjm73ZscFpH2xE28+XFpGWlvgq3LUwcN0XC0PGCicYFpgA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", + "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", @@ -932,9 +932,9 @@ } }, "node_modules/micromark-extension-gfm-task-list-item": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.4.tgz", - "integrity": "sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", + "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", @@ -948,9 +948,9 @@ } }, "node_modules/micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", "funding": [ { "type": "GitHub Sponsors", @@ -968,9 +968,9 @@ } }, "node_modules/micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", "funding": [ { "type": "GitHub Sponsors", @@ -989,9 +989,9 @@ } }, "node_modules/micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1008,9 +1008,9 @@ } }, "node_modules/micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1025,14 +1025,13 @@ "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "micromark-util-types": "^1.0.0" } }, "node_modules/micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1051,9 +1050,9 @@ } }, "node_modules/micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", "funding": [ { "type": "GitHub Sponsors", @@ -1070,9 +1069,9 @@ } }, "node_modules/micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1088,9 +1087,9 @@ } }, "node_modules/micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", "funding": [ { "type": "GitHub Sponsors", @@ -1108,9 +1107,9 @@ } }, "node_modules/micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", "funding": [ { "type": "GitHub Sponsors", @@ -1127,9 +1126,9 @@ } }, "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", "funding": [ { "type": "GitHub Sponsors", @@ -1145,9 +1144,9 @@ } }, "node_modules/micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", "funding": [ { "type": "GitHub Sponsors", @@ -1166,9 +1165,9 @@ } }, "node_modules/micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", "funding": [ { "type": "GitHub Sponsors", @@ -1181,9 +1180,9 @@ ] }, "node_modules/micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", "funding": [ { "type": "GitHub Sponsors", @@ -1196,9 +1195,9 @@ ] }, "node_modules/micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", "funding": [ { "type": "GitHub Sponsors", @@ -1214,9 +1213,9 @@ } }, "node_modules/micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", "funding": [ { "type": "GitHub Sponsors", @@ -1232,9 +1231,9 @@ } }, "node_modules/micromark-util-sanitize-uri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", - "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", "funding": [ { "type": "GitHub Sponsors", @@ -1252,9 +1251,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", "funding": [ { "type": "GitHub Sponsors", @@ -1273,9 +1272,9 @@ } }, "node_modules/micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", "funding": [ { "type": "GitHub Sponsors", @@ -1288,9 +1287,9 @@ ] }, "node_modules/micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", "funding": [ { "type": "GitHub Sponsors", @@ -2231,9 +2230,9 @@ } }, "node_modules/rollup": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.22.0.tgz", - "integrity": "sha512-imsigcWor5Y/dC0rz2q0bBt9PabcL3TORry2hAa6O6BuMvY71bqHyfReAz5qyAqiQATD1m70qdntqBfBQjVWpQ==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.23.0.tgz", + "integrity": "sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -2340,9 +2339,9 @@ } }, "node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { "ansi-regex": "^6.0.1" }, diff --git a/tools/lint-md/package.json b/tools/lint-md/package.json index dd0b2ce846c0bc..3b39ce6d8c52a0 100644 --- a/tools/lint-md/package.json +++ b/tools/lint-md/package.json @@ -15,8 +15,8 @@ }, "devDependencies": { "@rollup/plugin-commonjs": "^25.0.0", - "@rollup/plugin-node-resolve": "^15.0.2", - "rollup": "^3.22.0", + "@rollup/plugin-node-resolve": "^15.1.0", + "rollup": "^3.23.0", "rollup-plugin-cleanup": "^3.2.1" } } From 96c323dee22495f144c114304cffb2b4d4d024bc Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Sun, 4 Jun 2023 23:58:45 +0300 Subject: [PATCH 143/146] test: mark test-child-process-pipe-dataflow as flaky PR-URL: https://github.com/nodejs/node/pull/48334 Reviewed-By: Yagiz Nizipli Reviewed-By: Luigi Pinca --- test/parallel/parallel.status | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 0d65877f595f85..aba077cf4ee58f 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -13,6 +13,8 @@ test-timers-immediate-queue: PASS,FLAKY test-crypto-keygen: PASS,FLAKY # https://github.com/nodejs/node/issues/41201 test-fs-rmdir-recursive: PASS, FLAKY +# https://github.com/nodejs/node/issues/48300 +test-child-process-pipe-dataflow: PASS, FLAKY # Windows on ARM [$system==win32 && $arch==arm64] From 44411fc40c797602e24529431e9334a737a06d4f Mon Sep 17 00:00:00 2001 From: Moshe Atlow Date: Thu, 1 Jun 2023 12:59:51 +0300 Subject: [PATCH 144/146] test_runner: apply `runOnly` on suites PR-URL: https://github.com/nodejs/node/pull/48279 Fixes: https://github.com/nodejs/node/issues/47937 Reviewed-By: Antoine du Hamel Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum --- lib/internal/test_runner/test.js | 2 ++ test/fixtures/test-runner/output/only_tests.js | 8 ++++---- .../test-runner/output/only_tests.snapshot | 16 ++++++++-------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index 310e794ab2945d..4dfbdcad0502ba 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -759,6 +759,8 @@ class Suite extends Test { constructor(options) { super(options); + this.runOnlySubtests = testOnlyFlag; + try { const { ctx, args } = this.getRunArgs(); const runArgs = [this.fn, ctx]; diff --git a/test/fixtures/test-runner/output/only_tests.js b/test/fixtures/test-runner/output/only_tests.js index 9ed3154a5d6c67..5ac4a90c2cf264 100644 --- a/test/fixtures/test-runner/output/only_tests.js +++ b/test/fixtures/test-runner/output/only_tests.js @@ -48,9 +48,9 @@ test('only = true, with subtests', { only: true }, async (t) => { }); describe.only('describe only = true, with subtests', () => { - it('`it` subtest 1 should run', () => {}); + it.only('`it` subtest 1 should run', () => {}); - it('`it` subtest 2 should run', async () => {}); + it('`it` subtest 2 should not run', async () => {}); }); describe.only('describe only = true, with a mixture of subtests', () => { @@ -92,9 +92,9 @@ describe.only('describe only = true, with a mixture of subtests', () => { }); describe.only('describe only = true, with subtests', () => { - test('subtest should run', () => {}); + test.only('subtest should run', () => {}); - test('async subtest should run', async () => {}); + test('async subtest should not run', async () => {}); test('subtest should be skipped', { only: false }, () => {}); }); diff --git a/test/fixtures/test-runner/output/only_tests.snapshot b/test/fixtures/test-runner/output/only_tests.snapshot index 4ee09070315b17..ded19f3bec4c6a 100644 --- a/test/fixtures/test-runner/output/only_tests.snapshot +++ b/test/fixtures/test-runner/output/only_tests.snapshot @@ -122,8 +122,8 @@ ok 11 - only = true, with subtests --- duration_ms: * ... - # Subtest: `it` subtest 2 should run - ok 2 - `it` subtest 2 should run + # Subtest: `it` subtest 2 should not run + ok 2 - `it` subtest 2 should not run # SKIP 'only' option not set --- duration_ms: * ... @@ -155,7 +155,7 @@ ok 12 - describe only = true, with subtests duration_ms: * ... # Subtest: `it` subtest 3 skip - ok 5 - `it` subtest 3 skip # SKIP + ok 5 - `it` subtest 3 skip # SKIP 'only' option not set --- duration_ms: * ... @@ -185,7 +185,7 @@ ok 12 - describe only = true, with subtests duration_ms: * ... # Subtest: `test` subtest 3 skip - ok 11 - `test` subtest 3 skip # SKIP + ok 11 - `test` subtest 3 skip # SKIP 'only' option not set --- duration_ms: * ... @@ -206,8 +206,8 @@ ok 13 - describe only = true, with a mixture of subtests --- duration_ms: * ... - # Subtest: async subtest should run - ok 2 - async subtest should run + # Subtest: async subtest should not run + ok 2 - async subtest should not run # SKIP 'only' option not set --- duration_ms: * ... @@ -225,9 +225,9 @@ ok 14 - describe only = true, with subtests 1..14 # tests 40 # suites 3 -# pass 17 +# pass 15 # fail 0 # cancelled 0 -# skipped 23 +# skipped 25 # todo 0 # duration_ms * From 11a3434810c1ee5c1b4c2dc696f4495e4fd554eb Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 5 Jun 2023 10:32:33 +0200 Subject: [PATCH 145/146] esm: remove support for arrays in `import` internal method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids initializing arrays that we never use, and simplifies the implementation overall. PR-URL: https://github.com/nodejs/node/pull/48296 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Michaël Zasso Reviewed-By: Jacob Smith Reviewed-By: Geoffrey Booth Reviewed-By: James M Snell --- lib/internal/modules/esm/hooks.js | 42 +++++++++++---------------- lib/internal/modules/esm/loader.js | 46 ++++-------------------------- lib/internal/modules/esm/utils.js | 12 ++++---- lib/internal/process/esm_loader.js | 10 +++++-- 4 files changed, 34 insertions(+), 76 deletions(-) diff --git a/lib/internal/modules/esm/hooks.js b/lib/internal/modules/esm/hooks.js index db30c57821f31d..d424be535cac00 100644 --- a/lib/internal/modules/esm/hooks.js +++ b/lib/internal/modules/esm/hooks.js @@ -110,37 +110,27 @@ class Hooks { // Cache URLs we've already validated to avoid repeated validation #validatedUrls = new SafeSet(); - constructor(userLoaders) { - this.addCustomLoaders(userLoaders); - } - /** * Collect custom/user-defined module loader hook(s). * After all hooks have been collected, the global preload hook(s) must be initialized. - * @param {import('./loader.js).KeyedExports} customLoaders Exports from user-defined loaders - * (as returned by `ModuleLoader.import()`). + * @param {string} url Custom loader specifier + * @param {Record} exports */ - addCustomLoaders(customLoaders = []) { - for (let i = 0; i < customLoaders.length; i++) { - const { - exports, - url, - } = customLoaders[i]; - const { - globalPreload, - resolve, - load, - } = pluckHooks(exports); + addCustomLoader(url, exports) { + const { + globalPreload, + resolve, + load, + } = pluckHooks(exports); - if (globalPreload) { - ArrayPrototypePush(this.#chains.globalPreload, { fn: globalPreload, url }); - } - if (resolve) { - ArrayPrototypePush(this.#chains.resolve, { fn: resolve, url }); - } - if (load) { - ArrayPrototypePush(this.#chains.load, { fn: load, url }); - } + if (globalPreload) { + ArrayPrototypePush(this.#chains.globalPreload, { fn: globalPreload, url }); + } + if (resolve) { + ArrayPrototypePush(this.#chains.resolve, { fn: resolve, url }); + } + if (load) { + ArrayPrototypePush(this.#chains.load, { fn: load, url }); } } diff --git a/lib/internal/modules/esm/loader.js b/lib/internal/modules/esm/loader.js index 9d94b7275fdbdd..f3902075049bff 100644 --- a/lib/internal/modules/esm/loader.js +++ b/lib/internal/modules/esm/loader.js @@ -4,12 +4,9 @@ require('internal/modules/cjs/loader'); const { - Array, - ArrayIsArray, FunctionPrototypeCall, ObjectSetPrototypeOf, PromisePrototypeThen, - SafePromiseAllReturnArrayLike, SafeWeakMap, } = primordials; @@ -236,7 +233,7 @@ class DefaultModuleLoader { * * This method must NOT be renamed: it functions as a dynamic import on a * loader module. - * @param {string | string[]} specifiers Path(s) to the module. + * @param {string} specifier The first parameter of an `import()` expression. * @param {string} parentURL Path of the parent importing the module. * @param {Record} importAssertions Validations for the * module import. @@ -244,43 +241,10 @@ class DefaultModuleLoader { * A collection of module export(s) or a list of collections of module * export(s). */ - async import(specifiers, parentURL, importAssertions) { - // For loaders, `import` is passed multiple things to process, it returns a - // list pairing the url and exports collected. This is especially useful for - // error messaging, to identity from where an export came. But, in most - // cases, only a single url is being "imported" (ex `import()`), so there is - // only 1 possible url from which the exports were collected and it is - // already known to the caller. Nesting that in a list would only ever - // create redundant work for the caller, so it is later popped off the - // internal list. - const wasArr = ArrayIsArray(specifiers); - if (!wasArr) { specifiers = [specifiers]; } - - const count = specifiers.length; - const jobs = new Array(count); - - for (let i = 0; i < count; i++) { - jobs[i] = PromisePrototypeThen( - this - .getModuleJob(specifiers[i], parentURL, importAssertions) - .run(), - ({ module }) => module.getNamespace(), - ); - } - - const namespaces = await SafePromiseAllReturnArrayLike(jobs); - - if (!wasArr) { return namespaces[0]; } // We can skip the pairing below - - for (let i = 0; i < count; i++) { - namespaces[i] = { - __proto__: null, - url: specifiers[i], - exports: namespaces[i], - }; - } - - return namespaces; + async import(specifier, parentURL, importAssertions) { + const moduleJob = this.getModuleJob(specifier, parentURL, importAssertions); + const { module } = await moduleJob.run(); + return module.getNamespace(); } /** diff --git a/lib/internal/modules/esm/utils.js b/lib/internal/modules/esm/utils.js index a615d4ecbbbdcf..0fd833b6544945 100644 --- a/lib/internal/modules/esm/utils.js +++ b/lib/internal/modules/esm/utils.js @@ -108,7 +108,7 @@ function isLoaderWorker() { } async function initializeHooks() { - const customLoaderPaths = getOptionValue('--experimental-loader'); + const customLoaderURLs = getOptionValue('--experimental-loader'); let cwd; try { @@ -149,17 +149,17 @@ async function initializeHooks() { const parentURL = pathToFileURL(cwd).href; - for (let i = 0; i < customLoaderPaths.length; i++) { - const customLoaderPath = customLoaderPaths[i]; + for (let i = 0; i < customLoaderURLs.length; i++) { + const customLoaderURL = customLoaderURLs[i]; // Importation must be handled by internal loader to avoid polluting user-land - const keyedExportsSublist = await privateModuleLoader.import( - [customLoaderPath], // Import can handle multiple paths, but custom loaders must be sequential + const keyedExports = await privateModuleLoader.import( + customLoaderURL, parentURL, kEmptyObject, ); - hooks.addCustomLoaders(keyedExportsSublist); + hooks.addCustomLoader(customLoaderURL, keyedExports); } const preloadScripts = hooks.initializeGlobalPreload(); diff --git a/lib/internal/process/esm_loader.js b/lib/internal/process/esm_loader.js index e7d70ebbca1ca4..9a84ed944e87c4 100644 --- a/lib/internal/process/esm_loader.js +++ b/lib/internal/process/esm_loader.js @@ -1,5 +1,9 @@ 'use strict'; +const { + SafePromiseAllReturnVoid, +} = primordials; + const { createModuleLoader } = require('internal/modules/esm/loader'); const { getOptionValue } = require('internal/options'); const { @@ -27,11 +31,11 @@ module.exports = { cwd = '/'; } const parentURL = pathToFileURL(cwd).href; - await esmLoader.import( - userImports, + await SafePromiseAllReturnVoid(userImports, (specifier) => esmLoader.import( + specifier, parentURL, kEmptyObject, - ); + )); } await callback(esmLoader); } catch (err) { From 57679e1c97a90057d5ca9e1f0d1f3c6255d20200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 4 Jun 2023 14:40:46 +0200 Subject: [PATCH 146/146] 2023-06-08, Version 20.3.0 (Current) Notable changes: deps: * upgrade to libuv 1.45.0, including significant performance improvements to file system operations on Linux (Santiago Gimeno) https://github.com/nodejs/node/pull/48078 doc: * add Ruy Adorno to list of TSC members (Michael Dawson) https://github.com/nodejs/node/pull/48172 * mark Node.js 14 as End-of-Life (Richard Lau) https://github.com/nodejs/node/pull/48023 lib: * (SEMVER-MINOR) implement AbortSignal.any() (Chemi Atlow) https://github.com/nodejs/node/pull/47821 module: * change default resolver to not throw on unknown scheme (Gil Tayar) https://github.com/nodejs/node/pull/47824 node-api: * (SEMVER-MINOR) define version 9 (Chengzhong Wu) https://github.com/nodejs/node/pull/48151 stream: * deprecate asIndexedPairs (Chemi Atlow) https://github.com/nodejs/node/pull/48102 PR-URL: https://github.com/nodejs/node/pull/48332 --- CHANGELOG.md | 3 +- doc/api/globals.md | 2 +- doc/api/stream.md | 2 +- doc/changelogs/CHANGELOG_V20.md | 165 +++++++++++++++++++++++++++++++- src/node_version.h | 6 +- 5 files changed, 171 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 208d8a5d499f92..4b36de86dec108 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,8 @@ release. -20.2.0
      +20.3.0
      +20.2.0
      20.1.0
      20.0.0
      diff --git a/doc/api/globals.md b/doc/api/globals.md index dc530b796f68b8..8285064c2e25e4 100644 --- a/doc/api/globals.md +++ b/doc/api/globals.md @@ -124,7 +124,7 @@ Returns a new `AbortSignal` which will be aborted in `delay` milliseconds. #### Static method: `AbortSignal.any(signals)` * `signals` {AbortSignal\[]} The `AbortSignal`s of which to compose a new `AbortSignal`. diff --git a/doc/api/stream.md b/doc/api/stream.md index 99bebc039a1f14..2278f3400ed0d5 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -2454,7 +2454,7 @@ added: - v17.5.0 - v16.15.0 changes: - - version: REPLACEME + - version: v20.3.0 pr-url: https://github.com/nodejs/node/pull/48102 description: Using the `asIndexedPairs` method emits a runtime warning that it will be removed in a future version. diff --git a/doc/changelogs/CHANGELOG_V20.md b/doc/changelogs/CHANGELOG_V20.md index f5b78004c50970..38db220b85c89c 100644 --- a/doc/changelogs/CHANGELOG_V20.md +++ b/doc/changelogs/CHANGELOG_V20.md @@ -8,7 +8,8 @@ -20.2.0
      +20.3.0
      +20.2.0
      20.1.0
      20.0.0
      @@ -37,6 +38,168 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + + +## 2023-06-08, Version 20.3.0 (Current), @targos + +### Notable Changes + +* \[[`bfcb3d1d9a`](https://github.com/nodejs/node/commit/bfcb3d1d9a)] - **deps**: upgrade to libuv 1.45.0, including significant performance improvements to file system operations on Linux (Santiago Gimeno) [#48078](https://github.com/nodejs/node/pull/48078) +* \[[`5094d1b292`](https://github.com/nodejs/node/commit/5094d1b292)] - **doc**: add Ruy Adorno to list of TSC members (Michael Dawson) [#48172](https://github.com/nodejs/node/pull/48172) +* \[[`2f5dbca690`](https://github.com/nodejs/node/commit/2f5dbca690)] - **doc**: mark Node.js 14 as End-of-Life (Richard Lau) [#48023](https://github.com/nodejs/node/pull/48023) +* \[[`b1828b325e`](https://github.com/nodejs/node/commit/b1828b325e)] - **(SEMVER-MINOR)** **lib**: implement `AbortSignal.any()` (Chemi Atlow) [#47821](https://github.com/nodejs/node/pull/47821) +* \[[`f380953103`](https://github.com/nodejs/node/commit/f380953103)] - **module**: change default resolver to not throw on unknown scheme (Gil Tayar) [#47824](https://github.com/nodejs/node/pull/47824) +* \[[`a94f87ed99`](https://github.com/nodejs/node/commit/a94f87ed99)] - **(SEMVER-MINOR)** **node-api**: define version 9 (Chengzhong Wu) [#48151](https://github.com/nodejs/node/pull/48151) +* \[[`9e2b13dfa7`](https://github.com/nodejs/node/commit/9e2b13dfa7)] - **stream**: deprecate `asIndexedPairs` (Chemi Atlow) [#48102](https://github.com/nodejs/node/pull/48102) + +### Commits + +* \[[`35c96156d1`](https://github.com/nodejs/node/commit/35c96156d1)] - **benchmark**: use `cluster.isPrimary` instead of `cluster.isMaster` (Deokjin Kim) [#48002](https://github.com/nodejs/node/pull/48002) +* \[[`3e6e3abf32`](https://github.com/nodejs/node/commit/3e6e3abf32)] - **bootstrap**: throw ERR\_NOT\_SUPPORTED\_IN\_SNAPSHOT in unsupported operation (Joyee Cheung) [#47887](https://github.com/nodejs/node/pull/47887) +* \[[`c480559347`](https://github.com/nodejs/node/commit/c480559347)] - **bootstrap**: put is\_building\_snapshot state in IsolateData (Joyee Cheung) [#47887](https://github.com/nodejs/node/pull/47887) +* \[[`50c0a15535`](https://github.com/nodejs/node/commit/50c0a15535)] - **build**: set v8\_enable\_webassembly=false when lite mode is enabled (Cheng Shao) [#48248](https://github.com/nodejs/node/pull/48248) +* \[[`4562805cf6`](https://github.com/nodejs/node/commit/4562805cf6)] - **build**: speed up compilation of mksnapshot output (Keyhan Vakil) [#48162](https://github.com/nodejs/node/pull/48162) +* \[[`8b89f13933`](https://github.com/nodejs/node/commit/8b89f13933)] - **build**: add action to close stale PRs (Michael Dawson) [#48051](https://github.com/nodejs/node/pull/48051) +* \[[`5d92202220`](https://github.com/nodejs/node/commit/5d92202220)] - **build**: replace js2c.py with js2c.cc (Joyee Cheung) [#46997](https://github.com/nodejs/node/pull/46997) +* \[[`6cf2adc36e`](https://github.com/nodejs/node/commit/6cf2adc36e)] - **cluster**: use ObjectPrototypeHasOwnProperty (Daeyeon Jeong) [#48141](https://github.com/nodejs/node/pull/48141) +* \[[`f564b03c38`](https://github.com/nodejs/node/commit/f564b03c38)] - **crypto**: use openssl's own memory BIOs in crypto\_context.cc (GauriSpears) [#47160](https://github.com/nodejs/node/pull/47160) +* \[[`ac8dd61fc3`](https://github.com/nodejs/node/commit/ac8dd61fc3)] - **crypto**: remove default encoding from cipher (Tobias Nießen) [#47998](https://github.com/nodejs/node/pull/47998) +* \[[`15c2de4407`](https://github.com/nodejs/node/commit/15c2de4407)] - **crypto**: fix setEngine() when OPENSSL\_NO\_ENGINE set (Tobias Nießen) [#47977](https://github.com/nodejs/node/pull/47977) +* \[[`9e2dd5b5e2`](https://github.com/nodejs/node/commit/9e2dd5b5e2)] - **deps**: update zlib to 337322d (Node.js GitHub Bot) [#48218](https://github.com/nodejs/node/pull/48218) +* \[[`bfcb3d1d9a`](https://github.com/nodejs/node/commit/bfcb3d1d9a)] - **deps**: upgrade to libuv 1.45.0 (Santiago Gimeno) [#48078](https://github.com/nodejs/node/pull/48078) +* \[[`13930f092f`](https://github.com/nodejs/node/commit/13930f092f)] - **deps**: update ada to 2.5.0 (Node.js GitHub Bot) [#48223](https://github.com/nodejs/node/pull/48223) +* \[[`3047caebec`](https://github.com/nodejs/node/commit/3047caebec)] - **deps**: set `CARES_RANDOM_FILE` for c-ares (Richard Lau) [#48156](https://github.com/nodejs/node/pull/48156) +* \[[`0db79a0872`](https://github.com/nodejs/node/commit/0db79a0872)] - **deps**: update histogram 0.11.8 (Marco Ippolito) [#47742](https://github.com/nodejs/node/pull/47742) +* \[[`99af6716f5`](https://github.com/nodejs/node/commit/99af6716f5)] - **deps**: update histogram to 0.11.7 (Marco Ippolito) [#47742](https://github.com/nodejs/node/pull/47742) +* \[[`d4922bc985`](https://github.com/nodejs/node/commit/d4922bc985)] - **deps**: update c-ares to 1.19.1 (Node.js GitHub Bot) [#48115](https://github.com/nodejs/node/pull/48115) +* \[[`f6ccdb289f`](https://github.com/nodejs/node/commit/f6ccdb289f)] - **deps**: update simdutf to 3.2.12 (Node.js GitHub Bot) [#48118](https://github.com/nodejs/node/pull/48118) +* \[[`3ed0afc778`](https://github.com/nodejs/node/commit/3ed0afc778)] - **deps**: update minimatch to 9.0.1 (Node.js GitHub Bot) [#48094](https://github.com/nodejs/node/pull/48094) +* \[[`df7540fb73`](https://github.com/nodejs/node/commit/df7540fb73)] - **deps**: update ada to 2.4.2 (Node.js GitHub Bot) [#48092](https://github.com/nodejs/node/pull/48092) +* \[[`07df5c48e8`](https://github.com/nodejs/node/commit/07df5c48e8)] - **deps**: update corepack to 0.18.0 (Node.js GitHub Bot) [#48091](https://github.com/nodejs/node/pull/48091) +* \[[`d95a5bb559`](https://github.com/nodejs/node/commit/d95a5bb559)] - **deps**: update uvwasi to 0.0.18 (Node.js GitHub Bot) [#47866](https://github.com/nodejs/node/pull/47866) +* \[[`443477e041`](https://github.com/nodejs/node/commit/443477e041)] - **deps**: update uvwasi to 0.0.17 (Node.js GitHub Bot) [#47866](https://github.com/nodejs/node/pull/47866) +* \[[`03f67d6d6d`](https://github.com/nodejs/node/commit/03f67d6d6d)] - **deps**: upgrade npm to 9.6.7 (npm team) [#48062](https://github.com/nodejs/node/pull/48062) +* \[[`d3e3a911fd`](https://github.com/nodejs/node/commit/d3e3a911fd)] - **deps**: update nghttp2 to 1.53.0 (Node.js GitHub Bot) [#47997](https://github.com/nodejs/node/pull/47997) +* \[[`f7c4daaf67`](https://github.com/nodejs/node/commit/f7c4daaf67)] - **deps**: update ada to 2.4.1 (Node.js GitHub Bot) [#48036](https://github.com/nodejs/node/pull/48036) +* \[[`c6a752560d`](https://github.com/nodejs/node/commit/c6a752560d)] - **deps**: add loongarch64 into openssl Makefile and gen openssl-loongarch64 (Shi Pujin) [#46401](https://github.com/nodejs/node/pull/46401) +* \[[`d194241716`](https://github.com/nodejs/node/commit/d194241716)] - **deps**: update undici to 5.22.1 (Node.js GitHub Bot) [#47994](https://github.com/nodejs/node/pull/47994) +* \[[`02e919f4a2`](https://github.com/nodejs/node/commit/02e919f4a2)] - **deps,test**: update postject to 1.0.0-alpha.6 (Node.js GitHub Bot) [#48072](https://github.com/nodejs/node/pull/48072) +* \[[`2c19f596ad`](https://github.com/nodejs/node/commit/2c19f596ad)] - **doc**: clarify array args to Buffer.from() (Bryan English) [#48274](https://github.com/nodejs/node/pull/48274) +* \[[`d681e5f456`](https://github.com/nodejs/node/commit/d681e5f456)] - **doc**: document watch option for node:test run() (Moshe Atlow) [#48256](https://github.com/nodejs/node/pull/48256) +* \[[`96e54ddbca`](https://github.com/nodejs/node/commit/96e54ddbca)] - **doc**: reserve 117 for Electron 26 (Calvin) [#48245](https://github.com/nodejs/node/pull/48245) +* \[[`9aff8c7818`](https://github.com/nodejs/node/commit/9aff8c7818)] - **doc**: update documentation for FIPS support (Richard Lau) [#48194](https://github.com/nodejs/node/pull/48194) +* \[[`8c5338648f`](https://github.com/nodejs/node/commit/8c5338648f)] - **doc**: improve the documentation of the stdio option (Kumar Arnav) [#48110](https://github.com/nodejs/node/pull/48110) +* \[[`11918d705f`](https://github.com/nodejs/node/commit/11918d705f)] - **doc**: update Buffer.allocUnsafe description (sinkhaha) [#48183](https://github.com/nodejs/node/pull/48183) +* \[[`2b51ee5e22`](https://github.com/nodejs/node/commit/2b51ee5e22)] - **doc**: update codeowners with website team (Claudio Wunder) [#48197](https://github.com/nodejs/node/pull/48197) +* \[[`360df25d04`](https://github.com/nodejs/node/commit/360df25d04)] - **doc**: fix broken link to new folder doc/contributing/maintaining (Andrea Fassina) [#48205](https://github.com/nodejs/node/pull/48205) +* \[[`13e95e21a4`](https://github.com/nodejs/node/commit/13e95e21a4)] - **doc**: add atlowChemi to triagers (Chemi Atlow) [#48104](https://github.com/nodejs/node/pull/48104) +* \[[`5f83ce530f`](https://github.com/nodejs/node/commit/5f83ce530f)] - **doc**: fix typo in readline completer function section (Vadym) [#48188](https://github.com/nodejs/node/pull/48188) +* \[[`3c82165d27`](https://github.com/nodejs/node/commit/3c82165d27)] - **doc**: remove broken link for keygen (Rich Trott) [#48176](https://github.com/nodejs/node/pull/48176) +* \[[`0ca90a1e6d`](https://github.com/nodejs/node/commit/0ca90a1e6d)] - **doc**: add `auto` intrinsic height to prevent jitter/flicker (Daniel Holbert) [#48195](https://github.com/nodejs/node/pull/48195) +* \[[`f117855092`](https://github.com/nodejs/node/commit/f117855092)] - **doc**: add version info on the SEA docs (Antoine du Hamel) [#48173](https://github.com/nodejs/node/pull/48173) +* \[[`5094d1b292`](https://github.com/nodejs/node/commit/5094d1b292)] - **doc**: add Ruy to list of TSC members (Michael Dawson) [#48172](https://github.com/nodejs/node/pull/48172) +* \[[`39d8140227`](https://github.com/nodejs/node/commit/39d8140227)] - **doc**: update socket.remote\* properties documentation (Saba Kharanauli) [#48139](https://github.com/nodejs/node/pull/48139) +* \[[`5497c13efe`](https://github.com/nodejs/node/commit/5497c13efe)] - **doc**: update outdated section on TLSv1.3-PSK (Tobias Nießen) [#48123](https://github.com/nodejs/node/pull/48123) +* \[[`281dfaf727`](https://github.com/nodejs/node/commit/281dfaf727)] - **doc**: improve HMAC key recommendations (Tobias Nießen) [#48121](https://github.com/nodejs/node/pull/48121) +* \[[`bd311b6c70`](https://github.com/nodejs/node/commit/bd311b6c70)] - **doc**: clarify mkdir() recursive behavior (Stephen Odogwu) [#48109](https://github.com/nodejs/node/pull/48109) +* \[[`5b061c8922`](https://github.com/nodejs/node/commit/5b061c8922)] - **doc**: fix typo in crypto legacy streams API section (Tobias Nießen) [#48122](https://github.com/nodejs/node/pull/48122) +* \[[`10ccb2bd81`](https://github.com/nodejs/node/commit/10ccb2bd81)] - **doc**: update SEA source link (Rich Trott) [#48080](https://github.com/nodejs/node/pull/48080) +* \[[`415bf7f532`](https://github.com/nodejs/node/commit/415bf7f532)] - **doc**: clarify tty.isRaw (Roberto Vidal) [#48055](https://github.com/nodejs/node/pull/48055) +* \[[`0ac4b33c76`](https://github.com/nodejs/node/commit/0ac4b33c76)] - **doc**: correct line break for Windows terminals (Alex Schwartz) [#48083](https://github.com/nodejs/node/pull/48083) +* \[[`f30ba5c320`](https://github.com/nodejs/node/commit/f30ba5c320)] - **doc**: fix Windows code snippet tags (Antoine du Hamel) [#48100](https://github.com/nodejs/node/pull/48100) +* \[[`12fef9b68c`](https://github.com/nodejs/node/commit/12fef9b68c)] - **doc**: harmonize fenced code snippet flags (Antoine du Hamel) [#48082](https://github.com/nodejs/node/pull/48082) +* \[[`13f163eace`](https://github.com/nodejs/node/commit/13f163eace)] - **doc**: use secure key length for HMAC generateKey (Tobias Nießen) [#48052](https://github.com/nodejs/node/pull/48052) +* \[[`1e3e7c9f33`](https://github.com/nodejs/node/commit/1e3e7c9f33)] - **doc**: update broken EVP\_BytesToKey link (Rich Trott) [#48064](https://github.com/nodejs/node/pull/48064) +* \[[`5917ba1838`](https://github.com/nodejs/node/commit/5917ba1838)] - **doc**: update broken spkac link (Rich Trott) [#48063](https://github.com/nodejs/node/pull/48063) +* \[[`0e4a3b7db1`](https://github.com/nodejs/node/commit/0e4a3b7db1)] - **doc**: document node-api version process (Chengzhong Wu) [#47972](https://github.com/nodejs/node/pull/47972) +* \[[`85bbaa94ea`](https://github.com/nodejs/node/commit/85bbaa94ea)] - **doc**: update process.versions properties (Saba Kharanauli) [#48019](https://github.com/nodejs/node/pull/48019) +* \[[`7660eb591a`](https://github.com/nodejs/node/commit/7660eb591a)] - **doc**: fix typo in binding functions (Deokjin Kim) [#48003](https://github.com/nodejs/node/pull/48003) +* \[[`2f5dbca690`](https://github.com/nodejs/node/commit/2f5dbca690)] - **doc**: mark Node.js 14 as End-of-Life (Richard Lau) [#48023](https://github.com/nodejs/node/pull/48023) +* \[[`3b94a739f2`](https://github.com/nodejs/node/commit/3b94a739f2)] - **doc**: clarify CRYPTO\_CUSTOM\_ENGINE\_NOT\_SUPPORTED (Tobias Nießen) [#47976](https://github.com/nodejs/node/pull/47976) +* \[[`9e381cfa89`](https://github.com/nodejs/node/commit/9e381cfa89)] - **doc**: add heading for permission model limitations (Tobias Nießen) [#47989](https://github.com/nodejs/node/pull/47989) +* \[[`802db923e0`](https://github.com/nodejs/node/commit/802db923e0)] - **doc,vm**: clarify usage of cachedData in vm.compileFunction() (Darshan Sen) [#48193](https://github.com/nodejs/node/pull/48193) +* \[[`11a3434810`](https://github.com/nodejs/node/commit/11a3434810)] - **esm**: remove support for arrays in `import` internal method (Antoine du Hamel) [#48296](https://github.com/nodejs/node/pull/48296) +* \[[`3b00f3afef`](https://github.com/nodejs/node/commit/3b00f3afef)] - **esm**: handle `globalPreload` hook returning a nullish value (Antoine du Hamel) [#48249](https://github.com/nodejs/node/pull/48249) +* \[[`3c7846d7e1`](https://github.com/nodejs/node/commit/3c7846d7e1)] - **esm**: handle more error types thrown from the loader thread (Antoine du Hamel) [#48247](https://github.com/nodejs/node/pull/48247) +* \[[`60ce2bcabc`](https://github.com/nodejs/node/commit/60ce2bcabc)] - **http**: send implicit headers on HEAD with no body (Matteo Collina) [#48108](https://github.com/nodejs/node/pull/48108) +* \[[`72de4e7170`](https://github.com/nodejs/node/commit/72de4e7170)] - **lib**: do not disable linter for entire files (Antoine du Hamel) [#48299](https://github.com/nodejs/node/pull/48299) +* \[[`10cc60fc91`](https://github.com/nodejs/node/commit/10cc60fc91)] - **lib**: use existing `isWindows` variable (sinkhaha) [#48134](https://github.com/nodejs/node/pull/48134) +* \[[`a90010aae9`](https://github.com/nodejs/node/commit/a90010aae9)] - **lib**: support FORCE\_COLOR for non TTY streams (Moshe Atlow) [#48034](https://github.com/nodejs/node/pull/48034) +* \[[`b1828b325e`](https://github.com/nodejs/node/commit/b1828b325e)] - **(SEMVER-MINOR)** **lib**: implement AbortSignal.any() (Chemi Atlow) [#47821](https://github.com/nodejs/node/pull/47821) +* \[[`8f1b86961f`](https://github.com/nodejs/node/commit/8f1b86961f)] - **meta**: bump github/codeql-action from 2.3.3 to 2.3.6 (dependabot\[bot]) [#48287](https://github.com/nodejs/node/pull/48287) +* \[[`1b87ccdf70`](https://github.com/nodejs/node/commit/1b87ccdf70)] - **meta**: bump actions/setup-python from 4.6.0 to 4.6.1 (dependabot\[bot]) [#48286](https://github.com/nodejs/node/pull/48286) +* \[[`10715aea26`](https://github.com/nodejs/node/commit/10715aea26)] - **meta**: bump codecov/codecov-action from 3.1.3 to 3.1.4 (dependabot\[bot]) [#48285](https://github.com/nodejs/node/pull/48285) +* \[[`79f73778ab`](https://github.com/nodejs/node/commit/79f73778ab)] - **meta**: remove dont-land-on-v14 auto labeling (Shrujal Shah) [#48031](https://github.com/nodejs/node/pull/48031) +* \[[`9c5711f3ea`](https://github.com/nodejs/node/commit/9c5711f3ea)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#48010](https://github.com/nodejs/node/pull/48010) +* \[[`6d6bf3ee52`](https://github.com/nodejs/node/commit/6d6bf3ee52)] - **module**: reduce the number of URL initializations (Yagiz Nizipli) [#48272](https://github.com/nodejs/node/pull/48272) +* \[[`f380953103`](https://github.com/nodejs/node/commit/f380953103)] - **module**: change default resolver to not throw on unknown scheme (Gil Tayar) [#47824](https://github.com/nodejs/node/pull/47824) +* \[[`950185b0c0`](https://github.com/nodejs/node/commit/950185b0c0)] - **net**: fix address iteration with autoSelectFamily (Fedor Indutny) [#48258](https://github.com/nodejs/node/pull/48258) +* \[[`5ddca72e62`](https://github.com/nodejs/node/commit/5ddca72e62)] - **net**: fix family autoselection SSL connection handling (Paolo Insogna) [#48189](https://github.com/nodejs/node/pull/48189) +* \[[`750e53ca3c`](https://github.com/nodejs/node/commit/750e53ca3c)] - **net**: fix family autoselection timeout handling (Paolo Insogna) [#47860](https://github.com/nodejs/node/pull/47860) +* \[[`a94f87ed99`](https://github.com/nodejs/node/commit/a94f87ed99)] - **(SEMVER-MINOR)** **node-api**: define version 9 (Chengzhong Wu) [#48151](https://github.com/nodejs/node/pull/48151) +* \[[`e834979818`](https://github.com/nodejs/node/commit/e834979818)] - **node-api**: add status napi\_cannot\_run\_js (Gabriel Schulhof) [#47986](https://github.com/nodejs/node/pull/47986) +* \[[`eafe0c3ec6`](https://github.com/nodejs/node/commit/eafe0c3ec6)] - **node-api**: napi\_ref on all types is experimental (Vladimir Morozov) [#47975](https://github.com/nodejs/node/pull/47975) +* \[[`9a034746f5`](https://github.com/nodejs/node/commit/9a034746f5)] - **src**: add Realm document in the src README.md (Chengzhong Wu) [#47932](https://github.com/nodejs/node/pull/47932) +* \[[`b8f4070f71`](https://github.com/nodejs/node/commit/b8f4070f71)] - **src**: check node\_extra\_ca\_certs after openssl cfg (Raghu Saxena) [#48159](https://github.com/nodejs/node/pull/48159) +* \[[`0347a18056`](https://github.com/nodejs/node/commit/0347a18056)] - **src**: include missing header in node\_sea.h (Joyee Cheung) [#48152](https://github.com/nodejs/node/pull/48152) +* \[[`45c3782c20`](https://github.com/nodejs/node/commit/45c3782c20)] - **src**: remove INT\_MAX asserts in SecretKeyGenTraits (Tobias Nießen) [#48053](https://github.com/nodejs/node/pull/48053) +* \[[`b25e7045ad`](https://github.com/nodejs/node/commit/b25e7045ad)] - **src**: avoid prototype access in binding templates (Joyee Cheung) [#47913](https://github.com/nodejs/node/pull/47913) +* \[[`33aa373eec`](https://github.com/nodejs/node/commit/33aa373eec)] - **src**: use Blob{Des|S}erializer for SEA blobs (Joyee Cheung) [#47962](https://github.com/nodejs/node/pull/47962) +* \[[`9e2b13dfa7`](https://github.com/nodejs/node/commit/9e2b13dfa7)] - **stream**: deprecate asIndexedPairs (Chemi Atlow) [#48102](https://github.com/nodejs/node/pull/48102) +* \[[`96c323dee2`](https://github.com/nodejs/node/commit/96c323dee2)] - **test**: mark test-child-process-pipe-dataflow as flaky (Moshe Atlow) [#48334](https://github.com/nodejs/node/pull/48334) +* \[[`9875885357`](https://github.com/nodejs/node/commit/9875885357)] - **test**: adapt tests for OpenSSL 3.1 (OttoHollmann) [#47859](https://github.com/nodejs/node/pull/47859) +* \[[`3440d7c6bf`](https://github.com/nodejs/node/commit/3440d7c6bf)] - **test**: unflake test-vm-timeout-escape-nexttick (Santiago Gimeno) [#48078](https://github.com/nodejs/node/pull/48078) +* \[[`215b2bc72c`](https://github.com/nodejs/node/commit/215b2bc72c)] - **test**: fix zlib version regex (Luigi Pinca) [#48227](https://github.com/nodejs/node/pull/48227) +* \[[`e12ee59d26`](https://github.com/nodejs/node/commit/e12ee59d26)] - **test**: use lower security level in s\_client (Luigi Pinca) [#48192](https://github.com/nodejs/node/pull/48192) +* \[[`1dabc7390c`](https://github.com/nodejs/node/commit/1dabc7390c)] - _**Revert**_ "**test**: unskip negative-settimeout.any.js WPT" (Filip Skokan) [#48182](https://github.com/nodejs/node/pull/48182) +* \[[`c1c4796a86`](https://github.com/nodejs/node/commit/c1c4796a86)] - **test**: mark test\_cannot\_run\_js as flaky (Keyhan Vakil) [#48181](https://github.com/nodejs/node/pull/48181) +* \[[`8c49d74002`](https://github.com/nodejs/node/commit/8c49d74002)] - **test**: fix flaky test-runner-watch-mode (Moshe Atlow) [#48144](https://github.com/nodejs/node/pull/48144) +* \[[`6388766862`](https://github.com/nodejs/node/commit/6388766862)] - **test**: skip test-http-pipeline-flood on IBM i (Abdirahim Musse) [#48048](https://github.com/nodejs/node/pull/48048) +* \[[`8d2a3b1952`](https://github.com/nodejs/node/commit/8d2a3b1952)] - **test**: ignore helper files in WPTs (Filip Skokan) [#48079](https://github.com/nodejs/node/pull/48079) +* \[[`7a96d825fd`](https://github.com/nodejs/node/commit/7a96d825fd)] - **test**: move `test-cluster-primary-error` flaky test (Yagiz Nizipli) [#48039](https://github.com/nodejs/node/pull/48039) +* \[[`a80dd3a8b3`](https://github.com/nodejs/node/commit/a80dd3a8b3)] - **test**: fix suite signal (Benjamin Gruenbaum) [#47800](https://github.com/nodejs/node/pull/47800) +* \[[`a41cfd183f`](https://github.com/nodejs/node/commit/a41cfd183f)] - **test**: fix parsing test flags (Daeyeon Jeong) [#48012](https://github.com/nodejs/node/pull/48012) +* \[[`4d4e506f2b`](https://github.com/nodejs/node/commit/4d4e506f2b)] - **test,doc,sea**: run SEA tests on ppc64 (Darshan Sen) [#48111](https://github.com/nodejs/node/pull/48111) +* \[[`44411fc40c`](https://github.com/nodejs/node/commit/44411fc40c)] - **test\_runner**: apply `runOnly` on suites (Moshe Atlow) [#48279](https://github.com/nodejs/node/pull/48279) +* \[[`3f259b7a30`](https://github.com/nodejs/node/commit/3f259b7a30)] - **test\_runner**: emit `test:watch:drained` event (Moshe Atlow) [#48259](https://github.com/nodejs/node/pull/48259) +* \[[`c9f8e8c562`](https://github.com/nodejs/node/commit/c9f8e8c562)] - **test\_runner**: stop watch mode when abortSignal aborted (Moshe Atlow) [#48259](https://github.com/nodejs/node/pull/48259) +* \[[`f3268d64cb`](https://github.com/nodejs/node/commit/f3268d64cb)] - **test\_runner**: fix global after hook (Moshe Atlow) [#48231](https://github.com/nodejs/node/pull/48231) +* \[[`15336c3139`](https://github.com/nodejs/node/commit/15336c3139)] - **test\_runner**: remove redundant check from coverage (Colin Ihrig) [#48070](https://github.com/nodejs/node/pull/48070) +* \[[`750d3e8606`](https://github.com/nodejs/node/commit/750d3e8606)] - **test\_runner**: pass FORCE\_COLOR to child process (Moshe Atlow) [#48057](https://github.com/nodejs/node/pull/48057) +* \[[`3278542243`](https://github.com/nodejs/node/commit/3278542243)] - **test\_runner**: dont split lines on `test:stdout` (Moshe Atlow) [#48057](https://github.com/nodejs/node/pull/48057) +* \[[`027c531766`](https://github.com/nodejs/node/commit/027c531766)] - **test\_runner**: fix test deserialize edge cases (Moshe Atlow) [#48106](https://github.com/nodejs/node/pull/48106) +* \[[`2b797a6d39`](https://github.com/nodejs/node/commit/2b797a6d39)] - **test\_runner**: delegate stderr and stdout formatting to reporter (Shiba) [#48045](https://github.com/nodejs/node/pull/48045) +* \[[`23d310bee8`](https://github.com/nodejs/node/commit/23d310bee8)] - **test\_runner**: display dot report as wide as the terminal width (Raz Luvaton) [#48038](https://github.com/nodejs/node/pull/48038) +* \[[`fd2620dcf1`](https://github.com/nodejs/node/commit/fd2620dcf1)] - **tls**: reapply servername on happy eyeballs connect (Fedor Indutny) [#48255](https://github.com/nodejs/node/pull/48255) +* \[[`62f847d0b3`](https://github.com/nodejs/node/commit/62f847d0b3)] - **tools**: update rollup lint-md-dependencies (Node.js GitHub Bot) [#48329](https://github.com/nodejs/node/pull/48329) +* \[[`3e97826a66`](https://github.com/nodejs/node/commit/3e97826a66)] - _**Revert**_ "**tools**: open issue when update workflow fails" (Marco Ippolito) [#48312](https://github.com/nodejs/node/pull/48312) +* \[[`5f08bfe35f`](https://github.com/nodejs/node/commit/5f08bfe35f)] - **tools**: don't gitignore base64 config.h (Ben Noordhuis) [#48174](https://github.com/nodejs/node/pull/48174) +* \[[`ded0e2d755`](https://github.com/nodejs/node/commit/ded0e2d755)] - **tools**: update LICENSE and license-builder.sh (Santiago Gimeno) [#48078](https://github.com/nodejs/node/pull/48078) +* \[[`07aa264366`](https://github.com/nodejs/node/commit/07aa264366)] - **tools**: automate histogram update (Marco Ippolito) [#48171](https://github.com/nodejs/node/pull/48171) +* \[[`1416b75eaa`](https://github.com/nodejs/node/commit/1416b75eaa)] - **tools**: use shasum instead of sha256sum (Luigi Pinca) [#48229](https://github.com/nodejs/node/pull/48229) +* \[[`b81e9d9b7b`](https://github.com/nodejs/node/commit/b81e9d9b7b)] - **tools**: harmonize `dep_updaters` scripts (Antoine du Hamel) [#48201](https://github.com/nodejs/node/pull/48201) +* \[[`a60bc41e53`](https://github.com/nodejs/node/commit/a60bc41e53)] - **tools**: deps update authenticate github api request (Andrea Fassina) [#48200](https://github.com/nodejs/node/pull/48200) +* \[[`7478ed014e`](https://github.com/nodejs/node/commit/7478ed014e)] - **tools**: order dependency jobs alphabetically (Luca) [#48184](https://github.com/nodejs/node/pull/48184) +* \[[`568a705799`](https://github.com/nodejs/node/commit/568a705799)] - **tools**: refactor v8\_pch config (Michaël Zasso) [#47364](https://github.com/nodejs/node/pull/47364) +* \[[`801573ba46`](https://github.com/nodejs/node/commit/801573ba46)] - **tools**: log and verify sha256sum (Andrea Fassina) [#48088](https://github.com/nodejs/node/pull/48088) +* \[[`db62325e18`](https://github.com/nodejs/node/commit/db62325e18)] - **tools**: open issue when update workflow fails (Marco Ippolito) [#48018](https://github.com/nodejs/node/pull/48018) +* \[[`ad8a68856d`](https://github.com/nodejs/node/commit/ad8a68856d)] - **tools**: alphabetize CODEOWNERS (Rich Trott) [#48124](https://github.com/nodejs/node/pull/48124) +* \[[`4cf5a9edaf`](https://github.com/nodejs/node/commit/4cf5a9edaf)] - **tools**: use latest upstream commit for zlib updates (Andrea Fassina) [#48054](https://github.com/nodejs/node/pull/48054) +* \[[`8d93af381b`](https://github.com/nodejs/node/commit/8d93af381b)] - **tools**: add security-wg as dep updaters owner (Marco Ippolito) [#48113](https://github.com/nodejs/node/pull/48113) +* \[[`5325be1d99`](https://github.com/nodejs/node/commit/5325be1d99)] - **tools**: port js2c.py to C++ (Joyee Cheung) [#46997](https://github.com/nodejs/node/pull/46997) +* \[[`6c60d90277`](https://github.com/nodejs/node/commit/6c60d90277)] - **tools**: fix race condition when npm installing (Tobias Nießen) [#48101](https://github.com/nodejs/node/pull/48101) +* \[[`0ab840a58f`](https://github.com/nodejs/node/commit/0ab840a58f)] - **tools**: refloat 7 Node.js patches to cpplint.py (Rich Trott) [#48098](https://github.com/nodejs/node/pull/48098) +* \[[`a298193378`](https://github.com/nodejs/node/commit/a298193378)] - **tools**: update cpplint to 1.6.1 (Yagiz Nizipli) [#48098](https://github.com/nodejs/node/pull/48098) +* \[[`f6725751b7`](https://github.com/nodejs/node/commit/f6725751b7)] - **tools**: update eslint to 8.41.0 (Node.js GitHub Bot) [#48097](https://github.com/nodejs/node/pull/48097) +* \[[`6539361f4e`](https://github.com/nodejs/node/commit/6539361f4e)] - **tools**: update lint-md-dependencies (Node.js GitHub Bot) [#48096](https://github.com/nodejs/node/pull/48096) +* \[[`5d94dbb951`](https://github.com/nodejs/node/commit/5d94dbb951)] - **tools**: update doc to remark-parse\@10.0.2 (Node.js GitHub Bot) [#48095](https://github.com/nodejs/node/pull/48095) +* \[[`2226088048`](https://github.com/nodejs/node/commit/2226088048)] - **tools**: add debug logs (Marco Ippolito) [#48060](https://github.com/nodejs/node/pull/48060) +* \[[`0c8c383583`](https://github.com/nodejs/node/commit/0c8c383583)] - **tools**: fix zconf.h path (Luigi Pinca) [#48089](https://github.com/nodejs/node/pull/48089) +* \[[`6adaf4c648`](https://github.com/nodejs/node/commit/6adaf4c648)] - **tools**: update remark-preset-lint-node to 4.0.0 (Node.js GitHub Bot) [#47995](https://github.com/nodejs/node/pull/47995) +* \[[`92b3334231`](https://github.com/nodejs/node/commit/92b3334231)] - **url**: clean vertical alignment of docs (Robin Ury) [#48037](https://github.com/nodejs/node/pull/48037) +* \[[`ebb6536775`](https://github.com/nodejs/node/commit/ebb6536775)] - **url**: call `ada::can_parse` directly (Yagiz Nizipli) [#47919](https://github.com/nodejs/node/pull/47919) +* \[[`ed4514294a`](https://github.com/nodejs/node/commit/ed4514294a)] - **vm**: properly handle defining symbol props (Nicolas DUBIEN) [#47572](https://github.com/nodejs/node/pull/47572) + ## 2023-05-16, Version 20.2.0 (Current), @targos diff --git a/src/node_version.h b/src/node_version.h index a1dd3be702ce19..46ced4fd7d0180 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -23,13 +23,13 @@ #define SRC_NODE_VERSION_H_ #define NODE_MAJOR_VERSION 20 -#define NODE_MINOR_VERSION 2 -#define NODE_PATCH_VERSION 1 +#define NODE_MINOR_VERSION 3 +#define NODE_PATCH_VERSION 0 #define NODE_VERSION_IS_LTS 0 #define NODE_VERSION_LTS_CODENAME "" -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)